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