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).

Terlalu Awal

Salah satu “topi” yang saya pakai adalah sebagai “serial technopreneur“. Maksudnya saya sering membuat usaha (seperti bernomor seri, he he he) dalam dunia teknologi (kata techno dalam technopreneur itu). Ada banyak kegagalan yang telah saya lalui. Salah satunya adalah terlalu awal atau terlalu cepat dalam membuat sebuah usaha atau produk tertentu. Too early.

Tadi bongkar-bongkar rak buku dan menemukan beberapa buku. Salah satunya adalah buku yang ditampilkan di bagian kiri foto berikut. “Palm OS Programming“. For dummies pula. ha ha ha.

15800372_10154167340586526_8166599908409203346_o

Dahulu ada masanya sebuah produk yang disebut PDA, Personal Digital Assistant. Bentuknya sebesar handphone sekarang. Isinya adalah berbagai aplikasi, yang sekarang sudah digantikan oleh berbagai apps di handphone seperti kalender, notes, agenda, dan seterusnya. Perlu diingat pada jaman itu handphone hanya bisa telepon dan SMS.  Aplikasi hanya ada yang bawaan dari pabrikan.

Salah satu PDA yang paling populer pada jamannya adalah Palm Pilot. Sistem operasi yang digunakannya adalah Palm OS. Selain PDA Palm Pilot ada juga produk yang kompatibel, misalnya Handspring Visor. Saya punya yang Handspring Visor itu.

Pada waktu itu (dan sebetulnya sebelum Palm Pilot ngetop), saya membuat proposal untuk sebuah usaha – kalau sekarang nama kerennya adalah Start-Up – yang mengembangkan aplikasi untuk handphone. Tentu saja proposal saya tidak dipahami orang banyak dan mungkin ditertawakan.

Bagaimana mungkin mengembangkan aplikasi dengan memori yang terbatas? Memori handphone pada saat itu hanya Kilobytes ukurannya. Padahal saya sudah belajar pemrograman dengan memori yang terbatas. Itu jaman “komputer” Sinclair dan Apple ][ yang memorinya hanya Kilobytes. Programming menggunakan bahasa apa? Ya bahasa assembly atau bahkan machine code. Tidak masalah. Saya belajar pemrograman juga dari bahasa itu. Jadi sesungguhnya tidak ada masalah teknis.

Singkatnya, tidak ada yang tertarik untuk ikutan membuat perusahaan itu. Gagal. Sekarang, mobile apps developers sudah sangat banyak sekali.

Nah, ini adalah pengalaman buruk bahwa terlalu awal / terlalu cepat / too early dalam mengembangkan ide atau produk bukanlah hal yang baik. Namun, saya masih tetap seperti itu. Sampai sekarang. Terlalu banyak ide produk saya yang terlalu “maju” untuk jamannya. ha ha ha. Biarlah. Itulah saya.

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?

Mencari Gojek-nya Pendidikan

Sudah pernahkan Anda menggunakan Go-Jek (termasuk Go-Food, dll.)? Ketika pertanyaan ini saya lontarkan di berbagai pertemuan, jawabannya (sebagian besar) adalah sudah. Singkatnya, bagi banyak orang Indonesia, Go-Jek adalah hal yang natural dari penerapan teknologi terhadap layanan ojek.

Kalau kita ceritakan tentang “ojek” ke rekan kita yang berada di luar negeri, khususnya di negara maju yang memiliki transportasi publik yang bagus, mereka akan heran. Mengapa ada ojek? Mosok ada layanan transportasi publik berbasis sepeda motor?  Mereka akan mempertanyakan keamanan dari layanan ojek tersebut. Segudang pertanyaan lain akan menyusul.

Ada banyak alasan mengapa ojek dan aplikasi Go-Jek tumbuh di Indonesia. Infrastruktur transportasi yang masih belum bagus dan belum merata menyebabkan banyak jalan yang hanya dapat dilalui dengan motor. Gang, misalnya. Kemacetan di jalan besarpun membuat layanan ojek masuk akal. Belum lagi ini membuka lapangan pekerjaan bagi banyak orang Indonesia.

Sesuatu hal yang aneh dan tidak mungkin di luar negeri menjadi sesuatu hal yang lumrah di Indonesia.

Mari kita melirik ke dunia pendidikan. Aplikasi pendidikan apa yang Anda gunakan akhir-akhir ini? Sering? Berapa banyak orang yang menggunakan aplikasi ini? Jawabannya adalah tidak banyak atau bahkan tidak ada. Pemanfaatan teknologi informasi di dunia pendidikan memang masih kalah cepat dengan pemanfaatan di dunia bisnis.

Pendidikan di Indonesia tidak dapat disamakan dengan pendidikan di luar negeri. Lingkungan dan karakter orang Indonesia yang berbeda menyebabkan banyak cara pendidikan luar negeri yang tidak dapat diterapkan secara langsung. Kondisi infrastruktur yang dibutuhkan untuk transportasi publik sama buruknya dengan kondisi “infrastruktur” yang dibutuhkan untuk menjalankan pendidikan.

Nah, apakah “ojek” dari pendidikan di Indonesia? Mungkin ada sesuatu hal yang mungkin dianggap aneh oleh orang Barat, tetapi masuk akal bagi orang Indonesia. Sesuatu yang khas Indonesia. (Kearifan lokal?) Kalau sudah ketemu “ojek”nya, mungkin dapat dibuatkan aplikasi “gojek”nya untuk pendidikan ini.

Kita butuh pemikiran yang berbeda. Mari kita cari “the gojek app for Indonesian education”.

Ngoprek IoT

Kata IoT – Internet of Things – sedang ngetop sekarang. Dimana-mana saya melihat kata ini sebagai bagian dari seminar, kompetisi, startup, dan seterusnya. Pokoknya seru saja. Nah, sayapun tidak mau ketinggalan.

Saya mencoba menggunakan Arduino UNO dan board buatan DycodeX untuk kode IoT ini. (Sebetulnya saya punya banyak board lainnya, tapi itu untuk cerita terpisah.) Selain board ini saya juga menggunakan LED board buatan ProcodeCG. Berikut ini adalah beberapa video yang saya buat untuk menunjukkan demo / contoh kode dengan board-board di atas.

Dalam dunia hardware, IoT, salah satu cara memulai atau mencoba adalah membuat demo “blinking LED”. Kalau di dunia software, ini adalah “Hello World” versi hardware. Biasanya sih blinking LED-nya hanya satu LED. Kali ini saya mencoba menggunakan beberapa LED biar lebih seru.

Video di bawah ini menunjukkan demo Knight Rider, yaitu LED yang bergerak dari kiri ke kanan dan sebaliknya. Nama ini diambil dari film seri Knight Rider (jaman dahulu dan versi barunya). Dalam film tersebut ada mobil cerdas yang bernama KITT. Kalau dia aktif, maka ada LED yang bergerak-gerak seperti ini.

Dalam video di bawah ini, saya membuat Knight Rider LED juga tetapi dengan menggunakan board Arduino UNO.

Video di bawah adalah demo untuk membuat LED seperti meter yang ada di radio (equalizer). Board yang digunakan adalah DycodeX ESpectro.

Oh ya, kode-kode untuk demo di atas dapat dilihat dan diunduh dari koleksi saya di github.com yaitu di: https://github.com/rahard/BRiot-stuff. Selamat ngoprek.

Mainan IoT

Lagi seru-serunya topik IoT (Internet of Things). Maka saya pun tak mau ketinggalan ngoprek IoT. Pada dasarnya IoT ini adalah menghubungkan “things” ke internet. “Things” yang dimaksud di sini bisa apa saja. Biasanya sih dimulai dengan menghubungkan sensor (misal sensor temperatur) ke internet.

Beginilah konfigurasi yang saya gunakan saat ini. (Corat-coret di kertas bekas.)

14080070_10153796588911526_1526882988396792016_n

Untuk sensor, kali ini saya menggunakan SensorTag dari Texas Instrument. SensorTag ini memiliki banyak sensor; temperatur, kelembaban, akselerasi, tombol yang dapat ditekan dan seterusnya. Versi yang saya gunakan ini menggunakan Bluetooth (tepatnya BLE, Bluetooth Low Energy) untuk berkomunikasi.

Saat ini ada aplikasi bawan (untuk handphone iOS dan Android) yang dapat digunakan untuk memantau sensor-sensor tersebut. Aplikasinya bagus sekali. Nah, saya ingin membuat aplikasi serupa sehingga data dari sensor dapat saya proses sesukanya. (Misal mau dikirim ke server sendiri.) Saat ini selain dapat memantau data sensor, aplikasi ini dapat juga mengirimkan data tersebut melalui protokol MQTT ke server IBM. (Nampaknya TI ini memiliki partnership dengan IBM.) Saya mencoba menghubungkan aplikasi ini ke server MQTT lainnya tetapi belum berhasil. Ini juga salah satu alasan mengapa saya harus membuat aplikasi sendiri.

Untuk membuat aplikasi di handphone, ternyata ada tools yang menarik dari Evothings. Mereka membuat semacam interface sehingga kita dapat melakukan pemrograman di komputer desktop kita, kemudian mengirimkan kodenya ke handphone (yang dipasangi aplikasi Evothings Viewer). Maka aplikasi langsung dijalankan di handphone. Ini mengurangi kesulitan upload program ke handphone. (Sebetulnya kita bisa juga setup web server sendiri sih.)

Pemrograman di handphone tersebut ternyata menggunakan bahasa Javascript. Ada beberapa library yang perlu digunakan untuk mengakses sensor melalui BLE. Saya sudah mencoba beberapa library tersebut, belum ada yang sukses. Tidak ada error, tetapi outputnya masih kosong. (Harus melakukan debugging dulu dan saya belum terbiasa melakukan debugging dalam bahasa Javascript.)

Alternatif lain yang sedang saya pikirkan adalah menghubungkan sensor tersebut langsung dengan single board computer (SBC) semacam Raspberry Pi. Ternyata ada orang-orang yang juga sukses melakukan pendekatan itu. Saat ini saya tidak punya Raspberry Pi tetapi malah punya yang dari Getchip.com. Ini keren banget, $9 chip dan sudah bisa langsung jalan Linux di atasnya. Sudah ada Bluetooth 4.0 juga. Jadi hal lain yang ingin saya lakukan adalah melakukan pairing antara SensorTag TI ini dengan SBC dari Getchip.com ini. (Ini foto kedua benda tersebut yang saya ambil dari meja saya.)

13987404_10153796571416526_4784112517654812880_o

Saya masih belum berhasil mainan dengan getchip.com secara stabil. Entah kenapa koneksi ke benda ini via WiFi kok tidak stabil. Tersendat-sendat. Jadi malas juga koding langsung di sini. Ide lain adalah via komputer desktop saya dulu saja. Toh sama-sama Linux.

(Update: kalau saya sambungkan SBC getchip ini dengan USB ke Macbook, saya bisa akses dengan nama “chip.local”. Jadi saya bisa “ssh root@chip.local” dengan password default “chip”. Setelah itu saya bisa masuk ke console linux dengan koneksi yang lebih stabil. Saya bisa main-main dengan getchip ini seperti tutorial yang ada di sini. Misal, saya bisa sambungkan kabel ke ground untuk coba seperti switch dan dibaca via GPIO. Atau harusnya mainan dengan LED, tapi saya tidak punya breadboard dan LED.

root@chip:/sys/class/gpio# echo 415 > export
root@chip:/sys/class/gpio# cat gpio415/direction
in
root@chip:/sys/class/gpio# cat gpio415/value
1
root@chip:/sys/class/gpio# cat gpio415/value
0

)

Tadi saya pasang Bluetooth dongle yang 4.0 di komputer desktop saya (running Linux Mint). Kemudian menggunakan berbagai tools (bluez, dll.) untuk mencoba pairing dengan SensorTag ini. Belum berhasil. (Saya menggunakan panduan dari sini dan membaca data di sini. Saya lihat ada juga yang mencoba menggunakan python untuk ini.)

[To Do: Javascript vs Python. Pilih bahasa apa untuk kodingnya?]

Jika data sudah sampai di server MQTT – ini di cloud – maka saya akan dapat membuat berbagai aplikasi sendiri. Jadi tujuan akhirnya adalah saya dapat memantau sensor dari internet.

Nah, sekarang belum ada yang jalan … ha ha ha. Jadi masih ada banyak yang harus dikerjakan. Saya akan pilah-pilah dulu. (Divide and conquer.)

Selain itu dalam 2 atau 3 minggu ke dapan saya akan dapat IoT board lain dengan sensor yang langsung dihubungkan dengan boardnya. (Lihat board Espresso di smkholding.com dan DycodeX.)  Ini akan jadi thread yang berbeda. Asyik. Banyak oprekan.

Kewarganegaraan 1.0

Setiap bercerita di depan kelas, atau memulai presentasi, sering saya bercerita tentang perjalanan hidup saya. Saat ini saya sedang dalam versi “3.3”. Ha ha ha. Kayak software saja. Tapi begitulah. Penomoran ini sebetulnya terinsipirasi dari buku karangan Thomas Friedman. (Dia mengarang banyak buku, seperti “The World is Flat” and “The Lexus and Olive Tree”. Tentang globalisasi.)

Friedman bercerita bahwa globalisasi memiliki versi. Pada versi 1.0, globalisasi ditandai dengan keinginan orang untuk menjadi warga negara lain, yaitu warga negera besar seperti Amerika Serikat, Inggris, dan seterusnya. Ini jaman dahulu kala. Kalau kita baca sejarah Indonesia, ada banyak orang Indonesia yang ingin bergabung menjadi bangsa penjajah (“Londo”) karena sangat menyedihkan kalau kita menjadi warga negara terjajah. Ini kewarganegaraan 1.0.

Globalisasi 2.0 terjadi dan kewarganegaraan tidak penting lagi. Yang penting adalah tempat kita bekerja, yaitu multinational companies. Maka banyak mahasiswa yang ditanya kalau lulus mau kerja dimana, jawabannya adalah perusahaan besar seperti Schlumberger, IBM, Citibank, Microsoft, General Electric, dan seterusnya. Dalam perusahaan besar tersebut kewarganegaraan tidak penting lagi. Menjadi “warga negara” perusahaan besar menjadi lebih penting.

Globalisasi 3.0 terjadi karena adanya internet dan pemanfaatan teknologi informasi. Batas fisik dunia tidak ada lagi. Maka tidak penting lagi kewarganegaraan dan perusahaan tempat bekerja, tetapi yang penting adalah diri kita sendiri. You! Maknanya adalah yang lebih penting lagi adalah apa kontribusi Anda ke dunia. What’s your contribution to society.

Maka kalau sekarang kita masih meributkan tentang kewarganegaraan maka sebetulnya kita masih berada pada globalisasi 1.0. Sudah ketinggalan jaman.