Latihan Kode Program Python: Membuat Pola Belah Ketupat Bintang

Membuat kode program pola belah ketupat bintang sudah menjadi salah satu soal "legend" dalam latihan algoritma menggunakan bahasa pemrograman Python.

Ini karena kode yang diperlukan cukup kompleks, setidaknya kita butuh 6 buah perulangan yang saling bersambung satu sama lain.

Latihan ini menguji pemahaman tentang logika program serta penggunaan perulangan bersarang (nested loop). Dalam beberapa soal, belah ketupat bintang ini disebut juga sebagai diamond bintang.


Soal Pola Belah Ketupat Bintang

Buatlah kode program dalam bahasa Python untuk menampilkan gambar belah ketupat atau diamond dalam bentuk kumpulan bintang (karakter *). Kode program butuh satu inputan yang dipakai untuk menentukan lebar belah ketupat.

Berikut contoh tampilan akhir yang diinginkan (1) :

##  Program Python Belah Ketupat Bintang  ##
============================================

Input lebar belah ketupat: 5

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

Berikut contoh tampilan akhir yang diinginkan (2) :

##  Program Python Belah Ketupat Bintang  ##
============================================

Input lebar belah ketupat: 9

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

Tips Membuat Kode Program Belah Ketupat

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.

Pada dasarnya belah ketupat bintang adalah gabungan dari piramida bintang dan piramida bintang terbalik dalam satu program. Artinya kita butuh 6 perulangan for untuk membuatnya. Karena itu pemahaman tentang kode program membuat piramida bintang sangat diperlukan.


Kode Program Bahasa Python Pola Belah Ketupat Bintang

Berikut salah satu solusi dari soal membuat pola belah ketupat bintang menggunakan bahasa pemrograman Python:

print('##  Program Python Belah Ketupat Bintang  ##')
print('============================================')
print()
 
lebar_belah_ketupat = int(input('Input lebar belah ketupat: '))
print()
 
for i in range(lebar_belah_ketupat):
  for j in range(lebar_belah_ketupat-i):
    print(' ',end='')
     
  for k in range(i+1):
    print('* ',end='')
  print()

for i in range(1,lebar_belah_ketupat):
  for j in range(i+1):
    print(' ',end='')
     
  for k in range(lebar_belah_ketupat-i):
    print('* ',end='')
  print()

Hasil kode program:

Latihan Kode Program Python - Membuat Pola Belah Ketupat Bintang

Di baris 5, perintah input() dipakai untuk meminta data dari user. Data ini akan ditampung oleh variabel lebar_belah_ketupat.

Secara default perintah input() mengembalikan data bertipe string, akan tetapi kita perlu tipe data integer karena variabel lebar_belah_ketupat nantinya dipakai dalam perulangan. Karena itulah perlu tambahan fungsi int() untuk mengkonversi nilai input dari string menjadi integer.

Proses menampilkan karakter bintang dilakukan oleh 6 perulangan for in antara baris 8-22. Seperti yang dijelaskan dalam bagian tips, kode program ini merupakan gabungan dari kode membuat pola piramida bintang dan pola piramida bintang terbalik.

Tiga perulangan for pertama antara baris 8-14 dipakai untuk membuat sisi atas belah ketupat. Sedangkan tiga perulangan for berikutnya antara baris 16-22 dipakai untuk membuat sisi bawah belah ketupat.

Sisi bawah belah ketupat dikurangi 1 baris agar alas piramida atas tidak berhimpit dengan alas piramida bawah. Caranya, perulangan di baris 16 di set agar mulai dari 1.


Membuat Belah Ketupat Bintang dengan 2 Perulangan For

Dengan "magic" serta keunggulan syntax bahasa Python, kita juga bisa membuat pola belah ketupat bintang hanya dengan 2 perulangan saja. Berikut kode yang dimaksud:

print('##  Program Python Belah Ketupat Bintang  ##')
print('============================================')
print()
 
lebar_belah_ketupat = int(input('Input lebar belah ketupat: '))
print()
 
for i in range(lebar_belah_ketupat):
  print(' ' * (lebar_belah_ketupat-i),end='')
  print('* ' * (i+1))
  
for i in range(1,lebar_belah_ketupat):
  print(' ' * (i+1),end='')
  print('* ' * (lebar_belah_ketupat-i))

Perhatikan cara penulisan perintah print() di baris 9-10, ini artinya kita menginstruksikan bahasa Python untuk menampilkan karakter bintang spasi sejumlah nilai lebar_belah_ketupat-i dan karakter bintang sejumlah i+1.

Kemudian di baris 13 dan 14, giliran karakter spasi ditampilkan sejumlah i+1 dan karakter bintang sejumlah nilai lebar_belah_ketupat-i.


Demikian soal dan jawaban kode program membuat pola belah ketupat bintang dalam bahasa Python. Kode yang diperlukan memang cukup kompleks karena butuh 6 buah perulangan for yang saling terhubung satu sama lain. Semoga bisa bermanfaat.

Add Comment