Belajar Pemrograman Dart: Fungsi



{tocify} $title={Daftar Isi}

Pendahuluan:

Saat sedang mengembangkan program / aplikasi pada suatu waktu mungkin anda perlu membuat kode program yang digunakan untuk mengerjakan dan menyelesaikan tugas tertentu namun seringkali kode program tersebut juga perlu digunakan kembali di file / page yang berbeda, maka untuk mengatasi hal tersebut anda lebih memilih menyalin atau menulis ulang kode program yang sama ke file / page yang berbeda, cara seperti ini sebenarnya sah saja anda lakukan namun sangat tidak efisien karena jika terjadi perubahan maka setiap file yang berisi kode program tersebut juga harus diubah dan diperbarui.

Dalam pemrograman ada teknik tersendiri untuk mengatasi masalah tersebut dengan membuat blok / kode program menjadi sebuah modul / sub-program dan dapat diakses dengan memanggil nama blok program tersebut, konsep ini dikenal sebagai Function (fungsi). Anda dapat menggunakan fungsi bawaan atau menggunakan fungsi yang telah anda definisikan sendiri dengan cara memanggil nama fungsi itu sendiri, namun bagaimana cara mendefinisikan dan memanggil fungsi di Dart? Berikut penjelasannya.

Fungsi:

Pada definisinya fungsi atau dikenal juga sebagai method adalah kumpulan statement / kode program yang dirancang untuk mengerjakan tugas spesifik dan kode program dapat digunakan kembali (reusable) saat dibutuhkan.

Fungsi dimaksudkan agar pemrogram tidak perlu membuat logic / kode yang sama untuk mengerjakan tugas tertentu, bayangkan saja jika logic / kode yang sama ditulis ulang pada banyak file / halaman lalu jika terjadi perubahan / pembaruan maka semua file yang berisi fungsi tersebut juga harus diperbarui, tentu cara tersebut tidaklah efisien, untuk itu di dalam pemrograman komputer dikenal istilah fungsi di mana fungsionalitas program dibuat menjadi sebuah modul independen, kode program selanjutnya dapat diakses dengan memanggil nama fungsi yang telah didefinisikan, dengan begitu pemrogram tidak perlu mendefinisikan kode program yang sama berulang kali.

Sebenarnya anda sendiri mungkin sudah berkenalan dengan fungsi sejak pertama kali mempelajari bahasa Dart yaitu fungsi utama 'main()' yang merupakan top-level function yang berperan sebagai titik masuk ke aplikasi / program, itulah sebabnya anda akan selalu menulis fungsi main untuk dapat menjalankan program Dart yang anda buat, selain itu ada juga fungsi bawaan yang disediakan oleh bahasa pemrograman itu sendiri yang disimpan menjadi library dan biasanya anda perlu menggunakan keyword 'import' untuk dapat mengakses kode program yang ada didalam library, sama halnya ketika anda ingin mengakses fungsi yang anda definisikan sendiri.

Jenis-jenis fungsi:

  • Main Function - Merupakan top-level function yang menjadi titik masuk ke aplikasi untuk dapat dijalankan, anda akan selalu membutuhkan fungsi main() dalam setiap program Dart anda untuk dapat menjalankannya.
  • Built in Function - Merupakan fungsi bawaan yang telah disediakan oleh bahasa pemrograman Dart, misalnya fungsi print().
  • User-Defind Function - Merupakan fungsi yang didefinisikan oleh pemrogram yang bertujuan untuk menyelesaikan tugas tertentu berdasarkan serangkaian aturan dan logic yang telah dirancang.

Macam bentuk fungsi:

Function juga memiliki beberapa bentuk, diantaranya:
  • Return (non-void) function - merupakan fungsi dengan keyword return yang digunakan untuk mengakhiri proses dari fungsi, hasil (output) dari return akan selalu ditampilkan dan harus sesuai dengan jenis tipe data yang digunakan.
  • Void function - merupakan fungsi tanpa keyword return dan tidak membutuhkan tipe data, agar hasilnya dapat ditampilkan maka anda perlu menggunakan statement print.
  • Arrow / Single Line Function - menyederhanakan bentuk fungsi dengan menggunakan (=>) yang hanya bisa digunakan untuk akses langsung ke suatu fungsi / method statik tanpa perlu penambahan local identifier.

Mendefinisikan Fungsi:

Saat anda hendak mendefinisikan sebuah fungsi nama fungsi harus diawali dengan huruf kecil, fungsi return harus memiliki keyword return, anda juga dapat menambahkan parameter pada fungsi, contohnya sebagai berikut:


  • return_tipe_data adalah tipe data yang digunakan oleh nilai kembalian (return) dari fungsi, jika hasil kembaliannya berupa String maka harus menggunakan tipe data String, jika angka maka harus menggunakan int / double dan seterusnya.
  • nama_fungsi adalah nama dari fungsi yang digunakan untuk mengakses blok/kode program yang ada di dalam fungsi tersebut.
  • (argumen/parameter) adalah variable independen dari suatu fungsi merupakan mekanisme yang akan meneruskan dan memproses suatu nilai ke fungsi.
  • return <ekspresi / value> adalah keyword yang digunakan untuk menghentikan proses dari fungsi, hasil dari return akan selalu ditampilkan. dibutuhkan oleh fungsi untuk dapat memberikan hasil / output dari fungsi, return wajib ada di dalam sebuah fungsi, value untuk return dapat berupa ekspresi dan variable ataupun nilai konstan, jika tidak ada keyword return di dalam fungsi maka hasilnya akan menjadi null atau anda juga bisa menulis null di dalam keyword return itu sendiri namun anda perlu memastikan fungsi yang anda buat menggunakan operator null safety.

Parameter:

Parameter merupakan mekanisme yang akan meneruskan dan memproses suatu nilai ke fungsi, banyaknya nilai yang diteruskan ke suatu fungsi bergantung pada banyaknya parameter yang ditentukan, nilai yang dapat diteruskan dapat berupa ekspresi dan variable ataupun nilai konstan, format dan contohnya sebagai berikut:


Selain itu, parameter fungsi juga terbagi menjadi dua jenis, diantaranya:
  • Positional Parameter: Secara default parameter pada fungsi adalah positional parameter, anda perlu melewati setiap argumen pada parameter berdasarkan urutan posisi parameter yang diberikan.
  • Optional parameter: Dengan optional parameter anda dapat melewati nilai untuk parameter tertentu, oleh karena sifatnya optional maka anda akan memerlukan operator null-aware untuk menandai bahwa variable pada parameter dapat bernilai null. Optional parameter terbagi atas dua jenis yakni positional dan named parameter.
    • Optional Positional Parameter: optional positional parameter didefinisikan dengan tanda kurung siku [], argumen yang dapat dilewati dilakukan dari parameter paling belakang.
    • Optional Named Parameter: optional named parameter didefinisikan dengan tanda kurung kurawal {}, argumen yang dapat dilewati ditentukan berdasarkan nama parameter yang ingin dilewati saat melakukan pemanggilan, selain itu optional named parameter juga dapat diberikan nilai default.
format dan contohnya sebagai berikut: 


Jika variable pada optional function telah diberikan default parameter values sebagaimana pada fungsi luasPersegi maka anda tidak perlu menggunakan null-aware operator karena variable tersebut sudah pasti tidak dapat bernilai null, namun jika variable pada optional parameter tidak diberikan nilai default maka anda harus memberikan null-aware operator sebagaimana pada fungsi biodata.

Single Line Function:

Anda juga bisa menyingkat penulisan fungsi dengan menulisnya menjadi satu baris dengan menggunakan lambda expression atau dikenal juga sebagai fat arrow function/notation namun pada intinya fungsi akan disingkat menggunakan tanda panah (=>) atau gabungan dari simbol (=) dan (>), format dan contohnya sebagai berikut:


Penggunaan notasi panah pada sebuah fungsi hanya dapat digunakan pada fungsi yang hanya memiliki dan/atau memproses suatu nilai saja, jika di dalam fungsi anda terdapat percabangan, perulangan, event handler dll anda tidak dapat menggunakan notasi panah.
Bayu Radityo

Seorang lulusan teknik informatika yang senang dalam berbagi ilmu pengetahuan, dan membuat karya digital berupa photomanipulation dan digital drawing. instagram external-link

Posting Komentar

Lebih baru Lebih lama