Dart
Dart
Ia bisa digunakan untuk membuat aplikasi android, front-end web, IoT, backend
(CLI), dan Game.
Platform Dart
1. Flutter
Apabila kita ingin membuat aplikasi Android dan iOS dengan bahasa pemrograman
Dart, maka kita harus menggunakan framework Flutter.
2. Web
Penggunaan Dart pada web biasanya dalam bentuk front-end. Kode program Dart
dapat dikompilasi (transpile) menjadi kode Javascript, sehingga web browser
dapat mengeksekusinya.
AngularDart
Material Design Lite (MDL)/Dart
OverReact
3. Server
Dart dapat juga digunakan pada server untuk membuat program berbasis teks
(CLI), program IoT, backend, dll.
Jaguar
Angel
Aqueduct
Express
Ada dua peralatan yang harus disiapkan untuk mengikuti tutorial ini:
Dart memiliki sintak yang mirip seperti C++, C#, Java, dan Javascript. Karena Dart
menggunakan standar ECMA-408.
Jadi, buat kamu yang sudah pernah belajar bahasa C++, C#, Java, dan javascript
sebelumnya, saya yakin akan cepat memahami tutorial ini.
Sekarang coba perhatikan Contoh program Hello World ini:
main() {
print('Hello World!');
}
Sederhana sekali bukan.
Pertama, kita harus install dulu Dart. Baru nanti bisa dieksekusi.
2. Instalasi Dart
Dart dapat kita install dengan berbagai cara, tergantung dari sistem operasi yang
digunakan.
Pada tutorial ini, saya akan menginstal Dart pada Kubuntu 18.04 melalui apt.
Buka terminal, lalu paste perintah ini untuk menambahkan repository Dart.
void main(){
print('Hello World!');
}
Silahkan disimpan.
Tenang saja,… di VS Code sudah ada terminalnya yang bisa dibuka melalui
menu View -> Integreted Terminal.
Pada terminal yang terbuka, ketik perintah berikut ini untuk mengeksekusi
program Dart:
dart hello_world.dart
Hasilnya:
🎉 Selamat!
Selanjutnya kita akan belajar tentang variabel dan tipe data pada Dart.
Lalu untuk membuat variabel pada Dart, kita bisa menggunakan kata kunci var dan
menuliskan langsung tipe datanya.
Contoh:
Sedangkan apabila kita membuat variabel dengan ‘tipe data’, maka variabel
tersebut hanya boleh diisi dengan nilai yang sesuai dengan tipe data yang
diberikan.
Contoh:
// kita tidak bisa mengisi ulang dengan tipe data yang berbeda
harga = "sembilan puluh ribu"; // <-- ini akan error
Sebagai latihan, silahkan ikuti contoh program berikut…
void main(){
// membuat variabel dengan tipe data
String nama = "Dian";
int umur = 23;
double tinggi = 180.43;
bool isMenikah = false;
// mencetak variabel
print("Nama saya $nama. Umur $umur tahun. Tinggi sekitar $tinggi cm.");
print("Menikah: $isMenikah");
print("Alamat: $alamat");
}
Hasilnya:
5. Fungsi Input dan Output
Kita sudah mengenal fungsi print() yang digunakan untuk menampilkan output ke
dalam console.
Caranya:
import 'dart:io';
Maka semua fungsi yang ada di dalam library dart:io akan dapat digunakan di
dalam program.
Nah, sekarang mari kita coba menggunakan library ini di dalam program Dart.
Buat sebuah file baru bernama program_input.dart, lalu isi dengan kode berikut:
import 'dart:io';
main() {
stdout.write("Siapa kamu: ");
var nama = stdin.readLineSync();
print("Hello $nama!");
}
Hasilnya:
Perhatikanlan fungsi write() dan readLineSync().
6. Operator
Dart memiliki operator yang sama seperti bahasa C++, C#, Java, dan Javascript.
Penjumlahan (+)
Pengurangan (-)
Pembagian (/) yang menghasilkan nilai double.
Pembagian (~/) yang menghasilkan nilai integer.
Perkalian (*)
Sisa bagi atau modulo (%)
Increment (++)
Derement (--)
1. Operator Relasi
1. Operator Penugasan
Pengisian (=)
Penjumlahan (+=)
Pengurangan (-=)
Pembagian (/=)
Perkalian (*=)
Sisa Bagi (%=)
1. Operator Logika
And (&&)
Or (||)
Not (!)
1. Operator Bitwise
And (&)
Or (|)
Xor (^)
Not (~)
Left Shift (<<)
Right Shift (>>)
Itulah operator-operator yang ada pada Dart. Mari kita coba dalam program:
import 'dart:io';
main() {
print("PROGRAM OPERATOR");
stdout.write("Nilai a: ");
double a = double.parse(stdin.readLineSync());
stdout.write("Nilai b: ");
double b = double.parse(stdin.readLineSync());
double hasil;
// operator penjumlahan
hasil = a + b;
print("$a + $b = $hasil");
// operator pengurangan
hasil = a - b;
print("$a - $b = $hasil");
// operator perkalian
hasil = a * b;
print("$a * $b = $hasil");
// operator pembagian
hasil = a / b;
print("$a / $b = $hasil");
}
Contoh di atas hanya menggunakan operator aritmatika.
Hasilnya:
Untuk operator-operator yang lain, silahkan dicoba sendiri ya…
1. Percabangan If;
2. Percabangan If/Else;
3. Percabangan If/Else If/Else;
4. percabangan Switch/Case;
5. Percabangan dengan Operator Ternary.
1. Percabangan If
Contoh: program_diskon.dart
import 'dart:io';
void main(){
print("### Program Kasir ###");
stdout.write("Total belanja: ");
int totalBelanja = int.parse(stdin.readLineSync());
Contoh: login.dart
import 'dart:io';
main(){
print("=== Login ===");
stdout.write("Password: ");
String password = stdin.readLineSync().trim();
import 'dart:io';
main(){
print("*** Program Grade ***");
String grade;
print("Grade: $grade");
}
Hasilnya:
4. Percabangan Switch/Case
Contoh: quote_harian.dart
import 'dart:io';
main(){
print("~~~ Quote Harian ~~~");
stdout.write("Input hari: ");
String hari = stdin.readLineSync().trim().toLowerCase();
String quote;
switch(hari){
case "senin": {
quote = "Mari kita mulai dari senin";
break;
}
case "selasa": {
quote = "Selesaikan tugas, dan bersantailah";
break;
}
case "rabu": {
quote = "Serbu! hari ini penuh semangat!";
break;
}
case "kamis": {
quote = "Meski hujan gerimis, aku belajar coding";
break;
}
case "jumat": {
quote = "Jum'at berkah";
break;
}
case "sabtu": {
quote = "Tenangkan jiwa di hari akhir!";
break;
}
case "minggu": {
quote = "Selamat berlibur!";
break;
}
default: {
quote = "Hari yang anda masukan salah!";
}
}
print(quote);
}
Hasilnya:
Percabangan dengan operator ternary
Contoh: ternary.dart
import 'dart:io';
main(){
print("apakah kamu suka aku?");
stdout.write("jawab (y/t): ");
String jawab = stdin.readLineSync();
1. Perulangan For
2. Perulangan While
3. Perulangan Do/While
4. Perulangan Foreach (For)
1. Perulangan For
Buat file baru bernama perulangan_for.dart lalu isi dengan kode berikut:
import 'dart:io';
main(){
stdout.write("Jumlah perulangan: ");
int n = int.parse(stdin.readLineSync());
2. Perulangan While
import 'dart:io';
main() {
int i = 0;
bool ulang = true;
while(ulang){
stdout.write("Apakah anda mau keluar (y/t): ");
String jawaban = stdin.readLineSync();
i++;
if (jawaban.toUpperCase() == "Y") ulang = false;
}
}
Hasilnya:
3. Perulangan Do/While
Artinya, ia akan mengulang dulu sebanyak satu kali, baru dicek kondisi atau syarat
pengulangannya.
Contoh: perulangan_dowhile.dart
import 'dart:io';
main() {
int i = 0;
bool ulang = true;
do {
stdout.write("Apakah anda mau keluar (y/t): ");
String jawaban = stdin.readLineSync();
i++;
if (jawaban.toUpperCase() == "Y") ulang = false;
} while(ulang);
}
Hasilnya:
4. Perulangan Foreach
Contoh: perulangan_foreach.dart
import 'dart:io';
main() {
var languages = ["C", "C++", "Java", "Dart", "Javascript"];
9. List
List adalah struktur data yang memungkinkan kita menyimpan banyak nilai di
dalam satu variabel.
Dalam bahasa pemrograman lain, list biasanya dikenal dengan sebutan Array.
import 'dart:io';
main(){
// membuat list dengan ukuran 5
var languages = new List(5);
print(languages);
}
Hasilnya:
10. Fungsi
Pembuatan fungsi pada Dart sama seperti membuat fungsi pada bahasa C, C++,
dan Java.
Contoh:
Sedangkan apabila fungsi memiliki nilai kembalian, kita harus menuliskan tipe
data dari nilai yang akan dikembalikan.
import 'dart:io';
main(){
print("--- Program luas persegi ---");
stdout.write("Input panjang sisi: ");
int s = int.parse(stdin.readLineSync());
// memanggil fungsi
int hasil = luasPersegi(s);
print("Luas: $hasil");
}
Hasilnya:
11. Class
Class pada Dart sama seperti class pada bahasa pemrograman Java .
Contoh: oop_dasar.dart
class Person{
String _name;
var _address;
String getName(){
return this._name;
}
String getAddress(){
return this._address;
}
// fungsi main
main(){
var dian = new Person();
dian.setName("Dian");
dian.setAddress("Lombok");
print("Nama: ${dian.getName()}");
print("Alamat: ${dian.getAddress()}");
}
Hasilnya: