Loop secara singkat adalah algoritma pengulangan. Loop pada aplikasi Rstudio biasanya digunakan untuk menuliskan hanya satu kali perintah yang sama, namun akan dieksekusi beberapa kali. Hal ini wajar ditemui di bahasa pemrograman mana saja ya sobb.
Berikut adalah beberapa contohnya:
- Menulis angka satu sampai 1.000.000. Pada dasarnya, perintahnya adalah sama yakni menulis angka bertahap satu demi satu. Namun perintah tersebut diulang sebanyak satu juta kali, dengan angka berbeda yang terurut.
- Menulis “aku ingin jadi dokter” sebanyak seribu kali. Sejatinya perintahnya adalah sama, yakni menulis kalimat “aku ingin jadi dokter”, hanya saja diulang seribu kali.
- Melakukan perkalian pada seluruh isi dalam baris suatu matriks. Sejatinya satu perintah sama berupa perkalian saja, namun diulang untuk semua elemen dalam satu baris matriks.
Semua perintah tersebut, sejatinya satu perintah sama yang diulang beberapa kali sampai sebuah kondisi terpenuhi.
Loop/pengulangan perintah akan terhenti saat kondisi tertentu terpenuhi.
- Pada contoh pertama, kondisi yang harus terpenuhi adalah tercapai angka 1.000.000
- Kemudian, pada contoh kedua, kondisi yang harus terpenuhi adalah tertulisnya “aku ingin jadi dokter” sebanyak seribu kali
- Dan pada contoh ketiga, kondisi yang harus terpenuhi adalah dilakukannya perkalian pada semua elemen dalam baris matriks yang dimaksud
setelah kondisi tersebut terpenuhi, Loop akan terhenti.
Macam – Macam Loop pada Aplikasi Rstudio
Setidaknya ada Tiga Jenis Loop di R. Ketiganya bisa membuat pekerjaan menggunakan Aplikasi R menjadi lebih efisien.
Ketiga jenis Loop itu adalah Loop “For”, Loop “While”, dan Loop “Repeat”.
Ketiganya bekerja dengan cara yang berbeda, berikut gambar singkatnya
Loop “For”
Loop For cukup sering digunakan dalam penyusunan syntax untuk analisis data secara luas.
Hal ini karena tipe loop ini cukup praktis dalam penggunaanya.
Sebelum lebih lanjut membahas teknis kinerja Loop For, perlu diketahui bahwa Loop For bekerja dengan cara meng-iterasi perintah Loop melalui sebuah urutan item (sequence).
Dari simulasi diatas, dapat kita lihat urutan kinerja dari Loop For.
- Memasuki loop. Perlu diingat bahwa kinerja R adalah berbasis baris, dari atas ke bawah. Jadi Loop For hanya akan bekerja saat program R sudah akan memasuki Loop For ini sob.
- Apakah item terakhir sudah tercapai. Lagi, Loop ini bekerja berdasarkan sequence. Maka langkah berikutnya adalah memastikan item dalam sequence tersebut masih tersisa. Loop hanya akan berhenti setelah semua item dilalui.
- Jalankan perintah Loop. Jika masih ada item dalam sequence, maka perintah Loop akan dijalankan. Jika semua item sudah dilelui Loop, maka Loop akan terhenti.
Contoh :
Dalam contoh ini, kita akan membuat Loop untuk mencetak angka dari 1 sampai 100 dengan perintah print.
#for
for(i in 1:100){ #ini adalah sequence
print(i) #ini adalah perintah Loop
}
Lagi, Loop adalah algoritma pengulangan. Dalam contoh ini, perintah yang diulang adalaah perintah print.
Perintah tersebut akan diulang pada semua item dalam sequence.
Berikut perinciannya :
- Memasuki Loop. Yap, langkah pertama tentu menunggu program R sampai di awal Loop (biasanya sebelum Loop ada perintah lain yang sudah disusun pengguna R)
- Apakah item terakhir sudah tercapai. Perlu diketahui, karena Loop For bekerja berbasis sequence (urutan item) maka akan dieksekusi dari urutan yang paling awal sampai item urutan paling akhir.
- Jalankan perintah Loop.
Dalam contoh ini, sequence yang ada adalah urutan 1 sampai 100.
Maka, untuk setiap item akan dijalankan perintah (dalam hal ini print) sampai item dalam sequence habis.
Lebih detailnya sebagai berikut :
- awalnya print(i) akan menjadi print(1). Karena item pertama dalam sequence tersebut adalah 1.
- Lalu lanjut lagi sesuai alur pada gambar Simulasi Loop For, maka ia akan kembali mengecek apakah item sudah sampai yang terakhir.
- Karena setelah 1 masih ada 2,3,4,..100 maka Loop akan terus berulang dan menjalankan perintah yang sama. Sampai Item terakhir (100) selesai dieksekusi.
- Maka Loop akan melanjutkan perintah print(i) menjadi print(2), lalu print(3), print(4), print(5), print(6), dst sampai print(100).
Berikut adalah hasil dari Loop For pada contoh ini :
Loop “while”
Berbeda dengan cara kerja Loop For, konsep kerja Loop While didasarkan pada evaluasi kondisi. Perintah pada Loop While hanya akan dieksekusi jika kondisi tersebut terpenuhi.
Dari gambar diatas, berikut alur kerja Loop While:
- Memasuki Loop. Lagi, langkah pertama adalah menunggu program R sampai di muka Loop.
- Apakah kondisi terpenuhi. Karena Loop While bekerja berbasis kondisi tertentu, maka perintah yang ada dalam Loop While hanya akan dijalankan jika kondisi tersebut terpenuhi.
- Jalankan perintah Loop.
Contoh:
#while
i <- 1 #inisialisasi nilai i
while(i <= 100) #kondisi
{print(i) #perintah while
i=i+1} #update nilai i
Berikut adalah penjelasan dari contoh praktik Loop While diatas:
- i merupakan nilai inisialisasi (awal), sehingga kita bisa membuat suatu kondisi.
- kondisi diatas adalah while (selagi) nilai i kurang dari atau sama dengan 100. Hal ini karena kita hendak mencetak angka dari 1 sampai 100.
- i=i+1 merupakan cara mengupdate nilai i, agar berurutan bertambah 1 nilainya. Jika i di awal bernilai 1, maka i berikutnya bernilai 2,3,4, dan seterusnya.
- Jadi, i akan dicetak (print) while (selagi) nilai i kurang dari atau sama dengan 100.
Berikut adalah hasil dari simulasi Loop While pada contoh ini:
Loop “repeat”
Berbeda dengan dua jenis loop sebelumnya, pada loop ini kita perlu mengatur sebuah kondisi dimana perintah dalam loop akan berhenti dieksekusi. Selagi kondisi berhenti (break) tersebut belum terpenuhi, loop akan terus dijalankan (kecuali hari kiamat atau komputer jebol).
Dari gambar tersebut, berikut rincian alur kerja Loop Repeat:
- Memasuki loop. Seperti pada loop – loop sebelumnya, Loop Repeat juga akan dijalankan ketika program R sudah siap menjalankan loop ini
- Jalankan perintah loop.
- Apakah kondisi berhenti terpenuhi. Betul, loop ini hanya akan berhenti bekerja saat kondisi berhenti (break) terpenuhi.
Contoh:
#repeat
i <- 1 #inisialisasi
repeat{
print(i) #perintah loop
i=i+1 #update nilai i
if(i>100){ #kondisi berhenti (break)
break
}
}
Dari contoh praktik tersebut, berikut adalah penjelasannya:
- awalnya kita perlu menginisialisasi nilai i sebagai 1. Tujuannya adalah memudahkan goals kita untuk mencetak angka 1 sampai 100. Angka 1 ini sangat fleksibel tergantung goals kita menggunakan loop untuk apa.
- kemudian print(i) adalah perintah loop untuk langsung mencetak nilai i tadi.
- setelah i nilainya lebih dari 100, maka break dan loop akan berhenti bekerja. Hal ini karena sudah terpenui kondisi berhenti (break)
Berikut adalah hasil dari praktik tersebut:
Demikianlah artikel tentang “Panduan Memahami Loop pada Aplikasi Rstudio”Terimakasih sudah menyimak artikel Exsight. Jangan lupa untuk selalu menggunakan software asli dimanapun kamu berada ^^
Baca juga: Cara Otomatis Atasi Categorical Features pada Boosting dengan catboost