Abstract:
Istilah Big Data sudah bukanlah lagi istilah yang asing. Istilah ini muncul karena jumlah data
yang terus bertambah dan semakin besar setiap tahunnya. Data ini tentu saja perlu diolah untuk
menghasilkan suatu informasi dan menarik suatu kesimpulan, namun hal ini sulit dilakukan dan
membutuhkan waktu yang lama mengingat ukuran data yang begitu besar. Oleh karena itu
sebuah framework bernama Hadoop diciptakan agar dapat mengolah Big Data secara terdistribusi
dengan menggunakan model pemrograman MapReduce.
MapReduce terus digunakan dan menjadi semakin populer hingga akhirnya terlihatlah
banyak permasalahan umum yang membutuhkan solusi yang serupa dalam mengolah data
dengan MapReduce. Masalah-masalah umum tersebut dapat diselesaikan dengan menggunakan
design pattern sehingga lebih mudah untuk dipecahkan dan digunakan kembali. Jenis-jenis design
pattern antara lain adalah summarization, filtering, data organization, join, meta, dan input and
output. Tentu saja pola desain tersebut harus dimodifikasi, dipelajari, dan diuji performanya
sebelum digunakan.
Penelitian ini memuat 3 macam pola desain yang dikostumisasi sehingga dapat digunakan
untuk beberapa kasus nyata tertentu yang menggunakan data berbentuk JSON. Ketiga pola
desain yang dibuat tersebut adalah Filter Pattern, Join Pattern, dan Input and Output Pattern.
Tentu ketiga pola desain ini memiliki kebutuhan dan fungsi yang berbeda-beda. Seluruh perangkat
lunak demo untuk pola-pola desain tersebut telah berhasil disusun dan dapat digunakan sesuai
dengan kasus-kasus nyata tertentu dimana data yang digunakan memiliki format JSON. Seluruh
pola desain yang dibuat kemudian diuji dan dilihat waktu eksekusinya dengan menggunakan
beberapa data dengan ukuran yang berbeda.
Hasil pengujian membuktikan bahwa performa yang dimiliki oleh setiap pola desain berbedabeda
tergantung dari komponen yang digunakan dan implementasi dari pola-pola desain tersebut.
Selain itu performa itu juga dipengaruhi oleh berbagai faktor lainnya seperti ukuran dari data
yang diproses, jumlah Block data, performa dari komputer yang melakukan proses sendiri, dan
hal-hal lainnya.