BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data

dokumen-dokumen yang mirip
BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN SISTEM

ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. halaman khusus untuk pengaksesan dari handphone. Semakin baik informasi akan

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

`BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN. pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest cipher (RC4).

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN Latar Belakang

RANCANG BANGUN APLIKASI KOMPRESI FILE MENGGUNAKAN METODE LZW BERBASIS JAVA OLEH : HARDIANSYAH Dosen Pembimbing : Tri Daryanto, S.Kom.

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN. Dalam membangun aplikasi pembelajaran aksara sunda berbasis android

IMPLEMENTASI ALGORITMA KOMPRESI LZ77 PADA SMARTPHONE BLACKBERRY

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV. dilakukan dari sistem yang telah selesai dirancang dan dapat digunakan. Hasil sistem yang dibuat

SKRIPSI KOMPRESI DATA TEKS MENGGUNAKAN ALGORITMA PPM (PREDICTION BY PARTIAL MATCHING)

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

IMPLEMENTASI ALGORITMA LZ77 DALAM KOMPRESI FILE BERBASIS ANDROID.

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB I PENDAHULUAN. disebut LAN (local area network) maupun WLAN (wireless local area network).

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 Tinjauan Teoritis

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Gambar 3.1 Flowchart proses enkripsi AES

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

BAB IV HASIL DAN UJI COBA

BAB III ANALISA DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN. kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.

BAB II DASAR TEORI. 2.1 Pendahuluan

IMPLEMENTASI ALGORITMA KOMPRESI LZ77 PADA SMARTPHONE BLACKBERRY

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

BAB III ANALISIS DAN PERANCANGAN

BAB 2 TINJAUAN PUSTAKA

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

Bab 3 Metoda dan Perancangan Sistem

Kompresi. Definisi Kompresi

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

BAB III ANALISIS DAN PERANCANGAN SISTEM

1. BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III PERANCANGAN SIMULASI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

PENGEMBANGAN APLIKASI QR CODE GENERATOR DAN QR CODE READER DARI DATA BERBENTUK GAMBAR MENGGUNAKAN TEKNIK KOMPRESI DENGAN ALGORITMA LZW

BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem sedang berjalan dan diperlukan untuk berbagai perubahan yang dirasa

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer, Fakultas Matematika dan

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Sistem yang Sedang Berjalan. Untuk merancang sebuah aplikasi mobile pelajaran Kimia dasar untuk

BAB I PENDAHULUAN. media penyimpanan yang mengalami perkembangan adalah flashdisk. Flashdisk

Transkripsi:

BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Masalah Analisa masalah yang didapat dari penelitian ini adalah membuat data kompresi dengan menggunakan algoritma LZ77 dan Lempel Ziv Welch (LZW). Algoritma kompresi LZ77 adalah suatu metoda kompresi data lossless yang akan dibuat aplikasinya pada pengerjaan penelitian ini. Aplikasi ini bertujuan untuk melakukan pengompresian dan pendekompresian data secara khusus pada Android. Algoritma LZ77 diperkenalkan untuk pertama kalinya pada tahun 1977 oleh Abraham Lempel dan Jacob Ziv. Algoritma LZ77 merupakan suatu algoritma dasar yang banyak dikembangkan oleh orang-orang. Misalnya saja LZW, LZSS, dan LZMA. Algoritma LZ77 sendiri sering disebut dengan LZ1 (Salomon, 2006). Algoritma ini juga disebut algoritma sliding window karena melakukan kompresi data dengan cara menggerakkan buffer tempat simbol-simbol berada setiap kali satu atau lebih simbol terkompresi. Buffer yang dibutuhkan algoritma kompresi ini ada dua, yaitu search buffer dan lookahead buffer. Kedua buffer ini memegang peran penting dalam melakukan kompresi terhadap suatu file. Alasan pemilihan algoritma ini adalah bahwa algoritma ini memberikan performa terbaik untuk beberapa jenis file dibandingkan algoritmaalgoritma modifikasinya (Zeeh, 2003) Pembahasan masalah lebih ditekankan pada analisa hasil dari algoritma LZ77 dan Lempel Ziv Welch (LZW). 21

22 III.2. Strategi Pemecahan Masalah Tujuan pengujian penelitian ini adalah memeriksa apakah kebutuhan fungsional sudah terpenuhi yakni dapat mengompresi dan mendekompresi file yang ada. Tujuan lain pengujian ini adalah untuk mengukur performa aplikasi yang mencakup rasio kompresi, entropi, dan waktu kompresi. Beberapa rancangan kasus uji yang dibuat dalam Penelitian ini mencakup tiga macam kasus uji. Pengujian pada Penelitian ini mencakup beberapa kasus uji sebagai berikut : 1. Pengujian terhadap beberapa ukuran Search Buffer Pengujian dilakukan terhadap ukuran search buffer yang berbeda-beda. 2. Pengujian terhadap berbagai macam tipe file Pengujian dilakukan terhadap berbagai jenis file teks(txt). 3. Pengujian terhadap beberapa file sekaligus Pengujian dilakukan terhadap banyak file sekaligus dalam storage. Pada kasus ini dua buahsekaligus. Pertama-tama program membaca file sebesar y, lalu dimasukkan ke dalam suatu array of byte dengan ukuran x. Apabila ukuran y lebih besar dari x maka isi file yang diambil hanya sebesar x terlebih dahulu. Sebelumnya file output diberi header yang menunjukkan bahwa file ini benar telah terkompresi oleh algoritma LZ77. Pengompresian dilakukan terhadap buffer tersebut. Bagian yang disimpan adalah isi dari byte tersebut dan posisi byte. Setelah seluruh isi buffer tersebut terkompresi, isi buffer dimasukkan ke file output. Buffer lalu diisi kembali sisa dari file dengan ukuran y-x (karena sudah diambil sebanyak x pada kompresi sebelumnya) sebanyak x lalu dilakukan kompresi terhadap buffer tersebut. Hal ini dilakukan terus-menerus sampai file dengan ukuran y sudah selesai terkompresi

23 seluruhnya. Dan dicari perbandingan sebelum dan setelah dilakukan proses. Dari perbandingan ini akan diperoleh kelebihan dan kekurangan dari algoritma tersebut. III.3. Penerapan Algoritma Berikut ini contoh pengaplikasian kompresi dan dekompresi dengan menggunakan algoritma LZW. Contoh berikut ini hanya akan menjelaskan pengkompresian dan dekompresi terhadap beberapa karakter dengan mengkodekan menurut kode ASCII. 1. Kompresi String dalam Algoritma LZW Sebagai contoh, string MAMA_MASAK_NASI akan dikompresi dengan LZW. Isi dictionary pada awal proses diset dengan tujuh karakter dasar yang ada: M, A, _, S, K, N, I. bit dictionary yang dipakai untuk contoh ini adalah 8 bit. tahapan kompresi ditunjukkan pada Tabel III.1 berikut. Diketahui : Input String: MAMA_MASAK_NASI bit dictionary: 8 bit

24 Tabel III.1 Tahapan Proses Kompresi No Input String+Char IN Dictionary Temporary Dictionary Output Code Char 1 M M - M - - None 2 A MA No A 256 MA M 3 M AM No M 257 AM A 4 A MA Yes(256) MA - - None 5 _ MA_ No _ 258 MA_ MA 6 M _M No M 259 _M _ 7 A MA Yes(256) MA - - None 8 S MAS No S 260 MAS MA 9 A SA No A 261 SA S 10 K AK No K 262 AK A 11 _ K_ No _ 263 K_ K 12 N _N No N 264 _N _ 13 A NA No A 265 NA N 14 S AS No S 267 AS A 15 I SI No I 268 SI S 16 I Total awal bit disimpan tanpa kompresi = Total input * bit dictionary = 15 x 8 = 120 bit

25 Besar file setelah dikompresi = Total output * bit dictionary = 12 x 8 = 96 bit Hasil kompresi dari string MAMA_MASAK_NASI yaitu: Decimal : 77-65-256-32-256-83-65-75-32-78-65-83-73 Heksa : 4D-41-4D-41-20-4D-41-53-41-4B-20-4E-41-53-49 Biner : 01001101-01000001-01001101-01000001-00100000-01001101 01000001-01010011-01000001-01001011-00100000-01001110 01000001-01010011-01001001 Hasil Rasio Kompresi Ukuran File Terkompres Rasio = x 100 % Ukuran File Asli 96 = x 100 % 120 = 80 % 2. Dekompresi String dalam Algoritma LZW Sebagai contoh, dari hasil output kode kompresi sebelumnya diambil decimal yang dihasilkan 77-65-256-32-256-83-65-75-32-78-65-83-73 dan didekompresi dengan algoritma LZW. bit dictionary yang dipakai adalah 8 bit. tahapan proses dekompresi ditunjukkan pada Tabel 3.2. Diketahui : Input kode: 77-65-256-32-256-83-65-75-32-78-65-83-73

26 Tabel III.2 Tahapan Proses Dekompresi No Input String Char String+ Dictionary Output Code Char Code Char 1 M (77) - M M - - M 2 A (65) M A MA 256 MA A 3 256 A 256 (MA) AMA 257 AMA MA 4 _ (32) MA _ MA_ 258 MA 5 256 _ 256 (MA) _MA 259 _MA MA 6 S (83) MA S MAS 260 MAS S 7 A (65) S A SA 261 SA A 8 K (75) A K AK 262 AK K 9 _ (32) K _ K_ 263 K 10 N (78) _ N _N 264 _N N 11 A (65) N A NA 265 NA A 12 S (83) A S AS 266 AS S 13 I (73) S I SI 267 SI I Hasil dekompresi dari kode 77-65-256-32-256-83-65-75-32-261-71-85 yaitu MAMA_MASAK_NASI. III.3.1. Kebutuhan Hardware dan Software Pada perancangan ini penerapan perangkat sebagai pendukung perancangan menggunakan beberapa perangkat yang dapat dijelaskan sebagai berikut : 1. Perangkat Lunak ( Software), perangkat lunak merupakan perangkat yang

27 digunakan untuk mendesain dan melakukan pemrograman, yang terdiri dari. a. Operating System Windows Seven. b. JDK Java 1.7, sebagai bahasa pemrograman Java dan compiler Java. c. Netbeans 7.1.2, sebagai editor source code Java. 2. Perangkat Keras ( Hardware), perangkat keras merupakan perangkat yang digunakan untuk menjalankan dan implementasi aplikasi yang dirancang, yang terdiri dari. a. Komputer yang setara dengan Intel pentium 4. b. Mouse, keyboard, dan Monitor. III.4. Desain Sistem Desain sistem merupakan gambaran perancangan yang akan dilakukan dan yang dihasilkan. Desain sistem dibutuhkan sebagai gambaran langkah-langkah desain dan bagian-bagian yang dibutuhkan agar aplikasi dapat berjalan sesuai perancangan. Pada tahapan ini menggambarkan digram alur kerja aplikasi dan desain interface yang akan dibuat. Adapun beberapa perancangan diagram dan desain yang akan dibuat dapat dijelaskan dibawah ini. III.4.1.Use case diagram Use case diagram menggambarkan aktor yang menggunakan aplikasi dan perilaku pengguna, seperti pada gambar III.1 berikut.

28 Gambar III.1. Use Case Diagram Pada gambar diatas dapat dilihat proses yang berlangsung menunjukan tahapan penggunaan aplikasi yang dibangun. Pada tahapan ini penggunana dapat menentukan penyimpanan file yang akan diproses serta memasukan input file, setelah menentukan lokasi penyimpanan dan memasukan file yang akan diproses, pengguna dapat melakukan proses kompresi maupun dekompresi dengan algoritma AES, hasil dari proses merupakan output file yang telah diproses. III.4.2.Activity diagram Pada gambar dibawah ini adalah activity diagram aplikasi kompresi dan dekompresi yang dirancang, dapat dilihat pada gambar III.2.

29 Start Layar Utama Lokasi Penyimpanan dan Input File Pilih Kompresi / Dekompresi Tidak Ya Proses File Output File End Gambar III.2. Activity Diagram User atau pengguna akan menemukan menu utama saat program dijalankan, user memilih proses yang ingin dilakukan yaitu kompresi atau dekompresi lalu menentukan lokas output file dan input file, setelah proses dijalankan secara otomatis aplikasi akan melakukan proses dan memberikan output dilokasi yang telah ditentukan oleh user. III.4.3.Sequence diagram Sequence diagram menggambarkan kegiatan dari skenario penggunaan aplikasi, squence diagram memilih proses yang dapat dilihat pada gambar III.3 berikut.

30 Gambar III.3. Sequance Diagram Pilihan Proses Pengguna berinteraksi melalui pilihan proses yang ada pada menu utama, dapat dilihat pada squence diagram diatas, pengguna memilih proses yang disediakan yaitu proses kompresi dan dekompresi. Setelah pilihan proses ditentukan oleh pengguna kembali pada menu utama. III.4.4.Class diagram III.4 berikut. Class diagram pada perancangan aplikasi ini, dapat dilihat pada gambar Gambar III.4. Class Diagram

31 Class diagram adalah sebuah class yang menggambarkan struktur dan penjelasan class, paket, dan objek serta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class diagram juga menjelaskan hubungan antar class dalam sebuah sistem yang sedang dibuat dan bagaimana caranya agar mereka saling berkolaborasi untuk mencapai sebuah tujuan. III.5. Perancangan Interface Perancangan interface adalah gambaran tampilan layar yang akan didesain, hal ini berguna agar proses perancangan dapat dilakukan sesuai desain yang telah dilakukan. Implementasi tampilan hasil program aplikasi yang telah dapat dijalankan harus sesuai dengan desain yang telah dibuat. III.5.1. Rancangan Interface Utama Rancangan Interface utama menjelaskan tampilan dimana terdapat menu dan fungsi tools yang digunakan untuk melakukan kompresi maupun dekompresi file, yang dapat dilihat pada gambar III.5 dibawah ini.

32 Analisa Kompresi dan LZ77 dan LZW Analisa dan Implementasi Kompresi Data Teks Dengan Algoritma LZ77 dan LZW Proses Data Teks Input File : Ouput File : Proses : kompresi xxxx xxxx Bantuan Tentang Keluar Browser Browser Progress Proses Result Proses Info LZ77 : Info LZW : xxxx xxxx Gambar III.5. Rancangan Interface Utama III.5.2. Rancangan Interface Help Pada desain tampilan form help berfungsi untuk memberikan informasi bantuan penggunaan untuk pengguna. Dapat dilihat pada gambar III.6. Bantuan Penggunaan Close Gambar III.6. Rancangan Interface Help

33 III.5.3. Rancangan Interface About Pada desain tampilan form about berfungsi untuk memberikan informasi perancangan aplikasi untuk pengguna. Dapat dilihat pada gambar III.7. Tentang Aplikasi Close Gambar III.7. Rancangan Interface About