
Jika subrutin adalah kotak hitam, maka parameter merupakan alat atau untuk memberikan informasi dari dunia luar ke dalam kotak. Parameter merupakan bagian dari antar muka dengan suatu subrutin. Dengan menggunakan parameter, kita dapat mengatur perilaku suatu subrutin sesuai dengan masukan yang diberikan.
Function dapat memiliki sejumlah parameter. Ini dapat diikuti baik dengan Named Paramater atau dengan optional position paramater.
Named Parameter
Membuat sebuah function dengan Named Paramater paramNam:value. Contoh kita akan membuat sebuah function dengan Named Parameter, paramater pertama Bertie String dan parameter kedua int
nama_fucntion (param_1,param_2)
//CODE
void main(){
printPerson("Jhon", 34);
}
void printPerson(String name, int age){
print("Name is : $name age : "+age.toString());
}
//OUTPUT
Name is : Jhon age : 34
Optional positional paramaters
Membungkus satu set parameter fungsi dalam [] menandainya sebagai parameter posisi opsional:
String say(String from,String msg,[String? device]){
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
mari kita lita dalam function yang kita buat terdapat 3 parameter diamant paramater ke 3 bersifat opsional yaitu setelah tipe data ada tanda tanya ( ? ) ini untuk menhindari error compiler jika paratamer ke3 vernirai null.
//CODE
void main(){
print("Name is : $name age : "+age.toString());
}
String say(String from,String msg,[String? device]){
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
Jhon says Hello Dart
Jika kita tidak mengunakan tanda (?) pada paramater ke 3 dan nilainya null maka ketika program kita jalankan maka akan terjadi kesalahan.
//CODE
void main(){
print("Name is : $name age : "+age.toString());
}
String say(String from,String msg,[String device]){
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
Error: Optional parameter 'device' should have a default value because its type 'String' doesn't allow null.
String say(String from,String msg,[String device]){
Default Paramater Value
Untuk memebuat sebuah parameter dengan nilai default kita bisa menggunakan = setelah nama paramater param_1 = param_value
//CODE
void main(){
message(name :"Cris");
}
void message({String name ="Jhon" ,String msg = 'Hello Dart'}){
print("Name is : $name message :$msg");
}
//OUTPUT
Name is : Cris message :Hello Dart
Sample source code can be downloaded on github at the following link    dart-tutorial