Dart Programming - Null Safety @ Cong Fandi | 2021-07-07T00:46:00+08:00 | 4 minutes read | Update at 2021-07-07T00:46:06+08:00

Sekarang kita sudah sampai pada penghujung tutorial dasar dasar dart. Tutorial ini akan menjadi penutup dari serial dasar-dasar dart

programming.

Disclaimer

Pada tutorial ini IDE yang digunakan adalah DartPad

Difinisi

Null-Safety pada dart lahir pada saat flutter version 2 dirilis pada tahun 2021, hal ini merupakan perubahan yang paling besar yang dibuat pada flutter 2.0. Sebenarnya null safety pada dart ini lebih ke mencegah adanya sebuah variable yang bernilai null dan errornya di levelcompiler bukan error saat program sudah dijalankan. Bayangkan saja jika aplikasi kita error/forceclose saat digunakan oleh user tentunya user akan jengkel ya dan akan membuat aplikasi kita bakalan tidak disenangi oleh user.

Coba perhatikan beberapa kode berikut :

gambar dengan null safety :

gambar nullsafety

gambar tanpa null safety :

gambar nullsafety

Pada kedua gambar diatas terdapat satu code yang sama namun IDE yang kita gunakan yaitu DartPad dapat mengaktifkan atau mematikan null asfety. perhatikan bagian bawah gambar.

Saat null-safety dinyalakan, kode secara otomatis error dan tidak dapat dijalankan karean variable a bernilai null atau belum punya nilai.

Saat null-safety dimatikan, program dapat dijalankan namun terdapat error yaitu null pointer exception. sedangkan saat null-safety dinyalamakan, program tidak dapat dijalankan kaerna cmopiler mengatakan bahawa ada yang salah dengan koding kita.

Penambahan operator

Saat null-safety dirilis, dart memiliki tambahan 3 operator yang dapat kita gunakan, yaitu ?, ! dan late

Operator Nama Fungsi
? Nullable Digunakan untuk mendeklarasikan bahwa sebuah variable boleh bernilai null
! Non-nullable Digunakan untuk mendeklarasikan sebuah variable tidak boleh null
late First Read Mendeklarasikan bahwa sebuah variable baru pertama kali di inisialisasi dan biasanya digabung dengan final

Contoh peggunaan

Nullable variable(?)

Pada dasarnya deklarasi nullable variable bertujuan untuk membuat sebuah variable dapat bernilai null. Variable ini akan ditandai dengan tanda ? pada penyebutan tipe datanya. perhatikan gambar dibawah ini :

nullable

Pada gambar diatas apabila sebuah variable tipe datanya diikuti dengan tada ?, maka variable tersebut adalah nullable variable dimana compiler akan tetan mengcompile code yang kita buat meskipun nilainya null atau tidak memiliki nilai sama sekali, kita lanjut ke contoh program.

  void main(){
      int? a;
      print("$a");
  }

  =========================
  output : null
  =========================

program tetap dapat dijalankan dan akan menghasilkan null

Non-Nullable variable(!)

Pada dasarnya, ketika anda menggunakan dart dengan null-safety, secara default setiap variable yang anda tuliskan di IDE kalian akan bertipe non-nullable, artinya variable tersebut harus memiliki nilai awal. apabila tidak di difinisikan nilai awalnya maka compiler akan mengatakan bahwa code kalian terdapat kesalahan dan tidak bisa di jalankan. Perhatiakn gambar dibawah ini.

nullable

Gambar diatas merepresentasikan variable non-nullable pada dart null safety.

Perhatikan contoh program dibawah ini :

  void main(){
      int a;
      print("$a");
  }

  Program ini tidak bisa dijalankan karena variable `a` belum memiliki nilai, solusinya adalah seperti ini

  void main(){
      int a;
      a=10;
      print("$a");
  }

  sekarang program ini dapat dijalankan karena variable a sudah memiliki nilai yaitu 10;

bagaimana? sampek sini sudah faham bukan fungsinya null safety pada dart?

late Operator

Operator late juga merupakan sebuah operator yang lahir bersamaan dengan nullsafety. cara penggunaan operator ini juga terbilang unik dan lebih sering operator late ini digabung dengan operator final. Coba perhatikan contoh program dibawah ini guys:

    void main(){
      int a;
      print("$a");
  }

  **Kode diatas akan error apabila dijalankan karena nilai variable a merupakan non nullable variable. kemudian kita update menjadi seperti ini**

  void main(){
      late final int a;
      a=10;
      print("$a");
  }

  1. **Kode diatas tidak akan ada error dan dapat dijalankan karena variable a sudah memiliki nilai yaiut 10**
  2. variable a tidak dapat diganti nilainya dengan nilai lain karena bersifat immutable atau tidak boleh di edit nilainya
  3. apabila viable a diganti lagi nilainya, maka program akan error dan mengatakan bahwa variable a hanya boleh diberi nilai sekali (immutable)

Jadi bagaimana temen temen apakah sudah mulai faham apa itu null safety pada dart programming?

Kita break dulu ya, dana kalau bisa coba diulang lagi adri awal sampek kalian bener2 faham.

minggu depan kita akan bahas tentang tingkat lanjut nya dari dart programming.

Apabila ada yang kurang sesuai, salah atau kurang tepat penyampaian saya silahkan komentar ya temen temen karena saya bukan orang yang paling faham, jadi jika ada salah salah mohon untuk beri tahu saya dan akan saya perbaki segera.

Sampai jumpa di episode baru minggu depan.


Jika tak mampu menahan lelahnya belajar, maka harus mampu menahan perihnya kebodohan Imam Syafii

© 2018 - 2021 The Ngoding

Powered by Hugo with theme Dream.

avatar

The NgodingSebuah cita-cita hanyalah mimpi jika tidak tahu cara mewujudkannya