Latihan Kode Program Java: Segitiga Bintang Terbalik

Soal membuat segitiga bintang terbalik merupakan modifikasi dari kode program membuat segitiga bintang Java yang pernah kita bahas sebelumnya. Materi ini menguji pemahaman logika terutama tentang perulangan bersarang (nested loop).

Segitiga bintang sendiri juga banyak variasi lain yang akan dibahas secara terpisah.


Soal Segitiga Bintang Terbalik

Buatlah kode program Java untuk menampilkan 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) :

Input tinggi segitiga: 5

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

Berikut contoh tampilan akhir yang diinginkan (2) :

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 Membuat Segitiga Bintang terlebih dahulu karena segitiga bintang terbalik ini pada dasarnya adalah modifikasi dari kode program tersebut.


Kode Program Java Segitiga Bintang Terbalik

Berikut salah satu solusi dari soal membuat segitiga bintang terbalik menggunakan bahasa pemrograman Java:

import java.util.Scanner;
  
class SegitigaBintangTerbalik {
  public static void main(String args[]){
           
    Scanner input = new Scanner(System.in);
      
    System.out.println("##  Program Java Segitiga Bintang Terbalik ##");
    System.out.println("=============================================");
    System.out.println();
    
    int tinggi_segitiga,i,j;
 
    System.out.print("Input tinggi segitiga: ");
    tinggi_segitiga = input.nextInt();
    
    System.out.println();
   
    for(i = 0; i < tinggi_segitiga; i++) {
      for(j = 1; j <= tinggi_segitiga-i; j++) {
        System.out.print(" *");
      }
      System.out.println();
    }
    
  }
}
Agar bisa berjalan, save kode program diatas ke dalam file SegitigaBintangTerbalik.java, lalu compile dengan perintah javac SegitigaBintangTerbalik.java, dan jalankan (run) dengan perintah java SegitigaBintangTerbalik. Panduan lebih lengkap bisa ke Cara Menjalankan kode Program Java (Proses Compile).

Latihan Kode Program Java - Segitiga Bintang Terbalik

Kode program ini meminta satu inputan yang disimpan ke dalam variabel tinggi_segitiga di baris 15. Variabel inilah yang nantinya akan menjadi penentu kondisi akhir dari perulangan for.

Proses menampilkan karakter bintang dilakukan oleh perulangan for di baris 19 – 24. Perulangan luar dengan variabel counter i dipakai untuk membuat tinggi segitiga. Ini dimulai dari i = 0 hingga i < tinggi_segitiga.

Sebagai contoh, jika pada saat pemrosesan nilai tinggi_segitiga berisi angka 5, maka perulangan luar akan dijalankan sebanyak 5 kali.

Dalam setiap iterasi, jalankan perulangan dalam serta sebuah perintah System.out.println() di baris 23. Perintah ini dipakai untuk proses pindah baris.

Perbedaan dengan kode program untuk membuat segitiga bintang biasa dengan segitiga bintang terbalik ada di perulangan dalam, yakni for j.

Karena kita membuat segitiga terbalik, maka karakter bintang harus dibuat menurun dari nilai yang tersimpan di variabel tinggi_segitiga.

Jika tinggi_segitiga berisi angka 5, maka perulangan j harus mulai dari 5, 4, 3, 2, dan 1. Perulangan menurun ini dilakukan mulai dari j = 1 hingga j < tinggi_segitiga-i.

Dalam setiap iterasi, jalankan perintah System.out.print(" *"). Tanda spasi sebelum karakter bintang dipakai agar hasil bintang menjadi lebih rapi.


Segitiga Bintang Terbalik Dengan Perulangan Menurun

Alternatif cara lain adalah menggunakan perulangan menurun untuk inner loop. Berikut kode yang dimaksud:

import java.util.Scanner;
  
class SegitigaBintang {
  public static void main(String args[]){
           
    Scanner input = new Scanner(System.in);
      
    System.out.println("##  Program Java Segitiga Bintang Terbalik ##");
    System.out.println("=============================================");
    System.out.println();
    
    int tinggi_segitiga,i,j;
 
    System.out.print("Input tinggi segitiga: ");
    tinggi_segitiga = input.nextInt();
    
    System.out.println();
   
    for(i = 0; i < tinggi_segitiga; i++) {
      for(j = tinggi_segitiga; j > i; j--) {
        System.out.print(" *");
      }
      System.out.println();
    }
    
  }
}

Perbedaan dari kode program sebelumnya ada di baris 20. Sekarang perulangan for j akan mulai dari j = tinggi_segitiga, lalu diturunkan 1 angka dalam setiap iterasi dengan perintah j-- hingga hingga j > i.

Variasi ini hanya sekedar pembeda tergantung logika programmer yang membuat kode program.


Demikian soal dan jawaban kode program membuat segitiga bintang terbalik dalam bahasa Java.

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.

Add Comment