PERANCANGAN PERANGKAT LUNAK SOFTWARE SIS

PERANCANGAN PERANGKAT LUNAK (SOFTWARE) SISTEM PENGENDALI UNTUK MENGHINDARI TABRAKAN ANTAR KAPAL BERBASIS ULTRASONIC HENDRA FERNANDEZ SIHOMBING NRP 4204 100 027

Dosen Pembimbing Ir. Aries Prast yoko Hidayat ul l ah Eddy Set yo Koenhardono, ST. MSc.

JURUSAN TEKNIK SISTEM PERKAPALAN Fakul t as Teknol ogi Kel aut an Inst it ut Teknol ogi Sepul uh Nopember

Surabaya 2008

“ Hal aman ini sengaj a dikosongkan”

ii

TUGAS AKHIR - LS 1 3 3 6

DESIGN OF SOFTWARE TO CONTROL SHIP’ S COLLISION AVOIDANCE BASED ON ULTRASONIC SYSTEM HENDRA FERNANDEZ SIHOMBING NRP 4204 100 027

Advisor Ir. Aries Prast yoko Hidayat ul l ah Eddy Set yo Koenhardono, ST. MSc.

DEPARTMENT OF MARINE ENGINEERING Facul t y Of Marine Technology Sepul uh Nopember Inst it ut e Of t echnol ogy

Surabaya 2008

iii

“ Hal aman ini sengaj a dikosongkan”

iv

LEMBAR PENGESAHAN PERANCANGAN PERANGKAT LUNAK (SOFTWARE) SISTEM PENGENDALI UNTUK MENGHINDARI TABRAKAN ANTAR KAPAL BERBASIS ULTRASONIC TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik pada

Bidang Studi Marine Electrical And Automation System (MEAS)

Program Studi S-1 Jurusan Teknik Sistem Perkapalan Fakultas Teknologi Kelautan Institut Teknologi Sepuluh Nopember

Surabaya JUNI, 2008

”Halaman ini sengaja dikosongkan”

vi

LEMBAR PENGESAHAN PERANCANGAN PERANGKAT LUNAK (SOFTWARE) SISTEM PENGENDALI UNTUK MENGHINDARI TABRAKAN ANTAR KAPAL BERBASIS ULTRASONIC TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik pada

Bidang Studi Marine Electrical And Automation System (MEAS)

Program Studi S-1 Jurusan Teknik Sistem Perkapalan Fakultas Teknologi Kelautan Institut Teknologi Sepuluh Nopember

vii

”Halaman ini sengaja dikosongkan”

viii

PERANCANGAN PERANGKAT LUNAK (SOFTWARE) SISTEM PENGENDALI UNTUK MENGHINDARI TABRAKAN ANTAR KAPAL BERBASIS ULTRASONIC

Nama : Hendra Fernandez Sihombing NRP

Jurusan : Teknik Sistem Perkapalan Pembimbing

1. Ir. Aries Prastyoko Hidayatullah

2. Eddy Setyo Koenhardono, ST, M.Sc

Abstrak

Alat bantu navigasi pelayaran merupakan peralatan yang digunakan untuk menentukan posisi, pemberitahuan bahaya, dan daerah-daerah yang dapat dilewati oleh sebuah kapal dalam berlayar. Dengan alat bantu navigasi yang baik, dapat memudahkan ABK dalam menjalankan sebuah kapal, dapat menghindarkan dari bahaya atau kecelakaan yang disebabkan tabrakan antar kapal. Salah satu alat navigasi yang dikenal adalah sistem ultrasonic.

Sistem Ultrasonic memancarkan gelombang suara dari sistem pemancarnya. Kemudian apabila ada kapal/benda lain, akan menyebabkan gelombang ultrasonic tersebut memantul, dan pantulan gelombang tersebut ditangkap/diterima oleh sistem penerimanya.

Dengan pembuatan software ini, dapat memberitahukan bahwa di sekitar kapal terdapat benda/kapal lain yang sedang lewat dan juga software akan membunyikan alarm bahaya, sehingga ABK dapat menghindari proses terjadinya tabrakan antar kapal.

Kata Kunci : Alat navigasi, Ultrasonic, software, tabrakan

ix

”Halaman ini sengaja dikosongkan”

Design of Software to control ship’s collision avoidance based-on Ultrasonic System

Name : Hendra Fernandez Sihombing NRP

Department : Marine System Engineering Advisor

1. Ir. Aries Prastyoko Hidayatullah

2. Eddy Setyo Koenhardono, ST, M.Sc

Abstract

Navigational aid is an equipment that is used to determine the positioning and inform the dangerous place and safe route in a ship for sailing. the good Navigational aid is able to help the ship’s crew in controlling a ship and avoiding a danger or an accident which is caused a ship's collision. One of the Navigational aids is called ultrasonic system.

Ultrasonic system transmits the ultrasonic sound at the transmitter system. if there is another ship around that area, the ultrasonic sound will bounce back and the receiver system will receive it.

With making this software, the software can inform if there are others ship in the around of the ship, and then, the software will ring an alarm. so, the crew of the ship will be able to avoid the ship's collision.

Key Word : Navigational. Ultrasonic, software, collision

xi

”Halaman ini sengaja dikosongkan”

xii

KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Kuasa atas berkat dan karuniaNya sehingga tugas akhir dengan judul

“PERANCANGAN PERANGKAT LUNAK (SOFTWARE) SISTEM PENGENDALI UNTUK MENGHINDARI TABRAKAN ANTAR KAPAL BERBASIS ULTRASONIC”

ini dapat diselesaikan dengan baik. Tugas akhir ini membahas tentang perancangan software untuk dapat mendeteksi adanya kapal/benda lain, sehingga dengan bunyi alarm, Anak Buah Kapal dapat mengetahui adanya bahaya dan dapat mengendalikan kapal serta dapat menghindari terjadinya tabrakan antar kapal.

Tidak lupa juga penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis dalam mengerjakan tugas akhir ini baik secara langsung maupun tidak langsung. Oleh karena itu, penulis mengucapkan terima kasih kepada:

1. Bapak Ir. Aries Prastyoko Hidayatullah selaku dosen

pembimbing I yang telah memberikan semangat, saran serta bimbingannya kepada penulis.

2. Bapak Eddy Setyo Koenhardono, ST, M.Sc selaku dosen pembimbing II yang telah memberikan arahan dan masukan serta dorongan semangat kepada penulis.

3. Bapak Ir. Alam Baheramsyah, M.Sc. selaku Ketua jurusan Teknik Sistem Perkapalan.

4. Bapak Ir. Dwi Priyanta, MSE selaku dosen wali yang

telah banyak memberikan nasehat dan semangat kepada penulis

5. Ibu dan Almarhum Ayah tercinta, yang telah memberikan semangat serta saran dan nasehat kepada penulis. Serta ketiga saudaraku yang tercinta, kakakku Anto Martua Christian Sihombing, adikku Tiarlyna Patra Sari br. Sihombing, serta Erwin Paulian Sihombing

xiii

6. Sdr. Hendra, teman seperjuanganku. Terima kasih telah banyak membantuku dalam mengerjakan tugas akhir ini.

7. Teman-teman lab Mesin Fluida & System, Dodo, Jo, Totok, Guntur, Ika, Adib, Mrinthil, Nyong, Rendra, Mabrur, Denni, Daidy, Casudi

8. Mas Charles Ginting yang telah banyak membantu dalam menyusun program ini.

9. Semua anak-anak Marsekal 2004 yang telah memberi dorongan serta semangat kepada penulis.

10. Serta semua pihak yang tidak dapat saya sebutkan satu per satu. Penulis menyadari bahwa penyusunan tugas akhir ini masih jauh dari sempurna. Oleh karena itu segala saran serta masukan yang membangun sangat diharapkan demi perbaikan dan kemajuan dalam tugas akhir ini.

Akhir kata, semoga buku ini dapat berguna buat kita semua yang membaca khususnya buat Jurusan Teknik Sistem Perkapalan.

Surabaya, Juni 2008

Penulis

xiv

”Halaman ini sengaja dikosongkan”

xviii

DAFTAR TABEL

Tabel 2.1. Tegangan dan Jarak Ultrasonic DUR 5200 ...... 3 Tabel 2.2. Kecepatan gelombang ultrasonic pada suhu

tertentu .............................................................. 7

Tabel 2.3. Menu Bar pada Visual Basic ............................ 14 Tabel 2.4. Toolbar pada Visual Basic ................................ 15 Tabel 2.5. Toolbox pada Visual Basic ............................... 17 Tabel 4.1. Fungsi dari pin-pin pada Parallel Port DB-25.... 33 Tabel 4.2. Jenis-jenis pin pada parallel port ...................... 34 Tabel 4.3 Nilai Status Pin ketika tidak dihubungkan dgn

ground ................................................................ 36 Tabel 4.4 Nilai Status Pin ketika pin 12 dihubungkan dgn ground ................................................................ 37 Tabel 4.5. Perhitungan jarak dan waktu gelombang Ultrasonic .......................................................... 51 Tabel 4.6. Perhitungan jarak dan waktu gelombang ultra-

sonic pd saat diterima oleh sistem penerima ..... 51

xix

”Halaman ini sengaja dikosongkan”

xx

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Seiring berkembangnya zaman yang semakin modern seperti saat ini, maka semua peralatan-peralatan yang digunakan di dalam kapal semakin berkembang juga. Perkembangan tersebut memang diperlukan saat ini, selain untuk mendapatkan performa pekerjaan yang memuaskan, juga semakin memudahkan para kru kapal untuk mengoperasikan kapal. Salah satu perkembangannya adalah menggunakan sistem komputerisasi. Pada saat ini, kebanyakan peralatan-peralatan di dalam kapal menggunakan sistem komputerisasi. Banyak keuntungan yang diperoleh dengan menggunakan sistem komputerisasi ini. Selain untuk menghemat tenaga, pekerja, serta pekerjaan yang dilakukan semakin cepat dan efektif. Begitu juga dengan sistem pengendali yang digunakan untuk mengendalikan kapal. Sistem atau peralatan yang digunakan untuk mengendalikan kapal merupakan peralatan yang penting di dalam kapal. Selain untuk mengendalikan atau mengarahkan kapal, sistem pengendali ini juga dapat mencegah terjadinya kecelakaan kapal. Oleh karena itu, pentingnya untuk membuat sistem pengendali di kapal yang baik, sehingga para operator kapal dapat mengendalikan kapal tersebut dengan baik, dan dapat mencegah terjadinya kecelakaan kapal. Pada tugas akhir ini, akan membuat perangkat lunak (software) berbasis ultrasonic yang digunakan untuk mengendalikan kapal dan dapat mendeteksi kapal lain yang berada di sekitar kapal tersebut, sehingga dapat menghindari tabrakan antar kapal. Beberapa perangkat keras (hardware) di pasang di badan kapal, baik pada haluan, buritan, portside, dan starboard. Kemudian dari perangkat keras ini akan memancarkan gelombang suara pada sistem pemancar (transmitter) yang memiliki frekuensi tertentu.

Setelah itu, apabila ada kapal/benda lain, sistem penerima akan menangkap pantulan gelombang suara tersebut.

1.2 Rumusan Permasalahan

Dalam tugas akhir ini, permasalahan yang akan dibahas adalah:

1. Bagaimana membuat perangkat lunak (software) sistem pengendali berbasis ultrasonic yang dapat mendeteksi adanya kapal lain yang berada di sekitar kapal?

2. Bagaimana sistem kerja dari sinyal ultrasonic transceiver (transmitter dan receiver)?

1.3 Batasan Masalah

Dalam tugas akhir ini, batasan masalahnya adalah:

1. Tidak memperhatikan adanya gangguan alam

2. Analisa dari sistem ultrasonic dengan menggunakan visual basic

3. Bentuk dari kapal tidak diperhitungkan

1.4 Tujuan

Tujuan penulisan tugas akhir ini adalah:

1. Dapat mengaplikasikan sinyal berbasis ultrasonic dan membuat sebuah perangkat lunak (software) berbasis ultrasonic

1.5 Manfaat

Manfaat dari tugas akhir ini adalah:

1. Dapat membuat sebuah perangkat lunak (software) berbasis ultrasonic yang digunakan untuk mendeteksi adanya kapal lain yang sedang berada di sekitar kapal.

Bab 2 Tinjauan Pustaka

2.1 Alat bantu Navigasi

Salah satu alat bantu navigasi yang digunakan di dalam kapal adalah Ultrasonic. Cara kerja dari Sistem Ultrasonic adalah dengan cara memancarkan suara ultrasonic ke daerah sekitar kapal dengan menggunakan sistem pemancar gelombangnya (transmitter system) kemudian jika ada benda pada daerah sekitar kapal, maka akan menyebkan suara ultrasonic tersebut memantul dan kemudian pantulan suara tersebut ditangkap oleh sistem penerimanya (transmitter system), setelah itu, karena adanya pantulan gelombang suara pada sistem penerima tersebut, maka selanjutnya gelombang tersebut diteruskan ke sistem parallel port untuk kemudian dirubah menjadi bahasa digital yang dikenal oleh software. Kemudian software akan memprosesnya sehingga software dapat menginformasikan ke ABK bahwa di sekitar kapal terdapat kapal/benda lain dan ABK dapat mengendalikan kapal sehingga dapat menghindari terjadi tabrakan antar kapal

Suara Ultrasonic memiliki frekuensi suara yang tinggi, yaitu 40kHz. Frekuensi ini berada di atas batas pendengaran manusia yang sekitar 20-20.000 Hz, sehingga suara Ultrasonic ini tidak dapat terdengar oleh pendengaran manusia.

Berikut ini adalah contoh spesifikasi sistem ultrasonic transmitter dan ultrasonic receiver pada frekuensi 40 KHz

Tabel 2.1 Tegangan dan Jarak Ultrasonic DUR 5200

Parameter Conditions Min Typically Max Unit

Power Supply Voltage (Vcc)

5.0 5,1 V Current Consumption

4,9

45 50 mA Working Frequency

Vcc = 5V

40 KHz Effective Range 0 25 C 4 340 cm

Board Size 30x48

mmxmm

Gambar 2.1 Karakteristik Ultrasonic SCS 401T dan SCS

401R

Gambar 2.2 Ultrasonic Transmitter dan Receiver

2.1.1 Cara kerja Ultrasonic

Sensor Ultrasonic mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik dengan frekuensi sebesar 40 kHz selama suatu waktu tertentu (t sekon) kemudian mendeteksi pantulannya. Sensor Ultrasonic memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali (pulsa trigger dengan t min. 2 μs). Gelombang ultrasonik ini melalui udara, kemudian mengenai obyek dan memantul kembali ke sensor. Ultrasonic mengeluarkan pulsa output high pada pin connector setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ultrasonic akan membuat output low pada pin connector. Lebar pulsa High (t) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2 kali jarak ukur dengan obyek. Maka jarak yang diukur adalah [(t x kecepatan gelombang) ÷ 2] meter.

Sensor Ul t rasonic

Gambar 2.3 Skema kerja Sistem Ultrasonic

2.1.2 Kecepatan gelombang Ultrasonic

Kecepatan gelombang ultrasonic di udara sangat tergantung dari temperatur udara sekitar dimana Ultrasonic tersebut bekerja. Sehingga untuk dapat mengetahui jarak obyek benda lain dari titik sinyal ultrasonic tersebut sangat tergantung dari temperatur udaranya.

Rumus untuk menghitung kecepatan gelombang ultrasonic adalah sebagai berikut:

V = 331,5 + 0,6 T

Besar kecepatan gelombang ultrasonic pada tiap-tiap temperatur adalah sebagai berikut:

Tabel 2.2 Kecepatan gelombang ultrasonic pada suhu tertentu

Temperature (°C) Speed of sound (m/sec)

2.2 Olah Gerak Kapal

Dalam IMO-SOLAS dibuat peraturan untuk olah gerak kapal sebagai berikut:

2.2.1 Perangkat kemudi

Setiap kapal harus dilengkapi dengan perangkat kemudi utama dan perangkat kemudi bantu yang disetujui oleh Badan Pemerintah. Perangkat kemudi utama dan perangkat kemudi bantu harus ditata sedemikian rupa sehingga kegagalan dari salah satu kemudi itu tidak akan membuat satu kemudi yang lain menjadi tidak dapat beroperasi.

Perangkat kemudi utama dan tongkat kemudi harus :

1. Mempunyai kekuatan yang cukup dan dapat mengemudikan kapal dengan kecepatan dinas maju maksimum yang ditunjukkan dalam uji coba

2. Mampu memindahkan kemudi dari posisi 35 o di satu sisi ke posisi 35 o di sisi yang lain dengan kapal berada pada sarat muat

terdalamnya dan bergerak maju pada kecepatan dinas maksimum dan pada kondisi yang sama, dari posisi 35 o di satu sisi ke posisi

30 o di sisi yang lain dalam waktu tidak lebih dari 28 detik;

3. Di desain sedemikian rupa sehingga tidak akan rusak pada kecepatan mundur maksimum; tetapi, persyaratan-persyaratan tidak perlu dibuktikan melalui percobaan pada kecepatan mundur maksimum dan sudut kemudi maksimum.

Perangkat kemudi bantu harus :

1. Mempunyai kekuatan yang cukup dan dapat mengemudikan kapal pada kecepatan layak layar dan dengan cepat beroperasi dalam kondisi darurat;

2. Mampu memindahkan kemudi dari posisi 15 o di satu sisi ke posisi 15 o di sisi yang lain dalam waktu tidak lebih dari 60 detik saat kapal berada pada sarat air terdalam dan bergerak maju

dengan 2 kecepatan dinas maksimum atau 7 knot, tergantung mana yang lebih besar; dan

Posisi sudut kemudi harus :

1. Jika perangkat kemudi utama dioperasikan dengan motor, ditunjukkan di anjungan navigasi. Indikator sudut kemudi harus terpisah dari sistem kontrol kemudi;

2. Dapat dikenali di dalam kompartemen perangkat kemudi.

2.3 Interface dengan Parallel Port

Parallel Port ialah port data di komputer untuk mentransmisi 8 bit data dalam sekali detak. Standar port paralel yang baru ialah IEEE 1284 dimana dikeluarkan tahun 1994. Standar ini mendefinisikan 5 mode operasi sebagai berikut :

ƒ Mode compatibilities ƒ Mode nibble ƒ Mode byte ƒ Mode EPP (enhanced parallel port) ƒ Mode ECP (Extended capability port)

Tujuan dari standar yang baru tersebut ialah untuk mendesain driver dan peralatan yang baru yang kompatibel dengan peralatan lainnya serta standar paralel port sebelumnya (SPP) yangn diluncurkan tahun 1981. Mode Compatibilitas, nibble dan byte digunakan sebagai standar perangkat keras yang tersedia di port paralel orisinal dimana EPP dan ECP membutuhkan tambahan hardware dimana dapat berjalan dengan kecepatan yang lebih tinggi. Mode kompatibilitas atau (“Mode Centronics” ) hanya dapat mengirimkan data pada arah maju pada kecepatan

50 KBytes per detik hingga 150 KBytes per detik. Untuk menerima data, anda harus mengubah mode menjadi mode nibble atau byte. Mode nibble dapat menerima 4 bit (nibble) pada arah yang mundur, misalnya dari alat ke computer. Mode byte menggunakan fitur bi-directional parallel untuk menerima

1 byte (8 bit) data pada arah mundur. IRQ (Interrupt Request ) pada port paralel biasanya pada IRQ5 atau IRQ7.

Port paralel Extend dan Enhanced menggunakan hardware tambahan untuk membangkitkan dan mengatur handshaking. Untuk mengeluarkan 1 byte ke printer menggunakan mode kompatibilitas, software harus :

ƒ Menulis byte ke data port ƒ Cek untuk melihat apakah printer sibuk, jika

sibuk, ia tidak akan menerima data, sehingga data yang telah ditulis akan hilang.

ƒ Buat strobe (pin 1) rendah. Ini memberitahukan printer bahwa data yang benar telah berada di line

data ƒ Buat strobe tinggi lagi setelah menunggu sekitar

5 mikrodetik setelah membuat strobe low.

Hal ini membatasi kecepatan data. Sedangkan EPP dan ECP mengizinkan hardware mengecek jika printer sibuk dan mengeluarkan sinyal strobe atau handshaking lainnya. Ini berate hanya 1 instruksi I/O yang harus dilakukan yang akan meningkatkan kecepatan Port ECP juga mempunyai kelebihan menggunakan saluran DMA dan buffer FIFO, jadi data dapat digeser tanpa menggunakan instruksi I/O. Protokol EPP mempunyai 4 macam siklus transfer data yang berbeda yaitu :

ƒ Siklus baca data (Data read) ƒ Siklus baca alamat (Address Read) ƒ Siklus tulis data (data write) ƒ Siklus tulis alamat (address write)

Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat digunakan untuk mengirimkan alamat, saluran (channel) atau informasi perintah dan control. Berikut ialah tabel nama pin dari konekter DB25 dan Centronics dengan jumlah konektor 34. DB25 ialah konektor yang umum digunakan di computer sebagai port paralel, sedangkan konektor Centronics umum ditemukan di printer. IEEE 1284 ialah standar Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat digunakan untuk mengirimkan alamat, saluran (channel) atau informasi perintah dan control. Berikut ialah tabel nama pin dari konekter DB25 dan Centronics dengan jumlah konektor 34. DB25 ialah konektor yang umum digunakan di computer sebagai port paralel, sedangkan konektor Centronics umum ditemukan di printer. IEEE 1284 ialah standar

Gambar 2.4 Konektor Parallel Port

2.4. Pemograman Visual Basic 6.0

Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintah-perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose

Symbolic Instruction Code) yang dikembangkan pada era 1950- an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented Programming = OOP). Visual Basic selain disebut sebagai bahasa pemograman, juga sering disebut sebagai sarana atau alat untuk menghasilkan program-program aplikasi berbasis Windows. Secara umum ada beberapa manfaat yang diperoleh dari pemakaian program Visual Basic, diantaranya:

ƒ Dipakai dalam membuat program aplikasi berbasis Windows ƒ Dipakai dalam membuat obyek-obyek pembantu program, seperti fasilitas Help, kontrol ActiveX, aplikasi

Internet, dan sebagainya ƒ Digunakan untuk menguji program (Debugging) dan

menghasilkan program akhir EXE yang bersifat Executable, atau dapat langsung digunakan.

Tampilan kerja area kerja atau Intergrated Development Enviroment (IDE) VB 6.0 dapat digambarkan sebagai berikut:

Gambar 2.5 Tampilan area kerja di Visual Basic 6.0

2.4.1 Menu bar

Menu Bar merupakan kumpulan perintah-perintah yang dikelompokkan dalam kriteria operasinya. Saat mengoperasikan menu bar, anda dapat menggunakan dua cara, yaitu:

ƒ Dengan Mouse Klik tombol mouse sebelah kiri pada menu atau sub menu

ƒ Dengan keyboard Untuk memilih menu, tekan kombinasi tombol Alt dengan

karakter yang bergaris bawah. Misalnya : Alt + F untuk membuka menu File Menekan shorcut seperti Ctrl + N untuk membuat proyek baru, Ctrl + P untuk mencetak ke printer dan lain-lain.

Berikut ini nama-nama menu bar beserta keterangan dari fungsi masing-masing kelompok menu, yaitu:

Tabel 2.3 Menu Bar pada Visual Basic

Nama Me nu Ke te rangan

Menu ini berfungsi untuk mengatur suatu file, File

seperti New Project, Open Project, Save Project, Print dan lain-lain Menu ini berfungsi untuk proses pengeditan

Edit obyek, komponen dan kode di Code Editor. Contoh : Cut, Copy, Paste, Select All dll Menu ini berfungsi untuk mengaktifkan bagian-

View bagian

Integrated Development Environment Menu ini berfungsi untuk manajemen proyek

dari

Project beserta pendukungnya

Menu ini berfungsi untuk melakukan proses Format format di tampilan form

Menu ini berfungsi untuk melacak kesalahan Debug program saat dijalankan

Menu ini berfungsi untuk menangani proses Run

kompilasi program, seperti Run, Build, Step Over, Debug dan lain-lain Menu ini berfungsi untuk mengakses data

Query yang diperlukan pada aplikasi databese

Menu ini berfungsi untuk pengaturan dengan Diagram diagram

pada saat proses perancangan Menu ini berfungis untuk menyediakan

terutama

Tools perlengkapan tambahan yang diperlukan dalam penyusunan program

Menu ini berfungsi untuk pengaturan program Add-Ins

tambahan pada Visual Basic 6.0 Menu ini berfungsi untuk pengaturan window

Window yang sedang aktif (terbuka)

Menu ini berfungsi untuk memberikan Help informasi bagi pemakai Visual Basic 6.0

2.4.2 Toolbar

Toolbar merupakan sekumpulan tombol yang mewakili suatu perintah tertentu pada Visual Basic. Kehadiran tombol-tombol speed pada toolbar akan sangat membantu

dalam mempercepat akses perintah. Berikut ini bagian-bagian dari toolbar Standard beserta

keterangan dari fungsinya masing-masing, yaitu:

Tabel 2.4 Toolbar pada Visual Basic

Tombol Nama Fungsi

Menambahkan proyek baru jenis Add Standard standard ke dalam proyek yang EXE Project

sudah ada Menambahkan form atau obyek

Add Form baru ke dalam proyek yang sedang aktif / dikerjakan Menampilkan Menu Editor yang

Menu Editor berfungsi untuk membuat atau mengubah tampilan menu Membuka sebuah proyek yang

Open Object pernah dibuat sehingga aktif kembali pada editor Visual Basic

Menyimpan proyek yang sedang Save Project aktif tanpa menutup proyek tersebut

Memotong obyek yang dipilih pada Cut

layar dan menyimpannya pada memori Membuat salinan (duplikat) obyek

Copy yang dipilih pada layar dan menyimpannya pada memori Membuat salinan obyek yang telah

Paste disimpan di memori untuk dipasang di lokasi baru Mencari teks tertentu pada jendela

Find

kode Membatalkan perintah atau tindakan

Undo terurut dari belakang yang pernah dilakukan Mengulangi perintah atau tindakan

Redo terurut dari belakang yang pernah dilakukan (kebalikan dari Undo) Menjalankan program yang sedang

Start

aktif Menghentikan sementara program

Break yang sedang berjalan

Menghentikan program dan kembali End ke mode perancangan program

jendela Project Project Explorer yang berisi komponen Explorer beserta bagian-bagiannya

Menampilkan

Properties Menampilkan jendela properties, Window

yaitu pengatur properti obyek Form Layout Menampilkan jendela Form Layout Window

yaitu pengatur properti obyek Menampilkan Object Browser yang

Object mengorganisir obyek yang dipakai Browser

dalam program Menampilkan jendela Toolbox yang

Toolbox

menyediakan

berbagai macam

kontrol

Data View Menampilkan jendela Data View Window

2.4.3 Toolbox

Toolbox merupakan sebuah jendela dimana obyek atau kontrol ditempatkan yang dibutuhkan suatu program, dengan cara dipasang pada form Berikut ini penjelasan dan fungsi-fungsi dari masing-masing kontrol yang ada pada Visual Basic 6.0 yaitu:

Tabel 2.5 Toolbox pada Visual Basic

Be ntuk Nama Kontrol Fungsi

Pointer ini bukan kontrol tetapi petunjuk kontrol yang

Pointer berfungsi untuk memindahkan atau

mengubah ukuran kontrol yang ada pada form

Untuk

menampilkan file gambar (Bitmap, Icon, Gif,

Picture Box Jpeg, dll) baik gambar statis

maupun aktif Untuk

menampilkan teks, Label

tetapi pemakai tidak bisa berinteraksi dengannya Untuk

menempatkan teks TextBox

pada form dan pemakai dapat mengedit teks tersebut Untuk

mengelompokkan Frame

beberapa kontrol (group) pada suatu form

membuat tombol Command

Untuk

pelaksana suatu perintah atau Button tindakan ketika digunakan

Untuk membuat kotak check Check Box

yang dapat memilih satu atau banyak keadaan Untuk

memilih dan Option Button mengaktifkan satu keadaan dari banyak pilihan yang ada Sebagai tempat mengetikkan

Combo Box pilihan atau memilih suatu pilihan lewat Drop Down-List Untuk

menampilkan daftar pilihan yang dapat digulung

List Box

secara

horizontal maupun

vertikal Untuk menggulung suatu area

HScrollBar kerja dengan jangka lebar pada posisi Horizontal

Untuk menggulung suatu area VscroolBar

kerja dengan jangka lebar pada posisi Vertical Untuk mengoperasikan waktu

Timer kejadian pada rutin program dalam interval yang ditentukan Untuk menampilkan daftar drive

DriveList Box komputer yang aktif dan dapat dipilih sebuah drive Untuk

menampilkan daftar Dir List Box

directory dan path pada drive kerja terpilih Untuk menampilkan daftar file

File List Box pada directory dan drive yang

aktif Untuk membentuk obyek dua

Shape dimensi seperti square, oval, ellips, dan lain-lain Untuk menggambar garis lurus

Line dengan banyak variasi dengan ketebalan yang bisa diatur Untuk menampilkan gambar

Image icon, bitmap, atau metafile pada form

Sebagai sarana akses data Data Control dalam suatu database. Fasilitas ini ada dalam konsep DAO

Untuk menghasilkan proses link OLE dan Embed obyek antar aplikasi

2.4.4 Jendela Form

Jendela Form merupakan area kerja dimana kita akan merancang suatu program aplikasi Visual Basic. Pada jendela form ini, kita bisa meletakkan kontrol (obyek) seperti command button, textbox, label, checkbox, dan lain-lain.

Gambar 2.6 Bentuk dari Form Window

2.4.5 Jendela Code (Code Window)

Jendela code merupakan area dimana kita dapat menuliskan kode- kode Visual Basic. Suatu kode-kode program merupakan kumpulan dari instruksi untuk menjalankan obyek yang berupa kontrol maupun form serta logika. Lakukan double klik pada kontrol maupun form, maka code window akan ditampilkan dimana kursor akan berada diantara perintah Private Sub dan End Sub

Gambar 2.7 Suatu Prosedur dalam Code Window

2.4.6 Project Explorer

Project Explorer merupakan area yang berisi semua file program aplikasi visual basic. Suatu aplikasi Visual Basic disebut dengan Project (Proyek), dan setiap proyek sendiri bisa terdiri dari satu atau lebih file, misalnya : form, modul, class, dan lain-lain. Pada window ini terdapat tiga tombol pengaktif window, yaitu View Code, View Object, dan Toggle Folder. View Code digunakan untuk mengaktifkan Code View, View Object untuk mengaktifkan Form Window, dan Toggle Folder untuk mengaktifkan Foldernya.

Gambar 2.8 Project Explorer

2.4.7 Properties Window

Window ini berisi semua informasi mengenai kontrol (obyek) yang dibuat, dan bertugas menyiapkan segala properti dari kontrol yang diperlukan dalam perancangan user interface maupun pemograman

Gambar 2.9 Tab Alphabetic pada Properties Window

2.4.8. Penggunaan Data dan Variabel

Ketika seorang user (pengguna) menggunakan sebuah program komputer, seringkali computer memintanya untuk memberikan informasi. Informasi ini kemudian disimpan atau diolah oleh komputer. Informasi inilah yang disebut dengan DATA. Visual Basic 6 mengenal beberapa type data, antara lain :

ƒ String adalah type data untuk teks (huruf, angka dan tanda baca). ƒ Integer adalah type data untuk angka bulat.

ƒ Single adalah type data untuk angka pecahan.

ƒ Currency adalah type data untuk angka mata uang. ƒ Date adalah type data untuk tanggal dan jam. ƒ Boolean adalah type data yang bernilai TRUE atau

FALSE.

Data yang disimpan di dalam memory komputer membutuhkan sebuah wadah. Wadah inilah yang disebut dengan VARIABEL. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkan alokasi jumlah memory (byte) yang berbeda. Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program : Dim <nama_variabel> As <type_data> Contoh : Dim nama_user As String Aturan di dalam penamaan variabel :

ƒ Harus diawali dengan huruf. ƒ Tidak boleh menggunakan spasi. Spasi bisa diganti

dengan karakter underscore (_). ƒ Tidak boleh menggunakan karakter-karakter khusus (seperti : +, -, *, /, <, >, dll). ƒ Tidak boleh menggunakan kata-kata kunci yang sudah

dikenal oleh Visual Basic 6 (seperti : dim, as, string, integer, dll).

2.4.9. Mengenal Struktur Kontrol

Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yang digunakan untuk mengatur (mengontrol) jalannya program. Visual Basic 6 mengenal dua jenis struktur kontrol, yaitu :

ƒ Struktur kontrol keputusan - digunakan untuk memutuskan kode program mana yang akan dikerjakan

berdasarkan suatu kondisi. ƒ Struktur kontrol pengulangan - digunakan untuk melakukan pengulangan kode program.

Ada dua bentuk struktur kontrol keputusan, yaitu : ƒ Struktur IF…THEN.

Bentuk penulisan (syntax) struktur IF…THEN : ƒ IF <kondisi> THEN <kode program> Bila <kondisi> bernilai True maka <kode program> akan

dikerjakan. ƒ IF <kondisi> THEN <blok kode program 1>

ELSE <blok kode program 2> END IF Bila <kondisi> bernilai True maka <blok kode program 1> akan dikerjakan, tetapi bila <kondisi> bernilai False maka <blok kode program 2> yang akan dikerjakan.

ƒ Struktur SELECT…CASE. Bentuk penulisan (syntax) struktur SELECT…CASE :

SELECT CASE <pilihan> CASE <pilihan 1> <blok kode program 1> CASE <pilihan 2> <blok kode program 2> CASE <pilihan n> <blok kode program n> [CASE ELSE <blok kode program x>] END SELECT Bila <pilihan> sesuai dengan <pilihan 1> maka <blok kode program 1> akan dikerjakan, dst. Tetapi bila <pilihan> tidak ada yang sesuai dengan <pilihan 1> s/d <pilihan n> maka <blok kode program x> yang akan dikerjakan.

”Halaman ini sengaja dikosongkan”

BAB 3 METODOLOGI

3.1 Metodologi penulisan Metodologi penulisan merupakan sebuah kerangka acuan yang digunakan dalam menjawab permasalahan yang diangkat dalam suatu tugas akhir. Metodologi penulisan ini meliputi seluruh tindakan atau langkah apa saja yang akan dilakukan dalam penulisan seluruh tugas akhir tersebut.

Berikut ini langkah – langkah yang dilakukan dalam penyusunan tugas akhir ini, yaitu:

1. Mempelajari sistem kerja ultrasonic, interface alat dengan komputer, serta code-code Visual basic dalam pembuatan software baik itu melalui buku, internet, ataupun dengan bertanya kepada orang lain.

2. Setelah mengetahui sistem kerja ultrasonic dan code visual basic, kemudian mulai mendesain program atau software, yaitu dengan cara membuat perhitungan waktu, jarak, perintah dan alarm dengan menggunakan code visual basic.

3. Setelah itu, mendesain status port address, sehingga apabila ada kapal/benda lain, maka software akan mengeluarkan perintah dan alarm, dan juga akan menghitung waktu dan jarak benda.

Gambar 3.1 Metodologi Software Alat Detector untuk mengukur jarak kapal berbasis Ultrasonic

3.2 Algoritma Software

Algoritma Software adalah langkah untuk menjalankan software. Setelah kita mengetahui langkah-langkah dalam penyusunan tugas akhir, maka langkah-langkah dalam menjalankan software ini adalah sebagai berikut:

3.2.1 Masukkan kabel parallel port pada hardware ke parallel port pada komputer

Kita mengkoneksikan hardware dengan komputer (software) melalui parallel port.

3.2.2 Hardware dapat terdeteksi di komputer?

Untuk memastikan apakah hardware dapat terbaca di dalam komputer masukkan file “dllport.dll” ke sistem C:\WINDOWS\system terlebih dahulu.

3.2.3 Taruh benda di sekitar hardware

Sebagai percobaan, kita menaruh sebuah benda pada daerah sekitar jangkauan sistem Ultrasonic.

3.2.4 Apakah Software dapat mendeteksi benda?

Kita melihat apakah software memberikan respons apabila sebuah benda ditaruh di dekat hardware. Jika software tidak memberikan respons, maka kita perlu memperbaiki baik hardware maupun softwarenya

3.2.5 Software akan mengeluarkan suara alarm dan memberitahukan jarak benda terhadap alat tersebut

Jika software dapat mendeteksi adanya benda, kemudian software akan mengeluarkan suara alarm serta memberitahukan jarak benda terhadap alat tersebut.

Mulai

Masukkan kabel parallel port ke dalam komputer

Tidak

Hardware dapat terdeteksi di komputer?

Ya

Taruh benda percobaan di sekitar hardware

Apakah software dapat mendeteksi benda?

Tidak

Memperbaiki Hardware & Software

Ya

Software akan mengeluarkan bunyi alarm dan memberikan perintah serta memberitahukan jarak benda terhadap alat tersebut

Selesai

Gambar 3.2 Algoritma Software Alat Detector untuk mengukur jarak kapal berbasis Ultrasonic

Bab 4 Hasil dan Pembahasan

4.1 Sistem Kerja Software Untuk Dapat Mendeteksi Kapal Lain Berbasis Ultrasonic

Sistem kerja keseluruhan dari perangkat lunak (software) ini dapat digambarkan dalam blok diagram di bawah ini :

Pantulan gelombang Ultrasonic

Mikrocontroller

Software menerima signal gelombang ultrasonic dari

mikrocontroller melalui kabel parallel port yang dihubungkan ke komputer

Software menghitung jarak, waktu, dan tindakan yang harus dilakukan

Gambar 4.1 Sistem Kerja Software Untuk Dapat Mendeteksi Kapal Lain Berbasis Ultrasonic

4.1.1 Gelombang Ultrasonic

Gelombang Ultrasonic akan memantul dikarenakan adanya suatu benda/kapal lain, kemudian pantulan gelombang ultrasonic tersebut ditangkap oleh sistem penerima Ultrasonic (receiver system).

4.1.2 Mikrocontroller

Mikrocontroller akan memproses gelombang suara yang ditangkap pada sistem penerima sehingga dapat merubahnya menjadi bahasa digital yang dikenal oleh software.

4.1.3 Perhitungan waktu pantulan, jarak dan tindakan yang harus dilakukan

Software menerima signal gelombang ultrasonic dari microcontroller melalui kabel parallel port yang dihubungkan ke komputer, kemudian software memproses sehingga dapat diketahui waktu selama memantul gelombang Ultrasonic tersebut dan jarak antara kapal dengan benda/ kapal lain yang berada di sekitarnya. Pendeteksian software adalah melalui pin parallel port yang ada pada komputer. Apabila ada sebuah benda/kapal lain, maka setelah diproses pada mikrokontroller, maka pin parallel port tersebut akan aktif. Dan apabila pin tersebut aktif, maka software akan membunyikan suara alarm dan akan menghitung waktu pantulan gelombang Ultrasonic serta menghitung jarak kapal dengan benda/kapal lain tersebut. Perhitungan waktu pantulan gelombang ultrasonic adalah saat Ultrasonic tersebut dipancarkan di sistem pemancar (transmitter system) sampai Ultrasonic tersebut diterima di sistem penerimanya (receiver system). Sedangkan untuk perhitungan jaraknya Software menerima signal gelombang ultrasonic dari microcontroller melalui kabel parallel port yang dihubungkan ke komputer, kemudian software memproses sehingga dapat diketahui waktu selama memantul gelombang Ultrasonic tersebut dan jarak antara kapal dengan benda/ kapal lain yang berada di sekitarnya. Pendeteksian software adalah melalui pin parallel port yang ada pada komputer. Apabila ada sebuah benda/kapal lain, maka setelah diproses pada mikrokontroller, maka pin parallel port tersebut akan aktif. Dan apabila pin tersebut aktif, maka software akan membunyikan suara alarm dan akan menghitung waktu pantulan gelombang Ultrasonic serta menghitung jarak kapal dengan benda/kapal lain tersebut. Perhitungan waktu pantulan gelombang ultrasonic adalah saat Ultrasonic tersebut dipancarkan di sistem pemancar (transmitter system) sampai Ultrasonic tersebut diterima di sistem penerimanya (receiver system). Sedangkan untuk perhitungan jaraknya

4.2 Parallel Port

Paralel Parallel adalah port data di komputer untuk mentransmisi

8 bit data dalam sekali detak. Dalam tugas akhir ini, parallel port digunakan untuk mengkoneksikan hardware dengan software dalam komputer.

Dalam parallel port, terdapat 25 pin atau port yang memiliki fungsi yang berbeda. Fungsi dari pin-pin tersebut adalah sebagai berikut :

Tabel 4.1

Fungsi dari pin-pin pada Parallel Port DB-25

Hardware Register DB25

In/out

di invert

11 nStrobe In/Out Control Ya

10 10 nAck In Status

11 11 Busy In Status Ya

Paper-Out /

12 12 In Status

Paper-End

13 13 Select In Status

nAuto-

14 14 In/Out Control Ya

Linefeed nError /

15 32 In Status

nFault

16 31 nInitialize In/Out Control 16 31 nInitialize In/Out Control

17 36 Printer / In/Out Control Ya

nSelect-In

18 - 25 19-30

Ground

Gnd

Dari tabel di atas, dapat kita ketahui bahwa dalam parallel port terdapat tiga jenis pin, yaitu data pins, status pins, dan control pins. Untuk pengiriman data, maka kita menggunakan pin-pin nomor 2-9 atau yang jenis pin ‘data pin’, sedangkan untuk penerimaan data, maka kita menggunakan pin-pin nomor 10, 11,

12, 13 dan 15.

Tabel 4.2 Jenis-jenis pin pada parallel port

Data pins Status pins Control pins

4.3 Data Input Parallel Port

Data Input Parallel Port akan digunakan sebagai data inputan yang nantinya akan digunakan untuk memproses dari pemograman ini. Data inputnya berupa port address yang menunjukkan pin-pin mana saja yang aktif pada parallel port pada saat program tersebut dijalankan.

Untuk lebih jelasnya, kita lihat gambar di bawah ini:

Gambar 4.2 Pin parallel port ketika tidak dihubungkan dengan ground

Dari percobaan di atas, maka ketika software dijalankan, akan menghasilkan sebagai berikut:

Gambar 4.3 Port address ketika pin parallel port tidak dihubungkan dengan ground

Angka 127 ini menunjukkan bahwa pada pin 10, 11, 12,

13 maupun 15 terdapat tegangan sebesar +5 Volt dari power supply komputer.

Tabel 4.3 Nilai Status Pin ketika tidak dihubungkan dengan ground

Kemudian apabila pada pin 12 kita groundkan, maka hasilnya adalah sebagai berikut:

Gambar 4.4 Pin Parallel Port ketika pin 12 dihubungkan dengan ground

Maka ketika program dijalankan, hasilnya adalah:

Gambar 4.5 Port address ketika pin 12 dihubungkan dengan ground

Angka 95 ini menunjukkan bahwa pada pin 10, 11, 13 maupun 15 terdapat tegangan sebesar +5 Volt dari power supply komputer, sedangkan pada pin 12 tegangannya adalah nol.

Tabel 4.4 Nilai Status Pin ketika pin 12 dihubungkan dengan ground S7

4.4 Perancangan Software

Perancangan Software ini diawali dengan mempelajari code pada software Visual Basic 6.0 untuk digunakan sebagai perintah pada program yang akan dibuat.

Software menerima signal gelombang ultrasonic ini melalui sistem parallel port yang dikoneksikan dengan komputer. Apabila pin pada parallel port tersebut aktif, maka pantulan gelombang ultrasonic tersebut dapat diterima oleh sistem penerimanya (receiver), sedangkan apabila pin parallel tersebut Software menerima signal gelombang ultrasonic ini melalui sistem parallel port yang dikoneksikan dengan komputer. Apabila pin pada parallel port tersebut aktif, maka pantulan gelombang ultrasonic tersebut dapat diterima oleh sistem penerimanya (receiver), sedangkan apabila pin parallel tersebut

Gambar 4.6 Software Sistem Ultrasonic

4.4.1 Jam

Jam disini menunjukkan waktu saat program tersebut dijalankan. Waktu ini diambil dari time windows yang ada di sistem komputer. Agar software dapat memanggil sistem waktu yang ada di Windows maka harus disediakan timer untuk mengecek waktu.

Gambar 4.7

Jam

Adapun source code untuk melakukan proses perhitungan adalah sebagai berikut

Private Sub Timer_waktu_Timer() Text2 = Time$ End Sub

Gambar 4.8 Source code jam pada VB

4.4.2 Waktu tempuh

Waktu disini menunjukkan waktu tempuh gelombang ultrasonic. Perhitungannya adalah jarak antara alat (hardware) ultrasonic dan benda dibagi dengan kecepatan gelombang ultrasonic, yaitu sekitar 344 m/s. Pada software ini, waktu tempuh yang ditampilkan adalah dalam mili-second.

Gambar 4.9 Waktu Tempuh

Adapun source code untuk melakukan proses perhitungan adalah sebagai berikut

Option Explicit Milisecs.Text = Text3.Text / 3,44

Gambar 4.10 Source code waktu tempuh pada VB

4.4.3 Jarak

Jarak disini menunjukkan jarak antara alat (hardware) ultrasonic dengan kapal/benda lainnya.

Gambar 4.11 Jarak

Adapun source code untuk melakukan proses perhitungan adalah sebagai berikut

Option Explicit Dim timing As Integer Dim NOWTIME, TimeStart, Duration, backup, Hrs, Mins, Secs, stops As Integer

Private Sub Timer_Jarak1_Timer() Call Out(&H378, 3) data = (Inp(&H379)) data = data And 240 If data < 16 Then d0 = 0 If data < 16 Then d3 = 8 If data = 16 Then d0 = 1 If data = 16 Then d3 = 8 If data = 32 Then d1 = 2 If data = 32 Then d3 = 8 If data = 48 Then d3 = 8 If data = 48 Then d1 = 2 If data = 48 Then d0 = 1 If data = 64 Then d3 = 8 If data = 64 Then d2 = 4 If data = 80 Then d3 = 8 If data = 80 Then d2 = 4 If data = 80 Then d0 = 1 If data = 96 Then d3 = 8 If data = 96 Then d2 = 4 If data = 96 Then d1 = 2 If data = 112 Then d3 = 8 If data = 112 Then d2 = 4 If data = 112 Then d1 = 2 If data = 112 Then d0 = 1 If data = 128 Then d3 = 0

If data = 144 Then d3 = 0 If data = 144 Then d0 = 1 If data = 160 Then d3 = 0 If data = 160 Then d1 = 2 If data = 176 Then d3 = 0 If data = 176 Then d1 = 2 If data = 176 Then d0 = 1 If data = 192 Then d3 = 0 If data = 192 Then d2 = 4 If data = 208 Then d3 = 0 If data = 208 Then d2 = 4 If data = 208 Then d0 = 1 If data = 224 Then d3 = 0 If data = 224 Then d2 = 4 If data = 224 Then d1 = 2 If data = 240 Then d3 = 0 If data = 240 Then d2 = 4 If data = 240 Then d1 = 2 If data = 240 Then d0 = 1 satuan = d0 + d1 + d2 + d3 End Sub

Private Sub Timer_Jarak2_Timer() Call Out(&H378, 5) data = (Inp(&H379)) data = data And 240 If data < 16 Then d0 = 0 If data < 16 Then d3 = 8 If data = 16 Then d0 = 1 If data = 16 Then d3 = 8

fd h d

If data = 32 Then d1 = 2 If data = 32 Then d3 = 8 If data = 48 Then d3 = 8 If data = 48 Then d1 = 2 If data = 48 Then d0 = 1 If data = 64 Then d3 = 8 If data = 64 Then d2 = 4 If data = 80 Then d3 = 8 If data = 80 Then d2 = 4 If data = 80 Then d0 = 1 If data = 96 Then d3 = 8 If data = 96 Then d2 = 4 If data = 96 Then d1 = 2 If data = 112 Then d3 = 8 If data = 112 Then d2 = 4 If data = 112 Then d1 = 2 If data = 112 Then d0 = 1 If data = 128 Then d3 = 0 If data = 144 Then d3 = 0 If data = 144 Then d0 = 1 If data = 160 Then d3 = 0 If data = 160 Then d1 = 2 If data = 176 Then d3 = 0 If data = 176 Then d1 = 2 If data = 176 Then d0 = 1 If data = 192 Then d3 = 0 If data = 192 Then d2 = 4 If data = 208 Then d3 = 0 If data = 208 Then d2 = 4 If data = 208 Then d0 = 1 If data = 224 Then d3 = 0 If data = 224 Then d2 = 4 If data = 224 Then d1 = 2

If data = 240 Then d3 = 0 If data = 240 Then d2 = 4 If data = 240 Then d1 = 2 If data = 240 Then d0 = 1

puluhan = d0 + d1 + d2 + d3 End Sub

Private Sub Timer_Jarak3_Timer() Call Out(&H378, 6) data = (Inp(&H379)) data = data And 240 If data < 16 Then d0 = 0 If data < 16 Then d3 = 8 If data = 16 Then d0 = 1 If data = 16 Then d3 = 8 If data = 32 Then d1 = 2 If data = 32 Then d3 = 8 If data = 48 Then d3 = 8 If data = 48 Then d1 = 2 If data = 48 Then d0 = 1 If data = 64 Then d3 = 8 If data = 64 Then d2 = 4 If data = 80 Then d3 = 8 If data = 80 Then d2 = 4 If data = 80 Then d0 = 1 If data = 96 Then d3 = 8 If data = 96 Then d2 = 4 If data = 96 Then d1 = 2

If data = 112 Then d3 = 8 If data = 112 Then d2 = 4 If data = 112 Then d1 = 2 If data = 112 Then d0 = 1 If data = 128 Then d3 = 0 If data = 144 Then d3 = 0 If data = 144 Then d0 = 1 If data = 160 Then d3 = 0 If data = 160 Then d1 = 2 If data = 176 Then d3 = 0 If data = 176 Then d1 = 2 If data = 176 Then d0 = 1 If data = 192 Then d3 = 0 If data = 192 Then d2 = 4 If data = 208 Then d3 = 0 If data = 208 Then d2 = 4 If data = 208 Then d0 = 1 If data = 224 Then d3 = 0 If data = 224 Then d2 = 4 If data = 224 Then d1 = 2 If data = 240 Then d3 = 0 If data = 240 Then d2 = 4 If data = 240 Then d1 = 2 If data = 240 Then d0 = 1

ratusan = d0 + d1 + d2 + d3 Text3.Text = (ratusan * 100) + (puluhan * 10) + satuan Milisecs.Text = Text3.Text / 344000 End Sub

Gambar 4.12 Source Code perhitungan Jarak pada VB

Untuk source code jarak lebih lengkapnya pada halaman lampiran pada laporan ini

4.4.4 Gambar

Gambar ini adalah simulasi dari penggunaan software. Apabila software ini digunakan pada sebuah kapal, dapat menghindar tabrakan antar kapal, karena software akan memberitahu apabila ada kapal/benda lain yang berada di sekitar kapal.

Gambar 4.13 Simulasi gambar

Adapun source code untuk memunculkan gambar ini adalah sebagai berikut:

Option Explicit Private m_index As Integer Private m_NumImages As Integer

Private Sub Timer1_Timer() If Text3.Text < 100 Then ShockwaveFlash1.Movie = App.Path & "\kapal.swf"

End If End Sub

Gambar 4.14 Source Code tampilan gambar pada VB

4.4.5 Perintah

Perintah disini adalah perintah yang dikeluarkan oleh software agar dapat menginformasikan kepada ABK dan dapat menghindari terjadinya tabrakan.

Gambar 4.15 Perintah software

Adapun source code untuk memunculkan perintah ini adalah sebagai berikut:

Private Sub Timer2_Timer() If Text3.Text > 100 Then Label5.Caption = "perintah : Belokkan rudder sejauh 35

derajat, turunkan kecepatan kapal mjd 1 knot, " _ & "kapal masih aman" ElseIf Text3.Text < 100 Then Label5.Caption = "perintah : Belokkan rudder sejauh 35

derajat, turunkan kecepatan kapal mjd 1 knot, " _ & "kapal dalam kondisi bahaya" End If End Sub

Gambar 4.16 Source Code tampilan perintah pada VB

4.4.6 Alarm

Alarm akan berbunyi apabila software dapat mendeteksi adanya kapal/benda lain pada jarak 5 meter sehingga ABK dapat mengetahui adanya bahaya yang terjadi. Adapun source code untuk mengeluarkan alarm ini adalah sebagai berikut:

Private Declare Function SndPlaySound _ Lib "winmm" Alias "sndPlaySoundA" _ (ByVal liszSoundName As String, _ ByVal uflags As Long) As Long

Public Sub PlaySound(NameFile As String) SndPlaySound NameFile, 1 End Sub Private Sub Timer_Sound_Timer()

If Text3.Text < 100 Then PlaySound App.Path & "\alarm1.wav"

End If End Sub

Gambar 4.17 Source Code untuk mengeluarkan alarm pada VB

4.4.7 Mulai

Mulai ini adalah waktu kita akan menjalankan program. Apabila kita ingin menjalankan software ini, maka kita harus menekan tombol mulai ini. Adapun source codenya adalah sebagai berikut:

Private Sub Command1_Click() Timer_Output1.Enabled = True Timer_Output2.Enabled = True Timer_Sound.Enabled = True Timer1.Enabled = True Timer2.Enabled = True ShockwaveFlash1.Visible = True

End Sub

Gambar 4.18 Source Code tombol mulai pada VB

4.4.8 Reset

Reset berfungsi untuk mengembalikan software ini dari awal. Apabila tombol reset kita pencet, maka perhitungan jarak, waktu tempuh dan alarm akan dikembalikan ke posisi awal software ini dijalankan. Adapun source code untuk reset ini adalah sebagai berikut:

Private Sub Command2_Click() Call Umum End Sub Private Sub Umum()

Milisecs.Text = "0" Text3.Text = "0" Timer1.Enabled = False Timer_Sound.Enabled = False Timer2.Enabled = False Label5.Caption = "" ShockwaveFlash1.Visible = False Timer_Output1.Enabled = False Timer_Output2.Enabled = False

End Sub

Gambar 4.19 Source Code tombol reset pada VB

4.4.9 Close

Close berfungsi untuk mengakhiri dan menutup program ini. Apabila kita ingin keluar dari program ini, maka kita harus menekan tombol close terlebih dahulu. Adapun source codenya adalah sebagai berikut:

Private Sub Command3_Click() Unload Me End Sub

Gambar 4.20 Source Code tombol close pada VB

4.5 Analisis Data

4.5.1 Gelombang Ultrasonic

Berdasarkan datasheet pada ultrasonic sensor DUR5200, diketahui bahwa alat ini dapat mengukur jarak benda sejauh 3,4 meter, dengan kecepatan gelombang ultrasonic sebesar 344 meter/sekon, maka:

Tabel 4.5 Perhitungan jarak dan waktu gelombang ultrasonic

Kecepatan Jarak

Waktu

gelombang (m)

(s)

(m/s)

Perhitungan di atas menunjukkan jarak yang dapat dicapai dan waktu ideal yang dibutuhkan oleh gelombang ultrasonic untuk mencapai benda tersebut. Perhitungan waktu di atas, adalah waktu gelombang ultrasonic mencapai benda, maka waktu yang dibutuhkan oleh gelombang ini untuk kembali dan pada saat ditangkap oleh sistem penerimanya adalah dua kali dari waktu gelombang mencapai benda tersebut. Atau dapat dilihat pada tabel di bawah ini:

Tabel 4.6 Perhitungan jarak dan waktu gelombang ultrasonic pada saat diterima oleh sistem penerima

Kecepatan Jarak

Waktu

gelombang (m)

(s)

(m/s)

Dari tabel di atas, dapat kita ketahui bahwa waktu ideal yang dibutuhkan oleh gelombang ultrasonic pada saat keluar dari sistem pemancarnya sampai diterima pada sistem penerimanya adalah 0,017291 sekon untuk jarak benda sejauh 3 meter. Ini menunjukkan waktu yang dibutuhkan oleh gelombang ultrasonic ini tidak lebih dari 1 sekon.

4.5.2 Uji Coba Alat