7103040030

Upload: hendra-kurniawan

Post on 13-Jul-2015

274 views

Category:

Documents


0 download

TRANSCRIPT

PROYEK AKHIR

RANCANG BANGUN PENGENDALIAN PERALATAN RUMAH TANGGA MENGGUNAKAN TULISAN TANGAN : PENJADWALAN PENGENDALIAN PERALATAN DAN SIMULASI PERANGKAT KERAS

Oleh : DWI ARBAATI SRI RAHAYU 7103.040.030

Dosen Pembimbing : Eru Puspita, ST., Mkom. NIP. 132 127 285 Ronny Susetyoko, SSi, Msi. NIP. 132 127 287

JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2007

RANCANG BANGUN PENGENDALIAN PERALATAN RUMAH TANGGA MENGGUNAKAN TULISAN TANGAN : PENJADWALAN PENGENDALIAN PERALATAN DAN SIMULASI PERANGKAT KERAS

Oleh: DWI ARBAATI SRI RAHAYU 7103.040.030 Proyek Akhir Ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sains Terapan (S.ST.) Di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya

Disetujui Oleh: Tim Penguji Proyek Akhir 1. Dosen Pembimbing

Bima Sena B D, S.ST NIP. 132 232 762 2.

Eru Puspita, ST., Mkom. NIP. 132 127 285

Ir. Kemalasari, MT NIP.132 256 933 3.

Ronny Susetyoko, SSi, Msi. NIP. 132 127 287

Ir. Retno Sukmaningrum, MT NIP. 132 233 199 Mengetahui Ketua Jurusan Teknik Elektronika

M. Safruddin, MT. NIP. 131 884 354

Abstrak Identifikasi tulisan tangan merupakan proses identifikasi pada apa yang ditulis oleh seseorang baik berupa kata maupun kalimat. Dengan teknik ini dimungkinkan bagi manusia dapat melakukan interaksi dengan peralatan elektronik untuk melakukan pengendalian. Sehingga dapat memberikan bentuk aksi yang diinginkan. Pada tugas akhir ini tulisan tangan digunakan untuk mengendalikan peralatan rumah tangga. Pada sisi perangkat lunak untuk meng-identifikasi tulisan tangan digunakan beberapa metode untuk dicari perbandingan hasil identifikasi. Metode pengklasifikasinya meliputi akuisisi data, ekstraksi ciri, dan klasifikasi. Pada bagian hardware peralatan yang akan dikendalikan disimulasikan melalui Led dan motor. Sistem ini menggunakan proses scheduling, yaitu pembacaan data jam dari input berupa file text untuk dibandingkan dengan jam sistem. Bila jam sistem sama dengan data input, maka data berupa beban kontrol dan status kontrolnya dikirim ke kontroler untuk dijalankan ke plan aksi. Sistem ini menggunakan PC untuk identifikasi tulisan tangan dan proses penjadwalan. Proses penjadwalan menggunakan bahasa pemrograman Microsoft Visual Basic. Mikrokontroler yang digunakan adalah AVR dengan Chip Atmega8535. Mikrokontroler digunakan untuk menerima data dari PC dan menjalankan perintah tersebut ke plan aksi. Akurasi kesesuaian pada pengujian sistem untuk mengirimkan perintah pada proses penjadwalan dan aksi pada plan mencapai 99%. Kata kunci : membuka text file, penjadwalan, kontroller AVR Atmega8535

Abstract The handwriting identify represent the identify process number and character that writed by someone in the form of word and also sentence. With this technique, it is posible for human being to make interaction with the electronic equipments to do the operation. So it can give the wanted action form. This final project made the handwriting identify used to operating the electronic household equipments. In the software system, for handwriting identify used some methode to look for comparison of identify result. Its clasification method include acuisition data, distinguish extraction, and clasification. In the hardware system, the equipment simulated by LED and motor. This system used the scheduling process, it is process to read the time of command from input data in the text file form. Its used to compare by the time of system. When the it is equal so system will send the load control and its control condition (ON/OFF) to the plan action of system. This completely project used the PC for handwriting identify and scheduling process. Scheduling software use the visual basic language. Microcontroller that used in this system is AVR with the ATmega8535 chips. It used to receive command from PC and control the output to plant system. The accuration of system test to sending command from scheduling process and the action system on plan action is reach to 99%. Keywords : text file opening, scheduling, AVR Atmega8535 controller.

UCAPAN TERIMA KASIHSegala puji dan puja syukur bagi ALLAH SWT yang telah memberikan rahmat, karunia dan petunjuk sehingga proyek akhir ini dapat diselesaikan dengan lancar dan sukses. Penulisan proyek akhir ini tidak akan terwujud tanpa adanya bantuan dari pihak lain. Oleh karena itu, dalam kesempatan ini penulis menyampaikan rasa terima kasih yang sangat dalam kepada pihak-pihak yang telah membantu dan membimbing selama pelaksanaan dan penyelesaian proyek akhir ini, yaitu kepada : 1. Allah SWT yang mencurahkan segenap kenikmatan baik berupa nikmat iman dan Islam serta barokah, hidayah dan inayah-Nya kepada penulis. 2. Nabi Muhammad SAW sebagai teladan kami, yang telah membawa kami ke jalan kebenaran melalui ad-dienul islam 3. Keluargaku tercinta yang selalu memberi perhatian, kasih sayang, cinta, dorongan semangat, dan selalu mendoakan dimanapun penulis berada. 4. Bapak Dr Ir Titon Dutono M.Eng, selaku Direktur Politeknik Elektronika Negeri Surabaya ITS. 5. Bapak M. Syafrudin, ST,M.Eng, selaku Ketua Jurusan Teknik Elektronika Politeknik Elektronika Negeri Surabaya ITS. 6. Eru Puspita, ST., Mkom., selaku Dosen Pembimbing I yang telah banyak memberikan pengarahan dan motivasi yang besar kepada penulis. 7. Ronny Susetyoko, SSi, Msi., selaku Dosen Pembimbing II atas segala kesabaran membimbing penulis dalam mengerjakan tugas akhir ini. 8. Bapak Bima Sena B D, SST.,Ir. Kemalasari, MT.,Ir. Retno Sukmaningrum, MT., sebagai tim penguji Proyek Akhir tahun ajaran 2006/2007 9. Seluruh Tim Pengajar (Dosen dan Asisten Dosen) Jurusan Teknik Elektronika Politeknik Elektronika Negeri Surabaya ITS. 10. Seluruh Dosen dan Staf Karyawan Politeknik Elektronika Negeri Surabaya ITS. 11. Mbak-koe, the only sister that i have, makasih buanget atas cinta, kasih sayang, dan segala bentuk bantuan yang telah engkau berikan. I love you, Sister. Juga D Aan, my young brother, jadilah yang terbaik yang kamu bisa. 12. Sam-koe, Maghfur, so many thanks to you for everythings

13. 14. 15. 16. 17. 18. 19.

you give to me. Kamu yang kerja, aku yang dapet gelar sarjana. Makasih juga udah ngajarin aku sesuatu yang berharga di madrasah kasih saying WIMAJAYA Temanku, mbah, thanks atas bantuanne. Juga partner-ku, Dodik, thanks banget dah bersedia membantu aku mengerjakan TA-ku. Ajeng, Dewi, Dian dan Ari yang selalu membantu penulis. We are the spice girl of ELKA. Semua temen kos-ku, M Nyun, mb Dupil, mb Memey, mb Danik, mb Rindang, mb Nobi, Jafar, mb Leni, mb Heksi, semuanya aja deh... . Buat Bupuh Endang, my second Mom in this city, juga BT, makasih banget atas pengertiane. Teman-temanku D4Elka Angkatan 2003 yang telah banyak membantu dan memberikan dukungan kepada penulis. Teman-teman di LAB. PA industri(D4 lt.2). atas segala bantuannya. Thanks bgt ya pren... . Semua pihak yang sudah membantu penulis dalam penyelesaian proyek akhir ini.

KATA PENGANTAR

Alhamdulillahirabbilalamin, segala puji syukur kami ucapkan kepada Allah SWT Tuhan semesta alam. Shalawat serta salam bagi Rasulullah Muhammad SAW teladan umat manusia sampai akhir zaman. Hanya karena petunjuk dan pertolongan Allah SWT serta iringan doa dari kedua orang tua dan saudara serta pengerahan segenap usaha, akhirnya kami dapat menyelesaikan proyek akhir yang berjudul :

RANCANG BANGUN PENGENDALIAN PERALATAN RUMAH TANGGA MENGGUNAKAN TULISAN TANGAN : PENJADWALAN PENGENDALIAN PERALATAN DAN SIMULASI PERANGKAT KERASProyek akhir ini merupakan kewajiban setiap mahasiswa dengan tujuan unutk memenuhi persyaratan kelulusan pada program Diploma IV jurusan Teknik Elektronika Politeknik Elektronika Negeri Surabaya ITS. Perlu disadari bahwa proyek akhir ini masih terdapat banyak kekurangan. Oleh karena itu penulis mengharapkan masukan dan saran yang bersifat membangun dari pembaca sekalian guna tercapainya hasil yang lebih baik. Semoga apa yang telah penulis tuangkan dalam proyek akhir ini sedikit banyak dapat memberikan manfaat bagi rekan-rekan semua. Amin. Surabaya, Juli 2007 Penulis

DAFTAR ISIHalaman Judul Lembar Pengesahan Abstrak Abstract Kata Pengantar Ucapan Terima Kasih Daftar Isi Daftar Gambar Daftar Tabel BAB I PENDAHULUAN 1.1. Latar Belakang 1.2. Tujuan 1.3 Rumusan Masalah 1.4. Batasan masalah 1.5. Metodologi 1.6 Sistematika Pembahasan BAB II TINJAUAN PUSTAKA 2.1. Penelitian-Penelitian 2.1.1. Penelitian-Penelitian Fitri maimanah & Angga Kusuma 2.1.2. Penelitian-Penelitian Diah Dwi Tri Rezeki 2.1.3. Penelitian-Penelitian Sri Utami & Deddy S 2.2. Dasar Teori 2.2.1. Visual Basic 6.0 2.2.1.1 Dasar Visual Basic 2.2.1.2 Bekerja Dengan Control 2.2.1.3 Mengenal Tipe Data 2.2.1.4 Operator 2.2.2 Komunikasi Serial RS232 2.2.3 Mikrokontroler Atmega 8535 2.2.3.1 gambaran umum Atmega8535 2.2.3.2 konfigurasi pin-pin Atmega8535 2.2.3.3 program memori 2.2.3.4 Port I/O i ii iii iv v vi viii x xi 1 1 2 2 2 3 4 5 5 5 5 6 6 6 7 8 9 11 11 16 16 16 18 19

BAB III PERENCANAAN DAN PEMBUATAN SISTEM 21

3.1 3.1 3.1 3.1 3.1

Blok Diagram sistem Maket Rumah Untuk aksi Plan Perangkat Lunak untuk Penjadwalan Program untuk mikrokontroler Perencanaan pada perangkat keras

21 22 23 25 25 29 29 31 36 45 49 49 49 xii xiii xiv

BAB IV PENGUJIAN SISTEM DAN ANALISA 4.1 Pengujian modul AVR Atmega8535 4.2 Pengujian sistem 1 4.2 Pengujian sistem 2 4.2 Analisa

BAB V PENUTUP 5.1. Kesimpulan 5.2. Saran Daftar Pustaka Lampiran Sekilas penulis

DAFTAR GAMBARGambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambar 2.7 Gambar 2.8 Gambar 2.9 Gambar 2.10 Gambar 2.11 Gambar 2.12 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.8 Gambar 4.8 Gambar 4.8 Gambar 4.8 Toolbox dalam Visual Basic 7 Toolbar dalam Visual Basic 7 Tampilan dasar Visual Basic 6.0 8 Blok Diagram Sistem 12 Level tegangan RS232 13 Saluran RS232 13 Pemasangan pin-pin pada DB29 14 IC max 232 15 Blok Diagram ATmega 8535 16 IC Atmega8535 17 Peta memori Flash 19 Resistor pull up 19 Blok Diagram sistem 21 Flowchart kerja sistem 22 Maket rumah 22 contoh file notepad 23 Perangakt lunak untuk penjadwalan 23 Algoritma konversi notepad ke format array pada proses penjadwalan 24 Rangkaian pada mikrokontroler 25 Minimum sistem ATmega 8535 26 PORTA AVR Atmega 8535 29 PORTB AVR Atmega 8535 30 PORTC AVR Atmega 8535 30 PORTD AVR Atmega 8535 30 Bentuk notepad 31 Form untuk program penjadwalan ketika sama dengan jam sistem 31 Form untuk program penjadwalan ketika sama dengan jam sistem 32 Form untuk program penjadwalan ketika sama dengan jam sistem 33 Form untik program penjadwalan ketika 33 Output pada modul LED 36 Pemrograman penjadwalan sistem 2 37 Form program penjadwalan sistem 2 38 Form program penjadwalan untuk pengujian 40 Aksi pada plan 41 Form program penjadwalan pengujian list baru 41

Gambar 4.8 Gambar 4.8 Gambar 4.8 Gambar 4.8

plan pada saat dinyalakan bersamaan plan pada saat dinyalakan di-reset sistem plan pada saat menyalakan beberapa beban plan pada saat mematikan beban 1 dan menyalakan beban lain

42 42 43 43

DAFTAR TABELTabel 2.1 Tabel 2.2 Tabel 2.3 Tabel 3.1 Tabel 4.1 Tabel 4.2 Tabel 4.3 Tabel 4.4 Tabel 4.5 Tabel 4.6 Tabel 4.7 Tabel 4.8 Tabel 4.9 Operator Aritmatika 4 aspek dalam RS232E Data Sheet RS232 Tabel pembagian port-port pada AVR Atmega 8535 Mengirim data melalui Serial komunikasi RS232 Tabel pengujian I Tabel pengujian II Tabel pengujian III Tabel pengujian IV Ketepatan perintah dengan plan aksi pengujian beban dengan sistem2 Ketepatan perintah dengan plan aksi waktu yang dibutuhkan untuk pengiriman data ke plan kerja 11 12 15 27 34 34 34 35 35 35 39 44 44

BAB I PENDAHULUANI.1 LATAR BELAKANG Biometrika sebagai salah satu cabang dari matematika terapan, yang telah muncul dan berkembang. Bidang biometrika yang penting adalah mengidentifikasi suatu individu berdasarkan ciri/sifat biologis yang khusus. Salah satu contoh dari aplikasi biometrika ini adalah pengenalan pola tulisan tangan. Identifikasi tulisan tangan dilakukan untuk keperluan penelitian, meningkatkan produktifitas kerja, dan diharapkan dapat memenuhi tuntutan kebutuhan manusia saat ini. Permasalahan identifikasi telah berkembang pesat dan digunakan dalam berbagai bidang. Di perkantoran maupun industri, sidik jari, pola geometri telapak tangan, suara maupun wajah digunakan sebagai mesin absensi. Di dunia perbankan, untuk melakukan transaksi keuangan digunakan tanda tangan. Sistem identifikasi tulisan tangan secara otomatis telah digunakan di industri perbankan untuk mengurutkan cek, pelayanan di kantor pos untuk mengurutkan surat [6]. Banyak sekali metode yang dikembangkan para peneliti untuk melakukan identifikasi tulisan tangan. Pada tugas akhir ini akan dilakukan identifikasi huruf dari suatu tulisan tangan menggunakan beberapa metode untuk mencari perbandingan hasil dari beberapa metode tersebut. Susetyoko[6], dalam penelitiannya mengenai identifikasi tulisan tangan, menggunakan metode Bimodal Principal Component Analysis (BiPCA) sebagai mesin identifikasi silang karena fitur ekstraksi yang digunakan adalah analisis komponen utama yang dilakukan pada dua matriks dengan ekstraksi fitur yang berbeda. Sistem ini merupakan penggunaan lain dari hasil identifikasi tulisan tangan berupa huruf dan angka. Identifikasi tulisan tangan pada proyek akhir ini, dikembangkan penggunaannya yaitu untuk mengendalikan peralatan rumah tangga. Pada sisi hardware peralatan yang akan dikendalikan sebagian akan disimulasikan melalui LED dan sebagian lain menggunakan motor. Pada penelitian sebelumnya, peralatan rumah tangga dikendalikan dengan WEB dan WAP, SMS dengan menggunakan ponsel user, dan menggunakan sinyal wicara. Pada sistem Proyek ini menggunakan tulisan tangan dan juga terdapat proses scheduling, yaitu pembacaan data jam dari input berupa file text untuk dibandingkan dengan jam sistem. Bila jam sistem sama dengan data input, maka data berupa beban kontrol dan status kontrolnya dikirim

ke kontroler untuk dijalankan ke plan aksi. Sistem ini menggunakan PC untuk identifikasi tulisan tangan dan proses penjadwalan. Input dituliskan pada stylus pad dan di-identifikasi kemudian diproses untuk disimpan dalam bentuk file text. File text tersebut digunakan untuk input proses penjadwalan. Mikrokontroler digunakan untuk menerima data dari PC dan menjalankan perintah tersebut ke plan aksi. Mikrokontroler yang digunakan adalah AVR dengan Chip Atmega8535. Dengan adanya sistem ini diharapkan dapat membantu mengendalikan peralatan rumah tangga bersamaan dengan melakukan pekerjaan yang lain. Sehingga dapat menghemat waktu dan tenaga. I.2 TUJUAN Tujuan dari tugas akhir ini adalah membuka text file hasil identifikasi tulisan tangan, membuat program penjadwalan pengendalian peralatan rumah tangga dan mensimulasikan aksi dari program penjadwalan ke plan aksi yang berupa LED dan motor. 1.3. Rumusan Masalah Ruang lingkup dari sistem adalah sebagai berikut : 1. Bagaimana membuat program untuk membaca schedule dalam bentuk file *.txt dan membuat program penjadwalan pengendalian peralatan rumah tangga, serta mengirim data menuju kekontroller dengan menggunakan RS232 2. Bagaimana membuat program pada controller sehingga bisa membaca data dari RS232 dan menjalankan perintah ke port yang sesuai. 3. Membuat plant berupa maket rumah beserta simulatornya dan menjalankan program kontroler pada plant I.4 BATASAN MASALAH Batasan masalah dalam sistem ini adalah: 1. Data yang diterima sistem 1 dalam bentuk file *.txt dan sistem ke-2 menggunakan input yang dapat dimasukkan dari program penjadwalan pada PC. 2. Input untuk poses penjadwalan pada sistem 1 berupa 11 digit data dengan format 4 digit pertama adalah waktu, spasi, beban kontrol (2 digit), spasi, kontrol beban (ON/OFF). 3. Komunikasi antara PC dan mikrokontroler menggunakan RS232.

4. 5.

Maksimal alat yang bisa dikendalikan dengan sistem ini adalah 32 alat. Pada plant, yang digunakan adalah maket rumah dengan peralatan rumah tangga yang akan dikendalikan adalah lampu, kipas angin, AC, dan pompa air. Sebagai indikasi ON/OFF akan disimulasikan dengan nyala LED dan motor. LED sebagai simulator lampu dan AC, dan motor sebagai simulator kipas angin dan pompa air.

1.5. Metodologi Metode dalam pengerjaan proyek akhir ini melalui beberapa tahap antara lain : 1. Pembuatan hardware dan maket plant. Membuat maket rumah dan simulatornya. Mikrokontroler yang digunakan adalah AVR ATmega 8535. Untuk komunikasi serial antara PC dengan mikrokontroler menggunakan RS232. 2. Membuat perangkat lunak yang terdiri dari Membuat program pada PC untuk membaca input berupa schedule dalam bentuk file *.txt dan program penjadwalan untuk mengendalikan peralatan pada meket. Serta program untuk mengirim data menuju mikrokontroler AVR dengan menggunakan RS232. Membuat program untuk mikrokontroler sehingga dapat menerima data yang dikirimkan melalui RS232 dan menjalankan aksi ke plan. 3. Pengujian software-hardware Pengujian ini dilakukan dengan mengintegrasikan antara software dan hardware. Pengujian ini dimaksudkan untuk memastikan bahwa kinerja masing-masing sistem dari hasil pembuatan perangkat keras maupun perangkat lunak yang telah dibuat dapat berfungsi sesuai dengan yang diharapkan. 4. Analisa dan kesimpulan Menganalisa hasil uji coba apakah output pada plant telah sesuai dengan input yang dikirim dari schedule file text ke mikrokontroler. Apakah kinerja system telah sesuai dengan yang diharapkan. Mencari letak kelebihan dan kekurangan dari system supaya mengetahui langkah perbaikannya 5. Menyusun laporan Menyusun laporan untuk pertanggung jawaban atas proyek yang dikerjakan dalam sebuah buku.

I.4 SISTEMATIKA PEMBAHASAN Sistematika pembahasan dalam penyusunan Laporan Proyek Akhir ini adalah sebagai berikut : BAB I : PENDAHULUANBerisi latar belakang pembuatan, tujuan, batasan masalah yang dikerjakan dan sistematika pembahasan.

BAB II : TEORI PENUNJANG Menjelaskan mengenai teori-teori penunjang yang dijadikan landasan dan rujukan teori yang berkaitan dengan penyelesaian proyek akhir ini. BAB III : PERENCANAAN DAN PEMBUATAN SISTEM Berisi perancangan hardware dan software, blok diagram sistem, cara kerja sistem, pembuatan program (software) menggunakan bahasa pemrograman Visual Basic 6.0. Dan program pada mikrokontroler AVR dengan chip Atmega8535 dengan menggunakan CodeVision AVR C Compiler BAB IV : PENGUJIAN DAN ANALISA Membahas pengujian sistem keseluruhan, dalam hal ini pengujian program yang meliputi pengujian program pengambilan file text, mengkonversi ke array dan program penjadwalan pengendalian peralatan simulasi pada plan aksi. BAB V : PENUTUP Berisi tentang kesimpulan dari tugas akhir yang telah dibuat dan saran-saran untuk pengembangan selanjutnya.

BAB II TINJAUAN PUSTAKA2.1 Penelitian-Penelitian Beberapa penelitian-penelitian tentang identifikasi tulisan tangan dijelaskan sebagai berikut : 2.1.1 Penelitian Fibri Maimanah dan Angga Kusuma Sistem pada tugas akhirnya memanfaatkan WEB dan WAP untuk memonitor dan mengendalikan peralatan rumah tangga pada sebuah apartemen banyak ruang secara online, sedangkan untuk kontroller menggunakan mikrokontroler 89C51. Mikrokontroler 89C51 [1,4] merupakan seri mikrokontroler CMOS 8-bit produksi Atmel dengan arsitektur MCS51 yang mempunyai sistem memori, timer, port serial, dan 32 bit port I/O yang memungkinkan untuk membentuk suatu sistem yang terdiri dari single chip (keping tunggal). Diasumsikan, server terhubung dengan master yang meneruskan perintah ke user melalui internet dengan kabel LAN (Local Area Network). Untuk mengetahui status slave dan memberi perintah pada master digunakan ADAM series pada sistem. Disisi software-nya [3], peralatan yang dikontrol harus terdaftar pada database server yang diakses oleh PC dan WAP server. Secara hardware sistem harus terhubung dengan WEB server dan OnLine internet sehingga dapat proses pengontrolan dan pemonitoran dapat dilakukan secara langsung dan real time. Hal ini dijelaskan pada proyek akhir Kusuma. 2.1.2 Penelitian Dyah Dewi Trirezeki Dalam tugas akhirnya data kontrol kendali peralatan diambil dari SMS pada ponsel. Menurutnya, teknologi SMS dari ponsel lebih murah dibandingkan WEB atau WAP. Sistem dikontrol dengan menggunakan PC yang di-interface-kan ke PPI 8255 dan rangkaian driver yang digunakan adalah IC MOC 3010. MOC 3010 digunakan sebagai pengontrol tegangan pada port-port PPI8255 dan sebagai pembatas antara tegangan DC dari PPI8255 dengan tegangan AC 220V yang digunakan untuk menjalankan beban. Pemrosesan SMS dengan menggunakan Microsoft Visual Basic. SMS dikirim dari ponsel user sistem dengan menggunkan kode-kode yang telah ditentukan. Sistem menerima SMS tersebut, membaca kode yang dikirimkam dan memprosesnya untuk kendali ke hardware. Hardware mengirim kembali data keadaan alat ke program sistem

untuk dikirim ke ponsel user sebagai laporan bahwa peralatan tersebut telah diproses atau telah dikendalikan sesuai perintah yang dikirim. 2.1.3 Penelitian Sri Utami dan Deddy S Pada proyek akhir tim ini, sistem pengendalian dan monitoring peralatan rumah tangga jarak jauh dengan menggunakan pengenalan wicara. Pada sisi softwarenya, terdiri dari beberapa proses, proses ekstraksi dan proses DTW. Untuk mengontrol sistem dilakukan dengan control jarak jauh, yaitu dari PC client ke PC server. Proses ekstraksi terdiri dari proses pengambilan sinyal, sampling, frame, windowing, LPC ( linier prediction code). Lalu dilakukan proses DTW untuk memadankan sinyal masukan dengan sinyal standart. Proses ekstraksi dan DTW dilakukan oleh PC client. Hasil DTW dikirim ke PC server untuk mengontrol alat yang diinginkan. Setelah alat terkontrol perangkat keras akan memberikan feedback ke PC server dan dari server dikirim ke PC client. Sehingga client bisa mngetahui kondisi peralatan yang dikontrol. Pada sisi hardware-nya, setelah pemadanan suara pada client selesai, maka server akan menerima data hasil pemadanan. Data ini digunakan untuk memanggil sinyal DTMF yang sesuai dengan hasil pemadanan. Sinyal tersebut dikirim ke perangkat keras melalui soundcard. Digunakan ICMT8870D sebagai penerima sinyal DTMF akan mengkodekan sinyal DTMF dalam bentuk biner. kodekode biner yang akan diterjemahkan oleh mikrokontroler sebagai perintah untuk mengontrol alat. Ketika terjadi perubahan kondisi pada alat yang diinginkan, IC TP5088 sebagai pembangkit sinyal DTMF akan mengirim sinyal DTMF balikan sebagai laporan ke server. Mikrokontroller yang digunakan adalah AT89C52. digunakan untuk mengontrol beberapa sinyal, yaitu : penerimaan sinyal DTMF, pembangkit sinyal DTMF, sistem switching, dan mengontrol sistem sensor. 2.2 Dasar Teori 2.2.1 VISUAL BASIC 6.0 Visual Basic adalah bahasa pemrograman yang bekerja dalam lingkup Windows. Visual Basic dapat memanfaatkan kemampuan Windows secara optimal. Memang Visual Basic dapat memanfaatkan hampir semua kemudahan dan kecanggihan yang disediakan oleh system operasi

Windows. Kemampuan Visual Basic secara umum adalah menyediakan komponen-komponen yang memungkinkan Anda membuat program aplikasi yang sesuai dengan tampilan dan cara kerja Windows. 2.2.1.1 Dasar Visual Basic Visual basic menampilkan komponen Toolbar, Toolbox, Properties, dan Form Layout. Jika salah satu komponen tersebut tidak muncul di layer, Anda dapat memunculkannya dengan memilih menu View lalu klik komponen yang akan ditampilkan.

Gambar 2.1 ToolBox dalam Visual Basic Anda dapat mengatur properties dari form dan kontrol dengan menggunakan properties window. Dengan properties ini anda dapat merubah nilai dari form atau kontrol tersebut seperti caption, name, font, colour, size, dan position. Visual Basic Toolbar juga menyediakan shortcuts untuk operasi yang biasa kita gunakan. Gambar 2.2. ToolBar dalam Visual Basic

Gambar 2.3 Tampilan dasar Visual Basic 6.0

2.2.1.2 Bekerja Dengan Control Sebelum menulis event prosedur dari kontrol ntuk merespon user, anda harus memastikan properti dari masing masing kontrol tersebut dan bagaimana kontrol tersebut bekerja. Anda bisa merubahnya properti tersebut melalui properties windows. Kita akan menjelakan secara detail bagaimana mengubah properties tersebut, akan tetapi hanya menitik beratkan pada point point tertentu saja yang di anggap penting. Anda harus mengatur Caption Properti dari kontrol sehingga user mengetahui apa yang harus mereka lakukan dengan kontrol tersebut. Misalnya pada command button yang telah diberi caption OK atau Cancel, user akan tahu apa yang harus mereka lakukan dengan command button tersebut dibandingkan jika anda hanya memberikan nilai default dari command button tersebut. Anda harus men-set Name Propety dari masing masing kontrol yang mencerminkan maksud dari kontrol tesebut, sehingga anda akan mudah membaca alur program anda dan anda dapat dengan mudah memperbaikinya dikemudian hari. Properti lainnya yang tidak kalah penting adalah apakah anda menginginkan kontrol tesebut terlihat atau tersembunyi pada saat start up. Property ini dapat anda set menjadi True atau False. Hal lain yang lebih penting adalah apakah kontrol tersebut aktif atau tidak dengan merubah properti enable menjadi True atau False. Label Label adalah kontrol grafis yang dapat anda gunakan untuk menampilkan text dimana user tidak dapat merubahnya secara langsung. Anda harus merubahnya melalui kode pemogramman pada saat run time. Untuk merubah textnya anda bisa mengubah captionnya dan mengisikan text sesuai dengan keinginan anda. Ubah AutoSize dan WordWrap properti menjadi true jika anda ingin 1.

menampilkan seluruh text tanpa harus merubah kontrol label tersebut secara manual. Text Box TextBox kontrol digunakan untuk menampilkan informasi dimana user dapat merubahnya secara langsung. TextBox juga dapat dirubah melalui kode pemograman pada saat run time. Untuk merubah textnya anda bisa merubah text properti pada TextBox tesebut. Untuk menanpilkan banyak text anda bisa merubah MultiLine properti menjadi true. Anda juga bisa menampilkan scrollbar pada textbox tersebut dengan merubah scrollbar properti. Command Button Kontrol ini yang paling sering digunakan karena berfungsi seperti tombol pada umumnya. Anda bisa merubah textnya dengan merubah caption properti. Untuk menentukan aksi apa yang akan dilakukan jika anda mengklik tombol tersebut anda bisa mengisikan kode program anda pada event click. 2.2.1.3 Mengenal Tipe Data Ketika seorang user (pengguna) menggunakan sebuah program komputer, seringkali computer memintanya untuk memberikan informasi. Informasi ini kemudian disimpan atau diolah oleh komputer. Informasi inilah yang disebut dengan DATA. Visual Basic mengenal beberapa type data, antara lain : String adalah type data untuk teks (huruf, angka dan tanda baca). Integer adalah type data untuk angka bulat. Single adalah type data untuk angka pecahan. Currency adalah type data untuk angka mata uang. Date adalah type data untuk tanggal dan jam. Boolean adalah type data yang bernilai TRUE atau FALSE. Data yang disimpan di dalam memory komputer membutuhkan sebuah wadah. Wadah inilah yang disebut dengan VARIABEL. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkan alokasi jumlah memory (byte) yang berbeda.Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program : Dim As Contoh : Dim nama_user As String Aturan di dalam penamaan variabel : Harus diawali dengan huruf. 3. 2.

Tidak boleh menggunakan spasi. Spasi bisa diganti dengan karakter underscore ( _ ). Tidak boleh menggunakan karakter-karakter khusus (seperti : +, -, *, /, , dll). Tidak boleh menggunakan kata-kata kunci yang sudah dikenal oleh Visual Basic 6 (seperti : dim, as, string, integer, dll). Sebuah variabel hanya dapat menyimpan satu nilai data sesuai dengan type datanya. Cara mengisi nilai data ke dalam sebuah variabel : = Contoh : nama_user = krisna Untuk type data tertentu nilai_data harus diapit tanda pembatas. Type data string dibatasi tanda petikganda: nilai_data. Type data date dibatasi tanda pagar :#nilai_data#. Type data lainnya tidak perlu tanda pembatas. Sebuah variabel mempunyai ruang-lingkup (scope) dan waktu-hidup (lifetime) : Variabel global adalah variabel yang dapat dikenali oleh seluruh bagian program. Nilai data yangtersimpan didalamnya akan hidup terus selama program berjalan. Variabel lokal adalah variabel yang hanya dikenali oleh satu bagian program saja. Nilai data yangtersimpan didalamnya hanya hidup selama bagian program tersebut dijalankan. Variabel yang nilai datanya bersifat tetap dan tidak bisa diubah disebut KONSTANTA. Penulisan deklarasi konstanta di dalam kode program : Const As = Contoh : Const tgl_gajian As Date = #25/09/2003# Contoh lain, dalam sistem ini pembacaan data schedule dari file text disimpan pada konstanta untuk memudahkan proses selanjutnya. Perintah tersebut terdapat pada bagian : Open "d:\dwi\KID\coba.txt" For Input As #1 While Not EOF(1) Line Input #1, b Text1(0).Text = Text1(0).Text & b & vbCrLf Wend Close # 2.2.1.4 Operator

Operator adalah suatu yang digunakan untuk menghubungkan satu variabel atau kostanta dengan variabel atau kostanta dengan tujuan melakukan berbagai manipulasi dan pengolahan data. Pada program visual basic 6.0 terdapat bermacam-macam operator. Operator Penugasan (Assigment) Operator penugasan disimbulakn dengan tanda sama dengan (=) dan berfungsi untuk memasukkan suatu data kedalam suatu variabel, contoh : Harga = 1000, Nama = Ifan, Jumlah = Harga * Banyak Operator Aritmatika Operator aritmatika digunakan untuk melakukan operasi aritmatika, Operator aritmatika mempunyai hirarki paling tinggi dibanding operator pembanding dan operator logika. Penulis oprator aritmatika dengan hirarki dari yang paling rendah sebagai berikut :Tabel 2.1.Operator Aritmatika

Komunikasi Serial RS232 Nama resmi dari standart interface ini adalah interface between data terminal equipment and data communication employing serial binary data interchange, yaitu suatu terminal yang menghubungkan antara terminal data dari suatu peralatan dan peralatan komunikasi data yang yang menjalankan pertukaran data biner secara serial, oleh industri komunikasi data disebut RS-232. Sejak dipublikasikan pertama kali pada tahun 1962 , interface ini telah mengalami beberapa revisi dan sekarng yang banyak dipergunakan adalah RS-232 revisi kelima yang dipergunakan pada tahun 1991 dan disebut RS-232E atau EIA-232-E. Awalan RS pada RS-232 merupakan singkatan dari recommended standart yang berarti standart yang dianjurkan, yang berarti standart yang dianjurkan, karena selama ini dalam publikasi EIA tidak pernah memiliki ketetapan hukum yang mengharuskan untuk digunakan dalam dunia komunikasi data. Ada beberapa standart sederhana yang dikembangkan sendiri oleh pembuat

2.2.2

peralatan elektronik yang mungkin dapat diikuti, agar secara umum ada kecocokan. Standart lain yang menyangkut referensi aspek fungsi dan prosedur interface secara mekanikal dan elektrikal yang dipublikasikan oleh ITU-T pada tahun 1993 adalah standart V.25 dan V.28, sehingga RS-232E sebenarnya menyakup empat aspek, yaitu :Tabel2.2. 4 empat aspek dalam RS232E Mechanical : ISO21110 Electrical : V.28 Functional : V.24 Prosedural : V.24

Terdapat beberapa macam cara untuk menerapkan interface data biner pada komunikasi secara serial, salah satunya adalah RS232 yang merupakan salah satu dari standart yang dipilih dan sekarang telah dipakai secara luas dan dalam komunikasi data umumnya digunakan untuk menghubungkan DTE (Data Terminal Equipment) ke DCE (Data Communication Equipment) yang berupa peralatan sistem komunikasi analog Pada proyek akhir ini RS 232 akan digunakan untuk komunikasi antara PC dan mikrokontroler. Acknowledge yaitu penerima (receiver) menerima data dengan benar dan memberi informasi/mengirim data yang terkirim ke pengirim (trasmitter). RS232 merupakan salah satu standart interface dalam proses transfer data antar komputer terutama dalam bentuk serial transfer. RS232 merupakan kependekan dari Recommended Standart number 232. Standart ini disebut oleh Elektronic Industri Association (EIA), untuk interface antara peralatan terminal data dan komunikasi data, dengan munggunakan data biner sebagai data yang ditransmisi. RS232 adalah suatu data Serial Data Interface Standart yang dikeluarkan oleh EIA. Standarisasi meliputi konektor, fungsi serta posisi tiap per timming (pewaktu) dan level tegangan/arus. Standart ini juga berisikan karakteristik sinyal listrik, karakteristik mekanik dan cara operasional rangkaian fungsioanal . Beberapa karakteristik rangkaian fungsionalnya adalah sebagai berikut : 1. Tegangan terbuka maksimum 25 volt. 2. Keadaan logika `1` ditandai dengan tegangan antara -5 volt sampai dengan -15 volt. 3. Keadaan logika `0` ditandai dengan tegangan antara +5 volt

4. 5.

sampai dengan +15 volt. Hambatan keluran DC harus dikurangi dari 700 ohm jika diberi tegangan 3 volt dan 15 volt, dan harus lebih besar 3000 ohm jika tegangan kurang dari 25 volt. Slew rate harus lebih kecil dari 30 volt/detik. Waktu yang dipergunkan untuk melewati daerah peralihan -3 volt sampai dengan +3 volt tidak boleh melebihi 1mdetik. Karena daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level tegangan lebih negative dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232. Beda tegangan 2 volt disebut sebagai noise margin dari RS232

Gambar 2.5 Level Tegangan RS232

Gambar 2.6. saluran RS232 PORT SERIAL DB9 Salah satu pelengkap penunjang proses komunikasi data serial pada tereminal komputer pada dunia luar adalah port serial. Seperti halnya port paralel yang digunakan untuk keperluan interfacing, maka port serial juga merupakan gerbang I/O dari sebuah

computer. Hanya saja didalam port serial akan dilakukan perubahan bentuk data paralel menjadi data serial pada jalur keluaran dan sebaliknya data serial menjadi data parelel pada jalur masukkan. Jadi pada komunikasi serial hanya ada satu bit informasi yang ditransmisikan melalui port serial pada suatu saat. Dengan demikian secara otomatis hanya ada satu kabel yang diperlukan dalam satu proses transmisi data ini. Dikatakan pula bahwa komunikasi data secara serial memiliki kesederhanaan dalam hal pengkabelannya. Hal tersebut dapat terwujud tidak lain karena adanya port serial yang merupakan piranti dari sebuah komputer yang sanggup mengubah bentuk data paralel menjadi data serial dan sebaliknya dari data serial menjadi data peralel. Pemasangan pin-pin pad DB9 tidak sama dimana pemasangan pada kabel PC menggunakan pin 2,3 dan 5 dimana pin 2 sebagai RX dan pin 3 sebagai TX, sedangkan pada sistem minimumnya pin yang digunakan juga pin 2,3 dan 5 tetapi pin 2 sebagai TX dan pin 3 sebagai RX ini dilakukan agar data bisa terkirim bentuk dari DB9 ini bias dilihat pada gambar dibawah ini:

Gambar2.7 pemasangan pin-pin pada DB29

Table 2.3 Datasheet RS232

IC MAX 232 IC MAX 232 mempunyai 16 kaki dengan supply tegangan sebesar 5 volt. kaki ke-16 digunakan sebagai input tegangan (Vcc), kaki ke-15 sebagai Ground (GND). Kaki 8 dan 13 digunakan sebagai input RS232, sedangkan kaki 7 dan 14 sebagai output RS-232. RS232 merupakan suatu interface yang digunakan untuk menghubungkan antara terminal data dari suatu peralatan dan peralatan komunikasi data yang menjalankan pertukaran data biner secara serial.

Gambar 2.8 IC MAX 232 2.2.3 MIKROKONTROLER ATmega8535

2.2.3.1 Gambaran Umum ATmega8535 Mikrokontroler atau mikroprosesor adalah suatu piranti yang digunakan untuk mengolah data-data biner (digital) yang didalamnya merupakan gabungan dari rangkaian-rangkaian elektronik yang dikemas dalam bentuk suatu chip (IC). Pada umumnya mikrokontroler tediri dari bagian-bagian sebagai berikut: Alamat (address), Data, Pengendali, Memori (RAM atu ROM), dan bagian input-Output. Arsitektural ATmega8535 adalah sebagai berikut:

Gambar 2.9 Blok Diagram ATmega8535 2.2.3.2 Konfigurasi pin-pin ATmega8535 o VCC Sebagai tegangan penyuplai. o Ground Sebagai ground. o Port A(PA7..PA0) Port A dapat digunakan sebagai input analog ke Analog to Digital konverter. Port A juga sebagai 8-bit bi-directional port Input/Output, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor-resistor internal pull-up. Ketika port PA0PA7 digunakan sebagai port I/O dan pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tristate ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.

o

Port B (PB 7..PB 0) Port B adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port B mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.

o

o

Gambar 2.10 IC ATmega8535 Port C (PC7..PC0) Port C adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull-up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset. Port D (PD 7..PD 0)

o o o o

Port D adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port D mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Reset Input Reset, pulsa akan menjadi minimum sekalipun clock bekerja. XTAL1 Input ke Inverting Oscillator Amplifier. XTAL2 Output dari Inverting Oscillator Amplifier. AREF AREF adalah referensi analog ke A/D converter.

2.2.3.3 Program Memori Flash Memori ATmega8535 memiliki 16K byte flash memori dengan lebar 16 atau 32 bit. Kapasitas memori itu sendiri terbagi manjadi dua bagian yaitu bagian boot program dan bagian aplikasi program Flash memori memiliki kemampuan mencapai 10.000 write dan erase.

Gambar 2.11 Peta Memori Flash

2.2.3.4 Port I/O Semua port-port AVR mempunyai Read-Modify- Write fungsional sebagai port-port I/O digital. Ini berarti bahwa arah dari pin port dapat diubah secara tidak disengaja dengan menggunakan instruksi SBI dan CBI. Aplikasi yang sama dengn pengubahan nilai drive atau enable/disable pada resistor-resistor pull-up. Masing-masing output penyangga memiliki karakateristik simetris drive yang sama keduanya memiliki kemampuan sink dan source yang tinggi. Driver pin cukup kuat sebagai pengarah tampilan led secara langsung. Semua pin-pin port memiliki resistor-resistor pull-up yang dapat dipilih dengan sebuah tegangan supply tahanan invariant. Semua pin-pin I/O memiliki pelindung diode keduanya Vcc dan Ground seperti pada gambar 2.12

Gambar 2.12 Resistor pull up

BAB III PERENCANAAN DAN PEMBUATAN SISTEMBab ini membahas perencanaan dan pembuatan plant simulasi dan sistem perangkat lunak yang merupakan pokok pembahasan dari Tugas Akhir. Dalam hal ini perangkat lunak digunakan untuk proses penjadwalan dan pada kontroler untuk menjalankan plant . 3.1 Metode pengerjaan Metode untuk mengerjakan sistem ini akan dijelaskan pada tiap sub bab. Yaitu blok diagram sistem, pembuatan maket rumah untuk plan, pembuatan perangkat lunak untuk penjadwalan pengendalian peralatan, dan perangkat pada mikrokontroler 3.1.1 Blok diagram sistem Metode pengerjaan proyek akhir ini adalah sebagai berikut :

PCAmbil *.txt Stylus pad disimpan Identifikasi tulisan

penjadwal anbandingkan Mikro kontroler Action Plant

jam

Gambar 3.1 blok diagram sistem

Data hasil identifikasi tulisan disimpan dalam bentuk schedule file *.txt. dari file ini diambil untuk diproses pada program penjadwalan. Program penjadwalan digunakan membandingkan apakah jam pada schedule sama dengan jam pada sistem. Bila sama maka beban dan status beban akan dikirim kekontroller untuk dijalankan ke plan. Bila tidak sistem akan menunggu sampai sama, baru menjalankan perintah dengan mengirimkan beban yang akan dikendalikan dan status kendalinya.

Flowchart kerja sistem adalah sebagai berikut:

Gambar 3.2 flowchart kerja sistem 3.1.2 Maket rumah untuk aksi plan Maket rumah untuk plan yang akan dibuat nantin adalah sebagai berikut:Kamar Anak garasi Ruang tamu

Keterangan : lampu Kipas angin

R.keluarga

k.mandi

Pompa air AC

dapur

R.makan

Kamar ortu

Gambar 3.3 maket rumah untuk aksi plant Beban yang akan dikendalikan berupa 8 buah lampu untuk setiap ruangnya yang disimulasikan dengan lampu LED. Demikian juga 2 buah AC yang berada dikamar orang tua dan kamar anak disimulasikan dengan LED. Motor untuk mensimulasikan Kipas Angin yang berada diruang tamu,

dan pompa air yang berada didapur. Jadi total beban simulasi adalah 10 buah LED dan 2 buah motor. 3.1.3 Perangkat lunak untuk penjadwalan Format file text untuk input program scheduling adalah sebagai berikut:

Gambar 3.4 contoh file text

Tiap baris file text scheduling terdiri dari 4 digit jam yang ditulis tanpa titik pembeda jam dengan menit, spasi, 2 digit beban control, spasi, status kendali beban (ON/OFF). Algoritma program penjadwalan

Gambar 3.5 perangkat lunak untuk penjadwalan

Gambar.3.6 Algoritma konversi notepad ke format array pada proses penjadwalan Algoritma untuk penjadwalan pada sistem ini adalah sebagai berikut: Input schedule berupa text file yang berisi Ambil schedule berupa text file, terdiri dari beberapa baris yang tiap barisnya berupa 11 digit data dengan format 4 digit pertama adalah waktu, spasi, beban kontrol (2 digit), spasi, kontrol beban (ON/OFF). Text file tersebut diambil, kemudian dibuka dan disimpan didalam Visual basic 6.0 dalam format Array yang beranggotakan : 4 digit untuk jam pengendalian, 2 digit berikutnya adalah beban yang akan dikendalikan, dan 1 digit terakhir untuk status kendali beban. Membuka schedule berupa file text dari Visual Basic dengan perintah : Open "d:\ coba.txt" For Input As #1 Mengkonversi schedule kedalam format Array dengan perintah : x = "(schedule *.txt)" Then a = Replace(x, "(schedule *.txt)", "1200011") jadwal(i).jam = Mid(data, 1, 4) => jam berupa 2digit jam dan 2 digit menit.

jadwal(i).beban = Mid(data, 5, 2) jadwal(i).status = Mid(data, 7, 1) ambil jam dan menit dari array dibandingkan dengan jam sistem ambil no beban dan status kendali bila antara jam perintah dengan jam sistem sesuai, maka data yang berupa no beban dan status dikirim ke kontroler untuk dijalankan ke plant. Bit 7-4 menunjukkan no LED mana yang akan dikontrol. Bit 3-0 menunjukkan status LED, yaitu : 0000 = OFF; 0001= ON. Bila tidak, maka akan menunggu sampai sesuai dengan jam sistem Bila masih ada schedule kembali ke langkah awal, bila tidak sistem selesai 3.1.4 Membuat program untuk mikrokontroler. Sistem kerja mikrokontroler: menerima data yang dikirimkan melalui RS232. menjalankan perintah pada plant kerja Perencanaan pada Perangkat Keras

3.1.5

rangkaian pada mikrokontroler

Atmega 8535

vcc 0.1uF 0.1uF 0.1uF Rx Tx

Max 232

Gambar 3.7 Rangkaian pada mikrokontroler

Output dari AVR ATmega8535 dihubungkan pada LED dan motor sebagai simulator beban kontrol. MAX232 sebagai interface yang digunakan untuk menghubungkan antara terminal data dari suatu peralatan dan peralatan komunikasi data yang menjalankan pertukaran data biner secara serial.

Sistem Minimum Atmega8535 Minimum system ini merupakan sistem kontrol dari keseluruhan system kerja (menggunakan tiga minimum sistem). Pada proyek akhir ini digunakan sistem minimum yang berbasis pada mikrokontroler ATmega18535, digunakan Atmega8535 karena bahasa pemrograman AVR tersebut adalah bahasa C yaitu bahasa pemrograman tingkat menengah (bahasa instruksi program mendekati bahasa manusia) sehingga lebih mudah untuk membuat atau menerapkan suatu algoritma program. Kelebihan lainnya adalah setiap pin dalam satu port dapat kita tentukan sebagai input atau output secara mudah karena didalamnya sudah dilengkapi fasilitas tersendiri untuk inisialisasi..

Gambar 3.8 Minimum Sistem Atmega8535 Mikrokontroler AVR ATmega8535 mempunyai 32 bit jalur I/O yang terbagi menjadi 4 port, yaitu portA, portB, portC dan portD, dan alokasi penggunaan port dijelaskan sebagai berikut : o Port A Port A merupakan port I/O 8 bit bi-directional yang masing-masing pinnya digunakan untuk menyalakan LED 1-8. Masing-masing pin dlm port ini juga memiliki fasilitas berupa resistor pull-up internal yang berguna untuk memberikan kondisi

yang tentu (tidak ngambang) pada saat dikonfigursikan sebagai input, tanpa harus memberikan pull-up eksternal. o Port B Sebgaimana penjelasan seperti Port A, Port B masingmasing portnya digunakan untuk penggerak data ke simulator LED ke 9&10, dan 2 motor sebagai simulator kipas angina dan pompa air. o Port C Port B merupakan port I/O 8 bit bi-directional yang masingmasing pinnya dikonfigursikan secara individual. Masing-masing pin dlm port ini juga memiliki fasilitas berupa resistor pull-up internal yang berguna untuk memberikan kondisi yang tentu (tidak ngambang) pada saat dikonfigursikan sebagai input, tanpa harus memberikan pull-up eksternal. Untuk mendukung alamat port ini terdapat tiga buah alamat mermori khusus yang digunakan untuk menangani fungsi dari port B. o Port D Sebagaimana Port B, Port D juga memiliki tiga buah lokasi memori yang berkitan dengan penggunanya sebaga port I/O. Memori tersebut yaitu PORTD, DDRD, dan PIND. Pada proyek akhir ini untuk pembagian port-port sebagai I/O dapat ditunjukkan pada tabel 3.1 berikut:Tabel 3.1 TabelPembagian port-port pada A VR ATmega8535

PORTPort A.0-7 Port B.0-1 Port B.2-3

KEPERLUANSebagai Output LED1-8 Sebagai Output LED9-10 Sebagai output motor

Halaman sengaja dikosongkan

BAB IV PENGUJIAN SISTEM DAN ANALISA 4.1 Pengujian Modul Atmega 8535 Pengujian dilakukan untuk mengetahui apakah sistem minimum bekerja dengan baik, maka diadakan pengetesan pada jalur-jalur port yang dimiliki oleh mikrokontroler Atmega 8535. Prosedur pengetesan : 1. Menghubungkan modul dengan perangkat rangkaian simulasi LED. 2. Membuka program yang akan dites, kemudian meng-compilenya. 3. Mendownload program ke dalam mikrokontroler Atmega8535 dengan menggunakan ISP downloader. Listing program menyalakan semua LED (set tiap port sebagai output). PORTA=PORTB=PORTC=PORTD=0xFF; Hasil yang diperoleh adalah LED pada port A,B,C,D aktif. Keadaan dapat diketahui dari hasil LED pada semua port dapat menyala sehingga bisa dipastikan modul dengan IC Atmega8535 yang baru bekerja degan baik. Berikut gambar hasil pengujian port pada modul AVR Atmega8535

Gambar 4.1 portA AVR Atmega 8535

Gambar 4.2 portB AVR Atmega 8535

Gambar 4.3 portC AVR Atmega 8535

Gambar 4.4 portD AVR Atmega 8535

4.2 Pengujian Sistem I (Menggunakan file *.txt) Pengujian pada sistem yang pertama terdiri dari beberapa langkah berikut : 1. Menguji program penjadwalan. Menyiapkan file text untuk simulasi hasil dari identifikasi huruf

Gambar 4.5 Bentuk notepad

2.

Program yang telah dibuat pada mikrosoft Visual Basic dicompile dan dijadikan file *.exe. bentuk tampilan dari form program adalah sebagai berikut:

Gambar 4.6 Form untuk program penjadwalan

Text pertama digunakan untuk menampilkan hasil open dari text file. Text kedua untuk menampilkan jam ketika penjadwalan harus dilakukan. Text ke-3 untuk menampilkan beban yang akan dikendalikan. Text ke empat digunakan untuk menampilkan status kendali beban. Command1 digunakan untuk memproses program penjadwalan mulai dari membuka text file, merubah formatnya dan menyimpan dalam array, membaca jam sistem, membandingkan jam sistem dengan waktu kontrol dari perintah, dan mengirimkan data berupa beban yang dikontrol dan status kendali, bila waktu kontrol telah sama dengan jam sistem. Command notepad baru untuk menutup notepad lama bila ingin mengganti dengan notepad yang baru. Alamat penyimpanan

notepad yang baru harus sama dengan alamat penyimpanan notepad yang lama. Command reset sistem untuk mengembalikan sistem kekeadaan sebelum diberi perintah dari progran penjadwalan. 3. Kemudian di RUN, dan diklik command1, program akan membuka file text yang telah dibuat dengan perintah Open "d:\dwi\KID\coba.txt" For Input As #1 While Not EOF(1) Line Input #1, b Text1(0).Text = Text1(0).Text & b & vbCrLf Wend Close #1 4. Bila waktu dari jadwal sesuai dengan jam sistem, maka di text akan menampilkan jam tersebut. Bersamaan dengan itu, komunikasi serial akan mengirimkan data untuk mengontrol beban yang dimaksud oleh sistem penjadwalan. Pada contoh saya menampilkan tiap menit untuk memudahkan pada pengamatan.

Gambar 4.7 Form penjadwalan ketika sesuai dengan jam sistem

Gambar 4.8 Form penjadwalan ketika sesuai dengan jam sistem

Gambar 4.9 Form penjadwalan ketika sesuai dengan jam sistem

5.

pengujian serial dengan mengirimkan data kekontroler dengan menggunakan perintah : MSComm1.Output yang telah tersedia pada visual Basic. Namun sebelumnya dilakukan pengaturan MSComm1 di-set disesuaikan komunikasi serial yang ada pada kontroler. Pada kontroler dibuat program untuk menerima data dari RS232 dan untuk menjalankan plan. Port A dan Port C diset sebagai output untuk menyalakan simulator mana yang dinyalakan.Tabel 4.1 Mengirimkan data melalui serial komunikasi RS232.

Data ke 1 2 3 4

String yang dikirimkan 010 11 A a

Status pengiriman Gagal dengan debug Gagal dengan debug Sukses, LED pada modul menyala Sukses, LED pada modul menyala

6.

7.

LED yang menyala sesuai dengan perintah dari Program Penjadwalan. Pada awalnya diset sebagai berikut Lampu 1 disimulasikan melalui Port A.0 Lampu 2 disimulasikan melalui Port A.1 Lampu 3 disimulasikan melalui Port A.2 Lampu 4 disimulasikan melalui Port A.3 Lampu 5 disimulasikan melalui Port A.4 Lampu 6 disimulasikan melalui Port A.5 Lampu 7 disimulasikan melalui Port A.6 Lampu 8 disimulasikan melalui Port A.7 AC 1 disimulasikan melalui Port B.0 AC 2 disimulasikan melalui Port B.1 Kipas angin disimulasikan melalui Port B.2 Pompa air disimulasikan melalui Port B.3 Setelah itu dilakukan pengamatan pada sisi output pada modul LED apakah pesan telah tersampaikan. Pada pengamatan hasil pada simulator LED, dilakukan 4 kali pengawasan..

Tabel 4.2 Pengujian 1. Dengan menggunakan IC ATmega8535 dan MAX232 rangkaian 1(merangkai sendiri) Data Beban Status Simulator yang Hasil ke dinyalakan 1 2 0 LED 2 Tidak menyala 2 11 1 Motor 1 Tidak berputar 3 10 1 LED 10 Tidak menyala 4 1 1 LED 1 Tidak menyala Data ke 1 2 3 4 Tabel 4.3. Pengujian 2. Kedua dengan mengganti IC Atmega8535. Beban Status Simulator yang Hasil dinyalakan 1 1 LED 1 Tidak menyala 2 1 LED 2 Tidak menyala 3 1 LED 3 Tidak menyala 4 1 LED 4 Tidak menyala Tabel 4.4. Pengujian 3. Mengganti MAX232 dan rangkaian serial

Dat a ke 1 2 3 4 Data ke 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Beban 1 2 3 4

Status 1 1 1 1

Simulator yang dinyalakan LED 1 LED 2 LED 3 LED 4

Hasil menyala menyala menyala menyala

Waktu (second) 0.4 0.52 0.66 0.49

Tabel 4.5. Pengujian 4. Modul AVR Atmega8535 jadi beban status Simulator yang Hasil Waktu dinyalakan (socond) 1 ON LED 1 menyala 0.16 2 ON LED 2 menyala 0.20 3 ON LED 3 menyala 0.15 4 ON LED 4 menyala 0.09 5 ON LED 5 menyala 0.10 6 ON LED 6 menyala 0.11 7 ON LED 7 menyala 0.12 8 ON LED 8 menyala 0.08 9 ON LED 9 menyala 0.07 10 ON LED 10 menyala 0.06 11 ON MOTOR1 menyala 0.05 1 OFF LED 1 menyala 0.04 10 OFF LED 10 menyala 0.05 6 OFF LED 6 menyala 0.04 7 OFF LED 7 menyala 0.03Tabel 4.6 pengujian ketepatan perintah dengan plan aksi Beban Status Kesesuaian pada jam beban status 1 ON 2 ON 3 ON 4 ON 1 OFF 4 OFF 5 ON 9 ON 10 ON 11 ON 6 ON 12 ON 7 ON

jam 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212

2213 2214

11 12

OFF OFF

X

X

X

8.

Pada modul pada plan akan terlihat sebagai berikut

gambar 4.10 Output pada modul LED 4.3 Pengujian Sistem II (Menggunakan input dari VB tanpa integrasi dari file*.txt) Sistem kedua ini dibuat karena program penjadwalan pada sistem 1 tidak bisa di-integrasikan dengan program identifikasi tulisan tangan. Input dari sistem kedua dimasukkan langsung dari PC pada saat running program penjadwalan. Pengujian pada sistem kedua tidak dibutuhkan file Text. Pengujiannya adalah sebagai berikut: 1. Program yang telah dibuat pada mikrosoft Visual Basic dicompile dan dijadikan file *.exe. Input jam untuk waktu kendali diisikan dari manual langsung pada form dengan mengisi 4 digit angka. Misal 1240, berarti waktu kontrol untuk untuk instruksi pertama adalah pukul 12.40. Beban yang akan dikendalikan dipilih melaui combo list beban. Demikian pula status kendali beban. Bentuk tampilan dari form program adalah sebagai berikut:

Gambar 4.11 Form program penjadwalan sistem 2

Gambar 4.12 Form program penjadwalan dengan input yang bisa dipilih langsung dari Form

Pada sistem ke-2, alat yang dikontrol bisa diketahui melalui combo list untuk beban. Demikian juga pada status kendalinya. Sebelum dikirim ke kontroller, perintah disimpan dulu dengan maksud diketahui peralatan apa saja yang akan dikendalikan. Keadaan tersebut dapat diketahui melalui list box peralatan yang akan dikendalikan. Perintah yang diberikan waktunya harus berurutan, dengan perintah yang lebih awal akan dilaksanakan terlebih dahulu. Karena program akan mendeteksi waktu terlebih dahulu, sebelum mengirimkan perintah kekontroler. Bila ada kesalahan perintah, pada list box beban kendali dapat dihapus dengan meng-klik list baru. Atau bila ingin kembali ke keadaan semula maka sistem dapat di-reset dengan meng-klik reset sistem. Waktu sekarang digunakan untuk melihat keadaan waktu yang berlaku pada sistem saat itu. 2. Pengujian serial RS232. Pengujian serial tidak dilakukan pada sistem kedua, karena dianggap sama dengan sistem pertama.

3.

Uji coba port AVR Atmega 8535 untuk mengetahui fungsi kerja dari masing-masing port yang digunakan. Dari semua pengujian didapatkan hasil sebagai berikut : Tabel 4.7 pengujian beban dengan sistem 2 Data Beban Status Simulator yang Hasil ke dinyalakan 1 1 ON LED 1 menyala 2 2 ON LED 2 menyala 3 3 ON LED 3 menyala 4 4 ON LED 4 menyala 5 5 ON LED 5 menyala 6 6 ON LED 6 menyala 7 7 ON LED 7 menyala 8 8 ON LED 8 menyala 9 9 ON LED 9 menyala 10 10 ON LED 10 menyala 11 11 ON Motor 1 menyala 12 12 ON Motor 2 menyala 13 1 OFF LED 1 menyala 14 2 OFF LED 2 menyala 15 3 OFF LED 3 menyala 16 4 OFF LED 4 menyala 17 5 OFF LED 5 menyala 18 6 OFF LED 6 menyala 19 7 OFF LED 7 menyala 20 8 OFF LED 8 menyala 21 9 OFF LED 9 menyala 22 10 OFF LED 10 menyala 23 11 OFF Motor 1 menyala 24 12 OFF Motor 2 menyala 25 all ON Semua menyala 26 all OFF Semua menyala Dari data diatas diketahui bahwa semua port telah berfungsi 100% dan tidak ada kerusakan beban yang digunakan pada plan aksi. 4. Uji coba ke plant. Uji coba ke plant, dilakukan sebagai berikut :

Gambar 4.13 Form Penjadwalan untuk uji coba

Ketika program dijalankan dimasukkan beban, kemudian disimpan dan di kirim ke AVR. Pada plan kerja akan terlihat sebagai berikut :

Gambar 4.14 Aksi pada plan

Saat RUN sistem, ingin memasukkan perintah baru tanpa mematikan perangkat lama dengan cara sebagai berikut:

Gambar 4.15 Form Penjadwalan pengujian List Baru

5.

Keadaan plan ketika di-klik command list baru tetap seperti sebelumnya, karena pada command ini hanya dikerjakan proses untuk menghapus perintah lama saja. Private Sub Command5_Click() List1.Clear Text1(0).Text = deleted End Sub Command reset sistem digunakan untuk mengembalikan keaadan seperti keadaan awal, yaitu dimana kondisi semua beban pada kondisi OFF

Gambar4.16 plan saat semua dinyalakan bersamaan pada 1 waktu kendali

Gambar4.17 plan saat di-reset sistem

6.

Sistem dapat menyalakan atau mematikan semua beban dalam waktu bersamaan. Atau menyalakan 1 beban bersamaan dengan mematikan beban lain.

Gambar 4.18 kondisi plan saat menyalakan beberapa beban

Gambar 4.19 kondisi plan saat mematikan beban 1 bersamaan dengan menyalakan beban lain.

7.

Dari beberapa kali pengujian didapatkan hasil kesesuaian perintah pada program penjadwalan dengan aksi pada plan adalah sebagai berikut :

Tabel 4.8 Pengujian ketepatan perintah dengan plan aksi jam Beban Status Kesesuaian pada jam beban status 2200 1 ON 2201 2 ON 2202 3 ON 2203 4 ON 2204 1 OFF 2205 4 OFF 2206 5 ON 2207 9 ON 2208 10 ON 2209 11 ON 2210 6 ON 2211 12 ON 2212 7 ON 2213 11 OFF 2214 12 OFF

Waktu yang dibutuhkan dalam sekali pengiriman data menuju ke modul adalah 0.028 second. Rata-rata tersebut diperoleh dari pengujian pada maket dihasilkan data sebagai berikut tabel 4.9 Tabel waktu yang dibutuhkan untuk pengiriman data palan kerja Data beban status Simulator yang Hasil Waktu ke dinyalakan (socond) 1 1 ON LED 1 menyala 0.11 2 2 ON LED 2 menyala 0.10 3 3 ON LED 3 menyala 0.01 4 4 ON LED 4 menyala 0.01 5 5 ON LED 5 menyala 0.01 6 6 ON LED 6 menyala 0.02 7 7 ON LED 7 menyala 0.022 8 8 ON LED 8 menyala 0.015 9 9 ON LED 9 menyala 0.01 10 10 ON LED 10 menyala 0.033 11 11 ON MOTOR1 menyala 0.04 12 1 OFF LED 1 menyala 0.01 13 10 OFF LED 10 menyala 0.01 14 6 OFF LED 6 menyala 0.01 15 7 OFF LED 7 menyala 0.01

8.

4.4 ANALISA 1. Pembacaan dan pengambilan data berupa text file dapat dilaksanakan dengan menggunakan perintah pada Visual Basic sebagai berikut: Open "d:\dwi\KID\coba.txt" For Input As #1 While Not EOF(1) Line Input #1, b Text1(0).Text = Text1(0).Text & b & vbCrLf Wend Close #1 Pada bagian "d:\dwi\KID\coba.txt", harus disesuaikan dengan dimana letak penyimpanan file text hasil identifikasi tulisan tangan. 2. Pada proses pengiriman data, digunakan perintah: MSComm1.output=data, data berisi perintah untuk mengontrol beban yang disimulasikan menggunakan LED. Sebelum mengirimkan data komunikasi serial harus diinisialisaikan dengan memberi perintah MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" MSComm1.PortOpen = True Dengan demikian diketahui port serial yang dipakai adalah port 1, dengan boudrate 9600, no parity, sebesar 8 bit data, 1 stop bit. Kesalahn pengiriman data bisa disebabkan kesalahan pada rangkaian serial komunikasi, atau output dari port AVR tidak mencapai normal, atau kurang dari 5 volt. Pengujian rangkaian serial, dengan mengirimkan kembali data transmitter ke receiver. Bila hasilnya sama berarti rangkaian serial berfungsi dengan baik. Bila tidak sesuai ada kemungkinan terjadi kesalahan pada komunikasi serial. 3. Setelah pengujian ke-2 diketahui bahwa ada ketidaksesuaian output dari MAX232. Mungkin ada kesalahan pada rangkaian MAX232, atau pada serial komunikasinya. Hal ini juga bisa mengakibatkan tidak sampainya perintah kekontroler. Namun setelah diganti dengan modul yang baru pada pengamatan ke-4 secara keseluruhan data yang keluar sesuai dengan perintah yang diberikan. Jadi ada kemungkinan kesalahan sambungan rangkaian pada modul buatan sendiri. 4. Mengirimkan data melalui RS232 berupa string 2 digit, tetapi gagal. Hal ini dapat dilihat LED yang dimaksud tidak

5.

6.

menyala ketika diset menyala, dan terdapat debug kesalahan program pada form Visual Basic. Variable pengiriman data diubah menjadi 1 digit, dan dilakukan pengiriman ulang. Dan LED indicator menyala ketika dikirim perintah untuk menyala, dan mati ketika diberi perintah mati. Pada sistem 2 input berasal dari program penjadwalan sendiri. Beban yang dikontrol pada sistem 2 sama dengan beban pada sistem 1. Pada sistem ke-2, alat yang dikontrol bisa diketahui melalui combo list untuk beban. Demikian juga pada status kendalinya. Jam sebagai waktu kendali diisikan manual pada saat running program. Cara menuliskan format jam adalah menuliskan 4 digit angka pada text yang telah disediakan tanpa titik pemisah jam dan menit. Sebelum dikirim ke kontroller, perintah disimpan dulu dengan maksud diketahui peralatan apa saja yang akan dikendalikan. Keadaan tersebut dapat diketahui melalui list box peralatan yang akan dikendalikan. Perintah yang diberikan waktunya harus berurutan, dengan perintah yang lebih awal akan dilaksanakan terlebih dahulu. Karena program akan mendeteksi waktu terlebih dahulu, sebelum mengirimkan perintah kekontroler. Bila ada kesalahan perintah, pada list box beban kendali dapat dihapus dengan meng-klik list baru. Atau bila ingin kembali ke keadaan semula maka sistem dapat di-reset dengan meng-klik reset sistem. Waktu sekarang digunakan untuk melihat keadaan waktu yang berlaku pada sistem saat itu. Sistem yang kedua digunakan apabila sistem identifikasi tulisan tangan tidak dapat menghasilkan file *.txt. Dengan kata lain sistem ke-2 digunakan apabila program penjadwalan tidak bisa di integrasikan dengan sistem identifikasi tulisan tangandari stylus pad. LED yang menyala sesuai dengan perintah dari Program Penjadwalan. Pada awalnya diset sebagai berikut Lampu 1 disimulasikan melalui Port A.0 Lampu 2 disimulasikan melalui Port A.1 Lampu 3 disimulasikan melalui Port A.2 Lampu 4 disimulasikan melalui Port A.3 Lampu 5 disimulasikan melalui Port A.4 Lampu 6 disimulasikan melalui Port A.5 Lampu 7 disimulasikan melalui Port A.6 Lampu 8 disimulasikan melalui Port A.7 AC 1 disimulasikan melalui Port C.0

7.

AC 2 disimulasikan melalui Port C.1 Kipas angin disimulasikan melalui Port C.2 Pompa air disimulasikan melalui Port C.3 Waktu yang dibutuhkan dalam sekali pengiriman data menuju ke modul adalah 0.144 second untuk sistem 1 dan 0.028 untuk sistem 2. hal ini karena ada perbaikan keadaan rangkaian driver pada sistem 2.

Halaman sengaja dikosongkan

BAB V PENUTUP 1. Kesimpulan Dari hasil percobaan dikaitkan dengan permasalahan dan tujuan yang dilakukan secara umum, maka dapat diambil kesimpulan sebagai berikut : 1. Ketidak sesuaian output port AVR Atmega8535 dengan data yang dikirim dari program penjadwalan disebabkan kesalahan pada rangkaian serial komunikasi, sehingga data tidak sampai pada controller. Selain itu, output dari port AVR Atmega8535 tidak mencapai normal (kurang dari 5 volt). 2. Komunikasi serial yang digunakan pada sistem proyek ini telah berfungsi 100%. 3. Output pada plan aksi telah sesuai perintah scheduling dengan tingkat akurasi pada sistem 1 98% dan pada sistem 2 100%. 4. Waktu yang dibutuhkan dalam sekali pengiriman data menuju ke modul adalah 0.144 second untuk sistem 1 dan 0.028 untuk sistem 2. 5. Kelemahan dari sistem ini, sistem masih dikendalikan oleh PC, sehingga penghematan daya listrik yang digunakan belum tercapai. Hasil identifikasi tulisan tangan juga belum sesuai dengan data input program penjadwalan, sehingga sistem tidak berjalan sebagaimana yang diharapkan. Saran Saran yang bisa penulis berikan adalah : 1. Pada pembuatan sistem ini , sistem masih dikendalikan oleh PC, sehingga penghematan daya listrik yang digunakan belum tercapai. Diharapkan untuk pengembangan Proyek ini program penjadwalan dapat dilakukan pada mikrokontroler dengan ditambahkan pula jam sisterm pada kontroler. Bila hanya digunakan kontroler saja untuk pengendalian peralatan, penghematan daya listrik yang digunakan dapat tercapai. 2. Selain itu, penyempurnaan sistem identifikasi tulisan tangan juga perlu dilakukan supaya dapat di-integrasikan dengan program penjadwalan.

2.

3.

Output dari system untuk mengendalikan peralatan rumah tangga hanya disimulasikan pada LED dan motor. Jadi, peralatan yang dikendalikan hanya disimulasikan. Hal ini dapat dikembangkan dengan mengotrol beban peralatan rumah tangga yang sebenarnya pada proyek selanjutnya. Misal lampu, kipas angin, AC, dan pompa air. Dan untuk itu dibutuhkan rangkaian driver yang sesuai dengan beban.

DAFTAR PUSTAKA [1] Harry O,Modul Praktikum Embedded, PENS-ITS,2006 [2] Kusuma. Angga, Pengaturan Peralatan Rumah TanggaBerbasis WEB dan WAP Menggunakan Mikrokontroller 89C51,(software), Tugas Akhir, 2003

[3] Maimanah. Fibri, Pengaturan Peralatan Rumah TanggaBerbasis WEB dan WAP Menggunakan Mikrokontroller 89C51(Hardware), Tugas Akhir, 2003

[4] Manual book DataSheet mikrokontroler AVR Atmega 8535 [5] Razaq. Abdul, Belajar Praktis Pemrograman MicrosoftVisual Basic 6.0, Surabaya: penerbit Indah (anggota IKAPI),2004.

[6] Susetyoko. R, W. Inu Laksito, dan Wahyuningsih. Nuri(2006), Implementasi Bimodal Principal Components Analysis (BiPCA) Dari Hasil Bootstrap Resampling Untuk Identifikasi Tulisan Tangan, seminar Tesis jurusan matematika FMIPA-ITS,

[7] Tooley. Mike, Rangkaian Elektronika Prinsip dan Aplikasi,Jakarta : Erlangga, 2003, Hal 180-194.

[8] Trirezeki. Dyah Dewi, Rancang Bangun ON/OFFPeralatan Rumah Tangga Via SMS, Tugas Akhir, 2003

[9] Utami. Sri, Deddy W, Sistem Pengendalian PeralatanRumah Tangga Jarak Jauh dengan menggunakan Pengenalan wicara, Tugas Akhir, 2005.

[10] ----,

biometrika

One

Hundred

Years

:

www.wikipedia.com

[11] ----, penggunaan biometrika dalam dunia kerja :www.indonetwork.co.id

Lampiran-lampiranListing program scheduling system 1Public Type tjadwal jam As String beban As Byte status As Boolean End Type Private Sub Command1_Click() Dim Sam, h, i, j, awal, akhir, x As Integer Dim data, a, b, F1, F2, dwi, dwi2, dwi3, dwi4, wima, d As String Dim jam, mnt, waktu As String Dim jadwal(10) As tjadwal Open "e:\coba.txt" For Input As #1 While Not EOF(1) Line Input #1, b Text1(0).Text = Text1(0).Text & b & vbCrLf Wend Close #1 '----------mengubah keformat JJMMNS-----------b = Text1(0).Text If InStr(b, " ") Then b = Replace(b, " ", "") If InStr(b, vbCrLf) Then dwi = Replace(b, vbCrLf, Chr$(124)) i=0 dwi2 = Len(dwi) For h = 0 To dwi2 i=i+1 dwi4 = Left(dwi, i) If (InStr(dwi4, "|")) Then Sam = i dwi3 = Left(dwi, Sam - 1) F1 = Cnv(Mid(dwi3, 5, 2)) If InStr(7, dwi3, "ON") Then F2 = Cnv(Mid(dwi3, 7, 2)) ElseIf InStr(7, dwi3, "OFF") Then F2 = Cnv(Mid(dwi3, 7, 3))

End If d = d & Left(dwi, 4) & F1 & F2 & Chr$(124) 'Text1(1).Text = d dwi = Right(dwi, Len(dwi) - Sam) dwi3 = "" i=0 End If Next h '----------penjadwalan--------awal = 1 i=0 For k = 0 To 4 akhir = InStr(awal, d, Chr$(124)) data = Mid(d, awal, akhir - awal) jadwal(i).jam = Mid(data, 1, 4) If Mid(data, 7, 1) = 1 Then jadwal(i).status = True If Mid(data, 7, 1) = 0 Then jadwal(i).status = False Do DoEvents mnt = Minute(Now) If Len(Minute(Now)) = 1 Then mnt = "0" & Minute(Now) jam = Hour(Now) If Len(Hour(Now)) = 1 Then jam = "0" & Hour(Now) waktu = jam & mnt Loop Until waktu = jadwal(i).jam Text1(1).Text = jadwal(i).jam Text1(2).Text = jadwal(i).beban Text1(4).Text = jadwal(i).status 'send ke us pake RS232 MSComm1.PortOpen = True If (jadwal(i).beban = "01" And jadwal(i).status = True) Then MSComm1.Output = "A" End If If (jadwal(i).beban = "01" And jadwal(i).status = False) Then

'

MSComm1.Output = "B" End If If (jadwal(i).beban = "02" And jadwal(i).status = True) Then MSComm1.Output = "C" End If If (jadwal(i).beban = "02" And jadwal(i).status = False) Then MSComm1.Output = "D" End If If (jadwal(i).beban = "03" And jadwal(i).status = True) Then MSComm1.Output = "E" End If If (jadwal(i).beban = "03" And jadwal(i).status = False) Then MSComm1.Output = "F" End If If (jadwal(i).beban = "04" And jadwal(i).status = True) Then MSComm1.Output = "G" End If If (jadwal(i).beban = "04" And jadwal(i).status = False) Then MSComm1.Output = "H" End If If (jadwal(i).beban = "05" And jadwal(i).status = True) Then MSComm1.Output = "I" End If If (jadwal(i).beban = "05" And jadwal(i).status = False) Then MSComm1.Output = "J" End If If (jadwal(i).beban = "06" And jadwal(i).status = True) Then MSComm1.Output = "K" End If If (jadwal(i).beban = "06" And jadwal(i).status = False) Then MSComm1.Output = "L" End If If (jadwal(i).beban = "08" And jadwal(i).status = True) Then MSComm1.Output = "M" End If If (jadwal(i).beban = "08" And jadwal(i).status = False) Then MSComm1.Output = "N" End If If (jadwal(i).beban = "07" And jadwal(i).status = True) Then MSComm1.Output = "O" End If If (jadwal(i).beban = "07" And jadwal(i).status = False) Then

MSComm1.Output = "P" End If If (jadwal(i).beban = "09" And jadwal(i).status = True) Then MSComm1.Output = "Q" End If If (jadwal(i).beban = "09" And jadwal(i).status = False) Then MSComm1.Output = "R" End If If (jadwal(i).beban = "10" And jadwal(i).status = True) Then MSComm1.Output = "S" End If If (jadwal(i).beban = "10" And jadwal(i).status = False) Then MSComm1.Output = "T" End If If (jadwal(i).beban = "11" And jadwal(i).status = True) Then MSComm1.Output = "U" End If If (jadwal(i).beban = "11" And jadwal(i).status = False) Then MSComm1.Output = "V" End If If (jadwal(i).beban = "12" And jadwal(i).status = True) Then MSComm1.Output = "W" End If If (jadwal(i).beban = "12" And jadwal(i).status = False) Then MSComm1.Output = "X" End If If (jadwal(i).beban = "13" And jadwal(i).status = True) Then MSComm1.Output = "Y" End If If (jadwal(i).beban = "13" And jadwal(i).status = False) Then MSComm1.Output = "Z" End If MSComm1.PortOpen = False awal = akhir + 1 Next k End Sub '----------conversi------------Function Cnv(x As String) As String Dim a As String 'lampu If x = "L1" Then

a = Replace(x, "L1", "01") ElseIf x = "L2" Then a = Replace(x, "L2", "02") ElseIf x = "L3" Then a = Replace(x, "L3", "03") ElseIf x = "L4" Then a = Replace(x, "L4", "04") ElseIf x = "L5" Then a = Replace(x, "L5", "05") ElseIf x = "L6" Then a = Replace(x, "L6", "06") ElseIf x = "L7" Then a = Replace(x, "L7", "07") ElseIf x = "L8" Then a = Replace(x, "L8", "08") 'bwt AC ElseIf x = "A1" Then a = Replace(x, "A1", "09") ElseIf x = "A2" Then a = Replace(x, "A2", "10") 'bwt kipas ElseIf x = "KA" Then a = Replace(x, "KA", "11") 'bwt pompa ElseIf x = "PA" Then a = Replace(x, "PA", "12") 'status ElseIf x = "ON" Then a = Replace(x, "ON", "1") ElseIf x = "OFF" Then a = Replace(x, "OFF", "0") End If Cnv = a End Function Private Sub Command2_Click() End End Sub Private Sub Command3_Click() MSComm1.PortOpen = True Text1(0).Text = deleted

MSComm1.Output = "Z" MSComm1.PortOpen = False End Sub Private Sub Command4_Click() Text1(0).Text = deleted End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" End Sub Private Sub Timer1_Timer() Text1(3).Text = Time End Sub

Listing Program Scheduling system 2Private Sub Command1_Click() Dim sam, h, i, j, awal, akhir As Integer Dim data, a, b, c, d, F1, F2, dwi, dwi2, dwi3, dwi4, x As String Dim jam, mnt, waktu As String Dim jadwal(10) As tjadwal b = Text1(0).Text If InStr(b, " ") Then b = Replace(b, " ", "") If InStr(b, vbCrLf) Then dwi = Replace(b, vbCrLf, Chr$(124)) i=0 dwi2 = Len(dwi) For h = 0 To dwi2 i=i+1 dwi4 = Left(dwi, i) If (InStr(dwi4, "|")) Then sam = i dwi3 = Left(dwi, sam - 1) F1 = CnV(Mid(dwi3, 5, 2)) If InStr(7, dwi3, "ON") Then F2 = CnV(Mid(dwi3, 7, 2))

ElseIf InStr(7, dwi3, "OFF") Then F2 = CnV(Mid(dwi3, 7, 3)) End If d = d & Left(dwi, 4) & F1 & F2 & Chr$(124) 'Text1(1).Text = d dwi = Right(dwi, Len(dwi) - sam) dwi3 = "" i=0 End If Next h '----------penjadwalan--------awal = 1 i=0 For k = 0 To (Val(List1.ListCount) - 1) akhir = InStr(awal, d, Chr$(124)) data = Mid(d, awal, akhir - awal) jadwal(i).jam = Mid(data, 1, 4) jadwal(i).beban = Mid(data, 5, 2) If Mid(data, 7, 1) = 1 Then jadwal(i).status = True If Mid(data, 7, 1) = 0 Then jadwal(i).status = False Do DoEvents mnt = Minute(Now) If Len(Minute(Now)) = 1 Then mnt = "0" & Minute(Now) jam = Hour(Now) If Len(Hour(Now)) = 1 Then jam = "0" & Hour(Now) '=================== waktu = jam & mnt Loop Until waktu = jadwal(i).jam 'send ke us pake RS232 MSComm1.PortOpen = True If (jadwal(i).beban = "01" And jadwal(i).status = True) Then MSComm1.Output = "A" End If If (jadwal(i).beban = "01" And jadwal(i).status = False) Then MSComm1.Output = "B" End If

If (jadwal(i).beban = "02" And jadwal(i).status = True) Then MSComm1.Output = "C" End If If (jadwal(i).beban = "02" And jadwal(i).status = False) Then MSComm1.Output = "D" End If If (jadwal(i).beban = "03" And jadwal(i).status = True) Then MSComm1.Output = "E" End If If (jadwal(i).beban = "03" And jadwal(i).status = False) Then MSComm1.Output = "F" End If If (jadwal(i).beban = "04" And jadwal(i).status = True) Then MSComm1.Output = "G" End If If (jadwal(i).beban = "04" And jadwal(i).status = False) Then MSComm1.Output = "H" End If If (jadwal(i).beban = "05" And jadwal(i).status = True) Then MSComm1.Output = "I" End If If (jadwal(i).beban = "05" And jadwal(i).status = False) Then MSComm1.Output = "J" End If If (jadwal(i).beban = "06" And jadwal(i).status = True) Then MSComm1.Output = "K" End If If (jadwal(i).beban = "06" And jadwal(i).status = False) Then MSComm1.Output = "L" End If If (jadwal(i).beban = "08" And jadwal(i).status = True) Then MSComm1.Output = "M" End If If (jadwal(i).beban = "08" And jadwal(i).status = False) Then MSComm1.Output = "N" End If If (jadwal(i).beban = "07" And jadwal(i).status = True) Then MSComm1.Output = "O" End If If (jadwal(i).beban = "07" And jadwal(i).status = False) Then MSComm1.Output = "P" End If

If (jadwal(i).beban = "09" And jadwal(i).status = True) Then MSComm1.Output = "Q" End If If (jadwal(i).beban = "09" And jadwal(i).status = False) Then MSComm1.Output = "R" End If If (jadwal(i).beban = "10" And jadwal(i).status = True) Then MSComm1.Output = "S" End If If (jadwal(i).beban = "10" And jadwal(i).status = False) Then MSComm1.Output = "T" End If If (jadwal(i).beban = "11" And jadwal(i).status = True) Then MSComm1.Output = "U" End If If (jadwal(i).beban = "11" And jadwal(i).status = False) Then MSComm1.Output = "V" End If If (jadwal(i).beban = "12" And jadwal(i).status = True) Then MSComm1.Output = "W" End If If (jadwal(i).beban = "12" And jadwal(i).status = False) Then MSComm1.Output = "X" End If If (jadwal(i).beban = "13" And jadwal(i).status = True) Then MSComm1.Output = "Y" End If If (jadwal(i).beban = "13" And jadwal(i).status = False) Then MSComm1.Output = "Z" End If MSComm1.PortOpen = False awal = akhir + 1 Next k End Sub '----------conversi------------Function CnV(x As String) As String Dim a As String 'lampu If x = "L1" Then a = Replace(x, "L1", "01") ElseIf x = "L2" Then

a = Replace(x, "L2", "02") ElseIf x = "L3" Then a = Replace(x, "L3", "03") ElseIf x = "L4" Then a = Replace(x, "L4", "04") ElseIf x = "L5" Then a = Replace(x, "L5", "05") ElseIf x = "L6" Then a = Replace(x, "L6", "06") ElseIf x = "L7" Then a = Replace(x, "L7", "07") ElseIf x = "L8" Then a = Replace(x, "L8", "08") 'bwt AC ElseIf x = "A1" Then a = Replace(x, "A1", "09") ElseIf x = "A2" Then a = Replace(x, "A2", "10") 'bwt kipas ElseIf x = "KA" Then a = Replace(x, "KA", "11") 'bwt pompa ElseIf x = "PA" Then a = Replace(x, "PA", "12") ElseIf x = "AL" Then a = Replace(x, "AL", "13") 'status ElseIf x = "ON" Then a = Replace(x, "ON", "1") ElseIf x = "OFF" Then a = Replace(x, "OFF", "0") End If CnV = a End Function Private Sub Command2_Click() End End Sub Private Sub Command3_Click() Dim a, c As String

x = Text1(1).Text & " " & Combo1 & " " & Combo2 List1.AddItem x a = Combo1 If (a = "Lampu R.Tamu") Then a = Replace(a, "Lampu R.Tamu", "L1") ElseIf (a = "Lampu Kamar 1") Then a = Replace(a, "Lampu Kamar 1", "L2") ElseIf (a = "Lampu Kamar 2") Then a = Replace(a, "Lampu Kamar 2", "L3") ElseIf (a = "Lampu Kamar Mandi") Then a = Replace(a, "Lampu Kamar Mandi", "L4") ElseIf (a = "Lampu R.Makan") Then a = Replace(a, "Lampu R.Makan", "L5") ElseIf (a = "Lampu R.Keluarga") Then a = Replace(a, "Lampu R.Keluarga", "L6") ElseIf (a = "Lampu Dapur") Then a = Replace(a, "Lampu Dapur", "L7") ElseIf (a = "Lampu Garasi") Then a = Replace(a, "Lampu Garasi", "L8") ElseIf (a = "AC kamar 1") Then a = Replace(a, "AC kamar 1", "A1") ElseIf (a = "AC kamar 2") Then a = Replace(a, "AC kamar 2", "A2") ElseIf (a = "Kipas angin R.Tamu") Then a = Replace(a, "Kipas angin R.Tamu", "KA") ElseIf (a = "Pompa Air") Then a = Replace(a, "Pompa Air", "PA") ElseIf (a = "all") Then a = Replace(a, "all", "AL") End If c = Text1(1).Text & " " & a & " " & Combo2 & vbCrLf Text1(0).Text = Text1(0).Text & c End Sub Private Sub Command4_Click() MSComm1.PortOpen = True List1.Clear Text1(0).Text = deleted MSComm1.Output = "Z"

MSComm1.PortOpen = False End Sub Private Sub Command5_Click() List1.Clear Text1(0).Text = deleted End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" End Sub Private Sub Timer1_Timer() Text1(3).Text = Time End Sub

Listing Program pada AVR Atmega8535/********************************************* This program was produced by the CodeWizardAVR V1.24.0 Standard Automatic Program Generator Copyright 1998-2003 HP InfoTech s.r.l. http://www.hpinfotech.ro e-mail:[email protected] Project : Version : Date : 1/24/2002 Author : Embedded Company : Comments: Chip type : ATmega8535 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 128 *********************************************/

#include #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