Menu
CoddyTech

Mengiterasi Elemen Vektor

Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 63 dari 78.

Meskipun operasi vektorisasi R sangat andal, terkadang kamu perlu memproses setiap elemen satu per satu dengan logika khusus. for loop memungkinkan kamu mengiterasi elemen vector satu per satu.

Cara paling sederhana untuk melakukan perulangan pada vector adalah dengan langsung mengiterasi elemennya:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

Output:

[1] "apple"
[1] "banana"
[1] "cherry"

Dalam setiap iterasi, variabel loop fruit mengambil nilai elemen berikutnya dalam vector. Pendekatan ini bersih dan mudah dibaca saat kamu hanya membutuhkan nilainya saja.

Kamu bisa menggabungkan perulangan dengan logika percabangan untuk memproses elemen secara selektif:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

Output:

[1] 8
[1] 10

Pola ini berguna saat kamu perlu menerapkan operasi yang berbeda berdasarkan nilai setiap elemen, sesuatu yang tidak selalu dapat ditangani oleh operasi vektorisasi saja.

challenge icon

Tantangan

Mudah

Kamu akan menerima dua baris input:

  1. Sebuah list angka yang dipisahkan koma (misalnya, 12,5,18,3,25,8,14)
  2. Nilai ambang batas (misalnya, 10)

Gunakan for loop untuk mengiterasi elemen vector:

  1. Buat vector dari angka-angka yang dipisahkan koma
  2. Telusuri setiap elemen dalam vector
  3. Untuk setiap elemen yang lebih besar dari atau sama dengan nilai ambang batas, cetak elemen tersebut menggunakan print()

Contohnya, jika inputnya adalah:

4,15,8,22,6,19,11
10

Outputnya harus seperti ini:

[1] 15
[1] 22
[1] 19
[1] 11

Penjelasan: Perulangan memeriksa setiap elemen terhadap nilai ambang batas (10). Elemen 15, 22, 19, dan 11 semuanya lebih besar dari atau sama dengan 10, jadi elemen-elemen tersebut dicetak. Elemen 4, 8, dan 6 dilewati.

Coba sendiri

# Baca input
con <- file("stdin", "r")
numbers_input <- suppressWarnings(readLines(con, n = 1))
threshold <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# Ubah string yang dipisahkan koma menjadi vektor numerik
numbers <- as.numeric(unlist(strsplit(numbers_input, ",")))

# TODO: Tulis kodemu di bawah ini
# Gunakan for loop untuk menelusuri vektor numbers
# Untuk setiap elemen >= threshold, cetak elemen tersebut menggunakan print()
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler R online