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));
}