• Tidak ada hasil yang ditemukan

Menurut Teuinsuksa (2009), Dibangun dengan obyek grafik seperti tombol (button), kotak teks, slider, menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya lebih mudah dipelajari dan digunakan karena orang yang menjalankannya tidak perlu mengetahui perintah yang ada dan 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 disempurnkan sampai sekarang. GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasa pemrogram lainnya, diantaranya:

1. 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.

2. GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan pemakai tidak perlu repot membuatnya sendiri.

3. Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.

4. Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan dengan bahasa pemrograman lainnya.

2.11.1 Membuat GUI dengan MATLAB

Menurut Teuinsuksa (2009), MATLAB mengimplementasikan GUI sebagai sebuah figure yang berisi barbagai obyek UIControl. Selanjutnya kita harus memprogram masing-masing obyek agar dapat bekerja ketika diaktifkan oleh pemakai GUI. Langkah dasar yang harus dikerjakan dalam membuat GUI adalah:

1. 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 push button, radiobutton, chexkboxes, edit

text, static text, slider, frames, popup menu, axes, dan

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.

2. 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-fig-file. Matlab User’s Guide, The Math Works inc, 1989.

Pada bab ini akan dijelaskan mengenai proses pembuatan penelitian pengolahan citra digital untuk mengenali tanda air pada uang kertas rupiah asli dan palsu dengan menerapkan segmentasi citra. 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

Data set diperoleh dari pengambilan gambar uang kertas rupiah asli dan uang rupiah hasil scan yang dicetak sebagai contoh uang palsu. Gambar diambil menggunakan kamera DSLR. Gambar yang diambil berupa tampilan uang kertas tepat di posisi tanda air berada. Dalam hal ini dilakukan 2 (Dua) skenario cara pengambilan gambar uji. Pertama dilakukan tepat di bawah lampu statis di dalam ruangan sebanyak 30 gambar uji. Kedua dilakukan di bawah sinar matahari sebanyak 30 gambar uji. Hasil dari pengambilan gambar dapat dilihat di Tabel 3.1 dan Tabel 3.2.

Tabel 3.1 Data Set Citra Di Dalam Ruangan

No. Gambar Uang Keterangan

1. Asli di dalam ruangan

2. Asli di dalam ruangan

3. Asli di dalam ruangan

5. Asli di dalam ruangan

6. Asli di dalam ruangan

7. Asli di dalam ruangan

8. Asli di dalam ruangan

10. Asli di dalam ruangan

11. Asli di dalam ruangan

12. Asli di dalam ruangan

13. Asli di dalam ruangan

15. Asli di dalam ruangan

16. Palsu di dalam ruangan

17. Palsu di dalam ruangan

18. Palsu di dalam ruangan

19. Palsu di dalam ruangan

21. Palsu di dalam ruangan

22. Palsu di dalam ruangan

23. Palsu di dalam ruangan

24. Palsu di dalam ruangan

25. Palsu di dalam ruangan

Tabel 3.2 Data Set Citra Di Luar Ruangan

27. Palsu di dalam ruangan

28. Palsu di dalam ruangan

29. Palsu di dalam ruangan

30. Palsu di dalam ruangan

No. Gambar Uang Keterangan

2. Asli di luar ruangan

3. Asli di luar ruangan

4. Asli di luar ruangan

5. Asli di luar ruangan

7. Asli di luar ruangan

8. Asli di luar ruangan

9. Asli di luar ruangan

10. Asli di luar ruangan

12. Asli di luar ruangan

13. Asli di luar ruangan

14. Asli di luar ruangan

15. Asli di luar ruangan

16. Palsu di luar ruangan

18. Palsu di luar ruangan

19. Palsu di luar ruangan

20. Palsu di luar ruangan

21. Palsu di luar ruangan

22. Palsu di luar ruangan

24. Palsu di luar ruangan

25. Palsu di luar ruangan

26. Palsu di luar ruangan

27. Palsu di luar ruangan

28. Palsu di luar ruangan

3.2 Analisis Sistem

Penelitian pengolahan citra digital untuk mengenali tanda air pada uang kertas rupiah asli dan palsu dengan menerapkan segmentasi citra menggunakan bahasa pemrograman Matlab. Citra diambil dengan cara memotret uang kertas rupiah tepat di bagian tanda air berada sebagai uang asli, dan men-scan uang rupiah kemudian dicetak sebagai contoh uang palsu, kemudian proses selanjutnya adalah grayscale, binerisasi, dilasi,

erosi, dilasi-erosi, skeleton. 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 binerisasi yang merupakan proses untuk melakukan konversi dari citra gray menjadi citra yang hanya memiliki dua warna (biner) yaitu hitam dan putih. Setelah itu dilakukan proses dilasi supaya garis yang terputus pada objek akan tersambung setelah garis-garis objek yang tersambung dilakukan proses erosi. Erosi adalah kebalikan dari dilasi. Pada operasi ini, ukuran obyek diperkecil dengan mengikis sekeliling obyek. Pada tahap selanjutnya dilakukan tahap

dilasi-erosi untuk supaya dapat mengisi lubang kecil pada objek, menggabungkan

objek-objek yang berdekatan, untuk tahap selanjutnya dilakukan proses

skeleton, yaitu proses pengikisan sebuah objek sebanyak mungkin dengan

tetap mempertahankan bentuk umum dari polanya, yang terakhir dalam pembuatan aplikasi adalah menampilkan hasil pendeteksian atas ada atau tidaknya tanda air. Dari penelitian tersebut akan dilakukan perhitungan keakuratan sistem dalam mendeteksi tanda air.

3.3. Gambaran Aplikasi Secara Umum

Secara garis besar untuk melakukan pengolahan citra digital pada uang melalui bebarapa proses yaitu meliputi: ( Gambar 3.1)

1. Citra masukan berupa citra berwarna

2. Baca inputan citra yang akan diproses menjadi :

a. Grayscale b. Binerisasi c. Dilasi d. Erosi e. Dilasi-Erosi f. Skeleton 3. Output

Setelah proses grayscale, binerisasi, dilasi, erosi, dilasi-erosi, skelet on. Citra keluaran akan berupa pernyataan ada atau tidak

tanda air dari pengolahan citra digital. Pada implementasinya penelitian ini melakukan pengambilan gambar sample memakai uang asli dan uang hasil scaning.

Untuk mengetahui garis besar dari proses sistem ini maka dibuatlah flowchart alur sistem pada Gambar 3.1

3.3.1 Perancangan Pr oses

Untuk mengetahui proses-proses yang dilakukan maka akan dijelaskan sebagai berikut :

3.3.1.1 Grayscale

Grayscale merupakan proses pengolahan citra dengan

cara mengubah nilai-nilai piksel awal citra menjadi sebuah citra keabuan.(Gambar 3.2)

Gambar 3.2 Flowchart Grayscale

Langkah awal pada flowchart grayscale adalah citra masukan berwarna yang kemudian akan diproses menjadi citra grayscale. 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 untuk menggubah piksel RGB (Red Green Blue) menjadi skala keabu – abuan dengan menggunakan fungsi rgb2gray.

Gray = rgb2gray(I) ... (4) Variabel gray berfungsi untuk menampung hasil konversi citra RGB ke citra abu-abu. Citra yang dikonversi adalah citra uang yang ditampung dalam variable I.

3.3.1.2 Binerisasi

Proses selanjutnya adalah melakukan thresholding pada

image yang diperoleh dari proses grayscale dan pada image

masukan awal.

3.3.1.3 Dilasi

Dilasi merupakan suatu proses menambahkan piksel pada batasan dari objek dalam suatu image sehingga nantinya apabila dilakukan operasi ini maka image hasilnya lebih besar ukurannya dibandingkan dengan image aslinya.. Pengertian penebalan ini dikontrol oleh bentuk strel. Flowchart pada gambar 3.4 adalah proses dari dilasi. Setelah memproses metode binerisasi kemudian akan diproses dilasi. Proses ini menyambung garis pada objek. Berikut adalah potongan baris program dilasi.

b= imdilate(BW,se) ... (5) Variabel b berfungsi untuk menampung hasil dilasi. Citra yang di-dilasi adalah citra dari binerisasi yang ditampung dalam variable I. Variabel se adalah radius dari proses dilasi berlangsung.

Gambar 3.4 Flowchart Dilasi

3.3.1.4 Erosi

Pada proses ini akan di-erosi (Gambar 3.5). Erosi adalah mengecilkan atau menipiskan obyek citra biner, berbeda dengan dilasi yang melakukan penumbuhan atau penebalan. Erosi dapat dianggap sebagai operasi

morphological filtering dimana detail citra yang lebih kecil

dari strel akan difilter (dihilangkan) dari citra. Berbeda dengan dilasi, apabila erosi dilakukan maka yang dikerjakan adalah memindahkan piksel pada batasan-batasan objek yang akan di erosi. Jumlah dari piksel yang ditambah atau dihilangkan bergantung pada ukuran dan bentuk dari

elemen terstruktur yang digunakan untuk memproses citra tersebut. Alur proses Erosi dapat dilihat pada gambar 3.5.

Gambar 3.5 Flowchart Erosi 3.3.1.5 Dilasi-Erosi

Pada proses ini akan di-dilasi-erosi, adalah untuk mendapatkan garis tepi dari objek dengan cara mengurangi hasil dari dilasi dan erosi.

Gambar 3.6 Flowchart Dilasi-Erosi 3.3.1.6 Skeleton

Skeleton adalah kerangka (atau sumbu medial) yang

merepresentasikan sebuah bentuk atau citra biner, dihitung dengan menggunakan operator morfologi. Proses

skeletoning dapat didefinisikan sebagai gabungan dari erosi

dan opening.

3.3.1.7 Deteksi Tanda Air

Pada proses deteksi tanda air ini adalah untuk mengidentifikasi adanya piksel putih atau tidak pada hasil

skeletonizing. Alur proses deteksi tanda air bisa dilihat pada

gambar 3.8 .

Gambar 3.8 Flowchart Deteksi Tanda Air

3.4 Perancangan Tampilan Antar muka

Pada perancangan antar muka yang akan dibuat sedemikia nrupa yang nantinya merupakan suatu halaman untuk berinteraksi bagi pemakai/ pengguna program dan diharapkan dapa tmemahami jalan kerja program dengan mudah. Dalam membuat program 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 tabel yang berisi perancangan dalam pembuatan program.

Tabel 3.3 Perancangan Program

File-file Komponen Nama fungsi

PCD Uang

Figure Deteksi Tanda

Air Static text Segmentasi citra untuk deteksi tanda air Judul

Axes 1 Menampilkan citra

Push button Buka Citra Menampilkan

inputan

Pushbutton Process

Menjalankan proses grayscale ,binerisasi,

dilasi, erosi ,dilasi-erosi, skeleton, deteksi tanda air

Axes 2 - Menampilkan Citra

Axes 3 - Menampilkan Citra

Axes 4 - Menampilkan Citra

Axes 5 - Menampilkan Citra

Axes 6 - Menampilkan Citra

BAB IV

Dokumen terkait