Pelajaran modul (2/2)
Kondisional dan Loop
Untuk mengimplementasikan algoritma dan prosedur yang kompleks di R, Anda harus mampu mengontrol instruksi mana yang harus dijalankan dan berapa kali harus mengulanginya.
Pernyataan Bersyarat
Di R, struktur kondisional fundamental didasarkan pada if dan else. Sintaksnya sangat mirip dengan bahasa seperti JavaScript atau C:
score <- 85
if (score >= 60) {
print("Passed!")
} else {
print("Failed.")
}Kurung kurawal {} menentukan blok kode yang akan dijalankan bergantung pada hasil ekspresi boolean di dalam tanda kurung.
Lingkaran for
Perulangan for di R digunakan untuk mengulangi elemen dalam urutan (seperti vektor atau daftar).
# Print numbers from 1 to 3
for (i in 1:3) {
print(i)
}Di R, sintaks 1:3 adalah cara singkat untuk membuat vektor c(1, 2, 3).
Kita juga dapat melakukan loop langsung pada elemen vektor yang sudah ada:
fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
print(fruit)
}Fungsi ifelse
Di R, fungsi ifelse() adalah versi vektor dari pernyataan if-else. Hal ini memungkinkan Anda untuk menerapkan kondisi ke seluruh vektor dalam satu operasi, mengembalikan hasil vektor.
scores <- c(55, 80, 45, 90)
# Se score >= 60 assegna "Pass", altrimenti "Fail"
results <- ifelse(scores >= 60, "Pass", "Fail")
print(results) # "Fail" "Pass" "Fail" "Pass"Lingkaran while
Perulangan while digunakan untuk mengulang blok kode selama kondisi tertentu tetap benar (TRUE). Penting untuk memastikan bahwa kondisi pada akhirnya menjadi salah untuk mencegah perulangan tak terbatas.
counter <- 1
while (counter <= 3) {
print(counter)
counter <- counter + 1
}Cobalah sendiri
Tulis pernyataan kondisional if-else yang memeriksa apakah skor variabel lebih besar atau sama dengan 60. Jika ya, setel status ke 'Lulus', jika tidak, setel ke 'Gagal'.
Tunjukkan petunjuk
Skor verifikasi >= 60 dan status penilaian <- 'Lulus' atau status <- 'Gagal'
Solusi tersedia setelah 3 upaya
Tulis perulangan for yang mengulangi urutan 1:5 dan mencetak setiap nilai menggunakan fungsi print().
Tunjukkan petunjuk
Penggunaan sintassi: for (i in 1:5) { print(i) }
Solusi tersedia setelah 3 upaya
Mengingat vektor v, tulis perulangan for yang mengulangi setiap elemen dan mencetak dobelnya (val * 2) menggunakan print().
Tunjukkan petunjuk
Ulangi elemen v: for (val in v) { print(val * 2) }
Solusi tersedia setelah 3 upaya
Mengingat skor vektor, gunakan fungsi ifelse() untuk memeriksa elemen mana yang lebih besar atau sama dengan 60. Simpan hasilnya (yang akan berisi 'Lulus' atau 'Gagal' untuk setiap elemen) dalam hasil variabel.
Tunjukkan petunjuk
Gunakan fungsi: hasil <- ifelse(skor >= 60, 'Lulus', 'Gagal')
Solusi tersedia setelah 3 upaya
Gunakan perulangan while untuk menggandakan nilai x hingga melebihi 50. Tambahkan juga variabel counter pada setiap iterasi.
Tunjukkan petunjuk
Gunakan perulangan while (x <= 50) dan perbarui x dan penghitung di dalam kurung kurawal.
Solusi tersedia setelah 3 upaya