unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Variabel

Variabel #

Variabel adalah salah satu konsep dasar dalam pemrograman yang digunakan untuk menyimpan dan mengelola data dalam program. Dalam bahasa Dart, variabel dapat dideklarasikan dengan berbagai cara dan memiliki beberapa sifat unik yang membedakannya dari bahasa pemrograman lain. Berikut ini adalah penjelasan lengkap dan mendetail mengenai variabel dalam Dart.

Deklarasi Variabel #

Dart mendukung beberapa cara untuk mendeklarasikan variabel, baik secara eksplisit dengan tipe data tertentu atau secara implisit menggunakan kata kunci var, final, atau const.

  • Menggunakan var: Kata kunci var digunakan untuk mendeklarasikan variabel tanpa secara eksplisit menyebutkan tipe datanya. Tipe data dari variabel tersebut akan diinferensikan oleh Dart berdasarkan nilai yang diberikan.

    Contoh:

    var nama = 'Dart'; // Tipe data adalah String
    var umur = 25;     // Tipe data adalah int
    
  • Deklarasi dengan Tipe Data: Anda juga dapat secara eksplisit mendeklarasikan tipe data dari variabel, seperti int, double, String, bool, dll.

    Contoh:

    String bahasa = 'Dart';
    int tahun = 2024;
    double pi = 3.14;
    bool isDartFun = true;
    
  • Menggunakan final: Kata kunci final digunakan untuk mendeklarasikan variabel yang nilainya tidak bisa diubah setelah diinisialisasi. final bisa digunakan baik dengan atau tanpa tipe data.

    Contoh:

    final String nama = 'Dart';
    final umur = 25; // Tipe data adalah int
    
  • Menggunakan const: Kata kunci const digunakan untuk mendeklarasikan variabel sebagai konstanta waktu kompilasi. Nilai dari variabel const harus diketahui dan diinisialisasi pada saat kompilasi. Variabel const bersifat immutable (tidak dapat diubah).

    Contoh:

    const double kecepatanCahaya = 299792458; // dalam meter per detik
    const umur = 25; // Tipe data adalah int
    

Inisialisasi Variabel #

Setelah variabel dideklarasikan, variabel tersebut dapat langsung diinisialisasi dengan nilai. Jika variabel tidak diinisialisasi, nilai default-nya adalah null, dengan pengecualian untuk tipe data const yang harus diinisialisasi saat deklarasi.

  • Inisialisasi Langsung: Variabel dapat diinisialisasi langsung pada saat deklarasi.

    Contoh:

    var angka = 10;
    final pi = 3.14;
    
  • Inisialisasi Kemudian: Variabel yang dideklarasikan dengan var atau tipe data tertentu dapat diinisialisasi kemudian, tetapi tidak berlaku untuk final dan const tanpa inisialisasi langsung.

    Contoh:

    var nama;
    nama = 'Dart';
    

Variabel Nullable dan Non-Nullable #

Dart mendukung sistem tipe yang null-safe, yang berarti bahwa secara default, variabel tidak dapat menyimpan nilai null kecuali dideklarasikan sebagai nullable dengan menambahkan tanda tanya (?) setelah tipe data.

  • Non-Nullable: Variabel yang tidak dapat menyimpan nilai null.

    Contoh:

    String bahasa = 'Dart';
    
  • Nullable: Variabel yang dapat menyimpan nilai null.

    Contoh:

    String? bahasa; // Bisa menyimpan nilai null
    bahasa = null;
    

Late Variables #

Dart memiliki fitur late yang memungkinkan deklarasi variabel yang diinisialisasi nanti, tetapi tetap dijamin untuk diinisialisasi sebelum digunakan. late sangat berguna untuk variabel yang membutuhkan inisialisasi yang kompleks atau tertunda hingga runtime.

  • Menggunakan late dengan variabel: Variabel late bisa dideklarasikan tanpa inisialisasi langsung, namun harus diinisialisasi sebelum digunakan.

    Contoh:

    late String nama;
    nama = 'Dart'; // Inisialisasi kemudian
    print(nama);   // Output: Dart
    
  • Late final Variables: Variabel final juga dapat dideklarasikan dengan late, yang artinya variabel tersebut tidak bisa diubah setelah diinisialisasi, tetapi inisialisasi bisa dilakukan nanti.

    Contoh:

    late final String nama;
    nama = 'Dart'; // Hanya bisa diinisialisasi sekali
    

Scope Variabel #

Variabel dalam Dart memiliki cakupan (scope) yang dapat dibagi menjadi dua kategori utama: global dan lokal.

  • Global Scope: Variabel yang dideklarasikan di luar fungsi atau kelas memiliki cakupan global dan dapat diakses dari mana saja dalam program.

    Contoh:

    int angkaGlobal = 42;
    
    void printAngka() {
      print(angkaGlobal); // Dapat mengakses variabel global
    }
    
  • Local Scope: Variabel yang dideklarasikan di dalam fungsi, blok, atau kelas hanya dapat diakses di dalam cakupan tersebut.

    Contoh:

    void printAngka() {
      int angkaLokal = 10;
      print(angkaLokal); // Hanya dapat diakses di dalam fungsi ini
    }
    

Type Inference #

Dart mendukung inferensi tipe, di mana compiler Dart secara otomatis menentukan tipe variabel berdasarkan nilai yang diberikan. Ini membuat kode lebih ringkas dan mudah dibaca.

  • Contoh Inferensi Tipe:

    var angka = 42;    // Tipe variabel adalah int
    var nama = 'Dart'; // Tipe variabel adalah String
    

Mutability dan Immutability #

Variabel dalam Dart dapat mutable (dapat diubah) atau immutable (tidak dapat diubah).

  • Mutable Variables: Variabel yang nilainya dapat diubah setelah inisialisasi.

    Contoh:

    var bahasa = 'Dart';
    bahasa = 'Flutter'; // Nilai variabel berubah
    
  • Immutable Variables: Variabel final dan const adalah immutable, artinya setelah diinisialisasi, nilainya tidak dapat diubah.

    Contoh:

    final pi = 3.14;
    // pi = 3.14159; // Error: Nilai variabel tidak dapat diubah
    

Kesimpulan #

Variabel dalam Dart merupakan elemen dasar yang fleksibel dan kuat, dengan berbagai fitur seperti inferensi tipe, null safety, final, const, dan late, yang memberikan kontrol penuh kepada pengembang atas bagaimana data dikelola dalam aplikasi. Memahami konsep-konsep ini akan membantu Anda menulis kode Dart yang lebih efisien, aman, dan mudah dipelihara.

« Komentar
Konstanta »