Penutup Kuliah Distributed Algorithm

Ceritanya, tiga minggu lagi kuliah semester 1 saya  di Tokyo Tech berakhir. Kuliah disini dan di Indonesia, bisa dibilang ada yang sama ada yang beda. Kesamaanya adalah kadang kuliah disini masih satu arah tapi nggak selalu karena pak Dosen biasanya berusaha untuk mengajak mahasiswanya untuk berdiskusi. Tapi pada akhirnya situasinya menjadi sama ketika mahasiswanya cenderung pasif. Ibarat cinta yang bertepuk sebelah tangan.Bedanya, kuliah di sini menggunakan bahasa Inggris, pesertanya beragam mulai dari orang eropa, orang timur tengah, orang asia, orang jepang, sampai orang amerika.

Salah satu mata kuliah yang saya ambil semester ini adalah Distributed Algorithm. Ada yang punya ide, kira-kira seperti apa kuliah ini? Oke, kuliah ini secara garis besar membahas mutual exclusion. Kami banyak belajar algoritma untuk menyelesaikan persoalan mutual exclusion (mutex). Dan karena judulnya distributed, tentu persoalan mutex yang dikaji adalah mutex pada sistem terdistribusi.

Tokuda sensei adalah sensei yang bertanggung jawab mengajarkan mata kuliah ini. Jika beliau mengajar, beliau selalu membawa kertas yang berisi bahan ajar. Kertas itu bukan hasil cetakan, tapi hasil tulisan tangan beliau. Masuk ke kelas dengan mengenakan jas lab berwarna putih. Berbeda dengan sensei yang lain, beliau lebih memilih menggunakan papan tulis sebagai media untuk menyampaikan materi. Kalau begini, semua mahasiswa dituntut untuk fokus mengikuti kuliah dan tidak diharapkan untuk ketinggalan satu materi pun. Kalau sudah ketinggalan, tentu repot sekali, terlebih kebanyakan materi hanya terdapat di wikipedia (dengan tulisan yang membingungkan) atau di paper-nya.

Sebelum menyampaikan materi, biasanya beliau akan menyampaikan persoalan yang akan dicoba diselesaikan berserta karakteristiknya baru kemudian menyampaikan ide dasar solusinya. Baru setelah itu, masuk lebih dalam ke algoritma tersebut. Tak jarang, disela-sela kuliah, sensei menceritakan pencetus algoritma tersebut. Katakanlah Lamport atau Petri (orang ini menyarankan solusi petri net di usia 13 tahun).

Sebenarnya ada banyak yang menarik dari persoalan mutex. Dan kadang deskripsi persoalannya pun cukup unik tapi cukup rumit. Di mutex, kita kenal yang namanya dining philosopher problem (yang intinya gantian garpu pas mau makan) atau byzantium general problem (yang intinya kalau kita punya jenderal dan ada dari jenderal tersebut berkhianat). Kalau melihat materi kuliah s1, beberapa algoritma memang sudah dipelajari seperti Ethernet, Token Ring, Dining dan Philosopher Problem (di mata kuliah OS dan Jaringan Komputer). Tapi entah kenapa saya tidak ingat bagian yang membahas liveness dan safety untuk masing-masing algoritma tersebut. Dengan kata lain hanya belajar bagaimana algoritma itu bekerja saja. Hmm…

Seperti kebanyakan kuliah, kalau di hari terakhir kuliah pasti secara umum akan melakukan review terhadap beberapa materi. Tapi kemarin sensei hanya mereview nama algoritma yang kami pelajari, hanya itu. Di akhir kuliah ini, sensei mencoba untuk melakukan generalisasi terhadap kasus mutex ini. Kira-kira kalau secara general, mutex itu contohnya apa ya?

Sensei memulai dengan biologi. Kira-kira kalau di biologi itu mutexnya dimana ya? Oke, ternyata banyak lho. Salah satu contohnya adalah kita tidak bisa menelan/minum sambil bernafas. Setuju, kalau kita menelan sambil bernafas, yang ada adalah kita tersedak. Saya sendiri jadi terbanyang, kalau komputer tidak berhasil menangani mutex, wah kesedak juga dong ya. Contoh lain di biologi adalah proses pembuahan pada manusia. Secara umum, jika sudah ada sperma yang membuahi sel telur, maka sperma berikutnya akan dihalangi agar tidak membuahi.

Well, that’s biology. Bagaimana kalau di fisika? Masih inget Pauli (itu yang tentang bagaimana elektron tinggal)? Iya, kalau ruangan di elektron sudah penuh dalam satu kulit, maka tidak ada elektron yang bisa mengisi lagi.

Bagian terkakhir adalah bagaimana kalau di society? Ya pasti banyak kalau di society, karena kan ada banyak hal yang ingin diakses bersama tapi hal tersebut memiliki keterbatasan, mungkin kaya menggunakan toilet umum, menggunakan atm, mengantri naik haji, ngantri customer service, dll.

Kalau di jepang misalnya: nama bayi. Jadi kalau di sini, nggak boleh ngasih nama bayi yang namanya sudah dipakai di keluarga kita (keluarga inti). Logis, tapi kalau di barat, kayaknya boleh kan ya? Kan kadang cuma ditambah Jr. doang. 😀

Serba serbi pemilu juga dapat dimasukan dalam generalisasi masalah ini. Karena hanya 1 orang presiden di satu negara atau 1 orang perdana mentri, dll. Kalau sudah ada yang jadi presiden, lainnya yang mau ya, ngantri periode berikutnya di pemilu berikutnya. Ini lain cerita dengan kasus di satu negara ada 2 presiden (kayaknya pernah ada kasus seperti ini, silakan cari).

Kasus berikutnya yang bisa kita ambil adalah pernikahan. Karena di jepang umumnya seorang wanita dinikahi oleh seorang laki-laki (pengecualian untuk kasus poligami dan poliandri :D). Kalau ada laki-laki yang mau menikahi wanita yang sudah menikah, ya harus menunggu wanita tersebut berpisah dengan suami yang lama. Tapi memang misteri yang namanya pernikahan. Karena hanya sang pencipta yang tahu dan manusia hanya berangan-angan dan berusaha saja. Kadang juga hasilnya unpredictable.

Kasus yang terakhir adalah warisan (kecuali untuk hukum islam dan kalau ada wasiat lain). Kita tinjau hukum waris yang diciptakan manusia. Misalnya dalam suatu keluarga yang terdiri satu anak, ibu, bapak. Kalau bapak dan ibunya tiada, warisan jatuh ke anak. Tapi kalau Ibu masih ada, masih ditangan Ibu. Nah, yang disoroti adalah urutan penerima warisan tersebut.

Sekian cerita kuliah saya di Jepang. InsyaAllah suatu waktu akan saya tulis beberapa algoritma yang saya pelajari di mata kuliah ini. Dalam seri: Distributed Algorithm

Iklan

2 thoughts on “Penutup Kuliah Distributed Algorithm

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s