BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Dalam perancangan robot pengantar makanan berbasis mikrokontroler ini, terdapat beberapa masalah yang harus dipecahkan. Permasalahan-permasalahan tersebut antara lain : 1.
Sistem Mekanik Alat Dalam merancang mekanik robot pengantar makanan ini merupakan suatu hal yang cukup sulit, karena dalam perakitannya membutuhkan pola imajinasi yang tepat dalam membangun sistem mekanik alat, diantaranya pengukuran besar robot, pemilihan bahan pembuat robot, perancangan dan peletakannya, maupun proses perakitan secara keseluruhan.
2. Sistem Kerja Sistem kerja pada robot pengantar makanan ini harus dapat berjalan secara otomatis, dimana robot akan bergerak ke meja pelanggan setelah operator memilih meja makanan pada komputer. Oleh karena itu, komunikasi antara robot dengan komputer harus berjalan dengan baik dan secara wireless.
III.2. Strategi Pemecahan Masalah Karena terdapat beberapa permasalahan yang terjadi dalam perancangan robot pengantar makanan berbasis mikrokontroler, untuk itu dibutuhkan solusi atau pemecahan masalah, antara lain:
29
30
1.
Dengan adanya permasalahan pada sisitem mekanik, penulis harus teliti dalam memilih bahan, merancang serta proses perakitan agar berfungsi sesuai dengan kebutuhan pada sistem yang dibangun. Dalam hal pemilihan bahan, penulis memilih bahan untuk membuat robot dari bahan acrilyc, serta menggunakan motor dc untuk penggerak robot sehingga memudahkan dalam proses perancangan atau perakitan mekaniknya.
2.
Untuk sistem kerja, maka penulis menggunakan garis yang menuju ke masing-masing meja pelanggan sebagai jalur atau lintasan dari robot. Kemudian penulis juga menggunakan Bluetooth sebagai media komunikasi antara robot dengan computer sehingga komunikasi dapat dilakukan secara wireless.
III.3. Identifikasi Kebutuhan Adapun identifikasi kebutuhan dari perancangan robot pengantar makanan berbasis mikrokontroler ATMega8535 yang akan dirancang yaitu analisis kebutuhan hardware, analisis kebutuhan software dan analisis kebutuhan desain.
III.3.1 Kebutuhan Perangkat Keras (Hardware) Dalam perancangan robot pengantar makanan berbasis mikrokontroler ATMega8535, menggunakan perangkat keras (hardware) yang mempunyai spesifikasi sebagai berikut: 1. Processor 2.30 GHz 2. Harddisk : 320 GB
31
3. RAM : 1 GB 4. Keyboard dan Mouse
III.3.2 Kebutuhan Perangkat Lunak (Software) Untuk merancang alat sisem keamanan parkir, dibutuhkan perangkat lunak (software) sebagai berikut: 1. Sistem Operasi Windows XP/7. 2. Visual Basic.Net berfungsi menuliskan kode-kode program dan mendesain interface dari komputer. 3. CodeVision AVR, berfungsi untuk menuliskan coding/script yang menggunakan bahasa C. 4. AVR Dude, berfungsi sebagai program untuk mendownload kode hexa ke mikrokontroller.
III.3.3 Kebutuhan Desain Adapun kebutuhan perangkat yang digunakan untuk mendesain alat robot pengantar makanan antara lain : 1.
Minimum System Mikrokontroller ATMega8535
2.
Miniatur robot pengantar makanan
3.
Motor DC.
4.
LCD (Liquid Crystal Display).
5.
Bluetooth
6.
Fotodioda dan Infrared sebagai sensor
32
7.
Papan PCB (Printed Circuit Board).
8.
Beberapa mur dan baut.
9.
Lem perekat.
III.4. Perancangan Hardware Perancangan robot pengantar makanan ini dibagi atas dua bagian yaitu perancangan secara hardware dan software. Perancangan hardware dapat diawali dengan membuat diagram blok sistem. Dimana tiap-tiap blok saling berhubungan antara yang satu dengan yang lainnya. Diagram blok memiliki beberapa fungsi yakni : menjelaskan cara kerja suatu sistem secara sederhana, menganalisa cara kerja rangkaian, mempermudah memeriksa kesalahan suatu sistem yang dibangun.
III.4.1. Perancangan Diagram Blok Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar III.1: Sensor
Tombol
Mikrokontroler ATMega8535
Driver Motor DC
Bluetooth
Komputer
Motor DC
Gambar III.1. Diagram Blok Rangkaian
33
Penjelasan dan fungsi dari masing – masing blok adalah sebagai berikut: a.
Sensor : sensor berfungsi untuk membaca garis sebagai jalur atau lintasan robot menuju ke meja masing-masing pelanggan..
b.
Komputer : komputer berfungsi sebagai interface untuk menjalankan robot menuju meja pelanggan.
c.
Bluetooth : rangkaian ini berfungsi untuk komunikasi antara PC dan mikrokontroller secara wireless.
d.
Rangkaian Mikrokontroler ATMega8535: rangkaian ini berfungsi sebagai pengendali robot, diman rangkaian ini dapat menggerakkan motor dc, membaca data dari sensor, menerima data dari computer dan menampilkan karakter di LCD..
e.
LCD : LCD berfungsi sebagai media penampilan data yang diinginkan.
f. Driver Motor: rangkaian ini berfungsi sebagai pengendali arah dan kecepatan putaran motor DC g.
Motor DC : motor dc berfungsi sebagai penggerak robot untuk mengantar makanan ke meja pelanggan.
h.
Tombol : berfungsi sebagai media input yang digunakan ketika makanan sudah diterima pelanggan.
III.4.2. Perancangan Rangkaian Power Supply Rangkaian power supply yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt. Keluaran 5 volt ini digunakan untuk mensupply tegangan ke rangkaian mikrokontroler, rangkaian sensor dan rangkaian LCD.
Sedangkan
34
keluaran 12 volt digunakan untuk mensupply tegangan ke motor dc. Rangkaian power supply dapat dilihat seperti gambar berikut:
Gambar III.2. Skematik Rangkaian Power Supply Supply tegangan berasal dari baterai yang besar tegangannya berkisar 12 volt. Kemudian tegangan tersebut akan diratakan oleh kapasitor 470 μF. Regulator tegangan 5 volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila rangkaian power supply dinyalakan.
III.4.3. Perancangan Rangkaian Mikrokontroler ATMega8535 Rangkaian ini berfungsi untuk membaca nilai sensor, mengendalikan motor serta menampilkan karakter ke LCD. Komponen utama dari rangkaian ini adalah IC
mikrokontroler ATmega8535. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Dalam menjalankan chip IC mikrokontroler ATmega8535 memerlukan komponen elektronika pendukung lainnya. Suatu rangkaian yang paling sederhana dan minim komponen pendukungnya disebut sebagai suatu rangkaian sistem minimum. Sistem minimum ini berfungsi untuk membuat rangkaian mikrokontroller dapat bekerja,
35
jika ada komponen yang kurang, maka mikrokontroller tidak akan bekerja. Dalam perancangan alat ini, sistem minimum mikrokontroler ATmega8535 terdiri dari: 1. Chip IC mikrokontroler ATmega8535 2. Kristal 11.0592 MHz 3. Kapasitor 4. Resistor Rangkaian mikrokontroler ATmega8535 master ditunjukkan pada gambar III.3 berikut:
Gambar III.3. Skematik Rangkaian Mikrokontroller ATmega8535
36
Pada gambar III.3, pin 10 dihubungkan ke sumber tegangan 5 volt. Dan pin 11 dihubungkan ke ground. Rangkaian mikrokontroller ini menggunakan komponen kristal sebagai sumber clocknya yang dihubungkan ke pin 12 dan pin 13. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroller dalam mengeksekusi suatu perintah tertentu. Pada pin 9 dihubungkan dengan sebuah kapasitor dan sebuah resistor yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroller dijalankan beberapa saat setelah power aktif. Lamanya waktu antara aktifnya power pada IC mikrokontroler dan aktifnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Pada perancangan ini PORTB.0 sampai dengan PORTB.5 dihubungkan dengan rangkaian driver motor, dimana rangkaian driver motor ini akan mengendalikan pergerakan serta kecepatan motor DC saat robot berjalan. PINB.6 dan PINB.7 dihibungkan ke tombol, dimana tombol ini berfungsi sebagai input untuk kalibrasi sensor dan untuk inputan sebagai tanda bahwa makanan sudah diterima oleh pelanggan. PORTA dihubungkan ke rangkaian sensor dimana rangkaian sensor ini berfungsi untuk membedakan warna garis dengan warna lintasan yang digunakan. Sedangkan PORTC dihubungkan ke LCD yang berfungsi sebagai penampil karakter, penampil indikator sensor PORTD.0 atau PD0 dan PORTD.1 atau PD1 merupakan jalur komunikasi serial. Pada perancangan ini port ini dihubungkan bluetooth. Proses yang terjadi pada mikrokontroller adalah sesuai dengan program yang diisikan pada
37
mikrokontroller. Berbeda program yang diisikan, maka akan berbeda pula proses pada mikrokontroller. Pada perancangan ini proses yang terjadi pada mikrokontroller adalah proses pembacaan tombol, proses membaca data dari komputer, proses membaca sensor, serta proses menampilkan karakter pada LCD.
III.4.4. Perancangan Rangkaian Driver Motor Rangkaian driver motor ini berfungsi sebagai pengatur kecepatan motor serta arah putaran motor saat robot dijalankan. Rangkaian driver motor ini menggunakan IC L293D yang merupakan IC yang dapat dipakai untuk mengatur kecepatan motor. Rangkaian driver motor dapat lihat pada gambar berikut:
Gambar III.4. Skematik Rangkaian Driver Motor Pada gambar tersebut, dapat dilihat bahwa pin 16 dihubungkan ke sumber tegangan 5 volt, pin 8 dihubungkan ke tegangan 12 volt, pin 4, pin 5, pin 12 dan pin 13 dihubungkan ke ground. Pin 1 dan pin 9 merupakan enable yang berfungsi untuk mengaktifkan ataupun menonaktifkan motor yang dihubungkan ke
38
mikrokontroler di PORTB.2 dan PORTB.3. Sedangkan pin 2, pin 7, pin 10 dan pin 15 merupakan input untuk mengatur arah putaran motor. Pin tersebut dihubungkan ke mikrokontroller di PORTB.0, PORTB.1, PORTB.4 dan PORTB.5. Pin 3, pin 6, pin 11 dan pin 14 merupakan output yang langsung dihubungkan ke motor DC.
III.4.5. Perancangan Rangkaian LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD LMB162ABC karena harganya cukup murah. LCD LMB162ABC merupakan modul LCD dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character Generator Read Only Memory), CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory). LCD yang umum, ada yang panjangnya hingga 40 karakter (2x40 dan 4x40), dimana kita menggunakan DDRAM untuk mengatur tempat penyimpanan karakter tersebut.
39
Tabel III.1. Peta memori LCD
Gambar III.5. Skematik Rangkaian Skematik dari LCD Pada gambar rangkaian di atas pin 1 dihubungkan ke Vcc (5V), pin 2 dan 16 dihubungkan ke Gnd (Ground), pin 3 merupakan pengaturan tegangan Contrast dari LCD, pin 4 merupakan Register Select (RS), pin 5 merupakan R/W (Read/Write), pin 6 merupakan Enable, pin 11-14 merupakan data. Reset, Enable, R/W dan data dihubungkan ke mikrokontroler ATMega16. Fungsi dari potensiometer (R2) adalah untuk mengatur gelap/terangnya karakter yang ditampilkan pada LCD.
III.4.6. Perancangan Rangkaian Sensor Garis Rangkaian Sensor ini berfungsi untuk membedakan warna garis dengan warna lintasan, sehingga robot dapat berjalan sesuai dengan lintasan yang dibuat.
40
Rangkaian sensor garis ini terdiri dari dua komponen, yaitu LED dan photodiode. LED digunakan sebagai pemancar cahaya, sedangkan photodiode digunakan sebagai penerima cahaya yang dipancarkan dari LED. Rangkaian sensor garis dapat dihilah pada gambar berikut:
Gambar III.6. Skematik Rangkaian Sensor Garis
Pada gambar di atas, dapat dilihat bahwa robot terdiri dari delapan buah sensor. Kaki positif LED dihubungkan ke VCC yang sebelumnya dihubungkan ke resistorterlebih dahulu. Kaki negatif LED dihubungkan ke ground. Sementara kaki positif photodiode juga dihubngkan ke VCC sedangkan kaki output dari fotodioda akan dihubungkan ke mikrokontroller.
III.4.7. Perancangan Rangkaian Tombol Tombol berfungsi untuk kalibrasi sensor menjalankan robot sat makanan sudah diterima pelanggan. Rangkaian tombol ditunjukkan oleh berikut :
41
Gambar III.7. Skematik Rangkaian Tombol Ke Mikrokontroller Pada perancangan ini kaki 1 tombol dihubungkan ke input mikrokontroller dan kaki 2 pada tombol dihubungkan ke ground. Dengan demikian, jika tombol ditekan, maka output akan mendapat tegangan 0 volt, tegangan 0 inilah yang dideteksi oleh mikrokontroller sebagai tanda adanya penekanan tombol.
III.4.8. Bluetooth Bluetooth digunakan untuk media komunikasi secara wireless. Skematik Bluetooth dapat ditunjukkan oleh gambar berikut :
Gambar III.8. Bluetooth
42
Pada perancangan ini kaki ground dan 5 volt pada bluetooth dihubungkan ke sumber tegangan, sedangkan kaki Tx dan Rx pada bluetooth dihubungkan ke PD.0 dan PD.1 pada mikrokontroler, karena pin in yang berfungsi sebagai jalur komunikasi serial. III.4.9. Perancangan Rangkaian Lengkap Alat Rangkaian lengkap pada perancangan robot pengantar makanan berbasis mikrokontroler dapat dilihat pada gambar berikut:
Gambar III.9. Skematik Rangkaian Lengkap Alat Pada gambar III.9, dapat dilihat rangkaian keseluruhan dari perancangan robot pengantar makanan berbasis mikrokontroler ATMega8535. Pada gambar tersebut terdapat gabungan dari beberapa rangkaian seperti rangkaian power
43
supply, rangkaian LCD, rangkaian mikrokontroller ATMega8535, rangkaian driver motor dc, rangkaian sensor garis, tombol, dan bluetooth. III.5. Perancangan Software Perancangan software pada robot pengantar makanan ini dapat dimulai dengan membuat use case, squence dan activity untuk proses kerja pada alat dan mendesain tampilan interface. Setelah itu akan dirancang pembuatan program untuk alat yang akan dibuat.
III.5.1. Use Case Use Case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian. Cara menentukan Use Case dalam suatu sistem : a. Pola perilaku perangkat lunak aplikasi. b. Gambaran tugas dari sebuah actor. c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor. d. Apa yang dikerjakan oleh suatu perangkat lunak ? (“bukan bagaimana cara mengerjakannya”).
44
Use Case pada perancangan robot pengantar makanan siap saji ini dapat dilihat seperti gambar berikut ini :
e lud inc
Kasir
Memilih Meja
Mengantar Makanan
Tunggu Perintah
Mengantar Makanan
Robot
inclu
de
Pelanggan
Gambar III.10. Use Case Diagram Robot Pengantar Makanan
III.5.2. Use Case Memilih Meja Use Case ini bertujuan untuk memilih meja mana yang akan dituju oleh robot kemeja pelanggan. Deskripsi memilih meja dapat digambarkan sebagai pada use case berikut: Table III.2 Deskripsi Use Case Memilih Meja Nama Use Case
Memilih Meja
Actor
Kasir, Robot.
Deskripsi
Casir memerintahkan robot untuk mengantarkan makanan ke meja pelanggan dengan cara memilih nomor meja pelanggan pada interface.
Precondition
Kasir memilih nomor meja pelanggan yang akan dituju.
Post Condition
1. Robot berhasil bergerak setelah kasir memilih meja. 2. Robot gagal bergerak setelah kasir memilih meja.
45
III.5.3. Use Case Menunggu Perintah Use case ini bertujuan untuk menunggu perintah dari kasir untuk mengantarkan pesanan ke meja pelanggan. Deskripsi ini dapat digambarkan sebagai pada use case berikut: Table III.3 Deskripsi Use Case Menunggu Perintah Nama Use Case
Menunggu Perintah
Actor
Kasir, Robot.
Deskripsi
Robot menunggu perintah dari kasir untuk mengantarkan pesanan ke meja pelanggan.
Precondition
Robot berhenti menunggu perintah dari kasir.
Post Condition
Kasir memilih nomor meja pelanggan yang akan dituju.
III.5.4. Use Case Mengantar Makanan Use Case ini bertujuan untuk mengantar makanan ke meja pelanggan. Deskripsi ini dapat digambarkan sebagai pada use case berikut: Table III.4 Deskripsi Use case Mengantar Makanan Nama Use Case
Mengantar Makanan
Actor
Robot.
Deskripsi
Robot mengantar makanan ke meja pelanggan.
Precondition
Robot bergerak menuju meja pelanggan.
Post Condition
1. Robot berhasil mengantarkan makanan ke meja pelanggan. 2. Robot tidak berhasil mengantarkan makanan ke meja pelanggan.
46
III.5.5. Use Case Menekan Tombol Use Case ini bertujuan untuk menekan tombol pada robot saat sudah menerima pesanan makanan. Deskripsi dapat digambarkan sebagai pada use case berikut: Table III.5 Deskripsi Use case Menekan Tombol Nama Use Case
Menekan Tombol
Actor
Pelanggan.
Deskripsi
Pelanggan menekan tombol pada robot saat sudah menerima pesanan makanan.
Precondition
Menerima pesanan makanan.
Post Condition
Pelanggan menekan tombol pada robot.
III.5.6. Sequence Diagram Sequence Diagram (diagram urutan) adalah suatu diagram yang memperlihatkan atau menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Interaksi antar objek tersebut termasuk pengguna, display, dan sebagainya berupa pesan/message. Sequence Diagram digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian/event untuk menghasilkan output tertentu. Sequence Diagram diawali dari apa yang me-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Sequence Diagram pada perancangan robot pengantar makanan siap saji dapat dilihat seperti gambar III.11.
47
Nomor meja Kasir
Tunggu Perintah
Memilih Meja
Robot
Pelanggan Mengantar Makanan Tekan Tombol
Gambar III.11. Sequence Diagram Robot Pengantar Makanan
III.5.7. Activity Diagram Activity Diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity Diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity Diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu Activity Diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Activity Diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram. Activity Diagram pada perancangan robot pengantar makanan siap saji dapat dilihat seperti gambar di bawah ini :
48
Robot
Kasir
Pelanggan
Mulai
Menunggu Perintah Memilih Meja
Mengantar Makanan Menerima pesanan Menekan Tombol
Gambar III.12. Activity Diagram Robot Pengantar Makanan III.5.8. Desain User Interface Perancangan interface ini bertujuan untuk menggambarkan sketsa desain tampilan interface untuk mengendalikan robot menuju ke meja masing-masing pelanggan. Perancangan desain interface yang akan dibuat dapat dilihat seperti gambar berikut:
Perancangan Robot Pengantar Makanan
MEJA 1
MEJA 2
MEJA 3
Gambar III.13. Desain pada Interface
49
III.5.9. Perancangan Program Pada perancangan ini digunakan Code Vision AVR sebagai editor dan compiler dari program yang dirancang. Untuk memulai memprogram Code Vision AVR dilakukan langkah sebagai berikut : 1. Buka software CodeVisionAVR (terdapat Shortcut pada Desktop). 2. Pilih menu File New dan pilih Project kemudian tekan OK.
Gambar III.14. Pemilihan Tipe File 3. Kemudian pilih Yes saat ada pilihan menggunakan CodeWizardAVR, seperti tampak pada gambar berikut.
Gambar III.15. Dialog konfirmasi tentang penggunaan CodeWizardAVR 4. Pada settingan CodeWizardAVR, atur konfigurasi chip menggunakan ATMega8535 sesuai dengan yang ada pada modul, dengan nilai clock 11,059200 MHz.
50
Gambar III.16. Pemilihan tipe Mikrokontroller dan Kristal 5. Kemudian pada tab Port, PortB. diatur sebagai input dan output yang akan dihubungkan dengan rangkaian driver motor dan tombol. Tampilannya sebagai berikut.
Gambar III.17. Setting PORTB 6. Selanjutnya mengatur setting komunikasi serial dengan bluetooth. Tampilannya sebagai berikut:
51
Gambar III.18. Setting Komunikasi Serial 7. Setelah itu, pilih menu File Generate, Sava and Exit, dan simpan file dengan nama sesuai keinginan uji.
Gambar III.19. Generate, Save dan Exit 8. Akan muncul file .c yang akan digunakan untuk pemrograman.