Study
Solidity

Struct di Solidity

Penjelasan

Struct mengelompokkan beberapa field (boleh beda tipe) jadi satu tipe data kustom, dideklarasikan dengan `struct NamaStruct { tipe field1; tipe field2; ... }`. Struct sangat sering dikombinasikan dengan mapping untuk menyimpan data kompleks per alamat, misalnya profil pengguna atau detail sebuah item.

Contoh Konsep

contract Kepegawaian {
    struct Karyawan {
        string nama;
        uint256 gaji;
        bool aktif;
    }

    mapping(address => Karyawan) public dataKaryawan;

    function tambahKaryawan(string memory nama, uint256 gaji) public {
        dataKaryawan[msg.sender] = Karyawan(nama, gaji, true);
    }
}

Praktikum

Buat struct Produk dengan field nama (string) dan harga (uint256), lalu mapping(uint256 => Produk) public produkById dan function tambahProduk(uint256 id, string memory nama, uint256 harga).

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Pola "mapping dari ID/address ke struct" adalah kombinasi PALING umum di smart contract nyata — hampir semua kontrak token, marketplace, atau sistem membership memakai pola ini untuk menyimpan data per entitas.