Apa Itu Solidity? Bahasa Pemrograman Kontrak Pintar

Apa Itu Solidity? Bahasa Pemrograman Kontrak Pintar

Satu baris kode Solidity yang ceroboh pernah memberikan 3,6 juta ETH kepada penyerang. Kode tersebut melakukan persis seperti yang diperintahkan. Itulah bagian yang mengkhawatirkan. Solidity memindahkan uang. Kode sumbernya biasanya terlihat jelas. Dan begitu sebuah kontrak aktif, tidak ada perbaikan diam-diam — bug tetap ada, dana tetap terekspos, dan seluruh dunia dapat membaca keduanya. Ini adalah bahasa pemrograman dominan untuk menulis kontrak pintar di Ethereum dan setiap blockchain EVM di sampingnya. Singkirkan jargonnya dan sebagian besar DeFi dan NFT pada dasarnya adalah Solidity. Kuat. Juga tidak kenal ampun. Berikut adalah apa itu Solidity, bagaimana kode tersebut sebenarnya berjalan, seperti apa kontrak pertama, dan mengapa keamanan selalu menjadi perhatian utama.

Apa itu Solidity sebagai bahasa pemrograman?

Semua panduan mengatakan hal yang sama: Solidity adalah bahasa tingkat tinggi untuk kontrak pintar. Baik. Itu hampir tidak membantu Anda. Tapi, bahasa seperti apa? Bertipe statis. Berorientasi objek. Kurung kurawal dan titik koma, sintaks yang dipinjam dari JavaScript, C++, dan Python. Jika Anda pernah merilis kode dalam salah satu bahasa tersebut, file `.sol` akan terasa familiar dalam waktu sekitar sepuluh menit.

Gavin Wood membuat sketsa konsepnya pada tahun 2014, dibantu oleh tim kecil Ethereum yang termasuk Christian Reitwiessner. Tujuannya sederhana: membiarkan orang menulis kontrak pintar untuk blockchain publik. Unit intinya adalah `kontrak`. Anggap saja sebagai `kelas` yang kebetulan berada di sebuah rantai — ia menyimpan status, mengekspos fungsi, dan mewarisi dari yang lain. Yang menarik adalah di mana kontrak tersebut dijalankan. Kompilasi ke bytecode, dan kontrak yang sama akan dieksekusi secara identik di setiap node di seluruh jaringan terdesentralisasi, semuanya saling memeriksa satu sama lain. Tuntutan tunggal itulah yang menjelaskan mengapa Solidity terasa begitu terkekang.

Kekokohan sekilas
Pertama kali dirilis Tahun 2014
Desainer utama Gavin Wood (Ethereum)
Paradigma Berorientasi objek, berorientasi kontrak
Mengetik Statis
Dikompilasi menjadi Kode biner EVM
Kompiler terbaru v0.8.35 (April 2026)
Ekstensi file .sol

Cara Kerja Solidity: Dari Kode ke EVM

Bagian menarik dari Solidity bukanlah sintaksnya. Melainkan alur kerjanya. Kode yang mudah dibaca menjadi sesuatu yang disepakati oleh ribuan mesin untuk dijalankan dengan cara yang sama. Determinisme adalah intinya. Jika dua node menjalankan kontrak yang sama dan mendapatkan jawaban yang berbeda, jaringan tidak dapat menyepakati saldo siapa pun. Persyaratan tunggal itu menjelaskan banyak batasan aneh dari bahasa ini: tidak boleh mengambil angka acak, tidak boleh memanggil API web eksternal di tengah eksekusi. Semuanya harus dapat direproduksi dari rantai itu sendiri.

Kompiler dan kode biner

Anda menulis file `.sol`, yang dapat dibaca manusia dan berlevel tinggi. Kompilator Solidity, `solc`, mengubahnya menjadi bytecode EVM, serangkaian panjang operasi tingkat rendah, ditambah ABI yang mencantumkan fungsi-fungsi kontrak. Bytecode inilah yang masuk ke dalam blockchain. Tidak ada yang membacanya secara manual. Ini adalah target mesin, seperti halnya C yang akhirnya menjadi kode assembly.

EVM dan gas

Ethereum Virtual Machine menjalankan bytecode tersebut. Setiap node Ethereum memilikinya. Setiap operasi yang dilakukannya membutuhkan gas, yaitu biaya yang dibayarkan dalam ETH. Gas bukanlah detail sampingan. Ini adalah cara jaringan menetapkan harga komputasi dan melindungi dirinya sendiri: loop yang tak terkendali tidak membekukan rantai — itu hanya menghabiskan gas pengirim dan kembali ke keadaan semula. Solidity yang baik menjaga gas tetap rendah.

ABI

ABI, atau Application Binary Interface, adalah peta JSON tentang cara berkomunikasi dengan kontrak yang telah diimplementasikan. Dompet seperti MetaMask, atau dApp front-end, menggunakannya untuk mengkodekan panggilan fungsi ke dalam format yang diharapkan EVM, lalu mendekode apa pun yang dikembalikan. Anggap ABI sebagai jembatan antara antarmuka yang dilihat pengguna dan kontrak yang berada di alamat tertentu di blockchain.

apa itu kekokohan

Menulis Kontrak Pintar Solidity Pertama Anda

Cukup teori. Cara tercepat untuk memahami Solidity adalah dengan membaca kontrak kecil dan mengenali bagian-bagiannya.

Anatomi sebuah kontrak

kekokohan

// Pengenal-Lisensi SPDX: MIT

pragma solidity ^0.8.20;

Kontrak Counter {

uint256 public count;

event Incremented(uint256 newCount);

function increment() public {

count += 1;

emit Incremented(count);

}

}

```

Beberapa bagian menopang keseluruhan sistem. Baris `pragma` menetapkan versi kompiler, sehingga rilis yang tidak kompatibel tidak dapat secara diam-diam mengkompilasi ulang kode Anda. `contract Counter` membuka kontrak, seperti membuka kelas. `count` adalah variabel status, disimpan di blockchain secara permanen. `increment()` adalah fungsi publik yang dapat dipanggil siapa pun. `event Incremented` mencatat setiap perubahan sehingga aplikasi di luar blockchain dapat bereaksi. Kode berorientasi objek, dengan blockchain di bawahnya.

Alat-alat yang sebenarnya Anda gunakan

Anda tidak perlu menginstal apa pun untuk memulai. Remix adalah IDE berbasis browser: tulis, kompilasi, dan sebarkan Solidity hanya dengan beberapa klik, yang menjadikannya tempat standar untuk mempelajari Solidity. Proyek nyata beralih ke kerangka kerja lokal. Hardhat dan Foundry menangani kompilasi, pengujian, dan penyebaran dengan benar. Dan hampir semua orang mengandalkan OpenZeppelin, sebuah pustaka kontrak yang diaudit dan dapat digunakan kembali untuk token dan kontrol akses, daripada membuat ulang kode berisiko dari awal.

Dari kode ke alamat aktif.

Deployment berarti mengirimkan bytecode yang telah dikompilasi dalam sebuah transaksi. Uji terlebih dahulu di testnet gratis. Sepolia biasanya menjadi pilihan di 2026. Hubungkan dompet seperti MetaMask. Dorong ke mainnet hanya ketika kontrak berfungsi dengan baik. Deployment juga membutuhkan biaya gas, yang dibayar dengan ETH asli. Dan inilah kalimat yang patut diingat: setelah di-deploy, kode tersebut tidak dapat diubah. Anda tidak dapat mengedit kontrak yang sedang berjalan. Fakta tunggal itulah—lebih dari sekadar keanehan sintaksis—yang menjadi alasan mengapa bagian selanjutnya ada.

Blockchain Mana yang Mendukung Solidity?

Solidity sudah tidak lagi menjadi "bahasa Ethereum" sejak bertahun-tahun lalu. Begitu banyak jaringan yang mengadopsi EVM untuk menggunakan kembali perangkat Ethereum sehingga Solidity menjadi bahasa bersama dari seluruh keluarga blockchain. ChainList melacak lebih dari 385 blockchain yang kompatibel dengan EVM pada tahun 2026. Nama-nama besar semuanya memenuhi syarat: Polygon, BNB Chain, Arbitrum , Base, dan Avalanche, semuanya menjalankan bytecode yang sama dengan yang dikompilasi oleh file `.sol` Anda.

Ethereum masih menjadi pusat gravitasi. Menurut DeFiLlama , Ethereum menyimpan total nilai terkunci sekitar $45 miliar, lebih dari setengah dari seluruh DeFi. Dan aktivitasnya terus meningkat: sekitar 8,7 juta penyebaran kontrak pintar baru hanya dalam kuartal keempat tahun 2025, menurut perhitungan Token Terminal. Bagi seorang pengembang, jangkauan tersebut adalah alasan sebenarnya untuk memilih Solidity daripada bahasa yang terikat pada satu blockchain.

Jadi, apa saja yang dibangun dengannya? Hampir semua kategori aplikasi terdesentralisasi yang pernah Anda dengar. Protokol pinjaman dan perdagangan DeFi. Kontrak ERC-20 di balik sebagian besar token, kontrak ERC-721 di balik NFT. DAO mengkodekan aturan pemungutan suara mereka dalam Solidity. Stablecoin mengelola pasokan dengannya. Game on-chain menyimpan logika mereka di sana. Ketika sebuah proyek mengatakan bahwa proyek tersebut "berada di Ethereum," hampir pasti seseorang telah menulis dan menerapkan Solidity.

Mengapa Keamanan Kontrak Pintar Solidity Sulit?

Sifat-sifat yang membuat Solidity ampuh adalah sifat-sifat yang sama yang membuat bug-nya sangat mahal. Kode tersebut menyimpan uang. Kode sumbernya seringkali bersifat publik. Kode tersebut tidak dapat ditambal. Penyerang dapat membaca kontrak Anda dengan santai, dan dananya ada di alamat tersebut. Ini bukan bahasa pemrograman untuk bergerak cepat dan merusak sesuatu. Saya belum pernah bekerja dengan perangkat lunak di mana kesenjangan antara "berhasil dikompilasi" dan "aman" begitu lebar.

Reentrancy dan peretasan DAO

Kerentanan Solidity yang paling umum adalah reentrancy. Sebuah kontrak mengirimkan ETH ke alamat eksternal sebelum memperbarui saldo internalnya sendiri, dan kontrak penerima memanggil kembali untuk menarik dana lagi, dan lagi, sebelum panggilan pertama selesai. Pada Juni 2016, kelemahan persis ini menguras sekitar 3,6 juta ETH, senilai sekitar $60 juta pada saat itu, dari The DAO . Akibatnya, Ethereum terpecah menjadi ETH dan Ethereum Classic, sebuah rantai yang masih diperdagangkan hingga saat ini. Dan solusinya? Hampir sangat sederhana. Perbarui status Anda terlebih dahulu, kirim uang terakhir. Pola ini bahkan memiliki nama: checks-effects-interactions.

Integer overflow dan SafeMath

Sebelum Solidity 0.8, aritmatika dapat secara diam-diam mengalami pembungkus (wrap around). Menambahkan 1 ke nilai maksimum `uint256` akan langsung kembali ke nol, yang dieksploitasi oleh penyerang untuk mencetak saldo token yang tidak masuk akal, seperti dalam insiden BeautyChain (BEC) pada tahun 2018. Selama bertahun-tahun, pengembang melindungi diri dari hal ini dengan pustaka bernama SafeMath, yang untuk sementara waktu menjadi salah satu file yang paling banyak diimpor di seluruh Solidity. Kemudian versi 0.8 membangun pemeriksaan overflow dan underflow ke dalam bahasa itu sendiri. Bug aritmatika yang paling umum sekarang dikembalikan secara default, tanpa memerlukan pustaka tambahan.

Audit dan biayanya

Karena kesalahan bersifat permanen, proyek-proyek serius membayar untuk peninjauan. Mereka membangun di atas komponen yang telah diaudit oleh OpenZeppelin dan kemudian menyewa perusahaan untuk mengaudit seluruh sistem. Audit kontrak pintar profesional biasanya berkisar antara $25.000 hingga lebih dari $100.000 untuk protokol DeFi, menurut data pasar dari Sherlock , dan audit Solidity cenderung 25 hingga 40 persen lebih murah daripada audit Rust yang setara hanya karena kumpulan talenta yang lebih besar. Perusahaan-perusahaan yang bagus juga cepat penuh. Protokol berukuran sedang dapat menunggu berminggu-minggu untuk mendapatkan slot, lalu berminggu-minggu lagi untuk laporan. Semua ini tidak cepat, dan tidak ada yang opsional.

Kerentanan Apa yang salah? Kasus terkenal Memperbaiki
Masuk kembali Panggilan eksternal masuk kembali sebelum pembaruan status. DAO, 2016 Periksa-efek-interaksi
Luapan bilangan bulat Aritmatika melampaui batasnya BeautyChain (BEC), 2018 Pemeriksaan bawaan (Solidity 0.8+)
Kontrol akses Siapa pun dapat memanggil fungsi istimewa. Bermacam-macam `onlyOwner` / penjaga peran
Panggilan eksternal yang tidak diperiksa Panggilan gagal diabaikan, logika berlanjut. Bermacam-macam Validasi nilai kembalian

Kabar baiknya adalah kerugiannya semakin berkurang. Kerugian mata uang kripto akibat eksploitasi khusus DeFi turun menjadi sekitar $680 juta pada tahun 2025, turun sekitar 74 persen dari puncaknya sebesar $2,62 miliar pada tahun 2022, menurut Immunefi . Perangkat yang lebih baik dan pemeriksaan keamanan yang kini terintegrasi dalam kompiler adalah sebagian dari alasannya.

apa itu kekokohan

Solidity vs Bahasa Kontrak Pintar Lainnya

Solidity memiliki pesaing. Bahkan, Solidity bukanlah yang teraman di antara mereka. Vyper minimalis dan mirip Python, sengaja dirancang sederhana untuk mengurangi kemungkinan kesalahan fatal; Curve berjalan di atasnya. Rust mendukung kontrak di Solana dan NEAR, lebih aman dalam beberapa hal, tetapi lebih sulit dipelajari dan lebih mahal untuk diaudit. Jadi mengapa Solidity masih unggul? Bukan karena desain bahasanya. Efek jaringan. Perangkat pendukung yang paling lengkap, pustaka yang paling banyak diaudit, seluruh ekosistem EVM yang terdiri dari rantai dan dompet, semuanya sudah menggunakan Solidity.

Bahasa Rantai Basis sintaksis Terbaik untuk Pertukaran
Kepadatan Ethereum + semua EVM JavaScript/C++ Jangkauan maksimal, peralatan yang matang Mudah untuk menulis kode yang tidak aman.
Vyper EVM Python Kontrak sederhana yang mengutamakan keselamatan Fitur lebih sedikit, komunitas lebih kecil.
Karat Solana, DEKAT Karat Performa tinggi, keamanan terjamin Kurva yang curam, audit yang lebih mahal

Jika Anda ingin mengirimkan produk ke tempat pengguna dan uang sudah berada, Solidity adalah pilihan pragmatis yang tepat, bahkan ketika pesaingnya secara teknis lebih aman.

Apakah Anda Harus Mempelajari Pemrograman Solidity di 2026?

Antusiasme spekulatif seputar kripto mereda, tetapi permintaan akan orang-orang yang dapat menulis kode Solidity yang benar tidak berkurang. Ethereum menambahkan sekitar 16.181 pengembang baru antara Januari dan September 2025, menurut perhitungan Electric Capital , dan sekitar 74 persen dari semua pengembang multi-chain bekerja di rantai EVM. Di situlah pekerjaan yang menghasilkan uang dan pustaka yang dapat digunakan kembali berada.

Cara yang masuk akal untuk mempelajari pemrograman Solidity: mulailah di Remix, baca dokumentasi resmi Solidity, lalu pelajari kontrak OpenZeppelin agar Anda memahami bagaimana para profesional menyusun token dan kontrol akses. Sebarkan proyek-proyek kecil ke testnet hingga pola keamanan terasa otomatis dan bukan sekadar hafalan. Keterampilan yang langka bukanlah menulis kode Solidity yang dapat dikompilasi; banyak orang yang dapat melakukannya. Yang sebenarnya dibayar untuk seorang pengembang Solidity adalah menulis kode yang mampu bertahan dari serangan lawan — seseorang yang telah membaca kontrak Anda dan mempertaruhkan uang.

Mengapa Solidity Tetap Menjadi Bahasa Pemrograman Standar

Solidity menjadi pilihan default karena alasan konkret, bukan karena tren. Bahasa ini digunakan di setiap blockchain EVM. Ia memiliki perangkat pendukung yang paling lengkap. Ia mendasari sebagian besar DeFi dan NFT. Tetapi hal pertama yang perlu dipahami bukanlah sintaksnya. Melainkan ini: di blockchain, kode yang diimplementasikan adalah hukum, dan bug akan selalu ada. Pelajari bahasa dan pola keamanannya secara bersamaan, karena keduanya tidak dapat dipisahkan di sini. Langkah selanjutnya yang jujur adalah langkah kecil dan gratis. Buka Remix, tulis kontrak sepuluh baris, dan implementasikan ke testnet minggu ini.

Ada pertanyaan?

Sebenarnya bukan soal sintaksnya. Jika Anda sudah terbiasa coding, satu akhir pekan saja sudah cukup; ini mirip dengan JavaScript dan C++. Bagian tersulitnya adalah pola pikir. Biaya pengembangan perangkat lunak. Imutabilitas. Pola keamanan. Orang-orang belajar Solidity dengan cepat, lalu menghabiskan bertahun-tahun untuk belajar menulis kode dengan aman.

JavaScript dan C++, sebagian besar. Kurung kurawal, titik koma, dan semua elemen sejenisnya. Python membentuk beberapa ide, tetapi Solidity bertipe statis, jadi Anda mendeklarasikan tipe di awal. Ingin opsi yang benar-benar mirip Python? Itu adalah Vyper, bukan Solidity.

Dasar-dasarnya, ya. Apa itu transaksi. Apa fungsi gas. Mengapa blockchain bersifat terdesentralisasi. Anda tidak perlu memahami perhitungan konsensus di baliknya. Satu gagasan yang lebih penting daripada semuanya: kode yang diimplementasikan bersifat publik dan permanen. Pahami itu, dan sisanya akan mengikuti.

Solidity adalah bahasa yang Anda tulis. Ethereum Virtual Machine adalah mesin yang menjalankannya. Kompilator Anda mengubah file `.sol` menjadi bytecode EVM, dan setiap node mengeksekusi bytecode tersebut pada EVM-nya sendiri. Yang satu adalah sumbernya. Yang lainnya adalah mesinnya.

Ya, hampir di mana-mana. Semua blockchain yang kompatibel dengan EVM menjalankannya: Polygon, BNB Chain, Arbitrum, Base, Avalanche. ChainList menghitung lebih dari 385 jaringan seperti itu. Jangkauan itulah alasan utama mengapa keterampilan Solidity tersebar luas di seluruh industri dan tidak membatasi Anda pada satu blockchain saja.

Ya. Ethereum menambahkan lebih dari 16.000 pengembang dalam sembilan bulan pertama tahun 2025, dan sebagian besar pengembang multi-chain membangun di jaringan EVM. Insinyur Solidity yang diaudit tetap langka dibandingkan dengan nilai kontrak mereka. Kelangkaan seperti itu membuat gaji tetap tinggi.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.