Di bawah ini kita akan mempelajari for loop pada R Language.
Section Artikel
For loop digunakan untuk iterasi atas suatu urutan:
Contoh
Output :
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
Hal ini sama seperti perulangan for
pada bahasa pemrograman lain dan bekerja lebih seperti metode iterator seperti yang digunakan dalam bahasa pemrograman berorientasi objek lainnya.
Dengan perulangan for
kita dapat mengeksekusi sekumpulan pernyataan, sekali untuk setiap item dalam vektor, larik, list, dll.
Contoh
Cetak setiap item dalam daftar:
fruits <- list("apple", "banana", "cherry") for (x in fruits) { print(x) }
Output :
[1] "apple"
[1] "banana"
[1] "cherry"
Contoh
Cetak jumlah dadu:
dice <- c(1, 2, 3, 4, 5, 6) for (x in dice) { print(x) }
Output :
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
Perulangan for
tidak memerlukan variabel untuk pengindeksan untuk disetel sebelumnya, seperti dengan while
loop .
Dengan pernyataan break
, kita bisa menghentikan pengulangan sebelum perulangan melalui semua item:
Contoh
Hentikan pengulangan di “cherry”:
fruits <- list("apple", "banana", "cherry") for (x in fruits) { if (x == "cherry") { break } print(x) }
Output :
[1] "apple"
[1] "banana"
Pengulangan akan berhenti di “cherry” karena kita telah memilih untuk menghentikan pengulangan dengan menggunakan pernyataan break
ketika x
sama dengan “cherry” (x == "cherry"
).
Dengan pernyataan next
, kita bisa melewati iterasi tanpa menghentikan loop:
Contoh
Lewati “banana”:
fruits <- list("apple", "banana", "cherry") for (x in fruits) { if (x == "banana") { next } print(x) }
Output :
[1] "apple"
[1] "cherry"
Ketika loop melewati “banana”, ia akan melewatkannya dan melanjutkan looping ke yang berikutnya.
Untuk mendemonstrasikan contohnya, katakanlah kita memainkan permainan Yahtzee!
Contoh
Cetak “Yahtzee!” Jika nomor dadu adalah 6:
dice <- 1:6 for(x in dice) { if (x == 6) { print(paste("Dadu nomor adalah", x, "Yahtzee!")) } else { print(paste("Dadu nomor adalah", x, "Not Yahtzee")) } }
Output :
[1] "Dadu nomor adalah 1 Not Yahtzee"
[1] "Dadu nomor adalah 2 Not Yahtzee"
[1] "Dadu nomor adalah 3 Not Yahtzee"
[1] "Dadu nomor adalah 4 Not Yahtzee"
[1] "Dadu nomor adalah 5 Not Yahtzee"
[1] "Dadu nomor adalah 6 Yahtzee!"
Jika loop mencapai nilai mulai dari 1 sampai 5, ia mencetak “No Yahtzee” dengan nomornya. Ketika mencapai nilai 6, itu mencetak “Yahtzee!” dengan nomornya.
Loop bersarang(nested loop) adalah loop di dalam loop.
“Loop di dalam” akan dijalankan satu kali untuk setiap iterasi “loop luar”:
Contoh
Cetak kata sifat dari setiap buah dalam daftar:
adj <- list("red", "big", "tasty") fruits <- list("apple", "banana", "cherry") for (x in adj) { for (y in fruits) { print(paste(x, y)) } }
Output :
[1] "red apple"
[1] "red banana"
[1] "red cherry"
[1] "big apple"
[1] "big banana"
[1] "big cherry"
[1] "tasty apple"
[1] "tasty banana"
[1] "tasty cherry"