tirto.id - Kehidupan umat manusia kini ditopang berbagai macam perangkat teknologi. Mulai dari barang-barang sepele rumah tangga seperti penghisap debu, hingga hubungan dengan luar angkasa, semua melibatkan teknologi.
“Kita [sedang] membangun robot seukuran dunia,” kata Bruce Schneier, analis keamanan digital, kepada The Economist. Ungkapan Schneier bukan tanpa sebab. Saat ini, dunia teknologi sedang hangat dengan pembicaraan “Internet of Things” atau IoT.
Secara sederhana, IoT adalah upaya mengkomputerisasikan dan mengintegrasikan semua barang atau benda yang ada dalam kehidupan kita dengan internet. Mulai dari payung yang kita gunakan untuk beraktivitas saat hujan, hingga mobil canggih yang kelak akan mengantarkan kita sampai tujuan secara otomatis. Semuanya hadir demi memudahkan kehidupan kita sebagai manusia di muka bumi.
Diwartakan Wired, pada tahun 2015, diperkirakan terdapat 25 miliar perangkat yang terkoneksi. Pada 2020, jumlah yang terkoneksi diperkirakan meningkat dua kali lipat. Nilai pasar perangkat-perangkat tersebut diperkirakan akan mencapai $1,1 triliun hingga $2,5 triliun.
Untuk membuat berbagai macam benda terkomputerisasi dan terintegrasi dengan internet, tentu saja kode-kode pemrograman wajib dibuat. Seorang atau sekelompok programmer wajib “ngoding” untuk membuat hal-hal tersebut menjadi kenyataan.
Secara sederhana, kode pemrograman adalah suatu instruksi yang membuat suatu perangkat—baik perangkat keras maupun perangkat lunak—hidup dan memiliki fungsi-fungsi tertentu sesuai dengan rancangannya.
Meskipun sebuah perangkat memiliki fungsi yang terlihat sepele, kode pemrograman wajib hadir di dalamnya. Contoh yang sederhana adalah remote televisi. Fungsi perangkat tersebut terbilang sederhana: mengganti saluran, mengatur volume, dan berbagai macam fungsi lainnya yang berhubungan dengan televisi.
Sebagai sebuah perangkat, fungsi-fungsi tersebut dirancang dalam suatu kode pemrograman. Untuk kasus remote televisi tersebut, baris-baris kode pemrograman termuat dalam firmware, sebuah perangkat lunak yang menempel secara permanen di sebuah perangkat.
Meskipun kode pemrograman juga termuat dalam perangkat keras, tapi secara umum kode pemrograman lebih banyak merujuk pada perangkat lunak. Adobe Photoshop, Corel Draw, Microsoft Office, dan Windows 10, merupakan perangkat-perangkat yang dibangun atas dasar deretan baris kode pemrograman.
Namun perlu pula diingat, situsweb pun dibangun atas dasar kode pemrograman. Jika kurang paham dan Anda sedang di hadapan komputer desktop maupun laptop, silakan klik kanan mouse atau tetikus Anda tepat di tulisan ini. Selanjutnya, klik “view page source.”
Tirto.id dan situsweb mana pun di dunia secara teknis dibangun atas dasar deretan baris kode pemrograman. Kode pemrograman mendikte setiap perangkat yang kita gunakan. Mereka menentukan apa yang bisa diperbuat dan apa yang tidak bisa diperbuat.
Semakin besar suatu perangkat lunak, semakin panjang baris kode yang harus dikerjakan. Pada tahun 2015, sebagaimana diwartakan majalah The Economist edisi 8 April 2017, teknisi Google, Rachel Potvin mengungkapkan bahwa perusahaan teknologi raksasa tersebut mengelola 2 miliar baris kode dari berbagai layanan yang mereka hadirkan bagi pengguna di seluruh dunia.
Sebanyak dua miliar baris kode tersebut membangun Google secara keseluruhan, termasuk Google Search, GMail, dan berbagai produk Google lainnya. Dua miliar baris kode tersebut dikerjakan secara keroyokan oleh sekitar 25.000 Googler—sebutan bagi karyawan Google.
Sementara itu, Linux, sebuah sistem operasi gratisan, disusun dari 20,3 juta baris kode. Versi terbaru sistem operasi Windows dari Microsoft dibuat dengan 50 juga baris kode. Sementara sistem operasi mobile paling populer, Android, dibangun atas 12 juta baris kode.
Evan Priestly, salah seorang teknisi Facebook sebagaimana diwartakan Wired mengungkapkan bahwa media sosial paling populer tersebut disusun atas 9,2 juta baris kode. Jumlah tersebut belum memperhitungkan layanan-layanan lain yang ada dalam Facebook.
Ada 9,2 miliar baris kode untuk membangun fondasi situsweb Facebook. Angka tersebut cukup mengejutkan, mengingat Facebook merupakan sebuah aplikasi biasa, seperti Photoshop, dan bukan sistem operasi selayaknya Windows atau Linux. Jumlah tersebut menempatkan Facebook hanya kalah tipis dengan baris kode yang dimiliki Android, sistem operasi bagi perangkat mobile paling populer.
Tentu saja, tiap-tiap baris kode yang dikoding oleh programmer memiliki fungsi dan peranannya masing-masing. Suatu perangkat lunak yang dibuat bisa memiliki fungsi yang baik dan positif untuk digunakan oleh penggunanya, bisa pula sebaliknya.
Tahun lalu, Mirai, sebuah malware, dibuat untuk mengubah video recorder, webcam, CCTV, menjadi zombie yang menuruti perintah hacker atau peretas. Akibat ulah Mirai, banyak situsweb dunia tumbang karena sistem DNS mereka diserang.
Mirai juga merupakan perangkat lunak. Ia dibangun atas barisan kode pemrograman. Hanya berbekal laptop dan kemauan, perangkat lunak jahat seperti Mirai memungkinkan dibuat oleh siapa saja. Perlu diingat pula, baris kode pemrograman yang menyusun suatu perangkat lunak juga merupakan pintu gerbang bagi penjahat-penjahat digital untuk memanfaatkannya.
Steve McConnel, seorang programmer, mengungkapkan, terdapat 10 hingga 10 error atau kesalahan dalam setiap 1.000 baris kode pemrograman yang dieksekusi. Bagi perusahaan teknologi besar, terdapat 0,5 per 1.000 kesalahan yang termuat di perangkat lunak bikinan mereka. Error atau kesalahan tersebut merupakan gerbang bagi penjahat digital untuk mengeksploitasi suatu perangkat lunak.
“Para penyerang hanya perlu menemukan satu kelemahan,” ucap Kathleen Fisher dari Universitas Tuft, Amerika Serikat. Celah atau lubang keamanan yang ada di sebuah perangkat, sekecil apa pun, adalah malapetaka. Tak mengherankan, banyak cara ditempuh berbagai perusahaan teknologi untuk menambal celah-celah tersebut.
Terkadang, perusahaan menawarkan kompensasi berupa uang bagi siapa saja yang berhasil menemukan celah atau lubang keamanan dari produk yang mereka buat. Perusahaan lainnya memakai konsep open source untuk mengajak komunitas bersama-sama menambal lubang atau celah keamanan.
Seperti ditulis Wired, Linux merupakan perangkat lunak yang memiliki bugs atau celah keamanan atau error paling sedikit dibandingkan lainnya. Hal ini bisa terjadi salah satunya akibat Linux adalah perangkat lunak berbasis sumber terbuka atau open source. Dengan konsep demikian, para peminat komputer di seluruh dunia, bisa bahu-membahu membangun Linux. Termasuk, tentu saja, memperbaiki celah keamanan yang ditemukan.
Untuk membuat perangkat lunak yang benar-benar aman, tentu bukan pekerjaan mudah. Fisher menambahkan, “para pembela [teknisi keamanan] harus menambal setiap lubang [keamanan di baris kode pemrograman yang ditemukan], termasuk satu [lubang keamanan] yang mereka tidak ketahui.”
Namun, sejatinya, membuat suatu perangkat lunak yang benar-benar terbebas dari celah atau lubang keamanan adalah hal mustahil. Trustwave, sebuah firma keamanan, sebagaimana dikutip oleh The Economist mengungkapkan bahwa di tahun 2015 lalu rata-rata terdapat 14 celah keamanan dalam setiap aplikasi ponsel.
Akibat kerentanan tersebut, pangsa pasar asuransi terhadap serangan digital menjadi asuransi dengan nilai yang terus meningkat. Jeremiah Grossman dari SentinelOne, sebuah perusahaan asuransi kerusakan akibat peretas, mengungkapkan, “pasar asuransi cyber bernilai sekitar $3 miliar hingga 4 miliar setahun.”
Meskipun teramat mustahil membangun perangkat yang terbebas dari celah keamanan, "ngoding" tetaplah wajib dilakukan di masa ini. Dunia kita sekarang sangat tergantung terhadap barisan kode-kode tersebut. Tanpa ada Zuckerberg yang mulai "ngoding" Facebook dari kamar asramanya di Harvard, mungkin kini kita tidak bisa membagikan berbagai hal dengan mudah pada teman-teman kita.
Tanpa ada Jan Koum yang dulu memulai mengetikkan barisan kode untuk membangun WhatsApp, mungkin kita sekarang masih menggunakan SMS sebagai penyampai pesan digital utama. Dan jika Andy Rubin tidak memulai membuat Android melalui baris-baris kode yang rumit, mungkin kita saat ini masih harus berhadapan dengan sistem operasi mobile yang usang, atau harus membayar mahal membeli teknologi bikinan Apple.
Siapa pun, dengan semangat, bisa memulai "ngoding". Presiden Barack Obama adalah presiden Amerika Serikat pertama yang membuat perangkat lunak, yang berfungsi menggambar sebuah persegi di layar komputer. Dan Hadi Partovi, pendiri situsweb Code.org punya pesan yang cukup baik, “semua program komputer dimulai dengan sederhana.”
Penulis: Ahmad Zaenudin
Editor: Maulida Sri Handayani