Monday, October 26, 2015

National Acoustic Workshop 2015

Dalam rangka peringatan 50 tahun, Jurusan Teknik Fisika Fakultas Teknologi Industri ITS mengadakan rangkaian workshop profesi Teknik Fisika, sharing alumni, gelar potensi, rally campus, malam keakraban dan peluncuran buku “Perjalanan 50 tahun Pendidikan Teknik Fisika di ITS” yang diselenggarakan pada 12-13 Oktober. Di usia ke 50 ini, Teknik Fisika telah berkembang memiliki lima bidang minat, yaitu Rekayasa Instrumentasi, Rekayasa Bahan, Rekayasa Energi dan Pengkondisian Lingkungan, Rekayasa Fotonika dan Vibrasi dan Akustik. Pada tanggal 27-28 Oktober sebagai bagian rangkaian acara Dies 50 tahun Teknik Fisika ITS, Laboratorium Vibrasi dan Akustik (VibrastikLab) Teknik Fisika ITS menyelenggarakan “National Acoustic Workshop 2015”.

Pemenang poster session NAW 2015 bersama Kalab VibrasticLab (tengah)

Surabaya sebagai kota pahlawan dengan skala megapolitan memiliki potensi yang besar untuk menjadi smart dan green city. Disiplin ilmu teknik, khususnya yang berkaitan dengan rekayasa akustik dan fisika bangunan telah menjadi bagian perencanaan dan pembangunan kota untuk meningkatkan kualitas hidup warganya. Sebagai kota besar yang meraih pengakuan berupa ratusan penghargaan terkait kebersihan, keindahan dan aspek lain, kontribusi akustik dengan memanfaatkan taman kota dapat dijadikan obyek berupa soundscape (komponen akustik lingkungan yang dapat persepsi nyaman serta indah di telinga oleh manusia) kota Surabaya untuk menghindari gangguan kesehatan akibat bising karena meningkatnya aktifitas kota Surabaya. Disisi lain, bangunan cagar budaya, tempat ibadah maupun bangunan heritage lainnya di kota Surabaya layak dipelajari dan dikembangkan dari disiplin ilmu akustik dan fisika bangunan untuk meningkatkan daya saing kota Surabaya.

Sunday, October 11, 2015

A road to be physics engineer

Ketika memutuskan untuk ikut PMDK (Penelusuran Minat, bakat Dan Kemampuan) sepuluh tahun yang lalu, alasan saya memilih teknik fisika sangat sederhana. Saya suka fisika, tapi saya ingin kuliah di Teknik. Jawabannya cuma satu, Teknik Fisika. Gayung pun bersambut, saya diterima di Teknik Fisika ITS Surabaya.

Sebelum masuk kuliah dan sebelum di-ospek. Saya di pre-engineering-kan. Beruntung, karena itulah nilai lebih kami yang masuk seleksi melalui PMDK (pada waktu itu) dibanding mereka yang masuk melalui SPMB. Selama sebulan kami digodok, diajari lagi apa itu Fisika, Matematika, plus Pemrograman Komputer. Persiapan sangat penting sebelum bertanding, yakni dalam kuliah yang sesungguhnya.

Gate Teknik Fisika ITS (image source: Panoramio)

Saya pun mengikuti ospek, meski saya tidak setuju dengan sistemnya saya ikuti saja, toh ada baiknya. Alhamdulillah, dari tahun ke tahun, ospek maba di ITS mengalami peningkatan, meskipun sedikit sekali. Di awal kuliah, saya langsung tancap gas pada bidang akademik. Saya termasuk yang paling awal ikut LKTI, masuk Lab, dan ikut beberapa kompetisi ilmiah. Ini budaya yang sudah saya bangun sejak SMA. Meskipun jarang menang tapi saya menyukai atmosfer berkompetisi. Life is competition, do the best to be winner!

Saya termasuk yang biasa saja saat kuliah, pernah bolos, pernah tidak lulus mata kuliah dan pernah (sering) tertidur saat kuliah. Materi kuliah di Teknik Fisika yang gado-gado kadang menyulitkan mahasiswa untuk bisa menguasai semua materi. Karena saat itu saya sudah masuk Lab (Lab. Rekayasa Akustik dan Fisbang), maka saya fokuskan untuk lebih mempelajari bidang akustik dan getaran saja, serta beberapa bidang yang saya sukai. Jujur saja, di awal kuliah, ketika diceritakan betapa sejahteranya seorang instrument engineer, saya tergiur untuk masuk bidang instrumentasi. Akhirnya saya menyadari, teknik fisika bukan mendidik mahasiswanya untuk menjadi seorang instrument engineer saja, tapi lebih dari itu, seorang physics engineer yang mampu memahami ilmu Fisika dibalik suatu fenomena yang terjadi serta memecahkan persoalan yang dihadapinya dengan mengaplikasikan pengetahuan yang dimilikinya tersebut, itulah engineering physics, fisika teknik.

Saturday, October 10, 2015

Running job with proper software version via modulefiles in supercomputer

Motivation

On HPC cluster (high performance computing/supercomputer), it is often to have multiple version of the same software installed. When the user want to use the specific software which the certain library, changing environment variable like $PATH manually is tedious and sometime difficult, the is the common errors during running job in HPC. To solve the problem, corresponding shell script would have to be written for multiple languages. All of these explicit steps are error prone and difficult to maintain. It is also no simple upgrade path. One exist solution is by using modulefiles, a (Unix) tool for dynamic modification of a user's environment.

Module Commands

Here are some module commands:
  • module avail: to check available modulefiles
  • module list: view current active modules
  • module purge: delete currently loaded modules
  • module load <package>: to load default module <package>
  • module load <package/version>: to load module <package> on specific version.
  • module unload <package>: unload the package
  • module show <package>: display command triggered by module load
  • module whatis <package>: display 1-line info about the module
  • module help <package>: need a help?

Thursday, October 08, 2015

Installing Octave 4.0 in Ubuntu 14.04

So I already have Octave 3.8.1 in my machine, Ubuntu 14.04, with signal, control and audio package. I want to upgrade it to the newest one, Octave 4.0.0 which has GUI as default and some improvements. How to install Octave 4.0 on Trusty? Here is how, the defaults didn't works for me (actually it works but has some errors).

Octave 4.0.0 on Ubuntu 14.04 Trusty with GUI as default

Step-by-step:

Building your own NAS/NFS solution with NAS4Free

NAF4Free is a fork of BSD/FreeBSD which is dedicated for network attached storage. The NFS, Network File System, is shared file system protocol allowing client to access file across network. The following is my resume of tutorial given on HPC workshop in ICTP about building own NAS/NSF solution with Nas4free.

NAS4Free Web UI interface

It is assumed you already has master and compute nodes in Virtualbox, so the next task is to mount NAS4Free on master either on compute node.

Mount NAS4Free from Master Node

Wednesday, October 07, 2015

Green Computing ala Barcelona Supercomputer

Selain metrik performansi yang diukur dalam floating points operation per second (FLOPS) dan diranking oleh TOP500, ada metrik lain yang dijadikan acuan yakni Flops/W yang menunjukkan seberapa besar superkomputer tersebut ramah lingkungan dan diperingkat oleh GREEN500. Metrik lain yang bisa dijadikan acuan adalah Flops/$, kemampuan superkomputer per USD, namun belum ada website yang memeringkat berdasarkan metrik tersebut.

Untuk menuju superkomputer ramah lingkungan, hal yang bisa dilakukan adalah dengan menggunakan CPU atau core low-power semacam ARM. Mont-blanc adalah project Uni Eropa untuk mengevaluasi CPU di pasaran yang bisa dijadikan superkomputer berenergi rendah. Mont-blanc project di-handle oleh BSC (Barcelona Supercomputing Centre) di Spanyol. Tulisan berikut adalah ulasan singkat studi profile energi yang digunakan oleh Mont-blanc di BSC yang saya lakukan secara remote dengan protokol SSH (script codes saya host di Github).

Superkomputer Barcelona menggunakan platform SLURM, sehingga perintah-perintah yang digunakan pada cluster superkomputer tersebut berbeda dengan cluster yang saya bangun dengan VirtualBox sebelumnya. File script yang saya gunakan untuk mendapatkan power profile Mont-blanc saya host disini (authored by Filippo Mantovani).

ssh ke superkomputer Barcelona

Step-by-step:

Membangun komputer cluster di VirtualBox dengan Rocks kit, Part 2: Testing

Setelah berhasil membangun dan menginstall kluster komputer di VirtualBox, saatnya untuk mengetes kluster tersebut dengan komputasi parallel. Goal yang ingin kita tuju adalah membagi job komputasi (berupa command/script) pada masing-masing node yang sudah kita tambahkan pada master node agar komputar tersebut lebih cepat.

Pertama kita tambahkan user agar bisa login ke kluster dengan perintah useradd (login as root in master),
useradd bagus1
useradd bagus2
passwd bagus1
passwd bagus2
rocks sync users
Perintah-perintah diatas akan menambahkan user (bagus2 dan bagus2), mengeset masing-masing password untuk user dan mensinkronkan user dari master ke nodes.

Sinkroniasi user antar compute nodes

Sunday, October 04, 2015

Membangun kluster komputer di VirtualBox dengan Rocks kit, Part 1: Instalasi

Mambangun kluster komputer sangat dibutuhkan untuk melakukan simulasi dan komputasi yang membutuhkan perfomansi tinggi (high performance komputing, HPC), salah satunya adalah pada superkomputer. Untuk membangun superkomputer dengan kluster, ada baiknya dilakukan simulasi dengan menggunakan virtualisasi, yakni dengan menggunakan VirtualBox. Tujuan tulisan ini adalah unutk membangun komputer kluster di VirtualBox dengan Rocks kit (www.rockscluster.org), sebuah open source kit (OS, operating system) untuk real dan virtual cluster.

Gambar infrastruktur yang akan kita bangun adalah seperti berikut,
Komputer kluster dengan 1 Master dan 2 Compute node
Sebelum masuk pada langkah-langkah development cluster ini, ada baiknya kita membiasakan dengan menu-menu VirtualBox seperti di bawah, jika sudah pernah memakainya, silakan lanjut pada step-by-step.

VirtualBox pada Linux Mint
Requirement :
  • Komputer yang sudah terinstall VirtualBox dengan space kosong minimal 30 GB dan RAM 4 GB
  • File ISO instalasi RocksCluster yang bisa di download disini.
 

Tuesday, September 29, 2015

Pengenalan Git: Setting .gitconfig

Ini adalah artikel terakhir seri pengenalan Git: Git init, Git clone, push dan pull dan .gitconfig ini. Sampai saat ini, Git masih merupakan manajemen file terbaik di dunia, yang juga karya seorang jenius di dunia yang masih hidup hingga saat ini. Gitconfig (sebuah nama hidden file: .gitconfig) adalah sebuah file dimana kita menyimpan konfigurasi git kita. Alih-alih mengkonfigurasi lewat command line di terminal, kita bisa menyimpan konfigurasi tersebut dalam sebuah file: .git config.

Cara pertama dan konvensional untuk mengeset konfigurasi git adalah dengan meng-echo melalui perintah "git config" sebagai berikut (settingan global/semua repo akan memiliki email dan akun ini),

$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@example.com"

JIka tanpa argumen "--global", anda hanya mengeset untuk repo di folder tersebut saja. Untuk memverifikasinya silakan cek dengan

$ git config --global user.name
$ git config --global user.email

Setting lain misalnya untuk memilih vim sebagai default editor,
$ git config --global core.editor "vim" 

Untuk mengecek config tersebut gunakan perintah
$ git config --list

Monday, September 28, 2015

Venice Again!

Alhamudlillah, ini kali keduanya saya ke Italia dalam tiga bulan ini. Berbeda dengan perjalanan sebelumnya, perjalanan kali ini lebih smooth karena saya sudah menguasai medan. Inilah catatan perjalanan yang semoga berguna untuk anda yang akan ke sana. Oya, tujuan akhir saya sebenarnya bukanlah venice, tapi Trieste, kota tetangga Venezia alias Venice.
Kanal Venice

Surabaya - Jakarta

Seperti biasa, home base keberangkatan saya adalah kota pahlawan. Karena pesawat dari Jakarta ke Venice via dubai berangkat sore (jam 17.00) saya memilih penerbangan surabaya-jakarta di waktu dhuha, yakni sekitar jam 10.00. Berangkat dari rumah sekitar pukul 7.30 sambil memulai aktivitas sabtu pagi menambah semangat perjalanan saya saat itu. Saya memilih citilink sebagai maskapai yang saya gunakan dari Surabaya ke Jakarta karena bisa diandalkan, kalaupun molor (telat/delay) juga masih dalam hitungan menit, berbeda dengan maskapai sebelah yang telatnya unlimited. Karena bukan connecting flight (Sby-Jkt) waktu keberangkatan ini harus diperhitungkan agar punya waktu untuk mengambil bagasi dan pindah terminal, idealnya minimal 2-3 jam. Dhuhur saya sampai jakarta, ambil bagasi, naik shuttle bis dan masih punya waktu untuk wifi-an sebelum check in.

Thursday, September 24, 2015

Computation at VibrasticLab

The following slide I made for smr2761: Workshop on Computational Science Infrastructure and Applications for Academic Development, or simply as HPC workshop (high performance computing) in Trieste, 28 September ~ 9 October 2015. At the first day, we are required to introduce our selves, explain the current computing facilities, the future plan for development and our expectation from the workshop. This is my slide from VibrasticLab. 
 

Sunday, September 13, 2015

Sightseeing in KL: KLCC, Merdeka Square and Central Market

Once upon time in KL (Kuala Lumpur), Malaysia, I have plenty of time to go around. While staying in UTM Campus which is close to the downtown, I exploit my time for city sightseeing. We start our journey from Damai station which is located near UTM KL campus. By LRT (light rapid transport) we stop in Pasar Seni station.

Merdeka Square
The first destination of this City sightseeing is Merdeka square, like "aloon-aloon" in every city in Indonesia. Once known as Padang (field), this vast lawn was the cricket pitch belonging to the neighboring Royal Selangor club. At midnight on 31 August 1957, the Union flag was lowered and the Malayan flag raised for the first time right here, a hugely symbolic event signifying the end of British rule over Malaysia. The field was officially renamed on 'Dataran Merdeka' on 1 January 1990.


Sunday, August 30, 2015

Kyai dan Gus: Sebuah Kontradiksi di Masa Kini

Kiai adalah anugrah dan warisan terbaik islam di Nusantara. Di negara lain hanya ada istilah ustadz, ulama atau amir saja untuk menyebut pemuka agama Islam. Sedangkan di Indonesia, yang membedakan kiai dengan ustadz biasa adalah kepemimpinan dalam pesantren atau jamaah masjid, jika beliau memimpin pesantren atau sub-pesantren, maka dia disebut kiai, jika tidak maka beliau disebut ustadz saja. Dari sisi fungsional, kiai dijadikan pemimpin atau rujukan, sedangkan ustadz biasanya untuk seorang penceramah atau pemberi siraman rohani agama Islam.

Istilah kiai berasal dari bahasa Jawa (Sansekerta), bukan berasal dari bahasa Arab. Kata “kiai” mempunyai makna yang agung, keramat, dan dituakan. Secara umum dan pengertian paling luas, kiai diartikan pemimpin pesantren, muslim yang membaktikan hidupnya untuk menyebarluaskan dan memperdalam ajaran-ajaran agama Islam. Selain pengertian tersebut, pengertian kiai juga dipakai untuk benda pusaka (keris, gamelan), hewan (kerbau, kuda), makhluk halus dan orang yang meninggal. Namun dalam tulisan ini, istilah kiai hanya digunakan dan diusulkan sebagai pemuka agama Islam saja, khususnya hubungan kiai dan putranya, yang di daerah Jawa Timur disebut sebagai “Gus”.

Kiai adalah cikal bakal pesantren. Karena ilmunya, santri pencari ilmu datang ke kiai untuk menimba ilmu. Untuk mengembangkan aktivitas keagamaannya, kiai mendirikan surau atau masjid di dekat rumahnya yang juga dijadikan tempat mengajar santrinya. Seiring waktu, semakin banyak santri yang datang pada kiai dan dibangunlah pesantren untuk mewadahi aktivitas kiai-santri dalam proses belajar-mengajar agama Islam.




Kiai dan Peranannya

Sunday, August 09, 2015

Welcome to Kuala Lumpur

Ini adalah kali pertamanya saya mengunjungi Kuala Lumpur, setelah beberapa kali transit di Kuala Lumpur International Airport (KLIA). Berbeda dengan workshop sebelumnya, tiket perjalanan course kali ini di-handle sepenuhnya oleh panitia (AUN/SEED-Net), jadi kita tinggal terima jadi e-ticket, terus berangkat. Thanks to the committee!



SBY - JKT - KL
Sebetulnya, akan lebih mudah naik AirAsia dari Surabaya ke KL daripada naik Garuda. Namun karena peraturan, kita dibookingkan pesawat Garuda dengan rute Surabaya - Jakarta - KL, total hampir dua belas jam saya habiskan untuk perjalanan itu. Never mind, karena kita tidak mengeluarkan uang sama sekali. Berangkat dari rumah jam 7 pagi, sampai di KLIA hampir jam 7 malam. Setelah itu, kita mencari transportasi ke penginapan.

Wednesday, August 05, 2015

Signal Enhancement By Single Channel Source Separation

Most gadgets and electronics devices are commonly equipped with single microphone only. This is difficult task in source separation world which traditionally required more sensors than sources to achieve better performance. In this paper we evaluated single channel source separation to enhance target signal from inteferred noise. The method we used is non-negative matrix factorization (NMF) that decompose signal into its components and find the matched signal to target speaker. As objective evaluation, coherence score is used to measure the perceptual similarity from enhanced to original one. It show the extracted has 0.5 of average coherence that shows medium correlation between both signals.

The following slides talk a bit about signal Signal enhancement by single channel source separation principle. You can grab the full paper here.


Saturday, July 11, 2015

A one day trip in Trieste, Italia

Trieste adalah kota kecil di perbatasan Italia dan Slovenia, tepatnya di utara timur (timur laut) Italia. Kisah kedatangan saya di kota ini bisa dibaca di sini. Suatu ketika di hari minggu, saya tidak mempunyai agenda, saya putuskan untuk keluar naik bis, tidak tahu kemana, biarlah langkah kaki yang memutuskan.

Di Trieste, tiket bus anda tidak diperiksa. Lebih longgar daripada di Jepang. Jadi, bisa saja anda naik bus tanpa membeli tiket, tergantung kejujuran masing-masing. Saya naik bus nomor 6 dari Adriatico Guest House (AGH), dan berhenti dimana orang-orang juga berhenti, bus stop (halte) setelah stasiun Trieste Centrale.

Turun dari bus, saya juga berjalan mengikuti arah kebanyakan orang berjalan, dan saya menemukan tempat-tempat berikut yang sebelumnya sudah terbayang secara visual dari internet.

Canal Grande di Trieste
Merasa berada di Venice, itulah yang saya rasakan ketika menjumpai kanal ini. Namun saya ingat, ini Trieste, bukan Venice. Inilah Canal Grande di Trieste! Tidak banyak landscap memang, namun perpaduan kanal dan bangunan di ujung kanal tersebut mengingatkan kita pada zaman Romawi kuno. Tempat romantis ini sangat cocok untuk minum kopi di sore hari, sambil bercengkerama memandang laut Adriatic

Canal Grandi di Trieste

Wednesday, July 08, 2015

Tutorial Latex Sederhana dan Instalasinya

Bisa menggunakan Latex adalah salah satu skill dasar yang harus dimiliki oleh mereka yang ingin menjadi ilmuwan atau peneliti (scientist and researcher). Menguasai Latex akan memudahkan kita ketika menulis paper akademik dan saintifik semisal jurnal, conference paper dan thesis (TA dan disertasi).

Untuk dapat menggunakan Latex, anda harus menginstallnya terlebih dahulu. Jika anda memakai Windows, anda bisa mengintall miktex dan texworks. Untuk Unix, khususnya Linux, saya akan mendemokan instalasi Latex dengan editor Gedit.

Step-by-step instalasi Latex dan gedit-latex-plugin (di terminal) di Ubuntu (14.04):
    1. sudo apt-get install latex
    2. sudo apt-get install gedit-latex-plugin
Dengan dua perintah tersebut (bisa dijadikan satu juga), maka Ubuntu anda sudah terinstall Latex, lebih sederhana dibandingkan dengan instalasi pada Windows. Silakan cek pada gedit, aktifkan plugin, edit >> preference >> plugin, synctex. Kemudian akan muncul tab "Latex" serta menu "Tools" Latex--> pdf, pada window Gedit anda.

Tampilan Gedit dengan plugin Latex
Selanjutnya, anda dapat mendownload tutorial Latex di bawah ini untuk belajar Latex, file sumber saya sertakan disini.

Sunday, July 05, 2015

Intro to Matlab: From Beginner to Advance

Senin, 29 Juni 2015 saya memulai hand-on-research di Trieste, Italy, dengan menu favorit saya, Matlab. Karena Matlab dipakai hampir di semua materi hand-on-research, maka saya memilih menu ini di awal. Hands-on kali ini diampu oleh Brian Storey, Professor of Mechanical Engineering di Olin Collage, US, yang juga telah menulis banyak ebook gratis untuk Matlab dan CFD. Semua materi yang digunakan ada pada link attachment di halaman paling bawah artikel ini (saya akan mengupdate permissionnya dalam beberapa minggu lagi).

Once to be remembered, learning Matlab is not learning the programming, but the physical phenomenon behind it. So, you must understand clearly from physical phenomena to mathematical model (equation), from equation and logic to (Matlab) programming language. When you didn't understand about math and physics of your program, it will very hard to bring the solution to (Matlab) programming language.

OK, Let's start. Prof. Storey divide the student into two: the beginner who never knows about Matlab, and advance user with someone in between (intermediate). For beginner on Matlab, the following books has been recommended and you can study it by your self,