i
PERANCANGAN PERANGKAT LUNAK (SOFTWARE)
SISTEM PENGENDALI UNTUK MENGHINDARI TABRAKAN
ANTAR KAPAL BERBASIS ULTRASONIC
HENDRA FERNANDEZ SIHOMBING NRP 4204 100 027
JURUSAN TEKNIK SISTEM PERKAPALAN Fakul t as Teknol ogi Kel aut an
Inst it ut Teknol ogi Sepul uh Nopember Surabaya 2008
Dosen Pembimbing
ii
iii 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
DEPARTMENT OF MARINE ENGINEERING Facul t y Of Marine Technology
Sepul uh Nopember Inst it ut e Of t echnol ogy Surabaya 2008
Advisor
iv
v
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
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
ix
MENGHINDARI TABRAKAN ANTAR KAPAL
BERBASIS ULTRASONIC
Nama : Hendra Fernandez Sihombing
NRP : 4204 100 027
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.
xi
Name : Hendra Fernandez Sihombing
NRP : 4204 100 027
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.
xiii
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
xiv
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
xv
2.1.2 Kecepatan gelombang Ultrasonic ... 7
2.2 Olah Gerak Kapal ... 8
2.2.1 Perangkat kemudi... 8
2.3 Interface dengan Parallel Port... 9
2.4 Pemograman Visual Basic 6.0 ... 12
2.4.1 Menu Bar ... 13
2.4.8 Penggunaan Data dan Variabel ... 23
xvi
3.2 Algoritma Software ... 29
BAB IV ANALISA DATA DAN PEMBAHASAN 4.1 Sistem Kerja Software Untuk Dapat Mendeteksi Kapal Lain Berbasis Ultrasonic ... 31
4.1.1.Gelombang Ultrasonic. ... 32
4.1.2.Mikrocontroller. ... 32
4.1.3. Perhitungan waktu pantulan, jarak dan tindakan yang harus dilakukan. ... 32
4.2 Parallel Port ... 33
4.5.1. Gelombang Ultrasonic ... 50
xvii
Gambar 2.1. Karakteristik Ultrasonic SCS 401T dan
SCS 401R ... 5
Gambar 2.2. Ultrasonic Transmitter dan Receiver ... 6
Gambar 2.3. Skema kerja Sistem Ultrasonic... 7
Gambar 2.4. Konektor Parallel Port ... 11
Gambar 2.5. Tampilan area kerja di Visual Basic 6.0... 13
Gambar 2.6. Bentuk dari Form Window ... 20
Gambar 2.7. Suatu Prosedur dalam Code Window... 21
Gambar 2.8. Project Explorer... 22
Gambar 2.9. Tab Alphabetic pada Properties Window ... 23
Gambar 3.1. Metodologi Software Alat Detector untuk mengukur jarak kapal berbasis Ultrasonic... 28
Gambar 3.2. Algoritma Software Alat Detector untuk mengukur jarak kapal berbasis Ultrasonic... 30
Gambar 4.1. Sistem Kerja Software Untuk Dapat Mendeteksi Kapal Lain Berbasis Ultrasonic .. 31
Gambar 4.2
Pin parallel port ketika tidak dihubungkan
dengan ground ... 35
Gambar 4.3 Port address ketika pin parallel port tidak
dihubungkan dengan ground ... 35
Gambar 4.4 Pin Parallel Port ketika pin 12
dihubungkan dengan ground ... 36
Gambar 4.5 Port address ketika pin 12 dihubungkan
dengan ground ... 37
Gambar 4.12 Perintah software ... 45
Gambar 4.13 Pendeteksian kapal pada jarak 5 meter ... 46
xix
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
1 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.
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:
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) 4,9 5.0 5,1 V Current Consumption Vcc = 5V 45 50 mA
Working Frequency 40 KHz
Effective Range 250C 4 340 cm
Board Size 30x48 mmxmm
Gambar 2.2 Ultrasonic Transmitter dan Receiver
2.1.1 Cara kerja Ultrasonic
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)
-10 325.5
0 331.5
10 337.5
20 343.5
30 349.5
40 355.5
50 361.5
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 35o di satu sisi ke posisi 35o 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 35o di satu sisi ke posisi 30o 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;
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)
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.
yang menentukan 3 konektor berbeda yang dapat digunakan dengan port paralel, yaitu 1284 tipe A ialah konektor DB25 yang dapat ditemukan di hampir semua komputer, 1284 tipe B ialah konektor Centronics 36 pin yang umum ditemukan di printer, IEEE 1284 type C ialah konektor 36 pin seperti Centronics, tetapi ukurannya lebih kecil dan lebih memuaskan.
Gambar 2.4 Konektor Parallel Port
2.4. Pemograman Visual Basic 6.0
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.
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.
Tabel 2.3 Menu Bar pada Visual Basic
Nama Me nu Ke te rangan
File
Menu ini berfungsi untuk mengatur suatu file, seperti New Project, Open Project, Save Project, Print dan lain-lain
Edit
Menu ini berfungsi untuk proses pengeditan obyek, komponen dan kode di Code Editor. Contoh : Cut, Copy, Paste, Select All dll
View
Menu ini berfungsi untuk mengaktifkan bagian-bagian dari Integrated Development Environment
Project Menu ini berfungsi untuk manajemen proyek beserta pendukungnya
Format Menu ini berfungsi untuk melakukan proses format di tampilan form
Debug Menu ini berfungsi untuk melacak kesalahan program saat dijalankan
Run
Menu ini berfungsi untuk menangani proses kompilasi program, seperti Run, Build, Step Over, Debug dan lain-lain
Query Menu ini berfungsi untuk mengakses data yang diperlukan pada aplikasi databese
Diagram
Menu ini berfungsi untuk pengaturan dengan diagram terutama pada saat proses perancangan
Tools
Add-Ins Menu ini berfungsi untuk pengaturan program tambahan pada Visual Basic 6.0
Window Menu ini berfungsi untuk pengaturan window yang sedang aktif (terbuka)
Help Menu ini berfungsi untuk memberikan 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
Add Standard EXE Project
Menambahkan proyek baru jenis standard ke dalam proyek yang sudah ada
Add Form
Menambahkan form atau obyek baru ke dalam proyek yang sedang aktif / dikerjakan
Menu Editor
Menampilkan Menu Editor yang berfungsi untuk membuat atau mengubah tampilan menu
Open Object
Save Project Menyimpan proyek yang sedang aktif tanpa menutup proyek tersebut
Cut
Memotong obyek yang dipilih pada layar dan menyimpannya pada memori
Copy
Membuat salinan (duplikat) obyek yang dipilih pada layar dan menyimpannya pada memori
Paste
Membuat salinan obyek yang telah disimpan di memori untuk dipasang di lokasi baru
Find Mencari teks tertentu pada jendela kode
Undo
Membatalkan perintah atau tindakan terurut dari belakang yang pernah dilakukan
Redo
Mengulangi perintah atau tindakan terurut dari belakang yang pernah dilakukan (kebalikan dari Undo)
Start Menjalankan program yang sedang aktif
Break Menghentikan sementara program yang sedang berjalan
End Menghentikan program dan kembali ke mode perancangan program
Project Explorer
Properties Window
Menampilkan jendela properties, yaitu pengatur properti obyek
Form Layout Window
Menampilkan jendela Form Layout yaitu pengatur properti obyek
Object Browser
Menampilkan Object Browser yang mengorganisir obyek yang dipakai dalam program
Toolbox
Menampilkan jendela Toolbox yang menyediakan berbagai macam kontrol
Data View
Window Menampilkan jendela Data View
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
Picture Box
Untuk menampilkan file gambar (Bitmap, Icon, Gif, Jpeg, dll) baik gambar statis maupun aktif
Label
Untuk menampilkan teks, tetapi pemakai tidak bisa berinteraksi dengannya
TextBox
Untuk menempatkan teks pada form dan pemakai dapat mengedit teks tersebut
Frame
Untuk mengelompokkan beberapa kontrol (group) pada suatu form
Command Button
Untuk membuat tombol pelaksana suatu perintah atau tindakan ketika digunakan
Check Box
Untuk membuat kotak check yang dapat memilih satu atau banyak keadaan
Option Button
Untuk memilih dan mengaktifkan satu keadaan dari banyak pilihan yang ada
Combo Box
Sebagai tempat mengetikkan pilihan atau memilih suatu pilihan lewat Drop Down-List
List Box
Untuk menampilkan daftar pilihan yang dapat digulung secara horizontal maupun vertikal
HScrollBar
Untuk menggulung suatu area kerja dengan jangka lebar pada posisi Horizontal
VscroolBar
Untuk menggulung suatu area kerja dengan jangka lebar pada posisi Vertical
Timer
Untuk mengoperasikan waktu kejadian pada rutin program dalam interval yang ditentukan
DriveList Box
Untuk menampilkan daftar drive komputer yang aktif dan dapat dipilih sebuah drive
Dir List Box
Untuk menampilkan daftar directory dan path pada drive kerja terpilih
File List Box
Untuk menampilkan daftar file pada directory dan drive yang aktif
Shape
Untuk membentuk obyek dua dimensi seperti square, oval, ellips, dan lain-lain
Line
Untuk menggambar garis lurus dengan banyak variasi dengan ketebalan yang bisa diatur
Image
Untuk menampilkan gambar icon, bitmap, atau metafile pada form
Data Control
Sebagai sarana akses data dalam suatu database. Fasilitas ini ada dalam konsep DAO
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)
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.
Gambar 2.8 Project Explorer
2.4.7 Properties Window
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).
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.
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
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.
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
Masukkan kabel parallel port ke dalam komputer
Hardware dapat terdeteksi di komputer?
Tidak
Ya
Taruh benda percobaan di sekitar hardware
Apakah software dapat mendeteksi benda?
Memperbaiki Hardware & Software Tidak
Software akan mengeluarkan bunyi alarm dan memberikan perintah serta memberitahukan
jarak benda terhadap alat tersebut Ya
Mulai
Selesai
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.
adalah waktu pantulan gelombang ultrasonic dikalikan dengan kecepatan gelombang ultrasonic, yaitu sekitar 344 m/s.
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 Pin
Paper-End In Status
13 13 Select In Status
14 14
nAuto-Linefeed In/Out Control Ya
15 32 nError /
nFault In Status
17 36
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
Pin 9 = D7 Pin 10 = S6 Pin 1 = C0
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.
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
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
S7 S6 S5 S4 S3 S2 S1 S0
0 1 1 1 1 1 1 1
Kemudian apabila pada pin 12 kita groundkan, maka hasilnya adalah sebagai berikut:
Gambar 4.4 Pin Parallel Port ketika pin 12 dihubungkan
dengan ground
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 S6 S5 S4 S3 S2 S1 S0
0 1 0 1 1 1 1 1
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.
tidak aktif, maka pantulan gelombang ultrasonic tersebut tidak dapat diterima sistem penerimanya. Kemudian software akan mendeteksi pin parallel port ini, apabila pin tersebut aktif, maka software akan memberi tanda angka “1” yang berarti pantulan gelombang tersebut terdeteksi, sedangkan apabila pin tersebut tidak aktif, maka software akan memberi tanda angka “0”. Setelah itu, software akan menghitung waktu tempuh gelombang ultrasonic ini mulai dari keluarnya pada sistem pemancar (transmitter) sampai pantulan gelombang diterima pada sistem penerima (receiver). Setelah itu, software juga akan menghitung jarak benda tersebut dengan mengkalikan waktu tempuh gelombang ultrasonic dengan kecepatan gelombang ultrasonic, yaitu 344 m/s. Selain itu, software juga akan memberitahukan kepada ABK, tindakan yang harus dilakukan dan software akan membunyikan alarm tanda bahaya.
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
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.
Private Sub Timer_waktu_Timer() Text2 = Time$
Gambar 4.9 Waktu Tempuh
Adapun source code untuk melakukan proses perhitungan adalah sebagai berikut
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
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)
If data = 144 Then d3 = 0
Private Sub Timer_Jarak2_Timer() Call Out(&H378, 5)
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)
Gambar 4.12 Source Code perhitungan Jarak pada VB Milisecs.Text = Text3.Text / 344000
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
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:
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
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:
Gambar 4.17 Source Code untuk mengeluarkan alarm pada VB 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
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
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:
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 Command1_Click() Timer_Output1.Enabled = True Timer_Output2.Enabled = True Timer_Sound.Enabled = True Timer1.Enabled = True Timer2.Enabled = True
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:
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:
Private Sub Command2_Click() Call Umum
End Sub
Private Sub Umum() Milisecs.Text = "0"
ShockwaveFlash1.Visible = False Timer_Output1.Enabled = False Timer_Output2.Enabled = False End Sub
Private Sub Command3_Click() Unload Me
Tabel 4.5 Perhitungan jarak dan waktu gelombang
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
Jarak
4.5.2 Uji Coba Alat
Pengujian dilakukan untuk mengetahui jangkauan pada alat (hardware) dari sistem ultrasonic. Dari pengujian alat tersebut dapat dibuktikan bahwa hardware sistem ultrasonic ini dapat menjangkau benda sampai jarak 3 meter. Dengan meletakkan benda pada jarak kurang dari 3 meter, gelombang ultrasonic akan memantul, kemudian pantulan gelombang tersebut dapat ditangkap oleh sistem receivernya. Kemudian gelombang ultrasonic tersebut diteruskan sampai ke IC penerimanya. Setelah itu, IC penerima tersebut akan memproses sinyal ultrasonic tersebut, kemudian akan menampilkan jarak benda terhadap alat (hardware) ultrasonic, dan dari IC penerima itu juga, software akan mengambil data jarak tersebut melalui pin parallel portnya.
Selain itu, dilakukan juga pengujian untuk sudut yang dapat dijangkau dari sistem ultrasonic.
Dari pengujian seperti gambar di atas, dapat diketahui bahwa sistem ultrasonic ini dapat menjangkau benda sampai sudut kemiringan sebesar 30 derajat dari arah benda.
Gambar 4.22 Daerah jangkauan sistem ultrasonic
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari percobaan dan perancangan software yang telah dibuat, maka dapat diambil kesimpulan antara lain:
5.1.1 Sistem Ultrasonic merupakan sistem yang dapat memancarkan gelombang ultrasonic pada sistem pemancar atau transmitternya dan dapat menerima pantulan gelombang ultrasonic pada sistem penerima atau receivernya.
5.1.2 Gelombang Ultrasonic yang dipancarkan memiliki frekuensi 40 KHz dan pada tugas akhir ini dapat menjangkau sampai jarak 5 meter.
5.1.3 Untuk berlangsungnya sistem kontrol dimana dalam hal ini mengunakan konektor parallel port DB 25 maka dibutuhkan software tambahan dengan nama DllPort.dll dimana file ini harus berada di dalam folder c:\windows\system. Jika file ini tidak ada, maka kemungkinan nilai port address dari software yang dirancang tidak dapat berfungsi.
5.1.4 Audio yang keluar pada software berupa rekaman suara dalam bentuk wave, merupakan feedback dari software apabila software dapat mendeteksi adanya benda/kapal lain sejauh kurang dari 100 cm, sehingga Anak Buah Kapal mendengar suara tanda bahaya dan dapat mengendalikan kapal serta dapat menghindari terjadinya tabrakan antar kapal.
5.1.5 Perhitungan jarak antar kapal/benda dilakukan dengan cara membaca port address melalui pin input yang diberikan dari hardware. Kemudian akan ditampilkan pada monitor jarak alat tersebut terhadap kapal/benda lainnya. Sedangkan perhitungan waktu tempuh gelombang ultrasonic adalah dengan membagi jarak benda dengan kecepatan gelombang ultrasonic.
5.1.6 Penggunaan konektor antara komputer dengan hardware yang mana dalam percobaan ini menggunakan Konektor DB25 amat sangat terbatas karena hanya ada 5 pin input (pin 15, pin 13, pin 12, pin 11, pin 10) sehingga untuk aplikasi lainnya seperti dengan alat yang berbeda maka hardware harus berubah secara keseluruhan karena keterbatasan pin ini.
5.1.7 Kecepatan Gelombang Ultrasonic dianggap konstan, yakni sebesar 344 m/s dengan tanpa menganggap adanya gangguan alam.
5.1.8 Alat (Hardware) dari sistem ultrasonic ini dapat mendeteksi benda sampai jarak 3 meter dengan kemiringan maksimum sebesar 30 derajat dari posisi benda tersebut.
5.1.9 Kemiringan benda tidak terlalu mempengaruhi pantulan gelombang ultrasonic ini.
5.2 Saran
5.2.1 Software ini merupakan simulasi sistem ultrasonic untuk menghindari tabrakan antar kapal dan belum dapat diterapkan pada kapal-kapal yang besar.
5.2.2 Setiap kali menjalankan software ini, harap me-reset waktunya terlebih dahulu.
DAFTAR PUSTAKA
http://www.datasheet4u.com/
Krisna D. Octovhiana. 2003. Cepat Mahir Visual Basic 6.0. Yuswanto. 2003. Pemograman Dasar Microsoft Visual Basic 6.0. Surabaya : Prestasi Pustaka.
http://www.teknisoft.net/project/inpout32.zip http://www.aaroncake.net/electronics/vblpt.htm http://www.control.com/thread.php?id=1026224290
Phebejtsov. 2006. Reading from Parallel Port using Inpout32.dll, <URL:http://www.codeproject.com/script/Articles/MemberArticl es.aspx?amid=3203314>.
http://www.thaiio.com
l ix Lampiran A
Gambar Rangkaian Hardware Sistem Ultrasonic
A.1 Rangkaian Ultrasonic Transmitter
Rangkaian Ultrasonic Transmitter
Daftar Komponen yang digunakan pada Ultrasonic Transmitter
No Kode Tipe Komponen Keterangan
1 C1 0,01µ Kapasitor
2 C2 0,1 µ Kapasitor
3 C3 1000 p Kapasitor
4 C4 0,1 µ Kapasitor
5 C5 0,1 µ Kapasitor
6 C20 0,1 µ Kapasitor
7 R1 9,1 M Resistor
8 R2 150 K Resistor
9 R3 1,5 K Resistor
10 R4 8,2 K Resistor
11 VR1 10 K Variabel Resistor
12 IC1 NE555 Integrated Circuit
13 IC2 NE555 Integrated Circuit
l x
A.2 Rangkaian Ultrasonic Receiver
Rangkaian Ultrasonic Receiver
Daftar Komponen yang digunakan pada Ultrasonic Receiver
No Kode Tipe Komponen Keterangan
1 R7 R7 1M Resistor
2 R8 R8 10K Resistor
3 R9 R9 100K Resistor
4 R10 R10 10K Resistor
l xi
6 R12 R12 1M Resistor
7 R13 R13 47K Resistor 8 R14 R14 10K Resistor
9 R15 R15 10K Resistor
10 R16 R16 10K Resistor
11 R17 R17 100K Resistor
12 VR2 VR2 20K Variabel Resistor
13 VR3 VR3 1K Variabel Resistor
14 C6 C6 1000p Kapasitor
15 C7 C7 1000p Kapasitor
16 C8 C8 0,1 mik Kapasitor 17 C9 C9 1000p Kapasitor
18 C10 C10 1000p Kapasitor
19 C11 C11 0.1 mik Kapasitor
20 C12 C12 0.01 mik Kapasitor
21 C13 C13 0.01 mik Kapasitor 22 C14 C14 2200p Kapasitor
23 C15 C15 1000p Kapasitor
24 C21 C21 0,1 mik Kapasitor
25 D1 D1 1SS106 Dioda
26 D2 D2 1SS106 Dioda 27 D3 D3 1S1588 Dioda
28 D4 D4 1S1588 Dioda
29 D5 D5 1S1588 Dioda
30 IC4 IC4 NJM4580D Integrated Circuit
31 IC5 IC5 LM358N Integrated Circuit 32 IC6 IC6 4011 Integrated Circuit
33 IC7 IC7 4069 Integrated Circuit
l xii Lampiran B
Source Code Pemograman/Software Ultrasonic
Option Explicit
Private Declare Function Inp Lib "Dllport.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib "Dllport.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Dim PortData
Const AddressLPT1 = &H378
Private Declare Function Inp32 Lib "Dllport.dll" (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out32 Lib "Dllport.dll" (ByVal PortAddress As Integer, ByVal Value As Integer)
Dim timing As Integer Private data As Byte
Private d0, d1, d2, d3 As Byte
Private satuan, puluhan, ratusan As Byte Dim NOWTIME, TimeStart, Duration, backup, Hrs, Mins, Secs, stops As Integer
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
l xiii Timer_Sound.Enabled = True Timer1.Enabled = True Timer2.Enabled = True
ShockwaveFlash1.Visible = True End Sub
Private Sub Command2_Click() Call Umum
End Sub
Private Sub Command3_Click() Unload Me
End Sub
Private Sub Form_Load() Me.Caption = Time
Call Umum End Sub
Private Sub Timer_Jarak1_Timer() Call Out(&H378, 3)
l xv
Private Sub Timer_Jarak2_Timer() Call Out(&H378, 5)
l xvii
Private Sub Timer_Jarak3_Timer() Call Out(&H378, 6)
l xix
Milisecs.Text = Text3.Text / 3.44 End Sub
Private Sub Timer_Output1_Timer() Call Out(&H378, 7)
Call Out(&H378, 15) End Sub
Private Sub Timer_Output2_Timer() Call Out(&H378, 7)
End Sub
Private Sub Timer_Sound_Timer() If Text3.Text < 100 Then
PlaySound App.Path & "\alarm1.wav" End If
l xx
Private Sub Timer_waktu_Timer() Text2 = Time$
End Sub
Private Sub Timer1_Timer() If Text3.Text < 100 Then
ShockwaveFlash1.Movie = App.Path & "\kapal.swf"
End If End Sub
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
Private Sub Umum() Milisecs.Text = "0" Text3.Text = "0"
Timer1.Enabled = False Timer_Sound.Enabled = False Timer2.Enabled = False Label5.Caption = ""
l xxi Lampiran C
Form As Text Pemograman/Software Ultrasonic
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form Form1 BackColor = &H80000002& Caption = "Form1"
ClientHeight = 8805 ClientLeft = 60 ClientTop = 450 ClientWidth = 11370
BeginProperty Font Name = "TechnicLite" Size = 8.25
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
LinkTopic = "Form1" ScaleHeight = 8805 ScaleWidth = 11370
StartUpPosition = 3 'Windows Default
Begin VB.Timer Timer5 Interval = 100
l xxii
Begin VB.TextBox txt_perintah Alignment = 2 'Center
BackColor = &H80000004&
BeginProperty Font Name = "TechnicLite" Size = 9.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin MSComctlLib.ImageList ImageList2 Left = 10440
Top = 3360 _ExtentX = 1005 _ExtentY = 1005
BackColor = -2147483643 ImageWidth = 500
ImageHeight = 267 MaskColor = 12632256 _Version = 393216
BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628}
l xxiii
BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
l xxiv
BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
l xxv
BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty EndProperty End
Begin VB.Timer Timer4 Interval = 100
Left = 2760 Top = 3720 End
Begin VB.Frame Frame1 Caption = "Port Address"
BeginProperty Font Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
l xxvi Strikethrough = 0 'False EndProperty
Begin VB.TextBox txt_port BackColor = &H80000004&
BeginProperty Font Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.Label Label8 Caption = "Port Address"
BeginProperty Font Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
l xxvii Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.Timer Timer3 Interval = 200
Left = 2640 Top = 2520 End
Begin VB.Timer Timer2 Interval = 200
Left = 2640 Top = 1920 End
Begin VB.Timer Timer1 Interval = 1000
Left = 10440 Top = 2040 End
Begin MSComctlLib.ImageList ImageList1 Left = 10440
Top = 2640 _ExtentX = 1005 _ExtentY = 1005
l xxviii ImageHeight = 267
MaskColor = 12632256 _Version = 393216
BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628}
NumListImages = 15
BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628}
l xxix EndProperty
BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628}
l xxx EndProperty
BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty
BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = {Binary} Key = ""
EndProperty EndProperty End
Begin VB.Timer Timer_waktu Interval = 100
Left = 2640 Top = 720 End
l xxxi BeginProperty Font
Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.TextBox Text2 BeginProperty Font Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.Label Label6 Caption = "Jam"
l xxxii Size = 8.25
Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.Frame Jarak BackColor = &H80000009& Caption = "Jarak"
BeginProperty Font Name = "TechnicLite" Size = 9.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
ForeColor = &H80000008& Height = 1815
Left = 120 TabIndex = 4 Top = 1560 Width = 2295
l xxxiii BackColor = &H8000000A&
BeginProperty Font Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.TextBox txt_frekuensi BackColor = &H8000000A&
BeginProperty Font Name = "MS Sans Serif" Size = 8.25
Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False
l xxxiv Begin VB.Label Label7 Alignment = 2 'Center Caption = "Jarak" BeginProperty Font Name = "TechnicLite" Size = 9.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.Label Label5 Caption = "Frekuensi" BeginProperty Font Name = "TechnicLite" Size = 9.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
l xxxv End
End
Begin VB.Image Image1
BorderStyle = 1 'Fixed Single Height = 3135
Left = 3360 Top = 840 Width = 6975 End
Begin VB.Label Label4 Alignment = 2 'Center BackColor = &H80000009&
Caption = "Perangkat Lunak Sistem Ultrasonic"
BeginProperty Font Name = "TechnicLite" Size = 15.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
l xxxvi BackColor = &H80000009& Caption = "2008"
BeginProperty Font Name = "TechnicLite" Size = 15.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Begin VB.Label Label2 BackColor = &H80000009&
Caption = "Sepuluh Nopember Institute Of Technology"
BeginProperty Font Name = "TechnicLite" Size = 15.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
l xxxvii Width = 7575
End
Begin VB.Label Label1 Alignment = 2 'Center BackColor = &H80000009&
Caption = "Department Of Marine Engineering" BeginProperty Font
Name = "TechnicLite" Size = 15.75
Charset = 2 Weight = 700
Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty
Height = 495 Left = 3480 TabIndex = 0 Top = 6120 Width = 7575 End
l xxxviii