1. Home
  2. Docs
  3. Kurikulum Flutter Mobile Apps
  4. Materi Week 1
  5. Hari-5-Function

Hari-5-Function

Function adalah sebuah blok kode yang disusun sedemikian rupa untuk menjalankan sebuah tindakan. Blok kode ini dibuat untuk dapat bisa digunakan kembali. Cara atau bentuk penulisan function adalah sebagai berikut:

function nama_function(parameter 1, parameter 2, ...) {
  [Isi dari function berupa tindakan]
  return [expression];
}

Kode di atas tidak dapat kita copy-paste kan langsung, melainkan hanya sebuah bentuk penulisan function. Sebuah function, umumnya melakukan tindakan dan sebelum function berakhir, function bisa mengembalikan nilai dengan cara menambahkan sintaks return.

Kita juga dapat mengirimkan nilai ke dalam sebuah function dengan mencantumkannya ke dalam tanda kurung dalam penulisan function. Untuk mengirimkan nilai lebih dari satu, gunakan tanda , sebagai pemisah.

Contoh Function 1: Function sederhana tanpa return

void main(){  
  tampilkan();
}
tampilkan(){
  print("Hello Peserta Bootcamp");
}

Contoh Function 2: Function sederhana dengan return

void main(){
  print(munculkanangka());
}

munculkanangka(){
  return 2;
}

Contoh Function 3: Function dengan parameter

void main(){
  print(kalikanDua(6));
}

kalikanDua(angka){
  return angka * 2;
}

Contoh Function 4: Pengiriman parameter lebih dari satu

void main(){
  print(kalikan(5,6));
}

kalikan(x, y){
  return x * y;
}

Contoh Function 5: Inisialisasi parameter dengan nilai default

void main(){
  tampilkanangka(5);
}

tampilkanangka(n1,{s1:45}){
print(n1); //hasil akan 5 karena initialisasi 5 didalam value tampilkan
print(s1); //hasil adalah 45 karena dari parameter diisi 45
}

Waspadai pengiriman parameter yang UNDEFINED!

Kita juga dapat menampung function sebagai variable dengan sebuah bentuk function yang dinamakan Anonymous Function.

void main(){
  print(functionPerkalian(5,6));    
}

functionPerkalian(angka1, angka2){
  return angka1 * angka2;
}

Keyword Final

Seperti pada bahasa pemrograman umumnya dart juga mendukung variabel yang bersifat immutable kita akan membahas tentang final keyword

Aturan pertama (variabel immutable tidak bisa dirubah nilainya)

Variabel yang bersifat immutable tidak bisa dirubah nilainya setelah diinisiasi, contoh program dibawah ini akan menghasilkan pesan error karena kita mencoba merubah nilai awal kedua kalinya

void main() {
final umur = 21;
umur = 22;
// error: 'umur', a final variable, can only be set once

const age = 21;
age = 22;
//error: Constant variabels can't be assigned a value
}

Aturan kedua (variabel immutable harus diinisiasi pada saat deklarasi)

Ketika kita mendeklarasikan variabel immutable kita harus langsung melakukan inisiasi memberi nilai) pada variabel tersebut, program akan error ketika kita tidak menginisasi nilainya, seperti contoh dibawah ini

void main() {
  final umur;
  //error: The final variable 'umur' must be initialized
 
  const age;
  //error: Constant variabels 'age' must be initialized
}

Yang benar seperti ini:

void main() {
  final umur = 21;
 
  const age = 22;
}

Kesimpulan singkat :
final 
dapat digunakan untuk deklarasi variabel immutable yang nilainya sudah ataupun belum diketahui pada saat waktu kompilasi berjalan

contoh dalam coding

double add (double a, double b)=>a +b;

Function makeAdder (double value){
  return(x)=>add(value, x);
}

void main (){
  final add5 = makeAdder(5.0);
  final add7 = makeAdder(7.0);
  
  print(add5(6));
  print(add7(5));
}