Jurnal Teknika Volume 3 No 2 Tahun 2011
269
Aplikasi Kompresi Citra Digital Menggunakan Teknik Kompresi Jpeg dengan Fungsi GUI pada Matlab Kurnia Yahya1, Yuliana Melita2 Jurusan Teknologi Informasi, Sekolah Tinggi Teknik Surabaya Email :
[email protected] 1,
[email protected] Kurnia Yahya3 Jurusan Teknik Informatika, Universitas Islam Lamongan Email :
[email protected] ABSTRAK
Pemampatan atau kompresi citra merupakan suatu metode yang sangat bermanfaat bagi perkembangan citra digital. Dengan kompresi, data citra digital yang ukurannya besar, dapat dikompres sehingga mempunyai ukuran yang lebih kecil Salah satu teknik kompresi yang cukup terkenal adalah kompresi JPEG (Join Photographic Expert Group). Kompresi JPEG menggunakan metode Lossless Compression, yaitu Kompresi citra dimana hasil dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang. Sayangnya ratio kompresi citra metode ini sangat rendah. Digunakannya bahasa pemrograman MATLAB, untuk menampilkan data-data citra (images). Hal ini disebabkan data citra pada dasarnya berupa matriks warna dengan derajat keabuan (gray scale) tertentu. Aplikasi ini menggunakan fungsi-fungsi standar MATLAB untuk menghasilkan suatu interface dimana pengoperasian kompresinya sudah disediakan oleh MATLAB secara default. Kata Kunci : Kompresi JPEG, MATLAB
I. PENDAHULUAN 1.1. Latar Belakang Kebutuhan manusia pada suatu citra sejak dahulu merupakan kebutuhan yang tidak bisa diabaikan begitu saja. Sejak ditemukannya alat-alat untuk menangkap suatu citra seperti kamera, perkembangan teknologi tidak hanya terfokuskan pada alat-alat yang digunakan untuk menangkap citra tersebut. Namun teknologi untuk mengolah suatu citra yang telah ditangkap juga merupakan hal yang sangat penting, karena citra yang ditangkap oleh kamera tersebut tidak bisa dipastikan akan menghasilkan citra yang baik sesuai kebutuhan manusia. Dalam perkembangannya suatu citra tidak hanya sebagai dokumentasi dari kejadian yang pernah dialami. Namun kini suatu citra dapat menjadi alat bantu kepolisian untuk mencocokkan sidik jari seseorang, sebagai alat enkripsi suatu data text menjadi sebuah data digital, serta masih banyak lagi kegunaan-kegunaan lainnya. Sampai saat ini sudah banyak sekali aplikasi-aplikasi komersil pengolahan citra yang dapat mengolah berbagai macam citra dengan fungsi-fungsi
ISSN No. 2085 - 0859
yang cukup lengkap untuk melakukan pengolahan sebuah citra. Secara harafiah, citra (image) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi.
Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera, peminda (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam. Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image compression).
Jurnal Teknika Volume 3 No 2 Tahun 2011
1.2. Tujuan Adapun tujuan dari penulisan ini adalah membuat aplikasi secara GUI dari MATLAB untuk merubah detail dan warna sebuah file gambar menjadi lebih kecil tanpa terlihat mencolok dari pandangan manusia sehingga menghemat penggunaan memori dan media penyimpanan.
2. TINJAUAN PUSTAKA 2.1. Pengertian Citra Citra (image) atau sering disebut dengan gambar adalah salah satu komponen dari multimedia yang memegang peranan penting sebagai bentuk informasi visual. Citra, menurut kamus Webster, adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda, misal : foto Anda mewakili entitas diri Anda sendiri di depan kamera foto sinar-X thorax mewakili keadaan bagian dalam tubuh seseorang data dalam suatu file BMP mewakili apa yang digambarkannya Citra, dari sudut pandang matematis, merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang 2 dimensi. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut dan pantulan cahaya ditangkap oleh alat-alat optik, misal mata manusia, kamera, scanner, sensor satelit, dsb, kemudian direkam. Citra ada 2 macam : 1. Citra Kontinu yaitu citra yang dihasilkan dari sistem optik yang menerima sinyal analog. Contoh : mata manusia, kamera analog 2. Citra Diskrit / Citra Digital yaitu citra yang dihasilkan melalui proses digitalisasi terhadap citra kontinu. Contoh : kamera digital, scanner 2.2. Pengertian Pengolahan Citra Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadikan citra dengan kualitas yang lebih baik.
ISSN No. 2085 - 0859
270
Umumnya operasi-operasi pada pengolahan citra diterapkan pada citra apabila : a. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra. b. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur. c. Sebagian citra perlu digabung dengan bagian citra yang lain. Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah diinterprestasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain, contohnya kompresi citra (image compression).Jadi masukkannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai ukuran citra lebih kecil dari citra masukannya. Salah satu operasi yang dilakukan dalam pengolahan citra adalah kompresi citra (image compression). 2.3. Kompresi Secara garis besar, kompresi merupakan proses untuk menghilangkan berbagai kerumitan yang tidak penting (redundansi) dari suatu informasi dengan cara memadatkan isi file sehingga ukurannya menjadi lebih kecil dengan memaksimalkan kesederhanaannya dan tetap menjaga kualitas penggambaran dari informasi tersebut. Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwith.Teknik kompresi bisa dilakukan terhadap data teks/biner, gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA), dan video (MPEG, H261, H263). Data compresion mengacu pada proses mengurangi jumlah data memerlukan untuk menghadirkan kwantitas informasi ditentukan. Data redudancy adalah isu pusat di (dalam) gambaran digital compresion. Di (dalam) gambaran digital compresion tiga data dasar redudancies dapat dimanfaatkan dan indetified: persandian redudancy, interpixel redudancy dan psychovisual redudancy. Data compresion adalah archieved manakala satu atau lebih ini redudancies dikurangi atau dihapuskan.
Jurnal Teknika Volume 3 No 2 Tahun 2011
271
Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat dalam citra sehingga dapat disimpan atau ditransmisikan secara efisien. 2.4. Klasifikasi Teknik Kompresi 1. Entropy Encoding Bersifat loseless Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik tertentu namun berdasarkan urutan data. Statistical encoding, tidak memperhatikan semantik data. Contoh: Run-length coding, Huffman coding, Arithmetic coding 2. Source Coding Bersifat lossy Berkaitan dengan data semantik (arti data) dan media. Contoh: Prediction (DPCM, DM), Transformation (FFT, DCT), Layered Coding (Bit position, subsampling, sub-band coding), Vector quantization 3. Hybrid Coding Gabungan antara lossy + loseless Contoh: JPEG, MPEG, H.261, DVI
2.5. Human Visual System Mata manusia lebih sensitif dengan perubahan tingkat kecerahan daripada jumlah warna yang terdapat dalam suatu image Berdasarkan fakta itu, dapat diambil suatu keuntungan dengan cara merubah ruang warna RGB ke dalam ruang warna lain, yaitu ruang warna YUV yang merepresentasikan Intensitas (Luminance) dan Warna (Chrominance). Dengan melihat bahwa mata manusia lebih peka terhadap Luminance daripada Chrominance, maka dapat dikompresi factor Chrominance, hal ini dinamakan Chroma Sampling. Dalam JPEG, kompresi Luminance dan Chrominance adalah 4 : 4 : 4 tanpa downsampling, 4 : 2 : 2 dengan mereduksi factor 2 dari horizontal Chrominance dan 4 : 2 :0 dengan mereduksi factor 2 dari horizontal dan vertical.
ISSN No. 2085 - 0859
Gambar 1. Downsampling 4 : 2 : 0
2.6. Kompresi Metode Loseless Metode lossless selalu menghasilkan citra hasil dekompresi yang tepat sama dengan citra semula. Tidak ada informasi yang hilang akibat kompresi. Sayangnya nisbah (ratio) kompresi citra metode lossless sangat rendah. Contoh metode lossless adalah metode Huffman. Nisbah kompresi citra dihitung dengan rumus
2.7. Teknik Kompresi JPEG JPEG (Joint Photograpic Experts Group) menggunakan teknik kompresi lossy sehingga sulit untuk proses pengeditan. JPEG cocok untuk citra pemandangan (natural generated image), tidak cocok untuk citra yang mengandung banyak garis, ketajaman warna, dan computer generated image JPEG’s compression models: o Sequential: kompresi dilakukan secara top-down, left-right menggunakan proses single-scan dan algoritma Huffman Encoding 8 bit secara sekuensial o Progressive: kompresi dilakukan dengan multiple-scan secara progresif, sehingga kita dapat mengira-ira gambar yang akan kita download. o Hierarchical: super-progressive mode, dimana image akan dipecah-pecah menjadi sub image yang disebut frame. Frame pertama akan membentuk image dalam resolusi
Jurnal Teknika Volume 3 No 2 Tahun 2011
•
rendah hingga berangsur-angsur ke resolusi tinggi. o Loseless (JPEG-LS): exact image JPEG merupakan nama teknik kompresi, sedangkan nama format filenya adalah JFIF (JPEG File Interchange Format) Tingkat kompresi yang baik untuk JPEG adalah 10:1-20:1 untuk citra foto, 30:150:1 untuk citra web, dan 60:1-100:1 untuk kualitas rendah seperti citra untuk ponsel. Byte order: MSB-LSB Tahapan kompresi JPEG: o Sampling: adalah proses pengkonversian data pixel dari RGB ke YUV/YIQ dan dilakukan down sampling. Biasanya sampling dilakukan per 8x8 blok, semakin banyak blok yang dipakai makin bagus kualitas sampling yang dihasilkan. o DCT (Discreate Cosine Transform) : hasil dari proses sampling akan digunakan sebagai inputan proses DCT, dimana blok 8x8 pixels akan diubah menjadi fungsi matriks cosinus o Quantization: proses membersihkan koefisien DCT yang tidak penting untuk pembentukan image baru. Hal ini yang menyebabkan JPEG bersifat lossy. o Entropy Coding: proses penggunaan algoritma entropy, misalnya Huffman atau Aritmatik untuk mengenkodekan koefisien hasil proses DCT yang akan mengeliminasi nilai-nilai matriks yang bernilai nol secara zig-zag order. Dalam JPEG terdapat beberapa “marker“ sebagai tanda yang memisahkan antar komponennya yang berukuran 2 bytes, dimana byte pertama selalu bernilai FF16 sedangkan bit kedua bisa berupa: o APPn: untuk menghandle application specific data, misalnya informasi tambahan yang ada dalam JPEG o COM (Comment): untuk memberikan komentar plain text string seperti copyright. o DHT (Define Huffman Table): menyimpan tabel kode-kode Algoritma Huffman
ISSN No. 2085 - 0859
272
•
o DRI (Define Resart Interval): sebagai tanda resart interval o DQT (Define Quantization Table): mendefinisikan tabel kuantisasi yang digunakan dalam proses kompresi o EOI (End of Image): tanda akhir file JPEG o RSTn: restart marker o SOI (Start of Image): tanda awal image o SOFn: start of frame o SOS: start of scan Secara umum JPEG/JFIF file menyimpan informasi: o Signature untuk mengidentifikasikan JPEG file o Colorspace o Pixel density o Thumbnails o Relationship of pixels to sampling frequency
2.8. MATLAB MATLAB dikembangkan oleh MathWorks yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matriks pada proyek LINPACK dan EISPACK. Selanjutnya menjadi sebuah aplikasi untuk komputasi matrik. Dalam lingkungan pendidikan ilmiah, MATLAB digunakan sebagai alat pemrograman standar bidang matematika, rekayasa dan keilmuan yang terkait. MATLAB menyediakan beberapa pilihan untuk dipelajari yaitu metode visualisasi dan pemrograman. Kemudahan yang ditawarkan sama sekali bukan tandingan bahasa pemrograman yang lain, karena bahasa pemrograman yang lain memang tidak menawarkan kemudahan yang serupa. MATLAB dihadirkan bagi orang-orang yang tidak ingin disibukkan dengan rumitnya sintak dan alur logika pemrograman, sementara pada saat yang sama membutuhkan hasil komputasi dan visualisasi yang maksimal untuk mendukung pekerjaannya. MATLAB telah menyediakan fungsifungsi GUI yang dapat digunakan untuk
Jurnal Teknika Volume 3 No 2 Tahun 2011
273
pengolahan suatu citra atau gambar. Selain itu MATLAB juga memberikan keuntungan bagi programmer-developer program yaitu untuk menjadi program pembanding yang handal. Hal tersebut dapat dilakukan karena kekayaannya akan fungsi matematika, fisika dan visualisasi Pada Pemrograman berorientasi objek, setiap komponen diartikan sebagai objek yang dapat diberikan pekerjaan maupun melakukan pekerjaan tertentu. Selain itu setiap objek pada pemrograman berorientasi objek pasti memiliki property untuk berinteraksi dengan objek lainnya. Dalam konteks pemrograman MATLAB sendiri, setiap objek tersebut memiliki hierarki objek yang dijabarkan dalam konsep parentchildren. Berikut adalah diagramnya:
Gambar 3. Tampilan GUI Designer 3. HASIL DAN PEMBAHASAN Dalam membuat aplikasi kompresi file JPEG, penulis melakukan proses seperti pada gambar : Desain Tampilan
Penulisan Kode
Implementasi
Gambar 4. Workflow Pembuatan Aplikasi
Gambar 2. MATLAB
Hierarki
Objek
pada
Dalam MATLAB terdapat juga fasilitas GUI (Graphic User Interface). GUI adalah media tampilan grafis sebagai pengganti perintah teks untuk user berinteraksi. Pada dasarnya membuat aplikasi berbasis window dengan MATLAB dapat dilakukan dengan 2 cara : 1.
Menggunakan skrip MATLAB saja (Pure Script)
2.
Menggunakan (GUIDE)
ISSN No. 2085 - 0859
GUI
DESIGNER
3.1. Cara Kerja Aplikasi Aplikasi ini akan menampilkan tiga buah tombol dan dua layar gambar. Ketika aplikasi terbuka, maka user melakukan proses : 1. User menekan tombol buka untuk memilih gambar asli. Jika terproses maka muncul gambar asli di layar. 2. User menekan tombol kompresi. Disini proses kompresi dilakukan dan user akan menyimpan file hasil kompresi 3. Menampilkan gambar yang terkompresi beserta keterangan disamping gambar asli. Disini user dapat mengetahui seberapa besar
Jurnal Teknika Volume 3 No 2 Tahun 2011
274
tingkat kompresi dengan membaca keterangan pada ukuran file 4. User keluar dengan menekan tombol Keluar 3.2. Mendesain Tampilan Melakukan desain tampilan sesuai dengan aplikasi yang akan dibuat dengan menggunakan komponen-komponen yang ada pada bagian kiri layar dengan cara mengklik dan menarik komponen yang akan digunakan ke dalam area rancangan. Setelah melakukan desain rancangan seperti yang terlihat pada gambar berikut ini, simpan program dengan nama kompresi.fig, maka secara otomatis akan terbentuk m-file matlab dengan nama yang sama, yaitu kompresi.m yang merupakan editor untuk memasukkan script program ke dalam rancangan yang telah dibuat sebelumnya. Berikut gambar rancangan aplikasi kompresi JPEG.
B
A
C
D E
Gambar 5. Rancangan Tampilan Aplikasi Keterangan gambar : A. Komponen Axis dengan tag citra_asli. Untuk menampilkan citra asli atau gambar sebelum terkompresi. B. Komponen Axis dengan tag citra_kompresi. Untuk menampilkan citra kompresi atau gambar hasil kompresi. C. Static Text untuk memberikan informasi nama file gambar asli. D. Static Text untuk menampilkan gambar yang telah terkompresi
ISSN No. 2085 - 0859
E. Terdapat tiga tombol, yaitu Buka, Kompresi dan Tutup. Tombol Buka berfungsi untuk memanggil file gambar yang akan dikompresi. Tombol Kompresi digunakan untuk mengkompresi gambar asli kemudian menyimpan dengan nama lain. Sedangkan tombol tutup digunakan untuk menutup program. 3.3. Menulis Kode Setelah muncul editor untuk m-file matlab, selanjutnya lakukan pengetikan program untuk melakukan proses buka citra, menampilkan dan melakukan kompresi serta untuk menyimpan citra hasil kompresi. Berikut ini script program yang ada pada file kompresi.m. Penulisan kode untuk membuka file kode ini akan dieksekusi jika user menekan tombol Buka. Kemudian kode untuk mengambil data gambar dan ditampilkan dalam static text. function btn_buka_Callback(hObject, eventdata, handles) [nama_file1, nama_path1]=uigetfile( ... {'*.bmp;,*.jpg','File Citra(*.bmp,*.jpg)'; '*.bmp','File Bitmap(*.bmp)';... '*.jpg','File JPEG(*.jpg)'; '*.*','Semua File(*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) handles.data1=imread(fullfile(nama_path1,na ma_file1)); info = imfinfo(fullfile(nama_path1, nama_file1)); size_file = info.FileSize/1000; guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.citra_asli); imshow(handles.data1); set(handles.name1,'String',nama_file1); set(handles.size1,'String',size_file); else return; end Penulisan kode untuk mengkompresi gambar asli dan kemudian menyimpan dengan nama lain. Disini ditentukan bahwa kompresi JPEG yang dilakukan adalah dengan kualits sebesar 50 dari 100.
Jurnal Teknika Volume 3 No 2 Tahun 2011
function btn_kompres_Callback(hObject, eventdata, handles) [nama_file_simpan, path_simpan]=uiputfile(... {'*.jpg','File citra(*.jpg)'; '*.jpg','Citra JPEG(*.jpg)';... '*.*','Semua File(*.*)'},... 'Menyimpan File Citra Hasil Kompresi JPEG'); imwrite(handles.data1, fullfile(path_simpan,nama_file_simpan),'Qual ity',50); citra_kompres=imread(fullfile(path_simpan,n ama_file_simpan)); guidata(hObject,handles); axes(handles.citra_kompresi); imshow(citra_kompres); Penulisan kode untuk mengambil data gambar dan ditampilkan dalam static text. info = imfinfo(fullfile(path_simpan,nama_file_simpa n)); size_file_simpan = info.FileSize/1000; set(handles.name2,'String',nama_file_simpan) ; set(handles.size2,'String',size_file_simpan); set(handles.date2,'String',info.FileModDate); Penulisan kode untuk menutup aplikasi jika user menekan tombol Tutup. function btn_keluar_Callback(hObject, eventdata, handles) selection=questdlg(['Keluar ' get(handles.figure1,'Name')''],... ['Keluar ' get(handles.figure1,'Name')''],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1) Pada function btn_buka_Callback (hObject, eventdata, handles), digunakan fungsi uigetfile untuk membaca file citra dengan format yang didefinisikan. Sebaliknya, fungsi ~isequal(nama_file1,0) memberikan tes kondisi yang menyatakan keberadaan sebuah file. Jika filenya ada, maka isequal() akan memberikan nilai 1 dan 0 untuk sebaliknya.
ISSN No. 2085 - 0859
275
Fungsi imread (fullfile(nama_path1, nama_file1)) digunakan untuk membaca file direktori nama_path1 dan nama filenya adalah nama_file1. Dalam hal ini, fungsi fullfile digunakan untuk membaca file lengkap dengan direktorinya. Fungsi imfinfo digunakan untuk memberikan semua informasi tentang file yang dibaca (nama file, ukuran, tanggal modifikasi data, tipe warna, dll). Karena pada fungsi imfinfo size data yang ditampilkan dalam ukuran byte, maka dilakukan proses konversi menjadi kilobyte. Selanjutnya adalah menampilkan file yang kita buka ke dalam axes. Statement axes digunakan untuk menghandle tempat bagi file citra yang akan ditampilkan, sedangkan untuk menampilkannya digunakan statement imshow. Sedangkan untuk menampilkan informasi tentang cita digunakan set(handles.text, ‘String’, info.File). Selanjutnya berikan script program untuk proses kompresi JPEG. Pada matlab, kompresi JPEG terdapat pada toolbox image processing yang tergabung dalam perintah imwrite, yaitu: imwrite(A, filename, fmt) dengan A adalah citra asli yang dapat berupa citra hitam putih maupun citra berwarna. Filename adalah nama file hasil kompresi JPEG. Sedangkan fmt sebenarnya digunakan untuk menspesifikasikan quality kompresi yang nilainya antara 1 sampai 100, namun dalam hal ini bersifat optional. Untuk menambah interaktif tampilan, tambahkan question dialog yang akan ditampilkan ketika pengguna memilih tombol keluar. Untuk menutup figure dan aplikasi jika pengguna memilih yes ketika muncul question dialog, gunakan statement delete(handles.figure1), maka aplikasi akan tertutup. 3.4. Implementasi Tampilan awal aplikasi, user memilih tombol buka
Jurnal Teknika Volume 3 No 2 Tahun 2011
276
Gambar 6. Tampilan Awal User memilih file yang akan dikompresi, terdapat pilihan tipe file yaitu BMP dan JPG
Gambar 9. User menyimpan file terkompresi Hasil gambar yang terkompresi ditampilkan di sebelah kanan gambar asli. Disini user dapat membandingkan hasil kompresi data dengan membaca pada keterangan dimasing-masing bawah gambar.
Gambar 7. Dialog untuk membuka file Gambar yang dipilih user akan tampak pada sebelah kiri beserta informasinya tepat dibawahnya. Disini user melakukan proses kompresi dengan menekan tombol Kompresi.
Kompres merupakan proses untuk menghilangkan berbagai kerumitan yang tidak penting (redundansi) dari suatu informasi dengan cara memadatkan isi file sehingga ukurannya menjadi lebih kecil dengan memaksimalkan kesederhanaannya dan tetap menjaga kualitas penggambaran dari informasi tersebut Dalam pembuatan aplikasi untuk mengkompresi gambar dengan menggunakan MATLAB akan dipermudah dengan memakai fungsi dasar yang ada.
Gambar 8. Tampilan Gambar Asli Aplikasi memberikan dialog menyimpan file hasil kompresi
ISSN No. 2085 - 0859
4. KESIMPULAN
untuk
Jurnal Teknika Volume 3 No 2 Tahun 2011
5. DAFTAR PUSTAKA 1. Departmen Teknik Elektro, Modul Praktikum Pengolahan Citra dan Pengenalan 2. Pola, Institut Teknologi Bandung. 3. Paul Wintz, 2000, Digital Image Processing, Prentice-Hall. 4. William J Palm, 2004, Introduction to MatLab 6 for Engineers, The McGrawHill Companies, Inc. 5. http://id.wikipedia.org/wiki/JPEG 6. http://www.mathworks.com/help/toolbox/ images/ 7. MatLab 10 Help.
ISSN No. 2085 - 0859
277
Jurnal Teknika Volume 3 No 2 Tahun 2011
Halaman ini sengaja dikosongkan
ISSN No. 2085 - 0859
278