• Tidak ada hasil yang ditemukan

KOMPUTASI PEMBOBOTAN DOKUMEN BERBAHASA INDONESIA MENGGUNAKAN MAPREDUCE

N/A
N/A
Protected

Academic year: 2021

Membagikan "KOMPUTASI PEMBOBOTAN DOKUMEN BERBAHASA INDONESIA MENGGUNAKAN MAPREDUCE"

Copied!
52
0
0

Teks penuh

(1)

P E N Y U S U N T U G AS AK H I R

F I K R I K H AI R U L AB R O R - 5 1 0 7 1 0 0 6 1 0

KOMPUTASI PEMBOBOTAN DOKUMEN

BERBAHASA INDONESIA MENGGUNAKAN

MAPREDUCE

P E M B I M B I N G

(2)

Pendahuluan

Latar Belakang

Estimasi data elektronik mencapai 0,18 zettabyte

pada tahun 2006 dan diramalkan akan tumbuh

sepuluh kali lipat mencapai 1,8 zettabyte pada tahun

2011

Membutuhkan komputer dengan sumber daya yang

(3)

Permasalahan

1. Bagaimana implementasi pembobotan dokumen

berbahasa Indonesia dalam lingkungan Java

2. Bagaimana implementasi komputasi pembobotan

dokumen berbahasa Indonesia menggunakan

MapReduce.

(4)

Pendahuluan

Batasan Masalah

1. Data yang digunakan adalah dokumen abtraksi

tugas akhir berbahasa Indonesia.

2. Penghitungan bobot dokumen menggunakan

metode TF-IDF.

3. Komputasi bobot dokumen menggunakan

(5)

Pendahuluan

Tujuan

Tujuan dari tugas akhir ini adalah melakukan

komputasi pembobotan dokumen berbahasa

Indonesia manggunakan MapReduce.

(6)

Tinjauan Pustaka

Preprocessing

Dokumen spasi, tanda bacaPenghilangan Case folding

Penghilangan stopword Stemming

Pembobotan term

(7)

Tinjauan Pustaka

TF-IDF Weighting

(2.1)

(8)

Tinjauan Pustaka

Konsep Dasar MapReduce

Map

Input list Fungsi mapping

(9)

Tinjauan Pustaka

Konsep Dasar MapReduce

Reduce

Input list

Fungsi reducing

(10)

Tinjauan Pustaka

(11)

Tinjauan Pustaka

Hadoop

Hadoop adalah framework perangkat lunak berbasis

Java dan opensource yang berfungsi untuk mengolah

data yang sangat besar secara terdistribusi dan berjalan

di atas cluster yang terdiri dari beberapa komputer yang

saling terhubung. Hadoop dapat mengolah data dalam

jumlah yang sangat besar hingga petabyte dan dijalankan

di atas ribuan komputer. Hadoop framework mengatur

segala macam proses detail sedangkan pengembang

aplikasi hanya perlu focus pada aplikasi logiknya(White,

2009).

(12)

Tinjauan Pustaka

Hadoop

(13)

Tinjauan Pustaka

Hadoop

HDFS

Kelebihan HDFS sebagai distributed filesystem adalah:

•HDFS didesain untuk menyimpan data dengan ukuran yang sangat

besar hingga mencapai terabyte bahkan petabyte.

•HDFS menyimpan data secara reliable. Jika sebuah komputer gagal

beroperasi maka data masih tersedia pada komputer yang lain.

•HDFS didesain dapat mengakses informasi secara cepat karena harus

menangani banyak client yang terhubung.

•HDFS juga terintegrasi dengan Hadoop MapReduce sehingga

memudahkan membaca dan mengkomputasi data secara local.

Kelemahan dari HDFS adalah namenode masih bersifat Single Point of

(14)

Tinjauan Pustaka

Hadoop

(15)

Tinjauan Pustaka

Hadoop

(16)

Tinjauan Pustaka

Hadoop

MapReduce Data Flow

File loaded from local HDFS stores File loaded from local HDFS stores

file file file file Input Format Split Split RR RR map map Partiotioner (sort) reduce OutputFormat Final (k, v) pair Writeback to local HDFS store Intermediate (k,v) pairs Input (k,v pairs) RecordReader Input Format Split Split RR RR map map Partiotioner (sort) reduce

OutputFormat Writeback to local HDFS

store Final (k, v) pair Intermediate (k,v) pairs Input (k,v pairs) RecordReader “Shuffling” process Intermediate (k,v) pairs exchanged by all nodes NODE 1 NODE 2

(17)

Tinjauan Pustaka

Hadoop

(18)

Tinjauan Pustaka

Hadoop

Bagian MapReduce

Job Configuration Input Locations Map Function Number of Reduce Tasks Reduce Function Output Key Type Output Value Type

Output Fromat Output Location

Input Splitting & Distribution

Start of Individual Map Tasks

Shuffle, Partition/Sort per Map Output Merge Sort for Map

Outputs for Each Reduce Task Start of Individual Reduce Tasks Collection of Final Output Input Format Provided by

(19)

Perancangan Perangkat Lunak

Skema Perangkat Lunak

Corpus dokumen berbahasa Indonesia Data Storing Case folding Stopword removal Stemming

TD-IDF Weighting MapReduceFunction

Hadoop FileSystem Stoplist

Kamus

Preprocessing

(20)

Perancangan Perangkat Lunak

Perancangan Data

@UJI ANALITIS DAN EMPIRIS ALGORITMA PENCOCOKAN MULTI-POLA

@Bandung Arry Sanjoyo

@Masalah pencocokan multi-pola banyak dijumpai dalam berbagai aplikasi, diantaranya adalah word processing, dan pencarian informasi dalam hal web. Ada beberapa algoritma untuk pencocokan multi-pola yang menerapkan strategi pencocokan karakter dari kanan ke kiri, diantaranya adalah algoritma A-C dan JJF. Dalam penelitian ini melakukan perbandingan kedua algoritma tersebut dengan cara melakukan analisis, baik secara analitis maupun empiris. Hasil analisis menunjukkan bahwa algoritma JJF akan lebih cepat dari algoritma A-C untuk file teks yang berukuran lebih dari 35.000 karakter. Untuk file biner algoritma A-C akan lebih cepat. Sedangkan analisis worst-case untuk kedua algoritma tersebut berada pada kelas yang sama, yaitu 0(mp+n)

(21)

Perancangan Perangkat Lunak

Perancangan Preprocessing

Start Dokumen berbahasa Indonesia Case folding Stopword removal Stemming TF-IDF Weighting Weighted term End

(22)

Perancangan Perangkat Lunak

TF-ID Weighting

Job I START Job II Job III END

(23)

Perancangan Perangkat Lunak

TF-ID Weighting – MapReduce Job Data Flow

Distributed FS Mapper Mapper Mapper Reducer Reducer Distributed FS Tf = wordCount/wordsPerDoc Idf = log(totalDocs/docPerWord) TfIdf = Tf * Idf Job I wordCount {docId => [words]} {[word, docId] => 1} {[word, docId] => [1,1,...]}

{[word, docId] => wordCount}

Job II

wordCount per Doc{docId =>[word, wordCount]}

{docId] => [word1, wordCount1], [word2, wordCount2]}

{[word, docId] => wordCount, wordsPerDoc} {[word, docId] => wordCount}

Job III

docCount per Word

Tfidf = (wordCount/wordsPerDoc) * log(totalDocs/docsPerWord)

{word => [docId, wordCount, wordsPerDoc]}

{word => [[doc1, wc1, wpd1], [doc2, wc2, wpd2], ...] } {[word, docId] => [wordCount, wordsPerDoc, docsPerWord]}

{[word, docId] => wordCount, wordsPerDoc}

(24)

Perancangan Perangkat Lunak

TF-ID Weighting

Job I

Start Dokumen berbahasa indonesia Case folding Stopword removal Stemming Mapping Reducing Output (term@dokumen), n End

(25)

Perancangan Perangkat Lunak

TF-ID Weighting

Job II

Start (term@dokumen), n Mapping Reducing Output (term@dokumen), (n/N) End

(26)

Perancangan Perangkat Lunak

TF-ID Weighting

Job III

Start (term@dokumen), (n/N) Mapping Reducing Output term@dokumen, [d/D, n/N, tfidf] End

(27)

Perancangan Perangkat Lunak

Perancangan Deployment Environment

Datanode/ Tasktracker Datanode/ Tasktracker Datanode/ Tasktracker Namenode/ Jobtracker Slave Master

(28)

Implementasi Perangkat Lunak

Lingkungan Implementasi

Master/ Slave

Sistem Operasi dan Perangkat Lunak

Spesifikasi Hardware

Master - Linux Ubuntu 9.04 - JDK1.6.0.9 - Hadoop 0.20.2 - Procesor Intel (R) Core(TM) 2 Duo CPU E7200 @ 2.53GHz - Memori 2.0 GiB

Slave - Linux Ubuntu 9.04 - JDK1.6.0.9 - Hadoop 0.20.2 - Procesor Intel (R) Pentium(R) 4 CPU 3.00GHz - Memori 1.0 GiB

Slave - Linux Ubuntu 9.04 - JDK1.6.0.9 - Hadoop 0.20.2 - Procesor Intel (R) Pentium (R) D CPU 2.86GHz - Memori 2.0 GiB

Slave - Linux Ubuntu 9.04 - JDK1.6.0.9 - Hadoop 0.20.2

- Procesor Intel (R)

Core(TM) 2 Duo CPU T5750 @ 2.00GHz - Memori 2.0 GiB

(29)

Implementasi Perangkat Lunak

Instalasi Hadoop Cluster

Java 1.6.x

Hadoop 0.20.2

(30)

Implementasi Perangkat Lunak

Konfigurasi SSH

$ ssh-keygen –t rsa –P “”

Generating public/private rsa key pair.

Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Created directory „/home/hadoop/.ssh‟.

Your identification has been saved in /home/hadoop/.ssh/id_rsa.pub. ...

(31)

Implementasi Perangkat Lunak

Konfigurasi Jaringan

#/etc/hosts (untuk master dan slave)

10.151.32.114 hadoop

10.151.32.148 fikri-desktop

10.151.32.138 fikri-desktop01

(32)

Implementasi Perangkat Lunak

Konfigurasi Hadoop

Konfigurasi Java Home Environment Variable

Konfigurasi yang menyatakan letak JAVA_HOME environment variable

terdapat pada file <HADOOP_INSTALL>/conf/hadoop-env.sh. Pada

implementasi ini direktori <HADOOP_INSTALL> adalah

/usr/local/hadoop/hadoop-0.20.0/.

Ubah pada bagian file tersebut:

# The java implementation to use. Required

# export JAVA_HOME=/usr/lib/j2sdk1.5-sun

Menjadi

# The java implementation to use. Required

export JAVA_HOME=/usr/lib/jdk1.6

(33)

Implementasi Perangkat Lunak

Konfigurasi Hadoop

Konfigurasi Master/Slave

Pada file <HADOOP_INSTALL>/conf/masters update isi file menjadi seperti :

hadoop

Sedangkan pada file HADOOP_INSTALL>/conf/slaves update isi file menjadi

seperti :

fikri-desktop

fikri-desktop01

fikri-laptop

(34)

Implementasi Perangkat Lunak

Konfigurasi Hadoop

Konfigurasi *-site.xml

<!-- konfigurasi conf/core-site.xml>

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop:54310</value>

</property>

<!-- konfigurasi conf/mapred-site.xml>

<property>

<name>mapred.job.tracker</name>

<value>hadoop:54311</value>

</property>

(35)

Implementasi Perangkat Lunak

Konfigurasi Hadoop

Konfigurasi *-site.xml

<!-- konfigurasi conf/hdfs-site.xml>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

(36)

Implementasi Perangkat Lunak

Menjalankan Hadoop

•Format distributed filesystem yang baru:

$ bin/hadoop namenode –format

•Jalankan HDFS pada komputer master (namenode) dengan mengetikkan perintah:

$ bin/start-dfs.sh

Perintah ini juga akan mengakses file $<HADOOP_INSTALL>/conf/slaves yang terdapat

pada komputer master (namenode) dan akan menjalankan daemon datanode yang telah

terdaftar pada file $<HADOOP_INSTALL>/conf/slaves.

•Jalankan MapReduce pada komputer master (jobtracker) dengan mengetikkan:

$ bin/start-mapred.sh

Perintah ini juga akan mengakses file $<HADOOP_INSTALL>/conf/slaves yang terdapat

pada komputer master (jobtracker) dan akan menjalankan daemon tasktracker yang telah

terdaftar pada file $<HADOOP_INSTALL>/conf/slaves.

(37)

Implementasi Perangkat Lunak

Menjalankan MapReduce Job

Buatlah direktori pada HDFS yang akan menampung input file dengan perintah: bin/hadoop dfs -mkdir input

Kopikan file input ini dari Linux ke dalam HDFS dengan perintah :

bin/hadoop fs –copyFromLocal /home/fikri/input/ input Job I

$bin/hadoop jar <HADOOP_INSTALL>/TugasAkhir.jar ta.WordFrequenceInDocument Job II dengan perintah:

$bin/hadoop jar <HADOOP_INSTALL>/TugasAkhir.jar ta.WordCountInDocument Job III dengan perintah:

(38)

Implementasi Perangkat Lunak

Menjalankan MapReduce Job

•Buatlah direktori pada HDFS yang akan menampung input file dengan perintah: bin/hadoop dfs -mkdir input

Kopikan file input ini dari Linux ke dalam HDFS dengan perintah :

bin/hadoop fs –copyFromLocal /home/fikri/input/ input •Job I

$bin/hadoop jar <HADOOP_INSTALL>/TugasAkhir.jar ta.WordFrequenceInDocument •Job II dengan perintah:

$bin/hadoop jar <HADOOP_INSTALL>/TugasAkhir.jar ta.WordCountInDocument •Job III dengan perintah:

(39)

Implementasi Perangkat Lunak

(40)

Implementasi Perangkat Lunak

(41)

Implementasi Perangkat Lunak

(42)

Uji Coba dan Evaluasi

Tujuan Pengujian

Tujuan pengujian ini adalah untuk mengetahui apakah semua

fungsionalitas program sudah berjalan dengan baik. Pengujian

fungsionalitas yang dilakukan yaitu mencakup:

1. pengujian fungsi penghilangan stopword,

2. pengujian fungsi stemming,

(43)(44)(45)

Uji Coba dan Evaluasi

Uji Coba Fungsionalitas

Job III :

Menghitung bobot term

TF-IDF

... [email protected][1/5 , 1/55 , 0.01270855] [email protected][2/5 , 1/55 , 0.00723527] [email protected][2/5 , 1/62 , 0.00641839] [email protected][1/5 , 1/55 , 0.01270855] [email protected] [1/5 , 1/55 , 0.01270855] [email protected] [2/5 , 1/55 , 0.00723527] [email protected] [2/5 , 1/62 , 0.00641839] [email protected] [1/5 , 1/55 , 0.01270855] [email protected] [1/5 , 1/62 , 0.01127371] [email protected] [3/5 , 1/55 , 0.00403361] [email protected] [3/5 , 2/59 , 0.0075203] [email protected] [3/5 , 1/62 , 0.00357821] [email protected] [1/5 , 2/89 , 0.01570719] [email protected] [1/5 , 1/55 , 0.01270855] [email protected] [1/5 , 1/55 , 0.01270855] [email protected] [1/5 , 1/55 , 0.01270855] [email protected] [1/5 , 2/62 , 0.02254742] [email protected] [1/5 , 1/89 , 0.0078536] ...

(46)

Uji Coba dan Evaluasi

Uji Coba Performa

Data : 100, 500, 1000, 2000, 3000, 4000, 5468 dokumen

Jumlah Input Job I (detik) Jumlah Input Job II (detik) Jumlah Input Job III (detik) SA MR SA MR SA MR 100 327.77 152.00 1 26.00 23.30 1 25.05 20.53 500 1567.34 539.94 1 21.44 22.47 1 29.24 26.52 1000 3077.70 990.81 1 29.58 21.43 1 30.70 29.56 2000 6155.03 3120.55 1 29.89 30.01 1 26.66 29.71 3000 9293.00 3906.57 1 29.90 39.37 1 36.48 35.48 4000 gagal 5573.05 1 gagal 29.37 1 gagal 33.18 5468 gagal 7466.47 1 gagal 32.17 1 gagal 41.96

(47)

Uji Coba dan Evaluasi

Uji Coba Performa

Job I

Job II

(48)

Kesimpulan dan Saran

Kesimpulan

1. Pada tugas akhir ini telah dibuat suatu aplikasi

pembobotan term dokumen berbahasa Indonesia

menggunakan bahasa pemrograman Java dan

framework Hadoop MapReduce.

2. Dari hasil ujicoba performa, waktu komputasi

menggunakan MapReduce lebih cepat dibandingkan

waktu komputasi pada komputer stand alone terutama

pada Job I dengan selisih waktu hingga 5386.43 detik

atau kecepatan komputasi lebih cepat hingga 137,88%.

(49)

Kesimpulan dan Saran

Saran

1. Melakukan query pencarian dokumen dengan

jumlah data yang sangat besar.

2. Klusterisasi dokumen yang biasanya memerlukan

jumlah sampel data yang sangat banyak.

(50)

Daftar Pustaka

[1] Apache Hadoop http://hadoop.apache.org/

[2] Baeza-Yates, Ricardo. Ribeiro-Neto, Berthier. 1999. Modern

Information Retrieval, New York:ACM Press New York.

[3] Jeffrey Dean & Sanjay Ghemawat. 2004. MapReduce: Simplified Data

Processing on Large Clusters. Google, Inc.

[4] Mahendra, I Putu Adhi Kerta. 2008. Enhanced Confix Stripping

Stemmer dan Algoritma Semut dalam Klasifikasi Dokumen Berbahasa

Indonesia, [Tugas Akhir], Institut Teknologi Sepuluh Nopember

Surabaya.

[5] Manning, Christopher D., Prabhakar Raghavan, Hinrich Schütze.

2009. An Introduction to Information Retrieval. Cambridge:

(51)

Daftar Pustaka

 [6] Noll, G. Michael. Running Hadoop On Ubuntu Linux (Multi-Node Cluster). http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Multi-Node_Cluster).

 [7] Putri, Yosi Amelia. Stemming Untuk Teks Berbahasa Indonesia Dan Pengaruhnya Dalam Kategorisasi. IT Telkom.

http://www.ittelkom.ac.id/library/index.php?option=com_repository&Itemid=34&task=detail&nim =113050049 (7 Juni 2010).

 [8] Tala, Fadillah Z. A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. http://www.illc.uva.nl/Publications/ResearchReports/MoL-2003-02.text.pdf . (7 Juni 2010)  [9] Venner, Jason. 2009. Pro Hadoop. United States of America: Apress.

[10] White, Tom. 2009. HADOOP The Definitive Guide. United State of America: O’Reilly.  [11] Yahoo! Hadoop Tutorial . http://developer.yahoo.com/hadoop/tutorial/

(52)

End

Referensi

Dokumen terkait

Hasil dari penelitian ini adalah gaya kepemimpinan memiliki hubungan yang lemah dengan motivasi kerja karyawan dengan korelasi sebesar 0,091, iklim komunikasi memiliki hubungan

Selain alam, Kabupaten Buleleng juga memiliki banyak potensi budaya berupa pura-pura bersejarah yang sudah ada sejak jaman penjajahan Belanda yang tersebar di desa-desa seperti

Menurut Manuaba (2008; h.389) disebutkan perdarahan terjadi karena gangguan hormon, gangguan kehamilan, gangguan KB, penyakit kandungan dan keganasan genetalia. 55)

Sedangkan perbedaan penelitiaan yang dilakukan Paina dengan penelitian ini adalah pada objek kajian yang mana pada penelitian Paina meneliti tindak tutur komisif khusus

Dalam studi manajemen, kehadiran konflik pendidikan tidak bisa terlepas dari permasalahan keseharian yang dirasakan oleh pengelola lembaga pendidikan. Konflik tersebut

1) Hasil yang dilaporkan hanya terdiri dari dua angka yaitu angka pertama didepan koma dan angka kedua di belakang koma. Jika angka yang ketiga.. sama dengan atau lebih

Paparan di atas menunjukkan bahwa mahasiswa prodi PBA memiliki akses untuk mendapatkan pelayanan mahasiswa yang dapat dimanfaatkan untuk membina dan mengembangkan

Dalam kedudukannya sebagai pengelola barang, dan dihubungkan dengan amanat pasal 6 ayat (2) Undang-undang nomor 17 tahun 2003, Gubernur juga berwenang mengajukan usul untuk