WILAYAH PADA CITRA GOOGLE SATELIT DENGAN
MENGGUNAKAN METODE DETEKSI TEPI SOBEL
TUGAS AKHIR
Disusunoleh :
GANGGANG IRIANTO
NPM. 0934010241
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVE
RSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA
Disusun Oleh :
Ganggang Irianto
NPM. 0934010241
Telah disetujui untuk mengikuti Ujian Negara Lisan Gelombang III Tahun Akademik 2012/2013
Pembimbing Utama Pembimbing Pendamping
Eko Prasetyo, S.Kom M.Kom Ir. Purnomo Edi Sasongko, MP
NPT.379071002911 NIP. 196407141988031001
Mengetahui,
Ketua Jurusan Teknik Informatika Fakultas Teknologi Industri UPN ”Veteran” Jawa Timur
MENGHITUNG BANYAK KEPADATAN BANGUNAN DI SUATU
WILAYAH PADA CITRA GOOGLE SATELIT DENGAN
MENGGUNAKAN METODE DETEKSI TEPI SOBEL
Disusun Oleh :Ganggang Irianto
NPM. 0934010241
Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skripsi Jurusan Teknik Informatika Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur Pada Tanggal 14 Juni 2013
Pembimbing : Tim Penguji :
1. 1.
Eko Prasetyo, S.Kom M.Kom Ir.Mu’tasim Billah.MS
NPT.379071002911 NPT.196005041987031001
2. 2.
Ir. Purnomo Edi Sasongko, MP Yisti Vita Via, S.St, M.Kom
NIP. 196407141988031001 NPTY. 3 8604 130 347 1
3.
Henni Endah W, ST, M.Kom NPTY.3 7609 130 348 1
Mengetahui,
Dekan Fakultas Teknologi Industri
KETERANGAN REVISI
Mahasiswa di bawah ini :
Nama : Ganggang Irianto
NPM : 0934010241
Jurusan : Teknik Informatika
Telah mengerjakan revisi/ tidak ada revisi*) pra rencana (design)/ skripsi ujian lisan gelombang III, TA 2012/2013 dengan judul:
“MENGHITUNG BANYAK KEPADATAN BANGUNAN DI SUATU WILAYAH
PADA CITRA GOOGLE SATELIT DENGAN MENGGUNAKAN METODE DETEKSI TEPI SOBEL”
Surabaya, 14 Juni 2013 Dosen Penguji yang memerintahkan revisi:
1) Ir. Mu’tasim Billah, MS NPT.196005041987031001
Pembimbing Utama Pembimbing Pendamping
Eko Prasetyo, S.Kom M.Kom Ir. Purnomo Edi Sasongko, MP
NPT.379071002911 NIP. 196407141988031001
{
}
{
}
Ucapan terima kasih ini kami persembahkan sebagai perwujudan rasa syukur
atas terselesaikannya Skripsi. Ucapan terima kasih ini kami tujukan kepada :
1. Tuhan Yang Maha Esa, karena berkat Rahmat dan berkahNya kami dapat
menyusun dan menyelesaikan Laporan PKL ini hingga selesai.
2. Bapak Ir. Sutiyono, MS selaku Dekan Fakultas Teknologi Industri
3. Ibu Dr.Ir Ni Ketut Sari,MT selaku ketua jurusan Teknik Informatika, UPN
(Pembimbing II) yang telah dengan sabar membimbing dengan segala
kerendahan hati dan banyak ide, petunjuk, masukan, bimbingan, dorongan
serta bantuan yang sangat berarti dan bermanfaat bagi tugas akhir ini. Serta
bersedia meluangkan waktu untuk membimbing dan membantu.
6. Keluarga tercinta, terutama BAPAK IBU kami tersayang, terima kasih atas
semua doa dan dukungan. Yang penulis minta hanya doa restunya, sehingga
penulis bisa membuat sesuatu yang lebih baik dari laporan ini.
7. Para Sahabatku Asep Kurnaivi Wardana, Risky Sulistiawan, Nur Fibria, Ruli
Gita dan Katarina Gresa Eko Ito.
ii
tenaga, pikiran dan keburutungan yang dimiliki peneliti, akhirnya peneliti dapat
menyelesaikan Skripsi Yang berjudulu “Menghitung Banyak Kepadatan
Bangunan di Suatu Wilayah pada Citra Google Satelit dengan Menggunakan
Metode Deteksi Tepi Sobel” tepat waktu.
Skripsi dengan beban 4 SKS ini disusun guna di ajukan sebagai salah satu
syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik
Informatika, Fakultas Teknologi Industri, UPN “VETERAN “ Jawa Timur.
Melalui Skripsi ini peneliti merasa mendapatkan kesempatan emeas untuk
memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkulihan,
terutama berkenaan tentang penerapan teknologi perangkat bergerak, Namun,
penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu
penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk
pengembangan aplikasi lebih lanjut.
Surabaya,14 Juni 2013
Halaman
BAB II TINJAUAN PUSTAKA ... ...5
2.8.6 ClearBorder ... 17
2.9 Metode Sobel ... 18
2.10 GUI / GUIDE MATLAB ... 19
2.10.1 Membuat GUI dengan MATLAB ... 24
2.11 Preccion dan Recall ... 26
2.12 Flowchart ... 26
2.13 Simbol-simbol flowchart ... 27
BAB III METODOLOGI PENELITIAN ... 31
3.1 Data Set ... 33
3.2 Analisa Sistem ... 35
3.3 Alur Proses Program... 36
3.4 Perancangan Proses ... 38
3.4.1 Grayscale ... 38
3.6 PerancanganTampilan Antarmuka ... 51
3.7 Jadwal Kegiatan... 53
BAB IV HASIL DAN PEMBAHASAN ... 54
4.1 Kebutuhan Hardware dan Software ... 54
4. 4 Implementasi Proses ... 57
4.4.1 Proses Load ... 57
Gambar 4.2Source code proses load image ... 57
4.4.2 Proses Program ... 57
Gambar 4.3Source Code Proses Progam ... 59
4.4.3 Proses Hitung ... 59
Gambar 4.4 Source Code Proses Hitung ... 60
4.5 Uji Coba Program ... 60
4.5.1 Skenario Uji Coba ... 60
4.5.2 Pelaksanaan Ujicoba ... 61
BAB V KESIMPULAN DAN SARAN... 65
5.1 Kesimpulan ... 65
5.2 Saran ... 66
i
Pembimbing I : Eko Prasetyo S,Kom M,Kom
Pembimbing II : IR, R. Purnomo Edi Sasongko, MP
Penyusun : Ganggang Irianto
ABSTRAK
Menghitung bangunan dalam sebuah citra gambar yang memiliki ketajaman atau yang berkaitan dengan proses transfer data sangat dibutuhkan untuk mendapatkan hasil citra gambar yang sesuai dengan yang dibutuhkan pada aplikasi ini, permasalahan diselesaikan dengan metode Sobel dengan dukungan pemilihan ukuran mask secara manual dari yang telah disediakan dalam aplikasi untuk mendapat hasil yang dibutuhkan.Tugas akhir ini bertujuan untuk Menghitung
“Banyak Kepadatan Bangunan Di Suatu Wilayah Pada Citra Google Satelit Dengan Menggunakan Metode Deteksi Tepi Sobel” Sistem ini di implementasikan menggunakan sobel untuk penghalusan data citra gambar, sehingga sistem harus dibangun sesuai dengan kebutuhan.Hasil yang dicapai pada tugas akhir ini yaitu membuat aplikasi menghitung bangunan menggunakan deteksi sobel dengan matlab 7.9 didukung dengan GUI untuk mempermudah interaksi aplikasi dengan (user).Dari hasil ujicoba yang dilakukan didapatkan jumlah rumah dengan jumlah yang sesuai adapun ketidaksamaan dikarenakan masuknya obyek lain yang terhitung saat pemrosesan mask.
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Pada saat ini teknologi komputer berkembang sangat pesat,
mengikuti kebutuhan hidup manusia. Komputer semakin banyak
dibutuhkan untuk membantu manusia dalam kehidupan sehari-hari. Telah
diketahui bersama, bahwa komputer dapat dimanfaatkan untuk berbagai
keperluan, misalnya dapat digunakan dalam dunia pendidikan,proyek
pembangunan dan perhitungan di berbagai bidang. Beberapa pihak
terkadang mengeluhkan tentang sulitnya memahami dan meghitung suatu
kepadatan semua bangunan dalam suatu wilayah. Hal ini karena belum
adanya suatu alat perhitungan secara terperinci dan berdasarkan pola
citrana, dan tidak memberikan Implementasi langsung tentang jumlah
bangunan di suatu wilayah. Ini semua bertujuan agar membatasi sebuah
bangunan di suatu wilayah, mengetahui jumlah bangunan dan dapat
membedakan antara bangunan dengan suatu bidang bukan bangunan
seperti tambak, jalan raya, dll. Pendeteksian tepi adalah pendekatan yang
paling umum digunakan untuk mendeteksi diskontinuitas grey-level.
Hal ini disebabkan karena titik ataupun garis yang terisolasi tidak terlalu
sering dijumpai dalam aplikasi praktis. Sampai sejauh mana
adalah metode pendeteksian tepi terbaik dibandingkan dgn metode
pendeteksian tepi lainnya seperti metode Prewitt dan metode Robert. Jika
pada metode Robert atau Prewitt hanya menggunakan jendela 2x2
pada maskingnya, maka pada metode Sobel menggunakan jendela 3x3
pada maskingnya sehingga hasil yang di dapat menjadi lebih sempurna
dari metode-metode pendeteksian tepi yang lainnya. Bagaimana jika
masking pada sobel ini kita kalikan dengan suatu nilai (0-255)
sehingga kita dapat mengubah kekuatan intensitas pendeteksian tepi
pada metode sobel agar mendapatkan hasil yang terbaik dari metode
pendeteksian tepi sobel dengan melihat nilai-nilai yang didapat.
Beberapa pihak terkadang mengeluhkan tentang sulitnya memahami dan
meghitung suatu kepadatan semua bangunan dalam suatu wilayah. Hal ini
karena belum adanya suatu alat perhitungan secara terperinci dan
berdasarkan pola citrana, dan tidak memberikan Implementasi langsung
tentang jumlah bangunan di suatu wilayah. Ini semua bertujuan agar
membatasi sebuah bangunan di suatu wilayah, mengetahui jumlah
bangunan dan dapat membedakan antara bangunan dengan suatu bidang
bukan bangunan seperti tambak, jalan raya, dll. Maka dari itu, penulis
membuat suatu sistem yang dapat menghitung kepadatan bangunan
1.2 RUMUSAN MASALAH
Rumusan masalah dibuatnya Tugas Akhir ini adalah: Bagaimana
cara menghitung kepadatan bangunan dengan metode deteksi tepi sobel?
1.3 BATASAN MASALAH
1. Program yang dibuat hanya menghitung kepadatan Bangunan jadi
seperti: tambak, lahan kosong, taman bermain tidak masuk hitungan
2. Gambar harus dengan jelas
3. Data yang diambil akan terhitung satu obyek apabila dalam proses
pengolahan bentuk obyek lebih dari 50 %
4. Jumlah data yang diperoleh dapat tidak sama dikarenakan adanya
proses morfologi yang dapat menghilangkan obyek gambar yang
seharusnya dihitung satu:
- seperti gambar obyek terlalu dipinggir.
-adanya gambar yang saling berdekatan akan dihitung satu.
-adanya bentuk rumah yang berbentuk seperti wilayah lapangan itu
menyebabkan tidak terhitung
1.4 TUJUAN
Tujuan dari dibuatnya Tugas Akhir ini adalah: “Menghitung
Banyak Kepadatan Bangunan di Suatu Wilayah pada Citra Google Satelit
Manfaat dari dibuatnya Tugas Akhir ini adalah:
1. Dapat mengetahui Informasi kepadatan bangunan.
2. Dapat mengetahui berapa banyak bangunan dilihat dari skala pada
google map.
3. Dapat digunakan untuk membuat suatu perbandingan kepadatan pada
suatu wilayah
4. Program ini dapat dipahami dengan mudah dan dapat digunakan siapa
TINJAUAN PUSTAKA
2.1 Artifical Intelligence
Artifical Intelligence atau Kecerdasaan Buatan (disingkat AI)
adalah kemampuan suatu alat untuk melakukan fungsi yang biasanya
dihubungkan dengan kecerdasaan manusia, seperti penalaran dan
pembelajaran melalui pengalaman, AI adalah cabang dari computer
science yang berupaya meniru kemampuan penalaran manusia dengan
mengorganisasi dan memanipulasi pengetahuan faktual dan heristik.
Bidang aktivitas AI meliputi sistem sisitem pakar, pengenalan bahasa
alami, pengenalan suara, pengelihatan komputer (Computer Vision) dan
robotika (Anonim, 1996).
2.2 Image
Data masukan yang diproses adalah suatu image.Image merupakan
sebuah representasi khusus dari suatu obyek, baik obyek dua dimensi
maupun tiga dimensi, dimana representasi tersebut dinyatakan dalam
bentuk dua dimensi. Image dapatb berbentuk nyata, maya, ataupun dalam
bentuk optik. Selain itu, image juga dapat berupa rekaman, seperti video
image, digital image, atau sebuah gambar (Haralick dan Shapiro, 1992,
Menurut Shapiro dan Stockman (2001, p29), analog image
adalah image 2D F(x,y) yang memiliki ketelitian tidak terbatas
dalam parameter spasial x dan y dan ketelitian tak terbatas pada
intesitas tiap titik spasial (x,y).
2.2.2 Digital Image
Menurut Shapiro dan Stokman (2001, p29), digital image
adalah image 2D I[r,c] yang direpresentasikan oeleh array diskrit
2D dari intesintas sample, dimana masing-masing titik
direpresentasikan dengan ketelitian terbatas.
Digital image juga didefinisikan sebagai representasi dari
gambar dua dimensi sebagai himpunan terbatas dari nilai digital
yang disebut picture elements atau pixel. Umumnya pixel disimpan
dalam komputer sebagai gambar raster, yaitu array dua dimensi
dari integer. Nilai ini kadang disimpan dalam bentuk terkompresi.
Digital image dapat diperoleh dari berbagai macam alat adan
teknik pengambil gambar, seperti kamera digital, scanner, radar,
dan sebagainya. Dapat pula disentesis dari data seperti fungsi
matematika dan lain-lain. (Anonim, 2005a). Menurut Jian, Kasutri
dan Schunck (1995, p12), pixel adalah sampel dari intesitas image
yang terkuantitas ke dalam nilai integer. Sementara image
merupakan array dua dimensi dari pixel-pixel tersebut. Image
Beberapa bentuk digital image yang sering digunakan
dalam Computer Vision (Shapiro dan Stockman, 2001, p30):
Binary image, yaitu digital image dengan nilai pixel 1 atau 0.
Gray scale image, yaitu digital image monochrom dengan satu
nilai intensitas tiap pixel.
Multispectral image, adalah image 2D yang memiliki vector
nialai pada tiap pixel, jika image berwarna maka vectornya
memiliki 3 elemen.
Labeled image, adalah image dimana nilai pixel adalah simbol
dari alfabet terbatas.
2.3 Computer Vision
Computer Vision (sering disebut juga dengan Machine Vision) dapat
dideskripsikan sebagai ilmu yang mempelajari metode yang dapat
digunakan untuk membuat komputer mengerti gambar atau data banyak
dimensi umumnya (Anonim, 2005b), sementara definisi Computer Vision
menurut Kulkarni (2001, p27), adalah penyimpulan (dedukasi) otomatis
akan struktur atau properti dari tiga dimensi dari satu atau lebih image dua
dimensi dunia tersebut dan pengenalan objek-objek dengan bantuan
properti-properti ini, atau secara singkatnya yaitu proses mengenali objek
tertentu dari suatu image. Menurut Shapiro dan Stockman (2001, p1),
tujuan dari Computer Vision adalah untuk membuat keputusan yang
berguna tentang objek dunia nyata dan keadaan (scene) berdasarkan image
gambar. Karena itu dapat dikatakan bahawa tujuan dari Computer Vision
adalah untuk membangun deskripsi keadaan dari image.
Artifical Intelligence digunakan untuk menganilisi keadaan dengan
memproses representasi simbolik dari isi lingkungan setelah image telah
diproses untuk diambil fiturnya. Banyak teknik dari Artifical Intelligence
berperan penting didalam seleuruh aspek Computer Vision. Pada dasarnya
Computer Vision merupakan cabang dari Artifical Intelligence. (Jain,
Kutisari dan Schunck, 1995,p5).
2.4 Pengenalan Citra
Citra, menurut kamus Webster, adalah suatu representasi,
kemiripan, atau imitasi dari suatu objek atau benda, sedangkan secara
harafiah, citra (image) adalah gambar pada bidang dwimatra (dua
dimensi). citra merupakan fungsi menerus (continue) dari intensitas
cahaya pada bidang dwimatra. Sumber cahaya menerangi sebuah objek,
dan objek tersebut memantulkan kembali sebagian dari berkas cahayanya.
Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata
pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga
bayangan objek yang disebut citra tersebut terekam. Citra juga merupakan
bentuk dari dua dimensi untuk di jadikan fisik nyata menjadi tiga dimensi.
Dalam perwujudannya, citra dibagi menjadi dua yaitu still images (citra
diam) dan moving images (citra bergerak). Citra diam adalah citra tunggal
yang tidak bergerak, sedangkan citra bergerak adalah rangkaian citra diam
pada mata kita sebagai gambar yang bergerak. Gambar atau citra dapat
disebut sebagai sebuah bidang datar yang mempunyai fungsi dua dimensi
f(x, y), dimana nilai x dan y merupakan koordinat pada sebuah bidang
datar dan amplitudo dari f dapat disebut sebagai intensitas atau gray-level
atau biasa disebut tingkat ke abu-abuan dari sebuah gambar pada koordinat
x dan y.
2.5 RGB (Red, Green, Blue)
Suatu citra biasanya mengacu ke citra RGB. Sebenarnya bagaimana citra
disimpan dan dimanipulasi dalam komputer diturunkan dari teknologi televisi,
yang pertama kali mengaplikasikannya untuk tampilan grafis komputer. Jika
dilihat dengan kaca pembesar, tampilan monitor komputer akan terdiri dari
sejumlah triplet titik warna merah (RED), hijau (GREEN) dan biru (BLUE).
Tergantung pada pabrik monitornya untuk menentukan apak titik tersebut
merupakan titik bulat atau kotak kecil, tetapi akan selalu terdiri dari 3 triplet red,
green dan blue. Citra dalam komputer tidak lebih dari sekumpulan sejumlah
triplet dimana setiap triplet terdiri atas variasi tingkat keterangan (brightness) dari
elemen red, green dan blue. Representasinya dalam citra, triplet akan terdiri dari
3 angka yang mengatur intensitas dari Red (R), Green (G) dan Blue (Blue) dari
suatu triplet. Setiap triplet akan merepresentasikan 1 pixel (picture element).
Suatu triplet dengan nilai 67, 228 dan 180 berarti akan mengeset nilai R ke nilai
67, G ke nilai 228 dan B k nilai 180. Angka-angka RGB ini yang seringkali
disebut dengan color values. Pada format .bmp citra setiap pixel pada citra
direpresentasikan dengan dengan 24 bit, 8 bit untuk R, 8 bit untuk G dan 8 bit
Gambar 2.1 Red,Green,Blue
2.6 Citra Grayscale
Dalam komputasi, suatu citra digital grayscale atau greyscale
adalah suatu citra dimana nilai dari setiap pixel merupakan sample
tunggal. Citra yang ditampilkan dari citra jenis ini terdiri atas warna
abu-abu, bervariasi pada warna hitam pada bagian yang intensitas terlemah dan
warna putih pada intensitas terkuat. Citra grayscale berbeda dengan citra ”hitam-putih”, dimana pada konteks komputer, citra hitam putih hanya
terdiri atas 2 warna saja yaitu ”hitam” dan ”putih” saja. Pada citra
grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna
diantaranya sangat banyak. Citra grayscale seringkali merupakan
perhitungan dari intensitas cahaya pada setiap pixel pada spektrum
elektromagnetik single band . Citra grayscale disimpan dalam format 8 bit
untuk setiap sample pixel, yang memungkinkan sebanyak 255 intensitas
dengan rumus pencarian sebagai berikut;
HASIL= (RED+GREEN+BLUE)/3
2.7 Sharping
• Histogram Equalization adalah suatu proses untuk meratakan histogram
agar derajat keabuan dari yang paling rendah (0) sampai dengan yang
• Dengan histogram equalization hasil gambar yang memiliki histogram
yang tidak merata atau distribusi kumulatif yang banyak loncatan
gradiasinya akan menjadi gambar yang lebih jelas karena derajat
keabuannya tidak dominan gelap atau dominan terang.
• Proses histogram equalization ini menggunakan distribusi kumulatif,
karena dalam proses ini dilkakukan perataan gradien dari distribusi
kumulatifnya.
Pertimbangkan gambar skala abu-abu 8-bit memiliki nilai-nilai
berikut:
Gambar 2.2 Skala ke abuan
histogram untuk sub gambar ini ditampilkan dalam nilai piksel tabel
Tabel 2.1 Perhitungan nilai skala
Fungsi distribusi kumulatif (cdf) adalah sebagai berikut:
Tabel 2.2 Perhitungan Distribusi komulatif
Rumus :
2.8 Pengolahan Citra – Morfologi
Perbedaan antara pemrosesan citra digital secara morfologis
dengan pemrosesan biasa adalah sebagai berikut :
Pengolahan citra dasar sebelumnya hanya memandang sebuah citra
Dengan pendekatan morfologi, kita memandang suatu citra sebagai
sebuah himpunan
Pemrosesan citra secara morfologi biasanya dilakukan terhadap citra
biner (hanya terdiri dari 0 dan 1), walaupun tidak menutup
kemungkinan dilakukan terhadap citra dengan skala keabuan 0-255
Contoh inputan citra
Gambar 2.3 Inputan Citra
2.8.1 Pengertian Operasi Morfologi :
Secara umum, pemrosesan citra secara morfologi dilakukan
dengan cara mem-passing sebuah structuring element terhadap
sebuah citra dengan cara yang hampir sama dengan konvolusi.
Structuring element dapat diibaratkan dengan mask pada
Gambar 2.4 Morfologi
2.8.2 Structuring Element :
Structuring element dapat berukuran sembarang.
Structuring element juga memiliki titik poros (disebut juga titik
origin/ titik asal/titik acuan). Contoh structuring element seperti
objek S dengan titik poros di (0,0) -> warna merah, operasi
morfologi yang dapat dilakukan diantaranya :
Dilasi
Closing
2.8.3 Dilasi
Dilasi merupakan proses penggabungan titik-titiklatar (0)
menjadi bagian dari objek (1), berdasarkan structuring element S
yang digunakan. Cara dilasi adalah untuk setiap titik pada A,
lakukan hal berikut:
letakkan titik poros S pada titik A tersebut
beri angka 1 untuk semua titik (x,y) yang terkena / tertimpa
oleh struktur S pada posisi tersebut
S = {(0,0),(0,1),(1,0)}
A = {(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)}
Gambar 2.5 Dilasi
2.8.4 Closing :
Closing adalah proses dilasi yang diikuti dengan erosi. Efek
yang dihasilkan adalah mengisi lubang kecil pada objek,
menggabungkan objek-objek yang berdekatan, dan secara umum
men-smooth-kan batas dari objek besar tanpa mengubah area objek
Gambar 2.6 Closing
2.8.5 Invers
Menurut Asmitot (2010), Jika invers f adalah fungsi dari
himpunan A ke himpunan B, maka invers fungsi f adalah fungsi
dari himpunan B ke himpunan A.
Gambar 2.7 Sebuah fungsi f dan inversnya
Jika sebuah input x dimasukkan ke dalam fungsi f menghasilkan
invers menghasilkan output x. f adalah fungsi yang domainnya
jika kita membatasi himpunan nilai-nilai X-nya. Fungsi yang
mempunyai invers adalah fungsi bijektif, yaitu:
Jika setiap anggota himpunan B mempunyai tepat satu kawan di A
maka f disebut fungsi bijektif atau korespodensi 1-1. Mudah
dipahami bahwa korespondensi 1-1 adalah fungsi surjektif
sekaligus injektif. Sehingga sering dinyatakan sebagai “sebuah
fungsi bijective jika dan hanya jika memiliki fungsi invers.
2.8.6 ClearBorder
Aplikasi rekonstruksi lain yang berguna adalah
menghilangkan obyek yang menyentuh border citra.
◦ Kunci dalam aplikasi ini adalah memilih marker dan mask
citra yang tepat untuk mendapatkan efek yang diharapkan.
Digunakan citra original sebagai mask dan marker citra fm,
◦ Fungsi ini menekan struktur yang lebih terang daripada
sekitarnya dan yang terhubung ke citra.
◦ Input f boleh citra grayscale atau biner. C
◦ Citra output adalah citra grayscale atau biner sesuai dengan
inputnya
2.9 Metode Sobel
Proses yang digunakan oleh operator sobel merupakan proses dari
sebuah konvolusi yang telah di tetapkan terhadap citra yang terdeteksi.
Dalam operator sobel digunakan matrik konvolusi 3 X 3 dan susunan
piksel-pikselnya di sekitar pixel (x, y) seperti bagan berikut:
Gambar 2.8 Konvulasi
Operator sobel merupakan pengembangan Operator robert dengan
menggunakan filter HPF yang diberi satu angka nol penyangga. Operator
ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal
sebagai fungsi untuk membangkitkan HPF. Kelebihan dari Operator
sobel ini adalah kemampuan untuk mengurangi noise sebelum
P1 P2 P3
P8 (x,y) P4
melakukan perhitungan deteksi tepi. Dengan nilai C konstanta bernilai
dua, sehingga terbentuk matrik operator sobel dapat di gambarkan seperti
di bawah ini:
Sx= Sy=
Gambar 2.9 Konstanta Operasi Sobel
Biasanya operator sobel menempatkan penekanan atau pembobotan
pada piksel-piksel yang lebih dekat dengan titik pusat jendela, sehingga
pengaruh piksel-piksel tetangga akan berbeda sesuai dengan letaknya
terhadap titik di mana gradien dihitung. Dari susunan nilai-nilai
pembobotan pada jendela juga terlihat bahwa perhitungan terhadap
gradien juga merupakan gabungan dari posisi mendatar dan posisi
vertikal dengan perhitungan sebagai berikut:
Sx=((x,y).0)+(P1.-1)+(P2.0)+(P3.1)+(P8.-2)+(P4.2)+(P7.-1)+(P6.0)+(P5.1)
Sy=((x,y).0)+(P1.-1)+(P2.-2)+(P3.-1)+(P8.0)+(P4.0)+(P7.1)+(P6.2)+(P5.1)
Hasil = (Sx+Sy)
2.10 GUI / GUIDE MATLAB
Dibangun dengan obyek grafik seperti tombol (button), kotak teks,
slider, menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya
bagaimana kerjanya. Sampai saat ini, jika kita membicarakan
pemrograman berorientasi visual, yang ada di benak kita adalah
sederetan bahasa pemrograman, seperti visual basic, Delphi, visual C++,
visual Fox Pro, dan lainnya yang memang didesai secara khusus untuk
itu. Matlab merintis ke arah pemrograman yang menggunakan GUI
dimulai dari versi 5, yang terus disempurnakan sampai sekarang. GUIDE
Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasa
pemrogram lainnya, diantaranya:
a) GUIDE Matlab banyak digunakan dan cocok untuk
aplikasi-aplikasi berorientasi sains, sehingga banyak peneliti dan
mahasiswa menggunakan GUIDE Matlab untuk menyelesaikan
riset atau tugas akhirnya.
b) GUIDE Matlab mempunyai fungsi built-in yang siap
digunakan dan pemakai tidak perlu repot membuatnya sendiri.
c) Ukuran file, baik FIG-file maupun M-file, yang dihasilkan
relatif kecil.
d) Kemampuan grafisnya cukup andal dan tidak kalah
dibandingkan dengan bahasa pemrograman lainnya.
Memulai GUIDE MATLAB
a) Melalui command matlab dengan mengetikkan: >> guide
b) Klik tombol Start Matlab dan pilihlah MATLAB, lalu pilih
GUIDE (GUI Bulder) GUIDE Quick Start memiliki dua buah
New GUI digunakan jika kita memang belum pernah membuat
aplikasi GUI Matlab atau jika kita memang ingin membuat
sebuah figure baru, sedangkan Open Existing GUI digunakan
jika kita sudah memiliki file figure matlab atau akan
memodifikasi file figure yang telah kita simpan. Pada pilihan
Create New GUI terdapat menu GUIDE templates yang
memiliki beberapa tipe dasar dari GUI, sehingga kita dapat
melakukan modifikasi pada template agar menjadi GUI seperti
yang kita harapkan. Sebagai pemula, kita gunakan Blank GUI
(Default) yang merupakan sebuah GUI dengan figure kosong
dan merupakan kondisi default dari GUIDE dan diplih jika kita
memang akan membuat sebuah aplikasi dengan komponen
yang layout-nya tidak terdapat pada GUI template yang lain.
Setelah kita memilih Blank GUI templates, maka akan muncul
tampilan Menu Utama GUIDE.
Tampilan GUIDE
Komponen palet pada GUIDE Matlab terdiri dari
beberapa uicontrol (kontrol user interface), seperti pada bahasa
pemrograman visual lainnya, yaitu: pushbutton, togglebutton,
radiobutton, chexkboxes, edit text, static text, slider, frames,
listboxes, popup menu, dan axes. Kita dapat meletakkan semua
kontrol pada layout editor dan selanjutnya hanya tinggal
Semua kontrol pada GUIDE dapat dimunculkan pada
layout/figure dengan cara mendrag kiri kontrol yang diinginkan ke
figure. Adapun penjelasan fungsi masing-masing kontrol adalah
sebagai berikut:
Pushbutton
Pushbutton merupakan jenis kontrol berupa tombol tekan
yang akan menghasilkan tindakan jika diklik, misanya tombol OK,
Cancel, Hitung, Hapus, dan sebagainya. Untuk menampilkan
tulisan pada pushbutton kita dapat mengaturnya melalui property
inspector dengan mengklik obeyek pushbutton pada figure, lalu
mengklik toolbar property inspector atau menggunakan klik kanan
lalu pilih property inspector. Selanjutnya isilaha tab string dengan
label yang diinginkan, misalnya Hitung.
Toggle Button
Toggle button memiliki fungsi yang sama dengan
pushbutton. Perbedaanya adalah saat pushbutton ditekan, maka
tombol akan kembali pada posisi semula jika tombol mouse
dilepas, sedangkan pada toggle button, tombol tidak akan kembali
ke posisi semula, kecuali kita menekannya kembali.
Radio Button
Radio button digunakan untuk memilih atau menandai satu
membuat aplikasi operasi Matematika (penjumlahan,
pengurangan, perkalian, dan pembagian).
Edit Text dan Static Text
Edit text digunakan untuk memasukkan atau memodifikasi
suatu text yang diinputkan dari keyboard, sedangkan static text
hanya berguna untuk menampilkan text/tulisan, sehingga kita tidak
bisa memodifikasi/mengedit text tersebut kecuali memalui property
inspector.
Frames
Frames merupakan kotak tertutup yang dapat digunakan
untuk mengelompokkan kontrol-kontrol yang berhubungan. Tidak
seperti kontrol lainnya, frames tidak memiliki rutin callback.
Checkboxes
Kontrol checkboxes berguna jika kita menyediakan
beberapa pilihan mandiri atau tidak bergantung dengan
pilihan-pilihan lainnya. Contoh aplikasi penggunaan checkboxes adalah
ketika kita diminta untuk memilih hobi. Karena hobi bisa lebih dari
satu, maka kita dapat mengklik checkboxes lebih dari satu kali.
Slider
Slider berguna jika kita menginginkan inputan nilai tidak
menggunakan keyboarad, tatapi hanya dengan cara menggeser
sendiri nilai max, nilai min, serta sliderstep.
Popup Menu
Popop menu berguna menampilkan daftar pilihan yang
didefinisikan pada String Propoerty ketika mengklik tanda panah
pada aplikasi dan memiliki fungsi yang sama seperti radio button.
Ketika tida dibukak, popup menu hanya menampilkan satu item
yang menjadi pilihan pertama pada String Property. Popupmenu
sangat bermanfaat ketika kita ingin memberi sebuah pilihan tanpa
jarak, tidak seperti radiobutton.
Axes
Axes berguna untuk menampilkan sebuah grafik atau
gambar (image). Axes sebenarnya tidak masuk dalam UIControl,
tetapi axes dapat deprogram agar pemakai dapat berinteraksi
dengan axes dan obyek grafik yang ditampilkan melalui axes.
2.10.1 Membuat GUI dengan MATLAB
MATLAB mengimplementasikan GUI sebagai sebuah
figure yang berisi barbagai style obyek UIControl. Selanjutnya kita
harus memprogram masing-masing obyek agar dapat bekerja
ketika diaktifkan oleh pemakai GUI. Langkah dasar yang harus
a) Mengatur layout komponen GUI
Setelah kita membuka GUIDE Matlab dan telah
menentukan template GUI, langkah selanjutnya adalah adalah
mendesai figure dengan menggunakan komponen palet sesuai
dengan kebutuhan, seperti p ushbutton, radiobutton, chexkboxes,
edit text, static text, slider, frames, popup menu, axes, dan
sebagainya. Selanjutnya kita dapat mengatur layout masing-masing
komponen, baik string(caption), font, color, size, dan sebagainya
menggunakan property inspector. Jika kita telah selesai mendesain,
jangan lupa untuk menyimpan file figure yang secara default akan
memiliki ekstensi *.fig. Dari sini, matlab secara otomatis akan
membuatkan sebuah m-file dengan nama yang sama, yaitu file
berekstensi *.m.
b) Memprogram Komponen GUI
M-file yang telah dibuat pada langkah sebelumnya, akan
otomatis terbuka dan kita harus menulis programnya agar
komponen kontrol dapat bekerja secara simultan. Untuk membuat
program dalam m-file kita cukup memperhatikan fungsi-fungsi
matlab bertanda callback dimana perintah disispkan. Dari
langah-langkah dasar diatas, secara sederhana sebenarnya GUI Matlab
dibentuk oleh dua buah file, yaitu fig-file dan m-file. Matlab
Menurut Abidin (2009), preccion adalah jumlah sampel
berkategori positif diklasifikasi benar dibagi dengan total sampel yang
diklasifikasi sebagai sample positif. Sedangkan recall merupakan jumlah
sampel diklasifikasi positif dibagi total sampel dalam testing set
berkategori positif. Dari uji program dilakukan proses perhitungan
preccion dan recall untuk mengetahui berapa hasil akurat dari aplikasi
yang telah dibuat. Maka dari itu digunakan rumus sebagai berikut:
Recall = [a/ (a+c)] x 100%
Precision = [a/ (a+b)] x 100%
2.12 Flowchart
Flowchart adalah representasi grafik dari langkah-langkah yang harus
diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan
simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu.
Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri
dengan penampilan output.
Relevan Tidak Relevan
Ditemukan a(hit) b(noise)
Input Output
Proses
Gambar 2.10 siklus I-P-O
Penerimaan input, pemrosesan input, dan penampilan output merupakan
kegiatan utama yang membentuk siklus dari semua kegiatan yang dilakukan oleh
komputer. Siklus ini disebut dengan siklus I-P-O (Input-Proses-Output).
2.13 Simbol-simbol flowchart
Flowchart terdiri atas sekumpulan simbol dan masing-masing simbol
merepresentasikan suatu kegiatan tertentu. Berikut ini akan dibahas tentang
simbol-simbol yang digunakan dalam menyusun flowchart, kegiatan yang
diwakili serta aturan main yang diterapkan dalam penggunaan simbol tersebut.
1) Simbol input
Simbol input digambarkan dengan bangun jajar genjang. Simbol ini
digunakan untuk melambangkan kegiatan penerimaan input. Dalam simbol
ini, kita dapat menuliskan input yang diperlukan pada suatu waktu secara satu
per satu maupun secara keseluruhan, tetapi biasanya input yang dimasukkan
pada suatu waktu, dituliskan bersamaan secara keseluruhan dengan tujuan
efisiensi ruang gambar.
Gambar 2.11 simbol input
2) Simbol proses
Simbol proses digambarkan dengan bangun persegi panjang. Simbol ini
digunakan untuk melambangkan kegiatan pemrosesan input. Dalam simbol
ini, kita dapat menuliskan operasi-operasi yang dikenakan pada input,
maupun operasi lainnya. Sama seperti aturan pada simbol input, penulisan
dapat dilakukan secara satu per satu maupun secara keseluruhan.
Gambar 2.12 simbol proses
3) Simbol output
Simbol output digambarkan dengan bangun seperti Gambar 2.9 Simbol ini
digunakan untuk melambangkan kegiatan penampilan output. Dalam simbol
ini, kita dapat menuliskan semua output yang harus ditampilkan oleh
program. Sama seperti aturan pada dua simbol sebelumnya, penulisan dapat
Gambar 2.13 simbol output / display 4) Simbol percabangan
Simbol percabangan digambarkan dengan bangun belah ketupat.Simbol ini
digunakan untuk melambangkan percabangan, yaitu pemeriksaan terhadap
suatu kondisi.Dalam simbol ini, kita menuliskan keadaan yang harus
dipenuhi.Hasil dari pemeriksaan dalam simbol ini adalah YES atau NO.Jika
pemeriksaan menghasilkan keadaan benar, maka jalur yang harus dipilih
adalah jalur yang berlabel Yes, sedangkan jika pemeriksaan menghasilkan
keadaan salah, maka jalur yang harus dipilih adalah jalur yang berlabel
No.Berbeda dengan aturan pada tiga simbol sebelumnya, penulisan keadaan
dilakukan secara satu per satu.
Gambar 2.14 simbol percabangan
5) Simbol prosedur
Simbol prosedur digambarkan dengan bangun seperti Gambar 2.11. Simbol
ini berperan sebagai blok pembangun dari suatu program. Prosedur memiliki
suatu flowchart yang berdiri sendiri diluar flowchart utama. Jadi dalam
simbol ini, kita cukup menuliskan nama prosedurnya saja, jadi sama seperti
jika kita melakukan pemanggilan suatu prosedur pada program utama (main
program). Penulisan nama prosedur dilakukan secara satu per satu.
Gambar 2.15 simbol prosedur
6) Simbol garis alir
Simbol garis alir atau flow lines digambarkan dengan anak panah. simbol ini
digunakan untuk menghubungkan setiap langkah dalam flowchart dan
menunjukkan kemana arah aliran diagram. Anak panah ini harus mempunyai
arah dari kiri ke kanan atau dari atas ke bawah.Anak panah ini juga dapat
diberi label, khususnya jika keluar dari simbol percabangan.
Gambar 2.16 simbol garis alir
7) Simbol terminator
Simbol terminator digambarkan dengan bangun seperti Gambar 2.13
terminator berfungsi untuk menandai awal dan akhir dari suatu flowchart.
Simbol ini biasanya diberi label START untuk menandai awal dari flowchart,
dan labelSTOP untuk menandai akhir dari flowchart. Jadi dalam sebuah
flowchart pasti terdapat sepasang terminator yaitu terminator start dan stop.
Gambar 2.17 simbol terminator
8) Simbol konektor
Simbol konektor digunakan untuk menghubungkan suatu langkah dengan
On page connector digunakan untuk menghubungkan suatu langkah dengan
langkah lain dari flowchart dalam satu halaman, sedangkan off page
connector digunakan untuk menghubungkan suatu langkah dengan langkah
lain dari flowchart dalam halaman yang berbeda. Connector ini biasanya
dipakai saat media yang kita gunakan untuk menggambar flowchart tidak
cukup luas untuk memuat gambar secara utuh, jadi perlu dipisahpisahkan.
Dalam sepasang connector biasanya diberi label tertentu yang sama agar
lebih mudah diketahui pasangannya.
Gambar 2.18 simbol On-Page Connector
Gambar 2.19 simbol Off-Page Connector
9. Simbol komentar
eSimbol komentar atau annotation digunakan untuk menuliskan
komentar atau keterangan yang dirasa penting. Dalam simbol ini, kita dapat
METODOLOGI PENELITIAN
Pada bab ini akan dibahas proses pembuatan aplikasi deteksi tepi citra
untuk mengukur luas tambak dari citra google satelit dengan menggunakan
metode deteksi tepi sobel. Proses perancangan aplikasi dalam sub-bab ini akan
dibagi menjadi beberapa tahap antara lain : analisis, gambaran aplikasi secara
umum, perancangan proses.
3.1 Data Set
No Gambar Jarak Pengambilan Keterangan
1
Tinggi: 100 meter Pengambilan dilakukan daerah ketintang dengan model bangunan yang sama.
2
Tinggi: 100 meter Pengambilan dilakukan daerah
4
Tinggi: 100 meter Pengambilan dilakukan daerah
Tinggi: 100 meter Pengambilan dilakukan daerah KANWA dengan model bangunan yang sama.
6
Tinggi: 100 meter Pengambilan dilakukan daerah
Tinggi: 100 meter Pengambilan dilakukan daerah Margerejo dengan model bangunan yang sama.
3.2 Analisa Sistem
Aplikasi yang akan dibuat untuk menghitung jumlah bangunan dari citra
google satelit dengan menggunakan metode deteksi tepi sobel bahasa
pemrograman Matlab. Citra diambil dengan menggunakan google satelit dengan
ketinggian skala 200:100 meter, kemudian proses selanjutnya adalah grayscale,
peningkatan mutu citra, sobel, dilasi, erosi, closing, invers, clearborder. Proses
awal yang digunakan dalam image processing adalah mengubah citra berwarna ke
grayscale. Grayscale merupakan proses pengolahan citra dengan cara mengubah
nilai-nilai piksel awal citra menjadi sebuah citra keabuan. Hasil dari proses
grayscale yang telah kita lakukan, selanjutnya akan dijadikan peningkatan mutu
citra. Peningkatan mutu citra dilakukan untuk mencerahkan suatu objek lalu
dilakukan deteksi tepi sobel merupakan proses dari sebuah konvolusi yang telah
di tetapkan terhadap citra yang terdeteksi setelah itu dilakukan proses dilasi
supaya garis yang terputus pada objek akan tersambung setelah garis-garis objek
yang tersambung dilakukan proses closing. Closing adalah mengisi lubang kecil
pada objek, menggabungkan objek-objek yang berdekatan, dan signifikan. Pada
tahap selanjutnya dilakukan tahap invers supaya dapat menghitung pixel putih
pada area objek untuk mendapatkan hasil yang akan diketahui, ditambahakan
clearborder digunakan untuk menghilangkan pixel putih yang tidak utuh dan
perhitungan ini menggunakan bwlabel sebagai perhitungan jumlah piel putih
START
Open
Image
Greyscale
Sharping
Deteksi
Sobel
Dilasi
Closing
Invers
Clearborder
End
Hitung
melalui bebarapa proses yaitu meliputi :
1) Citra masukan berupa citra berwarna
2) Baca inputancitra yang akan diproses menjadi : Grayscale
Sharping
Deteksi Tepi Sobel
Dilasi
Closing
Invers
Clearborder
Hitung
3.Output
Melakukan pendeteksian tepi setelah proses grayscale, peningkatan
mutu citra, deteksi tepi sobel, dilasi, closing, invers, clearborder. Citra keluaran
akan berupa berapa piksel warna putih dan berapa hektar tambak. Pada
implementasinya aplikasi ini melakukan pengambilan gambar sample memakai
google satelit secara manual.
3.4 Perancangan Proses
Untuk mengetahui proses-proses yang dilakukan maka akan dijelaskan
3.4.1 Grayscale
Grayscale merupakan proses pengolahan citra dengan cara
mengubah nilai-nilai piksel awal citra menjadi sebuah citra keabuan.
Start
I=image
gray=rgb2gray(I);
End
Gambar 3.4 Flowchart Grayscale
Langkah awal pada flowchart grayscale adalah citra masukan
berwarna yang kemudian akan diproses menjadi citragrayscale. Citra
keabuan adalah citra yang setiap pikselnya mengandung satu layer dimana
nilai intensitasnya berada pada interval 0-255, sehingga nilai-nilai piksel
pada citra keabuan tersebut dapat direpresentasikan dalam sebuah matriks
yang dapat memudahkan proses perhitungan pada operasi berikutnya. Di
dalam MATLAB untukmenggubahpiksel RGB ( Red Green Blue) menjadi
skala keabu – abuan dengan menggunakan fungsi rgb2gray.
Gray=rgb2gray(I)
3.4.2 Sharping
Sharping dilakukan untuk memperoleh keindahan citra,
dilakukan pertama adalah penapisan citra. Penapisan citra digunakan
untuk menghilangkan derau yang terkandung dalam citra. Penapisan
dilakukan dengan tapis median, yaitu tapis untuk menghilangkan derau
salt-and-pepper. Tapis median yang digunakan adalah matriks berukuran
3x3. Perintah untuk menapis citra dari derau.
Start
I=image
gray=rgb2gray(I);
End
b=histeq(gray,64);
Gambar 3.5 Flowchart Sharping
Setelah proses grayscale langkah selanjutnya adalah peningkatan
mutu citra. Peningkatan mutu citra dilakukan untuk memperoleh
keindahan citra, kepentingan analisis citra, serta mengoreksi citra dari
segala gangguan yang terjadi pada waktu perekaman data. Berikut ini
adalah potongan baris program untuk peningkatan mutu citra.
3.4.3 Metode Sobel
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan
adalah sobel. Kelebihan dari metode sobel ini adalah kemampuan untuk
mengurangi noise sebelum melakukan perhitungan deteksi tepi.
Start
I=image
gray=rgb2gray(I);
End
b=histeq(gray,64);
c=edge(b,'sobel');
Gambar 3.6 Flowchart Sobel
Setelah proses peningkatan mutu citra langkah selanjutnya adalah
deteksi tepi. Metode yang digunakan adalah metode sobel. Operator sobel
adalah operator yang paling banyak digunakan sebagai pelacak tepi karena
kesederhanaan dan keampuhannya. Matriks yang digunakan adalah 3x3.
Proses sobel ini, dilakukan dua penghitungan yaitu vertical dan horizontal.
Berikut ini adalah potongan baris program untuk deteksi tepi Sobel.
Pada proses ini akan dilasi. Dilasi merupakan proses penumbuhan
atau penebalan dalam citra biner. Pengertian penebalan ini dikontrol oeleh
bentuk strel.
Start
I=image
gray=rgb2gray(I);
End b=histeq(gray,64);
c=edge(b,'sobel');
d= strel ('disk',3); e= imdilate(c,d);
Gambar 3.7 Flowchart Dilasi
Pada flowchart 3.5 adalah proses dari dilasi. Setelah memproses
metode deteksi tepi sobel kemudian akan diproses dilasi. Proses ini
menyambung garis pada objek.
d= strel ('disk',3);
3.4.5 Closing
Pada proses ini akan diclosing. Closing adalah menolak
pecahan-pecahan sempit dan teluk yang panjang dan tipis, menghilangkan lubang
kecil dan mengisi gap pada garis-garis bentuk.
Start
I=image
gray=rgb2gray(I);
End
b=histeq(gray,64);
c=edge(b,'sobel');
d= strel ('disk',3); e= imdilate(c,d); h= strel
('disk',13); i=imclose(e,h);
Gambar 3.8 Flowchart Closing
Setelah didapatkan citra objek yang tersambung kemudian
dilakukan tahap closing. Pada tahap ini yang digunakan adalah closing.
Berikut adalah potongan baris program closing.
h= strel ('disk',13);
Pada proses ini akan diinvers. Invers adalah merubah sebuah objek
dari hitam ke putih dirubah menjadi putih ke hitam sehingga akan
mendapatkan nilai pixel putih dalam objek tersebut,. Berikut adalah proses
invers
Start
I=image
gray=rgb2gray(I);
End
b=histeq(gray,64);
c=edge(b,'sobel');
d= strel ('disk',3); e= imdilate(c,d); h= strel
('disk',13); i=imclose(e,h);
x=imcomplement (d);
Gambar 3.9 Flowchart Invers
Setelah dilakukan tahap closing kemudian dilakukan tahap invers.
Pada tahap ini yang digunakan adalah invers. Berikut adalah potongan
baris program invers.
3.4.7 Clearborder
Pada proses ini akan clearborder. Clearborder adalah
menghilangkan obyek yang setengah tampil atau menghilangkan obyek di
pinggir yang tidak utuh.
Start
I=image
gray=rgb2gray(I);
End
a=medfilt2(gray,[3 3]);
BW=edge(a,'sobel');
se= strel ('disk',1); b= imdilate(BW,se);
se= strel ('disk',6); d= imclose(b,se);
x=imcomplement (d);
k=imclearborder(j,4);
Gambar 3.10 Flowchart clearborder
Setelah dilakukan tahap invers kemudian dilakukan tahap
clearborder. Pada tahap ini yang digunakan adalah clearborder . Berikut
adalah potongan baris program clearborder.
Pada proses ini akan dihitung jumlah rumah dengan rumus
Bwlabel. BWlabel adalah menghitung jumlah obyek putih.
Start
I=image
gray=rgb2gray(I);
End
a=medfilt2(gray,[3 3]);
BW=edge(a,'sobel');
se= strel ('disk',1); b= imdilate(BW,se);
se= strel ('disk',6); d= imclose(b,se);
x=imcomplement (d);
k=imclearborder(j,4);
L=bwlabel(k,4); n=max(L(:));
Gambar 3.11 Flowchart Hitung
Setelah dilakukan tahap clearborder kemudian dilakukan tahap
Hitung. Berikut adalah potongan baris program Hitung.
L=bwlabel(k,4);
3.5 Evaluasi
Evaluasi pada penelitian ini adalah evaluasi yang dapat
membandingkan hasil uji program dengan hasil image yang telah di
photoshop untuk mengetahui berapa persenkah kemiripan uji program
dengan image sebenarnya
Hasil: -
Bangunan Bukan Bangunan
Bangunan A B
Bukan Bangunan C D
Keterangan:
A=Bangunan terdeteksi bangunan
B=Bukan bangunan tapi tedeteksi bangunan
C=Bangunan tapi tidak terdeteksi bangunan
Hasil: 4
Rumah Bukan Rumah
Rumah 5 0
Bukan Rumah 0 0
Presin=5/(5+0)=1x100%=100%
Recal=5/(5+0)=1x100%=100%
Data Rumah 2
Hasil: 11
Rumah Bukan Rumah
Rumah 10 1
Bukan Rumah 0 0
Presin=10/(10+1)=x100%=90,9%
Data Rumah 3
Hasil: 17
Rumah Bukan Rumah
Rumah 17 0
Bukan Rumah 0 0
Presin=17/(17+0)=1x100%=100%
Recal=17/(17+0)=1x100%=100%
Data Rumah 4
Hasil: 38
Rumah Bukan Rumah
Rumah 35 3
Bukan Rumah 0 0
Presin=35/(35+0)=1 x100%=100%
Hasil: 8
Rumah Bukan Rumah
Rumah 8 0
Bukan Rumah 0 0
Presin=8/(8+0)=1x100%=100%
Recal=8/(8+0)=1x100%=100%
Data Rumah 6
Hasil: 14
Rumah Bukan Rumah
Rumah 12 0
Bukan Rumah 2 0
Presin=12/(12+0)=1x100%=81,8%
Data Rumah 7
Hasil: 46
Rumah Bukan Rumah
Rumah 38 6
Bukan Rumah 2 0
Presin=38/(38+6)=0,86x100%=86%
Recal=38/(38+2)=0,95x100%=95%
3.6 PerancanganTampilan Antarmuka
Pada perancangan antarmuka yang akan dibuat sedemikian rupa
yang nantinya merupakan suatu halaman untuk berinteraksi bagi pemakai/
pengguna program dan diharapkan dapat memahami jalan kerja program
dengan mudah. Dalam membuat program deteksi tepi akan dirancang
tampilan GUI maka akan menghasilkan 2 file yaitu namafile.fig dimana
GUI disimpan dan namafile.m dimana eksekusi program terkumpul.
Masing-masing fig-file ini menghasilkan m-file dengan nama yang sama.
Berikut adalah table yang berisi perancangan dalam pembuatan program
deteksi tepi:
GG Static text DeteksiTepi
Citra… Judul
Axes (1) - Menampilkan Citra
Text Information Pixel
MenampilkanTulisan
Edit text - Menampilkan Hasil Perhitungan
Push button Load Membuka File
Push button Proses Menjalankan Program (gray-scale,Sharpening, sobel, dilasi, closing, invers, clearborder)
Push button Pixel Menjalankan Jumlah Pixel
Exit Keluar Keluar
Axes (2) - Menampilkan Citra
Axes (3) - Menampilkan Citra
Axes (4) - Menampilkan Citra
Axes (5) - Menampilkan Citra
Axes (6) - Menampilkan Citra
Axes (7) - Menampilkan Citra
Axes (8) - Menampilkan Citra Tabel 3.1 Perancangan Program Deteksi Tepi
Aplikasi antar muka tersebut diharapkan dapat memudahkan
pengguna dalam memahami dan menggunakan setiap fungsi – fungsi
tombol yang tersedia. Dalam tombol Load yang berfungsi untuk
menggambil gambar yang tersimpan, gambar yang tersimpan hanyalah
format jpg, bmp, png untuk ditampilkan sebelum melanjutkan ke proses
Gambar 3.12 Tampilan GUI Deteksi Tepi
3.7 Jadwal Kegiatan
No. Kegiatan Februari Maret April Mei
1 Studi Pustaka V V
2 Pengumpulan
Bahan dan data V V
3 Perancangan
Sistem V V
4 Koding V V V
5 Uji Coba dan
Analisa V V
6 Pembuatan
54
Pada bab IV ini akan dijelaskan mengenai implementasi, hasil uji coba dan
evaluasi dari rancangan program yang telah dibuat pada bab III. Bagian
implementasi aplikasi kali ini meliputi: lingkungan implementasi, implementasi
data, implementasi antarmuka dan implementasi proses.
4.1 Kebutuhan Hardware dan Software
Pada bagian ini akan dijelaskan mengenai perangkat keras dan
perangkat lunak yang digunakan pada implementasi aplikasi ini.
KebutuhanHardware :
Komputer dengan processor Intel(R) Core(TM)i5-2430m CPU @
2,40GHz
RAM (4000MB)
VGA Card share memory up to 2000 MegaByte
Monitor 14”
Hard Disk 500 GigaByte
KebutuhanSoftware :
Sistem OperasiWindows 7.
Matlab 7.9.0
4.2 Implementasi Data
Seperti yang telah dijelaskan secara konseptual pada Bab 3, maka
data yang akan diimplementasikan pada aplikasi ini berupa
gambar-gambar Bangunan yang telah diambil melalui google satelit yang nantinya
akan diproses melalui beberapa tahapan. Dimana output berupa jumlah
bangunan.
4.3. Implementasi Antarmuka
Pada implementasi antarmuka ini merupakan interaksi antara
pemakai (user) dengan system. Halaman form utama ini merupakan
tampilan awal saat program dijalankan. Pada form utama ini terdapat
program secara keseluruhan beserta dengan prosedur-prosedur
programnya. Pada masing – masing menu memiliki fungsi yang berbeda – beda pada aplikasi ini. Berikut penjelasan dari setiap form pada menu
utama ini :
a. Load : untuk membuka file yang akan diproses.
b. Proses : untuk melakukan proses deteksi tepi.
c. Pixel : untuk melakukan proses jumlah pixel
d. Hitung : untuk menampilkan perhitungan
Gambar 4.1Tampilan Implementasi Awal
Pada tampilan form utama ini terdapat9 kolom yang mempunyai
fungsi berbeda-beda. Kolom pertama dengan nama image berfungsi untuk
menampilkan image yang akan diproses. Kolom kedua dengan nama
grayscale berfungsi untuk merubah citra yang berwarna menjadi
keabu-abuan. Kolom ketiga adalah kolom dengan nama Sharping, yaitu sebuah
kolom yang menampilkan hasil dari grayscale. Kolom keempat diberi
nama sobel yaitu sebuah kolom yang menampilkan hasil deteksi tepi dari
metode sobel. Kolom kelima adalah dilasi sebuah kolom yang
menampilkan hasil dari metode deteksi sobel lalu di proses ke dilasi untuk
penumbuhan atau penebalan dalam citra biner. Kolom keenam adalah
closing sebuah kolom yang menampilkan hasil proses closing. Kolom
ketujuh adalah invers sebuah kolom yang menampilkan hasil proses
invers. Kolom kedelapan erosi adalah sebuah kolom yang menghilangkan
obyek yang ada pada tepi figure. Kolom berisikan angka 5 ada hasil
perhitungan yang muncul setelah kita melakukan proses dan menekan
4. 4 Implementasi Proses
Bagian implementasi proses ini menjelaskan mengenai
implementasi proses-proses sesuai dengan konsep yang telah dibuat pada
bab 3. Seperti yang telah digambarkan dalam flowchart.
4.4.1 Proses Load
Pada proses load ini, yaitu merupakan sebuah proses yang
bertujuan untuk menampilkan inputan berupa gambar. Gambar yang
dapat dibuka hanya gambar yang berformat jpg, bmp, png, tif.
Gambar 4.2Source code proses load image
4.4.2 Proses Program
Pada tahap selanjutnya dilakukan proses, image yang berwarna
citra RGB akan dirubah menjadi grayscale terlebih dahulu baru
setelah itu dilakukan proses peningkatan, deteksi tepi sobel untuk
mempermudah proses pendeteksian tepi.
function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
%closing
Gambar 4.3Source Code Proses Progam
4.4.3 Proses Hitung
Berikut adalah source code dari proses Hitung :
%Closing
h= strel ('disk',13);
i=imclose(e,h);
%invers
j=imcomplement(i);
%clearborder
k=imclearborder(j,4);
%perhitungan bwlabel
L=bwlabel(k,4);
n=max(L(:));
set(proyek.edit1,'string',n);
Gambar 4.4 Source Code Proses Hitung
4.5 Uji Coba Program
Pada sub bab ini akan dibajhas mengenai uji coba terhadap aplikasi
yang telah dibuat dan selanjutnya akan dievaluasi dari hasil uji coba
tersebut. Uji coba dilaksanakan untuk kemampuan aplikasi dapat berjalan
dengan baik sesuai dengan rancangan. Evaluasi dilakukan untuk
menentukan tingkat keberhasilan daroi aplikasi yang dibuat.
4.5.1 Skenario Uji Coba
Untuk memastikan bahwa aplikasi ini berjalan dengan baik,
a. Memasukkan beberapa image untuk melihat perbedaan
keberhasilan, karena tiap-tiap image hasil Perolehan image dari
satelite digital selalu berbeda, hal itu dipengaruhi oleh jarak ambil,
serta kondisi objek gambar yang akan diambil, saat pemrosesan
berlangsung dan adapun kemiripan obyek yang dinyatakan dalam
satau bangunan.
b. Melakukan proses Greyscale, merubah gambar berwarna menjadi
keabuan untuk mempermudah mencari garis tepi.
c. Melakukan proses Sharphing, memberikan tingkat ketajamahan
yang lebih besar pada gambar.
d. Melakukan proses edge detection, mencari garis tepi obyek yang
akan di hitung .
e. Melakukan proses Dilasi, memberi ketebalan pada garis tepi.
f. Melakukan closing, menutup garis tepi yang tidak bersambungan
g. Melakukan invers, memerubah citra putih menjadi hitam dan hitam
menjadi putih digunakan untuk mempermudah perhitungan.
h. Melakukan clearborder, menghilang semua obyek yang berada
dipinggir
i. Setelah itu dilakukannya perhitungan dari semua skanario diatas.
4.5.2 Pelaksanaan Ujicoba
Ini tampilan awal dari aplikasi dan dibuat sebuah perhitungan
Gambar 4.5 Pelaksanaan Uji coba
Hasil= 11
Bangunan Bukan Bangunan
Bangunan 10 1
Bukan bangunan 0 0
Presin=10/(10+1)=0,9090x100%=90,9%
Recal=10/(10+0)=1x100%=100%
Pada proses melakukan uji coba aplikasi progam tidak dapat
hitung satu dan bukan bangunan terhitung dikarenakan adanya garis
tepi pada pemrosesan.
No Citra Hasil Progam Citra Ideal Evaluasi Jumlah
Bangunan
1
precessen
100%
Recall
100%
Hasil Progam
5
Ideal
5
2 90,9% 100% 10 11
4 100% 89,7% 35 38
5 100% 100% 8 8
6
81,8% 85% 12 14
7
86% 95% 38 46
Rata-Rata 9,1% 95,67%
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah penulis melakukan analisa dan pembahasan mengenai
perhitungan kepadatan bangunan, maka pada bab penutup ini akan diambil kesimpulan serta saran pengembangan dari tugas akhir “Menghitung
Banyak Kepadatan Bangunan di Suatu Wilayah pada Citra Google Satelit
dengan Menggunakan Metode Deteksi Tepi Sobel” ini.
a. Menghitung banyak bangunan di suatu wilayah pada citra google
satelit dengan menggunakan metode deteksi tepi sobel memberikan
kemudahan kepada masyarakat untuk dapat mengetahui dari hasil yang
di dapat di program antara 1-10 dianggap tidak padat, 10-20 dianggap
sedang, dan lebih 20 dianggap padat
b. Membuat aplikasi yang dapat membantu dalam menghitung kepadatan
bangunan seperti pemanfaatan lahan dengan ketinggian 100m.
c. Dari beberapa hasil uji program dapat menemukan hasil rata-rata
preccion 9,1%dan recall 95,67%untuk mengetahui hasil keakuratan
Ada beberapa saran yang penulis berikan setelah menyelesaikan “Menghitung jumlah bangunan dengan metode deteksi tepi Sobel” antara
lain :
1. Bagi Pembuatan Aplikasi Selanjutnya
Pembuatan Aplikas ini diharapkan sebagai dasar acuan apabila
digunakan untuk Pembuatan Aplikasi selanjutnya tentang pembuatan
Menghitung jumlah bangunan dengan metode deteksi tepi Sobel, agarl
Pembuatan aplikasi selanjutnya lebih sempurna dan diharapkan dapat
diterapkan di metode yang lain.
2. Bagi tempat Pembuatan aplikasi
Diharapkan pemilik dapat menggunakan Aplikasi ini secara
maksimal dan dapat dijalankan dengan baik mengetahui jumlah bangunan.
3. Bagi institusi pendidikan
Pembuatan aplikasi ini diharapakan dapat dijadikan sumber
perpustakaan baru bagi perkembangan di jurusan Teknik Informatika
yang mengarah pada Pembuatan Aplikasi Menghitung jumlah bangunan
dengan metode deteksi tepi Sobel dengan menggunakan pemrogaman
Prasetyo Eko. Pengolahan Citra Digital Dan Aplikasinya Menggunakan
Matlab.Yogyakarta:Andi: 2012.
Sumber: http://komputa.if.unikom.ac.id/jurnal/analisis-intensitas-metode
Diakses pada tanggal 1 February 2013
Sumber: http://id.pdfsb.com/operasi+morfologi+citra+digital+matlab
Diakses tanggal 02 February 2013
Sumber: http://www.scribd.com/doc/47932771/Dilasi-Dan-Erosi
Diakses tanggal 03 February 2013 pukul 20.00
Sumber: http://www.mathworks.com/help/images/ref/imhist.html
Diakses tanggal 04 February 2012 pukul 22.45
Sumber: http://www.cyclismo.org/tutorial/matlab/if.html
Diakses tanggal 05 February 2012 pukul 22.00
Sumber: http://www.mathworks.com/help/images/ref/imclearborder.html