Anda di halaman 1dari 139

Nuzzd l'@ak AaJzttg

air.i gz#zo.i i0t I@7


Kaw
LEMBAR PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR –

BENARHASILKARYASAYASENDIRIYANGBELUMPERNAH DIAJUKANSEBAGAISKRIPSIATAUKARYAILMIAHPADA
PERGURUAN TINGGI ATAUPUN LEMBAGA MANAPUN.

Jakarta, Juni 2014

Nurul Uswah Azizah


NIM. 109091000036

iv
ABSTRAK

Nurul Uswah Azizah – 109091000036, Rancang Bangun Prototipe Alat Deteksi


Jarak pada Mobil Pengangkut Barang Berbasisi Arduino. Dibimbing oleh Nenny
Anggraini, S.Kom,MT dan Feri Fahrianto, M,Sc.

Sistem pergudangan erat kaitannya dengan proses pemindahan dan


penempatan komponen dan produk dari dan menuju tempat tertentu. Pada
umumnya proses pemindahan ini menggunakan mobil pengangkut barang atau
forklift. Forklift dapat membantu manusia mengangkut barang dengan bobot berat
dan ukuran yang cukup besar. Akan tetapi, penggunaan forklift memiliki beberapa
kelemahan seperti proses kerja yang lambat dan seringnya terjadi kecelakaan
kerja, tingkat kerusakan barang yang tinggi karena barang yang diangkut
menghalangi penglihatan yang dapat menyebabkan terbenturnya barang yang
sedang diangkut. Mengutip dari website www.safetyposter.co.id bahwa jumlah
kecelakaan kerja di Amerika pada sektor transportasi dan pergudangan tahun 2010
terjadi 661 kasus dan 30 % di akibatkan karena kecelakaan pada forklift. Oleh
karena itu, penulis mencoba memberikan solusi atas permasalahn tersebut dengan
membuat sebuah prototipe alat deteksi jarak menggunakan mikrikontroler
arduino. Alat yang penulis rancang menggunakan sensor PING dan mini servo
sebagai input untuk pembacaan jarak dan penentu sudut, serta buzzer dan
pemrograman Java sebagai output yang menghasilkan indikator suara beserta
grafik polar. Penulis menggunakan metode studi lapangan dan studi literatur
untuk proses pengumpulan data penelitian sedangkan dalam pengembangan
sistem penulis menggunakan metode prototipe. Dari hasil penelitian ini dapat
disimpulkan bahwa pembacaan jarak oleh sensor PING bekerja dengan baik,
namun masih terdapat jeda antara pergerakan pengangkut barang dengan jarak
yang tampil di layar.

Kata Kunci : Mobil Angkut, Deteksi Jarak, Prototipe, Arduino,


Sensor PING
KATA PENGANTAR

Segala puji syukur penulis panjatkan kehadirat Allah SWT, yang telah

melimpahkan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan

Skripsi ini dengan judul “Rancang Bangun Prototipe Alat Deteksi Jarak pada

Mobil Pengangkut Barang Berbasis Arduino”. Maksud utama dari penulisan

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.

Mengingat keterbatasan kemampuan penulis, tentu saja skripsi ini masih

jauh dari kesempurnaan dan masih banyak kekurangan. Hal ini disebabkan

kemampuan penulis yang terbatas dan kurangnya pengalaman dalam penulisan

baik materi dan teknik. Oleh karena itu kritik yang sifatnya membangun dan saran

demi sempurnanya skripsi ini penulis terima dengan senang hati.

Dalam penyusunan skripsi ini, penulis mendapat bimbingan dan bantuan

baik dari segi moral dan material dari berbagai pihak. Oleh karena itu, pada

kesempatan ini penulis mengucapkan terima kasih kepada :

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

Feri Fahrianto,M,Sc selaku Dosen Pembimbing II Fakultas Sains dan


Teknologi UIN Syarif Hidayatullah Jakarta yang secara bijaksana dan

kooperatif telah memberikan bimbingan, bantuan, dan dukungan baik secara

moral maupun teknis dan telah memberikan semangat, dukungan, dan

motivasi selama melakukan studi.

4. Bapak Hata Maulana, S.Si, MTI selaku Dosen Penguji I dan Ibu Fenty Eka

Muzayyana A, M.kom selaku Dosen Penguji II Fakultas Sains dan Teknologi

UIN Syarif Hidayatullah Jakarta yang secara bijaksana dan kooperatif telah

menguji skripsi saya, memberikan arahan dan saran serta bimbingan perbaikan

serta dukungan moral maupun teknis.

5. Mamah, Bapak serta kedua Kakak tersayang dan keponakan tercinta yang

selalu memberikan doa, dukungan semangat dan motivasi dalam segala hal

hingga terselesaikannya skripsi ini. Love You All.

6. Sahabat – sahabatku, Fitri Sani Najiha, Cholifah Nur Asri, Devi Tri Lestari,

Gita Cipta Puspita, Joko Budi Pratomo, Nurul Fauziah, dan semua teman –

teman TI angkatan 2009, yang telah memberikan semangat, dukungan, dan

bantuan kepada penulis selama kuliah serta hingga skripsi ini selesai.

Perjuangan belum selesai kawan!

7. Reza Firdaus Machfudz yang selalu memberikam dukungan dan semangat

kepada penulis, serta menjadi pendengar setia cerita dalam suka maupun duka.

8. Semua pihak yang secara langsung maupun tidak langsung membantu penulis

selama kegiatan hingga penyelesaian skripsi ini.

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

skripsi selanjutnya yang lebih baik.

Akhir kata penulis berharap agar skripsi ini dapat bermanfaat bagi

pembaca sekalian. Amiin

Jakarta, Juli 2014

Nurul Uswah Azizah


109091000036
DAFTAR ISI

Halaman

Halaman Judul........................................................................................... i

Halaman Pengesahan Pembimbing .......................................................... ii

Lembar Pengesahan Ujian......................................................................... iii

Lembar Pernyataan.................................................................................... iv

Abstrak ...................................................................................................... v

Kata Pengantar .......................................................................................... vi

Daftar Isi.................................................................................................... ix

Daftar Gambar........................................................................................... xiv

Daftar Tabel .............................................................................................. xvi

Daftar Lampiran ........................................................................................ xvii

BAB I PENDAHULUAN........................................................................ 1
1.1. Latar Belakang ............................................................................. 1

1.2 Rumusan Masalah ......................................................................... 4

1.3 Batasan Masalah............................................................................ 4

1.4 Tujuan Penelitian ......................................................................... 5

1.5 Manfaat Penelitian ........................................................................ 5

1.6 Metodologi Penelitian ................................................................... 6


1.7 Sistematika Penulisan ................................................................... 7

BAB II LANDASAN TEORI ................................................................. 8

2.1 Pengertian Rancang Bangun ....................................................... 8

2.2 Prototipe ........................................................................................ 9

2.2.1 Definisi Prototipe ................................................................. 9

2.2.2 Karakteristik Metode Prototipe ............................................ 12

2.2.3 Keunggulan dan Kelemahan Metode Prototipe ................... 13

2.3 Alat Deteksi Jarak ......................................................................... 14

2.3.1 Pengertian Sensor................................................................. 14

2.3.2 Sensor Ultrasonik ................................................................. 15

2.3.3 Sensor Jarak Ultrasonik PING ............................................. 17

2.3.4 Sensor Jarak Ultrasonik Devantech SRF05 ......................... 18

2.3.4 Prinsip Kerja Sensor............................................................. 19

2.4 Mobil Pengangkut (Material Transport) ...................................... 20

2.4.1 Pemindahan Dalam Jumlah Banyak..................................... 21

2.4.2 Pemindahan Barang Dalam Jumlah Kecil

Secara Terus Menerus .......................................................... 23

2.5 Embedded System.......................................................................... 24

2.6 Mikrokontroler .............................................................................. 26

2.6.1 Perbedaan Mikrokontroler dengan Mikroprosesor .............. 27

2.6.2 Aplikasi Mikrokontroler ...................................................... 28


2.6.3 Perkembangan Mikrokontroler ............................................ 29

2.6.4 Mikrokontroler Arduino....................................................... 29

2.7 Pemrograman Java ........................................................................ 31

2.7.1 Sejarah Singkat Pemrograman Java ..................................... 32

2.7.2 Pemrograman Prosedural dan Pemrograman

Berorientasi Objek ............................................................... 33

2.7.3 Sifat – sifat Pemrograman Java............................................ 35

2.7.4 Compiler dan Interpreter Java .............................................. 36

2.7.5 Konsep Pemrograman Java .................................................. 39

2.7.6 Paket (Package) ................................................................... 44

2.7.7 Object Oriented Programming (OOP)................................. 46

2.7.8 Grafical User Interface (GUI) ............................................. 49

2.8 Metode Penelitian.......................................................................... 52

2.8.1 Metode Pengumpulan Data .................................................. 52

2.8.2 Metode Pengembangan Sistem ............................................ 55

BAB III METODOLOGI PENELITIAN ............................................. 58

3.1 Metode Penelitian.......................................................................... 58

3.2 Teknik Pengumpulan Data ............................................................ 58

3.2.1 Studi Lapangan..................................................................... 59

3.2.2 Studi Pustaka........................................................................ 59

3.2.3 Studi Literatur ...................................................................... 60


3.3 Metode Pengembangan Sistem Prototipe...................................... 64

3.3.1 Pemilahan Fungsi ................................................................. 64

3.3.2 Membangun Prototyping ..................................................... 65

3.3.3 Evaluasi Prototyping............................................................ 65

3.3.4 Mengkodekan Sistem ........................................................... 65

3.3.5 Menguji Sistem .................................................................... 66

3.3.6 Evaluasi Sistem .................................................................... 66

3.3.7 Penggunaan Sistem .............................................................. 66

3.4 Peralatan Penelitian ....................................................................... 67

3.5 Kerangka Penelitian ...................................................................... 68

BAB IV HASIL DAN PEMBAHASAN ................................................ 69

4.1 Pengembangan Prototipe............................................................... 69

4.1.1 Pengumpulan Kebutuhan ..................................................... 69

4.1.2 Membangun Prototyping ..................................................... 70

4.1.3 Evaluasi Prototyping............................................................ 73

4.1.4 Mengkodekan Sistem ........................................................... 74

4.2 Uji Coba ........................................................................................ 82

4.2.1 Uji Kepekaan Sensor PING ................................................. 82

4.2.2 Uji Coba Interface (GUI) ..................................................... 84

4.2.3 Uji Coba Keseluruhan .......................................................... 87

4.2.4 Uji Kecepatan Antara Forklift dan Prototipe ....................... 88


4.3 Analisis.......................................................................................... 88

BAB V PENUTUP................................................................................... 90

5.1 Kesimpulan ................................................................................... 90

5.2 Saran.............................................................................................. 91

DAFTAR PUSTAKA ........................................................................................

LAMPIRAN.......................................................................................................
DAFTAR GAMBAR

Halaman

Gambar 2.1 Prinsip Kerja Sensor Ultrasonik ............................................ 16

Gambar 2.2 Prinsip Pemantulan Sensor Ultrasonik .................................. 17

Gambar 2.3 Sensor Jarak Ultrasonik PING .............................................. 17

Gambar 2.4 Prinsip Kerja Sensor PING ................................................... 19

Gambar 2.5 Susunan Standar Embedded System ...................................... 26

Gambar 2.6 Arduino UNO........................................................................ 31

Gambar 2.7 Proses Kompilasi................................................................... 37

Gambar 3.1 Kerangka Penelitian .............................................................. 68

Gambar 4.1 Diagram Blok ........................................................................ 70

Gambar 4.2 Alur Proses Pembacaan Jarak Pada Prototipe ....................... 71

Gambar 4.3 Prototipe Awal....................................................................... 72

Gambar 4.4 Rangkaian Alat ...................................................................... 74

Gambar 4.5 Sensor PING Menerima Input............................................... 83

Gambar 4.6 Hasil Pembacaan Sensor PING pada Serial Monitor ........... 83
Gambar 4.7 Hasil Pengukuran Manual Menggunakan Penggaris ............ 84

Gambar 4.8 Tampilan Grafik Polar........................................................... 84

Gambar 4.9 Tampilan Keterangan Sudut dan Jarak Secara Digital.......... 85

Gambar 4.10 Tampilan Pemilihan COM port dan Tombol On/Off.......... 85

Gambar 4.11 Tampilan Console dari Data yang Diambil Langsung

pada Serial Monitor Arduino .............................................. 86

Gambar 4.12 Tampilan Keseluruhan ........................................................ 86

Gambar 4.13 Pemasangan Sensor PING dengan Dua Buah Micro Servo 87

Gambar 4.14 Tampilan Interface (GUI) Saat Program Dijalankan .......... 87


DAFTAR TABEL

Halaman

Tabel 3.1 Hasil Studi Literatur.................................................................. 61

Tabel 4.1 Alat dan Bahan.......................................................................... 72

xvi
DAFTAR LAMPIRAN

Halaman

Lampiran 1. Source Code Program JavaL-1

Lampiran 2. Source Code Program ArduinoL-2

Lampiran 3. Tampilan Software ArduinoL-3

Lampiran 4. Form Perbaikan Sidang SkripsiL-4

xvii
BAB I

PENDAHULUAN

1.1 Latar Belakang

Sistem pergudangan berhubungan dengan proses penempatan serta

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

rak-rak penyimpanan di dalam gudang. Pada umumnya, proses pemindahan

barang dilakukan dengan menggunakan forklift. Forklift dapat membantu

manusia mengangkat barang dengan bobot yang berat dan ukuran yang cukup

besar. Akan tetapi, penggunaan forklift memiliki beberapa kelemahan seperti

proses yang kerja yang lambat dan seringnya terjadi kecelakaan kerja, tingkat

kerusakan barang yang tinggi karena barang yang diangkut menghalangi

penglihatan yang dapat menyebabkan terbenturnya barang yang sedang diangkut.

Mengutip dari website www.safetyposter.co.id bahwa jumlah kecelakaan kerja di

Amerika pada sektor transportasi dan pergudangan tahun 2010 terjadi 661 kasus

dan 30 % di akibatkan karena kecelakaan pada forklift. Penerapan teknologi

otomasi pada sistem pergudangan, memungkinkan pekerjaan penempatan dan

pengambilan barang dilakukan dengan lebih mudah, aman serta lebih cepat

dibandingkan dengan pemindahan barang secara manual.

Menurut Kiki Prawiroredjo dalam penelitiannya tahun 2008, penerapan

sensor pada kendaraan pribadi untuk mendeteksi jarak saat parkir dinilai dapat

membantu pengendaranya dalam memarkirkan kendaraan mereka, dan 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 saat ini digunakan di pergudangan dengan penambahan indikator suara

yang berfungsi sebagai pengingat jarak, dan tampilan grafik pada layar PC yang

dapat dimanfaatkan sebagai acuan untuk mengevaluasi kinerja operator.

Seiring dengan perkembangan teknologi di berbagai aspek kehidupan

manusia, maka berkembang pula dengan ketersediaan perangkat keras

(hardware) maupun perangkat lunak (software) yang semakin canggih dan

meningkat kemampuannya. Salah satunya yaitu berkembangnya suatu rangkaian

sistem elektronik digital yang merupakan bagian dari sebuah sistem yang lebih

besar atau dalam kata lain sering di sebut embedded system atau sistem tertanam.

Kata embedded menunjukan bahwa dia merupakan bagian yang tidak

dapat berdiri sendiri. Embedded system biasanya merupakan application specific

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

digunakan saat ini adalah arduino. Arduino merupakan sebuah platform

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.

Selain perangkat Arduino yang popular saat ini, banyak pula

bermunculan berbagai bahasa pemrograman yang ada pada komputer saat ini.

Salah satu bahasa pemrograman komputer adalah bahasa pemrograman Java.

Bahasa pemrograman Java adalah bahasa pemrograman berorientasi objek (PBO)

atau Object Oriented Programming (OOP). Java bersifat netral, tidak bergantung

pada suatu platform, dan mengikuti prinsip WORA ( Write Once and Run

Anywhere). Beberapa bahasa pemrograman, seperti Basic, Fortan, Pascal,

COBOL, C, ProLog, dan yang lainnya harus bergantung pada suatu platform

karena harus mengkompilasi program tersebut pada setiap sistem operasi yang

ditentukan jika ingin menggunakan hasil program tersebut.

Berdasarkan paparan yang telah dijelaskan, penulis mencoba untuk

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

proses pemindahan barang, alat di letakan pada mobil pengangkut barang

menggunakan sensor ultrasonik sehingga alat penganggkut barang tersebut dapat

terus berjalan tanpa menabrak barang – barang disekitarnya.

Sensor yang bekerja sebagai navigasi adalah sensor ultrasonik dimana

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

PING pada Mobil Pengangkut Barang Berbasis Arduino”.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dijelaskan dapat dirumuskan

bahwa permasalahan yang ada adalah bagaimana mengatasi masalah pada forklift

seperti kemungkinan benturan antara barang yang diangkut dengan benda di

sekitarnya serta tingkat kerusakan benda yang sangat tinggi dengan membuatkan

sebuah alat prototipe deteksi jarak dengan menggunakan Mikrokontroler

Arduino, Sensor PING Ultrasonik dan bahasa pemrograman Java.

1.3 Batasan Masalah

Penulis membatasi penulisan skripsi ini antara lain pada :

1. Pembuatan sistem menggunakan mikrokontroler Arduino Uno.

2. Sensor yang digunakan adalah sensor jarak ultrasonik PING, dengan

kapasitas 3cm – 3m.

3. Pada penelitian ini sistem yang dirancang hanya digunakan pada

sistem pergudangan.

4. Informasi yang disampaikan berupa :

1. Jarak sensor dengan benda hingga 3m.

2. Hasil yang dibaca oleh sensor ditampilkan dalam bentuk gambar

atau grafik dan indikator suara.

5. Hasil ditampilkan pada layar monitor.

4
5

1.4 Tujuan Penelitian

Berdasarkan uraian latar belakang masalah tersebut, maka tujuan

penulisan skripsi ini :

1. Membuat aplikasi sederhana yang bersifat embedded sistem dengan

menggunakan mikrokontroler Arduino Uno.

2. Membuat sebuah alat deteksi jarak dengan sensor PING ultrasonik

dan Arduino Uno untuk membantu mengurangi tingkat kecelakaan

kerja atau benturan dengan benda lain pada forklift.

1.5 Manfaat Penelitian

Manfaat yang didapat dari penulisan skripsi ini adalah :

1. Bagi Penulis

Menambah wawasan tentang bagaimana aplikasi yang bersifat

embedded sistem dengan menggunakan mikrokontroler Arduino Uno.

2. Bagi Universitas

Memberikan kontribusi sosial dengan nyata, bahwa aplikasi yang

dibuat oleh mahasiswanya dapat berguna bagi masyarakat secara

langsung.

3. Bagi Pengguna

Dapat memberikan kemudahan dalam mengatur jarak barang – barang

yang terdapat di gudang penyimpanan.

5
6

1.6 Metodologi Penelitian

Metode yang digunakan penulis dalam penulisan bagian metodelogi

penelitian dibagi menjadi dua, yaitu metode pengumpulan data dan metode

pengembangan. Berikut penjelasan kedua metode tersebut :

1.6.1 Metode Pengumpulan Data

Merupakan metode yang digunakan penulis dalam melakukan

analisis data dan menjadikan informasi yang akan digunakan untuk

mengetahui permasalahan yang dihadapi.

1. Studi Pustaka

2. Studi lapangan dengan observasi

3. Studi literatur sejenis.

1.6.2 Metode Pengembangan Sistem

Pada penelitian ini penulis menggunakan metode pengembangan

sistem Prototipe. Karena dengan metode ini penulis dapat

merancang sebuah alat sesuai dengan kebutuhan user dengan cepat

dan tepat. Adapun tahapan yang menjadi karakteristik

pengembangan metode Prototipe adalah sebagai berikut :

a. Pemilihan fungsi.

b. Penyusunan Sistem.

c. Evaluasi.

d. Penggunaan Selanjutnya.

6
7

1.7 Sistematika Penulisan

Agar lebih mempermudah perumusan dan pemecahan masalah yang akan

dibahas pada tugas akhir ini, maka penulis menguraikan tahapan-tahapan dalam

penyusunan laporan ini sebagai berikut:

BAB I PENDAHULUAN

Bab ini membahas latar belakang penulisan skripsi, batasan

masalah, tujuan, manfaat, metodelogi dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini akan membahas tentang teori – teori yang diperlukan

dalam penulisan skripsi ini.

BAB III METODOLOGI PENELITIAN

Dalam bab ini akan diuraikan metode – metode yang digunakan

dalam penulisan yang berhubungan dengan judul skripsi ini.

BAB IV ANALISIS DAN PEMBAHASAN

Dalam bab ini akan dijelaskan bagaimana merancang dan

membangun sebuah prototipe alat deteksi jarak menggunakan

Mikrokontroler Arduino Uno dan bahasa pemrograman Java.

BAB V PENUTUP

Bab ini berisi kesimpulan secara keseluruhan yang diperoleh dari

hasil analisis dan perancangan serta saran-saran untuk penerapan

dan pengembangan lebih lanjut sistem yang bersangkutan.

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

meliputi teori rancang bangun, prototipe, embedded system, mikrokontroler

Arduino, sensor, dan Pemrograman Java.

2.1 Pengertian Rancang Bangun

Rancang merupakan serangkaian prosedur untuk menerjemahkan hasil

analisa dari sebuah sistem ke dalam bahasa pemrograman untuk mendeskripsikan

dengan detail bagaimana komponen-komponen sistem diimplementasikan

(Pressman, 2002). Rancangan sistem adalah penentuan proses dan data yang

diperlukan oleh sistem baru (McLeod, 2002). Perancangan adalah kegiatan yang

memiliki tujuan untuk mendesain sistem baru yang dapat menyelesaikan

masalah-masalah yang dihadapi perusahaan yang diperoleh dari pemilihan

alternatif sistem yang terbaik (Ladjamudin, 2005). Sedangkan pengertian bangun

atau pembangunan sistem adalah kegiatan menciptakan sistem baru maupun

mengganti atau memperbaiki sistem yang telah ada baik secara keseluruhan

maupun sebagian (Pressman, 2002). Bangun sistem adalah membangun sistem

informasi dan komponen yang didasarkan pada spesifikasi desain (Whitten et al,

2004).

8
9

Dengan demikian pengertian rancang bangun merupakan kegiatan

menerjemahkan hasil analisa ke dalam bentuk paket perangkat lunak kemudian

menciptakan sistem tersebut ataupun memperbaiki sistem yang sudah ada.

2.2 Prototipe

2.2.1 Definisi Prototipe

Prototyping menurut Houde dan Hill merupakan salah satu metode

pengembangan perangkat lunak yang banyak digunakan. Dengan metode

prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama

proses pembuatan sistem. Sering terjadi seorang pelanggan hanya mendefinisikan

secara umum apa yang dikehendakinya tanpa menyebutkan secara detail output

apa saja yang dibutuhkan, pemrosesan dan data – data apa saja yang dibutuhkan.

Sebaliknya disisi pengembang kurang memperhatikan efisiensi algoritma,

kemampuan sistem operasi dan interface yang menghubungkan manusia dan

komputer. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang

maka dibutuhkan kerjasama yang baik antara keduanya sehingga pengembang

akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak

mngesampingkan segi – segi teknis dan pelanggan akan mengetahui proses –

proses dalam menyelesaikan sistem yang diinginkan. Dengan demikian akan

menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah

ditentukan.

Prototipe merupakan pendekatan literatif dalam pengembangan sistem

yang dibuat. Secara umum tujuan pengembangan sistem informasi adalah untuk

9
10

memberikan kemudahan dalam penyimpanan informasi, mengurangi biaya dan

menghemat waktu, meningkatkan pengendalian, mendorong pertumbuhan, dan

meningkatkan produktifitas. Dalam beberapa tahun terakhir ini, peningkatan

produktifitas organisasi ini dibantu dengan berkembangnya teknologi komputer

baik hardware maupun softwarenya. Tetapi tidak semua kebutuhan sistem

informasi dengan komputer itu dapat memenuhi kebutuhan dan menyelesaikan

masalah yang dihadapi organisasi. Keterbatasan sumber daya dan anggaran

pemeliharaan memaksa para pengembang sistem informasi untuk menemukan

jalan untuk mengoptimalkan kinerja sumber daya yang telah ada.

Karakteristik dari suatu sistem informasi manajemen yang lengkap

tergantung dari masalah yang dihadapi, proses pengembangannya dan tenaga

kerja yang akan dikembangkannya. Seiring dengan perkembangan permasalahan

karena berubahnya lingkungan yang berdampak kepada perusahaan maka yang

menjadi parameter proses pengembangan sistem informasi yaitu masalah yang

dihadapi, sumber daya yang tersedia dan perubahan, sehingga hasil

pengembangan sisitem informasi manajemen, baik yang diharapkan oleh

perorangan maupun oleh organisasi turut berubah.

Perubahan tersebut pada akhirnya menimbulkan ketidakpastian dan

menambah kompleks/rumit masalah yang dihadapi oleh para analis sistem

informasi. Metode tradisional seperti SDLC (System Development Life Cycle)

dianggap tidak lagi mampu memenuhi tantangan perubahan dan kompleksnya

masalah yang dihadapi tersebut. Sekitar awal tahun delapan puluhan, para

professional dibidang sistem informasi memperkenalkan suatu metode

10
11

pengembangan sistem informasi baru, yang dikenal dengan nama metode

prototyping.

Metode prototyping sebagai suatu paradigma baru dalam pengembangan

sistem informasi manajemen, tidak hanya sekedar suatu evolusi dari metode

pengembangan sisitem informasi yang sudah ada, tetapi sekaligus merupakan

revolusi dalam pengembangan sistem informasi manajemen. Metode ini

dikatakan revolusi karena merubah proses pengembangan sistem informasi yang

lama (SDLC).

Menurut literatur, yang dimaksud dengan prototipe adalah “model

pertama” yang sering digunakan oleh perusahaan industry yang memproduksi

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

akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang

lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan,

ditambahkan, atau digabungkan dengan sistem informasi yang lain bila perlu.

Dalam beberapa hal pengembangan software berbeda dengan produk –

produk manufaktur, setiap tahap atau fase pengembangan sistem informasi

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,

sehingga penggunaan “model pertama” bagi pengembangan software tidaklah

11
12

tepat. Istilah prototyping dalam hubungannya dengan pengembangan software

sistem informasi manajemen lebuh merupakan suatu proses bukan prototipe

suatu produk.

2.2.2 Karakteristik Metode Prototipe

Ada empat langkah yang menjadi karakteristik metode prototyping yaitu :

1. Pemilahan Fungsi

Mengacu pada pemilahan fungsi yang harus ditampilkan oleh

prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas

– tugas yang relevan yang sesuai dengan contoh kasus yang akan

diperagakan.

2. Penyusunan Sistem Informasi

Bertujuan untuk memenuhi permintaan akan tersedianya prototipe.

3. Evaluasi

4. Penggunaan Selanjutnya

Jenis – jenis prototyping sendiri meliputi :

1. Feasibility prototyping – digunakan untuk menguji kelayakan dari

teknologi yang akan digunakan untuk sistem informasi yang akan

disusun.

2. Requitment prototyping – digunakan untuk mengetahui kebutuhan

aktivitas user.

12
13

3. Desain prototyping - digunakan untuk mendorong perancanngan

sistem informasi yang akan digunakan.

4. Implementation prototyping – merupakan lanjutan dari rancangan

prototipe, dimana prototipe ini langsung disusun sebagai suatu sistem

informasi yang akan digunakan.

2.2.3Keunggulan dan Kelamahan Metode Prototipe

Keunggulan

End User dapat berpartisipasi aktif.

Penentuan kebutuhan lebih mudah diwujudkan

Mempersingkat waktu pengembangan sistem informasi.

Kelemahan

Proses analisis dan perancangan terlalu singkat.

Mengesampingkan alternatif pemecahan masalah.

Kurang fleksibel dalam menghadapi perubahan.

Prototipe yang dihasilkan tidak selamanya mudah dirubah.

Prototipe terlalu cepat selesai.

(Houde dan Hill ,2004)

13
14

2.3 Alat Deteksi Jarak

Alat deteksi jarak atau detektor erat kaitannya dengan Radar. Radar

(Radio Detection and Ranging) merupakan sistem gelombang elektromagnetik

yang digunakan untuk mendeteksi, mengukur jarak dan membuat map benda-

benda seperti pesawat terbang, kendaraan bermotor dan informasi cuaca.

Detektor ini berupa sebuah sensor yang bekerja secara otomatis berdasarkan

pemilihan jenis sensor dan pemrograman pada sensor tersebut.

2.3.1 Pengertian Sensor

Sensor dan transducer merupakan peralatan atau komponen yang

mempunyai peranan penting dalam sebuah sistem pengaturan otomatis.

Ketepatan dan kesesuaian dalam memilih sensor akan sangat menentukan

kinerja dari sistem pengaturan secara otomatis.

Secara umum berdasarkan fungsi dan penggunaannya sensor dapat

dikelompokan menjadi 3 bagian yaitu :

a. Sensor thermal (panas)

b. Sensor mekanis

c. Sensor optic (cahaya)

Sensor mekanis adalah sensor yang mendeteksi perubahan gerak

mekanis, seperti berat benda, perpindahan atau pergeseran posisi, gerak

lurus dan melingkar, tekanan, gaya, aliran, level, dan sebagainya. Besaran

masukan pada kebanyakan sisitem kendali adalah bukan besaran listrik,

seperti besaran fisika, kimia, mekanis dan sebagainya, untuk memakaikan

besaran listrik pada sistem pengukuran, atau sistem manipulasi atau sistem

14
15

pengontrolan. Fenomena fisik mampu menstimulus sensor menghasilkan

sinyal elektrik meliputi berat/beban, temperatur, tekanan, gaya, medan

magnet cahaya, pergerakan dan sebagainya.

Dengan definisi seperti ini maka sensor merupakan alat elektronik

yang banyak dipakai dalam kehidupan manusia saat ini. Bagaimana tekanan

jari kita pada keyboard komputer, remote televisi, lantai lift yang kita tuju

menghasilkan perubahan layar komputer atau televisi, serta gerakan lift

adalah contoh mudah sensor secara luas. Hampir seluruh kehidupan sehari

– hari saat ini tidak ada yang tidak melibatkan sensor. Tidak mengherankan

jika sensor banyak disebut sebagai panca indera-nya alat elektronik

(William, 2004).

2.3.2 Sensor Ultrasonik

Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip

pantulan gelombang suara dan digunakan untuk mendeteksi suatu objek

tertentu di depannya, frekuensi kerjanya pada daerah atas gelombang suara

dari 40 KHz hingga 400 KHz. Sensor ultrasonik terdiri dari dua unit , yaitu

unit pemancar dan unit penerima. Struktur unit pemancar dan penerima

sangatlah sederhana, sebuah kristal piezoelectric dihubungkan dengan

mekanik jangkar dan hanya dihubungkan dengan diafragma penggetar.

Tegangan bolak – balik yang memiliki frekuensi 40 KHz – 400 KHz

diberikan pada plat logam. Struktur atom dari kristal piezoelectric akan

berkontraksi (mengikat), mengembang atau menyusut terhadap polaritas

tegangan yang diberikan dan ini disebut efek piezoelectric.

15
L-.'min:v,n.l.
18

Sensor PING mendeteksi jarak objek dengan cara memancarkan

gelombang ultrasonik (40 KHz) selama t = 200 us sesuai dengan kontrol

dari mikrokontroller pengendali (pulsa trigger dengan tout min 2 us).

2.3.4 Sensor Jarak Ultrasonik Devantech SRF05

SRF05 merupakan sensor pengukur jarak yang menggunakan

ultrasonik. Dimana prinsip kerja sensor Ultrasonik ini adalah pemancar

(transmitter) mengirimkan seberkas gelombang ultrasonik, lalu diukur

waktu yang dibutuhkan hingga datangnya pantulan dari objek. Lamanya

waktu ini sebanding dengan dua kali jarak sensor dengan objek, sehingga

didapat jarak sensor dengan objek yang bisa ditentukan dengan persamaan

Jarak = Kecepatan_suara × waktu_pantul/2

Sensor ultrasonik Devantech SRF05 dengan spesifikasi sebagai

berikut :

1. Bekerja pada tegangan DC 5 volt.

2. Beban arus sebesar 30 mA – 50 mA.

3. Menghasilkan gelombang dengan frekuensi 40 KHz.

4. Jangkauan jarak yang dapat dideteksi 3 cm – 400 cm.

5. Membutuhkan trigger input minimal sebesar 10 uS.

6. Dapat digunakan dalam dua pilihan mode yaitu input trigger dan

output echo terpasang pada pin yang berbeda atau input tirgger dan

output echo terpasang dalam satu pin yang sama.

18
20

dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur

dengan obyek. Maka jarak yang diukur adalah :

S = (tIN x V) ÷ 2

Dimana :

S = Jarak antara sensor ultrasonik dengan objek yang dideteksi

V = Cepat rambat gelombang ultrasonik di udara (344 m/s)

tIN = Selisih waktu pemancaran dan penerimaan pantulan gelombang.

2.4 Mobil Pengangkut (Material Transport)

Banyak orang mengartikan material transport sama dengan material

handling. Sebenarnya 2 istilah ini memiliki definisi yang berbeda. Material

handling yaitu Ilmu tentang pemindahan (material transport), penyimpanan

(storage), pengamanan, dan pengontrolan material. Jadi material transport

merupakan bagian dari definisi material handling. Istilah lainnya yaitu material

moving.

Pada praktiknya, aktivitas ini menjadi sangat penting dalam operasi

perusahaan. Mulai dari industri pertambangan, chemical, hingga manufacture,

material transport memiliki alokasi biaya yang cukup besar. Dari sisi Suplier, ini

menjadi bisnis bernilai milayaran dollar. Karena itu tidak mengherankan jika

perkembangan teknologinya sangat pesat untuk memenuhi kebutuhan sistem

operasi ter-modern.

Pemindahan barang merupakan salah satu elemen dasar dalam

implementasi Just In time , jika pemindahan barang antar stasiun kerja

20
21

berlangsung dengan cepat, efisien dan aman memiliki kontribusi terhadap

peningkatan kecepatan operasi.

Metode pemindahan barang terbagi dalam dua kelompok:

1. Pemindahan barang dalam jumlah banyak / besar seketika.

2. Pemindahan barang dalam jumlah kecil secara terus menerus /

continue.

2.4.1 Pemindahan Barang Dalam Jumlah Banyak

Pemindahan dalam jumlah besar sekaligus memiliki konsekuensi

terhadap luas ruang gerak mesin pengangkut teutama untuk bermanuver.

1. Digerakan dengan tenaga manusia

Berikut beberapa penerapan dalam manufacture yang menggunakan ini :

a. Manual Hand Truck, yaitu alat pemindah barang secara manual

atua dengan tenaga manusia. Variasi hand truck ini cukup banyak,

karena rata – rata design alat menyesuaikan kondisi operasi.

Bahkan untuk memenuhi kebutuhan operasi yang khusus, alat ini

terkadang harus dibuat secara customized. Umumnya orang

menyebut alat ini dengan trolley.

b. Hydraulic Hand Trucks, jenis alat ini digunakan untuk

memindahkan barang, tapi dilengkapi dengan mekanisme

pengangkat secara hidraulic. Contoh alat yang umum digunakan

dalam industri, hand pallet, jack pallet, scissors lift table,

21
22

hidraulic stackers, dan lain – lain. Sistem hidraulic tidak

memerlukan sumber listrik dalam operasinya, sehingga

penggunaannya bisa lebih luas.

c. Electric Hand Trucks, jenis alat ini digunakan untuk

memindahkan barang, tapi dilengkapi dengan mekanisme

pengangkat/lifting secara electric/baterai. Jadi syarat utama

penggunaannya stasiun kerja harus memiliki sumber arus listrik.

2. Digerakan dengan tenaga mesin

Barang dipindahkan dengan menggunakan mesin-mesin penggerak ,

umumnya alat ini dilengkapi dengan mekanisme pengangkat secara hidraulic

atau elektrik.

a. Forklift, menurut penggunaan dan sumber tenaganya ada beberapa

type forklift, diantaranya electric forklift, Diesel Engine Forklift,

Gasoline/LPG engine forklift. Penggunaan di dalam lingkungan

Industri biasanya berkisar pada beban angkat 2,5 - 5 Ton. Namun

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,

dan bentuk yang rata-rata standar. Pemindahan barang tidak

memungkinkan menggunakan crane, sehingga harus tetap bertumpu

di lantai dengan menggunakan jalur khusus (Rail).

22
23

c. Order Picker, digunakan indoor dan dikendalikan oleh

operator/driver. Umumnya bertenaga listrik atau hidrogen. Memiliki

dimensi relatif kecil, sehingga mampu bermanuver didalam ruang

yang terbatas.

d. Crane, banyak digunakan diindustri yang berhubungan dengan

pemindahan barang dengan bobot relatif berat, namun memiliki

bentuk yang tidak standar. Aplikasinya banyak digunakan di area

kerja Maintenance, Workshop, Perakitan mesin-mesin berat.

e. Autonomous Guide Vehicles (AGV), kendaraan tanpa dikendarai

namun dikendalikan oleh komputer dengan menggunakan gelombang

radio atau jalur sensor.

2.4.2 Pemindahan Barang Dalam Jumlah Kecil Secara Terus

Menerus

Metode ini umumnya digunakan untuk memindahkan barang-barang yang

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

mengganggu aktivitas produksi.

Sistem ini menggunakan Conveyor. Conveyor adalah sistem mekanik

yang befungsi memindahkan barang dari satu tempat ke tempat lain secara

continue. Dari beberapa variasi, conveyor dikelompokan kedalam 4 jenis :

1. Gravity Conveyor

23
24

2. Motor Conveyor

3. Vibrating Conveyor

4. Hanging / Over Head Conveyor

2.5 Embedded System

Menurut Pernantin Tarigan dalam bukunya Sistem Tertanam (Embedded

System) (Tarigan, 2010), Embedded system adalah suatu sistem komputer yang

dibangun untuk melakukan tujuan atau fungsi tertentu. Dalam suatu embedded

system, terdapat susunan perangkat keras dan komponen-komponen mekanik.

Komponen-komponen penyusun embedded system ini dikoordinasikan oleh satu

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

dapat memenuhi berbagai kebutuhan pengguna. Sebagai konsekuensinya,

personal computer harus menyediakan berbagai macam komponen yang dapat

memenuhi kebutuhan pengguna secara umum. Akibatnya, ukuran komponen

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

Komputer hadir dalam kehidupan manusia sejak 50 tahun yang lalu,

namun efeknya sangat besar dalam merubah kehidupan manusia, bahkan

melebihi penemuan manusia lainnya seperti radio, telepon, dan televisi. Begitu

banyak aplikasi memanfaatkan chip mikroprosesor yang dapat melakukan

komputasi sangat cepat, dapat bekerja sendiiri dengan diprogram, dan dilengkapi

memori untuk menyimpan begitu banyak data.

Seiring dengan perkembangan zaman, semakin luaslah kebutuhan akan

kemampuan seperti yang dimiliki komputer, sehingga menyebabkan munculnya

terobosan – terobosan baru yang salah satunya dibuatnya chip mikrokontroler.

Mikrokontroler adalah single chip computer yang dapat diprogram dan

digunakan untuk tugas-tugas berorientasi kontrol.

Mikrokontroler datang dengan dua alasan utama yang pertama adalah

kebutuhan pasar dan yang kedua adalah perkembangan teknologi baru. Yang

dimaksud kebutuhan pasar adalah kebutuhan yang luas dari produk-produk

elektronik akan perangkat pintar sebagai pengontrol pemroses data. Sedangkan

yang dimaksud dengan perkembangan teknologi baru adalah perkembangan

teknologi semikonduktor dan memungkinkan pembuatan chip dengan

kemampuan komputasi yang sangat cepat, bentuk yang semakin kecil, dan harga

yang semakin murah.

26
27

2.6.1 Perbedaan Mikrokontroler dengan Mikroprosesor

Menurut Widodo dalam bukunya yang berjudul Panduan Lengkap

Belajar Mikrokontroler ; Perancangan Sistem dan Aplikasi Mikrokontroler

(Widodo, 2005), terdapat perbedaan yang signifikan antara mikrokontroler dan

mikroprosesor. Perbedaan utama antara keduanya dilihat dari dua faktor utama

yaitu arsitektur perangkat keras (hardware architecture) dan aplikasi masing –

masing.

Ditinjau dari segi arsitekturnya, mikroprosesor merupakan single chip

CPU, sedangkan mikrokontroler dalam IC-nya selain CPU juga device lain yang

memungkinkan mikrokontroler berfungsi sebagai suatu single chips computer.

Dalam sebuah IC mikrokontroler telah terdapat ROM, RAM, EPROM, serial

interface, dan parallel interface. Timer, interrupt controller, converter analog ke

digital,dan lainnya (tergantung feature yang melengkapi mikrokontroler

tersebut).

Sedangkan dari segi aplikasinya, mikroprosesor hanya berfungsi sebagai

Central Processing Unit yang menjadi otak komputer, sedangkan

mikrokontroler, dalam bentuknya yang mungil, pada umumnya ditujukan untuk

melakukan tugas – tugas yang berorientasi kontrol pada rangkaian yang

membutuhkan jumlah komponen minimum dan biaya rendah (low cost).

27
28

2.6.2 Aplikasi Mikrokontroler

Karena kemampuannya yang tinggi, bentuknya yang kecil, konsumsi

dayanya yang rendah, dan harga yang murah maka mikrokontroler bnayak

digunakan. Mikrokontroler digunakan mulai dari mainan anak – anak sampai

perangkat elektronik rumah tangga, perangkat pendukung otomotif, perangkat

industri, perangkat telekomunikasi, peralatan medis dan kedokteran sampai

dengan pengendali robot serta persenjataan militer.

Terdapat beberapa keuntungan dari alat – alat yang berbasis

Mikrokontroler (mikrokontroler – based solutions) diantaranya :

 Kehandalan tinggi dan kemudahan integrasi dengan komponen

lain.

 Penggunaan komponen semakin sedikit yang juga akan

menyebabkan biaya produksi semakin ditekan.

 Ukuran yang dapat diperkecil.

 Waktu pembuatan lebih singkat sehingga lebih cepat pula dijual

kepasaran sesuai kebutuhan.

 Konsumsi daya yang semakin rendah.

(Widodo, 2005)

2.6.3 Perkembangan Mikrokontroler

Karena kebutuhan yang tinggi terhadap “chip – chip pintar” dengan

berbagai fasilitasnya, maka berbagai vendor juga berlomba untuk menawarkan

produk – produk mikrokontrolernya. Hal tersebut terjadi semenjak awak tahun

28
29

1970-an. Motorolla mengeluarkan seri Mikrokontroler 6800 yang terus

dikembangkan sehingga menjadi 68HC05, 68HC08, 68HC11, dan 68HC16.

Zijog juga mengeluarkan seri mikroprosesor Z180 dan kemudian diadopsi

juga oleh mikroprosesor Rabbit. Intel mengeluarkan Mikrokontroler yang

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

Instrument dan Arduino, serta masih banyak lagi.

Selain mikroprosesor dan mikrokontroler, sebenarnya telah bermunculan

chip – chip pintar lain seperti DSP prosesor. Di masa depan, chip – chip mungil

berkemampuan tinggi akan mendominasikan semua desain elektronik di dunia

sehingga mampu memberikan kemampuan komputasi yang tinggi serta

meminimalkan jumlah komponen – komponen konvensional.

2.6.4 Mikrokontroler Arduino

Dalam buku “Getting Started with Arduino” , Arduino dituliskan sebagai

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

Sedangkan dari situs resminya di www.arduino.cc, Arduino didefinisikan

sebagai sebuah platform elektronik yang open source, berbasis pada software dan

hardware yang fleksibel dan mudah digunakan yang ditujukan pada setiap orang

yang tertarik dalam membuat objek atau lingkungan yang interaktif.

Nama Arduino di sini tidak hanya dipakai untuk menamai board

rangkaiannya saja, tetapi juga untuk menamai bahasa dan software

pemrogramannya, serta lingkungan pemrogramannya atau IDE (Integrated

Development Environment).

Arduino adalah suatu mikrokontroler kecil yang berisi semua komponen

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

berkomunikasi dengan komputer, seluruh komponen – komponen yang

dibutuhkan harus diletakkan pada tempatnya.

Arduino memiliki banyak sekali versi. Salah satu yang paling simpel

adalah Arduino Uno yang mudah untuk dipakai. (Arduino, 2010). Berikut adalah

gambar untuk Arduino Uno :

30
32

bahasa pemrograman komputer adalah bahasa pemrograman Java. Bahasa

pemrograman Java adalah bahasa pemrograman berorientasi objek (PBO)

atau Object Oriented Programming (OOP).

Java bersifat netral, tidak bergantung pada suatu platform, dan

mengikuti prinsip WORA (Write Once and Run Anywhere). Beberapa

bahasa pemrograman, seperti Basic, Fortan, Pascal, COBOL, C, Prolog dan

lainnya harus bergantung pada suatu platform karena mengharuskan user

mengkompilasi program tersebut pada setiap sistem operasi yang

ditentukam jika ingin menggunakan hasil program tersebut (Sariadin,

2009).

2.7.1 Sejarah Singkat Pemrograman Java

Pemrograman Java dipelopori oleh James Gosling, Patrick Naughton,

Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc.

pada tahun 1991, ketika perusahaan tersebut memulai Green Project

(proyek penelitian membuat bahasa yang akan digunakan pada chip – chip

embedded untuk device intelligent consumer electronic). Mereka

membutuhkan waktu kurang lebih 18 bulan untuk membuat versi

pertamanya.

Bahasa tersebut haruslah bersifat multiplatform dan tidak tergantung

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

Sejak pembuatan Oak pada musim gugur tahun 1992 hingga

diumumkan ke publik pada musim semi tahun 1995, banyak orang yang

terlihat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff,

Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor

kunci yang mematangkan prototipe aslinya. Pada saat ini, Java banyak

digemari oleh para programmer karena open source dan dapat

dikembangkan ke pemrograman berbasis internet sesuai kebutuhan masa

atau zaman ( Spell, 2000).

2.7.2 Pemrograman Prosedural dan Pemrograman Berorientasi

Objek

Menurut Sariadian dalam bukunya yang berjudul Pemrograman Java

Dasar – dasr Pengenalan dan Pemahaman (Sariadin, 2009) menjelaskan

bahwa program komputer terdiri atas kode dan data. Kode yang dimaksud

adalah proses logis program (misalnya fungsi), sedangkan data dapat

berupa variabel atau konstanta. Secara konseptual, kode dan data tersebut

diatur sedemikian rupa sehingga dapat bekerja sama untuk menghasilkan

keluaran sesuai dengan proses yang diinginkan.

Pada model pemrograman tradisional atau prosedural (disebut

process oriented mode), semua data kode digabung menjadi satu bagian

dalam satu program. Untuk program – program sederhana yang hanya

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

membutuhkan ratusan atau bahkan ribuan baris kode. Pada pemrograman

beronrientasi objek, komponen – komponen penyusun program secara

konseptual akan dipecah menjadi bagian – bagian tersendiri yang disebut

a (sifat berupa variabel atau konstanta) dan method (perilaku atau kemampuan melakukan sesuatu berupa fungsi). Jadi, ob

d. Sifat

2.7.3 Sifat – sifat Pemrograman Java

Sifat – sifat pemrograman Java, antara lain : berorientasi objek,

terdistribusi, multiplatform, dan multithread.

34
35

Java Berorientasi Objek

Pemrograman Java merupakan pemrograman yang berorientasi objek.

Artinya, penulisan program harus dibuat dalam bentuk objek – objek,

kemudian memodelkan sifat masing – masing objek dalam program. Java

menentukan dan mengatur interaksi antara objek.

Java Bersifat Terdistribusi

Program Java sesuai dengan perkembangan teknologi saat ini, yaitu

teknologi jaringan local seperti jaringan internet. Dalam hal ini, Java dapat

digunakan untuk menyebarkan/mendistribusikan data atau informasi dalam

workstation client, e-mail server, database server, dan webserver (dalam

jaringan komputer local dan internet).

Java Bersifat Multiplatform

Program Java yang sudah diterjemahkan (dikompilasi) dengan benar

dan berhasil dapat dijalankan pada platform yang lain atau pada sistem

operasi yang lain. Java menggunakan prinsip WORA (Write Once and Run

Anywhere). Sekali menuliskan program maka hasil programnya dapat

dijalankan pada sistem operasi yang mana saja. Artinya, sekali menulis

program dalam bahasa Java dan mengkompilasinya maka program tersebut

dapat dijalankan pada berbagai sistem operasi, seperti DOS, Windows,

Linux, MacOS, dan Solaris.

Java Bersifat Multithread

Thread merupakan unit dasar penggunan Central Processing Unit

(CPU) yang terdiri dari Thread_ID, program counter, register set, dan

35
36

stack. Multithread adalah banyaknya pekerjaan yang dikerjakan dalam

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,

diperlukan multithread untuk dapat melayani client server.

2.7.4 Compiler dan Interpreter Java

Java mempunyai sistem yang digunakan untuk melakukan compiler

dan interpreter, yang semuanya mendukung program Java dalam

melakukan tugasnya.

a. Decompiler

Decompiler adalah program yang dapat menerjemahkan bahasa

mesin menjadi program yang dapat dibaca (high level language).

b. Compiler dan Interpreter

compiler dan interpreter adalah suatu sistem yang menerjemahkan

bahasa sumber (source language) menjadi bahasa sasaran (target

language). Source program yang ditulis diterjemahkan menjadi

target program. Proses penerjemahan sering disebut “kompilasi”

(compilasi). Perhatikan gambar 2.7.

36
37

kode byte tersebut dan mengubahnya menjadi bahasa mesin yang

dimengerti oleh sistem operasi tempat program tersebut

dijalankan. Bahasa mesin merupakan bahasa level rendah yang

37
38

hanya dimengerti oleh mesin tertentu (misalnya, Intel), tapi tidak

dapat dimengerti oleh mesin lain (seperti Macintosh).

Karena JVM sangat bergantung pada platform – nya, kode byte ini

dapat dibuat untuk terbebas dari kungkungan platform tertentu.

Kode byte yang dihasilkan dalam proses kompilasi bahasa Java

akan selalu sama untuk setiap sistem operasi atau jenis mesinnya,

tetapi JVM akan mengubah kode byte tersebut menjadi bahasa

mesin tujuannya.

d. Just In Time Compiler (JIT)

Meskipun Java didesain untuk diinterpretasi, namun secara teknis

tidak ada yang menghalangi Java untuk dikompilasi menjadi

bahasa mesin seperti bahas – bahasa pemrograman lainnya. Sun

menyediakan Just In Time Compiler (JIT) untuk mengkompilasi

kode byte tersebut agar menjadi bahasa mesin pada saat yang

bersamaan dengan eksekusinya. Walaupun demikian, pendekatan

JIT ini dapat menghasilkan kemampuan yang lebih dibandingkan

dengan interpretasi biasa.

e. Java Modern

Java digunakan oleh berbagai aplikasi, seperti aplikasi embedded,

aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra,

game, web, dan aplikasi perusahaan distribusi.

38
39

2.7.5 Konsep Pemrograman Berorientasi Objek

Konsep pemrograman berorientasi objek atau Object Oriented

Programming (OOP) adalah inti dari pemrograman Java. Semua program

Java merupakan objek. Dasar pemrograman objek pada pemrograman Java,

antara lain :

1. Class

2. Object

3. Attribute

4. Method

5. Constructor

Desain pemrograman berorientasi objek adalah teknik yang

memfokuskan desain pada objek dan class berdasarkan pad askenario dunia

nyata. Hal ini menegaskan keadaan (state), behavior, dan interaksi dari

objek. Selain itu, pemrograman tersebut mempunyai manfaat akan

kebebasan pengembangan, meningkatkan kualitas, mempermudah

pemeliharaan, mempertinggi kemampuan dalam modifikasi, dan

meningkatkan penggunaan kembali software.

1. Class

Class adalah pemodelan dari objek yang menjelaskan data (sifat

karakteristik data) dan fungsi yang dimiliki suatu objek. Class merupakan

wadah (tempat) yang digunakan untuk menciptakan suatu objek.

Dasar pemrograman berorientasi objek pada Java adalah class. Class

dapat membuat atau mendeklarasikan tipe data baru. Ia dijalankan sebagai

39
40

blueprint. File sumber Java harus diberi nama berdasarkan class di dalam

program.

Bentuk deklarasi class :

Class Nameclass

Class Body

Secara umum, class memiliki struktur anataomi sebagai berikut :

(modifier1) Class Nameclass (modifier2)

Class Body

Dalam pemrograman Java, ada beberapa keyword yang sering

digunakan sebagai modifier, yaitu kata tambahan yang terletak di depan

suatu unsure (kelas/data/method). Modifier tersebut berupa abstract, final,

multiple, static, serta tiga jenis lainnya, yaitu public, private, dan protected.

Modifier bersifat opsional (boleh dipakai atau tidak). Modifier public,

private dan protected digunakan untuk menentukan tingkat aksesibilitas

dari suatu kelas/data/method.

Aturan pemberian nama class :

a. Dimulai dengan abjad, tanda underscore (_), atau tanda dolar ($).

b. Nama class tidak boleh dimulai dengan bilangan (0,1,2,3,4,5,6,7,

….). Setelah karakter pertama, dapat diikuti kombinasi abjad,

underscore, dolar, atau bilangan.

40
41

c. Tidak boleh menggunakan keyword dalam Java (public, class,

boolean, private, dan sebagainya).

d. Tidak boleh menggunakan operator (+.-,=).

a bersifat case sensitive (membedakan huruf kecil dan huruf kapital).


a file source harus sesuai dengan nama class. Misalnya, menuliskan nama mahasiswa dan alamat mahasiswa.
a file source – nya : dataku.java

a class : dataku

s dataku{

ic static void main(string[] args){ string nama,alamat;


= “ Rita”;

at = “Jalan Sudirman Medan”; system.out.printIn(“Nama : “+nama); system.out.printIn(“Alamat

2. Object

Object adalah sebuah entity yang memiliki keadaan, behavior, dan

identitas yang tugasnya dirumuskan dalam suatu lingkup masalah dengan

baik. Object dapat juga disebut suatu instans (instance). Instance adalah

proses pembuatan (perwujudan) suatu kelas menjadi objek. Dalam

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 :

Tahap 1 Mendeklarasikan variabel yang digunakan sebagai referensi

ke objek dari kelas yang bersangkutan.

Tahap 2 Menginstansiasi (instans) kelas dengan menggunakan kata

kunci new dan memasukkan instance – nya ke dalam

referensi yang baru dideklarasikan.

Class yang menggunakan kata kunci new secara dinamis akan

mengalokasikam ruang memori untuk menyimpan suatu objek tertentu dan

mengembalikan nilai berupa referensi ke objek yang bersangkutan.

Referensi objek adalah sebuah alamat memori dari objek yang dialokasikan

dengan menggunakan operator new.

3. Attribute

Attribute adalah elemen data dari suatu objek. Attribute menyimpan

informasi tentang objek. Attribute dapat diartikan sebagai data, variabel,

properti, atau sebuah field data. Setiap variabel harus memiliki tipe data

dan diberi nama yang unik untuk membedakan yang satu dengan yang

lainnya. Misalnya, objek mahasiswa.

Attribute dari seorang mahasiswa

berupa: Nomor mahasiswa

Nama mahasiswa

4. Method

42
43

Method adalah subprogram yang dihubungkan pada definisi class

tertentu. Setiap subprogram memiliki tugas sendiri. Method dalam

pemrograman terstruktur adalah prosedur atau fungsi yang dimiliki suatu

program. Sebuah method menjelaskan behavior dari sebuah objek. Dalam

Java, method ada dua, yaitu :

a. Method Void

Method void adalah method yang tidak mengembalikan nilai.

Untuk method void tipe data kembalian, harus diisi dengan

kata kunci void. Cara kerja method void sama seperti prosedur

(procedure).

b. Method Nonvoid

Method nonvoid adalah method yang mengembalikan nilai.

Untuk mengembalikan suatu nilai tertentu maka di dalam

method harus terdapat statement return yang diikuti dengan

nilai yang akan dikembalikan. Cara kerja method nonvoid

sama seperti fungsi (function).

Pendeklarasian/pendefinisian method :

1. Deklarasi method disebut “judul method” (header

method).

2. Badan method berada di dalam pasangan kurung

kurawal.

Cara penulisan :

Headermethod{

43
44

Badan method

3. Badan method membentuk satu blok.

membuat dan menginisialisasi sebuah objek baru. Constructor berfungsi untuk menginisialisasi nilai terhadap data yang te

Paket (Package)

a. Pengertian Package dalam Java

Cara untuk mengelompokan beberapa class dan interface yang

ada ke dalam kelompoknya masing – masing sehingga memungkinkan

penggunaan nama yang sama dapat dilakukan atau sarana untuk

mengelompokan kelas – kelas dan interface yang berhubungan dalam

suatu pustaka (library) menjadi satu unit disebut package. Package yang
44
45

secara otomatis di dalam Java API (Aplication Programming Interface)

adalah package java.lang. package ini berisi kelas – kelas dan interface

yang merupakan fundamental bagi semua pemrograman Java, yang

sering disebut “package language”. Sebagai contoh, isi package

java.lang seperti pemakaian atau penulisan dalam program.

Import java.io*;

Import java.awt.*;

Import javax.swing.*;

---

Kita dapat mendeklarasikan kelas – kelas di dalam package

yang tidak dapat diakses oleh statement atau perintah di luar package

(paket yang lain) atau membuat package yang baru sesuai dengan

keperluan program. Istilah package dapat juga dimaksudkan sebagai

pembungkus kelas – kelas agar tersusun rapi.

b. Deklarasi Package

Pernyataan package dituliskan pada awal source code file

sumber. Suatu package mendefinisikan nama ruang kelas – kelas

disimpan dan kelas – kelas dideklarasikan dalam satu paket sehingga

kelas – kelas itu menjadi milik package tersebut. Deklarasi package akan

memberitahu compiler ke library mana suatu kelas akan dikompile atau

dirujuk.

Untuk mengkompilasi atau mengeksekusi program, program

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 hendaknya dapat menggambarkan atau merepresentasikan nama

kelas – kelas yang terkandung di dalam package tersebut. Penulisan

package harus dengan huruf kecil. Deklarasi package ini adalah suatu

kelas secara utuh yang meliputi variabel dan method yang ada di

dalamnya.

c. Mengimport Package dan Menggunakannya dalam Package

lain

Package yang berisikan class dan interface dapat digunakan

oleh package yang lain. Maksudnya, penggunaan package yang lain

adalah jika program memerlukan class dan interface berada di dalam

direktori yang mana atau package yang mana. Perintahnya menggunakan

import nama package.(namaClass|nama interface|*); atau dapat

menggunakan tanda * (tanda bintang). Tanda bintang * gunanya untuk

menyatakan import semua class atau interface yang terdapat pada

package yang bersangkutan.

2.7.7 Object Oriented Programming (OOP)

a. Ciri – ciri Pemrograman Berorientasi Objek

Object Oriented Programming (OOP) adalah suatu

pemrograman yang berorientasi objek. Ciri – ciri atau karakteristik

pemrograman berorientasi objek, antara lain :

1. Abtraksi (abstraction)

2. Pembungkusan (encapsulation)

46
47

3. Pewarisan (inheritance)

4. Polimorfisme (polymorphism)

Ciri – ciri pemrograman Java tersebut merupakan dasar – dasar

dari konsep yang terkandung dalam pemrograman Java itu sendiri.

1. Abtraksi (Abstraction)

Abstraksi adalah pengabstrakan atau melakukan seleksi

terhadap aspek – aspek tertentu suatu masalah. Abstraksi digunakan

untuk penyembunyian kerumitan dari suatu proses. Sebagai contoh,

dalam membuat suatu sistem, ada tombol – tombol yang dapat

digunakan. Operator atau pengguna tidak perlu berfikir tentang

pembuatan tombol tersebut, tetapi yang penting mereka dapat

menggunakannya. Contoh lain, mobil adalah kumpulan dari bagian –

bagian kecil. Orang hanya berpikir bahwa mobil sebagai objek yang

telah memiliki perilaku spesifik, yang dapat digunakan sebagai alat

angkut sehingga orang menggunakannya tanpa harus mengetahui

kerumitan proses yang terdapat di dalam mobil tersebut. Artinya, si

pembuat mobil telah menyembunyikan semua kerumitan – kerumitan

proses yang terdapat di dalam mobil dan pengguna tidak perlu

mengetahui bagaimana sistem mesin, transmisi, dan rem bekerja.

2. Pembungkusan (Encapsulation)

Pembungkusan sering pula disebut pengkapsulan. Artinya,

proses membuat paket data objek bersama dengan metode – metodenya.

Berdasarkan kode program, proses memisahkan aspek – aspek objek

47
48

dilakukan dengan cara pembungkusan. Proses pembungkusan itu sendiri

merupakan cara atau mekanisme untuk melakukan abstraksi. Dalam

pemrograman tradisional, proses semacam ini sering dinamakan dengan

penyembunyian informasi (information hidding). Dalam melakukan

pembungkusan kode dan data di dalam Java, terdapat tiga tingkat akses

yang perlu diketahui, yaitu private, protected, dan public.

3. Pewarisan (Inheritance)

Pewarisan adalah memberikan atau mewariskan sesuatu kepada

keturunan berikutnya. Dalam konteks ini, suatu kelas dalam program

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

membentuk kelas – kelas turunan dari kelas A tersebut (misalnya, kelas

B) yang mewarisi sifat – sifat yang terkandung dalam kelas A. dalam

proses pembuatan kelas turunan tersebut, kita dapat menambahkan sifat

dan perilaku baru ke daam kelas B, yang sebelumnya tidak dimiliki

dalam kelas A. dalam terminologi Java, kelas induk dinamakan dengan

superclass dan kelas turunan disebut dengan subclass. Untuk membuat

class anak atau subclass berdasarkan class yang telah ada, kita dapat

gunakan kata kunci extend dalam mendeklarasikan class. Sebuah class

hanya dapat meng – extend satu class induk.

4. Polimorfisme (Polymorphism)

48
49

Polimorfisme adalah suatu kejadian ketika objek dapat

mengungkap banyak hal melalui satu cara yang sama. Secara harfiah,

poli berarti banyak dan morph berarti bentuk. Jadi polimorfisme berarti

mempunyai banyak bentuk. Sebagai contoh, ada kelas A yang

diturunkan menjadi kelas B, C, dan D. Dengan konsep polimorfisme,

kita dapat menjalankan method – method yang terdapat pada kelas B, C,

dan D hanya dari objek yang diinstansiasi dengan kelas A. Polimorfisme

memungkinkan kita mengenali kesamaan di antara kelas yang berbeda.

Polimorfisme sering dinamakan dengan dynamic binding, late binding,

atau runtime binding.

2.7.8 Graphical User Interface (GUI)

a. Pengertian Graphical User Interface (GUI)

Graphical User Interface (GUI) adalah suatu aplikasi dalam

Java yang berbasis grafik. GUI membuat hasil dari suatu program

tampak menarik dan nyaman ketika digunakan oleh para user. Java

menyediakan dua kelas untuk GUI, antara lain:

1. AWT (Abstract Windowing Toolkit), yang terdapat dalam

package java.awt.

2. Swing, yang terdapat dalam package javax.swing.

Kedua package tersebut –java.awt dan javax.swing-

mempunyai mekanisme penanganan (event handling) yang bersamaan.

AWT dan Swing menyediakan komponen GUI yang dapat digunakan

dalam membuat aplikasi Java dan Applet.

49
50

1. AWT (Abstract Windowing Toolkit)

AWT merupakan kumpulan class untuk membuat

user interface dan gambar. AWT terdapat dalam

package java.awt. Package


platform sistem operasi. Pada AWT terdapat class – class yang mendukung, seperti component, container, window, frame,

alam pengorganisasian tata letak komponen. Panel sering juga digunakan bersamaan dengan frame.

user inte

javax.swing dapat diaplikasikan pada platform sistem operasi.

Implementasi swing dalam program dapat menggunakan class yang

sudah terdapat pada package javax.swing, yaitu JFrame. JDialog,

JOption, JApplet.

50
51

- JFrame

JFrame mempunyai subclass frame (bingkai atau kerangka).

Konstruktor:

Frame();

Frame(string tittle)

- JDialog

JDialog mempunyai subclass dialog. Dialog biasanya

digunakan bersamaan dengan frame. Perbedaan utama antara dialog

dengan frame adalah dialog tidak dibuat berdiri sendiri, tetapi frame

dapat berdiri sendiri tanpa dialog. Cara mudah menampilkan dialog

adalah dengan cara menggunakan class JOptionPane. Pada class

JOptionPane disediakan beberapa method static yang dapat langsung

digunakan untuk menampilkan dialog standar.

- JOption

JOption digunakan untuk melakukan pilihan pada fasilitas dari

class Swing.

- JApplet

JApplet mempunyai subclass Applet. Applet adalah aplikasi

Java yang dijalankan dalam lingkungan web browser internet. Applet

memiliki tiga method utama, antara lain :

 init()

init() merupakan method yang akan dicari dan dieksekusi

pertama pada saat Applet dijalankan.

51
52

 paint()

paint() berfungsi untuk meng-update tampilan.

 add()

add() berfungsi untuk menambahkan komponen –

komponen ke Applet.

Untuk menjalankan Applet, kita perlu membuat file dalam

bentuk html (extention html).

2.8 Metode Penelitian

2.8.1 Metode Pengumpulan Data

Metode Pengumpulan data adalah prosedur sistematik dan standar untuk

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

Observasi atau pengamatan (Observation) merupakan salah satu

teknik pengumpulan fakta/data yang cukup efektif untuk

52
53

mempelajari suatu sistem. Observasi adalah pengamatan langsung

suatu kejadian yang sedang dilakukan (Jogiyanto, 2005).

b. Wawancara

Wawancara (interview) telah diakui sebagai teknik pengumpulan

data atau fakta yang penting dan banyak dilakukan dalam

pengembangan sistem informasi. Wawancara memungkinkan

analisis sistem sebagai pewawancara untuk mengumpulkan data

secara tatap muka langsung dengan orang yang diwawancarai

(Jogiyanto, 2005:617).

4. Studi Pustaka

Yang dimaksud dengan kepustakaan adalah segala usaha yang

dilakukan oleh peneliti untuk menghimpun informasi yang relevan

dengan topik atau masalah yang akan atau sedang diteliti. Informasi itu

didapat dari buku – buku ilmiah, laporan penelitian, karangan –

karangan ilmiah, peraturan – peraturan, ensiklopedia, dan sumber –

sumber tertulis baik tercetak maupun elektronik lain (Bintarto, 2002).

5. Studi Literatur

Beberapa sumber, ahli, maupun peneliti member istilah kajian literatur

dengan sebutan kajian teori atau studi literatur. Studi literature

merupakan salah satu kegiatan penelitian yang mencakup memeilih

teori – teori hasil penelitian, mengidentifikasi literatur, dan

menganalisa dokumen, serta menerapkan hasil analisis tadi sebagai

landasan teori bagi penyelesaian masalah dalam penelitian yang

53
54

dilakukan. Maksud dari kegiatan literatur adalah mencari teori atau

landasan berfikir yang tepat sebagai penguat proses penyelesaian

masalah (M. Subana dan Sudrajat, 2005).

Menurut Suwarno dalam bukunya “Metode Penelitian Kuantitatif &

Kualitatif” (Suwarno, 2006), tujuan utama dari studi literatur ialah : 1)

menemukan variabel – variabel yang akan diteliti, 2) membedakan hal

– hal yang sudah dilakukan dan menentukan hal – hal yang diperlukan,

3) melakukan sintesa dan memperoleh perspektif baru, dan 4)

menentukan makna dan hubungan antar variabel. Suwarno juga

berpendapat (Suwarno,2006), sumber – sumber kepustakaan dalam

studi literatur dapat berasal dari 1) abstrak hasil penelitian, 2) indeks,

3) review, 4) jurnal dan 5) buku referensi.

2.8.2 Metode Pengembangan Sistem

Proses pengembangan sistem diartikan sebagai sekumpulan aktivitas,

metode, best practive, deliverable, dan tools – tools otomatis yang digunakan

stakeholder untuk mengembangkan sistem informasi dan software secara

kontinu. Artinya pengembangan dilakukan sampai hal – hal yang menjadi

kebutuhan sistem. Untuk mengembangkan sistem, dibutuhkan metode yang tepat

agar memenuhi tujuannya.

Dalam pengembangan prototipe pendeteksi jarak ini, peneliti

menggunakan metode pendekatan literatif dalam pengembangan sistem atau

biasa disebut Prototipe. Metode Prototipe merupakan salah satu metode

54
55

pengembangan perangkat lunak yang banyak digunakan. Dengan metode

prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama

proses pembuatan sistem. Secara umum tujuan pengembangan sistem informasi

adalah untuk memberikan kemudahan dalam penyimpanan informasi,

mengurangi biaya dan menghemat waktu, meningkatkan pengendalian,

mendorong pertumbuhan, dan meningkatkan produktifitas.

Berikut akan dibahas dengan lebih jelas alasan peneliti menggunakan

metode prototipe dalam pengembangan sistem pendeteksi jarak beserta tahapan

dari alur prototipe tersebut.

Empat langkah yang menjadi karakteristik metode prototipe yaitu :

1. Pemilihan Fungsi

Mengacu pada pemilahan fungsi yang harus ditampilkan oleh

prototyping. Pemilahan harus selalu dilakukan berdasarkan pada

tugas – tugas yang relevan yang sesuai dengan contoh kasus yang

akan diperagakan.

2. Penyusunan Sistem

Bertujuan untuk memenuhi permintaan akan tersedianya prototipe.

3. Evaluasi

Evaluasi ini dilakukan oleh user apakah prototipe ini sesuai dengan

kebutuhan, jika yam aka sistem dilanjutkan, jika tidak sistem

diulangi.

55
56

4. Penggunaan Selanjutnya

Perangkat lunak yang telah di evaluasi dan diterima user siap

digunakan.

Tahapan – tahapan Prototyping :

1. Pengumpulan kebutuhan : User dan pengembang bersama – sama

mendefinisikan format seluruh perangkat lunak, mengindentifikasikan

semua kebutuhan, dan garis besar sistem yang akan dibuat.

2. Membangun prorotyping : Membangun prototyping dengan membuat

perancangan sementara yang berfokus pada penyajian kepada user.

3. Evaluasi prototyping : Evaluasi ini dilakukan oleh user apakah

prototyping yang dibangun sudah sesuai keinginan. Jika sudah sesuai

maka langkah 4 akan diambil, jika tidak prototyping direvisi dengan

mengulangi langkah 1 dan 2.

4. Mengkodekan sistem : Dalam tahap ini prorotyping yang sudah

disepakati diterjemahkan kedalam bahasa pemrograman yang sesuai.

5. Pengujian sistem : Setelah sistem sudah menjadi suatu perangkat

lunak yang siap dipakai, harus di tes dahulu sebelum digunakan.

Pengujian ini digunakan dengan White Box, Black Box, Basis Path,

pengujian arsitektur dan lain – lain.

6. Evaluasi sistem : User mengevaluasi apakah sistem yang sudah jadi

sesuai dengan yang diharapkan. Jika ya, langkah 7 dilakukan, jika

tidak, ulangi langkah 4 dan 5.

56
57

7. Menggunakan sistem : perangkat lunak yang telah diuji dan diterima

user siap untuk digunakan.

57
BAB III

METODOLOGI PENELITIAN

Pembahasan pada bab 3 ini yaitu penulis mengumpulkan data – data dan

informasi sebagai bahan yang mendukung kebenaran materi uraian pembahasan.

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

metodologi penelitian yang digunakan penulis dalam pengembangan sistem.

3.1 Metode Penelitian

Metode Penelitian ini bertujuan untuk mengetahui sistematika proses

yang berjalan pada pembuatan penulisan. Pada tahapan ini ada beberapa tahap

yang dilakukan seperti observasi, studi pustaka, dan studi literatur. Pada

penelitian ini diperhatikan pemahaman tentang cara berfikir dan cara

melaksanakan hasil berfikir menurut langkah – langkah ilmiah.

3.2 Teknik Pengumpulan Data

Teknik pengumpulan data berguna pada saat melakukan analisis terkait

penelitian yang sedang dilakukan. Data yang didapat nantinya akan digunakan

untuk acuan lebih lanjut. Proses pengumpulan data dapat dilakukan dengan

teknik – teknik tertentu, tergantung pada karakteristik penelitian.

58
59

3.2.1 Studi Lapangan

Pada observasi ini penulis mengamati langsung proses penempatan dan

pemindahan komponen produk dari dan menuju tempat tertentu pada sebuah

gudang penyimpanan untuk memperoleh informasi mengenai cara pemindahan

barang.

Hal ini sangat dibutuhkan agar penulis dapat melakukan analisis untuk

membuat suatu solusi terhadap proses pemindahan barang yang ada di gudang

tersebut serta menentukan rancangan pengembangan sistem yang akan dibangun

agar sesuai dengan harapan penulis. Adapun pelaksanaan observasi dilakukan

pada tanggal 7 – 15 April 2014 di sebuah gudang berukuran 30 x 50 m di daerah

Jakarta Timur.

3.2.2 Studi Pustaka

Pada tahapan pengumpulan data dengan cara studi pustaka, penulis

mencari referensi – referensi yang relevan dengan objek yang akan diteliti.

Pencarian referensi dilakukan di perpustakaan, toko buku, maupun secara online

melalui internet. Setelah mendapatkan referensi – referensi yang relevan,

kemudian penulis mencari berbagai informasi yang dibutuhkan dalam penelitian

ini. Adapun informasi yang didapat digunakan dalam penyusunan landasan teori,

metodologi penelitian serta pengembangan aplikasi secara langsung.


60

3.2.3 Studi Literatur

Pada tahapan ini dilakukan studi literatur dengan cara manual yaitu

mempelajari jurnal yang berhubungan dengan konsep, analisis dan perancangan

aplikasi yang meliputi pemodelan visual melalui blok diagram sistem,

pemrograman dengan menggunakan bahasa Java, serta pemrograman pada

mikrokontroler.

Langkah selanjutnya adalah melakukan pencarian secara online maupun

manual dengan melakukan pembelajaran terhadap tiga jurnal sejenis yang

berkaitan dengan penelitian ini, dari tiga jurnal tersebut diambil beberapa

kesimpulan seperti mikrokontroler yang dipakai, tolak ukur pengujian, kelebihan

dan kekurangan penelitian, dan sebagainya. Berikut adalah tabel hasil studi

literatur dari tiga jurnal penelitian tersebut :


Tabel 3.1 Hasil Studi Literatur

No Judul Penelitian Penulis Asal Universitas Tahun Kelebihan Kekurangan


Penelitian
1. Detektor Jarak Dengan Kiki Tekhnik Elektro, 2008  Sensor dapat mendeteksi  Tingkat pesentase
Sensor Ultrasonik Prawiroredjo Universitas benda pada jarak sejauh 2 kesalahan sebesar
Berbasis Trisakti meter dengan baik. 0.82% hingga 34.40%.
Mikrokontroler  Menggunakan 4 buah  Hasil pengukuran
mikrokontroler, sehingga terkadang tidak akurat
tidak ada jeda antara karena interfensi
pembacaan jarak. gelombang lain.
 Menggunakan dua warna  Kesalahan pengukuran
LED yang berbeda terjadi karena
sebagai penanda bahaya. pembulatan nilai waktu
tempuh pada proses
perhitungan.
2. Pembuatan Alat Hendra Surya Universitas 2011  Menggunakan sensor  Sensor cahaya, antara
Pendeteksi Jarak untuk Hutama Gunadarma inframerah yang inframerah dan
Kendaraan Roda Empat menggunakan media photodiode yang

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

Berdasarkan hasil studi literatur sejenis tersebut maka didapat beberapa

informasi pendukung dan pembanding dalam penelitian ini yang dapat dijadikan

sebagai bahan acuan untuk meningkatkan kelebihan penelitian ini. Adapun

kelebihan yang dapat dideskripsikan dalam penelitian ini antara lain, yaitu :

1. Menggunakan sensor PING yang dapat melakukan pembacaan jarak

sejauh 3 meter, sehingga jangkauan yang dapt dibaca lebih luas tanpa

harus menambah jumlah sensor yang diperlukan.

2. Menggunakan dua buah micro servo yang diletakan di bawah sensor

PING, sehingga sensor akan diputar oleh kedua micro servo dengan

besar sudut mulai dari 450 hingga 3600.

3. Hasil dari pembacaan sensor dapat ditampilkan melalui grafik pada

layar PC, sehingga memudahkan pengguna untuk mengetahui jarak

dan sudut yang terdeteksi oleh sensor.

3.3 Metode Pengembangan Sistem Prototipe

3.3.1 Pemilihan Kebutuhan

Pada tahapan pengumpulan kebutuhan aplikasi, penulis melakukan

observasi pada sebuah gudang penyimpanan, guna mengetahui hal apa saja yang

sebenarnya dibutuhkan dalam proses pemindahan barang. Setelah mengetahui

kebutuhan apa saja yang diperlukan, kemudian melakukan pencarian data – data

dan referensi tentang bagaimana merancang suatu prototipe alat deteksi jarak,

bagaimana menggabungkan komponen – komponen sehingga dapat berjalan

dengan baik.
65

3.3.2 Membangun Prototyping

Tahapan selanjutnya dalam metode prototyping yaitu membangun

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

prototipe 1. Setelah prototipe 1 dihasilkan maka dilanjutkan ke tahapan

berikutnya yaitu evaluasi prototyping.

3.3.3 Evaluasi Prototyping

Pada tahap ini prototipe 1 di serahkan kepada user untuk di evaluasi dan

untuk mendiskusikan solusi untuk kendala – kendala yang dialami pada saat

pembuatan prototipe. Pada tahap penyerahan prototipe 1 didapatkan informasi

baru tentang kebutuhan aplikasi yang dibangun nantinya. Jika hasil evaluasi

tidak sesuai, maka tahap selanjutnya adalah mengulangi tahapan pengumpulan

kebutuhan.

3.3.4 Mengkodekan Sistem

Setelah mendapatkan informasi baru tentang kebutuhan aplikasi,

prototipe 1 dikembangkan sesuai dengan kebutuhan baru hasil evaluasi prototipe

1 menjadi prototipe 2. Dengan menekankan proses input / output yang di

butuhkan oleh user. Proses pengkodean sistem ini dilakukan dua tahapan,

pertama dilakukan di dalam software arduino, kemudian dilanjutkan dengan

pemrograman pada software netbeans untuk interface di Java.


66

3.3.5 Pengujian Sistem

Setelah prototipe 2 dirancang, maka dilakukan pengujian sistem, hal ini di

lakukan agar user dan pengembang dapat mengetahui cara kerja sistem serta

kekurangan yang ada pada sistem yang telah dirancang, baik dari segi

pemrograman arduino maupun pemrograman java.

3.3.6 Evaluasi Sistem

Pada tahapan ini, prototipe 2 diserahkan kepada user untuk kembali di

evaluasi, selanjutnya jika user setuju maka proses prototyping dinyatakan selesai.

3.3.7 Penggunaan Sistem

Setelah proses evaluasi oleh user dinyatakan sesuai, maka proses

prototyping sudah selesai, dan sistem dinyatakan dapat digunakan sesuai

kebutuhan user.

3.4 Peralatan Penelitian

Peralatan penelitian yang digunakan dalam penelitian ini antara lain

berupa perangkat keras dan perangkat lunak, yaitu :

1. Perangkat keras

Perangkat keras yang digunakan dalam penelitian ini berupa sebuah

laptop Asus A42F, Arduino Board, Sensor Ping, Mini Servo. Berikut

adalah spesifikasi dari tiap perangkat keras tersebut :

a. Laptop Asus A42F


67

Laptop Asus A42F memiliki spesifikasi :Processor Intel Core i3-

307M processor (2.4 Ghz, Chace 3MB), DDR3 1066 MHz

SDRAM, 2 x SODIMM socket for expansion up to 8GB SDRAM.

b. Arduino Uno R3 Board

Arduino Uno R3 memiliki spesifikasi Mikrokontroler :

ATMEGA328, Tegangan Operasi : 5V, Tegangan Input

(recommended) : 7 - 12 V, Tegangan Input (limit) : 6-20 V, Pin

digital I/O : 14 (6 diantaranya pin PWM), Pin Analog input : 6,

Arus DC per pin I/O : 40 mA, Arus DC untuk pin 3.3 V : 150 mA,

Flash Memory : 32 KB dengan 0.5KB digunakan untuk

bootloader, SRAM : 2 KB, EEPROM : 1 KB, Kecepatan

Pewaktuan : 16 Mhz.

c. Sensor Ping

Sensor ping ini memiliki spesifikasi Power requirements : +5

VDC, Communication: Positive TTL pulse, Dimensions : 0.81 x

1.8 x 0.6 in (22 x 46 x 16 mm), Operating temp range: +32 to

+158 °F (0 to +70 °C).

d. Mini Servo

Mini servo memiliki spesifikasi Speed : 0.10 detik/60 derajat (4.8

V), Tegangan operasi 4.8V - 6V


68

2. Perangkat Lunak

Perangkat lunak yang digunakan adalah Arduino yang digunakan

untuk pemrograman mikrokontroler Arduino, Java Netbeans IDE

yang digunakan untuk proses pengkodingan interface, serta Microsoft Visio untuk pembuatan diagram. Pada sistem oper
gunakan dalam penelitian ini adalah Microsoft Windows 7.

3.5 Kerangka Penelitian

Gambar 3.1 Kerangka Penelitian


BAB IV

ANALISIS DAN PEMBAHASAN

4.1 Pengembangan Prototipe

4.1.1 Pengumpulan Kebutuhan

Untuk mendapatkan hasil sistem yang maksimal peneliti memulai

penelitian dengan menggali semua informasi tentang sistem yang sedang

digunakan yaitu sistem penyimpanan dan pendistribusian barang yang ada di

gudang penyimpanan. Metode yang dilakukan pertama kali adalah mencari

masalah dari sistem tersebut lewat observasi pada sebuah gudang penyimpanan

berukuran 30 x 50 m di daerah Jakarta Timur. Dari metode observasi, peneliti

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

barang – barang tersebut di tumpuk begitu saja, tanpa memperhatikan keadaan

pada barang. Dari hasil observasi tersebut peneliti mencoba penelitiannya dengan

menjadikan sistem pemindahan barang bisa dijalankan secara efisien dengan

menggunakan alat bantu berupa mobil pengangkut yang diberi mikrokontroler

serta dikombinasikan dengan sensor yang bisa mendeteksi jarak benda agar mobil

penganggkut tidak mengenai barang lain yang ada di gudang.

69
70

4.1.2 Membangun Prototyping

a. Diagram Blok dan Cara Kerja

Untuk lebih memudahkan proses perakitan dan cara kerja masing –

masing rangkaian maka akan dibuat suatu diagram blok terlebih dahulu. Hal ini

sangat penting, karena dalam pembuatan suatu alat setiap rangkaian saling

berhubungan dan mempengaruhi kinerja alat lainnya. Sehingga hasil yang

didapat sesuai dengan keinginan dan teori yang berlaku. Berikut gambar blok

diagram rancangan alat yang akan dibuat dapat dilihat seperti pada gambar 3.1

Sensor PING Arduino Uno R3 Buzzer

Mini Servo Pemrograman Java

Gambar 4.1 Diagram Blok

Fungsi dan kegunaan masing – masing blok adalah sebagai berikut :

1. Sensor PING berfungsi sebagai pengukur jarak terhadap suatu benda

dan mengirimkan sinyal ke mikrokontroler arduino.

2. Mini Servo berfungsi sebagai penggerak sensor, agar sensor dapat

bergerak memutar 360 derajat, agar dapat bergerak mini servo ini

dihubungkan ke mikrikontroler dan di program bersamaan dengan

sensor.

3. Arduino Uno R3 berfungsi menerima sinyal dari sensor PING, dan

sebagai pengendali mini servo beserta buzzer.


72

secara terus menerus sesuai dengan besar sudut dengan bantuan

penggerak micro servo.

2. Dua buah micro servo akan bergerak memutar 360 derajat berlawanan

dengan arah jarum jam, micro servo ini akan bergerak per 45 derajat,

dikarenakan sensor PING akan membaca objek setiap 45 derajat.

3. Arduino Uno R3 menerima sinyal dari pin SIG sensor, dan

mengendalikan perputaran dua buah micro servo serta pengirim sinyal

sensor PING ke buzzer.

4. Buzzer akan berbunyi ketika sinyal yang terdeteksi oleh sensor PING

kurang dari 200 cm.

5. Hasil yang terdeteksi oleh sensor dikirim ke arduino kemudian dibaca

melalui komunikasi serial port arduino dengan Java dan ditampilkan

dalam bentuk grafik polar.

b. Prototyping

Untuk memulai sebuah proyek, peneliti membuat prototipe sederhana

dengan gambar menggunakan aplikasi bernama Fritzing. Prototipe ini berupa

rangkaian jalur elektronika yang membangun sistem agar bisa bekerja secara

efektif. Bahan – bahan yang diperlukan dalam perancangan yaitu :

Tabel 4.1 Alat dan Bahan

h Tipe/ merek

Ultrasonik Paralax
no UNO ATMega 328P

Servo Tower Pro

r -

t Board -

i ABC
75

#include <Servo.h> Servo myservo; Servo myservo2; int pos = 0;


//============

const int PINGPin = 7; const int speakerPin = 8; void setup() {


Serial.begin(9600); myservo.attach(9); myservo2.attach(10);
}
void loop()

pinMode(speakerPin, OUTPUT);

digitalWrite(speakerPin, LOW);// sound buzzer is defalut switched off

myservo2.write(0); delay(500); myservo.write(0); delay(500);


/* servo atas dan bawah 0 derajat (depan)ambil data */ pickData();
myservo.write(90); delay(1000);
/* servo atas 90 derajat (kiri)ambil data */ pickData();
myservo.write(180); delay(1000);
/* servo atas 180 derajat (belakang)ambil data */ pickData();
76

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.

const int PINGPin =


Pada kode 1 berfungsi u

sensor PING dan buzzer

Kode 2.

void setup() {

Serial.begin(9600);

myservo.attach(9);

myservo2.attach(10);

}
77

Pada kode 2 berfungsi sebagai inisiasi yang digunakan dalam program,

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);

digitalWrite(speakerPin, LOW);// sound buzzer is defalut switched off

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);

/* servo atas 135 derajat (kiri)ambil data */

pickData(225);

delay(1000);
78

myservo.write(180);

/* servo atas 180 derajat (belakang)ambil data */

pickData(180); delay(1000); myservo2.write(45);


/*servo bawah 225 derajat (kanan)ambil data */ pickData(135);
delay(1000); myservo2.write(90);
/*servo bawah 270 derajat (kanan)ambil data */ pickData(90);
delay(1000); myservo2.write(135);
/*servo bawah 315 derajat (kanan)ambil data */ pickData(45);
delay(1000);

menaruh source code yang akan diproses, void loop ini akan dijalankan setelah void setup selesai. Sekali dijalankan, maka v

Kode program “pinMode (speakerPin, OUTPUT)” berfungsi untuk

mendeklarasikan bahwa pin speaker sebagai output. Ketika sebuah pin dijadikan

sebagai output, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5V) atau LOW
79

(diturunkan menjadi ground) dengan menuliskan kode “digitalWrite (speakerPin,

HIGH).

Pada kode program “myservo.write()” dan “myservo2.write()” berfungsi


untuk meggerakan kedua servo sesuai sudut yang dituliskan dalam tanda (), micro servo ini dapat berputar hingga 180o

ang berfungsi untuk pengambilan data. Kode program ini di deklarasikan secara khusus di dalam “void pickData()”, di dalam

nMode(PINGPin, OUTPUT); digitalWrite(PINGPin, LOW); delayMicroseconds(2); digitalWrite(PINGPin, HIGH


80

if(cm < 200) { pinMode(speakerPin, OUTPUT);


digitalWrite(speakerPin, HIGH); delay(1000); digitalWrite(speakerPin, LOW); delay(
pinMode(speakerPin, OUTPUT); digitalWrite(speakerPin, HIGH); delay(100); digitalWr
pinMode(speakerPin, OUTPUT); digitalWrite(speakerPin, HIGH); delay(1000); digitalW
}

Serial.print(sudut); Serial.print(","); Serial.print(cm); Serial.println(); delay(


}

long microsecondsToInches(long microseconds)

{
}
81

Kode program “pinMode (PINGPin, OUTPUT)” berfungsi untuk

mendeklarasikan bahwa pin sensor PING sebagai output. Pin tersebut ditarik

menjadi menjadi 5V “digitalWrite (PINGPin, HIGH) dan diturunkan menjadi

ground “digitalWrite (PINGPin, LOW).

Pada kode “if (cm >200) { pinMode (speakerPin, OUTPUT) …” berfungsi

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.

Pada kode program “serial.printIn()” berfungsi untuk mencetak hasil pada

serial monitor, dalam hal ini hasil dalam serial monitor di tampilkan dalam bentuk

besar sudut dan jarak yang terbaca ( dalam centimeter).

Setelah alat berhasil dirancang, penulis melanjutkan penelitian dengan

membuat interface (GUI) dengan menggunakan bahasa pemrograman Java

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).

File ConnectionSoket.java di dalamnya berisi program inti yang

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

oleh file main.java.

Pada file main.java di dalamnya berisi source code untuk menampilkan

GUI (Graphical User Interface). Dalam file ini terdapat source code :

public ConnectionSoket = c new ConnectionSoket ();

hal ini berarti class main dapat mengakses class ConnectionSoket. File ini akan

menampilkan output berupa grafik, keterangan jarak dan keterangan sudut.

4.2 Uji Coba

Pengujian yang dilakukan pada sistem ini bertujuan untuk mengetahui

tingkat keberhasilan suatu proyek dalam mencapai hasil yang diinginkan.

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.

4.2.1 Uji Kepekaan Sensor PING

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

co« blar Jarak


Console:

Sudut: 135 Jarak: 6 6.0


:Sudut: 90 Jarak: 1 20.0
!Sudut: 45 Jarak: 68.0
'Sudut: O Jarak: 63.0
Sudut: 315 Jarak: 1 2 9.0
Sudut: 270 Jarak: 75.0
.Sudut: 225 Jarak: 51.0

Groñk Polar 3erak Antaro AInt Dengan Benda


88

4.2.4 Uji Kecepatan Antara Forklift dan Prototipe

Untuk mengetahui perbandingan kecepatan antara forklift dan prototipe,

dilakukan perhitungan sebagai berikut :

1. Kecepatan rata – rata forklift pada gudang penyimpan barang adalah 5

km/jam.

2. Kecepatan rata – rata Prototipe :

1,2 m
Prototipe = = 0,3 m/s
4
detik
0,3
m/s x 3600 s = 1,08 km/jam
=
1000 m

Jadi, perbandingan kecepatan antara Forklift dan prototipe adalah

5 : 1,08 1 : 0,126

4.3 Analisis

Dari hasil pengujian yang telah dilakukan penulis memperoleh beberapa

hasil mengenai penelitian ini, diantaranya :

1. Sensor ultrasonik dapat membaca jarak dengan baik sejauh 3 meter

berdasarkan prinsip pemantulan gelombang ultrasonik.

2. Output yang dihasilkan berupa grafik polar dan indikator suara sebagai

tanda bahwa sensor semakin mendekati benda di sekitarnya.

3. Indikator suara yang dihasilkan buzzer didapat dari hasil pembacaan

sensor PING ketika membaca jarak kurang dari 200 cm.

4. Jarak minimal sensor PING mengirimkan sinyal ke buzzer adalah 200 cm,

dengan delay 1 detik pada kecepatan rata – rata forklift 5 km/jam.


89

5. Perbandingan kecepatan antara forklift dengan prototipe adalah 1 : 0, 126

dengan delay 1 detik.

6. Masih terdapat jeda antara pergerakan mobil pengangkut dengan jarak

yang tampil dilayar, diakibatkan karena proses kerja prototipe.


BAB V

PENUTUP

Setelah melakukan serangkaian penelitian, maka pada bab ini peneliti

akan memberikan kesimpulan beserta saran yang dapat menjadi pertimbangan

untuk penelitian yang selanjutnya.

5.1 Kesimpulan

Berdasarkan penelitian yang telah dilakukan, maka dapat ditarik

kesimpulan bahwa perancangan prototipe alat deteksi jarak dengan

menggunakan Arduino, sensor ping dan bahasa pemrograman Java telah

berhasil dirancang. Dimana sensor PING ultrasonik dapat membaca jarak

hingga 3m dengan menghasilkan output berupa grafik polar dan indikator

suara sebagai tanda bahwa sensor semakin mendekati benda di sekitarnya.

5.2 Saran

Detektor jarak yang dibuat ini masih dalam bentuk prototipe. Oleh

karena itu pada penelitian selanjutnya dapat mempertimbangkan hal – hal

berikut ini :

1. Pembacaan jarak dan hasil yang ditampilkan dalam grafik

dapat disesuaikan dengan kecepatan rata – rata dari mobil

pengangkut barang.

90
91

2. Penambahan fitur penanda bahaya pada interface, sehingga

user dapat lebih memperhatikan jarak yang dibaca oleh sensor.

3. Hasil yang ditampilkan pada layar monitor dapat ditampilkan

pada layar LCD yang disimpan pada mobil pengangkut.


DAFTAR PUSTAKA

Aji, Suhandono.2011. Desain Prototipe Jembatan Timbang Otomatis Berbasis


Mikrokontroler Dengan Sensor Flexiforce Program Studi Fisika UIN
Syarif Hidayatullah Jakarta : Skripsi Tidak Diterbitkan

Banzi, Massimo.2011.Getting Started with Arduino.Sebastopol : O’Reolly Media

Bintarto, Iwan. 2002.Metodologi Pengembangan Sistem. Yogyakarta : Andi

Evans, Brian. 2011. Beginning Arduino Programming. Apress

Houde, Stephanie & Hill, Charles. 2004. What do Prototypes Prototype?. USA :

Apple Computer,Inc

Jogiyanto HM. 2005. Analisis dan Desain Sistem Informasi : Pendekatan


terstruktur teori dan praktek aplikasi bisnis. Yogyakarta : Andi

Kadir, Abdul. 2013. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan


Pemrogramannya Menggunakan Arduino. Yogyakarta : Andi

Kurnia, Ahmad. 2007. Sistem Manajemen Gudang. STIE Swadaya Mitra.


Makalah Tidak Diterbitkan

Ladjamudin, Al-bahra. 2004. Analisis dan Desain Sistem Informasi. Yogyakarta :


Graha Ilmu

Mc Leod, Raymond. 2002. Sistem Informasi Manajemen. Jakarta : Prenhallindo

Nazir, Muhammad. 2005. Metode Penelitian. Jakarta : Ghalia Indonesia

Pressman, Roger S. 2002. Rekayasa Perangkat Lunak Buku 1. Yogyakarta : Andi


Sasongko, Bagus H. 2006. Pemrograman Mikrokontroler Dengan Bahasa C.
Yogyakarta : Andi

Siallagan, Sariadin. 2009. Pemrograman Java Dasar – Dasar Pengenalan dann


Pemahaman. Yogyakarta : Andi

Spell, Brett. 2000. Profesional Java Programming. United States : Wrox Press
Ltd

Tamimi, Ahmad. Prototype Sistem Waktu Nyata Peringatan Dini Banjir


Menggunakan Mikrokontroler Arduino Uno (Studi Kasus Pada Pintu
Air Depok) Program Studi Teknik Informatika UIN Syarif Hidayatullah
Jakarta : Skripsi Tidak Diterbitkan

Tarigan, Pernatin. 2010. Sistem Tertanam (Embedded System).

Usman. 2008. Teknik Antar Muka +Pemograman Mikrokontroler AT89S52.


Yogyakarta : Andi

Widodo. 2005. Panduan Lengkap Belajar Mikrokontroler; Perancangan Sistem


dan Aplikasi.

Widodo. 2007. Radio Detection Ranging. Bandung : PT. Rosdakarya

William de Cooper. 1994. Instrumentasi Elektronik dan Teknik Pengukuran


(Terjemahan). Jakarta : Erlangga

Whitten et al. 2004. Metode Desain & Analisis Sistem Edisi 6 (Terjemahan).
Yogyakarta : Andi

Anonim. Arduino [online] Tersedia : www.arduino.cc diakses 12 Desember 2013

Anonim. PING Paralax [online] Tersedia : www.paralax.com diakses 15 November


2013

. 2006. Metode Penelitian Kuantitatif dan Kualitatif


Lampiran 1

Source Code Program Java


L–1

-ConnectionSoket.java

/*

To change this template, choose Tools | Tem

and open the template in the editor.

*/

package grafikjava;

import gnu.io.CommPort;

import gnu.io.CommPortIdentifier; import gnu.io.PortInUseException; import gnu.io.


import java.awt.Color; import java.io.IOException; import java.io.InputStream; imp
import java.util.Enumeration;

import java.util.HashMap;

import javax.swing.JComboBox;

import javax.swing.JLabel;

/**

* @author yuy
*/

public class ConnectionSoket {

String s = "\r";

byte[] readBuffer = new byte[1];

private Enumeration ports = null;

private HashMap portMap = new HashMap();

private CommPortIdentifier selectedPortIdentifier = null;

private SerialPort serialPort = null;

final static int TIMEOUT = 1000;

final static int SPACE_ASCII = 32;

final static int DASH_ASCII = 45;

final static int NEW_LINE_ASCII = 10;

private InputStream input = null;

private OutputStream output = null;

int indeks = 0;

public void searchForPorts(JComboBox jb) {

ports = CommPortIdentifier.getPortIdentifiers();

while (ports.hasMoreElements()) {

CommPortIdentifier curPort = (CommPortIdentifier)


ports.nextElement();

if (curPort.getPortType() ==
CommPortIdentifier.PORT_SERIAL) {

jb.addItem(curPort.getName());

portMap.put(curPort.getName(), curPort);

}
public boolean initIOStream() {

//return value for whather opening the streams is


successful or not

boolean successful = false;

String a; int sudut; float jarak;


String data[]; try {
input = serialPort.getInputStream(); input.read(readBuffer);
indeks++;
a = new String(readBuffer); if (a.equals("\n")) {
s = s.replaceAll("\r", "");

data = s.split(",");

if (indeks > 1 && indeks < 11 && data.length == 2)

sudut = Integer.valueOf(data[0]); jarak = Float.valueOf(data[1]);


main.ta_console.append("Sudut: " + sudut + "

Jarak: " + jarak);

main.ta_console.append("\n");

main.ta_console.setCaretPosition(main.ta_console.getDocument().get Length());

if (sudut == 0) {

main.series.updateByIndex(0, jarak);

main.l_depan.setText(jarak + " cm");

alretLabel(main.l_depan, jarak);

} else if (sudut == 45)

{ main.series.updateByIndex(1,

jarak);
main.l_kanan_depan.setText(jarak + " cm");

alretLabel(main.l_kanan_depan, jarak);

} else if (sudut == 90)

{ main.series.updateByIndex(2,

jarak); main.l_kanan.setText(jarak +

" cm"); alretLabel(main.l_kanan,

jarak);

} else if (sudut == 135)

{ main.series.updateByIndex(3, jarak);
cm");
main.l_kanan_belakang.setText(jarak + "

alretLabel(main.l_kanan_belakang, jarak);

} else if (sudut == 180)

{ main.series.updateByIndex(4, jarak);

main.l_belakang.setText(jarak + " cm");

alretLabel(main.l_belakang, jarak);

} else if (sudut == 225)

{ main.series.updateByIndex(5, jarak);
cm");
main.l_kiri_belakang.setText(jarak + "

alretLabel(main.l_kiri_belakang, jarak);

} else if (sudut == 270)

{ main.series.updateByIndex(6,

jarak); main.l_kiri.setText(jarak +

" cm"); alretLabel(main.l_kiri,

jarak);

} else if (sudut == 315)

{ main.series.updateByIndex(7, jarak);

main.l_kiri_depan.setText(jarak + " cm");

alretLabel(main.l_kiri_depan, jarak);

indeks = 0;
s = "\r";

} else {

s = s + a;

successful = true; return successful;


} catch (IOException e) { return successful;
}

void alretLabel(JLabel label, float value) { if (value < 200) {


label.setForeground(Color.red);
} else {

label.setForeground(Color.black);

public void disconnect() {

//close the serial port try {


serialPort.removeEventListener();

serialPort.close();

input.close();

} catch (Exception e) {

public void connect(JComboBox jb) {


String selectedPort =
String.valueOf(jb.getSelectedItem());

selectedPortIdentifier = (CommPortIdentifier)
portMap.get(selectedPort);

CommPort commPort = null;

try {

commPort = selectedPortIdentifier.open("TigerControlPanel", TIMEOUT);

serialPort = (SerialPort) commPort;

Port.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE)


h (PortInUseException e) {

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;

public main(String title) {


super(title);
XYDataset dataset = createDataset();
chart = createChart(dataset);
initComponents();
b_off.setVisible(false);
start = false;
c.searchForPorts(cb_COM);
}

private XYDataset createDataset() {


XYSeriesCollection data = new XYSeriesCollection();
series.add(0, 300);
series.add(45, 300);
series.add(90, 300);
series.add(135, 300);
series.add(180, 300);
series.add(225, 300);
series.add(270, 300);
series.add(315, 300);
data.addSeries(series);
return data;
}

private JFreeChart createChart(final XYDataset dataset)


{
chart = ChartFactory.createPolarChart(
"Grafik Polar Jarak Antara Alat Dengan
Benda", dataset, true, true, false);
final PolarPlot plot = (PolarPlot) chart.getPlot();
final DefaultPolarItemRenderer renderer =
(DefaultPolarItemRenderer) plot.getRenderer();
renderer.setSeriesFilled(2, true);
return 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() {

jPanel1 = new javax.swing.JPanel();


cb_COM = new javax.swing.JComboBox();
b_on = new javax.swing.JButton();
b_off = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jPanel7 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
l_depan = new javax.swing.JLabel();
l_kanan_depan = new javax.swing.JLabel();
l_kanan = new javax.swing.JLabel();
l_kanan_belakang = new javax.swing.JLabel();
l_belakang = new javax.swing.JLabel();
l_kiri_belakang = new javax.swing.JLabel();
l_kiri = new javax.swing.JLabel();
l_kiri_depan = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jLabel10 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
ta_console = new javax.swing.JTextArea();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
grafik = new PolarChartPanel(chart);

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:");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

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());

javax.swing.GroupLayout jPanel5Layout = new


javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(

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 :");

javax.swing.GroupLayout jPanel7Layout = new


javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(

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);

javax.swing.GroupLayout jPanel8Layout = new


javax.swing.GroupLayout(jPanel8);
jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addContainerGap()

.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);

javax.swing.GroupLayout jPanel3Layout = new


javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(

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);

javax.swing.GroupLayout grafikLayout = new


javax.swing.GroupLayout(grafik);
grafik.setLayout(grafikLayout);
grafikLayout.setHorizontalGroup(

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:
}

private void mulai() {


th = new Thread(this);
th.start();
}

@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

Source Code Program Arduino

L–2
#include <Servo.h>

Servo myservo; // create servo object to control a servo

// a maximum of eight servo objects can be created

Servo myservo2;

int pos = 0; // variable to store the servo position

//=================================

const int pingPin = 7;

const int speakerPin = 8;

void setup() {

// initialize serial communication: Serial.begin(9600);


myservo.attach(9);// attaches the servo on pin 9 to the servo object untuk atas

myservo2.attach(10); // untuk bawah

void loop()

pinMode(speakerPin, OUTPUT);

digitalWrite(speakerPin, LOW);// sound buzzer is defalut switched off

myservo2.write(0);

myservo.write(0);

/*================================

servo atas dan bawah 0 derajat (depan)


ambil data

==================================*/

pickData(0);

delay(1000);

myservo.write(45);

/*===================================

servo atas 45 derajat (kiri) ambil data


======================================*/
pickData(315); delay(1000);

myservo.write(90);

/*===================================

servo atas 90 derajat (kiri) ambil data


======================================*/
pickData(270); delay(1000);

myservo.write(135);

/*===================================

servo atas 135 derajat (kiri) ambil data


======================================*/

pickData(225);

delay(1000);

myservo.write(180);
/*====================================

servo atas 180 derajat (belakang)

ambil data

======================================*/

pickData(180);

delay(1000);

myservo2.write(45);

/*====================================

servo bawah 225 derajat (kanan) ambil data


======================================*/
pickData(135); delay(1000);

myservo2.write(90);

/*====================================

servo bawah 270 derajat (kanan) ambil data


======================================*/
pickData(90); delay(1000);

myservo2.write(135);

/*====================================

servo bawah 315 derajat (kanan)


ambil data

======================================*/

pickData(45);

delay(1000);
}

void pickData(long sudut){

long duration, cm;

gitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(5);

// 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);

// convert the time into a distance


//inches = microsecondsToInches(duration); cm = microsecondsToCentimeters(duration);

if(cm < 200) {

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
}

Serial.print(sudut); Serial.print(","); Serial.print(cm); Serial.println();


}

long microsecondsToInches(long microseconds)

return microseconds / 74 / 2;

long microsecondsToCentimeters(long microseconds)

return microseconds / 29 / 2;

}
Lampiran 3

Tampilan Software Arduino

L–3
i" Auto scroll oeoOozuc
K£’MENTERfiAH AGAM A.
uxxv«esiTxs issuescz›u”umq
svxinr inoavavm*nn J*xanTa

Jakârla, 27 Augua 2014

i y Suroyy”a EP.; M.Env.$Iud..


NIP. I969040430f i0 \” 2 004

Anda mungkin juga menyukai