LOOP

Pengertian loop

Perulaangan atau juga sering dikenal dengan looping merupakan pernyataan atau perintah yang diberikan kepada komputer agar menjalankan proses data, menampilkan data, atau yang lainnya secara berulang. Dalam pemrograman R bentuk loop dapat bermacam-macam (“for loop”,“while loop”,dll). R menyederhanakan 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.

Macam macam loop

  1. For Loop Mengulangi sebuah statement atau sekelompok statement sebanyak nilai yang ditentukan di awal. Jadi operasi akan terus dilakukan sampai dengan jumlah yang telah ditetapkan di awal atau dengan kata lain tes kondisi (Jika jumlah pengulangan telah cukup) hanya akan dilakukan di akhir. Secara sederhana bentuk dari for loop dapat dituliskan sebagai berikut:
for (value in vector){
  statements
}
# Membuat vektor numerik
vektor <- c(1:10)

# loop 
for(i in vektor){
  print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10

Perulangan akan dimulai dari blok statement for sampai dengan print(i).

  1. While Loop

While loop merupakan loop yang digunakan ketika kita telah menetapkan stop condition sebelumnya. Blok statement/kode yang sama akan terus dijalankan sampai stop condition ini tercapai. Stop condition akan di cek sebelum melakukan proses loop.

while (test_expression){
  statement
}

Berikut contoh penerapan while loop:

contoh <- c("Test")
counter <- 1

# loop
while (counter<7){
  # print vektor
  print(contoh)
  # tambahkan nilai counter sehingga proses terus berlangsung sampai counter = 5 
  counter <- counter + 1
}
## [1] "Test"
## [1] "Test"
## [1] "Test"
## [1] "Test"
## [1] "Test"
## [1] "Test"

Loop akan dimulai dari blok statement while sampai dengan counter <- 1. Loop hanya akan dillakukan sepanjang nilai counter <7

  1. Repeat Loop Repeat loop akan menjalankan statement yang sama berulang-ulang hingga stop condition tercapai.
repeat {
  commands
  if(condition){
    break
  }
}

Berikut contoh dari repeat loop

coba <- c("test")
counter <- 1
repeat {
  print(coba)
  counter <- counter + 1
  if(counter < 5){
break
  }
}
## [1] "test"

Loop akan dimulai dari blok statement while sampai dengan break. Loop hanya akan dilakukan sepanjang nilai counter < 5. Hasil yang diperoleh berbeda dengan while loop, dimana kita memperoleh 4 buah kata “test”. Hal ini disebabkan karena repeat loop melakukan pengecekan stop condition tidak di awal loop seperti while loop sehingga berapapun nilainya, selama nilainya sesuai dengan stop condition maka loop akan dihentikan. Hal ini berbeda dengan while loop dimana proses dilakukan berulang-ulang sampai jumlahnya mendekati stop condition.

  1. Break Break bukanlah bagian dari loop, tetapi sering digunakan dalam loop. Break dapat digunakan pada loop saat kondisi yang disyaratkan pada break tercapai.
# for loop
a = c(0,1,2,3,4,5,6)
for(i in a){
  if(i>5){
    break
  }
  print(i)
}
## [1] 0
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
# while loop
a = 2
b = 4
while(a<7){
  print(a)
  a = a +1
  if(b+a>10){
    break
  }
}
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
# repeat loop
a = 1
repeat{
  print(a)
  a = a+1
  if(a>6){
    break
  }
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6