Study
Solidity

Operator di Solidity

Penjelasan

Solidity memakai operator standar C-family: aritmatika (`+ - * / %`), perbandingan (`== != > < >= <=`), logika (`&& || !`). Sejak Solidity versi 0.8 ke atas, operasi aritmatika OTOMATIS dicek terhadap overflow/underflow (mis. `uint256` yang hasilnya jadi negatif akan otomatis di-revert/dibatalkan) — di versi lama (0.7 ke bawah), overflow ini TIDAK dicek dan jadi sumber bug keamanan terkenal.

Contoh Konsep

uint256 a = 10;
uint256 b = 3;

uint256 hasil = a % b;      // 1
bool sama = (a == b);        // false

uint256 kecil = 0;
// kecil - 1; // Di Solidity 0.8+, ini otomatis REVERT (underflow terdeteksi)

// Kalau MEMANG butuh overflow tanpa cek (jarang, butuh alasan kuat), pakai unchecked
unchecked {
    uint256 hasilUnchecked = kecil - 1; // TIDAK di-revert, hasilnya "wrap around"
}

Praktikum

Buat function bandingkan(uint256 a, uint256 b) yang mengembalikan bool apakah a lebih besar dari b.

Editor Latihan

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

Tips

Proteksi overflow/underflow otomatis sejak Solidity 0.8 adalah alasan besar kenapa versi ini jauh lebih aman dari versi lama — hindari blok `unchecked` kecuali kamu benar-benar paham konsekuensinya dan butuh optimasi gas.