Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

59
LAPORAN PROYEK AKHIR VISUALISASI PROSES PEMILAH BUAH JERUK SUNKIST BERDASARKAN UKURAN (SOFTWARE) DISUSUN OLEH : AMIRUL HUDA NIM. 1010117421001 PROGRAM STUDI TEKNIK ELEKTRONIKA POLITEKNIK CALTEX RIAU PEKANBARU 2013

Transcript of Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

Page 1: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

LAPORAN PROYEK AKHIR

VISUALISASI PROSES PEMILAH BUAH JERUK SUNKIST

BERDASARKAN UKURAN

(SOFTWARE)

DISUSUN OLEH :

AMIRUL HUDA

NIM. 1010117421001

PROGRAM STUDI TEKNIK ELEKTRONIKA

POLITEKNIK CALTEX RIAU

PEKANBARU

2013

Page 2: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

i

ABSTRAK

Umumnya ukuran jeruk sunkist sangat beragam dan sulit dibedakannya.

Oleh karena itu diperlukan suatu alat yang bertujuan untuk memudahkan dalam

pengenalan jenis jeruk sunkist berdasarkan ukurannya. Dalam proyek akhir ini,

proses pemilahan jeruk sunkist berdasarkan ukuran dilakukan dengan software

pada laptop. Sensor yang digunakan dalam proyek akhir ini adalah webcam

dengan menggunakan Visual Basic sebagai interface dan proses pengolahannya.

Hasil dari webcame diolah menggunakan pengolahan citra yang citranya diubah

menjadi gray-scale, black and white, kemudian dilakukan perhitungan jumlah

pixel. Pemilah jeruk sunkist berdasarkan ukuran ditentukan dari perhitungan

jumlah pixel tersebut. Hasil yang diperoleh pada proyek akhir ini memiliki

persentase keberhasilan memilah sebesar 82,69% dari 13 jeruk sunkist dengan 4

kali percobaan dari masing-masing jeruk sunkist.

Kata Kunci: webcam, pengolahan citra, pemilah.

Page 3: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

ii

ABSTRACT

The size of Sunkist oranges are very diverse and difficult to distinguish.

Therefore, a tool that can simplify the identification of sunkist orange spesies by

size is needed. This final project, Sunkist orange sorting process by size with the

software on a laptop. The sensors used in the final project is a webcam with

Visual Basic as the interface and processing process. The results of the webcam

processed using image processing is converted to be gray-scale, black and white,

and then calculate the number of pixels. The sorting a Sunkist orange by size is

determined from the calculation of the number of pixels. The results of analysis

obtained at the end of this project has sort of success percentage 82.69% of the 13

orange Sunkist with 4 trials from each of Sunkist oranges.

Keywords: webcam, image processing, sorting.

Page 4: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

iii

KATA PENGANTAR

Assalamualaikum, Wr, Wb

Puji dan Syukur penulis ucapkan kehadirat Allah SWT, karena berkat

rahmat dan hidayah-Nyalah penulis dapat menyelesaikan tugas akhir

dan sekaligus juga menyelesaikan pembuatan laporan yang berjudul

“Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran” untuk

bagian software. Dimana laporan proyek akhir ini merupakan salah satu

persyaratan untuk mengikuti sidang proyek akhir sekaligus syarat kelulusan bagi

mahasiswa Politeknik Caltex Riau.

Penulis menyadari bahwa laporan proyek akhir ini masih terdapat

kekurangan. Oleh sebab itu, saran dan kritik yang bersifat membangun

senantiasa dinantikan demi kemajuan dan perkembangan bersama. Harapan

penulis adalah semoga apa yang telah dituangkan dalam buku ini dapat

bermanfaat bagi penulis dan rekan-rekan mahasiswa khususnya, dan pembaca

pada umumnya. Penulis juga menyampaikan penghargaan dan ucapan terima

kasih yang sebesar-besarnya kepada semua pihak yang telah memberikan

kontribusinya sebelum, sesudah dan selama pelaksanaan penyelesaian proyek

akhir ini, sehingga penulis bisa menyelesaikan laporan Proyek Akhir ini.

Pada kesempatan kali ini penulis juga mengucapkan terima kasih

yang sebesar-besarnya. Untuk itu penulis ucapkan terima kasih kepada :

1. Bapak Dadang Syarif SS, S.Si., M.Sc. selaku Direktur Politeknik

Caltex Riau.

2. Bapak Yusmar Palapa Wijaya, S.Si., M.T. selaku kepala program

studi Teknik Elektronika Politeknik Caltex Riau.

3. Ibu Putri Madona, S.ST., M.T. selaku Dosen Wali yang telah menjaga

dan mendidik penulis selama 3 tahun.

4. Kedua orang tua dan keluarga saya tercinta yang senantiasa

memberikan doa, dukungan dan semangat sehingga saya bisa

menyelesaikan proyek akhir ini.

5. Ibu Retno Tri Wahyuni, S.T., M.T. selaku pembimbing satu yang

Page 5: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

iv

telah banyak memberikan pengarahan dan masukan sehingga semua

permasalahan mengenai proyek akhir dapat diselesaikan.

6. Bapak Heri Subagiyo, S.T., M.T. selaku pembimbing dua yang juga

telah banyak memberikan masukan-masukan serta motivasi

untuk menyelesaikan TA.

7. Seluruh dosen Teknik Elektronika.

8. Seluruh dosen dan staf dibagian administrasi Politeknik Caltek Riau.

9. Teman-teman seperjuangan TA satu angkatan G10 Politeknik Caltex

Riau.

10. Seluruh Himpunan Mahasiswa Teknik Elektronika Politeteknik

Caltex Riau yang selalu menjunjung tinggi kebersamaan dalam segala

kondisi.

11. Teman seperjuangan TA yang senantiasa membantu penulis ketika

penulis mendapatkan kesulitan dalam proses pengerjaan TA.

12. Zukhairani efendi yang selalu memberi dukungan dan semangat.

13. Serta semua pihak yang secara langsung maupun tidak langsung

telah membantu dalam pelaksanaan tugas akhir dan penulisan

laporan ini yang tidak dapat saya sebutkan satu-persatu.

Semoga Allah SWT Yang Maha Pengasih dan Maha Penyayang melimpahkan

rahmat-Nya kepada Bapak/Ibu serta rekan-rekan, sebagai imbalan atas segala

jasa yang telah disumbangkan kepada penulis.

Pekanbaru, September 2013

Penulis

Page 6: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

v

DAFTAR ISI

ABSTRAK ...................................................................................................... i

ABSTRACT .................................................................................................. ii

KATA PENGANTAR .................................................................................. iii

DAFTAR ISI ................................................................................................. v

DAFTAR GAMBAR ................................................................................... vii

DAFTAR LABEL ...................................................................................... viii

BAB I PENDAHULUAN ............................................................................. 1

1.1 LATAR BELAKANG MASALAH ........................................................... 1

1.2 PERUMUSAN MASALAH ...................................................................... 2

1.3 BATASAN MASALAH ............................................................................ 2

1.4 TUJUAN DAN MANFAAT ...................................................................... 2

1.4.1 Tujuan.................................................................................................. 2

1.4.2 Manfaat ................................................................................................ 2

1.5 SISTEMATIKA PENULISAN .................................................................. 3

BAB II TINJAUAN PUSTAKA .................................................................... 4

2.1 RIVIEW PENELITIAN TERDAHULU .................................................... 4

2.2 LANDASAN TEORI ............................................................................. 4

2.2.1 Pengolahan Citra .................................................................................. 4

2.2.2 RGB..................................................................................................... 5

2.2.3 Gray-Scale ........................................................................................... 6

2.2.4 Black and white ................................................................................... 7

2.2.5 Webcam ............................................................................................... 8

2.2.6 Standar Ukuran Jeruk ........................................................................... 9

Page 7: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

vi

BAB III PERANCANGAN DAN PEMBUATAN ....................................... 10

3.1 PERANCANGAN ................................................................................... 10

3.1.1 Blok Diagram.................................................................................... 10

3.1.2 Perancangan Flowchart ..................................................................... 11

3.2 PEMBUATAN PROGRAM .................................................................... 13

3.2.1 Pengambilan Gambar ke Gray Scale ................................................. 13

3.2.2 Program Gray Scale ke Black and White .......................................... 14

3.2.3 Program Perhitungan Pixel Putih ...................................................... 16

3.2.4 Program penerima dan pengiriman data ............................................ 17

3.3 PENGAMBILAN DATA UKURAN SUNKIST ...................................... 18

3.4 PERANCANGAN DAN PEMBUATAN SOFTWARE PADA

MIKROKONTROLLER ......................................................................... 20

3.5 INTERFACE ........................................................................................... 23

BAB IV PENGUJIAN DAN ANALISA ...................................................... 26

4.1 PENGAMBILAN GAMBAR SAAT CONVEYOR BERJALAN ............. 28

4.2 PENGAMBILAN GAMBAR SAAT CONVEYOR BERHENTI ............. 29

BAB V PENUTUP ........................................................................................ 31

5.1 KESIMPULAN ....................................................................................... 31

5.2 SARAN ................................................................................................... 31

DAFTAR PUSTAKA ................................................................................... 32

LAMPIRAN

Page 8: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

vii

DAFTAR GAMBAR

Gambar 2.1 Nilai Warna RGB dalam hexadesimal ............................................. 5

Gambar 2.2 Komposisi Warna RGB ................................................................... 6

Gambar 2.3 Webcam Logitec C-170 ................................................................... 8

Gambar 3.1 Blok Diagram Pemilah Buah Berdasarkan Ukuran ....................... 10

Gambar 3.2 Detail Blok Diagram Alat Pemilah Buah Berdasarkan Ukuran ...... 10

Gambar 3.3 Flowchart Alat Pemilah Buah Berdasarkan Ukuran ...................... 12

Gambar 3.4 Pengambilan data pixel berdasarkan diameter (cm) ....................... 19

Gambar 3.5 Flowchart Pemilah Jeruk Sunkist Berdasarkan Ukuran ................. 21

Gambar 3.6 Form proses pemilah buah jeruk Sunkist ...................................... 23

Gambar 4.1 Tampilan pada software ................................................................ 26

Gambar 4.2 Tampilan saat webcam aktif ......................................................... 27

Gambar 4.3 Tampilan saat memproses pemilahan ............................................ 27

Gambar 4.4 Pengambilan Data ketika konveyor berjalan .................................. 28

Gambar 4.5 Pengambilan Data ketika konveyor berhenti ................................. 29

Page 9: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

viii

DAFTAR TABEL

Tabel 1. Contoh-contoh warna dalam hexadesimal .............................................. 6

Tabel 2. Kelas penggolongan berdasarkan besar/beratnya ................................... 9

Tabel 3. Percobaan menghitung pixel ............................................................... 21

Tabel 4. Hasil setelah melakukan pengukuran ................................................... 21

Tabel 5. Hasil pemilahan jeruk sunkist berdasarkan ukuran ............................... 29

Page 10: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Ukuran jeruk sunkist yang sangat beragam dan hampir memiliki kesamaan

dalam bentuk membuat agak sulit dibedakan. Sedangkan Secara obyektif,

diameter buah jeruk merupakan salah satu Standar Nasional Indonesia (SNI) yang

digolongkan atas 4 kelas berdasarkan diameter, hal ini dapat dilihat pada SNI 01-

3165-1992, Badan Standardisasi Nasional (2009). Pada proyek akhir ini, ukuran

diameter tersebut digunakan sebagai pembeda antara jeruk sunkist satu dengan

yang lain, sehingga dapat dikelompokkan mana yang termasuk kelas A, B, C dan

D.

Pada proyek akhir ini adalah mencoba untuk membuat sistem yang modern

dan otomatis dengan bantuan PC (Personal Computer) dan Webcam. Melalui

webcam tersebut komputer dapat mengenali berapa ukuran buah jeruk tersebut

dengan gambar yang diambil. Pengolahan citra (Image Processing) merupakan

suatu metode yang dapat digunakan untuk memproses citra yang diinginkan untuk

mendapat ukuran jeruk tertentu.

Proyek Akhir ini merujuk pada karya Thiang, Leonardus Indrotanoto (2008),

dimana persamaannya terletak pada objek yang diidentifikasi yaitu buah.

Kekurangan dari tugas akhir tersebut adalah hanya mengidentifikasi buah

berdasarkan warna dan ukuran tanpa ada pengaturan kendali dari PC (Personal

Computer), sehingga masih ditemukan kekurangan dalam pengoperasiannya.

Untuk mengatasi hal tersebut, maka perlu ditambahkan proses pengoperasian

yang lebih nyaman dan mudah. Proyek akhir ini berusaha memberikan alternatif

baru dalam ”Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan

Ukuran”. Kelebihan dari proyek akhir ini adalah dapat mengidentifikasi jenis

jeruk dengan berbeda bentuk dan dapat dikendalikan gerak konveyor dari PC.

Proses identifikasi ukuran jeruk dilakukan dengan 3 langkah, yaitu langkah

pertama melakukan pengambilan gambar sunkist melalui webcam. Langkah kedua

adalah mencari nilai RGB dan menentukan bentuk dari sunkist itu sendiri dengan

mengubah ke gray scale dan black and white, lalu dicari nilai pixelnya. Dan

Page 11: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

2

langkah terakhir adalah menentukan apakah nilai pixel yang dihasilkan sesuai

dengan nilai pixel yang ada pada ukuran kelas A, B, C dan D.

1.2 Perumusan Masalah

Untuk merealisasikan Visualisasi proses pemilah buah tersebut, terdapat

beberapa perumusan masalah yang akan diselesaikan, yaitu:.

1. Bagaimana membuat sistem pengambilan gambar pada konveyor.

2. Bagaimana proses menentukan ukuran jeruk Sunkist dengan webcam.

1.3 Batasan Masalah

Penulis akan merancang Visualisasi proses pemilah buah jeruk sunkist ini

dengan batasan-batasan sebagai berikut:

1. Jarak peletakan buah tidak berdekatan.

2. Jeruk sunkist yang dipilah tidak busuk dan tidak ada bercak hitam.

1.4 Tujuan dan Manfaat

1.4.1 Tujuan

Adapun tujuan dari pembuatan tugas akhir ini adalah membuat visualisasi

pemisah buah jeruk sunkist serta alat yang bergerak berdasarkan inputan dari

visual yang dibuat pada komputer.

1.4.2 Manfaat

Dari proyek akhir yang dibuat diharapkan dapat memberikan manfaat

berupa metode baru dalam melakukan pemilahan buah secara otomatis dan mudah

tanpa harus melakukan secara manual.

Page 12: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

3

1.5 Sistematika Penulisan

Untuk mempermudah dalam penyelesaian proyek akhir ini, maka penulis

membuat urutan pembahasan sebagai berikut :

BAB I PENDAHULUAN

Dalam bab ini akan dibahas latar belakang, maksud dan tujuan, perumusan

masalah, batasan masalah, dan sistematika pembahasan.

BAB II TINJAUAN PUSTAKA

Dalam bab ini kami menuliskan beberapa teori dasar yang diperlukan dalam

penyelesaian pembuatan sistem “Visualisasi proses pemilah buah jeruk Sunkist

berdasarkan ukuran ”

BAB III PERENCANAAN DAN PEMBUATAN ALAT

Bab ini membahas tentang perencanaan dan pembuatan alat berupa pengacak dan

pemilah, serta realisasi program, dimana mencakup blok diagram rangkaian dan

flowchart dari perencanaan sistem secara lengkap beserta penjelasan cara kerja

dari sistem.

BAB IV PENGUJIAN DAN ANALISA

Bab ini berisi hasil pengambilan data dan analisa terhadap data tersebut, hal-

hal yang menyebabkan adanya kesalahan data ataupun menghambat

proses pembuatan sistem.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari seluruh proses kegiatan proyek akhir dan saran

terhadap perkembangannya kedepan.

DAFTAR PUSTAKA

LAMPIRAN

Page 13: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

4

BAB II

TINJAUAN PUSTAKA

2.1 Review Penelitian Terdahulu

Thiang, Leonardus Indrotanoto (2008), pada tugas akhir mereka bertujuan

untuk mengurangi penggunaan sensor warna dan ukuran sehingga penelitiannya

adalah pemisah buah tomat dengan mengklasifikasikan ukuran dan warna, metode

yang digunakan adalah image prosesing, threshold dan edge detection.

Sedangkan pada tugas akhir ini bertujuan agar alat ini bermanfaat bagi

petani jeruk Sunkist, untuk metode yang dilakukan pada tugas akhir ini yaitu

grayscale, black and white dan penghitungan jumlah pixel berwarna putih.

2.2 Landasan Teori

2.2.1 Pengolahan Citra

Pengolahan Citra adalah suatu metode yang digunakan untuk mengolah

gambar sehingga dihasilkan gambar lain yang sesuai dengan keinginan kita.

Untuk mengambil gambar bisa dilakukan oleh kamera atau alat-alat lain yang bisa

digunakan untuk menstrafer gambar misalnya scanner.

Bahasan kali ini berfokus pada pengambilan gambar dengan

menggunakan kamera (webcam). Sehingga citra yang dihasilkan sudah berbentuk

sinyal digital dan mudah diproses oleh komputer.

Citra digital ( digital image ) adalah citra kontinyu yang sudah

didiskritkan, baik koordinat spasial maupun kecerahannya. Citra digital dianggap

sebagai matriks dengan ukuran MxN dimana baris dan kolomnya menunjukkan

titik-titiknya. Citra berwarna menggunakan metode RGB, adapun masing-masing

warna dalam tabel memiliki tiga buah kombinasi angka yaitu R, G dan B yang

menentukan proposi warna merah, hijau dan biru dari warna tersebut. RGB

masing-masing memiliki range antara 0 hingga 63 sehingga jumlah warna yang

Page 14: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

5

dapat kita pilih untuk mengisi warna pada sebuah cell di tabel ialah 63x63x63 =

16 juta warna. Tetapi seluruh tabel hanya dapat diisi dengan 256 pilihan warna.

Kita dapat mengubah intensitas warna dari sebuah warna pada tabel dengan cara

menggunakan interrupt-interrupt.

Sering kali citra yang dihasilkan atau didapatkan memiliki kualitas

yang kurang bagus. Hal ini dapat dikarenakan gangguan teknis peralatan yang

digunakan atau adanya noise disekitarnya. Dapat juga dikarenakan pencahayaan

yang kurang optimal. Untuk itu dilakukan manipulasi parameter citra untuk

mempaerbaiki kualitas citra.

2.2.2 RGB

Dasar dari pengolahan citra adalah pengolahan warna RGB pada posisi

tertentu. Dalam pengolahan citra warna dipresentasikan dengan nilai hexadesimal

dari 0x00000000 sampai 0x00ffffff. Warna hitam adalah 0x00000000 dan warna

putih adalah 0x00ffffff. Definisi nilai warna di atas seperti gambar 2.1, variabel

0x00 menyatakan angka dibelakangnya adalah hexadecimal.

Terlihat bahwa setiap warna mempunyai range nilai 00 (angka desimalnya

adalah 0) dan ff (angka desimalnya adalah 255), atau mempunyai nilai derajat

keabuan 256 = 28. Dengan demikian range warna yang digunakan adalah

(28)(2

8)(2

8) = 2

24(atau yang dikenal dengan istilah True Colour pada Windows).

Nilai warna yang digunakan di atas merupakan gabungan warna cahaya merah,

hijau dan biru seperti yang terlihat pada gambar 2.2. Sehingga untuk menentukan

nilai dari suatu warna yang bukan warna dasar digunakan gabungan skala

kecerahan dari setiap warnanya.

Page 15: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

6

Dari definisi diatas untuk menyajikan warna tertentu dapat dengan mudah

dilakukan, yaitu dengan mencampurkan ketiga warna dasar RGB, table 1. berikut

memperlihatkan contoh-contoh warna yang bisa digunakan:

Untuk mengetahui kombinasi warna, perlu dibuat suatu program yang dapat

menampilkan warna sesuai dengan nilai yang dimasukkan sehingga dapat dicoba

berbagai macam kombinasi warna RGB seperti gambar 2.2.

2.2.3 Gray scale

Proses awal yang banyak dilakukan dalam image processing adalah

mengubah citra berwarna menjadi citra gray scale, hal ini digunakan untuk

menyederhanakan model citra. Seperti telah dijelaskan di depan, citra berwarna

terdiri dari 3 layer matrik yaitu R-layer, G-layer dan B-layer. Sehingga untuk

melakukan proses-proses selanjutnya tetap diperhatikan tiga layer di atas. Bila

setiap proses perhitungan dilakukan menggunakan tiga layer, berarti dilakukan

tiga perhitungan yang sama. Sehingga konsep itu diubah dengan mengubah 3

Page 16: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

7

layer di atas menjadi 1 layer matrik gray scale dan hasilnya adalah citra gray

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

Untuk mengubah citra berwarna yang mempunyai nilai matrik masing-masing r, g

dan b menjadi citra gray scale dengan nilai s, maka konversi dapat dilakukan

dengan mengambil rata-rata dari nilai r, g dan b sehingga dapat dituliskan

menjadi: …………………………………(2.1)

2.2.4 Black and white

Black and white adalah sebuah citra pixel-pixel yang nilai intensitasnya di

bawah 128 diubah menjadi hitamsedangkan pixel-pixel yang nilai intensitasnya di

atas 128 diubah menjadi putih. Dalam pengolahan citra digital Black & White

disebut juga dengan citra biner. Sesuai kutipan dari Chandra Wijaya (2010) yang

mendefinisikan black & white sebagai berikut;

“Black and white adalah sebuah citra pixel-pixel pada gambar yang nilai

intensitasnya di bawah 128 diubah menjadi hitam (nilai intensitas = 0) jadi

hanya berwarna hitam atau putih saja, sedangkan pixel-pixel yang nilai

intensitasnya di atas 128 diubah menjadi putih (nilai intensitas =1).

Black and white disebut juga citra biner. “

Citra biner adalah citra digital yang hanya memiliki dua nilai yang

mungkin untuk setiap pixel . Biasanya dua warna yang digunakan untuk citra

biner hitam dan putih meskipun setiap dua warna bisa digunakan. Warna

yang digunakan untuk objek pada gambar adalah warna foreground sedangkan

sisanya gambar adalah warna latar belakang.

Citra biner adalah citra yang melalui proses pemisahan piksel – piksel

berdasarkan derajat keabuan yang dimiliki. Pembentukan citra biner memerlukan

nilai batas keabuan yang akan digunakan sebagai nilai patokan. Pixel dengan

derajat keabuan lebih besar dari nilai batas akan diberi nilai 1 dan sebaliknya

piksel dengan derajat keabuan lebih kecil dari nilai batas akan diberi nilai 0.

Sesuai kutipan dari Ferdinand Simanjuntak (2009) yang mendefinisikan citra

biner sebagai berikut ;

Page 17: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

8

“Citra biner merupakan citra yang telah melalui proses pemisahan

piksel – piksel berdasarkan derajat keabuan yang dimiliki. Pembentukan

citra biner memerlukan nilai batas keabuan yang akan digunakan

sebagai nilai patokan. Pixel dengan derajat keabuan lebih besar dari

nilai batas akan diberi nilai 1 dan sebaliknya piksel dengan derajat

keabuan lebih kecil dari nilai batas akan diberi nilai 0”.

2.2.5 Webcam

Webcam atau web camera adalah sebuah kamera video digital kecil yang

dihubungkan ke komputer melalui (biasanya) port USB ataupun port COM.

Istilah webcam merujuk pada teknologi secara umumnya, sehingga kata web

terkadang diganti dengan kata lain yang mendeskripsikan pemandangan yang

ditampilkan di kamera.

Metode yang paling umum pada webcam adalah merubah gambar ke dalam

bentuk file JPEG dan menguploadnya ke web server menggunakan File Transfer

Protocol(FTP). Frame rate mengindikasikan jumlah gambar sebuah software

dapat ambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan

minimal 15 frame per second (fps) atau idealnya 30 fps.. Sebuah web camera

tidak harus selalu terhubung dengan komputer, ada web camera yang memiliki

software webcam dan web server bulit-in, sehingga yang diperlukan hanyalah

koneksi internet. Web camera seperti ini dinamakan “network camera”. Kita juga

bisa menghindari penggunaan kabel dengan menggunakan hubungan radio,

koneksi Ethernet ataupun WiFi.

Gambar 2.3 Webcam Logitec C-170

Page 18: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

9

2.2.6 Standar Ukuran Jeruk

Jeruk memiliki ukuran yang berbeda-beda sehingga dalam

penggolongannya dibagi menjadi 4 bagian yaitu kelas A, kelas B, kelas C dan

kelas D. Kelas penggolongan jeruk berdasarkan besar/beratnya dapat dilihat pada

tabel 2 yang telah ditentukan oleh Badan Standardisasi Nasional (2009), tentang

SNI 01-3265-1992.

Tabel 2. Kelas penggolongan berdasarkan besar/beratnya

Page 19: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

10

BAB III

PERANCANGAN DAN PEMBUATAN

3.1 Perancangan

3.1.1 Blok Diagram

Gambar 3.1 Blok Diagram Pemilah Buah Berdasarkan Ukuran

Alat pemisah jeruk ini memiliki kemampuan membedakan secara

digital sehingga dapat membedakan ukuran dari buah jeruk yang akan

dipisahkan. Gambar diambil oleh sensor yang berupa webcam, dan gambar

tersebut akan diolah oleh komputer untuk membedakan ukuran jeruk yang

akan diukur. Bab ini dibagi menjadi dua bagian yaitu bagian pertama yang

membahas perangkat keras (hardware) dan yang kedua bagian perangkat

lunak (Software) yang digunakan untuk mengolah ukuran jeruk tersebut dan

hubungan ke perangkat keras.

Gambar 3.2 Detail Blok Diagram Alat Pemilah Buah Berdasarkan Ukuran

Webcam PC (Personal

Computer) ATmega32 Conveyor dan

Aktuator

Page 20: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

11

Dari gambar detail blok diagram dapat dijelaskan sebagai berikut:

Informasi data yang berupa objek gambar dari Kamera Webcam yang

dimonitoring oleh laptop atau PC (Personal Computer). setelah komputer

menerima hasil informasi tersebut maka data informasi tersebut akan

dimanipulasi di komputer dengan menggunakan metode segmentasi ukuran

menjadi suatu data yang diinginkan untuk proses selanjutnya. Kemudian

dikirimkan data tersebut melalui RS232 (USB Serial Converter) yang

terhubung pada ATMega 32 dan rangkain driver motor. Lalu jika jeruk

berukuran kecil, maka akan memerintahkan Motor Servo C untuk menutup

jalan dari Konveyor. Dan jeruk langsung masuk ke dalam tempat yang telah

di sediakan. Sebelum sampai di tempat yang telah disediakan tersebut, jeruk

akan mengenai Limit Switch yang berfungsi agar motor servo yang dalam

keadaan menutup tadi akan kembali terbuka. Begitu juga untuk motor servo

B (jeruk ukuran sedang) da motor servo A (untuk ukuran besar). Setelah

proses ini selesai, maka kamera mulai mengambil gambar dari buah jeruk

Sunkist.

Webcam yang digunakan adalah Webcam Logitec C-170 usb 2.0 yang

telah memiliki spesifikasi sebagai berikut: Video Capture : 640 x 480, Pixels

Still image capture up to 5 Mega pixels (software enhanced) dan Hi speed

usb 2.0 certified.

Pada proyek akhir ini hanya membahas bagian softwarenya saja yang

akan dijalankan pada laptop/PC.

3.1.2 Perancangan Flowchart

Bahasa yang digunakan adalah bahasa pemrograman Visual Basic

6.0. Pemilihan bahasa pemrograman ini karena pada kenyataannya bekerja

pada platform berbasis windows sehingga bahasa pemrograman ini

merupakan menggunakan GUI (Graphics User Interface).

Page 21: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

12

Perancangan software ini terdiri dari beberapa bagian yang bertujuan

memisahkan buah jeruk Sunkist berdasarkan ukuran. Di bawah ini

merupakan blok diagram dan flowchart dari bagian perancangan software.

START

Start, Stop,

Mikro

Apakah Start

diklik?

Webcam aktif dan

kirim data ke mikro

Start

Apakah Stop

diklik?

Apakah ada

data 1 dari

mikro?

Webcam tidak aktif

dan kirim data ke

mikro Stop Ambil gambar

Gambar diubah ke gray scale

lalu ke Black and White, dihitung

jumlah pixel putihnya dan

membandingkan data yang

sesuai kelas

Kelas = A Kelas = B Kelas = C Kelas = D

Pixel putih >

10531

Pixel Putih >

7573 dan Pixel

Putih <10530

Pixel putih >

5515 dan Pixel

Putih <7572

Ya

Tidak

Tidak

Ya

Ya

Tidak

Tidak

Ya

Ya

Ya

Tidak

END

Tidak

Kirim data ke

mikro kelas = 1

Kirim data ke

mikro kelas = 2

Kirim data ke

mikro kelas = 3

Kirim data ke

mikro kelas = 4

Gambar 3.3 Flowchart Alat Pemilah Buah Berdasarkan Ukuran

Page 22: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

13

Keterangan dari flowchart diatas, ketika alat aktif dan ada perintah

masukkan start dari interface konveyor akan bergerak dan webcam langsung

aktif untuk siap mengambil gambar pada konveyor, saat tidak ada benda

akan kembali ke proses deteksi. Saat sudah adanya data dari mikro maka

gambar yang tadi akan di picture lalu diubah ke gray scale kemudian ke

black and white, setelah itu akan menghitung berapa jumlah pixel yang putih

saat diubah ke black and white, saat sudah dapat hasil pixelnya maka akan

dibandingkan dengan data pixel buah jeruk kelas A, B, C atau D. Saat

sudah diketahui hasilnya maka memberi perintah ke mikro untuk

menggerakkan aktuator yang sesuai dengan fungsinya.

3.2 Pembuatan Program

3.2.1 Pengambilan Gambar ke Gray scale

Proses pengambilan gambar tiap frame menggunakan fungsi dari

platform yang ada pada Windows, yaitu dengan menggunakan fungsi yang

terdapat pada file avicap32.dll. untuk dapat mengakses fungsi ini, harus

dilakukan install driver dari kamera agar computer mengenali adanya

kamera sehingga proses pengambilan gambar dapat dilakukan. Pada

program visual basic digunakan tools bernama VBTools untuk mengambil

gambar tiap frame dari kamera yang sudah dikenali oleh komputer atau

laptop. VBTools memiliki dua jenis toolbox, yaitu VideoOCX yang

berfungsi sebagai tampilan dari gambar dan VideoOCXTools yang

berfungsi sebagai image prosesing sehingga proses untuk mengubah gambar

tidak memerlukan listing program dan hanya memanggil tools tersebut.

Dibawah ini adalah listing program yang dipakai untuk memanggil tools

VideoOCX dan memulai pengambilan gambar tiap framenya dan langsung

di ubah ke gray scale.

Dim matrix As Variant

Dim x As Integer

Dim y As Integer

Dim i As Intege

Page 23: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

14

' Capture one image

VideoOCX1.Capture (m_Image)

' Get access to the image pixel matrix

matrix = VideoOCX1.GetMatrix(m_Image)

' Simple example : Invert the colors of our image

For y = 0 To VideoOCX1.GetHeight - 1

For x = 0 To VideoOCX1.GetWidth – 1

matrix(x, y, 0) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 1) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 2) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

Next x

Next y

' Very important : Release the matrix and update the image handle

VideoOCX1.ReleaseMatrixToImageHandle m_Image

' Display the processing result in our own window

Picture2 = VideoOCX1.ToPicture(m_Image)

3.2.2 Program Gray scale ke Black and white

Gambar yang sudah di ambil dari webcame dan di ubah ke gray

scale di simpan di pictucebox2 setelah berada di picture2 maka akan

diubah ke black and white pada picturebox3 dengan program sebagai

berikut:

Const IntPixelX = 320

Const IntPixelY = 240

Dim Pixels(1 To IntPixelX, 1 To IntPixelY) As Long

Dim x, y As Integer

Dim Merah, Hijau, Biru, Abu2 As Integer

Dim nilai As Integer

nilai = HScroll1.Value

Page 24: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

15

Text1.text = nilai

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Pixels(x, y) = Picture2.Point(x, y)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Merah = Pixels(x, y) And &HFF

If (Merah < nilai) Then

Abu2 = 0

ElseIf (Merah > nilai) Then

Abu2 = 255

End If

Hijau = ((Pixels(x, y) And &HFF00) / &H100) Mod &H100

If (Hijau < nilai) Then

Abu2 = 0

ElseIf (Hijau > nilai) Then

Abu2 = 255

End If

Biru = ((Pixels(x, y) And &HFF0000) / &H10000) Mod &H100

If (Biru < nilai) Then

Abu2 = 0

ElseIf (Biru > nilai) Then

Abu2 = 255

End If

Page 25: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

16

Pixels(x, y) = RGB(Abu2, Abu2, Abu2)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Picture3.PSet (x, y), Pixels(x, y)

Next y

Next x

Dari program diatas dapat dijelaskan bahwa ketika nilai warna

merah, hijau dan biru pada saat sudah di ubah ke gray scale dibawah nilai

set point dari scroll yang ada pada Visual Basic maka akan berwarna hitam

dan ketika nilainya besar dari set point scroll maka akan berwarna putih.

Hal ini akan berulang hingga hitungan pixel x dan y berakhir.

3.2.2 Program Perhitungan Pixel Putih

Dim x As Long, y As Long

Dim h As Long, count As Long

Dim o As String

For x = 0 To Picture3.ScaleWidth - 1

For y = 0 To Picture3.ScaleHeight - 1

h = GetPixel(Picture3.hdc, x, y)

If h = vbWhite Then

count = count + 1

End If

DoEvents

Next

Next

Page 26: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

17

Text3.text = count

Pada program ini adalah menghitung jumlah pixel putih dari jeruk

Sunkist yang sudah diubah gambarnya ke black and white pada program

3.2.1. lalu jumlah pixel putih dapat dihitung dengan adanya

Count=Count+1 jadi selama pembacaan picturebox3 ada warna pixel putih

makan akan selalu di tambah 1, sehingga di dapatlah nilai total pixel putih

ketika hitungan tiap pixel telah selesai.

3.2.3 Program penerima dan pengiriman data

If MSComm1.CommEvent = comEvReceive Then

g = MSComm1.Input

Text8.text = g

If g = 1 Then

text = 0

MSComm1.Output = text

Text2.text = text

g = 0

Timer3.Enabled = True

Timer2.Enabled = True

End If

End If

Pada program ini yaitu sebagai penerima data dari mikro yang akan

di proses pada visual basic. Ketika data yang diterima adalah 1 maka akan

melakukan proses pada timer3 yang perintahnya yaitu menutup pintu

keluarnya jeruk Sunkist, ketika timer3 telah selesai maka dilanjutkan ke

timer2 yang berisikan keseluruhan proses gray scale, black and white,

hitung pixel putih, dan termasuk kelas mana buah jeruk tersebut. Untuk

memberi perintah pada mikro untuk mengaktifkan konveyor, penghalang

dan lain-lain adalah sebagai berikut:

Page 27: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

18

text = 2

MSComm1.Output = text

Text2.text = text

Nilai text = 2 ini tergantung dari perintah yang ada pada mikro akan

mengaktifkan aktuator yang diinginkan.

Kemudian pada MSComm1.output = text inilah perintah dari visual

basic dikirimkan ke mikro melalui komunikasi serial yang menggunakan

kabel USB to RS232.

3.3 Pengambilan Data Ukuran Sunkist

Setelah membuat program yang sudah terdiri dari pengaktifan webcame,

mengambil gambar lalu mengubahnya ke gray scale dan terakhir mengubahnya ke

black and white maka hal terakhir dalam pembuatan adalah mengambil data jeruk

Sunkist berdasarkan pixel gambar putih yang sudah diproses, hal ini dilakukan

dengan cara membuat sebuah lingkaran dari kertas dengan diameter 7 cm, 6 cm

dan 5 cm dengan jarak webcam dengan konveyor 22,5 cm sehingga didapatlah

data sebagai berikut:

Page 28: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

19

Gambar 3.4 Pengambilan data pixel berdasarkan diameter (cm)

Maka dari gambar 3.4 pengambilan data pixel berdasarkan diameter (cm)

didapatlah data dengan diubah ke table sebagai berikut:

Tabel 3. Percobaan menghitung pixel

Diameter lingkaran yang dibuat (Cm) Diameter pada pengolahan (Pixel)

7 10530

6 7572

5 5514

Sehingga dari data tersebut maka didapat ketentuan sebagai berikut:

Page 29: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

20

Tabel 4. Hasil setelah melakukan pengukuran

Kelas Sunkist Diameter (Cm) Diameter (Pixel)

A >7 >10531

B 6,1-7,0 7573-10530

C 5,1-6,0 5515-7572

D <5 <5514

3.4 Perancangan dan Pembuatan Software pada Mikrokontroller

Apakah ada data

dari PC ?

Apakah konveyor

start ?

Y

Y

Motor konveyor

aktif

Apakah konveyor

stop ?

Y

Motor konveyor

mati

Apakah pnghalang

jeruk membuka ?

Buah keluar

Y

T

Apakah

penghalang

mengenai limit

switch 4 ?

T

Penghalang

menutup

Y

Apakah jeruk

mengenai limit

swicth 5 ?

T

START

Inisialisasi

(start,stop,data)

Y

Konveyor off

Mengirim data ke

PC

1

Page 30: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

21

Apakah data

= 1 ?

Apakah buah

mengenai limit

switch 1 ?

Y

T

END

Apakah data

= 2 ?

Apakah buah

mengenai limit

switch 2 ?

Y

T

Apakah data

= 3 ?

Apakah buah

mengenai limit

switch 3 ?

Y

T

T T T

YY

T

Y

1

Motor kelas A

aktif menutup 90

derjat

Motor kelas B

aktif menutup 90

derjat

Motor kelas C

aktif menutup 90

derjat

Motor kelas A

aktif membuka

90 derjat dan

membuka

penghalang

Motor kelas B

aktif membuka

90 derjat dan

membuka

penghalang

Motor kelas C

aktif membuka

90 derjat dan

membuka

penghalang

Motor kelas

A,B,C aktif

membuka

Gambar 3.5 Flowchart Pemilah Jeruk Sunkist Berdasarkan Ukuran

Dari diagram alir tersebut, pada saat inisialisasi hardware selesai maka

saat start,setelah menerima data dari PC / laptop :

Bila tombol konveyor start ditekan, jika Ya maka konveyor aktif. Jika

Tidak masuk kekondisi dua yaitu data konveyor stop.

Motor penghalang jeruk sunkist pada wadah membuka. Penghalang

mengenai limit switch 4 maka motor penghalang jeruk sunkist

menutup kembali.

Jika jeruk mengenai limit switch 5 maka konveyor berhanti. Jika tidak

maka jeruk sunkist langsung masuk ke kotak D.

Jika data jeruk yang di terima dari PC berukuran kecil atau sama

dengan 1, maka Motor kelas A aktif menutup 90° dan menutup jalan

dari Konveyor, lalu konvoyor aktif. Jeruk langsung masuk ke dalam

tempat yang telah di sediakan. Sebelum sampai di tempat yang telah

disediakan tersebut, jeruk akan mengenai Limit Switch yang berfungsi

agar motor servo yang dalam keadaan menutup tadi akan kembali

terbuka.

Page 31: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

22

Begitu juga untuk Motor kelas B (jeruk ukuran sedang) dan motor

kelas C (untuk ukuran besar).

Jika tidak diketahui ukuran dari jeruk tersebut, maka semua motor

servo A, B, dan C aktif membuka. Sehingga jeruk langsung masuk ke

kotak ke empat yang telah di sediakan.

Setelah proses ini selesai, maka kamera mulai mengambil gambar dari

buah jeruk Sunkist.

Jika dibuat pada program menjadi seperti dibawah ini, (motor servo

bergerak 90° :

#include <mega32.h>

#include <delay.h>

void main(void)

{

PORTD=0×00;

DDRD=0×01;//portd.0 sebagai output

// Analog Comparator initialization

// Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0×80;

SFIOR=0×00;

while (1)

void buka0()

{ PORTA.0=1;//memberikan pulsa high

delay_ms(1);//pulsa high diberikan selama 1 ms

PORTA.0=0; delay_ms(20);

}

void tutup0()

{ PORTA.0=1;//memberikan pulsa high

delay_ms(2);//pulsa high diberikan selama 2 ms

PORTA.0=0; delay_ms(20);

};

}

Page 32: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

23

3.5 Interface

Gambar 3.6 Form proses pemilah buah jeruk Sunkist

Keterangan:

1. Layar monitor dari kamera dalam bentuk warna

2. Layar monitor dari kamera dalam bentuk gambar gray scale

3. Layar monitor hasil pengolahan dari gray scale ke black and white

4. Nilai range atau batasan ketika ingin merubah hasil gray scale ke black

and white

5. Hasil perhitungan pixel putih dari monitor black and white

6. Hasil kelas jeruk setelah dari jumlah pixel

7. Jumlah jeruk yang sudah diproses berdasarkan kelasnya

Tombol pada form pemilah buah jeruk sunkist adalah sebagai berikut:

Start

Tombol ini digunakan untuk mengaktifkan webcam yang akan mengambil

tiap frame dan akan mengaktifkan konveyor.

Driver

1

2

3

4

5

6

7

Page 33: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

24

Tombol ini digunakan untuk melihat driver webcam yang terdapat pada

PC ataupun Laptop.

Stop

Tombol ini digunakan untuk menon-aktifkan webcame dan juga konveyor

yang tadinya sudah aktif.

Grayscale

Tombol ini digunakan untuk mengubah hasil dari webcam menjadi gambar

grayscale yang dilakukan secara manual.

Ubah ke black and white

Tombol ini digunakan untuk mengubah gambar grayscale ke black and

white.

Hitung dan hasil pixel

Tombol ini digunakan untuk menghitung jumlah pixel putih yang terdapat

pada picturebox bagian black and white

Hitung jumlah buah secara manual

Tombol ini digunakan untuk menambah jumlah jeruk yang sudah dideteksi

berdasarkan perbandingan nilai pixel putih.

Hapus jumlah semua buah

Tombol ini digunakan untuk menghapus jumlah kelas buah yang sudah

terhitung pada frame jumlah buah sehingga jumlah buah kembali nol.

Semua proses pemilah (kalibrasi)

Tombol ini digunakan untuk mencari nilai pada range black and white agar

tidak ada warna putih selain dari jeruk sunkist, pada tombol ini meliputi

pengambilan gambar yang akan di ubah ke gray scale dan ke black and

white serta perhitungan pixel putih dan terakhir termasuk ke kelas mana

buah jeruk sunkist tersebut.

Start Konveyor

Tombol ini digunakan untuk mengaktifkan konveyor tanpa harus

mengaktifkan webcam.

Stop Konveyor

Tombol ini digunakan untuk menon-aktifkan konveyor tanpa harus

mengaktifkan webcam.

Page 34: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

25

Servo A 90

Tombol ini digunakan untuk membuka penghalang yang menuju kewadah

kelas A dengan manual.

Servo A -90

Tombol ini digunakan untuk menutup penghalang yang menuju kewadah

kelas A dengan manual.

Servo B 90

Tombol ini digunakan untuk membuka penghalang yang menuju kewadah

kelas B dengan manual.

Servo B -90

Tombol ini digunakan untuk menutup penghalang yang menuju kewadah

kelas B dengan manual.

Servo C 90

Tombol ini digunakan untuk membuka penghalang yang menuju kewadah

kelas C dengan manual.

Servo C -90

Tombol ini digunakan untuk menutup penghalang yang menuju kewadah

kelas C dengan manual.

Buka pintu

Tombol ini digunakan untuk mengeluarkan buah jeruk sunkist dari wadah

yang belum di pisahkan berdasarkan kelasnya.

Tutup pintu

Tombol ini digunakan untuk menghalang buah jeruk sunkist dari wadah

yang belum di pisahkan berdasarkan kelasnya.

Page 35: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

26

BAB IV

PENGUJIAN DAN ANALISA

Pengujian dan analisa ini dilakukan dengan tujuan untuk memastikan

apakah sistem yang dibuat telah memenuhi kriteria sebagaimana yang

diinginkan. Pengujian ini dilakukan secara bertahap dan berulang kali agar

didapatkan data yang lebih akurat dan presisi, sehingga memudahkan dalam

melakukan analisa. Pengujian dan analisa ini terdiri dari 2 bagian, yaitu

pengujian pengambilan data saat konveyor bergerak dan saat konveyor

berhenti.

Sebelum masuk ke bagian pengujian dan analisa tersebut, berikut

dijelaskan prosedur yang telah dilakukan dalam penggunaan Visualisasi

Proses Pemilah Jeruk Sunkist Berdasarkan Ukuran.

1. Menghubungkan kabel webcam dan USB converter ke PC/laptop yang

sudah terdapat software berikut:

Gambar 4.1 Tampilan pada software

Page 36: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

27

2. Memilih software webcam dan mengaktifkan pengambilan gambar.

Gambar 4.2 Tampilan saat webcam aktif

3. Kemudian mengkalibrasinya dengan mengubah scroll sesuai dengan

keinginan dengan hasil gambar dan pixel yang putih yang sempurna.

Gambar 4.3 Tampilan saat memproses pemilahan

Page 37: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

28

4. Kemudian hal terakhir yang dilakukan adalah mengklik start konveyor.

Lalu untuk menghentikan klik stop konveyor.

4.1 Pengambilan gambar saat konveyor berjalan

Pada pengujian ini meletakkan jeruk sunkist tepat diatas konveyor yang

bergerak dan tidak tepat di daerah pengambilan gambar, karena pada program

terdapat ketika daerah tertentu tersebut berwarna putih pada pixel black and

white maka akan dilanjutkan proses pengambilan gambar dari gray scale ke

black and white lalu ke proses pemilahan. Akan tetapi hal ini sangat sulit

ketika konveyor bergerak karena pergerakan konveyor yang sangat cepat dan

proses pemilahan gambar yang sedikit lama.

Gambar 4.4 Pengambilan Data ketika konveyor berjalan

Dilihat dari gambar 4.4 saat konveyor berjalan maka pengambilan data

untuk memilah jeruk sunkist berdasarkan ukuran tidak berhasil. Dan saat ingin

menurunkan kecepatan konveyor dengan mengurangi tegangan, hal ini

menyebabkan konveyor tidak dapat berjalan.

Page 38: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

29

4.2 Pengambilan gambar saat konveyor berhenti

Pada pengujian ini yaitu meletakkan jeruk sunkist tepat diatas daerah

pengambilan gambar yang kemudian diambil gambar gray scale lalu

mengkalibrasi nilai yang akan menghasilkan gambar black and white

sempurna tanpa ada warna putih lain selain dari jeruk sunkist seperti gambar

dibawah ini.

Gambar 4.5 Pengambilan Data ketika konveyor berhenti

Dengan kondisi konveyor yang diam dan mengantarkan pada wadahnya

didapatlah data sebagai berikut:

Tabel 5. Hasil pemilahan jeruk sunkist berdasarkan ukuran

No Ukuran

diameter

jeruk

(cm)

Kelas jeruk

berdasarkan

diameter

(cm)

Data 1

kelas jeruk

saat pada

visualisasi

Data 2

kelas jeruk

saat pada

visualisasi

Data 3

kelas jeruk

saat pada

visualisasi

Data 4

kelas jeruk

saat pada

visualisasi

1 6,4 B B B B B

2 6,7 B B B * B

Page 39: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

30

3 7,75 A A A A A

4 6,8 B * B * B

5 7,73 A A A A A

6 7,3 A A A A A

7 7,9 A A A A A

8 6,8 B B * B B

9 5,9 C C * * C

10 6,7 B * B B *

11 6,3 B B * B B

12 6,5 B B B B B

13 6,6 B B B B B

Ket : * = Jeruk sunkist tidak terproses (ke wadah yang salah)

Sehingga dari data diatas dapat dihitung persentase keberhasilan memilah

jeruk Sunkist berdasarkan ukuran dari 13 jeruk yang masing-masing di ambil

datanya sebanyak 4 kali sebagai berikut:

Persentase keberhasilan memilah =

= 82,69%

Page 40: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

31

BAB V

PENUTUP

5.1 Kesimpulan

Setelah melakukan pengujian dan analisa pada proyek akhir ini maka

dapat disimpulkan bahwa:

1. Proses pengolahan citra yang akan dilakukan untuk menghitung jumlah

pixel putih dengan sempurna yaitu saat kondisi konveyor dihentikan dan

benda tepat dibawah webcam.

2. Pengelompokan kelas jeruk pada sistem ini berdasarkan jumlah pixel

putih, dimana pixel putih lebih besar dari 10531 merupakan kelas A, 7573

sampai 10530 merupakan kelas B, 5515 sampai 7572 merupakan kelas C,

dan lebih kecil dari 5514 merupakan kelas D.

3. Sistem yang dibuat pada proyek akhir memiliki tingkat keberhasilan

sebesar 82,69% dengan percobaan sebanyak 52 kali untuk 13 buah jeruk

Sunkist.

5.2 Saran

Berikut beberapa hal yang disarankan oleh penulis untuk pengembangan

sistem ini, yaitu:

1. Mengganti jeruk sunkist dengan jeruk lokal dan menggunakan metode lain

untuk mengetahui diameter jeruk selain menghitung pixel putih maupun

hitam pada proses black and white.

2. Memperhitungkan dan membuat mekanisme pengeluaran buah jeruk

sunkist satu per satu.

Page 41: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

32

DAFTAR PUSTAKA

Badan Standardisasi Nasional. (2009). Jeruk keprok. Diambil 04 september 2012

dari http://sisni.bsn.go.id/index.php?/sni_main/sni/detail_sni/9482

Feri. (2004). Grayscale. Diambil 20 juli 2012 dari

http://www.total.or.id/info.php?kk .

Sigit, Riyanto. (2006). Dasar Pengolahan Citra (1). Diambil 18 juli 2012 dari:

lecturer.eepis-its.edu/~riyanto/citra-bab2.pdf.

Sigit, Riyanto. (2006). Dasar Pengolahan Citra (2). Diambil 18 juli 2012 dari:

lecturer.eepis-its.edu/~riyanto/citra-bab3.pdf.

Simanjuntak , Ferdinand. (2009). Pengolahan Citra Digital. Diambil 21 juli 2012

dari

http://www.ittelkom.ac.id/library/index.php?view=article&catid=15%3Ape

mrosesan-sinyal&id=573%3Apengolahan-citra-

digital&option=com_content&Itemid=15

Thiang, Leonardus Indrotanoto. (October 2008). Otomasi Pemisah Buah Tomat

Berdasarkan Ukuran Dan Warna Menggunakan Webcam Sebagai Sensor.

Pengambilan Gambar, 41-42.

Page 42: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

LAMPIRAN

1. Program keseluruhan pada Visual Basic 6

-----------------------------------------------------------------------------------------

Dim text As String

Dim g As String

Public a As Long

Public b As Long

Public c As Long

Public d As Long

-----------------------------------------------------------------------------------------

'Pengaktifan Webcame

Private Sub Command1_Click()

VideoOCX1.SetErrorMessages (False)

If Not VideoOCX1.Init Then

MsgBox VideoOCX1.GetLastErrorString

Else

m_Image = VideoOCX1.GetColorImageHandle

VideoOCX1.SetPreview (True)

VideoOCX1.Start

End If

End Sub

-----------------------------------------------------------------------------------------

„Kirim gerak servoA 90

Private Sub Command10_Click()

text = 2

MSComm1.Output = text

Text2.text = text

End Sub

-----------------------------------------------------------------------------------------

„Kirim gerak servoA -90

Private Sub Command11_Click()

Label7.Caption = 3

text = 3

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

End Sub

-----------------------------------------------------------------------------------------

„Kirim gerak servoB 90

Private Sub Command12_Click()

text = 4

MSComm1.Output = text

Text2.text = text

End Sub

Page 43: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

-----------------------------------------------------------------------------------------

„Kirim gerak servoB -90

Private Sub Command13_Click()

Label7.Caption = 3

text = 5

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

End Sub

-----------------------------------------------------------------------------------------

„Kirim gerak servoC 90

Private Sub Command14_Click()

text = 6

MSComm1.Output = text

Text2.text = text

End Sub

-----------------------------------------------------------------------------------------

„Kirim gerak servoC -90

Private Sub Command15_Click()

Label7.Caption = 3

text = 7

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

End Sub

-----------------------------------------------------------------------------------------

„Pemilahan buah secara keseluruhan dengan manual

Private Sub Command16_Click()

'a

Dim matrix As Variant

Dim x As Integer

Dim y As Integer

Dim i As Integer

' Capture one image

VideoOCX1.Capture (m_Image)

' Get access to the image pixel matrix

matrix = VideoOCX1.GetMatrix(m_Image)

' Simple example : Invert the colors of our image

For y = 0 To VideoOCX1.GetHeight - 1

For x = 0 To VideoOCX1.GetWidth - 1

matrix(x, y, 0) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 1) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 2) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

Next x

Next y

Page 44: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

' Very important : Release the matrix and update the image handle

VideoOCX1.ReleaseMatrixToImageHandle m_Image

' Display the processing result in our own window

Picture2 = VideoOCX1.ToPicture(m_Image)

'b

Const IntPixelX = 320

Const IntPixelY = 240

Dim Pixels(1 To IntPixelX, 1 To IntPixelY) As Long

Dim Merah, Hijau, Biru, Abu2 As Integer

Dim nilai As Integer

nilai = HScroll1.Value

Text1.text = nilai

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Pixels(x, y) = Picture2.Point(x, y)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Merah = Pixels(x, y) And &HFF

If (Merah < nilai) Then

Abu2 = 0

ElseIf (Merah > nilai) Then

Abu2 = 255

End If

Hijau = ((Pixels(x, y) And &HFF00) / &H100) Mod &H100

If (Hijau < nilai) Then

Abu2 = 0

ElseIf (Hijau > nilai) Then

Abu2 = 255

End If

Biru = ((Pixels(x, y) And &HFF0000) / &H10000) Mod &H100

If (Biru < nilai) Then

Abu2 = 0

ElseIf (Biru > nilai) Then

Abu2 = 255

End If

Pixels(x, y) = RGB(Abu2, Abu2, Abu2)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Picture3.PSet (x, y), Pixels(x, y)

Page 45: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

Next y

Next x

'c

Dim m As Long, n As Long

Dim h As Long, count As Long

Dim o As String

For m = 0 To Picture3.ScaleWidth - 1

For n = 0 To Picture3.ScaleHeight - 1

h = GetPixel(Picture3.hdc, m, n)

If h = vbWhite Then

count = count + 1

End If

DoEvents

Next

Next

Text3.text = count

'd

Dim bin As Long

bin = Val(Text3.text)

If (bin >= 10531) Then

a = a + 1

Text4.text = a

text = 7

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

ElseIf (bin >= 7573) And (bin <= 10530) Then

b = b + 1

Text5.text = b

text = 5

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

ElseIf (bin >= 5514) And (bin <= 7572) Then

c = c + 1

Text6.text = c

text = 3

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

Page 46: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

ElseIf (bin <= 5514) And (bin >= 1000) Then

d = d + 1

Text7.text = d

End If

End Sub

-----------------------------------------------------------------------------------------

„Buka penghalang keluar buah

Private Sub Command17_Click()

text = 8

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

End Sub

-----------------------------------------------------------------------------------------

„Tutup penghalang keluar buah

Private Sub Command19_Click()

text = 9

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

End Sub

-----------------------------------------------------------------------------------------

„Menonaktifkan webcame

Private Sub Command2_Click()

VideoOCX1.Stop

VideoOCX1.Close

End Sub

-----------------------------------------------------------------------------------------

„Menghentikan konveyor

Private Sub Command3_Click()

text = 0

MSComm1.Output = text

Text2.text = text

Timer2.Enabled = False

g = 0

Text8.text = g

End Sub

-----------------------------------------------------------------------------------------

„Pengambilan gambar ke grayscale secara manual

Private Sub Command4_Click()

Dim matrix As Variant

Dim x As Integer

Dim y As Integer

Dim i As Integer

' Capture one image

Page 47: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

VideoOCX1.Capture (m_Image)

' Get access to the image pixel matrix

matrix = VideoOCX1.GetMatrix(m_Image)

' Simple example : Invert the colors of our image

For y = 0 To VideoOCX1.GetHeight - 1

For x = 0 To VideoOCX1.GetWidth - 1

matrix(x, y, 0) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 1) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 2) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

Next x

Next y

' Very important : Release the matrix and update the image handle

VideoOCX1.ReleaseMatrixToImageHandle m_Image

' Display the processing result in our own window

Picture2 = VideoOCX1.ToPicture(m_Image)

End Sub

-----------------------------------------------------------------------------------------

„Melihat driver webcame

Private Sub Command5_Click()

VideoOCX1.ShowDriverDlg

End Sub

-----------------------------------------------------------------------------------------

„Memerintahkan konveyor bergerak

Private Sub Command6_Click()

text = 1

MSComm1.Output = text

Text2.text = text

End Sub

-----------------------------------------------------------------------------------------

„Mengubah gambar grayscale ke black and white secara manual

Private Sub Command7_Click()

Const IntPixelX = 320

Const IntPixelY = 240

Dim Pixels(1 To IntPixelX, 1 To IntPixelY) As Long

Dim x, y As Integer

Dim Merah, Hijau, Biru, Abu2 As Integer

Dim nilai As Integer

nilai = HScroll1.Value

Text1.text = nilai

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Pixels(x, y) = Picture2.Point(x, y)

Next y

Page 48: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Merah = Pixels(x, y) And &HFF

If (Merah < nilai) Then

Abu2 = 0

ElseIf (Merah > nilai) Then

Abu2 = 255

End If

Hijau = ((Pixels(x, y) And &HFF00) / &H100) Mod &H100

If (Hijau < nilai) Then

Abu2 = 0

ElseIf (Hijau > nilai) Then

Abu2 = 255

End If

Biru = ((Pixels(x, y) And &HFF0000) / &H10000) Mod &H100

If (Biru < nilai) Then

Abu2 = 0

ElseIf (Biru > nilai) Then

Abu2 = 255

End If

Pixels(x, y) = RGB(Abu2, Abu2, Abu2)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Picture3.PSet (x, y), Pixels(x, y)

Next y

Next x

End Sub

-----------------------------------------------------------------------------------------

„Menghitung jumlah pixel putih

Private Sub Command8_Click()

Dim x As Long, y As Long

Dim h As Long, count As Long

Dim o As String

For x = 0 To Picture3.ScaleWidth - 1

For y = 0 To Picture3.ScaleHeight - 1

h = GetPixel(Picture3.hdc, x, y)

If h = vbWhite Then

count = count + 1

End If

Page 49: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

DoEvents

Next

Next

Text3.text = count

End Sub

-----------------------------------------------------------------------------------------

„Perhitungan banyak buah setelah perhitungan pixel putih

Private Sub Command9_Click()

Dim bin As Long

bin = Val(Text3.text)

If (bin >= 10531) Then

a = a + 1

Text4.text = a

ElseIf (bin >= 7573) And (bin <= 10532) Then

b = b + 1

Text5.text = b

ElseIf (bin >= 5515) And (bin <= 7572) Then

c = c + 1

Text6.text = c

ElseIf (bin <= 5514) Then

d = d + 1

Text7.text = d

End If

End Sub

-----------------------------------------------------------------------------------------

Dim f As String

Private Sub Form_Load()

a = 0

b = 0

c = 0

d = 0

g = 0

Text2.text = 0

MSComm1.PortOpen = True

Timer1.Enabled = False

Timer2.Enabled = False

Timer3.Enabled = False

Timer4.Enabled = False

End Sub

-----------------------------------------------------------------------------------------

„Nilai batasan untuk black and white

Private Sub HScroll1_Change()

Dim nilai As Integer

Page 50: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

nilai = HScroll1.Value

Text1.text = nilai

End Sub

-----------------------------------------------------------------------------------------

„Terima data dari mikro

Private Sub MSComm1_OnComm()

If MSComm1.CommEvent = comEvReceive Then

g = MSComm1.Input

Text8.text = g

If g = 1 Then

text = 0

MSComm1.Output = text

Text2.text = text

g = 0

Timer3.Enabled = True

Timer2.Enabled = True

End If

End If

End Sub

-----------------------------------------------------------------------------------------

„Timer untuk mengkatifkan konveyor

Private Sub Timer1_Timer()

If Label7.Caption = 0 Then

Timer1.Enabled = False

text = 1

MSComm1.Output = text

Text2.text = text

Else

Label7.Caption = Label7.Caption - 1

End If

End Sub

-----------------------------------------------------------------------------------------

„Sistem pemilah secara otomatis

Private Sub Timer2_Timer()

'a

Dim matrix As Variant

Dim x As Integer

Dim y As Integer

Dim i As Integer

' Capture one image

VideoOCX1.Capture (m_Image)

' Get access to the image pixel matrix

matrix = VideoOCX1.GetMatrix(m_Image)

Page 51: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

' Simple example : Invert the colors of our image

For y = 0 To VideoOCX1.GetHeight - 1

For x = 0 To VideoOCX1.GetWidth - 1

matrix(x, y, 0) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 1) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

matrix(x, y, 2) = (matrix(x, y, 0) + matrix(x, y, 1) + matrix(x, y, 2)) / 3

Next x

Next y

' Very important : Release the matrix and update the image handle

VideoOCX1.ReleaseMatrixToImageHandle m_Image

' Display the processing result in our own window

Picture2 = VideoOCX1.ToPicture(m_Image)

'b

Const IntPixelX = 320

Const IntPixelY = 240

Dim Pixels(1 To IntPixelX, 1 To IntPixelY) As Long

Dim Merah, Hijau, Biru, Abu2 As Integer

Dim nilai As Integer

nilai = HScroll1.Value

Text1.text = nilai

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Pixels(x, y) = Picture2.Point(x, y)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Merah = Pixels(x, y) And &HFF

If (Merah < nilai) Then

Abu2 = 0

ElseIf (Merah > nilai) Then

Abu2 = 255

End If

Hijau = ((Pixels(x, y) And &HFF00) / &H100) Mod &H100

If (Hijau < nilai) Then

Abu2 = 0

ElseIf (Hijau > nilai) Then

Abu2 = 255

End If

Biru = ((Pixels(x, y) And &HFF0000) / &H10000) Mod &H100

If (Biru < nilai) Then

Abu2 = 0

Page 52: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

ElseIf (Biru > nilai) Then

Abu2 = 255

End If

Pixels(x, y) = RGB(Abu2, Abu2, Abu2)

Next y

Next x

For x = 1 To IntPixelX

For y = 1 To IntPixelY

Picture3.PSet (x, y), Pixels(x, y)

Next y

Next x

'c

Dim m As Long, n As Long

Dim h As Long, count As Long

Dim o As String

For m = 0 To Picture3.ScaleWidth - 1

For n = 0 To Picture3.ScaleHeight - 1

h = GetPixel(Picture3.hdc, m, n)

If h = vbWhite Then

count = count + 1

End If

DoEvents

Next

Next

Text3.text = count

'd

Dim bin As Long

bin = Val(Text3.text)

If (bin >= 10531) Then

a = a + 1

Text4.text = a

text = 7

g=0

MSComm1.Output = text

Text2.text = text

Timer1.Enabled = True

Timer2.Enabled = True

ElseIf (bin >= 7573) And (bin <= 10530) Then

b = b + 1

Text5.text = b

Page 53: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

text = 5

MSComm1.Output = text

g=0

Text2.text = text

Timer1.Enabled = True

Timer2.Enabled = True

ElseIf (bin >= 5514) And (bin <= 7572) Then

c = c + 1

Text6.text = c

text = 3

MSComm1.Output = text

Text2.text = text

g=0

Timer1.Enabled = True

Timer2.Enabled = True

ElseIf (bin <= 5514) And (bin >= 1000) Then

d = d + 1

Text7.text = d

g=0

Timer1.Enabled = True

Timer2.Enabled = True

Else

Timer1.Enabled = True

Timer2.Enabled = True

End If

End Sub

-----------------------------------------------------------------------------------------

„Menutup palang secara otomatis

Private Sub Timer3_Timer()

text = 9

MSComm1.Output = text

Text2.text = text

Timer4.Enabled = True

Timer3.Enabled = False

End Sub

-----------------------------------------------------------------------------------------

Private Sub Timer4_Timer()

text = 0

MSComm1.Output = text

Text2.text = text

Timer4.Enabled = False

End Sub

-----------------------------------------------------------------------------------------

Page 54: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

2. Program keseluruhan pada Codevision AVR

/*****************************************************

Chip type : ATmega32

Program type : Application

Clock frequency : 4.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 512

*****************************************************/

#include <mega32.h>

#include <stdlib.h>

#include <delay.h>

#define RXB8 1

#define TXB8 0

#define UPE 2

#define OVR 3

#define FE 4

#define UDRE 5

#define RXC 7

#define FRAMING_ERROR (1<<FE)

#define PARITY_ERROR (1<<UPE)

#define DATA_OVERRUN (1<<OVR)

#define DATA_REGISTER_EMPTY (1<<UDRE)

#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer

#define RX_BUFFER_SIZE 8

char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256

unsigned char rx_wr_index,rx_rd_index,rx_counter;

#else

unsigned int rx_wr_index,rx_rd_index,rx_counter;

#endif

// This flag is set on USART Receiver buffer overflow

bit rx_buffer_overflow;

// USART Receiver interrupt service routine

interrupt [USART_RXC] void usart_rx_isr(void)

{

char status,data;

int i;

status=UCSRA;

Page 55: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

data=UDR;

rx_buffer[rx_wr_index]=data;

i=atoi(rx_buffer);

OCR0=i;

++rx_wr_index;

if(rx_wr_index==2)

{

rx_wr_index=0;

}

}

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer

#define _ALTERNATE_GETCHAR_

#pragma used+

char getchar(void)

{

char data;

while (rx_counter==0);

data=rx_buffer[rx_rd_index];

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;

#asm("cli")

--rx_counter;

#asm("sei")

return data;

}

#pragma used-

#endif

#include <stdio.h>

void buka0()

{

PORTA.0=1;//memberikan pulsa high

delay_ms(1);//pulsa high diberikan selama 1 ms

PORTA.0=0;

delay_ms(20);

}

void tutup0()

{

PORTA.0=1;//memberikan pulsa high

delay_ms(2);//pulsa high diberikan selama 2 ms

PORTA.0=0;

delay_ms(20);

}

void buka1()

{

PORTA.1=1;//memberikan pulsa high

delay_ms(1);//pulsa high diberikan selama 1 ms

Page 56: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

PORTA.1=0;

delay_ms(20);

}

void tutup1()

{

PORTA.1=1;//memberikan pulsa high

delay_ms(2);//pulsa high diberikan selama 2 ms

PORTA.1=0;

delay_ms(20);

}

void buka2()

{

PORTA.2=1;//memberikan pulsa high

delay_ms(1);//pulsa high diberikan selama 1 ms

PORTA.2=0;

delay_ms(20);

}

void tutup2()

{

PORTA.2=1;//memberikan pulsa high

delay_ms(2);//pulsa high diberikan selama 2 ms

PORTA.2=0;

delay_ms(20);

}

void pintua()

{

PORTB.1=1;

PORTB.2=0;

}

void pintub()

{

PORTB.1=0;

PORTB.2=1;

}

}

int i,a,b,c,d,e,f,g,h,j;

void main(void)

{

PORTA=0x00;

DDRA=0x0F;

PORTB=0x00;

DDRB=0xFF;

PORTC=0x00;

DDRC=0x00;

PORTD=0x00;

Page 57: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

DDRD=0x00;

TCCR0=0x00;

TCNT0=0x00;

OCR0=0x00;

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

MCUCR=0x00;

MCUCSR=0x00;

TIMSK=0x00;

UCSRA=0x00;

UCSRB=0xD8;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x19;

ACSR=0x80;

SFIOR=0x00;

#asm("sei")

while (1)

{

i=OCR0;

if(i==0)

{PORTB.0=0;}

if(i==1)

{PORTB.0=1;}

if(i==2)

{

buka0();

}

if(i==3)

{

g=1;

}

Page 58: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

if(i==4)

{

buka1();

}

if(i==5)

{

h=1;

}

if(i==6)

{

buka2();

}

if(i==7)

{

j=1;

}

if(i==8)

{

a=1;

}

if(i==9)

{

b=1;

}

if(PINC.7==1)

{

c=1;

a=1;

}

if(PINC.6==1)

{

d=1;

a=1;

}

if(PINC.5==1)

{

e=1;

a=1;

}

if(PINC.4==0)

{

delay_ms(300);

printf("1");

}

if(a==1)

{

pintua();

if(PINC.3==1)

Page 59: Visualisasi Proses Pemilah Buah Jeruk Sunkist Berdasarkan Ukuran (Software)

{

b=1;

}

}

if(b==1)

{

a=0;

pintub();

}

if(c==1)

{

buka0();

f=f+1;

}

if(d==1)

{

buka1();

f=f+1;

}

if(e==1)

{

buka2();

f=f+1;

}

if(g==1)

{

tutup0();

f=f+1;

}

if(h==1)

{

tutup1();

f=f+1;

}

if(j==1)

{

tutup2();

f=f+1;

}

if(f==10)

{

c=0, d=0, e=0, f=0, g=0, h=0, j=0;

}

};

}