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:

  1. Spasi kosong di sebelah kiri, yang berkurang dari atas ke bawah.
  2. Karakter tertentu (misalnya, bintang *), yang bertambah seiring bertambahnya baris.

Misalnya, untuk tinggi 5, piramida terlihat seperti ini:

    *    
   ***   
  *****  
 ******* 
*********

Algoritma

  1. Tentukan jumlah baris untuk piramida (misalnya, n).
  2. Gunakan loop luar untuk mengatur baris.
  3. Gunakan loop dalam pertama untuk mencetak spasi kosong.
  4. Gunakan loop dalam kedua untuk mencetak bintang *.
  5. 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

  1. Input Tinggi Piramida
    Pengguna memasukkan tinggi piramida (n). Tinggi ini menentukan jumlah baris yang akan dicetak.

  2. Loop Luar (Baris)
    for (int i = 1; i <= n; i++)
    Loop ini menjalankan proses untuk setiap baris dari 1 hingga n.

  3. Loop Dalam 1 (Spasi)
    for (int j = 1; j <= n - i; j++)
    Loop ini mencetak spasi kosong sebelum bintang di setiap baris.

  4. 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.

  5. 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++.

 

Next Post Previous Post
No Comment
Add Comment
comment url