Function Modifier di Solidity
Penjelasan
Modifier adalah kode yang bisa "dibungkuskan" ke sebuah function untuk menjalankan pengecekan SEBELUM (atau sesudah) function itu jalan — dideklarasikan dengan `modifier namaModifier() { ...; _; ... }`, di mana `_;` menandai "di sinilah kode function asli dijalankan". Modifier paling terkenal adalah pola `onlyOwner` — membatasi function hanya bisa dipanggil oleh pemilik kontrak.
Contoh Konsep
contract Bank {
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "Bukan pemilik kontrak");
_; // di sinilah body function asli dijalankan
}
function tarikSemuaDana() public onlyOwner {
// hanya owner yang bisa memanggil function ini
}
}
Praktikum
Buat modifier hanyaSaatAktif yang require sebuah variabel bool aktif harus true, lalu terapkan ke function tutupToko().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Modifier bisa dipasang ke BANYAK function sekaligus tanpa menulis ulang kode pengecekan yang sama berkali-kali — kalau kamu menyalin-tempel `require(msg.sender == owner, ...)` di banyak function, itu tanda kuat butuh modifier.