129
TUGAS AKHIR PROTOTYPE PEMILAH BUAH BERDASARKAN BENTUK MENGGUNAKAN WEBCAM Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma Disusun oleh : DIMAS PRADIPTA SETYA ADIAKSA NIM : 125114041 JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2017 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

  • Upload
    vanlien

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

TUGAS AKHIR

PROTOTYPE PEMILAH BUAH BERDASARKAN

BENTUK MENGGUNAKAN WEBCAM

Diajukan untuk memenuhi salah satu syarat

Memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Jurusan Teknik Elektro

Fakultas Sains dan Teknologi Universitas Sanata Dharma

Disusun oleh :

DIMAS PRADIPTA SETYA ADIAKSA

NIM : 125114041

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2017

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

ii

FINAL PROJECT

FRUIT SORTING PROTOTYPE BASED ON SHAPE

USING WEBCAM

In a partial fulfilment of the requirements

For the degree of Sarjana Teknik

Department of Electrical Engineering

Faculty of Science and Technology, Sanata Dharma University

DIMAS PRADIPTA SETYA ADIAKSA

NIM : 125114041

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2017

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“ Hasil tidak akan mengkhianati

usaha ”

Skripsi ini kupersembahkan untuk

Yesus Kristus Juru Slamat & Pembimbingku yang Setia

Bapak, Ibu dan Keluarga tercinta

Sahabat dan Teman-teman seperjuanganku Teknik Elektro 2012

Dan semua pihak yang telah membantu dalam proses skripsi ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

viii

INTISARI

Perkembangan ilmu pengetahuan dan teknologi pada zaman modern ini telah

mengalami peningkatan yang amat pesat. Keadaan seperti ini menimbulkan imbas yang

besar pada semua bidang kehidupan manusia terutama pada bidang industri pertanian.

Khususnya dalam proses identifikasi hasil pertanian buah masih dilakukan secara

tradisional. Oleh karena itu, conveyor pemilah buah berdasarkan bentuk buah dibuat dengan

tujuan untuk menghemat waktu dan membantu pekerjaan manusia dalam proses identifikasi

secara otomatis.

Conveyor pemilah buah berdasarkan bentuk buah dikendalikan oleh ATmega32

menggunakan fasilitas interrupt, sistem berfungsi untuk mengatur putaran motor dc dan

komunikasi serial antara komputer dengan ATmega32 menggunakan komunikasi serial

USART yang diprogram menggunakan CodeVision AVR, GUI pada software MATLAB

digunakan untuk tampilan bentuk buah terdeteksi. Data yang diperoleh hasil capture akan

diproses melalui tahapan seperti RGB to HSV, saturation thresholding, remove small

objects, crop image, normalisasi rotasi, normalisasi ukuran, normalisasi template dan

histogram proyeksi. Hasil ektraksi ciri akan dibandingkan dengan variasi database dengan

melakukan perhitungan jarak.

Hasil dari penelitian ini adalah sistem dapat membedakan 4 macam buah secara

realtime. Namun conveyor belom sempurna dalam proses memisahkan buah berdasarkan

bentuk tetapi dari proses matlab sudah bisa mengkirim karakter buah untuk diketahui oleh

mikrokontroler sehingga karakter yang diterima mikrokontroler ditampilkan oleh LED.

Komunikasi mikro dan matlab sudah berjalan tetapi perlu dilakukan restart. Proses

pengenalan bentuk buah dipengaruhi oleh cahaya sehingga cahaya diatur sedemikian agar

sesuai serta penyesuaian nilai thresholding dalam matlab.

Kata kunci : conveyor, ekstrasi ciri, histogram proyeksi, thresholding.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

ix

ABSTRACT

The development of science and technology in modern times has increased very

rapidly. This situation has a major impact on all areas of human life in the agricultural

industry. Particularly in the process of identifying fruit crops is still done traditionally.

Therefore, fruit-sorting conveyors based on the shape of the fruit are made for the purpose

of saving time and assisting human work in the process of automatic identification.

The fruit-picking conveyor based on the shape of the fruit is controlled by ATmega32

using an interrupt facility, the system functions to regulate the dc motor rotation and serial

communication between computers with ATmega32 using USART serial communications

programmed using CodeVision AVR, GUI on MATLAB software used for detected fruit

shape display. The data obtained by the capture will be processed through stages such as

RGB to HSV, saturation thresholding, remove small objects, crop image, normalization of

rotation, normalization of size, template normalization and projection histogram. The result

of feature extraction will be compared with the database variation by doing the distance

calculation.

The result of this research is the system can distinguish 4 kinds of fruit in realtime.

But the conveyor belom is perfect in the process of separating the fruit based on the shape

but from the matlab process can already send the character of the fruit to be known by the

microcontroller so that the character received by the microcontroller displayed by the LED.

Microwave and matlab communication is running but needs to be restarted. The process of

recognizing the shape of the fruit is affected by the light so that the light is adjusted so as to

fit and adjust the thresholding value in matlab

Keywords : Conveyor, feature extraction, projection histogram, thresholding

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

x

KATA PENGANTAR

Puji dan Syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala berkat

dan karunis-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Penulis

menyadari bahwa banyak pihak yang telah memberikan doa, dukungan, perhatian serta

bantuan kepada penulis sehingga dapat menyelesaikan tugas akhir ini. Oleh karena itu,

penulis mengucapkan terima kasih yang sebesar-besarnya kepada:

1) Sudi Mungkasi, S.Si., M.Math.Sc.,Ph.D selaku dekan Fakultas Sains dan Teknologi

Universitas Sanata Dharma Yogyakarta.

2) Petrus Setyo Prabowo, S.T.,M.T., Ketua Program Studi Teknik Elektro Universitas

Sanata Dharma Yogyakarta.

3) Ir. Tjendro selaku dosen pembimbing akademik yang telah mendampingi dan

membimbing penulis selama perkuliahan.

4) Dr. Linggo Sumarno, dosen pembimbing Tugas Akhir yang dengan penuh

pengertian, sabar dan ketulusan hati memberi bimbingan, kritik, saran, serta motivasi

dalam penulisan tugas akhir ini.

5) Ibu Wiwien Widyastuti S.T, M.T,dan Bapak Dr.Iswanjono selaku dosen penguji

yang telah bersedia memberikan masukan, bimbingan, dan saran dalam memperbaiki

tugas akhir ini.

6) Bapak/ Ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh

pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi,

Universitas Sanata Dharma.

7) Kedua orang tua dan keluarga tercinta yang telah banyak memberikan doa dan

dukungan motivasi selama menempuh pendidikan di Universitas Sanata Dharma.

8) Staff sekretariat Teknik Elektro yang telah membantu dalam hal administrasi.

9) Staff dan petugas laboratorium Teknik Elektro yang telah membantu banyak hal

untuk kelancaran tugas-tugas perkuliahan.

10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung

dan menyemangati saya dalam menyelesaikan tugas akhir ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xii

DAFTAR ISI

HALAMAN JUDUL (Bahasa Indonesia) ................................................................. i

HALAMAN JUDUL (Bahasa Inggris)...................................................................... ii

LEMBAR PERSETUJUAN ...................................................................................... iii

LEMBAR PENGESAHAN ....................................................................................... iv

HALAMAN PERSEMBAHAN ................................................................................ v

LEMBAR PERNYATAAN KEASLIAN KARYA .................................................. vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ..... vii

INTISARI .................................................................................................................. viii

ABSTRACT .............................................................................................................. ix

KATA PENGANTAR ............................................................................................... x

DAFTAR ISI ............................................................................................................. xii

DAFTAR GAMBAR ................................................................................................. xv

DAFTAR TABEL ..................................................................................................... xvii

BAB I PENDAHULUAN

1.1. Latar Belakang ........................................................................................ 1

1.2. Tujuan dan Manfaat ............................................................................... 2

1.3. Batasan Masalah .................................................................................... 2

1.4. Metodologi Penelitian ........................................................................... 2

BAB II DASAR TEORI

2.1. Belt Conveyor ......................................................................................... 4

2.1.1. Bagian-bagian Belt Conveyor ....................................................... 5

2.2. Motor Dc ................................................................................................ 5

2.2.1. Prinsip Kerja Motor Dc ................................................................. 6

2.3. Mikrokontroler AVR ATmega32 ........................................................... 8

2.3.1. Arsitektur AVR ATmega32 .......................................................... 8

2.3.2. Deskripsi Mikrokontroler ATmega32 ........................................... 8

2.3.3. Organisasi Memori AVR ATmega32 ............................................ 10

2.3.3.1. Memori Program................................................................ 10

2.3.3.2. Memori Data ...................................................................... 10

2.3.4. Interupsi ......................................................................................... 10

2.3.5. Timer/Counter ............................................................................... 11

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xiii

2.3.5.1. Timer/Counter 0 ............................................................... 11

2.3.6. Komunikasi Serial USART ........................................................... 13

2.3.6.1. Inisialisasi USART ............................................................ 14

2.3.6.1.1. USART I/0 Data Register ................................... 14

2.3.6.1.2. USART Control and Status Register A .............. 14

2.3.6.1.3. USART Control and Status Register B .............. 15

2.3.6.1.4. USART Control and Status Register C .............. 17

2.4. Software Matlab ...................................................................................... 17

2.4.1. Sistem Matlab ................................................................................ 18

2.4.2. Karakteristik Matlab ...................................................................... 20

2.4.3. Karakteristik Lingkungan Kerja Matlab ........................................ 21

2.5. Regulator IC 78xx dan Transistor Penguat Arus .................................... 23

2.6. Photodioda .............................................................................................. 25

2.7. Limit Switch ............................................................................................ 28

2.8.. Webcam ................................................................................................. 29

2.9. Buah ........................................................................................................ 29

2.10. Pengolahan Citra Digital ...................................................................... 30

2.11. Pemprosesan Citra ................................................................................ 31

2.11.1. Citra Grayscale ............................................................................ 31

2.11.2. Cropping ...................................................................................... 32

2.11.3. Warna HSV ................................................................................. 32

2.11.4. Citra Biner ................................................................................... 33

2.11.5. Resizing ........................................................................................ 34

2.12. Metode Histogram ................................................................................ 34

BAB III PERANCANGAN PENELITIA

3.1. Proses Sistem Kerja ................................................................................ 36

3.2. Perancangan Hardware .......................................................................... 37

3.2.1. Perancangan Mekanik Conveyor ................................................... 37

3.2.2. Minimum System Atmega32 ......................................................... 39

3.2.3. Sensor Photodioda ......................................................................... 41

3.2.4. Regulator dan Penguat Arus .......................................................... 42

3.2.5. Driver Motor DC menggunakan Limit Switch .............................. 43

3.3. Perancangan Perangkat Lunak ............................................................... 43

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xiv

3.3.1. Flowchart Program Pengenalan Bentuk Buah pada MATLAB .... 47

3.3.2. Perancangan GUI ........................................................................... 52

BAB IV HASIL DAN PEMBAHASAN

4.1. Bentuk Fisik dan Sistem Kerja Conveyor .............................................. 53

4.2. Penjelasan Program ................................................................................ 55

4.2.1. Langkah Awal Menjalankan Program Pengenalan Bentuk Buah . 55

4.2.2. Penjelasan Program Matlab ........................................................... 57

4.2.2.1. Tampilan GUI Matlab ....................................................... 57

4.2.2.2. Inisialisasi Komunikasi Serial ........................................... 58

4.2.2.3. Inisialisasi Webcam ........................................................... 59

4.2.2.4. Proses Pengenalan Citra .................................................... 60

4.2.2.4. Proses Pengenalan Buah .................................................... 63

4.2.3. Penjelasan Program AVR .............................................................. 65

4.2.3.1. Pengendali Sensor Photodioda .......................................... 65

4.2.3.2. Pengendali Komunikasi USART ....................................... 66

4.2.3.3. Pengendali Motor .............................................................. 66

4.2.3.4. Subrutin Program Utama ................................................... 67

4.3. Pengujian Komunikasi Serial ................................................................. 68

4.4. Pengujian Keberhasilan Mengaktifkan Indikator LED .......................... 69

4.5. Pengujian Keberhasilan ATmega32 menggerakkan Conveyor .............. 69

4.6. Pengujian dan Analisis ........................................................................... 70

4.6.1. Pengujian Pengenalan dengan Nilai Thresholding ........................ 70

4.6.2. Pengujian Pengenalan dengan Varias Remove Small Object ....... 75

BAB V KESIMPULAN

5.1. Kesimpulan ............................................................................................. 78

5.2. Saran ....................................................................................................... 78

DAFTAR PUSTAKA ................................................................................... ............. 79

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xv

DAFTAR GAMBAR

Halaman

Gambar 2.1. Contoh Belt Conveyor......................................................................... 4

Gambar 2.2. Bagian-Bagian Belt Conveyor ............................................................ 5

Gambar 2.3. Medan magnet yang membawa arus mengelilingi konduktor ............ 6

Gambar 2.4. Medan magnet yang membawa arus mengelilingi konduktor ............ 6

Gambar 2.5. Reaksi garis fluks ................................................................................ 7

Gambar 2.6. Konfigurasi Pin Mikrokontroler ATmega32 ...................................... 9

Gambar 2.7. Mode Phase Correct PWM ................................................................ 12

Gambar 2.8. Mode Fast PWM ................................................................................ 13

Gambar 2.9. Register UDR ..................................................................................... 14

Gambar 2.10. Register UCSRA ................................................................................. 14

Gambar 2.11. Register UCSRB ................................................................................. 15

Gambar 2.12. Register UCSRC ................................................................................ 17

Gambar 2.13. Software Matlab .................................................................................. 18

Gambar 2.14. Rangkaian Umum Regulator 78xx ..................................................... 24

Gambar 2.15. Rangkaian Catu Daya Dengan Penguat .............................................. 24

Gambar 2.16. Simbol dan Bentuk Photodioda ......................................................... 26

Gambar 2.17. Respon Relatif Spektral untuk Si, Ge, dan Se .................................... 26

Gambar 2.18. Hubungan Iλ Dengan Fc Pada Photodioda ......................................... 26

Gambar 2.19. Rangkaian Sensor Photodioda ............................................................ 27

Gambar 2.20. Aplikasi Sensor Photodioda ................................................................ 27

Gambar 2.21. Simbol dan Bentuk Limit Switch ....................................................... 28

Gambar 2.22. .Konstruksi dan Simbol Limit Switch ................................................. 28

Gambar 2.23. Contoh Webcam .................................................................................. 29

Gambar 2.24. Buah-buahan ....................................................................................... 29

Gambar 2.25. Skema Kegiatan Pengenalan Pola ...................................................... 30

Gambar 2.26. Citra Skala Keabuan ........................................................................... 32

Gambar 2.27. Model warna HSV .............................................................................. 33

Gambar 2.28. Contoh Citra Biner .............................................................................. 33

Gambar 2.29. Histogram Citra .................................................................................. 34

Gambar 3.1. Blok Diagram Sistem .......................................................................... 36

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xvi

Gambar 3.2. Desain Conveyor ................................................................................. 38

Gambar 3.3. Desain Perancangan Conveyor1(1)..................................................... 38

Gambar 3.4. Desain Perancangan Conveyor1(2)..................................................... 39

Gambar 3.5. Desain Perancangan Conveyor2 ......................................................... 39

Gambar 3.6. Rangkaian Osilator ATmega32 .......................................................... 40

Gambar 3.7. Rangkaian Reset ATmega32 .............................................................. 40

Gambar 3.8. Rangkaian Sensor Photodioda ............................................................ 41

Gambar 3.9. Rangkaian Regulator 5v ..................................................................... 42

Gambar 3.10. Rangkaian Regulator 24v ................................................................... 42

Gambar 3.11. Driver Motor Dc ................................................................................. 43

Gambar 3.12. Flowchart sistem ................................................................................ 45

Gambar 3.13. Flowchart system(lanjutan) ................................................................ 46

Gambar 3.14. Hasil Capture Image ........................................................................... 47

Gambar 3.15. Hasil Convert RGB to HSV ................................................................. 47

Gambar 3.16. Hasil Saturasi ...................................................................................... 48

Gambar 3.17. Proses Biner ........................................................................................ 48

Gambar 3.18. Proses Remove Small Objects ............................................................. 48

Gambar 3.19. a. Crop Image 1 b. Normalisasi Rotasi c. Crop Image 2 .................... 49

Gambar 3.20. Hasil Normalisasi Template ................................................................ 49

Gambar 3.21. Hasil Histogram Proyeksi ................................................................... 50

Gambar 3.22. Hasil Ekstraksi Ciri Buah ................................................................... 50

Gambar 3.23. Flowchart sistem pada matlab ............................................................ 51

Gambar 3.24. Tampilan Perancangan GUI ............................................................... 52

Gambar 4.1. Conveyor ............................................................................................. 53

Gambar 4.2. Minimum System ATmega32 .............................................................. 54

Gambar 4.3. Buah yang Dideteksi ........................................................................... 54

Gambar 4.4. Tempat Peletakan ............................................................................... 54

Gambar 4.5. Tampilan Matlab ................................................................................. 56

Gambar 4.6. Tampilan Guide Quick Start ............................................................... 56

Gambar 4.7. Tampilan Guide Pengenalan ............................................................... 57

Gambar 4.8. Tampilan GUI ..................................................................................... 57

Gambar 4.9. Inisialisasi Komunikasi Serial ............................................................ 58

Gambar 4.10. Inisialisasi Webcam ............................................................................ 59

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xvii

Gambar 4.11. Inisialisasi Program Objek .................................................................. 62

Gambar 4.12. Listing Program ADC ......................................................................... 65

Gambar 4.13. Listing Program Pengendali Conveyor ............................................... 65

Gambar 4.14. Listing Program Komunikasi USART................................................ 66

Gambar 4.15. Listing Program Pengendali Putar Motor ........................................... 66

Gambar 4.16. Inisialisasi Port ................................................................................... 66

Gambar 4.17. Pemberian Nilai Data .......................................................................... 67

Gambar 4.18. Subrutin Program Utama .................................................................... 67

Gambar 4.19. Saat Cerah ........................................................................................... 71

Gambar 4.20. Saat Redup .......................................................................................... 71

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

xviii

DAFTAR TABEL

Halaman

Tabel 2.1. Hubungan PIN dan Interupsi .................................................................... 11

Tabel 2.2. Penentuan Karakter .................................................................................. 16

Tabel 2.3. Karakteristik Regulator Tegangan ............................................................ 23

Tabel 2.4. Hubungan Arus dengan Hambatan ........................................................... 27

Tabel 3.2. Tampilan Data di LCD ............................................................................. 37

Tabel 4.1. Parameter Thrensholding ......................................................................... 61

Tabel 4.2. Parameter RSO ......................................................................................... 62

Tabel 4.3. Pengujian Komunikasi Pengirim .............................................................. 68

Tabel 4.4. Pengujian Komunikasi Penerima ............................................................. 68

Tabel 4.5. Pengujian Mengaktifkan LED .................................................................. 69

Tabel 4.6. Pengujian Conveyor.................................................................................. 70

Tabel 4.7. Pengujian dengan Variasi1 Cahaya Cerah ............................................... 72

Tabel 4.8. Pengujian dengan Variasi2 Cahaya Cerah ............................................... 72

Tabel 4.9. Pengujian dengan Variasi1 Cahaya Redup............................................... 73

Tabel 4.10. Pengujian dengan Variasi2 Cahaya Redup............................................. 73

Tabel 4.11. Citra Nilai Thresholding ......................................................................... 75

Tabel 4.12. Variasi RSO ............................................................................................ 76

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Indonesia merupakan salah satu negara yang memiliki tanah subur sehingga

flora dan fauna tumbuh besar. Contohnya seperti tanaman buah-buahan yang tumbuh subur

di beberapa daerah Indonesia. Banyak jenis buah-buahan yang ada di Indonesia hingga saat

ini. Seiring dengan banyaknya jenis buah-buahan maka muncul berbagai kendala dalam

proses identifikasi hasil panen buah-buahan berdasarkan pola buah.

Perkembangan ilmu pengetahuan dan teknologi pada zaman modern ini telah

mengalami peningkatan yang amat pesat. Keadaan seperti ini menimbulkan imbas yang

besar pada semua bidang kehidupan manusia terutama pada bidang pertanian. Berbagai

macam jenis alat pertanian telah berkembang pesat seiring dengan tuntutan perkembangan

ilmu pengetahuan dan teknologi yang sedemikian pesatnya. Di dalam dunia usaha

pertanian, khususnya dalam proses identifikasi hasil pertanian masih dilakukan secara

tradisional. Proses identifikasi buah-buahan yang dilakukan secara tradisional mengalami

banyak kendala, hal ini akibat sifat manusia itu sendiri yang mempunyai kelemahan yang

akhirnya meyebabkan terjadinya kekeliruan dalam pemilahan jenis-jenis buah dalam hasil

pertanian. Sebenarnya jika proses tersebut dilakukan secara otomatis akan memberi

keuntungan bagi para pengusaha pertanian maupun bagi pekerja pertanian itu sendiri. Ini

dikarenakan bahwa dengan otomatisasi proses pemilahan buah hasil pertanian akan

mempermudah para pekerja dalam proses pemilahan jenis-jenis buah.

Berdasarkan hal tersebut penulis berusaha untuk membuat prototype sederhana

pemilah buah berdasarkan bentuk buah. Prototype dirancang untuk memilah buah dan

dimasukan dalam wadah yang sudah ditentukan. Dalam pemilahan buah digunakan secara

otomatis yang dideteksi oleh webcam, sebuah belt conveyor yang digerakan motor dc

dengan menggunakan mikrokontroler. Untuk memprogram mikrokontroler diperlukan

suatu software khusus.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

2

1.2. Tujuan dan Manfaat

Tujuan dari skripsi ini adalah menciptakan prototype pemilah buah

berdasarkan bentuk buah dengan webcam berbasis mikrokontroler. Manfaat yang ingin

dicapai dalam skripsi ini adalah :

1. Membantu manusia dalam proses pemilahan buah berdasarkan bentuknya.

2. Untuk penelitian awal pengenalan jenis buah berdasarkan bentuknya

menggunakan webcam.

1.3. Batasan Masalah

Agar Tugas Akhir ini lebih dan memudahkan dalam pembahasan sehingga

tujuan dapat tercapai, maka perlu adanya batasan-batasan masalah. Beberapa batasan yang

digunakan dalam Tugas Akhir ini sebagai berikut :

1. Menggunakan mikrokontroler AVR ATmega8532 sebagai pengolah data sistem

mekanisnya.

2. Buah diletakan ditengah dengan posisi menyamping.

3. Deteksi bentuk buah menggunakan ciri Histogram.

4. Mendeteksi 4 macam buah ( apel, jeruk, pisang, alpukat ).

5. Pemilahan buah menggunakan 2 conveyor. Conveyor 1 untuk mengidentifikasi

bentuk buah, conveyor 2 untuk menempatkan buah pada tempatnya.

1.4. Metodologi Penelitian

Berdasarkan pada tujuan yang ingin dicapai, metode-metode yang digunakan

dalam penyusunan tugas akhir ini adalah:

1. Studi literatur, yaitu dengan cara mendapatkan data dengan membaca buku,

jurnal yang berkaitan dengan permasalahan yang dibahas dalam tugas akhir ini.

2. Dokumenter, yaitu dengan mendapatkan sumber informasi berdasarkan data atau

arsip yang telah ada sehingga dapat membantu dalam mengerjakan tugas akhir

ini.

3. Perancangan hardware, tahap ini bertujuan untuk mencari bentuk model yang

optimal dari sistem yang akan dibuat dengan mempertimbangan dari berbagai

faktor permasalahan dan kebutuhan yang telah ditentukan..

4. Pembuatan hardware.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

3

5. Pemprograman, melakukan proses pemrograman berdasarkan rancangan yang

telah dibuat dengan menggunakan MATLAB.

6. Proses pengambilan data, melakukan uji coba terhadap aplikasi yang telah

dibuat.

7. Analisa dan penyimpulan, proses pendalaman terhadap alat yang dibuat apakah

sudah berhasil sesuai dengan yang direncanakan atau belum, jika terdapat

kekurangan maka akan dilakukan beberapa perbaikan sistem sehingga akhirnya

dapat mengambil sebuah kesimpulan dari penelitian ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

4

BAB II

DASAR TEORI

2.1. Belt Conveyor

Belt Conveyor adalah peralatan yang cukup sederhana yang digunakan untuk

mengangkut unit atau curah dengan kapasitas besar. Alat tersebut terdiri dari sabuk yang

tahan terhadap pengangkutan benda padat. Sabuk yang digunakan pada belt conveyor ini

dapat dibuat dari berbagai jenis bahan. Misalnya dari karet, plastik, kulit ataupun logam yang

tergantung dari jenis dan sifat bahan yang akan diangkut. Untuk mengangkut bahan -bahan

yang panas, sabuk yang digunakan terbuat dari logam yang tahan terhadap panas [4]. Contoh

belt conveyor dapat dilihat pada gambar 2.1.

Gambar 2.1. Contoh Belt Conveyor [1]

Fungsi belt conveyor adalah untuk mengangkut berupa unit load atau bulk material dengan

kapasitas yang cukup besar. Yang dimaksud dengan unit load adalah benda yang biasanya

dapat dihitung jumlahnya satu per satu, misalnya kotak, kantong, balok dll. Sedangkan bulk

material adalah material yang berupa butir-butir, bubuk atau serbuk, misalnya pasir, semen

dll [4].

Konstruksi dari belt conveyor adalah :

1. Konstruksi arah pangangkutan horizontal.

2. Konstruksi arah pengangkutan diagonal atau miring.

3. Konstruksi arah pengangkutan horizontal dan diagonal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

5

2.1.1. Bagian-bagian Belt Conveyor

Gambar 2.2. Bagian-bagian Belt Conveyor [2].

Bagian-bagian belt conveyor sesuai Gambar 2.2. sebagai berikut [3] :

1. Feed hopper berfungsi untuk menjaga agar bahan dapat dibatasi untuk melebihi

kapasitas pada waktu inlet.

2. Outlet chuter berfungsi untuk pengeluaran material.

3. Idle drum berfungsi mengikuti putaran drum yang lain.

4. Take up berfungsi untuk mengatur tegangan ban agar selalu melekat pada drum,

karena semakin lama ban dipakai akan bertambah panjang, kalau tidak diatur

ketegangannya ban akan menjadi kendor.

5. Belt cleaner berfungsi untuk membersihkan belt agar belt selalu dalam keadaan

bersih.

6. Skrapper depan berfungsi agar jangan sampai ada material masuk pada idle drum

dengan belt.

7. Impact roller berfungsi agar menjaga kemungkinan belt kena pukulan beban,

misalnya, beban yang keras, maka umumnya bagian depan sering diberi sprocket

dari karet sehingga belt bertahan lama.

2.2. Motor DC

Motor listrik merupakan perangkat elektromagnetis yang mengubah energi

listrik menjadi energi mekanik. Motor DC memerlukan suplai tegangan yang searah pada

kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc

disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang

berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan

timbul tegangan (GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

6

merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa

tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator,

dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam

medan magnet. Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa

berputar bebas di antara kutub-kutub magnet permanen [5].

2.2.1. Prinsip Kerja Motor DC

Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar

konduktor. Arah medan magnet ditentukan oleh arah aliran arus pada konduktor.

Gambar 2.3. Medan magnet yang membawa arus mengelilingi konduktor [5].

Aturan Genggaman Tangan Kanan bisa dipakai untuk menentukan arah garis fluks di sekitar

konduktor. Genggam konduktor dengan tangan kanan dengan jempol mengarah pada arah

aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks. Gambar 2.4.

menunjukkan medan magnet yang terbentuk di sekitar konduktor berubah arah karena

bentuk U [5].

Gambar 2.4. Medan magnet yang membawa arus mengelilingi konduktor [5].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

7

Jika konduktor berbentuk U (angker dinamo) diletakkan di antara kutub utara dan selatan,

kuat medan magnet konduktor akan berinteraksi dengan medan magnet kutub. Lihat gambar

2.5. reaksi garis fluks.

Gambar 2.5. Reaksi garis fluks [5].

Lingkaran bertanda A dan B merupakan ujung konduktor yang dilengkungkan (looped

conductor). Arus mengalir masuk melalui ujung A dan keluar melalui ujung B.

Medan konduktor A yang searah jarum jam akan menambah medan pada kutub dan

menimbulkan medan yang kuat di bawah konduktor. Konduktor akan berusaha bergerak ke

atas untuk keluar dari medan kuat ini. Medan konduktor B yang berlawanan arah jarum jam

akan menambah medan pada kutub dan menimbulkan medan yang kuat di atas konduktor.

Konduktor akan berusaha untuk bergerak turun agar keluar dari medan yang kuat tersebut.

Gaya-gaya tersebut akan membuat angker dinamo berputar searah jarum jam [5].

Mekanisme kerja untuk seluruh jenis motor secara umum :

1. Arus listrik dalam medan magnet akan memberikan gaya.

2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran /

loop, maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan

mendapatkan gaya pada arah yang berlawanan.

3. Pasangan gaya menghasilkan tenaga putar / torque untuk memutar kumparan.

4. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan

tenaga putaran yang lebih seragam dan medan magnetnya dihasilkan oleh susunan

elektromagnetik yang disebut kumparan medan.

Pada motor dc, daerah kumparan medan yang dialiri arus listrik akan menghasilkan medan

magnet yang melingkupi kumparan jangkar dengan arah tertentu. Konversi dari energi listrik

menjadi energi mekanik (motor) maupun sebaliknya berlangsung melalui medan magnet,

dengan demikian medan magnet disini selain berfungsi sebagai tempat untuk menyimpan

energi, sekaligus sebagai tempat berlangsungnya proses perubahan energi. Agar proses

perubahan energi mekanik dapat berlangsung secara sempurna, maka tegangan sumber harus

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

8

lebih besar daripada tegangan gerak yang disebabkan reaksi lawan. Dengan memberi arus

pada kumparan jangkar yang dilindungi oleh medan maka menimbulkan perputaran pada

motor [5].

2.3. Mikrokontroler AVR ATmega32

AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS

8-bit yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set

Computer). Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir

semua instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register general-

purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal,

serial UART, programmable Watchdog Timer, dan power saving mode. AVR juga

mempunyai ADC, PWM internal dan In-System Programmable Flash on-chip yang

mengijinkan memori program untuk diprogram ulang [6].

2.3.1. Arsitektur AVR ATmega32

Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut :

a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.

b. ADC 10 bit sebanyak 8 Channel.

c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2.

d. Watchdog Timer dengan osilator internal.

e. SRAM sebanyak 512 byte.

f. Memori Flash sebesar 32 kb.

g. Sumber Interupsi internal dan eksternal.

h. Port SPI (Serial Pheriperal Interface).

i. EEPROM on board sebanyak 512 byte.

j. Komparator analog.

k. Port USART (Universal Shynchronous Ashynchronous Receiver

Transmitter).

2.3.2. Deskripsi Mikrokontroler ATmega32

Konfigurasi Pin Mikrokontroler ATmega32 dengan kemasan 40 pin DIP (dual

in-line package) dapat dilihat pada Gambar 2.6. Untuk memaksimalkan performa dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

9

paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk

program dan data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya

diambil dari memori program [6].

Gambar 2.6. Konfigurasi Pin Mikrokontroler ATmega32 [6]

Mikrokontroler ATmega32 memiliki konfigurasi Pin sebagai berikut:

a. VCC (power supply)

b. GND (ground)

c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog digital

converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.

d. Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor

internal pull-up (yang dipilih untuk beberapa bit).

e. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor

internal pull-up (yang dipilih untuk beberapa bit).

f. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor

internal pull-up (yang dipilih untuk beberapa bit).

g. RESET (Reset input)

h. XTAL1 (Input Oscillator)

i. XTAL2 (Output Oscillator)

j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.

k. AREF adalah pin referensi analog untuk ADC.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

10

Port A berfungsi sebagai input analog pada A/D Konverter (ADC) dan port I/O

8-bit dua arah. Port B, Port C, Port D adalah suatu port I/O 8-bit dua arah dengan resistor

internal pull-up (yang dipilih untuk beberapa bit). Pada rangkaian reset, waktu pengosongan

kapasitor dapat dihitung dengan persamaan 2.1 [7].

T = R x C (2.1)

2.3.3. Organisasi Memori AVR ATmega32

Arsitektur AVR mempunyai dua ruang memori utama, yaitu ruang memori data

dan memori program. ATmega32 juga memiliki fitur EEPROM Memori untuk penyimpanan

data [6].

2.3.3.1 Memori Program

Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile

yang tidak akan hilang datanya meskipun catu daya dimatikan. Dalam ATmega32 terdapat

8Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan

program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu

boot program dan bagian aplikasi program [6].

2.3.3.2 Memori Data

Memori data adalah memori RAM (Random Access Memory) yang digunakan

untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu 32 General

Purphose Register adalah register khusus yang bertugas untuk membantu eksekusi program

oleh ALU (Arithmatich Logic Unit). Dalam istilah processor komputer sehari-hari GPR

dikenal sebagai “chace memory”. I/O register dan Aditional I/O register adalah register yang

difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler

seperti pin, port, timer/counter [6].

2.3.4. Interupsi

Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara

dari program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali

mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai

dikerjakan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

11

Table 2.1. Hubungan PIN dan Interupsi [6]

Jenis interupt PIN pada ATmega32

INT0 PORTD.2

INT1 PORTD.3

INT2 PORTB.2

ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2.

Masing-masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan pada

Tabel 2.1. Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan

logika (rissing edge dan falling edge) pada pin interupsi yang bersangkutan [6] .

2.3.5. Timer/Counter

Timer/Counter pada mikrokontroler AVR dapat digunakan untuk melakukan

pencacahan waktu seperti pada jam digital maupun untuk menghasilkan sinyal PWM (Pulse

Width Modulation) yakni sinyal kotak dengan frekuensi dan duty cycle yang nilainya bisa

diatur. ATmega32 memiliki tiga unit Timer/Counter yaitu Timer/Counter 0 (8 bit),

Timer/Counter 1 (16 bit), dan Timer/Counter 2 (8 bit) [7].

2.3.5.1. TIMER/COUNTER 0

Fitur-fitur yang dimiliki:

1. Satu buah unit Compare Counter (Unit ini akan meng-count dan meng-compare).

2. Clear timer pada saat compare match (Auto reload).

3. Phase Correct PWM yang bebas glitch.

4. Frequency generator.

5. External event counter.

6. Prescaler clock hingga 10 bit.

7. Membangkitkan interupsi saat timer overflow dan atau compare match.

Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.2,

2.3, dan 2.4 berikut [6].

𝑇 =1

𝑓 (2.2)

𝑜𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 = 𝑁 × 256 × 𝑇 (2.3)

OCR =𝑝𝑢𝑙𝑠𝑒

𝑜𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 (2.4)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

12

Keterangan :

f = frekuensi yang digunakan untuk eksekusi program

T = periode

N = prescaller yang digunakan

OCR = nilai cacahan pulsa

Pulse = lebar pulsa

Berikut merupakan mode-mode operasi timer [7]:

a) Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan

mengitung selang waktu.

Gambar 2.7. Mode Phase Correct PWM [6]

b) Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM

dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara terus

menerus akan selalu dibandingakan dengan register pembanding OCR0. Hasil

perbandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal

PWM yang dikeluarkan pada OC0 seperti pada gambar 2.7.

c) CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah

naik kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama

dengan OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya

255, maka range OCR 0-255.

d) Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya

perbedaannya adalah register counter TCNT0 mencacah naik saja dan tidak pernah

mencacah turun seperti terlihat pada Gambar 2.8.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

13

Gambar 2.8. Mode Fast PWM[6]

2.3.6. Komunikasi Serial USART

Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik

yang berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti

dapat dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi dua

macam, yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron

jika sisi pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu

sumber penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan

sisi penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data

dikirim disertai informasi sinkronisasi [6].

Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki

baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai

berikut:

a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah).

b) Mendukung kecepatan multiprosesor.

c) Mode kecepatan berorde Mbps.

d) Operasi asinkron atau sinkron.

e) Operasi master atau slave clock sinkron.

f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi.

g) Modus komunikasi kecepatan ganda pada asinkron.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

14

2.3.6.1. Inisialisasi USART

Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi

USART dilakukan dengan cara mengaktifkan register-register yang digunakan untuk

komunikasi USART. Register-register yang digunakan untuk komunikasi USART antara

lain:

2.3.6.1.1 USART I/O Data Register (UDR)

UDR merupakan register 8 bit yang terdiri dari dua buah dengan alamat yang

sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB)

atau tempat data diterima (RXB) sebelum data tersebut dibaca [6].

Gambar 2.9. Register UDR [6]

2.3.6.1.2 USART Control and Status Register A (UCSRA)

Gambar 2.10. Register UCSRA [6]

Penjelasan bit penyusun UCSRA [6] :

a) RXC (USART Receive Complete)

Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan

berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi

RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan dengan eksekusi

vektor interupsi yang bersangkutan.

b) TXC (USART Transmit Complete)

Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan

membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan

dengan eksekusi vektor interupsi yang bersangkutan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

15

c) UDRE (USART Data Register Empty)

Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan

kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.

d) FE (Frame Error)

Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop

bit pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika

stop bit data yang diterima berlogika nol.

e) DOR (Data OverRun)

Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan

bernilai satu ketika terjadi tumpang tindih data.

f) PE (Parity Error)

Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada

kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit paritas

digunakan.

g) U2X (Double the USART Transmission Speed)

Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya

berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.

h) MPCM (Multi Processor Communication Mode)

Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima

oleh USART tidak mengandung informasi alamat akan diabaikan.

2.3.6.1.3 USART Control and Status Register B (UCSRB)

Gambar 2.11. Register UCSRB [6]

Penjelasan bit penyusun UCSRB [6] :

a) RXCIE (RX Complete Interrupt Enable)

Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika

diaktifkan dan berlogika nol jika tidak diaktifkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

16

b) TXCIE (TX Complete Interrupt Enable)

Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan

dan berlogika nol jika tidak diaktifkan.

c) UDRIE (USART Data Register Empty Interrupt Enable)

Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika

satu jika diaktifkan dan sebaliknya.

d) RXEN (Receiver Enable)

Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin

diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah

digunakan sebagai saluran penerima USART.

e) TXEN (Transmitter Enable)

Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin

diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah

digunakan sebagai saluran pengirim USART.

f) UCSZ2 (Character Size)

Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan

untuk memilih tipe lebar data bit yang digunakan.

Tabel 2.2. Penentuan Ukuran Karakter [6]

UCSZ[2..0] Ukuran Karakter dalam bit

0 5

1 6

10 7

11 8

100-110 Tidak dipergunakan

111 9

g) RXB8 (Receive Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan

bit ini harus dibaca dahulu sebelum membaca UDR.

h) TXB8 (Transmit Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan

bit ini harus ditulis dahulu sebelum membaca UDR.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

17

2.3.6.1.4 USART Control and Status Register C (UCSRC)

Gambar 2.12. Register UCSRC [6]

Penjelasan bit penyusun UCSRC :

a) URSEL (Register Select)

Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk

menulis atau membaca register UCSRC maka bit harus berlogika satu.

b) UMSEL (USART Mode Select)

Bit pemilih mode komunikasi serial antara sinkron dan asinkron.

c) UPM[1…0] (Parity Mode)

Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan.

Transmittter USART akan membuat paritas yang akan digunakan secara otomatis.

d) USBS (Stop Bit Select)

Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.

e) UCSZ1 dan UCSZ0

Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih

lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB.

f) UCPOL (Clock Parity)

Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan

perubahan data keluaran dan sampel masukkan, dan clock sinkron (XCK).

2.4. Software Matlab

MATLAB atau yang sering kita sebut dengan (Matrix Laboratory) yaitu sebuah

program untuk menganalisis dan mengkomputasi data numerik, dan MATLAB juga

merupakan suatu bahasa pemrograman matematika lanjutan, yang dibentuk dengan dasar

pemikiran yang menggunakan sifat dan bentuk matriks seperti pada gambar 2.13.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

18

Gambar 2.13. Software Matlab

MATLAB yang merupakan singkatan dari Matrix Laboratory, merupakan

bahasa pemrograman yang dikembangkan oleh The Mathwork Inc. yang hadir dengan fungsi

dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih

dahulu seperti Delphi, Basic maupun C++.

Pada awalnya program aplikasi MATLAB ini merupakan suatu interface untuk

koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK, dan dikembangkan

dengan menggunakan bahasa FORTRAN, namun sekarang ini MATLAB merupakan

produk komersial dari perusahaan Mathworks, Inc.

Yang dalam perkembangan selanjutnya dikembangkan dengan menggunakan

bahasa C++ dan assembler, (utamanya untuk fungsi-fungsi dasar MATLAB). MATLAB

telah berkembang menjadi sebuah environment pemprograman yang canggih yang berisi

fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi

matematis lainnya. MATLAB juga menyediakan berbagai fungsi untuk menampilkan data,

baik dalam bentuk dua dimensi maupun dalam bentuk tiga dimensi [8].

2.4.1. Sistem Matlab

a. Development Environment.

Ini adalah kumpulan semua alat-alat dan fasiltas untuk membantu kita dalam

menggunakan fungsi dan file MATLAB. Bagian ini memuat desktop, Command window,

command history, editor and debugger, dan browser untuk melihat help, workspace, files.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

19

b. The MATLAB Mathematical Function Library.

Bagian ini adalah koleksi semua algoritma komputasi, mulai dari fungsi

sederhana seperti sum, sine, cosine sampai fungsi lebih rumit seperti, invers matriks, nilai

eigen, fungsi Bessel dan fast Fourier transform.

c. The MATLAB language.

Ini adalah bahasa matriks/array level tinggi dengan control flow, fungsi, struktur

data, input/output, dan fitur objek programming lainnya.

d. Graphics.

MATLAB mempunyai fasilitas untuk menampilkan vector dan matriks sebagai

grafik. Fasilitas ini mencakup visualisasi data dua / tiga dimensi, pemrosesan citra (image),

animasi, dan grafik animasi.

e. The MATLAB Application Program Interface (API).

Paket ini memungkinkan kita menulis bahasa C dan Fortran yang berinteraksi

dengan MATLAB. Ia memuat fasilitas untuk pemanggilan kode-kode dari MATLAB

(dynamic linking), yang disebut MATLAB sebagai mesin penghitung, dan untuk membaca

dan menulis MAT-files.

MATLAB juga merupakan sistem interaktif yang mempunyai basis data array

yang tidakmembutuhkan dimensi. Ini memungkinkan kita dapat menyelesaikan banyak

masalah komputasiteknis, khususnya yang berkaitan dengan formulasi matrik dan

vector. Tidak hanya itu, MATLAB juga mampu melakukan komputasi simbolik yang biasa

dilakukan oleh MAPLE.

Saat ini MATLAB memiliki ratusan fungsi yang dapat kita gunakan sebagai

problem solver mulai dari simple sampai masalah-masalah yang kompleks dari berbagai

disiplin ilmu. Sebagai contoh, di lngkungan perguruan tinggi dan industri:

Di dalam lingkungan perguruan tinggi, misalnya perguruan tinggi teknik, Matlab

merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian

materi matematika, rekayasa dan keilmuan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

20

Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan

produktifitas yang tinggi, pengembangan dan analisanya. Kegunaan MATLAB secara

umum adalah sebagai berikut:

a. Matematika dan komputasi,

b. Perkembangan algoritma,

c. Pemodelan, simulasi, dan pembuatan prototype,

d. Analisa data, eksplorasi dan visualisasim

e. Pembuatan aplikasi, termasuk pembuatan antaramuka grafis [8].

2.4.2. Karakteristik Matlab

a. Bahasa pemrogramannya didasarkan pada matriks (baris dan kolom).

b. Lambat (dibandingkan dengan Fortran atau C) karena bahasanya langsung diartikan.

c. Automatic memory management, misalnya kita tidak harus mendeklarasikan arrays

terlebih dahulu.

d. Tersusun rapi.

e. Waktu pengembangannya lebih cepat dibandingkan dengan Fortran atau C.

f. Dapat diubah ke bahasa C lewat MATLAB Compiler.

g. Tersedia banyak toolbox untuk aplikasi-aplikasi khusus.

Beberapa kelebihan program aplikasi MATLAB jika kita bandingkan dengan program lain

seperti Fortran, dan Basic adalah :

a. MATLAB mudah dalam memanipulasi struktur matriks dan perhitungan berbagai

operasi matriks yang meliputi penjumlahan, pengurangan, perkalian, invers dan fungsi

matriks lainnya.

b. MATLAB juga menyediakan fasilitas untuk memplot struktur gambar (kekuatan

fasilitas grafik tiga dimensi yang sangat memadai).

c. Script program yang dapat diubah sesuai dengan keinginan kita.

d. Jumlah routine-routine powerful yang berlimpah yang terus berkembang.

e. Kemampuan interface (misal dengan bahasa C, word dan matematika).

f. MATLAB dilengkapi dengan toolbox, simulink, stateflow dan sebagainya, serta mulai

melimpahnya source code di internet yang dibuat dalam MATLAB, ( contoh toolbox

misalnya : signal processing, control system, neural networks dan sebagainya) [8].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

21

2.4.3. Karakteristik Lingkungan Kerja Matlab

Secara umum lingkungan kerja Matlab terdiri dari tiga bagian yang penting

yaitu:

a. Command Windows

Windows ini muncul pertama kali ketika kita menjalankan program Matlab.

Command windows kita gunakan untuk menjalankan perintah-perintah Matlab, memanggil

tool Matlab seperti editor, fasilitas help, model simulink, dan lain-lain. Ciri dari windows

ini yaitu adanya prompt (tanda lebih besar) yang menyatakan Matlab siap menerima

perintah. Perintah tersebut dapat berupa fungsi-fungsi bawaan (toolbox) Matlab itu sendiri.

1) Workspace : menampilkan semua variable yang pernah kita buat meliputi variable

ukuran, jumlah byte, dan class

2) Command History : menampilkan perintah-perintah yang telah kita ketikkan pada

Command Window.

b. Editor Window

Window ini merupakan tool yang disediakan oleh Matlab yang berfungsi sebagai

editor script Matlab (listing perintah-perintah yang harus dilakukan oleh Matlab). Ada dua

cara untuk membuka editor ini, yaitu Klik : File, lalu New dan kemudian M-File.

Secara formal suatu script merupakan suatu file eksternal yang berisi tulisan

perintah MATLAB. Tetapi script tersebut bukan merupakan suatu fungsi. Ketika kita

menjalankan suatu script, perintah di dalamnya dieksekusi seperti ketika dimasukkan

langsung pada MATLAB melalui keyboard.

Penulisan barisan ekspresi dalam MATLAB command window biasanya

dilakukan pada baris perbaris dan biasanya untuk menyimpan barisan perintah dan hasil

outputnya dengan menggunkan command diary. Hal ini sangatlah tidak efisien dikarenakan

barisan yang telah tersimpan di diary tidak dapat diload-kan kembali, seandaianya telah

keluar dari MATLAB. Apalagi jika dilakukan banyak sekali perulangan barisan perintah

yang sama, misalkan dilakukan pengolahan data dan perhitungan yang samayang melibatkan

data atau fungsi yang berbeda. Membentuk dan menjalankan M-File:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

22

1) Klik menu File, pilih New dan klik M-File

2) Pada editor teks, tulis argumen atau perintah

3) Simpan dengan cara klik File, pilih Save As dan beri nama dengan ekstensi .m

4) Pastikan file yang akan dijalankan berada pada direktori aktif

5) Misalkan file graf1.m berada di C:\MATLAB, maka lakukan perintah cd

6) >> cd c:\matlab

7) Kemudian jalankan file graf1.m dengan cara

8) >> graf1

Suatu fungsi M-File harus mengikuti beberapa aturan. Fungsi M-file juga

mempunyai sejumlah sifat penting. Aturan-aturan dan sifat-sifat tersebut meliputi :

1) Nama fungsi dan nama file harus identik. Contohnya flipud disimpan dalam file

yang bernama flipud.m

2) Pertama kali MATLAB mengeksekusi suatu fungsi M-file, MATLAB membuka

file fungsi tersebut dan mengkompilasi perintah-perintah di dalamnya menjadi

suatu representasi internal dalam memori yang mempercepat eksekusi untuk

semua pemanggilan berikutnya.

3) Baris komentar sampai dengan baris bukan komentar yang pertama adalah teks

help yang ditampilkan. Jika anda meminta help, misalnya >>help flipud yang

menampilkan 9 baris komentar pertama dari contoh di atas. Baris komentar yang

paling atas disebut baris H1 adalah baris yang dicari oleh perintah lookfor.

4) Setiap fungsi memiliki ruang kerjanya sendiri yang berbeda dengan ruang kerja

MATLAB. Satu-satunya hubungan antara ruang kerja MATLAB dengan

variabel-variabel dalam fungsi adalah variabel-variabel input dan output fungsi.

5) Jumlah dari argument input dan output yang digunakan jika suatu fungsi

dipanggil hanya ada dalam fungsi tersebut.

6) Fungsi dapat berbagi variabel dengan fungsi lain, ruang kerja MATLAB dan

pemanggilan rekursi untuk dirinya sendiri jika variabelnya dideklarasikan

sebagai variabel global.

7) Fungsi M-file berhenti dieksekusi dan kembali ke prompt jika telah mencapai

akhir dari M-file atau jika menemui perintah return. Perintah return merupakan

cara sederhana untuk menghentikan fungsi sebelum mencapai akhir file. Fungsi

M-file dapat memuat lebih dari sebuah fungsi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

23

c. Figure Windows

Windows ini merupakan hasil visualisasi dari script Matlab. Matlab memberikan

kemudahan bagi programmer untuk mengedit windows ini sekaligus memberikan program

khusus untuk itu, sehingga selain berfungsi sebagai visualisasi output yang berupa grafik

juga sekaligus menjadi media input yang interaktif.

1) Simulink windows.

Windows ini umumnya digunakan untuk mensimulasikan sistem kendali

berdasarkan blok diagram yang telah diketahui. Untuk mengoperasikannya ketik

“simulink” pada command windows [8].

2.5. Regulator IC 78xx dan Transistor Penguat Arus

Pengatur tegangan (voltage regulator) berfungsi menyediakan suatu tegangan

keluaran dc tetap yang tidak dipengaruhi oleh perubahan tegangan masukan. Salah satu tipe

regulator tegangan tetap adalah 78xx. Regulator tegangan tipe 78xx adalah salah satu

regulator tegangan tetap dengan tiga terminal, yaitu terminal Vin, GND dan Vout. Regulator

tegangan 78xx dirancang sebagai regulator tegangan tetap, meskipun demikian keluaran dari

regulator ini dapat diatur tegangan dan arusnya melalui tambahan komponen eksternal.

Spesifikasi ic regulator seri 78xx dapat dilihat pada tabel 2.3.

Tabel 2.3. Karakteristik Regulator Tegangan ic 78xx [9]

Type VOUT (Volt) VIN (Volt)

Min Maks

7805 5 7,3 20

7806 6 8,3 21

7808 8 10,5 23

7810 10 12,5 25

7812 12 14,6 27

7815 15 17,7 30

7818 18 21 33

7824 24 27,1 38

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

24

Gambar 2.14. Rangkaian Umum Regulator 78xx [8]

Nilai komponen c1 dan c2 difungsikan sebagai filter capasitor yang bertujuan

untuk menghilangkan tegangan ripple agar tegangan keluaran menjadi lebih stabil. Untuk

mendapatkan nilai capasitor yang sesuai, dapat mengacu pada persamaan 2.5 dan 2.6 [9].

𝑉𝑟(𝑟𝑚𝑠) =𝐼𝑑𝑐

4√3𝑓𝑐=

2.4 𝐼𝑑𝑐

𝐶=

2.4 𝑉𝑑𝑐

𝑅𝐿.𝐶 (2.5)

𝑟 =𝑉𝑟(𝑟𝑚𝑠)

𝑉𝑑𝑐× 100% (2.6)

Komponen eksternal yang digunakan yaitu transistor ic 2N3055 karena

kemampuan arus maksimal adalah 15 A [9] . Untuk gambar rangkaian lengkap dengan ic

regulator dapat ditunjukan gambar 2.15.

Gambar 2.15. Rangkaian Catu Daya Dengan Penguat [9]

Dari gambar 2.15, maka diperleh persamaan-persamaan sebagai berikut [9] :

VB = Vreg + VD (2.7)

Tegangan keluaran rangkaian menjadi,

Vo = Vreg – VBE (2.8)

Jika VD≈VBE, maka

Vo = Vreg (2.9)

Tegangan diantara kolektor dan emittor transistor 2N3055 adalah,

VCE = VIN – VR1 (2.10)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

25

Disipasi daya transistor NPN 2N3055 adalah,

PD = VCE x IC (2.11)

Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini :

Ic = β IB (2.12)

Ie = (β+1) IB (2.13)

2.6. Photodioda

Photodioda adalah dioda yang bekerja berdasarkan intensitas cahaya, jika

photodioda terkena cahaya maka photodioda bekerja seperti dioda pada umumnya, tetapi

jika tidak mendapat cahaya maka photodioda akan berperan seperti resistor dengan nilai

tahanan yang besar sehingga arus listrik tidak dapat mengalir.

Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah

besaran cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan

sambungan p-n yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh

photodioda ini mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan

sinar-X.

Karena photodioda terbuat dari semikonduktor p-n junction maka cahaya yang

diserap oleh photodioda akan mengakibatkan terjadinya pergeseran foton yang akan

menghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-elektron

yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah

positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber

tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron

ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh

photodiode [9].

Photodioda digunakan sebagai penangkap gelombang cahaya yang dipancarkan

oleh infrared. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodioda

tergantung besar kecilnya radiasi yang dipancarkan oleh infrared.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

26

Gambar 2.16. Simbol dan Bentuk Photodioda[25]

Gambar 2.17. Respon Relatif Spektral untuk Si, Ge, dan Se dibandingkan dengan mata

manusia [9].

Gambar 2.18. Hubungan Iλ Dengan Fc Pada Photodioda [9]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

27

Grafik pada gambar 2.18 menunjukan bahwa arus maksimal pada sensor

photodioda adalah sebesar 800 µA, sehingga untuk penentuan nilai hambatan agar arus

sensor photodioda tidak terlalu besar yaitu [9] :

𝑅 =𝑉𝑐𝑐

𝐼 (2.14)

Sehingga nilai hambatan untuk sensor photodioda dengan asumsi bahwa Vcc = 5 Volt dapat

dilihat pada tabel 2.4 [11].

Tabel 2.4. Hubungan Arus Dengan Hambatan [11]

ARUS

(µA)

HAMBATAN

(KΩ)

200 25

400 12,5

600 8,33

800 6,25

Rangkaian umum sensor photodioda dapat ditunjukan pada gambar 2.19.

Gambar 2.19. Rangkaian Sensor Photodioda [11]

Gambar 2.20. Aplikasi Sensor Photodioda [9]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

28

2.7. Limit Switch

Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang

berfungsi menggantikan tombol. Prinsip kerja limit switch sama seperti saklar Push ON yaitu

hanya akan menghubung pada saat katupnya ditekan pada batas penekanan tertentu yang

telah ditentukan dan akan memutus saat saat katup tidak ditekan. Limit switch termasuk

dalam kategori sensor mekanis yaitu sensor yang akan memberikan perubahan elektrik saat

terjadi perubahan mekanik pada sensor tersebut. Penerapan dari limit switch adalah sebagai

sensor posisi suatu benda (objek) yang bergerak. Simbol limit switch ditunjukan pada

gambar 2.21 [12].

Gambar 2.21. Simbol dan Bentuk Limit Switch [12]

Limit switch umumnya digunakan untuk :

1. Memutuskan dan menghubungkan rangkaian menggunakan objek atau benda lain.

2. Menghidupkan daya yang besar, dengan sarana yang kecil.

3. Sebagai sensor posisi atau kondisi suatu objek.

Prinsip kerja limit switch diaktifkan dengan penekanan pada tombolnya pada batas/daerah

yang telah ditentukan sebelumnya sehingga terjadi pemutusan atau penghubungan rangkaian

dari rangkaian tersebut. Limit switch memiliki 2 kontak yaitu NO (Normally Open) dan

kontak NC (Normally Close) dimana salah satu kontak akan aktif jika tombolnya

tertekan. Konstruksi dan simbol limit switch dapat dilihat seperti gambar 2.22 [12].

Gambar 2.22. Konstruksi dan Simbol Limit Switch[12]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

29

2.8. Webcam

Web camera atau biasa disingkat webcam adalah kamera video digital kecil yang

dihubungkan ke komputer melalui port USB atau serial. Fungsi webcam yang paling populer

saat ini yaitu untuk melakukan video conference melalui internet. Dalam perkembangan

selanjutnya, webcam tidak hanya difungsikan sebagai video conference tetapi juga untuk

home monitoring atau memantau rumah selama 24 jam [13]. Contoh webcam ditunjukan

gambar 2.23 yaitu webcam Logitech c170.

Gambar 2.23. Contoh Webcam [14]

2.9. Buah

Buah adalah bagian dari tanaman yang berasal dari bunga. Buah di hasilkan dari

penyerbukan putik oleh benang sari. Didalam buah terdapat biji, yang merupakan bagian

penting bagi tumbuhan yang berkembangbiak secara generatif. Karena biji nantinya jika di

tanam akan tumbuh dan berkembang menjadi individu baru yang mempunyai sifat seperti

kedua induknya. Setiap buah berasal dari bunga, tapi tidak setiap bunga menghasilkan buah

[15]. Contoh berbagai jenis buah pada gambar 2.24.

Gambar 2.24. Buah-buahan [15]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

30

2.10. Pengolahan Citra Digital

Pengenalan Pola (Pattern Recognition) dapat diartikan dengan segala kegiatan

yang dilakukan untuk pengambilan keputusan atau kesimpulan berdasarkan pola - pola

kompleks objek atau informasi. Pengenalan Pola ini mulai dilakukan sejak data digital

ditemukan, masalah pengenalan dan pencarian pola pada data digital merupakan salah satu

pengetahuan fundamental dan memiliki banyak sejarah pengembangan dan kesuksesan,

banyak ilmuan melakukan berbagai penelitian untuk mengembangkan metode metode baru

untuk mempermudah pengenalan untuk berbagai pola objek [16].

Beberapa contoh pengenalan pola yang telah dilakukan seperti pengenalan wajah,

fingerprint, pola permainan catur, retina mata, peramalan cuaca, bahkan dalam lingkup

perekonomianpun pengenalan pola digunakan, seperti dalam peramalan kurs mata uang,

harga saham, dan banyak lagi penggunaan pengenalan pola yang telah diterapkan.

Secara garis besar rangkaian pengenalan pola itu dapat dilihat pada gambar berikut [16] :

Gambar 2.25. Skema Kegiatan Pengenalan Pola [16]

1. Sensor / Transducer

Sensor atau yang juga dikenal dengan Transducer merupakan alat yang digunakan tahapan

pengambilan data dari lingkungan, atau dunia nyata, seperti dalam pengolahan citra datanya

itu berupa photo dan sensor atau transducernya itu adalah kamera, dan selanjutnya data itu

dikonversi menjadi data digital, agar bisa dilanjutkan ke tahap preprocessing.

2. Preprocessing & Enhancement

Preprocessing merupakan tahapan yang dilakukan mempersiapkan data mentah yang didapat

dari dunia nyata agar dapat dan layak dipergunakan dalam tahapan pengolahan selanjutnya,

ini dikarenakan data real itu umumnya memiliki beberapa masalah seperti, ketidak

lengkapan data yang disebabkan kurang akuratnya sensor atau transducer, noisy atau adanya

objek – objek pengganggu, dan memposisikan data agar sesuai dengan sarat extraksi

fiturnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

31

3. Feature Extraction

Eksraksi Fitur (Feature Extraction) merupakan tahapan pengambilan ciri, atau pola

karakteristik dari suatu data atau objek inputan, yang nantinya nilai atau bobot fitur yang

didapatkan itu akan diproses dan dianalisa, sehingga dapat menjadi bahan pembeda dari

objek – objek lainnya.

4. Classification

Secara bahasa Classification berati pengelompokan data berdasarkan kesamaan ciri yang

dimiliki oleh data tersebut. Dalam hal ini data hasil ekstraksi fitur yang memiliki kesamaan

dengan data – data lain, akan dikelompokkan dalam klasifikasi tertentu, kegiatan klasifikasi

ini merupakan salah satu kegiatan fital dalam pengenalan pola, kesalahan dalam klasifikasi

akan menyebabkan kesalahan dalam hasil yang akan dikeluarkan. Sehingga pada bagian

klasifikasi ini, banyak sekali metode – metode yang dikembangkan oleh para peneliti, seperti

penggunaan fuzzy, neural network, clustering, dan berbagai metode-metode lain. Hasil

klasifikasi biasanya akan disimpan dan akan menjadi penentu untuk klasifikasi selanjutnya.

5. Description

Tahapan ini merupakan tahapan penyampaian hasil klasifikasi yang telah dilakukan, apakah

objek yang diinputkan itu dikenal atau tidak, dan jika tidak, biasanya sistem akan meminta

untuk melakukan pembelajaran ulang terhadap objek tersebut.

2.11. Pemprosesan Citra

2.11.1. Citra Grayscale

Proses awal yang banyak dilakukan dalam image processing adalah mengubah citra

berwarna (citra RGB) menjadi citra grayscale, hal ini bertujuan untuk menyederhanakan

model citra tersebut karena citra berwarna terdiri dari tiga layer matrik yaitu Red- layer,

Green-layer dan Blue-layer. Sehingga untuk melakukan proses-proses selanjutnya tetap

harus memperhatikan tiga layer di tersebut. Bila setiap proses perhitungan dilakukan

menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama, sehingga konsep itu

diubah dengan mengubah tiga layer di atas menjadi satu layer matrik grayscale dan hasilnya

adalah citra grayscale. Dalam citra ini tidak ada lagi warna, yang ada adalah derajat keabuan

yang memiliki nilai 0-255.

Citra grayscale merupakan citra digital yang hanya memiliki suatu nilai kanal pada

setiap piksel. Warna yang dimiliki adalah keabuan, hitam dan putih. Citra hitam putih

mempunyai nilai kuantisasi derajat keabuan sampai tingkatan ke 256 artinya mempunyai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

32

skala abu dari 0 sampai 255 atau selang [0 255]. Citra ini membutuhkan 1 byte (8 bit) untuk

representasi setiap pikselnya (256 =28). Gambar 2.26 menunjukkan contoh citra skala

keabuan [17].

Gambar 2.26. Citra Skala Keabuan [17]

2.11.2. Cropping

Cropping citra merupakan salah satu langkah dalam pengolahan citra yang

dilakukan untuk memotong satu bagian dari citra tertentu untuk memperoleh bagian yang

diinginkan untuk diolah. Hal ini dilakukan untuk mendapatkan data yang tepat sehingga

memudahkan dalam proses pengolahan data.

2.11.3. Warna HSV

Warna yang terlihat adalah spektrum cahaya yang dipantulkan oleh benda yang

kemudian ditangkap oleh indra penglihatan lalu diterjemahkan oleh otak sebagai warna

tertentu. Model warna HSV mendefinisikan warna dalam terminologi Hue, Saturation,

Value. Hue menyatakan warna sebenarnya, seperti merah, violet, dan kuning. Hue digunakan

untuk membedakan warna dan menenetukan kemerahan (redness), kehijauan (greenness)

dari cahaya. Hue berasosiasi dengan panjang gelombang cahaya. Saturation menyatakan

tingkat kemurnian suatu warna, yaitu mengidentifikasikan seberapa banyak warna putih

diberikan pada warna. Value adalah atribut yang menyatakan banyaknya cahaya yang

diterima oleh mata tanpa mempedulikan warna [20].

Selain itu jarak HSV adalah murni dan konsepnya yang hampir seragam maka

proses kuantisasi pada HSV dapat dihasilkan dari mengumpulkan warna yang padat dan

lengkap. Nilai hue antara 0 sampai 1 berarti warna antara merah melewati kuning, hijau,

cyan, biru dan magenta dan kembali menjadi merah. Nilai saturation antara 0 sampai 1

berarti dari tidak tersaturasi (keabuan) sampai tersaturasi penuh (tidak putih). Nilai value

atau brightness antara 0 sampai 1 berarti warna semakin cerah. Karena model warna HSV

merupakan model warna yang diturunkan dari model warna RGB, maka untuk medapatkan

warna HSV ini diharuskan melakukan proses konversi dari RGB ke HSV. HSV merupakan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

33

salah satu cara untuk menfenisikan warna yang didasarkanwarna yang didasarkan pada roda

warna. Contoh model warna HSV pada gambar 2.27.

Gambar 2.27. Model warna HSV [20]

Hue merupakan variabel yang menyatakan warna dari merah hingga violet. Hue mengukur

sudut sekitar roda warna (merah pada 0°, 120° di hijau, dan biru di 240°). Nilai dari hue

berkisar antara 0° sampai 360°.

2.11.4. Citra Biner

Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai

piksel yaitu hitam dan putih. Citra biner juga bisa disebut sebagai citra B&W (black and

white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari

citra biner [18].

Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti

segmentasi, pengambangan, morfologi, ataupun dithering. Contoh citra biner dapat dilihat

pada gambar 2.28.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

34

Gambar 2.28. Contoh Citra Biner [19]

2.11.5. Resizing

Rezising citra adalah mengubah besarnya ukuran citra dalam piksel. Tampilan

citra tidak ada yang berubah tetapi hanya ukuran pixel dan matriksnya yang dirubah. Ukuan

resizing menentukan kualitas gambar yang akan diproses.

2.12. Metode Histogram

Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai

intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram

dapat diketahui frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut.

Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontas

(contrast) dari sebuah gambar. Karena itu, histogram adalah alat bantu yang berharga dalam

pekerjaan pengolahan citra baik secara kualitatif maupun kuantitatif. Misalkan citra digital

memiliki L derajat keabuan, yaitu dari nilai 0 sampai L – 1 (misalnya pada citra dengan

kuantisasi derajat keabuan 8-bit, nilai derajat keabuan dari 0 sampai 255). Secara matematis

histogram citra dihitung dengan persamaan 2.15 [26].

(2.15)

yang dalam hal ini,

ni = jumlah pixel yang memiliki derajat keabuan i

n = jumlah seluruh pixel di dalam citra

Plot hi versus fi dinamakan histogram. Gambar 2.28 adalah contoh sebuah histogram citra.

Secara grafis histogram ditampilkan dengan diagram batang. Perhatikan dari persamaan 2.15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

35

bahwa nilai ni telah dinormalkan dengan membaginya dengan n. Nilai hi berada di dalam

selang 0 sampai 1.

Gambar 2.29 Histogram Citra [18]

Dengan histogram dapat dicari citra yang memiliki kemiripan komposisi warna. Pengukuran

tingkat kemiripan dilakukan dengan menghitung jarak antar histogram. Jika G = g1, g2, . . .

, gN dan H = h1, h2, . . . , hN adalah histogram warna dari dua buah citra, dimana gi dan

hi adalah jumlah piksel pada level ke i dari kedua histogram dan N adalah jumlah level untuk

tiap histogram, maka jarak (d) antara dua histogram dapat dinyatakan dalam jarak Manhattan

seperti pada Persamaan 2.16 [26].

(2.16)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

36

BAB III

PERANCANGAN PENELITIAN

3.1 Proses Kerja Sistem

Pada perancangan tugas akhir ini, akan dibuat sebuah prototipe conveyor yang dapat

berguna untuk memilah buah berdasarkan bentuk buah dan memisahkannya pada suatu tempat

yang telah ditentukan. Komponen-komponen yang digunakan yaitu conveyor, rangkaian

sensor cahaya, Atmega8532, software AVR, webcam, software Matlab, dan motor dc 24v.

Cara kerja conveyor yaitu pertama buah diletakan pada conveyor satu yang akan

membawa buah mendekati webcam dan rangkain sensor cahaya. Setelah buah tepat berada di

antara rangkain sensor cahaya maka conveyor satu akan berhenti, buah akan tepat berada di

bawah webcam. Kemudian webcam akan mendeteksi bentuk buah dan mengcapture buah,

kemudian akan diproses oleh laptop melalui software matlab untuk mengenali bentuk buah,

setelah itu akan diproses oleh laptop lalu dikomunikasikan kepada minimum system

Atmega8532 untuk diproses kembali, setelah menentukan bentuk buah maka conveyor kedua

akan berjalan dan memposisikan tempat/wadah yang sudah ditentukan untuk meletakkan buah.

Setelah itu conveyor satu berjalan kembali untuk memindahkan buah ketempat/wadah yang

sudah ditentukan. Gambar 3.1. merupakan diagram blok system.

Gambar 3.1. Blok Diagram Sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

37

3.2. Perancangan Hardware

Ada beberapa komponen dalam perancangan sub sistem perangkat keras pemilah

bentuk buah, diantaranya yaitu:

1. 2 conveyor sebagai system mekanik berfungsi untuk memindahkan suatu benda

ke satu tempat ke tempat lain.

2. Minimum system ATmega32 berfungsi untuk mengontrol atau mengendalikan

driver motor dan photodiode yang telah diprogram dalam mikrokontroler

ATmega32 pada conveyor serta sebagai pengolah data serial yang dikirimkan

dari komputer melalui USB to TTL converter.

3. Sensor cahaya berfungsi untuk mendeteksi benda pada conveyor.

4. Penguat tegangan berfungsi menyediakan suatu tegangan keluaran dc tetap

yang tidak dipengaruhi oleh perubahan tegangan masukan.

5. Rangkaian Driver motor + limit switch berfungsi untuk pengendalian kecepatan

dan putaran motor DC.

3.2.1 Perancangan Mekanik Conveyor

Pada tahap ini dilakukan perancangan mekanik dari conveyor tersebut, antara lain

mendesain ukuran conveyor, penggunaan bahan dasar yaitu akrilik dan ukuran belt 20 cm,

panjang conveyor satu 100 cm tingginya 35 cm, sedangkan panjang conveyor dua 300 cm,

ukuran lebar belt conveyor dua 25 cm dan tinggi conveyor dua 10 cm. Dibagian conveyor dua

terdapat kotak penampung buah berukuran 20 cm x 20 cm x 20 cm terbuat dari papan kayu

tipis. Dalam perancangan terdiri dari dua buah conveyor yaitu conveyor satu untuk

menjalankan buah dan conveyor dua untuk menjalankan wadah buah buah. Penggerak

conveyor menggunakan motor dc 24v. Gambar 3.2. adalah desain perancangan dari conveyor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

38

Gambar 3.2. Desain Conveyor

Gambar 3.3. Desain Perancangan Conveyor Satu (1)

Gambar 3.4. Desain Perancangan Conveyor Satu (2)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

39

Gambar 3.5. Desain Perancangan Conveyor Dua

3.2.2. Minimum System ATmega32

Rangkaian minimum system berfungsi sebagai I/O untuk mengendalikan putaran motor

dc yang telah diprogram dalam sistem mikrokontroler ATmega32 pada conveyor serta

digunakan sebagai pengolah data serial yang dikirimkan dari komputer melalui USB to TTL

converter. Mikrokontroler membutuhkan minimum system yang terdiri dari rangkaian

eksternal yaitu rangkaian osilator dan rangkaian reset.

Untuk rangkaian osilator menggunakan crystal dengan frekuensi sebesar 11,0592 MHz

dan menggunakan kapasitor 22pf pada pin XTAL1 dan XTAL2 di mikrokontroler. Rangkaian

osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian kapasitor bertujuan

untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator eksternal. Gambar 3.6.

menunjukkan rangkaian osilator.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

40

Gambar 3.6. Rangkaian Osilator ATmega32 [6]

Perancangan rangkaian reset digunakan untuk proses kerja pada mikrokontroler agar

dapat diulang dari awal. Saat tombol reset ditekan maka mikrokontroler mendapat input logika

rendah, sehingga akan mereset seluruh proses yang sedang dilakukan mikrokontroler. Gambar

3.7. adalah rangkaian reset untuk ATmega32.

Gambar 3.7. Rangkaian Reset ATmega32 [6]

Pada gambar 3.7. terdapat resistor yang memiliki resistansi sebesar 4,7 KΩ yang

berfungsikan sebagai pull up. Resistor pull-up eksternal bergunakan untuk menjaga agar pin

RESET tidak berlogika 0 secara tidak disengaja. Kapasitor 10nF digunakan untuk

menghilangkan noise yang disusun secara seri dengan resistor. Rangkaian reset minimum

system ATmega35 merupakan gabungan dari rangkaia push-button dan low-pass filter.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

41

3.2.3. Sensor Photodioda

Sensor photodioda digunakan untuk mendeteksi buah saat buah menutupi sensor

photodioda yang letaknya dibawah webcam pada conveyor pertama. Cara kerjanya yaitu jika

sensor photodioda terhalang oleh buah atau mendeteksi buah, maka motor pada conveyor akan

berhenti. Rangkaian sensor photodioda ditunjukan oleh Gambar 3.8.

Gambar 3.8. Rangkaian Sensor Photodioda

Dengan nilai vcc sebesar 5 volt dan arus maksimal infrared 100mA, maka hambatan

dapat dihitung menggunakan rumus :

R=𝑣𝑐𝑐

𝐼 sehingga, (3.1)

R = 5

100 𝑚𝐴 = 50 Ω (3.2)

Jadi diperoleh nilai resistor sebesar 50Ω. Karena nilai resistor sebesar 50Ω tidak

tersedia di pasaran maka digunakan resistor sebesar 100Ω agar infrared tidak kelebihan arus.

Sedangkan untuk nilai hambatan sensor photodioda menggunakan resistor 20KΩ . Karena nilai

hambatan sensor photodioda mengacu pada gambar 2.17. dan persamaan 2.14.

Output mikrokontroler ATmega32 memiliki arus yang kecil sehingga tidak bisa

digunakan untuk mengendalikan motor dc yang membutuhkan arus cukup besar. Oleh karena

itu dibutuhkan rangkaian eksternal agar keluaran dari mikrokontroler dapat mengendalikan

motor dc.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

42

3.2.4. Regulator dan Penguat Arus

Regulator digunakan sebagai pemberi daya pada minimum system ATmega32 dan

motor dc. Regulator terdiri dari ic 7805, ic 7824, ic 2N3055, kapasitor, dan dioda. Ic 7805 yang

digunakan untuk regulator berguna untuk memberikan daya pada minimum system ATmega32,

sedangkan ic 7824 digunakan untuk memberikan daya pada motor dc. Dengan demikian maka

digunakan transistor ic 2N3055 agar arus keluaran ic 7805 dan ic 7824 yang memiliki tegangan

keluaran sebesar 5volt dan 24volt menjadi lebih besar. Perancangan regulator atau komponen

dari rangkaian regulator mengancu pada landasan teori.

Gambar 3.9. Rangkaian Regulator 5v [21]

Gambar 3.10. Rangkaian Regulator 24v [9]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

43

3.2.5. Driver Motor Dc menggunakan Limit Switch.

Rangkaian driver motor dc H-Bridge transistor ini dapat mengendalikan arah putaran

motor dc dalam 2 arah dan dapat dikontrol dengan metode PWM (Pulse Width Modulation)

maupun metode sinyal logika dasar TTL (High) dan (Low). Untuk pengendalian motor dc

dengan metode PWM maka rangkaian driver motor dc ini kecepatan putarannya dapat

dikendalikan dengan baik. Apabila menggunakan metode logika TTL 0 dan 1 maka rangkaian

ini hanya dapat mengendalikan arah putaran motor dc saja dengan kecepatan putaran motor dc

maksimum. Rangkaian driver motor dc H-Bridge ini menggunakan rangkaian jembatan

transistor 4 unit dengan protesi impuls tegangan induksi motor dc berupa dioda yang dipasang

paralel dengan masing-masing transistor secara reverse bias. Digunakanya transistor tip

dikarenakan transistor ini dapat menghasilkan arus yang tinggi Rangkaian ditambah dengan

limit switch agar saat derlawan jarum jam maka dapat dihentikan pada saat tertentu. Arus

saturasi transistor tip 142 adalah 4 mA maka digunakan persamaan 2.14 sehingga resistor yang

digunakan 1.4 kΩ Gambar 3.11. menunjukkan driver motor dc.

Gambar 3.11. Driver Motor Dc [20]

3.3. Perancangan Perangkat Lunak

Pada perancangan perangkat lunak ini akan dibahas mengenai program kendali

conveyor secara keseluruhan diantaranya :

1) Flowchart program pengenalan bentuk buah

2) Perancangan GUI pada MATLAB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

44

Pada proses pembuatan perangkat lunak digunakan software Code Vision AVR yang

merupakan suatu perangkat lunak untuk memprogram ic keluarga AVR menggunakan bahasa

c. Pada pembuatan flowchart program pengenalan bentuk buah akan dibahas dan dipaparkan

mengenai pembuatan program image processing dengan menggunakan metode HSV dengan

software MATLAB.

Cara kerja dari conveyor pemilah buah berdasarkan bentuk yaitu mula-mula buah

diletakan pada conveyor satu yang berjalan satu arah menuju sensor photodioda. Ketika buah

dideteksi oleh sensor photodioda yang artinya buah berada dibawah webcam, maka

mikrokontroler ATmega32 akan mengirimkan suatu proses karakter secara serial kepada laptop

untuk menjalankan program image processing agar benda dapat dikenali. Setelah objek

dikenali, maka laptop melalui software MATLAB akan mengirimkan karakter secara serial

kepada minimum system ATmega32 untuk menggerakan motor conveyor ke dua yang dapat

berjalan dua arah . Conveyor akan bergerak dan meletakan buah ke tempat yang sudah

disediakan sesuai dari bentuk buah, setiap wadah/box hanya diletakkan satu macam buah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

45

Mulai

Conveyor 2

siaga

Conveyor 1

aktif

Conveyor 1

berhenti

Sensor

mendeteksi

buah

Wabcam

menangkap

objek buah

Jeruk Pisang Alpukat

Sensor 1

conveyor 2

aktif (1000)

Sensor 2

conveyor 2

aktif (0100)

Sensor 3

conveyor 2

aktif (0010)

Sensor 4

conveyor 2

aktif (0001)

ya

Conveyor2

bergerak

tidak

Kirim

karakter

a

Kirim

karakter

b

Kirim

karakter

c

Kirim

karakter

d

Apel

tidak

ya ya ya ya

C B A

tidak tidak tidak tidak

Pengenalan

Bentuk Buahya

Gambar 3.12 Flowchart sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

46

Gambar 3.13. Flowchart sistem (lanjutan)

A

Conveyor 2

berhenti

Sensor

mendeteksi

objek

Conveyor 1

Aktif

(5 detik)

Tombol stop

ditekan

selesai

ya

tidak

tidak

Conveyor 2

kembali ke

posisi

semula

Limit switch

menditeksi

objek (box)

Conveyor2

berhenti

ya

tidak

B C

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

47

3.3.1. Flowchart Program Pengenalan Bentuk Buah pada Matlab

Program image processing diproses oleh software MATLAB. Proses

pengidentifikasian pengenalan bentuk buah menggunakan metode histogram. Cara kerja proses

secara keseluruhan yaitu mula-mula webcam harus dikenali terlebih dahulu oleh software

MATLAB. Setelah dikenali maka langkah selanjutnya yaitu mengambil gambar RGB benda

yang akan dikenali dan menonaktifkan webcam. Ketika gambar telah di capture hasil gambar

yang dicapture pada gambar 3.14, maka proses selanjutnya yaitu proses convert RGB to HSV

, proses ini berfungsi untuk menentukkan bagian citra yang dibutuhkan untuk proses

selanjutnya ditunjukkan pada gambar 3.15.

Gambar 3.14. Hasil Capture Image

Gambar 3.15. Hasil Convert RGB to HSV

Setelah merubah RGB menjadi HSV, dalam hasil gambar HSV terkadang terdapat

noise, untuk menghilangkan noise tersebut maka perlu mengatur saturasinya, seperti pada

gambar 3.16. Dalam hal model warna cahaya, saturasi mengacu pada kemurnian yang relative

atau pencampuran sinar putih dengan sebuah hue.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

48

Gambar 3.16. Hasil Saturasi

Langkah selanjutnya yaitu proses saturasi ke biner, hal ini dilakukan untuk mengidentifikasi

keberadaan objek yang direpresentasikan sebagai daerah (region) di dalam citra. Selain

mengidentifikasi keberadaan objek, perubahan dilakukan untuk dapat memfokuskan pada

analisis bentuk morfologi dengan asumsi intensitas pixel tidak terlalu penting dibandingkan

bentuknya, seperti gambar 3.17. hasil proses saturasi ke biner.

Gambar 3.17. Proses Binerisasi

Setelah selesai proses biner maka dilakukan proses remove small object yaitu menghapus

objek-objek kecil yang tidak digunakan, agar dapat dilakukan proses selanjutnya hasil yang

ditunjukkan pada gambar 3.18.

Gambar 3.18. Proses Remove Small Object

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

49

Selanjutnya dilakukan Crop Image 1 untuk object yang sudah terdeteksi guna mengurangi

ukuran image yang akan di normalisasi rotasi untuk proses selanjutnya, sesuai gambar 3.19.a.

a b c

Gambar 3.19. a. Crop Image 1 b. Normalisasi Rotasi c. Crop Image 2

Sesudah crop image 1 dilakukan proses normalisasi rotasi sesuai gambar 3.19b. Lalu dilakukan

crop image 2 sebelum melakukan normalisasi ukuran, gambar 3.19c menunjukkan crop image

2. Selanjutnya dilakukan normalisasi baris dengan resize ke ukuran baris 128 piksel. Kemudian

dilakukan normalisasi template dengan pengecropan ukuran ke 128x128 piksel. Gambar 3.20.

menunjukkan hasil normalisasi template.

Gambar 3.20. Hasil Normalisasi Template

Setelah dilakukan normalisasi template , selanjutnya proses yang dilakukan Histogram

Proyeksi Vertikal dan Horisontal dengan pendekatan perhitungan jarak setiap buah yang sudah

terdeteksi melalui ciri histogram. Hasil ciri histogram seperti gambar 3.21.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

50

Gambar 3.21. Hasil Histogram Proyeksi

Setelah hasil histogram diperoleh maka dilakukan perhitungan sesuai dengan persamaan 2.16,

setiap data yang diperoleh oleh matlab kemudian dicocokan melalui data base dengan ekstraksi

ciri dari setiap bentuk buah. Setelah diperoleh maka ditentukan keluar jenis bentuk buah.

Gambar 3.22. menunjukkan ekstraksi ciri buah sebagai data base.

Gambar 3.22. Hasil Ekstraksi Ciri Buah

Flowchart proses pengenalan bentuk buah ditunjukkan pada gambar 3.23.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

51

StartCapture

Image

Convert RGB

to HSV

Ambil

Saturasi

Saturasi to

Biner

Remove

Small Objects

Cropping

Image

Normalisasi

Rotasi

Reset Stop/Exit

Reset Stop

ya ya

Normalisasi

Baris

Histogram

Proyeksi

Vertikal dan

Horisontal

Hitung JarakData Base

Penentuan

Keluaran

Cropping

Image

Normalisasi

Template

Tidak

Gambar 3.23. Flowchart sistem pada matlab

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

52

3.3.2. Perancangan GUI

Tujuan pembuatan GUI (Graphical User Interface) yaitu agar 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 pemprosesan data dan lain-lain. Perancangan GUI yang akan dibuat dapat

ditunjukan pada gambar 3.24.

Gambar 3.24. Tampilan Perancangan GUI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

53

BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai hasil pengamatan dari prototype pemilah buah

berdasarkan bentuk. Hasil pengamatan berupa, data pengenalan bentuk buah berdasarkan

dari ekstrasi ciri bentuk buah, tingkat keberhasilan pengenalan objek bentuk buah, dan

tingkat keberhasilan conveyor memindahkan buah ke tempat yang telah ditentukan.

4.1 . Bentuk Fisik dan Sistem Kerja Conveyor

Hardware terdiri atas conveyor yang digunakan untuk memindahkan buah ketempat

yang sudah ditentukan bentuk fisik conveyor ditunjukan pada gambar 4.1. agar conveyor

bisa berjalan secara otomatis maka menggunakan minimum system ATmega32 yang

ditunjukan pada gambar 4.2. bentuk buah yang akan dideteksi meliputi buah alpukat, apel,

jeruk, pisang yang ditunjukan pada gambar 4.3. sedangkan bentuk fisik tempat peletakan

buah ditunjukan pada gambar 4.4.

Gambar 4.1. Conveyor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

54

Gambar 4.2. Minimum System ATmega 32

Gambar 4.3. Buah yang Dideteksi

Gambar 4.4. Tempat Peletakan Buah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

55

Mekanisme dari sistem kerja conveyor adalah conveyor bekerja secara otomatis

sesuai dengan perintah yang telah diprogram. Proses yang terjadi ketika tombol power “ON”

maka pertama-tama conveyor 1 akan berjalan membawa buah menuju tepat dibawah

webcam yang akan dideteksi oleh sensor photodioda. Ketika sensor photodioda terhalang

oleh buah dan conveyor 1 akan berhenti sesaat, maka mikrokontroler ATmega32 akan

mengirimkan karakter ‘a’ secara serial melalui komunikasi serial USART. Kemudian laptop

akan merima karakter tersebut sebagai isyarat bahwa telah terdapat objek buah tepat dibawah

webcam. Proses selanjutnya yaitu GUI pada MATLAB yang berguna untuk proses

pengenalan pola bentuk buah akan secara otomatis menjalankan program tersebut. Setelah

bentuk buah dikenali, maka laptop akan mengirimkan sebuah karakter yang mendefinisikan

bentuk buah. Karakter ‘a’ yang dikirim merupakan bentuk buah yang terdeteksi yaitu

“Alpukat”. Karakter ‘b’ yang dikirim merupakan bentuk buah yang terdeteksi yaitu “Apel”.

Karakter ‘c’ yang dikirim merupakan bentuk buah yang terdeteksi yaitu “Jeruk”. Karakter

‘d’ yang dikirim merupakan bentuk buah yang terdeteksi yaitu “Pisang”.

Setelah mikrokontroler ATmega32 menerima karakter tersebut, maka conveyor 2

akan berjalan memindahkan tempat peletekan buah buah sesuai dengan apa yang dideteksi,

kemudian conveyor 1 berjalan untuk memindahkan buah tersebut ke tempat peletakan sesuai

dengan bentuk masing-masing. Proses in akan terus berlangsung hingga tombol pada GUI

MATLAB ditekan “STOP” atau catu daya pada posisi “OFF”.

4.2. Penjelasan Program

Pada sub bab ini, membahas mengenai penjelasan sitem program software yang telah

dirancang,selain itu juga akan membahas interface serta penjelasan penggunaan sistem.

4.2.1. Langkah-Langkah Awal Untuk Menjalankan Program Pengenalan

Bentuk Buah

A. Membuka software Matlab, dengan cara klik dua kali pada gambar icon matlab.

Setelah itu akan muncul tampilan utama matlab seperti pada gambar 4.5.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

56

Gambar 4.5. Tampilan Matlab

B. Setelah muncul tampilan utama dari matlab, langkah selanjutnya untuk menjalankan

program pengenalan yaitu dengan mengganti current folder dengan directory tempat

program pengenalan ini disimpan. Setelah itu mengetik guide pada command

window dan akan muncul tampilan guide quick start seperti pada gambar 4.6.

Kemudian pilih nama file program yang akan dijalankan untuk membuka interface

dari program tersebut.

Gambar 4.6. Tampilan Guide Quick Start

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

57

C. Tentukan file guide yang akan dijalankan, setelah itu klik open maka akan muncul

tampilan untuk meng-edit yang akan dijalankan seperti pada gambar 4.7. kemudian

klik run untuk menjalankan program.

Gambar 4.7. Tampilan Pengenalan Bentuk Buah

4.2.2. Penjelasan Program Matlab

4.2.2.1. Tampilan GUI Matlab

GUI (Graphical User Interface) yaitu suatu tampilan yang berfungsi untuk

mempermudah dalam pengawasan program yang sedang 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.8.

Gambar 4.8. Tampilan GUI Matlab

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

58

Terdapat beberapa fasilitas pada tampilan GUI yang digunakan yaitu axes, edit text,

popupmenu, dan push button. Fasilitas axes berfungsi menampilkan gambar, grafik, ataupun

diagram. Axes berfungsi menampilkan gambar dari buah dan ekstraksi ciri buah. Selain axes,

terdapat fasilitas edit text yang berfungsi untuk menampilkan jumlah buah yang telah

terdeteksi, menampilkan nama buah terdeteksi, dan menampilkan hasil deteksi sistem.

Sedangkan popupmenu berfungsi menampilkan daftar pilihan PORT komunikasi yang

digunakan untuk melakuan komunikasi serial antara laptop dan mikrokontroler. Bagian yang

terakhir yaitu push button. Push button berfungsi sebagai sebuah tombol yang digunakan

untuk mengontrol suatu program yang akan diekseusi dengan cara diklik.

Keterangan gambar 4.9. :

1. Tombol pushbotton1 adalah tombol start yang berfungsi untuk memulai proses

dan meng-capture objek dari webcam.

2. Tombol pushbutton2 adalah tombol reset yang berfungsi untuk me-reset system

apabila user melakukan kesalahan atau akan melakukan pengenalan yang lain.

3. Tombol pushbotton3 adalah tombol stop yang berfungsi mengakhiri proses

program.

4.2.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 pada gambar 4.9.

Gambar 4.9. Inisialisasi Komunikasi Serial

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

59

Dalam proses percobaan gambar 4.9 merupakan program yang digunakan dalam

proses komunikasi serial. Namun dalam proses percobaan hasil yang diperolah bahwa

komunikasi tidak dapat dilakukan dikarena pc dengan mikrokontroler tidak dapat saling

berkomunikasi.

4.2.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.10.

Gambar 4.10. Inisialisasi Webcam dan Proses Capture Gambar

Untuk melakukan proses pengolahan citra, maka dibutuhkan perangkat keras berupa

webcam. Oleh karena itu, maka diperlukannya proses inisialisasi perangkat keras tersebut

agar dapat dikenali oleh Matlab. Perintah program “winvideo” adalah perintah program

untuk menginisilasi webcam agar bekerja pada laptop dengan processor windows dan

kemudian informasi tersebut akan diinisialisasi ke dalam program. Hal ini bertujuan agar

webcam dengan software Matlab dapat melakukan komunikasi. ‘YUY2_640x480’ format

webcam yang digunakan.

Perintah program getsnapshot adalah perintah untuk meng-capture gambar saat

video dari webcam sedang dalam keadaan on. Hasil dari capture webcam memiliki format

gambar YUY sehingga diubah terlebih dahulu ke format gambar RGB dengan cara

menggunakan fungsi yuy2torgb. Agar hasil capture bisa dipanggil dan digunakan diprogram

lain maka diinisialisasikan menggunakan “handles”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

60

4.2.2.4. Proses Pengenalan Citra

% Ekstraksi ciri bentuk buah

% 1. RGB to saturation image using HSV

hsv=rgb2hsv(gambar); % Konversi RGB --> HSV

%s1=hsv(:,:,2); % Ambil Saturasi

s1=hsv(:,:,3); % Ambil Value

% 2. Saturation thresholding

% Original value: 0.4

im0=s1>0.4;

% 3. Remove small objects (morphologically open binary image)

% Original value : 2000

im1=bwareaopen(im0,2000);

% 4. Crop image I

% Mengurangi ukuran image yang akan di normalisasi rotasi

im2=cropimg(im1);

% 5. Normalisasi rotasi

im3=normrot(im2);

% 6. Crop image II

im4=cropimg(im3);

% 7. Normalisasi ukuran

im5=imresize(im4,[128 NaN]); % Resize ke ukuran baris 128

piksel

% 8. Normalisasi template

[baris,kolom]=size(im5);

tkolom=round((128-kolom)/2);

zeropad=zeros(128,tkolom);

im6=[zeropad im5 zeropad]; % Zero padding kiri dan kanan

im6=im6(:,1:128); % Crop ukuran ke 128x128 piksel

% 9. Histogram proyeksi vertikal dan horisontal

histv=sum(im6);

histh=sum(im6');

histp=[histv histh]';

histp=histp/100; % Penyekalaan

axes(handles.axes5);

imshow(im6);

axes (handles.axes6);

bar(histp);

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 Hsv dengan tujuan untuk mempermudah dalam

pemrosesan. Langkah selanjutnya yaitu mengambil bagian saturasinya agar dapat

mengetahui bentuk buah, langkah selanjutnya yaitu proses pengambilan dengan menghapus

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

61

objek-objek yang tidak berguna. Setelah itu dilakukan cropping image untuk objek yang

sudah terdeteksi guna mengurangi ukuran image yang akan di normalisasi rotasi..

Selanjutnya dilakukan normalisasi baris dengan resize ke ukuran baris 128 piksel. Kemudian

dilakukan normalisasi template dengan pengecropan ukuran ke 128x128 piksel. Setelah itu

dilakukan Histogram Proyeksi Vertikal dan Horisontal dengan pendekatan perhitungan jarak

setiap buah yang sudah terdeteksi melalui ciri histogram.

Tabel 4.1. Mencari nilai Parameter untuk Saturation Thresholding Buah Pisang

Nilai Capture Gambar Hasil Gambar

0.2

0.3

0.4

0.5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

62

Sebelum dilakukan cropping hasil dari RGB KE HSV dilakukan pencarian objek

dengan hasil terbaik dan bisa memperoleh objek dengan bentuk sesuai hasil capture gambar

tanpa ada objek-objek lain yang mempengaruhi bentuk gambar. Dengan pencahayaan yang

cerah agar objek terlihat maka dilakukan percobaan dengan nilai original value. Menentukan

nilai sebesar 0.4. Penentuan nilai 0,4 berasal dari hasil percobaan seperti pada table 4.1. Dari

table diperoleh objek terbaik pada angka sebesar 0.4.

Gambar 4.11. Inisialisasi Program Mencari Objek Terbaik

Program diatas pada gambar 4.11. adalah bagian dari program ekstrasi ciri buah

penentu bentuk keluaran buah. List program “Remove Small Objects” berfungsi untuk

menentukan objek agar hasil yang diperoleh dapat bersih tanpa objek-objek lain, untuk nilai

parameter “Im0>2000” didapat dari hasil percobaan seperti pada table 4.2.

Tabel 4.2. Mencari Nilai Parameter untuk Remove Small Objects

Nilai Objects Hasil

500

\

1000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

63

Tabel 4.2. (Lanjutan) Mencari Nilai Parameter untuk Remove Small Objects

Nilai Objects Hasil

2000

3000

4.2.2.5. Proses Pengenalan Buah

Untuk proses pengenalan buah maka perlu dilakukan perhitungan jarak

“hjarak(m)=jarak(histp,dbbuah(:,m))” setelah dilakukan perhitungan maka

hasil akan dicocokan dengan database yang telah dibuat. Program menunjukkan bahwa jika

mendeteksi buah alpukat maka kelasoutnya “1,2,3,4” ,untuk apel kelasoutnya “5,6,7,8”

sedangkan jeruk kelasoutnya “9,10,11,12” sedangkan pisang kelasoutnya “13,14,15,16”.

load dbx

szdb=size(dbbuah)

% Perhitungan jarak

for m=1:16

hjarak(m)=jarak(histp,dbbuah(:,m));

end

hjarak

% Pengurutan hasil perhitungan jarak

[s1,s2]=sort(hjarak,'ascend');

s2

%jarakbuah=s1(1)

% Penentuan kelas keluaran

kelasout=s2(1);

kelasout

% Penentuan buah keluaran

daftarbuah='alpukat';'alpukat';'alpukat';'alpukat';

'apel';'apel';'apel';'apel';

'jeruk';'jeruk';'jeruk';'jeruk';

'pisang';'pisang';'pisang';'pisang';

buahout=daftarbuahkelasout;

set(handles.edit6,'string' ,buahout)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

64

if strcmp(buahout,'alpukat')>0

set(handles.edit6,'string' ,'alpukat');

kotak=1;

alpukat=alpukat+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit1, 'String', alpukat);

elseif strcmp(buahout,'apel')>0

set(handles.edit6,'string' ,'apel');

kotak=2;

apel=apel+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit2, 'String', apel);

elseif strcmp(buahout,'jeruk')>0

set(handles.edit6,'string' ,'jeruk');

kotak=3;

jeruk=jeruk+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit4, 'String', jeruk);

elseif strcmp(buahout,'pisang')>0

set(handles.edit6,'string' ,'pisang')

kotak=4;

pisang=pisang+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit5, 'String', pisang);

end

Program diatas digunakan untuk proses pengenalan buah setelah data diambil cocok

dengan database. Berjalannya program jika data memiliki kelasout “1,2,3,4” maka akan

tampil pada “edit6” buah yang terdeteksi yaitu alpukat, pada “edit7” letak kotak yang dituju

kotak 1, kemudian menjumlahkan buah alpukat yang terdeteksi sebanyak 1 dan hasil

penjumlahan tersebut ditampilkan pada “edit1” lalu mengirimkan karakter ‘a’ secara serial.

Jika data memiliki kelasout “5,6,7,8” maka akan tampil pada “edit6” buah yang terdeteksi

yaitu apel, pada “edit7” letak kotak yang dituju kotak 2, kemudian menjumlahkan buah apel

yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit2” lalu

mengirimkan karakter ‘b’ secara serial. Jika data memiliki kelasout “9,10,11,12” maka akan

tampil pada “edit6” buah yang terdeteksi yaitu jeruk, pada “edit7” letak kotak yang dituju

kotak 3, kemudian menjumlahkan buah jeruk yang terdeteksi sebanyak 1 dan hasil

penjumlahan tersebut ditampilkan pada “edit4” lalu mengirimkan karakter ‘c’ secara serial.

Jika data memiliki kelasout “13,14,15,16” maka akan tampil pada “edit6” buah yang

terdeteksi yaitu pisang, pada “edit7” letak kotak yang dituju kotak 4, kemudian

menjumlahkan buah pisang yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut

ditampilkan pada “edit5” lalu mengirimkan karakter ‘d’ secara serial.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

65

4.2.3. Penjelasan Program AVR

Dijelaskan masing-masing fungsi pada listing program yang menggunakan software

CodeVision AVR diantaranya program pengendali sensor photodioda menggunakan fasilitas

ADC (Analog to Digital Converter), program untuk komunikasi serial menggunakan

USART (Universal Synchronous Asynchronous Receiver Transmiter).

4.2.3.1. Pengendali Sensor Photodioda

Program pengendali sensor photodioda menggunakan fasilitas yang dimiliki oleh

mikrokontroler ATmega32 yaitu ADC (Analog to Digital Converter). Fungsinya yaitu untuk

mengubah tegangan analog menjadi tegangan digital. Tegangan digital tersebut akan

digunakan untuk mengontrol conveyor saat membawa pisang.

Gambar 4.12. Listing Program ADC

Pada listing program yang ditunjukan gambar 4.12, digunakan read_adc(0) yang

artinya menggunakan PORTA.0 sebagai PORT masukan untuk mengubah tegangan analog

menjadi tegangan digital. Pada bagian sensor= read_adc(0)/2 maksud dari pembagian 2 yaitu

agar nilai desimal ADC maksimal yaitu 1023 dibagi 2 yaitu 511. Sehingga apabila tegangan

masukan 0 Volt sampai 5 Volt, akan diubah melalui ADC menjadi 0 desimal hingga 511

desimal.

Gambar 4.13. Listing Program Pengendali Conveyor

Pada bagian listing program gambar 4.13, fungsinya yaitu untuk mengendalikan

motor penggerak conveyor yang dikontrol menggunakan PORTB.0. Terdapat nilai 200 pada

bagian “if (sensor>=200)” ini dimaksudkan untuk membuat PORTB.0 bernilai “0” jika nilai

sensor lebih besar sama dengan dari 200 desimal ADC. Hal ini berarti menyebabkan motor

pada conveyor berhenti berputar. Jika kondisi sensor kurang dari 200, maka motor conveyor

akan terus berputar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

66

4.2.3.2. Pengendali Komunikasi USART

Pada bagian ini berfungsi sebagai komunikasi serial USART untuk menghubungkan

antara mikrokontroler ATmega32 dengan laptop. Baudrate yang digunakan yaitu 9600 bps.

Fungsi “getchar()” yaitu untuk menerima karakter dari laptop ke mikrokontroler. Sedangkan

fungsi “putchar()” yaitu untuk mengirimkan suatu karakter kepada laptop. Listing program

dapat dilihat pada gambar 4.14.

Gambar 4.14. Listing Program Komunikasi USART

4.2.3.3. Pengendali Motor

Program pengendali motor menggunakan interrupt sebagai pembangkit pulsa untuk

menghitung kotak yang lewat. Listing program pengendali motor ditunjukan gambar 4.15.

Gambar 4.15. Listing program pengendali putar motor

Gambar 4.16. Inisialisai Port

Listing program pada gambar 4.15 adalah penyetingan yang digunakan motor agar

dapat bergerak. Gambar 4.16 merupakan penyetingan nama port, penyetingan ini dilakukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

67

agar mempermudah pemanggilan. Jika motor1 aktif maka PORTB 0 juga akan aktif, atau

jika motor2 aktif maka PORTB 1 juga aktif, begitu pula yang terjadi pada motor3. Kodisi

nilai count<kotak artinya adalah jika nilai count lebih kecil dari pada kotak maka motor2

akan bergerak (conveyor2 maju), ketika nilai count dan kotak sama maka motor2 akan

berhenti, motor1 (conveyor1) akan bergerak untuk memindakan buah, dan motor3 akan

bergerak (conveyor2 mundur).

Gambar 4.17. Pemberian Nilai Data

Listing program yang ditunjukan pada gambar 4.17. merupakan menambahkan nilai

count, setiap interupt aktif maka nilai count akan berubah, setelah nilai count dan kotak

sama maka motor2 akan berhenti.

4.2.3.4. Subrutin Program Utama

Pada bagian ini akan dibahas mengenai subrutin program yang akan dieksekusi

secara terus menerus karena terdapat didalam fungsi while. Listing program dapat dilihat

pada gambar 4.18.

Gambar 4.18. Subrutin Program Utama

Pada bagian listing program gambar 4.18. Karakter 'a' yang dikirim laptop

merupakan karakter yang mendeskripsikan bahwa buah yang terdeteksi merupakan alpukat,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

68

sedangkan karakter 'b' yang dikirim laptop merupakan karakter yang mendeskripsikan

bahwa buah yang terdeteksi merupakan apel, sedangkan karakter 'c' yang dikirim laptop

merupakan karakter yang mendeskripsikan bahwa buah yang terdeteksi merupakan jeruk,

kemudian nilai karakter 'd' yang dikirim laptop merupakan karakter yang mendeskripsikan

bahwa buah yang terdeteksi merupakan pisang.

Subrutin yang terdapat didalam “while(1)” akan dieksekusi secara terus menerus

hingga power “OFF” atau tombol reset ditekan. Hal ini dikarenakan didalam kurung while

diberi angka “1” yang berarti bernilai true atau akan dieksekusi secara terus menerus.

4.3. Pengujian Komunikasi Serial

Pada pengujian komunikasi percobaan dilakukan sebanyak sepuluh kali pada

transmiter dan reciver, antara matlab dengan mikrokontroler. Data yang dikirim merupakan

data bilangan biner, dan karakter. Hasil percobaan dapat dilihat pada Tabel 4.3. dan Tabel

4.4.

Tabel 4.3. Pengujian Komunikasi Pengirim

PENGUJIAN KEBERHASILAN KOMUNIKASI

TRANSMITER

DATA PERCOBAAN

1 2 3 4 5 6 7 8 9 10

0B01110011 V V V V V V V V V V

0x0A V V V V V V V V V V

‘AAA’ V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Tabel 4.4. Pengujian Komunikasi Penerima.

PENGUJIAN KEBERHASILAN KOMUNIKASI

RECEIVER

DATA PERCOBAAN

1 2 3 4 5 6 7 8 9 10

0B01110011 V V V V V V V V V V

0x0A V V V V V V V V V V

‘AAA’ V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

69

Berdasarkan tabel 4.3. dan tabel 4.4. maka dapat disimpulkan bahwa komunikasi

serial antara matlab dengan mikrokontroller dapat berjalan sesuai yang diinginkan.

4.4. Pengujian Keberhasilan Mengaktifkan Indikator LED

Pada pengujian keberhasilan komunikasi untuk mengaktifkan indikator LED dilakun

sebanyak 5 kali. Komunikasi karakter yang diterima oleh matlab akan dikirim ke

mikrokontroler untuk mengaktifkan indikator LED bahwa karakter alpukat menunjukkan

LED 1 aktif (1000) , karakter apel menunjukkan LED 2 aktif (0100) , karakter jeruk

menunjukkan LED 3 aktif (0010) , dan karakter pisang menunjukkan LED 4 aktif (0001).

Hasil percobaan ditunjukkan dalam tabel 4.5.

Tabel 4.5. Pengujian Keberhasilan Mengaktifkan Indikator LED

Pengujian Mengaktifkan Indikator LED

Buah 1 2 3 4 5

Alpukat V V V V V

Apel V V V V V

Jeruk V V V V V

Pisang V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Berdasarkan dari tabel 4.5. menunjukkan bahwa komunikasi antara matlab dengan

mikrokontroler sudah berhasil. Bahwa matlab berhasil mengirim karakter dan diterima

mikrokontroler sehingga indikator dari setiap karakter yang dimaksud dapat mengaktif

LED.

4.5. Pengujian Keberhasilan ATmega32 Menggerakkan Conveyor

Pada pengujian conveyor memindahkan buah dilakukan sebanyak lima kali

percobaan dari masing-masing setiap buah. Ketika sistem telah mengenali bentuk buah,

maka conveyor akan berhenti, selanjutnya ketika matlab mengirim karakter ‘a’, ‘b’, ‘c’, atau

‘d’ maka mikrokontroler ATmega32 akan mengontrol pergerakan conveyor untuk

memindahkan buah sesuai dengan peletakan yang telah ditentukan sebelumnya, apel akan

diletakkan dalam kotak 1, alpukat akan diletakkan dalam kotak 2, jeruk akan diletakkan

dalam kotak 3 dan pisang akan diletakkan dalam kotak 4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

70

Tabel 4.6. Pengujian Keberhasilan Conveyor Memasukkan Buah dalam Kotak

Pengujian Conveyor Memasukkan Buah dalam Kotak

Buah 1 2 3 4 5

Alpukat X X X X X

Apel X X X X X

Jeruk X X X X X

Pisang X X X X X

Keterangan : V(Berhasil) X(Tidak Berhasil)

Berdasarkan tabel 4.6. maka dapat dianalisa bahwa conveyor belum dapat

memindahkan buah dengan baik. Sebab dalam proses yang terjadi bahwa conveyor2 belom

dapat mengenali jenis kotak yang sesuai untuk setiap buah. Padahal data yang dikirim dan

diterima setiap karakter sudah sesuai dengan karakter yang ditentukan. Terjadinya erorr

dalam proses pegenalan untuk memasukkan buah dalam kotak mengalami kesalahan. Hal

ini mungkin dipengaruhi oleh hardware yang mengalami kerusakan atau system yang belum

bisa bekerja sempurna. Pada saat disimulasikan komunikasi serial mikro dan matlab sudah

bisa terhubung dan karakter yang dikirim dan diterima sudah sesuai. Namun hanya sebatas

mengaktifkan LED. Untuk realnya hardware masih belum berjalan dengan baik.

4.6. Pengujian dan Analisis Hasil Pengenalan Bentuk

Pengujian program pengenalan bentuk buah ini bertujuan untuk melihat seberapa

besar tingkat pengenalan terhadap citra masukkan. Pengujian program pengenalan bentuk

buah dilakukan dengan 2 tahap. Tahap pertama adalah pengujian dengan cahaya redup dan

cahaya cerah dengan menggunakan variasi nilai thresholding sehingga bentuk buah dapat

dikenali. Tahap kedua adalah dengan menggunakan variasi nilai remove small objects.

4.6.1. Pengujian Pengenalan dengan Variasi Nilai Thresholding

Percobaan variasi nilai thresholding bertujuan untuk melihat batas nilai yang paling

sesuai dengan keluaran bentuk . Percobaan variasi cahaya bertujuan untuk melihat pengaruh

cahaya terhadap tingkat pengenalan. Pengujian ini dilakukan dengan beberapa langkah, yaitu

:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

71

1. Melakukan dengan 4 macam jenis buah dengan 2 variasi buah.

2. Capturing dilakukan dengan jarak 30cm dari webcam ke objek buah dan situasi

cahaya yang berbeda yaitu cahaya cerah pada gambar 4.19 dan cahaya redup pada

gambar 4.20.

Gambar 4.19. Saat Cahaya Cerah

Gambar 4.20. Saat Cahaya Redup

3. Percobaan variasi nilai thresholding ( 0.2, 0.3, 0.4, 0.5 ).

4. Percobaan dilakukan 2 kali untuk setiap 1 macam buah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

72

Tabel 4.7. Pengujian dengan Cahaya Cerah dengan Variasi Buah 1

BUAH

Nilai Thresholding

0.2 0.3 0.4 0.5

Alpukat

1

V

V

V

V

2

V

V

V

V

Apel

1

X

X

V

V

2

X

X

V

V

Jeruk

1

X

X

V

V

2

X

V

V

V

Pisang

1

X

V

V

V

2

X

V

V

V

Tabel 4.8. Pengujian dengan Cahaya Cerah dengan Variasi Buah 2

BUAH

Nilai Thresholding

0.2 0.3 0.4 0.5

Alpukat

1

V

V

V

V

2

V

V

V

V

Apel

1

X

X

V

V

2

X

X

V

V

Jeruk

1

X

X

V

V

2

X

V

V

V

Pisang

1

X

V

V

V

2

X

V

V

V

Ket : X : tidak terdeteksi

V : terdeteksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

73

Hasil pengujian pada tabel 4.7. dan Tabel 4.8. merupakan hasil pengujian pengenalan

bentuk buah berdasarkan variasi nilai thresholding. Hasil pengujian variasi nilai

thresholding memperlihatkan bahwa buah terdeteksi dengan baik pada nilai 0.4 dan 0.5,

karena pada nilai 0.4 dan 0.5 objek yang tertampil . Pada nilai 0.2 dan 0.3 tidak dapat dikenali

karena terjadi kesalahan saat cropping menyebabkan buah tidak dikenali dengan tidak baik.

Hasil pengujian nilai thresholding memperlihatkan bahwa pada percobaan pengenalan

bentuk buah nilai thresholding mempengaruhi hasil pengenalan. Saat cahaya cerah objek

pun terlihat dengan jelas.

Tabel 4.9. Pengujian dengan Cahaya Redup dengan Variasi Buah 1

BUAH

Nilai Thresholding

0.2 0.3 0.4 0.5

Alpukat

1

V

V

X

X

2

V

V

X

X

Apel

1

X

V

V

V

2

X

V

V

V

Jeruk

1

X

V

V

V

2

X

V

V

V

Pisang

1

V

V

V

V

2

V

V

V

V

Tabel 4.10. Pengujian dengan Cahaya Redup dengan Variasi Buah 2

BUAH

Nilai Thresholding

0.2 0.3 0.4 0.5

Alpukat

1

X

V

X

X

2

X

V

X

X

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

74

Tabel 4.10. (Lanjutan) Pengujian dengan Cahaya Redup dengan Variasi Buah 2

BUAH

Nilai Thresholding

0.2 0.3 0.4 0.5

Apel

1

X

V

V

X

2

X

V

V

X

Jeruk

1

X

V

V

V

2

X

V

V

V

Pisang

1

V

V

V

V

2

V

V

V

V

Ket : X : tidak terdeteksi

V : terdeteksi

Hasil pengujian pada tabel 4.9 dan tabel 4.10 merupakan hasil pengujian pengenalan

bentuk buah berdasarkan variasi nilai thresholding dengan cahaya redup. Hasil pengujian

variasi nilai thresholding memperlihatkan bahwa 4 macam jenis buah terdeteksi dengan baik

pada nilai 0.3. Sebab nilai 0.2 dan 0.4 serta 0.5 tidak bisa menunjukkan 4 macam objek

terbaik karena terjadi kesalahan saat cropping menyebabkan buah tidak dikenali dengan

tidak baik. Pada tabel 4.7. dan tabel 4.8. nilai yang dapat memunculkan objek terbaik yaitu

nilai 0.4 sebab dalam pengujian dilakukan berbeda dengan cahaya cerah. Jadi hasil pengujian

nilai thresholding memperlihatkan bahwa cahaya sangat mempengaruhi dalam proses

pengenalan bentuk buah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

75

Tabel 4.11. Citra Hasil Variasi Nilai Thresholding

Nilai

Thresholding

Alpukat Apel jeruk pisang

0.2

0.3

0.4

0.5

Tabel 4.11 merupakan contoh citra hasil variasi nilai thresholding dimana nilai 0.4

menunjukkan hasil baik untuk 4 macam jenis buah maka gambar terlihat jelas, hal itu

disebabkan karena objek-objek yang tidak sesuai akan hilang apabila nilainya terlalu besar

objek yang diperoleh aka nada yang hilang.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

76

4.6.2. Pengujian Pengenalan Berdasarkan Variasi Remove Small Object

Percobaan variasi Remove Small Object bertujuan untuk melihat batas nilai yang

paling sesuai dengan keluaran bentuk . Pengujian ini dilakukan dengan beberapa langkah,

yaitu :

1. Melakukan dengan 4 macam jenis buah dengan 2 variasi buah.

2. Capturing dilakukan dengan jarak 30cm dari webcam ke objek buah dan situasi

cahaya yang berbeda yaitu cahaya cerah pada gambar 4.19.

3. Percobaan variasi nilai Remove Small Objects ( 500, 1000, 2000, 3000 )

4. Percobaan dilakukan 2 kali untuk setiap 1 macam buah.

Tabel 4.12. Pengujian dengan Variasi Remove Small Object

Buah Variasi Remove Small Object

500 1000 2000 3000

Alpukat

1 X V V V

2 X V V V

3 X V V V

4 X V V V

5 X V V V

6 X V V V

7 X V V V

8 X V V V

9 X V V V

10 X V V V

Apel

1 V V V V

2 V V V V

3 V V V V

4 V V V V

5 V V V V

6 V V V V

7 V V V V

8 V V V V

9 V V V V

10 V V V V

Jeruk

1 V V V V

2 V V V V

3 V V V V

4 V V V V

5 V V V V

6 V V V V

7 V V V V

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

77

Tabel 4.12. (Lanjutan) Pengujian dengan Variasi Remove Small Object

Buah

Variasi Remove Small Object

500 1000 2000 3000

Jeruk

8 V V V V

9 V V V V

10 V V V V

Pisang

1 V V V V

2 V V V V

3 V V V V

4 V V V V

5 V V V V

6 V V V V

7 V V V V

8 V V V V

9 V V V V

10 V V V V

Hasil pengujian pada Tabel 4.12. merupakan hasil pengujian pengenalan bentuk buah

berdasarkan variasi nilai remove small objects. Hasil pengujian variasi nilai remove small

objects menggunakan nilai thresholding 0.4 dengan hasil objek yang tertampil . Pada nilai

1000, 2000, 3000 yang dapat dikenali karena objek yang tertampil sudah menyerupai dengan

bentuk hasil saat capturing sehingga dapat mendeteksi dari jenis-jenis buah. Hasil pengujian

nilai 500 tidak dapat sempurna mengenali 4 macam jenis buah karena hasil pengenalan pada

buah alpukat objek yang diperoleh hanya berbentuk kecil sehingga tidak diperoleh hasil

sempurna. Memperlihatkan bahwa pada percobaan pengenalan bentuk buah nilai remove

small object dan nilai thresholding saling mempengaruhi hasil pengenalan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

78

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil pengujian serta pengambilan data pada aplikasi pengenalan objek untuk

conveyor pemilah buah berdasarkan bentuk, dapat diambil kesimpulan:

1. Sistem pada matlab dapat mendeteksi buah dengan baik, tetapi cahaya

mempengaruhi proses pendeteksi.

2. Posisi buah yang tidak sesuai dapat mempengaruhi pendeteksian buah.

3. Sistem sudah berjalan dengan benar, komunikasi antara matlab dengan

mikrokontroler sudah berjalan baik meskipun harus dilakukan restart.

4. Komunikasi yang terjadi hanya sampai dengan indikator dalam pengaktifan

LED.

5. Beberapa bagian system conveyor belom dapat berjalan dengan baik.

5.2. Saran

Saran-saran bagi pengembangan selanjutnya adalah:

1. Lebih banyak variasi buah yang diuji.

2. Waktu sistem untuk proses conveyor dibuat lebih cepat.

3. Proses sistem agar dibuat lebih mudah.

4. Hardware dapat berjalan dengan sempurna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

Daftar Pustaka

[ 1 ] http://www.automatedconveyors.com diakses pada tanggal 2 Maret 2016.

[ 2 ] http://www.conveyall.com diakses pada tanggal 2 Maret 2016.

[ 3 ] http://www.caesarvery.com/2015/12/scope-coal-handling-plant-pltu.html

diakses pada tanggal 2 Maret 2016.

[ 4 ] http://www.conveyor.co.id/ diakses pada tanggal 2 Maret 2016.

[ 5 ] http://staff.ui.ac.id/system/files/users/chairul.hudaya/material/dcmotorpaperan

dqa.pdf diakses tanggal 2 Maret 2016.

[ 6 ] ----, 2011,Data Sheet Mikrokontroler ATmega32, Atmel.

[ 7 ] Agus Bejo, 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam

Mikrokonroler ATMEGA8535, 1st ed, GRAHA ILMU, Yogyakarta.

[ 8 ] Boylestad, R. and Nashelsky. L., Electronic Devices and Circuit Theory,

seventh edition, Prentice Hall, New Jersey Columbus, Ohio.

[ 9 ] Fathoni, Oktober 2010, Unjuk Kerja Catu Daya 12 Volt 2A dengan Pass

Element Transistor NPN dan PNP, Jurnal Neutrino, Vol.3, No.1.

[ 10 ] Irvan Hasan, 2015, Aplikas Pengenalan Objek untuk Lengan Robot Pemisah

Benda Berdasarkan Bentuk Benda, Skripsi, Universitas Sanata Dharma,

Yogyakarta.

[ 11 ] http://elektronika-dasar.web.id/limit-switch-dan-saklar-push-on/ diakses 5 Mei

2016.

[ 12 ] Enterprise, Jubilee, 2010, Teknik Mengendalikan PC dari Jarak Jauh, PT Elex

Media Komputindo, Jakarta.

[ 13 ] http://www.logitech.com/id-id/product/webcam-c170 diakses 23 Mei 2016.

[ 14 ] http://www.kamusq.com/2014/01/buah-adalah-pengertian-dan-definisi.html

diakses 6 Juni 2016.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

[ 15 ] Noviyanto, Ary. (2009). Klasifikasi Tingkat Kematangan Varietas Tomat

Merah dengan Metode Perbandingan Kadar Warna. Yogyakarta: Universitas

Gajah Mada.

[ 16 ] Wijaya, M.Ch., dan Prijono, A., 2007, Pengolahan Citra Digital Menggunakan

MATLAB, Informatika, Bandung.

[ 17 ] Putra, D., 2010, Pengolahan Citra Digital, Andi Offset, Yogyakarta.

[ 18 ] Agarwal Vertika, 2011, “Analysis of Histogram Equalization in Image

Preprocessing”, BIOINFO Human-Computer Interaction,

Volume 1, Issue1, 2011, pp-04-07.

[ 19 ] http://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/

diakses tanggal 20 Juni 2016.

[ 20 ] http://elektronika-dasar.web.id/driver-motor-dc-h-bridge-transistor/ diakses 10

Juli 2016.

[ 21 ] L7805CT Datasheet, PDF.

[ 22 ] ----,2002, Data Sheet Transistor 2N3904, KEC.

[ 23 ] ----,1999, Data Sheet Transistor 2N3055, STMicroeelectronics.

[ 24 ] http://www.edukasielektronika.com/2013/02/photo-dioda.html

[ 25 ] Acharya T., Ray A.K. (2005), Image Processing Principles and Applications,

by John Wiley & Sons,

[ 26 ] http://www.crestmi.com.au/motors.php

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L1

Rangkaian Sistem Prototype

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L2

Rangkaian Minimum Sistem ATmega32

Rangkaian Regulator

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L3

Rangkaian Sensor

Webcam Logitech c170h[13] Spesifikasi Webcam Logitech c170h[13]

Motor Dc 24v, 2A [26] Spesifikasi Motor Dc [26]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L4

Listing Program AVR

Project : PROGRAM CONVEYOR

Version :

Date : 12/29/2016

Author : Dimas Pradipta

Company :

Comments :

Chip type : ATmega32

Program type : Application

AVR Core Clock frequency : 11.059200 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 512

*******************************************************/

#include <mega32.h>

#include <delay.h>

#include <stdlib.h>

#define motor1 PORTB.0

#define motor2 PORTB.1

#define led1 PORTB.2

#define led2 PORTB.3

#define led3 PORTB.4

#define led4 PORTB.5

#define tombol_up PINB.6

#define tombol_down PINB.7

#define on 0

#define off 1

// Declare your global variables here

bit status_up=0,status_down=0;

unsigned char count, kotak, a,b,c,d,k;

bit kon, stop, box, ;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L5

int n,sensor, z , data=0;

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

// Place your code here

if(kon==1)count++;

// External Interrupt 1 service routine

interrupt [EXT_INT1] void ext_int1_isr(void)

// Place your code here

// Standard Input/Output functions

#include <stdio.h>

void counter()

if (tombol_up==off) status_up=on;

if ((tombol_up==on)&(status_up==on)) data++;

if (data>=1000) data=1000;

status_up=off;

if (tombol_down==off) status_down=on;

if ((tombol_down==on)&(status_down==on))

data--;

status_down=off;

void pilah_buah()

while(z)

k=getchar();

if(k==97)

kotak=1;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L6

led1=1;

n=3550;data=0;

while(data<kotak) motor2=1;counter(); // maju konveyor 2

delay_ms(100);led1=0;

motor2=0;

z=0;

else if(k==98)

kotak=2;

led2=1;

n= 4700;data=0;

while(data<kotak) motor2=1;counter(); // maju konveyor 2

delay_ms(100);led2=0;

motor2=0;

z=0;

else if(k==99)

kotak=3;led3=1; n=6000;

data=0;

while(data<kotak) motor2=1;counter(); // maju konveyor 2

delay_ms(100);led3=0;

motor2=0;

z=0;

else if(k==100)

kotak=4;n=7150;led4=1;

data=0;

while(data<kotak) motor2=1;counter(); // maju konveyor 2

delay_ms(100);led4=0;

motor2=0;

z=0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L7

else

kotak=5;n=8600;

//led5=1;data=0;

z=0;

// Voltage Reference: AREF pin

#define ADC_VREF_TYPE ((0<<REFS1) | (0<<REFS0) | (0<<ADLAR))

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input)

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion

ADCSRA|=(1<<ADSC);

// Wait for the AD conversion to complete

while ((ADCSRA & (1<<ADIF))==0);

ADCSRA|=(1<<ADIF);

return ADCW;

void main(void)

// Declare your local variables here

DDRB.0=1; PORTB.0=0;

DDRB.1=1; PORTB.1=0;

DDRB.2=1; PORTB.2=0;

DDRB.3=1; PORTB.3=0;

DDRB.4=1; PORTB.4=0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L8

DDRB.5=1; PORTB.5=0;

DDRD.4=1; PORTD.4=0;

DDRB.6=0; PORTB.6=1;

DDRB.7=0; PORTB.7=1;

// Input/Output Ports initialization

// Port A initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) |

(0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) |

(0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

//DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) |

(1<<DDB1) | (1<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

//PORTB=(1<<PORTB7) | (1<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) |

(0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) |

(1<<DDC1) | (1<<DDC0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) |

(0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRD=0xFF;

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) |

(0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L9

// Mode: Normal top=0xFF

// OC0 output: Disconnected

TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) |

(0<<CS00);

TCNT0=0x00;

OCR0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer1 Stopped

// Mode: Normal top=0xFFFF

// OC1A output: Disconnected

// OC1B output: Disconnected

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) |

(0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) |

(0<<CS10);

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L10

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0<<AS2;

TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) |

(0<<CS20);

TCNT2=0x00;

OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) |

(0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization

// INT0: On

// INT0 Mode: Falling Edge

// INT1: On

// INT1 Mode: Falling Edge

// INT2: Off

GICR|=(1<<INT1) | (1<<INT0) | (0<<INT2);

MCUCR=(1<<ISC11) | (1<<ISC10) | (1<<ISC01) | (0<<ISC00);

MCUCSR=(0<<ISC2);

GIFR=(1<<INTF1) | (1<<INTF0) | (0<<INTF2);

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: On

// USART Mode: Asynchronous

// USART Baud Rate: 9600

UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) |

(0<<MPCM);

UCSRB=0x18;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x47;

// Analog Comparator initialization

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L11

// Analog Comparator: Off

// The Analog Comparator's positive input is

// connected to the AIN0 pin

// The Analog Comparator's negative input is

// connected to the AIN1 pin

ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) |

(0<<ACIS0);

// ADC initialization

// ADC Clock frequency: 691.200 kHz

// ADC Voltage Reference: AVCC pin

// ADC Auto Trigger Source: ADC Stopped

// Only the 8 most significant bits of

// the AD conversion result are used

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x84;

SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

// SPI initialization

// SPI disabled

SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) |

(0<<SPR0);

// TWI initialization

// TWI disabled

TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

// Global enable interrupts

#asm("sei")

while (1)

motor1=1;

sensor=read_adc(0);

if(sensor>=500)

motor1=0;

putchar('z');

z=1;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L12

//delay_ms(300);

pilah_buah();

//counter();

//while(data<kotak) motor2=1;counter(); // maju konveyor 2

//delay_ms(100);

//motor2=0; // konveyor 2 stop

//delay_ms(200);

//motor1=1; // konveyor 1 jalan untuk masukan pisang ke kotak

//delay_ms(300);

//kon=0;

// motor3=1;delay_ms(n); // mundur konveyor 2

//motor2=0;

Listing Program GUI Matlab

function varargout = untitled(varargin)

% UNTITLED MATLAB code for untitled.fig

% UNTITLED, by itself, creates a new UNTITLED or raises the existing

% singleton*.

%

% H = UNTITLED returns the handle to a new UNTITLED or the handle to

% the existing singleton*.

%

% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in UNTITLED.M with the given input arguments.

%

% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before untitled_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to untitled_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L13

% Edit the above text to modify the response to help untitled

% Last Modified by GUIDE v2.5 21-Feb-2017 16:23:42

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @untitled_OpeningFcn, ...

'gui_OutputFcn', @untitled_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin1)

gui_State.gui_Callback = str2func(varargin1);

end

if nargout

[varargout1:nargout] = gui_mainfcn(gui_State, varargin:);

else

gui_mainfcn(gui_State, varargin:);

end

% End initialization code - DO NOT EDIT

end

% --- Executes just before untitled is made visible.

function untitled_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to untitled (see VARARGIN)

global alpukat

global apel

global jeruk

global pisang

alpukat=0;

apel=0;

jeruk=0;

pisang=0;

set(handles.edit1, 'String', '0' );

set(handles.edit2, 'String', '0' );

set(handles.edit4, 'String', '0' );

set(handles.edit5, 'String', '0' );

set(handles.edit6, 'String', '0' );

set(handles.edit7, 'String', '0' );

% Choose default command line output for untitled

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L14

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes untitled wait for user response (see UIRESUME)

% uiwait(handles.figure1);

end

% --- Outputs from this function are returned to the command line.

function varargout = untitled_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)2

% Get default command line output from handles structure

varargout1 = handles.output;

end

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

z=1;

global alpukat

global apel

global jeruk

global pisang

while (z)

%data yang dikirimkan

komunikasi=serial(handles.PORT);

%guidata(hObject,handles[[p);

%setting hardware diperlukan

set(komunikasi,'BaudRate',9600,'DataBits',8,'parity','none','StopBits',1,'FlowControl','none');

%membuka port untuk komunikasi

fopen(komunikasi);

out=fscanf(komunikasi);

out1=sprintf('%s',out);

pause(0.5);

if(out1==122)

%proses inisialisasi webcam

vid=videoinput('winvideo',2,'YUY2_640x480');

%proses capture gambar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L15

gambar1=getsnapshot(vid);

gambar=yuy2torgb(gambar1);

axes(handles.axes4);

imshow(gambar)

%imwrite(gambar,'alpukat.jpg','jpg');

% ========================================================

% Internal Function

% ========================================================

% function [im6,histp]=xcbuah(rgbImage)

% --------------------------------------------------------

% Ekstraksi ciri bentuk buah

% 1. RGB to saturation image using HSV

hsv=rgb2hsv(gambar); % Konversi RGB --> HSV

%s1=hsv(:,:,2); % Ambil Saturasi

s1=hsv(:,:,3); % Ambil Value

% 2. Saturation thresholding

% Original value: 0.4

im0=s1>0.4;

% 3. Remove small objects (morphologically open binary image)

% Original value : 2000

im1=bwareaopen(im0,1000);

% 4. Crop image I

% Mengurangi ukuran image yang akan di normalisasi rotasi

im2=cropimg(im1);

% 5. Normalisasi rotasi

im3=normrot(im2);

% 6. Crop image II

im4=cropimg(im3);

% 7. Normalisasi ukuran

im5=imresize(im4,[128 NaN]); % Resize ke ukuran baris 128 piksel

% 8. Normalisasi template

[baris,kolom]=size(im5);

tkolom=round((128-kolom)/2);

zeropad=zeros(128,tkolom);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L16

im6=[zeropad im5 zeropad]; % Zero padding kiri dan kanan

im6=im6(:,1:128); % Crop ukuran ke 128x128 piksel

% 9. Histogram proyeksi vertikal dan horisontal

histv=sum(im6);

histh=sum(im6');

histp=[histv histh]';

histp=histp/100; % Penyekalaan

axes(handles.axes5);

imshow(im6);

axes (handles.axes6);

bar(histp);

%histp=sum(histp);

%histp

load dbx

szdb=size(dbbuah)

% Perhitungan jarak

for m=1:16

hjarak(m)=jarak(histp,dbbuah(:,m));

end

hjarak

% Pengurutan hasil perhitungan jarak

[s1,s2]=sort(hjarak,'ascend');

s2

%jarakbuah=s1(1)

% Penentuan kelas keluaran

kelasout=s2(1);

kelasout

% Penentuan buah keluaran

daftarbuah='alpukat';'alpukat';'alpukat';'alpukat';

'apel';'apel';'apel';'apel';

'jeruk';'jeruk';'jeruk';'jeruk';

'pisang';'pisang';'pisang';'pisang';

buahout=daftarbuahkelasout;

set(handles.edit6,'string' ,buahout)

if strcmp(buahout,'alpukat')>0

set(handles.edit6,'string' ,'alpukat');

kotak=1;

alpukat=alpukat+1;

set(handles.edit7,'string' ,kotak)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L17

set(handles.edit1, 'String', alpukat);

fprintf(komunikasi,'a');

fclose(komunikasi);

elseif strcmp(buahout,'apel')>0

set(handles.edit6,'string' ,'apel');

kotak=2;

apel=apel+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit2, 'String', apel);

fprintf(komunikasi,'b');

fclose(komunikasi);

elseif strcmp(buahout,'jeruk')>0

set(handles.edit6,'string' ,'jeruk');

kotak=3;

jeruk=jeruk+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit4, 'String', jeruk);

fprintf(komunikasi,'c');

fclose(komunikasi);

elseif strcmp(buahout,'pisang')>0

set(handles.edit6,'string' ,'pisang')

kotak=4;

pisang=pisang+1;

set(handles.edit7,'string' ,kotak)

set(handles.edit5, 'String', pisang);

fprintf(komunikasi,'d');

fclose(komunikasi);

end

% ========================================================

% ========================================================

% ========================================================

end

% ========================================================

end

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L18

% =======================================================

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

cla;

clc;

global alpukat

global apel

global jeruk

global pisang

alpukat=0;

apel=0;

jeruk=0;

pisang=0;

set(handles.edit1, 'String', '0' );

set(handles.edit2, 'String', '0' );

set(handles.edit4, 'String', '0' );

set(handles.edit5, 'String', '0' );

set(handles.edit6, 'String', '0' );

set(handles.edit7, 'String', '0' );

end

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

close all

end

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array

% contentsget(hObject,'Value') returns selected item from popupmenu1

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L19

% --- Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end;end

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

end

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

end

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double

end

% --- Executes during object creation, after setting all properties.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L20

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end;end

function edit4_Callback(hObject, eventdata, handles)

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit4 as text

% str2double(get(hObject,'String')) returns contents of edit4 as a double

end

% --- Executes during object creation, after setting all properties.

function edit4_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end;end

function edit5_Callback(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit5 as text

% str2double(get(hObject,'String')) returns contents of edit5 as a double

end

% --- Executes during object creation, after setting all properties.

function edit5_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L21

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

end

function edit7_Callback(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

end

% Hints: get(hObject,'String') returns contents of edit7 as text

% str2double(get(hObject,'String')) returns contents of edit7 as a double

% --- Executes during object creation, after setting all properties.

function edit7_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

end

function edit6_Callback(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit6 as text

% str2double(get(hObject,'String')) returns contents of edit6 as a double

end

% --- Executes during object creation, after setting all properties.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L22

function edit6_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end;

end

% --- Executes on selection change in popupmenu2.

function popupmenu4_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu2 contents as cell array

% contentsget(hObject,'Value') returns selected item from popupmenu2

contents = get(hObject,'Value');

switch contents

case 1

handles.PORT='COM1';

case 2

handles.PORT='COM2';

case 3

handles.PORT='COM3';

case 4

handles.PORT='COM4';

case 5

handles.PORT='COM5';

case 6

handles.PORT='COM6';

case 7

handles.PORT='COM7';

case 8

handles.PORT='COM8';

case 9

handles.PORT='COM9';

case 10

handles.PORT='COM10';

case 11

handles.PORT='COM11';

case 12

handles.PORT='COM12';

case 13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L23

handles.PORT='COM13';

case 14

handles.PORT='COM14';

case 15

handles.PORT='COM15';

end

guidata(hObject,handles);

end

% --- Executes during object creation, after setting all properties.

function popupmenu4_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

end

Hasil Data Percobaan

Thersholding 0.4 dan remove small object 2000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L24

thresholding 0.4 remove small object 500

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L25

thresholding 0,4 remove small object 1000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L26

Thresholding 0.4 remove small object 3000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L27

thresholding 0.5 remove small object 2000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L28

Thersholding 0.3 remove 2000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L29

Thresholding 0.2 remove 2000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: TUGAS AKHIR - core.ac.uk · untuk kelancaran tugas-tugas perkuliahan. 10) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung dan menyemangati saya dalam menyelesaikan

L30

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI