Membuat piramida bintang menjadi salah satu soal latihan Python 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 Python untuk menampilkan pola piramida atau segitiga sama sisi dalam bentuk kumpulan bintang (karakter *
). Kode program butuh satu inputan yang dipakai untuk menentukan tinggi piramida.
Berikut contoh tampilan akhir yang diinginkan (1) :
## Program Python Piramida Bintang ## ======================================= Input tinggi piramida: 6 * * * * * * * * * * * * * * * * * * * * *
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program Python Piramida Bintang ## ======================================= Input tinggi piramida: 5 * * * * * * * * * * * * * * *
Tips Membuat Kode Program Piramida Bintang
Soal ini melatih pemahaman terkait perulangan bersarang (nested loop). Berikut tutorial pendahuluan yang bisa diikuti:
- Cara Pembuatan Variabel Bahasa Python
- Tipe Data Number Bahasa Python
- Perulangan For Bahasa Python
- Latihan Kode Program Python: Membuat Pola Persegi Bintang
- Latihan Kode Program Python: Membuat Pola 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 Python Piramida Bintang
Berikut salah satu solusi dari soal membuat piramida bintang menggunakan bahasa pemrograman Python:
print('## Program Python Piramida Bintang ##') print('=======================================') print() tinggi_piramida = int(input('Input tinggi piramida: ')) print() for i in range(tinggi_piramida): for j in range(tinggi_piramida-i): print(' ',end='') for k in range(i+1): print('* ',end='') print()
Hasil kode program:
Di baris 5, perintah input()
dipakai untuk meminta data dari user. Data ini akan ditampung oleh variabel tinggi_piramida
.
Secara default perintah input()
mengembalikan data bertipe string, akan tetapi kita perlu tipe data integer karena variabel tinggi_piramida
 nantinya dipakai dalam perulangan. Karena itulah perlu tambahan fungsi int()
untuk mengkonversi nilai input dari string menjadi integer.
Proses menampilkan karakter bintang dilakukan oleh perulangan for di baris 8-14. Perulangan luar dengan variabel counter i dipakai untuk membuat tinggi piramida. Perulangan ini di proses sebanyak nilai yang tersimpan di variabel tinggi_segitiga
.
Jika pada saat proses input nilai tinggi_segitiga
 berisi angka 9, maka perulangan luar akan dijalankan sebanyak 9 kali.
Untuk membuat bentuk piramida atau segitiga sama sisi, kita perlu 2 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 proses perulangan dilakukan hingga tinggi_piramida-i
agar karakter bintang turun bertahap mulai dari tinggi_piramida
, tinggi_piramida-1
, tinggi_piramida-2
, dst.
Perulangan dalam kedua dengan variabel counter k dipakai untuk menampilkan karakter bintang. Sekarang tanda bintang ini perlu dibuat menaik sesuai nilai variabel counter i saat ini +1.
Dalam setiap iterasi, jalankan perintah print('* ',end='')
. Perintah inilah yang akan menampilkan karakter bintang dan sebuah spasi. Tambahan argument end=''
berguna agar perintah print()
tidak membuat baris baru dan menampilkan karakter berikutnya pada baris yang sama.
Membuat Piramida Bintang dengan 1 Perulangan For
Dengan "magic" serta keunggulan syntax bahasa Python, kita juga bisa membuat piramida bintang hanya dengan 1 perulangan saja. Berikut kode yang dimaksud:
print('## Program Python Piramida Bintang ##') print('=======================================') print() tinggi_piramida = int(input('Input tinggi piramida: ')) print() for i in range(tinggi_piramida): print(' ' * (tinggi_piramida-i),end='') print('* ' * (i+1))
Hasil kode program:
## Program Python Piramida Bintang ## ======================================= Input tinggi piramida: 4 * * * * * * * * * *
Perhatikan cara penulisan perintah print()
di baris 9-10, ini artinya kita menginstruksikan bahasa Python untuk menampilkan karakter bintang spasi sejumlah nilai tinggi_piramida-i
dan karakter bintang sejumlah i+1
. Cara penulisan seperti ini umumnya tidak tersedia di bahasa pemrograman lain.
Demikian soal dan jawaban kode program membuat piramida bintang dalam bahasa Python.
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.