Soal membuat pola segitiga bintang terbalik merupakan modifikasi dari pola segitiga bintang yang pernah kita bahas sebelumnya. Materi ini menguji pemahaman logika terutama tentang perulangan bersarang (nested loop).
Pola segitiga bintang juga banyak variasi lain yang akan dibahas secara terpisah.
Soal Segitiga Bintang Terbalik
Buatlah kode program dalam bahasa Python untuk menampilkan pola gambar segitiga terbalik dalam bentuk kumpulan tanda bintang (karakter *
). Kode program butuh satu inputan yang dipakai untuk menentukan tinggi segitiga.
Berikut contoh tampilan akhir yang diinginkan (1) :
## Program Python Segitiga Bintang Terbalik ## ================================================ Input tinggi segitiga: 6 * * * * * * * * * * * * * * * * * * * * *
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program Python Segitiga Bintang Terbalik ## ================================================ Input tinggi segitiga: 4 * * * * * * * * * *
Tips Membuat Kode Program Segitiga Bintang Terbalik
Soal ini melatih pemahaman terkait perulangan bersarang (nested loop). Berikut tutorial pendahuluan yang bisa diikuti:
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.
Sangat disarankan untuk memahami kode program segitiga bintang terlebih dahulu karena segitiga bintang terbalik ini hanya modifikasi dari kode program tersebut.
Kode Program Python Segitiga Bintang Terbalik
Berikut salah satu solusi dari soal membuat segitiga bintang terbalik menggunakan bahasa pemrograman Python:
print('## Program Python Segitiga Bintang Terbalik ##') print('================================================') print() tinggi_segitiga = int(input('Input tinggi segitiga: ')) print() for i in range(tinggi_segitiga): for j in range(tinggi_segitiga-i): print(' *',end='') print()
Hasil kode program:
Di baris 5, perintah input()
dipakai untuk meminta data dari user. Data ini akan ditampung oleh variabel tinggi_segitiga
.
Secara default perintah input()
mengembalikan data bertipe string, akan tetapi kita perlu tipe data integer karena variabel tinggi_segitiga
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-11. Perulangan luar dengan variabel counter i dipakai untuk membuat tinggi segitiga. 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.
Perulangan dalam dengan variabel counter j dipakai untuk membuat karakter bintang. Karena kita membuat sebuah segitiga terbalik, maka proses perulangan dilakukan hingga tinggi_segitiga-i
agar karakter bintang turun bertahap mulai dari tinggi_segitiga
, tinggi_segitiga-1
, tinggi_segitiga-2
, dst.
Dalam setiap iterasi, jalankan perintah print(' *',end='')
. Perintah inilah yang akan menampilkan karakter spasi dan bintang. Jika anda ingin tidak ada jarak, silahkan hapus awalan spasi di ' *'
.
Sedangkan tambahan argument end=''
berguna agar perintah print()
tidak membuat baris baru dan menampilkan karakter berikutnya pada baris yang sama.
Membuat Segitiga Bintang Terbalik dengan 1 Perulangan
Dengan "magic" serta keunggulan syntax bahasa Python, kita juga bisa membuat segitiga bintang terbalik hanya dengan 1 perulangan saja. Berikut kode yang dimaksud:
print('## Program Python Segitiga Bintang Terbalik ##') print('================================================') print() tinggi_segitiga = int(input('Input tinggi segitiga: ')) print() for i in range(tinggi_segitiga): print(' *' * (tinggi_segitiga-i))
Hasil kode program:
## Program Python Segitiga Bintang Terbalik ## ================================================ Input tinggi segitiga: 4 * * * * * * * * * *
Perhatikan cara penulisan perintah print(' *' * (tinggi_segitiga-i))
di baris 9, ini artinya kita menginstruksikan bahasa Python untuk menampilkan karakter bintang '*'
sejumlah nilai tinggi_segitiga-i
. Cara penulisan seperti ini umumnya tidak tersedia di bahasa pemrograman lain.
Demikian soal dan jawaban kode program membuat segitiga bintang terbalik dalam bahasa Python.
Latihan soal membuat segitiga bintang punya berbagai variasi lain, misalnya membuat piramida bintang atau belah ketupat bintang. Prinsip dasar dari soal-soal ini akan mirip seperti kode program kita di atas.