perulangan bersarang

Perulangan Bersarang
Assalamualaikum ???
Selamat datang di Blog saya ...
Dan kali ini saya akan menjelaskan tentang Perulangan bersarang (Nested Loop) dan penyelesaian kasusnya. sebelumnya saya akan menjelaskan terlebihdahulu apa itu Perulagan Bersarang, berikut penjelasannya:

 

Perulangan Bersarang
Perulangan Bersarang (Nested Loop) adalah struktur perulangan yang berada didalam struktur perulangan lainnya. Pada umumnya, struktur perulangan yang berada didalam struktur perulangan lainnya memiliki hubungan yang saling terkait dalam menyelesaikan sebuah kasus komputasi.
Berikut bentuk deklarasi dari perulangan bersarang  :

saya menggunakan variabel i dan j , jika mau diganti juga boleh :)

for(int i = 0 ; i < = 3 ; i++)
    {
    for(int j = 0 ; j < = 5 ; j++)
    {
     write(i+','+j)
     }
   }

hasil dari proses di atas

i = 0 dan j = 0 jadi hasilnya 0,0
i = 0 dan j = 1 hasilnya 0,1
i = 0 dan j = 2 hasilnya 0,2
i = 0 dan j = 3 hasilnya 0,3
i = 0 dan j = 4 hasilnya 0,4
i = 0 dan j = 5 hasilnya 0,5

setelah j berulang sampai nilai 5 ,maka i yg tadinya bernilai 0 akan berganti nilai menjadi 1 dan j akan melakukan perulangan lagi 0 - 5, lihat di bawah ini

i = 1 dan j = 0 hasilnya 1,0
i = 1 dan j = 1 hasilnya 1,1
i = 1 dan j = 2 hasilnya 1,2
i = 1 dan j = 3 hasilnya 1,3
dan seterusnya sampai j bernilai 5

setelah j berulang sampai nilai 5 ,i yang tadinya bernilai 1 akan berganti nilai menjadi 2 dan j akan melakukan perulangan lagi 0 - 5 setelah itu i akan melakukan perulangan lagi sampai i bernilai 3 dan proses akan terhenti ....

sekarang saia akan gabungkan perulangan bersarang dengan array 2 dimensi !!!

langsung sadja ini deklarasinya ~
saia tetap menggunakan variabel i,j, dan  x untuk var Array nya...

for(int i = 0 ; i < = 5 ; i++)
    {
    for(int j = 0 ;  j < = 2 ; j++)
    {
    x[i,j] = i+j;
    }
   }

hasil dari proses di atas

i = 0 dan j = 0 hasilnya 0,0 karena perintahnya i dan j di jumlah maka 0 + 0 = 0
i = 0 dan j = 1 hasilnya 0,1  di jumlah 0+1 =1
dan seterusnya sampai j  bernilai 2 dan i berulang sampai bernilai 5 urutan perulangannya sama seperti di atas  :)

sesudah menyelesaikannya ,langsung saja di masukkan indeks nya sesuai urutan ,Contoh tadi ada nilai i = 0 dan j = 0 hasilnya 0,0 dan dijumlahkan mempunyai hasil 0 ,langsung saja di masukkan pada indeks baris ke 0 dan kolom ke 0 dan isi indeksnya sesuai hasil penjumlahan var i dan j, anggap sadja i adalah beris dan j adalah kolom ,berikut gambaran hasil dari proses di atas :


saia jelaskan sedikit ,angka 2 yang berwarna merah adalah hasil dari 
i = 0 dan j = 2
x = i + j
0 + 2 = 2 
dan di letakkan pada indeks baris ke 0 , kolom ke 2 yg bernilai 2
dan angka 4 yang berwarna merah adalah hasil dari 
i = 3 dan j = 1
x = i + j
3 + 1 = 4
hasilnya di letakkan pada indeks baris ke 3 , kolom ke 1 yg bernilai 4
Selesai :)
............................................................
.............................................................................
tapi sekarang saya akan persulitnya dengan menambahkan IF pada contoh kasus di atas tadi . Berikut deklarasinya :
for(int i = 0 ; i < = 5 ; i++)
    {
    for(int j = 0 ; j < = 2 ; j++)
    }
  if( j > = i)
 {
 x[i,j] = [i+j]*2;
 {
 else
 {
 x[i,j] = [i-j]+5;
 }
 }
}

Berikut gambaran dari proses di atas :

var nya tetap i dan j yaa.... :)
i = baris
j = kolom



saya jelaskan sedikit .........
gambar 1 yang berwarna merah hasil dari


Saya akan jelaskan sedikit tentang gambar di atas :)
I = 0 dan j = 1 Karena perintahnya (jika j lebih besar dari I maka j+i* 2,dan jika tidak j-i+5) “Bisa di lihat script di atas”
Jadi 0+1 * 2 = 2
Dan langsung saja di input ke Array Index baris ke 0 , kolom ke 1.

saya kasih 1 contoh lagi  >.<")
i = 2 dan j = 0 karena perintahnya (jika j lebih besar dari I maka j+i* 2,dan jika tidak j-i+5)"Bisa di lihat script di atas"
jadi 2 + 0 +5 = 3
sekian dari saya wassalamualaikum wr.wb

Komentar

Postingan Populer