Array di Solidity
Penjelasan
Solidity punya array fixed-size (`uint256[5]`, ukuran tetap) dan dynamic (`uint256[]`, ukuran bisa berubah). Array yang jadi variabel STATE (storage) tersimpan permanen di blockchain, sedangkan array `memory` (dipakai di dalam function) hanya sementara selama function itu berjalan. Method `push()` menambah elemen ke dynamic storage array, `.length` memberi jumlah elemennya.
Contoh Konsep
contract DaftarNama {
string[] public namaNama; // dynamic array, storage (permanen)
function tambahNama(string memory nama) public {
namaNama.push(nama);
}
function jumlahNama() public view returns (uint256) {
return namaNama.length;
}
}
Praktikum
Buat contract dengan storage array uint256[] public daftarSkor, function tambahSkor(uint256 skor) untuk push, dan function totalSkor() untuk menjumlahkan semua isi array.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Setiap `push()` ke storage array menambah biaya gas karena data itu ditulis PERMANEN ke blockchain — beda dari array `memory` yang jauh lebih murah karena cuma hidup selama function berjalan.