Tutorial Flutter dasar Part 1

 


Apa itu Flutter?

Flutter adalah kerangka kerja sumber terbuka yang dikembangkan oleh Google untuk membuat aplikasi seluler berkualitas tinggi dan berkinerja tinggi di seluruh sistem operasi seluler - Android dan iOS. Flutter menyediakan SDK yang sederhana, canggih, efisien, dan mudah dipahami untuk menulis aplikasi seluler dalam bahasa Google sendiri, Dart.

Dengan Flutter, kita dapat menulis kode aplikasi sekali saja dan menerapkannya di berbagai platform (Android, iOS, Desktop). Berkat fleksibilitas dan kemampuan performanya, Flutter menjadi pilihan utama untuk pengembangan aplikasi modern di berbagai platform.

Flutter dibangun menggunakan bahasa pemograman Dart. Jadi sebelum kita membuat project Flutter kita harus tahu dahulu Dart ini. Kita akan pelajari
dasar-dasar pemrograman dengan Dart, seperti variabel, tipe data, operator, kontrol flow, fungsi, dan OOP (Object Oriented Programming).

1. Variabel dan Tipe Data

    Dart memiliki tipe data integer, string, double, boolean, list, map, dan dynamic.

  • int: Representasi bilangan bulat, misalnya 1, 10, -5, dan lain-lain.
  • double: Representasi bilangan desimal atau pecahan, misalnya 3.14, 2.5, -0.75, dan lain-lain.
  • String: Representasi teks atau karakter, misalnya “Hello, Dart!” atau “Welcome”.
  • bool: Representasi nilai boolean, yaitu true atau false.
  • List: Representasi daftar nilai yang sama atau beragam.
  • Map: Representasi pasangan kunci-nilai.
  • dynamic: Tipe data dinamis yang dapat berubah pada waktu runtime.

    Silahkan tulis skrip ini di dart pad:

    void main() {
      // Tipe data eksplisit
      int angka = 5;
      String nama = "Dart";
      double pecahan = 3.14;
      bool benar = true;
 
      // Tipe data yang terdeteksi otomatis
      var dynamicVar = "Ini adalah variabel dinamis";
      dynamic anotherDynamic = 10;  // Bisa diubah ke tipe lain

      print(angka);
      print(nama);
      print(pecahan);
      print(benar);
      print(dynamicVar);
      print(anotherDynamic);
    }

    

 2. Operator

    Operator dalam Dart digunakan untuk melakukan operasi pada variabel dan nilai.

  • Operator Aritmatika: +, -, *, /, %
  • Operator Pembanding: ==, !=, >, <, >=, <=
  • Operator Logika: &&, ||, !
    tulis skrip ini di dart pad:
   
       void main() {
      int a = 10;
      int b = 20;
 
      // Operator aritmatika
      print(a + b);  // 30
      print(a - b);  // -10

      // Operator pembanding
      print(a == b); // false
      print(a != b); // true
 
      // Operator logika
      bool result = (a < b) && (a != b);
      print(result); // true
    }


3. Kontrol Flow
    Kontrol flow memungkinkan kamu untuk mengontrol aliran eksekusi program, seperti if, else, for,      while, dan switch.

    If-Else:
   
void main() {
      int nilai = 85;

      if (nilai >= 90) {
        print("A");
      } else if (nilai >= 75) {
        print("B");
      } else {
        print("C");
      }
    }

    For Loop:
      
void main() {
          for (int i = 0; i < 5; i++) {
            print("Iterasi ke-$i");
          }
       }


   
While Loop:
  
  void main() {
      int count = 0;
 
      while (count < 5) {
        print("Count: $count");
        count++;
      }
    }


Kapan kita menggunakan For Loop, kapan menggunakan While Loop?
For Lopp digunakan bila kita ingin melakukan pengulangan berdasarkan iterasi atau rentang nilai tertentu.
While Lopp digunakan bila kita ingin melakukan pengulangan berdasarkkan kondisi tertentu.

4. Fungsi

Fungsi adalah blok kode yang dapat dipanggil untuk menjalankan serangkaian instruksi.

// Fungsi dengan parameter dan pengembalian nilai
int tambah(int a, int b) {
  return a + b;
}

// Fungsi tanpa parameter dan tanpa pengembalian nilai
void sapa() {
  print("Halo, Dart!");
}

void main() {
  sapa();
  int hasil = tambah(5, 3);
  print("Hasil penjumlahan: $hasil");
}


5. Object Oriented Programming (OOP)

Dart mendukung paradigma OOP dengan konsep seperti class, object, inheritance, dan encapsulation.

Class dan Object:
class Person {
  String nama;
  int umur;
 
  // Constructor
  Person(this.nama, this.umur);

  // Method
  void perkenalkanDiri() {
    print("Halo, nama saya $nama, dan saya berumur $umur tahun.");
  }
}

void main() {
  // Membuat objek dari class Person
  var orang = Person("Andi", 25);
  orang.perkenalkanDiri();
}

Inheritance:

class Hewan {
  void makan() {
    print("Hewan sedang makan.");
  }
}

class Kucing extends Hewan {
  // Overriding method
  @override
  void makan() {
    print("Kucing sedang makan ikan.");
  }
}

void main() {
  var kucing = Kucing();
  kucing.makan();  // Output: Kucing sedang makan ikan.
}

Encapsulation: Dart menggunakan modifier private dengan awalan underscore (_) untuk membuat atribut atau metode private.

class BankAccount {
  // Atribut private
  double _saldo = 0;

  // Getter untuk mengakses saldo
  double get saldo => _saldo;

  // Method untuk menambah saldo
  void deposit(double amount) {
    _saldo += amount;
  }

  // Method untuk menarik uang
  void withdraw(double amount) {
    if (amount <= _saldo) {
      _saldo -= amount;
    } else {
      print("Saldo tidak cukup.");
    }
  }
}

void main() {
  var akun = BankAccount();
  akun.deposit(100);
  print("Saldo: ${akun.saldo}");
  akun.withdraw(50);
  print("Saldo: ${akun.saldo}");
}

Komentar