Dart Typedef

Dalam bahasal pemrograman Dart, typedef,  atau alias tipe fungsi, berguna untuk mendefinisikan pointer memory kepada suatu blok baris kode yang dapat dieksekusi. Secara sederhana, sebuah typedef dapat digunakan sebagai pointer variabel yang merujuk ke sebuah fungsi.

Berikut adalah langkah-langkah untuk mengimplementasikan typedef dalam program Dart.

Langkah 1: Mendefinisikan format typedef

Sebuah typedef dapat digunakan untuk menentukan format fungsi yang ingin kita cocokkan dengan fungsi tertentu. Format fungsi didefinisikan oleh parameter fungsi (termasuk tipe parameter). Tipe data kembalian bukan bagian dari format fungsi. Cara penulisannya adalah sebagai berikut.

typedef namaFungsi(parameters)

Langkah 2: Memberikan fungsi ke variabel typedef

Sebuah variabel yang menggunakan typedef dapat menunjuk ke fungsi apapun yang memiliki format yang sama dengan typedef tersebut. Anda dapat menggunakan format berikut ini untuk memberikan fungsi ke variabel typedef.

type_def namaVariable = namaFungsi

Langkah 3: Memanggil fungsi

Variabel typedef dapat digunakan untuk memanggil fungsi. Berikut adalah cara untuk memanggil fungsi tersebut melalui variabel typedef.

namaVariable(parameters)

Contoh

Mari kita lihat contoh untuk memahami lebih lanjut tentang typedef di Dart.

Pertama-tama, mari definisikan sebuah typedef. Di sini diperlihatkan cara mendefinisikan function signature atau format fungsi. Fungsi ini akan mempunyai dua parameter input yang bertipe integer. Tipe kembalian tidak termasuk dalam function signature.

typedef ManyOperation(int pertama, int kedua); 

Selanjutnya, mari kita definisikan fungsi-fungsi yang sesuai dengan format typedef. Definisikan beberapa fungsi dengan function signature yang sama seperti typedef ManyOperation.

Add(int pertama,int kedua){ 
   print("Hasil penambahannya adalah ${pertama+kedua}"); 
}  
Subtract(int pertama,int kedua){ 
   print("Hasil pengurangannya adalah ${pertama-kedua}"); 
}  
Divide(int pertama,int kedua){ 
   print("Hasil pembagiannya adalah ${pertama/kedua}"); 
}

Akhirnya, kita akan memanggil fungsi melalui typedef. Deklarasikan sebuah variabel dengan tipe ManyOperation. Berikan nama fungsi pada variabel yang telah dideklarasikan.

ManyOperation oper;  
 
oper = Add; 
oper(10,20); 
oper = Subtract; 
oper(30,20); 
oper = Divide; 
oper(50,5); 

Variabel oper dapat menunjuk ke fungsi apa pun yang menerima dua parameter integer. Referensi fungsi dapat Add diberikan ke variabel tersebut. Typedef dapat mengganti referensi fungsi saat runtime.

Sekarang mari kita gabungkan semua bagian dan lihat program lengkapnya.

// format fungsi
typedef ManyOperation(int pertama, int kedua);   

Add(int pertama,int kedua){ 
   print("Hasil penambahannya adalah ${pertama+kedua}"); 
}  
Subtract(int pertama,int kedua){ 
   print("Hasil pengurangannya adalah ${pertama-kedua}"); 
}  
Divide(int pertama,int kedua){ 
   print("Hasil pembagiannya adalah ${pertama/kedua}"); 
} 
Calculator(int a, int b, ManyOperation oper){ 
   print("Di dalam calculator"); 
   oper(a,b); 
}  
void main(){ 
   ManyOperation oper = Add; 
   oper(10,20); 
   oper = Subtract; 
   oper(30,20); 
   oper = Divide; 
   oper(50,5); 
} 

Kode di atas akan menghasilkan output berikut :

Hasil penambahannya adalah 30
Hasil pengurangannya adalah 10
Hasil pembagiannya adalah 10.0

Catatan – Kode di atas akan menghasilkan kesalahan jika variabel typedef mencoba menunjuk ke sebuah fungsi dengan format fungsi yang berbeda.

Contoh

Typedef juga dapat digunakan sebagai parameter pada suatu fungsi. Perhatikan contoh berikut ini :

// format fungsi
typedef ManyOperation(int pertama, int kedua);  

Add(int pertama,int kedua){ 
   print("Hasil penambahannya adalah ${pertama+kedua}"); 
}  
Subtract(int pertama,int kedua){ 
   print("Hasil pengurangannya adalah ${pertama-kedua}"); 
}  
Divide(int pertama,int kedua){ 
   print("Hasil pembagiannya adalah ${pertama/kedua}"); 
} 
Calculator(int a,int b, ManyOperation oper){ 
   print("Di dalam calculator"); 
   oper(a,b); 
}  
main(){ 
   Calculator(5,5,Add); 
   Calculator(5,5,Subtract); 
   Calculator(5,5,Divide); 
} 

Kode di atas akan menghasilkan output berikut :

Di dalam calculator
Hasil penambahannya adalah 10
Di dalam calculator
Hasil pengurangannya adalah 0
Di dalam calculator
Hasil pembagiannya adalah 1.0

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0