Laporan Praktikum App Mobile 1
- Install Dart SDK
SDK Dart dapat diinstall dengan mendownload file sdknya dalam bentuk ZIP kemudian diekstrak di komputer.
Setelah diekstrak, agar dart dapat dijalankan secara global, tambahkan path pada environment setting.

Buka environment variables, lalu cari path pada system variables, dan klik edit

Copy path folder bin yang ada pada folder sdk yang telah diekstrak, lalu tambahkan dengan klik new, lalu tekan OK.

Cek apakah dart sudah terinstall atau belum melalui command prompt dengan perintah dart

Jika outputnya seperti pada gambar, berarti dart sudah bisa digunakan.
Selanjutnya masuk ke vscode, dan install extension dart.
- Membuat Project Dart
- Buka Command Prompt dan masukkan perintah dart create nama-project

Untuk menjalankannya, masuk ke directory project lalu ketikkan dart run

Setelah project selesai dibuat, buka folder project di vscode.
- Dart Dasar
- List: tipe data yang berisi kumpulan data yang disebut array.
- Buat file baru pada folder bin dengan nama dart_dasar.dart kemudian buat function main.
- Buat list dengan syntax:
List<Tipe Data> variabel=[] atau var variabel = <Tipe Data>[]
Contoh di sini saya membuat list buah-buahan.

Lalu jalankan melalui terminal dengan ketikkan dart run bin\dart_dasar.dart
Atau bisa juga masuk ke folder bin terlabih dahulu dengan cd bin, lalu ketikkan dart run dart_dasar.dart.

- Manipulasi List
- Menambah elemen list

Menambahkan jeruk ke dalam list. Outputnya:

- Menghapus elemen list

Menghapus alpukat dari list, outputnya

- Mengubah elemen list

Mengubah elemen list pada index 0 menjadi semangka, outputnya:

- Mengurutkan list sesuai abjad

Outputnya:

- Mengacak urutan list


- Menampilkan panjang list


- Menampilkan elemen pertama dan terakhir pada list


- Mengecek apakah item yang disebutkan ada di list


- Mencari posisi index dari elemen


- Mengecek apakah list kosong atau tidak


- Set : mirip seperti list tetapi tidak memiliki index sehingga datanya tidak terurut dan tidak menerima duplikasi data
- Membuat Set
Syntax: Set<TipeData> namaVariabel={}; atau
var namaVariabel=<TipeData>{};

- Manipulasi Set

- Output

- Map: tipe data key-value dimana key berfungsi seperti index dan value adalah datanya. Menggunakan : untuk memisahkan key dan value dan jika ada data key yang sama maka akan digunakan data key terakhir.
- Syntax:
- Map<TipeDataKey, TipeDataValue> namaVariabel = {};
- var namaVariabel = Map<TipeDataKey,TipeDataValue>();
- var namaVariabel = <TipeDataKey,TipeDataValue>{};
- Buat Map baru

Dibuat map untuk menyimpan data produk dan harganya. Nama produk sebagai key dan harga sebagai valuenya.
- Manipulasi Map

Pada gambar ini berisi code untuk:
- Menambahkan produk printer ke dalam map
- Menghapus produk mouse dari map
- Mengubah value atau harga dari product dengan key Laptop
- Menampilkan panjang map
- Memeriksa apakah ada data dengan key keyboard
- Memerika apakah ada data dengan values 2.000.000
- Menampilkan seluruh keys pada map atau nama-nama produknya
- Menampilkan seluruh values pada map atau harga produknya
- Memeriksa apakah map kosong
- Memeriksa apakah map tidak kosong
- Output

- Perulangan
- Cara Pertama

Menggunakan `for-in` dan `forEach` untuk langsung mengambil elemen dari list, set, atau pasangan key-value dari map.
Cara Kedua

Menggunakan perulangan `for` dengan index untuk mengakses elemen list, set, dan map melalui posisi atau indeksnya.
Kedua cara di atas akan menghasilkan output yang sama:

- OOP Dart
- Buat file baru pada folder bin dengan nama oop.dart dan buat fungsi main
- Kode Program


Kode program ini berisi:
- Pada class main berisi:
- Objek car1 dibuat dari kelas Car, diberi property berupa warna merah, merk Toyota, dan tahun 2020.
- Method drive() dan honk() dipanggil dipanggil dari class Car
- Data mobil (color, brand, year) ditampilkan dengan `print`.
- Objek cat1 dibuat dari kelas Cat.
- Method eat() dipanggil dari Animal
- Method meow() dipanggil dari Cat
- Class Car menyimpan propert-properti mobil dan methodnya
- Class animal merupakan class untuk menyimpan method eat
- Class dog dan cat mewarisi atau extend dari class Animal sehingga dog dan cat otomatis punya method eat() dari class animal. Lalu class dog menambahkan method bark dan class cat menambahkan method meow
- Output program

- File Project
File project dan tugas praktikum 1 ini dapat dilihat pada github: https://github.com/SitiFadhilahRahmi/AppMobile