• Tidak ada hasil yang ditemukan

Bab I Pendahuluan

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut :

BAB 1. PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang masalah yang dibahas dalam skripsi ini, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.

BAB 2. LANDASAN TEORI

Bab ini merupakan tinjauan teoritis yang berkaitan dengan kompresi data, algoritma Lempel Ziv Welch dan algoritma Elias Gamma Code serta file video yang digunakan sebagai pendukung dalam penulisan penelitian.

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis masalah yang dibangun dalam sistem dan menganalisis hal yang dibutuhkan dalam membangun sistem ini, kemudian dilanjutkan dengan tahap perancangan sistem yang berupa perancangan interface dari program yang akan dibuat.

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi tentang implementasi sistem yang berdasarkan pada tahapan perancangan dengan menggunakan bahasa pemrograman C#. Kemudian dilanjutkan dengan tahapan pengujian sistem untuk menguji apakah sistem sudah relevan dengan perancangan yang telah dibuat.

BAB 5. KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang menguraikan kesimpulan dan saran dari pembahasan pada bab-bab sebelumnya dan hasil penelitian ini sangat bermanfaat bagi penelitian lain. Sehingga berusaha untuk mengembangkan sistem yang lebih variatif lagi.

BAB II LANDASAN TEORI

2.1. Kompresi Data

Kompresi data merupakan sebuah teknik yang digunakan untuk mengubah ukuran data masukan yang besar menjadi ukuran data baru yang lebih kecil untuk mempercepat pengiriman data (Salomon, 2007).

Teknik kompresi data dapat dibagi kedalam dua jenis yaitu kompresi lossless dan lossy.

2.1.1. Teknik Kompresi Lossless

Kompresi lossless merupakan sebuah kompresi yang melakukan penjagaan terhadap keakuratan sebuah data pada saat terjadi suatu kompresi yang tidak bisa di toleransi.

Dengan demikian, teknik kompresi ini bersifat reversible dimana hasil kompresi bisa dikembalikan ke bentuk semula (Canovas, 2015). Contoh algoritma lossless adalah algoritma Levenstein Code, Run Length Encoding (RLE), Elias Delta Code, Elias Gamma Code dan Lempel Ziv Welch (LZW). Dalam hal ini Elias Gamma Code dan Lempel Ziv Welch (LZW) merupakan algoritma yang akan digunakan dalam penelitian. Ilustrasi teknik kompresi lossless seperti terlihat pada gambar 2.1.

Gambar 2.1 Ilustrasi Teknik Kompresi Lossless 2.1.2. Teknik Kompresi Lossy

Kompresi lossy merupakan kebalikan dari kompresi lossless, dimana kompresi ini bisa menyebabkan hilangnya informasi. Maka dari itu kompresi ini bersifat irreversible yaitu tidak bisa mengembalikan data keukuran semula. Namun, hasil kompresi masih bisa mempertahankan informasi utama pada data. Contoh algoritma lossy adalah

algoritma Differential Modulation, Continious Wavelet Transform (CWT), Adaptive Coding dan Discrete Cosine Transform (DCT). Ilustrasi teknik kompresi lossy seperti terlihat pada gambar 2.2.

Gambar 2.2 Ilustrasi Teknik Kompresi Lossy

Berikut ini merupakan teknik pengukuran yang digunakan untuk mengukur kualitas dari suatu teknik kompresi data.

1. Compression Ratio (CR)

Compression ratio adalah rasio data kompresi yang diperoleh dari hasil perbandingan antara file terkompresi dengan file asli.

πΆπ‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘ π‘–π‘œπ‘› π‘Ÿπ‘Žπ‘‘π‘–π‘œ = π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘ π‘’π‘‘π‘’π‘™π‘Žβ„Ž π‘‘π‘–π‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘– π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘ π‘’π‘π‘’π‘™π‘’π‘š π‘‘π‘–π‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘– 2. Ratio of Compression (Rc)

Compression factor adalah rasio perbandingan antara file asli dan file terkompresi.

πΆπ‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘ π‘–π‘œπ‘› π‘“π‘Žπ‘π‘‘π‘œπ‘Ÿ =π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘ π‘’π‘π‘’π‘™π‘’π‘š π‘‘π‘–π‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘–

π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘ π‘’π‘‘π‘’π‘™π‘Žβ„Ž π‘‘π‘–π‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘– π‘₯100%

3. Space Saving (SS)

Space saving atau penghematan ruang adalah suatu penyusutan file dengan mencari persentase selisih antara file asli dengan file terkompresi.

π‘†π‘π‘Žπ‘π‘’ π‘ π‘Žπ‘£π‘–π‘›π‘”π‘  =π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘Žπ‘ π‘™π‘– βˆ’ π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘ π‘’π‘‘π‘’π‘™π‘Žβ„Ž π‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘–

π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› π‘‘π‘Žπ‘‘π‘Ž π‘Žπ‘ π‘™π‘– π‘₯100%

4. Bitrate

Bitrate adalah banyaknya bit yang di proses setiap detik dengan membagi ukuran bit terkompresi dengan jumlah simbol unik (jenis karakter).

π΅π‘–π‘‘π‘Ÿπ‘Žπ‘‘π‘’ =π‘’π‘˜π‘’π‘Ÿπ‘Žπ‘› 𝑏𝑖𝑑 π‘‘π‘’π‘Ÿπ‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘– π‘—π‘’π‘šπ‘™π‘Žβ„Ž 𝑗𝑒𝑛𝑖𝑠 π‘˜π‘Žπ‘Ÿπ‘Žπ‘˜π‘‘π‘’π‘Ÿ

5. Waktu Kompresi dan Dekompresi

Waktu kompresi dan dekompresi merupakan waktu yang diperlukan pada saat terjadinya proses pembacaan data sampai encoding. Sebuah metode dapat dikatakan efisien apabila waktu kompresi dan dekompresi semakin singkat.

2.2. Algoritma Lempel Ziv Welch (LZW)

Algoritma Lempel Ziv Welch merupakan algoritma kompresi yang berbasiskan dictionary. Dictionary itu sendiri bertujuan untuk menyimpan pola string tertentu, yang nantinya akan berguna untuk mengkodekan string pada index dalam dictionary.

Algoritma ini termasuk ke dalam jenis kompresi data lossless yang dipublikasikan oleh Terry Welch pada tahun 1984.

Sebelum proses kompresi atau dekompresi dimulai, sebuah dictionary akan diinisialisasi dengan menggunakan 256 karakter ASCII dengan index 0-256 yang ditetapkan sebagai nilai default sebuah dictionary. Hal ini lah yang mengakibatkan setiap awal pembacaan proses kompresi maupun dekompresi, karakter atau kode pertama selalu dapat ditemukan pada dictionary. Proses kompresi atau dekompresi algoritma ini dilakukan dengan menggunakan dictionary yang dibentuk selama pembacaan karakter. Algoritma dasar Lempel Ziv Welch encoding dapat dilihat pada tabel 2.1.

Tabel 2.1 Algoritma Dasar Lempel Ziv Welch Encoding Step 1:

Dictionary terlebih dahulu diinisialisasi dengan karakter ASCII CurrentChars ← Karakter pertama dari input stream

DictIndex ← 255

while not EOF character do begin

NextChar ← Karakter selanjutnya dari CurrentChars

Step 4j:

β€œHAAAFNIIII” menggunakan algoritma Lempel Ziv Welch. Proses kompresi string

β€œHAAAFNIIII” dilihat pada tabel 2.2 berikut :

Tabel 2.2 Proses Kompresi String β€œHAAAFNIIII”

Maka hasil kompresi dari pesan teks β€œHAAAFNIIII” adalah kode (angka) yang terdapat pada kolom output (codeword) pada tabel 2.2 yaitu 72, 65, 257, 70, 78, 73, 261, 73. Simbol karakter sebelum melakukan proses kompresi adalah 10 x 8 = 80 bit, kode (angka) yang terdapat pada kolom output diubah ke dalam bentuk codeword

dengan panjang 9 bit maka hasil kompresi akan menjadi 8 x 9 = 72 bit, sehingga akan terjadi penghematan pada pesan teks sebesar 80 - 72 = 8 bit.

Proses dekompresi algoritma Lempel Ziv Welch dilakukan dengan membaca kode (angka) hasil kompresi dan membuat kembali dictionary yang sama seperti proses kompresi sehingga memungkinkan string asli dapat dikembalikan (Saravanan dan Suender, 2013). Algoritma dasar Lempel Ziv Welch decoding dilihat pada tabel 2.3.

Tabel 2.3 Algoritma Dasar Lempel Ziv Welch Decoding Step 1:

Dictionary terlebih dahulu diinisialisasi dengan karakter ASCII PreviousCodeWord ← Codeword pertama dari encoded stream String ← toString(PreviousCodeWord); merupakan hasil dari kompresi string β€œHAAAFNIIII” didekompresi dengan

menggunakan algoritma Lempel Ziv Welch, maka proses dekompresinya dapat dilihat seperti tabel 2.4 di bawah ini:

Tabel 2.4 Proses Dekompresi dari Kompresi String β€œHAAAFNIIII”

No Previous string yang terdapat pada kolom output yaitu β€œHAAAFNIIII”.

2.3. Algoritma Elias Gamma Code

Algoritma Elias Gamma Code adalah algoritma kompresi data yang termasuk ke dalam jenis kompresi lossless yang dikembangkan oleh Peter Elias. Elias Gamma Code digunakan untuk membuat kode dalam bentuk bilangan bulat positif (Salomon, D. 2007). Algoritma Elias Gamma Code mempunyai aturan dalam mengkodekan sebuah bilangan.

1. Bilangan diubah terlebih dahulu kedalam bentuk biner.

2. Jumlah bit pada langkah pertama kurangi 1 dan tambah sesuai dengan banyaknya bilangan nol. Proses yang ekivalen pada poin nomor dua adalah sebagai berikut:

a. Pisahkan integer menjadi pangkat 2 tertinggi (2N) dan sisakan digit biner N dari integer tersebut.

b. Kodekan N dalam bentuk unary, jika N adalah nol maka diikuti oleh satu.

c. Tambahkan sisa digit biner N untuk merepresentasikan N.

Pengkodeaan Elias Gamma Code efisien digunakan untuk integer kecil dan untuk integer besar menggunakan Elias Delta Code. Tabel 2.5 dibawah ini merupakan tabel Elias Gamma Code.

Tabel 2.5 Elias Gamma Code (Salomon, D. 2007) n Elias Gamma Code n Elias Gamma Code

Berikut ini adalah contoh perhitungan kompresi menggunakan Elias Gamma Code.

Dalam hal ini, string yang akan dikompresi β€œHAFNI MEGASARI”. Perhitungan seperti terlihat dibawah ini :

1. Dilakukan pembacaan string β€œHAFNI MEGASARI”.

2. Dilakukan pengurutan karakter dari tertinggi ke terendah menurut frekuensi kemunculan karakter.

3. Dilakukan konversi nilai karakter pada tabel ASCII kedalam bentuk bilangan biner. Pada tabel 2.6 dibawah ini diperlihatkan perhitungan karakter sebelum kompresi.

Tabel 2.6 Perhitungan Karakter Sebelum Kompresi

n Char ASCII ASCII(2) Bit F Bit x F

1 A 65 01000001 8 3 24

2 I 73 01001001 8 2 16

3 H 72 01001000 8 1 8

ASCII = nilai ASCII karakter dalam desimal ASCII(2) = nilai ASCIIkarakter dalam biner F = frekuensi kemunculan karakter

4. Proses kompresi algoritma Elias Gamma Code sebagai berikut : a. Ubah bilangan n kedalam bentuk biner Ξ²(n)

Untuk n = 1 kode biner = 12 (karakter A)

b. Dihitung panjang bilangan biner | Ξ²(n)| sebagai M dan dihapus satu bit paling seperti terlihat pada tabel 2.8 dibawah ini :

Tabel 2.8 Perhitungan u(M) dan Elias Gamma Code

N char M (n) u(M) =(M-1)*”0”+”1” Elias Gamma Code

9 G 4 001 0001 0001001

10 S 4 010 0001 0001010

11 R 4 011 0001 0001011

Sehingga didapat hasil kompresi per karakter string sebagai berikut :

H A F N I Space M E G

001 1 00100 00101 010 00110 00111 0001000 0001001

A S A R I

1 0001010 1 0001011 010

5. Proses dekompresi Elias Gamma Code sebagai berikut : a. Masukkan kode Elias Gamma Code karakter n sebagai Ei b. Ambil jumlah digit 0 sebelum digit 1 pertama Ei sebagai N c. Ambil bit biner setelah digit 1 sebagai bilangan bulat desimal L d. Menghitung keluaran karakter n dengan menggunakan n = 2n + L

Untuk E(1) = 1 maka n = 20 + 0 = 1 (karakter A) Untuk E(2) = 010 maka n = 21 + 0 = 2 (karakter I) Untuk E(3) = 011 maka n = 21 + 1 = 3 (karakter H) Untuk E(4) = 00100 maka n = 22 + 0 = 4 (karakter F) Untuk E(5) = 00101 maka n = 22 + 1 = 5 (karakter N) Untuk E(6) = 00110 maka n = 22 + 2 = 6 (karakter Space) Untuk E(7) = 00111 maka n = 22 + 3 = 7 (karakter M) Untuk E(8) = 0001000 maka n = 23 + 0 = 8 (karakter E) Untuk E(9) = 0001001maka n = 23 + 1 = 9 (karakter G) Untuk E(10) = 0001010 maka n = 23 + 2 = 10 (karakter S) Untuk E(11) = 0001011 maka n = 23 + 3 = 11 (karakter R

2.4. Video

Video merupakan sebuah teknologi yang digunakan untuk menangkap, merekam, memproses, mentransmisikan, dan mengatur ulang gambar bergerak yang memiliki

suara. Video memiliki tiga dimensi, yaitu dua dimensi spatial (horisontal dan vertikal) dan satu dimensi waktu (Fitria dkk., 2017). Contoh file video terlihat pada gambar 2.3.

Gambar 2.3 Contoh File Video

Pada file video ada dua hal yang dapat dikompersi yaitu frame (still image) dan audio. Sebuah video memiliki redudancy spatial (warna dalam still image) dan redudancy temporal (perubahan antar frame). Proses kompresi redudancy spatial (spatial / intraframe compression) dilakukan sama seperti teknik kompresi lossy color reduction pada image. Sedangkan untuk proses kompresi redudancy temporal (temporal / interframe compression) dilakukan dengan mengirim dan mengkode frame yang berubah dan data yang sama masih tersimpan.

Ada beberapa format file video yang umum digunakan, salah satunya adalah Audio Video Interleave (.avi). Format video .avi bisa menyesuaikan audio dengan alat untuk memutar video (Malaga dan Koppel, 2017). Format video ini diciptakan oleh Microsoft pada tahun 1992 sehingga disebut sebagai generasi tua file video. Pada dasarnya file .avi merupakan file yang dihasilkan dari sumber pengambilan video tanpa terkompresi, karena tidak terkompresi file .avi lebih berkualitas. Namun, ukuran file .avi menjadi besar dan sebagian besar perangkat lunak pengeditan video dapat dengan mudah mengimpor ke format lain. File .avi sering digunakan saat merekam, sebelum mengkonversi ke format untuk distribusi berbasis web.

2.5. Penelitian yang Relevan

Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan

oleh penulis yaitu sebagai berikut :

1. Penelitian yang telah dilakukan sebelumnya oleh (Fitria, Luluk A., Tito W.

Purboyo, dan Anggunmeka L. Prasasti. 2017) dengan judul β€œA Review of Data Compression Techniques” mengambil kesimpulan bahwa, teknik kompresi bisa mengurangi ukuran file yang besar menjadi ukuran lebih kecil yang dapat menghemat ruang penyimpanan komputer. Kompresi data dapat direalisasikan dengan data teks, gambar, dan video. Berbagai teknik algoritma kompresi memiliki kelebihan dan kekurangan untuk melakukan kompresi.

2. Penelitian yang telah dilakukan sebelumnya oleh (Malaga, Ross A. dan Nicole B.

Koppel. 2017) dengan jurnal yang berjudul β€œA Comparison of Video Formats for Online Teaching” mengambil kesimpulan bahwa, format AVI menghasilkan video yang terlalu besar dan tidak dapat dimaikan di kebanyakan perangkat.

Namun, karena format AVI tidak terkompresi sangat diharapkan penggunaannya perlu mengedit video. Flash adalah metode yang sangat populer untuk menyediakan video online. Namun, kesulitan dalam mengunduh file Flash dan ketidakmampuan perangkat iOS untuk memainkan Flash membuat format ini tidak cocok dalam lingkungan pendidikan. Selain itu, penerapan HTML5 membuat Flash semakin usang selama beberapa tahun ke depan. QuickTimes adalah tipe lama dan seharusnya tidak digunakan di masa depan karena itu telah digantikan oleh MPEG-4.

3. Penelitian yang telah dilakukan sebelumnya oleh (Sitepu, Nurhennida Br. 2014) dengan judul β€œPerbandingan Algoritma Elias Gamma Code dengan Shannon-Fano untuk Kompresi File Teks” mengambil kesimpulan bahwa, hasil pengujian menggunakan parameter redundancy data untuk jumlah variasi karakter dan kemunculan karakter maka algoritma yang lebih baik adalah Elias Gamma Code dan algoritma Elias Gamma Code dapat menghasilkan nilai redundancy negatif untuk jumlah karakter berbeda diatas 35 karakter dengan kemunculan satu kali tanpa ada perulangan karakter yang sama karena kode yang dihasilkan semakin panjang.

4. Penelitian yang telah dilakukan sebelumnya oleh (Pratama, Andre. 2009) dengan judul β€œStudi Perbandingan Kinerja Algoritma Kompresi Lempel Ziv 77, Lempel Ziv 78, Lempel Ziv Welch pada File Text” mengambil kesimpulan bahwa, untuk

ketiga algoritma proses kompresi lebih lama dibandingkan dengan proses dekompresi. Penambahan dictionary (atau buffer) pada setiap algoritma, memberikan peningkatan hasil pada rasio kompresi, namun membutuhkan waktu proses yang semakin lama.

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem merupakan salah satu tahap pembangunan sistem untuk menentukan hal-hal yang akan dilakukan pada rancangan sistem, agar sistem dapat berjalan sesuai dengan tujuan utama.

3.1.1. Analisis Masalah

Masalah yang akan dibahas dari penelitian ini yaitu bagaimana perbandingan kinerja algoritma Lempel Ziv Welch dan algoritma Elias Gamma Code pada proses kompresi file video berdasarkan parameter compression ratio (Cr), ratio of compression (Rc), space saving (Ss), bitrate, serta waktu kompresi dan dekompresi yang dihitung dalam satuan milisekon (ms).

Diagram ishikawa digunakan untuk memaparkan identifikasi masalah dengan menunjukkan sebab-sebab terjadinya suatu masalah. Diagram ishikawa sistem ini dilihat pada gambar 3.1.

Gambar 3.1 Diagram Ishikawa Analisis Masalah

Pada gambar diagram 3.1 ada empat kategori penyebab masalah pada penelitian ini, yaitu material, manusia, metode serta mesin (sistem). Setiap detail penyebab masalah tersebut dapat dilihat dengan tanda panah yang mengarah pada masing-masing kategori.

3.1.2. General Arsitektur

General arsitektur digunakan untuk menjelaskan secara keseluruhan dari sebuah sistem yang akan dibangun. Pada general arsitektur terdapat komponen-komponen serta interaksi antar komponen yang terhubung menjadi kesatuan yang utuh.

Perancangan seluruh program ini dijabarkan pada gambar 3.2.

Gambar 3.2 General Arsitektur

Gambar diatas menjelaskan tentang general arsitektur sistem pada penelitian ini. Pengguna memasukkan file video yang akan dikompresi. Setelah itu sistem akan melakukan proses kompresi. Kemudian pengguna memilih metode yang akan digunakan untuk meng-kompresi file video yang telah dimasukkan, yaitu metode Lempel Ziv Welch atau Elias Gamma Code. Setelah itu proses kompresi selesai.

Selanjutnya untuk proses dekompresi, pengguna memasukkan file video hasil dari kompresi. Setelah itu sistem akan melakukan proses dekompresi. Pengguna memilih kembali metode yang akan digunakan untuk meng-dekompresi file, yaitu metode Lempel Ziv Welch ata Elias Gamma Code, maka file video akan kembali seperti semula.

3.1.3. Analisis Kebutuhan

Analisis kebutuhan merupakan tahapan identifikasi kebutuhan yang diperlukan dalam sebuah sistem. Analisis kebutuhan terdiri dari dua jenis kebutuhan, yaitu kebutuhan fungsional dan non-fungsional. Kebutuhan fungsional membahas tentang fungsi-fungsi utama yang ada pada sistem yang dirancang. Sedangkan kebutuhan non-fungsional membahas tentang fungsi-fungsi yang berperan sebagai pelengkap sistem agar mendapat feedback dari pengguna.

1. Kebutuhan Fungsional

Kebutuhan fungsional sistem yang dirancang meliputi :

a. Sistem dapat membaca file video berekstensi .avi yang di input pengguna.

b. Sistem dapat melakukan proses kompresi maupun dekompresi dengan menggunakan algoritma Lempel Ziv Welch dan algoritma Elias Gamma Code pada file video.

c. Sistem dapat menampilkan size bit file video sebelum dan sesudah kompresi, compression ratio (Cr), ratio of compression (Rc), space saving (Ss), bitrate, serta waktu kompresi dan dekompresi yang dihitung dalam satuan milisekon (ms).

2. Kebutuhan non-fungsional

Kebutuhan non-fungsional sistem yang dirancang meliputi : a. Performa

Sistem dapat melakukan proses kompresi dan dekompresi file video dengan jarak waktu yang sedikit.

b. Minimalis

Sistem dibangun dengan tampilan sederhana dan menarik bagi pengguna.

c. Informasi

Sistem menyediakan informasi yang berkaitan dengan data file video yang akan atau telah dikompresi oleh sistem.

d. Kualitas

Sistem yang dibangun harus mampu memberikan hasil kompresi dan dekompresi yang tepat dan akurat, serta menjamin integritas data.

e. Dokumentasi

Sistem dapat menyimpan file hasil kompresi maupun hasil dekompresi

3.2. Pemodelan Sistem

Pemodelan sistem merupakan tahapan yang menjelaskan komponen-komponen dari sistem yang akan dibangun dan keterkaitan antara pengguna dengan sistem.

Pemodelan penelitian ini dilakukan menggunakan Unified Modeling Language (UML). UML merupakan bahasa spesifikasi standar yang digunakan untuk menjelaskan mengenai komponen-komponen untuk membangun sistem dan interaksi antar komponen. Adapun model UML yang digunakan use case diagram, activity diagram dan sequence diagram.

3.2.1. Use Case Diagram

Use case diagram merupakan gambaran dari fungsi-fungsi sebuah sistem yang dirancang untuk penggunanya sehingga mudah dipahami. Use case diagram menggambarkan fungsionalitas dari sebuah sistem, sehingga pengguna dapat dengan mudah memahami sistem tersebut. Pada use case diagram, pengguna berperan untuk menjalankan dan berkomunikasi dengan sistem. Pengguna dan use case diagram dihubungkan dengan garis lurus. Sedangkan use case dengan use case lainya terhubung dengan menggunakan garis putus-putus yang dinamakan dengan include dan untuk menghubungkan sebuah use case dengan use case lainnya jika kondisi terpenuhi disebut dengan extand. Use case diagram pada sistem dilihat pada gambar 3.3.

Gambar 3.3 Use Case Diagram Pada Sistem

Use case diagram pada gambar 3.3 menjelaskan bahwa sistem dapat di akses oleh seorang pengguna (aktor) dimana pengguna tersebut dapat melakukan kompresi maupun dekompresi dengan dua algoritma yang digunakan, yaitu algoritma Lempel Ziv Welch dan Elias Gamma Code. Hal pertama yang dilakukan ketika melakukan kompresi yaitu memilih file video berekstensi *.avi yang ingin dikompresikan. Lalu memilih algoritma apa yang akan digunakan pada proses kompresi. Setelah file berhasil dikompresi sistem akan menampilkan informasi terkait hasil kompresi tersebut. Lalu, pengguna juga dapat menyimpan hasil kompresi atau melakukan reset terhadap inputan file.

Begitu juga untuk melakukan proses dekompresi, pengguna memilih file yang terkompresi terlebih dahulu dengan membuka file berekstensi *.lzw || *.eg, kemudian proses dekompresi dilakukan dengan menggunakan algoritma Lempel Ziv Welch dan Elias Gamma Code. Setelah itu pengguna dapat menyimpan file hasil dekompresi atau melakukan reset terhadap inputan file.

3.2.2. Activity Diagram

Activity diagram menggambarkan alur aktifitas pengguna terhadap sistem yang dirancang secara berurutan dari awal hingga akhir.

1. Activity Diagram Proses Kompresi

Activity diagram ini merupakan gambaran proses kompresi menggunakan algoritma Lempel Ziv Welch atau Elias Gamma Code yang dilakukan oleh sistem.

Activity diagram proses kompresi dilihat pada gambar 3.4.

Gambar 3.4 Activity Diagram Proses Kompresi 2. Activity Diagram Proses Dekompresi

Activity diagram ini merupakan gambaran proses dekompresi yang berjalan pada sistem. Activity diagram proses dekompresi dilihat pada gambar 3.5.

Gambar 3.5 Activity Diagram Proses Dekompresi

Berdasakan gambar 3.5 dapat dilihat bahwa, pada mulanya pengguna harus menginputkan file video yang telah dikompresi, dan sistem akan menerima inputan tersebut. Setelah itu pengguna memilih kembali metode yang akan digunakan untuk meng-dekompresi file, yaitu metode Lempel Ziv Welch atau Elias Gamma Code, setelah proses dekompresi selesai, maka akan tampil informasi dari file yang telah di dekompresi yang berupa waktu dekompresi.

3.2.3. Sequence Diagram

Sequence diagram merupakan gambaran mengenai interaksi antar objek melalui pesan dimana interaksi tersebut disusun berdasarkan urutan waktu. Interaksi antar objek

tersebut berupa perintah terhadap sistem dan juga feedback yang dihasilkan sistem.

Sequence diagram untuk sistem ini dilihat pada gambar seperti berikut.

1. Sequence diagram proses kompresi yang terdapat pada sistem dilihat pada gambar 3.6.

Gambar 3.6 Sequence Diagram Proses Kompresi

2. Sequence diagram proses dekompresi yang terdapat pada sistem dapat dilihat pada gambar 3.7.

Gambar 3.7 Sequence Diagram Proses Dekompresi

3.3. Flowchart

3.3.1. Flowchart Sistem Secara Umum

Flowchart sistem secara umum terdiri dari dua flowchart yaitu flowchart proses kompresi dan flowchart proses dekompresi. Perancangan sistem secara umum digambarkan dengan flowchart seperti pada gambar 3.8.

a. Flowchart proses kompresi b. Flowchart proses dekompresi Gambar 3.8 Flowchart Sistem Secara Umum

3.3.2. Flowchart Algoritma Lempel Ziv Welch

Berikut flowchart kompresi dengan algoritma Lempel Ziv Welch seperti yang terlihat pada gambar 3.9.

Gambar 3.9 Flowchart Kompresi Algoritma Lempel Ziv Welch

Berikut flowchart dekompresi dengan algoritma Lempel Ziv Welch seperti yang terlihat pada gambar 3.10

Gambar 3.10 Flowchart Dekompresi Algoritma Lempel Ziv Welch

3.3.3. Flowchart Algoritma Elias Gamma Code

Berikut flowchart kompresi dengan algoritma Elias Gamma Code seperti yang terlihat pada gambar 3.11.

Gambar 3.11 Flowchart Kompresi Algoritma Elias Gamma Code Berikut flowchart dekompresi dengan algoritma Elias Gamma Code seperti yang terlihat pada gambar 3.12

Gambar 3.12 Flowchart Dekompresi Algoritma Elias Gamma Code

3.4. Perancangan Antarmuka (Interface)

Perancangan antarmuka sistem dapat memberikan pengaruh penting antara pengguna dan sistem dalam berkomunikasi. Oleh sebab itu diperlukan perancangan antarmuka yang efisien, sederhana dan menarik sehingga mudah dimengerti dan dijalankan oleh pengguna.

3.4.1. Rancangan Halaman Home

Halaman home merupakan tampilan yang pertama ditampilkan ketika sistem dijalankan. Pada tampilan halaman home terdapat beberapa menu untuk menjalankan halaman lain seperti terlihat pada gambar 3.13.

Gambar 3.13 Tampilan Halaman Utama Keterangan gambar :

1. Tool Strip Menu : digunakan untuk memilih menu home

2. Tool Strip Menu : digunakan untuk memilih menu kompresi file 3. Tool Strip Menu : digunakan untuk memilih menu dekompresi file 4. Tool Strip Menu : digunakan untuk memilih menu tentang

5. Label : berisi judul

6. PictureBox : berisi logo institusi

7. Label : berisi identitas pembuat sistem dan instansi pendidikan 3.4.2. Rancangan Halaman Kompresi

Halaman kompresi merupakan halaman proses kompresi file dilakukan. Pada menu kompresi pengguna dapat memasukkan file yang akan dikompresi dan memilih algoritma yang akan digunakan. Di menu ini juga terdapat informasi-informasi dari file yang terkompresi seperti pada gambar 3.14.

Gambar 3.14 Tampilan Halaman Kompresi Pada Sistem Keterangan gambar :

1. Tool Strip Menu : digunakan untuk memilih menu Home 2. Tool Strip Menu : digunakan untuk memilih menu Kompresi 3. Tool Strip Menu : digunakan untuk memilih menu Dekompresi 4. Tool Strip Menu : digunakan untuk memilih menu Tentang

1. Tool Strip Menu : digunakan untuk memilih menu Home 2. Tool Strip Menu : digunakan untuk memilih menu Kompresi 3. Tool Strip Menu : digunakan untuk memilih menu Dekompresi 4. Tool Strip Menu : digunakan untuk memilih menu Tentang

Dokumen terkait