• Tidak ada hasil yang ditemukan

Aplikasi Kompresi Data Berbasis Algoritma PPM (prediction By Partial Matching) Pada janringan LAN

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Kompresi Data Berbasis Algoritma PPM (prediction By Partial Matching) Pada janringan LAN"

Copied!
130
0
0

Teks penuh

(1)

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik Dan Ilmu Komputer Universitas Komputer Indonesia

ALONSO

10103255

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(2)

iii

Puji dan Syukur kepada Yesus Kristus atas berkat dan kasih-Nya, sehingga

skripsi yang berjudul “Aplikasi Kompresi Data Berbasis Algoritma PPM

(Prediction by Partial Matching) Pada Jaringan LAN“ dapat selesai tepat pada waktunya. Adapun tujuan dari penelitian ini adalah sebagai salah satu persyaratan

akademik Mata Kuliah Tugas Akhir jenjang Strata I Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer di Universitas Komputer Indonesia.

Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1

Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di

Universitas Komputer Indonesia.

Bantuan serta dukungan yang penulis terima dari berbagai pihak telah

meringankan dan memudahkan penulis dalam menyelesaikan tugas akhir ini. Oleh

karena itu pada kesempatan inilah dengan segenap rasa tulus penulis

menyampaikan ucapan terima kasih kepada yang terhormat:

1. Bapak dan Mama tercinta yang telah memberikan support, kasih sayang,

perhatian serta do’a yang begitu besar sehingga penulis dapat

menyelesaikan penyusunan tugas akhir ini sekaligus meyelesaikan

(3)

iv

meluangkan waktu serta bantuan kepada penulis dalam penyusunan tugas

akhir ini.

4. Bapak Andri Heryandi, S.T sebagai penguji 1 yang telah memberikan arahan dan

masukan dalam penyusunan tugas akhir ini.

5. Bapak Irawan Afrianto, S.T sebagai penguji 3 yang telah memberikan arahan dan

masukan dalam penyusunan tugas akhir ini.

6. Ibu Tati Hariharyati M., S.T., M.T. sebagai dosen wali kelas IF-5 2003,

yang telah memberikan motivasi agar dapat menyelesaikan studi

secepatnya.

7. Pemina Lely Simangunsong, SPd dan adik-adik saya Yulista Novalia,

Melisa yang selalu memberikan nasehat, motivasi dan doa kasih sayang.

8. Bang Arief, yang telah mengajarkan penulis tentang komputer selama ini.

9. Djanda, Bung Reynaldi, Dedi deBiru, Iqbal Gatusso, Coco, Paul, Sugeng,

Budi anduk, dan seluruh warga IF 5 yang telah banyak membantu dalam

penyusunan tugas akhir ini.

Akhirnya penulis berharap semoga hasil tugas akhir ini bermanfaat bagi

kita semua, khususnya bagi yang membacanya.Amin.

Bandung, Februari 2009

(4)

v LEMBAR JUDUL

LEMBAR PENGESAHAN

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... viii

DAFTAR GAMBAR ... xiv

DAFTAR SIMBOL ... xvii

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN……….……….1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 3

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 4

1.5 Metodologi Penelitian ... 5

(5)

vi

2.1.1 Faktor Penting Kompresi Data ... 10

2.1.2 Jenis Kompresi Data ... 10

2.1.3 Metode Kompresi Data ... 11

2.1.4 Teknik Kompresi Data ... 13

2.1.5 Klasifikasi Teknik Kompresi ... 14

2.1.6 Encoding dan Decoding ... 15

2.2 Pengkodean Data ... 16

2.2.1 BCD ... 17

2.2.2 SBCDIC ... 17

2.2.3 EBCDIC ... 18

2.2.4 ASCII 7 bit ... 18

2.2.5 ASCII 8 bit ... 18

2.3 Komunikasi Data ... 18

2.3.1 Model Komunikasi Data ... 19

2.3.2 Jaringan Komunikasi Data ... 20

2.3.3 Arsitektur Protokol ... 22

2.4 Algoritma Prediction by Partial Matching(PPM)... 26

(6)

vii

2.7 File Transfer Protocol ( FTP ) ... 35

BAB III ANALISIS DAN PERANCANGAN ... 37

3.1 Analisis Sistem ... 37

3.1.1 Analisa Masalah ... 37

3.1.2 Analisis dan Kebutuhan Fungsional ... 38

3.1.2.1 Aktor Identification…....…....…....…....…....…....…....…..38

3.1.3 Analisis dan Kebutuhan Non-Fungsional ... 38

3.1.3.1 Analisis dan Kebutuhan Pengguna...………...38

3.1.3.2 Analisis dan Kebutuhan Perangkat Keras..………...39

3.1.3.3 Analisis dan Kebutuhan Perangkat Lunak.………...39

3.2 Use Case Diagram ... 39

3.3 Sequence Diagram ... 41

3.3.1 Sequence Diagram compress ... 41

3.3.2 Sequence Diagram decompress... 42

3.3.3 Sequence Diagram koneksi ... 43

3.3.4 Sequence Diagram download ... 44

(7)

viii

3.5.1 Activity Diagram Proses encoding algoritma PPM ... 48

3.5.2 Activity Diagram Proses decoding algoritma PPM ... 49

3.6 Perancangan Sistem ... 50

3.6.1 Tujuan Perancangan Sistem ... 50

3.7 Perancangan Antar Muka ... 50

3.7.1 Antar muka menu compress ... 51

3.7.2 Antar muka menu decompress ... 53

3.7.3 Antar muka menu upload ... 55

3.7.4 Antar muka menu download ... 57

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 59

4.1 Implementasi Program ... 59

4.1.1 Tampilan Menu compress ... 60

4.1.2 Tampilan Menu decompress ... 61

4.1.3 Tampilan Menu upload ... 62

4.1.4 Tampilan Menu download ... 63

4.2 Perangkat Pendukung yang Digunakan ... 64

4.2.1 Perangkat Keras (Hardware) ... 64

(8)

ix

4.3.2 Pengujian Data ... 70

4.4 Hasil Pengujian dan Analisa ... 95

BAB V KESIMPULAN DAN SARAN ... 96

5.1 Kesimpulan ... 96

5.2 Saran ... 97

(9)

i

(PREDICTION by PARTIAL MATCHING)

PADA JARINGAN LAN

Oleh

ALONSO

10103255

Seiring dengan berkembangnya teknologi saat ini, data memiliki peranan yang sangat penting, data tersebut tidak hanya berupa teks, gambar, audio atau bahkan video data yang digunakan tidak memiliki ukuran yang sangat besar, tapi kini dapat memiliki ukuran yang sangat besar. Untuk itu diperlukan sebuah teknik untuk mengubah ukuran data tersebut agar menjadi lebih kecil. Teknik ini disebut dengan pemampatan atau yang lebih dikenal dengan kompresi data

Kompresi Data adalah suatu proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan data. Algoritma Prediction By Partial Matching (PPM) menggunakan teknik lossless yaitu tidak menghilangkan informasi sedikitpun, hanya mewakili beberapa informasi yang sama dan dikelompokan dalam metode kompresi statis, metode ini bersifat two-pass.

Hasil yang akan dibandingkan meliputi, kapasitas hasil kompresi, rasio kompresi serta waktu kompresi dan dekompresi.

(10)

PPM (PREDICTION by PARTIAL MATCHING) ALGORITHM in LOCAL AREA NETWORK

by

ALONSO

10103255

As rapidly technology development growth nowadays, data has played a valuable role, not just appear in text format, image, audio, or even video, in past

time data relatively didn’t appear in large size, but now data could be in whaling

size. To handle this situation, we need to utilize a technical manner (method) to transform the size of the data into smaller one. We know such of method as data compression.

Data compression is a transformation process to a set of data into a code format considering the necessity for data storage space. Prediction by Partial Matching (PPM) Algorithm used lossless method where the information is not completely relieved, just represents several similar data and should classified into static compression method, namely a two-pass type.

The comparison results consist of compression output capacity, compression ratio, and compression time as well as decompression.

(11)

APLIKASI KOMPRESI DATA BERBASIS ALGORITMA

PPM

(PREDICTION by PARTIAL MATCHING)

PADA JARINGAN LAN

ALONSO

10103255

Menyetujui, Pembimbing

Budhi Irawan, S.Si, M.T NIP. 41277006003

Ketua Jurusan Teknik Informatika

(12)

APLIKASI KOMPRESI DATA BERBASIS ALGORITMA PPM (PREDICTION by PARTIAL MATCHING)

PADA JARINGAN LAN

ALONSO

10103255

Penguji I

Irawan Afrianto, S.T NIP. 41277006009

Penguji II

Budhi Irawan, S.Si., M.T NIP. 41277006003

Penguji III

(13)

Saya yang bertanda tangan dibawah ini :

Nama : Alonso

Nim : 10103255

Judul Tugas Akhir : Aplikasi Kompresi Data Berbasis Algoritma

PPM (Prediction by Partial Matching) Pada Jaringan LAN

Menyatakan bahwa saya tidak melakukan tindakan meniru, menyalin atau menjiplak tugas akhir/karya ilmiah yang telah ada. Apabila saya terbukti melakukan kegiatan tersebut, maka saya bersedia untuk menerima sanksi yang diberikan sesuai dengan ketentuan yang ditetapkan dan berlaku di jurusan Teknik Informatika Universitas Komputer Indonesia.

Mengetahui,

Yang memberi pernyataan

( Alonso ) Materai

(14)

1

1.1

Latar Belakang Masalah

Di era sekarang ini kebutuhan akan informasi semakin diperlukan. Maka

dari itu sekarang banyak layanan-layanan jasa dari internet yang berusaha sebaik

mungkin untuk menyediakan informasi yang disediakan setidaknya membutuhkan

jumlah data yang tidak lagi berukuran kecil. Semakin membesarnya jumlah data

tidak dapat diimbangi dengan semakin besarnya kapasitas media penyimpanan.

Disamping itu ukuran data yang besar akan mengakibatkan pemborosan pada

penggunaan resource jaringan ketika data tersebut diakses oleh user lain yang

berada di tempat yang jauh. Data-data yang dibutuhkan tersebut tidak hanya

berupa teks tetapi dapat juga berupa data audio (multimedia) dan juga dapat

berupa gambar. Oleh karena itu dibutuhkan cara untuk bagaimana mengkompres

data-data tersebut sehingga dapat disimpan dalam media penyimpanan yang

terbatas.

Teknologi kompresi data berkembang seiring dengan kemajuan teknologi

informasi. Melalui teknologi kompresi ini, penyebaran data menjadi lebih cepat

karena ukuran data yang lebih kecil dari ukuran aslinya sehingga mempermudah

proses pengiriman data atau dapat mengurangi kebutuhan terhadap kapasitas

(15)

Transmisi data adalah proses pengiriman data dari satu sumber ke sumber

lainnya dengan menggunakan sebuah media transmisi. Media transmisi yang

sering digunakan adalah media transmisi kabel dan media transmisi gelombang

elektromagnetik. Media transmisi gelombang elektromagnetik merupakan media

transmisi yang praktis untuk digunakan karena media ini dapat menjangkau jarak

yang jauh tanpa menggunakan kabel. Pada proses transfer data, terdapat beberapa

masalah yang cukup merepotkan. Salah satunya adalah waktu yang dibutuhkan

untuk mentransfer data cukup lama. Hal ini dikarenakan bandwith yang tersedia

sangat kecil sedangkan data yang ingin ditransfer memiliki ukuran yang cukup

besar. Untuk itu diperlukan teknik kompresi untuk mengubah ukuran data tersebut

agar memiliki ukuran yang lebih kecil.

Kompresi adalah proses pengubahan sekumpulan data menjadi bentuk kode

dengan tujuan untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk

transmisi data. Kompresi data dilakukan dengan mengkodekan setiap karakter di

dalam pesan atau data dengan mengkodekan setiap karakter di dalam pesan atau

data dengan kode yang lebih pendek. Pada saat ini banyak sekali algoritma yang

digunakan untuk mengkompresi data. Antara lain algoritma Huffman, LZ Family,

RLE, LZMA, CTW, Deflate, Arithmetic coding, Half Byte dan lain-lain. Pada

pembuatan tugas akhir ini algoritma yang digunakan untuk mengompresi data

adalah algoritma Prediction by Partial Matching(PPM).

Algoritma Prediction by Partial Matching (PPM) adalah teknik kompresi

data statis berdasarkan konteks pemodelan dan prediksi.. Algoritma ini termasuk

(16)

hanya mewakilkan beberapa informasi yang sama. Metode ini bersifat two-pass

yaitu menggunakan peta kode yang selalu sama, fase pertama untuk menghitung

kemungkinan tiap simbol dan menentukan peta kodenya dan fase kedua untuk

mengubah pesan menjadi kumpulan kode yang akan di transmisikan.

Dari uraian diatas maka diambil topik tugas akhir yaitu Aplikasi Kompresi Data Berbasis Algoritma PPM (Prediction by Partial Matching) Pada Jaringan LAN”.

1.2

Identifikasi Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas, maka

identifikasi masalah dalam penulisan tugas akhir ini adalah :

1. Bagaimana membangun aplikasi untuk memperkecil ukuran suatu data?

2. Bagaimana melakukan kompresi dengan menggunakan algoritma PPM?

3. Bagaimana membangun aplikasi yang dapat mentransfer data?

1.3

Maksud dan Tujuan

Berdasarkan permasalahan yang telah diteliti, maka maksud dari penulisan

tugas akhir ini adalah untuk membuat Aplikasi Kompresi Data Berbasis

Algoritma PPM (Prediction by Partial Matching) Pada Jaringan LAN.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah untuk

(17)

1.4

Batasan Masalah

Agar pembahasan dan penyusunan tugas akhir ini dapat dilakukan secara

terarah dan tidak menyimpang serta sesuai dengan apa yang diharapkan, maka

perlu ditetapkan batasan-batasan dari masalah yang dihadapi, yaitu :

1. Sistem operasi yang digunakan adalah Windows XP SP2

2. Perangkat lunak yang digunakan untuk membangun aplikasi ini adalah

C++ Builder.

3. Spesifikasi hardware yang digunakan untuk menjalankan aplikasi ini,

yaitu :

a. Processor minimal Pentium IV

b. Memory minimal 256 MB

c. Videocard minimal 64 MB

d. Ruang harddisk minimal 10 MB

e. LAN card

f. Mouse dan keyboard

4. Kompresi data ini diimplementasikan pada proses transfer data berbasis

client server.

5. Kompresi data ini diimplementasikan pada jaringan LAN dengan

menggunakan FTP Filezilla server . Algoritma kompresi yang digunakan

pada kompresi data ini adalah algoritma Prediction by Partial Matching

(18)

1.5

Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai

berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah

sebagai berikut :

a. Studi Literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan

bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan

langsung terhadap permasalahan yang diambil.

c. Eksperimen atau percobaan

Teknik melakukan percobaan terhadap terhadap permasalahan yang

(19)

1.6

Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran

umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini

adalah sebagai berikut :

BAB I. PENDAHULUAN

Bab ini berisi latar belakang masalah, identifikasi masalah, maksud dan tujuan

yang ingin dicapai, batasan masalah, metodologi penelitian yang diterapkan dalam

memperoleh dan mengumpulkan data, waktu dan tempat penelitian, serta

sistematika penulisan.

BAB II. LANDASAN TEORI

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik

masalah yang diambil dan hal-hal yang berguna dalam proses analisis

permasalahan.

BAB III. ANALISIS DAN PERANCANGAN

Menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan

antar variabel yang diteliti serta model matematis untuk analisisnya.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Membahas mengenai pengimplementasian aplikasi yang telah dibuat ke perangkat

yang akan digunakan serta melakukan pengujian terhadap aplikasi yang telah

diimplementasikan tersebut.

BAB V. KESIMPULAN DAN SARAN

(20)

7 2.1 Kompresi Data

Sistem komunikasi dirancang untuk mentransmisi informasi yang

dibangkitkan oleh sumber ke beberapa tujuan. Sumber informasi mempunyai

beberapa bentuk yang berbeda. Sebagai contoh, dalam radio broadcasting, sumber

biasanya sumber audio (suara atau music). dalam TV broadcasting, sumber

informasi biasanya sebuah sumber video yang keluarannya berupa image

bergerak. Output dari sumber-sumber ini adalah sinyal analog dan sumbernya

disebut sumber analog.

Kontras dengan komputer dan tempat penyimpanan data (storage) seperti

disk magnetic atau optical, menghasilkaan ouput berupa sinyal diskrit (biasanya

karakter binary atau ASCII). Sinyal yang menjadi sumbernya biasa disebut

dengan sumber diskrit. baik sumber analog maupun diskrit, sebuah komunikasi

digital dirancang untuk mentransmisi informasi dalam bentuk digital. Sehingga

konsenkuensi keluaran dari sumber harus diubah dahulu menjadi bentuk keluaran

sumber digital yang biasanya dilakukan pada source encoder. Keluaran dari

(21)

Pada akhir tahun 40-an dimana dimulainya tahun teori informasi, ide

pengembangan metode coding yang efesien baru dimulai dan dikembangkan.

Dimulainya penjelajahan ide dari entropy, information content dan redudansi.

Salah satu ide yang popular adalah apabila probabilitas dari simbol dalam suatu

pesan diketahui, maka terdapat cara untuk mengkodekan simbol, sehingga pesan

memakan tempat yang lebih kecil. Ide inilah yang menjadi cikal bakal dalam

terciptanya kompresi data.

Model pertama yang muncul untuk kompresi sinyal digital adalah

Shannon-Fano coding. Shannon dan fano (1948) terus menerus mengembangkan algoritma

ini yang menghasilkan codeord biner untuk setiap symbol (unik) yang terdapat

pada data file.

Huffman coding (1952) memakai hampir semua karakteristik dari

Shannon-fano coding. Huffman coding dapat menghasilkan kompresi data yang efektif

dengan mengurangkan jumlah redudansi dalam mengkodingkan simbol. Telah

dapat dibuktikan, bahwa Huffman coding merupakan metode fixed-length yang

paling efesien.

Pada limabelas tahun terakhir, Huffman coding telah digantikan oleh

Arithmetic coding. Arithmetic coding melewatkan ide untuk menggantikan

sebuah simbol masukan dengan kode yang spesifik. Algoritma ini menggantikan

sebuah aliran simbol masukan dengan sebuah angka keluaran single

floating-point. Lebih banyak bit dibutuhkan dalam angka keluaran, maka semakin rumit

(22)

Algoritma dictionary-based compression menggunakan metode yang sangat

berbeda dalam mengkompres data. Algoritma ini menggantikan string

variable-length dari simbol menjadi sebuah token. Token merupakan sebuah indek dalam

susunan kata di kamus. Apabila token kecil dari susunan kata, maka token akan

menggantikan prase tersebut dan kompresi pun terjadi.

Kompresi data (pemampatan data) merupakan suatu teknik untuk

memperkecil jumlah ukuran data (hasil kompresi) dari data aslinya. Pemampatan

data umumnya diterapkan pada mesin komputer, hal ini dilakukan karena setiap

simbol yang muncul pada komputer memiliki nilai bit-bit yang berbeda. Misal

pada ASCII setiap simbol yang dimunculkan memiliki panjang 8 bit, misal kode

A pada ASCII mempunyai nilai decimal 65, jika dirubah dalam bilangan biner

menjadi 010000001. Pemampatan data digunakan untuk mengurangkan jumlah

bir-bit yang dihasilkan dari setiap simbol yang muncul. Dengan pemampatan ini

diharapkan dapat mengurangi (memperkecil ukuran data) dalam ruang

(23)

2.1.1 Faktor Penting Kompresi Data

Dalam kompresi data, terdapat 4 (empat) faktor penting yang perlu

diperhatikan, yaitu :

1. Time process

Yaitu waktu yang dibutuhkan untuk menjalankan proses kompresi.

2. Completeness

Yaitu kelengkapan data setelah data tersebut dikompresi.

3. Ratio Compress

Yaitu ukuran data setelah data tersebut dikompresi

4. Optimaly

Yaitu perbandingan ukuran data sebelum dikompresi dengan data yang

telah dikompresi.

2.1.2 Jenis Kompresi Data

Berdasarkan mode penerimaan data oleh manusia, kompresi data dapat

dibagi menjadi dua, yaitu :

a. Dialoque Mode

yaitu proses penerimaan data dimana pengirim dan penerima seakan

berdialog (real time), dimana kompresi data harus berada dalam batas

penglihatan dan pendengaran mausia. Contohnya pada video conference.

b. Retrieval Mode

yaitu proses penerimaan data tidak dilakukan secara real time. Jenis

kompresi ini dapat dilakukan random access terhadap data dan dapat

(24)

2.1.3 Metode Kompresi Data

Berdasarkan tipe peta kode yang digunakan untuk mengubah pesan awal (isi

file input) menjadi sekumpulan codeword, metode kompresi terbagi menjadi dua

kelompok, yaitu :

a. Metode Statik

Menggunakan peta kode yang selalu sama. Metode ini membutuhkan dua

fase (two-pass) : fase pertama untuk menghitung probabilitas kemunculan

tiap simbol/karakter dan menentukan peta kodenya dan fase kedua untuk

mengubah pesan menjadi kumpulan kode yang akan ditransmisikan.

Contohnya pada Huffman static, arithmetic coding

b. Metode Dinamik (adaptif)

Menggunakan peta kode yang dapat diubah dari waktu ke waktu. Metode

ini disebut adaptif karena peta kode mampu beradaptasi terhadap

karakteristik isi file selama proses kompresi berlangsung. metode ini

bersifat onepass, karena isi file selama dikompres hanya diperlakukan satu

kali pembacaan terhadap isi file. Contohnya pada algoritma LZW dan

(25)

Berdasarkan teknik pengkodean atau pengubahan simbol yang digunakan,

metode kompresi dapat dibagi ke dalam tiga kategori, yaitu :

a. Metode simbolwise

Menghitung peluang kemunculan dari tiap simbol dalam file input, lalu

mengkodekan satu simbol dalam satu waktu, dimana simbol yang lebih

sering muncul diberi kode lebih pendek dibandinglan simbol yang lebih

jarang muncul. Contohnya pada Huffman coding, arithmetic coding.

b. Metode dictionary

Menggantikan karakter/fragmen dalam file input dengan indeks lokasi dari

karakter/fragmen tersebut dalam sebuah kamus (dictionary). Contohnya

pada algoritma LZW

c. Metode predictive

Menggunakan model finite-context atau finite-state untuk memprediksi

distribusi probabilitas dari simbol-simbol selanjutnya. Contohnya pada

(26)

2.1.4 Teknik Kompresi Data

Teknik kompresi data dapat digolongkan menjadi dua kelompok utama

yaitu : lossy dan lossless. Teknik kompresi secara lossy dimaksudkan dengan

teknik kompresi data dengan menghilangkan ketelitian data utama guna

mendapatkan data sekecil mungkin (kompresi data sebesar mengkin). Teknik

kompresi data secara lossless yaitu teknik kompresi data dengan mengurangkan

jumlah data yang terjadi redudansi (memiliki symbol yang sama) sebelum terjadi

kompresi.

a. Lossy Compression

Merupakan teknik kompresi yang menghilangkan beberapa informasi data

yang dianggap tidak penting. Sehingga hasil data yang telah terkompresi

tidak sama dengan data yang sebelum dikompresi. Namun data yang telah

terkompresi tersebut sudah cukup untuk digunakan, walaupun datanya

telah berubah. Keunggulan dari teknik ini adalah file atau data yang telah

terkompresi memiliki ukuran yang lebih kecil dari ukuran data aslinya.

Biasanya teknik kompresi ini banyak diaplikasikan pada data gambar dan

data audio.

b. Lossless Compression

Merupakan teknik kompresi yang mempertahankan kebutuhan informasi

yang dikandung oleh data, sehingga informasi yang terkandung pada file

yang telah terkompresi tetap terjaga meskipun ukurannya telah berubah

dari ukuran data aslinya. Keunggulan dari teknik ini adalah data yang telah

(27)

sama persis dengan data aslinya. Biasanya teknik kompresi ini banyak

diaplikasikan pada data teks.

2.1.5 Klasifikasi Teknik Kompresi

Teknik kompresi dapat diklasifikasikan menjadi tiga kelompok, antara lain :

a. Entropy Encoding

Merupakan klasifikasi teknik kompresi yang bersifat loseless compression.

Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik

tertentu, namun berdasarkan urutan data. Dan statistical encoding pada

klasifikasi teknik ini tidak memperhatikan semantik data. Contoh

kelompok teknik kompresi ini adalah pada Run-Length coding, Huffman

coding, Arithmetic coding.

b. Source Coding

Merupakan klasifikasi teknik kompresi yang bersifat lossy compression.

Tekniknya berkaitan dengan data semantik (arti data) dan media. Contoh

kelompok teknik kompresi ini adalah pada prediction (DPCM, DM),

transformation (FFT, DCT), layered coding (bit position, subsampling,

sub-band coding), vector quantization

c. Hybrid Coding

Merupakan klasifikasi teknik kompresi yang bersifat gabungan antara

lossy compression dan loseless compression. Contoh kelompok teknik

(28)

2.1.6 Encoding dan Decoding

Encoding merupakan teknik untuk mendapatkan kode-kode tertentu

(encoder). Dari kode-kode tersebut dapat diaplikasikan untuk pemampatan data

dan keamanan data. Dari data-data yang telah dikodekan tersebut, format-format

isi dari data tersebut berbentuk kode-kode yang tidak bisa dibaca oleh user. Agar

kode-kode tersebut bisa dibaca oleh user, maka kita perlu mengkodekan ulang

data tersebut. Hal ini biasa dikenal dengan nama decoding (decoder)

Secara umum pemampatan data merupakan merubah suatu simbol-simbol

menjadi suatu kode-kode. Pemampatan dikatakan efektif jika ukuran perolehan

kode-kode tersebut sangat kecil dibandingkan dengan ukuran kode simbol aslinya.

Dari suatu kode-kode atau simbol-simbol dasar suatu model akan dinyatakan

dalam kode khusus.

Proses decoding, yaitu proses pengembalian kode-kode yang telah dibuat

menjadi simbol-simbol yang dikenal oleh user. Proses decoder ini membaca

header dari kode-kode yang berisi informasi simbol dan jumlah simbol yang

digunakan, setelah pembacaan header proses encoder dengan model ditunjukan

pada gambar 2.1, sedangkan proses decoder dengan model ditunjukan pada

gambar 2.2 dibawah ini

MASUKAN MODEL ENDOKER KELUARAN

SIMBOL PROBABILITAS CODE

(29)

MASUKAN MODEL DEKODER KELUARAN

SIMBOL PROBABILITAS CODE

Gambar 2.2 Model Proses Dekoder

2.2 Pengkodean Data

Data disimpan di dalam komputer pada main memory untuk diproses.

Sebuah karakter data disimpan dalam main memory menempati posisi 1 byte.

Komputer generasi pertama, 1 byte terdiri dari 4 bit, komputer generasi kedua, 1

byte terdiri dari 6 bit dan komputer generasi sekarang, 1 byte terdiri dari 8 bit.

Suatu karakter data yang disimpan di main memory diwakili dengan kombinasi

dari digit binary (binary digit atau bit). Suatu kode biner dapat digunakan untuk

mewakili suatu karakter.

Suatu komputer yang berbeda menggunakan kode biner yang berbeda untuk

mewakili suatu karakter. Komputer yang 1 byte terdiri dari 4 bit, menggunakan

kode binary yang berbentuk kombinasi 4 bit, yaitu BCD (Binary coded decimal).

Komputer yang menggunakan 6 bit untuk 1 bytenya, menggunakan kode biner

yang terdiri dari kombinasi 6 bit, yaitu SBCDIC (Standard Binary Coded Decimal

Interchange Code). Komputer yang terdiri dari 8 bit, menggunakan kode biner

yang terdiri dari kombinasi 8 bit, yaitu EBCDIC (extended Binary coded decimal

interchange code) atau ASCII (American standard code of information

(30)

2.2.1 BCD (Binary Coded Decimal)

BCD merupakan kode biner yang digunakan hanya untuk mewakili nilai

desimal saja, yaitu angka 0 sampai dengan 9. BCD menggunakan kombinasi dari

4 bit, sehingga sebanyak 16 (24 = 16) kemungkinan kombinasi yang dapat

diperoleh dan hanya 10 kombinasi yang dipergunakan.

Kode BCD yang orisinil sudah jarang dipergunakan untuk komputer

generasi sekarang, karena tidak dapat mewakili huruf atau simbol-simbol karakter

khusus.

2.2.2 SBCDIC (Standard Binary Coded Decimal Interchange Code)

SBCDIC merupakan kode biner perkembangan dari BCD. BCD dianggap

tanggung, karena masih ada 6 kombinasi yang tidak dipergunakan, tetapi tidak

dapat digunakan untuk mewakili karakter yang lainnya. SBCDIC menggunakan

kombinasi 6 bit , sehingga lebih banyak kombinasi yang bisa dihasilkan, sebanyak

64 kombinasi kode, yaitu 10 kode untuk digit angka, 26 kode untuk huruf

alphabet dan sisanya karakter-karakter khusus yang dipilih [1].

Posisi bit di SBCDIC dibagi menjadi 2 zone, yaitu 2 bit pertama disebut

dengan alphabet position dan 4 bit berikutnya disebut dengan numeric bit

(31)

2.2.3 EBCDIC (Extended Binary Coded Decimal Interchange Code)

EBCDIC terdiri dari kombinasi 8 bit yang memungkinkan untuk mewakili

karakter sebanyak 256 kombinasi karakter. Pada EBCDIC, high-order bits atau 4

bit pertama disebut dengan zone bits dan low order bits atau 4 bit kedua disebut

dengan numeric bit.

2.2.4 ASCII (American standard code for information interchange) 7 bit Kode ASCII yang standard menggunakan kombinasi 7 bit, dengan

kombinasi sebanyak 127 dari 128 kemungkinan kombinasi.

Kode ASCII 7 bit ini terdiri dari dua bagian, yaitu control characters dan

information characters merupakan karakter-karakter yang mewakili data [1].

2.2.5 ASCII 8 bit

Karakter-karakter graphic yang tidak dapat diwakili oleh ASCII 7 bit, dapat

diwakili dengan ASCII 8 bit karena lebiih banyak memberikan kombinasi

karakter.

2.3 Komunikasi Data

Komunikasi data adalah proses pengiriman informasi diantara dua titik

menggunakan kode biner melewati saluran transmisi dan peralatan switching

dapat terjadi antara komputer dengan komputer, komputer dengan terminal atau

komputer dengan peralatan. Komunikasi data merupakan gabungan dari teknik

(32)

Adapun tujuan dari komunikasi data adalah sebagai berikut :

1. Memunkinkan pengiriman data dalam jumlah besar efisien, tanpa

kesalahan dan ekomis dari suatu tempat ketempat yang lain.

2. Memungkinkan penggunaan sistem komputer dan perlatan pendukung dari

jarak jauh (remote computer use).

3. Memungkinkan penggunaan komputer secara terpusat maupun secara

tersebar sehingga mendukung manajemen dalam hal kontrol, baik

desentralisasi ataupu sentralisasi.

4. Mempermudah kemungkinan pengelolaan dan pengaturan data yang ada

dalam berbagai mcam sistem komputer.

5. Mengurangi waktu untuk pengelolaan data.

6. Mendapatkan data langsung dari sumbernya.

7. Mempercepat penyebarluasan informasi.

2.3.1 Model Komunikasi Data

Komunikasi data berkaitan dengan pertukaran data diantara dua perangkat

yang terhubuang secara langsung yang memungkinkan adanya pertukaran data

antar kedua pihak.gambar 2.3 menggambarkan proses komunikasi data.

Sumber Transmiter Sistem

Transmisi Receiver Tujuan

Sistem Sumber Sistem Tujuan

(33)

Pada gambar diatas terdapat elemen-elemen dalam kunci model tersebut :

1. Source (sumber) : Alat ini membangkitkan data sehingga dapat

ditransmisikan, contoh telepon, Personal Computer (PC)

2. Transmitter (pengirim): Biasanya data yang dibangkitkan dari sister

sumber tidak ditransmisikansecara langsung dalam bentuk aslinya. Sebuah

transmitter cukup memindah dan menandai informasi dengan cara yang

sama seperti sinyal-sinyal elektromagnetik yang dapat ditransmisikan

melewati beberapa sistem transmisi berurutan.

3. Sistem transmisi : Berupa jalur transmisi tunggal (single transmission)atau

jaringan komplek(complex network)yang menghubungkan antara sumber

dengan tujuan (destination).

4. Tujuan (destination) : menangkap data yang dihasilkan oleh receiver

2.3.2 Jaringan Komunikasi Data

Jaringan komunikasi dapat diartikan sebagai suatu sistem yang terbentuk

dari interkoneksi fasilitas-fasilitas yang dirancang untuk membawa trafik dari

beragam sumber telekomunikasi.

Suatu jaringan terdiri dari link dan node. Istilah node digunakan untuk

merepresentasikan sentral, junction atau keduanya. Istilah link digunakan untuk

merepresentasikan kabel, peralatan transmisi, dan sebagainya. Sedangkan trafik

adalah informasi yang terdapat di dalam jaringan, yang mengalir melalui link dan

(34)

Suatu jaringan komunikasi merupakan sumber daya yang dapat dipakai

secara bersamaan (shared) oleh sejumlah end user untuk berkomunikasi dengan

user lain yang likasinya berjauhan. Tidak semua user menggunakan jaringan pada

waktu yang bersamaan, oleh karena itu merupakan suatu hal yang logis apabila

sumber daya jaringanyang sangat penting ini dipakai bersama-sama. Penggunaan

sumber daya secara bersamaan ini melahirkan konsep sentral.

a. LAN (Local Area Network)

LAN digunakan untuk menghubungkan komputer yang berada di dalam

suatu area yang kecil, misalnya di dalam suatu gedung perkantoran atau kampus.

Jarak antar komputer yang dihubungkan bias mencapai 5 sampai 10 km. Suatu

LAN biasnya bekerja pada kecepatan mulai 10 Mbps sampi 100 Mbps. LAN

menjadi populer karena memungkinkan banyak pengguna untuk memakai sumber

daya yang dapat digunakan itu misalnya suatu mainframe, file server, printer, dan

sebagainya.

b. MAN (Metropolitan Area Network)

MAN merupakan suatu jaringan yang cakupannya meliputi suatu kota.

MAN menghubungkan LAN-LAN yang lokasinya berjauhan. Jangkauan MAN

mencapai 10 km sampai beberapa ratus km. Suatu MAN biasanya bekerja pada

(35)

c. WAN (Wide Area Network)

WAN dirancang untuk menghubungkan komputer-komputer yang terletak

pada suatu cakupan geografis yang luas,seperti hubungan dari suatu kota ke kota

yang lain didalm suatu Negara. Cakupan WAN bias meliputi 100 km sampai

1.000 km, dan kecepatan antar kota bias bervariasi antara 1,5 Mbps sampai 2,4

Gbps. Dalam WAN, biaya untuk peralatan untuk transmisi sangat tinggi,dan

biasanya jaringan WAN dimiliki dan dioperasikan sebagai suatu jaringan public.

d. GAN (Global Area Network)

GAN merupakan suatau jarinagn yang menghubungkan Negara-negara

diseluruh dunia. Kecepatan GAN bervariasi mulai dari 1,5 Mbps sampai dengan

100 Gbps dan cakupannya mencakupi ribuan kilometer.

2.3.3 Arsitektur Protokol

Open system interconnection (OSI), istilah ini mengacu pada standar untuk

pertukaran informasi diantara sistem-sistem yang”terbuka” yaitu sistem yang

menerapkan standar OSI. Fakta bahwa suatu sistem merupakan sistem yang

terbuka tidak berpengaruh terhadap implementasi, teknologi, atau interkoneksi

sistem, melainkan berhubungan dengan kesesuaian suatu sistem terhadap standar

yang diterapkan. Berdasarkan hal ini, ISO (organization for Standarization)telah

menspesifikasikan suatu model referensi OSI yang membagi-bagi fungsi

komunikasi ke dalam tujuh lapis (layer). Model OSI menyediakan secara

konseptual kerangka kerja untuk komunikasi. Sebenarnya komunikasi dapat

terjadi karena menggunakan protokol komunikasi. Dalam konteks jaringan

(36)

yang menentukan bagaimana komputer bertukar informasi melalui sebuah media

jaringan. Sebuah protokol mengimplementsikan salah satu atau lebih layer-layer

OSI. Setiap layer ditugaskan untuk melaksankan suatu subset dari fungsi

komunikasi tertentu yang pada gilirannya diterapkan di dalam suatu data terminal

equipment (DTE) yang berkomunikasi dengan DTE yang lain. Setiap layer

mengandalkan layer yang ada dibawahnya untuk melaksanakan fungsi-fungsi

yang lebih primitive serta sekaligus menyediakan layanan untuk mendukung layer

yang berada diatasnya. Layer-layer ini dirancang agar setiap perubahan yang

(37)

Model Referensi OSI diperlihatkan pada gambar 2.4 Application Presentation Session Transport Network Data Link Host A Physical Application Presentation Session Transport Network Data Link Host B Physical Network Network

Network Data Link

Physical Physical Layer Interface Application Protocol Presentation Protocol Session Protocol Transport Protocol Communication Subnet boundary APDU PPDU SPDU TPDU Frame Bit Packet

Network layer host router protocol Internet subnet

Protocol

router router Interface

Nama Unit yang dipertukarkan

Data linklayer host router protocol

[image:37.595.128.472.199.590.2]

Physical layer host router protocol

(38)

a. Physical Layer

Lapisan ini bertanggung jawab untuk mengaktifkan dan mengatur Physical

interface jaringan komputer. Pada lapisan ini, hubungan antar interface-interface

dari perangkat keras diatur seperti hubungan antara DTE dan DCE. Interface yang

didefinisikan pada lapisan ini antara lain 10BaseT, 100BaseTX,V35, X.21 dan

High Speed Serial Interface (HSSI).

b. Data Link Layer

Lapisan ini mengatur topologi jaringan, error notification dan flow control.

Tugas utama data link layer adalah sebagai fasilitas transmisi raw data dan

mentransformasikan data tersebut ke saluran yang bebas dari kesalahan transmisi.

c. Network Layer

Network Layer berfungsi untuk mengendalikan operasi subnet dengan

meneruskan paket-paket dari saru node ke node yang lain dalam jaringan.

Masalah desain yang penting adalah bagaimana cara menetukan route pengiriman

paket dari sumber ke tujuannya.

d. Transport Layer

Fungsi utama Transport layer adalah menerima data dari session layer,

memecah data menjadi bagian-bagian yang lebih kecil bila perlu, meneruskan data

ke network layer, dan manjamin bahwa semua potongan data tersebut bisa tiba

disis lainnya dengan benar. Selain itu, semua hal tersebut harus dilaksnakan secara

efisien, dan bertujuan dapat melindungi layer-layer bagian atas dari perubahan

(39)

e. Session Layer

Session Layer mengijinkan para pengguna untuk menetapkan session

dengan pengguna lainnya. Layer ini membuka, mengatur dan menutup suatu

session antara aplikasi-aplikasi.

f. Presentation Layer

Presentation Layer melakukan fungsi-fungsi tertentu yang diminta untuk

menjamin penemuan sebuah penyelesaian umum bagi masalah tertentu. Selain

memberikan sarana-sarana pelayanan untuk konversi, format dan enkripsi data,

Presentation Layer juga beberja dengan file berformat ASCII, EBCDIC, JPEG,

MPEG, TIFF, PICT, MIDI, dan Quick Time.

g. Aplication Layer

Lapisan ini memberikan saran pelayanan langsung ke user, yang berupa

aplikasi-aplikasi dan mengadakan komunikasi dari program ke program. Jika kita

mencari suatu file dari file server unruk digunakan sebagai aplikasi pengolah kata,

maka proses ini bekerja melaui layer ini. Demikian pula ketika melakukan

pengiriman email, browse, ke internet, chatting, membuka telnet session, atau

menjalankan FTP, maka semua proses tersebut dilaksanakan di layer ini.

2.4 Algoritma kompresi PPM

Algoritma Prediction by Partial Matching (PPM) adalah teknik kompresi

data statis berdasarkan konteks pemodelan dan prediksi.. Algoritma ini termasuk

dalam kelas losless compression yaitu tidak menghilangkan informasi sedikitpun,

hanya mewakilkan beberapa informasi yang sama. Metode ini bersifat two-pass

(40)

kemungkinan tiap simbol dan menentukan peta kodenya dan fase kedua untuk

mengubah pesan menjadi kumpulan kode yang akan di transmisikan.

Pada proses, PPM menjalankan rangkaian model deret konteks, dari 0

hingga nilai maksimum k yang ditetapkan sebelumnya, untuk memprediksi

karakter-karakter berikutnya. Untuk tiap statistik model konteks order i yang

memuat semua simbol yang telah tersusun, setiap panjang i berikutnya dalam

input dan berapa kali kejadiannya. Peluang kemungkinan dihitung dari

statistik-statistik dengan cara: setiap model, deret 0 hingga deret k, diperoleh dari distribusi

peluang kemungkinan yang terpisah dan secara efektif disatukan ke dalam satu

bagian. Model deret terbesar adalah salah satu model yang secara default,

digunakan untuk memprediksi simbol awal. Namun, jika suatu simbol yang tidak

diketahui terhubung dengan suatu simbol “lepas” maka model lebih kecil akan

digunakan untuk prediksi. Proses akan berlanjut hingga salah satu model deret

tertentu memprediksikan simbol berikutnya.

2.4.1 Pembentukan pohon string

Masalah utama dalam pembentukan string adalah membangun struktur

data dimana semua konteks saling berhubungan dari setiap simbol ke simbol

lainnya. Struktur yang digambarkan disini adalah suatu jenis pohon tertentu.

Disebut juga sebagai tree. Tree adalah pohon, dimana struktur bercabang dari

setiap tingkat ditentukan oleh sebagian item data, tidak oleh keseluruhan item.

Dalam proses ini, deretan konteks N adalah suatu string yang mencakup semua

konteks dengan deret-deret N– 1 hingga 0, sehingga setiap konteks secara efektif

(41)

Berikut langkah-langkah dalam sebuah pembentukan pohon string

zxzyzxxyzx dalam algoritma PPM adalah sebagai berikut :

1. Masukkan sebuah karakter pada kalimat yang akan di input ke dalam

pohon PPM sebagai node baru pada level 1.

2. Masukkan karakter selanjutnya pada kalimat yang akan di input.

Periksa pohon PPM tersebut, apakah ada node jembatan atau tidak

pada pohon PPM, jika ya, tambahkan karakter sebagai anak node dari

jembatan, dan jika tidak, tambahkan karakter sebagai node baru pada

level 1.

3. Periksa node baru yang ditambahkan pada pohon PPM, apakah node

tersebut terletak pada level 1, jika ya, maka proses telah selesai, dan

jika tidak cari node terakhir pada pohon PPM yang mengalami

perubahan pada level 1, kemudian tambahkan node yang di input

sebagai anak dari node tersebut.

4. Periksa node-node pada level 1, apakah ada karakter yang sama

dengan karakter node yang di input, jika ya, tambahkan node,jika

tidak, buat node baru pada level 1.

5. Ulangi langkah no 2, 3 dan 4 sampai karakter-karakter yang ada pada

(42)

Pada gambar 2.5 diperlihatkan pembentukan pohon string zxzyzxxyzx di

bawah ini :

z, 1

x, 1

z, 1 x, 1

x, 1

3. ‘z’

2. ‘x’

1. ‘z’

x, 1

4. ‘y’

x, 1

z, 1

z, 1 y, 1

x, 1

z, 1

5. ‘z’

x, 1 z, 1 y, 1 z, 2 z, 1 y, 1 y, 1 z, 1

6. ‘x’

y, 1 y, 1 z, 1 z, 1 y, 1 z, 1 x, 1 z, 3

7. ‘x’

y, 1 y, 1 z, 1 z, 3 x, 2 z, 1 x, 1 z, 1 z, 1

y, 1 x, 1

8. ‘y’

z, 1 z, 3 x, 2 z, 1 z, 1 y, 1 y, 1 x, 1 x, 1 x, 3 x, 1 y, 1 z, 1

9. ‘z’

x, 2 z, 1 z, 1 y, 1 z, 1 x, 1 x, 3 x, 1 y, 1 x, 1 y, 1 y, 2 y, 1 z, 1

10. ‘x’

z, 1 z, 1

y, 1 x, 1

y, 1 x, 1 y, 1 y, 2 y, 1 z, 1 z, 2 z, 1 x, 2 z, 1

x, 1 z, 2

z, 1 y, 1

y, 1

z, 3

z, 1 x, 2

[image:42.595.134.514.167.701.2]

x, 2 z, 1 x, 1 x, 3 y, 1 y, 2 z, 1 z, 2 x, 3 x, 1

(43)

2.4.2 Proses Encoding

Pada umumnya, algoritma kompresi data melakukan penggantian satu atau

lebih simbol input dengan kode tertentu. Berbeda dengan cara tersebut, algoritma

kompresi PPM menggantikan satu deretan simbol input dengan sebuah bilangan

floating point. Semakin panjang dan semakin kompleks pesan yang dikodekan,

semakin banyak bit yang diperlukan untuk keperluan tersebut.

Output dari algoritma kompresi PPM ini adalah satu angka yang lebih

kecil dari 1 dan lebih besar atau sama dengan 0. Angka ini secara unik dapat

di-decode sehingga menghasilkan deretan simbol yang dipakai untuk menghasilkan

angka tersebut.

Untuk menghasilkan angka output tersebut, tiap simbol yang akan

di-encode diberi satu set nilai probabilitas. Contoh, andaikan kata SWISS_MISS akan di- encode. Akan didapatkan tabel probabilitas berikut :

Tabel 2.1 Contoh Tabel Probabilitas untuk Kata

“SWISS_MISS”

Karakter Probabilitas

S 5/10

W 1/10

I 2/10

M 1/10

(44)

Setelah probabilitas tiap karakter diketahui, karakter akan diberikan range

tertentu yang nilainya berkisar di antara 0 dan 1, sesuai dengan probabilitas yang

ada. Dalam hal ini tidak ada ketentuan urut-urutan penentuan segmen, asalkan

antara encoder dan decoder melakukan hal yang sama.

Dari tabel 2.1 di atas dibentuk tabel 2.2 berikut:

Tabel 2.2 Range Simbol untuk Kata

“SWISS_MISS”

Karakter Probabilitas Range

S 5/10 0.50 – 1.00

W 1/10 0.40 – 0.50

I 2/10 0.20 – 0.40

M 1/10 0.10 – 0.20

_ 1/10 0.00 – 0.10

Dari tabel ini, satu hal yang perlu dicatat adalah tiap karakter melingkupi

range yang disebutkan kecuali bilangan yang tinggi.

Selanjutnya untuk melakukan proses encoding dipakai algoritma berikut:

Set low = 0.0

Set high = 1.0

While (simbol input masih ada) do

Ambil simbol input

CR = high – low

High = low + CR*high_range (simbol)

(45)

End While

Cetak Low

Di sini „Low‟ adalah output dari proses algoritma PPM.

Untuk kata „SWISS_MISS‟ di atas, pertama kita ambil karakter „S‟. Nilai

CR adalah 1-0 = 1. High_range (S) = 1.0, Low_range(S) = 0.5.

Kemudian didapatkan nilai

high = 0.00 + CR*1.0 =1.0

low = 0.00 + CR*0.5 = 0.5

Kemudian diambil karakter „W‟. Nilai CR adalah 1.0 – 0.5 = 0.5.

High_range(W)= 0.5, Low_range (W) = 0.4. Kemudian didapatkan nilai

high = 0.5 + CR*0.5 = 0.75

low = 0.5 + CR*0.4 = 0.70

(46)

Tabel 2.3 Proses Encoding untuk Kata

“SWISS_MISS”

Karakter LOW HIGH CR

0.0 1.0 1.0

S 0.5 1.0 0.5

W 0.70 0.75 0.05

I 0.71 0.72 0.001

S 0.715 0.72 0.0005

S 0.7175 0.72 0.0025

_ 0.7175 0.71775 0.00025

M 0.717525 0.717550 0.000025

I 0.717530 0.717535 0.0000025

S 0.7175325 0.717535 0.00000025

S 0.71753375 0.717535 0.00000125

Dari proses ini didapatkan nilai

Low = 0.71753375

Nilai inilah yang ditransmisikan untuk membawa pesan „SWISS_MISS‟.

Untuk lebih jelasnya, alur algoritma dari proses encoding ini dapat dilihat

(47)

2.4.3 Proses Decoding

Untuk melakukan decoding dipakai algoritma berikut:

Ambil encoded-symbol (ES)

Do

Cari range dari simbol yang melingkupi ES

Cetak simbol

CR = high_range – low_range

ES = ES – low_range

ES = ES / CR

Until simbol habis

Dalam hal ini simbol habis bisa ditandai dengan simbol khusus (End of

Message misalnya) atau dengan menyertakan panjang pesan waktu dilakukan

transmisi.

Untuk pesan yang tadi di- encode (ES = 0.71753375) dilakukan proses

decoding sebagai berikut. Didapatkan range simbol yang melingkupi ES adalah

simbol/karakter „T‟.

Low_range= 0.5

High_range=1.0

CR = 1.0 - 0.5 = 0.5

ES = 0.71753375 – low_range

(48)

ES = 0.21753375 / CR

ES = 0.4350675

Untuk ringkasnya, proses decoding bisa dilihat dalam tabel 2.4 berikut:

Tabel 2.4. Proses Decoding untuk Kata “SWISS_MISS”

ES Karakter L H CR

0.4350675 S 0.5 1.0 0.5

0.350675 W 0.4 0.5 0.1

0.753375 I 0.2 0.4 0.2

0.50675 S 0.5 1.0 0.5

0.0135 S 0.5 1.0 0.5

0.135 _ 0 0.1 0.1

0.35 M 0.1 0.2 0.1

0.75 I 0.2 0.4 0.2

0.5 S 0.5 1.0 0.5

0 S 0.5 1.0 0.5

Untuk lebih jelasnya, alur algoritma dari proses decoding ini dapat dilihat

pada gambar 3.5.2

2.5 File Transfer Protokol

File Transfer Protokol (FTP) adalah suatu protokol yang berfungsi untuk

tukar-menukar file dalam suatu network yang mensupport TCP/IP protokol. Dua

hal penting yang ada dalam FTP adalah FTP server dan FTP Client. FTP server

menjalankan software yang digunakan untuk tukar menukar file, yang selalu siap

memberian layanan FTP apabila mendapat request dari FTP client. FTP client

adalah komputer yang merequest koneksi ke FTP server untuk tujuan tukar

menukar file (mengupload atau mendownload file). Contoh FTP server yang bisa

(49)

Tujuan FTP server adalah sebagai berikut :

1. Untuk men-sharing data.

2. Untuk menyediakan indirect atau implicit remote computer.

3. Untuk menyediakan tempat penyimpanan bagi user.

4. Untuk menyediakan transfer data yang reliable dan efisien.

FTP sebenarnya cara yang tidak aman untuk mentransfer file karena file

tersebut ditransfer tanpa melalui enkripsi terlebih dahulu tetapi melalui clear text.

Mode text yang dipakai untuk transfer data adalah format ASCII atau format

Binary. Secara default, ftp menggunakan mode ASCII untuk transfer data. Karena

pengirimannya tanpa enkripsi, maka username, password, data yang ditransfer,

maupun perintah yang dikirim dapat di sniffing oleh orang dengan menggunakan

protocol analyzer (Sniffer). Solusi yang digunakan adalah dengan menggunakan

SFTP (SSH FTP) yaitu FTP yang berbasis pada SSH atau menggunakan FTPS

(FTP over SSL) sehingga data yang dikirim terlebih dahulu dienkripsi

(dikodekan).

FTP biasanya menggunakan dua buah port yaitu port 20 dan 21 dan berjalan

exclusively melalui TCP. FTP server Listen pada port 21 untuk incoming

connection dari FTP client. Biasanya port 21 untuk command port dan port 20

untuk data port. Pada FTP server, terdapat 2 mode koneksi yaitu aktif (active)

(50)

37 3.1 Analsis Sistem

Analisis adalah tahap aktifitas kreatif dimana analis berusaha memahami

permasalahan secara mendalam. Ini adalah proses interative yang terus berjalan

hingga permasalahan dapat dipahami dengan benar. Analisis bertujuan untuk

mendapatkan pemahaman secara keseluruhan tentang sistem yang akan dibuat

berdasarkan masukan dari pihak-pihak yang berkepentingan dengan sistem

tersebut.

3.1.1 Analisis Masalah

Permasalahan yang dibuat dalam tugas akhir ini adalah membuat simulasi

algoritma PPM untuk mengompresi data, kemudian mengimplementasikannya

pada proses pengiriman data. Hasil simulasi algoritma PPM yang telah dibuat ini

kemudian dilakukan uji coba, sehingga kita bisa melihat hasil kompresi dan

simulasi yang telah dibuat. Data dari hasil penelitian dengan metode PPM ini

beserta pengimplementasiannya akan dibandingkan dengan data aslinya.

Perbandingan yang akan dilakukan adalah berupa ukuran dan waktu kompresi

pada data yang sebelum dikompresi dan data yang sesudah dikompresi serta

perbandingan proses transfer data antara data yang sebelum dikompresi dan data

(51)

Dari perbandingan ini akan diperoleh kelebihan dan kekurangan dari

algoritma ini, dan selanjutnya dari perbandingan tersebut akan diperoleh

kesimpulan.

3.1.2 Analisis dan Kebutuhan fungsional

3.1.2.1 Actor Identification

Tahap pertama yang dilakukan dalam melakukan analisis berorientasi

objek menggunakan UML adalah menentukan actor atau pengguna sistem. Kata

aktor dalam konteks UML, menampilkan peran (roles) yang pengguna (atau

sesuatu di luar sistem yang dikembangkan yang dapat berupa perangkat keras, end

user, sistem yang lain, dan sebagainya).

3.1.3 Analisis dan Kebutuhan non-fungsional

Analisis dan kebutuhan non-fungsional meliputi analisis dan kebutuhan

pengguna, analisis dan kebutuhan perangkat keras, serta analisis dan kebutuhan

perangkat lunak.

3.1.3.1 Analisis dan Kebutuhan Pengguna (user)

Pengguna diartikan sebagai orang yang mengakses dan menggunakan

perangkat lunak aplikasi kompresi algoritma PPM, dalam hal ini pengguna harus

memiliki kemampuan dasar untuk mengoperasikan komputer dan memiliki

(52)

3.1.3.2 Analisis dan Kebutuhan Perangkat Keras

Perangkat keras adalah seluruh komponen atau unsur peralatan yang

digunakan untuk menunjang pembangunan suatu aplikasi, dalam kasus ini adalah

aplikasi kompresi menggunakan algoritma PPM.

Tabel 3.1 Tabel spesifikasi perangkat keras

Processor Memory (RAM) Hard-disk Monitor (Resolution)

Intel Pentium 4

Processor 2,66 GHz

Kapasitas

memory mulai

dari 256 MB

sampai 1 GByte

Kapasitas

hard-disk mulai dari

40-80 GByte

Pada umumnya

menggunakan monitor

dengan resolusi 1024 x

768 (32 bit) 60 Hz

3.1.3.3 Analisis dan Kebutuhan Perangkat Lunak

1. Sistem operasi yang digunakan adalah Windows XP SP2

2. Perangkat lunak yang digunakan untuk membangun aplikasi ini adalah

C++ Builder.

3. Filezilla server

3.2 Use Case Diagram

Use case diagram digunakan untuk menggambarkan fungsionalitas yang

diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah

interaksi antara aktor dengan sistem. Use case diagram pada Gambar 3.1

menggambarkan bagaimana proses yang terjadi pada aplikasi kompresi data dan

(53)

user

compress

decompress

connect

browse input file

browse output file <<extends>>

<<extends>>

browse output file <<extends>>

disconnect

upload

download <<include>>

<<include>>

<<include>>

browse file browse file <<extends>>

[image:53.595.129.497.141.510.2]

<<extends>>

Gambar 3.1 Use case diagram aplikasi kompresi dan transfer data

Pada use case di atas terjadi beberapa proses yaitu :

1. User dapat melakukan proses kompresi file

2. User dapat melakukan proses dekompresi file

3. Sebelum Melakukan proses upload dan download, user terlebih dahulu

(54)

3.3 Sequence Diagram

Data Sequence diagram menggambarkan interaksi antar objek di dalam dan

di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message

yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal

(waktu) dan dimensi horizontal (objek-objek yang terkait)

Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkahyang dilakukan sebagai respons dari sebuah event

untuk menghasilkan output tertentu. Diawali dariapa yang men-trigger aktivitas

tersebut, proses dan perubahan apa saja yang terjadi secara internaldan output apa

yang dihasilkan.

Sequence Diagram yang digambarkan dalam perancangan sistem adalah

sebagai berikut :

3.3.1 Sequence Diagram compress

Sequence diagram menu compress dapat dilihat pada gambar

user

page compress browse input file output file compress

1: open ()

2 : select_file ()

5 : compress () 3 : create file ()

4 : file input

[image:54.595.151.470.512.723.2]

6: file compress 7 :show_infromasi ()

(55)

Pada sequence diagram di atas terjadi beberapa proses yaitu :

1. User masuk ke page compress

2. Mengambil file yang akan di kompres

3. Membuat file hasil kompresi

4. Melakukan proses kompresi dan sistem menampilkan informasi file yang telah

dikompres

3.3.2 Sequence Diagram decompress

Sequence diagram menu decompress dapat dilihat pada gambar

user

page decompress browse input_file decompress

1: open ()

2 : select_file ()

4 : decompress () 3 : file input

[image:55.595.144.475.375.576.2]

5 : show_informasi ()

Gambar 3.3 Sequence diagram decompress

Pada sequence diagram di atas terjadi beberapa proses yaitu :

1. User masuk ke page decompress

2. Menyimpan file hasil dekompresi

3. Melakukan proses dekompresi dan sistem menampilkan informasi file

(56)

3.3.3 Sequence Diagram koneksi

Sequence diagram menu koneksi dapat dilihat pada gambar

user

page koneksi connect

1: input_data_koneksi ()

2 : kirim_data_koneksi ()

server

3 : pengecekan

[image:56.595.144.487.185.400.2]

5 : koneksi 6 : informasi berhasil

Gambar 3.4 Sequence diagram koneksi

Pada sequence diagram koneksi terjadi beberapa proses yaitu :

1. User mengisi data koneksi

2. Data koneksi dikirimkan

3. Data koneksi di cek apabila tidak sesuai maka koneksi gagal dan jika data

koneksi sesuai maka akan terkoneksi

(57)

3.3.4 Sequence Diagram Download

Sequence diagram menu download dapat dilihat pada gambar

user

page download browse input_file download

1: open ()

2 : select_file ()

3 : file download

5 : show_informasi ()

server

[image:57.595.145.468.186.423.2]

4 : download_file ()

Gambar 3.5 Sequence diagram download

Pada sequence diagram download terjadi beberapa proses yaitu :

1. User masuk ke page download

2. Mengambil file yang akan didownload

3. Melakukan proses download dan sistem menampilkan informasi file yang

(58)

3.3.5 Sequence Diagram upload

Sequence diagram menu upload dapat dilihat pada gambar

user

page upload browse input_file upload

1: open ()

2 : select_file ()

3 : file upload

5 : show_informasi ()

server

[image:58.595.133.483.188.429.2]

4 : upload_file ()

Gambar 3.6. Sequence diagram upload

Pada sequence diagram upload terjadi beberapa proses yaitu :

4. User masuk ke page upload

5. Mengambil file yang akan diupload

6. Melakukan proses upload dan sistem menampilkan informasi file yang

(59)

3.4 Class Diagram

Class Diagram menggambarkan keadaan suatu sistem (atribut), dan

memberikan pelayanan untuk menyelesaikan keadaan tersebut (metoda).

Class Diagram dapat dilihat pada gambar 3.7

[image:59.595.207.432.281.550.2]

+initialize() +compress() -page_compress -browse_input_file -output_file -compress compress +initialize() +decompress() -page_decompress -browse_input_file -decompress decompress +connect() +disconnect() -page_koneksi -connect -server koneksi +initialize() +decompress() +download() -page_download -browse_input_file -download -server download +initialize() +compress() +upload() -page_upload -browse_input_file -upload -server upload * * * * * * * *

(60)

3.5 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. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state

adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak

menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas

dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use

case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use

case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan

aktivitas. Gambar-gambar dibawah ini menunjukan activity diagram dari setiap

(61)

3.5.1 Activity Diagram Proses encoding algoritma kompresi PPM

Set low = 0 High = 1

CR = high - low

Load significant digit menjadi code word

Masih ada simbol yang tersedia

Low = high

else Dimulai dengan simbol pertama dari

alpabet (x=0)

Lanjutkan dengan simbol selanjutnya dari alpabet

(x++) high =

low+CR*high_range(simbol x)

else

Code word < CR

[image:61.595.137.487.162.614.2]

Simpan simbol

(62)

3.5.2 Activity Diagram Proses decoding algoritma kompresi PPM

Set low = 0 High = 1

CR = high - low

Load significant digit menjadi code word

Masih ada simbol yang tersedia

Low = high

else Dimulai dengan simbol pertama dari

alpabet (x=0)

Lanjutkan dengan simbol selanjutnya dari alpabet

(x++) high =

low+CR*high_range(simbol x)

else

Code word < CR

[image:62.595.137.487.161.615.2]

Simpan simbol

(63)

3.6 Perancangan Sistem

Perancangan sistem adalah suatu proses yang menggambarkan bagaimana

suatu sistem dibangun untuk memenuhi kebutuhan pada fase analisis. Adapun

tahapan yang dilakukan dalam perancangan sistem ini membahas mengenai tujuan

perancangan sistem, dan perancangan antar muka.

3.6.1 Tujuan Perancangan Sistem

Perancangan sistem merupakan tindak lanjut dari tahap analisa.

Perancangan sistem bertujuan untuk memberikan gambaran sistem yang akan

dibuat. Dengan kata lain perancanagn sistem didefinisikan sebagai penggambaran

atau pembuatan sketsa dari beberapa elemen yang terpisah kedalam satu kesatuan

yang utuh dan berfungsi. Selain itu juga perancangan bertujuan untuk lebih

mengarahkan sistem yang terinci, yaitu pembuatan perancangan yang jelas dan

lengkap yang nantinya akan digunakan untuk pembuatan simulasi. Aplikasi

kompresi ini dibuat dengan sederhana, sehingga diharapkan user dapat dengan

mudah menggunakan aplikasi kompresi ini.

3.6.2 Perancangan Antar Muka

Perancangan antarmuka dibutuhkan untuk mewakili keadaan sebenarnya

dari aplikasi yang akan dibangun, berikut akan disajikan perancangan antarmuka

(64)

3.6.2.1 Antar muka menu Compress

Antar muka menu compress digunakan untuk melakukan proses

mengkompres file. Gambar menampilkan rancangan menu compress.

Status bar Edit

Edit

Edit IP Adress

User ID

Password

Connect / Disconect

PPM LOGO

Compress Decompress Upload Download

String Grid

Edit View File

[image:64.595.115.507.225.550.2]

Upload

(65)
[image:65.595.114.517.138.484.2]

Tabel 3.2. Keterangan tampilan menu compress

No Objek Jenis Objek Fungsi Objek

1 IP Adress Untuk mencantumkan tulisan IP adress

2 Edit Untuk untuk memasukkan nama IP

adress

3 User ID Untuk mencantumkan tulisan User ID

4 Edit Untuk untuk memasukkan nama user

ID

5 Password Untuk mencantumkan tulisan Password 6 Edit Untuk untuk memasukkan password

7. Input File Untuk mencantumkan tulisan Input File

8 Edit Untuk menampilkan file yang akan di

kompress

9 Output File Untuk mencantumkan tulisan Output

File

10 Edit Untuk menampilkan file yang akan di

simpan

11 Informasi File Untuk mencantumkan nama informasi file

12 Status bar Untuk mencantumkan proses yang telah

(66)

3.6.2.2 Antar muka menu Decompress

Antar muka menu decompress digunakan untuk melakukan proses

dekompresi file. Gambar menampilkan rancangan menu decompress.

Input File : Ukuran :

Output File : Ukuran :

Kecepatan : Informasi File

Status bar Edit

Edit

Edit IP Adress

User ID

Password

Connect / Disconect

PPM LOGO

Compress Decompress Upload Download

Edit

Edit

Gambar

Gambar 2.4 Model Referensi OSI
Gambar 2.5 Pembentukan pohon string „zxzyzxxyzx‟
Gambar 3.1 Use case diagram aplikasi kompresi dan transfer data
Gambar 3.2 Sequence diagram compress
+7

Referensi

Dokumen terkait

Identifikasi masalah dalam penulisan tugas akhir ini adalah bagaimana membangun aplikasi sebuah keamanan data dengan menggunakan algoritma kriptografi Blowfish dan

Menurut Abdullah (2016:1) Website adalah “sekumpulan halaman yang terdiri atas beberapa halaman yang berisi informasi dalam bentuk data digital, baik berupa teks, gambar, video,

Watermark yang disisipkan juga merupakan data yang dapat berupa teks,image,audio,atau video.Tentunya saja ukuran watermark yang disisipkan harus disesuaikan dengan

Tahap ini digunakan untuk mengolah data dari hasil studi literatur yang kemudian dilakukan analisis terhadap proses kerja enkripsi dan dekripsi teks

Oleh karena itu, dalam penelitian ini akan coba dibuat sebuah aplikasi pengamanan data berupa dokumen, gambar, dan video dengan menggunakan metode algoritma Blowfish untuk mengenkripsi