Pemodelan Aplikasi Analisis Perbandingan Kompresi Citra Menggunakan Lempel-Ziv-Markov Chain Algorithm (LZMA) Dan Run Length Encoding

d. Kontrol Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna. e. Efisiensi Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut. f. Pelayanan Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.

3.3. Pemodelan Aplikasi

Pemodelan aplikasi yang dirancang bertujuan untuk menggambarkan semua kondisi dan bagian-bagian yang berperan dalam sistem yang dirancang. Pemodelan aplikasi dilakukan dengan membuat use-case diagram, activity diagram, class diagram, dan sequence diagram.

3.3.1. Use-Case Diagram

Untuk menganalisa komponen-komponen yang berperan dalam sistem yang dirancang, penulis menggunakan use-case diagram agar proses penganalisaan komponen dapat dilakukan dengan mudah. Use-case diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar 3.2. Gambar 3.2. Use-Case Diagram Pada Sistem Tabel 3.1. Dokumentasi Naratif Use-Case Kompresi Nama Use Case Kontrol Proses Kompresi Aktor User Deskripsi Use Case yang mendeskripsikan fungsi pengendalian proses yang berlangsung selama proses kompresi. Pre-condition Algoritma yang digunakan terdapat pada tampilan dan dapat dipilih sesuai dengan kebutuhan. Typical Course Of Event Aksi Actor Respon System Langkah 1: User memanggil file citra yang berformat BMP atau PNG Langkah 3: User memilih salah satu file citra dan menekan tombol Open Langkah 5: User memilih target tempat penyimpanan file citra terkompresi Langkah 7: User memilih salah satu algoritma yang digunakan. Langkah 8: User memilih proses kompresi Langkah 9: User memilih tombol Mulai untuk melakukan proses kompresi. Langkah 11: User menekan tombol selesai. Langkah 2: Sistem merespon dengan menampilkan Dialog Box yang berisi daftar file citra yang berformat BMP atau PNG. Langkah 4: Sistem menampilkan source citra yang di-input Langkah 6: Sistem merespon dengan menampilkan Dialog Box untuk menentukan tempat penyimpanan citra terkompresi. Langkah 10: Sistem merespon dengan menampilkan Dialog Box yang berarti proses kompresi selesai. Langkah 12: Sistem menampilkan data Input, Output, Rasio Kompresi dan Waktu Kompresi serta menyimpan Citra Terkompresi ke tempat penyimpanan yang dipilih. Alternate Course Aksi Aktor Respon System Post Condition Citra telah dikompresi sesuai dengan algoritma yang dipilih user

3.3.2. Pseudocode Kompresi Run Length Encoding RLE

Tabel 3.2. Pseudocode Kompresi Run Length Encoding Baris Pseudocode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ALGORITMA Run Length Encoding algoritma untuk kompresi file citra menggunakan RLE DEKLARASI masuk : FileOutputStream file_input, file_output : String c, count, last : int DESKRIPSI masuk - untuk membaca byte dari file input file_input - nama file input file_output - nama file output c - nilai byte count - jumlah byte yang dihitung last - byte terakhir yang dibaca c - masuk.read; While Not EOF do Write c; last := c; While NOT EOF AND count = 255 do c - masuk.read; IF c = last THEN count := count + 1; ELSE Write count; count :=0; Break; END IF END WHILE END WHILE Show Result; Keterangan: Baris 1-2 : Sebagai Judul Pseudocode Baris 4-7 : Deklarasi Variabel Yang Digunakan Baris 9-15 : Untuk menandai variabel yang digunakan dalam proses kompresi Run Length Encoding RLE. Baris 17 : Untuk membaca satu byte dari file input dan masukkan nilainya ke C Baris 18 : Sebelum End Of File maka lakukan perintah dibawahnya Baris 19 : Untuk menuliskan nilai C pada file output Baris 20 : Untuk memberikan nilai C pada last Baris 21 : Sebelum End Of File dan nilai count masih =255 lakukan perintah dibawahnya Baris 22 : Untuk membaca satu byte dari file input dan masukkan nilainya ke C Baris 23 : Jika nilai C sama dengan nilai last maka lakukan perintah dibawahnya Baris 24 : Untuk membaca nilai Count + 1 Baris 25 : Untuk kondisi lainnya Baris 26 : Untuk menulis nilai Count pada file output Baris 27 : Untuk mengubah nilai count menjadi 0 Baris 28 : Untuk keluar dari perulangan Baris 29 : Akhir dari if Baris 30-31 : Akhir dari while

3.3.3. Activity Diagram

Untuk menganalisa aktivitas-aktivitas yang akan berlangsung selama aplikasi dijalankan diperlukan sebuah activity diagram. Activity diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar 3.3. G Gambar 3.3. Activity Diagram Pada Sistem

3.3.4. Class Diagram

Class diagram untuk si m uk sistem yang dirancang dapat dilihat seperti pada Gambar 3.4. Class Diagram Pada Sistem pada Gambar 3.4

3.3.5. Sequence Diagram

Sequence diagram untuk sistem yang dirancang dapat dilihat seperti pada Gambar 3.5. Gambar 3.5. Sequence Diagram Pada Sistem

3.4. Perancangan Sistem