BAB 2: Dasar-Dasar Pemrograman Dart

BAB 2: Dasar-Dasar Pemrograman Dart

2.1 Variabel dan Tipe Data

Deklarasi Variabel

Di Dart, ada beberapa cara untuk mendeklarasikan variabel:

  1. Menggunakan var - Tipe data akan ditentukan secara otomatis

var nama = 'Budi';
var umur = 20;
var tinggi = 170.5;
  1. Menggunakan tipe data spesifik

String nama = 'Budi';
int umur = 20;
double tinggi = 170.5;
  1. Menggunakan dynamic - Tipe data bisa berubah

dynamic nilai = 100;
nilai = 'Seratus'; // ini diperbolehkan
  1. Menggunakan final - Nilai tidak bisa diubah setelah diinisialisasi

final String nama = 'Budi';
// nama = 'Andi'; // ini akan error
  1. Menggunakan const - Untuk nilai konstan yang sudah diketahui saat compile time

const pi = 3.14;
const double gravitasi = 9.8;

Tipe Data Dasar

  1. Numbers

// Integer
int angka1 = 10;
int angka2 = -5;

// Double
double decimal1 = 3.14;
double decimal2 = -0.5;

// Operasi matematika
int hasil = angka1 + angka2;
double hasilBagi = angka1 / angka2;
  1. Strings

// String literal
String nama = 'Budi';
String alamat = "Jakarta";

// String interpolation
String pesan = 'Halo, $nama!';
String info = 'Panjang nama: ${nama.length}';

// Multi-line string
String paragraf = '''
Ini adalah paragraf
yang bisa ditampilkan
dalam beberapa baris
''';
  1. Booleans

bool benar = true;
bool salah = false;

// Operasi boolean
bool hasil = benar && salah;  // false
bool hasil2 = benar || salah; // true
  1. Lists

// List dengan tipe data spesifik
List<String> buah = ['Apel', 'Jeruk', 'Mangga'];
List<int> angka = [1, 2, 3, 4, 5];

// List dynamic
var campuran = ['Budi', 20, true, 3.14];
  1. Maps

// Map dengan tipe data spesifik
Map<String, String> biodata = {
  'nama': 'Budi',
  'alamat': 'Jakarta',
  'pekerjaan': 'Programmer'
};

// Map dynamic
var info = {
  'nama': 'Budi',
  'umur': 20,
  'tinggi': 170.5,
  'menikah': false
};

2.2 Operator

1. Operator Aritmatika

int a = 10;
int b = 3;

print(a + b);  // Penjumlahan: 13
print(a - b);  // Pengurangan: 7
print(a * b);  // Perkalian: 30
print(a / b);  // Pembagian: 3.3333...
print(a ~/ b); // Pembagian bulat: 3
print(a % b);  // Modulus/sisa: 1

2. Operator Perbandingan

int x = 5;
int y = 10;

print(x == y); // Sama dengan: false
print(x != y); // Tidak sama dengan: true
print(x > y);  // Lebih besar: false
print(x < y);  // Lebih kecil: true
print(x >= y); // Lebih besar sama dengan: false
print(x <= y); // Lebih kecil sama dengan: true

3. Operator Logika

bool a = true;
bool b = false;

print(a && b); // AND: false
print(a || b); // OR: true
print(!a);     // NOT: false

4. Operator Assignment

int a = 10;
a += 5;  // a = a + 5
print(a); // 15

a -= 3;   // a = a - 3
print(a); // 12

a *= 2;   // a = a * 2
print(a); // 24

a ~/= 3;  // a = a ~/ 3
print(a); // 8

2.3 Input dan Output

Input dari Keyboard

import 'dart:io';

void main() {
  // Input string
  stdout.write('Masukkan nama: ');
  String? nama = stdin.readLineSync();
  
  // Input number
  stdout.write('Masukkan umur: ');
  String? input = stdin.readLineSync();
  int umur = int.parse(input!);
  
  // Input double
  stdout.write('Masukkan tinggi: ');
  input = stdin.readLineSync();
  double tinggi = double.parse(input!);
  
  // Menampilkan hasil
  print('\nBiodata:');
  print('Nama: $nama');
  print('Umur: $umur tahun');
  print('Tinggi: $tinggi cm');
}

Output ke Layar

// print() - dengan new line
print('Hello World');

// stdout.write() - tanpa new line
stdout.write('Masukkan nama: ');

// String interpolation
String nama = 'Budi';
int umur = 20;
print('Nama saya $nama, umur $umur tahun');

// Multi-line output
print('''
Biodata:
Nama: $nama
Umur: $umur tahun
''');

2.4 Komentar dalam Dart

// Ini adalah komentar satu baris

/*
Ini adalah komentar
multi baris
*/

/// Ini adalah documentation comment
/// Biasanya digunakan untuk dokumentasi API

void main() {
  // TODO: Implementasi fitur login
  print('Hello World');
  
  /* 
  Kode di bawah ini sedang dalam pengembangan
  int hasil = kompleksFunction();
  print(hasil);
  */
}

2.5 Praktek: Program Kalkulator Sederhana

import 'dart:io';

void main() {
  print('=== Kalkulator Sederhana ===');
  
  // Input angka pertama
  stdout.write('Masukkan angka pertama: ');
  String? input1 = stdin.readLineSync();
  double angka1 = double.parse(input1!);
  
  // Input operator
  stdout.write('Masukkan operator (+, -, *, /): ');
  String? operator = stdin.readLineSync();
  
  // Input angka kedua
  stdout.write('Masukkan angka kedua: ');
  String? input2 = stdin.readLineSync();
  double angka2 = double.parse(input2!);
  
  // Proses perhitungan
  double hasil;
  
  switch(operator) {
    case '+':
      hasil = angka1 + angka2;
      break;
    case '-':
      hasil = angka1 - angka2;
      break;
    case '*':
      hasil = angka1 * angka2;
      break;
    case '/':
      hasil = angka1 / angka2;
      break;
    default:
      print('Operator tidak valid!');
      return;
  }
  
  // Tampilkan hasil
  print('\nHasil: $angka1 $operator $angka2 = $hasil');
}

Latihan Mandiri

  1. Buat program untuk menghitung Body Mass Index (BMI)

  2. Buat program konversi mata uang sederhana

  3. Buat program untuk menghitung total belanja dengan diskon

Tips dan Trik

  1. Selalu validasi input dari user

  2. Gunakan tipe data yang sesuai untuk menghemat memori

  3. Manfaatkan string interpolation untuk output yang lebih rapi

  4. Berikan komentar yang jelas untuk kode yang kompleks

  5. Gunakan nama variabel yang deskriptif

Last updated