Study
Solidity

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().

Editor Latihan

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.