• Tidak ada hasil yang ditemukan

ROBOT PENGHINDAR HALANGAN DENGAN MIKROKONTROLER AT89C51.

N/A
N/A
Protected

Academic year: 2017

Membagikan "ROBOT PENGHINDAR HALANGAN DENGAN MIKROKONTROLER AT89C51."

Copied!
78
0
0

Teks penuh

(1)

SKRIPSI

Oleh :

FREGHA HARYANSYAH

0534010073

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR

(2)

limpahan rahmat-Nya sehingga penulis bisa menyelesaikan pembuatan Tugas

Akhir ini dengan judul “ROBOT PENGHINDAR HALANGAN DENGAN MIKROKONTROLER AT89C51”.

Tujuan dari pembuatan Tugas Akhir ini adalah sebagai salah satu syarat

untuk menyelesaikan program studi Strata Satu (S1) pada jurusan Teknik

Informatika, Fakultas Teknologi Industri, UPN “VETERAN” Jawa Timur.

Dalam menyelesaikan Tugas Akhir ini penulis menyadari telah banyak

mendapatkan bantuan dari berbagai pihak, baik bantuan dari segi moril, materiil

maupun spiritual. Oleh karena itu pada kesempatan ini penulis ingin

mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Allah SWT atas segala limpahan Karunia, Rahmat, dan Perlindungan – Nya

2. Kedua orang tua dan anggota keluarga kami tercinta, Terima kasih atas segala

doa dan kepercayaannya. Penulis telah membuktikan tanggung jawabnya

dengan penyelesaian tugas akhir ini

3. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas

Pembangunan Nasional “Veteran” Jawa Timur Surabaya.

4. Bapak Basuki Rahmat, S.Si, MT selaku Ketua Jurusan Teknik Informatika

Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya tahun

angkatan 2008 – 2009 . Beliau ini sekaligus menjadi dosen pembimbing I

penulis yang sangat penulis banggakan. Karena beliau, arahan dan motifasinya

saat membimbing akhirnya penulis dapat menyelesaikan Tugas Akhir ini

(3)

sehingga penulis dapat menyelesaikan Tugas Akhir ini.

6. Bapak Delta Ardy Prima, S.ST selaku dosen penguji sidang TA yang telah

memberi sanggahan atau masukan bersifat membangun bagi penulis sehingga

penulis dapat menyelesaikan Tugas Akhir ini.

7. Bapak I Geda Susrama Md, S.T, M.Kom selaku dosen penguji saat Sidang

LESAN yang telah memberi masukan kepada penulis sehingga penulis dapat

menyelesaikan Tugas Akhir ini.

8. Bapak Bapak Moh. Irwan Afandi, ST, Msc selaku dosen penguji saat Sidang

LESAN yang telah memberi masukan kepada penulis sehingga penulis dapat

menyelesaikan Tugas Akhir ini.

9. Teman – teman penulis dari Teknik Informatika, khususnya KELAS B

angkatan tahun 2005.Teman – teman penulis lainnya tanpa terkecuali yang

tidak mungkin penulis sebutkan namanya satu per satu, terima kasih telah

membantu dan memberikan do’anya kepada penulis untuk menyelesaikan

Tugas Akhir ini.

10.Adi pria yang telah banyak membantu dalam pembuatan tugas akhir ini

11.Teman – teman kemlaten, terima kasih atas segala masukannya.

(4)

iv

Penulis menyadari bahwa Penulisan Tugas Akhir ini masih memiliki

banyak kekurangan dan jauh dari kata sempurna. Hal ini tidak lain karena

keterbatasan materi dan pengetahuan yang dimiliki penulis. Oleh karena itu kritik

dan saran sangat kami harapkan demi kesempurnaan penyusunan laporan Tugas

Akhir ini.

Akhir kata, penyusun mengharapkan semoga yang apa yang tertuang dalam

laporan Tugas Akhir ini dapat bermanfaat bagi rekan-rekan mahasiswa khususnya

dan bagi seluruh pembaca pada umumnya.

Surabaya, 17 November 2010

(5)

DAFTARISI... iii 2.1. Mikrokontroler AT89C51 ...7

2.1.1. Pin – Pin Mikrokontroer AT89C51 ...7

2.1.2. Pemisahan Memori Program dan Memori Data ...10

(6)

3.3.1. Perancangan Kerangka Robot...28

3.3.2. Rangkaian Mikrokontroler AT89C51...30

3.3.3. Rangkaian AT89C51 Dengan Sensor Ultrasonik ...31

3.3.4. Driver Motor DC...32

3.3.5. Rangkaian Keseluruhan ...33

3.3.6. Perancangan Arena Robot...34

3.4. Perancangan Perangkat Lunak ...34

3.4.1. Perancangan SoftwareDriver Motor ...34

3.4.2 Perancangan Software Sensor Ultrasonik ...35

BAB IV IMPLEMENTASI...40

4.1. Implementasi Perangkat keras ...40

4.1.1. Kerangka Robot ...40

4.2. Implementasi Perangkat Lunak...46

(7)

5.2.2 Analisa Robot Berdasarkan Posisi Arena ...59

5.2.3 Analisa Robot Berdasarkan Sudurt Halangan...60

5.2.4 Analisa Pola Perbelokan Robot ...62

BAB VI KESIMPULAN DAN SARAN...65

6.1. Kesimpulan ...65

6.2. Saran ...66

DAFTAR PUSTAKA...67

LAMPIRAN...68

(8)

Gambar 2.3. Sensor Ultrasonik Ping Parallax ...21

Gambar 2.4. Prinsip Kerja Sensor Ultrasonik...22

Gambar 3.1. Perancangan Kerangka Robot Tampak Bawah...29

Gambar 3.2. Perancangan Kerangka Robot Tampak Samping...29

Gambar 3.3. Skema Rangkaian Mikrokontroler AT89C51 ...30

Gambar 3.4. Skema Rangkaian AT89C51 dengan Sensor Ultrasonik ...31

Gambar 3.5. Skema Rangkaian Driver motor DC ...32

Gambar 3.6. Rangkaian Keseluruhan Robot Penghindar Halangan ...33

Gambar 3.7. Perancangan Arena...34

Gambar 3.8. Digram Alir Perancangan Test Gerak Robot ...35

Gambar 3.9. Flowchart Sensor Depan...36

Gambar 3.10. Flowchart Sensor Kanan...36

Gambar 3.11. Flowchart Sensor Kiri...37

Gambar 4.1 . Kerangka Robot Tampak Depan...40

Gambar 4.2. Kerangka Robot Tampak Atas ...41

Gambar 4.3. Kerangka Robot Tampak Bawah ...41

Gambar 4.4. Penghubungan Motor Dc Ke Roda ...41

Gambar 4.5. Rangkaian Mikrokontroler ...42

Gambar 4.6. Rangkaian Driver Motor ...43

Gambar 4.7. Rangkaian Mikrokontroller Dengan Sensor Ultrasonik...44

Gambar 4.8. EDT Programmer hardware...45

Gambar 4.9. Arena Robot ...45

Gambar 4.10. Tampilan Keil C51...47

Gambar 4.11. EDT programmer software...48

Gambar 5.1. Pengujian driver motor ...54

Gambar 5.2. Pengujian Sensor Ultrasonik Manual...56

Gambar 5.3. Uji Coba Robot ...57

Gambar 5.4. Uji Coba Pada Marmer ...59

(9)

Gambar 5.9. Sudut Halangan 700...61

Gambar 5.10. Sudut Halangan 800...61

Gambar 5.11. Sudut Halangan 900...61

Gambar 5.12. Sudut Halangan 1000...62

Gambar 5.13. Sudut Halangan 1100...62

(10)

viii

Tabel 5.3. Uji Coba Robot Berdasarkan Kondisi Lantai ...58

Tabel 5.4. Uji Coba Robot Berdasarkan Kondisi Lantai ...60

Tabel 5.5. Uji Coba Robot Berdasarkan Sudut Halangan...61

(11)

pindah tempat dari tempat satu ke tempat yang lain. Hal ini menginspirasi pembuatan prototype robot penghindar halangan yang dapat berjalan terus menerus untuk menghindari halangan. Prototype robot penghindar halangan ini termasuk jenis mobile robot yang memiliki fungsi menyerupai makhluk hidup yang dapat berpindah tempat tanpa membentur halangan.

Prototype robot penghindar halangan ini dilengkapi motor DC gearbox

sebagai penggerak robot dan sensor ultrasonik yang berfungsi sebagai kemudi robot untuk menghindari halangan. Kontrol utama robot penghindar halangan adalah mikrokontroler yang berfungsi mengatur kinerja dari sensor ultrasonik dan motor DC, pada saat catu daya robot dihidupkan mikrokontroler akan memerintahkan sensor ultrasonik untuk memancarkan sinyal ultrasonik yang berfungsi mendeteksi halangan disekitar robot sehingga pada saat sensor ultrasonik mengirim data pada mikrokontroler, fungsi dari motor DC akan dieksekusi oleh mikrokontroler, agar robot dapat berjalan sesuai data yang dikirim oleh sensor ultrasonik ke mikrokontroler, sehingga robot penghindar halangan dapat berjalan secara terus-menerus tanpa menabrak halangan yang ada di sekitar robot.

Dari hasil pengujian, robot penghindar halangan dapat menjelajah arena dan dapat menghindari halangan dengan baik jika kondisi lantai tidak licin dan pantulan sinyal ultrasonik yang dipancarkan oleh sensor ultrasonik dapat diterima kembali oleh sensor ultrasonik dengan sudut halangan tertentu.

Kata Kunci : sensor ultrasonik, mikrokontroller, motor DC gearbox

(12)

1.1 Latar Belakang

Seiring dengan berkembangnya teknologi pada saat ini, kita dihadapkan

pada sesuatu yang dapat membuat daya kreaktivitas kita semakin meningkat.

Untuk mengembangkan kreaktivitas tersebut saya mencoba membuat suatu

rancangan prototype robot penghindar halangan.

Robot penghindar halangan adalah sejenis robot yang didesain untuk

mendeteksi adanya halangan di sekitar. Tugas robot berjalan secara terus menerus

tanpa membentur suatu halangan dan dapat mencari jalan keluar apabila robot

menemui jalan buntu. Sehingga Robot penghindar halangan dapat dikatakan

sebagai robot penjelajah. Robot penghindar halangan termasuk jenis mobile robot

yang menyerupai fungsi makhluk hidup yang dapat berpindah.

Konstruksi Robot penghindar halangan ini digerakkan oleh dua penggerak.

Penggerak menyebabkan gerakan maju atau mundur, sedangkan arah pergerakan

dipengaruhi oleh kombinasi arah putar kedua penggerak. Kedua penggerak motor

yang bekerja secara diferensial, tidak diperlukan suatu kemudi.

Sebagai kemudi robot penghindar halangan, saya menggunakan sensor

ultrasonik. Sedangkan kontrol robot atas sensor ultrasonik dan penggerak motor

dibutuhkan mikrokontroler yang berfungsi menerima data dari sensor ultrasonik

sehingga mikrokontroler dapat menggerakkan motor sesuai data yang diterima

dari sensor ultrasonik Dengan adanya sensor ultrasonik dan penggerak motor,

(13)

maka robot dapat berjalan tanpa membentur halangan. Agar fungsi robot untuk

menghindari halangan tercapai, maka dibuatlah sebuah arena sebagai simulasi

jalur robot untuk menghindari halangan.

1.2 Perumusan Permasalahan

Pada tugas akhir ini perumusan masalahnya membahas mengenai robot

penghindar halangan yang berada di depan, maupun di samping kiri dan kanan

robot. dibawah ini adalah beberapa perumusan masalah dari robot penghindar

halangan :

1. Membuat perangkat lunak yang mampu mengontrol pergerakan robot

untuk menghindari halangan secara otomatis.

2. Membuat komunikasi data serial sehingga dapat menyalurkan

informasi yang telah diolah oleh software dari komputer ke

mikrokontroller

3. Bagaimana robot dapat mengetahui halangan yang ada di depan,

samping kanan, maupun samping kiri sehingga robot dapat

menghindarinya.

4. Bagaimana robot dalam melakukan kinerja berupa gerakan : maju,

belok kanan, dan belok kiri setelah mendeteksi adanya halangan.

1.3 Batasan Permasalahan

Dalam menganalisa robot penghindar halangan ini, perlu diberikan

(14)

pemecahan serta pembahasannya. Adapun batasan – batasannya adalah sebagai

berikut :

1. Robot menggunakan motor DC gearbox.

2. Menggunakan IC L298 untuk driver motor.

3. Sensor ultrasonik yang digunakan adalah buatan Ping parallax.

4. Menggunakan bahasa pemrograman C ++.

5. Mikrokontroller yang digunakan adalah AT89C51

1.4 Tujuan

Adapun tujuan dilaksanakan perancangan tugas akhir ini adalah :

Membuat sistem yang dapat mengidentifikasi suatu halangan yang berada

di depan, samping kanan, maupun samping kiri robot sehingga didapatkan respon

untuk menghindarinya.

1.5 Manfaat

Manfaat dari penelitian :

1. Untuk pengembangan prototype robot pendeteksi titik api.

2. Untuk pengembangan prototype robot pemadam api.

1.6. Metodologi Penelitian

Metode penelitian yang digunakan dalam pembuatan sistem

mikrokontroler ini percobaan langsung jika gagal coba lagi atau trayer error

(15)

1. Study literatur, metode pengumpulan data yang diperoleh dari buku-buku

yang tersedia serta dari browsing melalui internet.

2. Perencanaan alat, metode dalam perencanaan alat yang akan dibuat.

3. Pembuatan kerangka robot.

4. Pembuataan rangkain elektronika robot.

5. Pembuatan software, metode pembuatan software yang akan ditanam

dalam sistem mikrokontroler.

6. Pengujian alat dan analisa alat, metode ini untuk menguji alat yang telah

dibuat serta hasil analisa terhadap data hasil pengujian.

7. Kesimpulan, metode dalam mengambil kesimpulan dari hasil pengujian

dan analisa data pada sistem.

8. Penyusunan buku laporan, metode dalam pengambilan laporan

berdasarkan serangkaian kegiatan yang telah dilakukan dalam

penyelesaian tugas akhir.

1.7. SISTEMATIKA PEMBAHASAN

Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan

disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk

memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai

(16)

BAB I : PENDAHULUAN

Bab ini menjelaskan tentang latar belakang, perumusan dan pembatasan

masalah, tujuan dan manfaat, serta metodologi dan sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Bab ini menjelaskan tentang mengenai teori – teori, yang digunakan

dalam perancangan dan pembuatan alat serta pendapat - pendapat tentang sistem

yang dibangun serta mengenai prinsip kerja dari komponen yang digunakan..

BAB III : PERANCANGAN

Pada bab ini membahas mengenai apa saja yang perlu dianalisa untuk

kebutuhan sistem meliputi : kebutuhan data, kebutuhan proses, perancanangan

sistem berbasis mikrokontroler AT89C51, komunikasi sensor ultrasonik ping

parallax, serta analisa dan desain sistem yang telah dibuat sebelumnya dan

kebutuhan hardware dan software

BAB IV : IMPLEMENTASI

Bab ini menjelaskan tentang implementasi dari pembuatan perancangan

robot penghindar halangan.

BAB V : UJI COBA

Bab ini berisi tentang pengujian driver motor, sensor ultrasonik serta uji

(17)

BAB VI : KESIMPULAN

Bab ini berisi tentang kesimpulan dan saran yang mungkin dapat

(18)

Dalam pembuatan robot penghindar halangan ini adalah memerlukan

mikrokontroler AT89C51 sebagai pengatur jalannya robot, motor dc sebagai

penggerak robot., sensor ultrasonik sebagai petunjuk halangan dan driver motor

pengatur kecepatan, serta akumulator sebagai sumber tegangan.

2.1 Mikrokontroler AT89C51

Mikrokontroler AT89C51 adalah sebuah mikrokontroler buatan ATMEL

[3]. Mikrokontroler ini mempunyai 40 pin 4 port dan masih termasuk dalam

keluarga mikrokontroler MCS-51 yaitu merupakan versi yang dilengkapi dengan

ROM (Internal) yaitu berupa EEPROM. Mikrokontroler AT89C51 adalah low

power high performance CMOS 8 bit, 4 Kbyte flash Programmable and Eresable

Read Only Memory (PEROM). IC mikrokontroler ini kompatible dengan standar

MCS-51 baik dari instruksi maupun pin-pinnya yang dapat diaplikasikan sebagai

Embedded Controller.

2.1.1 Pin-Pin Mikrokontroler AT89C51

Susunan pin-pin mikrokontroler AT89C51 seperti Gambar 2.1 dapat

dijelaskan sebagai berikut :

(19)

• Pin 1 sampai 8 adalah Port 1 : Merupakan Port paralel 8 bit data dua arah

(bidirectional) yang dapat digunakan untuk berbagai keperluan (general

purpose).

• Pin 9 (RESET) : Masukan reset aktif tinggi. Pulsa transisi dari rendah ke

tinggi akan mereset AT98C51. Pin ini dihubungkan dengan rangkaian

power on reset yang terdiri dari sebuah kapasitor dan sebuah resistor yang

berfungsi sebagai pembangkit frekuensi.

• Pin 10 sampai 17 adalah Port 3 : Port paralel 8 bit dua arah yang

memiliki fungsi pengganti. Fungsi pengganti meliputi TxD (Transmite

Data), RxD (Receiver Data), Int 0 (Interrupt 0), Int 1 (Interrupt 1), T0

(Timer 0), T1 (Timer 1), WR (Write), dan RD (Read). Bila fungsi

pengganti tidak dipakai, pin-pin ini dapat digunakan sebagai port paralel 8

bit serba guna.

• Pin 18 (XTAL 1) : Pin masukan ke rangkaian osilator internal. Sebuah

osilator kristal atau sumber osilator luar dapat digunakan.

• Pin 19 (XTAL 2) : Pin keluaran ke rangkaian osilator internal. Pin ini

dipakai bila menggunakan osilator kristal.

• Pin 20 (GROUND) : Dihubungkan ke Vss atau ground.

• Pin 21 sampai 28 adalah Port 2 : : Merupakan Port paralel 8 bit data dua

arah (bidirectional) yang dapat digunakan untuk berbagai keperluan

(general purpose).

• Port paralel 2 (P2) selebar 8 bit dua arah (bidirectional). Port 0 ini

(20)

• Pin 29 : Pin PSEN (Program Store Enable) yang merupakan sinyal

pengontrol yang membolehkan program memory eksternal masuk ke

dalam bus selama proses pemberian/pengambilan instruksi (Fetching).

• Pin 30 : Pin ALE (Address Latch Enable) yang digunakan untuk

menahan alamat memory eksternal selama pelaksanaan instruksi.

• Pin 31 (EA) : Bila pin ini diberi logika tinggi (H), mikrokontroler akan

melaksanakan instrusi dari ROM / EPROM ketika isi program counter

kurang dari 4096. Bila diberi logika rendah (L) maka mikrokontroler akan

melaksanakan seluruh instruksi dari memori program luar.

• Pin 32 sampai 39 adalah Port 0 : Merupakan port paralel 8 bit (open

drain) dua arah. Bila digunakan untuk mengakses program luar, port ini

akan memultipleks alamat memori dengan data.

• Pin 40 : Merupakan Vcc yang dihubungkan ke tegangan positif.

(21)

2.1.2 Pemisahan Memori Program dan Memori Data

Mikrokontroler AT89C51 memiliki ruang alamat memori data dan

program yang terpisah. Pemisahan memori program dan data tersebut

membolehkan memori data diakses dengan alamat 8-bit, sehingga dapat dengan

cepat dan mudah disimpan dan dimanipulasi oleh CPU 8-bit. Namun demikian,

alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR. Memori

program hanya bisa dibaca saja. Terdapat memori program yang bisa di akses

langsung hingga 64 Kbyte. Sedangkan strobe untuk akses program memori

eksternal melalui sinyal PSEN atau Program Store Enable. Memori data

menempati suatu ruang alamat yang terpisah dari memori program. Memori

eksternal dapat di akses secara langsung hingga 64 Kbyte dalam ruang memori

data eksternal. CPU akan memberikan sinyal baca dan tulis, RD dan WR, selama

pengaksesan memori data eksternal. Memori data eksternal dan memori program

eksternal dapat dikombinasikan dengan cara menggabungkan sinyal RD dan

PSEN melalui gerbang AND dan keluarannya sebagai tanda baca ke memori

data/program eksternal.

a. Memori Program

Memori program atau ROM (Read Only Memory) adalah tempat

menyimpan data yang permanen. Memori bersifat non-volatile artinya tanpa

dicatu, data-data tidak akan hilang. Memori program hanya dapat dibaca

saja. Setelah direset maka eksekusi dimulai dari alamat 0000H. Setiap

(22)

CPU melompat kelokasi tersebut dimana pada lokasi tersebut terdapat

subrutin yang harus dikerjakan.

b. Memori Data

Memori data atau RAM (Random Acces Memory) adalah tempat

menyimpan data yang bersifat sementara. Maka memori bersifat volatile

yaitu data akan hilang bila catu daya ditiadakan. Pada memori data dapat

dilakukan pembacaan maupun penulisan data. Ruang memori terlihat dalam

3 blok, yang disebut sebagai lower 128, upper 128 ruang SFR (Special

Function Register). Internal memori data dialamati dengan lebar 1 byte.

Lower 128 (alamat 00H-7FH) terdapat pada semua anggota keluarga

MCS51.

2.1.3 Port Input / Output

Satu chip mikrokontroler ini memiliki 32 jalur port yang dibagi menjadi 4

buah port 8 bit. Masing-masing port ini bersifat bidirectional sehingga dapat

digunakan sebagai input atau output . Pada bok diagram AT89C51 dapat dilihat

latch tiap bit pada keempat port : port 0, port 1, port 2, port 3. Masing-masing

jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port 2 dapat

digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data, sedangkan

port 2 sebagai saluran data dan alamat sekaligus yang dimultipleks. Untuk

mengakses memory eksternal, port 0 akan mengeluarkan alamat bawah memori

(23)

2 mengeluarkan bagian atas memory eksternal sehingga total alamat semuanya 16

bit.

Khusus untuk port 3 mempunyai fungsi yang lain diluar sebagai port.

Fungsi ini akan berbeda untuk tiap-tiap kaki dengan urutan sebagi berikut :

- Port 3.0 : port input serial, RXD.

- Port 3.1 : port output serial, TXD.

- Port 3.2 : input interupsi eksternal, INT0.

- Port 3.3 : input interupsi internal, INT1.

- Port 3.4 : input eksternal untuk timer /counter 0, T0.

- Port 3.5 : input eksternal untuk timer /counter 1, T1.

- Port 3.6 : sinyal tulis memori eksternal, WR.

- Port 3.7 : sinyal baca memori eksternal, RD.

Penggunaan port 3 dapat dialamati langsung sebagai kontrol langsung pada suatu

tugas yang dilakukan oleh fungsi yang dimiliki oleh port ini.

2.1.4 Timer / Counter

Satu chip mikrokontroler ini memilik dua timer yang dapat

dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai

timer, isi register timer ditambah 1 untuk tiap siklus mesin, sedangkan untuk

fungsi counter isi register akan bertambah 1 setiap ada transisi sinyal pada pin

input eksternal. Pada pemanfaatan sebagai counter, sinyal input yang

dimaksudkan dapat berupa low level atau falling edge trigger. Counter akan

(24)

pada nilai hitungan untuk tiap sampling. Inisialisasi harga awal ini berupa nilai

preset negatif counter yang diatur sebelum counter dijalankan.

Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi

awal berupa konstanta waktu yang menentukan sampai berapa lama akan terjadi

roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi

clock dari sistem penentu waktu sampling dari counter untuk mencacah suatu

pulsa masukan dari luar dengan memanfaatkan kontrol interupsi yang ada serta

pengaturan program. Sebagai tambahan pada pemilihan counter/timer, timer 0 dan

timer 1 mempunyai 4 buah modul yang dapat dipilih dengan menentukan

pasangan bit M0 dan M1 pada register TMOD. Untuk pemilihan timer/counter

dikontrol dengan bit C/T di TMOD.

• Mode 0 : Pada mode ini timer register dikonfigurasikan sebagai register 13

bit. Ke-13 bit register tersebut terdiri dari 8 bit TH1 dan 5 bit TL1. Selama

perhitungan roll over dari semua 1 ke semua 0, TF1 (Timer Interrupt Flag) di

set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.

• Mode 1 : Mode 1 adalah timer register 16 bit dan dapat generator boudrate.

Operasi mode 1 sama dengan mode 0.

• Mode 2 : Mode 2 adalah timer register dengan konfigurasi 8 bit counter

(TL1) auto reload. Overflow dari TL1 tidak hanya menset TF1 tapi juga

me-reload TL1 dengan isi TH1. Setelah me-reload isi TH1 tidak akan berubah.

(25)

• Mode 3 : Pada mode ini timer 1 tidak akan bekerja. Sedangkan timer 0

menjadi 2 counter yang terpisah. TL0 digunakan sebagai bit kontrol untuk

timer 0; C/T, GATE, TR0, INT0, dan TF0 seolah-olah mengontrol timer 1.

2.1.5 Sistem Interupsi

Mikrokontroler AT89C51 mempunyai 5 sumber interupsi. Dua sumber

merupakan sumber eksternal INT0 dan INT1. Kedua interupsi eksternal dapat

aktif level atau aktif transisi tergantung isi IT0 dan IT1 pada regiter TCON.

Interupsi timer dan imer 1 aktif pada saat timer yang sesuai mengalami roll over.

Interupsi serial dibangkitkan dengan melakukan operasi OR dan R1 dan T1.

Tiap-tiap sumber interupsi dapat enable atau disable secara software.

Tingkat prioritas semua sumber interupsi dapat diprogram sendiri-sendiri

dengan set atau clear bit pada SFRs IP (Special Function Register’s Interrupt

Priority). Interupsi tingkat rendah dapat diinterupsi oleh interupsi yang

mempunyai tingkat lebih tinggi, tetapi tidak sebaliknya. Walaupun demikian

interupsi yang mempunyai tingkat lebih tinggi tidak bisa menginterupsi sumber

interupsi yang lain.

2.1.6 Instruksi Dasar

Perangkat lunak adalah seperangkat instruksi yang disusun menjadi sebuah

program untuk memerintah komputer melakukan suatu pekerjaan. Sebuah

instruksi selalu berisi kode pengoperasian (Op-Code), kode pengoperasian inilah

(26)

Instruksi-instruksi yang digunakan dalam memprogram suatu program yang diisikan pada

IC AT89C51 adalah instruksi pemrograman bahasa assembler atau sama dengan

instruksi pemrograman pada IC mikrokontroler 8031 dalam MCS-51.

a. Instruksi Transfer Data (Perintah Pemindahan Data)

Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut :

1. Transfer data utama (General Purpose Transfer), yaitu : MOV, PUSH,

dan POP.

2. Transfer spesifik akumulator (Akumulator Specifik Transfer), yaitu :

XCH, XCDH, dan MOVC.

Instruksi transfer data adalah instruksi pemindahan atau perukaran antara

operand sumber dengan operand tujuan. Operand-nya dapat berupa register,

memori atau lokasi suatu memori.

Deskripsi instruksi transfer data tersebut dijelaskan dibawah ini :

• MOV : Transfer byte dari operand sumber ke operand tujuan.

• PUSH : Transfer byte dari operand sumber ke suatu lokasi dalam stack

yang ditunjuk oleh register penunjuk (Stack Pointer).

• POP : Transfer byte dari dalam stack ke operand tujuan.

• XCH : Pertukaran data antara operand akumulator dengan operand

(27)

b. Instruksi Aritmatik (Instruksi Perhitungan)

Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian, dan

pembagian dimiliki oleh AT89C51 dengan menemonic tersebut dijelaskan

sebagai berikut :

• INC : Menambah suatu isi sumber operand dan menyimpan hasilnya ke

operand tersebut.

• ADD : Penjumlahan antara akumulator dengan sumber operand dan

hasilnya disimpan di akumulator.

• ADD : Penjumlahan antara akumulator dengan sumber operand dan

hasilnya disimpan di akumulator.

• ADDC : Hasil dari instruksi ADD ditambah satu bila CY diset.

• SUBB : Pengurangan akumulator dengan sumber operand, lalu dikurangi

satu CY diset, hasilnya disimpan dalam operand tersebut.

• DEC : Mengurangi sumber operand dengan 1, dan hasilnya disimpan

pada operand tersebut.

• MUL : Perkalian antara akumulator dengan Register.

• DIV : Pembagian antara akumulator dengan Register B dan hasilnya

disimpan dalam akumulator, sisanya di register B.

c. Instruksi Logika

Mikrokontroler AT89C51 dapat melakukan operasi bit maupun operasi

(28)

a. Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL,

RLC, RR, RRC, dan SWAB.

b. Operasi logika dua operand seperti : ANI, ORL, dan XRL.

Operasi yang dilakukan oleh AT89S51 dengan pembacaan instruksi

logika tersebut dijelaskan di bawah ini :

• CLR : Menghapus byte atau bit menjadi satu .

• SETB : Mengeset bit atau byte menjadi satu.

• CPL : Mengkomplemenkan akumulator.

• RL : Rotasi akumulator 1 bit ke kiri dan bit 1 digeser melalui carry

flag.

• RR : Rotasi akumulator ke kanan.

• RLC : Rotasi akumulator 1 bit ke kanan dan bit 1 digeser melalui carry

flag.

• SWAB : Pertukaran nibble orde tinggi.

• ANL : Operasi logika AND dan hasilnya disimpan dalam operand

pertama.

• ORL : Operasi logika OR dan hasilnya disimpan dalam operand

pertama.

• XRL : Operasi logika XOR dan hasilnya disimpan dalam operand

(29)

d. Instruksi Transfer Kendali

Instruksi transfer kendali (control transfer) terdiri dari tiga kelas operasi

yaitu:

a. Lompatan tidak bersyarat (Unconditional Jump) seperti : ACALL,

AJMP, LJMP, JMP @ A+DPTR

b. Lompatan bersyarat (Conditional Jump) seperti : JZ, JNZ, JB, CJNE,

dan DJNZ.

c. Interupsi seperti : RET1 dan RET2.

Penjelasan dari instruksi diatas sebagai berikut :

• ACALL : Instruksi pemanggilan subroutine tidak lebih dari 2 Kbyte.

• LCALL : Pemangilan subroutine yang mempunyai alamat antara 2

Kbyte.

• AJMP : Lompatan untuk percabangan maksimum 2 Kbyte.

• LJMP : Lompatan untuk pencabangan maksimum 64 Kbyte.

• JMP @ A+DPTR : Instruksi percabangan ke suatu lokasi yang

ditunjukkan oleh DPTR + isi akumulator

• JNB : Percabangan bila bit tidak diset.

• JZ : Percabangan akan dilakukan jika akumulator adalah nol.

• JNZ : Percabangan akan dilakukan jika akumulator adalah tidak nol.

• JC : Percabangan terjadi jika CY diset “1”.

• CJNE : Operasi perbandingan operand pertama dengan operand kedua,

(30)

• DJNZ : Mengurangi isi operand sumber dan percabangan akan

dilakukan apabila isi operand tersebut tidak nol.

• RET : Kembali ke subroutine.

• RET1 : Kembali ke program interupsi utama.

Sebagai operand dari perlengkapan instruksi tersebut adalah sebagai

berikut :

Rn : Register R0-R7 yang terpilih dari tumpukan Register.

DATA : Lokasi alamat data internal 8 bit, yang dilokasikan pada data

RAM internal (0- 127) SFR pada 128 – 255 (I/O port, Register

pengontrol, Register status).

@R1 : Data RAM internal lokasi 0 – 255 delapan bit, yang dialamati

secara tidak langsung melalui R0 dan register R1.

# DATA8 : Yang diisikan kedalam instruksi adalah 8 bit.

# DATA16 : Yang diisikan kedalam instruksi adalah 16 bit.

Addr 16 : Untuk tujuan alamat 16 bit. Digunakan pada operasi LCAAL

dan LJMP yang dapat dilakukan dimana saja dalam 64 Kbyte daerah

alamat program memori.

2.2 Motor DC

Motor arus searah ( DC ) adalah suatu mesin yang berfungsi mengubah

tegangan listrik DC menjadi tenaga mekanis dimana tenaga gerak merupakan

putaran dari pada rotor [6]. Dalam kehidupan sehari-hari, motor DC terdapat pada

(31)

prinsipnya motor arus searah dapat dipakai sebagai generator arus searah,

sebaliknya generator arus searah dapat dipakai sebagai motor arus searah. Pada

prinsipnya, setiap jenis motor listrik dapat digunakan dalam perancangan

pengontrolan secara elektronik terhadap kecepatan dan daya yang disesuaikan

dengan beban yang akan digerakkan oleh motor tersebut. Pada perancangan dan

pembuatan alat ini, digunakan motor DC yang berfungsi untuk maju, mundur,

belok kanan, belok kiri robot penghindar halangan. Kecepatan motor DC dapat

dikendalikan dengan mengubah tegangan yang dikenakan pada motor, pada

dasarnya motor DC merupakan peralatan listrik yang mengubah energi listrik

menjadi energi mekanis. Motor terdiri dari 2 ( dua ) bagian utama yaitu stator dan

rotor, Stator atau bagian diam terdiri dari magnet permanen, dan rotor atau bagian

yang berputar terdiri dari kumparan-kumparan tembaga yang ditanam

dicelah-celah inti besi rotor. Kumparan-kumparan tembaga pada rotor sama prinsipnya

seperti konduktor, dimana setiap konduktor yang mengantar arus mempunyai

medan magnet disekelilingnya, kuat medan magnet tergantung dari kuat arus yang

mengalir. [(Depari,1992)].

2.2.1 Dasar – dasar Motor DC

Pada percobaan Maxwell, bilamana arus listrik yang mengalir dalam

kawat arahnya menjauhi kita (maju), maka medan-medan yang terbentuk disekitar

kawat searah dengan putaran jarum jam. Sebaliknya bila mana arus listrik yang

(32)

magnet yang terbentuk disekitar kawat arahnya berlawanan dengan arah putaran

jarum jam.

Besarnya gaya dapat dihitung :

Rumus 2.1. Penghitungan besar gaya F = B. I. L

Berdasarkan sumber arus penguat magnetnya, motor DC dibedakan atas:

1. Motor DC penguat terpisah: arus penguat magnetnya diperoleh dari

sumber DC diluar motor.

2. Motor DC dengan penguat sendiri: arus penguat magnetnya berasal dari

motor itu sendiri

Berdasarkan hubungan lilitan penguat magnet terhadap lilitan jangkar,

motor DC dengan penguat sendiri dibedakan atas:

1. Motor shunt: mempunyai kecepatan yang hampir konstan, perubahan

(33)

2. Motor seri: dapat memberikan moment yang besar pada saat mulai start

dengan arus start yang rendah, dapat memberikan perubahan kecepatan

dengan arus yang kecil. Penggunaan untuk pengangkat.

3. Motor kompon: Mempunyai sifat yang sama dengan seri dan

mempunyai moment start yang besar, perubahan kecepatan sekitar 25 %,

biasanya dipakai pada pemecah.

Untuk membalik arah putaran motor DC dapat dilakukan dengan dua cara:

1. Membalik arah arus jangkar, arah arus penguat tetap.

2. Membalik arah arus penguat, arah arus jangkar tetap.

Apabila arah arus jangkar dan arah arus penguat keduanya dibalik, arah

putaran motor tidak berubah.

Gambar 2.2 motor DC

2.3 Sensor Ultrasonik Ping Parallax

Ping ini adalah sebuah modul Ultra sonic, yang biasanya digunakan untuk

mendeteksian jarak [4]. Walaupun diapilkasikan untuk berbagai keperluan. Mulai

dari yang paling sederhana sampai sebagai mata sebuah robot. Modul ping ini

(34)

digunakan untuk memancarkan sinyal ultrasonik, dan yang satunya lagi digunakan

untuk menerima pantulan sinyal ultra sonic tersebut. Lama waktu antara

dikirimkannya sinyal dengan diterimanya sinyal itulah yang kemudian dapat

diasumsikan sebagai besaran jarak. Sensor ini memiliki 3 kaki yaitu ground, 5v

untuk sumber tegangan dan sig untuk signal

Gambar2.3 sensor ultrasonik ping parallax

Gelombang ultrasonik adalah gelombang dengan besar frekuensi diatas

frekuensi gelombang suara yaitu lebih dari 20 KHz. Gelombang ini dapat

merambat dalam medium padat, cair dan gas, hal disebabkan karena gelombang

ultrasonik merupakan rambatan energi dan momentum mekanik sehingga

merambat sebagai interaksi dengan molekul dan sifat enersia medium yang

dilaluinya.Sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang

disebut transmitter dan rangkaian penerima ultrasonik yang disebut receiver.

Sinyal ultrasonik yang dibangkitkan akan dipancarkan dari transmitter ultrasonik.

Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan

diterima oleh receiver ultrasonik. Sinyal yang diterima oleh rangkaian receiver

dikirimkan ke rangkaian mikrokontroler untuk selanjutnya memberikan perintah

(35)

algoritma program mikrokontroler yang dibuat, seperti terlihat pada gambar di

bawah ini.

Gambar2.4 prinsip kerja sensor ultrasonik

a. Pemancar Ultrasonik (Transmitter)

Pemancar Ultrasonik ini berupa rangkaian yang memancarkan sinyal

sinusoidal berfrekuensi di atas 20 KHz menggunakan sebuah transducer

transmitter ultrasonik dan sinyalnya difokuskan melalui sebuah corong / pipa.

Pada penggunaannya, akan digunakan 3 buah pemancar yang masing-masing

mengirimkan sinyal dengan frekuensi yang berbeda-beda.

b. Penerima Ultrasonik (Receiver)

Penerima Ultrasonik ini akan menerima sinyal ultrasonik yang

dipancarkan oleh pemancar ultrasonik dengan karakteristik frekuensi yang

sesuai. Sinyal yang diterima tersebut akan melalui proses filterisasi frekuensi

dengan menggunakan rangkaian band pass filter (penyaring pelewat pita),

(36)

keluarannya akan dikuatkan dan dilewatkan ke rangkaian komparator

(pembanding) dengan tegangan referensi ditentukan berdasarkan tegangan

keluaran penguat pada saat jarak antara sensor kendaraan mini dengan

sekat/dinding pembatas mencapai jarak minimum untuk berbelok arah. Dapat

dianggap keluaran komparator pada kondisi ini adalah high (logika ‘1’)

sedangkan jarak yang lebih jauh adalah low (logika’0’). Logika-logika biner ini

(37)

PERANCANGAN ROBOT

Pada bab ini menjelaskan mengenai perancangan robot penghindar

halangan baik perancangan hardware maupun software.

3.1. Kebutuhan Perangkat Keras

Untuk membuat robot ini diperlukan beberapa hardware diantaranya

sebagai berikut:

a. Aluminiium

Dalam pembuatan robot ini memerlukan aluminium yang berfungsi

sebagai bahan dasar untuk pembuatan kerangka robot.

b. EDT progammerhardware

Alat yang digunakan untuk mendownload / memasukkan software

yang telah di buat ke dalam mikrokontroller. EDT progammer

hardware ini terhubung ke komputer dengan kabel RS 232.

Dalam hal ini digunakan EDT progammaer untuk komunikasi

serial data program ke PC mikrokontroller.

c. Rangkaian mikrokontroler AT89C51

AT89C51 adalah mikrokontroler dari keluarga MCS-51 yang

dikeluarkan oleh perusahaan Atmel dengan 4Kbyte flash PEROM

(programmable and arasable read only memory). Mikrokontroler ini

memiliki teknologi memori nonvotile artinya isi memori dapat dihapus

(38)

dilepaskan.

d. Rangkaian driver motor DC

Untuk dapat menggerakkan robot diperlukan motor DC sebagai

alat yang berfungsi sebagai penggerak roda maju dan mundur. Motor

DC adalah alat yang mengubah pulsa listrik menjadi gerak,

mempunyai prinsip dasar yang sama dengan motor stepper namun

gerakannya bersifat kontinyu atau berkelanjutan. Adapun Motor DC

dipakai nantinya mengunakan tegangan 24V.

e. Sensor ultrasonik

Agar dapat menghindari halangan sensor ultrasonik digunakan

dikarenakan dapat mengeluarkan gelombang sinyal ultrasonik dan jika

ada halangan gelombang akan terpantul dan ditangkap kembali oleh

sensor ultrasonik.

f. Aki dan baterai

Dalam sistem nantinya digunakan aki dan baterai 36V yang

digunakan untuk mikrokontroler dan driver motor. 24V digunakan

untuk driver motor dan 12V unttuk mikrokontroler yang diturunkan

menjadi 5V oleh IC regulator.

3.2. Kebutuhan Perangkat Lunak

Software yang digunakan dalam robot penghindar halangan dengan

(39)

a. Bahasa pemrograman C ++

Sebuah software yang digunakan untuk merancang program atau

mengatur jalannya robot sesuai yang kita inginkan yang nantinya akan

digunakan untuk mengontrol driver motor dan sensor ultrasonik.

b. Keil C51

Sebuah software yang digunakan untuk merubah / mengkonvert bahasa

pemrograman C ++ yang telah kita buat ke dalam bentuk heksa maupun

biner yang nantinya akan dimasukkan / didownload kedalam

mikrokontroller AT89C51.

c. EDT programmersoftware.

EDT programmer software adalah sebuah software downloader yang

digunakan untuk menanamkan software yang telah dibuat dalam bahasa

pemograman C ++yang telah dirubah ke biner pada mikrokontroler

AT89C51.

3.3 Perancangan Perangkat Keras

Pada perancangan perangkat keras ini, akan ada penjelasan proses tentang

mikrokontroler AT89C51, EDT programmer hardware, driver motor dc, sensor

ultrasonik.

3.3.1. Perancangan kerangka robot

Pada perancangan kerangka robot ini, kami menggunakan bahan

(40)

Gambar3.1 perancangan kerangka robot tampak bawah

Gambar3.2 perancangan kerangka robot tampak samping

Proses selanjutnya setelah pembuatan kerangka robot adalah pemasangan

motor dc dan roda pada kerangka robot. Langkah awal yaitu motor dc dipasang

pada kerangka robot lalu buat baris untuk pemasangan roda. Supaya roda dapat

bergerak sendiri – sendiri antara yang kanan dengan yang kiri tidak berputar, kami

menggunakan bearing. Untuk dapat menggerakkan roda menggunakan motor dc,

(41)

Pada rancangan ini rangkaian yang ada pada mikrokontroler AT89C51

adalah rangkaian clock dan rangkaian reset. Rangkaian osilator clock

menggunakan kristal 11,0592 Mhz dengan dua kapasitor 33Pf seperti ditunjukkan

dalam gambar 3.3, nilai clock tersebut disesuaikan dengan kebutuhan dalam

penentuan timer pada sensor ultrasonik

Dan pada rangkaian reset digunakan untuk menghentikan kerja

mikrokontroler dengan kembali ke alamat 00h. Untuk mereset mikrokontroler

AT89C51 yaitu dengan memberikan logika tinggi pada pin reset (pin 9). Logika

tinggi ini dibuat minimal dua machine cycle (24 periode osilator). Jika

menggunakan clock 11,0592 Mhz. Maka logika tinggi minimal kurang lebih

selama 2 ms.

(42)

Perancangan ini menggunakan mikrokontroler AT89C51 dengan tiga

buah sensor ultrasonik ping parallax yang dimana terdapat tiga buah pin pada

sensor ultrasonik yaitu vcc, gnd ( ground ) dan sig. Untuk memfungsikan sensor

ultrasonik ini, pin sig perlu di seri dengan dioda 4148 yang diserikan kepada dua

pin pada mikrokontroler AT89C51.

(43)

3.3.4. Driver Motor DC

Pada driver motor DC ini saya menggunakan 8 buah dioda 1N 5819, 1

buah IC L 298, 1 buah IC regulator 7805, 2 buah resistor 47 k, 2 buah resistor 2,2

k, 2 buah LED warna merah dan 2 LED warna hijau. IC L298 dihubungkan

dengan 4 dioda untuk 1 motor dc sebagai penyearah arus yang akan diterima oleh

motor dc. Sedangkan resistor berfungsi sebagai hambatan agar arus listrik dari

bateray / akumulator tidak terlalu besar. Untuk LED yang dihubungkan ke motor

dc berguna untuk indikator motor dc apakah maju atau mundur. IC regulator

berfungsi untuk menurunkan tegangan yang diterima oleh L298

(44)

Pada rangkaian keseluruhan ini merupakan gabungan dari semua

rangkaian – rangkaian yang sebelumnya telah dirancang yaitu blok rangkaian

mikrokontroller AT89C51, rangkaian driver motor dc yang menggunakan IC L

298, dan rangkaian sensor ultrasonic ping parallax.

Gambar 3.6. Rangkaian keseluruhan robot penghindar halangan

Keterangan untuk gambar rangkaian diatas adalah untuk roda kanan robot

mendapatkan port P1.4 dan P1.5 sedangkan untuk roda kiri robot mendapatkan

port P1.2 dan P1.3. Untuk sensor ultrasonik mendapatkan port 0 yaitu ( P0.5,

(45)

3.3.6. Perancangan arena robot

Pada arena robot yang kami buat, kami menggunakan kayu triplek, engsel

dan juga sekrup. Alasan kami menggunakan engsel adalah agar arena dapat dilipat

sehingga mudah untuk dibawa kemana – mana.

Gambar 3.7. PerancanganArena

Pada gambar diatas menjelaskan bahwa kami menggunakan 20 potong

triplek dan setiap potongan triplek memiliki penjang 28 cm dan Lebar 15 cm.

Setiap potongan triplek disambungkan menggunakan engsel yang disekrup.

3.4 Perancangan Perangkat Lunak

Pada perancangan perangkat lunak ini, terdapat 2 bagian yang akan kami

buat yaitu driver motor dan sensor ultrasonik.

3.4.1 Perancangan Software Driver Motor

Pada bagian perangkat lunak driver motor ini saya memastikan bahwa

driver yang dibuat sudah benar dan sudah diuji dalam cara manual untuk dapat

(46)

Gambar 3.8 digram alir perancangan test gerak robot

Diatas adalah gambar diagram alir untuk uji coba sederhana untuk

menggerakkan motor dc atau menggerakkan robot dari driver motor, pada

perancangan perangkat lunak driver motor ini mula-mula robot akan kami

gerakkan maju, berbelok kanan lalu bergerak mundur dan terakhir berbelok kiri

ini adalah perancangan perangkat lunak untuk driver motor.

3.4.2 Perancangan Software Sensor Ultrasonik

Agar sistem dapat bekerja dengan baik maka diperlukan perangkat lunak

yang mengatur kerja dari keseluruhan rangkaian. Pertama-tama yang dibuat

adalah program alir (flowchart) dan kemudian dilakukan pembuatan program.

Pembuatan perangkat lunak harus melalui proses-proses uji coba secara

(47)

Gambar 3.9. Flowchart sensor depan

Dari gambar 3.9 menjelaskan bahwa ketika robot pertama kali berjalan,

robot akan memancancarkan sensor ultrasonik depan. Jika robot tidak menemukan

halangan atau jarak halangan halangan depan > 20 cm maka robot akan jalan lurus

terus ke depan dengan delay 3 detik.

(48)

membaca sensor depan ketika di depan robot menemukan halangan atau jarak

halangan <= 20 cm, maka langkah kedua robot akan melakukan cek sensor

halangan kanan. Jika di sebelah kanan robot tidak ada halangan atau halangan >20

cm, maka robot akan belok kanan dengan delay 2 detik.

Gambar 3.11. Flowchart sensor kiri

Dari gambar flowchart di atas dapat dijelaskan bahwa setelah langkah

ketiga setelah robot melakukan cek sensor kanan, maka robot akan melakukan cek

sensor kiri. Jika sensor kanan robot membaca adanya halangan atau halangan <=

20 cm maka robot akan melakukan cek sensor kiri. Jika di sebelah kiri robot tidak

ada halangan atau halangan > 20 cm, maka robot akan berbelok ke kiri dengan

(49)

Gambar 3.12. Flowchart semua sensor

Untuk penjelasan diagram alir diatas adalah pada saat robot hidup atau

catu daya dihidupkan pertamakali yang robot lakukan adalah pemancaran

gelombang ultrasonik pada semua sensor, pada saat sensor depan

mengeluarkan gelombang dan tidak ada halangan atau jarak halangan > 20

cm, maka robot akan berjalan maju dengan delay 3 detik. Jika pada saat robot

berjalan maju dan jarak halangan sudah <= 20 cm maka robot akan melakukan

pengecekan pada sensor sebelah kanan, jika disebelah kanan tidak terdapat

halangan atau jarak halangan > 20 cm maka robot akan berbelok kearah kanan

dengan delay 2 detik. Jika disebelah kanan robot terdapat halangan atau

(50)

halangan > 20 cm maka robot akan berbelok ke kiri. Namun apabila sebelah

kiri robot terdapat adanya halangan atau jarak halangan <= 20 cm maka robot

akan mundur sambil memancarkan sensor ultrasonik kanan dan kiri sampai

menemukan sisi kanan atau kiri yang kosong tanpa adanya halangan atau jarak

(51)

sebelumnya. Implementasi dalam membuat robot penghindar halangan yaitu

terdiri dari perangkat keras dan proses program dari perangkat lunak.

4.1. Implementasi Perangkat keras

Untuk gambaran sistem yang digunakan dalam implementasi robot

penghindar halangan ini adalah pertama user menghidupkan catudaya dari proses

ini maka mikrokontroler langsung mengeksekusi dan memerintahkan sensor

ultrasonik dan hasilnya dikembalikan ke mikrokontroler dan memerintahkan ke

driver motor, dan driver motor memerintahkan ke motor dc untuk bergerak.

4.1.1 Kerangka Robot

Dalam rangkaian mekanik robot terbuat dari aluminium dikarenakan

aluminium adalah benda yang ringan namun kuat. Dalam membuat rangkaian

mekanik robot diperlukan skrup untuk menghubungkan antar potongan dan bor

dengan ukuran 1,5 mm untuk membuat lubang skrup.

Gambar 4.1. Kerangka robot tampak depan

(52)

Gambar 4.2. Kerangka robot tampak atas

Gambar 4.3. Kerangka robot tampak bawah

(53)

menggunakan motor dc, kami menggunakan optibelt sebagai penghubungnya.

Untuk pemasangan roda robot kami menggunakan bearing untuk membantu

perputaran dan mengurangi gesekan pada saat roda digerakkan oleh motor dc.

4.1.2 Rangkaian MikrokontrolerAT89C51

Langkah penyusunan selanjutnya dari hardware robot penghindar halangan

ini adalah pengimplementasian dari perancangan dari mikrokontroler AT89C51

Gambar 4.5 Rangkaian mikrokontroler

Pada gambar rangkaian diatas terdapat satu komponen yang berfungsi

memberi tegangan sebesar 5Vdc yaitu komponen IC ( integrated circuit )

regulator atau IC 7805 komponen ini berfungis untuk menurunkan sumber

tegangan dc yang diterima oleh rangkaian menjadi 5Vdc ini dikarenakan

mikrokontroler AT89C51 bekerja pada sumber tegangan 5Vdc, sumber tegangan

(54)

Rangkaian driver motor ini berfungsi untuk menggerakkan roda untuk

dapat bergerak maju, mundur serta untuk mengatur kecepatan pergerakan roda

robot yang telah terhubung oleh motor dc.

Gambar 4.6 Rangkaian driver motor

Pada gambar driver motor diatas driver motor mempunyai 4 pin yang

masuk ke mikrokontroler, yaitu port P1.2, P1.3, P1.4, P1.5. Driver tersebut

menggunakan IC L298 dan tambahan 8 buah dioda 1n5819 dan IC regulator 7805,

motor dc dapat dijalankan secara langsung dengan menggunakan PWM. Resistor

berfungsi untuk menahan arus yang besar, LED warna hijau dan meah digunakan

untuk mengetahui arah perputaran motor dc atau roda robot, jika LED warna hijau

menyala jadi perputaran maju jika LED warna merah menyala maka perputaran

mundur.

4.1.4 Rangkaian sensor ultrasonik

Telah dibahas pada bab sebelumnya untuk perancangan perangkat keras

dari sensor ultrasonik dan penulis menerapkannya pada bab ini yaitu implementasi

(55)

Gambar 4.7. Rangkaian mikrokontroller dengan sensor ultrasonik

Pada gambar diatas adalah gambar untuk rangkaian ultrasonik yang

dihubungkan dengan rangkaian mikrokontroler, melaui 2 port yaitu port 0 ( P0.5,

P0.6, P0.7 ) dan port 2 ( P2.5, P2.6, P2.7 ),. Hal ini dikarenakan untuk

mikrokontroler keluarga MCS-51 seperti AT89C51 ini jenis mikrokontroler yang

tidak dapat mengeluarkan perintah trigger secara langasung, akan tetapi dengan

pemasangan yang benar dengan menggunakan 2 port untuk setiap sensor

ultrasonik buatan ping parallax ini perintah trigger yang diperintahkan dari

mikrokontroler keluarga MCS-51 atau AT89C51 ini dapat dilaksanakan oleh

sensor ultrasonik buatan ping parallax tersebut. Untuk sensor ultrasonik depan

mendapatkan port P0.7 dan P2.7 , sensor kiri mendapatkan port P0.6 dan P2.6

sedangkan sensor kanan mendapatkan port P0.5 dan P2.5.

4.1.5 Hardware EDT Programmer

EDT Programmer hardware adalah alat yang digunakan untuk

(56)

atau binner.

Gambar 4.8. EDT Programmer hardware 4.1.6 Arena robot

Arena robot ini terbuat dari potongan triplek yang disambung

menggunakan engsel agar bisa dilipat dan mudah dibawa. Arena ini membantu

untuk uji coba penerapan jalannya robot apakah jalannya robot sudah sesuai

dengan yang kita inginkan

(57)

Pada implementasi perangkat lunak penulis mengimplementaskan

perancangan perangkat lunak yang telah dibahas pada bab sebelumnya seperti

software yang digunakan penulis untuk menanamkan program robot kedalam

mikrokontroler, driver motor, sensor ultrasonik, sensor api.

4.2.1 Mikrokontroler AT89C51

Untuk implementasi dari perancangan perangkat lunak mikrokontroler

AT89C51 penulis menggunakan hardware dan software yaitu KEIL C51 v8.16

software untuk merubah bahasa C++ yang penulis buat ke bentuk biner atau

heksa dan EDT programmer hardware yaitu alat untuk tempat mikrokontroler

pada saat ditanamkan program untuk robot yang penulis buat dan EDT

programmer software untuk menanamkan program C++ yang telah dirubah ke

biner atau heksa untuk ditanamkan ke mikrokontroler.

4.2.1.1 KEIL C51

Program C++ merupakan program yang ditulis oleh penulis yaitu

program yang berupa kumpulan baris-baris perintah dan disimpan dalam file

yang berextensi .Uv2 ( uvision project ). program ini ditulis menggunakan

software Keil c51.

Keil C51 adalah software untuk menulis program C++ dari keluarga

MCS-51 sehingga Keil c51 ini cocok digunakan untuk mikrokontroler

(58)

biner atau heksa file yang akan ditanam ke mikrokontroler AT89C51.

Gambar 4.10 tampilan Keil C51

Pada Keil C51 ini mengkonvert program yang telah dibuat dalam

bentuk .bin atau biner dan juga .hex atau heksa ini bertujuan untuk program

yang akan ditanam ke mikrokontroler. Langkah pertama yang harus

dilakukan adalah buka Keil C51 jika telah terinstal buka open dan pilih

program dan letak program anda yang akan dikonvert menjadi biner atau

(59)

EDT programmer adalah software yang digunakan penulis untuk

menanam / mendownload program C++ yang telah kita konvert ke dalam

bentuk heksa untuk robot ke mikrokontroler, dengan fasilitas pendukung

hardware dari EDT programmer .

Gambar 4.11 EDT programmer software

Setelah penulis membuat program robot dengan bahasa C++ maka

penulis mengkonvert program C++ tersebut menjadi program biner atau

heksa dan tahap terakhir yaitu menanam program biner atau heksa tersebut

ke mikrokontroler dengan menggunakan sofware dan hardware EDT

(60)

4.2.1.3 Pemrograman driver motor

Untuk implementasi perangkat lunak driver motor ini penulis

mengimplementasikan dari perancangan perangkat lunak dari driver motor

dimana penulis akan mengimplementasikan program yang akan digunakan

atau ditanamkan ke mikrokontroler AT89C51 untuk menggerakkan motor dc

yang berfungsi untuk menarik roda robot sehingga robot dapat bergerak

sesuai dengan program yang diisikan atau ditanamkan ke mikrokontroler

AT89C51.

Telah dibahas pada bab sebelumnya tentang perancangan perangkat

lunak dari driver motor tentang diagram alir yang penulis buat pada gambar

3.8 yaitu untuk menggerakkan robot bergerak maju, belok kanan, mundur

dan belok kiri. Penulis mengimplementasikan diagram alir tersebut kepada

robot untuk langkah pertama yaitu seperti yang dijelaskan pada bab

mikrokontroler AT89C51 yaitu membuat programC++ pada Keil C51

dikonvert ke biner atau heksa lalu ditanam ke mikrokontroler dengan

menggunakan EDT programmer hardware dan software. Program yang

ditanamkan penulis untuk mengimplementasikan diagram alir dari bab

sebelumnya tentang driver motor adalah sebagai berikut :

(61)
(62)

R2 = 0;

P0_0 = 1;

spd = 1;

idelay(delay); }

Keterangan dari perangkat lunak driver motor diatas adalah L untuk

roda sebelah kiri R untuk roda sebelah kanan, sedangkan 0 adalah

pemberian nilai pada motor yaitu negatif atau 0, 1 adalah pemberian nilai

positif atau 1 dalam assembly 1 adalah set bit sedangkan 0 adalah clear, void

disini adalah sub rrutin pemanggilan, spd adalah PWM atau kecepatan dari

motor dan delay adalah penundaan.

4.2.1.4 PemrogramanSensor ultrasonik

Pada implementasi sensor ultrasonik ini penulis mencoba

menerapkan atau mengimplementasikan diagram alir pada gambar3.12 dari

perancangan perangkat lunak sensor ultrasonik dari bab yang telah dibahas

sebelumnya.

Bahasa yang digunakan C++ dengan menggunakan Keil C51

sebagai softwarenya.

while(1) {

while (jarak(0) > 90) {

spd = 90;

if (j > 200) spd = 50;

if (jarak(1) <= 40 && jarak(2) > 55) kanan2(2000); else

if (jarak(2) <= 45 && jarak(1) > 50) kiri2(2000);

(63)

while (jarak (0) <= 50) {

Berikut ini adalah penjelasan dari program diatas. Jika didepan robot

tidak terdapat halangan maka robot berjalan maju, sambil memancarkan

sensor ultrasonik yang ada di samping kanan dan kiri. Apabila di depan

terdapat halangan maka langkah selanjutnya adalah pengecekan sensor

ultrasonik kanan. Jika di sebelah kanan tidak ada halangan, maka robot akan

berbelok ke kanan. Namun apabila di samping kanan robot juga terdapat

halangan, maka robot akan melakukan pengecekan sensor ultrasonik kiri.

Apabila di samping kiri robot tidak ada halangan, maka robot akan berbelok

ke kiri. Namun apabila di samping kiri robot juga terdapat halangan, maka

(64)

sesuai dengan diagram alir yang penulis buat.

Keterangannya jika sensor aktif maka pin dari sensor akan diberikan

nilai 1 jika tidak maka nilainya 0, nop adalah penunda waktu sebanyak 1us

(65)

perangkat lunak usai maka selanjutnya adalah pengujian dari implentasi yang

telah saya buat.

5.1. Ujicoba

Setelah robot selesai dibuat, langkah selanjutnya adalah melakukan

ujicoba untuk mengetahui tingkat keberhasilan pembuatan robot.

5.1.1 Ujicoba Driver Motor

Untuk melakukan pengujian terhadap driver motor ini saya

menyiapkan dua buah baterai dengan tegangan 12V yang disusun seri sehingga

tegangan total mencapai 24V ini dikarenakan driver motor yang dibuat oleh

saya maksimal 24Volt jika tegangan kurang dari 15Volt maka motor dc tidak

akan bergerak karena supply tegangan yang kurang.

Isi program dan tanam pada mikrokontroler hubungkan pada driver

motor dan motor dc.

Gambar 5.1 Pengujian driver motor

(66)

P1.2 P1.3 P1.4 P1.5 Gerak Robot Nyala LED

P1.2 dan P1.3 adalah roda kiri dan P1.4 dan P1.5 adalah roda kanan, dari

hasil diatas dapat ditarik kesimpulan jika P1.2 bernilai 1 dan P1.3 bernilai 0 maka

gerak roda maju. P1.4 bernilai 1 dan P1.5 bernilai 0 maka gerak roda juga maju

dari kesimpulan ini jika nilai dari pin masing – masing roda dibalik maka putaran

roda juga terbalik. Seebaga indikatornya kita berikan masing – masing 2 LED

untuk setiap roda, yaitu 1 LED warna hijau dan 1 LED warna merah baik roda

kanan maupun kiri. Jika roda gerak maju maka LED warna hijau yang menyala

sedangkan apabila gerak roda mundur, maka LED waran merah yang menyala

5.1.2 Ujicoba sensor Ultrasonik

Sebelum sensor ultrasonik diuji pada robot maka sebaiknya sensor

ultrasonik diuji secara manual dengan cara sebagai berikut.

Sensor ultrasonik dapat dilakukan ujicoba secara manual dengan

menggunakan sebuah alat ukur dan benda sebagai penghalang ini berguna

(67)

Gambar 5.2 pengujian sensor ultrasonik manual

Pada gambar diatas saya uji sensor ultrasonik dengan menggunakan

penggaris dan suatu benda di depan sensor sebagai penghalang dan didapat

20cm jarak yang dihasilkan oleh pantulan dari sensor ultrasonik.

Tabel 5.2 pengujian sensor ultrasonik

Halangan ( Cm ) 0V – 5V Getar Jarum per menit

50 5V -

40 5V -

30 5V -

20 4V – 5V 100

Keterangan untuk tabel diatas adalah bahwa sensor ultrasonik dapat

membaca adanya halangan dengan memasangkan avo meter analog / jarum,

pada sensor didekatkan pada suatu halangan maka jarum dari avo meter

(68)

sensor mendeteksi halangan pada jarak halangan 20 cm. Tetapi jika sensor tidak

mendeteksi adanya halangan, maka jarum tetap berada pada angka 5v pada avo

meter.

5.1.3 Ujicoba Robot Penghindar Halangan

Setelah sensor ultrasonik telah diuji secara manual maka selanjutnya

sensor ultrasonik saya uji dengan menggunakn robot dan arena sehingga ini

adalah ujicoba robot penghindar halangan yang saya buat. Dengan

menggunakan arena yang saya buat maka robot terlihat dengan jelas bagaimana

robot yang saya buat menghindari halangan dari arena yang saya buat dari

triplek. Ini tampak seperti pada gambar dibawah ini.

Gambar 5.3 uji coba robot

Pada ujicoba robot ini robot yang saya buat dapat menghindari halangan

dari arena yang saya buat. Pada awal ketika robot dinyalakan, robot akan

melakukan cek sensor ultrasonik depan. Jika jarak halangan depan robot > 20 cm

maka robot akan maju dengan delay 3 detik. Apabila dalam berjalan maju dan

(69)

halangan >= 20 cm, maka robot akan berbelok ke kanan dengan delay 2 detik.

Tetapi jka halangan kanan robot <= 20 cm, maka robot akan melakukan cek

sensor kiri. Apabila sisi kiri robot tidak mendeteksi halangan atau jarak halangan

>= 20 cm, maka robot akan berbelok ke kiri dengan delay 2 detik. Tetapi jika

jarak halangan kiri robot juga <= 20 cm, maka robot akan mundur sambil

melakukan cek sensor ultrasonik kanan dan kiri hingga dia mendeteksi sisi

sebelah kanan atau sisi sebelah kiri adanya ruang atau jarak halangan > 20 cm

untuk berbelok.

5.2 Analisa Robot

Dalam pembuatan robot ini tentunya ada kelebihan dan kekurangan dalam

beberapa kondisi. Kekurangan tersebut membuat robot tidak bisa bekerja dengan

baik pada beberapa kondisi tertentu, dan berikut adalah beberapa analisanya :

5.2.1 Analisa Robot Berdasarkan Kondisi Lantai

Untuk uji coba robot berdasarkan lantai dapat dilihat dalam tabel di

bawah ini

Tabel 5.3 uji coba robot berdasarkan kondisi lantai

Nomorpengujian Kondisilantai Gerak robot Alasan

1 keramik kurang lancar roda selip / licin

2 keramik kurang lancar roda selip / licin

3 marmer lancar roda tidak selip / kesat

(70)

Gambar 5.4 Uji coba pada marmer Gambar 5.5 Uji coba pada keramik

Pada empat kali uji coba robot ini yaitu dua kali uji coba pada lantai

keramik ( gambar 5.4 ) dan dua kali uji coba pada lantai marmer ( gambar 5.5 ).

Dari semua hasil uji coba didapatkan hasil bahwa kondisi lantai keramik membuat

gerak roda robot selip terutama saat robot berbelok, hal ini dikarenakan lantai

keramik licin sehimgga gerak roda robot kurang maksimal. Selain itu nat atau

celah pada lantai keramik juga berpengaruh pada gerak roda robot terutama roda

depan. Nat atau celah pada lantai tersebut membuat roda depan robot tersangkut

dan membuat gerak robot terhambat sehingga gerak robot kurang maksimal.

Sedangkan pada lantai marmer gerak robot lebih lancar, hal ini dikarenakan lantai

marmer lebih kesat dibandingkan dengan lantai keramik dan lantai marmer juga

tidak memiliki celah atau nat sehingga gerak robot menjadi lancar.

5.2.2 Analisa Robot Berdasarkan Posisi Arena

Untuk uji coba ini, kita buat dalam kondisi dua buah arena. Dan uji

(71)

Tabel 5.4 uji coba robot berdasarkan kondisi lantai

Tabel 5.4 uji coba robot berdasarkan kondisi lantai

NomorNomorpengujian pengujian Arena Arena Hasil Hasil

1 ke – 1 lancar

Pada uji coba kali robot berdasarkan posisi arena ini, kami hanya

menggunakan lantai marmer dengan alasan agar gerak robot lancar. Pada dua

kali percobaan dengan kondisi arena 1 ( gambar 5.6 ) dan dua kali uji coba pada

kondisi arena 2 ( gambar 5.7 ) didapatkan hasil bahwa gerak robot lancar

dengan catatan arena robot harus benar – benar lurus agar pantulan sensor

ultrasonik benar – benar diterima dengan baik.

Pada uji coba kali robot berdasarkan posisi arena ini, kami hanya

menggunakan lantai marmer dengan alasan agar gerak robot lancar. Pada dua

kali percobaan dengan kondisi arena 1 ( gambar 5.6 ) dan dua kali uji coba pada

kondisi arena 2 ( gambar 5.7 ) didapatkan hasil bahwa gerak robot lancar

dengan catatan arena robot harus benar – benar lurus agar pantulan sensor

ultrasonik benar – benar diterima dengan baik.

5.2.3 Analisa Robot Berdasarkan Sudut Halangan 5.2.3 Analisa Robot Berdasarkan Sudut Halangan

Untuk uji coba ini kita buat dalam beberapa kondisi sudut halangan,

dan dapat kita lihat dalam tabel di bawah ini

Untuk uji coba ini kita buat dalam beberapa kondisi sudut halangan,

(72)

Nouji Suduthalangan Hasil / gerakrobot Alasan

1 sudut < = 600 menabrak pantulan sinyal tidak bisa diterima

2 sudut 700 lancar pantulan sinyal bisa diterima

3 sudut 800 lancar pantulan sinyal bisa diterima

4 sudut 900 lancar pantulan sinyal bisa diterima

5 sudut 1000 lancar pantulan sinyal bisa diterima

6 sudut 1100 lancar pantulan sinyal bisa diterima

7 Sudut >1200 menabrak pantulan sinyal tidak bisa diterima

Gambar5.8 sudut halangan 600 Gambar5.9 sudut halangan 700

(73)

Gambar5.12 sudut halangan 1000 Gambar5.13 sudut halangan 1100

Untuk keterangan dari tabel dan gambar di atas adalah saat halangan

robot bersudut 700 hingga sudut 1200 gerak robot bisa berjalan dengan lancar,

hal ini dikarena pantulan sinyal sensor ultrasonik dapat diterima dengan baik,

sedangkan pada kondisi sudut halangan <= 600 atau sudut > 1200 robot akan

menabrak karena pantulan sinyal sensor ultrasonik tidak bisa diterima dengan

baik sehingga robot tidak bisa membaca adanya halangan.

5.2.4 Analisa Pola Perbelokan Robot

Untuk pola penentuan perbelokan robot dapat dilihat dalam tabel di

(74)

Halangan depan Halangan kanan Halangan kiri Gerak robot

> 20 cm - -

20 cm > 20 cm <= 20 cm

20 cm <= 20 cm > 20 cm

20 cm > 20 cm > 20 cm

20 cm <= 20 cm <= 20 cm

Keterangan untuk tabel di atas adalah ketika robot dinyalakan, robot

akan maju dan sensor yang pertama kali membaca adalah sensor depan. Jika

halangan di depan masih > 20 cm maka robot akan masih maju. Ketika halangan

depan robot sudah mencapai 20 cm, maka robot akan membaca sensor sebelah

kanan. Apabila halangan sebelah kanan robot > 20 cm, maka robot akan

berbelok ke kanan. Apabila halangan sebelah kiri robot > 20 cm, maka robot

akan berbelok ke kiri. Jika jarak halangan kanan dan kiri robot sama – sama

lebih dari 20 cm maka robot akan memilih berbelok ke kanan. Hal ini

dikarenakan urutan pembacaan sensor robot yaitu depan, kanan, kemudian kiri

karena ketiga sensor tidak bisa bekerja secara bersamaan Sedangkan apabila

(75)

menemukan ruang yang kosong untuk berbelok.

Dari hasil ujicoba dan analisa pada robot yang telah kami buat,

ternyata robot ini mempunyai beberapa kekurangan, yaitu antara lain :

1. Robot dapat bekerja maksimal pada kondisi lantai marmer

dibandingkan keramik. Hal ini dikarenakan lantai keramik lebih licin jika

dibandingkan lantai marmer yang menyebabkan roda tidak dapat berputar

secara maksimal atau selip.

2. Robot juga tidak bisa bekerja maksimal pada kondisi lantai yang

memiliki celah atau nat, hal ini dikarenakan roda robot terutama roda depan

robot tersangkut pada celah atau nat tersebut sehingga gerak robot terhambat

agak terhambat atau kurang lancar.

3. Robot tidak dapat bekerja pada halangan yang bersudut <= 600 dan juga bersudut > 1200 atau tikungan. Hal ini dikarenakan sinyal yang

dipancarkan oleh transmitter tidak dapat diterima kembali oleh receiver

Gambar

Gambar 2.2 motor DC
Gambar 3.3. Skema Rangkaian Mikrokontroler AT89C51
Gambar 3.4. Skema rangkaian AT89C51 dengan sensor ultrasonik
Gambar 3.5. Skema Rangkaian Driver motor DC
+7

Referensi

Dokumen terkait

Dalam survei yang dilakukan, empat responden ayah sepakat bahwa tugas pengasuhan adalah tugas ayah dan ibu, namun ketika kebutuhan anak sudah tertangani oleh ibu,

Analisis Faktor yang Mempengaruhi Kepuasan Konsumen Produk Sepeda Motor Matic Honda Vario Techno di Kecamatan Sumbersari Kabupaten Jember; Eko Prasetyo; 070810201199

Mohammad Ridwan. Value Added Reporting.. mengeksploitasi yang lain. VAS ini merupakan alternatif pengganti laporan laba rugi dalam akuntansi konvensional. Dimana Baydoun dan

Sedangkan arahan atau rekomendasi dalam studi ini yaitu, sebagai langkah dalam pengembangan obyek wisata untuk dikembangkan menjadi obyek wisata unggulan, upaya yang perlu dilakukan

Nomor (8) : Diisi dengan jenis dan masa/tahun ketetapan atau pemotongan/pemungutan pajak seperti Surat Ketetapan Pajak Kurang Bayar Pajak Pertambahan Nilai Barang dan Jasa

Data yang digunakan dalam penelitian ini adalah data sekunder, meliputi: a)Data keuangan Pemerintah Kabupaten Kulon Progo tahun anggaran 1996 sampai dengan 2008 meliputi tar-

Hal ini berbeda dengan Tafsir Salman, yang mengutip dari Imam Fakhruddin menjelaskan bahwa Fajar digunakan sebagai sumpah oleh Allah swt, karena menunjukkan bahwa waktu malam

pengaruh yang signifikan dari metode latihan multiball dan metode latihan forehand ke dinding terhadap ketepatan forehand drive serta ada perbedaan yang