Praktikum Aplikasi Mobile 1 – DART

Installasi dart

Install file ZIP dartsdk yang sudah dibagikan, atau bisa melalui chocolatey, unzip filenya lalu buka cmd, ketik dart untuk melihat detail, jika sudah sama dengan tampilan di bawah, maka sudah terinstall

Struktur Folder dan File
Struktur Folder dan File

masuk ke menu environment, ubah pathnya dengan klik New lalu ganti jadi C:\tools\dartsdk\bin

Struktur Folder dan File

buat projek dengan mengetik dart create halo, jika sudah terbuat maka tampilannya akan seperti dibawah

Struktur Folder dan File

masuk ke direktori halo dengan ketik di cmd cd halo, lalu ketik dart run dan akan muncul tampilan seperti dibawah

Struktur Folder dan File

buka VSCode, download ekstensi dart seperti dibawah

Struktur Folder dan File

berikut adalah tampilan awal dari projek dart yang sudah dibuat tadi

Struktur Folder dan File

LIST, buat file baru dengan nama dart_dasar.dart pada file bin, inputkan kode seperti berikut


       void main(List arguments) {
  // list
  List fruits = ['Apel', 'Alpukat', 'Nanas', 'Mangga', 'Pisang'];
  print(fruits.toString());

  // manipulasi list
  fruits.add('Jeruk');
  print(fruits.toString());
  fruits.remove('Alpukat');
  print(fruits.toString());
  fruits[0] = 'Semangka';
  print(fruits.toString());
  fruits.sort();
  print(fruits.toString());
  fruits.shuffle();
  print(fruits.toString());

  print(fruits.length);
  print(fruits.first);
  print(fruits.last);
  print(fruits.contains('Mangga'));
  print(fruits.indexOf('Pisang'));
  print(fruits.isEmpty);
  print(fruits.isNotEmpty);
}
.length);
    print(animals.contains('Anjing'));
    print(animals.isEmpty);
    print(animals.isNotEmpty);
        
Struktur Folder dan File

maka outputnya akan seperti dibawah

Struktur Folder dan File

SET, tambahkan kode berikut pada bagian bawah kode tadi


        // set
    Set animals = {'Kucing', 'Anjing', 'Kelinci', 'Burung'};
    print(animals.toString());

    // manipulasi set
    animals.add('Ikan');
    print(animals.toString());

    animals.remove('Kelinci');
    print(animals.toString());

    print(animals.length);
    print(animals.contains('Anjing'));
    print(animals.isEmpty);
    print(animals.isNotEmpty);
        

seperti di bawah ini

Struktur Folder dan File

berikut outputnya

Struktur Folder dan File

MAP, tambahkan kode berikut pada bagian bawah kode tadi


        // map
Map productPrices = {
  'Laptop': '10.000.000',
  'Mouse': '200.000',
  'Keyboard': '500.000',
  'Monitor': '2.000.000'
};

print(productPrices.toString());

// manipulasi map
productPrices['Printer'] = '1.500.000';
print(productPrices.toString());

productPrices.remove('Mouse');
print(productPrices.toString());

productPrices['Laptop'] = '9.500.000';
print(productPrices.toString());

print(productPrices.length);
print(productPrices.containsKey('Keyboard'));
print(productPrices.containsValue('2.000.000'));
print(productPrices.keys);
print(productPrices.values);
print(productPrices.isEmpty);
print(productPrices.isNotEmpty);

        

seperti di bawah ini

Struktur Folder dan File

berikut outputnya

Struktur Folder dan File

Perulangan, cara pertama, gunakan kode dibawah ini


      for (var fruit in fruits) {
  print(fruit);
}

for (var animal in animals) {
  print(animal);
}

productPrices.forEach((key, value) {
  print('$key: $value');
});

        
Struktur Folder dan File

Perulangan, cara kedua, gunakan kode dibawah ini


      for (var i = 0; i < fruits.length; i++) {
  print(fruits[i]);
}

for (var i = 0; i < animals.length; i++) {
  print(animals.elementAt(i));
}

for (var i = 0; i < productPrices.length; i++) {
  print(
    '${productPrices.keys.elementAt(i)}: ${productPrices.values.elementAt(i)}'
  );
}


        
Struktur Folder dan File

OOP, untuk oop, gunakan kode berikut


 void main(List arguments) {
  // Object Oriented Programming (OOP)

  // membuat object
  var car1 = Car();
  car1.color = 'Red';
  car1.brand = 'Toyota';
  car1.year = 2020;
  car1.drive();
  car1.honk();
  print('car1: ${car1.color}, ${car1.brand}, ${car1.year}');

  Cat cat1 = Cat();
  cat1.eat();
  cat1.meow();
}

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.');
  }
}

// pewarisan
class Animal {
  void eat() {
    print('The animal is eating.');
  }
}

class Dog extends Animal {
  void bark() {
    print('The dog is barking.');
  }
}

class Cat extends Animal {
  void meow() {
    print('The cat is meowing.');
  }
}

        

berikut tampilan outputnya

Struktur Folder dan File

Aplikasi Laundry

Deskripsi Tugas:Buatlah aplikasi sederhana mini laundry menggunakan Bahasa pemgrograman Dart dengan ketentuan sebagai berikut : Paket Cuci dan Setrika 1 kg 6.000 Paket Cuci 1 kg 4.000 Paket Setrika 1 kg 3.000 Jika total laundry >= 50.000 maka mendapatkan potongan harga 5%, dan jika lebih dari 100.000 mendapatkan potongan 10%

Tampilkan output jumlah yang harus dibayar Ubah program diatas menggunakan konsep OOP Kode procedural:

kode procedural:


import 'dart:io';

void main() {
  print("Selamat Datang di Jiboy nyuci!");
  print("Silahkan Pilih opsi yang anda mau.");
  print("1. Cuci + Setrika (Rp 6000/kg)");
  print("2. Cuci saja (Rp 4000/kg)");
  print("3. Setrika saja (Rp 3000/kg)");

  stdout.write("Masukkan pilihan paket: ");
  int pilihan = int.parse(stdin.readLineSync()!);

  stdout.write("Masukkan jumlah kg: ");
  int kg = int.parse(stdin.readLineSync()!);

  int hasil = 0;

  switch (pilihan) {
    case 1:
      hasil = 6000 * kg;
      break;
    case 2:
      hasil = 4000 * kg;
      break;
    case 3:
      hasil = 3000 * kg;
      break;
    default:
      print("Input salah!");
      return;
  }

  double total = 0.0;
  if (hasil >= 100000) {
    double persen = hasil * 10 / 100;
    total = hasil - persen;
  } else if (hasil >= 50000) {
    double persen = hasil * 5 / 100;
    total = hasil - persen;
  } else {
    total = hasil.toDouble();
  }

  print("Total harga: Rp ${total.toInt()}");
}


        

berikut tampilan outputnya

Struktur Folder dan File

kode OOP:


import 'dart:io';

void main() {
  var cucian = Laundry();
  print("Selamat Datang di Jiboy nyuci!");
  print("Silahkan Pilih opsi yang anda mau.");
  print("1. Cuci + Setrika (Rp 6000/kg)");
  print("2. Cuci saja (Rp 4000/kg)");
  print("3. Setrika saja (Rp 3000/kg)");

  stdout.write("Masukkan pilihan paket: ");
  int pilihan = int.parse(stdin.readLineSync()!);

  stdout.write("Masukkan jumlah kg: ");
  cucian.kg = int.parse(stdin.readLineSync()!);

  int totalHarga = cucian.pilih(pilihan);

  if (totalHarga > 0) {
    double hargaSetelahDiskon = cucian.diskon(totalHarga.toDouble());
    print("Total: Rp ${hargaSetelahDiskon.toInt()}");

    if (hargaSetelahDiskon < totalHarga) {
      double persenDiskon = totalHarga >= 100000 ? 10 : 5;
      print("Anda mendapat diskon ${persenDiskon}%!");
    }
  }
}

class Laundry {
  int kg = 0;
  int hasil = 0;

  int pilih(int n) {
    switch (n) {
      case 1:
        return hasil = 6000 * kg;
      case 2:
        return hasil = 4000 * kg;
      case 3:
        return hasil = 3000 * kg;
      default:
        print("Input salah!");
        return 0;
    }
  }

  double diskon(double n) {
    double persen = 0;
    if (n >= 100000) {
      persen = n * 10 / 100;
      return n - persen;
    } else if (n >= 50000) {
      persen = n * 5 / 100;
      return n - persen;
    } else {
      return n;
    }
  }
}

        

berikut tampilan outputnya

Struktur Folder dan File

Klik link berikut untuk ke GitHub