Kenalan dengan fitur null-safety di Flutter

Muhammad Ilzam Mulkhaq
2 min readJun 22, 2021

--

Photo by Arnold Francisca on Unsplash

Assalamualaikum, Halo teman teman semua.

A billion dollar mistake

Teman teman, pernah nggak kamu bikin aplikasi mobile atau website lalu mengalami error, cuman gara gara sebuah variable yang ternyata ehhh ternyata nilai nya null. Hayooo siapa disini yang pernah mengalami error seperti itu, angkat kaki ehh angkat tangan :D

Ternyata, kamu nggak sendirian, termasuk penulis dan banyak Software Engineer lain yang mengalami error ini, bahkan jika teman teman coba cari di stackoverflow topik pertanyaan tentang error yang disebabkan oleh null, maka hasilnya pun sangat banyak sekali. Pantas saja, kalau penulis pernah mendengan error ini diberi julukan “A billion dollar mistake”

Lantas, bagaimana kita bisa menyelesaikan masalah ini dengan cara yang efisien. Mungkin sementara ini, kita sering menambahkan value checker untuk value sebuah variable, “if” null, kita lakukan apa, dan jika tidak null maka kita lakukan aksi tertentu. Adakah, cara yang lebih efisien selain harus berulang kali menambahkan value checker? (mari kita bertanya pada rumput yang bergoyang :D)

Memperkenalkan Null Safety

Pada saat official launching Flutter 2, team internal Flutter memperkenalkan fitu Null Safety. Yang mana, Null Safety akan membantu kita memecahkan solusi dari masalah yang berjuluk “A billion dollar mistake”.

Cara kerja Null Safety sendiri sangatlah sederhana, yaitu meng-izinkan sebuah variable di isi oleh nilai null. Dimana sebelum adanya Null Safety ini sebuah variable tidak boleh (haram) untuk di isi dengan nilai null, dan inilah penyebab masalah yang kita bahas tadi.

Kita lihat contoh di bawah ini :

void main() {  String name1 = null; // tidak bisa menerima nilai null
print(name1); // akan menyebabkan error

String? name2 = null; // bisa menerima null
print(name2); // tidak akan error :D
}

Sebagai catatan, sebelum migrasi ke Null Safety di harap teman teman ber-koordinasi dengan rekanan developer yang lain. Karena meng-adopsi teknologi baru dalam sebuah team bukanlah hal yang semudah

Yappss, sampai disini saja tulisan kita hari ini yah. Owh iya, teman teman penulis baru saja merintis sebuah Software House bernama nexteam, mohon doanya yah semoga rintisan / start-up kami bisa sukses

--

--