Program JAVA: pola segitiga

karena kemaren kepalang janji mau sharring tentang materi training, here we go. 

jadi selama training 2 minggu itu lebih ditekankan sama logika dari kita. jadi rata-rata soalnya tentang membuat Pola segitiga dengan program JAVA dan sedikit tentang SQL. TANPA INTERNET loh ya ngerjainya. jadi, waktu training, ngerjainnya murni dari otak banget, buat ngukur seberapa keren logika kita. soalnya pun semakin hari semakin ribet. 

curhat dikit, selama training sih bisa banget, yang lain bisa 30 menit ngerjain, aku 10 menit. uhuy, berasa jago haha. mulai kebangun deh bisikan "wah gue jago nih kalo jadi analyst entar" huehehe. 

oke balik lagi ke topik. nah sekarang mulai dari soal  dan pembahasan POLA segitiga menggunakan JAVA


1. segitiga dengan deret angka berulang 




NOTE: 

- dengan masukan nilai n = 7 
- nilai (angka) yang ditampilkan adalah nilai dari baris



langsung aja code nya. 


public class soal_1{
public static void main (String[] args){
int n=7;
for (int i=0;i<=n;i++){
for (int j=1; j<=i;j++){
System.out.print(i);

}
System.out.println();
}
}
}

Penjelasan: 



  • untuk for yang pertama (for i) untuk baris dan for yang kedua (for j) untuk kolom. 
  • mulai dari perulangan paling dalam, dalam baris ke-1 (i=1) maka ada perulangan dari nilai j 1-nilai i yang sekarang yaitu 1 . perulangan melakukan penulisan nilai i yaitu 1. 
  • setelah selesai for perulangan kolom selesai, dilanjutkan dengan perintah "enter" yang ditulis System.out.println();
  • kemudian kembali perulangan pertama dengan nilai i bertambah menjadi 2, dan dalam perulangan kedua (j) ada perulangan dari 1-2 dengan menuliskan nilai i yang sekarang yaitu 2. 
  • dan selanjutnya sampai nilai i=n


2. segitiga terbalik dengan deret angka 





NOTE: 


- dengan masukan nilai = 5

langsung aja code nya. 



public class soal_2{
public static void main (String[] args){
int n=5;
int p=n*2;
System.out.println();
for (int i=1;i<=n;i++){

for ( int k=1;k<=i;k++){
System.out.print(" ");
}

int x=i;
for (int j=1; j<=p-i;j++){
System.out.print(x);
x++;
}
p--;
System.out.println();
}
}
}

Penjelasan: 



  • disini ada 3 perulangan, perulangan pertama(for i) untuk baris, kemudian untuk perulangan kedua (for k) untuk mencetak spasi agar segitiga bisa menjadi segitiga sama kaki dan perulangan ketiga (for j) untuk mencetak nilai
  • konstanta p digunakan untuk batas perulangan mencetak angka dimana nilai paling besar adalah 9 yang mempunyai pola (n*2)-1
  • perulangan k mencetak spasi dengan format seperti segitiga pada soal 1. 
  • perulangan j mengeprint nilai dengan variabel bernama x yang sebelumnya di assign menjadi nilai dari i. jadi ketika baris pertama, angka yang dicetak mulai dari 1 karena baris pertama, setelah cetak nilai x bertambah 1, sampai perulangan j habis. 
  • untuk batas j, kenapa p-i? karena dari pola segitiga, semakin kebawah, nilai berkurang sesuai nilai baris. 
  • setelah selesai perulangan k dan j, maka dilakukan "enter" dan i bertambah menjadi proses pencetakan baris ke-2



3. bintang dengan pola diamond  





NOTE: 

- dengan masukan nilai = 5

langsung aja code nya. 



public class soal_3{
public static void main (String[] args){
int n=9;
int p=n;
int x=n;

for (int i=1;i<=n*2;i++){
for (int k=1;k<=x;k++){
System.out.print(" ");
}
for (int j=1;j<=p-x+1;j++){
System.out.print("*");
}

System.out.println();
if (i<n){
p++;
x=n-i;
}else{
p--;
x=(i-n)+2;
}
}
}
}

Penjelasan: 



  • disini ada 3 perulangan, perulangan untuk baris, perulangan kolom untuk cetak bintang dan perulangan segitiga cetak spasi
  • karena pola berbentuk diamond atau sama dengan 2 segitiga atas bawah, maka baris yang diperlukan adalah 2kali nilai n. maka batas perulangan baris (for i) adalah 2*n
  • dalam perulangan cetak spasi (for k) strukturnya sama dengan segitiga pada no.1 dengan mencetak spasi sebanyak nilai baris
  • pada perulangan mencetak bintang, batasnya dinamis dengan syarat/kondisi if setelah cetak "enter"
  • if ini bermaksud, jika baris belum mencapai(kurang dari) nilai pertengahan, yaitu nilai n, maka setiap baris pencetakan bintang bertambah. dan jika baris lebih dari nilai n, maka pencetakan bintang bertambah

Selesai. 


masih kurang paham? bisa tanya di komen, inshaa Allah fast respond. dan masih punya banyak pola juga, kalo ada yang request boleh. huehehe. sekian postingan "utang" yang udah dilunasin kali ini, sampai ketemu next post! semoga bermafaat dan keep sharing and learning.

Share this:

ABOUT THE AUTHOR

Hello. Rianindaa here. Jakarta, 14 Mei 1994. hobi menulis, design dan travelling. welcome to my world and enjoy the page!

0 comments:

Post a Comment