DIAGRAM ALIR (FLOWCHART) Start Jalankan Roller Tidak Posisi Awal? Ya Hentikan Roller Baca Warna Hitam Tidak Tidak Ya Merah Wadah 1 Ya Kuning Wadah 2 Ya Hijau Wadah 3 Ya Biru Wadah 4 Ya Tidak Tidak Tidak Tidak Wadah 5 Universitas Sumatera Utara Program diawali dengan strat. Kemudian program akan menjalankan roler keposisi awal. Selanjutnya program akan melihat posisi benda apakah posisi benda sudah tepat di depan sensor warna atau belum. Jika posisi benda sudah tepat di depan sensor warna, maka mikrokontroler akan membaca warna dari benda. Untuk membaca warna, program dimulai dengan mengosongkan isi register 0 (r0). Selanjutnya pada pemfilter merah (RED) S2 diset low(0) dan S3 juga diset low(0) dengan memberikan perintah clr. Lalu selama selang waktu pada rutin interupt, program sinyal dibaca dan data digital ditambahkan pada r0. Program dilanjutkan pada pemfilter hijau (GREEN) dengan menset S2 pada logika high(1) dan S3 pada logika high(1) yaitu dengan perintah setb. Lalu selama selang waktu pada rutin interupt, program sinyal dibaca dan data digital ditambahkan kembali pada r0.Lalu program dilanjutkan pada pemfilter biru (BLUE) dengan menset S2 pada logika low(0) dan S3 pada logika high(1). Lalu selama selang waktu pada rutin interupt, program sinyal dibaca dan data digital ditambahkan lagi pada r0. Kemudian diteruskan pada pemfilter tanpa warna (CLEAR) dengan menset S2 pada logika high(1) dan S3 pada logika low(0). Lalu selama selang waktu pada rutin interupt, program sinyal dibaca dan data digital ditambahkan juga pada r0. Selanjutnya data digital atau nilai dari r0 dicopykan pada accumulator a. Kemudian program akan membandingkan data pada accumulator a dengan data hasil pengujian dari sensor warna. Jika data yang diterima sama dengan data dari warna hitam, maka benda akan langsung dilepaskan tepat pada wadah 1 atau pada posisi utama dimana bola dilepaskan, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal. Jika data yang diterima sama dengan data dari warna merah, maka wadah 2 digeser pada posisi utama lalu benda dilepaskan pada wadah 2, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal. Universitas Sumatera Utara Jika data yang diterima sama dengan data dari warna kuning, maka wadah 3 digeser pada posisi utama dan benda dilepaskan pada wadah 3, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal. Jika data yang diterima sama dengan data dari warna hijau, maka wadah 4 digeser pada posisi utama dan benda dilepaskan pada wadah 4, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal. Jika data yang diterima sama dengan data dari warna biru, maka wadah 5 digeser pada posisi utama dan benda dilepaskan pada wadah 5, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal. Jika data yang diterima tidak sama dengan data yang ada pada salah satu warna benda tersebut maka program akan kembali membaca data sampai memperoleh data yang sama dengan salah satu data warna benda yang telah ditentukan. Demikian seterusnya. Universitas Sumatera Utara