Latihan Kode Program Python: Membuat Pola Piramida Bintang Terbalik

Membuat pola piramida bintang terbalik merupakan modifikasi dari piramida bintang yang sudah pernah kita bahas sebelumnya.

Latihan ini menguji pemahaman tentang logika program serta penggunaan perulangan bersarang (nested loop). Dalam beberapa soal, piramida bintang terbalik ini disebut juga sebagai segitiga sama sisi terbalik.


Soal Piramida Bintang Terbalik

Buatlah kode program Python untuk menampilkan pola piramida terbalik atau segitiga sama sisi terbalik 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 Terbalik  ##
================================================

Input tinggi piramida: 5

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

Berikut contoh tampilan akhir yang diinginkan (2) :

##  Program Python Piramida Bintang Terbalik  ##
================================================

Input tinggi piramida: 8

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

Tips Membuat Kode Program Piramida 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.

Soal ini merupakan pengembangan dari membuat piramida bintang sebelumnya.


Kode Program Python Piramida Bintang Terbalik

Berikut salah satu solusi dari soal membuat pola piramida bintang terbalik menggunakan bahasa pemrograman Python:

print('##  Program Python Piramida Bintang Terbalik  ##')
print('================================================')
print()

tinggi_piramida = int(input('Input tinggi piramida: '))
print()

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

Hasil kode program:

Latihan Kode Program Python - Membuat Pola Piramida Bintang Terbalik

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 5, maka perulangan luar akan dijalankan sebanyak 5 kali.

Untuk membuat bentuk piramida terbalik, 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 menaik sesuai nilai variabel counter i saat ini +1.

Perulangan dalam kedua dengan variabel counter k dipakai untuk membuat karakter bintang. Karena kita akan membuat piramida bintang terbalik, maka proses perulangan dilakukan hingga tinggi_piramida-i agar karakter bintang turun bertahap mulai dari tinggi_piramida, tinggi_piramida-1, tinggi_piramida-2, dst.

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 Terbalik dengan 1 Perulangan For

Dengan "magic" serta keunggulan syntax bahasa Python, kita juga bisa membuat piramida bintang terbalik hanya dengan 1 perulangan saja. Berikut kode yang dimaksud:

print('##  Program Python Piramida Bintang Terbalik  ##')
print('================================================')
print()
 
tinggi_piramida = int(input('Input tinggi piramida: '))
print()

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

Hasil kode program:

##  Program Python Piramida Bintang Terbalik  ##
================================================

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 i+1 dan karakter bintang sejumlah tinggi_piramida-i Cara penulisan seperti ini umumnya tidak tersedia di bahasa pemrograman lain.


Demikian soal dan jawaban kode program membuat piramida bintang terbalik dalam bahasa Python. Semoga bisa bermanfaat.

2 Comments

  1. Aqil Aziz
    19 Oct 22
    • Andre
      19 Oct 22

Add Comment

Leave a Reply to Andre Cancel reply