Looping merupakan perulangan suatu data (baik datasets atau data biasa) Loop ada 3 macam, yaitu :
For Loop
While Loop
Repeat Loop
dalam bahasa R bentuk loop ini dengan menyediakan sejumlah fungsi seperti apply(),tapply(), dll. Sehingga loop jarang sekali muncul dalam kode R. Sehingga R sering disebut dengan loopless loop.
sebelum melanjutkan proses looping, terdapat suatu kode yang bernama Control Flow
Control Flow adalah sebuah cara untuk memberi tahu sebuah program mengenai intruksi apa yang harus dijalankan Umumnya, Ada 3 macam dari struktur kontrol :
break
continue
return
Digunakan untuk menghentikan program maupun kondisi program
Berikut code sederhana dari for loop
for(var in vector) {
statements(i)
}
Berikut contoh dari for loop :
r <- c(1:20)
for(i in r) {
print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
## [1] 11
## [1] 12
## [1] 13
## [1] 14
## [1] 15
## [1] 16
## [1] 17
## [1] 18
## [1] 19
## [1] 20
Fungsi c adalah sebagai count atau banyaknya data
numerik yang kita buat, formatnya yaitu c(x:y) dimana x
adalah nilai minimum dan y adalah nilai maksimum, tidak hanya itu, kita
juga dapat menggunakan tipe data string, int, double, float, dll.
while(expression) {
statements
}
Berikut contoh dari while loop :
fc <- 1 # as counter
text <- "Hello"
while(fc < 4) {
print(text)
fc <- fc + 1 # counter setup
}
## [1] "Hello"
## [1] "Hello"
## [1] "Hello"
Berbeda dengan for loop, while loop justru menggunakan counter untuk membatasi looping tersebut, jika seandainya while loop ini tidak mempunyai counter, maka dalam output proses perulangan akan terus terjadi tanpa henti
Berikut kode sederhana dari Repeat Loop
repeat {
statements
if(condition) {
control_flow
statements
}
}
Berikut contohnya :
counter = 1
repeat {
print(counter)
counter = counter + 1
if(counter > 5) {
break
}
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
Nested loop / loop bersarang yaitu perulangan dalam pernyataan perulangan. Sederhananya, nested loop merupakan perulangan dalam perulangan
Berikut kode sederhananya :
for(i in var) {
for(j in var2) {
...statements
}
}
Berikut Contohnya :
fi = c(1:4)
fj = c(1:5)
for(i in fi) {
for(j in fj) {
print(paste("i = ", i, "j = ", j))
}
}
## [1] "i = 1 j = 1"
## [1] "i = 1 j = 2"
## [1] "i = 1 j = 3"
## [1] "i = 1 j = 4"
## [1] "i = 1 j = 5"
## [1] "i = 2 j = 1"
## [1] "i = 2 j = 2"
## [1] "i = 2 j = 3"
## [1] "i = 2 j = 4"
## [1] "i = 2 j = 5"
## [1] "i = 3 j = 1"
## [1] "i = 3 j = 2"
## [1] "i = 3 j = 3"
## [1] "i = 3 j = 4"
## [1] "i = 3 j = 5"
## [1] "i = 4 j = 1"
## [1] "i = 4 j = 2"
## [1] "i = 4 j = 3"
## [1] "i = 4 j = 4"
## [1] "i = 4 j = 5"
Fungsi paste() merupakan penggabungan 2 atau lebih
variabel yang berbeda