• Tidak ada hasil yang ditemukan

Implementasi dan Analisis Algoritma Kompresi Punctured Elias Codes dan Ternary Comma Code Pada File .Doc

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi dan Analisis Algoritma Kompresi Punctured Elias Codes dan Ternary Comma Code Pada File .Doc"

Copied!
12
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1Kompresi

Istilah kompresi berasal dari kata bahasa Inggris compression yang berarti pemampatan. Kompresi berarti memampatkan data yang berukuran besar sehingga menjadi kecil sehingga dapat mengatasi pemborosan dalam penggunaan media penyimpanan.

Kompresi data adalah proses yang dapat mengubah masukan sebuah aliran data masukan (sumber atau data asli) ke dalam aliran data yang lain (keluaran atau data yang terkompresi) yang memiliki ukuran yang lebih kecil. Aliran data dapat berupa file, buffer di memori atau bit individual yang dikirim pada saluran komunikasi (Salomon & Motta, 2010).

Kompresi data adalah (dalam bidang ilmu komputer, ilmu pengetahuan dan seni) sebuah penyajian informasi ke dalam bentuk yang lebih sederhana. Kompresi data adalah sebagai sarana untuk representasi yang efisien dari sumber data digital seperti teks, gambar, suara atau kombinasi dari semuanya yaitu video. Tujuan dari kompresi data adalah untuk representasi dari sumber data dalam bentuk digital dengan bit sesedikit mungkin sementara memenuhi persyaratan minimum rekontruksi yang asli (Pu, 2006).

Proses kompresi merupakan proses mereduksi ukuran data untuk menghasilkan representasi digital yang padat atau mampat (compact) namun tetap mewakili kuantitas informasi yang terkandung pada data tersebut. Tujuan dari kompresi data adalah untuk mengurangi data berlebihan (redundancy) sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi dan menghemat ruang memori dalam penyimpanan data (Putra, 2010).

(2)

Data dapat dalam bentuk file teks, gambar, suara atau deretan angka. Alasan kenapa kompresi data sangat dibutuhkan karena semakin banyak informasi saat ini yang digunakan dalam bentuk digital dan semakin lama ukuran yang dibutuhkan untuk menyajikan data tersebut semakin besar (Sayood, 2006).

Kompresi data sangat popular sekarang ini karena dua alasan yaitu (Salomon, 2007) : 1. Orang-orang lebih suka mengumpulkan data. Tidak perduli seberapa besar media

penyimpanan yang dimilikinya. Akan tetapi cepat atau lambat akan terjadi overflow. 2. Orang-orang tidak suka menunggu dalam waktu lama untuk memindahkan data. Misalnya

ketika duduk didepan komputer untuk menunggu halaman Web terbuka atau men-download sebuah file.

2.2.1Teknik Kompresi Data

Ketika kita berbicara tentang teknik kompresi atau algoritma kompresi, kita sebenarnya mengacu pada dua algoritma. Ada algoritma kompresi yang mengambil sebuah input x dan menghasilkan xc sebagai representasi yang memerlukan bit yang lebih sedikit dan ada algoritma rekontruksi yang beroperasi pada representasi kompresi xc untuk menghasilkan rekontruksi y. Operasi ini secara skematis diperlihatkan pada Gambar 2.1 (Sayood, 2006).

Gambar 2.1 Kompresi dan Rekontruksi (Sayood, 2006)

Hallo

Mahasiswa

Tingkat

Akhir

Hallo

(3)

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 Lossless

Kompresi lossless adalah kompresi data yang menghasilkan file data hasil kompresi yang dapat dikembalikan menjadi file data asli sebelum dikompresi secara utuh tanpa perubahan apapun. Kompresi jenis ini ideal untuk kompresi data teks. Teknik kompresi lossless digunakan ketika data asli dari sumber sangat penting dan kita tidak ingin kehilangan rincian data apapun. Contoh seperti data gambar medis, teks dan gambar sebagai bukti untuk alasan hukum, beberapa file komputer dan lain-lain.

Pada Gambar 2.1, masukan string AABB direkonstruksi setelah eksekusi dari algoritma kompresi diikuti dengan dekompresi. kompresi lossless disebut kompresi reversibel karena data asli dapat kembali dengan sempurna dengan adanya proses dekompresi.

Gambar 2.2 Kompresi Lossless (Pu, 2006)

2. Kompresi Data Lossy

(4)

Gambar 2.3 Kompresi Lossy (Pu, 2006)

2.2.2Parameter Analisis Kinerja Algoritma Kompresi

Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa faktor atau variabel yang biasa digunakan untuk mengukur kualitas dari suatu teknik kompresi data tersebut, yaitu :

1. Ratio of Compression (RC)

Ratio of Compression (RC) adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran data setelah dikompresi (Salomon & Motta, 2010).

Dikompresi

Compression Ratio (CR) adalah presentasi besar data yang telah dikompresi yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi dengan ukuran sebelum dikompresi (Salomon & Motta, 2010).

Space Savings (SS) adalah presentasi selisih ukuran data setelah dikompresi dengan ukuran data sebelum dikompresi (Salomon & Motta, 2010).

(5)

4. Time Process (Waktu)

Time Process adalah waktu kompresi dan dekompresi, yaitu waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses kompresi dan dekompresi mulai dari pembacaan data hingga proses encoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi.

2.3Dekompresi

Algoritma kompresi tidak akan bekerja kecuali proses dekompresi juga tersedia. Kata kompresi sendiri menyiratkan konteks kompresi dan dekompresi. Proses dekompresi dapat dengan mudah diperoleh setelah melakukan proses kompresi. Efisiensi proses dekompresi lebih penting dari proses kompresi, misalnya data film, foto dan audio sering dikompresi pertama oleh seniman dan kemudian dengan versi file yang sama file kompresi didekompresi berkali-kali oleh jutaan pemirsa dan pendengar. Gambar 2.4 dibawah ini menunjukkan hubungan antara kompresi dan dekompresi (Pu,2006).

Gambar 2.4 Kompresi dan Dekompresi (Pu, 2006)

2.4Algoritma Punctured Elias Codes

(6)

1. Ambil bilangan biner dari n.

2. Reversed (balikkan bit-bitnya) dan siapkan flag untuk menunjukkan jumlah bit yang bernilai 1 didalam n.

3. Untuk setiap bit 1 didalam n kita siapkan flag dari 1dan akhiri flag dengan 0. 4. Gabungkan flag dengan bilangan biner yang sudah dibalikkan (reversed).

Kode Punctured ini dinamakan kode P1 dan kode ini dimulai dengan 1 (paling sedikit terdapat satu flag, kecuali untuk kode P1 dengan n0) dan juga diakhiri dengan 1 (karena n yang asli, yaitu bit MSB (Most Significant Bit) adalah 1, telah dibalikkan) (Salomon, 2007).

Tabel 2.1 Punctured Elias Codes (Salomon, 2007)

n Binary of n Reserved Flag Flag | Reserved P1

0 0 - - - 0

1 1 1 10 10 | 1 101

2 10 01 10 10 | 01 1001

3 11 11 110 110 | 11 11011

4 100 001 10 10 | 001 10001

5 101 101 110 110 | 101 110101

6 110 011 110 110 | 011 110011

7 111 111 1110 1110 | 111 1110111

8 1000 0001 10 10 | 0001 100001

2.5Algoritma Ternary Comma Code

(7)

Comma Code dari 8 adalah 21c (karena7231) dan Comma Code dari 18 adalah 122c (karena1719232).

Tabel 2.2 daftar beberapa Ternary Comma Code (Label L menunjukkan panjang dari kode, dalam bit). Kode-kode ini telah ada (lebih lama dari pada kode-kode yang telah dijelaskan sebelumnnya disini) namun berkembang secara pelan. Karena itu, mereka cocok untuk aplikasi dimana bilangan bulat yang nilainya adalah umum. Kode ini juga mudah untuk di-encode dan di-decode-kan dan hal yang paling prinsip adalah Comma Symbol (sebagai tanda akhir sebuah kode) yang diperlukan adalah dua bit. Ketidak efisiensi ini bukanlah hal yang serius, namun dapat menjadi lebih bagi Comma Code yang didasarkan pada angka dasar yang besar. Pada angka basis 15 Comma Code, contohnya, setiap 15 digit memerlukan 4 bit dan The Comma-nya juga 4 bit bentuk. Setiap kode diakhiri dengan 4 bit Comma, tidak termasuk dengan teori minimal dari satu bit dan fitur ini membuat kode-kode terlihat tidak efesien (bagaimana pun juga, redundansi per simbol menurun untuk sejumlah besar basis. Dalam sistem basis 7, salah satu dari delapan simbol dikorbankan untuk Comma, sementara dalam basis 15 itu adalah salah satu dari 16 simbol) (Salomon, 2007).

Tabel 2.2 Ternary Comma Code (Salomon, 2007)

Value Code L Value Code L

0 c 2 11 101c 8

1 1c 4 12 102c 8

2 2c 4 13 110c 8

3 10c 4 14 111c 8

4 11c 6 15 112c 8

5 12c 6 16 120c 8

6 20c 6 17 121c 8

7 21c 6 18 122c 8

8 22c 6 19 200c 8

9 100c 6 20 201c 8

….. …..

64 2001c 10 1,000 1101000c 16

128 11201c 12 3,000 11010002c 18

(8)

2.6File Teks

Text file atau file teks disebut juga dengan flat file, yaitu salah satu jenis file komputer yang tersusun dalam suatu urutan baris data teks biasanya diwakili oleh 8 bit kode ASCII (atau EBCDIC) (Pu, 2006).

Teks adalah kumpulan dari karakter-karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. File teks merupakan file yang berisi informasi-informasi dalam bntuk teks. Data yang berasal dari dokumen pengolah data, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh masukan data teks yang terdiri dari karakter, angka dan tanda baca (Pramilo, 2008).

Secara umum, format data teks dibagi menjadi dua bagian, yaitu (Purnomo, 2005) : 1. Teks Sederhana (plain text)

Format data teks (*.txt) merupakan contoh format teks jenis ini yang paling popular. Format data teks merupakan format teks yang digunakan untuk menyimpan huruf, angka, karakter control (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 control atau simbol pada arsip teks memakan tempat satu byte.

2. Teks Terformat (formatted text)

Teks terformat (formatted text) merupakan teks yang terformat dan mengandung styles. Format data dokumen Microsoft Word (*.doc) merupakan contoh format teks jenis ini yang paling popular. Doc merupakan ekstensi arsip dokumen perangkat lunak Microsoft Word yang paling banyak digunakan dalam menulis laporan, makalah dan sebagainya. Doc merupakan jenis teks terformat yang tidak hanya mengatur tampilan teks seperti styles (font, ukuran huruf dan sebagainya), namun juga dapat menyisipkan gambar. Kekurangan format teks dokumen ini terletak pada ukuran datanya yang besar.

2.7Bahasa Pemrograman C#

(9)

windows (deksktop) dan aplikasi berbasis web serta aplikasi berbasis web service. Terdapat beberapa editor dari pemrograman C#, yaitu (Saputra, 2013) :

1. Notepad

Notepad dapat membuat aplikasi berbahasa pemrograman C#. File-file C# disimpan dengan ekstensi .cs. Jika tidak hati-hati menyimpan file C# di Notepad, misalnya menyimpan file dengan nama test.cs, maka tidak menutup kemungkinan file tersebut test.cs.txt kecuali kita telah men-setting terlebih dahulu box drop down list pada fungsi Save As menjadi All File.

2. Visual Studio 6

Jika anda telah terbiasa menggunakan Visual Studio 6, tools tersebut bisa digunakan untuk membuat aplikasi dengan C#, khususnya dengan menggunakan editor Microsoft Visual C++.

Ada beberapa alasan kenapa developer memilih C#, yaitu (Nugroho et al, 2013) : 1. Sederhana (simple)

C# menghilangkan beberapa hal yang bersifat kompleks yang terdapat dalam beberapa macam bahasa pemrograman seperti Java dan C++, termasuk diantaranya menghilangkan macro, templates, multiple inheritance dan virtual base classes.

2. Modern

Adanya beberapa fitur seperti exception handling, garbage collection, extensible data types dan code security. Adanya fitur tersebut menjadikan bahasa C# sebagai bahasa pemrograman yang modern.

3. Object-oriented language

Kunci dari bahasa pemrograman yang bersifat object-oriented adalah encapsulation, inheritance dan polymorphism.

4. Powerful dan fleksibel

C# bisa digunakan untuk membuat berbagai macam aplikasi, seperti aplikasi pengolah kata, grafik, spreadsheet atau bahkan membuat compiler untuk sebuah bahasa pemrograman.

5. Efisien

(10)

6. Modular

Kode C# ditulis dengan pembagian masing class-class yang terdiri dari beberapa routines yang disebut sebagai member methods.

7. C# akan popular

Dengan dukungan penuh dari Microsoft yang mengeluarkan produk-produk utamanya dengan dukungan Framework .NET, maka masa depan bahasa C# sebagai salah satu bahasa pemrograman yang ada didalam lingkungan Framework .NET akan lebih baik.

2.8UML (Unifed Modelling Language)

UML (Unifed Modelling Language) adalah salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek. UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Pengguna tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek (Sukamto & Shalahuddin, 2013).

Didalam penelitian ini hanya terdapat 4 jenis UML, yaitu Use Case Diagram, Activity Diagram, Sequence Diagram dan Class Diagram.

1. Use Case Diagram

Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara salah satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use Case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu . Simbol dasar yang akan digunakan pada use case diagram adalah (Sukamto & Shalahuddin, 2013):

a. Use Case

(11)

b. Actor

Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

c. Association

Komunikasi antar aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor.

2. Activity Diagram

Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Activity diagram menggambarkan aktivitas sistem bukan apa yang dilakukan aktor. Simbol dasar yang akan digunakan pada activity diagram adalah (Sukamto & Shalahuddin, 2013) :

a. Initial note

Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal. b. Actions

Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja. c. Decision

Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu. d. Join

Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu. e. Activity final

Status akhir yang dilakukan sistem, sebuah diagram memiliki sebuah status akhir.

3. Sequence Diagram

Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Untuk menggambar sequence diagram maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Simbol dasar yang akan digunakan pada sequence diagram adalah (Sukamto & Shalahuddin, 2013) :

a. Actor

(12)

b. System

Kotak yang menunjukkan sebuah sistem sebagai ‘black box’ atau secara keseluruhan. c. Lifelines

Garis putus vertikal dibawah aktor dan sistem, menunjukkan berjalannya sistem. d. Activation bars

Garis membentuk kotak panjang di bawah lifelines, menunjukkan waktu ketika objek aktif di dalam interaksi.

e. Input messages

Garis panah horizontal dari aktor ke sistem yang menunjukkan input. Cara penulisannya adalah diawali dengan huruf kecil dan setiap kata setelahnya tetap digabung (tanpa spasi) namum diawali huruf kapital. Jika mengandung parameter, ditulis dengan cara yang sama dan setiap parameter diawali dengan koma.

f. Output messages

Garis panah putus-putus horizontal dari sistem ke aktor yang menunjukkan message yang dikirim dari sistem ke aktor.

g. Receiver actor

Aktor lain diluar sistem yang menerima message dari sistem juga dapat diikutsertakan.

h. Frame

Sebuah kotak yang dapat menutup satu atau lebih message untuk membagi sequence. Frame ini dapat menunjukkan loop, pilihan lain.

4. Class Diagram

Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Didalam diagram, class ditampilkan dengan kotak berisi tiga bagian (Sukamto & Shalahuddin, 2013):

a. Bagian atas berisi nama dari class, ditulis dengan huruf tebal, rata tengah dan huruf pertama kapital.

b. Bagian tengah berisi atribut dari class, ditulis dengan rata kiri dan huruf pertama kecil.

Gambar

Gambar 2.1 Kompresi dan Rekontruksi (Sayood, 2006)
Gambar 2.2 Kompresi Lossless (Pu, 2006)
Gambar 2.3 Kompresi Lossy (Pu, 2006)
Gambar 2.4 Kompresi dan Dekompresi (Pu, 2006)
+3

Referensi

Dokumen terkait

[r]

Liability based on fault in principle refers to Article 1 paragraph (1) of the Criminal Code (KUHP) which explicitly states that an act can not be criminal,

We adopt the SORTIE model in this work to sim- ulate forest succession; the process is cy- clic, and the simulation flow of one time step is divided into six submodels:

berdasar data tersebut, dengan latar belakang adat ketimuran yang bekerja adalah laik-laki sebagai kepala keluarga, maka seharusnya jam kerja perempuan harus tidak lebih

Analysis of the research used Design Expert 10 software.The results showed that carbopol 940 and oleic acid had significant effect in determining the viscosity response and

Tujuan umum pada penelitian ini adalah untuk menganalisis respon mekanik dan mutu fisik bumper beam berbahan busa polimer yang diperkuat serbuk TKKS dan serbuk aluminium

Kurang maksimalnya implementasi good governance di Indonesia disebabkan oleh beberapa faktor, yaitu; pertama, integritas pelaku pemerintahan yang masih kurang optimal

Adapun perlindungan hukum bagi konsumen adalah : Pembentukan undang-undang periklanan, penetapan pasal tentang badan sensor iklan media cetak, penetapan pasal yang mewajibkan