Anda di halaman 1dari 7

TUGAS GPC-11 / 10116463 - 10116465

KOMPRESI CITRA SATELIT


HIMAWARI MENGGUNAKAN METODE
DISCRETE CONSINE TRANSFORM
M F Ismatulloh(10116463), M I Shorfana(10116465)

Abstract The size of the image produced by the camera at this time, making
people have to think of ways in order to store more images with limited storage.
Large image sizes also cause problems in the process of sending or transmitting
data. Because large files will result in long shipping and loading times due to
limited bandwidth. One solution to this problem is image compression. Image
Compression is a data compression application performed on digital images with
the aim of reducing the redundancy of the data contained in the image so that it
can be stored or transmitted efficiently. Compression is divided into two types,
lossy and lossless. This Run Length Encoding method is one method that can be
used to do compression. This RLE method is the easiest form of lossless data
compression technique where a series of data with the same value in sequence
will be stored into a data value and amount. In its implementation in the Python
programming language, the RLE method can already do image compression.

Keywords: Digital Image, Image / Photo Image, Image Processing, Compression,


Run Length Encoding Method.

Abstrak Besarnya ukuran gambar yang dihasilkan oleh satelit himawari, membuat
orang-orang harus memikirkan cara agar dapat menyimpan gambar lebih banyak
dengan tempat penyimpanan yang terbatas. Ukuran gambar yang besar juga
mengakibatkan masalah pada proses pengiriman atau transmisi data. Karena file
yang berukuran besar akan mengakibatkan waktu pengiriman dan loading yang
lama karena terbatasnya bandwith. Salah satu solusi dari masalah tersebut
adalah dengan kompresi citra. 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. Kompresi dibagi menjadi dua jenis, lossy dan lossless. Metode Run
Length Encoding ini merupakan salah satu metode yang dapat digunakan untuk
melakukan pemampatan. Metode RLE ini adalah bentuk paling mudah dari teknik
kompresi data lossless dimana sederetan data dengan nilai yang sama secara
berurutan akan disimpan menjadi sebuah nilai data dan jumlahnya. Dalam
implementasinya pada bahasa pemrograman python, metode RLE ini sudah dapat
melakukan pemampatan citra.

Kata Kunci Citra Digital, Citra Image / Foto, Pengolahan Citra, Pemampatan,
Metode Discrete Cosine Transform.

——————————  ——————————

1 PENDAHULUAN
Citra digital (foto) adalah sebuah istilah lain untuk gambar sebagai bentuk informasi visual yang memegang
peranan penting dalam komponen multimedia. Seiring waktu berjalan, dan dengan perkembangan teknologi di
bidang komputerisasi, teknologi pengolahan citra (image processing) telah banyak digunakan pada berbagai
bidang, antara lain bidang kedokteran dan bidang industri hiburan. Pengolahan citra digital merupakan proses
yang bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer.[ CITATION War \l 1057 ]

Ada dua tipe citra yaitu citra analog dan citra digital. Citra analog tidak dapat direpresentasikan dalam
komputer. Oleh karena itu, citra analog tidak dapat diproses menggunakan komputer secara langsung. Agar
dapat diproses dengan komputer, citra analog harus diubah menjadi citra digital, karena citra digital dapat
direpresentasikan dan diolah secara langsung mengguanakan komputer. Citra yang dihasilkan oleh peralatan
digital (citra digital) dapat diolah secara langsung menggunakan komputer. Hal ini disebabkan karena dalam
peralatan digital terdapat sistem sampling dan kuantisasi, yang tidak dilengkapi pada peralatan analog.
2 IEEE TRANSACTIONS ON XXXXXXXXXXXXXXXXXXXX, VOL. #, NO. #, MMMMMMMM 1996

Sistem sampling adalah sistem yang mengubah citra kontinu menjadi citra digital dengan cara membagi citra
analog menjadi M baris dan N kolom, sehingga menjadi citra diskrit. Semakin besar nilai M dan N, maka akan
semakin halus citra digital yang dihasilkan. Pertemuan antara baris dan kolom disebut piksel.

Sistem kuantisasi adalah system yang melakukan pengubahan intensitas analog ke intensitas diskrit,
sehingga dengan proses ini dimungkinkan untuk membuat gradasi warna sesuai dengan kebutuhan. Kedua
sistem inilah yang bertugas untuk memotong-motong citra menjadi M baris dan N kolom (proses sampling)
sekaligus menentukan besar intensitas yang terdapat di titik tersebut (proses kuantitasi), sehingga menghasilkan
resolusi citra yang diinginkan.[ CITATION Nur10 \l 1057 ]

Image compression, kompresi citra, atau pemampatan citra adalah aplikasi kompresi data yang dilakukan
terhadap citra digital dengan tujuan untuk mengurangi redudansi dari data-data yang terdapat dalam citra
sehingga dapat disimpan atau ditransmisikan secara efisien. Pada dasarnya teknik kompresi citra digunakan
pada proses transmisi data (data transmission) dan penyimpanan data (data storage).

Dalam teknik pemampatan, yang pertama kali dicari adalah redundansi dari data. Redudansi adalah kejadian
berulangnya suatu data atau kumpulan data yang sama dalam sebuah database. Hal ini dapat mengakibatkan
pemborosan pada media penyimpanan. Tujuan dari pemampatan data adalah untuk mereduksi yang redundan,
sehingga dapat lebih menghemat media penyimpanan. Dalam kata lain pemampatan pada citra digital ini
dilakukan untuk mengecilkan ukuran citra digital dengan cara meminimalkan jumlah bit yang diperlukan untuk
merepresentasikan suatu data citra.

Berikut adalah jenis-jenis redundansi yang mungkin terdapat pada citra:

1. Redundansi Spasial akibat korelasi antara piksel-piksel yang bertetangga yang memiliki intensitas yang
sama.

2. Redundansi Spektral akibat korelasi antara bidang-bidang warna yang berbeda

3. Redundansi Temporal akibat korelasi frame-frame yang berbeda pada citra dinamis

Secara teknik pemampatan dibagi menjadi dua jenis, yaitu lossy dan lossless. Lossy compression membuat
kapasitas file sebuah gambar menjadi kecil dengan cara menghilangkan beberapa informasi dari sebuah gambar
yang asli. Teknik kompresi lossy mengubah detail dan warna sebuah file gambar menjadi lebih sederhana dan
mempunyai kapasitas file yang lebih kecil tanpa terlihat perbedaan mencolok dari pandangan manusia. Ada
beberapa poin yang harus diperhatikan pada teknik kompresi lossy ini.

1. Teknik yang mengakibatkan data semula tidak dapat direkonstruksi kembali (ada data yang hilang)

2. Teknik kompresi dimana data hasil tidak sama dengan data sebelum kompresi.

3. Ukuran file lebih kecil dibanding loseless tetapi masih memenuhi syarat untuk digunakan.

4. Biasanya teknik ini membuang bagian-bagian data yang sebenarnya tidak begitu berguna dan tidak
dirasakan oleh kita sehingga kita masih beranggapan bahwa data tersebut masih bisa digunakan
walaupun sudah dikompresi.

Untuk contoh pemampatan pada gambar yaitu tipe file JPEG (Joint Picture Expert Group).

Lossless compression adalah kebalikan dari teknik lossy, di mana teknik kompresi ini tidak akan
menghilangan informasi dari sebuah file gambar yang asli. Adapun poin-poin yang harus diperhatikan pada

Teknik kompresi loss-less, antara lain :

1. Teknik kompresi yang tidak menyebabkan kehilangan data. Hasilnya sama seperti data sebelum proses
kompresi.

2. Teknik ini digunakan jika dibutuhkan data setelah dikompresi harus dapat diekstrak/dekompres lagi
AUTHOR: TITLE 3

tepat sama.

3. Biasanya digunakan jika akurasi data sangat penting.

4. Kadang terdapat data-data yang setelah dikompresi dengan teknik ini ukurannya sama atau bahkan
lebih besar dibanding sebelumnya.

Dalam jenis teknik, metode RLE yang akan digunakan ini termasuk dalam jenis pemampatan lossless.
[ CITATION Luc17 \l 1057 ][ CITATION Pan15 \l 1057 ][ CITATION Rob05 \l 1057 ]

2 METODE
Dalam implementasi pemampatan citra digital dengan matlab ini, metode yang digunakan adalah metode
Discrete Cosine Transform (DCT). DCT merupakan sebuah teknik untuk mengubah sinyal kedalam komponen
frekuensi dasar. Keunggulan DCT walaupun image di kompresi dengan lossy compression tidak akan
menimbulkan kecurigaan karena metode ini terjadi di domain frekuensi di dalam image, bukan pada domain
spasial sehingga tidak akan ada perubahan yang terlihat pada image. Sedangkan kekurangannya, DCT tidak
tahan terhadap perubahan suatu objek dikarenakan pesan mudah dihapus karena lokasi penyisipan data dan
pembuatan data dengan metode DCT diketahui [6].

DCT ditampilkan dengan sebuah nilai piksel matriks persegi n×n, dan menghasilkan sebuah koefisien
frekuensi dari matriks persegi n×n. Koefisien pertama pada DCT dua dimensi yang terletak pada D(0,0) disebut
koefisien DC, sedangkan koefisien lainnya disebut koefisien AC. Frekuensi horizontal meningkat dari kiri ke
kanan, dan frekuensi vertikal meningkat dari atas ke bawah. Konstanta bernilai fungsi dasar di kiri atas sering
disebut fungsi dasar DC, dan koefisien DCT yang sesuai sering disebut koefisien AC[7].

Transformasi DCT dua dimensi dituliskan seperti persamaan dibawah :

Persamaan untuk IDCT (Invers dari DCT) adalah seperti persamaan dibawah :

Keterangan :

1. F(u,v) adalah titik koordinat koefisien

DCT.

2. N dan N adalah banyak kolom dan baris..

3. (u) dan (v) adalah himpunan hasil

yang nilainya ditentukan dari nilai

koefisien u dan v.

4. f(x,y) adalah nilai pixel dari matriks pada

titik (x,y). π bernilai 1800

3 IMPLEMENTASI

Berikut adalah source code untuk mengkompresi citra dengan metode DCT.
4 IEEE TRANSACTIONS ON XXXXXXXXXXXXXXXXXXXX, VOL. #, NO. #, MMMMMMMM 1996

1. import cv2  
2. import numpy as np  
3.   
4. nama_file = "orange.jpg"  
5. image = cv2.imread(nama_file,0)  
6. imgRgb= cv2.imread(nama_file,1)  
7.   
8. baris_gambar = image.shape[0]  
9. kolom_gambar = image.shape[1]    
10. fileOpen = open("output_rle.txt","w
")  
11.   
12. # mulai operasi RLE  
13. b = 0   
14. while b < baris_gambar:  
15.     k = 0  
16.     teks = ""  
17.     cek = ""  
18.     hitung = 1  
19.     while k < kolom_gambar:  
20.         if k == 0:  
21.             cek = image[b,k]  
22.             # print('cek',int(image
[b,k]))  
23.         elif k == kolom_gambar-1:  
24.             if cek == image[b,k]:  
25.                 hitung = hitung + 1 
 
26.                 teks = teks + "("+s
tr(int(cek))+","+str(hitung)+")"    
   
27.             else:  
28.                 teks = teks + "("+s
tr(int(cek))+","+str(hitung)+"),"  
29.                 teks = teks + "("+s
tr(int(image[b,k]))+","+str(1)+")"  
30.         else:  
31.             if cek == image[b,k]:  
32.                 hitung = hitung + 1 
 
33.             else:  
34.                 teks = teks + "("+s
tr(int(cek))+","+str(hitung)+"),"  
35.                 cek = image[b,k]  
36.                 hitung = 1  
37.         k = k + 1  
38.     teks = teks + "\n"   
39.     fileOpen.write(teks)   
40.     b = b + 1            

Untuk contoh, akan diinputkan gambar di bawah ke dalam program di atas.


AUTHOR: TITLE 5

Gambar 1 Gambar Original

Hasil dari program di atas dengan gambar tersebut adalah

Lalu text tadi dimasukkan ke dalam program selanjutnya untuk melakukan decode RLE menjadi citra digital
kembali. Source code untuk decode nya adalah

1. import cv2  
2. import numpy as np  
3. from PIL import Image  
4.   
5. def decode_rle(text):  
6.     text = text.replace("(","")  
6 IEEE TRANSACTIONS ON XXXXXXXXXXXXXXXXXXXX, VOL. #, NO. #, MMMMMMMM 1996

7.     text = text.replace(")","")  
8.   
9.     temp = []  
10.     result = []  
11.       
12.     rows = text.split("\n"); row = 0  
13.     while row < len(rows)-1:  
14.         cols = rows[row].split(","); co
l = 0  
15.         print(rows[row])  
16.         while col  < len(cols):  
17.             for x in range(int(cols[col
+1])):  
18.                 temp.append(int(cols[co
l]))  
19.                 print(cols[col])  
20.             col=col+2  
21.         temp2 = temp.copy()  
22.         result.append(temp2)  
23.         temp.clear()  
24.         row=row+1  
25.   
26.     image = np.array(result)  
27.     im = Image.fromarray(image)  
28.     im.show()  
29.   
30.              
31.       
32. def main():  
33.     File = open("output_rle.txt", "r")  
34.     textFile = File.read()  
35.     decode_rle(textFile)  
36.       
37.   
38. # memanggil fungsi main  
39. if __name__=="__main__":   
40.     main()   

Output program di atas adalah gambar di bawah ini.

Gambar 2. Hasil Kompresi

4.KESIMPULAN
AUTHOR: TITLE 7

Dari hasil pengamatan pada program yang sudah dibuat, maka dapat disimpulkan :

1. Metode RLE dapat digunakan untuk melakukan pemampatan pada citra digital.

2. Hasil dari citra digital yang diolah menggunakan program berbentuk grayscale.

3. Ukuran file menjadi lebih kecil.

DAFTAR PUSTAKA

[1] R. N. Wardhani dan M. K. Delimayanti, “ANALISIS PENERAPAN METODE KONVOLUSI UNTUK UNTUK
REDUKSI DERAU PADA CITRA DIGITAL.,” pp. 191-198.

[2] P. Nurtantio, “Pengolahan Citra Digital,” 2010.

[3] L. F. R. N. M. d. S. C. L. A. &. d. F. S. M. Lucas, “Lossless Compression of Medical Images,” Instituto de


Telecomunicacoes, vol. 11, no. 36, p. 2, 2017.

[4] N. S. Pandi dan H. Sunandar, “Kompresi citra berwarna menggunakan metode deflate,” vol. 10, no. 2301–9425,
p. 1–5, 2015.

[5] M. A. Robina Ashraf, “ABSOLUTELY LOSSLESS COMPRESSION OF MEDICAL IMAGES,” Proceedings of the
2005 IEEE Engineering in Medicine and Biology 27th Annual Conference, p. 6, 2005.

[6] N. P. Tearani, " PENINGKATAN KOMPRESI CITRA DIGITAL MENGGUNAKAN DISCRETE CONSINE
TRANSFORM - 2 DIMENSION (DCT - 2D)" Proceedings of the 2014 IEEE Member.

[7] A. R. Wijaya, " KOMPRESI CITRA BERWARNA DENGAN PENERAPAN DISCRETE CONSINE TRANSFORM
(DCT) Tugas Akhir

M F Ismatulloh Seorang mahasiswa

teknik informatika unikom angkatan 2016.

Lahir dan tinggal di Bandung.

M I Shorfana Seorang mahasiswa

teknik informatika unikom angkatan 2016.

Lahir dan tinggal di Jakarta.

Anda mungkin juga menyukai