## IMPLEMENTASI KOMPRESI CITRA DIGITAL DENGAN ALGORITMA K-MEANS CLUSTERING PADA APLIKASI MOBILE PEDULI SEKITAR “LEMBAGA SOSIAL”
Ambar Setyaningsih 1) , Muhammad Ainur Rony 2) Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260 E-mail : ambarsetyaningsih657@gmail.com 1) , ainur.rony@budiluhur.ac.id 2)

## Abstrak
Pertukatan  data  dalam  aplikasi  menjadi  salah  satu  masalah  yang  harus  diatasi,  karena  pertukaran  data terutama gambar dengan ukuran besar membutuhkan ruang penyimpanan yang besar. Salah satu solusi untuk mengatasi masalah tersebut adalah melakukan pemampatan (kompresi) pada gambar. Kompresi adalah proses pemampatan suatu data dari ukuran besar ke ukuran kecil sehingga hanya memerlukan ruangan penyimpanan yang  lebih  kecil.  Aplikasi  Peduli  Sekitar  Lembaga  Sosial  merupakan  aplikasi  berbasis  Android  yang  dibuat untuk  kepentingan  sosial  guna  menjembatani  antara  suatu  lembaga  sosial  yang  dapat  berupa  yayasan  yatim piatu atau yayasan panti jompo dengan para donatur. Aplikasi tersebut membantu yayasan untuk mengunggah kebutuhan-kebutuhan melalui aplikasi Peduli Sekitar Dermawan. Pada aplikasi mobile Peduli Sekitar Lembaga Sosial terdapat  pertukaran  data  terutama  data  gambar  yang  membutuhkan  memori yang  besar.  Data  yang diterima akan di simpan kedalam server yang berukuran 40GB, memori yang telah terpakai untuk menyimpan gambar sebesar 81MB dengan rata-rata ukuran gambar dari 7.8KB sampai 4.3MB. Untuk menghemat kapasitas memori penyimpanan maka diterapkan kompresi citra dengan algoritma K-Means Clustering. Kompresi dengan algoritma K-Means dapat diterapkan pada citra ekstensi “.png” dengan nilai rasio kompresi sebesar 96% dan citra ekstensi “.jpg” dengan rasio kompresi sebesar 98%.
Kata kunci : Kompresi, K-Means, Clustering, Citra, Android

## 1. PENDAHULUAN
Pada  era  teknologi  yang  semakin  berkembang, proses  pertukaran  informasi  menjadi  semakin mudah. Pertukaran inforasi dapat berupa audio dan visual.  Namun  pada  proses  pertukaran  informasi masih  terdapat  kendala  yaitu  kapasitas  memori untuk  penyimpanan  informasi  atau  data  tersebut. Semakin  banyak  data  yang  yang  dikirim  dengan ukuran  yang besar akan  memerlukan  memori  yang besar untuk penyimpanan.
Citra  merupakan  salah  satu  informasi  yang berperan  penting  dalam  penyajian  data  visual. Perkermbangan smartphone mempengaruhi  citra yang dihasilkan, semakin bagus kamera smartphone maka  citra  ang  dihasilkan  semakin  tinggi  resolusi kualitas  dan  ukuran  citra,  sehingga  membutuhkan memori  penyimpanan  yang  besar. Solusi  untuk menyelesaikan  masalah  tersebut  maka  melakukan pemampatan (kompresi).
Kendala  tersebut  juga  terjadi  pada  aplikasi Peduli  Sekitar  Lembaga  Sosial.  Aplikasi  ini membantu  lembaga  sosial  untuk  mengunggah kebutuhan  yang  diperlukan  oleh  lembaga  sosial tersebut serta mengunggah gambar berupa kegiatan ataupun  keadaan  lingkungan  dari  lembaga  sosial. Gambar  yang  diunggah  akan  dikirim  ke server peduli  sekitar.  Kapasitas server adalah  40GB, memori  yang  terpakai  untuk  meyimpan  gambar sebesar  81MB  dengan  gambar  berjumlah  153 gambar  dengan  rata-rata  gambar  antara  7.8KB sampai 4.3MB.
Untuk  lebih  efisien  memori  yang  digunakan, dapt diterapkan kompresi gambar dengan algoritma K-Means Clustering .
Dalam  penelitian  ini  metode  penelitian  yang digunakan meliputikepustakaan, pengembangan

## 2 . METODE PENELITIAN
2.1. Definisi Clustering Clustering adalah  salah  satu  alat  bantu  pada data mining yang bertujuan mengelompokan objek- objek  kedalam cluster . Cluster adalah  sekumpulan objek-objek data yang similar satu sama lain dalam cluster yang  sama  dan  dissimilar  terhadap  objek- objek  yang  berbeda cluster . Objek  akan dikelompokan  kedalam  satu  atau  lebih cluster sehingga  objek  dalam  satu cluster memiliki kesamaan  yang  tinggi.  Kesamaan  objek  biasanya diperoleh  dari  nilai-nilai  atribut  yang  menjelaskan objek [1].

## 2.2. K-Means
Algoritma  K-Means  merupakan  salah  satu algoritma  dengan  partitional,  karena  K-Means didasarkan  pada  penentuan  jumlah  awal  kelompok dengan mengidentifikasi nilai centroid awalnya [3]. Algoritma  K-Means  akan  menghasilkan  titik centroid yang  dijadikan  tujuan  dari  algoritma  K- Means. Setel iterasi K-Means berhenti, setiap objek dalam  dataset  menjadi  anggota  dari  suatu cluster . Nilai cluster ditentukan  dengan  mencari  seluruh objek  untuk  menemukan cluster dengan  jarak terdekat. Algoritma K-Means akan mengelompokan item  data  dalam  suatu  dataset  kesuatu cluster berdasarkan jarak terdekat [5].

## 2.3. Algoritma K-Means
Algoritma  K-Means  adalah  suatu  algoritma pengelompokan  objek  berdasarkan  pada  atribut kedalam  pembagi k .  Ini  merupakan  suatu  varian algoritma  maksimalisasi  yang  bertujuan  untuk menentukan k .  Diasumsikan  bahwa  format  atribut objek  itu  adalah  suatu  garis  vector  ruang. Tujuannya  adalah  untuk  memperkecil  total perbedaan intracluster atau fungsi [2].
=   ∑ =   ∑ − | ∈ (1)
Dengan ada k cluster i S , i = 1, 2, 3, …, k dan adalah  pusat  luasan  atau  titik  dari  semua poin-poin. Proses klastering dimulai
dengan mengidentifikasi  data  yang  akan  di- cluster , Xij (i=1, …,n; j=1,…, m) dengan n adalah jumlah data yang akan di- cluster dan m adalah jumlah variabel.
Pada  awal  iterasi,  pusat  setiap cluster ditetapkan secara bebas (sembarang), Ckj (k=1, …, k; j=1, …,
m).  Kemudian  dihitung  jarak  data  ke-I  (xi)  pada pusat cluster ke- k (ck),  dapat  digunakan  formula jarak Euclidean .  Suatu  data  akan  menjadi  anggota dari klaster ke- k apabila jarak data tersebut kepusat cluster ke- k bernilai paling kecil jika dibandingkan dengan jarak ke pusat cluster lainnya. Selanjutnya, kelompokan  data-data  yang  menjadi  anggota  pada setiap klaster [4].
Nilai  pusat cluster yang  baru  dapat  dihitung dengan  cara  mencari  nilai  rata-rata  dari  data-data yang  menjadi  anggota  pada cluster tersebut, dengan menggunakan persamaan berikut [4].
= ∑ (2)
Dimana xij cluster ke- k P = banyaknya anggota klaster k
Langkah-langkah algoritma –Means [6]: 1)Tentukan k sebagai  jumlah cluster yang dibentuk Untuk menentukan banyaknya klaster k  dilakukan  dengan  beberapa  pertimbangan seperti  pertimbangan  teoritis  dan konseptual yang  mungkin  diusulkan  untuk  menentukan beberapa banyak cluster . 2)Tentukan k  centroid (titik  pusat cluster )  awal secar  random  Penentuan centroid awal dilakukan  secara  random/acak  dari  obyek- obyek  yang  tersedia  sebanyak k klaster, kemudian  menghitung centroid  cluster ke-i berikutnya, digunakan rumus sebagai berikut:
= ∑ ; = 1,2,3, … , (3) Dimana : v = centroid pada cluster x i = obyek ke-i
n = banyaknya jumlah obyek yang menjadi anggota cluster
3)Hitung  jarak  setiap  obyek  ke  masing-masing centroid dari  masing-masing  klaster.  Untuk menghitung jarak antara obyek dengan centroid dapat menggunakan Euclidean Distance :
( , ) = ‖ − ‖ = ∑ ( −  ) ; = 1, 2, 3, … , (4)
Dimana : x i = obyek ke-i y i = daya ke-i n = banyaknya obyek 4)Alokasikan  masing-masing  obyek  kedalam centroid yang  paling  dekat.  Untuk  melakukan pengalokasian  obyek  kedalam  masing-masing cluster pada  saat  iterasi  secara  umum  dapat dilakukan  dengan  cara  hard  k-means  dimana secara  tegas  setiap  obyek  dinyatakan  sebagai anggota  klaster  dengan  mengukur  jarak kedekatan sifatnya  terhadap  titik  pusat  klaster tersebut.
5)Langkah  iterasi,  kemudian  tentukan  posisi centroid baru menggunakan persamaan nomor 2.
6)Ulangi langkah 3 jika posisi centroid baru tidak sama.

## 2.4. Metodelogi Penelitian
Dalam  penelitian  ini,  beberapa  metode digunakan  untuk  memperoleh  informasi  yang diperlukan  dan  menyelesaikan  masalah  yang ditemui.  Adapun  metode  – metode  ini  sebagai berikut :
a. Metode Kepustakaan
Metode ini dilakukan untuk mengumpulkan data  cara  mempelajari  bahan-bahan,  konsep dan teori yang diperlukan dari beberapa sumber tertulis seperti buku-buku referensi  yang  dapat menunjang penyusunan laporan tugas akhir ini. Serta mencari informasi dengan cara memanfaatkan  situs search  engine ,  serta melihat  pembahasan  yang  sudah  ada  yang berkaitan di internet . b. Metode Pengembangan
Pada  pembuatan  aplikasi  Peduli  Sekitar Lembaga
Sosial
digunakan teknik pengembangan  dengan  metode  waterfall  yang digambarkan diagram alur berikut :
Gambar 1. Diagram Alur Metode Waterfall

## 2.5. Analisis dan Penyelesaian Masalah
Aplikasi  Peduli  Sekitar  Lembaga  Sosial bertujuan  mempermudah  lembaga  sosial  dalam menginformasikan kebutuhan-kebutuhan yang diperlukan sehingga membantu pihak donator untuk menyalurkan  bantuan.  Dalam  aplikasi  tersebut terdapat  fitur  unggah  foto  tentang  kebutuhan- kebutuhan  yang  diperlukan  dan  kegiatan-kegiatan dari lembaga sosial. Foto yang diiunggah kemudian akan dikirim dan disimpan ke server Peduli Sekitar. Besarnya  foto  mempengaruhi besar  memori  yang digunakan  untuk  menyimpan  foto  tersebut. Semakin banyak foto  yang  diunggah  oleh lembaga sosial  maka  semakin  besar  pula  memori  yang dibutuhkan unntuk mnyimpan foto tersebut.
Dari permasalahan yang ada, maka diperlukan proses  kompresi  foto  pada  aplikasi  Peduli  Sekitar Lembaga  Sosial.  Tujuan  dari  proses  kompresi tersebut  adalah  untuk  memperkecil  kebutuhan memori  yang  akan  digunakan  untuk  menyimpan foto.  Dalam  proses  mengunggah  foto,  ssebelum dikirim  ke server maka  akan  dilakukan  proses kompresi. Kompresi mampu mengubah ukuran foto yang  diunggah  dari  ukuran  besar  menjadi  ukuran yang lebih kecil sehingga proses penyimpanan foto tidak memakan memori yang besar.

## 2.6. Flowchart dan Algoritma Program
Berikut  ini  merupakan  rancangan flowchart dan  algoritma  pemrograman  pada  form  Posting Foto  Yayasan,  Ubah  Foto  Yayasan dan  Foto Yayasan,  serta  algoritma  proses  kompresi,  berikut flowchart dan algoritmanya :
Gambar 2. Flowchart  Form Posting Foto Yayasan
Flowchart pada  Gambar  2 menjelaskan  alur proses  mengunggah  foto.  Foto  yang  diunggah dapat  diambil dari  galeri handphone atau camera yang  diambil  langsung  dari  kamera handphone , proses Algoritma  proses  form  Posting  Foto Yayasan dari flowchart di atas :
1.   Tampil Form Posting Foto
2.   Input Pilih Imageview
3.   Input Pilih
4. IF Pilih = Galeri Then 5.         Tampil Galeri
6.         Pilih Foto
7.         Tampil Foto
8. ELSE IF Pilih = Kamera Then 9.         Tampil Kamera 10. Take Foto 11.       Tampil Foto 12.       Input Pilih 12. IF pilih = Posting Then 13.             Kompresi Foto 14.             Tampil Alert 15.             Tampil Halaman Foto Yayasan 16. ELSE IF Kembali Then 17. Tampil Halaman Home 18. End IF
18. ELSE 19.       Tampil Form Posting Foto 20. End IF
Gambar 3. Flowchart  Form Foto Yayasan
Flowchart pada  Gambar  3 menjelaskan  alur foto yang sudah diunggah oleh lembaga sosial akan ditampilkan  pada  form  tersebut,  foto  yang  sudah diunggah  juga  dapat  di  ubah  atau  dihapus. Algoritma proses form Foto Yayasan dari flowchart di atas :
1.   Tampil Halaman Foto Yayasan
2.   Pilih Foto
3.   Tampil Foto
4.   Input Pilih
5. IF Pilih = Hapus Then
6.         Tampil Alert
7.         Tampil Halaman Foto Yayasan
8. ELSE IF Pilih = Ubah Then
9.         Tampil Alert Foto 10. ELSE 11.       Tampil Halaman Foto Yayasan 12. End IF
Gambar 4.  Flowchart  Form Ubah Foto Yayasan
Flowchart pada  Gambar  4 menjelaskan  alur foto yang sudah diunggah oleh lembaga sosial dapat di ubah atau  dihapus. Algoritma proses  form Ubah Foto Yayasan dari flowchart di atas :
1.   Tampil Alert Foto
2.   Input Pilih
4. IF Pilih = Galeri Then
5.         Tampil Galeri
6.         Pilih Foto
7.         Tampil Foto
8. ELSE IF Pilih = Kamera Then
9.         Tampil Kamera
10. Take Foto 11.       Tampil Foto 12.       Input Pilih 13. IF Pilih = Posting Then 14.             Kompresi Foto 15.             Tampil Alert 16.            Tampil Halaman Foto Yayasan 17. ELSE IF Pilih = Kembali Then 18.             Tampil Halaman Foto Yayasan
19. ELSE
20.            Tampil Halaman Foto Yayasan 21. End IF 22. ELSE 23.       Tampil Form Posting Foto 24. End IF
Gambar 5.  Flowchart  Kompresi
Flowchart pada  Gambar  5 menjelaskan  alur proses kompresi  gambar. Algoritma  proses  dari flowchart di atas :
1. Start
2.   Input Foto 3. Clustering foto 4.   Foto hasil Clustering 5. End
3. HASIL DAN PEMBAHASAN
3.1. Tampilan Layar
3.1.1 Tampilan Layar Posting Foto Yayasan

## Gambar 6.  Tampilan Layar Posting Foto Yayasan
Tampilan layar posting foto yayasan berfungsi untuk  mengunggah  foto  kebutuhan  ataupun kegiatan  kegiatan  yang  dilakukan  oleh  suatu yayasan.  Foto  dapat  diambil  dari  galeri  maupun kamera handphone yang digunakan.

## 3.1.2. Tampilan Layar Foto Yayasan
Gambar 7.  Tampilan Foto Yayasan
Tampilan  layar  foto  yayasan  berfungsi  untuk menampilkan  semua  foto  yang  sudah  diunggah oleh  yayasan.  Saat  salah  satu  foto  diklik  maka akan berpindah kehalaman ubah foto yayasan.

## 3.1.3. Tampilan Layar Ubah Foto Yayasan

## Gambar 8.  Tampilan Layar Ubah Foto Yayasan
Gambar 8 merupakan tampilan layar form  ubah foto yayasan. Dimana foto yang sudah dipilih dapat dihapus  maupun  dapat  diubah.  Untuk  proses  ubah akan sama dengan proses  posting foto, karena foto dapat  dipilih  dari  kamera  atau  galeri handphone yang digunakan serta dilakukan proses kompresi.

## 3.2. Pengujian Program
Tabel 1. Kompresi K-Means pada citra “.jpg”
k Citra Asli Citra Kompresi Waktu (detik) Rasio Kompr esi (%)
107 KB 78,8 KB 17 26,35 595 KB 341 KB 67 76,04 1,39 MB 140 KB 29 76,47 2 1,54 MB 370 KB 68 76,53
2,18 MB
239 KB
62 89,29 3,7 MB 368KB 44 90,28 107 KB 89,1 KB 23 16,72 595 KB 169 KB 70 71,60 1,39 MB 341 KB 146 76,04 3 1,54 MB 370 KB 125 76,53 2,18 MB 389 KB 83 82,57 3,7 MB 450 KB 115 88,12 107 KB 94,2 KB 13 11,96 595 KB 176 KB 78 70,42 4 1,39 MB 461 KB 238 67,61 1,54 MB 408 KB 183 74,12 2,18 MB 409 KB 290 81,67
3,7 MB 485 KB
84 87,20 107 KB 94,6 KB 17 11,58 595 KB 175 KB 78 70,58 5 1,39 MB 461 KB 490 67,61 1,54 MB 430 KB 205 72,73 2,18 MB 431 KB 231 81,49 3,7 MB 491 KB 107 87,04 107 KB 97,8 KB 68 8,95 595 KB 191 KB 247 67,89 7 1,39 MB 483 KB 278 66,06 1,54 MB 442 KB 439 71,97 2,18 MB 411 KB 542 81,58 3,7 MB 489 KB 244 87,09
107 KB 95,6 KB 690 10,65 9 595 KB
328 KB
281 44,87 1,39 MB 132 KB 86 90,72
1,54 MB 22 KB 28 98,60
2,18 MB 505 KB 620 77,37
3,7 MB 200 KB
690 10,65 Tabel 2. Kompresi K-Means pada citra “.jpg” k Citra Asli Citra Kompresi Waktu( detik) Rasio Kompr esi (%) 262 KB 22 KB
6 95,36 486 KB 62,2KB 4 87,20 1,49 MB 59,5 KB 13 96,10 2 1,90 MB 90,1 KB 12 95,36 4,25 MB 265 KB 37 93,91 3,02 MB 179 KB 30 94,21
262 KB 22,4 KB
13 91,45 486 KB 62,2 KB 9 87,20 1,49 MB 130 KB 40 91,47 3 1,90 MB 112 KB 18 94,24 4,25 MB 285 KB 60 93,45 3,02 MB 213 KB 100 93,11 262 KB 22  KB 16 91,60 486 KB 63 KB 13 87,03 4 1,49 MB 126 KB 53 91,74 1,90 MB 119 KB 48 93,88 4,25 MB 294 KB 441 93,24 3,02 MB 219 KB 54 92,91 262 KB 22  KB 22 91,60
486 KB 62,4 KB 13 87,16 5 1,49 MB
129  KB
78 91,54 1,90 MB 128  KB 112 93,42
4,25 MB 300 KB 514 93,10
3,02 MB 218 KB 73 92,95
262 KB 22  KB 24 91,60 486 KB 62,7 KB 50 87,09 7 1,49 MB
139 KB
123 90,88 1,90 MB 133  KB 52 93,16
4,25 MB 300  KB 364 93,55 3,02 MB 225 KB 136 92,72 262 KB 62,2  KB 40 76,10 9 486 KB
44 KB
389 8,64
1,49 MB 95,6 KB 84 93,73
1,90 MB 138  KB 174 2,90 4,25 MB 226 KB 127 94,80 3,02 MB 411  KB 602 86,70
Citra kompresi k = 2,3,4,5,7,9 dapat diketahui : a.    Hasil Kompresi Citra ekstensi “.png” dan “.jpg” dapat dikompresi dengan algoritma K-Means.
b.    Rasio Kompresi
Rasio terbesar citra “.jpg” 98,60% dengan nilai k =9  dan  citra  “.png”  rasio  terbesar  96,10% dengan nilai k =2.
c. Waktu Kompresi
Kompresi “.png” paling cepat 4 detik pada k =2 dan “.jpg” adalah 13 detik pada k =4.
3.3. Kelebihan Program
a. Kemudahan dalam penerapan K-Means pada Android.
b. Hasil  kompresi  memiliki  nilai  rasio  yang tinggi tergantung ukuran asli gambar.

## 3.4. Kekurangan Program
a. Kompresi citra dengan K-Means membutuhkan waktu lama pada Android. b. Penetapan  nilai k menyebabkan  hasil kompresi ada yang tidak bagus.

## 4. KESIMPULAN
a. K-Means  citra  kompresi  berjalan  baik  di Android Studio.
b. Algoritma  K-Means  bekerja  baik  untuk kompresi citra “.jpg” dan “.png”.
c. Waktu  kompresi  citra  “.png”  lebih  cepat dibandingkan dengan citra “.jpg”.
d. Nilai rasio citra “.jpg” tertinggi 96% dan rasio citra “.png” tertinggi 98%.

## 5. DAFTAR PUSTAKA
[1] Baskoro, H. (2010). Implementasi Algoritma K- Means  menggunakan  Data  Penyewaan Alat Berat untuk Melakukan Estimasi Nilai Outcome.
[2]  C.Gonzalez,  R.,  dan  E.Woods,  R.  (2008). Digital Image Processing. Pearson
Education: United States of America.
[3] Madhulatha,  T.  (2012).  An  Overview  On Clustering  Methods.  IOSR  Journal  of Engineering Apr. 2012, Vol. 2(4) pp: 719- 725
[4] Narwati.  (2010).  Pengelompokan  Mahasiswa Menggunakan Algoritma K-Means.
[5] Booming.  Bongaria,  M.,  (2014).  Enhanced  K- Means  Clustering  Algorithm  to  Reduce Time  Complexity  for  Numeric  Values. International Journal of Computer Science and  Information  Technologies,  Vol.  5
(1).pp:  876-879.
[6]    Ediyanto,  Mara,  M.  N.,  dan  Satyahadewi,  N. (2013).  Pengklasifikasian  Karakteristik Dengan Metode K-Means Cluster Analysis.  Volume  02  ,  No.  2  (2013),  hal 133 - 136.