Membuat piramida bintang menjadi salah satu soal latihan Pascal 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 Pascal 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 Pascal Piramida Bintang ## ======================================= Input tinggi segitiga: 5 * * * * * * * * * * * * * * *
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program Pascal Piramida Bintang ## ======================================= Input tinggi segitiga: 7 * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Tips Membuat Kode Program Piramida Bintang
Soal ini melatih pemahaman terkait perulangan bersarang (nested loop). Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel dalam Bahasa Pascal
- Pengertian Tipe Data Integer Bahasa Pascal
- Perulangan FOR DO Bahasa Pascal
- Latihan Kode Program Pascal: 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 Pascal Piramida Bintang
Berikut salah satu solusi dari soal membuat piramida bintang menggunakan bahasa pemrograman Pascal:
program piramida_bintang; uses crt; var tinggi_segitiga,i,j,k: integer; begin clrscr; writeln('## Program Pascal Piramida Bintang ##'); writeln('======================================='); writeln; write('Input tinggi segitiga: '); readln(tinggi_segitiga); writeln; for i := 1 to tinggi_segitiga do begin for j := 1 to tinggi_segitiga-i do begin write(' '); end; for k := 1 to i do begin write(' *'); end; writeln; end; readln; end.
Hasil kode program:
Kode program 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 – 26. Perulangan luar dengan variabel counter i dipakai untuk membuat tinggi segitiga. Ini dimulai dari i := 1
hingga tinggi_segitiga
.
Jika pada saat proses input nilai tinggi_segitiga
berisi angka 5, maka perulangan luar ini akan dijalankan sebanyak 5 kali.
Dalam setiap iterasi, jalankan 2 buah perulangan dalam (inner loop) serta sebuah perintah writeln
di baris 25. 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 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 i
.
Nilai variabel i akan naik mulai dari 1, 2 ,3 dst karena berasal dari perulangan luar. Dalam setiap iterasi, jalankan perintah write(' *')
. Tanda spasi sebelum karakter bintang dipakai agar hasil bintang menjadi lebih rapi.
Demikian soal dan jawaban kode program membuat piramida bintang dalam bahasa Pascal.
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.