Selamat datang di blogs UNYDeveloperNetwork. Pada artikel fun & tutorial kali ini, Saya ingin melanjutkan artikel tentang cara membuat segitiga dengan Java yang sebelumnya telah Saya posting di sini. Pada artikel tersebut, Saya menuliskan tutorial untuk membentuk segitiga siku – siku. Sekarang kita akan menuju ke sesuatu yang lebih advanced, yakni Segitiga Simetris.
Apakah itu Segitiga Simetris? Segitiga bisa disebut simetris di sini tidak merujuk pada pengertian Segitiga Simetris sebenarnya yang mana panjang sisi – sisinya sama, dan sudutnya sama. Namun, maksud simetris di sini adalah sisi kanan dan kiri segitiga adalah sama. Jadi sisi kanan segitiga merupakan hasil pencerminan sisi kiri segitiga.
Hasil akhir dari program yang akan di buat kali ini adalah seperti tangkapan layar di bawah ini.
Bagaimanakah cara membuatnya? Mari kita simak bersama.
PERTAMA, buat class SegitigaSimetris.java beserta main class nya..
public class SegitigaSimetris {
public static void main(String[] args){
}
}
KEDUA, import java.util.Scanner untuk menghandle masukan dari user dan java.util.InputMismatchException untuk memastikan masukan dari user berupa angka. Letakkan di atas nama class.
import java.util.InputMismatchException;
import java.util.Scanner;
KETIGA, buat method dengan nilai kembalian object Scanner untuk menghandle masukan dari user.
private static Scanner getInput() {
return new Scanner(System.in);
}
KEEMPAT, buat method void untuk mencetak space dari pinggir CLI dengan parameter satu value integer.
private static void createSpace(int space) {
for(int i = 0; i < space; i++) {
System.out.print(" ");
}
}
Logika dari method ini adalah, method ini akan menjalankan iterasi yang setiap iterasinya akan mencetak satu space.
KELIMA, buat method void dengan parameter satu value integer untuk mencetak shape Segitiga.
private static void createShape(int shape) {
for(int i = 0; i < shape; i++) {
System.out.print("* ");
}
}
Logika method ini hampir sama dengan method untuk mencetak space. Jadi method ini akan menjalankan iterasi yang setiap iterasinya akan mencetak satu karakter (” * “) / asterisk.
KEENAM, buat method void dengan parameter satu value integer sebagai method inti untuk membuat segitiga.
private static void createSegitiga(int tinggiSegitiga) {
int space = tinggiSegitiga;
for(int i = 1; i <= tinggiSegitiga; i++) {
createSpace(space);
createShape(i);
System.out.println("");
space--;
}
}
Setelah kita membuat method untuk mencetak space dan karakter (” * “) tadi, semuanya kita panggil di method inti ini. Sekarang kita perhatikan satu persatu baris kode pada method tersebut. Mengapa saya membuat variable baru dengan nama space dengan value sama dengan tinggiSegitiga? Ya, karena Saya ingin menggunakan variable ini untuk mencetak space. Dan juga karena pencetakan space memerlukan sesuatu yang dapat di-decrement, maka variable space ini pun di-decrement setiap akhir dari iterasi.
Sedangkan untuk di dalam iterasi tidak ada hal – hal yang rumit, cukup memanggil method method yang sudah kita buat tadi, mulai dari memanggil method createSpace dengan isian parameter variable space terlebih dahulu, kemudian dilanjutkan dengan mencetak karakter ( ” * ” ) dengan memanggil method createShape dengan isian parameter nilai iterasi yang maksimumnya adalah dari masukan user berupa nilai tinggi segitiga. Setelahnya, kita menemukan System.out.println(“”); yang digunakan untuk mengganti baris, dan diakhiri dengan decrement value untuk variable space.
Terakhir, kita tambahkan kode berikut sebagai interaksi program dengan user. Letakkan kode berikut di dalam method main.
boolean status = true;
System.out.println("Program Segitiga Simetris\nCoded in Java by Muhammad Irfan Luthfi\ngithub.com/milstrike");
while(status) {
System.out.print("Masukkan tinggi Segitiga: ");
try {
createSegitiga(getInput().nextInt());
status = false;
}catch(InputMismatchException e) {
System.out.println("Masukan harus berupa angka!");
status = true;
}
}
Selanjutnya, kita compile dan kita RUN.
Tinggi Segitiga = 3
TInggi Segitiga = 5
Tinggi Segitiga = 10
Error handling, memastikan masukan dari user berupa angka
Bagaimana? sudah paham? atau masih bingung? Jika masih bingung, berikut adalah full source code nya.
/*
* Author: Muhammad Irfan Luthfi
* github.com/milstrike
*/
import java.util.InputMismatchException;
import java.util.Scanner;
public class SegitigaSimetris {
private static Scanner getInput() {
return new Scanner(System.in);
}
private static void createSpace(int space) {
for(int i = 0; i < space; i++) {
System.out.print(" ");
}
}
private static void createShape(int shape) {
for(int i = 0; i < shape; i++) {
System.out.print("* ");
}
}
private static void createSegitiga(int tinggiSegitiga) {
int space = tinggiSegitiga;
for(int i = 1; i <= tinggiSegitiga; i++) {
createSpace(space);
createShape(i);
System.out.println("");
space--;
}
}
public static void main(String[] args) {
boolean status = true;
System.out.println("Program Segitiga Simetris\nCoded in Java by Muhammad Irfan Luthfi\ngithub.com/milstrike");
while(status) {
System.out.print("Masukkan tinggi Segitiga: ");
try {
createSegitiga(getInput().nextInt());
status = false;
}catch(InputMismatchException e) {
System.out.println("Masukan harus berupa angka!");
status = true;
}
}
}
}
Baiklah, demikianlah artikel fun & tutorial kali ini. Semoga bermanfaat untuk kita semua. Jika Anda masih bingung juga, jangan sungkan untuk meninggalkan pertanyaan di kolom komentar. Jika Anda ingin mencuplik artikel ini, jangan lupa untuk menyertakan URLnya. Terima Kasih…. ^_^
UNDUH PROJECT:
ARTIKEL TERKAIT
1 thought on “Fun & Tutorial: Membuat Segitiga Simetris dengan Java (CLI)”