Looping

Looping merupakan perulangan suatu data (baik datasets atau data biasa) Loop ada 3 macam, yaitu :

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 :

Control Flow (Break)

Digunakan untuk menghentikan program maupun kondisi program

1. For Loop

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.

  1. While Loop Berikut kode sederhana dari while loop
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

3. Repeat Loop

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

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