Media Belajar Bahasa Pemrograman | by APPKEY

SwiftTutorial Swift 40 : Apa Itu Nested Functions? Berikut...

Tutorial Swift 40 : Apa Itu Nested Functions? Berikut Ulasannya!

-

Last Updated on April 29, 2023 by

Bahasa pemrograman Swift telah menjadi salah satu pilihan utama bagi para pengembang aplikasi, khususnya di ekosistem Apple. Dengan fitur-fiturnya yang kuat dan sintaks yang mudah dibaca, Swift memungkinkan pengembang untuk menulis kode yang efisien, andal, dan modular. Salah satu konsep penting dalam Swift yang perlu dipahami adalah nested functions, di mana sebuah fungsi didefinisikan di dalam fungsi lain. 

Dalam seri belajar Swift kali ini, kita telah membahas berbagai aspek dari nested functions, termasuk fungsi tanpa tipe pengembalian, fungsi dengan parameter, fungsi dengan tipe pengembalian serta contoh penggunaanya. Yuk simak ulasannya dibawah ini!

Nested Functions Swift

nested functions, belajar swift

Dalam Swift, ketika suatu fungsi berada di dalam fungsi lain, jenis fungsi tersebut dikenal sebagai Nested Functions. Fungsi bertingkat tersembunyi di dalam fungsi luar dan tidak dapat diakses oleh fungsi di luar jika kita mencoba mengaksesnya, kita akan mendapatkan pesan kesalahan. Mereka hanya dapat dipanggil dan digunakan oleh fungsi yang menyertakan mereka. Berikut contoh sintaks koding untuk fungsi bertingkat:

func myFunction1
{
      // isi dari myFunction1

      func myFunction2
      {
              // isi dari myFunction2
      }
}

Pada contoh sintaks koding diatas, fungsi myFunction1 adalah sebagai fungsi luar atau outer functions dan fungsi myFunction2 adalah sebagai fungsi dalam atau inner functions.

Nested Functions Tanpa Tipe Pengembalian

Seperti fungsi normal lainnya, nested functions mungkin tidak mengandung tipe pengembalian. Berikut penjelasan mengenai cara kerja fungsi bertingkat tanpa tipe pengembalian. Berikut contoh sintaks koding fungsi bertingkat tanpa tipe pengembalian.

// Program Swift untuk mendemonstrasikan cara kerja
// fungsi bertingkat tanpa tipe pengembalian

// Fungsi luar yang memiliki fungsi lain
// untuk mencetak string
func myFunction1()
{

      // Fungsi dalam dengan pernyataan print
      func myFunction2()
      {
            print("Codekey Appkey")
      }

      // Memanggil fungsi dalam di dalam
      // fungsi luar
      myFunction2()
}

// Kode pengemudi

// Memanggil fungsi luar di luar
// fungsi lain
myFunction1()

Output dari sintaks diatas: 

Codekey Appkey

Pada contoh program diatas, kita memanggil fungsi luar, “myFunction1()” dari luar fungsi luar. Setelah fungsi ini dipanggil, aliran kontrol program masuk ke dalam “myFunction1()” dan mencapai sintaks dimana kita memanggil fungsi, “myFunction2()”. Sekarang, fungsi ini akan dipanggil untuk mencetak string menggunakan fungsi print(). Setelah menjalankan sintaks dibawah ini, aliran kontrol program keluar dari fungsi dalam lalu keluar dari fungsi luar, dan seterusnya.

Artikel Terkait  Tutorial Swift 44: Belajar Membuat Struct dengan Swift Structs

Nested Functions dengan Parameter

Seperti fungsi pada umumnya, nested functions mungkin mengandung parameter. Berikut penjelasan mengenai cara kerja fungsi bertingkat yang memiliki parameter. Berikut contoh sintaks koding fungsi bertingkat dengan parameter.

// Program Swift untuk mendemonstrasikan cara kerja
// fungsi bertingkat dengan parameter

// Fungsi luar untuk menambahkan dua bilangan bulat
func add(num1: Int, num2: Int)
{

      // Fungsi dalam untuk mencetak jumlah yang diinginkan
      func printSum(sum: Int)
      {
            // Pernyataan print
            print("Jumlah dari 2 dan 3 adalah :", sum)
      }

      // Memanggil fungsi dalam di dalam
      // fungsi luar
      let totalSum = num1 + num2

      // Memanggil fungsi dalam
      printSum(sum : totalSum)
}

// Kode pengemudi

// Memanggil fungsi luar di luar fungsi
// yang lain
add(num1: 2, num2: 3) 

Output dari sintaks diatas: 

Jumlah dari 2 dan 3 adalah : 5

Pada program diatasi, kita memanggil fungsi luar “add()” dari luar fungsi luar dengan meneruskan dua parameter num1: 2 dan num2: 3 sebagai parameter. Setelah fungsi ini dipanggil, aliran kontrol program masuk ke dalam fungsi “add()” dan mencapai sintaks di mana kita menghitung jumlah dari dua bilangan bulat. Kemudian sintaks “totalSum” diteruskan ke fungsi dalam yaitu “printSum()” dimana nilai yang diwakili oleh variabel totalSum dicetak menggunakan fungsi print.

Nested Functions dengan Tipe Pengembalian

Selain tidak mengandung tipe pengembalian seperti yang dijelaskan sebelumnya, nested functions juga mungkin mengandung tipe pengembalian seperti fungsi lainnya. Berikut penjelasan mengenai cara kerja fungsi bertingkat yang memiliki tipe pengembalian. Berikut contoh sintaks koding fungsi bertingkat dengan memiliki tipe pengembalian.

// Program Swift untuk mendemonstrasikan cara kerja
// fungsi bertingkat Swift yang memiliki tipe pengembalian

// Fungsi luar untuk menambahkan dua bilangan bulat
// Di dalam fungsi ini kita memanggil
// fungsi dalam. Fungsi ini mengalikan
// jumlah dengan dua dan mengembalikan nilainya
func add(num1: Int, num2: Int) -> Int{

      // Fungsi dalam
        func multiplySum(sum : Int) -> Int{

                // Mengembalikan hasil dari fungsi dalam
                return 2 * sum
        }

        // Menghitung jumlah total
        let totalSum = num1 + num2

        // Menghitung jawaban akhir dengan memanggil
        // fungsi dalam
        let answer = multiplySum(sum: totalSum)

        // Mengembalikan jawaban akhir dari fungsi luar
        return answer
}
// Kode pengemudi
// Menyimpan jawaban yang dikembalikan oleh fungsi add
let result = add(num1 : 8, num2: 3)
// Mencetak jawaban
print("Hasil:", result)

Output dari sintaks diatas:

Hasil: 22

Pada contoh program diatas, kita memanggil fungsi luar “add()” dari luar fungsi luar dengan meneruskan dua parameter num1: 8 dan num2: 3 sebagai parameter. Perhatikan bahwa tipe pengembalian fungsi ini adalah Int. Setelah fungsi ini dipanggil, aliran kontrol program masuk ke dalam fungsi “add()” dan mencapai sintaks di mana kita menghitung jumlah dari dua bilangan bulat. Kemudian sintaks “totalSum” diteruskan ke fungsi dalam yaitu “multiplySum()” yang tipe pengembaliannya juga Int. Dalam fungsi ini, jumlah dikalikan dengan dua dan kemudian nilai tersebut dikembalikan ke pernyataan pemanggilan fungsi. Jawaban akhir disimpan dalam variabel answer di dalam fungsi luar.

Artikel Terkait  Tutorial Swift 32 : Contoh Swift ARC Overview dan Fungsinya

Contoh Penggunaan Nested Functions dalam Kasus Nyata

nested functions, belajar swift

Sekarang kita sudah memahami konsep dasar fungsi bertingkat dalam Swift, mari kita bahas beberapa skenario di mana nested functions bisa sangat berguna dalam pengembangan aplikasi sehari-hari. Berikut contoh penggunaan fungsi bertingkat dalam berbagai kasus.

1. Organisasi Kode

Fungsi bertingkat dapat membantu Anda mengatur kode dengan lebih baik, terutama ketika Anda memiliki beberapa fungsi kecil yang hanya digunakan dalam konteks fungsi luar. Dengan menyimpan fungsi-fungsi ini di dalam fungsi luar, Anda membatasi cakupan dan eksposur mereka, sehingga mengurangi risiko konflik atau kesalahan.

2. Pengurutan (Sorting) 

Salah satu penggunaan umum dari fungsi bertingkat adalah ketika Anda perlu mengurutkan array atau kumpulan data dengan algoritma pengurutan khusus. Dalam hal ini, Anda dapat membuat fungsi pengurutan khusus di dalam fungsi luar yang bertanggung jawab atas operasi pengurutan. Berikut contoh sintaks koding penggunaan fungsi bertingkat dalam operasi pengurutan:

func sortUsingCustomComparator(_ arr: [Int]) -> [Int] {
    var sortedArray = arr

    func customComparator(_ a: Int, _ b: Int) -> Bool {
        // Logika perbandingan khusus
        return a % 2 < b % 2
    }

    sortedArray.sort(by: customComparator)
    return sortedArray
}

3. Fungsi Rekursif

Dalam beberapa kasus, Anda mungkin ingin menggunakan fungsi rekursif untuk menyelesaikan masalah. Fungsi bertingkat dapat digunakan untuk menyembunyikan fungsi rekursif dari lingkup global dan membatasi penggunaannya hanya pada fungsi luar. Berikut contoh sintaks koding penggunaan fungsi bertingkat dalam fungsi rekursif:

func factorial(_ n: Int) -> Int {
    func factorialHelper(_ num: Int, _ result: Int) -> Int {
        if num == 1 {
            return result
        } else {
            return factorialHelper(num - 1, num * result)
        }
    }

    return factorialHelper(n, 1)
}

4, Pembungkus Fungsi (Function Wrapper)

Fungsi bertingkat juga dapat digunakan sebagai pembungkus (wrapper) untuk melacak waktu eksekusi, mencatat pesan, atau mengelola sumber daya selama fungsi berjalan.Berikut contoh sintaks koding penggunaan fungsi bertingkat dalam fungsi pembungkus :

func measureExecutionTime(_ function: () -> Void) {
    func startTimer() -> DispatchTime {
        return DispatchTime.now()
    }

    func endTimer(_ startTime: DispatchTime) {
        let endTime = DispatchTime.now()
        let nanoTime = endTime.uptimeNanoseconds - startTime.uptimeNanoseconds
        let timeInterval = Double(nanoTime) / 1_000_000_000
        print("Waktu eksekusi: \(timeInterval) detik")
    }

    let startTime = startTimer()
    function()
    endTimer(startTime)
}

Kesimpulan

Memahami konsep nested functions dalam Swift sangat penting untuk mengoptimalkan struktur dan kualitas kode Anda. Fungsi bertingkat dapat meningkatkan modularitas dan fleksibilitas kode Anda dengan menyembunyikan detail implementasi dan menjaga lingkup variabel yang lebih bersih. Dalam seri belajar Swift kali ini, kita telah mengeksplorasi berbagai aspek fungsi bertingkat, yang akan membantu Anda dalam meningkatkan keterampilan Anda dalam penggunaan Swift untuk membangun aplikasi yang lebih baik. Selamat mencoba dan semoga ulasan kali ini bermanfaat!

Artikel Terkait  Tutorial Swift 23 : Apa itu Swift Inout Parameter?

Temukan lebih banyak artikel seri belajar Swift maupun bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis dan tak ketinggalan tutorial pemrograman menarik lainnya. Sampai bertemu lagi!


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial PHP 22 : Cara Membuat Redirect PHP dengan Cepat dan Mudah

Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang...

Tutorial PHP 23 : Cara Membuat Messages Alert PHP

Alert box atau alert messages digunakan di situs web untuk menampilkan pesan peringatan kepada pengguna bahwa mereka telah memasukkan...

Tutorial PHP 2 : Cara Install PHP, Langkah Awal Belajar PHP

PHP adalah bahasa pemrograman gratis dan open source. Secara teknis tidak perlu menginstal PHP: sebagian besar host web dan...

Tutorial Python 9 : Cara Membuat Looping Python

Pada artikel sebelumnya, Codekey telah menjelaskan tentang Operasi Kondisional Python yang di dalamnya menyinggung tentang percabangan dan perulangan. Belajar...

Tutorial HTML/CSS 23 : Cara Membuat Form Sederhana dengan HTML

Form memiliki peran yang sangat krusial bagi website atau aplikasi untuk menjaga sistem keamanannya. Form HTML digunakan untuk mengumpulkan...

Tutorial SQL 8 : Constraint SQL, Bagaimana Fungsi dan Penggunaannya?

Pada artikel sebelumnya Anda telah mempelajari tentang wildcard SQL, pada artikel kali ini kami akan menjelaskan tentang constraint SQL. Jika...

Tutorial Javascript 8 : Array Javascript, Panduan Lengkap Cara Membuatnya

Seperti bahasa pemrograman yang berorientasi objek lainnya, dalam JavaScript juga terdapat array. Jika Anda memiliki banyak objek yang ingin...

Tutorial SQL 20 : Mari Pelajari Cara Menggunakan Fungsi GROUP by SQL

Pada pembahasan seri Tutorial SQL ke- 20 ini, Codekey akan membahas tentang GROUP BY yang merupakan statement di dalam...

Tutorial Python 7 : Python String Format dan Cara Mudahnya

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Tutorial Python 8 : Langkah Mudah Membuat Operasi Kondisional pada Python

Pada pembahasan sebelumnya, Codekey telah menjelaskan kepada Anda tentang pengoperasian string pada Python mulai dari menggabungkan hingga memanipulasi string...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya