SKRIPSI
PENENTUAN LUAS WILAYAH PADA CITRA SATELIT
BERBASIS PENGOLAHAN CITRA DIGITAL
Disusun sebagai salah satu syarat memperoleh gelar Sarjana Teknik program S-1
pada Jurusan Teknik Elektro, Fakultas Teknik,
Universitas Muhammadiyah Yogyakarta
Disusun Oleh :
Ridwan Farid
20090120031
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
i SKRIPSI
PENENTUAN LUAS WILAYAH PADA CITRA SATELIT
BERBASIS PENGOLAHAN CITRA DIGITAL
Disusun oleh
:
Ridwan Farid
NIM : 20090120031
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
v
H A LA M A N PERSEM BA H A N
Karya ini kupersem bahkan kepada :
A LLA H SW T. yang t elah melimpahkan begitu banyak nikmat dan
karunianya untukku, sehingga hamba- M u ini dapat menyelesaikan Tugas A khir besert a Laporannya dengan baik.
Kedua orang t uaku yang selama ini sudah m erawat ku sam pai sekarang,
t erima kasih at as segala perhat ian dan kasih sayang sert a dukungannya selam a ini Dan t elah membiayaiku sampai selesai kuliah.
A dik- adikku, saudari dan saudaraku, t erim a kasih buat doa dan
dukungannya, Sem oga sukses di masa depan.
Teman- t em an seperjuangan angkat an 20 0 9, Terim a kasih at as segala
sem angat yang diberikan.
M as Rama sebagai t eman sharing yang t elah m em berikan banyak
bant uan dan solusi pada pembuat an laporan ini, t erima kasih banyak.
Bapak Dr. Ramadoni Syahput ra.S.T.,M .T. dan Bapak Rahmat A dipraset ya
A . H., S.T., M .Eng selaku dosen pembimbing Terima kasih A tas Segala Ilmu yang sangat bermanfaat , t erima kasih unt uk bimbingan dan kesabarannya.
Dosen- dosen Teknik Elekt ro UM Y t erima kasih at as dukungannya.
vi
MOTTO
vii
KATA PENGANTAR
Assalamu’alaikum W r. W b.
Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT, yang telah
memberikan kenikmatan, kebahagian, kecerdasan, dan segala macam keajaiban
dalam kehidupan ini, sehingga atas kehendak-Nya pula penulis dapat
menyelesaikan Skripsi dengan judul “
PENENTUAN LUAS WILAYAH
PADA CITRA SATELIT BERBASIS PENGOLAHAN CITRA
DIGITAL
”. Semoga karya ini dapat bermanfaat dan menjadi kontribusi bagi khasanah ilmu pengetahuan, khususnya bagi rekan-rekan mahasiswa.Penulis menyadari terselesaikannya laporan ini tidak terlepas dari
dukungan, bantuan, dan bimbingan, serta saran-saran yang berharga dari semua
pihak, oleh karena itu dengan tulus hati penulis ingin mengucapkan terimakasih
kepada :
1. Kedua Orang Tua ku dan adik-adik ku yang selalu memberikan motivasi,
dukungan dan semangat kepada penulis.
2. Bapak Ramadoni Syahputra, S.T., M.T. dan Bapak Rahmat Adprasetya
viii
membimbing dan mengarahkan penulis selama melaksanakan penelitian
tugas akhir hingga dapat menyelesaikan penulisan laporan ini.
3. Bapak Rama Okta Wiyagi, S. T., M.Eng. sebagai Dosen Penguji
4. Bapak Ir. Agus Jamal, M.Eng Selaku Ketua Jurusan Teknik Elektro
Universitas Muhammadyah Yogyakarta
5. Segenap Dosen pengajar di Jurusan Teknik Elektro Universitas
Muhammadiyah Yogyakarta
6. Segenap pimpinan, dosen dan karyawan Fakultas Teknik, Universitas
Muhammadiyah Yogyakarta, khususnya kepada Bapak-Bapak Dosen yang
telah menularkan ilmunya kepada penulis selama masa kuliah.
7. Staf Laboratorium Teknik Elektro yang telah memberikan kemudahan
peminjaman instrumen pengukuran selama penelitian tugas akhir ini.
8. Staf Tata Usaha Jurusan Teknik Elektro Universitas Muhammadiyah
Yogyakarta
9. Keluarga Besarku, Nenek ,Om dan Tante yang telah memberikan
semangat, saran dan dukungan baik moril dan materil kepada penulis.
10.Mas Rama Okta Wiyagi S.T., M.Eng. yang telah memberikan banyak
bantuan kepada penulis.
11.Teman-teman seperjuangan TE 09’UMY, Ipul, Septian Aa, Bayu,
Suhendi, Purwadi, Jeje, Fajar, Sena, Rum, Budi, Yuman, Ayu, Adiardi,
Rico...Keep Spirit!!!
ix
13.Semua pihak yang telah membantu penulis yang tidak bisa disebutkan satu
persatu, Terima Kasih.
Penulis menyadari bahwa dalam penulisan skripsi ini masih jauh dari
sempurna, hal ini mengingat kemampuan dan pengalaman dalam penelitian
penyusunan skripsi ini yang sangat terbatas. Untuk itu penulis sangat
mengharapkan kritik dan saran yang sifatnya membangun untuk perbaikan dan
pengembangan penelitian selanjutnya. Tidak ada yang dapat penulis berikan
selain ucapan terimakasih atas seluruh bantuan yang telah diberikan.
Akhir kata semoga skripsi ini dapat bermanfaat dan memberi tambahan
ilmu bagi para pembaca. Semoga Allah SWT meridhoi kita semua, amin.
W assalammu’alaikum W r.W b.
Yogyakarta, 2 September 2016
Penulis
x DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PENGESAHAN I ... ii
HALAMAN PENGESAHAN II ... iii
HALAMAN PERNYATAAN ... iv
HALAMAN PERSEMBAHAN ... v
HALAMAN MOTTO ... vii
KATA PENGANTAR ... vii
DAFTAR ISI ... xi
DAFTAR TABEL ... xv
DAFTAR GAMBAR ... xvi
BAB I PENDAHULUAN 1.1Latar Belakang ... 1
1.2Rumusan Masalah ... 1
1.3Batasan Masalah ... 1
1.4Luaran Penelitian ... 2
1.5Tujuan... 2
xi
1.7Pelaksanaan Pekerjaan ... 3
1.8Sistematika Penulisan Laporan ... 3
BAB II TINJAUAN PUSTAKA 2.1Karya Berkaitan ... 5
2.2Dasar-Dasar Teoritis ... 5
2.2.1 Aral Sea (Laut Aral) ... 5
2.2.2 Citra Digital ... 6
2.2.2.1 Colorspace (Ruang warna) ... 7
a) RGB ... 8
b) HSV ... 8
c) CIELAB ... 10
2.2.3 Pengolahan citra digital ... 11
1. Perbaikan kualitas citra ... 11
2. Pemugaran citra ... 12
3. Pemampatan citra ... 12
4. Segmentasi citra ... 12
5. Pengorakan citra ... 12
2.2.4 Threshold ... 13
2.2.5 Gambar JPEG ... 14
2.2.6 Pixel (Picture Element) ... 14
2.2.7 MATLAB ... 15
xii BAB III METODE PENELITIAN
3.1Diagram Alir Penelitian ... 21
3.1.1 Penjelasan blok diagram ... 22
3.2Rancangan ... 24
3.2.1 Struktur Program ... 25
A. Menu ... 26
B. Kalibrasi ... 29
3.2.2 Algoritma image processing ... 31
BAB IV HASIL PENELITIAN DAN ANALISIS 4.1Spesifikasi Hasil Penelitian ... 39
4.2Analisis ... 42
Blok Menu ... 42
Blok Fungsi Kalibrasi ... 44
Blok fungsi Tampilsemua() ... 46
1. Analisa Citra 1 ... 46
2. Analisa Citra 2 ... 47
3. Analisa Citra 3 ... 48
4. Analisa Citra 4 ... 48
5. Analisa Citra 5 ... 49
6. Analisa Citra 6 ... 50
7. Analisa Citra 7 ... 51
8. Analisa Citra 8 ... 52
xiii
10.Analisa Citra 10 ... 54
11.Analisa Citra 11 ... 54
4.3Pelajaran yang diperoleh ... 59
BAB V KESIMPULAN DAN SARAN 5.1Kesimpulan ... 61
5.2Saran ... 61
DAFTAR PUSTAKA ... 62
LAMPIRAN DAFTAR TABEL Tabel 4.1 Hasil Pengukuran Menggunakan Image Processing ... 56
DAFTAR GRAFIK Grafik 4.1 Grafik perubahan luas luas Laut Aral 2000-2010 ... 59
DAFTAR GAMBAR Gambar 2.1 Citra digital ... 6
Gambar 2.2 Model ruangwarna RGB ... 8
Gambar 2.3 Model Ruangwarna HSV ... 9
xiv
Gambar 2.4 Antarmuka MATLAB ... 17
Gambar 2.5 Image Thresholder App ... 19
Gambar 3.1 Flowchart Penelitian ... 21
Gambar 3.2 Blok diagram perancangan program penentuan wilayah ... 24
Gambar 3.3 Flowchart menu ... 27
Gambar 3.4 Flowchart kalibrasi spasial citra ... 29
Gambar 3.5 Flowchart image thresholder app ... 32
Gambar 3.6 Flowchart Image Processing RGB2CIELAB ... 33
Gambar 3.7 Flowchart Image Processing RGB2HSV ... 34
Gambar 3.8 Channel L*a*b Citra Laut Aral ... 36
Gambar 3.9 Histogram channel L ... 36
Gambar 3.10 Histogram channel a ... 36
Gambar 3.11 Histogram channel b ... 37
Gambar 3.12 Channel L*a*b Citra Laut Aral ... 37
Gambar 3.13 Histogram channel H (Hue) ... 37
Gambar 3.14 Histogram channel S (Saturation) ... 38
Gambar 3.15 Histogram channel V (Value) ... 38
Gambar 4.1 Hasil Akhir Program (Kalibrasi) ... 39
Gambar 4.2 Tampilan Hasil Kalibrasi ... 40
Gambar 4.3 Menampilkan semua Citra ... 40
Gambar 4.4 Menampilkan hasil Threshold Citra ... 41
xv
Gambar 4.6 Menampilkan salah satu Citra, hasil threshold dan hasil pengukuran
dalam satu Figure ... 36
ABSTRAK
Laut aral bert em pat di perbat asan Kazakhst an dan Uzbekist an m erupakan laut endot erm ik yang m emiliki luas t erbesar kedua di dunia. Nam un sejak t ahun beberapa t ahun belakangan laut aral m engalami penyusut an yang signifikan, t erut am a dari t ahun 2000-2010. Skripsi kami m elakukan pengukuran luas perm ukaan laut aral pada t ahun-t ahun t ersebut m enggunakan cit ra yang didapat dari pengindraan jauh M ODIS (
Moderate Resolution
Imaging Spectroradiometer
)
yang disediakan secara grat is kem udian m em bandingkannya. Analisis kam i m elakukan pendekat an dengan m engekst rak region of int erest pada cit ra laut aral diikut i dengan pengukuran spasial. Proses perhit ungan seluruhnya dilakukan m enggunakan M ATLAB.1 BAB I
PENDAHULUAN
1.1. Latar Belakang
Pemetaan wilayah merupakan sumber data yang mempunyai nilai strategis
karena hasilnya dapat dijadikan salah satu dasar perumusan perencanaan dan
evaluasi berbagai bidang, misalnya pada pelestarian lingkungan dan pembangunan.
Pemetaan wilayah dapat dilakukan dengan dua cara, yaitu secara langsung ataupun
tidak langsung. Pengukuran secara langsung dapat dilakukan dengan pengukuran
langsung dilapangan menggunakan meteran ataupun peralatan fisik lainnya.
Sedangkan pengukuran secara tidak langsung dengan cara membuat foto secara
digital dari udara/satelit kemudian hasil citra foto diukur menggunakan perangkat
lunak dengan perbandingan jarak yang telah ditetapkan sebelumnya. Salah satu cara
pengukuran secara tidak langsung adalah dengan menggunakan pemrograman
Matlab. Matlab merupakan perangkat lunak komputasi analitis yang sangat ampuh
dalam melakukan perhitungan rumit dalam pengukuran pemetaan wilayah.
1.2. Perumusan Masalah
Rumusan masalah pada tugas akhir ini adalah: Bagaimana cara mengukur
luas wilayah laut Aral dari citra satelit menggunakan pengolahan citra digital.
1.3. Batasan Masalah
Dari perumusan masalah di atas terdapat beberapa batasan masalah, antara
2 1. Program bantu yang digunakan dalam membuat tugas akhir ini
adalah MATLAB R2014b
2. Tidak membandingkan antara satu metode dengan metode lainnya
3. Menggunakan foto Citra satelit
4. Hanya menghitung luas wilayah, dalam hal ini Laut Aral, dalam
satuan kilometer persegi
5. Menggunakan skala yang sudah tertera pada gambar Citra
1.4. Luaran Penelitian
Luaran penelitian tugas akhir ini berupa program yang dibuat menggunakan
perangkat lunak MATLAB yang melakukan perhitungan jarak dan luas pada
beberapa citra satelit yang diukur dalam bentuk piksel dan satuan kilometer. Data
penelitian kemudian dibandingkan dan dibuat dalam bentuk grafik untuk digunakan
untuk penelitian selanjutnya.
1.5. Tujuan Penelitian
Tujuan dari penelitian tugas akhir ini adalah:
1. Membuat program untuk membandingkan citra satelit dari tempat
tertentu dalam jangka waktu tertentu
2. Mengaplikasikan algoritma seleksi warna untuk membuat program
3 1.6. Manfaat penelitian
Hasil dari penelitian ini bermanfaat bagi instansi pemerintah dan
masyarakat untuk menghitung berbagai macam hal, seperti pertumbuhan industri,
perusakan hutan, dan penyusutan badan sungai.
1.7. Pelaksanaan kegiatan
Perancangan konsep penelitian
Pengumpulan informasi melalui konsultasi dengan dosen
pembimbing, dan buku – buku terkait serta informasi dari internet
Analisa informasi terkait dengan kebutuhan rencana penelitan
Pengumpulan informasi pemetaan citra yang diperlukan untuk
penelitian
Pengolahan citra pada Matlab
Laporan
1.8. Sistematika Penulisan
Penulisan laporan tugas akhir ini dibagi menjadi lima bab, secara garis besar
4 a. BAB I PENDAHULUAN
Memuat penjelasan mengenai latar belakang, perumusan
masalah, batasan masalah, hasil akhir, manfaat yang diperoleh,
metodologi dan sistematika laporan tugas akhir.
b. BAB II DASAR TEORI
Berisi dasar-dasar teoritis, dan spesifikasi garis besar dari
komponen-komponen alat yang hendak direncanakan dan dibuat
pada tugas akhir.
c. BAB III PERANCANGAN DAN PEMBUATAN
Berisi penjelasan mengenai pelaksanaan perancangan dan
pembuatan alat, baik perangkat keras maupun perangkat lunak
secara mendetail.
d. BAB IV PENGUJIAN DAN ANALISA
Membahas pengujian awal perangkat keras dan perangkat
lunak yang telah dibuat dan analisa data-data yang diperoleh pada
saat pengujian.
e. BAB V PENUTUP
Berisi kesimpulan dari hasil analisa dan saran-saran penulis
5 BAB II
TINJAUAN PUSTAKA
2.1. Penelitian yang berkaitan
Penentuan luas wilayah berbasis citra digital telah beberapa kali diteliti oleh
beberapa orang pada tahun-tahun yang lalu. Contohnya adalah Mengukur luas
tambak dari citra google satelit menggunakan deteksi tepi yang dibuat oleh Rizky
Sulistiawan (2013).
2.2. Dasar-Dasar Teoritis
2.2.1 Aral Sea ( Laut Aral)
Laut Aral adalah laut danau endotermik yang berada di antara Kazakhstan
(wilayah Aktobe dan Kyzylorda) di utara dan Uzbekistan (Wilayah atonomi
Karakalpakstan) di selatan. Laut aral diterjemahkan secara bebas berarti lautan
pulau, berdasarkan lebih dari 1100 kepulauan yang pernah muncul di perairan
tersebut. Dalam bahasa Turki aral berarti kepulauan. Daerah yang dialiri oleh
sungai yang berasal dari Laut Aral meliputi sebagian dari Tajikistan, Turkmenistan,
Kyrgyzstan, Kazakhstan, dan Afganistan.
Laut Aral pernah menjadi salah satu danau terbesar di dunia dengan luas
6 setelah sungai-sungai yang mengalir ke Laut Aral dialihkan oleh proyek irigasi
Soviet.
2.2.2 Citra Digital
Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana
x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada
koordinat tersebut, hal tersebut diilustrasikan pada Gambar 2.1.
Citra merupakan gambaran yang terekam oleh kamera atau oleh sensor.
Simonett and Joseph, 1983 mengutarakan pengertian tentang citra yaitu:
a. Gambaran obyek yang dibuahkan oleh pantulan atau pembiasan
sinar yang difokuskan oleh sebuah Iensa atau sebuah cermin.
b. Gambaran rekaman suatu obyek (biasanya berupa gambaran pada
foto) yang dibuat dengan cara optik, elektro-optik, optik mekanik Gambar 2.1 Citra Digital
7 atau elektronik. Pada umumnya garnbar digunakan bila radiasi
elektromagnetik yang dipancarkan atau dipantulkan dan suatu obyek
tidak langsung direkam pada film.
Sedangkan penginderaan jauh ialah ilmu dan seni untuk memperoleh
informasi tentang obyek, daerah, atau gejala dengan jalan menganalisis data yang
diperoleh dengan menggunakan alat tanpa kontak langsung terhadap obyek, daerah,
atau gejala yang dikaji (Lillesand and Kiefer, 2004).
Sistem satelit dalam penginderaan jauh tersusun atas pemindai (scanner)
dengan dilengkapi sensor pada wahana (platform) satelit, dan sensor tersebut
dilengkapi oleh detektor. Untuk lebih jelasnya dapat diuraikan sebagai berikut :
a) Penyiam merupakan sistem, perolehan data secara keseluruhan termasuk
sensor dan detektor.
b) Sensor merupakan alat untuk menangkap energi dan mengubahnya ke
dalam bentuk sinyal dan menyajikannya ke dalam bentuk yang sesuai
dengan informasi yang ingin disadap.
c) Detektor merupakan alat pada sistem sensor yang merekam radiasi
elektromagnetik.
2.2.2.1Colorspace (Ruang warna)
Komposisi warna yang digunakan dan menampilkan warna pada
8 a) RGB (Red Green Blue)
Sebagian besar spektrum yang terlihat oleh mata manusia, dapat
direpresentasikan dengan menggabungkan warna cahaya merah, hijau, dan
biru (RGB) dalam intensitas dan perbandingan yang beragam. Namun, tidak
semua warna yang terlihat manusia dapat direpresentasikan dengan
kombinasi ketiga nilai warna ini (Loy, 2002, pp1 - 28).
Perpotongan ketiga warna tersebut menghasilkan warna cyan,
magenta, kuning, dan putih. Karena warna RGB dapat dikombinasikan
untuk menghasìlkan warna putih, maka warna ini disebut juga additive
colors.
b) Ruang warna HSV (Hue, Saturation, Value)
HSV mendefinisikan warna dalam terminologi Hue, Saturation, dan
Value. Keuntungan HSV adalah terdapat warna-warna yang sama dengan
Gam bar 2.2 M odel Ruang w arna RGB
9 yang ditangkap oleh indra manusia. Sedangkan warna yang dibentuk model
lain seperti RGB merupakan hasil campuran dari warna-warna primer.
Gambar 2.3 Model Ruangwarna HSV
(Sumber: http://www.mathworks.com/help/images/convert-from-hsv-to-rgb-color-space.html)
Model HSV, pertama kali diperkenalkan oleh A.R Smith pada tahun
1978, yang ditunjukkan pada gambar diatas. Melalui model diatas, kita tahu
bahwa HSV memiliki tiga pokok, yaitu Hue, Saturation, dan Value.
Hue, menyatakan warna sebenarnya, seperti merah, violet, dan
kuning dan digunakan menentukan kemerahan (Redness), kehijauan
(greenness), dan sebagainya.
Saturation, kadang disebut chroma, adalah kemurnian atau kekuatan
warna.
Value, kecerahan dari warna. Nilainya berkisar antara 0-100%.
10 besar nilai maka akan semakin cerah dan muncul variasi-variasi
baru.
c) Ruang warna CIELAB (CIE 1976 color space).
Ruang warna LAB adalah ruang warna lawan (color-opponent
space) dengan dimesi L untuk kecerahan dan a dan b untuk dimensi warna
lawan, berdasarkan nonlinearly compressed coordinates (contohnya ruang
warna CIE XYZ). Istilah awalnya berasal dari tiga dimensi hunter 1948 color
space, yaitu L,a, dan b. Tetapi, Lab sekarang lebih sering digunakan sebagai
singkatan untuk L-a-b perwakilan dari CIE 1976 color space (atau
CIELAB).
Perbedaan antara hunter original dan CIE color coordinates adalah
CIE color coordinates berdasarkan akar kuadrat dari transformasi data
warna, sedangkat hunter coordinates berdasarkan akar kuadrat dari
transformasi.Komposisi warna pada CIELAB dapat dilihat pada gambar
berikut:
Gam bar 2.4 M odel Ruang w arna CIELab
11 Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori
komputer atau media lain. Proses mengubah citra ke bentuk digital bisa dilakukan
dengan beberapa perangkat,misalnya scanner, kamera digital dan handycam.
Ketika sebuah citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra
digital), bermacam-macam proses pengolahan citra dapat diperlakukan terhadap
citra tersebut.
2.2.3 Pengolahan Citra Digital
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak
ragamnya. Namun, secara umum, operasi pengolahan citra dapat diklasifikasikan
dalam beberapa jenis sebagai berikut:
1. Perbaikan kualitas citra (image enhancement).
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan
cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri
khusus yang terdapat di dalam citra lebih ditonjolkan.Contoh-contoh
operasi perbaikan citra:
a. perbaikan kontras gelap/terang
b. perbaikan tepian objek(edge enhancement)
c. penajaman (sharpening)
d. pembrian warna semu(pseudocoloring)
12 2. Pemugaran citra (image restoration)
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada
citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra.
Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra:
a. penghilangan kesamaran(deblurring).
b. penghilangan derau(noise)
3. Pemampatan citra (image compression)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam
bentuk yang lebih kompak sehingga memerlukan memori yang lebih
sedikit. Hal penting yang harus diperhatikan dalam pemampatan adalah
citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang
bagus. Contoh metode pemampatan citra adalah metode JPEG.
4. Segmentasi citra (image segmentation).
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam
beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan
erat dengan pengenalan pola.
13 Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra
untuk menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi
ciri- ciri tertentu yang membantu dalam identifikasi objek. Proses
segmentasi kadangkala diperlukan untuk melokalisasi objek yang
diinginkan dari sekelilingnya. Contoh-contoh operasi pengorakan citra:
a. Pendeteksian tepi objek (edge detection)
b. Ekstraksibatas (boundary)
c. Representasi daerah (region)
6. Rekonstruksi citra (image reconstruction)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari
beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan
dalam bidang medis. Misalnya beberapa foto rontgen dengan sinar X
digunakan untuk membentuk ulang gambar organ tubuh.
2.2.4 Threshold
Thresholding merupakan salah satu teknik segmentasi yang baik digunakan
untuk citra dengan perbedaan nilai intensitas yang signifikan antara latar belakang
dan objek utama (Katz, 2000). Dalam pelaksanaannya Thresholding membutuhkan
suatu nilai yang digunakan sebagai nilai pembatas antara objek utama dengan latar
belakang, dan nilai tersebut dinamakan dengan threshold.
Thresholding digunakan untuk mempartisi citra dengan mengatur nilai
14 dan yang lebih kecil dari nilai threshold T sebagai latar belakang. Biasanya
pengaturan nilai threshold dilakukan berdasarkan histogram grayscale (Gonzales
dan Woods, 2002; Fisher, dkk, 2003; Xiaoyi dan Mojon, 2003).
2.2.5 Gambar JPEG
JPEG (Joint Photographic Expert Group) biasanya menggunakan metode
loosy compression untuk gambar digital, terutama untuk fotografi digital. Tingkat
kompresi dapat diatur, memberikan pilihan antara ukuran dan kualitas gambar.
JPEG memiliki keunggulan kompresi 10:1 dengan pengurangan kualitas yang kecil.
Istilah “JPEG” adalah akronim untuk Joint Photographic Expert Group,
yang menciptakan standar tersebut. Berkas JPEG biasanya memiliki ekstensi .jpg
atau .jpeg. JPEG mendukung ukuran gambar maksimum 65535x65535 piksel, yang
berarti sampai 4 gigapixel (untuk aspek rasio 1:1).
2.2.6 Piksel (Picture Element)
Piksel adalah unsur gambar atau representasi sebuah titik terkecil dalam
sebuah gambar grafis yang dihitung per inchi. Piksel sendiri berasal dari akronim
bahasa Inggris Picture Element yang disingkat menjadi pixel(piksel).
Pada ujung tertinggi skala resolusi, mesin cetak gambar berwarna dapat
menghasilkan hasil cetak yang memiliki lebih dari 2500 titik per inchi dengan
15 seluas satu inchi persegi yang bisa ditampilkan pada tingkat resolusi tersebut
sepadan dengan 150 juta bit informasi.
2.2.7 MATLAB
Matlab adalah bahasa berkemampuan tinggi untuk perhitungan teknis.
MATLAB mengintegrasikan komputasi, visualisasi dan pemrograman dalam
lingkungan yang mudah digunakan dimana masalah dan solusi diekspresikan dalam
notasi matematika yang familiar. Penggunaan yang biasa dilakukan menggunakan
matlab adalah sebagai berikut:
a) perhitungan matematis dan komputasi
b) pengembangan algoritma
c) akuisisi data
d) pemodelan, simulasi, dan pembuatan prototip
e) analisis data, eksplorasi, dan visualisasi
f) grafik teknik dan sains
g) pengembangan aplikasi, termasuk pembuatan antarmuka
MATLAB adalah sistem interaktif dimana elemen basis data adalah sebuah
array yang tidak memerlukan dimensi. Ini mengijinkan formulasi solusi ke banyak
masalah komputasi teknis, khususnya yang menyangkut representasi matriks, lebih
16 Matlab adalah singkatan dari matrix laboratory. awalnya matlab ditulis
untuk menyediakan akses mudah ke perangkat lunak maktriks yang di kembangkan
oleh proyek LINPACK(Linear System Package) dan EISPACK(Eigen System
Package), Hari ini, mesin matlab menyatukan library LAPACK(Linear Algebra
Package) dan BLAS (Basic Linear Algebra Subprograms), membentuk perangkat
lunak teknologi terbaru untuk komputasi matriks.
Dalam lingkungan universitas, matlab adalah alat komputasi standar dalam
kuliah pengenalan dan kuliah lanjut di matematika, teknik dan sains. Dalam
industri, matlab adalah pilihan alat komputasi untuk penelitian, pengembangan, dan
analisis. MATLAB dilengkapi berbagai macam aplikasi solutif yang bersifat
spesifik, yang disebut toolbox. Image Processing Toolbox adalah koleksi dari
fungsi-fungsi matlab (disebut M-function atau M-files) yang memperluas
kemampuan lingkungan matlab sebagai solusi dari masalah-masalah pemrosesan
17 melengkapi Image Processing Toolbox (IPT) adalah signal processing, Neural
network, fuzzi logic, dan wavelet toolbox.
Penjelasan:
1. Command Window
Command window adalah tempat dimana pengguna bisa
memasukan ekspresi matematika dan menampilkan hasilnya.
2. Workspace Browser
Workspace Browser berisikan variabel-variabel yang telah kita
gunakan. Kita dapat melihat isi variabel dengan melihat isi pada
kolom value atau dengan mengklik dua kali pada variabel yang
diinginkan.
1 4
3
2
5
18 3. Folder Browser
Folder Browser berisikan alamat folder tempat kita mengakses
M-file dan berkas-berkas yang berkaitan dengan apa yang sedang kita
kerjakan pada MATLAB
4. Editor M-File
Editor file berfungsi sebagai tempat membuat dan mengubah
M-file yang digunakan pada pemrograman di MATLAB.
5. Figure Screen
Figure Screen adalah layar yang digunakan untuk menampilkan
gambar dan grafik yang kita inginkan untuk ditampilkan pada
MATLAB.
2.2.8 Color Thresholder App MATLAB
Color thresholder app adalah aplikasi terintegrasi pada MATLAB yang
berfungsi untuk melakukan melakukan manipulasi komponen-komponen warna
pada berkas image, berdasarkan ruang warna yang tersedia. Threshold pada berkas
19 Gambar 2.5 Image Thresholder App
Komponen dari color thresholder app adalah sebagai berikut:
A. Menu Bar
Load Image, memilih dan memasukan berkas image pada aplikasi
New Colorspace, untuk memilih beberapa colorspace(ruang warna)
yang disediakan pada aplikasi
Select Color, untuk menyeleksi warna pada berkas image. Hasil
warna yang diseleksi akan di-threshold.
Find Threshold, untuk mencari threshold pada berkas image
berdasarkan warna-warna yang telah diseleksi menggunakan Select
Color.
A
B
20
Invert Mask, berfungsi untuk membalik warna yang diseleksi
menjadi tidak diseleksi, begitu sebaliknya.
Show Binary, berfungsi untuk mengubah image menjadi binary
image, membuat warna yang diseleksi menjadi putih dan warna yang
tidak diseleksi menjadi hitam.
Export Image, berfungsi untuk mengeksport hasil manipulasi berkas
image yang telah dibuat menjadi binary atau mengeksport fungsi
yang digunakan untuk memanipulasi berkas image.
B. Tampilan berkas image yang sedang dimanipulasi.
21 BAB III
Metode Penelitian
3.1 Diagram Alir Penelitian
Diagram blok penelitian yang akan dilakukan dapat digambarkan sebagai
berikut:
M ulai
Perancangan
Pengumpulan Informasi
Analisis Informasi
Pembuat an Blok Program
Pengujian Program
Perbaikan
Pengujian Final Apakah sudah benar?
Kesimpulan
Selesai
Tidak
Ya
22 3.1.1 Penjelasan Blok Diagram
a) Perancangan
Tahap perancangan yaitu merancang model program sesuai
dengan permasalahan yang dihadapi. Dalam hal ini yaitu bagaimana
cara mengukur luas citra foto satelit dari danau Aral menggunakan
pengukuran tidak langsung (perangkat lunak)
b) Pengumpulan Informasi
Tahap pengumpulan informasi yaitu mengumpulkan segala
macam informasi mengenai permasalahan yang dihadapi. Informasi
yang dicari mulai dari ketersediaan foto/citra, cara penggunaan
matlab, cara melakukan pemrograman, sampai informasi mengenai
pengukuran. Informasi-informasi tersebut diperoleh melalui
buku-buku, ebook dan artikel dari internet.
c) Analisis Informasi
Tahap analisis informasi yaitu menganalisis semua informasi
yang sudah didapat. Tujuan dari tahap ini adalah memisahkan
informasi-informasi yang diperlukan dalam penelitian dari semua
informasi yang sudah didapat.
d) Pembuatan blok program
Tahap pembuatan blok program yaitu membuat dan
23 membuat program secara modular maka proses pengujian dapat
dilakukan dengan mudah tanpa harus merubah struktur program
secara keseluruhan. Pembuatan blok-blok program juga dapat
membuat lebih mudah dalam mengidentifikasi error yang mungkin
terjadi.
e) Pengujian program
Tahap pengujian program yaitu menguji blok-blok program
yang telah dibuat pada tahap sebelumnya. Blok program diuji satu
per satu untuk kemudian digambungkan menjadi satu program utuh.
f) Perbaikan
Tahap perbaikan yaitu memperbaiki blok-blok program yang
telah diuji pada tahap sebelumnya. Blok program diperbaiki dengan
mengabungkan berbagai macam informasi yang telah didapat
berdasarkan kebutuhan.
g) Pengujian Final
Tahap pengujian final yaitu pengujian akhir dari blok-blok
program yang telah diperbaiki. Pengujian kedua ini sekaligus
menggabungkan blok program ke dalam suatu program yang utuh.
Pada pengujian, jika tidak ditemukan error pada program maka
program akan diujikan pada berkas gambar/citra yang diinginkan
24 h) Kesimpulan
Tahap kesimpulan yaitu membuat laporan mengenai
program yang telah diuji pada tahap sebelumnya. Pada tahap ini
akan dikemukakan kelebihan dan kekurangan dari program yang
telah dibuat serta apa yang bisa dilakukan untuk membuat program
menjadi lebih baik.
3.2 Rancangan
Program pemetaan wilayah ini secara umum dapat dijabarkan dalam
diagram berikut yaitu:
Gambar 3.2 Blok Diagram Perancangan Program Penentuan Luas Wilayah
Program memerlukan dua hal penting yaitu Image Processing Tool dan
Image Thresholder app. Image Processing Tool merupakan komponen penting
pada MATLAB untuk melakukan manipulasi pada foto/citra. Image Thresholder
App berfungsi untuk mencari threshold dari foto/citra yang akan diproses dan
25 Berkas masukan yang digunakan pada penelitian ini adalah sebelas gambar
MODIS (Moderate Tesolution Imaging Spectroradiometer) Laut Aral yang diambil
dari satelit NASA. Berkas citra diambil pada bulan Agustus dari tahun 2000 sampai
tahun 2010. Citra juga menampilkan garis yang merepresentasikan garis pantai dari
laut Aral. Sedangkan output dari Penelitian ini adalah gambar binary dan hasil
perhitungan luas laut Aral.
Secara garis besar program pemetaan memiliki cara kerja sebagai berikut,
yaitu pertama program akan meminta user untuk memasukkan berkas gambar
(harus lebih dari satu), kemudian program akan meminta kalibrasi jarak spasial
pada citra dengan jarak yang sebenarnya untuk keperluan penghitungan luas citra.
Program akan memproses citra dari ruang warna RGB ke HSV kemudian ke binary
(BW Image) menggunakan seleksi warna tertentu, yang telah dicari menggunakan
image thresholder app, sehingga dapat dihitung jumlah piksel. Program akan
menampikan hasil threshold citra pada tampilan selanjutnya. Kemudian program
menghitung jumlah piksel pada bagian putih menggunakan algoritma NNZ
(Number of Non Zero Matrix Element) dan melakukan perhitungan luas, setelah itu
menampilkannya pada MATLAB.
3.2.1 Struktur Program
Program secara umum mengandung tiga function, yaitu:
a. Menu
b. Kalibrasi
26 d. Menampilkan satu citra
Ketiga function tersebut dijelaskan sebagai berikut:
A. Menu
Menu mengandung semua pilihan dari function secara umum yang
dimiliki oleh program. Menu menggunakan fungsi While dan Case,
dengan 4 pilihan yaitu kalibrasi ulang, tampilkan semua, tampilkan
satu hasil, dan keluar. Flowchart blok menu adalah seperti dibawah
28 Blok Menu berfungsi untuk memberikan pilihan pada pengguna untuk
menentukan jalannya program. Program berisi empat subfungsi yang dapat dipilih
dari blok menu, yaitu kalibrasi(), tampilsemua(), tampilsatu(), dan keluar.
Pseudocode blok menu adalah sebagai berikut:
While i<4
If i>1
Menu(judul, pilihan1, pilihan2, pilihan 3, pilihan4)
End
Switch menu
Case 1
Argumen1
Case 2
Argumen2
Case_n
Argumen_n
29 B. Kalibrasi
Kalibrasi dilakukan dengan mengukur jumlah piksel pada suatu garis lurus
yang ditentukan, kemudian menghitung dengan rumus:
Jarak dalam piksel = ( − ) + ( − ) M ulai
Baca file Cit ra Sat elit
Buat garis lurus pada skala file Cit ra
Apakah sudah buat
garis?
Hit ung panjang garis dalam pixel
Hit ung panjang garis dalam kilomet er
Tampilkan panjang garis (pixel dan kilomet er) pada mat lab
Selesai
Tidak
Ya
30 Dimana x adalah koordinat X dan y adalah koordinat Y pada citra. Setelah
jarak diketahui maka dihitung jarak per piksel dan jumlah piksel per jarak, dengan
perhitungan sebagai berikut:
Jarak per Piksel = ,
Pada pemrograman MATLAB, setiap variabel bersifat lokal, yaitu hanya
dapat digunakan di dalam satu fungsi. Jika kita ingin menggunakan variabel dari
suatu fungsi tertentu maka variabel harus dideklarasikan sebagai variabel global
yaitu:
Global variable_n
Setelah dideklarasikan maka variable dapat digunakan disetiap fungsi yang
memerlukan variable tersebut.
Blok rumus perhitungan jarak garis adalah:
distanceInPixels = sqrt( (xi(2)-xi(1)).^2 + (yi(2)-yi(1)).^2);
dimana x dan y merupakan posisi X,Y diagram kartesian citra pada figure. Hasil
dari perhitungan tersebut adalah dalam unit piksel. Blok konversi dari piksel ke unit
yang telah kita pilih adalah:
31 3.2.2 Algoritma Image Processing
Image processing yang digunakan pada penelitian ini ada dua, yaitu
konversi RGB ke L*a*b dan konversi RGB ke HSV. Penelitian ini
menggunakan dua macam ruang warna tersebut karena HSV dan L*a*b
yang paling cocok dengan citra yang digunakan pada penelitian.
Pada color thresholder app, gambar akan dimuat pada aplikasi,
kemudian pengguna memilih ruang warna yang diinginkan. Setelah ruang
warna ditentukan pengguna akan menyeleksi warna menggunakan slider
pada channel-channel di thresholder app atau menggunakan lasso tool.
Setelah diseleksi maka image akan dirubah menjadi binary image.
Pengguna dapat memilih ruang warna yang lain jika binary image
tidak seperti yang diinginkan. Flowchart cara kerja color thresholder app
32 M ulai
Buka M at lab image t hresholder
M uat file image
Ekspor fungsi dan t ransfer ke program
Apakah banyak derau?
Seleksi w arna menggunakan color picker
Threshold image
Apakah banyak area yang belum
t erseleksi?
Selesai Tidak
Gam bar 3.5Flow char t M at lab Color Thresholder App
Pilih colorspace yang diinginkan
Tidak
Ya
33 Konversi ruang warna RGB ke L*a*b dapat dilihat pada flowchart berikut:
M ulai
Baca File Cit ra Sat elit
Tampilkan cit ra pada mat lab
Rubah colorspace RGB ke L* a* b Apakah
Colorspace sudah L* a* b?
Cari Nilai nilai t hreshold dari hist ogram menggunakan image
t hreshold app
Cari t hreshold dengan membuat nilai yang t elah dit emukan pada image t hresolder sebagai 1,
dan nilai yang lain sebagai 0
Tampilkan hasil Threshold pada mat lab
Selesai Ya
Tidak
34 Sedangkan konversi RGB ke HSV dapat dilihat pada flowchart berikut:
M ulai
Baca File Cit ra Sat elit
Tampilkan cit ra pada mat lab
Rubah colorspace RGB ke HSV Apakah
Colorspace sudah HSV?
Cari Nilai nilai t hreshold dari hist ogram menggunakan image t hreshold app
Cari t hreshold dengan membuat nilai yang t elah dit emukan pada image t hresolder
sebagai 1, dan nilai yang lain sebagai 0
Tampilkan hasil Threshold pada mat lab
Selesai Ya
Tidak
35 Pada ruang warna L*a*b, channel 1 merupakan channel L, channel
2 merupakan channel a, dan channel 3 merupakan channel b. Sedangkan
pada ruang warna HSV, channel 1 merupakan komponen H, channel 2
merupakan komponen S, dan channel 3 merupakan komponen V. setiap
channel pada blok program mewakili satu komponen dari citra. Nilai dari
channel diketahui berdasarkan histogram per channel. Setelah diketahui
nilai masing-masing, maka dihitung untuk dicari threshold dari Citra
dengan cara mencari nilai diantara channel min dan channel max. Hasil dari
threshold adalah warna yang diseleksi akan bernilai “1” dan warna yang
tidak diseleksi akan bernilai “0”.
Setelah threshold citra diketahui, maka langkah selanjutnya adalah
menghitung jumlah piksel yang ada pada bagian yang terseleksi (bernilai 1).
Kita menggunakan sintaks nnz untuk menghitung jumlah piksel pada bagian
image yang diseleksi, yaitu:
ARAL1= nnz(ARAL);
yaitu fungsi “Number of nonzero matrix elements” untuk
menghitung jumlah piksel yang terdapat pada bagian warna yang diseleksi.
Setiap elemen pada citra yang telah di-threshold mewakili satu piksel. Luas
pada bagian yang diseleksi dihitung dengan rumus:
36 Jarak per piksel didapat dari pengukuran kalibrasi spasial dan jumlah
piksel didapat dari menghitung jumlah komponen matriks citra yang
bernilai 1.
Gambar 3.8 Channel L*a*b Citra Laut Aral
Gambar 3.9 Histogram channel L
Gambar 3.10 Histogram channel a
37 Gambar 3.11 Histogram channel b
Gambar 3.12 Channel L*a*b Citra Laut Aral
Gambar 3.13 Histogram channel H (Hue)
38 Gambar 3.14 Histogram channel S (Saturation)
39 BAB IV
Hasil Penelitian dan Analisis
4.1 Spesifikasi dari Hasil Penelitian
1. Program mampu membaca dan menampilkan berkas Citra yang telah
dimasukkan
2. Program mampu mengubah dari ruang warna RGB ke Binary
3. Program dapat menghitung jarak sebenarnya pada Citra
4. Program dapat menampilkan hasil perhitungan jarak yang telah dimasukkan
40 Gambar 4.2 Tampilan Hasil Kalibrasi
41 Gambar 4.4 Hasil Threshold Citra
42 Gambar 4.6 Menampilkan salah satu Citra, hasil threshold dan hasil pengukuran
dalam satu Figure
4.2 Analisis
Analisis merupakan salah satu langkah penting yang harus dilakukan untuk
mengetahui apakah sistem yang dibuat telah sesuai dengan yang direncanakan, hal
itu dapat dilihat dari hasil-hasil yang dicapai selama pengujian sistem. Selain untuk
mengetahui apakah sistem sudah bekerja dengan baik sesuai dengan yang
diharapkan, pengujian juga bertujuan untuk mengetahui kelebihan dan kekurangan
dari sistem yang dibuat. Hasil-hasil pengujian tersebut nantinya akan dianalisa agar
dapat diketahui mengapa terjadi kekurangan.
Struktur program pada MATLAB ada empat bagian utama, yaitu:
43 Menu diuji dengan mengecek semua link yang dibuat agar pada saat
program telah selesai tidak terjadi error.
Sintaks blok menu: 2000','numbertitle','off')
44 Hasil dan analisa:
Blok menu dapat menampilkan deretan menu sesuai dengan apa yang ditulis pada
program dan menjalankan fungsi sesuai yang telah diprogram.
Gambar 4.7 Tampilan Pilihan Menu
Blok fungsi Kalibrasi
Kalibrasi berfungsi untuk menemukan jarak sebenarnya pada berkas image
menggunakan perhitungan skala.
Blok fungsi kalibrasi()
function success = Calibrate()
global lastDrawnHandle;
instructions = sprintf('klik kiri untuk menentukan titik awal\nKlik kanan atau dobel klik untuk menentukan titik
kedua\n\nSetelah itu anda akan ditanya ukuran sebenarnya');
title(instructions); msgboxw(instructions);
[cx, cy, rgbValues, xi,yi] = improfile(1000);
% rgbValues is 1000x1x3. Call Squeeze to get rid of the singleton dimension and make it 1000x3.
rgbValues = squeeze(rgbValues);
distanceInPixels = sqrt( (xi(2)-xi(1)).^2 + (yi(2)-yi(1)).^2); if length(xi) < 2
45
userPrompt = {'Masukkan Unit (contohnya: meter):','Masukkan
jarak dalam unit:'};
dialogTitle = 'Spesifikasi Unit dan Jarak'; numberOfLines = 1;
def = {'kilometer', '50'};
answer = inputdlg(userPrompt, dialogTitle, numberOfLines, def);
if isempty(answer) return;
end
calibration.units = answer{1};
calibration.distanceInPixels = distanceInPixels; calibration.distanceInUnits = str2double(answer{2});
calibration.distancePerPixel = calibration.distanceInUnits / distanceInPixels;
success = true;
jarak=calibration.distancePerPixel; unit=calibration.units;
message = sprintf('Jarak yang anda gambar adalah %.2f pixels = %f %s.\nJumlah dari %s per pixel adalah %f.\nJumlah dari
pixels per %s adalah %f',...
distanceInPixels, calibration.distanceInUnits, calibration.units, ...
calibration.units, calibration.distancePerPixel, ...
calibration.units, 1/calibration.distancePerPixel); uiwait(msgbox(message));
catch ME
errorMessage = sprintf('Error in function DrawLine().\nDid you
first left click and then right click?\n\nError Message:\n%s',
ME.message);
fprintf(1, '%s\n', errorMessage); WarnUser(errorMessage);
end
return; % from Calibrate()
end
Saat dijalankan fungsi kalibrasi dapat menghitung panjang dari sebuah skala pada
citra. Selama ada skala yang ditampilkan maka program dapat menghitung panjang
46
Blok fungsi Tampilsemua()
Fungsi tampilsemua() merupakan fungsi utama dari program. Pada fungsi
ini program akan menampilkan image asli secara berurutan, kemudian mengolah
menjadi binary image dan menampilkannya. Terakhir fungsi akan menghitung
jumlah piksel pada bagian binary image yang diseleksi kemudian menghitung luas
bagian tersebut. Blok fungsi tampilsemua() memiliki bagian program yang berbeda
untuk setiap citra karena setiap citra memiliki beberapa perbedaan seleksi warna.
1) Analisa citra 1:
Blok program pencari threshold:
channel1Min = 0.200;
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL1*jarak^2, ARAL1 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 60191 piksel.
47 = (0,625)2 * 60191
= 0,390625 * 60191
= 23512,11 kilometer persegi.
2) Analisa citra 2:
Blok program pencari threshold:
channel1Min = 0.217;
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL2*jarak^2, ARAL2 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 58463,00 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 58463
= 0,390625 * 58463
48 3) Analisa citra 3:
Blok program pencari threshold:
channel1Min = 0.246;
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL3*jarak^2, ARAL3 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 53632 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 53632
= 0,390625 * 53632
= 20950 kilometer persegi.
4) Analisa citra 4:
Blok program pencari threshold:
49
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL4*jarak^2, ARAL4 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 56357 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 56357
= 0,390625 * 56357
= 22014,45 kilometer persegi.
5) Analisa citra 5:
Blok program pencari threshold:
50 rgbImage = imread(FileName{5});
I = rgb2hsv(rgbImage);
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL5*jarak^2, ARAL5 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 47619 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 47619
= 0,390625 * 47619
= 18601,17 kilometer persegi.
6) Analisa citra 6:
Blok program pencari threshold:
channel1Min = 15.903;
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
51 Blok perhitungan luas:
ARAL6*jarak^2, ARAL6 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 56327 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 56327
= 0,390625 * 56327
= 22002,73 kilometer persegi.
7) Analisa citra 7:
Blok program pencari threshold:
channel1Min = 0.215; channel1Max = 0.543;
channel2Min = 0.138; channel2Max = 0.761;
channel3Min = 0.165; channel3Max = 0.561;
rgbImage = imread(FileName{7}); I = rgb2hsv(rgbImage);
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL7*jarak^2, ARAL7 adalah jumlah piksel bagian putih dan jarak
52 Jumlah piksel: 39579 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 39579
= 0,390625 * 39579
= 15460,55 kilometer persegi.
8) Analisa citra 8:
Blok program pencari threshold:
channel1Min = 0.256; channel1Max = 0.457;
channel2Min = 0.099; channel2Max = 0.690;
channel3Min = 0.184; channel3Max = 0.608;
rgbImage = imread(FileName{8}); I = rgb2hsv(rgbImage);
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL8*jarak^2, ARAL8 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 33334 piksel
Luas = (jarak/piksel)2 * jumlah piksel
53 = 0,390625 * 33334
= 13021,09 kilometer persegi.
9) Analisa citra 9:
Blok program pencari threshold:
channel1Min = 0.205; channel1Max = 0.517;
channel2Min = 0.111; channel2Max = 0.658;
channel3Min = 0.133; channel3Max = 0.592;
rgbImage = imread(FileName{9}); I = rgb2hsv(rgbImage);
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL9*jarak^2, ARAL9 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 30456 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 30456
= 0,390625 * 30456
54 10) Analisa citra 10:
Blok program pencari threshold:
channel1Min = 0.303; channel1Max = 0.500;
channel2Min = 0.322; channel2Max = 0.745;
channel3Min = 0.086; channel3Max = 0.471;
rgbImage = imread(FileName{10}); I = rgb2hsv(rgbImage);
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL10*jarak^2, ARAL10 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 17999 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 17999
= 0,390625 * 17999
= 7030,86 kilometer persegi.
11) Analisa citra 11:
Blok program pencari threshold:
55 channel1Max = 0.508;
channel2Min = 0.271; channel2Max = 0.816;
channel3Min = 0.090; channel3Max = 0.541;
rgbImage = imread(FileName{11}); I = rgb2hsv(rgbImage);
ARAL=(I(:,:,1)>=channel1Min)&(I(:,:,1)<=channel1Max) & ...
(I(:,:,2) >=channel2Min)&(I(:,:,2)<=channel2Max)& ...
(I(:,:,3) >= channel3Min )&(I(:,:,3)<= channel3Max);
Blok perhitungan luas:
ARAL11*jarak^2, ARAL11 adalah jumlah piksel bagian putih dan jarak
adalah jarak piksel/kilometer.
Jumlah piksel: 28035 piksel.
Luas = (jarak/piksel)2 * jumlah piksel
= (0,625)2 * 28035
= 0,390625 * 28035
56 Hasil pengukuran dan threshold citra dapat dilihat pada table 4.1:
Tabel 4.1 Hasil pengukuran menggunakan Image Processing (1 km=1,6 piksel)
Tahun Gambar Threshold Luas (Km2)
2000 23512,11
2001 22837,11
2002 20950
57
2004 18601,17
2005 22002,73
2006 15450,55
2007 13021,09
58
2009 7030,86
2010 10951,17
Grafik pengukuran citra laut Aral dari tahun 2000-2010 dapat dilihat pada gambar
dibawah ini:
Grafik 4.1 Grafik perubahan luas Laut Aral 2000-2010
0 5000 10000 15000 20000 25000
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
59 Kondisi danau terbesar kedua di dunia ini, yaitu laut aral semakin tahun
semakin memprihatinkan. Berdasarkan grafik pada Gambar 4.1 dapat dilihat luas
permukaan danau dari tahun 2000 sampai dengan tahun 2010 semakin mengecil,
artinya luas permukaan danau semakin menyusut.
Berdasarkan Gambar 4.1 terlihat bahwa pada tahun 2000 laut aral memiliki
luas 23512,11 km2 sedangkan pada tahun selanjutnya secara bertahap menurun
menjadi 22837,11 km2, dan terus mengecil pada tahun 2002, sedang tahun 2003
permukaan laut tersebut sedikit meluas menjadi 22014,45 km2 dan kemudian
menurun lagi pada tahun 2004. Pada grafik, tahun 2005 luas laut aral kembali
meningkat menjadi 22002,73 km2. Lalu pada tahun 2006 laut aral kembali
menyusut secara signifikan menjadi 15450,55 km2 dan terus turun sampai tahun
2009 menjadi 7030,86 km2. Pada tahun 2010 danau Aral kembali meningkat
menjadi 10951,17 km2.
Hasil analisis di atas dapat kita simpulkan danau laut aral sangat
memprihatinkan, dimana selama sepuluh tahun terjadi pengeringan danau yang
sangat luas. Hal ini terjadi karena musim kering yang panjang dan dialihkannya
sungai pensuplai air ke danau ke lahan-lahan pertanian penduduk.
4.3 Pelajaran yang Diperoleh
Penelitian yang dilakukan ini memberikan pengetahuan tambahan serta
pelajaran bagi penulis. Dalam proses penelitian menuntut perencanaan yang matang
60 dengan lancar. Sabar dan tidak mudah menyerah adalah hal penting dalam proses
penelitian.
Permasalahan – permasalahan yang ditemui penulis saat membuat
penelitian ini diantaranya adalah proses mencari seleksi warna yang pas saat
melakukan threshold citra sehingga saat program dibuat pengaturan seleksi warna
harus dirubah-rubah untuk mendapatkan hasil yang optimal.
Ilmu yang penulis dapatkan dari penelitian yang telah dibuat antara lain
menambah wawasan penulis dalam hal pemrograman matlab, terutama pemrosesan
gambar. Penulis menjadi lebih paham dalam mengolah berkas citra satelit di Matlab
61 BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Hasil pengolahan citra dengan teknik thresholding menggunakan seleksi
warna diperoleh hasil sebagai berikut:
A. Tahun 2000 luas danau Aral yang diukur adalah 23512,11 km2.
Sedangkan pada tahun 2010 diperoleh luas danau Aral sebesar 10951,17
km2. Dengan demikian luas danau Aral semakin menyusut dalam waktu
sepuluh tahun, dari tahun 2000 sampai 2010.
B. Program pada matlab dapat melakukan threshold dan pengukuran luas
danau pada berkas Citra Danau Aral.
C. Pendeteksi tepi pada program menggunakan algoritma seleksi warna
yang dibuat pada image thresholder app.
D. Perhitungan jumlah piksel pada warna yang diseleksi menggunakan
algoritma NNZ (Number of Non Zero Matrix Element) pada matlab.
E. Pengukuran luas dengan menghitung piksel berdasarkan resolusi spasial
yang terdapat pada Citra.
5.2 Saran
Untuk penelitian lebih lanjut dapat dibuat dengan data yang lebih banyak
sehingga dapat menambah variasi data yang diolah dan menyempurnakan
62 Daftar Pustaka
Demirkaya, O., Asyali, M. and Sahoo, P. (2009). Image processing with MATLAB.
Boca Raton: CRC Press.
Matlab, programming fundamental. Mathworks,inc
Pengolahan citra, algoritma transformasi ruang warna
Gonzalez, R. and Woods, R. (2002). Digital image processing. Upper Saddle River,
N.J.: Prentice Hall.
White, K. (2013). A geographical perspective on the Aral Sea crisis: three
interpretations of an image. Bulletin of Geography. Socio-economic Series, 21(21).
Evaluation of Spatial Image Processing Approaches for Calculating Water Surface
Area: Case of the Dead Sea, Life Science Journal 2014;11(4)
Wikipedia. (2016). Aral Sea. [online] Tersedia di: https://
63 Earthobservatory.nasa.gov. (2016). World of Change: Shrinking Aral Sea :
Feature Articles. [ online ] tersedia di: http://
earthobservatory.nasa.gov/Features/WorldOfChange/aral_sea.php [Diakses
tanggal 2 April 2016].
Measuring Distance and Area in Satellite Images. (2016). Teaching Notes. [online]
Tersedia di: http://serc.carleton.edu/eet/measure_sat2/teaching_notes.html
64 LAMPIRAN
Kode program penentuan luas wilayah laut Aral pada MATLAB
function pemetaan()
clc; % Clear command window. clear; % Delete all variables.
close all; % Close all figure windows except those created by imtool.
imtool close all; % Close all figure windows created by imtool. workspace; % Make sure the workspace panel is showing.
global FileName;
%mengubah folder tempat file m ini disimpan if(~isdeployed)
cd(fileparts(which(mfilename)));
end
ver % Display user's toolboxes in their command window.
%membuat pilihan
message = sprintf('Program ini akan menampilkan citra satelit kemudian\nakan menghitung luas dan ukurannya\ndi dalam piksel dan
kilometer.\nApakah ingin lanjut?');
reply = questdlg(message, 'Jalankan program?', 'OK','Cancel',
'OK');
if strcmpi(reply, 'Cancel') % User canceled so exit. return;
end
fontSize = 16;
[FileName,PathName]=uigetfile('*.jpg*','Citra Satelit','MultiSelect','on'); %membuka file gambar
subplot(1,1, 1); imshow(FileName{1}); axis on;
title('Citra Satelit Danau Aral tahun 2000', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]); % Give a name to the title bar.
set(gcf,'name','Citra Danau ARAL Tahun 2000','numbertitle','off')
message = sprintf('Pertama kamu akan melakukan kalibrasi spasial');
reply = questdlg(message, 'Kalibrasi spasial', 'OK', 'Cancel',
'OK');
if strcmpi(reply, 'Cancel')
% User said Cancel, so exit. return;
65 2000','numbertitle','off')
success = Calibrate();
function success = Calibrate()
66 instructions = sprintf('klik kiri untuk menentukan titik awal\nKlik kanan atau dobel klik untuk menentukan titik
kedua\n\nSetelah itu anda akan ditanya ukuran sebenarnya');
title(instructions); msgboxw(instructions);
[cx, cy, rgbValues, xi,yi] = improfile(1000);
% rgbValues is 1000x1x3. Call Squeeze to get rid of the singleton dimension and make it 1000x3.
rgbValues = squeeze(rgbValues);
distanceInPiksels = sqrt( (xi(2)-xi(1)).^2 + (yi(2)-yi(1)).^2);
userPrompt = {'Masukkan Unit (contohnya: meter):','Masukkan
jarak dalam unit:'};
dialogTitle = 'Spesifikasi Unit dan Jarak'; numberOfLines = 1;
def = {'microns', '500'};
answer = inputdlg(userPrompt, dialogTitle, numberOfLines, def);
if isempty(answer) return;
end
calibration.units = answer{1};
calibration.distanceInPiksels = distanceInPiksels; calibration.distanceInUnits = str2double(answer{2});
calibration.distancePerPiksel = calibration.distanceInUnits / distanceInPiksels;
success = true;
jarak=calibration.distancePerPiksel; unit=calibration.units;
message = sprintf('Jarak yang anda gambar adalah %.2f piksels = %f %s.\nJumlah dari %s per piksel adalah %f.\nJumlah dari
piksels per %s adalah %f',...
distanceInPiksels, calibration.distanceInUnits, calibration.units, ...
calibration.units, calibration.distancePerPiksel, ...
calibration.units, 1/calibration.distancePerPiksel); uiwait(msgbox(message));
catch ME
errorMessage = sprintf('Error in function DrawLine().\nDid you
first left click and then right click?\n\nError Message:\n%s',
ME.message);
fprintf(1, '%s\n', errorMessage); WarnUser(errorMessage);
67
figure('Name','File Citra Satelit','numbertitle','off'); set(gcf, 'units','normalized','outerposition',[0 0 1 1]); %maximize tampilan figure
fontSize = 16;
numfiles=size(FileName,2); %menghitung jumlah elemen dalam array FileName
for i=1:numfiles subplot(3,5,i)
imshow(FileName{i}); tahun=1999+i;
t=text(xPos,yPos,sprintf('%s\n',judul),'Parent',h2); set(t,'HorizontalAlignment','center');
set(h2,'Visible','off'); set(t,'fontSize',18);
message = sprintf('Gambar akan di ubah menjadi binary'); reply = questdlg(message, 'Jalankan program?', 'OK','Cancel',
'OK');
if strcmpi(reply, 'Cancel') % User canceled so exit. return;
end
68
%TRESHOLDING FILE ARAL 1 channel1Min = 0.200;
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ...
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ...
%TRESHOLDING FILE ARAL KE 3 channel1Min = 0.246; channel1Max = 0.549;
69
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ...
%TRESHOLDING FILE ARAL 4
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
70 I = rgb2hsv(rgbImage);
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ...
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
71 I = rgb2hsv(rgbImage);
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ...
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ...
ARAL =(I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ...