Locks-and-keys (komputasi): Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28038986; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 5: | Baris 5: | ||
Ketika variabel dialokasikan, sebuah nilai kunci baru dibuat. Nilai ini kemudian ditempatkan baik di dalam sel variabel maupun dalam bagian kunci dari pointer yang menunjuk ke variabel tersebut. Setiap kali pointer diakses, sistem akan membandingkan kedua nilai kunci tersebut. Akses hanya diizinkan jika nilai kunci yang tersimpan dalam pointer dan variabel cocok. | Ketika variabel dialokasikan, sebuah nilai kunci baru dibuat. Nilai ini kemudian ditempatkan baik di dalam sel variabel maupun dalam bagian kunci dari pointer yang menunjuk ke variabel tersebut. Setiap kali pointer diakses, sistem akan membandingkan kedua nilai kunci tersebut. Akses hanya diizinkan jika nilai kunci yang tersimpan dalam pointer dan variabel cocok. | ||
Jika sebuah variabel dihapus alokasinya, nilai kunci di dalam variabel tersebut akan diubah menjadi nilai yang berbeda. Akibatnya, setiap upaya untuk mengakses variabel menggunakan pointer lama akan gagal, karena nilai kunci pointer tidak lagi cocok dengan nilai dalam variabel. Dengan metode ini, semua salinan pointer yang ada dapat dengan aman dinonaktifkan, karena perubahan kunci otomatis membuat semua referensi lama menjadi tidak valid. | Jika sebuah variabel dihapus alokasinya, nilai kunci di dalam variabel tersebut akan diubah menjadi nilai yang berbeda. Akibatnya, setiap upaya untuk mengakses variabel menggunakan pointer lama akan gagal, karena nilai kunci pointer tidak lagi cocok dengan nilai dalam variabel. Dengan metode ini, semua salinan pointer yang ada dapat dengan aman dinonaktifkan, karena perubahan kunci otomatis membuat semua referensi lama menjadi tidak valid.<ref>[https://www.sweetstudy.com/sites/default/files/q1/12/06/sebesta_concepts_of_programming_languages_10th_txtbk.pdf CONCEPTS OF PROGRAMMING LANGUAGES TENTH EDITION].</ref> | ||
== Lihat juga == | == Lihat juga == | ||
* [[Tombstone (bahasa pemograman)]] | * [[Tombstone (bahasa pemograman)]] | ||
* [[Multiple indirection (pointer)]] | * [[Multiple indirection (pointer)]] | ||
== Referensi == | == Referensi == | ||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Locks-and-keys+%28komputasi%29&oldid=28038986 Wikipedia bahasa Indonesia], revisi 28038986 (2025-10-16T23:23:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Locks-and-keys+%28komputasi%29&oldid=28038986 Wikipedia bahasa Indonesia], revisi 28038986 (2025-10-16T23:23:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 04.14
Locks-and-keys adalah solusi yang digunakan untuk menangani masalah dangling pointer dalam bahasa pemrograman komputer.
Dalam pendekatan ini, sebuah pointer direpresentasikan sebagai pasangan terurut berupa (kunci, alamat), di mana kunci adalah sebuah nilai integer. Sementara itu, variabel heap-dynamic direpresentasikan sebagai kombinasi antara penyimpanan untuk nilai variabel dan sebuah sel tambahan untuk menyimpan nilai kunci tersebut.
Ketika variabel dialokasikan, sebuah nilai kunci baru dibuat. Nilai ini kemudian ditempatkan baik di dalam sel variabel maupun dalam bagian kunci dari pointer yang menunjuk ke variabel tersebut. Setiap kali pointer diakses, sistem akan membandingkan kedua nilai kunci tersebut. Akses hanya diizinkan jika nilai kunci yang tersimpan dalam pointer dan variabel cocok.
Jika sebuah variabel dihapus alokasinya, nilai kunci di dalam variabel tersebut akan diubah menjadi nilai yang berbeda. Akibatnya, setiap upaya untuk mengakses variabel menggunakan pointer lama akan gagal, karena nilai kunci pointer tidak lagi cocok dengan nilai dalam variabel. Dengan metode ini, semua salinan pointer yang ada dapat dengan aman dinonaktifkan, karena perubahan kunci otomatis membuat semua referensi lama menjadi tidak valid.[1]
Lihat juga
Referensi
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28038986 (2025-10-16T23:23:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.