Postingan lainnya
Bermain Logika di Javascript
Assalamualaikum saya mau bertanya algoritma dari kode seseorang , karena saya masih bingung sekali dengan cara kerja kode ini, pengulangan bersarang
var tampilan='';
for (var i = 1; i <=10; i++) {
if (i%2==0) {
for (var j = 1; j <= 10; j++) {
if (j%2==0) {
tampilan+='#';
}else tampilan+=' ';
}
tampilan+='\n';
}else{
for (var j = 1; j <= 10; j++) {
if (j%2==0) {
tampilan+=' ';
}else tampilan+='#';
}
tampilan+='\n';
}
}
console.log(tampilan);
minta tolong bisa dijelaskan cara kerja nya atau logikanya , terimakasih wassalamualaikum
8 Jawaban:
<script type="text/javascript">
var tampilan='';
// pelajari dari pola output nya dulu
/* 10x menurun (setiap 1x menurun 10x kesamping)
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
KET #1 = step 1. lihat referensi , #2 = step 2 dst...
*/
// #1. lakukan perulangan dari 1 sampai <= 10 dg syarat(i++) artinya dlm 1 kali putaran
// variable i akan bertambah 1 artinya perulangan dilakukan 10 kali (lihat ouputnya = 10 baris)
// perulangan KEBAWAH
for (var i = 1; i <=10; i++) { // #1.
//# 2. cek kondisi jika i % 2 => i mod 2 (pembagian bersisa) = 0 ,, artinya
if (i%2==0) { // #2
// 3#. lakkukan perulangan (VAR j) disetiap (var i) sebanyak 10 kali
for (var j = 1; j <= 10; j++) { // #3
//# 4. jika nilai i = angka2 genap (2,4 dst) maka output = "#" ,
// sebaliknya jika ganjil ouput = " "
// => diulang sebanyak 10 kali KESAMPING (perulangan var j)
// output:
// 1 2 3 4 5 6 7 8 9 10
// # # # # #
if (j%2==0) { // #4
tampilan+='#';
}else tampilan+= ' ';
}
// #5. setiap selesai melakukan 10 kali perulangan (var j) output + \n => pindah baris
tampilan+='\n'; //#5
// #6. nilai salah dari if(i % 2 == 0) sama artinya dg if(i % 2 != 0) jika nilai var i = Ganjil maka
}else{ //#6
// #7. Lakukan perulangan 10. kali (KESAMPING) var j
for (var j = 1; j <= 10; j++) { //#7
// #8. hampir sama dg #4 (kebalikannya) genap = " " , ganjil = "#"
// output:
// 1 2 3 4 5 6 7 8 9 10
// # # # # #
if (j%2==0) { //#8
tampilan+=' ';
}else tampilan+='#';
}
// #9 = sama dengan #5
tampilan+='\n';
}
}
console.log(tampilan);
</script>
Semoga Bermanfaat & Membantu (^_^)
Jawaban Terpilih
Wa'alaikumsallam
var tampilan=''; //membuat variable tampilan dengan nilai string kosong
for (var i = 1; i <=10; i++) { //melakukan looping 1 s.d 10
if (i%2==0) { // jika nilai i mod 2(mirip seperti pembagian,hanya saja nilai yg diambil nilai sisanya) adalah 0
for (var j = 1; j <= 10; j++) { //maka jalankan looping yang ini
if (j%2==0) { //jika nilai j mod 2 adalah 0
tampilan+='#'; // maka set isi nilai variable tampilan menjadi '#'
}else tampilan+=' '; //sebaliknya jika bukan 0 maka set nilai tampilan menjadi 1 space
}
tampilan+='\n'; // kemudian set prefix variable tampilan dengan pagaragrap baru
}else{ //sebaliknya jika nilai i mod 2 bukan sama dengan 0
for (var j = 1; j <= 10; j++) { //maka jalankan looping yang ini
if (j%2==0) { // ini sama seperti penjelasan diatas
tampilan+=' ';
}else tampilan+='#';
}
tampilan+='\n';
}
}
console.log(tampilan);
Semoga Mengerti ya
terimakasih jawabannya nggeh , semoga manfaat ilmunya
sebenarnya masih agak bingung antara variabel i dan j , menggunakan tabel penulusuran juga masih bingung
masih bingung apakah variabel i atau j yang melakukan pengulangan ke samping dan ke bawah
agan kurang teliti bacanya .. coba dibaca berulang2 samil dipahami...
itu ada keterangannya KEBAWAH...
// #1. lakukan perulangan dari 1 sampai <= 10 dg syarat(i++) artinya dlm 1 kali putaran
// variable i akan bertambah 1 artinya perulangan dilakukan 10 kali (lihat ouputnya = 10 baris)
// perulangan KEBAWAH
for (var i = 1; i <=10; i++) { // #1.
KESAMPING ?? ini bro
for (var j = 1; j <= 10; j++) { // #3
//# 4. jika nilai i = angka2 genap (2,4 dst) maka output = "#" ,
// sebaliknya jika ganjil ouput = " "
// => diulang sebanyak 10 kali KESAMPING (perulangan var j)
// output:
// 1 2 3 4 5 6 7 8 9 10
// # # # # #
Kesimpulan
1. perulangan i (1-10) menurun (KE BAWAH)
OUTPUT :
1
2
3
4
5
6
7
8
9
10
2. perulangan (j) (1-10) menyamping (KE KANAN) dilakukan setiap 1x perulangan (i)
artinya dalam 1x perulangan i ( terdapat 10x perulangan j )
1 2 3 4 5 6 7 8 9 10 (perulangan j (1<=10))
OUTPUT :
1 2 3 4 5 6 7 8 9 0
# # # # # (perulangan j => jika (i) ganjil
# # # # # (perulangan j => jika (i) genap
dst => 10 kali
Semoga Paham...hehe
sip sip makasih gan hehe, maaf merepotkan
welcome... dilatih lagi logika nya lebih 2 perulangan (iterasi) / looping..
selamat belajar...