Setup Environment, Dart Dasar dan OOP Dart
Sebelum install SDK Dart pastikan arsitektur hardware telah memenuhi persyaratan minimum, Adapun persyaratan minimum yang dibutuhkan untuk install SDK Dart seperti gambar berikut :
Install Dart SDK
Setelah memastikan arsitektur hardware memenuhi syarat ikuti langkah berikut ini
1. Buka halaman resmi
Link https://dart.dev/get-dart/archive#stable-channel
2. Pilih Stable Channel agar mendapatkan versi stabil.
3. Unduh file SDK sesuai dengan sistem operasi komputer/laptop
4. Setelah selesai diunduh, cari file .zip (Windows/Mac) atau .tar.xz (Linux).
5. Ekstrak file ke folder yang mudah diakses, misalnya:
C:\Dart
6. Agar perintah dart bisa dijalankan di Command Prompt/Terminal, perlu menambahkan path bin ke Environment Variables.
Tekan tombol Windows + S, lalu cari view advanced system settings, kemudian buka.
Klik tombol Environment Variables.
Pada bagian System variables, pilih Path lalu klik Edit.
Klik New, lalu tambahkan path folder bin dari Dart SDK
C:\Dart\dart-sdk\bin
Klik OK hingga semua jendela tertutup.
7. Buka Command Prompt lalu ketik perintah
Dart
Tambahkan Extensions Dart
1. Buka Visual Studio Code lalu klik menu Extensions (ikon kotak di sidebar kiri atau tekan Ctrl+Shift+X).
2. Ketik Dart pada kolom pencarian dan pilih Dart dari publisher Dart Code, kemudian klik Install.
Membuat Proyek Pertama Dart
1. Buka Command Prompt / Terminal lalu pindah ke folder tempat penyimpanan project
C:\Dart\DartDev
2. Jalankan perintah untuk membuat project baru bernama halo
dart create halo
3. Untuk menjalankan projek tersebut masuk ke folder proyek halo
cd halo
4. Jalankan project dengan perintah
dart run
5. Untuk membuka Proyek di Visual Studio Code pilih menu File -> Open Folder, lalu arahkan ke folder proyek Dart yang sudah dibuat sebelumnya, yaitu halo.
Dart Dasar
Buat file baru pada folder bin dengan nama dart_dasar.dart kemudian buat function main
List
Output
Berikut adalah penjelasan mengenai kode tersebut
1. Membuat List
List fruits = ['Apel', 'Alpukat', 'Nanas', 'Mangga', 'Pisang'];
print(fruits.toString());
List: artinya list ini hanya boleh berisi data bertipe String.fruits: variabel list yang berisi nama buah.toString(): mengubah list menjadi string agar bisa ditampilkan.
2. Menambahkan Elemen
fruits.add('Jeruk');
print(fruits.toString());
add('Jeruk'): menambah elemen baru di akhir list.
3. Menghapus Elemen
fruits.remove('Alpukat');
print(fruits.toString());
remove('Alpukat'): menghapus item tertentu dari list.
4. Mengubah Elemen pada Index Tertentu
fruits[0] = 'Semangka';
print(fruits.toString());
fruits[0]: mengakses elemen pertama (index dimulai dari 0).- Diganti dari Apel menjadi Semangka.
5. Mengurutkan List
fruits.sort();
print(fruits.toString());
sort(): mengurutkan isi list secara ascending (A–Z).
6. Mengacak Isi List
fruits.shuffle();
print(fruits.toString());
shuffle(): mengacak urutan elemen di list secara random.- Output bisa berbeda-beda setiap kali dijalankan
7. Properti List
print(fruits.length); // jumlah elemen dalam list
print(fruits.first); // elemen pertama
print(fruits.last); // elemen terakhir
print(fruits.contains('Mangga')); // cek apakah list berisi 'Mangga'
print(fruits.indexOf('Pisang')); // posisi index dari 'Pisang'
print(fruits.isEmpty); // cek apakah list kosong
print(fruits.isNotEmpty); // cek apakah list tidak kosong
length: menghitung jumlah elemen.first: ambil elemen paling depan.last: ambil elemen paling belakang.contains('Mangga'): true jika ada "Mangga" di dalam list.indexOf('Pisang'): menampilkan index dari elemen "Pisang".isEmpty: true jika list kosong.isNotEmpty: true jika list berisi data.
Set
Output
Berikut adalah penjelasan mengenai kode tersebut
1. Membuat Set
Set animals = {'Kucing', 'Anjing', 'Kelinci', 'Burung'};
print(animals.toString());
Set: tipe data Set yang hanya menyimpan nilai unik (tidak boleh ada duplikat).animals: berisi kumpulan nama hewan.
2. Menambahkan Elemen
animals.add('Ikan');
print(animals.toString());
add('Ikan'): menambahkan elemen baru ke dalam set.- Jika elemen sudah ada, tidak akan ditambahkan lagi (karena Set unik).
3. Menghapus Elemen
animals.remove('Kelinci');
print(animals.toString());
remove('Kelinci'): menghapus elemen Kelinci dari set.
4. Properti Set
print(animals.length); // jumlah elemen
print(animals.contains('Anjing')); // cek apakah 'Anjing' ada
print(animals.isEmpty); // cek apakah set kosong
print(animals.isNotEmpty); // cek apakah set tidak kosong
length: menghitung jumlah elemen dalam set.contains('Anjing'): cek apakah ada elemen "Anjing".isEmpty: true jika set kosong.isNotEmpty: true jika set berisi elemen.
Map
Output
Berikut adalah penjelasan mengenai kode tersebut
1. Membuat Map
Map productPrices = {
'Laptop': '10.000.000',
'Mouse': '200.000',
'Keyboard': '500.000',
'Monitor': '2.000.000'
};
print(productPrices.toString());
Map: struktur data yang menyimpan pasangan key–value.- String pertama = tipe key (nama produk).
- String kedua = tipe value (harga produk).
2. Menambahkan Elemen
productPrices['Printer'] = '1.500.000';
print(productPrices.toString());
- Menambahkan key baru Printer dengan value 1.500.000.
3. Menghapus Elemen
productPrices.remove('Mouse');
print(productPrices.toString());
remove('Mouse'): menghapus key Mouse beserta nilainya.
4. Mengubah Nilai
productPrices['Laptop'] = '9.500.000';
print(productPrices.toString());
- Mengubah value dari key Laptop menjadi 9.500.000.
5. Properti & Method Map
print(productPrices.length); // jumlah pasangan key-value
print(productPrices.containsKey('Keyboard')); // cek apakah ada key 'Keyboard'
print(productPrices.containsValue('2.000.000')); // cek apakah ada value '2.000.000'
print(productPrices.keys); // daftar semua key
print(productPrices.values); // daftar semua value
print(productPrices.isEmpty); // true jika map kosong
print(productPrices.isNotEmpty); // true jika map berisi data
length: menghitung jumlah pasangan key-value.containsKey('Keyboard'): cek apakah key "Keyboard" ada.containsValue('2.000.000'): cek apakah ada value "2.000.000".keys: menampilkan semua key.values: menampilkan semua value.isEmpty: true jika map kosong.isNotEmpty: true jika map ada isinya.
Perulangan
Output
Berikut adalah penjelasan mengenai kode tersebut
for in: digunakan untuk mengiterasi (perulangan) setiap elemen dalam List.forEach(): fungsi bawaan untuk mengiterasi setiap pasangan key–value dalam Map.key: menyimpan nama produk.value: menyimpan harga produk.print('$key: $value'): menampilkan dalam format Produk: Harga.
OOP Dart
Output
Berikut adalah penjelasan mengenai kode tersebut
1. Fungsi main()
void main(List arguments) {
var car1 = Car();
car1.color = 'Red';
car1.brand = 'Toyota';
car1.year = 2020;
car1.drive();
car1.honk();
print('Car 1: ${car1.color}, ${car1.brand}, ${car1.year}');
Cat cat1 = Cat();
cat1.eat();
cat1.meow();
}
- Program dimulai dari main().
- Membuat objek:
- car1 dari class Car.
- cat1 dari class Cat.
2. Class Car
class Car {
// property
String color = '';
String brand = '';
int year = 0;
// method
void drive() {
print('The $color $brand is driving.');
}
void honk() {
print('The $color $brand is honking.');
}
}
Property: variabel dalam class (color, brand, year).Method: fungsi dalam class (drive(), honk()).
2. Inheritance (Pewarisan)
Class Animal (Parent)
class Animal {
void eat() {
print('The animal is eating.');
}
}
- Animal adalah class dasar (superclass/parent).
- Punya method eat().
class Dog extends Animal {
void bark() {
print('The dog is barking.');
}
}
- Dog mewarisi semua method Animal (eat()).
- Tambahan method bark().
class Cat extends Animal {
void meow() {
print('The cat is meowing.');
}
}
- Cat juga mewarisi eat().
- Tambahan method meow().
Saat cat1.eat(); dijalankan, outputnya:
The animal is eating.
Saat cat1.meow(); dijalankan, outputnya:
The cat is meowing.
Ringkasan OOP yang Ditunjukkan
Class & Object: Car, Animal, Dog, Cat.Property & Method: Car punya color, brand, year dan method drive(), honk().Inheritance (Pewarisan): Dog & Cat mewarisi Animal.Polymorphism sederhana: objek berbeda (Car, Cat) bisa memanggil method yang sesuai dengan class-nya.
Tugas
Link https://github.com/muhammadhafiz27/Dart-Luas-Bangun-Ruang-Bangun-Datar.git