Penulisan Function, Modifier dalam Solidity

Kembali lagi dengan EMURGO Indonesia edukasi. Pada pembahasan sebelum nya kita sudah membahas tentang apa itu Solidity dan tipe basic dari solidity. Kali ini kita akan membahas bagaimana cara menulis function, bagaimana cara mengirim uang dengan menggunakan function payable, dan bagaimana cara menggunakan modifier dalam solidity. Penulisan function dalam solidity sebenarnya hampir mirip dengan penulisan function dalam java atau javascript.

Pertama kita buat sebuah contract terlebih dahulu.

Image for post
Image for post

Setelah itu buatlah variabel dengan tipe data uint dalam contract kita, dan isi dengan 1. Maka contract kita akan menjadi seperti berikut :

Image for post
Image for post

Kemudian kita akan membuat function untuk memanggil variabel “angka” yang sudah kita definisikan tadi. Misal kita ingin membuat function dengan nama panggil, maka kita cukup menulis dengan function <diikuti dengan nama function>.

Image for post
Image for post

Setelah itu jika kita ingin memanggil variabel, kita cukup menambahkan public view returns pada function dan definisikan tipe data return nya.

Image for post
Image for post

Function panggil tersebut akan memanggil isi dari variabel angka yang sudah kita definisikan tadi. Dan function tersebut hanya bisa memanggil isi variabel saja, tidak dapat mengubah isi dari variabel karena function tersebut bertipe view returns.

Sekarang kita akan membuat function untuk mengubah isi dari variabel tadi, bagaimana cara penulisan function nya ? cukup sederhana, kita hanya perlu membuat function baru dan definisikan tipe data untuk inputan nya pada function tersebut. Misal kita ingin membuat function bernama “ubah” dan tentu nya jika ingin mengubah variabel “angka” tadi kita akan definisikan tipe data nya dengan uint, karena variabel “angka” tadi berupa uint.

Image for post
Image for post

Seperti itulah cara penulisan function dalam Solidity untuk menampilkan isi dari variabel dan mengganti isi variabel.

Function Payable

Sekarang kita akan melanjutkan penulisan function untuk mengirim uang dengan menggunakan function payable. Penulisan function nya cukup mudah, Kita hanya harus menulis function yang di dalam nya berisi parameter address yang akan Kita kirimkan uang.

Image for post
Image for post

Kita modifikasi contract kita sebelumnya menjadi seperti berikut :

Image for post
Image for post

Setiap Kita ingin mengirim uang ke akun lain atau ke contract lain, Kita harus menggunakan function payable, karena jika tidak uang Kita yang digunakan untuk membayar gas akan hangus dan jumlah uang yang ingin Kita kirimkan ke akun lain tidak akan pernah terkirim. Bisa kita lihat pada code di atas, kita sudah definisikan parameter address dalam function kirim, setelah itu kita isi function tersebut agar bisa mengirim uang ke akun lain dengan memanggil function (addres_penerima).transfer(msg.value). .transfer digunakan untuk mengirim uang, sedangkan msg.value adalah jumlah uang yang dikirimkan.

Image for post
Image for post

Pada function kirim tersebut, kita akan membuat sebuah requirement. Requirement yang mengharuskan kita mengirim uang yang nilai nya lebih dari 100000000000000000. Kita akan membuat nya dengan menggunakan function modifier. Function modifier ini cukup menarik, karena kita bisa memodifikasi function kita dengan menggunakan modifier. Seperti contoh di bawah ini kita akan membuat require dalam modifier dan memasukkan modifier ke dalam function kita.

Image for post
Image for post

Bagaimana cara kerja modifier ? pertama kita masukkan modifier notZero ke dalam function kirim. Lalu secara otomatis jika kita memanggil function kirim maka hal yang pertama dilakukan adalah mengecek require yang ada di dalam modifier notZero, setelah setelah require terdapat tanda _; yang berarti semua isi dalam function kirim akan dipanggil semua setelah require selesai.

Image for post
Image for post

Seperti itulah dasar penulisan function dalam solidity, cara mengirim uang dengan function payable, dan cara menggunakan modifier untuk memodifikasi function dalam contract. Banyak hal menarik yang bisa dilakukan dengan solidity. Anda bisa mencoba function tersebut dengan menggunakan compiler yang disediakan oleh Cardano, saat ini Cardano menggunakan bahasa pemrograman solidity untuk smart contract nya pada IELE dan KEVM. Untuk melakukan test di IELE dengan menggunakan solidity kamu bisa kunjungi link berikut : https://testnet.iohkdev.io/iele/compiler/

Tentang EMURGO :

EMURGO mendorong adopsi Cardano dan menambah nilai bagi pemegang ADA dengan membangun, berinvestasi, dan memberi masukan kepada proyek atau organisasi yang mengadopsi ekosistem blockchain yang terdesentralisasi dari Cardano. EMURGO memanfaatkan keahliannya dalam R&D blockchain serta jaringan global mitra blockchain dan industri terkait untuk mendukung usaha secara global. EMURGO adalah badan komersial dan ventura resmi dari proyek Cardano, terdaftar di Tokyo,

Jepang sejak Juni 2017 dan di Singapura sejak Mei 2018. EMURGO berafiliasi secara unik dan bekerja sama dengan IOHK untuk menumbuhkan ekosistem Cardano secara global dan mempromosikan adopsi blockchain Cardano.

Follow social media EMURGO Indonesia untuk info lebih lanjut:

Twitter: https://twitter.com/emurgo_id
Facebook: https://www.facebook.com/emurgo.id/
Instagram: https://www.instagram.com/emurgo.id/
Medium: https://medium.com/@emurgo_id/

Written by

EMURGO Solusi Indonesia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store