Daftar Isi
- Memahami Binding Dalam Elixir
- Aturan Penamaan Variabel
- Memahami Rebinding Di Elixir
- Immutability dan Pengelolaan Memori Di Elixir
- Referensi
Memahami Binding Dalam Elixir
Elixir adalah bahasa pemrograman dinamis di mana tipe data suatu variabel ditentukan berdasarkan nilai yang ditampungnya pada saat itu. Ini memungkinkan kita bekerja dengan variabel tanpa perlu mendeklarasikannya terlebih dahulu secara ekplisit.
Di Elixir, penugasan nilai ke variabel desebut sebagai binding. Ketika sebuah variabel diberikan nilai tertentu, variabel tersebut menjadi "terikat" (binding) dengan nilai itu:
iex(1)> annual_salary = 5000000
10000
Pada contoh di atas, kita membuat variabel annual_salary
lalu kita binding dengan nilai 5000000
. Setiap ekspresi di Elixir, termasuk operasi penugasan, mengembalikan nilai. Contohnya, operator =
akan menghasilkan nilai yang ada di sisi kanan dari operasi tersebut.
Setelah nilai diikat, kita dapat menggunakan variabel tersebut untuk mengakses nilainya atau memanfaatkannya ke dalam ekspresi yang lebih kompleks:
iex(2)> annual_salary
10000
iex(2)> annual_salary * 5
25000000
Aturan Penamaan Variabel
Berikut aturan penamaan variabel di Elixir:
- Nama variabel di Elixir harus dimulai dengan huruf kecil atau garis bawah.
- Setelah itu diikuti kombinasi huruf, angka atau garis bawah (
_
). - Variabel dapat diakhiri dengan tanda tanya (
?
) dan tanda seru (!
) yang berguna untuk menandai makna tertentu dari suatu fungsi.
Berikut contoh penulisan variabel di Elixir:
valid_variable
_valid_variable
valid_variable_with_exclamation!
valid_variable_with_question_mark?
valid_variable_with_number_2
validVariableButNotRecommended
Memahami Rebinding Di Elixir
Kita sudah memahami konsep binding sekarang kita akan memahami apa itu rebinding.
Secara singkat, Rebinding adalah mengubah "referensi" nilai dari sebuah variabel ke nilai yang baru:
iex(1)> annual_salary = 5000000
5000000
iex(2)> annual_salary
10000
iex(3)> annual_salary = 10000000
10000000
iex(4)> annual_salary
10000000
Penjelasan kode di atas adalah:
- Pertama kita binding variabel
annual_salary
dengan nilai5000000
. - Kedua, kita panggil variabel
annual_salary
,iex
menampilkan nilai5000000
yang terikat dengan variabel tersebut. - Ketiga, kita melakukan rebinding variabel, dengan mengikat variabel
monthly_salary
ke nilai yang baru10000000
. - Terakhir, kita memverifikasi perubahan variabel dengan memanggil ulang variabel
monthly_salary
, nilai yang ditampilkan adalah nilai baru yaitu10000000
Berbeda dengan bahasa pemrograman seperti OOP di mana nilai baru menggantikan nilai lama pada lokasi memori asal, Rebinding tidak mengubah nilai pada lokasi memori asal; sebaliknya, variabel tersebut akan diarahkan ke lokasi memori yang berisi nilai baru.
Immutability dan Pengelolaan Memori Di Elixir
Coba ingat kembali prinsip pertama pemrograman fungsional tentang immutability atau kekekalan data, Di Elixir, data yang telah tersimpan dalam memori tidak dapat diubah lagi. Variabel dapat di-rebinding untuk menunjuk ke lokasi memori yang berbeda, tetapi nilai yang sebenarnya tidak dapat diubah. Elixir mengelola memori secara otomatis dengan sistem garbage collection yang menghapus memori yang tidak digunakan lagi pada waktu yang tepat.
Referensi
- Juric, S. (2024). Elixir in action (3rd ed.). Manning Publications.
Top comments (0)