Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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...