Latihan algoritma kode program PHP kali ini akan membahas cara membuat pola piramida bintang terbalik. Materi ini melatih logika program, terutama pemahaman terkait konsep perulangan bersarang (nested loop).
Soal Membuat Pola Piramida Bintang Terbalik
Buatlah kode program dalam bahasa PHP untuk menampilkan pola gambar piramida terbalik dalam bentuk kumpulan karakter bintang (karakter *
). Sebagai bonus, buat juga sebuah form untuk menginput tinggi piramida.
Berikut contoh tampilan akhir yang diinginkan (1) :
Kode Program PHP - Piramida Bintang Terbalik (6) * * * * * * * * * * * * * * * * * * * * *
Berikut contoh tampilan akhir yang diinginkan (2) :
Kode Program PHP - Piramida Bintang Terbalik (11) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Tips Membuat Kode Program Piramida Bintang Terbalik
Soal ini melatih pemahaman terkait perulangan bersarang (nested loop). Berikut tutorial pendahuluan yang bisa di ikuti:
Kita perlu membuat perulangan bersarang atau nested loop untuk memecahkan soal ini. Perulangan luar (outer loop) dipakai untuk menentukan tinggi piramida, serta perulangan dalam (inner loop) untuk membuat bentuk bintang.
Soal ini merupakan pengembangan dari membuat segitiga bintang terbalik, tapi untuk inner loop akan butuh dua kali perulangan.
Kode Program PHP Pola Piramida Bintang Terbalik
Berikut salah satu konsep dasar cara membuat pola piramida bintang terbalik menggunakan bahasa pemrograman PHP:
<?php echo "<p>Kode Program PHP - Piramida Bintang Terbalik (11)</p>"; echo "<pre>"; $tinggi_piramida = 11; for($i = 0; $i < $tinggi_piramida; $i++) { for($j = 1; $j <= $i; $j++) { echo " "; } for($k = 1; $k <= $tinggi_piramida - $i; $k++) { echo " *"; } echo "<br>"; } echo "</pre>"; ?>
Hasil kode program:
Kode program diawali dengan perintah echo untuk menampilkan tag <h1>
yang berisi judul program, serta tag <pre>
 agar hasil piramida bintang terlihat lebih rapi.
Di baris 5, variabel $tinggi_piramida di isi angka 11. Variabel inilah yang akan menentukan tinggi piramida.
Proses menampilkan karakter bintang dilakukan oleh perulangan for di baris 6-14. Perulangan luar dengan variabel counter $i dipakai untuk membuat tinggi piramida. Ini dimulai dari $i = 0
 hingga $i < $tinggi_piramida
.
Karena saat ini variabel $tinggi_piramida
berisi angka 11, maka perulangan luar akan dijalankan sebanyak 11 kali. Dalam setiap iterasi, jalankan 2 perulangan dalam serta sebuah perintah echo "<br>"
di baris 13 untuk proses pindah baris.
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 menaik di setiap kenaikan nilai $i, oleh karena itu perulangan akan mulai dari $j = 1
, hingga $j <= $i
.
Perulangan dalam kedua dengan variabel counter $k dipakai untuk menampilkan karakter bintang. Sekarang tanda bintang ini perlu dibuat menurun mulai dari $k = 1
 hingga $k <= $tinggi_piramida - $i
. Dalam setiap iterasi, jalankan perintah echo " *"
 untuk menampilkan karakter spasi dan bintang.
Membuat Pola Piramida Bintang Terbalik dengan Inputan Form
Jika ingin membuat kode program PHP yang bisa menerima nilai input dari user, maka butuh sebuah form HTML. Bahasan tentang cara memproses form lumayan panjang, jika butuh materi dasar bisa lanjut ke tutorial cara memproses form HTML dengan PHP.
Berikut kode program membuat pola piramida bintang terbalik dengan perpaduan kode HTML, CSS dan PHP:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Latihan Soal Algoritma Bahasa PHP</title> <style> body { text-align: center; font-family: "Trebuchet MS", serif; } h1,h2 { margin-bottom: 0; } hr { width: 80%; } form { margin-top: 2rem; } pre { margin-top: 1.4rem; text-align: left; } .result { margin: 1rem auto; padding: 0.25rem 0.25rem 1rem 0.25rem; background-color: ghostwhite; width: 50%; display: flex; flex-direction: column; align-items: center; } </style> </head> <body> <h1>Kode Program PHP - Piramida Bintang Terbalik</h1> <hr> <form action="" method="post"> <div> Tinggi Piramida: <input type="text" name="tinggi_piramida" size="1"> <input type="submit" name="submit"> </div> </form> <?php if (isset($_POST['submit'])) { $tinggi_piramida = $_POST['tinggi_piramida']; echo "<div class='result'>"; echo "<h2>Hasil Kode Program</h2>"; echo "<span>(tinggi piramida: $tinggi_piramida)</span>"; echo "<pre>"; for($i = 0; $i < $tinggi_piramida; $i++) { for($j = 1; $j <= $i; $j++) { echo " "; } for($k = 1; $k <= $tinggi_piramida - $i; $k++) { echo " *"; } echo "<br>"; } echo "</pre>"; echo "</div>"; } ?> </body> </html>
Selain struktur dasar HTML, pada script ini juga terdapat kode CSS di dalam tag <style>
untuk mempercantik tampilan halaman (baris 7-22).
Kode untuk membuat form HTML ada di baris 27-32. Di dalamnya terdapat tag <input>
untuk menampung nilai input tinggi_piramida, serta tag <input type="submit" name="submit">
untuk membuat tombol "Submit".
Kode PHP sendiri ada di baris 34-55. Kondisi if(isset($_POST['submit']))
berguna untuk memeriksa apakah form sudah di submit atau belum. Hanya jika kondisi ini terpenuhi, barulah kode PHP lain akan di proses.
Agar lebih praktis, nilai form yang tersimpan di global variable $_POST['tinggi_piramida']
dipindahkan ke variabel $tinggi_piramida pada baris 36.
Perintah echo antara baris 38-41 berguna untuk membuat struktur HTML sebagai tempat dari piramida bintang kita. Setelah itu baru masuk ke perulangan for yang akan menampilkan pola piramida bintang terbalik seperti bahasan sebelumnya.
Itulah tutorial singkat membahas cara membuat pola piramida bintang terbalik menggunakan bahasa PHP, semoga bisa bermanfaat.