0Pricing
Swift Academy · Pelajaran

Komposisi Fungsi dan Alur Pemrosesan

Membangun alur data dengan mengomposisikan fungsi-fungsi kecil menjadi transformasi yang lebih besar.

Komposisi Fungsi dan Alur Pemrosesan adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. 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 4 pelajaran total.

Selamat Datang

Komposisi fungsi menggabungkan fungsi-fungsi kecil yang terfokus menjadi transformasi yang lebih besar. Inilah inti pemrograman fungsional — bangun perilaku kompleks dari bagian-bagian sederhana.

Komposisi Manual

```swift func double(_ n: Int) -> Int { n * 2 } func addOne(_ n: Int) -> Int { n + 1 } let result = addOne(double(5)) // 11 ```

Mengomposisikan dengan Pembantu

```swift func compose(_ f: @escaping (B)->C, _ g: @escaping (A)->B) -> (A)->C { { f(g($0)) } } let doubleAndAdd = compose(addOne, double) print(doubleAndAdd(5)) // 11 ```

Operator >>> Kustom

```swift infixop precedencegroup CompositionPrecedence { ... } func >>> (f: @escaping (A)->B, g: @escaping (B)->C) -> (A)->C { { g(f($0)) } } let pipeline = double >>> addOne >>> String.init print(pipeline(5)) // "11" ```

Alur Pemrosesan dengan Rangkaian map/filter

```swift let process: ([Int]) -> [String] = { nums in nums.filter { $0 > 3 }.map { String($0 * 2) } } print(process([1,2,3,4,5])) // ["8","10"] ```

Gaya Tanpa Argumen

Gaya tanpa argumen menghindari penamaan argumen perantara: ```swift let words = ["hello","WORLD","Swift"] let lower = words.map { $0.lowercased() } // named let lower2 = words.map(\.description) // point-free where applicable ```

KeyPaths sebagai Fungsi

Jalur kunci Swift dapat digunakan sebagai fungsi: ```swift struct User { var name: String } let users = [User(name:"Alice"),User(name:"Bob")] let names = users.map(\.name) // ["Alice","Bob"] ```

Membangun Alur Data

```swift let pipeline: (String) -> Int? = { s in let trimmed = s.trimmingCharacters(in:.whitespaces) guard !trimmed.isEmpty else { return nil } return Int(trimmed) } [" 42 "," ","7"].compactMap(pipeline) // [42,7] ```

Penerapan Parsial

```swift func add(_ a: Int) -> (Int) -> Int { { a + $0 } } let add5 = add(5) print([1,2,3].map(add5)) // [6,7,8] ```

Mengapa Komposisi Penting

Manfaat: • Setiap fungsi berukuran kecil dan dapat diuji • Alur dapat dibaca dari atas ke bawah • Penggunaan ulang: `double` dapat bekerja sendiri atau dalam alur apa pun • Evaluasi tertunda: gabungkan dengan `.lazy` untuk menghindari alokasi perantara

Pemeriksaan Singkat

Fitur Swift apa yang memungkinkan jalur kunci digunakan langsung sebagai fungsi transformasi dalam pemetaan?

Rangkuman

Hal-hal penting: • Gabungkan fungsi-fungsi kecil menjadi transformasi yang lebih besar • `>>>` atau komposisi manual untuk alur yang dapat digunakan ulang • Jalur kunci sebagai fungsi untuk ekstraksi properti yang bersih • Penerapan parsial membuat fungsi khusus • Gabungkan dengan `.lazy` untuk alur tanpa penyalinan Berikutnya: urutan evaluasi tertunda.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Komposisi Fungsi dan Alur Pemrosesan” gratis?

Ya — teks lengkap “Komposisi Fungsi dan Alur Pemrosesan” 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 4 pelajaran total.

Apa yang akan aku pelajari di “Komposisi Fungsi dan Alur Pemrosesan”?

Membangun alur data dengan mengomposisikan fungsi-fungsi kecil menjadi transformasi yang lebih besar. 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 4.

Berapa lama pelajaran “Komposisi Fungsi dan Alur Pemrosesan” 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 Murni dan Rancangan Tanpa Efek Samping
  2. Fungsi Orde Tinggi: map, flatMap, compactMap
  3. Komposisi Fungsi dan Alur Pemrosesan
  4. Sequence Lazy untuk Efisiensi
← Kembali ke Swift Academy