BAB 5: KESIMPULAN DAN SARAN
3.1. Analisis Sistem
Analisis sistem merupakan tahap awal dari sebuah penelitian yang bertujuan untuk mengetahui masalah yang terkait dalam pembuatan sistem dengan mempelajari dan memahami masalah yang akan diselesaikan dengan menggunakan sistem ini. Setelah mengetahui permasalahan yang ingin diselesaikan maka dilanjutkan dengan proses perancangan model yang nantinya akan memenuhi kebutuhan dan permintaan pengguna. Analisis selanjutnya yang merupakan analisis terakhir yaitu analisis proses yang diimplementasikan dalam sebuah sistem.
3.1.1. Analisis Masalah
Analisis masalah yang akan dilakukan adalah bagaimana mengkompresi citra dengan format *.bmp dan *.jpeg dengan menggunakan metode kuantisasi. Kemudian citra didekompresi kembali dengan metode yang sama. Masalah pada penelitian secara umum ditunjukkan dengan menggunakan diagram ishikawa pada gambar 3.1.
user Kompresi - Dekompresi citra Material Sistem metode matlab File .bmp dan .jpeg sebagai input awal
kuantisasi
Diuji pada 2 jenis format citra Kecepatan internet yang
tidak begitu baik
Waktu yang lama pada proses pengiriman citra pada saluran komunikasi ukuran citra yang beragam
Gambar 3.1 Diagram Ishikawa Untuk Analisa Masalah 3.1.2. Analisis Kebutuhan Sistem
Analisis kebutuhan sebuah sistem dibagi menjadi dua kategori, yaitu : analisis kebutuhan fungsional system dan analisis kebutuhan non-fungsional sistem.
3.1.2.1. Kebutuhan Fungsional Sistem
Kebutuhan fungsional sistem merupakan segala sesuatu yang dibutuhkan sistem. Dalam pengimplementasian sistem kompresi dan dekompresi citra dengan menggunakan metode kuantisasi ini memiliki kebutuhan fungsional yang harus dipenuhi, antara lain :
1. Citra digital yang akan dikompresi adalah citra digital dengan format .bmp atau .jpeg.
2. Proses implementasi pada sistem ini dilakukan dengan melakukan kompresi dan dekompresi menggunakan metode kuantisasi
3. Sistem akan menampilkan citra yang telah berhasil dikompresi dan berusaha mengembalikan citra kembali dengan proses dekompresi.
3.1.2.2. Kebutuhan Non-Fungsional Sistem
Agar membantu kinerja sistem agar lebih baik, terdapat kebutuhan non-fungsional sistem, antara lain :
1. Performa
Sistem dan perangkat lunak yang dibangun harus dapat menunjukkan hasil dari proses implementasi metode kuantisasi untuk kompresi citra dan dekompresi citra bitmap dan jpeg.
2. Mudah digunakan ( user friendly)
Sistem dan perangkat lunak yang dibangun harus sederhana agar mudah digunakan oleh user dan memiliki interface yang menarik.
3. Hemat biaya
Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat tambahan atau perangkat pendukung lainnya yang dapat mengeluarkan biaya. 4. Dokumentasi
Sistem atau perangkat lunak yang dibangun dapat menyimpan hasil citra yang telah dikompresi dan didekompresi.
3.1.3. Analisis Proses
Dalam sistem ini menggunakan metode kuantisasi untuk mengkompresi dan mendekompresi citra .bitmap dan .jpeg. Setelah dilakukan kompresi, di dalam sistem ini nantinya akan terdapat beberapa keterangan citra setelah dikompresi. Misalnya, ukuran citra setelah dikompresi, waktu yang dibutuhkan untuk proses kompresi, rasio citra diantara citra setelah dikompresi dan sebelum kompresi. Setelah dilakukan proses kompresi, dapat dilakukan proses dekompresi citra, yaitu proses pengembalian citra ke bentuk semula. Di dalam sistem ini nantinya juga akan dapat menampilkan beberapa keterangan citra yang berhasil di dekompresi. Misalnya, ukuran citra setelah didekompresi dan waktu yang dibutuhkan untuk melakukan proses dekompresi citra.
3.2. Pemodelan
Pada pengimplementasian kompresi dan dekompresi citra ini digunakan UML sebagai bahasa pemodelan yang berfungsi untuk membantu merancang sistem kompresi dan dekompresi citra. Model UML yang digunakan dalam penelitian ini yaitu use case, sequence diagram, dan activity diagram.
3.2.1. Use Case Diagram
Use case diagram adalah suatu diagram yang merupakan teknik untuk merekam persyaratan fungsional dan berfungsi untuk menggambarkan interaksi antara pengguna sistem dengan sistem itu sendiri kemudian memberi suatu penjelasan bagaimana sistem tersebut digunakan. Berikut ini merupakan use case diagram dari sistem yang dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.2
Kuantisasi Kompresi actor <<include>> Simpan <<include>> <<Include>> Dekompresi <<include>> Simpan <<include>> <<include>> Hitung MSE Hitung MSE
Gambar 3.2.Use Case Diagram Sistem Kompresi dan Dekompresi Citra
3.2.2 SquenceDiagram
Sequence diagram adalah diagram yang menunjukkan kelompok-kelompok objek yang saling berkolaborasi dalam beberapa kebiasaan (behavior). Sequence diagram menunjukkan sejumlah objek contoh dan pesan-pesan yang lewat objek-objek tersebut dalam use case. Berikut ini merupakan gambaran dari sequence diagram dari sistem yang telah dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.2 dan gambar 3.3.
Input Citra Kompresi Citra Waktu kompresi Simpan Rasio Citra Ambil citra actor Proses kompresi Perhitungan waktu Simpan citra Perhitungan rasio Proses kompresi citra
Hasil kompresi citra
Hasil perhitungan Rasio Citra
Citra Kompresi Simpan Waktu dekompresi Dekompresi Citra Citra kompresi actor Proses kompresi Perhitungan waktu Simpan citra
Proses dekompresi citra Hasil dekompresi citra
Gambar 3.4 Sequence Diagram Proses Dekompresi Citra
3.2.3. Activity Diagram
Activity diagram adalah diagram yang berfungsi untuk menggambarkan logika procedural, jalur kerja suatu sistem. Diagram ini hampir memiliki peran yang sama dengan diagram alir yang mana memungkinkan siapapun yang melakukan proses agar dapat memilih urutan dalam melakukan kinerja sistem sesuai yang diinginkan. Berikut ini merupakan activity diagram dari sistem yang telah dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.5 dan 3.6.
user sistem
Melakukan penyimpanan file citra kompresi
Menampilkan citra yang telah berhasil di kompresi
menekan tombol simpan
Memproses citra Menekan tombol kompresi
Open dialog Menekan tombol open file
Menampilkan keterangan dimensi file citra dan waktu
kompresi
Menampilkan keterangan ukuran file citra Kompresi dan
rasio
user sistem
Sistem melakukan penyimpanan file citra dekompresi User menekan tombol simpan
Sistem menampilkan citra yang telah berhasil di dekompresi
Sistem memproses citra Menekan tombol dekompresi
Menampilkan keterangan dimensi file citra dan waktu
kompresi
Gambar 3.6 Activity Diagram Dekompresi Citra 3.3. Pseudocode Program
Pseudocode merupakan algoritma yang diterjemahkan dengan bahasa tingkat tinggi, bahasa yang digunakan agar mudah dimengerti manusia dan dapat digambarkan dengan mudah sehingga dapat dipahami oleh manusia itu sendiri.
3.3.1. Pseudocode Proses Implementasi Kompresi dan Dekompresi Citra dengan menggunakan Metode Kuantisasi
3.3.1.1 Pseudocode Kompresi Citra
gbrAwal ← imread(fullfile(nama_path, nama_file))
[a,b,c]← size(citra =RGB)
Array=double(gbrAwal)← array untuk gbrAwal
gbrKompresi=zeros(a,b,c)
for f←1 to b for g←1 to c if (mod(array(e,f,g),2==0) gbrKompresi(e,f,g) ← (array(e,f,g)/2; else gbrKompresi(e,f,g)← (array(e,f,g))+1/2; end if end for end for end for
Pada proses kompresi citra, citra masukan awal disimpan pada variabel gbrAwal yang memiliki size a,b,c. array yang mewakili citra dari gbrAwal didoublekan agar lebih mudah dilakukan oprerasi matimatika dari citra tersebut. Kemudian, buat variabel baru untuk gambar yang akan dikompresi yang arraynya berisi hasil bagi dari array yang mewakili gbrAwal.
3.3.1.2 Pseudocode Dekompresi Citra
gbrHasil ← imread(fullfile(nama_path, nama_file))
[a,b,c]← size(citra =RGB)
Array=double(gbrHasil)← array untuk gbrHasil
gbrDekomp=zeros(a,b,c) for e←1 to a for f←1 to b for g←1 to c gbrDekomp(e,f,g)← (array(e,f,g))*2; end for end for end for
Pada proses dekompresi, hal pertama yang dilakukan adalah membaca citra hasil (citra yang telah dikompresi). Kemudian simpan pada variabel gbrHasil. Array yang mewakili gbrHasil diproses dengan proses perkalian kemudian disimpan pada variabel gbrDekomp. Proses perkalian dilakukan agar array yang mewakili citra kembali ke nilai awal saat sebelum dilakukan proses kompresi,