0Pricing
Swift Academy · Pelajaran

Algoritme generik pada koleksi

Gunakan algoritme generik seperti map , filter , dan reduce , serta tulis fungsi sendiri untuk Sequence dengan batasan sederhana.

Algoritme generik pada koleksi adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 3 pelajaran total.

Mengapa algoritme generik?

Swift menyediakan algoritme generik yang kuat pada Sequence atau Collection: map, filter, dan reduce. Anda juga dapat menulis pembantu generik sendiri.

map

map menerapkan transformasi pada setiap elemen dan mengembalikan array baru.

let nums = [1, 2, 3]
let doubled = nums.map { $0 * 2 }   // [2, 4, 6]
print(doubled)

let words = ["swift", "kit"]
let caps = words.map { $0.uppercased() } // ["SWIFT","KIT"]
print(caps)

filter

filter mempertahankan elemen yang memenuhi predikat.

let scores = [45, 72, 88, 53]
let passing = scores.filter { $0 >= 60 } // [72, 88]
print(passing)

let names = ["Ana","Li","Max"]
let short = names.filter { $0.count <= 2 } // ["Li"]
print(short)

reduce

reduce melipat suatu urutan menjadi satu hasil menggunakan nilai awal dan closure penggabung.

let sum = [1,2,3,4].reduce(0) { acc, x in acc + x } // 10
print(sum)

let joined = ["a","b","c"].reduce("") { acc, s in acc + s } // "abc"
print(joined)

Generik khusus (Sequence)

Buat algoritme generik sendiri dengan membatasi input ke Sequence dan menggunakan Element miliknya.

// Works for any Sequence whose Element meets the predicate
func allMatch<S: Sequence>(_ seq: S, _ predicate: (S.Element) -> Bool) -> Bool {
    for x in seq { if !predicate(x) { return false } }
    return true
}
print(allMatch([2,4,6]) { $0 % 2 == 0 }) // true
print(allMatch(["ab","c"]) { $0.count >= 2 }) // false

Kiat & pola

Kiat:

  • Utamakan closure yang jelas: beri nama parameter jika keterbacaan terganggu.
  • Rangkai map → filter → reduce untuk membuat alur pemrosesan.
  • Letakkan pekerjaan berat di luar perulangan yang sering dijalankan demi kinerja.

Makna reduce

Pemeriksaan cepat: Operasi mana yang menggabungkan suatu urutan menjadi satu nilai dengan nilai awal?

Ringkasan

Ringkasan: Gunakan map untuk mentransformasi, filter untuk memilih, dan reduce untuk menggabungkan. Anda juga dapat menulis pembantu generik sendiri di atas Sequence.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Algoritme generik pada koleksi” gratis?

Ya — teks lengkap “Algoritme generik pada koleksi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Algoritme generik pada koleksi”?

Gunakan algoritme generik seperti map , filter , dan reduce , serta tulis fungsi sendiri untuk Sequence dengan batasan sederhana. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.

Berapa lama pelajaran “Algoritme generik pada koleksi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Fungsi & tipe generik
  2. Batasan (where), inferensi tipe
  3. Algoritme generik pada koleksi
← Kembali ke Swift Academy