Tujuan praktikum ini yaitu mahasiswa membuat menginstall kebutuhan Praktikum Aplikasi Mobile menggunakan bahasa Dart pada framework Flutter, mahasiswa menguasai dasar-dasar Bahasa pemrograman Dart serta konsep OOP Dart
Install SDK Dart Sebelum install SDK Dart pastikan arsitektur hardware telah memenuhi persyaratan minimum, Adapun persyaratan minimum yang dibutuhkan untuk install SDK Dart seperti gambar berikut :
Untuk menginstall SDK Dart dapat menggunakan beberapa cara yaitu dapat menggunakan Chocolatey atau dapat langsung download file SDK dalam bentuk ZIP kemudian di extract pada computer. Pada praktikum ini digunakan cara kedua yaitu ekstrak SDK Dart Zip. Berikut Langkah-langkah install SDK Dart:
Agar dart dapat dijalankan secara global maka perlu menambahkan pada PATH Environment, berikut Langkah-langkah menambahkan PATH
C:\tools\dart sdk\bindart pada command prompt
Berikut langkah-langkah untuk membuat project pertama menggunakan Dart
dart create halo maka proyek dart pertama dengan nama halo akan terbentuk.
dart run
Setelah berhasil membuat proyek pertama Dart dengan nama halo, agar lebih memudahkan dalam mempelajari Bahasa Dart, maka kita perlu membuat proyek dart pada Visual Studio Code, buka Visual Studio Code kemudian tambahkan proyek halo ke workspace.
List adalah tipe data yang berisi kumpulan data atau dalam bahasa pemrograman lain disebut array, Untuk membuat list yaitu menggunakan sintaks List variabel=[] atau var variabel = []
dart_dasar.dart kemudian buat function main List fruits = ['Apel', 'Alpukat', 'Nanas', 'Mangga','Pisang'];
print(fruits.toString());void main(List<String> arguments) {
//list
List<String> 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);
Set merupakan sebuah tipe data yang mirip dengan list, akan tetapi set tidak memiliki index sehingga data yang ada pada set tidak berurutan, Set tidak menerima duplikasi data Tidak bisa mengakses menggunakan index, Untuk membuat set yaitu Set namaVariabel={}; atau var namaVariabel={};
dart_dasar.dart //set
Set<String> 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);
Map adalah tipe data key-value yang mana key seperti index dan value sebagai datanya. Map menggunakan kurung kurawal {} dan menggunakan : untuk memisahkan key-value
Jika ada data key yang sama maka yang akan digunakan data key yang terakhir.
Untuk membuat Map menggunakan sintaks
Map<TipeDataKey, TipeDataValue> namaVariabel = {};var namaVariabel = Map<TipeDataKey,TipeDataValue>();var namaVariabel = <TipeDataKey,TipeDataValue>{};Berikut ini kode program contoh penggunaan Map pada Dart.
//map
Map<String, String> 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);
Output :
//perulangan cara pertama
for (var fruit in fruits){
print(fruit);
}
for (var animal in animals){
print(animal);
}
productPrices.forEach((key, value) {
print('$key: $value');
});
//perulangan cara kedua
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)}');
}
}
Kode program berikut ini merupakan contoh konsep penerapan OOP pada Bahasa Dart. Buat file baru pada folder bin dengan nama oop.dart dan tambahkan kode program berikut.
void main(List<String> arguments) {
//Object Oriented Programming (OOP)
//membuat object
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();
}
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.');
}
}
Jalankan program maka akan muncul output seperti gambar berikut :
1. Buatlah aplikasi sederhana menggunakan Bahasa pemrograman Dart untuk menghitung Luas Bangun Datar dan Volume Bangun Ruang dengan konsep procedural
import 'dart:io';
import 'dart:math';
// Fungsi Bangun Datar
double luasPersegi(double x) {
return x * x;
}
double luasSegitiga(double a, double t) {
return 0.5 * a * t;
}
double luasLingkaran(double r) {
return pi * r * r;
}
// Fungsi Bangun Ruang
double volumeKubus(double x) {
return x * x * x;
}
double volumeBalok(double p, double l, double t) {
return p * l * t;
}
double volumeBola(double r) {
return (4 / 3) * pi * pow(r, 3);
}
void main(List<String> arguments) {
print("Bangun Datar (1) atau Bangun Ruang (2)?");
int? a = int.parse(stdin.readLineSync()!);
double hasil = 0;
if (a == 1) {
// Menu Bangun Datar
print("Pilih: Persegi (1), Segitiga (2), Lingkaran (3)");
int? b = int.parse(stdin.readLineSync()!);
switch (b) {
case 1:
stdout.write("Masukkan sisi: ");
double sisi = double.parse(stdin.readLineSync()!);
hasil = luasPersegi(sisi);
break;
case 2:
stdout.write("Masukkan alas: ");
double alas = double.parse(stdin.readLineSync()!);
stdout.write("Masukkan tinggi: ");
double tinggi = double.parse(stdin.readLineSync()!);
hasil = luasSegitiga(alas, tinggi);
break;
case 3:
stdout.write("Masukkan jari-jari: ");
double r = double.parse(stdin.readLineSync()!);
hasil = luasLingkaran(r);
break;
default:
print("Input tidak valid.");
}
} else if (a == 2) {
// Menu Bangun Ruang
print("Pilih: Kubus (1), Balok (2), Bola (3)");
int? c = int.parse(stdin.readLineSync()!);
switch (c) {
case 1:
stdout.write("Masukkan sisi: ");
double sisi = double.parse(stdin.readLineSync()!);
hasil = volumeKubus(sisi);
break;
case 2:
stdout.write("Masukkan panjang: ");
double p = double.parse(stdin.readLineSync()!);
stdout.write("Masukkan lebar: ");
double l = double.parse(stdin.readLineSync()!);
stdout.write("Masukkan tinggi: ");
double t = double.parse(stdin.readLineSync()!);
hasil = volumeBalok(p, l, t);
break;
case 3:
stdout.write("Masukkan jari-jari: ");
double r = double.parse(stdin.readLineSync()!);
hasil = volumeBola(r);
break;
default:
print("Input tidak valid.");
}
} else {
print("Masukkan input yang valid.");
}
print("Hasil = $hasil");
}
2. Buatlah aplikasi sederhana menggunakan Bahasa pemrograman Dart untuk menghitung Luas Bangun Datar dan Volume Bangun Ruang dengan konsep OOP
import 'dart:io';
// Class Bangun Datar
class Persegi {
double sisi;
Persegi(this.sisi);
double hitungLuas() {
return sisi * sisi;
}
}
class PersegiPanjang {
double panjang, lebar;
PersegiPanjang(this.panjang, this.lebar);
double hitungLuas() {
return panjang * lebar;
}
}
class Lingkaran {
double jari;
Lingkaran(this.jari);
double hitungLuas() {
return 3.14 * jari * jari;
}
}
//Class Bangun Ruang
class Kubus {
double sisi;
Kubus(this.sisi);
double hitungVolume() {
return sisi * sisi * sisi;
}
}
class Balok {
double panjang, lebar, tinggi;
Balok(this.panjang, this.lebar, this.tinggi);
double hitungVolume() {
return panjang * lebar * tinggi;
}
}
class Bola {
double jari;
Bola(this.jari);
double hitungVolume() {
return (4 / 3) * 3.14 * jari * jari * jari;
}
}
void main() {
print("Aplikasi Hitung Luas & Volume");
print("Pilih jenis perhitungan:");
print("1. Bangun Datar");
print("2. Bangun Ruang");
String? pilihan = stdin.readLineSync();
if (pilihan == '1') {
//Bangun Datar
print("\nPilih Bangun Datar:");
print("1. Persegi");
print("2. Persegi Panjang");
print("3. Lingkaran");
String? bangunDatar = stdin.readLineSync();
if (bangunDatar == '1') {
print("Masukkan sisi persegi: ");
double sisi = double.parse(stdin.readLineSync()!);
Persegi persegi = Persegi(sisi);
print("Luas Persegi = ${persegi.hitungLuas()}");
} else if (bangunDatar == '2') {
print("Masukkan panjang: ");
double panjang = double.parse(stdin.readLineSync()!);
print("Masukkan lebar: ");
double lebar = double.parse(stdin.readLineSync()!);
PersegiPanjang pp = PersegiPanjang(panjang, lebar);
print("Luas Persegi Panjang = ${pp.hitungLuas()}");
} else if (bangunDatar == '3') {
print("Masukkan jari-jari: ");
double jari = double.parse(stdin.readLineSync()!);
Lingkaran lingkaran = Lingkaran(jari);
print("Luas Lingkaran = ${lingkaran.hitungLuas()}");
} else {
print("Pilihan tidak valid!");
}
} else if (pilihan == '2') {
//Bangun Ruang
print("\nPilih Bangun Ruang:");
print("1. Kubus");
print("2. Balok");
print("3. Bola");
String? bangunRuang = stdin.readLineSync();
if (bangunRuang == '1') {
print("Masukkan sisi kubus: ");
double sisi = double.parse(stdin.readLineSync()!);
Kubus kubus = Kubus(sisi);
print("Volume Kubus = ${kubus.hitungVolume()}");
} else if (bangunRuang == '2') {
print("Masukkan panjang: ");
double panjang = double.parse(stdin.readLineSync()!);
print("Masukkan lebar: ");
double lebar = double.parse(stdin.readLineSync()!);
print("Masukkan tinggi: ");
double tinggi = double.parse(stdin.readLineSync()!);
Balok balok = Balok(panjang, lebar, tinggi);
print("Volume Balok = ${balok.hitungVolume()}");
} else if (bangunRuang == '3') {
print("Masukkan jari-jari: ");
double jari = double.parse(stdin.readLineSync()!);
Bola bola = Bola(jari);
print("Volume Bola = ${bola.hitungVolume()}");
} else {
print("Pilihan tidak valid!");
}
} else {
print("Pilihan tidak valid!");
}
}
Belum ada komentar.