Topik Skripsi Jurusan Informatika

Saya masih sering dimintai konsultasi untuk  skripsi mahasiswa. Saya dengan senang hati akan membantu berbagai pertanyaan konkrit yang diajukan, tapi ada satu hal yang tidak akan saya berikan jawabannya: pak bisa minta topik skripsi?

Saya sendiri sudah lama tidak di dunia kampus. Berbagai pertanyaan ini sebagian dari orang yang dikenal di Internet, sebagian lagi karena dirujuk oleh para dosen saya dulu di ITB, teman-teman yang sekarang jadi dosen di berbagai universitas, dan juga adik saya yang juga dosen.

Saya tidak akan menjelaskan panjang lebar apa itu skripsi, kenapa harus menulis skripsi, dsb karena semua bisa dicari di Internet dan bisa ditanyakan ke dosen masing-masing. Saya hanya ingin meminta supaya yang bertanya merenungkan sedikit mengenai ini: Anda kuliah beberapa tahun di universitas tujuannya apa? apakah Anda sudah mengerti ilmu yang diajarkan, atau berharap nanti secara ajaib tiba-tiba menguasai ilmu ketika sudah bekerja?

Inilah kesempatan Anda untuk mengeksplorasi satu topik secara mendalam dengan waktu yang cukup lama tidak seperti tugas kuliah yang sebentar saja. Anda dibolehkan memilih topik sendiri, tidak dipaksa seperti pada tugas kuliah.  Bagi sebagian orang, bahkan ini yang menjadi titik awal mereka mendalami bidang tertentu.

Menurut saya dunia Informatika/Komputer itu sangat luas dan fleksibel dan mudah dihubungkan ke dunia apa saja. Suka bercocok tanam? bisa dibuat sistem terkomputerisasi, dari mulai otomatis menyiram tanaman sampai sistem informasi untuk mempermudah penjualan hasil bumi. 

Suka game tertentu? bisa dieksplorasi apakah bisa dimenangkan menggunakan Machine Learning/AI. Jika lebih suka topik yang berhubungan dengan grafik/game mungkin bisa membuat game engine sejenis. Suka main game multiplayer dan sering dicurangi? mungkin bisa membahas masalah security multiplayer online game.

Sesekali jalan-jalan ke perpustakaan (foto lama perpustakaan ITB)

Berbagai skripsi lama yang di perpustakaan kampus juga bisa dilihat dan bisa direnungkan: apakah topik ini jadi menarik atau lebih berguna jika dibuat versi mobilenya? apakah lebih akurat jika menggunakan Machine Learning? (bahkan topik ML ini ada banyak pendekatan untuk satu masalah). Bahkan topik dari jurusan lain juga bisa dilihat, misalnya identifikasi penyakit pada tanaman: apakah bisa menggunakan machine learning? apakah bisa dibuat versi mobile yang akurat supaya bisa langsung dipakai di lapangan?

Topik skripsi juga tidak harus selalu lebih rumit dari yang sudah pernah ada.  Beberapa topik bisa dibuat versi sederhananya misalnya dengan tujuan agar bisa dijadikan alat bantu pengajaran, atau disederhanakan supaya bisa berjalan di sistem dengan spesifikasi lebih rendah (misalnya embedded system).

Untuk skripsi S1, riset yang perlu dilakukan tidak harus original (untuk level S2/S3 perlu lebih original), artinya boleh saja topiknya serupa dengan yang sudah ada dengan pendekatan/implementasi yang sedikit berbeda. Tapi tentunya tetap tidak boleh menyalin/plagiat. Ada banyak algoritma dan juga teknologi (mulai dari, bahasa pemrograman, sistem operasi, dan hardware yang berbeda) yang bisa membedakan dari skripsi lain yang sudah ada.

Saran saya jika sekarang masih jauh dari skripsi: coba carilah topik yang menarik bagi Anda dan banyaklah membaca berita terbaru untuk mencari inspirasi. Silakan bertanya pada dosen di kampus jika memang dosen tersebut bisa membimbing Anda. Ada beberapa dosen yang memiliki proyek dan memang butuh seseorang mengeksplorasi satu topik tertentu dari riset/proyek dosen tersebut. Tapi perlu diperhatikan bahwa saya pernah menemui adanya dosen yang membuat daftar topik skripsi yang ngawur atau terlalu mengada-ada (mungkin karena terlalu banyak mahasiswa bertanya, jadi dia mengarang saja semuanya).

Semoga tulisan ini cukup memberikan inspirasi supaya Anda tidak bingung lagi mencari topik skripsi. Semoga Anda bisa belajar mengambil keputusan sendiri (topik skripsi), dan bertanggung jawab menyelesaikan keputusan yang Anda ambil itu. Ini (biasanya) adalah tugas terakhir Anda di kampus yang menjadi persiapan sebelum Anda pergi ke dunia kerja (atau jenjang pendidikan yang lebih tinggi).

Hong Kong Trip: Disneyland Day 1

Tulisan ini merupakan bagian dari cerita jalan-jalan kami ke Hong Kong sejak 18 September – 23 September 2018.

Penerbangan Air Asia dari Chiang Mai ke Hong Kong hanya ada 1 kali sehari. Kami berangkat hari Selasa, 18 September jam 6 pagi dan tiba sekitar 9.30 waktu setempat (ada perbedaan waktu 1 jam antara Chiang Mai dan Hong Kong). Setelah urusan imigrasi yang antriannya sangat panjang dan ambil bagasi, kami naik taksi ke Disneyland Resort. Kami memesan Hotel Holywood Disneyland untuk 1 malam dan 2 hari Fun Day tiket plus sarapan untuk hari berikutnya secara online. Karena kami melakukan pemesanan hotel secara online dari situs resmi Disneyland Hong Kong dan melakukan checkin online kami mendapat upgrade kamar dari kelas Standard ke kelas Deluxe tanpa biaya tambahan.

Tips dalam memilih hotel dan paket tambahan di Disneyland hotel, ada berbagai promosi yang kalau ga diperhatikan dengan seksama malah jatuhnya jadi lebih mahal. Promosi juga berbeda-beda, ada promosi pembelian sebelum 21 hari, pembelian sebelum 7 hari dan pembelian sebelum 45 hari, pembelian untuk menginap 3 malam, dan lain-lain. Kami memakai promosi pembelian sebelum 21 hari. Paket sarapan atau makan malam juga merupakan pilihan terpisah yang bisa ditambahkan. Kami memilih paket sarapan, dengan pertimbangan hotelnya jauh dari minimarket dan atau restoran luar. Sekalian juga supaya memaksimalkan pengalaman tinggal di Disneyland Resort. Total pengeluaran kami  HKD 4,642.50 (sekitar 8.9 juta rupiah dengan kurs saat ini) untuk hotel semalam plus sarapan berempat, dan tiket Disneyland 2 hari.

Catatan buat kami ingat, hari Senin sore Jonathan makannya seperti tidak selera, kami sudah ingatkan supaya dia makan dan tetap sehat karena hari Jumat sebelumnya dia muntah-muntah tengah malam. Kami sempat kuatir ga bisa jadi berangkat kalau dia sakitnya tambah parah, apalagi dapat kabar soal topan Mangkut hari Sabtu di Hong Kong bikin hati makin kecut dan sempat kepikiran jangan-jangan kami harus batal berangkat nih. Hari Sabtu sampai Senin Jonathan sudah normal lagi dan baca berita Hong Kong mulai normal sejak hari Senin, jadi optimis bisa berangkat.

Pulang dari co-op senin sore saya sudah packing semuanya dan setelah makan malam kami berencana tidur awal karena harus berangkat dari rumah jam 4 pagi. Tengah malam, tau-tau saya dibangunkan Jonathan karena dia mengeluh sakit perut. Kali ini dia ga muntah-muntah tapi….diare! *sigh* setelah beberapa kali terbangun untuk ke toilet karena dia ga bisa tidur juga, akhirnya Jonathan pindah tidur ke ruang tamu sama papanya supaya ga bikin Joshua terbangun juga, sedangkan saya kebagian bebersih dan menemani Joshua. Setelah dioles minyak kayu putih dan diberi norit, Jonathan masih ke toilet beberapa kali lagi dan akhirnya dia bisa tidur beberapa jam sampai jam berangkat.

Karena sudah sempat ketiduran sejam lebih, saya malah ga bisa tidur lagi. Saya berusaha tidur, tutup mata dan rebahan, tapi ya kuatir kebablasan tidur walau udah set alarm, jadilah saya ga bisa tidur. Waktu saya mulai hampir tertidur, jam 2.30 Joshua mulai gelisah tidurnya, Joshua masih ngantuk dan berusaha tidur lagi, tapi mungkin dia juga merasakan kegelisahan saya yang ga bisa tidur lagi. Akhirnya saya ga tidur sama sekali sampai tiba di Hong Kong karena di pesawat Jonathan dan Joshua gantian tidurnya, jadi otomatis saya ga kebagian jatah tidur deh.

Di pesawat, karena sekarang kami berempat, kami ga bisa lagi duduk dalam 1 group yang sama. Waktu Joshua masih kecil dan bisa dipangku biasanya kami duduk bareng tapi sekarang Joshua sudah harus duduk sendiri. Joshua duduk di dekat jendela, saya di tengah supaya bisa bantu Joshua dan Jonathan, Jonathan di pinggir gang (supaya gampang kalau perlu ke toilet) dan Joe di belakangnya Joshua (dekat jendela juga). Waktu check-in online awalnya kami berniat ga beli kursi, tapi ternyata sistem AirAsia tidak mempertimbangkan anak kecil harus bersama-sama dengan orangtuanya. Anehnya malahan saya yang terpisah dari anak-anak. Kami beli kursi yang standard seat saja, tapi itupun ada beberapa kali hampir gagal beli kursi yang kami pilih. Karena kami udah sering mengalami gagal pilih kursi, Joe udah tau cara untuk memaksa sistem menerima pilihan kami.

Pemilihan kursi Joe di belakang Joshua ini cukup bagus, karena Joshua jadi senang main peek-a-boo sama papanya. Waktu saya harus bantu Jonathan ke toilet, Joshua juga bisa tenang main sama Joe. Untungnya karena Jonathan sudah bisa tidur beberapa jam, perutnya sudah tidak terlalu bergejolak dan hanya 2 kali ke toilet sebelum naik pesawat, dan di pesawat dia ke toilet cuma untuk pipis. Tapi dari pengalaman terbang kali ini, semakin yakin punya anak cukup 2 saja, soalnya kalau nambah 1 lagi bakal tambah repot pengaturan kursinya hehe.

Waktu resmi untuk check in hotel sebenernya dimulai jam 3 siang, tapi kami cukup beruntung karena kami bisa early check in. Jam 12 siang waktu Hongkong kami sudah bisa masuk kamar. Walaupun belum jam makan siang kalau ikutin perut Chiang Mai, kami memutuskan untuk snacking dulu sebelum ke Disneyland. Jonathan belum bisa makan banyak, tapi sudah lumayan selera dan ga ada perasaan mual. Joshua minta kokocrunch dan saya dan Joe ngabisin makanan yang udah dipesan di pesawat tapi ga jadi dimakan karena Joshua lebih memilih nasi ketan mangga daripada pasta yang kami pesan.

Setelah istirahat sekitar sejam lebih di kamar, kami memutuskan untuk mengunjungi Disneyland hari pertama. Dari Hotel ke tempat bermain disediakan shuttle. Ada 3 hotel yang bisa dipilih di Disneyland Resort, perbedaannya lebih lengkapnya dijelaskan di websitenya. Hotel yang kami pilih merupakan hotel yang termurah dan terdekat dari jalur Shuttle ke Disneyland. Naik shuttle cuma sebentar, kami liat ada tempat untuk titip koper sebelum masuk ke Disneylandnya. Di gerbang masuk mereka memeriksa tas sebelum cek tiket dan memasukkan finger print untuk orangtua. Disneyland menerapkan aturan larangan piknik di dalam lokasi Disney, tapi beberapa makanan minuman ringan yang kami bawa tetap diijinkan untuk dibawa masuk tanpa masalah. Mungkin yang ga boleh kalau kami bawa keranjang piknik besar ya hehehehe.

Waktu memesan tiket kami tidak tau kalau Disneyland sudah bersiap-siap dengan tema Haloween. Untungnya mereka haloweennya lebih ke pesta kostum dan sekedar hiasan pumpkin. Kami ga pernah ikut-ikutan acara haloween, jadi bisa dibilang anak-anak biasa aja sih dengan haloween ini. Setiba kami di dalam tempat bermain sedang ada parade. Tokoh-tokoh Disney menari-nari dan bernyanyi. Ada yang berlompat-lompatan. Anak-anak cukup terhibur melihatnya dan lagunya karena diulang-ulang, anak-anak jadi cepat bisa mengikutinya. Rasa kepanasan berjalan dari turun shuttle ke dalam terbayar sedikit. Dalam hati saya agak bertanya-tanya, mereka ga kepanasan ya pakai kostum tebal begitu. Trus kadang-kadang terpikir, kira-kira buat yang kerja di Disneyland ini ada rasa bosan ga ya, karena mereka harus tetap tersenyum walau capek keringatan menghibur tamu yang berkunjung.

Sewa stroller

Karena kami ga membawa stroller dari Chiang Mai, kami menyewa stroller di dalam Disneyland, selain supaya ga berat gendong juga supaya Joshua bisa tidur siang. Tapi ternyata strollernya agak kekecilan buat Joshua walau katanya bisa untuk anak sampai 25 kg (Joshua sekarang sekitar 21-22 kg). Awalnya Joshua gak mau duduk di stroller, tapi akhirnya dia mau juga, dan sesuai harapan dia bisa tidur di stroller. 

Disneyland HongKong menyediakan aplikasi yang bisa diinstal di HP android untuk mengetahui waktu tunggu setiap wahana permainan dan status apakah wahananya buka/tutup. Aplikasinya membutuhkan koneksi internet tentunya. Di banyak tempat di Hong Kong tersedia hotspot gratis termasuk di dalam Disneyland. Beberapa titik hotspotnya menghilang dan butuh untuk klik persetujuan lagi untuk terkoneksi ke WIFI nya. Koneksi wi-fi yang sering menghilang ini kadang agak menjengkelkan, terutama jadi ga bisa hatching telur Pokemon walau jalan sampai 14 ribu langkah.

Selesai melihat parade, kami mulai hunting ke wahana permainan. Jalanan yang pertama ditemui (Main Street, tempat parade) banyak toko-toko jualan. Saya sempat kepikir wah ini Disneyland atau pasar sih, isinya jualan semua dan mahal pula. Akhirnya kami memutuskan ke Adventure Land terlebih dahulu (ada beberapa theme di dalam Disneyland). Jalannya lumayan jauh rasanya, apalagi karena belum tau arah tujuan. Jonathan udah mengeluh karena matahari sangat terik juga. Jonathan bilang mau balik aja deh ke hotel. Karena Joshua ketiduran di stroller, saya suruh Joe dan Jonathan saja yang mencoba wahana pertama. Mereka mencoba permainan sejenis roller coaster (Big Grizzly Mountain Runaway Mine Cars) . Awalnya saya pikir Jonathan akan ketakutan, ternyata dia malah semangat cerita ke saya dan menyuruh saya mencoba juga. Jadilah gantian menjagain Joshua tidur giliran saya mencoba roller coasternya sendiri.

Setelah merasakan roller coaster, Jonathan berubah pikiran soal Disneyland, dia mulai bilang Disney is fun. Walau begitu, dia tetep komplain kalau jalannya jauh dan panas haha. Setelah naik wahana roller coaster grizzly bear, berikutnya kami naik carousel. Kali ini Joshua sudah bangun, jadi kami ber-4 naik ke carousel. 

Karena hari sangat panas, kami mencari permainan yang teduh. Selesai naik carousel kami mencoba masuk ke studio theater 4D. Awalnya anak-anak cukup bisa menikmati, Joshua malah berusaha memegang tokoh yang seolah-olah keluar dari layar. Tapi di akhir cerita ada bagian yang terlalu realistis seperti ada barang dilempar-lempar ke arah penonton dan Joshua sukses nangis hahaha. Udah bagus sih sebenernya, mengingat ada anak lain yang baru 2 menit film di mulai udah nangis dan sampai harus dibawa keluar oleh orangtuanya.

Selesai nonton theater 4D kami berputar sebentar di Fairy Tale Forest. Setelah itu kami lihat ada parade haloween di Main Street, kami nonton parade sekitar 30 menit dan tau-tau udah jam 5 sore aja. Karena merasa belum makan siang yang bener, kami memutuskan untuk makan siang dan malam di rangkap.

Starliner Diner

Di dalam Disneyland ada beberapa restoran, kami memilih makan di restoran dengan tema luar angkasa di Tomorrow Land. Selesai makan, udah sore aja dan karena udah capek kami memutuskan untuk pulang. Sebelum pulang, kami kembalikan stroller dan ambil uang lagi di ATM. Waktu tiba di Bandara, kami ga lihat ada atm, dan cuma liat money changer. Di money changer nilai tukar baht lebih jelek dibandingkan tarik tunai uang rupiah di ATM.

Kami membawa beberapa kotak susu buat Joshua, tadinya kata Joe bisa beli aja kalau kurang, eh ternyata di Disneyland kami ga menemukan sama sekali yang jual susu. Minuman botol juga cukup mahal, rata-rata 28 – 40 HKD (harga sama di semua tempat, termasuk juga di vending machine). Dari paketnya kami  dapet 4 kupon popcorn (yang cuma kami tukarkan 2 soalnya udara panas kurang enak makan popcorn, tambah haus).

Sampai hotel, ga nemu minimart yang jual susu atau minuman, adanya toko jualan cenderamata yang bergambar tokoh Disney. Tadinya mau beli untuk persediaan saja karena yang di bawa sudah mulai habis, tapi ya jadinya ga beli deh. Agak heran sebenarnya kenapa ga ada yang jual susu di Disneyland, tapi ga tahu juga mau nanya ke siapa hehehe.

Sampai hotel, kami mandi dan ganti baju tidur. Jonathan dan Joshua ga pake disuruh lama langsung tidur deh setelah main-main di bath tub. Di Disneyland hotel kita bisa pesan pembatas tempat tidur, jadi saya ga kuatir Joshua jatuh dari tempat tidur (di Chiang Mai kami gelar kasur di lantai sejak Joshua bayi.)

Berhubung ceritanya sudah panjang, sepertinya cerita Disneyland hari ke-2 harus dipost terpisah. Kesimpulan hari pertama: kalau ke Disneyland Hong Kong, siapkan perlengkapan topi, kacamata hitam dan sepatu/sendal yang nyaman untuk digunakan berjalan, karena kebanyakan tempat terbuka dan akan banyak berjalan. Kalau mau bawa payung juga bisa, tapi lebih repot dibandingkan topi dan kacamata hitam. Kalau anak masih minum susu, sebaiknya bawa daripada repot nyarinya. Oh ya, pakai lotion yang mengandung spf juga supaya kulit tidak gosong. Banyak minum/bawa botol minuman, di Hongkong Disneyland ada banyak tempat untuk minum air yang lokasinya biasanya berada dekat kamar mandi. Tapi entah kenapa di hari pertama, kami hanya ketemu 1 tempat untuk mengisi botol minum.

Text-to-Speech untuk mainan

Joshua sangat menyukai huruf dan angka. Di usianya sekarang (3 tahun) dia sangat suka alfabet. Dia bisa menyebut nama alfabet dalam bahasa Inggris dan Indonesia, bisa mengingat urutan alfabet  dari depan ke belakang dan sebaliknya, bisa menuliskan semua huruf besar dan kecil. Selain itu Joshua juga suka alfabet Thai, dalam sekitar 2 minggu dia sudah mengingat nama semua 44 konsonan dan cara menuliskannya.

Mainan ini bisa mengucapkan kata-kata tertentu, misalnya APPLE, BALL, dsb

Setelah suka alfabet, Joshua suka belajar membaca dan juga menulis, termasuk juga mengetik di komputer. Dia sangat senang dibelikan mainan tablet alfabet di atas. Mainan di atas disertai beberapa buku, di buku itu ada kata-kata yang bisa “diketikkan”, dan setelah selesai  kata itu akan diucapkan oleh tablet tersebut.

Sayangnya jumlah kata-kata yang tidak banyak dan Joshua sudah bosan dengan semuanya. Kadang dia berusaha mengeja kata tertentu tapi tidak keluar suaranya. Tadinya kepikiran untuk membongkar benda itu dan memodifikasi supaya support lebih banyak kata, tapi sepertinya repot dan akan butuh waktu lama.

Setiap kali dekat saya, Joshua akan minta ikutan ngetik di keyboard saya, dan kadang kalau saya sedang bekerja, saya biarkan dia memakai Pinebook , Raspberry Pi atau Laptop yang kebetulan ada di samping saya sekedar untuk mengetik di editor teks atau LibreOffice. Tiap kali mengetik sesuatu dia akan meminta perhatian saya sambil mengucapkan apa yang baru diketiknya: “papa, APPLE”

Supaya lebih seru, saya buatkan web app kecil  dengan JS dan PHP untuk mengucapkan kata yang baru dia ketik. Pengucapannya memakai fitur dari Google Translate. Tampilannya sangat sederhana: masukkan teks dan tekan enter, suaranya akan keluar. Joshua sudah mengerti memakai backspace untuk menghapus karakter yang sudah diketik.

Sebenarnya aplikasi ini tidak butuh server, bisa langsung tembak ke URL Google translate, tapi saya agak khawatir bisa kena rate limit atau ban temporer, atau bahkan protokolnya berubah sama sekali. Jadi saya buatkan sisi server untuk mengontak Google untuk mengucapkan kata-kata, dan menyimpan ke disk dan berikutnya jika kata yang sama diminta lagi maka akan diambil dari disk. Andaikan Google mengubah URL/protokolnya, nanti bisa diganti dengan Text-to-speech offline atau dari layanan lain.

Tampilan program

Kode program baik untuk sisi server maupun client hanya beberapa baris, tapi cukup menghibur Joshua selama beberapa bulan terakhir ini. 

Dan ini kode servernya

Kode singkat tersebut tentunya bisa ditambahi banyak fitur, tapi saat ini masih takut terlalu membingungkan untuk Joshua. Misalnya saya terpikir untuk menambahkan fitur warna pada teks karena dia suka menuliskan nama tokoh Paw Patrol dengan warna yang sama dengan warna pakaian mereka (Marshall merah, Chase biru, dst).

Untuk yang belum tahu: Google sebenarnya punya API text to speech yang resmi, tapi lebih rumit. Untuk sekedar mainan, cara “menembak” URL Google translate sudah cukup, tapi jika ingin dipakai untuk proyek serius, sebaiknya pakailah API-nya yang berbayar. 

Harddisk yang tidak pernah cukup

Ini sekedar cerita dan catatan kenapa desktop saya sekarang punya 3 SSD dan 3 HDD, dan kenapa saya punya komputer lain yang jadi server dengan 1 SSD dan 3 HDD. Ceritanya ini juga sekaligus jadi catatan untuk diri sendiri.

Singkatnya kalau Anda rajin bereksperimen seperti saya, ruang harddisk sepertinya akan selalu tidak cukup. Misalnya ingin mengcompile ROM Android (bukan aplikasi Android, tapi source code kernel, OS dan berbagai aplikasi Android yang membentuk ROM Android), satu versi saja butuh disk space 100 GB untuk source codenya dan 150 GB lagi untuk membuild-nya. Sedangkan untuk development aplikasi Android juga butuh space cukup banyak: folder .android saya (yang berisi SDK dan VM, tidak semua versi saya install) sudah 20GB.

Mengcompile Firefox? butuh 30 GB, Chromium butuh 100 GB. Belum lagi ketika eksperimen dengan Raspberry Pi atau yang lain: tiap backup 1 SD Card biasanya seukuran SD cardnya (umumnya saya memakai 8-32 GB, tergantung devicenya).

Bisa dibayangkan juga berapa lama perlu download source code semuanya. Setelah selesai bereksperimen tentu semuanya bisa dihapus, tapi berapa jam lagi harus download jika ingin mulai lagi? kadang masih lebih baik menyimpan versi lama dan ketika ingin bereksperimen dengan versi baru tinggal “git pull” (atau sejenisnya).

Selama lebih dari 5 tahun saya pernah eksklusif memakai Linux di Desktop, bahkan akan saya bela-belain memakai Wine untuk menjalankan aplikasi tertentu yang hanya jalan di Windows. Tapi sejak punya anak, saya ingin lebih banyak bekerja dibandingkan berantem dengan tool. Saat itu Windows sudah cukup bagus. Kebanyakan tools support Windows dan saya tidak perlu mengakali banyak hal, saya juga menyiapkan server Linux terpisah jika ada kebutuhan oprek di Linux. Sudah berkali-kali saya mencoba Linux di VM dan sering ada masalah kecil terutama jika sudah berusaha mengakses hardware, jadi komputer server terpisah lebih masuk akal.

Enam tahun yang lalu saya kembali memakai Windows di Desktop dengan SSD yang ukurannya cuma 60 GB. Tentunya ini nggak cukup untuk berbagai aplikasi dan virtual machine, jadi konfigurasi desktop saat itu:

  • 1 SSD untuk Windows (60 GB)
  • 1 HDD untuk data, program besar, dsb (1 TB)

Waktu itu server Linux dipakai untuk development Linux dan juga sekaligus server media yang berisi musik dan film (dulu Netflix belum masuk Thailand jadi kombinasi antara membajak dan rip dari DVD). Saya mulai dengan 1 HDD saja. Jadi konfigurasi server:

  • 1 HDD (OS + Data, 1 TB)

Suatu saat harddisk yang berisi data di desktop saya rusak, seingat saya itu baru kali pertama saya mengalami harddisk yang tiba-tiba error tidak terbaca tanpa ada gejala apa-apa. Untungnya sebagian data sudah dibackup, tapi tetap butuh waktu restore dan ribet bekerja dengan 1 SSD 60 GB saja. Saya tidak ingin kejadian seperti ini lagi: saya beli 2 HDD yang saya set dengan konfigurasi RAID-1, sekarang konfigurasi desktop:

  • 1 SSD untuk Windows (60 GB)
  • 2 HDD (RAID) untuk data, program, dsb (1 TB)

Saya memakai RAID software Windows, karena jika memakai RAID dari hardware (motherboard/BIOS) jika ada masalah maka recoverynya sulit dan sulit berpindah ke merk lain. Tapi lama-lama harddisk RAID ini penuh karena saya banyak bereksperimen dengan virtual machine (VM). Satu VM bisa belasan hingga puluhan GB. Belum lagi installer masing-masing OS untuk berbagai sistem operasi.

Nah masalah dengan RAID ini: jika ingin mengupgrade ukuran disk ya harus beli sekaligus 2 disk. Padahal kedua disk ini masih baik-baik saja. Jadi akhirnya saya putuskan: 1 HDD lagi untuk hal-hal yang kurang penting seperti installer, VM, source code open source. Kalaupun rusak tidak apa-apa, datanya bisa dibuat ulang atau didownload ulang. Jadi sekarang konfigurasi desktop:

  • 1 SSD untuk Windows (60 GB)
  • 2 HDD (RAID) untuk foto, dokumen penting (1 TB)
  • 1 HDD (non- RAID) untuk berbagai file besar yang kurang penting (2 TB)

Saya akhirnya mengupgrade SSD desktop dari 60 GB, jadi 180 GB, lalu kemudian jadi 480 GB karena makin banyak hal-hal yang perlu diakses dengan cepat. SSD lama saya pindahkan ke server dengan 2 tujuan: (1) Mudah upgrade kapasitas data karena Sistem operasi ada di SSD terpisah (tidak perlu reinstall/copy), dan (2) server akan lebih booting cepat dengan SSD. Jadi konfigurasi server:

  • 1 SSD (Linux, 60 GB)
  • 1 HDD (Film, musik, 1 TB)

Meskipun saya merasa desktop saya cukup powerful, tapi saya tidak bisa melakukan semua hal di desktop, contohnya: Development atau pentest aplikasi iOS. Saya punya Macbook dan hasil pekerjaannya perlu dibackup. Risna dan saya juga kadang bekerja memakai laptop, ini pun perlu dibackup. Saya memakai git untuk menyimpan source code, dan saya juga butuh backup database, dan berbagai file penting lain. Semua ini saya backup ke server.

Sebagai catatan: saya sudah memakai Dropbox, OneDrive dan Google Drive untuk backup data penting di cloud. Tapi saya juga tidak 100% percaya dengan cloud. Saya juga mengikuti berbagai berita cloud storage dengan seksama. Misalnya banyak yang tidak tahu kalo OneDrive dulunya tidak punya file history (dan kelabakan ketika kena malware) dan baru pada July 2017 mereka mengimplementasikan fitur tersebut. Bagi saya: lebih baik punya backup ekstra daripada ketika butuh file internet sedang mati atau lambat.

Akhirnya saya mulai khawatir karena mulai banyak data penting di server, jadi saya tambahkan 2 HDD (RAID) jadi sekarang konfigurasi server:

  • 1 SSD (Linux, 60 GB)
  • 1 HDD (Film, Musik, 1 TB)
  • 2 HDD (RAID, backup data penting, 2 TB)

Selama beberapa tahun saya tidak butuh sama sekali akses ke desktop Linux. Biasanya hanya butuh akses console (di server) atau sesekali cukup menggunakan VM. Tapi karena ada proyek yang butuh akses desktop Linux untuk hardware tertentu dan tidak cukup memakai VM, maka saya tambahkan lagi 1 SSD lama dari laptop yang hanya 60 GB ke desktop dan saya isi Linux. Dengan ini saya bisa dual boot ke Linux.

  • 1 SSD untuk OS Windows (480)
  • 2 HDD (RAID) untuk foto, dokumen penting (2 TB)
  • 1 HDD (non- RAID) untuk berbagai file besar yang kurang penting (3 TB)
  • 1 SSD untuk OS Linux (60 GB)

Di sini ternyata harddisk Non-RAID (HDD oprekan) menjadi penting untuk bertukar data dengan Windows karena sangat sulit mengakses data di RAID Windows dari Linux dan rawan error.

Sebagai catatan, meskipun lebih dari 95% pekerjaan bisa dilakukan di dalam virtual machine, tapi beberapa hal tetap butuh OS dengan akses hardware langsung. Beberapa hardware dengan mudah saya hubungkan ke server dan diprogram secara remote, tapi tidak semua pemrograman sifatnya non visual.

Contoh: akses GPU langsung di dalam VM cuma bisa dengan konfigurasi hardware/software tertentu dan kadang tetap error. Saya juga cuma punya GPU bagus di desktop, jadi kalau butuh akses GPU di Linux ya harus dual boot.

Contoh lain: Emulator Android x86 sangat lambat di Windows jika memakai prosesor AMD karena sampai bulan lalu tidak mendukung virtualization, dan baru saja ditambahkan fitur supaya virtualization bisa dipakai di Windows dengan prosesor AMD. Untuk prosesor Intel dari dulu ada software Intel® Hardware Accelerated Execution Manager/HAXM di Windows/macOS. Untuk prosessor AMD di Linux bisa memakai KVM (Kernel Based Virtual Machine) tapi dulu tidak ada solusinya di Windows.

Belum lama ini ketika saya mengerjakan proyek Raspberry Pi, ternyata tetap harus di depan Pi-nya karena akses kamera dengan tunelling ke HDMI tidak bisa diemulasikan dengan Qemu. Berbahagialah Anda kalau pekerjaan programming Anda masih bisa ditangani dengan emulator/virtual machine.

Setelah proyek yang berhubungan dengan Linux selesai, saya sudah melupakan Linuxnya dan saya biarkan SSD-nya (siapa tahu butuh lagi). Sekarang saya kembali berurusan dengan proyek yang butuh akses Linux. Kali ini 60 GB untuk Linux tidak cukup, dan tadinya terpikir untuk membeli lagi SSD 240 GB atau yang lebih besar, tapi kemudian ingat masih punya SSD lama 60 GB.

Karena masih malas untuk membeli SSD baru (plus harus mengcopy OS), saya colok saja SSD ini. Untungnya casing saya punya slot SATA sehingga jika butuh disk sementara bisa dicolok.

  • 1 SSD untuk Windows (480 GB)
  • 2 HDD (RAID) untuk foto, dokumen penting (2 TB)
  • 1 HDD (non- RAID) untuk berbagai file besar yang kurang penting (3 TB)
  • 1 SSD untuk OS Linux (60 GB)
  • 1 SSD untuk data di Linux (60 GB)

Bagian terakhir ini sifatnya sementara, dan nanti rencananya untuk kedua SSD untuk Linux ini akan saya ganti saja dengan SSD lebih besar.

Sejauh ini saya tidak menyesali konfigurasi saat ini. Setelah memakai RAID ternyata sudah kejadian 2 kali salah satu harddisknya rusak dan bisa segera direcover. Meskipun sepertinya merepotkan punya banyak disk, tapi lebih repot lagi kalau data kita hilang.

Memakai SSD terpisah untuk Windows dan Linux juga terkesan boros (kenapa nggak satu SSD aja dipartisi?). Tapi menurut saya ini lebih reliable, jika SSDnya error saya masih bisa mengakses data dari OS lain, jika ingin mengupgrade salah satunya juga lebih gampang.

Sebagai catatan, tulisan ini dibuat karena saya baru beli HDD 4 TB sebagai pengganti disk 3TB yang sudah mulai penuh. Semoga ini bisa bertahan cukup lama.

Menghindari Mengingat dan Menghapal

Semua orang bisa mengingat banyak hal yang berkesan bagi mereka, tapi jarang yang bisa mengingat semua hal dengan baik. Karena kapasitas memori saya terbatas, saya  berusaha melakukan berbagai cara untuk berusaha tidak menghapal/mengingat sesuatu ini.

Sayangnya saat ini kita belum bisa mengupgrade otak dengan kapasitas memori lebih tinggi

Memahami

Cara pertama untuk tidak perlu mengingat adalah dengan memahami. Jika kita sudah paham sesuatu, maka biasanya kita akan ingat. Beberapa detail bisa dicek di search engine dan bisa melihat catatan. Memahami sesuatu memang tidak mudah baik itu konsep baru, bahasa baru, tools baru, tapi setelah paham akan lebih mudah untuk mengingat sesuatu. Lanjutkan membaca “Menghindari Mengingat dan Menghapal”

AlphaSmart Dana

AlphaSmart Dana adalah device Palm OS lama dengan form factor keyboard yang sudah tidak diproduksi lagi. Device ini dulu cukup populer di banyak sekolah di Amerika, terutama digunakan untuk anak-anak yang kesulitan menulis dengan pulpen/pensil. Device ini saat ini masih populer di kalangan penulis karena beberapa hal: keyboardnya enak dipakai untuk mengetik, minim gangguan (karena tidak bisa mengakses internet), relatif ringan (sekitar 1 kg), memakai 3 Batere AA biasa (atau yang rechargable) dan tahan beberapa puluh jam sebelum perlu mengganti batere lagi. Ada dua versi Dana, Wireless dan non wireless, yang akan dibahas di sini adalah versi wireless yang kami punya.

Stiker biru kecil di tengah Dana itu ditempelkan supaya gampang membedakan dari Dana yang lain.

Untuk mentransfer data ke komputer, ada beberapa opsi. Opsi pertama adalah menggunakan mode keyboard, dengan ini seolah-olah Alphasmart akan “mengetik ulang” isi file ke editor apapun yang terbuka di layar komputer. Dengan cara ini AlphaSmart Dana bisa terkoneksi ke device apa saja yang menerima input dari USB keyboard (termasuk juga tablet atau ponsel, asalkan bisa memberikan cukup daya). Kabel yang digunakan adalah kabel USB printer standar. Opsi kedua adalah dengan menggunakan jaringan WIFI (sayangnya yang disupport hanya WEP). Opsi terakhir adalah dengan menggunakan SD Card Lanjutkan membaca “AlphaSmart Dana”

11 Tahun di Chiang Mai

Wow, siapa sangka kami bisa betah sampai 11 tahun di Chiang Mai. Rasanya dulu kalau dibilang harus di Chiang Mai sampai lebih dari 11 tahun kemungkinan saya bakal bisikin Joe buat cari kota lain aja buat tinggal. Tapi sejak pertama kali mendarat ke kota ini saya langsung suka dengan suasananya. Cuaca di awal Mei agak adem karena mulai memasuki musim hujan, jalanan sepi karena anak sekolah masih pada libur dan warna langitnya cerah.  Awalnya saya pikir kota ini akan dingin seperti Bandung, tapi ternyata nggak.

Populasi orang Indonesia pada saat itu juga masih langka. Sampai dengan 4 tahun pertama rasanya belum ada komunitas orang Indonesia di Chiang Mai seperti sekarang ini (sekarang anak kecilnya aja lebih dari 10 kalo kumpul lengkap). Komunitas orang Indonesia di Chiang Mai ini beraneka ragam, biasanya tiap beberapa tahun ada yang pindah tapi juga selalu ada yang baru datang lagi. Beberapa orang awalnya rencana hanya sebentar saja tapi kemudian jadi betah dan tinggal lama di sini seperti kami.

Banyak yang bertanya ke kami kenapa bisa betah di Chiang Mai, dan apakah anak-anak bisa berbahasa Thai? terus gimana sekolah anak-anak? Ada rencana pulang gak ke Indonesia atau mau selamanya di Chiang Mai?.

Kami betah di sini faktor paling berasa itu aman dan nyaman. Kalau di Indonesia rasanya ke mall atau ke tempat keramaian itu harus waspada 100 persen, terus di banyak tempat yang jelas-jelas ada tulisan dilarang merokok tetap saja berasa banget bau asap rokok (padahal ruang ber AC). Kalau di sini selama 11 tahun kami jarang ketemu orang merokok, dan gak pernah merasa ruangan dalam airport bau rokok. Ini cuma salah satu contoh ya, karena saya sangat sensitif dengan bau asap rokok, jadi biasanya begitu sampe Indonesia, masih di airport saja saya sudah merasa gak nyaman dengan bau rokok dalam ruangan airport, berikutnya perasaan jengkel kalau koper kena kapur dan disuruh buka padahal isinya ga ada yang luar biasa.

Selama 11 tahun di Chiang Mai, dengan frekuensi hampir tiap tahun pulang minimal sekali, kami belum pernah disuruh buka koper di airport. Masalah keamanan di sini juga relatif lebih aman, kami bisa dengan tanpa kuatir meletakkan beberapa perabotan rumah seperti tabung gas, mesin cuci ataupun sepeda anak-anak di luar rumah. Saya inget mertua saya cerita kalau pot bunga yang dia letakkan di dekat pagar rumah saja bisa hilang. Mama saya juga sampai pernah komentar memastikan itu mesin cuci gak hilang kalau diletakkan di luar?.

Sebenernya menuliskan hal soal ketidakamanan dan ketidaknyamanan di Indonesia membuat saya merasa malu, kenapa saya jadi terkesan Indonesia nggak ada bagusnya ya? Indonesia itu banyak hal bagusnya, beberapa kali kamipun mulai bertanya-tanya apakah kami akan selamanya di negeri orang atau pulang saja ke Indonesia. Faktor yang menjadi pertimbangan pulang ya seperti kata pepatah, seenak-enaknya di negeri orang pasti lebih enak di negeri sendiri.

Di sini kami setiap tahun harus mengurus ijin tinggal, lalu setiap 90 hari harus lapor diri ke imigrasi. Setiap mau travel keluar dari Thailand harus urus reentry visa. Semua urusan itu tentunya tidak dibutuhkan kalau tinggal di Indonesia. Makanan di Indonesia juga masih tetap terasa lebih enak, apalagi kalau dimasakin mama atau mertua hahaha.

Beberapa hal lain yang bikin betah di sini adalah akses internet bisa lebih cepat dan lebih stabil. Layanan perbankan juga buka 7 hari seminggu (sampai malam di mall). Daya listrik yang cukup besar buat pasang AC di semua kamar tidur (asal kuat bayarnya) dan relatif jarang ada pemadaman sampe seharian penuh.

Setelah tinggal di Chiang Mai kami juga jadi merasa biasa makan pake ketan sebagai pengganti nasi. Dulu di Indonesia makan ketan itu dianggap cemilan, udah makan ketan masih harus makan nasi lagi. Awal-awal di sini saya juga merasa aneh makan siang pake somtam (papaya salad) dan nasi yang rasanya sekilas seperti asinan bogor tapi sekarang hal itu udah jadi ga aneh lagi. Makanan yang paling signifikan beda dengan di Indonesia adalah menu pork. Mayoritas penduduk Thailand beragama Buddha, sebagian vegetarian tapi mayoritas menu makanan pasti ada pork nya. Saya masih inget, jaman mahasiswa di Bandung, menu makanan yang ada porknya dianggap istimewa dan dicari-cari seperti barang langka, di sini menu dengan beef yang menjadi makanan langka.

Setelah 11 tahun di Chiang Mai, saya makin merasa betah karena vocabulary bahasa Thai saya sudah semakin banyak. Membaca tulisan Thai masih tetap jadi tantangan karena ga ada kebutuhan yang mengharuskannya saya membaca banyak tulisan Thai. Anak-anak di rumah malah kebanyakan berbahasa Inggris.

Jonathan kebanyakan bicara bahasa Inggris sejak disekolahkan ke sekolah internasional. Sejak tahun lalu kami memutuskan Jonathan sekolah di rumah saja, dan sekarang dia mulai banyak juga bicara bahasa Indonesia. Kami juga mendaftarkan Jonathan kumon Thai dan dia mulai bisa membaca dan menulis bahasa Thai.

Joshua masih belum mau ke daycare, bulan Maret lalu kami coba kirim ke daycare, tiap hari masih nangis dan baru 2 minggu sekolah dia ketularan batuk pilek parah, jadi kami ga terusin kirim dia ke daycare. Joshua kebanyakan kosakatanya menggunakan bahasa Inggris, sepertinya karena buku yang kami bacakan dan lagu nursery rhymes yang dia lihat dan dengar juga berbahasa Inggris. Jonathan juga seringnya ajak Joshua komunikasi pakai bahasa Inggris. Joshua ngerti bahasa Indonesia, dia tapi masih lebih suka belajar apapun dalam bahasa Inggris. Mudah-mudahan kalau makin besar Joshua mau belajar bahasa Indonesia dan Thai juga.

Waduh tulisan mau update singkat jadi panjang aja.Ga bisa meresumekan 11 tahun dalam beberapa paragraph saja. Tapi sepertinya cukup dulu updatenya, semoga besok bisa melanjutkan tulisan seputar Chiang Mai.