Membuat Program Segitiga Bintang C++: 5 Pola Lengkap (Siku, Piramida, Angka)

Anda ingin belajar pemrograman tapi bingung harus mulai dari mana? Coba berkunjung ke dunia pemrograman C++ dengan membuat contoh program segitiga bintang!
Waktu saya pertama kali belajar C++, program segitiga bintang ini jadi salah satu latihan pertama yang benar-benar membuat konsep perulangan “klik” di kepala saya. Bukan karena sulit, tapi karena hasilnya langsung terlihat — ketik kode, jalankan, dan segitiga bintang muncul di layar. Sampai sekarang, kalau ada teman yang baru mulai belajar C++ dan bertanya mau bikin program apa dulu, jawaban saya selalu sama: buat segitiga bintang.
Membuat program segitiga bintang C++ adalah latihan klasik yang paling cocok untuk pemula — program ini sederhana, hasilnya terlihat langsung, dan mengajarkan konsep perulangan (loop) yang merupakan dasar semua pemrograman.
Dalam artikel ini, kamu akan belajar 5 pola segitiga bintang C++ lengkap: segitiga siku-siku kiri, segitiga siku-siku kanan, piramida, segitiga terbalik, dan segitiga angka — lengkap dengan kode, hasil output, dan penjelasan logika perulangannya.
Konsep Dasar: Perulangan Bersarang (Nested Loop)
Semua pola bintang di artikel ini dibuat dengan nested loop — perulangan di dalam perulangan:
- Outer loop (perulangan luar) → mengontrol jumlah baris
- Inner loop (perulangan dalam) → mengontrol jumlah karakter di setiap baris
for (baris = 1; baris <= n; baris++) {
for (kolom = 1; kolom <= ...; kolom++) {
cout << "*";
}
cout << endl; // pindah ke baris berikutnya
}
Kombinasi logika di dalam inner loop — mau cetak spasi, bintang, atau angka — itulah yang menentukan bentuk polanya.
1. Segitiga Bintang Siku-Siku (Kiri)
Pola paling dasar: baris ke-1 berisi 1 bintang, baris ke-2 berisi 2 bintang, dan seterusnya.
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
cout << "*";
}
cout << endl;
}
return 0;
}
Hasil output:
*
**
***
****
*****
Penjelasan:
int n = 5;— tinggi segitiga (jumlah baris). Ubah nilainya untuk memperbesar/kecilkan segitiga.for (int i = 1; i <= n; i++)— outer loop: membuat 5 baris (i = 1 sampai 5).for (int j = 1; j <= i; j++)— inner loop: mencetak bintang sebanyak nilai i (baris ke-1 → 1 bintang, baris ke-3 → 3 bintang).cout << endl;— pindah ke baris baru setelah inner loop selesai.
2. Segitiga Bintang Siku-Siku (Kanan)
Sama seperti pola pertama, tapi rata di sisi kanan — ditambahkan spasi di kiri setiap baris.
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for (int i = 1; i <= n; i++) {
// cetak spasi: makin ke bawah makin sedikit
for (int j = i; j < n; j++) {
cout << " ";
}
// cetak bintang sesuai nomor baris
for (int k = 1; k <= i; k++) {
cout << "*";
}
cout << endl;
}
return 0;
}
Hasil output:
*
**
***
****
*****
Penjelasan: inner loop pertama (j = i; j < n) mencetak spasi — baris ke-1 dapat 4 spasi, baris ke-5 dapat 0 spasi. Setelah spasi, inner loop kedua mencetak bintang sebanyak nomor baris.
3. Segitiga Bintang Piramida
Pola piramida adalah yang paling sering dicari. Jumlah bintang mengikuti rumus 2*i - 1, sehingga setiap baris bertambah 2 bintang dan posisinya simetris di tengah.
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for (int i = 1; i <= n; i++) {
// spasi sebelum bintang
for (int j = i; j < n; j++) {
cout << " ";
}
// bintang: rumus 2*i - 1
for (int k = 1; k <= (2 * i - 1); k++) {
cout << "*";
}
cout << endl;
}
return 0;
}
Hasil output:
*
***
*****
*******
*********
Penjelasan:
- Spasi dicetak
n - ikali di setiap baris (baris 1 → 4 spasi, baris 5 → 0 spasi). - Bintang dicetak
2*i - 1kali: baris 1 → 1 bintang, baris 2 → 3 bintang, baris 5 → 9 bintang.
4. Segitiga Bintang Terbalik
Balik arah perulangan: mulai dari n menurun ke 1.
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
cout << "*";
}
cout << endl;
}
return 0;
}
Hasil output:
*****
****
***
**
*
Penjelasan: bedanya hanya pada outer loop — i dimulai dari n dan dikurangi (i--) sampai 1. Baris pertama mencetak 5 bintang, baris terakhir 1 bintang.
5. Segitiga Angka C++
Varian segitiga bintang yang dicetak dengan angka alih-alih bintang — melatih logika variabel di dalam perulangan.
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
cout << j << " ";
}
cout << endl;
}
return 0;
}
Hasil output:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Penjelasan: inner loop mencetak nilai j (yang berjalan dari 1 sampai i) diikuti spasi. Ganti cout << j dengan cout << i untuk mendapatkan pola angka yang berulang (1, 22, 333, …).
Variasi: Menggunakan while dan do-while
Semua pola di atas bisa ditulis dengan while atau do-while. Contoh segitiga siku-siku dengan while:
#include <iostream>
using namespace std;
int main()
{
int n = 5, i = 1, j;
while (i <= n) {
j = 1;
while (j <= i) {
cout << "*";
j++;
}
cout << endl;
i++;
}
return 0;
}
Hasilnya sama persis dengan pola pertama — tinggal sesuaikan sintaks sesuai gaya penulisan yang kamu pakai.
Kesalahan Umum yang Sering Terjadi
- Lupa titik koma — setiap statement di C++ harus diakhiri
;. - Lupa menambahkan
cout << endl;— tanpa ini, semua bintang tercetak dalam satu baris. - Kesalahan batas perulangan — gunakan
<=atau<dengan konsisten;j <= idanj < i+1sama saja. - Tidak menginisialisasi variabel — variabel lokal tidak otomatis bernilai 0.
- Lupa
return 0;— fungsimain()bertipeintdan wajib mengembalikan nilai.
Kesimpulan
Program segitiga bintang C++ adalah latihan terbaik untuk memahami perulangan bersarang. Dari 5 pola di atas — siku-siku kiri, siku-siku kanan, piramida, terbalik, dan angka — kamu sudah menguasai logika dasar yang bisa dikembangkan ke pola apa pun: belah ketupat, jam pasir, hingga pola huruf.
Materi terkait yang bisa kamu pelajari selanjutnya:

