DEV Community

Cover image for Variabel Dan Konsep Binding
Muzhawir
Muzhawir

Posted on

Variabel Dan Konsep Binding

Daftar Isi

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Penjelasan kode di atas adalah:

  • Pertama kita binding variabel annual_salary dengan nilai 5000000.
  • Kedua, kita panggil variabel annual_salary, iex menampilkan nilai 5000000 yang terikat dengan variabel tersebut.
  • Ketiga, kita melakukan rebinding variabel, dengan mengikat variabel monthly_salary ke nilai yang baru 10000000.
  • Terakhir, kita memverifikasi perubahan variabel dengan memanggil ulang variabel monthly_salary, nilai yang ditampilkan adalah nilai baru yaitu 10000000

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)