bab ii landasan teori 2.1 tinjauan pustakarepository.ump.ac.id/6700/3/imam ibnu mukti_bab ii.pdfmode...
TRANSCRIPT
BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
Kapal cerdas merupakan robot penghindar (Obstacle Avoidance Robot)
yang bentuknya dirancang menyerupai kapal. Dalam perancangan Kapal cerdas
mengacu pada beberapa penelitian sebelumnya.
Contoh robot penghindar rintangan yaitu robot pemadam api, robot ini
dilengkapi dengan sensor api dan sensor PING. Sensor ultrasonik dipasang pada
bagian depan, kanan dan kiri pada badan robot.Sensor ini digunakan untuk
mencari jalan, kemudian robot akan mencari api yang berda disekelilingnya. Dan
akan memadamkan api dengan menggunakan kipas. Untuk pergerakan robot
menggunakan motor servo yang diletakkan pada sisi kanan dan sisi kiri robot. (Eri
Prasetyo, Wahyu K.R., Bumi Prabowo, 2007).
Contoh bentuk kapal yaitu ACRO Si Lumba-Lumba, mengacu pada jenis
kapal cepat dengan bagian depan (Bulbous bow) yang meruncing, berfungsi untuk
membelah aliran air dan memilimalisir gaya-gaya yang menghambat gerakan
kapal, sehingga kapal dapat melaju dengan kecepatan yang optimal(Taif
Maharsyah dkk. 2012).
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.2 Sistem Cerdas
Kecerdasan buatan (Artificial Intelligent, AI) telah menjadi wacana umum
yang sangat penting dan banyak dijumpai. Kecerdasan Buatan atau Sistem cerdas
atau Intelegensi Buatan atau Artificial Inteligence merupakan cabang terpenting
dalam dunia komputer. Komputer tidak hanya alat untuk menghitung, tetapi
diharapkan dapat diberdayakan untuk mengerjakan segala sesuatu yang bias
dikerjakan oleh manusia. Manusia mempunyai pengetahuan, pengalaman dan
kemampuan penalaran dengan baik, agar komputer bisa bertindak seperti dan
sebaik manusia, maka komputer juga harus dibekali pengetahuan dan mempunyai
kemampuan untuk menalar.
Kecerdasan merupakan bagian kemampuan komputasi untuk mencapai
tujuan dalam dunia. Ada bermacam-macam jenis dan derajat kecerdasan untuk
manusia, hewan dan mesin.Kecerdasan buatan merupakan sebuah studi tentang
bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat
dilakukan lebih baik oleh manusia. ( Rich and Knight, 1991)
Kecerdasan buatan (AI) merupakan cabang dari ilmu komputer yang
dalam mempresentasi pengetahuan lebih banyak menggunakan bentuk symbol-
simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic
(Metode Heuristik adalah teknik yang dirancang untuk memecahkan masalah
yang mengabaikan apakah solusi dapat dibuktikan benar, tapi yang biasanya
menghasilkan solusi yang baik atau memecahkan masalah yang lebih sederhana
yang mengandung atau memotong dengan pemecahan masalah yang lebih
kompleks.) atau dengan berdasarkan sejumlah aturan.( Encyclopedia Britannica)
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman.
Memahami pesan yang kontradiktif dan ambigu, menanggapi dengan cepat dan
baik atas situasi yang baru, menggunakan penalaran dalam memecahkan masalah
dan menyelesaikannya secara efektif (Winston dan Pendergast, 1994)
Adapun konsep kecerdasan buatan yaitu meliputi
1. Tiring test – metode pengujian kecerdasanProses uji ini melibatkan
penanya (manusia) dan dua objek yang ditanyai. Yang satu adalah seorang
manusia dan satunya adalah sebuah mesin yang akan diuji.
2. Pemrosesan simbolik
komputer semula didesain untuk memproses bilangan/angka-
angka.(pemrosesan numerik). Sementara manusia dalam berpikir dan
menyelesaikan masalah lebih bersifat simbolik, tidak didasarkan pada
sejumlah rumus atau melakukan komputasi matematis.
3. Heuristik
Heuristic merupakan suatu strategi untuk melakukan suatu pencarian
(search) ruang problema secara selektif, yang memandu proses pencarian
yang kita lakukan sepanjang jalur yang memiliki kemungkinan sukses
paling besar.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
4. Penarikan kesimpulan (inferencing)
Kemampuan berpikir (reasoning) termasuk didalamnya proses penarikan
kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan dengan
menggunakan metode heuristic atau metode pencarian lainnya.
5. Pencocokan pola (pattern matching)
AI bekerja dengan metode pencocokan pola (pattern matching) yang
berusaha untuk menjelaskan objek kejadian (events) atau proses dalam
hubungan logik atau komputasional.
2.3 Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol
rangkaian elektronik dan umumnya dapat menyimpan program di dalamnya.
Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit). Memori
I/O tertentu dan unit pendukung seperti ADC (Analog to Digital Converter) yang
sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah
tersedianya RAM dan peralatan I/O pendukung sehingga ukuran papan
mikrokontroler menjadi sangat ringkas.
Mikrokontroler terdiri dari beberapa bagian seperti processor, memori
(RAM dan ROM), port I/O dan pendukung lainnya seperti counter/timer dan lain
sebagainya.Semua terbungkus dalam sutu kemasan chip.Fitur inilah yang
membedakan dengan sistem mikroposesor. Sebuah mikroprosesor juga memiliki
memori, port I/O dan pendukung lainnya untuk menjadi sebuah unit yang komplit,
akan tetapi semua komponen tersebut terpisah dari chip processor. Jika sistem
mikroprosesor dapat diprogram untuk melakukan banyak fungsi, maka sistem
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
mikrokontroler hanya dapat melakkan sebuah tugas dan menjalankan sebuah
program.
Gambar 2.1 Perbedaan dasar mikroprosesor dan mikrokontroler
Gambar 2.1 Memperlihatkan perbedaan dasar antara suatu sistem
mikroprosesor dengan sistem mikrokontroler. Dari Gambar 2.1 dapat dilihat jika
sistem mikroprosesor membutuhkan device pendukung untuk membuatnya
menjadi sebuah unit yang komplit dan bekerja, sementara dalam sistem
mikrokontroler fungsi-fungsi dari device pendukung telah terbungkus dalam
sebuah chip.
cpu
Gambar 2.2 Konfigurasi mikrokontroler arsitektur havard
CPU
Memori
data
Memori
Program
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
AVR merupakan mikrokontroler dengan arsitektur Harvard di mana
diantara kode program dan data disimpan dalam memori secara
terpisah.Umumnya arsitektur Harvard ini menyimpan kode program dalam
memori permanen atau semi-permanen (non volatile) sedangkan data disimpan
dalam memori tidak permanen (volatile). Sehingga dengan arsitektur seperti ini
memori program mikrokontroler menjadi lebih terlindungi dari spike tegangan
dan faktor lingkungan lain yang dapat merusak kode program. Beberapa jenis
AVR memiliki Flash, EEPROM dan SRAM yang semuanya terintegrasi dalam
satu IC, sehingga, untuk aplikasi-aplikasi tertentu tidak akan memerlukan memori
eksternal. (Agus Bejo, 2008).
2.3.1 Mikrokontroler AT-Mega 328
AT-Mega 328 adalah mikrokontroller keluaran dari Atmel yang
mempunyai arsitektur RISC (Reduce Instruction Set Computer) dimana setiap
proses eksekusi data lebih cepat dari arsitektur CISC (Completed Instruction Set
Computer).
Mikrokontroler AT-Mega328 memiliki arsitektur Havard, yaitu
memisahkan memori untuk kode program dan memori untuk data, sehingga dapat
memaksimalkan kerja dan parallelism.
Intruksi-intruksi dalam memori program dieksekusi dalam satu alur
tunggal dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah
diambil dari memori program.Konsep inilah yang memungkinkan instruksi-
instruksi dapat dieksekusi dalam setiap satu siklus clock.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
32 x 8-bit register serba guna digunakan untuk mendukung operasi pada
ALU (Arithmatic Logic Unit) yang dapat dilakukan dalam satu suklus.6 dari
register serbaguna ini dapat digunakan sebagai 3 buah registerpointer 16-bit pada
mode pengalamatan tidak langsung untuk mengambil data pada ruang memori
data.
Ketiga registerpointer 16-bit ini disebut dengan register X (gabungan
R26 dan R27 ), register Y (gabungan R28 dan R29), dan register Z (gabungan
R30 dan R31). Hampir semua intruksi AVR memiliki format 16-bit.Setiap alamat
memori program terdiri dari instruksi 16-bit atau 32-bit.
Selain register serba guna di atas, terdapat register lain yang terpetakan
dengan teknik Memory Mapped I/O selebar 64 Byte. Beberapa register ini
digunakan untuk fungsi SPI, EEPROM, dan fungsi I/O lainnya. Register-register
ini menempati memori pada alamat 0x20h – 0x5Fh.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.3.2 Konfigurasi Pin mikrokontroler AT-Mega 328
Mikrokontroler AT-Mega328 memiliki 4 buah port yaitu Port A, port B,
Port C dan Port D. Konfigurasi pin mikrokontroler AT-Mega328 dapat dilihat
pada Gambar 2.3.
Gambar 2.3 Konfigurasi pin AT-Mega328
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.3.3 Deskripsi Pin AT-Mega328
Gambar 2.3 merupakan konfigurasi pin mikrokontroler AT-Mega328.
Masing-masing pin mikrokontroler memiliki fungsinya tersendiri. Selain itu pada
beberapa pin mikrokontroler AT-Mega328 juga memiliki fungsi ganda. Untuk
lebih jelasnya deskripsi dari masing-masing pin mikrokontroler AT-Mega328
dijelaskan pada Tabel 2.1 untuk konfigurasi port B, Tabel 2.2 konfigurasi port C
dan Tabel 2.3 konfigurasi port D.
Tabel 2.1 Konfigurasi port B
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Tabel 2.2 Konfigurasi Port C
Tabel 2.3 Konfigurasi Port D
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.3.4 Fitur AT-Mega 328
Fasilitas yang dimiliki oleh mikrokontroler AT-Mega 328 adalah sebagai
berikut:
1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus.
2. 32 x 8-bit register serba guna.
3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
4. 32 KB Flash Memory.
5. Memiliki EEPROM ( Elekctrically Erasable Programmable Read Only
Memory ) sebesar 1 KB.
6. Memiliki SRAM ( Static Random Acces Memory ) sebesar 2 KB.
7. Memiliki I/O digital sebanyak 14 pin.
8. Memiliki 6 PWM (Pulse Width Modulation).
9. Master / Slave SPI Serial interface.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.3.5 Arsitektur mikrokontroler AT-Mega 328
Gambar 2.4 Arsitektur AT-Mega328
Mikrokontroler AT-Mega328 memiliki arsitektur Harvard, yaitu
memisahkan memori untuk kode program dan memori untuk data sehingga dapat
memaksimalkan kerja dan parallelism.Intruksi-inruksi dalam memori program
dieksekusi dalam satu alur tunggal, dimana pada saat satu intruksi dikerjakan
intruksi berikutnya sudah diambil dari memori program.Konsep inilah yang
memungkinkan intruksi-intruksi dapat dieksekusi dalam setiap satu siklus clock.
32 x 8-bit register serba guna digunakan untuk mendukung operasi pada
ALU ( Arithmaticlogicunit ) yang dapat dilakukan dalam satu siklus. 6 dari
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
register serba guna ini dapat digunakan sebagai 3 buah registerpointer 16-bit pada
mode pengalamatan tak langsung untuk mengambil data pada ruang memori data.
Ketiga registerpointer 16-bit ini disebut dengan register X ( gabungan R26 dan
R27 ). Register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan
R31 ).
Hampir semua intruksi AVR memiliki format 16-bit. Setiap bit alamat
memori program terdiri dari intruksi 16-bit atau 32-bit. Selain register serba guna
di atas, terdapat register lain yang terpetakan dengan teknik memorymapped I/O
selebar 64-byte. Beberapa register ini digunakan untuk fungsi khusus antara lain
sebagai registercontrolTimmer/Counter, Interupt, ADC, USART, SPI, EEPROM,
dan fungsi I/O lainnya. Register-register ini menempati memori pada alamat
0x20h-0x5Fh.Tampilan arsitektur mikrokontroler AT-Mega328 dapat dilihat pada
Gambar 2.4.
2.4 Motor DC
Motor DC sering dipergunakan dalam penerapan yang memerlukan
ketepatan pengaturan kecepatan dan keluaran momen-kakas dalam suatu rentang
yang lebar.Kecepatan diatur melalui perubahan tegangan yang diberikan pada
terminal gandar kumparan.Dengan demikian analisanya melibatkan waktu
peralihan listrik di dalam rangkaian gandar kumparan serta dinamika dari beban
mekanika yang digerakan oleh motor.
Karakteristik kecepatan momen kakas dari suatu motor DC dapat diatur
dengan mengubah ubah tegangan gandar kumparan, dengan mengubah-ubah arus
medan. Untuk keperluan tertentu, cara-cara tersebut masing-masing dapat
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
dipergunakan untuk merancang pengaturan motor dengan cepat. Sistem tegangan
gandar-kumparan yang dapat diatur menggunakan rangkaian penyearah thyristor
yang fasanya dapat diubah-ubah untuk memberikan daya DC bagi motor DC.
2.4.1 Pengertian motor DC
Motor listrik merupakan perangkat elektromagnetis yang mengubah energi
listrik menjadi energi mekanik. Motor DC memerlukan suplay tegangan yang
searah pada kumparan medan untuk diubah menjadi energi mekanik. Kumparan
medan pada motor DC disebut Stator (bagian yang tidak berputar) dan kumparan
jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada kumparan
jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang
berubah-ubah arah pada setiap setengah putaran. Prinsip kerja dari motor arus
searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai
positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah
dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk motor
paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di
antara kutub-kutub mengnet permanen.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Gambar 2.5 Motor DC
Catu tegangan DC dari baterai menuju ke lilitan melalui sikat yang
menyentuh komutator, dua segmen yang terhubung dengan dua ujung
lilitan.Kumparan satu lilitan pada gambar diatas disebut angker dynamo. Angker
dynamo adalah sebutan untuk komponen yang berputar diantara medan magnet.
2.4.2Prinsip dasar cara kerja motor DC
Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar
konduktor.
Gambar 2.6 Medan magnet yang mambawa arus
Mengelilingi konduktor
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Aturan genggam tangan kanan bisa dipakai untuk menentukan arah garis
fluks disekitar konduktor. Genggaman konduktor dengan tangan kanan dengan
jempol mengarah pada arah aliran arus, maka jari-jari anda akan menunjukkan
arah garis fluks. Gambar 2.7 menunjukkan medan magnet yang terbentuk di
sekitar konduktor berubah arah karena bentuk huruf U.
Gambar 2.7 Medan magnet yang berubah arah
Medan magnet hanya terjadi di sekitar sebuah konduktor jika ada arus
mengalir pada konduktor tersebut. Pada motor listrik konduktor berbentuk U
disebut angker dynamo.
Gambar 2.8 Medan magnet mengelilingi konduktor dan diantara kutub
Jika konduktor berbentuk U (angker dynamo) diletakan diantara kutub utara
dan selatan yang kuat medan magnet konduktor akan berinteraksi dengan medan
magnet.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Gambar 2.9 Reaksi garis fluks
Lingkaran bertanda A dan B merupakan ujung konduktor yang
dilengkungkan (looped conductor). Arus mengalir masuk melalui ujungA dan
keluar melalui ujung B. Medan konduktor A yang searah jarum jam akan
menambah medan pada kutub dan menimbulkan medan yang kuat di bawah
konduktor. Konduktor akan berusaha bergerak ke atas untuk keluar dari medan
kuat ini. Medan konduktor B yang berlawanan arah jarum jam akan menambah
medan pada kutub dan menimbulkan medan yang kuat di atas konduktor.
Konduktor akan berusaha untuk bergerak turun agar keluar dari medan yang kuat
tersebut. Gaya-gaya tersebut akan membuat angker dynamo berputar searah jarum
jam.
Mekanisme kerja untuk seluruh jenis motor secara umum:
1. Arus listrik dalam medan magnet akan memberikan gaya.
2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah
lingkaran/loop, maka kedua sisi loop, yaitu pada sudut kanan medan
magnet, akan mendapatkan gaya pada arah yang berlawanan.
3. Pasangangaya menghasilkan tenaga putar/torsi untuk memutar kumparan.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
4. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan
tenaga putaran yang lebih seragam dan medan megnetnya dihasilkan oleh
susunan elektromagnetik yang disebut kumparan medan.
Pada motor DC, daerah kumparan medan yang dialiri arus listrik akan
menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah
tertentu. Konversi dari energi listrik menjadi energi mekanik (motor) maupun
sebaliknya berlangsung melalui medan magnet, dengan demikian medan magnet
selain berfungsi sebagai tempat unuk menyimpan energi, juga sebagai tempat
berlangsungnya proses perubahan energi. Daerah tersebut dapat dilihat pada
Gambar 2.10.
Gambar 2.10 Prinsip kerja motor DC
Agar proses perubahan energi mekanik dapat berlangsung secara
sempurna, maka tegangan sumber harus lebih besar dari pada tegangan gerak
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
yang disebabkan reaksi lawan. Pemberian arus pada kumparan jangkar yang
dilindungi oleh medan magnet maka menimbulkan perputaran pada motor.
Penting untuk mengerti apa yang dimaksud dengan beban motor. Beban
mengacu pada keluaran tenaga putar/torsi sesuai dengan kecepatan yang
diperlukan. Beban umumnya dapat dikategorikan ke dalam tiga kelompok, yaitu:
1. Beban torsi konstan adalah beban dimana permintaan keluaran
energinya bervariasi dengan kecepatan operasinya namun torsinya
tidak bervariasi. Contohnya beban dengan torsi konstan adalah
corveyors, totary kilns, dan pompa displacement konstan.
2. Beban dengan torsi variable adalah beban dengan torsi yang bervariasi
dengan kecepatan operasi. Contohnya pompa sentrifugal dan kipas
angin/fan (torsi bervariasi sebagai kuadrat kecepatan).
3. Beban dengan energi konstan adalah beban dengan permintaan torsi
yang berubah dan berbanding terbalik dengan kecepatan. Contoh
peralatan-peralatan mesin.
2.4.3 Prinsip Arah Putaran Motor.
Untuk menentukan arah putaran motor digunakan kaedah Flaming tangan
kiri. Kutub-kutub megnet akan menghasilkan medan magnet dengan arah dari
kutub utara ke kutub selatan. Jika medan magnet memotong sebuah kawat
penghantar yang dialiri arus searah dengan empat jari, maka akan timbul gerak
searah ibu jari. Gaya ini disebut gaya Lorentz, yang besarnya sama dengan F.
Motor DC bekerja berdasarkan prinsip gaya Lorentz, yang menyatakan
ketika sebuah konduktor beraliran arus diletakan dalam medan magnet,maka
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
sebuah gaya (yang dikenal dengan gaya Lorentz) akan tercipta secara ortogonal
diantara arah medan magnet dan arah aliran arus. Mekanisme ini diperlihatkan
pada Gambar 2.11.
Gambar 2.11 Bagan mekanisme kerja motor dc magnet permanen
Motor DC yang digunakan pada robot beroda umumnya adalah motor DC
dengan magnet permanen. Motor DC jenis ini memiliki dua buah magnet
permanen sehingga timbul medan magnet di antara kedua magnet tersebut. Di
dalam medan magnet inilah jangkar/rotor berputar. Jangkar yang terletak di
tengah motor memiliki jumlah kutub yang ganjil dan pada setiap kutubnya
terdapat lilitan. Lilitan ini terhubung ke area kontak yang disebut komutator. Sikat
(brushes) yang terhubung ke kutub positif dan negativ motor memberikan daya ke
lilitan sedemikian rupa sehingga kutub yang satu akan ditolak oleh magnet
permanen yang berada didekatnya, sedangkan lilitan lain akan ditarik ke magnet
permanen yang lain,sehingga menyebabkan jangkar berputar. Ketika jangkar
berputar, komutator mengubah lilitan yang mendapat pengaruh polaritas medan
magnet sehingga jangkar akan terus berputar selama kutub positif dan negative
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
motor diberi daya. Kecepatan putar motor DC (N) dirumuskan dengan persamaan
(2.1)
.......................................................................... (2.1)
Keterangan:
= Tegangan terminal
= Arus jangkar motor
= Hambatan jangkar motor
= Konstanta motor
= Fluk magnet yang terbentuk pada motor
Pengendalian kecepatan putar motor DC dapat dilakukan dengan mengatur
besarnya tegangan terminal motor.Metode tersebut dapat diaplikasikan dengan
teknik modulasi lebar pulsa atau PulseWidthModulation (PWM).
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.5 Sensor Ultrasonik
Ultrasonik adalah penerapan dan penggunaan gelombang bunyi dengan
frekuensi-frekuensi diatas daerah audio manusia, dengan kata lain diatas 20
kHz.Penerapan penggunaan sensor ultrasonik sebagai pengukur jarak dengan
melakukan gema (sonarranging).Bunyi bergerak sebagai gelombang mampat dan
harusada media yang dipakai untuk dilewatinya.Kecepatan bunyi melalui medium
padat kira-kira sepuluh kali lebih tinggi dari pada melalui medium udara.
(kecepatan bunyi malalui udara adalah ± 340 m/det).
Gelombang ultrasonik diproduksi dengan menggunakan resonator
elektromekanis.Cara kerja dari tranduser ini bergantung pada efek piezo-
electric.Efek piezo-electric terlihat dalam bahan –bahan seperti kuarsa dan
keramik jika muatan dipole (dua kutub) didalam keramik disejuruskan oleh proses
yang disebut polarisasi. Bahan tersebut dipanaskan sampai suhu diatas titik curie,
kemudian pada saat mendingin kembali melalui titik curie dan dikenai oleh
medan listrik. Hal ini akan memaksa dipole-dipole itu untuk menjuruskan dari
masing- masing kearah medan yang dikenakan. Dan penjurusan ini akan bertahan
bila bahan sudah menjadi dingin kembali pada suhu normal dan medan
dihilangkan. Sekarang bahan itu menjadi piezo-electric yaitu bahan tersebut akan
membangkitkan tegangan listrik yang membentanginya, jika bahan itu
diregangkan secara mekanis kearah polarisasinya, bahan itu akan berubah
panjangnya.
Dengan cara demikian piezo-electric mengubah energi mekanis menjadi
energi listrik dan juga sebaliknya. Tegangan bolak-balik akan memaksanya
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
bergetar dan akanterjadi perubahan mekanis maksimum (bila isyarat yang
dikenakan berada pada frekuensi sama dengan frerkuensi resonansi diri
tranducer). Perubahan-perubahan mekanis ini akan dipancarkan sebagai
gelombang ultrasonik. Sedangkan gelombang ultrasonik digunakan untuk
mengetahui jarak antara robot dengan objek disekitarnya.Prinsip yang digunakan
adalah pemantulan gelombang suara.Suara ultrasonik dipancarkan oleh bagian
pemancar, dipantulkan oleh objek disekitarnya, lalu diterima kembali oleh bagian
penerima,perhatikan Gambar 2.12.
Gambar 2.12 Pemantulan suara pada sensor ultrasonik
Sedangkan cara kerja sensor ultrasonik dalam menentukan jarak adalah
menghitung waktu dari pengiriman gelombang suara sampai gelombang suara itu
diterima kembali. Sensor uiltrasonik tidak terpengaruh dengan perbedaan warna
objekyang dikenai pantulan gelombang, dan tidak terpengaruh cahaya
disekitarnya.Sensor ultrasonik produksi parallax banyak digunakan untuk
aplikasi/kontes robot.Kelebihan sensor ini ialah hanya membutuhkan 1 sinyal
(SIG), selain jalur 5 V dan ground.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Gambar 2.13Sensor ultrasonikPING
Sensor ultrasonik ping mendeteksi jarak obyek dengan cara memancarkan
gelombang ultrasonik (40 KHz) selama (200 us) kemudian mendeteksi
pantulannya serta memancarkan gelombang ultrasonik dari mikrokontroler pulsa
TTL positif yaitu min 2 ms dengan kisaran jarak 3 cm – 3 m. Gelombang
ultrasonik ini merambat melalui udara dengan kecepatan 340 m/s, lalu mengenai
obyek dan memantul kembali ke sensor sehingga mengeluarkan pulsa output high
pada pin SIG. Setelah memancarkan gelombang ultrasonik dan gelombang
pantulan telah terdeteksi maka sensor akan membuat output low pada pin SIG.
Sedangkan untuk lebar pulsa high akan sesuai dengan lama waktu tempuh
gelombang ultrasonic untuk 2x jarak ukur dengan obyek. Maka untuk jarak yang
diukur ialah[( ] meter.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.6 IC L293D
IC L293D adalah IC yang didesain khusus sebagai driver motor DC dan
dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC
yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke
sumber tegangan positif karena di dalam driver L293D sistem driver yang
digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah
driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan
arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driverH-
bridge untuk 2 buah motor DC.
Gambar 2.14 Kontruksi IC L293D
2.6.1 Fungsi Pin Driver Motor DC IC L293D
1. Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver
menerima perintah untuk menggerakan motor DC.
2. Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC.
3. Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing
driver yang dihubungkan ke motor DC
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
4. Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor
DC, dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol
driver dan VCC2 adalah jalur input sumber tegangan untuk motor DC
yang dikendalikan.
5. Pin GND (Ground) adalah jalur yang harus dihubungkan ke ground,pin
GND ini ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah
pendingin kecil.
2.6.2 Feature Driver Motor DC IC L293D
Driver motor DC IC L293D memiliki fitur yang lengkap untuk sebuah
driver motor DC sehingga dapat diaplikasikan dalam beberapa teknik driver
motor DC dan dapat digunakan untuk mengendalikan beberapa jenis motor DC.
Fitur yang dimiliki driver motor DC IC L293D sesuai dengan datasheet adalah
sebagai berikut :
1. WideSupply-VoltageRange: 4.5 V to 36 V.
2. Separate - Input LogicSupply.
3. Internal ESD Protection.
4. ThermalShutdown.
5. High-Noise-Immunity Inputs.
6. FunctionallySimilar to SGS L293 and SGS L293D.
7. Output Current 1 A Per Channel (600 mA for L293D).
8. PeakOutputCurrent 2 A Per Channel (1.2 A for L293D) .
9. Output ClampDiodesforInductiveTransientSuppression (L293D).
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.6.3 Rangkaian Aplikasi Driver IC L293D Untuk Dua Motor DC
Gambar 2.15 Rangkaian aplikasi driver motor DC IC L293D untuk dua motor DC
Prinsip kerja driver menggunakan IC L293D adalah Pin EN1 adalah pin
untuk mengenablekan motor 1 (ON / OFF) biasanya Pin EN1 dihubungkan
dengan PWM untuk mengontrol kecepatan motor. Sementara untuk EN2
fungsinya sama dengan EN1 bedanya EN2 untuk mengontrol motor DC 2.
Sementara untuk mengontrol arah putar motor dapat dilihatpada Tabel 2.4dan
Tabel 2.5.
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Tabel 2.4 Arah putar motor 1 pada ICL293D
IN 1 IN 2 KONDISI MOTOR DC 1
0 0 Berhenti
0 1 Putar searah jarum jam
1 0 Putar berlawanan arah jarum jam
1 1 Berhenti
Tabel 2.5 Arah putar motor 2 pada IC L293D
IN 3 IN 4 KONDISI MOTOR DC 2
0 0 Berhenti
0 1 Putar searah jarum jam
1 0 Putar berlawanan arah jarum jam
1 1 Berhenti
Jika IN1 diberi input logika 1 dan IN2 diberi input logika 0, maka motor
(1) akan berputar kebalikan arah jarum jam. Dan sebaliknya jika IN1 diberi input
logika 0 dan IN2 diberi input logika 1, maka motor (1) akan berputar searah jarum
jam. Jika memberi logik 1 atau 0 pada IN1 dan IN2 bersamaan, Motor (1)akan
berhenti (Pengereman Secara Cepat). Begitu juga dengan motor 2. Sementara
untuk mengatur kecepatan motor adalah dengan mengatur input dari enable 1
(pin1) dan enable 2 (pin9) menggunakan PWM (PulseWidthModulation).
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
2.7 Bahasa C
2.7.1 Struktur Penulisan Bahasa C
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuahfungsi. Fungsi pertama yang harus ada
dalam program C dan sudah ditentukan namanya adalah main().Setiap fungsi
terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan
untuk melaksanakan tugas khusus.Bagian pernyataan fungsi (sering disebut tubuh
fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri dengan tanda
kurung kurawal tutup (}). Di antara kurung kurawal itu dapat dituliskan statemen-
statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak
mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki pernyataan,
kurung kurawal haruslah tetap ada.Sebab kurung kurawal mengisyaratkan awal
dan akhir definisi fungsi. Berikut ini adalah struktur dari program C:
Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena
strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya
(subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan
program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
diletakkan pada file pustaka (library). Jika fungsi-fungsi diletakkan pada file
pustaka dan akan dipakai pada suatu program, maka nama file judulnya
(headerfile) harus dilibatkan dalam program yang menggunakannya dengan
preprocessor directive berupa #include.
Pengenalan Fungsi-Fungsi Dasar
a. Fungsi main()
Fungsimain() harus ada pada program, sebab fungsi inilah yang
menjadi titik awal dan titik akhir eksekusi program. Tanda { diawal fungsi
menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program,
sedangkan tanda } diakhir fungsi merupakan akhir tubuh fungsi dan
sekaligus adalah akhir eksekusi program. Jika program terdiri atas lebih
dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling
atas dalam pendefinisian fungsi.Hal ini hanya merupakan
kebiasaan.Tujuannya untuk memudahkan pencarian terhadap program
utama bagi pemrogram.Jadi bukanlah merupakan suatu keharusan.
b. Fungsi printf()
Fungsi printf() merupakan fungsi yang umum dipakai untuk
menampilkan suatu keluaran pada layar peraga. Untuk menampilkan
tulisan:
Selamat belajar bahasa C
misalnya, pernyataan yang diperlukan berupa:
printf(“Selamat belajar bahasa C”);
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
Pernyataan di atas berupa pemanggilan fungsi printf() dengan
argumen atau parameter berupa string. Dalam C suatu konstanta string ditulis
dengan diawali dan diakhiri tanda petik ganda (“).Perlu juga diketahui
pernyataan dalam C selalu diakhiri dengan tanda titik koma (;).Tanda titik
koma dipakai sebagai tanda pemberhentian sebuah pernyataan dan
bukanlah sebagai pemisah antara dua pernyataan. Tanda \ pada string
yang dilewatkan sebagai argumen printf() mempunyai makna yang
khusus.Tanda ini bisa digunakan untuk menyatakan karakter khusus seperti
karakter baris-baru ataupun karakter backslash (miring kiri).Jadi karakter
seperti \nsebenarnya menyatakan sebuah karakter.Contoh karakter yang ditulis
dengan diawali tanda\ adalah:
\” menyatakan karakter petik-ganda
\\ menyatakan karakter backslash
\t menyatakan karakter tab
Dalam bentuk yang lebih umum, format printf()
printf(“string kontrol”, daftar argumen);
Dengan string kontrol dapat berupa satu atau sejumlah karakter
yang akan ditampilkan ataupun berupa penentu format yang akan
mengatur penampilan dari argumen yang terletak pada daftar argumen.
Mengenai penentu format diantaranya berupa:
%d untuk menampilkan bilangan bulat (integer)
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
%s untuk menampilkan sebuah string
Contoh:
#include <stdio.h>
main( )
{
printf(“No : %d\n”, 10);
printf(“Nama : %s\n”, “Ali”);
printf(“Nilai : %f\n”,80.5);
printf(“Huruf : %c\n”,„A‟);
}
Pengenalan Praprosesor #include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor
directive). Pengarah praprosesor ini dipakai untuk membaca file yang
diantaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul
disediakan dalam C. File-file ini mempunyai cirri yaitu namanya diakhiri dengan
ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada
kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi.
Bentuk umum #include:
#include “namafile”
Bentuk pertama (#include<namafile>) mengisyaratkan bahwa pencarian
file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan
bentuk kedua (#include “namafile”) menyatakan bahwa pencarian file dilakukan
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014
pertama kali pada direktori aktif tempat program sumber dan seandainya tidak
ditemukan pencarian akan dilajutkan pada direktori lainnya yang sesuai dengan
perintah pada sistem operasi.
Kebanyakan program melibatkan file stdio.h (file-judul I/O standar, yang
disediakan dalam C). Program yang melibatkan file ini yaitu program yang
menggunakan pustaka I/O (input-output) standar seperti printf().
Komentar dalam Program
Untuk keperluan dokumentasi dengan maksud agar program mudah
dipahami suatu saat lain, biasanya pada program disertakan komentar atau
keterangan mengenai program. Dalam C, suatu komentar ditulis degan diawali
dengan tanda /* dan diakhiri dengan tanda */.
Contoh:
/*
Tanda ini adalah komentar
Untuk multiple line
*/
#include <stdio.h>
Main()
{
Printf(“coba\n”); //ini komentar satu baris
Kapal Cerdas Berbasis..., Imam Ibnu Mukti, Fakultas Teknik UMP, 2014