Contoh Program Piramida Dengan Program C++
Membuat piramida dalam pemrograman C++ sering kali digunakan sebagai latihan untuk memahami struktur kontrol seperti loop dan pengaturan format output. Program ini melibatkan konsep seperti loop nested (bersarang) dan manipulasi spasi untuk membentuk pola.
Struktur Logika Program
Sebuah piramida terdiri dari beberapa baris, di mana setiap baris memiliki:
- Spasi kosong di sebelah kiri, yang berkurang dari atas ke bawah.
- Karakter tertentu (misalnya, bintang
*
), yang bertambah seiring bertambahnya baris.
Misalnya, untuk tinggi 5, piramida terlihat seperti ini:
*
***
*****
*******
*********
Algoritma
- Tentukan jumlah baris untuk piramida (misalnya,
n
). - Gunakan loop luar untuk mengatur baris.
- Gunakan loop dalam pertama untuk mencetak spasi kosong.
- Gunakan loop dalam kedua untuk mencetak bintang
*
. - Pindah ke baris berikutnya setelah mencetak satu baris.
Contoh Program
Berikut adalah kode program lengkap untuk membuat piramida dengan bintang (*
) di C++.
#include <iostream>
using namespace std;
int main() {
int n;
// Meminta input tinggi piramida
cout << "Masukkan tinggi piramida: ";
cin >> n;
// Loop untuk setiap baris
for (int i = 1; i <= n; i++) {
// Loop untuk mencetak spasi
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
// Loop untuk mencetak bintang
for (int k = 1; k <= (2 * i - 1); k++) {
cout << "*";
}
// Pindah ke baris berikutnya
cout << endl;
}
return 0;
}
Penjelasan Program
-
Input Tinggi Piramida
Pengguna memasukkan tinggi piramida (n
). Tinggi ini menentukan jumlah baris yang akan dicetak. -
Loop Luar (Baris)
for (int i = 1; i <= n; i++)
Loop ini menjalankan proses untuk setiap baris dari 1 hinggan
. -
Loop Dalam 1 (Spasi)
for (int j = 1; j <= n - i; j++)
Loop ini mencetak spasi kosong sebelum bintang di setiap baris. -
Loop Dalam 2 (Bintang)
for (int k = 1; k <= (2 * i - 1); k++)
Loop ini mencetak jumlah bintang yang sesuai dengan baris ke-i
. Rumus(2 * i - 1)
memastikan pola piramida berbentuk segitiga simetris. -
Output Baris Baru
cout << endl;
digunakan untuk pindah ke baris berikutnya setelah mencetak satu baris.
Contoh Output
Jika pengguna memasukkan angka 5
sebagai tinggi piramida, output yang dihasilkan adalah:
*
***
*****
*******
*********
Modifikasi Program
1. Piramida dengan Angka
Mengubah bintang menjadi angka baris:
cout << i;
Output:
1
222
33333
4444444
555555555
2. Piramida Terbalik
Mengubah logika untuk mencetak piramida terbalik:
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) cout << " ";
for (int k = 1; k <= (2 * i - 1); k++) cout << "*";
cout << endl;
}
Output:
*********
*******
*****
***
*
Dengan memahami pola dasar ini, Anda dapat memodifikasi program sesuai kebutuhan. Latihan seperti ini sangat bermanfaat untuk memperdalam logika pemrograman dan penguasaan sintaks C++.