Memahami Mutable dan Immutabel

Assalamualaikum Wr. Wb.

Mutable dan Immutable mungkin sudah tidak asing lagi bagi para programmer yang sudah bolak-balik mencoba bahasa pemprograman.
Dalam pemprograman python terdapat object mutable dan immutable. Bagi kamu yang masih belum tahu apa itu mutabale dan immutable bisa melanjutkan membaca artikel ini hingga akhir.

Object mutable adalah sebuah object yang nilainya dapat diubah. Di pemprograman python ada beberapa object mutable seperti list dan dictionary.

Object immutable adalah sebuah object yang nilainya tidak dapat di ubah. Di pemprograman python juga ada object yang nilainya immutable seperti string, bilangan dan tuple.

Mungkin bagi kalian yang belum paham akan timbul pertanyaan seperti ini.
masak iya di python nilai string dan int itu termasuk inmutable (tidak bisa di ubah)?
Biar gak salah paham dulu mari kita coba script berikut:


Pertama membuat object a = 20 yang bertipe integer dengan id alokasi memory 16048016
kita coba print a hasilnya 20.
Kemudian kita mengubah nilai a menjadi 25. Tampaknya masih biasa-biasa saja. Bisa kok diubah, tapi sebenarnya kalau kita cek lagi alamat id alokasi memory yang digunakan sudah berubah menjadi 16047896. Bisa diperhatikan pada gambar diatas.
Itu membuktikan kalau int itu merupakan object immutable (Nilainya tidak dapat diubah).
Alur kerja dari script diatas, Pertama membuat object 20 yang di tampung ke variabel a dengan alokasi memory 16048016. Ingat type data int termasuk immutable jadi saat coba merubah nilai dari a, maka python akan mengalokasikan memory baru 16047896 dan yang lama akan secara otomatis dihapus (Penghapusan secara otomatis object yang sudah tidak digunakan akan saya bahas di artikel lain)

Beda halnya dengan list atau dictionary yang merupakan object mutable (Object yang nilainya dapat diubah). Perhatikan gambar berikut


Pertama inisialisasi object list [1,2,3,4] ke variabel a. Kemudian cek id alokasi memorynya adalah 140297986328984. Untuk menunjukan bahwasanya list merupakan object yang mutable, coba melakukan perubahan pada salah satu member list. Pada gambar diatas mengubah nilai index ke-0 yang awalnya 1 menjadi 5.
Coba cek lagi nilai object dari list a dan hasilnya adalah [5,2,3,4]. Dan selanjutnya cek id alokasi memory yang digunakan masih tetap seperti saat pertama inisialisasi object yaitu 140297986328984.
Ini menjadi bukti bahwasanya object list merupakan object yang mutable.

Penggunaan object mutable juga harus hati-hati. Karena kalau kita mencoba menyalin referensi dari object mutable, sebenarnya bukan benar-benar menyalin object, tapi masih menggunakan referensi dari object sebelumnya yang coba kita salin. Pembahasan lebih lengkap tentang materi ini akan saya bahas di artikel lain.

Ok semoga bisa memberikan pemahaman tentang mutable dan immutable. Jika ada pertanyaan bisa langsung di kolom komentar atau di facebook saya.
Mohon maaf jika ada kesalahan pemahaman. Mohon koreksinya buat para mastah.

Sumber: Mudah Belajar Python karya Budi Raharjo
Share on Google Plus

About catatancidingku.bligspot.com

M Agung Sutrisno: Saya seorang Web Devoloper sejak tahun 2015. Saya tertarik dengan dunia IT sejak tahun 2013. Lulus dari Universitas Islam Madura pada tahun 2016. Pernah bekerja di Univeritas Islam Madura selama 2 tahun. Mulai tahun 2017 mulai bekerja sebagai Web Developer di salah satu perusahaan software PT. Warung Jasa Teknologi, Jakarta.

2 coment�rios:

### Saya akan coba merespon komentar baru secepatnya.
### Jangan berkomentar SPAM (promosi, dll,)
### Jangan komentar yang berisi link aktif,
### Mohon Maaf Jika Komentar saya moderasi karena ingin mengantisipasi kemungkinan Spam atau link Aktif