Lompati ke konten utama
Modul 2 · Pelajaran 2 dari 24/10 dalam kursus~12 min
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:

R
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).

R
# 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:

R
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.

R
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.

R
counter <- 1
while (counter <= 3) {
  print(counter)
  counter <- counter + 1
}

Cobalah sendiri

Latihan#r.m2.l2.e1
Upaya: 0Memuat…

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'.

Memuat editor…
Tunjukkan petunjuk

Skor verifikasi >= 60 dan status penilaian <- 'Lulus' atau status <- 'Gagal'

Solusi tersedia setelah 3 upaya

Latihan#r.m2.l2.e2
Upaya: 0Memuat…

Tulis perulangan for yang mengulangi urutan 1:5 dan mencetak setiap nilai menggunakan fungsi print().

Memuat editor…
Tunjukkan petunjuk

Penggunaan sintassi: for (i in 1:5) { print(i) }

Solusi tersedia setelah 3 upaya

Latihan#r.m2.l2.e3
Upaya: 0Memuat…

Mengingat vektor v, tulis perulangan for yang mengulangi setiap elemen dan mencetak dobelnya (val * 2) menggunakan print().

Memuat editor…
Tunjukkan petunjuk

Ulangi elemen v: for (val in v) { print(val * 2) }

Solusi tersedia setelah 3 upaya

Latihan#r.m2.l2.e4
Upaya: 0Memuat…

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.

Memuat editor…
Tunjukkan petunjuk

Gunakan fungsi: hasil <- ifelse(skor >= 60, 'Lulus', 'Gagal')

Solusi tersedia setelah 3 upaya

Latihan#r.m2.l2.e5
Upaya: 0Memuat…

Gunakan perulangan while untuk menggandakan nilai x hingga melebihi 50. Tambahkan juga variabel counter pada setiap iterasi.

Memuat editor…
Tunjukkan petunjuk

Gunakan perulangan while (x <= 50) dan perbarui x dan penghitung di dalam kurung kurawal.

Solusi tersedia setelah 3 upaya