BENARHASILKARYASAYASENDIRIYANGBELUMPERNAH DIAJUKANSEBAGAISKRIPSIATAUKARYAILMIAHPADA
PERGURUAN TINGGI ATAUPUN LEMBAGA MANAPUN.
iv
ABSTRAK
Segala puji syukur penulis panjatkan kehadirat Allah SWT, yang telah
Skripsi ini dengan judul “Rancang Bangun Prototipe Alat Deteksi Jarak pada
Skripsi ini adalah sebagai syarat untuk memperoleh gelar Sarjana Strata Satu (S1)
di Program Studi Teknik Informatika Fakultas Sains dan Teknologi UIN Syarif
Hidayatullah Jakarta.
jauh dari kesempurnaan dan masih banyak kekurangan. Hal ini disebabkan
baik materi dan teknik. Oleh karena itu kritik yang sifatnya membangun dan saran
baik dari segi moral dan material dari berbagai pihak. Oleh karena itu, pada
1. Bapak Dr. Agus Salim, M. Si selaku Dekan Fakultas Sains dan Teknologi.
2. Ibu Nurhayati, Ph.D selaku Ketua Program Studi Teknik Informatika dan
Bapak Hendra Bayu Suseno M.Kom, selaku Sekretaris Program Studi Teknik
Informatika.
3. Ibu Nenny Anggraini, S.Kom, MT, selaku Dosen Pembimbing I dan Bapak
4. Bapak Hata Maulana, S.Si, MTI selaku Dosen Penguji I dan Ibu Fenty Eka
UIN Syarif Hidayatullah Jakarta yang secara bijaksana dan kooperatif telah
menguji skripsi saya, memberikan arahan dan saran serta bimbingan perbaikan
5. Mamah, Bapak serta kedua Kakak tersayang dan keponakan tercinta yang
selalu memberikan doa, dukungan semangat dan motivasi dalam segala hal
6. Sahabat – sahabatku, Fitri Sani Najiha, Cholifah Nur Asri, Devi Tri Lestari,
Gita Cipta Puspita, Joko Budi Pratomo, Nurul Fauziah, dan semua teman –
bantuan kepada penulis selama kuliah serta hingga skripsi ini selesai.
kepada penulis, serta menjadi pendengar setia cerita dalam suka maupun duka.
8. Semua pihak yang secara langsung maupun tidak langsung membantu penulis
Pada kesempatan ini penulis juga memohon maaf yang sebesar – besarnya
dan menyadari bahwa skripsi ini belumlah sempurna, maka penulis sangat
mengharapkan kritik dan saran dari pembaca dan pihak lain untuk penulisan
Akhir kata penulis berharap agar skripsi ini dapat bermanfaat bagi
Halaman
Halaman Judul........................................................................................... i
Lembar Pernyataan.................................................................................... iv
Abstrak ...................................................................................................... v
Daftar Isi.................................................................................................... ix
BAB I PENDAHULUAN........................................................................ 1
1.1. Latar Belakang ............................................................................. 1
BAB V PENUTUP................................................................................... 90
5.2 Saran.............................................................................................. 91
LAMPIRAN.......................................................................................................
DAFTAR GAMBAR
Halaman
Gambar 4.6 Hasil Pembacaan Sensor PING pada Serial Monitor ........... 83
Gambar 4.7 Hasil Pengukuran Manual Menggunakan Penggaris ............ 84
Gambar 4.13 Pemasangan Sensor PING dengan Dua Buah Micro Servo 87
Halaman
xvi
DAFTAR LAMPIRAN
Halaman
xvii
BAB I
PENDAHULUAN
pengambilan komponen dan produk dari dan menuju tempat tertentu di dalam
gudang penyimpanan pada suatu pabrik maupun industri. Salah satu contoh
sederhana dari sistem ini adalah proses pemindahan dan penyusunan barang pada
manusia mengangkat barang dengan bobot yang berat dan ukuran yang cukup
proses yang kerja yang lambat dan seringnya terjadi kecelakaan kerja, tingkat
Amerika pada sektor transportasi dan pergudangan tahun 2010 terjadi 661 kasus
pengambilan barang dilakukan dengan lebih mudah, aman serta lebih cepat
sensor pada kendaraan pribadi untuk mendeteksi jarak saat parkir dinilai dapat
1
2
mengurangi benturan dengan mobil, dari sistem yang ada pada kendaraan pribadi
ini, ada baiknya jika sensor parkir ini diterapkan pada mobil pengangkut barang
yang berfungsi sebagai pengingat jarak, dan tampilan grafik pada layar PC yang
sistem elektronik digital yang merupakan bagian dari sebuah sistem yang lebih
besar atau dalam kata lain sering di sebut embedded system atau sistem tertanam.
system yang di desain khusus untuk aplikasi tertentu. Secara fisik embedded
system berkisar dari perangkat portable seperti jam digital dan MP3 player, untuk
instalasi seperti lampu lalu lintas, pengontrol pabrik, bahkan saat ini diterapkan
pada mobil pribadi yang dapat digunakan saat parkir. Kompleksitas bervariasi
dari rendah, dengan satu mikrokontroler chip, hingga sangat tinggi dengan
beberapa unit. Salah satu mikrokontroler yang paling popular dan banyak
elektronik yang open source, berbasis pada software dan hardware yang fleksibel
dan mudah digunakan. Arduino adalah sebuah papan rangkaian yang kecil,
2
3
seukuran kartu nama, yang dapat diprogram dan mampu bekerja seperti layaknya
sebuah komputer.
bermunculan berbagai bahasa pemrograman yang ada pada komputer saat ini.
atau Object Oriented Programming (OOP). Java bersifat netral, tidak bergantung
pada suatu platform, dan mengikuti prinsip WORA ( Write Once and Run
COBOL, C, ProLog, dan yang lainnya harus bergantung pada suatu platform
karena harus mengkompilasi program tersebut pada setiap sistem operasi yang
merancang sebuah prototipe alat deteksi jarak dengan perpaduan antara arduino,
sensor PING dan Java. Hal ini difungsikan agar alat tersebut dapat berjalan pada
mobil atau alat pemindah barang sesuai dengan yang penulis harapkan. Dalam
sensor ini mampu mendeteksi adanya objek berkisar 3cm – 3m, jarak yang di
deteksi sensor menjadi acuan bagi prototipe tersebut, hal ini yang menjadi alasan
penulis untuk menentukan judul tugas akhir, oleh karena itu dibuatlah tugas akhir
3
4
dengan judul “Rancang Bangun Prototipe Alat Deteksi Jarak dengan Sensor
bahwa permasalahan yang ada adalah bagaimana mengatasi masalah pada forklift
sekitarnya serta tingkat kerusakan benda yang sangat tinggi dengan membuatkan
sistem pergudangan.
4
5
1. Bagi Penulis
2. Bagi Universitas
langsung.
3. Bagi Pengguna
5
6
penelitian dibagi menjadi dua, yaitu metode pengumpulan data dan metode
1. Studi Pustaka
a. Pemilihan fungsi.
b. Penyusunan Sistem.
c. Evaluasi.
d. Penggunaan Selanjutnya.
6
7
dibahas pada tugas akhir ini, maka penulis menguraikan tahapan-tahapan dalam
BAB I PENDAHULUAN
BAB V PENUTUP
7
BAB II
LANDASAN TEORI
Pada bab ini akan dijelaskan mengenai landasan teori dan alat yang
digunakan pada penelitian skripsi ini. Penjelasan yang diberikan pada bab ini
diharapkan dapat membantu peneliti serta pembaca dalam memahami teori yang
dipakai dalam laporan penelitian ini. Teori yang dijelaskan pada bagian ini
(Pressman, 2002). Rancangan sistem adalah penentuan proses dan data yang
diperlukan oleh sistem baru (McLeod, 2002). Perancangan adalah kegiatan yang
mengganti atau memperbaiki sistem yang telah ada baik secara keseluruhan
informasi dan komponen yang didasarkan pada spesifikasi desain (Whitten et al,
2004).
8
9
2.2 Prototipe
secara umum apa yang dikehendakinya tanpa menyebutkan secara detail output
apa saja yang dibutuhkan, pemrosesan dan data – data apa saja yang dibutuhkan.
akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak
ditentukan.
yang dibuat. Secara umum tujuan pengembangan sistem informasi adalah untuk
9
10
masalah yang dihadapi tersebut. Sekitar awal tahun delapan puluhan, para
10
11
prototyping.
sistem informasi manajemen, tidak hanya sekedar suatu evolusi dari metode
lama (SDLC).
barang secara masal. Tetapi dalam kaitannya dengan sisitem informasi definisi
kedua dari Webster yang menyebutkan bahwa prototipe tersebut adalah sistem
informasi yang menggambarkan hal – hal penting dari sistem informasi yang
ditambahkan, atau digabungkan dengan sistem informasi yang lain bila perlu.
merupakan bagian yang tidak terpisahkan dari seluruh proses yang harus
dilakukan. Proses ini umumnya hanya untuk satu produk dan karakteristik dari
produk tersebut tidak dapat ditentukan secara pasti seperti produk manufaktur,
11
12
suatu produk.
1. Pemilahan Fungsi
– tugas yang relevan yang sesuai dengan contoh kasus yang akan
diperagakan.
3. Evaluasi
4. Penggunaan Selanjutnya
disusun.
aktivitas user.
12
13
Keunggulan
Kelemahan
13
14
Alat deteksi jarak atau detektor erat kaitannya dengan Radar. Radar
yang digunakan untuk mendeteksi, mengukur jarak dan membuat map benda-
Detektor ini berupa sebuah sensor yang bekerja secara otomatis berdasarkan
b. Sensor mekanis
lurus dan melingkar, tekanan, gaya, aliran, level, dan sebagainya. Besaran
besaran listrik pada sistem pengukuran, atau sistem manipulasi atau sistem
14
15
yang banyak dipakai dalam kehidupan manusia saat ini. Bagaimana tekanan
jari kita pada keyboard komputer, remote televisi, lantai lift yang kita tuju
adalah contoh mudah sensor secara luas. Hampir seluruh kehidupan sehari
– hari saat ini tidak ada yang tidak melibatkan sensor. Tidak mengherankan
(William, 2004).
dari 40 KHz hingga 400 KHz. Sensor ultrasonik terdiri dari dua unit , yaitu
unit pemancar dan unit penerima. Struktur unit pemancar dan penerima
diberikan pada plat logam. Struktur atom dari kristal piezoelectric akan
15
L-.'min:v,n.l.
18
waktu ini sebanding dengan dua kali jarak sensor dengan objek, sehingga
didapat jarak sensor dengan objek yang bisa ditentukan dengan persamaan
berikut :
6. Dapat digunakan dalam dua pilihan mode yaitu input trigger dan
output echo terpasang pada pin yang berbeda atau input tirgger dan
18
20
S = (tIN x V) ÷ 2
Dimana :
merupakan bagian dari definisi material handling. Istilah lainnya yaitu material
moving.
material transport memiliki alokasi biaya yang cukup besar. Dari sisi Suplier, ini
menjadi bisnis bernilai milayaran dollar. Karena itu tidak mengherankan jika
operasi ter-modern.
20
21
continue.
atua dengan tenaga manusia. Variasi hand truck ini cukup banyak,
21
22
atau elektrik.
rentang daya angkat forklift yang tersedia dipasaran mulai dari 0,5 -
40 Ton.
b. Car on Rails, heavy duty load, alat ini banyak digunakan dalam
industri logam berat, karena bobot dan ukurannya yang relatif besar,
22
23
yang terbatas.
Menerus
ringan dan memiliki bentuk yang sama standar. Metode ini menggunakan mesin
yang bersifat fixed /tetap, namun dapat dirancang untuk melalui celah yang kecil
atau ketinggian yang cukup dari permukaan lantai kerja sehingga tidak
yang befungsi memindahkan barang dari satu tempat ke tempat lain secara
1. Gravity Conveyor
23
24
2. Motor Conveyor
3. Vibrating Conveyor
System) (Tarigan, 2010), Embedded system adalah suatu sistem komputer yang
dibangun untuk melakukan tujuan atau fungsi tertentu. Dalam suatu embedded
atau lebih chip mikrokontroler yang telah diprogram untuk melakukan fungsi
tertentu. Karena dibangun untuk fungsi tertentu saja, maka pada umumnya
komponen utama embedded system dapat memiliki ukuran yang lebih kecil
dengan jumlah dan jenis komponen penyusunnya sesuai dengan kebutuhan saja.
Dengan demikian biaya produksinya pun dapat ditekan. Hal ini berbeda dari
sistem komputer umum, seperti personal computer, yang lebih fleksibel karena
utamanya pun menjadi lebih besar dan biaya produksinya juga menjadi lebih
mahal. Namun pada beberapa kasus, embedded system mungkin saja berupa
suatu sistem dengan skala yang sangat besar dan bernilai sangat mahal, seperti
embedded system pada pembangkit listrik tenaga nuklir atau sistem kontrol
24
26
2.6 Mikrokontroler
melebihi penemuan manusia lainnya seperti radio, telepon, dan televisi. Begitu
komputasi sangat cepat, dapat bekerja sendiiri dengan diprogram, dan dilengkapi
kebutuhan pasar dan yang kedua adalah perkembangan teknologi baru. Yang
kemampuan komputasi yang sangat cepat, bentuk yang semakin kecil, dan harga
26
27
mikroprosesor. Perbedaan utama antara keduanya dilihat dari dua faktor utama
masing.
CPU, sedangkan mikrokontroler dalam IC-nya selain CPU juga device lain yang
tersebut).
27
28
dayanya yang rendah, dan harga yang murah maka mikrokontroler bnayak
lain.
(Widodo, 2005)
28
29
mendunia yaitu 8051, karena begitu populernya maka arsitektur 8051 kemudian
diadopsi oleh vendor lain seperti Philips, Siemens, Atmel, dan vendor – vendor
lain dalam produk mikrokontroler mereka. Selain itu masih ada mikrokontroler
populer lainnya seperti Basic stamps, PIC dari Microchip, MSP 430 dari Texas
chip – chip pintar lain seperti DSP prosesor. Di masa depan, chip – chip mungil
sebuah platform komputasi fisik (Physical Computing) yang open source pada
board input output sederhana. Yang dimaksud dengan platform komputasi fisik
disini adalah sebuah sistem fisik yang interaktif dengan penggunaan software dan
hardware yang dapat mendeteksi dan merespon situasi dan kondisi di dunia
nyata.
29
30
sebagai sebuah platform elektronik yang open source, berbasis pada software dan
hardware yang fleksibel dan mudah digunakan yang ditujukan pada setiap orang
Development Environment).
komputer dan memiliki kekuatan yang tidak begitu besar. Tapi dengan Arduino
yang murah tersebut, kita dapat membuat alat – alat yang sangat menarik.
Arduino merupakan chip berwarna hitam yang mempunyai 28 kaki yang disebut
ATmega168. Agar mikrokontroler Arduino dapat bekerja dengan baik dan dapat
Arduino memiliki banyak sekali versi. Salah satu yang paling simpel
adalah Arduino Uno yang mudah untuk dipakai. (Arduino, 2010). Berikut adalah
30
32
2009).
Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc.
(proyek penelitian membuat bahasa yang akan digunakan pada chip – chip
pertamanya.
pada vendor yang memanufaktur chip tersebut. Pada awalnya, bahasa ini
disebut Oak, tapi kemudian diubah menjadi Java pada tahun 1995 karena
nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa
pemrograman lainnya.
32
33
diumumkan ke publik pada musim semi tahun 1995, banyak orang yang
terlihat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff,
kunci yang mematangkan prototipe aslinya. Pada saat ini, Java banyak
Objek
bahwa program komputer terdiri atas kode dan data. Kode yang dimaksud
berupa variabel atau konstanta. Secara konseptual, kode dan data tersebut
process oriented mode), semua data kode digabung menjadi satu bagian
membutuhkan beberpa buah baris kode, penggunaan model ini tentu tidak
begitu menjadi masalah. Permasalahan baru akan timbul pada saat program
tersebut berkembang ke arah yang lebih besar dan kompleks, yang mungkin
33
34
a (sifat berupa variabel atau konstanta) dan method (perilaku atau kemampuan melakukan sesuatu berupa fungsi). Jadi, ob
d. Sifat
34
35
teknologi jaringan local seperti jaringan internet. Dalam hal ini, Java dapat
dan berhasil dapat dijalankan pada platform yang lain atau pada sistem
operasi yang lain. Java menggunakan prinsip WORA (Write Once and Run
dijalankan pada sistem operasi yang mana saja. Artinya, sekali menulis
(CPU) yang terdiri dari Thread_ID, program counter, register set, dan
35
36
satuan waktu yang hampir bersamaan. Sebagai contoh, suatu web server
mempunyai ratusan client server. Jika web server hanya mempunyai satu
thread, berarti client yang lain harus menunggu. Oleh karena itu,
melakukan tugasnya.
a. Decompiler
36
37
37
38
Karena JVM sangat bergantung pada platform – nya, kode byte ini
akan selalu sama untuk setiap sistem operasi atau jenis mesinnya,
mesin tujuannya.
kode byte tersebut agar menjadi bahasa mesin pada saat yang
e. Java Modern
38
39
antara lain :
1. Class
2. Object
3. Attribute
4. Method
5. Constructor
memfokuskan desain pada objek dan class berdasarkan pad askenario dunia
nyata. Hal ini menegaskan keadaan (state), behavior, dan interaksi dari
1. Class
karakteristik data) dan fungsi yang dimiliki suatu objek. Class merupakan
39
40
blueprint. File sumber Java harus diberi nama berdasarkan class di dalam
program.
Class Nameclass
Class Body
Class Body
multiple, static, serta tiga jenis lainnya, yaitu public, private, dan protected.
a. Dimulai dengan abjad, tanda underscore (_), atau tanda dolar ($).
40
41
a class : dataku
s dataku{
2. Object
baik. Object dapat juga disebut suatu instans (instance). Instance adalah
41
42
pembuatan suatu kelas, dapat hanya membuat pendefinisian tipe data baru.
Ada 2 tahap untuk membuat objek baru dari tipe kelas yang telah
ddefinisikan :
Referensi objek adalah sebuah alamat memori dari objek yang dialokasikan
3. Attribute
properti, atau sebuah field data. Setiap variabel harus memiliki tipe data
dan diberi nama yang unik untuk membedakan yang satu dengan yang
Nama mahasiswa
4. Method
42
43
a. Method Void
kata kunci void. Cara kerja method void sama seperti prosedur
(procedure).
b. Method Nonvoid
Pendeklarasian/pendefinisian method :
method).
kurawal.
Cara penulisan :
Headermethod{
43
44
Badan method
membuat dan menginisialisasi sebuah objek baru. Constructor berfungsi untuk menginisialisasi nilai terhadap data yang te
Paket (Package)
suatu pustaka (library) menjadi satu unit disebut package. Package yang
44
45
adalah package java.lang. package ini berisi kelas – kelas dan interface
Import java.io*;
Import java.awt.*;
Import javax.swing.*;
---
yang tidak dapat diakses oleh statement atau perintah di luar package
(paket yang lain) atau membuat package yang baru sesuai dengan
b. Deklarasi Package
kelas – kelas itu menjadi milik package tersebut. Deklarasi package akan
dirujuk.
Java perlu mengetahui di mana letak dari semua kelas atau interface
yang akan diperlukan. Oleh karena itu, perlu adanya setting path. Nama
45
46
package harus dengan huruf kecil. Deklarasi package ini adalah suatu
kelas secara utuh yang meliputi variabel dan method yang ada di
dalamnya.
lain
1. Abtraksi (abstraction)
2. Pembungkusan (encapsulation)
46
47
3. Pewarisan (inheritance)
4. Polimorfisme (polymorphism)
1. Abtraksi (Abstraction)
bagian kecil. Orang hanya berpikir bahwa mobil sebagai objek yang
2. Pembungkusan (Encapsulation)
47
48
pembungkusan kode dan data di dalam Java, terdapat tiga tingkat akses
3. Pewarisan (Inheritance)
dapat diturunkan menjadi kelas – kelas baru lainnya yang akan mewarisi
beberapa sifat atau perilaku dari kelas induknya. Sebagai contoh, apabila
kita memiliki kelas A dalam program yang dibuat maka kita dapat
class anak atau subclass berdasarkan class yang telah ada, kita dapat
4. Polimorfisme (Polymorphism)
48
49
mengungkap banyak hal melalui satu cara yang sama. Secara harfiah,
poli berarti banyak dan morph berarti bentuk. Jadi polimorfisme berarti
Java yang berbasis grafik. GUI membuat hasil dari suatu program
tampak menarik dan nyaman ketika digunakan oleh para user. Java
package java.awt.
49
50
alam pengorganisasian tata letak komponen. Panel sering juga digunakan bersamaan dengan frame.
user inte
JOption, JApplet.
50
51
- JFrame
Konstruktor:
Frame();
Frame(string tittle)
- JDialog
dengan frame adalah dialog tidak dibuat berdiri sendiri, tetapi frame
- JOption
class Swing.
- JApplet
init()
51
52
paint()
add()
komponen ke Applet.
memperoleh data yang diperlukan (Nazir, 2005). Data terbagi menjadi dua jenis,
yaitu data primer dan data sekunder. Data primer adalah data yang didapatakan
dan diolah sendiri oleh peneliti dari objek penelitian. Sedangkan data sekunder
adalah data yang didapatkan dan diolah peneliti tanpa melakukan pengamatan
langsung pada objek penelitian. Pada penelitian ini, penulis melakukan studi
lapangan untuk mendapatkan data primer dan studi literature untuk mendapatkan
data sekunder.
3. Studi Lapangan
a. Observasi
52
53
b. Wawancara
(Jogiyanto, 2005:617).
4. Studi Pustaka
dengan topik atau masalah yang akan atau sedang diteliti. Informasi itu
5. Studi Literatur
53
54
– hal yang sudah dilakukan dan menentukan hal – hal yang diperlukan,
metode, best practive, deliverable, dan tools – tools otomatis yang digunakan
54
55
1. Pemilihan Fungsi
tugas – tugas yang relevan yang sesuai dengan contoh kasus yang
akan diperagakan.
2. Penyusunan Sistem
3. Evaluasi
Evaluasi ini dilakukan oleh user apakah prototipe ini sesuai dengan
diulangi.
55
56
4. Penggunaan Selanjutnya
digunakan.
Pengujian ini digunakan dengan White Box, Black Box, Basis Path,
56
57
57
BAB III
METODOLOGI PENELITIAN
Pembahasan pada bab 3 ini yaitu penulis mengumpulkan data – data dan
Selain itu untuk menyelesaikan masalah yang ada dalam sebuah perancangan
sistem, maka diperlukan beberapa tahap yang harus dilakukan. Dalam bab ini
dijelaskan mengenai tempat dan waktu penelitian, bahan dan alat serta
yang berjalan pada pembuatan penulisan. Pada tahapan ini ada beberapa tahap
yang dilakukan seperti observasi, studi pustaka, dan studi literatur. Pada
penelitian yang sedang dilakukan. Data yang didapat nantinya akan digunakan
untuk acuan lebih lanjut. Proses pengumpulan data dapat dilakukan dengan
58
59
pemindahan komponen produk dari dan menuju tempat tertentu pada sebuah
barang.
Hal ini sangat dibutuhkan agar penulis dapat melakukan analisis untuk
membuat suatu solusi terhadap proses pemindahan barang yang ada di gudang
Jakarta Timur.
mencari referensi – referensi yang relevan dengan objek yang akan diteliti.
ini. Adapun informasi yang didapat digunakan dalam penyusunan landasan teori,
Pada tahapan ini dilakukan studi literatur dengan cara manual yaitu
mikrokontroler.
berkaitan dengan penelitian ini, dari tiga jurnal tersebut diambil beberapa
dan kekurangan penelitian, dan sebagainya. Berikut adalah tabel hasil studi
61
di Dalam Gedung cahaya. dirancang kurang rapih
Parkir Berbasis Sensor dapat mendeteksi dan tegak lurus,
Mikrokontroler perbedaan antara cahaya sehingga dibutuhkan
inframerah terhalang bantuan alat untuk
kendaraan atau tidak. meluruskannya.
Begitu juga terhadap Buzzer akan berbunyi
indikator diode pemancar secara terus menerus
cahaya dan alarm buzzer hingga sensor tidak
yang digunakan untuk mendapat masukan.
memberikan informasi. Kesensitifan pada
Tingkat keberhasilan dari resistor yang berubah,
hasil pengujian dapat membuat alat harus di
diperoleh nilai rata – rata atur ulang sebelum
keberhasilan 95%. menjalankannya.
Membutuhkan biaya
perancangan yang
banyak karena
menggunakan 8 buah
sensor dan 4 buah LED,
62
Buzzer, dan LCD.
3. Alat Pendeteksi Jarak Arif Usman Sistem 2011 Dapat memberikan Hanya diletakan
Pada Kendaraan Roda Komputer, informasi secara realtime dibagian depan
Dua Menggunakan Universitas pada pengguna kendaraan kendaraan roda dua.
Sensor Ultrasonic Gunadarma roda dua. Penggunaan LCD
Dengan Tampilan LCD sebagai pengingat,
Dan Sistem Getar kemungkinan akan
Berbasis Jaringan menggangu fokus
Nirkabel Dan pengendara roda dua
Mikrokontroler Atmega ketika penggetar
berhasil digerakan oleh
tengangan sensor.
63
64
informasi pendukung dan pembanding dalam penelitian ini yang dapat dijadikan
kelebihan yang dapat dideskripsikan dalam penelitian ini antara lain, yaitu :
sejauh 3 meter, sehingga jangkauan yang dapt dibaca lebih luas tanpa
PING, sehingga sensor akan diputar oleh kedua micro servo dengan
observasi pada sebuah gudang penyimpanan, guna mengetahui hal apa saja yang
kebutuhan apa saja yang diperlukan, kemudian melakukan pencarian data – data
dan referensi tentang bagaimana merancang suatu prototipe alat deteksi jarak,
dengan baik.
65
aplikasi secara cepat (prototipe). Pada tahap ini dilakukan pembuatan aplikasi
secara cepat, lebih memfokuskan pada input / output aplikasi sesuai dengan
kebutuhan umum yang diketahui pada tahap pertama. Tahapan ini menghasilkan
Pada tahap ini prototipe 1 di serahkan kepada user untuk di evaluasi dan
untuk mendiskusikan solusi untuk kendala – kendala yang dialami pada saat
baru tentang kebutuhan aplikasi yang dibangun nantinya. Jika hasil evaluasi
kebutuhan.
butuhkan oleh user. Proses pengkodean sistem ini dilakukan dua tahapan,
lakukan agar user dan pengembang dapat mengetahui cara kerja sistem serta
kekurangan yang ada pada sistem yang telah dirancang, baik dari segi
evaluasi, selanjutnya jika user setuju maka proses prototyping dinyatakan selesai.
kebutuhan user.
1. Perangkat keras
laptop Asus A42F, Arduino Board, Sensor Ping, Mini Servo. Berikut
Arus DC per pin I/O : 40 mA, Arus DC untuk pin 3.3 V : 150 mA,
Pewaktuan : 16 Mhz.
c. Sensor Ping
d. Mini Servo
2. Perangkat Lunak
yang digunakan untuk proses pengkodingan interface, serta Microsoft Visio untuk pembuatan diagram. Pada sistem oper
gunakan dalam penelitian ini adalah Microsoft Windows 7.
masalah dari sistem tersebut lewat observasi pada sebuah gudang penyimpanan
mendapat kelemahan yaitu dari sistem yang sedang dilakukan, yaitu karyawan
gudang terkadang menemui kesulitan dalam menata jarak antara barang yang di
simpan di gudang, serta proses kerja yang lambat, yang akhirnya menyebabkan
pada barang. Dari hasil observasi tersebut peneliti mencoba penelitiannya dengan
serta dikombinasikan dengan sensor yang bisa mendeteksi jarak benda agar mobil
69
70
masing rangkaian maka akan dibuat suatu diagram blok terlebih dahulu. Hal ini
sangat penting, karena dalam pembuatan suatu alat setiap rangkaian saling
didapat sesuai dengan keinginan dan teori yang berlaku. Berikut gambar blok
diagram rancangan alat yang akan dibuat dapat dilihat seperti pada gambar 3.1
bergerak memutar 360 derajat, agar dapat bergerak mini servo ini
sensor.
2. Dua buah micro servo akan bergerak memutar 360 derajat berlawanan
dengan arah jarum jam, micro servo ini akan bergerak per 45 derajat,
4. Buzzer akan berbunyi ketika sinyal yang terdeteksi oleh sensor PING
b. Prototyping
rangkaian jalur elektronika yang membangun sistem agar bisa bekerja secara
h Tipe/ merek
Ultrasonik Paralax
no UNO ATMega 328P
r -
t Board -
i ABC
75
pinMode(speakerPin, OUTPUT);
myservo2.write(
/* servo bawah
pickData();
Kode program “#include <servo.h>” merupakan library khusus agar bisa memuat kode intruksi untuk
program ini menggunakan dua buah servo.
Kode 1.
Kode 2.
void setup() {
Serial.begin(9600);
myservo.attach(9);
myservo2.attach(10);
}
77
dalam hal ini inisiasi komunikasi serial pada 9600 bps, serta untuk dua buah servo
yang menggunakan pin 9 dan pin 10. Void setup dalam pemrograman arduino
merupakan fungsi wajib yang harus disertakan dalam memprogram arduino, jika
tidak maka akan menghasilkan eror, isi void setup bisa juga kosong.
Kode 3.
void loop()
pinMode(speakerPin, OUTPUT);
myservo2.write(0); myservo.write(0);
/* servo atas dan bawah 0 derajat (depan)ambil data */ pickData(0);
delay (1000); myservo.write(45);
/* servo atas 90 derajat (kiri)ambil data */ pickData(315);
delay(1000); myservo.write(90);
/* servo atas 180 derajat (belakang)ambil data */
pickData(270);
delay(1000);
myservo.write(135);
pickData(225);
delay(1000);
78
myservo.write(180);
menaruh source code yang akan diproses, void loop ini akan dijalankan setelah void setup selesai. Sekali dijalankan, maka v
mendeklarasikan bahwa pin speaker sebagai output. Ketika sebuah pin dijadikan
sebagai output, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5V) atau LOW
79
HIGH).
ang berfungsi untuk pengambilan data. Kode program ini di deklarasikan secara khusus di dalam “void pickData()”, di dalam
{
}
81
mendeklarasikan bahwa pin sensor PING sebagai output. Pin tersebut ditarik
untuk mengatur suara yang dihasilkan buzzer, dalam hal ini, ketika sensor
,membaca jarak kurang dari 200 cm, maka buzzer akan berbunyi sebanyak 3 kali
secara continue sampai sensor berhenti membaca jarak kurang dari 200 cm.
serial monitor, dalam hal ini hasil dalam serial monitor di tampilkan dalam bentuk
menggunakan software Netbeans. Source code yang dibuat terbagi dalam dua
nama file yaitu ConnectionSoket.java dan main.java. Kedua file ini disimpan
dalam satu paket (package) grafikjava (source code dapat dilihat dalam lampiran).
menghubungkan antara arduino dengan program java, sehingga program ini dapat
membaca hasil melalui komunikasi serial port dengan Arduino. Untuk dapat
mengakses komunikasi dengan arduino, pada program ini di beri tambahan library
berupa RXTX Java Library. Library ini sangat mirip dengan Java Communication
82
API. Nantinya kita dapat menyesuaikan COM port yang digunakan oleh port
Arduino. Selain itu, file ini berisi beberapa perintah yang nantinya dapat diakses
GUI (Graphical User Interface). Dalam file ini terdapat source code :
hal ini berarti class main dapat mengakses class ConnectionSoket. File ini akan
Berdasarkan pengujian yang dilakukan akan diperoleh hasil data sebagai bukti
bahwa sistem tersebut telah bekerja. Hasil data tersebut kemudian disusun dengan
rapi sedemikian rupa sehingga penulis dapat melakukan analisa terhadap data-data
tersebut dengan baik dan selanjutnya dapat digunakan sebagai bahan untuk
mendapatkan kesimpulan.
Uji kepekaan sensor PING merupakan sebuah tes untuk melihat fungsi
dari sensor PING yang bekerja secara efektif. Dalam tes ini sensor akan
. . Auto scroll oeoOozuc
Xaterangan :
Deua+’
TOO ciii
Kanan-depan
300 cm
.hill rm
Kaizez-heIahanu
300 ciii
Befah9n”g
300 cm
Kin.nnlakang'
’ DOD eiii
C0M:C0
km/jam.
1,2 m
Prototipe = = 0,3 m/s
4
detik
0,3
m/s x 3600 s = 1,08 km/jam
=
1000 m
5 : 1,08 1 : 0,126
4.3 Analisis
2. Output yang dihasilkan berupa grafik polar dan indikator suara sebagai
4. Jarak minimal sensor PING mengirimkan sinyal ke buzzer adalah 200 cm,
PENUTUP
5.1 Kesimpulan
5.2 Saran
Detektor jarak yang dibuat ini masih dalam bentuk prototipe. Oleh
berikut ini :
pengangkut barang.
90
91
Houde, Stephanie & Hill, Charles. 2004. What do Prototypes Prototype?. USA :
Apple Computer,Inc
Spell, Brett. 2000. Profesional Java Programming. United States : Wrox Press
Ltd
Whitten et al. 2004. Metode Desain & Analisis Sistem Edisi 6 (Terjemahan).
Yogyakarta : Andi
-ConnectionSoket.java
/*
*/
package grafikjava;
import gnu.io.CommPort;
import java.util.HashMap;
import javax.swing.JComboBox;
import javax.swing.JLabel;
/**
* @author yuy
*/
String s = "\r";
int indeks = 0;
ports = CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()) {
if (curPort.getPortType() ==
CommPortIdentifier.PORT_SERIAL) {
jb.addItem(curPort.getName());
portMap.put(curPort.getName(), curPort);
}
public boolean initIOStream() {
data = s.split(",");
main.ta_console.append("\n");
main.ta_console.setCaretPosition(main.ta_console.getDocument().get Length());
if (sudut == 0) {
main.series.updateByIndex(0, jarak);
alretLabel(main.l_depan, jarak);
{ main.series.updateByIndex(1,
jarak);
main.l_kanan_depan.setText(jarak + " cm");
alretLabel(main.l_kanan_depan, jarak);
{ main.series.updateByIndex(2,
jarak); main.l_kanan.setText(jarak +
jarak);
{ main.series.updateByIndex(3, jarak);
cm");
main.l_kanan_belakang.setText(jarak + "
alretLabel(main.l_kanan_belakang, jarak);
{ main.series.updateByIndex(4, jarak);
alretLabel(main.l_belakang, jarak);
{ main.series.updateByIndex(5, jarak);
cm");
main.l_kiri_belakang.setText(jarak + "
alretLabel(main.l_kiri_belakang, jarak);
{ main.series.updateByIndex(6,
jarak); main.l_kiri.setText(jarak +
jarak);
{ main.series.updateByIndex(7, jarak);
alretLabel(main.l_kiri_depan, jarak);
indeks = 0;
s = "\r";
} else {
s = s + a;
label.setForeground(Color.black);
serialPort.close();
input.close();
} catch (Exception e) {
selectedPortIdentifier = (CommPortIdentifier)
portMap.get(selectedPort);
try {
h (Exception e) {
-main.java
package grafikjava;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
package grafikjava;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.PolarChartPanel;
*/
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.PolarChartPanel;
import org.jfree.chart.plot.PolarPlot;
import org.jfree.chart.renderer.DefaultPolarItemRenderer;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
/**
*
* @author yuy
*/
public class main extends ApplicationFrame implements
Runnable {
/**
* Creates new form main
*/
public ConnectionSoket c = new ConnectionSoket();
protected static Thread th;
private volatile boolean start;
public static XYSeries series = new XYSeries("Jarak");
JFreeChart chart;
/**
* This method is called from within the constructor
to initialize the form.
* WARNING: Do NOT modify this code. The content of
this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON
_CLOSE);
b_on.setText("On");
b_on.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
b_onActionPerformed(evt);
}
});
b_off.setText("Off");
b_off.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
b_offActionPerformed(evt);
}
});
jLabel1.setText("COM:");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(3, 3, 3)
.addComponent(cb_COM,
javax.swing.GroupLayout.PREFERRED_SIZE, 174,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
UNRELATED)
.addComponent(b_on,
javax.swing.GroupLayout.PREFERRED_SIZE, 63,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
UNRELATED)
.addComponent(b_off,
javax.swing.GroupLayout.PREFERRED_SIZE, 70,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(571, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(16, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(b_on)
.addComponent(b_off)
.addComponent(cb_COM,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addContainerGap())
);
getContentPane().add(jPanel1,
java.awt.BorderLayout.PAGE_START);
jPanel2.setLayout(new java.awt.BorderLayout());
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGap(0, 21, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGap(0, 505, Short.MAX_VALUE)
);
jPanel2.add(jPanel5,
java.awt.BorderLayout.LINE_END);
jPanel6.setLayout(new
java.awt.BorderLayout());
jLabel2.setText("Depan");
jLabel3.setText("Kanan-depan");
jLabel4.setText("Kanan");
jLabel5.setText("Kanan-belakang");
jLabel6.setText("Belakang");
jLabel7.setText("Kiri-belakang");
jLabel8.setText("Kiri");
jLabel9.setText("Kiri-depan");
l_depan.setText("300 cm");
l_kanan_depan.setText("300 cm");
l_kanan.setText("300 cm");
l_kanan_belakang.setText("300 cm");
l_belakang.setText("300 cm");
l_kiri_belakang.setText("300 cm");
l_kiri.setText("300 cm");
l_kiri_depan.setText("300 cm");
jLabel11.setText("Keterangan :");
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 150, Short.MAX_VALUE)
.addComponent(l_depan))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 133, Short.MAX_VALUE)
.addComponent(l_kiri_depan))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 117, Short.MAX_VALUE)
.addComponent(l_kanan_depan))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 151, Short.MAX_VALUE)
.addComponent(l_kanan))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 104, Short.MAX_VALUE)
.addComponent(l_kanan_belakang))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 138, Short.MAX_VALUE)
.addComponent(l_belakang))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 120, Short.MAX_VALUE)
.addComponent(l_kiri_belakang))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, 167, Short.MAX_VALUE)
.addComponent(l_kiri))
.addGroup(jPanel7Layout.createSequentialGroup()
.addComponent(jLabel11)
.addGap(0, 152, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11)
.addGap(24, 24, 24)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(l_depan))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(l_kanan_depan))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(l_kanan))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(l_kanan_belakang))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(l_belakang))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(l_kiri_belakang))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(l_kiri))
.addGap(18, 18, 18)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(l_kiri_depan))
.addContainerGap(23, Short.MAX_VALUE))
);
jPanel6.add(jPanel7,
java.awt.BorderLayout.PAGE_START);
jLabel10.setText("Console:");
ta_console.setColumns(20);
ta_console.setRows(5);
ta_console.setCursor(new
java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
ta_console.setDragEnabled(true);
ta_console.setFocusCycleRoot(true);
ta_console.setOpaque(false);
jScrollPane1.setViewportView(ta_console);
.addGroup(jPanel8Layout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.LEADING)
.addComponent(jLabel10)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(13, Short.MAX_VALUE))
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 153, Short.MAX_VALUE)
.addContainerGap())
);
jPanel6.add(jPanel8, java.awt.BorderLayout.CENTER);
jPanel2.add(jPanel6, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel2,
java.awt.BorderLayout.LINE_END);
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGap(0, 29, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGap(0, 505, Short.MAX_VALUE)
);
getContentPane().add(jPanel3,
java.awt.BorderLayout.LINE_START);
javax.swing.GroupLayout jPanel4Layout = new
javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGap(0, 938, Short.MAX_VALUE)
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGap(0, 32, Short.MAX_VALUE)
);
getContentPane().add(jPanel4,
java.awt.BorderLayout.PAGE_END);
grafikLayout.createParallelGroup(javax.swing.GroupLayout.Ali
gnment.LEADING)
.addGap(0, 653, Short.MAX_VALUE)
);
grafikLayout.setVerticalGroup(
grafikLayout.createParallelGroup(javax.swing.GroupLayout.Ali
gnment.LEADING)
.addGap(0, 505, Short.MAX_VALUE)
);
getContentPane().add(grafik,
java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>
private void
b_onActionPerformed(java.awt.event.ActionEvent evt) {
c.connect(cb_COM);
cb_COM.setEnabled(false);
b_on.setVisible(false);
b_off.setVisible(true);
start = true;
mulai();
// TODO add your handling code here:
}
private void
b_offActionPerformed(java.awt.event.ActionEvent evt) {
b_off.setVisible(false);
b_on.setVisible(true);
cb_COM.setEnabled(true);
start = false;
c.disconnect();
// TODO add your handling code here:
}
@Override
public void run() {
while (start) {
a. initIOStream();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
main demo = new main("Grafik Polar Jarak Antara Alat
Dengan Benda");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
// Variables declaration - do not modify
private javax.swing.JButton b_off;
private javax.swing.JButton b_on;
private javax.swing.JComboBox cb_COM;
private javax.swing.JPanel grafik;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JScrollPane jScrollPane1;
public static javax.swing.JLabel l_belakang;
public static javax.swing.JLabel l_depan;
public static javax.swing.JLabel l_kanan;
public static javax.swing.JLabel l_kanan_belakang;
public static javax.swing.JLabel l_kanan_depan;
public static javax.swing.JLabel l_kiri;
public static javax.swing.JLabel l_kiri_belakang;
public static javax.swing.JLabel l_kiri_depan;
public static javax.swing.JTextArea ta_console;
// End of variables declaration
}
Lampiran 2
L–2
#include <Servo.h>
Servo myservo2;
//=================================
void setup() {
void loop()
pinMode(speakerPin, OUTPUT);
myservo2.write(0);
myservo.write(0);
/*================================
==================================*/
pickData(0);
delay(1000);
myservo.write(45);
/*===================================
myservo.write(90);
/*===================================
myservo.write(135);
/*===================================
pickData(225);
delay(1000);
myservo.write(180);
/*====================================
ambil data
======================================*/
pickData(180);
delay(1000);
myservo2.write(45);
/*====================================
myservo2.write(90);
/*====================================
myservo2.write(135);
/*====================================
======================================*/
pickData(45);
delay(1000);
}
// The same pin is used to read the signal from the PING))): a HIGH
// pulse whose duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object. pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
pinMode(speakerPin, OUTPUT);
digitalWrite(speakerPin, HIGH);
delay(1000);
digitalWrite(speakerPin, LOW);
pinMode(speakerPin, OUTPUT);
digitalWrite(speakerPin, HIGH);
delay(100);
digitalWrite(speakerPin, LOW);
delay(200);
pinMode(speakerPin, OUTPUT); digitalWrite(speakerPin, HIGH); delay(1000); digitalWrite(speakerPin, L
}
return microseconds / 74 / 2;
return microseconds / 29 / 2;
}
Lampiran 3
L–3
i" Auto scroll oeoOozuc
K£’MENTERfiAH AGAM A.
uxxv«esiTxs issuescz›u”umq
svxinr inoavavm*nn J*xanTa