4.3.2. Aplikasi MATLAB
Pada sub bab ini akan dijabarkan listing program yang diprogram menggunakan software
MATLAB diantaranya penjelasan tampilan GUI, inisialisasi komunikasi serial, inisialisasi webcam, proses pengolahan citra, dan proses pengenalan bentuk benda.
4.3.2.1. Tampilan Gui MATLAB
GUI Graphical User Interface yaitu suatu tampila yang berfungsi untuk mempermudah dalam pengawasan program yang sedang terjadi atau dieksekusi. GUI
memiliki peran yang sangat baik karena dengan adanya GUI, pengguna akan dapat melihat apa yang sedang terjadi didalam program seperti pemrosesan data dan lain-lain. Tampilan
GUI yang dibuat dapat ditunjukan pada Gambar 4.46.
Gambar 4.46. Tampilan GUI MATLAB Terdapat beberapa fasilitas pada tampilan GUI yang digunakan yaitu axes, edit text,
popupmenu, dan push butoon. Fasilitas axes berfungsi untuk menampilkan gambar, grafik,
ataupun diagram. Axes digunaka untuk menampilkan gambar dari benda yang telah diproses menjadi gambar biner. Selain axes, terdapat fasilitas edit text yang berfungsi
untuk menampilkan jumlah benda yang telah terdeteksi, nilai data citra biner, dan menampilkan hasil deteksi sistem. Sedangkan popupmenu berfungsi untuk menampilkan
daftar pilihan PORT komunikasi yang digunakan untuk melakuan komunikasi serial agar laptop dan mikrokontroler dapat saling berhubungan. Bagian yang terakhir yaitu push
button . Push button berfungsi sebagai sebuah tombol yang digunakan untuk mengontrol
suatu program yang akan diekseusi dengan cara diklik.
4.3.2.2. Inisialisasi Komunikasi Serial
Sebelum menghubungkan laptop dengan mikrokontroler Atmega32, maka pada bagian program MATLAB harus di inisialisasi terlebih dahulu. Hal ini dikarenakan pada
bagian laptop dengan mikrokontroler harus memiliki baudrate yang sama. Jika kedua perangkat tidak memiliki baudrate yang sama, maka sudah dapat dipastikan kedua
perangkat ini tidak akan dapat berkomunikasi satu sama lainnya. Program inisialisasi komunikasi serial ditunjukan gambar 4.47.
Gambar 4.47. Inisialisasi Komunikasi Serial
4.3.2.3. Inisialisasi Webcam
Untuk melakukan proses pengolahan citra, maka dibutuhkan perangkat keras berupa kamera atau webcam. Oleh karena itu, maka diperlukannya proses inisialisasi
perangkat keras tersebut agar dapat dikenali oleh MATLAB. Inisialisasi webcam dapat dilihat pada gambar 4.48.
Gambar 4.48. Inisialisasi Webcam Perintah program
“imaqhwinfo” adalah perintah program untuk menampilkan informasi yang akan disampaikan oleh webcam dan kemudian informasi tersebut akan
diinisialisasi ke dalam program. Hal ini bertujuan agar antara webcam dengan software Matlab dapat melakukan komunikasi. Informasi yang tampil adalah adaptor kamera, port
webcam, jenis warna dan resolusi piksel.
4.3.2.4. Proses Pengolahan Citra
Proses pengolahan citra merupakan suatu proses untuk mengolah suatu kualitas gambar atau citra yang telah diambil kamera atau webcam agar gambar tersebut dapat
dikenali dan memiliki nilai-nilai tertentu. Nilai-nilai yang telah didapat kemudian diproses untuk mengklasifikasikan gambar-gambar tertentu. Proses secara berurutan yaitu mula-
mula gambar diambil dengan fungsi “getsnapshoot”, kemudian gambar yang telah diambil
diproses dan diubah menjadi gambar grayscale dengan tujuan untuk mempermudah dalam pemrosesan. Langkah selanjutnya yaitu mengubah citra grayscale menjadi citra biner, hal
ini dikarenakan saat pengenalan bentuk benda menggunakan metode citra biner. Setelah citra biner, langkah selanjutnya yaitu proses cropping atau pemotongan gambar. Hal ini
bertujuan untuk menghilangkan background atau latar belakang yang tidak dibutuhkan untuk diproses.
Fungsi “imresize” bertujuan untuk memperkecil kualitas citra yang telah diolah agar memiliki nilai yang tidak terlalu besar. Kemudian langkah terakhir yaitu proses
penjumlahan data nilai citra biner yang telah dipotong menjadi sebuah nilai. Proses pengolahan citra ditunjukan gambar 4.49.
Gambar 4.49. Proses Pengolahan Citra
4.3.2.5. Proses Pengenalan Bentuk Benda
Berdasarkan nilai-nilai dari tabel 4.3, maka dibuat sebuah range yang menentukan bentuk benda tersebut. Untuk benda kubus range data yang digunakan yaitu antara 81
sampai 110, sedangkan untuk benda balok range data yang digunakan yaitu antara 111 sampai 140, kemudian untuk benda tabung range data yang digunakan yaitu antara 65
sampai 80, dan untuk benda bola range data yang digunakan yaitu antara 42 sampai 64. Dari data tersebut, maka dapat dibuat range nilai untuk mengetahui dan mengenali dari
masing-masing bentuk benda. Listing program ditunjukan gambar 4.50.
Gambar 4.50. Listing Program Pengenalan Bentuk Benda Proses berjalannya program jika data memiliki nilai antara 81-110 maka akan
tampil pada “edit6” benda yang terdeteksi yaitu kubus, kemudian menjumlahkan nilai kubus yang terdeteksi sebanyak 1 dan
hasil penjumlahan tersebut ditampilkan pada “edit1” lalu mengirimkan karakter „a‟ secara serial. Jika data memiliki nilai antara 111-140 maka
akan tampil pada “edit6” benda yang terdeteksi yaitu balok, kemudian menjumlahkan nilai
balok yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit2”
lalu mengirimkan karakter „b‟ secara serial. Jika data memiliki nilai antara 65-
80 maka akan tampil pada “edit6” benda yang terdeteksi yaitu tabung, kemudian menjumlahkan nilai tabung yang terdeteksi sebanyak 1
dan hasil penjumlahan tersebut ditampilkan pada “edit3” lalu mengirimkan karakter „c‟
secara serial. Jika data memiliki nilai antara 42- 64 maka akan tampil pada “edit6” benda
yang terdeteksi yaitu bola, kemudian menjumlahkan nilai bola yang terdeteksi sebanyak 1 dan
hasil penjumlahan tersebut ditampilkan pada “edit4” lalu mengirimkan karakter „b‟ secara serial. Apabila data tidak berada didalam range yang ada, maka itu berarti benda
tidak terdeteksi oleh sistem kemudian sistem akan mengirimkan karakter „e‟ secara serial.