2014 Montpellier Internship

23 08 2014

This year, there are two internships from Polytech of Montpellier, France: Adrien Claudin and Florian Guihard. They are working on a template project for a web system which includes a generic user administration module, a data maintenance module, a data warehouse module, and data mining modules implementing two data mining methods: naive bayes and k-means algorithm. They are staying in Bali for three months (June 2nd – August 28th, 2014).

Today (August 23rd, 2014), they presented their work in front of students and lecturers, in conjunction to a final project presentation by Forth year student group at Stikom Bali’s Dual Degree program. The project went well, despite of new technologies that they have to implement. The user administration module is a generic module to administrate users of the systems. The data warehouse module is also new to them, and they make to the end an analysis of user activity data warehouse systems. For the data mining module, they manage to implement two methods out of three methods I have asked them in the beginning. All applications are implemented using the Java EE with the Model View Controller (MVC) concept as well as Data Access Object (DAO) design pattern. They also implemented the JFreeChart library for graph display and the WEKA library for implementing the naive Bayes data mining method. The whole project is intended to become a system template for students who will be taking web application, data warehouse, and data mining subjects, so they do not have to build a system from scratch for the sake of learning Data Warehouse or Data Mining alone.

This year. the result of the internship is very good, and very useful for the next teaching as well as the next internship program.

Despite of the hard working, the two internships have also enjoyed to stay in Bali. They have played the things that they have planned such as kite surfing and diving. Hope they will have a lot of memories and experiences while staying in Bali both in terms of the Balinese culture and the technology learning.

This is a picture taken at the end of their presentation time. Form the left: Adrien Claudine, Me, Nico Bruhne (Forth Year Stikom Bali’s Dual Degree Program), Florian Guihard, Putu Sri Sasmitha Dewi (Forth Year Stikom Bali’s Dual Degree Program), and Klinton Putra B.B.M. (Forth Year Stikom Bali’s Dual Degree Program).
2004 France Internship

Minimum Message Length

4 07 2014

Melihat dari namanya Minimum Message Length sering dikonotasikan dengan pengiriman data melalui media telekomunikasi, yang kalau diterjemahkan langsung dalam Bahasa Indonesia akan mempunyai arti Panjang Pesan Minimum. Melihat arti langsungnya ini, memang prinsip Minimum Message Length berkaitan erat dengan bagaimana suatu pesan dikirimkan. Akan tetapi, konsep Minimum Message Length ini, sebenarnya tidak mengharuskan kita untuk mengirimkan pesan secara riil, tetapi hanya melakukan perkiraan, apabila kita harus mengirim data melalui media telekomunikasi, akan lebih hemat kalau kita mencari bentuk yang paling minimal dari data yang ingin dikirimkan, sehingga data akan bisa dikirimkan dengan lebih efisien.

Prinsip Minimum Message Length sebenarnya merupakan teori optimasi yang berbasis pada Teori Bayesian dan Teori Informasi. Teori ini banyak digunakan untuk melakukan kegiatan estimasi parameter suatu distribusi statistik dan pemilihan model dalam suatu proses pemodelan. Dalam prinsip Minimum Message Length ini, Teori Bayesian digunakan untuk menentukan suatu estimasi atau model dengan memikirkan, pertama, data yang sedang dianalisa (berupa likelihood function) dan kedua, pengetahuan yang ada tentang nilai estimasi atau nilai pemodelan di masa yang lalu (prior probability). Karena secara umum, Teori Bayesian disimbolkan dengan rumus sebagai berikut:

posterior probability = prior probability x likelihood function

Sedangkan, penggunaan Teori Informasi dalam prinsip Minimum Message Length adalah bahwa data dalam bentuk apapun dapat ditransfer melalui suatu channel informasi dalam bentuk bits (log2). Akan tetapi, informasi yang dikirimkan kalau tidak disederhanakan, akan menjadi proses transfer yang panjang dan memerlukan waktu yang lama. Oleh karena itu, prinsip Minimum Message Length berusaha untuk mencari bentuk pengiriman data dalam bentuk bits (log2) dengan kondisi yang paling pendek, sehingga proses transfer menjadi optimal dan memerlukan waktu yang minimal.

Prinsip Minimum Message Length, dalam context estimasi parameter, sama dengan prinsip Maximum Likelihood dengan tambahan pemikiran penambahan konsep prior probability. Prinsip Maximum Likelihood juga sering dikatakan sudah memikirkan nilai prior probability, dimana nilai dari prior probability tersebut diseimbangkan dengan nilai Fisher Information. Hal ini akhirnya menyebabkan kedua nilai (prior dan Fisher) saling cancel out, sehingga nilai estimasi hanya tergantung pada nilai likelihood function dari data yang dianalisa saja.

Untuk bisa mendapatkan estimasi dengan memperhitungkan prior dan likelihood, tidaklah mudah. Beberapa hal yang sudah diusulkan adalah dengan menggunakan Compact Coding untuk melakukan estimasi dan pemilihan model. Compact Coding ini mencakup pencarian second derivative dari log2 prior dan log2 likelihood, yang dalam pembentukan Compact Coding, direpresentasikan dalam bentuk Fisher Information. Akan tetapi, pendekatan Compact Coding ini juga hanya memungkinkan apabila bentuk distribusi dari data yang sedang diestimasi atau dimodel adalah sederhana seperti distribusi Normal atau multinomial. Untuk distribusi yang lain seperti Gamma, Student t, dan distribusi kompleks lainnya, dan khususnya yang bersifat multivariat, agak sedikit sulit untuk diterapkan. Hal ini disebabkan karena adanya bagian yang tereliminasi dalam Compact Coding yang dihasilkan, yang dapat mengakibatkan hasil estimasi dan pemilihan model menjadi kurang akurat.

Penerapan prinsip Minimum Message Length, dengan memanfaatkan likelihood function dari data yang dimiliki dan prior probability dari nilai estimasi ini, juga dapat dilakukan dengan menciptakan sebanyak mungkin sample estimasi dari distribusi posterior terhadap data yang kita miliki. Selanjutnya, dari estimasi yang didapatkan tersebut, dipilih estimasi yang fit dan berada dalam batas wilayah estimasi dalam prinsip Minimum Message Length. Karena estimasi dari prinsip Maximum Likelihood merupakan nilai estimasi maximum, maka estimasi tersebut menjadi sample estimasi yang pertama yang dipastikan masuk di dalam batas wilayah estimasi sesuai prinsip Minimum Message Length. Dari semua estimasi yang didapatkan dan yang memenuhi prinsip batas wilayah nilai estimasi dari prinsip Minimum Message Length tersebut, maka akan didapat nilai estimasi Minimum Message Length dengan menghitung nilai rata-rata dari semua estimasi yang sudah dikonfirmasi valid tersebut.

Secara teori, kelihatan memang, bahwa estimasi atau model terpilih tidak begitu mudah untuk didapatkan dengan menggunakan prinsip Minimum Message Length. Hal ini terjadi karena prinsip Minimum Message Length menganut nilai kesempuraan yang tidak hanya melihat data yang ada di tangan, tetapi juga kemungkinan data-data lain yang tidak muncul, sebagai bagian dari populasi yang ada secara keseluruhan. Hal ini menekankan bahwa, kalau memang data yang kita miliki adalah berasal dari data sensus, maka prinsip Maximum Likelihood bisa digunakan. Akan tetapi apabila data yang kita miliki hanya merupakan sample dari sebuah populasi secara keseluruhan, maka sangat perlu untuk memikirkan data-data lain yang tidak terkena sample. Sehingga dalam melakukan estimasi data survei, pemanfaatan prinsip Minimum Message Length sangat diperlukan.

Tulisan selengkapnya dari Prinsip Minimum Message Length ini dapat dilihat dari PhD Thesis saya di Chapter III, IV, dan V.

Rules Vs Policies

1 06 2014

The main purpose we work everyday is to get salary to support our live as well as our family live. But, sometimes because of the situation, we often lost our grip and put too much attention to a condition involving human relationship as well the money involved in the process of finishing our work. To that, in order to avoid putting too much attention to people relationship or the money involved, a number of rules are setup.

Based on that, rules are meant to be used for avoiding conflict between people in a workplace. Rules are also meant to be used to make us understand what we have to do for our work. Furthermore, rules are meant to be used to say what is right and what is wrong during the process of finishing our work.

However, is a workplace working based only on rules?

If so, working place will be a heaven place to be. A couple of things can be working against rules. The number one thing that can work against rule is the policy (leader’s policy). Policy made often overrules the existing rules. For some, even the number of policies made amount to a number which can create confusion among workers, including confusion about the work to be finished, confusion which to be done and which to be left for others to do. With a policy, we also sometimes have to knowingly leave people to finish their work with incorrect procedures.

We knew that the one task of a leader is to make policies. But, how far a leader has to deliver this responsibility. One thing for sure, we want to keep the working balance in our workplace. From what I understand, if there are rules, then we have to follow. If there is no rule and a decision has to be made, then there is a responsibility for a leader to produce a policy. I can also say here that, if a leader produces too many policies even for the simplest matters, then he/she, can be said, is not anymore a LEADER or failed to be a LEADER, and he/she at the end only performs as a very common BOSS. A BOSS (red: a bad leader), even, sometimes, cannot recognize whether he/she is about to setup a policy or a general rule. At least, that is my current point of view for this matter.

So, are you a good LEADER or a good BOSS?

Nulis Huruf Jepang (日本語) Lagi, Horray!!

8 05 2014

Setelah sekian lama berpikir, mau nulis Bahasa Jepang gak bisa-bisa, ternyata ada juga tempatnya di internet. Tempatnya di Lexilogos - Words and Wonders of The World. Saya sudah coba mengetikkan Bahasa Jepang dari bahasa sederhana yang masih langsung teringat dan berikut adalah hasilnya. Menyenangkan sekali rasanya dan ke depan akan bisa menulis hal-hal yang lain lagi dalam Bahasa Jepang. Menghilangkan rindu dan mengembalikan memori-memori yang sempat hilang.






日本語 Horray!!

Analytical Hierarchy Process (AHP)

23 02 2014

Analytical Hierarchy Process (AHP) adalah suatu metode pengambilan keputusan dengan melakukan perbandingan berpasangan antara kriteria pilihan dan juga perbandingan berpasangan antara pilihan yang ada. Permasalahan pengambilan keputusan dengan AHP umunya dikomposisikan menjadi kriteria, dan alternative pilihan.

Contoh permasalahan:
Bagian terpenting dari proses analisis adalah 3 (tiga) tahapan berikut:
1. Nyatakan tujuan analisis: Memilih mobil baru
2. Tentukan kriteria: style, kehandalan, dan konsumi bahan bakar
3. Tentukan alternative pilihan: Avansa, Xenia, Ertiga, Grand Livina
Informasi ini kemudian disusun membentuk pohon bertingkat
Pembentukan Pohon Bertingkat

Informasi yang ada kemudian di-sintesis untuk menentukan peringkat relative dari alternative pilihan yang ada. Kriteria dari jenis qualitative dan quantitative dapat diperbandingkan menggunakan informed judgement untuk menghitung bobot dan prioritas.

Bagaimana menentukan tingkat kepentingan relative dari kriteria yang ada?

Hal ini dapat dilakukan dengan judgement untuk menentukan peringkat dari kriteria. Dalam sebuah sistem berbasis AHP, judgement ini diberikan oleh user pengguna sistem dan dilakukan pada saat user bermaksud melakukan proses AHP dan melihat rekomendasi.

1. Kehandalan 2 kali lebih penting dari style
2. Style 3 kali lebih penting dari konsumsi bahan bakar
3. Kehandalan 4 kali lebih penting dari konsumsi bahan bakar

Selanjutnya dengan pairwise comparison (perbandingan berpasangan), tingkat kepentingan satu kriteria dibandingkan dengan yang lain dapat diekspresikan.

Nilai yang digunakan:
1: equal
2: moderate
3: strong
4: very strong
5: extreme

Dari judgement di atas bisa dibuatkan tabel perbandingan berpasangan sebagai berikut:
Preferensi User

Bagaimana mengubah matrik berpasangan ini menjadi peringkat dari kriteria? Jawabannya: Eigenvector

Berikut cara untuk mencari solusi eigenvector:
1. Cara komputasi yang singkat yang bisa digunakan untuk mendapatkan peringkat adalah dengan menggunakan matrik berpasangan ini sebagai sebagai dasar penghitungan kuadrat matrik berpasangan setiap saat.
2. Jumlah setiap baris dihitung dan dinormalisasi
3. Perhitungan dihentikan apabila perbedaan dari jumlah-jumlah ini dalam dua penghitungan yang berturutan lebih kecil dari suatu angka.

Tahan 1: Kuadratkan Matrik Berbasangan

Preferensi User 02

Perhitungan Eigen Vector 01

Tahap 2: Hitung Eigenvector pertama

1. Jumlahkan baris
2. Jumlahkan jumlah dari baris-baris yang ada
3. Normalisasi nilai jumlah dari masing-masing baris

Perhitungan Eigen Vector 02
Perhitungan Eigen Vector 03

Angka normalisasi pertama yang sebesar 0.3194 didapatkan dengan membagi angka 12.75/39.9165

Jadi eigenvector yang pertama adalah:

Perhitungan Eigen Vector 04

Proses ini terus diulang: kuadrat, jumlahkan, dan normalisasikan

Perhitungan Eigen Vector 05

Dikuadratkan, dijumlah, dan dinormalisasi menjadi:

Perhitungan Eigen Vector 06
Perhitungan Eigen Vector 07
Perhitungan Eigen Vector 08

Jadi eigenvector yang kedua adalah:

Perhitungan Eigen Vector 09

Perbedaannya memang sudah kecil, apalagi kalau dihitung satu putaran lagi:

Perhitungan Eigen Vector 10

Apa arti nilai eigenvector ini? Melihat pada nilai dari eigenvector bisa dikatakan bahwa:
kriteria yang pertama adalah peringkat nomor 2 terpenting,
kriteria yang kedua adalah peringkat 1 terpenting, dan
kriteria yang ketiga adalah peringkat nomor 3 terpenting

Berikut adalah pohon dengan bobot pada kriterianya:

Pembentukan Pohon Bobot Kriteria

Selanjutnya, bagaimana menentukan peringkat alternative pilihan?

Untuk alternative pilihan, juga dilakukan perbandingan berpasangan terhadap kriteria masing-masing. Judgement dalam proses ini umumnya dilakukan berbasis pada data/informasi tentang alternative pilihan (quantitative approach) atau kalau tidak tersedia data/informasi tersebut, dapat dilakukan dengan judgement dari pakar terkait pemilihan alternative tersebut (qualitative approach).

Di dalam sebuah sistem, proses untuk menentukan nilai kriteria dari masing-masing alternative pilihan dan perhitungan peringkat dilakukan pada saat melakukan entry dan edit data variabel dan kriteria alternative pilihan.

Dalam kasus ini, yang memberikan judgement untuk kriteria style dan kehandalan adalah pakar tentang mobil dengan informasi bersifat qualitative.

Perbandingan Alternatif Thd Kriteria 01

Perbandingan Alternatif Thd Kriteria 02

Dari matrik ini dihitung eigenvector, untuk menentukan peringkat dari alternative pilihan untuk masing-masing kriteria.

Peringkat Style
Eigen Vector Kriteria 01

Peringkat Kehandalan
Eigen Vector Kriteria 02

Untuk kriteria konsumsi bahan bakar, ditentukan dengan informasi yang bersifat quantitative sebagai berikut:
Konsumsi Bahan Bakar
Eigen Vector Kriteria 03 Berupa Bobot

Dengan menormalisasi informasi bersifat quantitative, akan bisa didapatkan peringkat konsumsi bahan bakar untuk masing-masing alternative pilihan.

Dengan demikian bobot kriteria dan alternative pilihan sudah terlengkapi, sehingga pohon keputusan tergambar menjadi:

Pembentukan Pohon Bobot Kriteria dan Alternatif

Untuk mendapatkan hasil keputusan, masing-masing bobot untuk alternative pilihan dikalikan dengan bobot dari kriteria dalam bentuk perkalian matrik sebagai berikut:
Perhitungan AHP 01

Sehingga perhitungan untuk mobil Avanza keseluruhan nilai masing-masing alternative pilihan adalah sebagai berikut:
Perhitungan AHP 02 dan Hasil AHP

Sehingga pilihan yang paling bagus untuk kasus pengambilan keputusan ini adalah mobil dengan tipe Grand Livina.

A Tirtayatra Trip to West Bali

2 08 2012

Direction to go to West Bali can be found at the end of this article.

June 28 – 30, 2012 was a special couple days for us. On those days, we took a time off the office to have a Tirtayatra holiday to the West Bali Park. First of all, the trip was amazing, and we didn’t expect that the trip would be that fruitful. In the morning of June 28, 2012, we prepared ourselves to be ready for starting the trip. We packed our belongings and departed from home at 9 in the morning. We expected that the trip to our destination site would take about 5 hours.

KecelakaanHowever, things were not going very well on that day. There was an accident happening at the only road that we could use to reach our destination. There we have waited and waited, stopped and moved forward a little by little, and passed through the packed traffic till our first stop. It took about 5 hours. By this time, we actually expected that we have already arrived at our accommodation. But anyway, our first stop was Pura Rambutsiwi. It is a temple near to the beach and located at Pekutatan area. Fortunately, the Pemangku of that temple was still there, so that we could pray led by the Pemangku. Despite of the road accident, it was still a kind of luck following our trip. After finishing the pray, we took our time a little to visit our uncle, Om Bawa, who lives at Penyaringan Area. We heard that Om Bawa was sick, so that we visited him at his parents’ house.

RambutsiwiOm Bawa

Then we continued our trip passing through the Negara City, toward the Pemuteran village, to check in the hotel we’ve booked. We stayed at the Adi Assri Hotel, an hotel at the Pemuteran Beach. The hotel is near the sea, and is the type of villa hotel. It was very nice hotel, and we felt that we would enjoy staying there. We arrived at the hotel at around 21:30 at night. We felt relieved after a short-trip-but-took-a-very-much-long-time journey. We took a deep rest, before continuing our journey to other temples early in the morning as well as enjoying snorkling.

Hotel Adi AssriHotel Adi AssriHotel Adi AssriHotel Adi Assri

The next day we started very early in the morning to go to the Labuhan Lalang seaport, a departing port for the Menjangan Island. From Labuhan Lalang to Menjangan Island, it took about 30 minutes. The wave was not so high at that time. We prepared ourselves with a number of pejati, since there are a number of temples to visit at the island. These were the temple we visited at that time: Pura Pingit Klenting Sari, Pasraman Agung Keboiwa, Dewi Kwan Im, Pendopo Agung Gajah Mada, Sang Hyang Pasupati, Ida Betara Lingsir Airlangga, Ida Betara Dalem Waturenggong, and Ganesha. Following are pictures we have taken, including a picture with a deer (menjangan) which passed before us during our pray journey.

Menuju Pulau MenjanganMenuju Pulau MenjanganUrutan Tirta YatraPura Pingit Klenting Sari

Pesraman Agung KeboiwaPendopo Agung Gajah MadaDengan MenjanganDewi Kwan Im

Sang Hyang PasupatiIda Betara WaturenggongIda Betara Lingsir AirlanggaGanesha

After the pray was finished, we then got into the boat again ready for snorkling. We prepared ourselves with life saving tools and were ready to see the Nemo. The Menjangan Island snorkling was very exciting. The view under the sea was spectacular. The fish and all living things there were still maintained well, and very natural. From what we have heard, the sea of Menjangan Island is protected from investors, so that all aspect of environment at and around the island can be protected securely. It was a good experience to see such a rear view, and to see something that probably only a number in the world, is also something special.

Siap SnorklingSnorklingSnorklingIstirahat Snorkling

After we finished enjoying snorkling, we then got back to the Labuhan Lalang seaport by taking a trip around the island once again. We then saw that the island was very beautiful with white sand, and also can be recognised that the island was really protected, since there was no one to be seen to live there.

After got back to the hotel, we still had time to enjoy the swimming pool as well as the beach in front of our hotel. As always, we also enjoyed these activities very much.


At The BeachAt The BeachAt The BeachAt The Beach

During our visit to West Bali, we also enjoyed some of the culinary offered by the place. We ate our breakfast at the hotel as provided. We took our dinner at the Warung Pakis Ayu, Pemuteran, a small restaurant at the resort area. The food there was very nice and we have enjoyed our dinner together. To pay our curiosity, we have also visited Warung Betutu Men Tempeh, for lunch, at Gilimanuk. Altogether, this trip has also given us around view of culinary that West Bali has to offer.


Pura Jaya PranaOn the way home, on the last day of our trip, we have also visited the Pulaki temple, Jaya Prana temple, and Segara Rupek temple. We didn’t take any picture at the Pulaki temple, since the monkeys there were so aggresive, even for praying we have to take care of our belongings. The Sesajen that we brought to the temple, had also be protected, so that it was not taken or eaten by the monkeys. Jayaprana temple is a temple located at the south part of the Labuhan Lalang seaport. The temple was built to commemorate the love story of Jayaprana and Layonsari, which is a legend story that a man can love a women everlastingly until he died. We had to climb a little bit to a small hill to get to the temple.

The last temple we have visited was actually the most intriguing place that we have actually visited. The temple is said to be placed at the area which is the closest place to the Java Island. It is an interesting place to visit, we thought. However, the road to go to the place was not really maintained. It was a bumpy long road and we ended up arrived at the temple exhaustively, we even didn’t find anyone there, but monkeys. The pemangku also was not there, so we prayed at the temple, a bit in a hurry, because it seemed that the monkeys looked at us, as they were waiting us to go to get our Sesajen. It was a bit scary experience. But above all things, we also experienced that we have visited the most closest place in Bali to the Java Island.

Segara RupekSegara Rupek

Travelling Bali Part 2 Direction: Untuk mencapai Taman Bali Barat dengan mobil, dapat dilakukan dengan menuju ke arah barat dari Denpasar, melewati jalur Denpasar Gilimanuk. Sebelum sampai di pelabuhan kapal laut Gilimanuk, akan ditemukan pertigaan. Anda perlu berbelok ke kanan di pertigaan tersebut. Pemuteran berjarak sekitar 15 km dari pertigaan tersebut.

Activity Diagram

10 01 2012

Activity Diagram is one diagram used to model a system in the Unified Modelling Language. Activity Diagram is used to draw the activity existing in a system, connecting, splitting, or merging the sequence of tasks involved.

A simple example of an Activity Diagram of an activity in a library (activity of borrowing a book) is as follows. The activity is started by a member bringing his/her member card and gives it to a librarian. The librarian then checks the member card, and checks the book to be borrowed. If the book is available, then the librarian gives the book to the member, then the activity stops. If the book is unavailable, then the activity stops.

Activity Diagram

In some cases of activities, a number of additional steps can occur within the activity including splitting direction of tasks into two or more paths, or merging two or more paths into a consequence task. In such a case, the following symbols need to be referred, so that all existing steps can be drawn into a comprehensive diagram.

Simbol Activity Diagram


Get every new post delivered to your Inbox.

Join 27 other followers