Membuat piramida bintang menjadi salah satu soal latihan bahasa C yang cukup sering dipakai. Latihan ini menguji pemahaman tentang logika program serta penggunaan perulangan bersarang (nested loop).
Dalam beberapa soal, piramida bintang ini disebut juga sebagai segitiga bintang sama sisi.
Soal Piramida Bintang
Buatlah kode program dalam bahasa C untuk menampilkan gambar piramida atau segitiga sama sisi dalam bentuk kumpulan bintang (karakter *
). Kode program butuh satu inputan yang dipakai untuk menentukan tinggi dari segitiga.
Berikut contoh tampilan akhir yang diinginkan (1) :
## Program Bahasa C Piramida Bintang ## ======================================= Input tinggi segitiga: 5 * * * * * * * * * * * * * * *
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program Bahasa C Piramida Bintang ## ======================================= Input tinggi segitiga: 8 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Tips Membuat Kode Program Piramida Bintang
Soal ini melatih pemahaman terkait perulangan bersarang (nested loop). Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel Bahasa C
- Cara Penggunaan Perintah scanf
- Tipe Data Integer Bahasa C
- Perulangan FOR Bahasa C
- Latihan Kode Program Bahasa C: Membuat Segitiga Bintang
Kita perlu membuat perulangan bersarang atau nested loop untuk memecahkan soal ini. Perulangan luar (outer loop) dipakai untuk menentukan tinggi segitiga, serta perulangan dalam (inner loop) untuk membuat bentuk segitiga.
Soal ini merupakan pengembangan dari membuat segitiga bintang, tapi untuk inner loop akan butuh dua kali perulangan.
Kode Program C Piramida Bintang
Berikut salah satu solusi dari soal membuat piramida bintang menggunakan bahasa pemrograman C:
#include <stdio.h> int main(void) { printf("## Program Bahasa C Piramida Bintang ## \n"); printf("======================================= \n\n"); int tinggi_segitiga,i,j,k; printf("Input tinggi segitiga: "); scanf("%d",&tinggi_segitiga); printf("\n"); for(i=1; i<=tinggi_segitiga; i++) { for(j=1; j<=tinggi_segitiga-i; j++) { printf(" "); } for(k=1; k<=i; k++) { printf("* "); } printf("\n"); } return 0; }
Kode program ini meminta satu inputan yang disimpan ke dalam variabel tinggi_segitiga. Variabel inilah yang nantinya akan menjadi penentu kondisi akhir dari perulangan for.
Proses menampilkan karakter bintang dilakukan oleh perulangan for di baris 15 – 25. Perulangan luar, yakni dengan variabel counter i dipakai untuk membuat tinggi segitiga. Ini dimulai dari i = 1
 hingga i <= tinggi_segitiga
.
Jika pada saat proses input nilai tinggi_segitiga
berisi angka 9, maka perulangan luar ini akan dijalankan sebanyak 9 kali.
Dalam setiap iterasi, jalankan 2 buah perulangan dalam (inner loop) serta sebuah perintah printf("\n"
) di baris 24. Perintah ini dipakai untuk proses pindah baris.
Untuk membuat bentuk piramida atau segitiga sama sisi, kita perlu 2 buah perulangan dalam.
Perulangan dalam dengan variabel counter j dipakai untuk membuat spasi yang akan mendorong karakter bintang ke arah kanan. Tanda spasi ini perlu dibuat menurun setiap kenaikan nilai i, oleh karena itu perulangan akan mulai dari j = 1
, hingga j<=tinggi_segitiga-i
.
Perulangan dalam kedua dengan variabel counter k dipakai untuk menampilkan karakter bintang. Sekarang tanda bintang ini perlu dibuat menaik mulai dari k = 1
hingga k <= i
.
Nilai variabel i akan naik mulai dari 1, 2 ,3 dst karena berasal dari perulangan luar. Dalam setiap iterasi, jalankan perintah printf("* ")
. Tanda spasi setelah karakter bintang dipakai agar hasil bintang menjadi lebih rapi.
Demikian soal dan jawaban kode program membuat piramida bintang dalam bahasa C.
Latihan soal piramida bintang ini masih punya berbagai variasi lain, misalnya membuat piramida bintang terbalik dan belah ketupat bintang. Prinsip dasar dari soal-soal ini akan mirip seperti kode program kita di atas.