4.4 Virus
Last updated
Last updated
Gagal kuliah ternyata tidak membuat mental saya down. Tidak ada penyesalan telah melakukan hal gila seperti itu.
Mungkin karena saya terlalu sibuk. Sibuk memikirkan apa langkah selanjutnya. Hanya tertinggal sedikit rasa bersalah telah menyia-nyiakan usaha orang tua yang membiayai saya kuliah.
Setelah drop out, saya tetap bekerja. Entah kenapa dunia komputer terasa semakin menarik. Tidak hanya jago bongkar pasang komputer, saya mulai belajar programming. Timbul rasa penasaran terhadap pemrograman yang pernah saya cicipi semasa kuliah.
Akhirnya saya tahu bahwa kita bisa membuat program yang berjalan di desktop dengan Delphi, bahasa yang memiliki sintak hampir sama dengan Pascal. Bahasa yang pernah diperkenalkan semasa kuliah.
Saya mulai menyadari apa manfaatnya programming dan kenapa bidang ini begitu populer di luar sana. Bisa memberi perintah ke komputer serasa memiliki kekuatan super yang tidak pernah saya miliki sebelumnya.
Ide-ide aneh pun mulai bermunculan. Kebetulan saat itu terdapat sebuah fenomena yang menghebohkan jagat maya. Tersiar kabar bahwa sebuah virus komputer bernama “Brontok” menyerang banyak pengguna Windows di Indonesia.
Berita itu membuat saya tercengang. Bagaimana orang bisa membuat virus sehebat itu? Bahasa apa yang dia gunakan?
Karena penasaran, saya mencari referensi tentang virus komputer kemana-mana. Dari berbagai forum saya menemukan beberapa potongan kode yang katanya bisa dijadikan virus, tapi saya tidak tahu harus diapakan.
Akhirnya saya berkesimpulan bahwa membuat virus komputer bukanlah hal yang mudah bagi orang yang skillnya pas-pasan seperti saya. Harus paham sistem operasi, keamanan, dan seluk-beluknya untuk membuat virus yang efektif.
Namun sebaliknya, teknik menghalau virus juga ternyata sangat banyak. Virus komputer adalah sebuah proses yang berjalan di memory komputer. Kalau kita tahu Process ID (PID) sebuah virus, kita bisa matikan proses itu dengan program yang kita buat.
Selain itu, virus juga punya signature alias sidik jari. Saat itu banyak database signature virus yang bisa kita download dan integrasikan ke program yang kita buat. Program yang bisa memindai seluruh file dan untuk setiap file kita cocokan signaturenya dengan yang ada di database. Kalau cocok, maka file tersebut adalah virus dan bisa kita hapus.
Karena cara kerjanya sederhana, saya pun berhasil membuat program tersebut berjalan cukup baik. Saya beri nama S.O.B Antivirus. S.O.B adalah singkatan dari Scared Of Bums yang merupakan nama sebuah band rock asal Bali yang saya idolakan waktu itu.
Sebuah anti virus sederhana buatan saya sendiri, fiturnya terbatas tetapi dibuat dengan tangan saya sendiri. Akhirnya saya resmi menjadi programmer :)
Terus apa hubungan masa-masa bermain virus itu dengan saya saat ini?
Tolong cermati! saat itu saya melakukan praktek programming for fun, coding untuk kesenangan semata. Karena menyenangkan, saya tidak sadar ternyata sedang serius belajar yang namanya pemrograman komputer.
Saya seperti bermain game, tidak ada rasa capek, it was full of fun!
Itulah metode belajar yang selalu saya pakai bahkan sampai detik ini. Apapun yang mau saya pelajari, harus berbentuk proyek nyata. Saya tidak suka hanya sekedar mengikuti tutorial, apalagi tutorial sepotong-sepotong yang tidak jelas goalnya apa.
Beberapa waktu yang lalu saya sempat membuat sebuah aplikasi yang bisa meng-generate invoice gaji dalam bentuk PDF. File itu kemudian dikirimkan ke saya via email tiap bulan pada tanggal tertentu secara otomatis.
Kemudian saya kirimkan file itu ke bagian akunting perusahaan saya bekerja, tak lama setelahnya gaji pun dikirimkan. Semua fitur itu saya buat dengan bahasa pemrograman Elixir yang memang sedang saya pelajari.
Sebenarnya, membuat invoice di Google Docs dan menyimpannya dalam bentuk PDF bisa saya kerjakan dalam hitungan menit. Tetapi proses manual seperti itu menurut saya membosankan. Sehingga saya buatkan solusinya sambil belajar Elixir dalam dua minggu.
Apakah worthed? Sangat! Belajar dengan membuat proyek tidak pernah mengecewakan. Saya belajar banyak menggunakan metode tersebut.
Jadi sebelum belajar, tentukanlah goal yang spesifik. Misalnya “Saya akan membuat sebuah Bot Telegram dengan Golang untuk mempermudah saya membeli pulsa”. Itu goal nyata yang spesifik.
Tinggal kejar goal itu sampai dapat, pelajari semua yang diperlukan untuk membuatnya. Ketik kodenya baris demi baris. Jangan copy-paste. Tidak peduli memakan waktu berapa lama, programer yang baik melatih jari dan otaknya bersamaan.
Jangan berhenti! Kalau berhenti di tengah jalan, then you lose the game! Berlomba dengan diri sendiri saja kalah, bagaimana mau menjadi programmer dengan gaji puluhan atau ratusan juta?