Pembahasan UTS: Program untuk Menampilkan Segitiga Rata Kanan Menghadap ke Bawah

Dari empat soal UTS kemarin, jawaban untuk soal nomor satu bisa dilihat kembali di catatan/ slide. Teoritis; sudah kita bahas di kelas selama dua pertemuan. Soal nomor dua, relatif mudah. Percabangan sederhana menggunakan perintah if-else. Mungkin sedikit rumit dalam menuliskan kondisi untuk menerjemahkan nilai antara sekian hingga sekian. Solusinya, gunakan operator logika AND (&&). Contohnya: if (nilai>=70 && nilai<80) dst.

Soal nomor tiga tentang tracing. Sebagaimana dibahas di kelas, langkah pertama adalah menggambarkan tabel tracing-nya. Setidaknya ada empat kolom, yaitu untuk variabel i, j, k dan display. Selanjutnya tinggal mengikuti jalannya program secara teliti dan hati-hati. Sedikit catatan, bahwa di dalam looping j, terdapat tiga perintah setara, yakni looping i, looping k, dan System.out. Ini berarti setelah looping i selesai, maka dilanjutkan looping k. Setelah looping k selesai, maka dilanjutkan System.out. Dan setelah itu baru kembali ke atas; ke bagian decrement looping j (j--).

Soal nomor empat mungkin menjadi soal yang paling sulit. Mencetak segitiga rata kanan yang menghadap ke bawah. Pertama, polanya harus ditemukan terlebih dulu. Secara implisit, ada bentuk segitiga spasi rata kiri yang menghadap ke atas. Dua segitiga ini yang kita tuliskan codingnya secara bersamaan untuk setiap baris tampilan. Baris pertama tidak ada spasi, tapi bintangnya ada lima. baris kedua ada satu spasi, bintangnya empat. Semakin ke bawah, spasi bertambah satu, sedangkang bintang berkurang satu. Inilah polanya.

    for(j = 5; j > 0; j--) {
for(i = 1; i <= 5-j; i++)
System.out.print(" ");
for(k = i; k <= 5; k++)
System.out.print("*");
System.out.println();
    }

Looping i dipakai untuk mencetak spasi. Jika j=5, maka di baris pertama tidak akan muncul spasi, karena 1 <= 0 adalah False. Sehingga yang dieksekusi hanya looping k untuk mencetak lima bintang.

Ketika j=4, maka looping i akan dijalankan sebanyak (5-4) kali, sehingga muncul satu spasi. Disusul dengan 4 bintang, karena k dimulai dari 2 hingga 5. Begitu seterusnya.

Setiap selesai looping k, maka akan dibuat baris baru dengan perintah System.out.println(). Program akan memproses untuk tampilan baris berikutnya. Semoga bermanfaat :)

No comments:

Post a Comment