• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
23
0
0

Teks penuh

(1)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem bertujuan untuk mengidentifikasi permasalahan permasalahan yang ada pada sistem di mana aplikasi dibangun yang meliputi perangkat lunak (software), pengguna (user) serta hasil analisis terhadap sistem dan elemen-elemen yang terkait. Analisis ini diperlukan sebagai dasar bagi tahapan perancangan sistem. Analisis sistem Desain dan implementasi ini meliputi desain data, deskripsi sistem, desain proses dan implementasi desain dan semua yang diperlukan dalam aplikasi kompresi file.

3.1.1 Analisis Data

Dalam sistem pengkompresian file ini sekumpulan file-file yang mempunyai berbagai jenis ekstensi yang digunakan sebagai objek penelitian. Umumnya pengenal tipe file tertera pada nama file tersebut, yaitu tiga huruf paling kanan setelah titik. Fungsinya adalah untuk mengetahui atau membedakan jenis file.

Untuk memperoleh hasil yang maksimal dalam kompresi file dan mempermudah dalam pengujian kebenaran dan keakuratan aplikasi, maka data yang digunakan diambil dari beberapa file yang ada dalam media penyimpanan berdasarkan format dan besar kapasitas file. Sehingga dalam aplikasi kompresi file ini terdapat 50 file yaitu masing-masing sepuluh file teks yang mempunyai tipe *.txt, *.html, *.rtf, dan *.doc dan file citra yang mempunyai tipe *.bmp.

(2)

3.1.2 Spesifikasi Aplikasi

Aplikasi yang akan dibangun memiliki kemampuan sebagai berikut: a. Melakukan kompresi file terhadap sekumpulan atau sebuah file yang sudah

diketahui ekstensi dan besar kapasitas file.

b. Pengkompresian file ini dapat memampatkan ukuran file aslinya menjadi lebih kecil.

c. Aplikasi kompresi ini dapat di gunakan untuk 50 file yaitu masing-masing sepuluh file teks yang mempunyai tipe *.txt, *.html, *.rtf, dan *.doc dan file citra yang mempunyai tipe *.bmp.

d. Melakukan dekompresi file terhadap file yang telah terkompresi, agar kembali ke ukuran dan bentuk file aslinya dan file tersebut dapat digunakan sebagaimana mestinya.

3.1.3 Spesifikasi Pengguna

Aplikasi ini ditujukan untuk digunakan oleh semua pihak yang membutuhkan aplikasi kompresi file khususnya para orang-orang dibidang teknologi informasi yang selalu berhubungan dengan komputer dan data.

3.1.4 Spesifikasi Operasi

Untuk membangun aplikasi kompresi file sesuai dengan spesifikasi kebutuhan, dibutuhkan lingkungan operasi sebagai berikut :

a. Sistem Operasi Windows 7 ultimate

(3)

b. Java 2 SDK 1.6 (Java Standard Development Kit)

J2SDK digunakan untuk membuat program java karena kita memerlukan

compiler, class libraries, virtual machine supaya suatu program java dapat dikompilasi dan dijalankan. Secara garis besar Java 2 SDK 1.6 terdiri dari:

a. Java Compiler (Javac)

b. Java Virtual Machine (sering juga disebut Java Runtime Environment/JRE).

c. Java Class Libraries (koleksi class yang dapat digunakan untuk menghasilkan program Java).

d. Java AppletViewer (program untuk menjalankan apllet tanpa menggunakan browser).

e. Java Debugger dan tool lain. c. Netbeans IDE7.01

NetBeans merupakan versi visual dari editor pemrograman bahasa Java. Berbagai kemudahan ditawarkan oleh NetBeans, mulai dari perancangan aplikasi berbasis form, kemudahan pemberian komponen visual, manipulasi property dan

event yang terintegrasi menjadi satu.

d. Interpreter Java

Java digunakan karena java merupakan suatu teknologi yang unik dan revolusioner dan merupakan teknologi pertama di dunia software yang memiliki semboyan “write once, run anywhere”. Semboyan tersebut telah terbukti karena banyak program Java dapat dijalankan di berbagai platform Sistem Operasi, seperti Linux, Windows, Macintos maupun Unix.(Isak Riyanto, 2003).

(4)

3.1.5 Deskripsi Sistem

Dalam pembahasan ini akan membahas mengenai deskripsi sistem yang dikerjakan pada skripsi ini. Tujuan pembuatan sistem ini adalah untuk membuat aplikasi pengkompresian file. Sistem ini dapat memampatkan ukuran file dengan maksimal sesuai dengan jenis file telah diketahui. Metode yang digunakan pada sistem ini adalah dengan metode dictionary. Sedangkan tahapan dalam pengkompresian file ada 2 tahapan. Tahap pertama yaitu proses pengkompresian atau pemampatan terhadap beberapa file dan tahap kedua yaitu proses dekompresi terhadap file-file yang telah terkompresi.

Pada tahap kompresi, proses-proses yang dilakukan adalah :

a. User akan menginputkan file uncompress (yaitu file yang bukan merupakan file terkompresi).

b. Sistem akan menginisialisasi input stream yang mengandung karakterkarakter dasar.

c. Kemudian membaca karakter dari input stream, jika string yang terbentuk telah mempunyai indek di dalam dictionary maka menuju ke langkah ke 6. d. Gabungkan karakter awal dengan karakter yang dibaca selanjutnya menjadi

sebuah string.

e. Jika string baru ini tidak ada dalam dictionary maka buat indek baru untuk string baru tersebut, menuju langkah 3.

f. Jika string yang terbentuk telah mempunyai indek di dalam dictionary maka gabungkan karakter sebelumnya dengan karakter yang dibaca atau string yang telah terbentuk menjadi sebuah string baru, menuju langkah 3.

(5)

g. Tulis output kode, hasil output dari proses kompresi adalah file dengan ekstensi *.lzw, dan akan disimpan dengan nama dan direktori sesuai dengan yang telah ditentukan oleh user.

Sedangkan pada tahap dekompresi file, proses-proses yang dilakukan adalah : a. User akan menginputkan file compress yang berekstensi *.lzw pada sistem. b. Sistem akan menginisialisasi seluruh dictionary yang mengandung karakter

karakter ASCII.

c. Baca kode (huruf atau code word) pertama dari hasil kompresi LZW kemudian outputkan karakter yang dibaca kemudian simpan kode ke variabel w.

d. Baca kode selanjutnya.

e. Copy kode yang dibaca ke variabel entry f. Outputkan kode (karakter)

g. Gabungkan value dari variabel w dengan karakter pertama dari entry kemudian simpan sebagai dictionary.

h. Isi variabel w dengan value dari variabel entry.

i. Kembali ke langkah 4, sampai hasil akhir pembacaan kode (karakter)

j. Hasil output dari proses dekompresi adalah file dengan ekstensi sesuai dengan file aslinya, dan akan disimpan dengan nama dan direktori sesuai dengan yang telah ditentukan oleh user.

3.1.6 Analisis Use Case

Diagram use case akan menggambarkan bagaimana seseorang akan menggunakan atau memanfaatkan sistem pengkompresian file ini, Berikut ini merupakan gambaran sistem dari sisi pengguna :

(6)

Gambar 3.1 Diagram Use Case

Diagram use case yang ditunjukkan pada gambar 3.1 terdapat satu aktor yaitu user. Pertama, user melakukan pengkompresian file dengan menginputkan file yang belum terkompresi berupa file teks murni yang mempunyai tipe *.txt, *.html, *.rtf, *.doc dan file citra yang mempunyai tipe *.bmp. Kedua, user dapat melakukan dekompresi file dengan menginputkan file yang telah terkompresi, yaitu file yang mempunyai tipe *.lzw, agar kembali ke jenis file aslinya.

(7)

3.1.7 Activity Diagram

Gambar 3.2 Diagram Activity Sistem Kompresi

Activity Diagram yang ditunjukkan pada gambar 3.2 adalah diagram aktivitas dari sistem kompresi, pada aktivitas ini user atau pengguna memasukkan file yang belum terkompresi, yaitu file teks murni yang mempunyai tipe *.txt, *.html,*.rtf, *.doc dan file citra yang mempunyai tipe *.bmp. Kemudian dilakukan proses kompresi pada file teks dan file citra tersebut, dan tahap terakhir file hasil kompresi akan tersimpan di dalam directory yang telah tentukan yang menghasilkan file terkompresi dengan tipe *.lzw.

(8)

Gambar 3.3 Diagram Activity Sistem Dekompresi

Activity Diagram yang ditunjukkan pada gambar 3.3 adalah diagram aktivitas dari sistem dekompresi, pada aktivitas ini user atau pengguna memasukkan file terkompresi, yaitu file yang mempunyai format *.lzw. Kemudian dilakukan proses dekompresi pada file terkompresi tersebut, dan tahap terakhir file hasil dekompresi akan tersimpan di dalam directory yang telah tentukan yang menghasilkan file teks murni yang mempunyai tipe *.txt, *.html,*.rtf, *.doc atau file citra yang mempunyai tipe *.bmp.

(9)

3.1.8 Analisis Squence Diagram

Gambar 3.4 Squence Diagram Proses Kompresi

Pada gambar 3.4 menggambarkan aliran pesan dari use case kompresi file. Masing-masing pesan menggambarkan suatu objek yang membuat pemanggilan objek yang lain yang saling keterkaitan dalam suatu proses kompresi file. Proses dimulai dari user menjalankan aplikasi kompresi, kemudian user

memasukkan file ke tabel input, user menentukan tempat penyimpanan hasil kompresi, selanjutnya melakukan proses kompresi, pada proses kompresi dilakukan desimalisasi dan binerisasi pada setiap karakter, proses kompresi berhenti dengan ditandai proses PrograssBar. Setelah proses berakhir hasil kompresi dapat dilihat di tabel output. Pada hasil kompresi dapat dilihat ukuran file setelah terkompresi, dan rasio kompresi.

(10)

Gambar 3.5 Squence Diagram Proses Dekompresi

Pada gambar 3.5 menggambarkan aliran pesan dari use case dekompresi file. Masing-masing pesan juga menggambarkan suatu objek yang membuat pemanggilan objek yang lain. Proses dimulai dari user menjalankan aplikasi dekompresi, kemudian user memasukkan file ke tabel input, user menentukan tempat penyimpanan hasil dekompresi, selanjutnya melakukan proses dekompresi, pada proses dekompresi dilakukan binerisasi dan desimalisasi pada setiap karakter, proses dekompresi berhenti dengan ditandai proses PrograssBar. Setelah proses berakhir hasil dekompresi dapat dilihat di tabel output. Pada hasil dekompresi dapat dilihat ukuran file setelah dekompresi.

3.1.9 Analisis Kelas

Kelas-kelas yang diperlukan dalam pembuatan perangkat lunak kompresi file ini adalah sebagai berikut :

(11)

a. Kelas Index

Kelas ini berfungsi sebagai kelas utama yaitu terdapat komponen berupa menu untuk menjalankan aplikasi, seperti menu yang berisi kompresi yang di dalamnya terdapat aplikasi kompresi, menu dekompresi yang di dalamnya terdapat aplikasi dekompresi dan menu bantuan yang di dalamnya terdapat informasi tentang aplikasi.

b. Kelas Kompresi

Kelas ini digunakan untuk memproses pemampatan berbagai tipe file, agar diperoleh ukuran file yang lebih kecil.

c. Kelas Dekompresi

Kelas ini berfungsi untuk memproses pengembalian file yang terkompresi menjadi file dan ukuran aslinya, agar file tersebut dapat digunakan kembali sesuai fungsinya.

d. Kelas Bantuan

Kelas ini digunakan untuk menampilkan informasi terkait program. Berdasarkan penjelasan anilisis kelas diatas dapat digambarkan kelas diagram pada gambar 3.6.

(12)

Gambar 3.6 Kelas Diagram Aplikasi Kompresi File

3.2 Perancangan Aplikasi

Pada perancangan aplikasi pengkompresian file ini ini akan dijelaskan mengenai rancangan aplikasi yang akan dikerjakan serta fitur-fitur yang akan dipakai pada aplikasi tersebut. Objek dari penelitian ini yaitu 50 file yaitu masing masing sepuluh file teks yang mempunyai tipe *.txt, *.html, *.rtf, dan *.doc dan file citra yang mempunyai tipe *.bmp di mana dilakukan terhadap file dengan berbagai ukuran. Hal ini bertujuan untuk mengetahui bagaimanakah pengaruh ukuran file terhadap hasil kompresi yang dilakukan.

(13)

3.2.1 Pseudo Code Algoritma LZW untuk Kompresi

Metode LZW yang diterapkan dalam aplikasi ini bertipe dinamik, di mana hanya dilakukan satu kali pembacaan (one-pass) terhadap file yang akan dikompresi. Pengkodean data dilakukan secara on the fly, bersamaan dengan proses penambahan string baru ke dalam dictionary. Pada algoritma ini, setiap

byte hasil proses kompresi LZW dianggap sebagai 12 bit. Sehingga dictionary

yang dipakai adalah sebesar 4096 (212) dan dikurangi dengan 256 karakter ASCII. Karena indeks dimulai dari nol, kisaran indeks dictionary-nya dimulai dari 256 sampai dengan 4095. Berikut ini Pseudo Code dari proses kompresi.

Initialize table with single character strings P = first input character

WHILE not end of input stream C = next input character IF P + C is in the string table P = P + C

ELSE

output the code for P

add P + C to the string table P = C

END WHILE output code for P

3.2.2 Flowchart Algoritma LZW untuk Kompresi

Algoritma LZW ini dimulai dengan input Byte pertama dari file, disimpan ke dalam variabel newstring. Kemudian input Byte berikutnya dan disimpan ke dalam variabel newchar. Newstring dan newchar dimasukkan ke dalam sebuah variabel dengan nama UCode. UCode kemudian dicocokkan di tabel dictionary

(14)

UCode berada dalam tabel, maka newstring baru diisi dengan newstring lama ditambah newchar. Apabila UCode tidak berada dalam tabel, maka output

variabel newstring. Kemudian UCode ditambahkan ke dalam tabel dan newstring

diisi dengan newchar. Hal tersebut dilakukan sampai dengan akhir file. Flowchart

penerapan algoritma kompresi LZW dalam program aplikasi dapat dilihat pada

(15)
(16)

3.2.3 Pseudo Code dan Flowchart Algoritma LZW untuk Dekompresi

Algoritma dekompresi LZW ini dimulai dengan menyimpan kode pertama hasil kompresi dan disimpan ke dalam variabel Ocode dan output-kan variabel

Ocode. Kemudian input kode berikutnya dan disimpan ke dalam variabel Ncode.

Variabel Ncode dicocokkan dalam dictionary. Jika ada dalam dictionary, berarti

newstring diisi dengan Ncode. Jika tidak ada dalam dictionary, maka newstring

diisi dengan Ocode dan newstring baru diisi dengan newstring lama ditambah dengan newchar. Kemudian output-kan newstring. Dilakukan juga proses

newchar diisi dengan karakter pertama dari newstring. Variabel Ocode ditambah dengan variabel newchar dimasukkan dalam dictionary dan variabel Ocode diisi dengan variabel Ncode. Hal tersebut dilakukan seterusnya sampai akhir file. Berikut ini Pseudo Code dari proses dekompresi.

Initialize table with single character strings OLD = first input code

output translation of OLD WHILE not end of input stream NEW = next input code

IF NEW is not in the string table S = translation of OLD S = S + C ELSE S = translation of NEW output S C = first character of S OLD + C to the string table OLD = NEW

(17)
(18)

3.2.4 Contoh Algoritma LZW

Berikut ini contoh aplikasi kompresi dan dekompresi dengan menggunakan algoritma LZW. Contoh berikut ini hanya akan menjelaskan pengkompresian dan dekompresi terhadap beberapa karakter dengan mengkodekan menurut kode ASCII.

3.2.4.1Kompresi dengan LZW

Sebagai contoh, string “MAMA MASAK SAGU” akan dikompresi dengan LZW. Isi dictionary pada awal proses diset dengan tujuh karakter dasar yang ada: “M”, “A”, “_”, “S”, “K”, “G”, “U”. bit dictionary yang dipakai adalah 8

bit. tahapan proses kompresi ditunjukkan pada tabel 3.1. Diketahui :

Input String: MAMA_MASAK_SAGU

bit dictionary: 8 bit

(19)

Total awal bit disimpan tanpa kompresi = Total input * bit dictionary

= 15 x 8 = 120 bit

Besar file setelah dikompresi = Total output * bit dictionary

= 11 x 8 = 88 bit

Hasil kompresi dari string MAMA_MASAK_SAGU yaitu:

Decimal 77-65-256-32-256-83-65-75-32-261-71-85

Heksa 4D-41-100-20-100-53-41-4B-20-105-47-55

Biner 1001101-1000001-100000000-100000-100000000-1010011-1000001-1001011-100000-100000101-1000111-1010101

(M-A-MA-_-MA-S-A-K-_-SA-G-U) Hasil Rasio Kompresi

ukuran file terkompresi

Rasio = –––––––––––––––––––– X 100% ukuran file asli

88 = –––––– X 100% 120 = 73,33 % 3.2.4.2Dekompresi dengan LZW

Sebagai contoh, output kode decimal “77-65-256-32-256-83-65-75-32-261-71-85” didekompresi dengan algoritma LZW. bit dictionary yang dipakai adalah 8 bit. tahapan proses dekompresi ditunjukkan pada tabel 3.2.

(20)

Diketahui :

Input kode: 77-65-256-32-256-83-65-75-32-261-71-85

Tabel 3.2 Tahapan Proses Dekompresi

Hasil dekompresi dari kode 77-65-256-32-256-83-65-75-32-261-71-85 yaitu: MAMA_MASAK_SAGU

3.2.5 Perancangan User Interface

Aplikasi ini dibangun dengan desain User interface form atau antar muka yang memiliki dua form inti, yang terdiri dari interface kompresi dan

interfacedekompresi. Berikut merupakan gambar dari interface kompresi dan dekompresi, dapat dilihat pada gambar 3.9.

(21)

Gambar 3.9 Rancangan Form Aplikasi Kompresi Adapun keterangan bagian-bagian yang ada dalam gambar 3.9 adalah:

a. Main menu yang berisi menu kompresi/dekompresi, dan bantuan. Menu kompresi/dekompresi adalah untuk melakukan proses kompresi dan dekompresi. Sedangkan menu bantuan berisi petunjuk atau keterangan tentang aplikasi.

b. Komponen TextField dan tombol ambil file untuk memasukkan file yang akan diproses baik kompresi maupun dekompresi, yaitu berupa nama file yang disertai direktori penyimpanannya, dan ukuran file tersebut.

c. Komponen TextField dan tombol simpan file tempat menentukan direktori penyimpanan dari hasil proses kompresi atau proses dekompresi.

d. Menu prosedur adalah menu untuk memilih proses kompres atau dekompres. e. Tombol kompres atau dekompres berfungsi untuk menjalankan proses

(22)

kompres atau dekompres.

f. Komponen Textfield berisi keterangan hasil kompres atau dekompres yaitu berupa nama file, ukuran file dan rasio kompresi.

g. Tombol bersihkan layar yang berfungsi menghapus semua hasil proses kompresi atau dekompres.

3.2.6 Perancangan Uji Coba dan Evaluasi Hasil

Uji coba sistem kompresi terhadap file akan digunakan untuk melakukan evaluasi terhadap hasil kompresi dan dekompresi yang dihasilkan oleh sistem. Tujuannya yaitu untuk mengetahui apakah penerapan algoritma LZW ini dapat mengkompresi suatu file dengan efektif.

3.2.6.1Rancangan Uji Coba

Pengujian yang akan dilakukan terhadap sistem adalah dengan menginputkan 50 file yaitu masing-masing sepuluh file teks yang mempunyai tipe *.txt, *.html, *.rtf, dan *.doc dan file citra yang mempunyai tipe *.bmp. uji coba dilakukan terhadap file dengan berbagai ukuran.

Hal ini bertujuan untuk mengetahui bagaimanakah pengaruh ukuran file terhadap kompresi yang dilakukan.

3.2.6.2Analisa dan evaluasi hasil

Output yang dihasilkan dari proses kompresi akan dievaluasi dengan memperhatikan ukuran file hasil kompresi, serta rasio kompresi yang dicapai.

(23)

memperhatikan ukuran file hasil dekompresi, serta ketersesuaian antar file hasil dekompresi dengan file asli sebelum dilakukan proses kompresi.

Rancangan tabel untuk hasil dari uji coba yang dilakukan pada penelitian ini akan ditampilkan pada tabel 3.3 dan tabel 3.4.

Tabel 3.3 Rancangan tabel hasil uji coba untuk proses kompresi

Gambar

Gambar 3.1 Diagram Use Case
Gambar 3.2 Diagram Activity Sistem Kompresi
Gambar 3.3 Diagram Activity Sistem Dekompresi
Gambar 3.4 Squence Diagram Proses Kompresi
+7

Referensi

Dokumen terkait

Rumusan masalah pada penelitian adalah Apakah ada perbedaan metode pre-induksi hipnodonsi antara anak laki-laki dan perempuan usia 8- 10 tahun terhadap tingkat kecemasan

Ekstrakurikuler Patroli Keamanan Sekolah (PKS) memiliki berbagai bentuk aktivitas yang cukup membantu dalam pembentukan sikap tertib berlalu lintas siswa, seperti pemberian

Belanja - Bidang Penangulangan Bencana, Keadaan Darurat dan Mendesak Desa Selama tahun anggaran 2020, Pemerintahan Desa melakukan penanggulangan bencana dan keadaan

Ustaz muhyiddin menjadi salah satu pemrakarsa utama dari pendirian UnnU di Sulawesi Selatan. Peran itu dapat ia lakukan karena didukung oleh pengalamannya sebagai guru dan

suatu merek akan mengecewakan konsumen bahkan konsumen yang paling loyal sekalipun, begitu juga dengan perubahan harga. Karena itu pihak perusahaan harus mengontrol merek beserta

Penelitian ini dilakukan oleh Mahasiswa Program Studi Kesehatan Masyarakat untuk mengetahui persepsi anggota sekaa teruna teruni terhadap kegiatan pendidik sebaya

Masalah kecantikan dipandang sebagai salah satu kebutuhan pokok yang pada saat-saat tertentu harus dipenuhi, tidak hanya wanita bahkan saat ini kaum pria pun

1) Kabupaten/Kota : Diisi dengan nama Kabupaten/Kota yang bersangkutan. 2) Provinsi : Diisi dengan nama Provinsi dimana Kabupaten/Kota yang bersangkutan berada. : Diisi