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:
Pertanyaan yang Sering Diajukan
Bagaimana cara membuat segitiga bintang di C++?
Gunakan perulangan bersarang (nested loop). Perulangan luar (outer loop) mengontrol jumlah baris, sedangkan perulangan dalam (inner loop) mengontrol jumlah spasi dan bintang di setiap baris. Contoh paling sederhana adalah segitiga siku-siku: for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) cout << "*"; cout << endl; }
Apa bedanya segitiga bintang siku-siku dengan piramida?
Segitiga siku-siku rata di salah satu sisi — bintang dicetak berurutan dari 1 hingga n. Piramida memiliki spasi di kiri sebelum bintang, dan jumlah bintang mengikuti rumus (2*i - 1), sehingga membentuk puncak dan alas yang simetris.
Kenapa pakai nested loop untuk pola bintang?
Karena pola bintang terdiri dari dua dimensi: baris dan kolom. Outer loop mencetak baris, inner loop mencetak karakter dalam satu baris. Pola spasi, bintang, atau angka tinggal menentukan logika di dalam inner loop.
Bagaimana cara membuat segitiga bintang terbalik di C++?
Balik arah perulangan: mulai dari n menurun ke 1. Contoh: for (int i = n; i >= 1; i--) { for (int j = 1; j <= i; j++) cout << "*"; cout << endl; }
Apakah bisa membuat pola bintang dengan while loop?
Bisa. while dan do-while bekerja identik untuk pola bintang — tinggal mengganti sintaks for dengan while atau do-while sesuai gaya penulisan. Hasilnya tetap sama selama logika perulangannya benar.

