Hibah Unggulan Perguruan Tinggi OPTIMASI TEKNIK KOMPRESI MENGGUNAKAN ALGORITMA KOMBINATORIAL PADA DOKUMEN BERBAHASA INDONESIA

Hibah Unggulan Perguruan Tinggi OPTIMASI TEKNIK KOMPRESI MENGGUNAKAN ALGORITMA KOMBINATORIAL PADA DOKUMEN BERBAHASA INDONESIA

Elfitrin Syahrul Angkatan tahun 2012 (tahun ke-1)

UNIVERSITAS GUNADARMA Februari 2012

Ringkasan

Kompresi data bukanlah suatu hal yang baru. Metode ini telah digunakan sejak satu abad sebelum masehi yaitu stenography atau pemendekan penulisan. Dan sampai saat ini teknik atau metoda kompresi terus dikembangkan karena teknik kompresi yang paling optimal tersebut tidak ada. Beberapa penelitian menambahkan beberapa proses dan mengoptimalkan setiap tahapan untuk meningkatkan performansi atau memperkecil ukuran data/file sekecil mungkin.

Salah satu metoda kompresi yang kompetitif dengan menambahkan proses pemodelan menggunakan algoritma kombinatorial adalah Algoritma Kompresi Burrows- Wheeler (Burrows-Wheeler Compression Algorithm-BWCA). BWCA menggunakan transformasi Burrows-Wheeler (Burrows-Wheeler Transformastion – BWT) yang merupakan transformasi kombinatorial. Teknik ini mentransformasikan input data menggunakan teknik pernyortiran karakter, sehingga karakter yang sama saling berdekatan, sehingga tahapan pengkodean dapat memanpatkan data lebih efektif. Transformasi ini bersifat reversibel sehingga data original dapat dihasilkan kembali pada proses dekoding.

Beberapa metoda kompresi yang telah dikembangkan khususnya teknik kompresi teks, pada umumnya peningkatan performansi kompresi ditekankan hanya pada teknik kompresi. Beberapa penelitian telah menunjukkan pengaruh morfologi/struktur data memperngahruhi performansi kompresi. Beberapa penelitian kompresi teks yang telah dilakukan menggunakan objek bahasa seperti Inggris, Ibrani, Arab, Turki, Jerman, dan Turki. Pada saat ini penelitian kompresi terhadap Bahasa Indonesia yang melihat secara mendalam morfologi/struktur bahasa Indonesia masih sangat jarang, terutama untuk metode kompresi yang kompetitif seperti BWCA.

Kata kunci: Kompresi Teks, Lossless, Transformasi kombinatorik, Transformasi Kebalikan (Reversible Transformation).

STUDI PUSTAKA Kompresi Data

Kompresi berarti membuat sesuatu yang lebih kecil. Kompresi data berarti mengurangi jumlah bit yang diperlukan untuk mewakili bagian tertentu dari data. Kompresi teks berarti mengurangi jumlah bit atau byte yang diperlukan untuk menyimpan informasi tekstual. Hal ini sangat diperlukan karena bentuk teks terkompresi dapat didekompresi untuk menyusun kembali menjadi teks awal. Inilah yang membedakan kompresi teks dari banyak jenis reduksi data, meliputi pengkodean suara atau gambar, di mana beberapa degradasi sinyal dapat ditoleransi jika kompresi dicapai bernilai penurunan kualitas. [Bell, Cleary & Witten, 1990].

Tolok ukur berubah terhadap pengukuran data kompresi adalah "rasio kompresi", atau rasio ukuran file dikompresi ke file terkompresi asli. Misalnya, file data memakan 100 kilobyte (KB) dengan menggunakan perangkat lunak kompresi data ukuran file dapat dikurangi ukurannya dengan, katakanlah, 50 KB, sehingga lebih mudah untuk menyimpan pada disk dan lebih cepat untuk mengirimkan melalui koneksi jaringan. Dalam kasus tertentu, perangkat lunak kompresi data mengurangi ukuran data file dengan faktor dua, atau hasil dalam "rasio kompresi" 2:1.

Gambar 1. Teknik Kompresi Data

Pada umumnya bentuk kompresi dapat di bagi menjadi dua seperti yang terlihat pada Gambar 1 yaitu "lossless" dan "lossy". Kompresi Lossless digunakan saat data harus terkompresi persis seperti sebelum kompresi. Kompresi data lossless biasanya diterapkan untuk file teks, karena kehilangan satu karakter dalam kasus terburuk dapat membuat teks menjadi tidak berarti. Rasio kompresi lossless umumnya dalam kisaran 2:01-8:01

Algoritma Kompresi Lossless Teks

Salah satu aplikasi lossless adalah teks, karena data teks tidak mentolerir kehilangan satu bit pada proses dekompresi data yang akan menyebabnya kesalahan fatal sehingga data tidak bisa terbaca dengan baik. Beberapa penelitian seperti [Tabus, 1997 ; Weinberger, 2000; Shuai, 2008 ] membagi dua tahapan kompresi lossless seperti yang terlihat pada Gambar 2.

Gambar 2. Model Dasar Kompresi Lossless.

Coding atau pengkodean merupakan tahapan mengkompresi data dengan memanfaatkan frekuensi data input atau lebih dikenal dengan pengkodean statistik (Statistical Coding). Data input yang sering muncul akan di representasikan dengan bit yang paling sedikit. Beberapa contoh teknik pengkodean adalah pengkodean Huffman, Arithmetic , Shannon-Fano, dan Run Length Encoding (RLE). Shannon merilis teknik pengkodean yang pertama sekali pada tahun 1948. Pada penelitiannya yang berjudul Information Theory dibuktikan bahwa performansi kompresi menggunakan pengkodean statistic tidak akan dapat melebihi nilai entropinya [Shannon, 1949; Cover 1991]. Oleh karena itu beberapa penelitian menambahkan tahapan pre-processing yang disebut dengan modeling atau pemodelan.

Pemodelan tidak mengkompresi data. Tahap ini mentransformasi data sedemikian rupa sehingga data semakin homogen. Algoritma pemodelan di sesuaikan dengan aplikasi data yang akan di kompresi.

Beberapa proses pemodelan menggunakan algoritma kombinatorial seperti Transformasi Burrows-Wheeler atau Burrows-Wheeler Transformation (BWT) dan Move-To-Front (MTF). Algoritma kompresi Burrows-Wheeler atau Burrows-Wheeler Compression Algorithm (BWCA) merupakan metoda kompresi yang menggunakan BWT sebagai salah satu algoritmanya.

Wirth dan Moffat [Wirth dan Moffat, 2001] menyatakan bahwa BWCA merupakan teknik kompresi yang sangat kompetitif. Peneliti juga telah membuktikan efektifitas metoda ini menggunakan aplikasi yang berbeda yaitu kompresi citra medik [Sitis, Taru, thèse].

Algoritma Kompresi Burrows-Wheeler (BWCA)

Burrows dan Wheeler merilis sebuah laporan penelitian pada tahun 1994 berjudul "A Block Sorting Lossless Data Compression Algorithm" menyajikan algoritma kompresi data berdasarkan algoritma penyortiran. Algoritma ini menggunakan blok data dan memprosesnya menggunakan skema penyortiran. BWCA merupakan teknik kompresi

reversible atau lossless , sehingga proses dekoding akan dapat mengembalikan data aslinya. Peneliti membagi tahapan BWCA menjadi 4 tahapan seperti yang terlihat pada Gambar 3.

Gambar 3. Algoritma kompresi Burrows-Wheeler (BWCA)

Pada dasarnya BWCA dapat di bagi menjadi 3 (tiga) tahapan yaitu:

1. Transformasi Burrows-Wheeler (Burrows-Wheeler Transformation -BWT), transformasi ini merubah sedemikian rupa letak simbol input data sehingga simbol yang sama saling berdekatan,

2. Global Structure Transform (GST) yang mentransformasi redundansi lokal menjadi

global menggunakan List of Updated Table (LUT), sehingga menghasilkan sederatan simbol nol,

3. Pengkodean (Entropy Coding – EC) merupakan tahap terakhir dari teknik kompresi

untuk memampatkan data. Gambar

untuk input data “ abracadabraabracadabra ”.

a b r a c a d a b r a a b r a c a d a b r a (b) BWT input (in HEXA)

(a) BWT input

61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 (c) BWT output

72 72 64 61 61 64 72 72 63 63 61 61 61 61 61 61 61 61 62 62 62 62 (d) GST output

65 00 63 00 02 00 65 00 02 00 00 00 00 00 00 00 65 00 00 00 72 00 (e) RLE0 output

74 00 67 00 65 00 02 00 67 00 02 00 00 00 67 00 00 (f) EC output

00 0D 01 8D B3 FF 81 00 72 A8 E8 2B

Gambar 4. Transformasi Data Untuk Input “ Abracadabra Abracadabra ” Untuk Setiap Tahapan Dari BWCA.

BWT adalah salah satu transformasi data kompresi. Transformasi ini tidak mengkompresi data, akan tetapi mentransformasikan input data sehingga keluaran BWT cenderung mengelompokkan simbol-simbol yang sama. Seperti yang terlihat pada Gambar 3 (c), input BWT hanya ada dua simbol sama bersebelahan yaitu "a" atau dalam heksadesimal "61". Keluaran BWT cenderung mengelompokkan simbol yang sama bersebelahan seperti yang terlihat pada Gambar 4 (c).

Tahapan kedua dari BWCA adalah GST. Transformasi ini merubah simbol kedua yang sama menjadi sederatan simbol yang sama. Gambar 4(d) mengilustrasikan proses GST. Salah satu algoritma kombinatorial dari GST adalah Move-To-Front (MTF). Tahapan ini menghasilkan simbol “0”.

Tahapan terakhir yaitu Entropy Coding (EC) merupakan tahap yang mengkompresi data. Burrows dan Wheeler menyarankan menggunakan dua algoritma Tahapan terakhir yaitu Entropy Coding (EC) merupakan tahap yang mengkompresi data. Burrows dan Wheeler menyarankan menggunakan dua algoritma

Transformasi Burrows-Wheeler (BWT)

BWT yang merupakan transformasi utama dari teknik kompresi BWCA yang tidak mengurangi ukuran data atau mengkompresi data. BWT adalah algoritma kombinatorial yang merubah urutan input simbol data sehingga simbol yang sama cenderung terkumpul seperti yang terlihat pada Gambar 4 (c). Sub bab ini akan membahas rekonstruksi proses BWT dan pembalikannya untuk input data yang sama dengan Gambar 4 yaitu “ abracadabraabracadabra ”.

Proses BWT di ilustrasikan oleh Gambar 5 dan 6. Input data BWT yang terletak di baris pertama Gambar 5 (posisi) dan baris kedua dari matriks tersebut yang mere presentasi input “ abracadabraabracadabra ” dalam heksadesimal.

Gambar 5 Rotasi matriks input BWT “ abracadabraabracadabra ” dalam Heksadesimal . Pada input data diatas terlihat hanya dua simbol yang sama terletak

bersebelahan. Proses pertama dari BWT membuat matrik nxn rotasi input data. Seperti yang terlihat pada posisi ke-2 merupakan input data pada posisi pertama di geser ke kiri dan simbol yang paling kiri (digeser) di letakkan di kolom terakhir. Proses yang sama dilakukan untuk posisi selanjutnya. Rotasi dilakukan sampai simbol yang terakhir dari input data terletak di kolom pertama sehingga menghasilkan matrik nxn. Input data pada Gambar 5 terdiri dari 15 simbol sehingga matrik Gambar 5 berukuran 15x15 simbol.

Posisi F

L 11 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 22 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 8 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 1 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 12 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 19 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 4 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 15 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 6 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 17 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 2 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 9 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 13 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 20 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 5 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 16 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 7 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 18 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 3 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 10 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 14 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 21 72 61 61 62 72 61 63 61 64 61 62 72 61 61 62 72 61 63 61 64 61 62

Gambar 6 Rotasi matrik Gambar 5 yang telah di sortir.

Proses selanjutnya dari BWT adalah sorting matrik secara alfabetik seperti yang di ilustrasikan oleh Gambar 6. Keluaran dari BWT terletak di kolom terakhir (L atau Last ) dari dan indeks untuk pengembalikan BWT. Indeks BWT pada input data ini adalah 4 karena data asli terletak pada baris ke-4 (lihat Gambar 6). Keluaran BWT yang terletak di kolom terakhir dari matrik diatas adalah 72 72 64 61 61 64 72 72 63 63 61

61 61 61 61 61 61 61 62 62 62 62, dimana terlihat konsekutif data yang sama sehingga data ini lebih efektif sebagai masukan proses pengkodean yang akan mengkompresi data.

Proses pembalikan dari BWT di ilustrasikan oleh Gambar 7. Prinsip dasar kerja pembalikan BWT adalah permutasi. Keluaran BWT merupakan masukan dari pembalikan BWT yang terlihat di kolom 2 dari Gambar 7 dan kolom pertama merupakan posisi dari input pembalik BWT, kemudian di tentukan konteks yang merupakan sorting dari masukan pembalik BWT (input) dan link merupakan posisi simbol konteks di input. Proses pembalikan BWT memerlukan informasi indeks keluaran BWT, dimana pada contoh diatas indeks BWT adalah 4.

Posisi

input

konteks link

Gambar 7 Transformasi Balik BWT

Proses diawali dari informasi indeks, dimana pada contoh diatas adalah 4. Informasi original pertama adalah kontek yang terletak di posisi ke-4, yaitu simbol “61”, dan pada baris ini mengacu ke link 12. Infor masi link 12 merupakan acuan ke data kedua di kolom kontek yang terletak di posisi ke- 12 yaitu simbol “62”. Pada posisi 12 mengacu ke link 20 yang mengacu ke posisi 20 untuk mendapatkan data ketiga yaitu “72”. Tahapan permutasi ini di lakukan sampai data/simbol original terakhir di peroleh.

Global Structure Transform (GST)

GST merupakan algoritma kombinatorial yang di implementasi pada beberapa teknik kompresi. Burrows dan Wheeler menyarankan menggunakan GST setelah transformasi BWT. Burrows dan Wheeler menggunakan Move-To-Front (MTF) pada tahapan GST. Transformasi ini merubah simbol kedua yang sama menjadi nol seperti yang terlihat pada gambar 8, sehingga keluaran GST menjadi lebih homogen.

MTF list a r r a d a d r r c a a a a a a a a b b b b b a a r a d a d d r c c c c c c c c a a a a c b b b r r r a a d r r r r r r r r c c c c

d c c c b b b b b a d d d d d d d d r r r r r d d d c c c c c b b b b b b b b b d d d d Masukan

r r a d a d r r c c a a a a a a a a b b b b Keluaran

Gambar 8. Proses Move-To-Front (MTF)

Sejak di rilis pada tahun 1994, BWCA mengalami peninngkatan, termasuk tahap GST. Beberapa algoritma di rilis untuk meningkatkan kinerja BWCA. Peneliti mengklasifikasikan 2 metoda GST; MTF dan variannya serta Frequency Counting Methods . Pada penelitian seblumnya peneliti telah menguji coba kinerja BWCA untuk beberapa varian GST untuk aplikasi citra medik [Syahrul, 2011]. Pada penelitian ini peneliti akan menggunakan metode yang sama untuk aplikasi yang berbeda yaitu dokumen teks berbahasa Indonesia. Beberapa GST yang digunakan berdasarkan dua kategori diatas:

1. Move-To-Front (MTF) dan varian nya yang terdiri dari:

a. Move-To-Front (MTF)

b. Move One From Front (M1FF)

c. Move One From Front Two (M1FF2)

d. Time Stamp (TS)

e. Best x of 2x-1

2. Metode Frequency Counting

a. Inversion Frequency (IF)

b. Distance Coding (DC)

c. Weighted Frequency Count (WFC)

d. Advanced Weighted Frequency Count (AWFC)

e. Incremental frequency Count (IFC)

Entropy Coding (EC)

EC merupakan tahapan terakhir dari proses kompresi. Burrows dan Wheeler menggunakan Run Length Encoding (RLE) dan Huffman. Mereka menyarankan menggantikan pengkodean Huffman dengan pengkodean Arithmetic yang mempunyai rasio kompresi lebih baik akan tetapi prosesnya lebih kompleks. Penelitian ini akan menganalisa dampak RLE dan pengkodean Arithmetic untuk meningkatkan rasio kompresi.

Aplikasi Algoritma Kompresi Burrows-Wheeler

Beberapa peneliti sejak di rilis BWCA oleh Burrows dan Wheeler telah mengembangkan teknik ini, baikdari segi rasio kompresi maupun dari segi kompleksitas magoritmanya sendiri. Berikut ini akan di bahas beberapa penelitian BWCA, khususnya untuk aplikasi teks.

BZIP2

BZIP2 adalah perangkat lunak kompresi yang tidak di pantenkan. kompresor data ini berkualitas tinggi dan proses kompresi yang dua kali lebih cepat dari kompresi data pada umumnya, serta enam kali lebih cepat pada tahapan dekompresi.

Metoda Wiseman

Wiseman melakukan beberapa penelitian menggunakan BWCA baik untuk aplikasi citra dan dokumen teks, khususnya untuk bahasa Ibrani. Gambar 9 menunjukkan perbandingan hasil kompresi dari pengkodean Huffman, adaptif Hufffman, Arithmetic, LZSS, LZW dan BWT terhadap tiga dokumen berbahasa Ibrani, Inggris dan Perancis.

Perbandingan presentasi untuk beberapa teknik kompresi terhadap bahasa Inggris, Hebrew dan Perancis menggunakan teknik kompresi yang berbeda, yaitu Huffman, Adaptive Huffman, Arithmetic, LZSS, LZW dan BWT.

ers

en

Gambar 9. Perbandingan Persentasi Ukuran File Terkompresi.

Morfologi Kelas Kata Dalam Bahasa Indonesia

Bahasa Indonesia mengenal pengelompokan kosa dalam bentuk kelas kata. Tata bahasa Indonesia banyak pendapat para mengenai jumlah dan jenis kelas kata. Kelas kata terdiri dari seperangkat kategori morfologis yang tersusun dalam kerangka sistem tertentu yang berbeda dan sistem kategori morfologis kelas kata lain. Kategori morfologis adalah sederetan kata yang memiliki bentuk gramatikal dan makna gramatikal yang sama. Setiap kategori morfologis itu terbentuk oleh prosede morfologis tertentu. Prosede morfologis adalah pembentukan kata secara sinkronis. Prosede morfologis itu ada dua macam yaitu derivasi dan intleksi. Derivasi adalah prosede morfologis yang menghasilkan kata-kata yang makna leksikalnya berbeda dari kata pangkal pembentuknya. Sebaliknya, infleksi menghasilkan kata-kata yang bentuk gramatikalnya berbeda-beda, tetapi leksemnya tetap seperti pada kata pangkalnya.

Produktivitas Proses Morfemis

Dalam proses morfemis ini adalah dapat tidaknya proses pembentukan kata itu, terutama afiksasi, reduplikasi, dan komposisi, digunakan berulang-ulang yang secara relatif tak terbatas; artinya, adanya kemungkinan menambah bentuk kata dengan proses tersebut. Proses inflektif atau paradigmatis, karena tidak membentuk kata baru, kata Dalam proses morfemis ini adalah dapat tidaknya proses pembentukan kata itu, terutama afiksasi, reduplikasi, dan komposisi, digunakan berulang-ulang yang secara relatif tak terbatas; artinya, adanya kemungkinan menambah bentuk kata dengan proses tersebut. Proses inflektif atau paradigmatis, karena tidak membentuk kata baru, kata

Proses derivasi bersifat terbuka. Artinya, penutur suatu bahasa dapat membuat kata-kata baru dengan proses tersebut. Umpamanya, bagi mereka yang belum pernah mendengar atau membaca kata kegramatikalan atau kemenarikan akan segera mengerti kedua kata baru itu karena mereka sudah tahu akan kata gramatikal atau menarik serta tahu juga fungsi penominalan konfiks ke-l-an dalam bahasa Indonesia. Begitu juga mereka akan segera mengerti kata-kata lain sebagai hasil proses konfiksasi dengan ke-l- an ini. Seperti dalam ketidakikutsertaan dan kekeraskepalaan. Proses derivasi produktif; sedangkan proses infleksi tidak produktif. Keproduktifan proses derivasi ini, dan penambahan alteman-alteman baru pada daftar derivasional, dibatasi oleh kaidah-kaidah yang sudah ada. Misalnya, pembentukan kata baru dengan prefiks memper -terbatas pada dasar numeral; dan tidak dapat pada dasar verbal. Kita bisa membuat memperbanyak, memperburuk, memperketat, memperdua, dan memperlima; tetapi tidak dapat *memperbaca, *memperlihat, *mempertulis, dan *mempertunjuk, sebab dasar baca, lihat, tulis, dan tunjuk bukan ajektif, melainkan verba.

Selain itu perlu juga diperhatikan, meskipun kaidah mengizinkan untuk terbentuknya suatu kata, namun kenyataan dalam berbahasa bentuk-bentuk tersebut tidak terdapat. Umpamanya, dalam bahasa Indonesia ada bentuk memperbaiki, tetapi tidak ada *memperbetuli; ada bentuk kekasih, tetapi tidak ada *kesayang; ada bentuk kedatangan , tetapi tidak ada bentuk *ketibaan. Dalam bahasa Inggris ada bentuk recital dan recitation; namun meskipun ada arrival tetapi tidak ada *arrivation; juga meskipun ada derivation tetapi *derival tidak ada.

Tidak adanya sebuah bentuk yang seharusnya ada (karena menurut kaidah dibenarkan) disebut bloking (Aronoff 1976;43. Bauer 1983:87). Fenomena ini terjadi karena adanya bentuk lain yang menyebabkan tidak adanya bentuk yang dianggap seharusnya ada. Dalam bahasa Inggris, misalnya, ada kata bad dan small, yang menyebabkan tidak adanya kata *ungood dan *unbig. Dalam bahasa Inggris juga tidak ada kata *stealer karena adanya kata thief. Padahal kata *stealer itu seharusnya ada, sejajar dengan kata writer, reader, dan painter.

Kita lihat kata memisau dan mengobeng tidak ada karena ada kata kerja memotong atau mengiris yang membloking kehadiran kata memisau itu; dan ada kata memutar atau membuka yang membloking kehadiran kata mengobeng itu.

Dalam bahasa Indonesia kasus bloking tampaknya tidak sejalan dengan dalam bahasa Inggris. Maka, meskipun bahasa Indonesia punya kata buruk dan kecil, tetapi bentuk tidak bagus dan tidak besar juga ada. Begitu juga, meskipun ada kata maling tetapi kata pencuri juga tetap ada. Dalam bahasa Indonesia yang ada tampaknya bukan kasus bloking, melainkan ”persaingan” antara kata derivatif dengan bentuk atau konstruksi frase yang menyatakan bentuk dasar dengan maknanya. Umpamanya bentuk derivatif bersepeda bersaing dengan naik sepeda, berkhotbah bersaing dengan membaca khotbah , dan menghitamkan bersaing dengan menjadikan hitam atau bikin hitam. Sedangkan bentuk mencantikkan (yang tidak pernah ada, meskipun menjelekkan yang Dalam bahasa Indonesia kasus bloking tampaknya tidak sejalan dengan dalam bahasa Inggris. Maka, meskipun bahasa Indonesia punya kata buruk dan kecil, tetapi bentuk tidak bagus dan tidak besar juga ada. Begitu juga, meskipun ada kata maling tetapi kata pencuri juga tetap ada. Dalam bahasa Indonesia yang ada tampaknya bukan kasus bloking, melainkan ”persaingan” antara kata derivatif dengan bentuk atau konstruksi frase yang menyatakan bentuk dasar dengan maknanya. Umpamanya bentuk derivatif bersepeda bersaing dengan naik sepeda, berkhotbah bersaing dengan membaca khotbah , dan menghitamkan bersaing dengan menjadikan hitam atau bikin hitam. Sedangkan bentuk mencantikkan (yang tidak pernah ada, meskipun menjelekkan yang

Bentuk-bentuk yang menurut kaidah gramatikal dimungkinkan keberadaannya, tetapi ternyata tidak pernah ada, seperti *mencantikkan dan *memisau di atas, disebut bentuk yang potensial, yang pada suatu saat kelak mungkin dapat muncul. Sedangkan pada bentuk-bentuk yang nyata ada, seperti pada bentuk menjelekkan dan bersepeda disebut bentuk-bentuk aktual.

MORFOFONEMIK

Morfofonemik, disebut juga morfonemik, morfofonologi, atau morfonologi, atau peristiwa berubahnya wujud morfemis dalam suatu proses morfologis, baik afiksasi, reduplikasi, maupun komposisi. Umpamanya dalam proses afiksasi bahasa Indonesia dalam prefiks me- akan terlihat bahwa prefiks me- itu akan berubah menjadi mem-, men- , meny-, meng-, atau tetap me-, menurut aturan-aturan fonologis tertentu. Kalau bentuk dasarnya mulai dengan konsonan /b/ dan /p/ maka prefiks me- itu akan menjadi mem-, seperti pada kata membeli dan memotong (bentuk dasarnya beli dan potong); kalau bentuk dasarnya mulai dengan konsonan /d/ dan /t/, maka prefik me- itu akan menjadi men-, seperti pada kata mendengar dan menolong (bentuk dasarnya dengar dan tolong); kalau bentuk dasarnya mulai dengan konsonan /s/, maka prefiks me- itu akan menjadi meny-, seperti pada kata menyikat dan menyusul (bentuk dasarnya sikat dan susul); kalau bentuk dasarnya mulai dengan konsonan /g/ dan /k/, atau juga fonem vokal, maka prefiks me- itu akan menjadi meng-, seperti pada kata menghitung, mengirim dan mengobral (bentuk dasarnya adalah hitung, kirim, dan obral); kalau bentuk dasarnya hanya terdiri dari satu suku, maka prefiks me- itu akan berubah menjadi menge-, seperti tampak pada kata mengetik, mengelas, dan mengecat (bentuk dasarnya tik, las, dan cat); dan kalau bentuk dasarnya mulai dengan konsonan /l/ dan /r/, maka prefiks me- itu tidak mengalami perubahan, seperti pada kata melatih dan merawat (bentuk dasarnya latih dan rawat).

Perubahan fonem dalam proses morfofonemik ini dapat berwujud: (1) pemunculan fonem, (2) pelepasan fonem, (3) peluluhan fonem, (4) perubahan fonem, dan (5) pergeseran fonem. Pemunculan fonem dapat kita lihat dalam proses pengimbuhan prefiks me- dengan bentuk dasar baca yang menjadi membaca; dimana terlihat muncul konsonan sengau /m/. Juga dalam proses pengimbuhan sufiks -an dengan bentuk dasar hari yang menjadi /hariyan/ dimana terlihat muncul konsonan /y/ yang semula tidak ada. Pelepasan fonem dapat kita lihat dalam proses pengimbuhan akhiran wan pada kata sejarah dimana fonem /h/ pada kata sejarah itu menjadi hilang; juga dalam proses penggabungan kata anak dan artikel –nda dimana fonem /k/ pada kata anak menjadi hilang; dan juga dalam pengimbuhan dengan prefiks ber- pada kata renang dimana fonem /r/ dari prefiks itu dihilangkan. Perhatikan!

anak + -nda =>

ananda

ber- + renang =>

berenang

BAB III METODE PENELITIAN

Penelitian ini di rangkai dari beberapa kegiatan seperti yang terlihat pada Gambar 3.1. Metode penelitian secara umum dibagi dua tahap yaitu, pengumpulan data sebagai input data dan pengembangan teknik kompresi menggunakan algoritma kombinatorial.

Gambar 3.1. Metode penelitian optimalisasi proses kompresi dan dekompresi teks

Algoritma kombinatorial utama yang digunakan pada penelitian ini adalah Transformasi Burrows-Wheeler (BWT). Algoritma ini memiliki kompleksitas yang cukup tinggi. Untuk dapat melakukan penelitian dengan baik diperlukan peralatan yang dapat menunjang proses atau tahapan metode penelitian pada Gambar 3.1. Sub bab dibawah ini akan menguraikan mengenai peralatan yang dibutuhkan dan Sub bab 3.2 sampai dengan sub bab 3.6. menjelaskan secara lebih detil tahapan penelitian yang akan di laksanakan.

3.1 Peralatan yang Dibutuhkan Dalam Penelitian

Perangkat keras dan perangkat lunak yang dibutuhkan dalam penelitian ini antara lain: - Personal komputer dengan spesifikasi minimum : Processor

: Pentium IV 2,3 GHz

Memory

: 4 GB

VGA Card

: Intel 82852/82855 GM/GME Graphics Controller

Modem Standar : 56 Kbps atau Ethernet : 100 Mbps - Sistem operasi yang digunakan dalam penelitian ini adalah Windows XP - Perangkat lunak yang dibutuhkan untuk pengolahan data dan pembuatan program adalah

software C/C++ - Jaringan telepon atau jaringan LAN-ethernet untuk koneksi internet, serta terdaftar pada suatu ISP (Internet Service Provider). Koneksi internet ini dibutuhkan dalam penelusuran pustaka, perolehan data penelitian, serta korespondensi dengan pakar yang memahami topik penelitian ini.

3.2 Analisa Kebutuhan

Pada kegiatan analisa kebutuhan dilakukan tahapan pengumpulan informasi, spesifikasi dan validasi. Tahap pengumpulan informasi diawali dengan penelusuran pustaka yang relevan. Studi pustaka diawali dengan membandingkan struktur beberapa bahasa (Inggris, Perancis, Arab, Hebrew dan Indonesia) dan dampaknya terhadap teknik kompresi yang telah ada. Penelusuran pustaka dilakukan dengan dua cara, pertama mencari pustaka dalam bentuk buku teks dan hasil penelitian di beberapa perpustakaan sedangkan cara kedua, penelusuran pustaka elektronik berbentuk jurnal ilmiah dan prosiding hasil seminar ilmiah, melalui internet.

3.3 Pengumpulan Data

Untuk mengevaluasi metode yang akan di teliti, menggunakan beberapa corpus. Pertama adalah Corpus Calgary yang umum di gunakan oleh peneliti untuk membandingkan studi empirik dari beberapa teknik kompresi yang di teliti. Corpus Calgary merupakan kumpulan file yang awalnya digunakan oleh Bell, Witten dan Cleary pada tahun 1989 untuk mengevaluasi kinerja praktis dari skema kompresi teks yang beragam. Metode ini juga diterapkan pada tiga file html. Corpus ini terdiri dari sembilan jenis teks berbahasa Inggris berupa 2 file buku, 6 makalah dan 1 bibliografi.

Tabel 3.1 Corpus Calgary

No. File

Ukuran File

Deskripsi

ASCII text in UNIX "refer" format - 725 bibliographic

1 Bib

references. unformatted ASCII text - Thomas Hardy: Far from the

2 book1

Madding Crowd. ASCII text in UNIX "troff" format - Witten: Principles of

3 book2

Computer Speech.

4 Geo 102400 32 bit numbers in IBM floating point format - seismic data.

5 news 377.109 ASCII text - USENET batch file on a variety of topics.

6 obj1 21.504 VAX executable program - compilation of PROGP. Macintosh executable program - "Knowledge Support

7 obj2

System". UNIX "troff" format - Witten, Neal, Cleary: Arithmetic

8 paper1

Coding for Data Compression.

9 paper2 82.199 UNIX "troff" format - Witten: Computer (in)security. 1728 x 2376 bitmap image (MSB first): text in French and

10 paper3

line diagrams.

11 paper4

13.286 text files in UNIX "troff" format

12 paper5

11.954 text files in UNIX "troff" format

13 paper6

38.105 text files in UNIX "troff" format

14 pic

513.216 text files in UNIX "troff" format

15 progc 39.611 Source code in C - UNIX compress v4.0.

16 progl

71.646 Source code in Lisp - system software.

Source code in Pascal - program to evaluate PPM

17 progp

compression. ASCII and control characters - transcript of a terminal

Corpus kedua adalah pengumpulan dokumen berbahasa Indonesia yang merupakan objek utama penelitian ini. Pada tahap awal penelitian beberapa dokumen yang digunakan adalah: - Dokumen akademik - Dokumen teknik (Technical document) - Buku elektronik - Media cetak online.

Tipe dokumen yang dikumpulkan merupakan plain text dalam bentuk .txt, .doc, .odt, .xls, dan .rtf.

Gambar 3.2 Proses Pengumpulan Dokumen

Pengumpulan data yang kedua akan dikuti dengan analisis leksikal seperti yang terlihat pada Gambar 3.2. Sebagaimana telah disebutkan pada sub bab 2…., struktur data sangat mempengaruhi performansi kompresi.

3.3 Pengembangan Algoritma

Tahap penelitian ini secara umum dapat di gambarkan pada gambar 3.3 dibawah ini. Tiga tahapan di perlukan untuk mengoptimalkan algoritma kompresi yang akan di terapkan yaitu, Input Parsing, Pemodelan (modelling) dan Pengkodean (coding).

Gambar 3.3. Modifikasi skema BWT secara umum oleh Adjeroh [Adjeroh2008]

3.3.1. Input parsing

Proses ini akan menganalisa beberapa tipe input data. Penelitian mengenai masukan alphabet yang sesuai untuk struktur sintetis dari suatu bahasa. Tahapan ini akan menganalisis masukan yang

struktur sintesisnya [DvorskyxxTextCompression] : - berdasarkan Karakter - suku kata - kata - n-gram - kalimat

paling sesuai

Tahapan ini akan menggunakan skema original BWT oleh Burrows dan Wheeler.

3.3.2 Tahapan Pemodelan

Proses pemodelan merupakan tahapan optimalisasi algoritma kombinatorial. Tahapan ini menggunakan dua transformasi kombinatorial. Transformasi utama menggunakan Transformasi Burrows-Wheeler (BWT) dan yang kedua Global Structure Transform (GST) seperti yang telah di jelaskan pada studi pustaka.

Burrows-Wheeler Transform (BWT)

Transformasi BWT mempunyai komplesitas yang cukup tinggi, karena proses sorting dalam permutasi data. Sejak dipublikasikan pada tahun 1994, perkembangan algoritma ini cukup pesat, dimulai dengan menerapkan suffix tree atau suffix array untuk menekan kompleksitas algoritma tersebut. Penelitian ini akan fokus pada analisa kompleksitas penerapan berbagai metode algoritma BWT. Dan beberapa peneliti telah mempublikasikan varian dari BWT seperti algoritma Ferragina-manzani (FM algorithm). Penelitian dilanjutkan dengan analisis dua varian BWT yaitu gBWT dan algoritma FM dari Ferragina dan Manzani.

Global Structure Transform (GST)

GST merupakan algoritma kombinatorial. Burrows dan Wheeler menyarankan menggunakan algoritma dari Bentley (1986) setelah BWT proses. Tahapan ini mentransformasikan sederatan GST merupakan algoritma kombinatorial. Burrows dan Wheeler menyarankan menggunakan algoritma dari Bentley (1986) setelah BWT proses. Tahapan ini mentransformasikan sederatan

1. Move-To-Front (MTF) dan varian nya yang terdiri dari:

a. Move-To-Front (MTF)

b. Move One From Front (M1FF)

c. Move One From Front Two (M1FF2)

d. Time Stamp (TS)

e. Best x of 2x-1

2. Metode Frequency Counting

a. Inversion Frequency (IF)

b. Distance Coding (DC)

c. Weighted Frequency Count (WFC)

d. Advanced Weighted Frequency Count (AWFC)

e. Incremental frequency Count (IFC)

3.3.2 Tahapan Pengkodean

Tahapan terakhir dari algoritma kompresi Burrows-Wheeler merupakan dua pengkodean yaitu Run Length Encoding zero (RLE0) dan Coding (seperti Huffman Coding dan Arithmetic Coding). Burrows dan Wheeler menyarankan menggunakan Arihtmetic Coding dari pada Huffman Coding untuk mendapatkan hasil kompresi yang lebih optimal.

Pada studi pustaka, beberapa peneliti menyarankan beberapa algoritma untuk tahapan ini yang dibuktikan lebih optimal untuk keluaran BWT dan GST. Tahap ini akan menguji coba dua algoritma coding yaitu Huffman dan Arithmetic Coding.

3.4 Rekayasa Perangkat Lunak

Kegiatan membangun metode dan merekayasa perangkat lunak dilakukan selama dua tahun. Kegiatan penelitian pada tahun pertama adalah uji coba metoda original dari Burrows dan Wheeler yang menciptakan algoritma tersebut. Burrows dan Wheeler menggunakan Transformasi Burrows-Wheeler (BWT), Move-To-Front (MTF) dari Bentley sebagai tahap kedua, serta RLE0 dari Wheeler dan Huffman Coding sebagai tahapan yang mengkompresi data.

Implementasi algoritma menggunakan C/C++ yang lebih efisien untuk penerapan BWT yang mempunyai kompleksitas cukup tinggi. Optimalisasi metode di lakukan dengan analisa studi empirik setiap implementasi setiap transformasi.

3.6. Masa Pelaksanaan Penelitian

Penelitian akan dilakukan lama dua tahun, mulai tahun 2013 sampai dengan tahun 2014. Jadual penelitian yang direncanakan akan dilakukan sebagaimana tertera pada tabel berikut ini.

Tahun 2013

Kegiatan Bulan

Bulan Bulan Bulan 1 2 3 4 5 6 7 8 9 10 11 12

Analisa kebutuhan Pengumpulan Data Analisis Leksikon Simulasi BWT

Optimalisasi Algoritma kombinatorial (BWT/GST) Implementasi & pengujian Laporan dan Publikasi penelitian

Tahun 2014

Kegiatan Bulan Bulan Bulan Bulan Bulan Bulan Bulan Bulan Bulan Bulan Bulan Bulan 1 2 3 4 5 6 7 8 9 10 11 12

Pengujian Verifikasi Laporan dan Publikasi penelitian

DAFTAR PUSTAKA

[Abel, 2003] J. Abel. Improvements to the Burrows-Wheeler compression algorithm: After BWT stages, 2003.

[Abel, 2007] J. Abel. Incremental Frequency Count — a post BWT – stage for the Burrows- Wheeler compression algorithm. Softw. Pract. Exper., 37(3):247 – 265, 2007.

[Abel, 2010] J. Abel. Post BWT stages of the Burrows-Wheeler compression algorithm. Softw.Pract. Exper. , 40:751 – 777, August 2010.

[Aronoff 1976;43] Aronoff, M, Word Formation in Generative Grammar. Linguistic Inquiry Monograph 1. Cambridge (Mass.): MIT Press,1976.

[Bauer 1983:87] L. Bauer, English Word Formation. Cambridge: Cambridge University Press, 1983.

[Bell, Cleary & Witten, 1990] Bell, T.C., J.G. Cleary, and I.H. Witten, Text compression. Prentice Hall, Englewood Cliffs, NJ, 1990.

[Bookstein dan Klein, 1993] Bookstein, A. and Klein, S.T. "Is Huffman Coding Dead?" Computing , vol. 50, p. 279-296, 1993.

[Burrows, 1994] M. Burrows and D. J. Wheeler. A block-sorting lossless data compression algorithm. Technical report, System Research Center (SRC) California, May 10, 1994.

[Changsong dkk., 1998] X. Changsong, R. Matzner: A New Compression Scheme for Syntactically Structured Messages (Programs) and its Application to Java and the Internet. Data Compression Conference, 1998.

[Cover, 1991] T. Cover and J. Thomas. Elements of Information Theory. Wiley and Sons, 1991.

[Diri, 2001] B. Diri, Content Based Compression of Turkish Documents. Journal of Applied Sciences, 1: 446-451, 2001.

[Fauzia, 2001] F. S. Awan, N. Zhang, N. Motgi, R. T. Iqbal, A. Mukherjee, LIPT: A Reversible Lossless Text Transform to Improve Compression Performance. Data Compression Conference 2001.

[Fenwick, 2007] P. M. Fenwick. Burrows – Wheeler compression: Principles and reflections. Theor. Comput. Sci., 387(3):200 – 219, 2007.

[Hakkani-Tur dkk., 2002] Dilek Hakkani-Tür, Kemal Oflazer, Gökhan Tür. Statistical Morphological Disambiguation for Agglutinative Languages . In the Journal of Computers and Humanities, Volume 36, No. 4, 2002.

[Huffman, 1952] D. A. Huffman. A method for the construction of minimum-redundancy codes. Proceedings of the Institute of Radio Engineers, 40(9):1098 – 101, September 1952.

[Isal, 2001] R. Y. K. Isal and A. Moffat, Word-based block-sorting text compression. In Proceedings of the 24th Australasian conference on Computer science (ACSC '01). IEEE Computer Society, Washington, DC, USA, 92-99, 2001.

[Moffat, 1990] A. Moffat, Linear time adaptive arithmetic coding, IEEE Transactions on Information Theory 36(2): 401-406, 1990.

[Rubin, 1979] A. Moffat, Linear time adaptive arithmetic coding. IEEE Transactions on Information Theory 36(2): 401-406, 1990.

[Seward, 2000] J. Seward. BZIP2. (invited midday presentation), Data Compression Conference, 2000.

[Shannon, 1948] C. E. Shannon. A mathematical theory of communication. The Bell System Technical Journal , 27:379 – 423,623 – 656, July, October 1948.

[Shannon, 1949] C. E. Shannon and W. Weaver. The Mathematical Theory of Communication . University of Illinois Press, Urbana, Illinois, 1949.

[Shuai, 2008]

D. D. Shuai. Parallel lossless data compression: A particle dynamic approach. In Proceedings of the 4th international conference on Intelligent Computing: Advanced Intelligent Computing Theories and Applications - with Aspects of Theoretical and Methodological Issues , ICIC ’08, pages 266– 274, 2008.

[Syahrul, 2008] E. Syahrul, J. Dubois, V. Vajnovszki, T. Saidani, M. Atri,"Lossless Image Compression Using Burrows Wheeler Transform (Methods and Techniques)" , Proceedings of IEEE International Conference on Signal-Image Technology & Internet-Based Systems (SITIS'08), Bali , Indonesia, December 2008.

[Syahrul, 2010] E. Syahrul, J. Dubois, V. Vajnovszki, "Burrows Wheeler Compression Algorithm (BWCA) in Lossless image Compression" , Elfitrin SYAHRUL, Julien DUBOIS, Vincent VAJNOVSZKI, International Conference on Soft Computing, Intelligent System and Information Technology (2nd ICSIIT), Bali, Indonesia, July 2010

[Syahrul, 2010] E. Syahrul, J. Dubois, A. Juarna, V. Vajnovszki, "Lossless Compression Based on Combinatorial Transform : Application to Medical Images" , International Congress on Computer Applications and Computational Science (CACS), Singapore, December 2010

[Syahrul, 2011] E. Syahrul, J. Dubois, V. Vajnovszki, "Combinatorial Transforms : Application in Lossless Image Compression" , Discrete Mathematical Sciences & Cryptography 14, 2(129-147), 2011.

[Tabus, 1997] I. Tabus and J. Astola. Adaptive boolean predictive modelling with application to lossless image coding. In In SPIE - Statistical and Stochastic Methods for Image Processing II , pages 234 – 245, 1997.

[Wirth dan Moffat, 2001] A. I. Wirth, A. Moffat, Can We Do without Ranks in Burrows Wheeler Transform Compression? Data Compression Conference, p: 419-428, 2001.

[Weinberger, 2000] M. J. Weinberger, G. Seroussi, and G. Sapiro. The LOCO-I Lossless Image Compression Algorithm: Principles and Standardization into JPEG-LS. IEEE TRANSACTIONS ON IMAGE PROCESSING , 9(8):1309 – 1324, 2000.

[Wiseman , 2007] Y. Wiseman. Burrows-Wheeler based JPEG. Data Science Journal, 6:19 – 27, 2007.

[Wiseman , 2007b] Y. Wiseman and I. Gefner,. Conjugation-based compression for Hebrew texts. 6, 1, Article 4 (April 2007).

[Witten, 1987] Witten, I.H., Neal, R., and Cleary, J.G, "Arithmetic coding for data compression ," Comm. A.C.M., 30(6), pp. 520-540, June 1987.

[Wirth dan Moffat, 2001] A. I. Wirth, A. Moffat, Can We Do without Ranks in Burrows Wheeler Transform Compression? Data Compression Conference, 419-428, 2001.

[Ziv dan Lempel, 1977] J. Ziv, A. Lempel, A Universal Algorithm for Sequential Data Compression. IEEE Transactions on Information Theory 23(3): 337-343, 1977.

[Ziv dan Lempel, 1978] J. Ziv, A. Lempel, Compression of Individual Sequences via Variable-Rate Coding. IEEE Transactions on Information Theory 24(5): 530-536, 1978.

25