Study
Solidity

Perulangan di Solidity

Penjelasan

Solidity mendukung `for` dan `while` seperti bahasa C-family. Tapi berbeda dari bahasa biasa, setiap iterasi loop di smart contract MENGKONSUMSI GAS (biaya eksekusi) — loop yang terlalu panjang atau tidak terbatas (mis. mengulang seluruh isi array yang bisa membesar tanpa batas) bisa membuat transaksi kehabisan gas dan GAGAL total, bahkan bisa mengunci kontrak secara permanen kalau loop itu bagian dari logika penting.

Contoh Konsep

function jumlahkanArray(uint256[] memory angka) public pure returns (uint256) {
    uint256 total = 0;
    for (uint256 i = 0; i < angka.length; i++) {
        total += angka[i];
    }
    return total;
}

Praktikum

Buat function cariMaksimum(uint256[] memory angka) yang mengembalikan nilai terbesar dari array angka memakai for loop.

Editor Latihan

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

Tips

HINDARI loop pada array yang ukurannya bisa terus bertambah tanpa batas dari input pengguna (mis. daftar SEMUA orang yang pernah transaksi) — kalau arraynya jadi terlalu besar, function itu bisa selamanya gagal dipanggil karena kehabisan gas.