• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN. Bab ini akan membahas perancangan hardware dan software Water Level

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN. Bab ini akan membahas perancangan hardware dan software Water Level"

Copied!
42
0
0

Teks penuh

(1)

34

BAB III

PERANCANGAN

Bab ini akan membahas perancangan hardware dan software Water Level Monitoring Berbasis Arduino dan Visual Basic. Arduino akan mengolah data yang didapatkan oleh sensor yang nantinya akan dikirimkan ke komputer melalui port serial dan akan ditampilkan melalui Graphical User Interface (GUI) yang dibangun dengan aplikasi buatan Microsoft, yakni Visual Basic 6.0. Antarmuka grafis yang dibangun nantinya akan dirancang sedemikian rupa sehingga program bisa berinteraksi dengan Arduino, sehingga selain mengambil data dari Arduino, program antarmuka nantinya juga dapat mengolah, sekaligus mengirim data ke Arduino. Pembuatan alat dibagi dalam beberapa kelompok yang masing – masing mempunyai fungsi sendiri – sendiri.

3.1 Persiapan Pembuatan Alat

Tahap pertama dalam suatu perancangan suatu sistem kendali, tentunya adalah menyiapkan segala sesuatu yang dibutuhkan terlebih dahulu. Setelah segala sesuatu yang dibutuhkan tersedia, barulah melangkah ke tahap berikutnya.

(2)

Dan, agar lebih mudah dalam proses pembuatan alat nantinya, perlu disiapkan komponen – komponen beserta alat yang diperlukan, antara lain :

1. Arduino board

2. Modul sensor ultrasonik

3. Komponen – komponen, berupa buzzer, resistor, LED, relay, transistor, pin header (male + female), shrink tube, timah, PCB bolong, pin soket.

4. Alat – alat, berupa solder, obeng, pemotong (cutter), multitester. 5. Komponen pendukung, berupa kabel, box, dan lain – lain.

3.2 Proses Pembuatan Alat

Setelah semua bahan dan peralatan serta alat pendukung tersedia, langkah selanjutnya dalam perancangan dan pembuatan alat sistem monitoring level air adalah pembuatan alat secara hardware dan software.

3.2.1 Prinsip Kerja Sistem

Seperti disebutkan sebelumnya, sistem yang akan dibangun dirancang sedemikian rupa sehingga nantinya program antarmuka dapat berinteraksi antar perangkat penyusunnya. Adapun diagram alir dari prinsip kerja alat yang akan dibangun adalah sebagai berikut :

(3)
(4)

Alat dirancang agar dapat dikendalikan melalui program Graphical User Interface ( antarmuka grafis ), terdiri dari 2 ( dua ) buah pompa yakni pompa input yang digunakan untuk mengisi tangki dan pompa output yang digunakan sebagai pompa distribusi. Pompa input dirancang agar dapat dikendalikan secara otomatis dan manual. Mode otomatis sepenuhnya dikendalikan oleh nilai setelan tinggi permukaan air dalam tangki. Pada saat level minimum, pompa input diset agar pompa input bekerja mengisi tangki sampai level setelan maksimum tercapai. Mode manual dirancang agar pompa dapat dihidup-matikan dari program grafis yang dibangun dengan Visual Basic. Sebagai pengaman agar tidak terjadi tumpahnya air karena penuhnya tangki, dalam mode manual disetel agar pompa input teap akan mati jika level maksimu setelan tercapai.

Pompa output yang digunakan sebagai pompa distribusi dipasang agar aliran air mempunyai tekanan yang cukup kuat, sehingga jarak distribusi air dapat lebih jauh. Kontrol pompa distribusi dirancang hanya dalam mode manual, hal ini dikarenakan keberadaan pompa distribusi merupakan sebuah pilihan, itu artinya pompa distribusi ini dapat dipasang ataupun tidak, disesuaikan dengan kebutuhan pemakaian. Alat yang dibuat disediakan kontrol untuk pompa distribusi yang dipasang dengan sebuah solenoid valve yang bekerja secara bergantian. Pada saat pompa distribusi tidak bekerja, maka solenoid valve akan bekerja sehingga akan membuka pipa output dan langsung mendistribusikan air dalam tangki. Begitupun sebaliknya, pada saat pompa output bekerja, solenoid valve akan OFF sehingga jalur pipa dalam solenoid akan menutup,dan selanjutnya air akan didistribusikan oleh pompa output, dengan begitu, tekanan air pun akan lebih kuat.

(5)

Secara garis besar, sistem yang akan dibangun terdiri dari blok rangkaian berikut di bawah ini :

Gambar 3.2 Diagram Blok Rangkaian Water Level Monitoring System

Berdasarkan gambar diagram blok di atas, maka secara sederhana dapat dijelaskan prinsip kerja sistem yang akan dibangun adalah sebagai berikut :

1. Sensor ultrasonik, merupakan “indera” dari sistem yang akan dibangun. Sensor ultrasonik memperoleh data berupa besaran pulsa listrik, yang nantinya akan diolah oleh Arduino sehingga diperoleh jarak, yakni jarak antara level ketinggian air dan posisi sensor ultrasonik sendiri.

2. Arduino, merupakan komponen utama dari sistem yang akan dibangun. Arduino akan mengolah data pulsa listrik yang diterima dari sensor ultrasonik, mengirimnya ke komputer melalui port serial, dan sebaliknya, mengolah data yang dikirim komputer, serta mengirim hasil pengolahan berupa output digital ke Relay Shield.

3. Komputer, merupakan alat penunjang sistem yang dipakai untuk memberikan gambaran visual dari hasil pengolahan sensor ultrasonik dan Arduino, selain

Sensor Ultrasonik Relay Shield #1 Relay Shield #2 Arduino Board Komputer ( VB 6.0 )

(6)

itu, komputer juga dipakai untuk memberikan perintah / kontrol ke Arduino agar Arduino menghidupkan relay shield.

4. Relay shield, merupakan rangkaian yang digunakan sebagai output kontrol dari Arduino, yang mempunyai komponen utama berupa relay yang nantinya akan digunakan untuk menghidupkan dan mematikan pompa air dan solenoid valve.

3.2.2 Pengawatan / Wiring Hardware

Skema pengawatan hardware, Arduino dengan seluruh komponen secara keseluruhan sebagai berikut :

(7)

Pembuatan Relay Shield

Rangkaian relay shield sangat sederhana dan komponen – komponen penyusunnya sangat mudah didapatkan di pasaran. Setelah komponen diperoleh maka langkah selanjutnya adalah merangkainya sesuai dengan skema relay shield berikut ini :

Gambar 3.4 Skema Rangkaian Relay Shield

3.3 Pembuatan Program Arduino

Sebelum membahas lebih dalam program Arduino secara keseluruhan untuk sistem kendali yang akan dibangun, berikut akan dibahas prinsip dasar dari masing – masing bagian program arduino yang dipakai.

3.3.1 Konsep Dasar Pemrograman Arduino

Pemrograman Arduino menggunakan bahasa pemrograman Arduino yang dibangun berbasis bahasa Wiring dan lingkungan pengembangannya (Arduino Environment Development) dibangun berbasis Processing. Wiring menurut situs reminya di http://www.wiring.org.co/ merupakan kerangka pemrograman yang

(8)

bersifat open source yang digunakan untuk memprogram mikrokontroler. Sedangkan processing menurut situs resminya di http://www.processing.org/, processing merupakan bahasa pemrograman yang bersifat terbuka (open source) dan merupakan lingkungan pengembangan yang ditujukan untuk orang – orang yang ingin membuat gambar, animasi, dan interaksi. Processing pada awalnya dikembangkan sebagai perangkat lunak untuk menghasilkan sketchbook dan digunakan untuk mengajarkan dasar – dasar pemrograman komputer dalam konteks visual.

Setiap programmer komputer pada awal belajarnya akan memulai belajar pemrograman dengan menampilkan kalimat “Hello World!” di layar monitor. “Hello World!” dalam lingkungan komputasi fisik yakni berupa LED (Light Emitting Diode = Dioda emisi cahaya) yang berkedip, nyala dalam waktu tertentu kemudian padam beberapa saat kemudian dan nyala lagi untuk beberapa saat, begitu seterusnya.

LED merupakan indikator berupa lampu kecil yang membutuhkan daya yang relatif kecil untuk bekerja. Dan, di papan Arduino sudah built in LED yang terhubung ke pin digital 13. Untuk menyalakan LED secara berkedip, diperlukan kode yang cukup sederhana. Hal pertama yang harus dituliskan dalam kodenya adalah menentukan variabel yang mendefinisikan pin Arduino mana yang terhubung dengan LED. Uniknya, dalam bahasa pemrograman Arduino, variabel ini nantinya akan memakai nomor pin-nya saja, sehingga kita dapat dengan mudah mengubah nomor pin sesuai keinginan jika sewaktu – waktu diperlukan. Sebagai contoh, dalam kode untuk LED berkedip ini memakai variabel integer (dalam Arduino disebut int ).

(9)

Hal kedua yang perlu dilakukan adalah mengkonfigurasi pin yang terhubung ke LED sebagai output. Konfigurasi pin Arduino sebagai output dapat dilakukan dengan memaki fungsi pinMode ( ) yang diletakkan dalam fungsi setup ( ).

Akhirnya, untuk menghidupkan dan mematikan LED, kita dapat memakai fungsi digitalWrite ( ). Untuk menghidupkan digunakan logika HIGH, dan untuk mematikan LED digunakan logika LOW. Karena keterbatasan kemampuan mata manusia, maka apabila kita hanya memakai fungsi digitalWrite dengan logika HIGH dan LOW saja, maka kita tidak dapat melihat perubahan yang terjadi pada LED, karena nyala dan padamnya LED terlalu cepat. Untuk menyiasati masalah tersebut, kita harus menambahkan fungsi delay ( ) untuk memperlambat nyala dan padamnya LED. Fungsi delay ( ) dalam bahasa pemrograman Arduino menggunakan satuan milidetik, sehingga misalnya kita menginginkan tundaan waktu 1 (satu) detik, maka kita harus menggunakan delay sebesar 1000.

1. int led = 13;

1. void setup ( ) 2. {

3. pinMode (led, OUTPUT ); 4. }

(10)

Kode keseluruhan untuk menyalakan dan memadamkan LED adalah sebagai berikut : 1. void loop( ) { 2. digitalWrite(led, HIGH); 3. delay(1000); 4. digitalWrite(led, LOW); 5. delay (1000); 6. } 1. /* LED Berkedip

2. Menyalakan LED selama sedetik, kemudian memadamkan 3. selama sedetik

4. */ 5.

6. // Pin 13 terhubung dengan LED di hampir semua Arduino. 7. int led = 13; // nama variabel LED

8.

9. // bagian setup, jalan sekali ketika tombol reset ditekan: 10.

11. void setup ( ) {

12. pinMode (led, OUTPUT); // set pin digital sebagai output. 13. }

(11)

Keterangan kode program :

- Keterangan program dapat dijadikan komentar dengan cara menambahkan tanda “ /* “ dan diakhiri tanda “ */ “ jika yang ingin dijadikan komentar lebih dari satu baris, sebagai contoh dari program di atas adalah baris ke-1 sampai baris ke-4. Selain itu, komentar dapat diperoleh dengan cara menambahkan tanda “ // ” jika hanya 1 (satu) baris yang akan dijadikan komentar. Sebagai contoh yakni baris ke-5, ke-8, dst. Komentar tidak akan dieksekusi oleh program Arduino, karena dianggap bukan kode program. - Kode LED berkedip ini merupakan kode dasar yang nantinya dapat

dipakai untuk menghidupkan relay shield yang akan digunakan dalam sistem kendali yang akan dibangun.

3.3.2 Konsep Komunikasi Serial Arduino

Seperti disinggung di Bab II, komunikasi serial yang dipakai untuk komunikasi Arduino ke komputer dan sebaliknya, dilakukan oleh kombinasi pin RX dan TX di masing – masing bagian, yakni di Arduino dan komputer itu

14. // fungsi yang akan terus diulang: 15. void loop ( ) {

16. digitalWrite (led, HIGH); // menyalakan LED 17. delay(1000); // tunda 1 detik 18. digitalWrite (led, LOW); // memadamkan LED 19. delay(1000); // tunda 1 detik 20. }

(12)

sendiri. Karena tuntutan kemajuan zaman, dimana port serial standar yang berbasis RS 232 makin jarang ditemui di komputer yang beredar di pasaran, Arduino memakai port USB (Universal Serial Bus). Walaupun demikian sebenarnya komunikasi serial masih berlangsung, hanya saja dalam komunikasi serial tersebut melalui sebuah rangkaian terintegrasi yang berfungsi mengkonversi data RX dan TX mikrokontrol Arduino ke mode USB.

0 – 5 V (-15) – (+15) V

TTL RS 232

Rangkaian Konverter

Gambar 3.5 Diagram Komunikasi Serial Arduino – komputer

Rangkaian konverter serial yang dipakai menggunakan komponen utama berupa IC ATMega8U (Arduino Uno R2) atau ATMega16U2 (Arduino Uno R3).

Arduino TX RX

Komputer TX RX

(13)

Gambar 3.6 Chip ATMega16U2 sebagai konverter RS-232

Sebelum membahas lebih dalam mengenai konsep pemrograman komunikasi serial, akan lebih baik jika kita mempelajari konsep pemrograman pengkondisian terlebih dahulu. Dan, hanya konsep pemrograman pengkondisian yang dipakai saja yang akan dibahas, yakni if dan if – else.

if

Konsep pemrograman pengkondisian if yang biasanya diikuti dengan tanda / operator perbandingan, yang terdiri dari :

Tabel 3.1 Tanda operator Perbandingan dan Contoh Pemakaiannya

Tanda Misal Keterangan

== X == Y X sama dengan Y != X != Y X tidak sama dengan Y

(14)

NB : Di dalam bahasa pemrograman Arduino, tanda operator sama dengan tunggal ( “ = “ ) dan tanda sama dengan ganda ( “ == “ ) mempunyai arti berbeda, jika hanya menggunakan tanda “ = “ maka mempunyai arti bahwa tanda tersebut menyatakan nilai sebuah variabel, misal “ x = 10 ”, maka ini berarti mengeset nilai dari variabel “ x “ sebesar “ 10 “. Dengan kata lain, menetapkan nilai “ x “ sebesar “ 10 “, dan biasanya ini diletakkan di awal program atau di bagian deklarasi. Sedangkan tanda sama dengan ganda (“ == “) merupakan tanda dari sebuah perbandingan, artinya tanda ini akan mengecek apakah suatu variabel mempunyai nilai yang sama atau tidak dengan variabel yang dibandingkan.

Setelah mengerti dan memahami pemakaian operator perbandingan, maka dapat kita ketahui cara pemakaiannya dalam struktur pemrograman bahasa Arduino, sebagai contoh :

> X > Y X lebih besar daripada Y

<= X <= Y X lebih kecil atau sama dengan Y >= X >= Y X lebih besar atau sama dengan Y

1. if (suatu_variabel > 50) { 2. // lakukan sesuatu di sini 3. }

(15)

if – else

Konsep pemrograman pengkondisian if – else mempunyai karakteristik yang mirip dengan konsep pemrograman if, yang membedakan adalah pada pemakaian logika if – else ini memungkinkan kontrol yang lebih besar, lebih banyak kemungkinan yang akan dilakukan, dibanding jika hanya menggunakan logika if. Hal ini dimungkinkan karena dalam pemakaian logika if – else dapat dilakukan beberapa tes yang dikelompokkan secara bersamaan. Sebagai contoh, nilai suatu pengukuran dapat dites dan satu tindakan dilakukan jika bernilai 20, tindakan lain akan dilaksanakan jika hasil pengukuran bernilai 30 atau lebih besar.

Setelah memahami konsep dasar pemrograman pengkondisian if dan if – else, maka kita dapat melanjutkan ke konsep pemrograman komunikasi serial, karena dalam pemrograman serial ini juga menggunakan logika pengkondisian if dan if – else.

else dapat memproses logika if yang lain, sehingga logika pengkondisiannya lebih dari satu, dan biasanya pengetesan logika pengkondisian

1. if (Input < 500) { 2. // aksi A 3. } 4. else 5. { 6. // aksi B 7. }

(16)

dapat dilakukan secara bersamaan. Prinsip dasar dari logika pengkondisian if – else ini adalah pada setiap pengecekan kondisi, tiap kondisi akan dicek apakah sudah sesuai dengan kondisi yang diinginkan atau belum, jika belum maka akan melanjutkan pengecekan kondisi berikutnya sampai kondisi yang diinginkan ditemukan. Jika sudah ditemukan kondisi yang diinginkan, maka program akan melaksanakan kode program dalam blok kode terkait. Jika pengecekan kondisi yang diinginkan tidak ditemukan, maka program akan melaksanakan program default, program standar selain program yang terdapat pada baris kode if.

Logika pengkondisian else – if dapat menjalankan logika pengkodisian dengan jumlah tak terbatas. Dan, perlu diingat, pemakaian logika pengkondisian else – if dapat diakhiri dengan else, namun dapat juga tanpa diakhiri dengan else.

1. if (Input < 500) { 2. // laksanakan A 3. } 4. else if (Input >= 1000) { 5. // laksanakan B 6. } 7. else 8. { 9. // laksanakan C 10. }

(17)

Selanjutnya, logika pengkondisian if dapat dikembangkan dalam konsep pemrograman komunikasi serial di Arduino. Namun, seperti dalam contoh program LED berkedip, dalam deklarasinya harus ditambahkan suatu deklarasi yang berhubungan dengan komunikasi serial, yakni inisialiasi serial. Berikut kode program inisialisasi serial yang dimaksud :

Selanjutnya, dalam konsep pemrograman serial terdapat beberapa macam kode instruksi. Namun, tentunya yang akan dibahas lebih dalam hanya yang akan dipakai saja terkecuali begin ( ), karena sudah ditulis sebelumnya. Berikut kode instruksi serial program Arduino yang dipakai :

print ( )

konsep pemrograman serial jenis ini difungsikan untuk mengirim data ke port serial komputer dari Arduino dan dikirim sebagai text ASCII yang bisa dibaca manusia. Bentuk dari command ini dapat berbentuk dalam berbagai format. Nomr dikirim menggunakan karakter ASCII untuk setiap digit, float dikirim sebagai digit ASCII yang mirip, dengan acuan standar sebanyak 2 (dua) tempat desimal, byte dikirm sebagai karakter tunggal, dan, karakter dan string dikirim seperti aslinya. Contoh :

- Serial.print(78) menghasilkan "78"

- Serial.print(1.23456) menghasilkan "1.23" - Serial.print('N') menghasilkan "N"

- Serial.print("Hello world.") menghasilkan "Hello world." 1. Serial.begin (9600);

(18)

Sebagai pilihan, penulisan parameter kedua dalam kode program ini dengan penulisan basis bilangan yang dipakai. Dan, nilai yang diperbolehkan adalah BIN (untuk bilangan biner, atau basis 2), OCT (bilangan oktal, basis 8), DEC (desimal, basis 10), HEX (hexadesimal, basis 16). Untuk bilangan pecahan, penulisan parameter kedua menunjukkan jumlah bilangan pecahan yang akan ditampilkan. Contoh :

- Serial.print(78, BIN) menghasilkan "1001110" - Serial.print(78, OCT) menghasilkan "116" - Serial.print(78, DEC) menghasilkan "78" - Serial.print(78, HEX) menghasilkan "4E" - Serial.println(1.23456, 0) menghasilkan "1" - Serial.println(1.23456, 2) menghasilkan "1.23" - Serial.println(1.23456, 4) menghasilkan "1.2346"

available ( )

Digunakan untuk mendapatkan byte maupun karakter yang tersedia dari serial port yang sebelumnya sudah diterima dan disimpan oleh buffer penerima (berukuran 64 byte), sintaksnya :

read ( )

Seperti namanya, fungsi dari kode program ini adalah untuk membaca data serial yang masuk ke port serial. Mempunyai sintaks sebagai berikut :

1. Serial.available ( )

(19)

Itulah beberapa kode pemrograman serial yang akan dipakai, jadi secara keseluruhan, kode program bagian serial ini adalah kurang lebih seperti berikut ini:

1. void setup ( ) {

2. Serial.begin (9600); // inisialisasi program serial 3. }

4. Void loop ( ) {

5. if (Serial.available ( ) > 0) { // jika ada data serial

6. int data = Serial.read ( ) ; // data = pembacaan data serial 7. }

8. if (data == ‘1’) { // jika data = 1 9. digitalWrite (led, HIGH) ; // menyalakan LED 10. Serial.print ( “ LED ON “);

11. }

12. if (data == ‘0’) { // jika data = 0

13. digitalWrite ( led, LOW ) ; // memadamkan LED

14. Serial.print ( “ LED OFF “); // kirim “ LED OFF “ ke serial 15. }

(20)

3.3.3 Program Arduino untuk Sensor Ultrasonik

Seperti telah disebutkan sebelumnya, jenis sesor ultrasonik yang dipakai adalah yang berjenis HC-SR04. Dalam IDE Arduino standar, contoh library untuk sensor ini belum ada, untuk itu kita mengunduh library yang dibuat oleh Tim Eckel di alamat http://code.google.com/p/arduino-new-ping/. Library ini pada mulanya dibuat didasarkan pada ketidak puasan Tim Eckel pada performa sensor ultrasonik yang dipakainya. Dan, setelah dipelajari ternyata disebabkan oleh library yang digunakan, bukan karena sensornya. Kelebihan library yang sudah mencapai versi 1.5 ini selain bisa digunakan untuk sensor ultrasonik HC-SR04, juga dapat dipakai untuk tipe sensor ultrasonik SRF05, SRF06,DYP-ME007 dan Parallax PING)))™.

Hal pertama yang harus dilakukan setelah proses pengunduhan library selesai, kemudian ekstrak berkas yang telah diunduh, kemudian pindahkan folder hasil ekstrakan ke dalam folder libraries yang ada di dalam folder aplikasi IDE Arduino kita. Selanjutnya, ketika kita membuka aplikasi IDE Arduino, di bagian

File > Examples, maka akan muncul contoh sketch bernama NewPing.

Selanjutnya kita dapat memakai library tersebut untuk alat yang akan kita buat. Kita dapat menyesuaikan pin Arduino yang dipakai, berikut skema pengawatan HC-SR04 dan Arduino :

(21)

Gambar 3.7 Skema Pengawatan Arduino dan HC-SR04

Dan, berikut library HC-SR04 buatan Tim Eckel yang akan penulis gunakan :

1. //--- 2. // Contoh library NewPing

3. //--- 4.

5. #include <NewPing.h>

6. #define TRIGGER_PIN 12 // pin Arduino untuk trigger 7. #define ECHO_PIN 11 // pin Arduino echo

8. #define MAX_DISTANCE 200 // jarak maks (cm)

(22)

3.4 Pembuatan Program dengan Visual Basic 6.0

Visual Basic merupakakan bahasa pemrograman yang dibuat oleh Microsoft, merupakan perangkat lunak untuk menyusun program aplikasi yang bekerja dalam lingkungan Windows. Visual Basic menawarkan kepada penggunanya kemudahan dalam menyusun program aplikasi dengan tampilan grafis yang menawan dala waktu yang relatif singkat. Sehingga diharapkan dengan adanya program Visual Basic ini pengguna Windows dapat memanfaatkan kemampuan Windows secara optimal.

10. void setup( ) { 11. Serial.begin(115200); 12. } 13. 14. void loop( ) { 15. delay (50) ; 16. int cm = sonar.ping_cm(); 17. Serial.print("Ping: "); 18. Serial.print(cm); 19. Serial.println("cm"); 20. }

(23)

3.4.1 Komponen dan Bahasa Pemrograman yang Dipakai

Pemakaian komponen atau obyek dalam perancangan dan pembuatan aplikasi berbasis bahasa pemrograman apapun adalah mutlak, tak terkecuali bahasa pemrograman Visual Basic. Obyek dalam Visual Basic digunakan sebagai elemen antarmuka dalam program yang akan dibuat. Prinsip sederhana dari pemakaian obyek ini adalah kita harus memindah, mengubah ukuran, mengatur tata letak atau setting property-nya.

Berikut contoh – contoh obyek dalam Visual Basic beserta fungsinya secara singkat :

1. TextBox (tempat input/menampilkan teks, bebas diubah) 2. Label (teks pada form; tidak dapat langsung di ubah)

3. Command Button (menjalankan perintah/proses jika di tekan) 4. Frame (pengelompokan kontrol-kontrol secara visual/fungsional) 5. CheckBox (menampilkan kondisi Y/N atau T/F)

6. Form (tempat kerja program aplikasi)

7. ComboBox (kombinasi textbox & listbox, pilih dari list atau ketik) 8. ListBox (multiselect)

9. PictureBox (menampilkan gambar)

10. Image (menampilkan gambar, tapi tidak bisa sebagai kontainer kontrol) 11. Option Button (mirip dengan checkbox, tapi hanya satu pilihan yg dapat di

pilih)

12. HS/VS ScrollBar (scrollbar Horizontal dan Vertikal) 13. Line (membentuk garis)

(24)

14. Data (data binding)

15. OLE – Object Lingking and Embedding (lokasi program eksternal, ex : word ms, dll.)

16. Project (sekumpulan modul aplikasi itu sendiri) 17. Module (modul fungsi-fungsi kontrol)

18. Code Editor (tempat sintaks/coding) 19. Pointer (untuk memilih kontrol)

Pada pemrograman Visual BASIC, form digunakan sebagai komponen utama untuk mendesain tampilan program. Secara umum sebuah komponen/objek dalam Visual BASIC memiliki 3 karakteristik utama yaitu:

Properti Event Metode

1. Properti, adalah karakteristik yang melekat pada sebuah obyek yang menunjukkan ciri / karakteristik suatu obyek. Misalnya BackColor menunjukkan warna latar belakang, Font menunjukkan jenis dan ukuran font yang digunakan, dan sebagainya. Pengaturan property suatu objek dapat diatur dengan 2 cara. Cara pertama adalah dengan mengatur komponen melalui Property Window, dan cara kedua adalah dengan memberi baris program pada Code Window.

Contoh :

Untuk mengatur judul/caption form1 menjadi “Program Pertama” dapat dilakukan dengan memberi kode program:

(25)

Seperti pada gambar berikut :

Gambar 3.8 Mengubah Judul Form dengan Pengaturan Porperty

Gambar 3.9 Mengubah Judul Form dengan Kode (Perubahan dilihat pada Kondisi Run)

(26)

2. Event, peristiwa atau kejadian yang diterima oleh suatu objek, misalnya klik, seret, tunjuk dan lain-lain. Event yang diterima objek akan memicu MS-Visual Basic menjalankan kode program yang ada di dalamnya. Misalnya kejadian ketika command1 diklik (event Command1_Click), kejadian ketika form loading pertama kali (event Form_Load), dan sebagainya.

Contoh :

Keterangan : Program akan mengubah caption dari form1 menjadi WATER LEVEL ketika form pertama kali ditampilkan (Form_Load).

3. Metode (Method), adalah prosedur yang dikerjakan pada satu objek. Metode merupakan suatu tindakan di mana objek dapat di bentuk.

Contoh :

Keterangan : Perintah ini digunakan untuk membersihkan form.

Berikut beberapa komponen yang akan dipakai dalam program : Menampilkan Tanggal dan Jam

Memanggil fungsi tanggal dan jam dalam bahasa pemrograman Visual Basic 6.0 sangatlah mudah. Untuk menampilkan tanggal dan jam dalam Visual

1. Private Sub Form_Load()

2. Form1.Caption = ”WATER LEVEL” 3. End Sub

(27)

Basic 6.0 dalam 2 (dua) buah label, kita memerlukan tambahan komponen berupa Timer. Berikut adalah sintaks programnya :

Gambar 3.10 Komponen untuk Menampilkan Tanggal dan Jam – Setelah di Run

1. Private Sub Form_Load() 2. Timer1.Interval = 500

3. Timer1.Enabled = True End Sub 4.

5. Private Sub Timer1_Timer( )

6. Label1.Caption = Format(Date, "dd mmmm yyyy") 7. Label2.Caption = Format(Time, "hh:mm:ss") 8. End Sub

(28)

Menampilkan Port yang Tersedia di Komputer

Pemilihan port komputer yang tepat adalah mutlak untuk mendapatkan data yang dikirim Arduino dan kemudian diambil datanya, diolah, kemudian ditampilkan ke dalam program yang akan dibuat nantinya. Komponen MSCOMM yang diambil dari Component diperlukan sebagai komponen port serial, dan untuk menampilkan ke dalam sebuah CmboBox, berikut sintaks program dan gambarnya :

Gambar 3.11 Komponen untuk Menampilkan Port yang Tersedia di Komputer

1. Private Sub Form_Load() 2. On Error Resume Next 3. 4. Dim I As Integer 5. 6. For I = 1 To 100 7. MSComm1.CommPort = I 8. MSComm1.PortOpen = True

(29)

Selanjutnya, agar terjadi komunikasi antara Arduino dan komputer, perlu ditambahkan beberapa baris kode berikut yang berfungsi untuk membuka port yang telah dipilih, yang tentunya port yang sesuai dengan port Arduino, menyetel baudrate, Parity, databit dan stopbit-nya, mengaktifkan onCom event, dan sebagainya.

1. With MSComm1

2. If .PortOpen Then .PortOpen = False

3. .CommPort = Val(Mid(Combo1.Text, 4, 2)) 4. .Settings = "9600,N,8,1" 5. .DTREnable = True 6. .RTSEnable = True 7. .RThreshold = 2 8. .SThreshold = 0 9. .PortOpen = True 10. End With 11. End Sub 9. If MSComm1.PortOpen Then

9. Combo1.AddItem "COM " & I 10. MSComm1.PortOpen = False 11. Else

12. End If 13. Next

(30)

Setelah komunikasi antara Arduino dan komputer terlaksana, agar data dari Arduino dapat ditampilkan ke dalam program yang kita buat, perlu ditambahkan baris kode berikut :

1. Private Sub MSComm1_OnComm() 2.

3. Dim strInput, strHsl() As String 4. Dim strFilter() As String

5. Dim I As Integer

6. Dim hsl, temp, angka As String 7. Dim jarak As Integer

8.

9. With MSComm1

10. Select Case .CommEvent 11. Case comEvReceive 12. strInput = .Input

13. temp = temp + strInput 14. End Select

15. Text1.Text = Text1.Text & temp 16. Text1.SelStart = Len(Text1.Text) 17. strHsl = Split((Text1.Text), vbCrLf) 18. For I = 0 To UBound(strHsl)

(31)

19. hsl = strHsl(I) 20. Next

21.

22. strFilter = Filter(strHsl, "cm", True, vbTextCompare) 23. For I = 0 To UBound(strFilter) 24. jarak = Val(Mid(strFilter(I), 9, 3)) 25. Next 26. nilai.Caption = 100 - ((jarak / 100) * 100) 27. ProgressBar1.Value = nilai.Caption 28. End With 29. End If 30. End Sub

(32)

Kode program di atas diperlukan untuk mendapatkan data yang dikirim oleh Arduino. Data yang telah diperoleh akan diolah dengan sintaks bahasa Visual Basic di atas, yang akan memanipulasi data yang diterima. Data yang dikirim Arduino yang berupa string perlu dimanipulasi agar bisa diambil data yang diperlukan. Berikut sintaks manipulasi data string yang dipakai :

Tabel 3.2 Fungsi – Fungsi Manipulasi String

Nama Fungsi Keterangan Contoh Penggunaan

Len Menentukan panjang sebuah string Len (“Pipit”) Menghasilkan 5 Mid Menghasilkan karakter yang dihitung

dari tengah-tengah string dimulai dari titik awal tertentu

Mid (“abcdefg”, 3, 3) Menghasilkan “cde”

Val Menghasilkan angka numerik yang terkandung dalam string

Val (12.34abcde) Menghasilkan 12,34

Berikutnya, setelah semua komponen bahasa pemrograman Visual Basic 6 dipilah dan diperoleh yang sekiranya diperlukan, tahap berikutnya adalah perancangan GUI (Graphical User Inteface = Antarmuka Grafis). Program yang akan dibangun didesain seperti gambar di bawah. GUI yang dibangun menggunakan komponen Timer, MSComm, TextBox, CommandButton, Image, Frame, Label, ProgressBar.

(33)

Gambar 3.12 Rancangan GUI

3.4.2 Membuat File EXE

Visual Basic menyediakan fitur pembuatan berkas bertipe .EXE. berkas bertipe EXE ini akan mempermudah kita dalam mengakses program yang telah kita buat sehingga kita tidak perlu lagi membuka program Visual Basic terlebih dahulu. Caranya pun sangat mudah, hanya beberapa klik, tunggu hingga kompilasi selesai, dan jadilah berkas EXE-nya.

(34)

Gambar 3.13 Menu untuk Membuat Berkas EXE

Gambar 3.14 Ikon Program EXE yang Dihasilkan 3.4.3 Membuat Berkas Instalasi Program

Program EXE yang baru saja dibuat dapat berjalan mulus di komputer kita yang sudah terpasang program Visual Basic, akan tetapi belum tentu dapat berjalan dengan baik di komputer lain. Sebuah program EXE akan memerlukan file – file pendukung yang digunka oleh program tersebut, misalnya file – file control ActiveX atau file – file DLL (Dynamic Link Library).

(35)

Visual Basic telah menyediakan fasilitas pembuatan file setup program sehingga program dapat diinstal di komputer lain. Langkah – langkahnya adalah sebagai berikut :

1. Klik ikon Start, pilih All Programs, kemudian pilih Microsoft Visual Studio 6.0, lalu pilih Package and Deployment Wizard, akan tampil seperti gambar berikut :

Gambar 3.15 Package and Deployment Wizard

2. Tentukan nama program yang akan dibuat file setup-nya dengan terlebih

dahulu mengeklik tombol Browse untuk menentukan letak lokasi program yang akan dibuatkan file setup-nya. Setelah itu pilih tombol Package, dan akan tampil seperti gambar berikut :

(36)

Gambar 3.16 Proses setelah Browse dan Package ditekan

(37)

3. Klik Next saja, kemudian akan muncul gambar berikut :

Gambar 3.18 Folder Tujuan Hasil Pembuatan File Setup

4. Klik tombol Next, akan muncul peringatan, klik Yes dan Next saja, sehingga akan muncul gambar berikut :

(38)

5. Klik Next, akan muncul seperti gambar yang memerintakan kita untuk memilih ukuran file cab. Penentuan ukuran file Cab ini berguna nantinya jika kita ingin mendistribusikan program yang telah kita buat, Single cab bisa dipilih jika nantinya kita ingin mendistribusikan program yang telah kita buat melalui media dengan ukuran yang besar seperti CD-ROM. Jika nantinya kita ingin mendistribusikan program yang dibuat dengan media dengan ukuran kecil, misalnya Floppy disk, kita harus memilih Multiple cab. Tampilannya akan seperti gambar berikut :

Gambar 3.20 Kotak Dialog Penentuan File cab

6. Klik tombol Next, akan muncul kotak dialog yang berisi nama program yang bisa kita rubah untuk nama instalasinya.

(39)

Gambar 3.21 Kotak Dialog Penentuan Judul Instalasi 7. Klik Next, akan muncul seperti gambar berikut :

(40)

8. Tampilan selanjutnya adalah lokasi program disimpan di media penympanan pada komputer baru. Klik lagi tombol Next, akan muncul tampilan kotak dialog pilihan Shared Files :

Gambar 3.23 Kotak Dialog Lokasi Hasil Setup

9. Berikutnya, kita perlu mengeklik Next lagi, hingga muncul kotak dialog pilihan shared files seperti gambar berikut ini :

(41)

Gambar 3.24 Kotak Dialog Pilihan Shared Files

10. Kita harus memberi tanda cek jika kita ingin file hasil setup dapat dipakai bersama – sama oleh beberapa user, kemudian klik Next lagi.

(42)

11. Klik tombol Finish, maka program akan membuat file setup. Tunggu sampai proses selesai, setelah itu akan tampil report. Klik tombol Save Report untuk menyimpan catatan atau Close untuk menutup Report tanpa menyimpannya.

Gambar 3.26 Tampilan Report

Pada tahap ini, proses pembuatan file setup telah selesai. Kita dapat menyalin file – file hasil setup ini ke media lain, misal USB Flash Disk atau CD-ROM untuk diinstal ke komputer lain.

Gambar

Gambar 3.1 Diagram Alir Prinsip Kerja Alat
Gambar 3.2 Diagram Blok Rangkaian Water Level Monitoring System
Gambar 3.3 Skema Pengawatan Hardware
Gambar 3.4 Skema Rangkaian Relay Shield
+7

Referensi

Dokumen terkait

Soil surface roughness, bulk density (BD), total porosity, crust strength, saturated hydraulic conductivity, steady infiltration rates and soil water storage

Peraturan Pemerintah Republik Indonesia Nomor 31 Tahun 2007 tentang Perubahan Keempat atas Peraturan Pemerintah Nomor 12 Tahun 2001 tentang Impor dan atau Penyerahan Barang Kena

Dalam penelitian kali ini peneliti mengunkan 2 metoda yang berbeda didalam dua kelas, kelas eksperimen menggunakan model pembelajaran CUPs, dengan tahapan pertama

Berbagai aktivitas yang telah dilakukan KIM terse- but sesuai dengan amanat WSIS bahwa kemampuan semua orang untuk mengakses dan menyumbangkan informasi, gagasan, dan

Agar keju tidak terkontaminasi dengan jamur atau bakteri maka simpan di dalam laci atau di dalam kulkas (namun sebelumnya pastikan bahwa keju sudah terbungkus dengan rapi)

Tinta cetak di sesuaikan dengan teknik cetak yang akan di gunakan,jadi tidak ada antara teknik cetak yang satu dengan teknik cetak yang lainnya menggunakan satu jenis tinta

Setiap peserta JAMKESDA mempunyai hak mendapatkan pelayanan kesehatan dasar meliputi pelayanan rujukan rawat jalan tingkat lanjutan (RJTL), rawat inap tingkat lanjutan (RITL)

Selanjutnya data tentang kuat tekan rencana, data butir nominal agregat yang digunakan, data slump, (jika diinginkan dengan nilai tertentu), berat jenis agregat, serta