12/22/2016

Mendapatkan Impulse Response menggunakan sinyal TSP

Hello, kali ini sedikit akan membahas tentang akustik lagi yaitu impulse response. Impulse response atau transfer function bisa dikatakan sebuah model dari propagasi suara. Dalam prakteknya, propagasi suara akan berbeda-beda tergantung pada lingkungannya. Misalnya seperti diilustrasikan pada gambar di bawah, suara yang direkam oleh mikrofon tidak hanya berasal langsung dari mulut pembicara, tetapi termasuk juga refleksi dari lantai ataupun dinding. Bagaimana suatu lingkungan mempengaruhi suara dapat dideskripsikan oleh impulse response dan inilah yang akan kita coba ukur.
 
Ilustrasi suara langsung dengan beberapa refleksi
Pada tulisan ini, saya membuat code untuk TSP menggunakan Octave berdasarkan referensi paper berikut ini: "Suzuki, Y., Asano, F., Kim, H. Y., & Sone, T. (1995). An optimum computer‐generated pulse signal suitable for the measurement of very long impulse responses. The Journal of the Acoustical Society of America, 97(2), 1119-1123". Hasil program berupa suara TSP yang kemudian dibunyikan oleh speaker dan direkam oleh mikrofon. Hasil rekaman akan dianalisa kembali oleh program dan hasil akhirnya berupa impulse response dari tempat yang kita ukur. Gambar di bawah ini menunjukkan contoh hasil impulse response yang telah diberi label dan diplot dalam grafik semi-log time domain.

Contoh impulse response yang telah diberi label dan diplot dalam grafik semi-log time domain.

8/17/2016

SoftEther dan VPN Azure Cloud: Konek ke Target Local Network Anda (dari internet) via Raspberry Pi Zero

Mungkin kalian sudah tahu bahwa jika kita konek ke Free Public WiFi, ada kemungkinan seseorang bisa melihat aktivitas online yang sedang kita lakukan misalnya menggunakan Packet Sniffer. Tapi jangan khawatir, ketika kita berhasil menginstall vpnserver di lokal network kita, internet browsing akan dienkripsi dan lebih aman. Ini akan membuat komputer kita berpikir bahwa komputer sedang terhubung dengan lokal network padahal kita berada di tempat yang mungkin bermil-mil jauhnya.

Terinspirasi ketika menonton Fast and Furious 7 dimana Si-hacker berhasil meretas suatu network dari internet dengan bermodal handphone yang berhasil terkoneksi dengan target lokal network, tulisan kali ini akan membahas bagaimana cara menginstall softether vpnserver pada small device, yaitu Raspberry Pi Zero, dan mengaktifkan VPN Azure Relay Service untuk menembus firewall (karena kita akan menggunakan port 443 yang biasa digunakan oleh https). Sehingga jika kita ingin konek ke lokal network kantor, cukup dengan mengaktifkan Raspberry Pi Zero (yang terinstall autostart vpnserver) serta menghubungkan kabel LAN RPi pada lokal network kantor. Alhasil, kita akan bisa mengakses komputer kantor seolah-olah kita sedang berada di sana (lihat ilustrasi di bawah ini). Selamat mencoba.

7/29/2016

Menemukan Pola dalam Data Sekuensial - Locally Optimal Patterns -

Hello,. tulisan kali ini sedikit akan bermain dengan data mining, yaitu terkait bagaimana cara kita mengekstrak informasi dari suatu data set dan mentransformasikannya ke dalam bentuk yang mudah dipahami untuk keperluan analisa lebih lanjut. Bayangkan saja jika kita mempunyai ribuan atau mungkin jutaan data, maka menampilkan hanya data statistik beserta distribusinya akan menjadi tidak cukup untuk menjelaskan perilaku (behaviour) dari suatu data set. Sehingga menemukan pola (pattern) atau sejumlah data yang bersifat paling informatif dari sekumpulan data set akan menjadi hal yang saya kira sangat penting untuk dipelajari.

Seperti halnya pada tulisan-tulisan sebelumnya (seperti PSO, ICA, PCA dll), tulisan kali ini lebih menekankan pada bagaimana cara kita menggunakan suatu persamaan ketimbang cara mendapatkan atau menurunkannya (ini kerjaan orang matematik saya kira hehehe). Sedangkan, paper yang akan dibahas pada tulisan kali ini berjudul "Optimal Multi-scale Patterns in Time Series Streams" yang dipublikasi oleh Papadimitriou pada tahun 2006. Ini memang paper yang cukup lama, sekitar 10 tahun yang lalu, namun masih sangat menarik untuk dipelajari dan masih mungkin untuk dikembangkan. Data yang digunakan dalam tulisan ini adalah data pengukuran CO$_2$ di kota Bandung pada bulan Februari 2011. Untuk lebih jelasnya, silahkan baca tulisan ini. Selamat membaca. (program dapat didownload di akhir tulisan ini).

Konsentrasi CO$_2$ bulan Februari 2011

7/03/2016

Jupyter Notebook: aplikasi web untuk Scientific Computing, menunjang sekitar 40 bahasa pemrograman

Jupyter Notebook, aplikasi web yang saya kira cukup menarik dan akan bermanfaat terutama untuk proses belajar mengajar ataupun tutorial. Aplikasi ini mengijinkan kita membuat dokumen yang berisi kode (sekitar 40 bahasa pemrograman tersedia), persamaan-persamaan (bisa dibuat menggunakan LaTeX), visualisasi (matplotlib Python atau GNUplot di Octave) beserta keterangannya. Notebook yang anda buat nantinya akan mudah sekali untuk dishare menggunakan email, Dropbox dll. Lebih lengkapnya tentang Jupyter Notebook dapat diakses di link ini http://jupyter.org/. Sedangkan pada tulisan kali ini, saya akan menjelaskan tentang bagaimana cara menginstall Octave, Julia dan Python pada Jupyter Notebook dan sedikit contoh cara menggunakan ketiga bahasa pemrograman tersebut untuk plotting grafik di Jupyter Notebook. 


6/23/2016

Mengkonfigurasi tmux

Ketika berkutat dengan research, terkadang 8-16 terminal saya buka untuk menjalan program secara bersamaan sekedar untuk menyelesaikan suatu komputasi yang agak sedikit komplek. Tidak terasa sudah hampir dua tahun bermain dengan Linux terutama dengan tmux. tmux adalah terminal multiplexer yang membolehkan sejumlah terminal untuk dibuka, diakses, dan dikontrol melalui single screen dimana masing-masing terminal dapat menjalankan program yang berbeda. Ada banyak sekali tutorial cara menggunakan tmux terutama di link ini - http://code.tutsplus.com/tutorials/intro-to-tmux--net-33889 -. Namun tulisan ini tidak menceritakan kembali apa saja dan bagaimana shortcut yang ada dalam link tersebut digunakan. Tetapi ini lebih pada bagaimana cara kita membuat shortcut kita sendiri beserta cara penggunaannya. Selamat membaca.

tmux

6/12/2016

Cek "kesehatan" hard drive di Linux

Seperti yang sudah kita ketahui, hampir semua hard drive saat ini telah dilengkapi dengan SMART (Self-Monitoring, Analysis, and Reporting Technology). Tulisan sebelumnya telah menunjukkan bagaimana cara mengakses SMART untuk menampilkan lama penggunaan dari hard drive kita. Sedangkan kali ini, saya akan menunjukkan bagaimana cara mengecek "kesehatan" suatu hard drive. Dalam tutorial ini, saya menggunakan hard drive yang bisa dibilang sudah agak rusak. Agar dapat terbaca di komputer, hard drive ini membutuhkan waktu sekitar 1-2 menit. Setelah berhasil terbaca pun, file tidak bisa dibuka dan terkadang hard drive mati dengan sendirinya. Dengan mengakses SMART, kita akan coba menganalisa kerusakan apa yang mungkin terjadi pada hard drive ini.

hard drive sudah rada rusak

6/11/2016

Berapakah usia hard drive anda?

Barang bekas yang saya pesan dari Amazon akhirnya datang juga, SATA 3.5in 160GB seharga 400 yen (sekitar Rp 50.000). Untuk ukuran hard drive, 50rb untuk 160GB adalah harga yang cukup murah saya kira. Namun, apakah kualitasnya masih bagus atau tidak, siapa yang tahu kalau tidak dicek terlebih dahulu. Sekilar dari info yang tertera pada hard drive telihat 26 Januari 2011, ini berarti usia hard drive setidaknya sudah mencapai sekitar hampir 6 tahun. Bagaimana dengan usia penggunaannya? apakah juga mencapai 6 tahun? dan bagaimanakah cara mengetahui usia penggunaan hard drive? jika ingin tahu lebih lanjut, silahkan baca tulisan singkat ini.

my second-hand hdd 160GB

5/24/2016

Install Arch Linux pada Asus Eee PC 4G

Tahukan kalian tentang laptop Asus Eee PC 4G?
Ini adalah laptop yang cukup jadul dengan spesifikasi: single-core @900MHz, 2GB RAM, 4GB SSD, 7-inch screen, dll (lebih lengkapnya bisa dilihat di Asus EeePC4G). Dengan spek-nya yang cukup rendah ini, tidak semua OS bisa diinstall terkendala oleh storage-nya yang kecil hanya 4GB.

Asus Eee PC 4G terinstall Arch Linux
Arch Linux, OS yang ringan dan selalu menyediakan software versi terbaru, menjadi pilihan yang saya kira cocok untuk laptop ini setelah mencoba menginstall beberapa OS linux lainnya seperti BodhiLinux dll. Menginstall Arch Linux sedikit berbeda dengan OS Linux pada umumnya. Menginstall Arch Linux seperti membangun rumah anda sendiri, anda harus menyediakan pondasi, membangun tembok, memasang atap dll. Singkatnya, anda yang akan menentukan apa yang akan terinstall di laptop anda. Lebih lengkapnya mengenai bagaimana cara menginstall Arch Linux melalui command line dapat dibaca pada tulisan ini.

4/09/2016

Particle Swarm Optimization (PSO) menggunakan Octave

Sedikit mengingat kembali salah satu mata kuliah favorit saya yaitu Teknik Optimasi. Salah satu dari sekian teknik optimasi yang mudah untuk dipahami, dan cukup sederhana untuk dibuat programnya adalah Particle Swarm Optimization (PSO). Berdasarkan Wikipedia, PSO adalah metode komputasi untuk mencari solusi optimal dari suatu persamaan (masalah) secara iterasi dengan menggunakan sejumlah populasi (atau kandidat solusi) yang bergerak menuju titik terbaik (solusi) berdasarkan formula sederhana. Dalam tulisan kali ini, berdasarkan refensi dari WikiPedia, kita akan mencoba membuat/menuliskan algoritma PSO dalam bahasa pemrograman Octave. 

Ilustrasi Particle Swarm

3/21/2016

Konek ke Raspberry Pi Zero tanpa HDMI Monitor

Akhinya Raspberry Pi Zero yang saya tunggu-tunggu datang juga dari Amazon kemarin pada tanggal 19 Maret 2016 (padahal peluncuran perdananya sekitar November tahun lalu, telat hehehe). Karena belum ada rencana mau dibuat project apa Si Raspberry Pi Zero ini (beli sekedar hobi), jadi  kali ini saya akan membahas bagaimana cara setup Raspberry Pi Zero tanpa HDMI monitor dan keyboard/mouse namun menggunakan WiFi adapter atau USB-LAN. Untuk penjelasan lebih lengkapnya, silahkan dibaca tulisan ini.

My Raspberry Pi Zero

3/14/2016

Pengenalan Wajah (Face Recognition) menggunakan PCA - Octave Code -

Ketika sedang ber-nostalgia dengan file tugas kuliah zaman S1, kursor tertarik untuk membuka paper yang berjudul "PCA and LDA based Neural Networks for Human Face Recognition". Paper ini adalah salah satu bacaan favorit saya sekitar lima tahun lalu karena isi paper ini disampaikan dengan bahasa yang sederhana dan cukup mudah untuk dipahami. Pada tulisan kali ini, saya akan membahas bagaimana cara membuat Pengenalan Wajah (Face Recognition) menggunakan PCA (Principal Component Analysis) yang dituliskan dalam bahasa pemrograman Octave. Contoh program dilengkapi dengan beberapa sampel gambar dapat di-download di akhir tulisan ini. Selamat membaca.

Pendekatan PCA untuk pengenalan wajah (A Eleyan, 2007)

2/27/2016

Membaca Data GPS (latitude/longitude) dan Memplotnya pada Openstreetmap Menggunakan Python

Pada bahasan sebelumnya tentang Raspberry Pi dan GPS kita telah berhasil mendapatkan data GPS menggunakan gpsd daemon. Kali ini, kita akan sedikit bermain dengan python untuk membaca data latitude/longitude dari GPS dan memplotnya  pada OpenStreeMap seperti pada contoh di bawah ini.


2/21/2016

Membuat Peta Gempa Bumi menggunakan Python

Tujuan dari tulisan kali adalah membuat Peta Gempa Bumi seperti pada gambar di bawah ini dengan menggunakan Python. Untuk mengetahui bagaimana cara membuatnya, silahkan baca lebih lanjut tulisan ini.