Skip to main content

8. This Expression - Null Safety.html

This Expression & Null Safety

  1. This Expression

Di Kotlin this merupakan referensi ke object yang saat ini atau class yang sedang digunakan. This digunakan untuk merujuk pada properti atau method dari object tersebut. Penggunaan this umumnya digunakan dalam beberapa situasi, seperti ketika terdapat konflik nama antara variabel lokal dan properti object dan ketika ingin mengakses properti atau method object di dalam blok yang sama, atau ketika ingin mengembalikan object dari suatu method. Akan sulit untuk memahami penggunaan dari this tanpa melakukan implementasi langsung. maka dari itu, berikut contoh implementasi dari this expression.

Pada contoh di atas, terdapat class Person dengan properti name yang mewakili nama seseorang. Terdapat beberapa perbedaan penggunaan "this", diantaranya:

1.    Penggunaan "this" untuk mengakses properti name dalam method printName(). Di dalam method printName(), terdapat variabel lokal name dengan nilai "Fahri". Ketika menggunakan name tanpa "this", itu mengacu pada variabel lokal tersebut. Namun, ketika menggunakan ${this.name}, itu mengacu pada properti name dari object yang sudah di buat.

2.    Penggunaan "this" dalam method getNameLength(). Dalam method getNameLength(), kita hanya menggunakan name tanpa "this" karena tidak ada konflik nama dengan variabel lokal lainnya. Dalam kasus ini, "this" tidak diperlukan untuk mengakses properti name object terbaru.

3.    Penggunaan this di dalam method updateName() akan merujuk ke properti name dari class Person, sedangkan name yang berdiri sendiri tanpa menggunakan this akan merujuk ke variabel name lokal di method updateName().

Keuntungan dari penggunaan this expression dalam bahasa pemrograman kotlin, diantaranya:

1.    Mengakses properti class

Dengan menggunakan "this", Anda dapat dengan jelas merujuk pada properti dan metode dari objek saat ini dalam konteks kelas. Ini membantu menghindari kebingungan dengan variabel lokal yang memiliki nama yang sama.

2.    Penekanan dalam merujuk

Penggunaan "this" membantu menjelaskan dan menegaskan bahwa method yang dipanggil adalah method dari object terbaru.

3.    Kode akan lebih mudah dipahami

Penggunaan "this" dengan tepat dapat membantu membaca kode dengan lebih jelas dan memahami bahwa referensi yang digunakan adalah pada object terbaru, sehingga tidak ada salah persepsi dalam mengartikan nilai dari variabel.

 

 

 

 

 

 

 

 

 

 

 

 

  1. Null Safety

Null safety di Kotlin adalah fitur yang dirancang untuk mencegah atau mengurangi kesalahan terkait null (nilai kosong). Dengan menggunakan null safety, kita dapat memastikan bahwa aplikasi kalian tidak terkena Null Pointer Exception (NPE). Pada dasarnya, Kotlin memisahkan tipe data menjadi dua kategori:

1.    Tipe data nullable

a.    Tipe data nullable adalah tipe data yang dapat menampung nilai null atau nilai valid dari tipe data tersebut.

b.    Tipe data nullable ditandai dengan operator tanda tanya (?) setelah tipe datanya. Misalnya, String?, Int?, atau Boolean?.

c.    Variabel dengan tipe data nullable dapat memiliki nilai null atau nilai valid dari tipe data tersebut.

d.    Untuk mengakses properti atau memanggil method pada object nullable, operator Safe Call (?.) digunakan untuk memastikan bahwa operasi tersebut tidak menyebabkan NullPointerException.

e.    Contoh penggunaan tipe data nullable: var name: String? = null

2.    Tipe data non-nullable

a.    Tipe data non-nullable adalah tipe data yang tidak dapat menampung nilai null. Variabel dengan tipe data non-nullable selalu harus memiliki nilai valid, tidak boleh null.

b.    Tipe data non-nullable didefinisikan tanpa menggunakan operator tanda tanya (?). Misalnya, String, Int, atau Boolean.

c.    Variabel dengan tipe data non-nullable harus diinisialisasi dengan nilai valid pada saat deklarasi atau sebelum digunakan.

d.    Jika kita mencoba memberikan nilai null ke variabel non-nullable, maka akan terjadi kesalahan dalam kompilasi program.

e.    Contoh penggunaan tipe data non-nullable: val age: Int = 20

Di kotlin selain dari tipe data nullable dan tipe data non-nullable, terdapat juga penggunaan dari operator dan juga fitur khusus, diantaranya:

1.    Operator Safe Call (?.)

Operator ini digunakan untuk mengakses properti atau memanggil method pada object nullable dengan aman. Jika object nullable null, maka operasi akan mengembalikan null tanpa memunculkan NullPointerException. Contoh penulisan dari operator safe call:

2.    Operator Elvis (?smile

Operator ini digunakan untuk memberikan nilai default jika object nullable null. Jika object nullable tidak null, maka nilai object akan digunakan. Jika object nullable null, maka nilai default yang diberikan akan digunakan. Contoh penulisan dari operator elvis:

3.    Operator Non-null Assertion(!!)

Operator ini digunakan untuk mengasumsikan bahwa objek nullable tidak null. Jika objek nullable benar-benar null, maka akan menyebabkan NullPointerException. Contoh penulisan dari operator Non-null Assertion:

Last modified: Thursday, 10 August 2023, 10:30 AM