• Tidak ada hasil yang ditemukan

Perbandingan Kinerja Algoritma Kompresi Inverted Elias Gamma dan Capocelli Code Pada File Teks

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Kinerja Algoritma Kompresi Inverted Elias Gamma dan Capocelli Code Pada File Teks"

Copied!
11
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

Pada bab ini penulis memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penulisan skripsi ini dan sebagai dasar pengembangan sistem sehingga dapat diimplementasikan dengan baik dan benar.

2.1. Kompresi Data

Kompresi data adalah proses mengubah sebuah aliran data input menjadi aliran data baru yang memiliki ukuran lebih kecil. Aliran yang dimaksud adalah berupa file

ataupun buffer dalam memori. Kebutuhan terhadap kompresi data dipengaruhi oleh dua alasan, yaitu kecenderungan manusia untuk mengumpulkan data dan kebutuhan terhadap proses transfer data yang cepat. Karena itu metode-metode untuk mengkompresi data semakin berkembang (Salomon, 2004).

Sering terjadi mispersepsi mengenai data dan informasi, padahal data dan informasi adalah dua hal yang berbeda. Pada data terkandung suatu informasi. Namun tidak semua bagian data terkait dengan informasi tersebut atau pada suatu data terdapat bagian-bagian data yang berulang untuk mewakili informasi yang sama. Bagian data yang tidak terkait atau bagian data yang berulang tersebut disebut dengan data yang berlebihan (redudancy data). Tujuan daripada kompresi data tidak lain adalah untuk mengurangi data berlebihan tersebut sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi (Putra, 2010). Di dalam penelitian ini, file yang akan diteliti berfokus pada jenis file teks, dengan ekstensi txt dan doc. File

(2)

2.1.1. Teknik Kompresi Data

Berdasarkan kemungkinan data yang telah dikompresi dapat dikembalikan ke data sebelum dikompresi atau data aslinya, teknik kompresi data dikelompokkan menjadi dua bagian yaitu kompresi data lossless dan kompresi data Lossy (Pu, 2006) :

1. Kompresi Data Losless

Kompresi data lossless adalah teknik kompresi data dimana data yang telah dikompresi dapat dikembalikan ke data aslinya dengan tidak mengurangi informasi yang ada pada data tersebut. Dalam teknik kompresi ini, pada saat proses kompresi dihasilkan sebuah data yang berbeda dengan data aslinya. Karena setiap bit yang terdapat pada data di-encode sehingga dihasilkan bit yang baru yang lebih pendek. Data tersebut dikembalikan ke data aslinya (data sebelum dikompresi) pada saat proses dekompresi. Teknik kompresi lossless digunakan pada data yang tergolong penting sehingga tidak boleh ada banyak atau sebagian informasi yang hilang. Seperti misalnya pada file teks, jika terdapat sedikit saja perubahan pada data itu maka akan sangat mudah kelihatan.

Gambar 2.1. Kompresi Lossless (Pu, 2006)

(3)

2. Kompresi Data Lossy

Kompresi data Lossy adalah teknik kompresi data dimana data mengalami sedikit atau banyak kehilangan pada saat proses kompresi.Sama seperti data aslinya hanya saja ada perubahan kerapatan ataupun resolusi pada data tersebut. Oleh karena itu sangat kecil kemungkinan dan bahkan tidak akan pernah bisa data yang telah dikompresi dengan teknik kompresi Lossy dapat dikembalikan seperti data sebelum dikompresi atau data aslinya. Perubahan yang terjadi pada data pada saat proses kompresi tidaklah terlalu kelihatan. Teknik kompresi ini biasanya digunakan pada data berupa gambar, suara dan video. Karena pada data tersebutlah kehilangan akan informasi yang detail itu mungkin tidak dapat dirasakan oleh sistem kerja indera penglihatan dan pendengaran manusia. Contoh algoritma kompresi Lossy adalah Fractal Compression, Wavelet Compression, Wyner-Ziv Coding (WZC), dan lain-lain.

Gambar 2.2. Ilustrasi Kompresi Lossy(Sayood, 2006)

Contoh aplikasi lossy compression : aplikasi pengkompres suara (mp3 compressor),ambar (adobe photoshop, paint), video (xilisoft). Contoh format file lossy compression yaitu MP3, JPEG, MPEG

2.1.2. Pengukuran Kinerja Kompresi Data

(4)

1. Ratio of Compression (Rc)

Ratio of Compression (Rc) adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran data setelah dikompresi.

=

2. Compression Ratio (Cr)

Compression Ratio (Cr) adalah persentasi besar data yang telah dikompresi yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi dengan ukuran data sebelum dikompresi.

=

100 %

3. Space Savings (SS)

Space Savings (SS) adalah persentase selisih antara data yang belum dikompresi dengan besar data yang dikompresi.

= 100 % −

4. Waktu kompresi dan dekompresi

Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan untuk melakukan proses kompresi dan dekompresi. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu.

2.2. Text File

(5)

Decimal Interchange Code (EBCDIC) merupakan cikal bakal dari set karakter lainnya. ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode

tetapi ASCII lebih bersifat universal. ASCII digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII memiliki komposisi bilangan biner sebanyak 8 bit, dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan desimal. Format file teks yang akan digunakan dalam penelitian ini adalah :

1. Format data teks

Format data teks merupakan format teks yang digunakan untuk menyimpan huruf, angka, karakter, kontrol (tabulasi, pindah baris, dan sebagainya) atau simbol-simbol lain yang biasa digunakan dalam tulisan seperti titik, koma, tanda petik, dan sebagainya. Satu huruf, angka, karakter, kontrol atau simbol pada arsip teks memakan tempat satu byte. Berbeda dengan jenis teks terformat yang satu huruf saja dapat memakan tempat beberapa byte untuk menyimpan format dari huruf tersebut seperti font, ukuran, tebal atau tidak dan sebagainya. Kelebihan dari format data teks ini adalah ukuran datanya yang kecil karena tiadanya fitur untuk memformat tampilan teks. Saat ini perangkat lunak yang paling banyak digunakan untuk memanipulasi format data ini adalah Notepad. (Pramilo, 2008)

2. Format data dokumen

(6)

2.3. Algoritma Inverted Elias Gamma

Inverted Elias Gamma adalah kebalikan dari Elias Gamma Code. Elias Gamma Code

adalah salah satu kode yang universal yang dipelopori oleh Peter Elias yang

digunakan untuk encode dan decode bilangan bulat positif n bahkan dalam kasus di

mana integer terbesar yang tidak diketahui sebelumnya (Salomon, 2007). Juga, kode

ini tumbuh perlahan-lahan, untuk itu baik untuk mengompresi data integer dimana

jumlah bilangan bulat kecil lebih besar maka bilangan bulat besar.Adapun aturan

untuk kode nomor dengan menggunakan kodeEliasGammaadalah sebagai berikut

(Salomon, 2007) :

1. Menulis dalam biner.

2. Kurangi 1 dari jumlah bit yang ditulis dalam langkah 1 dan tambahkan bahwa

banyak angka nol.

Ada cara yang setara dengan lengkah di atas (Salomon, 2007):

1. Pisahkan integer ke dalam kekuasaan tertinggi 2 mengandung (2N) dan N digit

biner yang tersisah dari integer.

2. Encode N di unary, yaitu sebagai N nol diikuti oleh satu-satu

3. Menambahkan N digit biner yang tersisa untuk representasi ini N.

Tabel 2.1 Tabel Kode Elias Gamma (Salomon, 2007) 1 = 20 + 0 = 1 10 = 23 + 2 = 0001010

2 = 21 + 0 = 010 11 = 23 + 3 = 0001011

3 = 21 + 0 = 011 12 = 23 + 4 = 0001010

4 = 22 + 0 = 00100 13 = 23 + 5 = 0001101

5 = 22 + 1 = 00101 14 = 23 + 6 = 0001010

6 = 22 + 2 = 00110 15 = 23 + 7 = 0001111

7 = 22 + 3 = 00111 16 = 24 + 0 = 00001000

8 = 23 + 0 = 0001000 17 = 24 + 1 = 00001001

9 = 23 + 1 = 0001001 18 = 24 + 2 = 00001010

(7)

Tabel 2.2 Tabel KodeInverted Elias Gamma (Salomon, 2007) 1 = 20 + 0 = 0 10 = 23 + 2 = 1110101

2 = 21 + 0 = 101 11 = 23 + 3 = 1110100

3 = 21 + 0 = 100 12 = 23 + 4 = 1110101

4 = 22 + 0 = 11011 13 = 23 + 5 = 1110010

5 = 22 + 1 = 11010 14 = 23 + 6 = 1110101

6 = 22 + 2 = 11001 15 = 23 + 7 = 1110000

7 = 22 + 3 = 11000 16 = 24 + 0 = 11110111

8 = 23 + 0 = 1110111 17 = 24 + 1 = 11110110

9 = 23 + 1 = 1110110 18 = 24 + 2 = 11110101

Berikut adalah langkah-langkah untuk memecahkan kode bilangan bulat berdasarkan

algoritma Elias Gamma Kode (Salomon, 2007):

1. Bacalah bit string sampai Anda mencapai pertama 1. Panggil 1 sebagai p dan

menyebut jumlah ini nol dengan n.

2. Lanjutkan membaca setelah p dari n.

3. Ganti kode dengan karakter menurut tabel Elias Gamma Code.

2.4. Algoritma Capocelli

(8)

011. Secara umum codeword x. . . x0101y. . . y | 011 akan diikuti oleh x. . . x1000y. . . y | 011 bukan oleh x. . . x0110y. . . y | 011. codeword tersebut memiliki baik bentuk 0β | 011 (di mana β tidak berisi dua berturut-turut 1) atau bentuk 1γ | 011 (di mana γ

tidak mengandung 011).

Misalnya, hanya 12 dari 16 prefiks 4-bit dapat digunakan oleh kode ini, karena empat prefiks 0011, 0110, 0111, dan 1011 mengandung pola 011. Secara umum, jumlah codeword panjang N + 3 di S (3, 011) adalah FN + 3 - 1. Untuk N = 4 (codeword dari 4-bit awalan dan 3-bit akhiran), jumlah codeword adalah F4 + 3 -1 = F7 - 1 = 12 (Salomon, 2007).

Tabel 2.3. Kode S ( 3 , 011 ) untuk Integer N dan Strings BS (Salomon, 2007).

2.5. Visual Basic .NET

Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa

n S(3,011) BS

0 011 0

1 0011 1

2 1011 00

3 00011 01

4 01011 10

5 10011 11

6 11011 000

7 000011 001

8 001011 010

9 010011 011

10 100011 100

11 101011 101

12 110011 110

(9)

BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu (Leong, 2006).

VB.NET adalah salah satu bahasa pemrograman Komputer Tingkat Tinggi. Bahasa Pemrograman adalah perintah-perintah yang dimengerti oleh computer untuk melakukan tugas-tugas tertentu bahasa pemrograman VB.NET dikembangkan oleh Microsoft , Merupakan Salah Satu bahasa Pemrograman Yang Object Oriented Program(OOP) atau Pemrograman yang berorientasi pada Object. Kata “Visual” menunjukkan cara yang digunakan untuk membuat Graphical User Interface (GUI). Dengan Cara ini, kita tidak perlu lagi menuliskan instruksi pemrograman dalam kode-kode baris hanya untuk membuat sebuah Desaign Form/Aplikasi. Tetapi dengan sangat mudah yakni kita cukup melakukan Drag and drop object-object yang akan kita gunakan. VB.Net dapat kita jadikan alat bantu untuk membuat berbagai macam program computer (Leong, 2006).

2.6. Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadistandar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem (Yasin, 2012).

(10)

tetap dapat digunakan untuk modeling aplikasi procedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntaxmendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady BoochOOD ( Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). (Yasin, 2012) UML masih terus dikembangkan hingga saat ini. UML 2.5 merupakan versi terbaru yang dikeluarkan pada bulan Oktober 2012. Dalam penelitian ini penulis akan menggunakan 4 jenis UML, diantaranya:

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana.

Use case memiliki unsur aktor, sistem, use case, association, generalization. Aktor merupakan sebuah entitas manusia atau mesing yang berinteraksi dengan sistem untuk melakukan pekerjaanpekerjaan

tertentu.(Yasin, 2012)

2. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Berbeda dengan usecase, activity menggambarkan proses yang berjalan. Unsur yang terdapat pada activity adalah initial node (lingkaran hitam), aktivitas (segiempat dengan sudut membulat), decision (belah ketupat), fork dan join

(titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal), activit final

(11)

3. Sequence Diagram

Sequence diagram menggambarkan interaksi antarobjek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri dari dimensi vertikal (waktu) dan dimensihorizontal (objek-objek yang terkait). Sequence diagram digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Unsur yang terdapat dalam sequence adalah aktor, lifeline vertikal, message,

specification execution(Yasin, 2012).

4. Class Diagram

Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.

Class menggambarkan keadaan (atribut/property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram

Gambar

Gambar 2.1. Kompresi Lossless (Pu, 2006)
Gambar 2.2. Ilustrasi Kompresi Lossy(Sayood, 2006)
Tabel 2.1 Tabel Kode Elias Gamma (Salomon, 2007)
Tabel 2.2 Tabel KodeInverted Elias Gamma (Salomon, 2007)
+2

Referensi

Dokumen terkait

Pada teknik pipelining ini suatu tugas atau operasi dibagi atas beberapa subtugas yang dikerjakan secara berurutan oleh unit-unit logic yang berbeda, untuk setiap subtugas dengan

[r]

BENGKOK SEKRETARIS DESA, KEPALA URUSAN UMUM DAN KEPALA URUSAN KEUANGAN (1 MUSIM) DESA JATILOR KECAMATAN GODONG KABUPATEN GROBOGAN TAHUN 2015..

[r]

2014 SEWA/LELANG

[r]

Penyewa adalah orang yang menyewa tanah kas desa atau. orang yang ditetapkan sebagai pemenang

Penelitian ini mengangkat masalah submodul (A,B)-invarian dan submodul ketercapaian yang muncul dari suatu masalah dalam teori sistem linear atas daerah ideal utama (d.i.u) yang