IoT Programming

Steve Jobs pernah berkata, “Untuk setiap penggemar hardware, ada 10 orang yang suka ngulik software. Software hobbyists”. Tidak persis benar, tetapi kira-kira begitulah kata-katanya. Itulah sebabnya dia (dan Steve Wozniak) membuat komputer Apple ][. Sebelumnya kalau mau ngoprek software, harus ngoprek kit komputer. Harus tahu hardware. Padahal ada orang yang tidak memiliki latar belakang hardware, tapi ingin ngoprek komputer.

Salah satu kesulitan ngoprek hardware adalah menyambung-nyambungkan komponen. Bahkan untuk sekedar menyambungkan LED juga tidak mudah. Padahal “hello world” di dunia hardware itu adalah blinking LED.

Jika menyambungkan 1 LED saja sudah susah, apalagi menyambungkan 6 LED (atau lebih). Itulah sebabnya jarang yang membuat tutorial untuk menyalakan LED lebih dari 1 buah.

Salah satu solusi yang kami tawarkan adalah  membuat LED board yang cocok dengan board yang umum ada di lapangan. Sebagai contoh, ini adalah tampilan ProcodeCG LED (6 buah LED) yang disambungkan dengan NodeMCU. Bersih kan? Tidak perlu ada kabel-kabel.

p_20170306_092518-nodemcu-procodecg-0001

Sekarang kita dapat membuat kode Knight Rider LED tanpa perlu pusing dengan kabel-kabelnya. Jadi orang yang gemar software tetapi tidak memiliki latar belakang hardware dapat juga ikut ngoprek IoT (Internet of Things).

[Nanti video dan kode untuk menyalakan LED tersebut akan saya unggah ke YouTube. Sekarang akses internet lagi lemot.]

Selamat ngoprek.

Bumi Datar (Flat Earth)

Kemarin di dua tempat terjadi perdebatan tentang apakah bumi itu bulat atau datar. Mungkin juga perdebatan tidak hanya terjadi di dua tempat itu saja. Ya, topik sedang ngetrend. Jadi ingat cover album Kansas ini, Point of Know Return. (Sambil juga ingat bukunya Friedman, the World is Flat.)

kansas_-_point_of_know_return

Menurut Anda tentang bumi datar itu opini atau hoax? Ada yang berpendapat bahwa ini adalah hoax karena bukan fakta. Sementara itu ada yang berpendapat bahwa ini adalah opini dan itu sah-sah saja. Nah lho.

Ngoprek IoT

Sudah seminggu ini (atau mungkin lebih?) saya ngoprek Internet of Things (IoT). Apa sih IoT itu? Pada dasarnya ini adalah perangkat keras (hardware) dalam ukuran kecil yang dapat diprogram untuk mengambil data (misal data temperatur) dan meneruskannya ke internet. Teknologi elektronika dan komputer berkembang dengan pesat sehingga perangkat dapat menjadi lebih kecil dan murah. Demikian pula kecepatan akses internet menjadi lebih cepat dan juga lebih murah. Kedua hal inilah yang menyebabkan populernya IoT.

p_20170220_075632-kopi-iot-01
NodeMCU boards

Latar belakang saya memang elektronika, sehingga seharusnya tidak banyak kesulitan dalam ngoprek IoT ini. Kenyataannya ada hal-hal yang sangat spesifik sehingga harus saya oprek dulu sebelum bisa jalan. Tadi malam saya ngoprek sampai jam 2 pagi (eh, 2 malam?). he he he.

Saya memiliki banyak development boards. Begitu ada yang baru, beli atau minta. (Yang terakhir itu yang menarik, minta. he he he.) Terus dioprek. Hasilnya saya masukkan ke YouTube dan kodenya saya simpan di Github supaya dapat dimanfaatkan orang lain. Ayo ngoprek IoT juga.

Menertawakan Sains

SSaya suka komedi. Banyak hal yang dapat dipelajari dari komedi. Saya belajar bahasa Inggris melalui komedi. Demikian pula, ada banyak cerita sejarah yang saya pelajari dari komedi juga. Sains? Matematika? Rekayasa? Semua ini dengan lawakan? Wah ini baru menarik.

Pagi hari di awal tahun 2017 ini saya membuka internet. Serius. Sehabis Subuh, sebelum matahari terbit saya membuka internet. Entah kenapa, terbuka YouTube. Yang terpampang di layar saya ada berbagai pelawak, mulai dari Johnny Carson, Jonathan Winters, dan kemudian Robin Williams. Eh, ternyata salah satunya menunjuk ke video ini.

Nampaknya ini adalah sebuah acara wawancara tentang Matematika dengan pelawak Steve Martin. Entah kenapa, Steve mengajak pelawak Robin Williams ke atas panggung. Mungkin dia tahu bahwa Robin Williams lebih tahu tentang sains (Matematika dan Fisika) lebih dari dia. Maka terjadilah berbagai adegan lucu di video itu. (Videonya dipotong menjadi beberapa video, masing-masing 10 menitan.) Gak bisa berhenti nonton video ini. Aje gile busyet dah.

Saya baru tahu bahwa Robin Williams itu ternyata cerdas banget! Dia banyak membaca dan mengerti banyak hal. Silahkan lihat videonya. Ada banyak lawakan yang terkait dengan matematika (dan fisika). Serius! Edan pisan!

Lawakan jenis ini – yang membutuhkan pendengar untuk mikir – merupakan jenis yang saya sukai. Ah, ternyata bisa juga menggabungkan lawakan dengan sains. Ini merupakan dorongan positif buat saya agar terus dapat menjelaskan konsep yang susah dengan lawakan.

Belajar ah … (dan banyak membaca tentunya).

Banjir Informasi

Membaca bagian awal dari buku Madilog-nya Tan Malaka, saya merasakan kegalauan Tan Malaka akan kesulitan mendapatkan sumber bacaan (buku). Saya juga sempat mengalami masa kesulitan mendapatkan sumber referensi ketika menempuh pasca sarjana saya. Untuk mendapatkan sebuah referensi, saya harus melakukan interlibrary loan, yaitu meminjam ke perpustakaan tempat lain. Dibutuhkan waktu berhari-hari (dan bahkan minggu) untuk referensi sampai di tempat saya. Itu di Kanada, sebuah negara yang sudah maju. Tidak terbayang oleh saya jika saya berada di tempat yang sistem perpustakaannya belum sebaik itu.

Ya itu jaman sebelum ada internet. Ketika akses kepada (sumber) informasi masih sangat terbatas. (Sebetulnya jaman itu sudah ada internet, tetapi akses kepada internet masih dibatasi untuk perguruan tinggi dan lembaga penelitian. Juga, kecepatan akses internet masih sangat terbatas. Masih teringat saya harus mengakses jaringan kampus dengan menggunakan layar teks saja melalui modem 1200 bps.)

Internet (dan teknologi terkait) mendobrak akses kepada informasi. Sekarang – setidaknya di kota-kota besar di Indonesia – akses kepada informasi tidak ada batasnya. Seperti halnya aliran air dari sebuah sungai yang tadinya mampet, sekarang menjadi lancar.

Sayangnya air yang tadinya jernih sekarang berubah menjadi keruh. Terlalu banyak sampah. Ditambah lagi, air yang tadinya mengalir dengan baik sekarang menjadi banjir badang. Tanggul-tanggul bobol. Sekarang kita kebanjiran informasi.

Ketika banjir – dimana-mana ada banyak air – kita kesulitan mendapatkan air yang jernih untuk minum. Kondisi saat ini sama. Terlalu banyak informasi abal-abal, sehingga untuk mendapatkan informasi yang jernih tidak mudah. Dibutuhkan keahlian dan teknologi untuk menyaring informasi yang keruh menjadi informasi yang dapat kita teguk.

Sementara itu, kita jangan ikut serta memperkeruh “air informasi” ini dengan melemparkan “sampah informasi” yang tidak penting. Tahan diri untuk membuang “sampah informasi”. Maukah kita melakukannya?

Mengajarkan Debugging?

Bagaimana ya cara mengajarkan “debugging” (mencari sumber masalah dalam koding, sistem)?

Seringkali kita memberikan tutorial atau tugas tentang satu hal (kode pemrograman misalnya). Kemudian siswa mengikuti tutorial tersebut. Ketika ada masalah, tidak jalan, maka siswa kesulitan mencari sumber masalahnya. Ketika melapor, yang dilaporkan juga tugas tidak jalan. Nah ini membingungkan karena ada banyak hal yang membuat sebuah kode / sistem tidak jalan.

Hal yang sama juga terjadi dalam pengembangan sebuah sistem. Ketika ada masalah maka kita harus mencari sumber masalahnya dan memperbaikinya. Debugging.

Kemampuan debugging ini ternyata tidak dimiliki oleh semua orang. Namun semestinya bisa diajarkan. Bagaimana ya cara mengajarkannya yang baik?

Salah satu ide adalah dengan membuat soal yang memiliki kesalahan, kemudian siswa diminta untuk mencari kesalahan tersebut dan memperbaikinya. Semakin sering melakukan hal ini (mencari kesalahan dan memperbaikinya), mudah-mudahan meningkatkan kemampuan untuk debuggingnya.

Hal lain juga yang perlu diajarkan adalah bagaimana membagi-bagi sistem. Divide and conqueror. Ini bisa jadi topik terpisah.

Ketika Koding Menguasai

Semalam, pukul 1 malam (atau tepatnya pukul 1 pagi) saya terbangun. Teringat sebuah ide koding (pemrograman) LED yang saya buat beberapa waktu yang lalu. [Lihat tulisan saya tentang ini.] Saya ingin membuat sebuah kode lagi. Langsung saja saya tidak bisa tidur lagi.

Ada dua pilihan. Tetap memaksakan diri untuk tidur kembali (dengan risiko kehilangan ide dan juga tidur mungkin tidak nyenyak) atau bangun dan membuat kode, koding. Saya ambil pilihan yang terakhir. Langsung ambil laptop.

Sambil koding saya nyalakan TV. Eh, film yang sedang main adalah film horor. ha ha ha. Hmm … sudah malas saya mengubah channelnya untuk memilih film yang lain. Pikiran sedang fokus ke kode. Maka saya biarkan saja film horor itu tetap on. hiii. Koding berlanjut. Ternyata semangat koding mengalahkan seramnya film horor. Baru kali ini saya tahu. ha ha ha.

Setelah sekitar setengah jaman koding, beres. Ide terimplementasi. Untungnya tidak terlalu banyak masalah di kodenya. Saya upload kode ke akun sementara saya untuk kemudian besok saya upload ke github. Baru bisa tidur kembali. Nyenyak.