0Pricing
Swift Academy · Pelajaran

Fungsi Murni dan Rancangan Tanpa Efek Samping

Menulis fungsi yang selalu mengembalikan output yang sama untuk input yang sama.

Fungsi Murni dan Rancangan Tanpa Efek Samping adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 1 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

Fungsi murni selalu menghasilkan keluaran yang sama untuk masukan yang sama dan tidak menimbulkan efek samping. Fungsi tersebut merupakan dasar pemrograman fungsional dalam Swift.

Definisi Fungsi Murni

Sebuah fungsi bersifat murni jika: • Masukan yang sama selalu menghasilkan keluaran yang sama • Tidak ada efek samping yang dapat diamati (tanpa mutasi, masukan/keluaran, atau keadaan global) ```swift func add(_ a: Int, _ b: Int) -> Int { a + b } // pure ```

Contoh Fungsi Tidak Murni

```swift var total = 0 func addToTotal(_ n: Int) { total += n } // impure — mutates global ``` Memanggilnya dua kali dengan `5` menghasilkan hasil berbeda jika dipanggil dalam konteks yang berbeda.

Transparansi Referensial

Pemanggilan fungsi murni dapat digantikan dengan hasilnya tanpa mengubah perilaku program: ```swift let result = add(2, 3) // same as writing 5 ```

Manfaat Fungsi Murni

• Mudah diuji — tanpa penyiapan/pembongkaran • Aman diparalelkan — tanpa keadaan bersama • Dapat dikomposisikan — dapat dirangkai tanpa mengkhawatirkan efek samping • Dapat disimpan di tembolok — memoizasi aman

Jenis Nilai Swift Mendukung Kemurnian

Karena metode struktur menerima salinan, metode tersebut secara alami cenderung murni: ```swift struct Vector { var x, y: Double } func scaled(_ v: Vector, by f: Double) -> Vector { Vector(x:v.x*f, y:v.y*f) } ```

Mengisolasi Efek Samping

Dorong efek samping ke batas sistem Anda: ```swift // Pure core logic: func processOrders(_ orders: [Order]) -> Invoice { ... } // Impure at the edge: func run() { let inv = processOrders(load()); save(inv) } ```

Fungsi Murni dan Pengujian

```swift func test() { let result = add(2, 3) assert(result == 5) // no mocks needed! } ``` Fungsi murni tidak memerlukan objek tiruan — cukup panggil dan tegaskan hasilnya.

Contoh di Dunia Nyata

```swift func discountedPrice(base: Double, discount: Double) -> Double { base * (1 - discount) } let final = discountedPrice(base: 100, discount: 0.2) // 80.0 ```

Mengomposisikan Fungsi Murni

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

Pemeriksaan Singkat

Sifat apa yang membuat fungsi mudah diuji tanpa objek tiruan?

Ringkasan

Pokok penting: • Murni: masukan sama → keluaran sama, tanpa efek samping • Transparansi referensial memungkinkan penggantian • Dorong efek samping ke batas sistem • Fungsi murni mudah diuji dan diparalelkan Berikutnya: fungsi tingkat tinggi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fungsi Murni dan Rancangan Tanpa Efek Samping” gratis?

Ya — teks lengkap “Fungsi Murni dan Rancangan Tanpa Efek Samping” 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 “Fungsi Murni dan Rancangan Tanpa Efek Samping”?

Menulis fungsi yang selalu mengembalikan output yang sama untuk input yang sama. 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 1 dari 4.

Berapa lama pelajaran “Fungsi Murni dan Rancangan Tanpa Efek Samping” 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