Pages

Rabu, 07 April 2010

Perancangan dan Implementasi Aplikasi Akuisisi Data untuk Pengukuran Curah Hujan

1. PENDAHULUAN

Curah hujan merupakan ketinggian air hujan yang terkumpul dalam tempat yang datar, tidak menguap, tidak meresap, dan tidak mengalir. Manfaat air hujan penting bagi kehidupan namun secara umum belum dapat diamati secara otomatis, sehingga curah hujan tidak dimanfaatkan secara optimal.
Sistem pengukuran curah hujan di lapangan seringkali sulit dilakukan secara manual oleh manusia . Untuk keperluan ini maka dibutuhkan suatu instrumentasi yang reliable untuk jangka waktu cukup lama dengan melakukan pengukuran berulang - ulang secara otomatis dan periodik. kedalam suatu data kolektor.
Pada alat pengukur curah hujan berbasis mikrokontroller dan wireless kontrol, diperlukan suatu program aplikasi untuk penyimpanan dan pengelolaan data curah hujan dalam database. User interface dari aplikasi ini mampu menampilkan data curah hujan yang sudah difilter secara harian, bulanan, atau tahunan dalam bentuk text maupun grafik. Data tersebut diproses dengan menggunakan bahasa pemrograman Visual Basic sehingga dapat diolah, disimpan dalam database SQL Server serta ditampilkan dalam tabel atau grafik curah hujan.
Akuisisi data dapat didefinisikan sebagai suatu sistem yang berfungsi untuk mengambil, mengumpulkan dan menyiapkan data, hingga memprosesnya untuk menghasilkan data yang dikehendaki.
Data yang telah diperoleh dari Visual Basic disimpan kedalam database SQL Server, kemudian data tersebut diolah dan hasilnya ditampilkan dengan menggunakan crystal report berbentuk laporan data curah hujan harian, bulanan atau tahunan. Program aplikasi yang telah dibuat, diharapkan dapat mempermudah pekerjaan pihak/instansi tertentu dalam analisa curah hujan.

2. PEMBAHASAN

2.1 Mikrokontroller
Mikrokontroler mengatur seluruh kerja sistem, membaca perintah yang masuk melalui modul GSM dari remote computers, hingga mengendalikan data yang dikirimkan dari sistem akuisisi data ke komputer jauh.Mikrokontroler dilengkapi dengan memori penyangga untuk keperluan penyimpanan data sementara, memori tersebut menyimpan data hasil akuisisi yang belum sempat dikirimkan ke komputer jauh. Data pada memori dapat diakses secara remote dari remote computer.[4]
2.2 Interfacing Serial (Port RS-232)
Protokol standar yang mengatur komunikasi melalui serial port disebut RS-232 (Recommended Standard-232) yang dikembangkan oleh EIA (Electronic Industries Association). Interfacing RS-232 menggunakan komunikasi asyncronous di mana sinyal clock tidak dikirimkan bersamaan dengan data. Setiap word data disingkronisasikan menggunakan sebuah start bit dan sebuah stop bit. Jadi, sebuah frame data terdiri dari sebuah start bit, diikuti bit-bit data dan diakhiri dengan stop bit. Jumlah bit data yang digunakan dalam komunikasi serial adalah 8 bit. Encoding yang digunakan dalam komunikasi serial adalah NRZ (Non-Return-to-Zero), di mana bit 1 dikirimkan sebagai high value dan bit 0 dikirimkan sebagai low value. [3]


Gb. 2.1 Sebuah frame data

Dalam interfacing RS-232, tegangan negatif merepresentasikan bit 1 dan tegangan positif merepresentasikan bit 0. RS232 Serial port juga merupakan rangkaian converter komunikasi antara mikrokontroller ke PC atau sebaliknya. Mikrokontroller mempunya level TTL low logic 0 – 1.8V dan TTL high logic 2.2V – 5V, sedangkan untuk PC memiliki high logic 5V – 12V dan untuk low logic -5V – (-12V), sehingga diperlukan converter. Komunikasi RS232 berupa komunikasi asinkron dengan baud rate 9600 bps, 8 bit data, parity none dan start bit 1. [3]
2.3 Wireless Communication
Komunikasi wireless menggunakan handphone sebagai pengolah data melalui sms. Data bisa berupa setting parameter ukur ataupun sebagai download data dari memori card ke PC melalui jaringan GSM data looger bisa diambil melalui SMS maupun GPRS. Protokol yang digunakan adalah AT Command, protokol ini harus dikuasai oleh mikrokontroller dan Visual Basic sebagai protokol bersama dalam system wireless communication.
2.4 Komponen software aplikasi penghubung dengan port serial
Tujuan utama interfacing sebuah perangkat dengan komputer adalah agar memungkinkan pengendalian perangkat tersebut melalui komputer dan untuk kebutuhan pertukaran data antara perangkat dengan komputer. Dapat dikatakan bahwa interfacing sebuah perangkat dengan komputer memerlukan hubungan fisis (hardware connection) dan hubungan virtual (software connection) antara komputer dengan perangkat tersebut. Secara fisis komputer telah dihubungkan dengan perangkat, tetapi belum secara virtual. Untuk itu dibutuhkan sebuah komponen software yang dapat berkomunikasi dengan port serial untuk selanjutnya menjadi perantara pengiriman perintah-perintah kepada perangkat yang akan dikendalikan. Terdapat banyak komponen software yang dapat digunakan untuk mengendalikan port serial, tergantung pada platform/operating system apa komponen tersebut akan digunakan. Komponen software VB yang digunakan untuk berkomunikasi dengan serial port adalah Microsoft Communication Control (MsComm Control). Beberapa properti yang dapat diset dari komponen ini adalah sebagai berikut. [3]
• CommPort, yaitu nomor port yang dimiliki oleh Serial Port yang akan dikendalikan
• DTREnable, yaitu properti yang dapat diisi untuk mengeset Data Terminal Ready dari Serial Port tersebut.
• EOFEnable, fungsinya untuk mengaktifkan detektor End of File yang dimiliki komponen ini.
• Handshaking, yaitu metode pertukaran data yang dipakai. Terdapat empat metode Handshaking yaitu: 0 (comNone), 1 (comXOnXoff), 2 (comRTS), 3 (comRTSXOnXoff). Untuk komunikasi antar-software (antarkomputer) cukup dengan menyamakan Handshaking pada masing-masing kontrol MsComm pada kedua komputer tersebut, karena kontrol ini telah dapat secara otomatis mengaktifkan pin-pin tertentu sesuai dengan Handshaking yang dipilih. Namun jika komunikasi dilakukan antara komputer dengan hardware, hardware ini harus dapat melakukan pengaktifan pin-pin yang akan menjalankan metode komunikasi sesuai dengan metode yang digunakan pada komputer.
• InBufferSize, merupakan besar buffer yang disediakan untuk input yang melalui Serial Port.
• InputMode, yaitu seting metode input yang akan diterima oleh kontrol MsComm. Terdapat dua metode yaitu Input Mode Text dan Input Mode Binary. Dengan metoda pertama data yang diterima oleh kontrol berupa string teks normal (A, B, C, D....dst), sedangkan dengan metoda kedua data yang diterima adalah berupa binary (memungkinkan pengiriman file, dalam segala format). Jika data yang dikirim berupa teks maka data tersebut harus disimpan dalam bentuk file, selanjutnya dibuka kembali sebagai teks.
• NullDiscard, bernilai boolean (“True” atau “False”). Jika nilai ini diset “True” maka data yang nilainya Null akan dibuang.
• OutBufferSize, merupakan ukuran buffer data keluar.
• RThreshold, bernilai integer (bilangan bulat), berfungsi untuk mengaktifkan OnComm event (even terjadi pada kontrol MsComm jika terjadi perubahan ukuran buffer data). RThreshold untuk mendeteksi perubahan buffer pada data masuk (receive).
• SThreshold, seperti RThreshold hanya fungsinya untuk mengaktifkan OnComm event data yang keluar dari komputer.
• Settings, properti untuk mengeset bit rate, parity, data bits dan stop bit. Format setingnya adalah: “bit_rate, parity, data_bits, stop_bit”.
• Input, merupakan properti yang menampung data yang masuk dari luar.
• Output, merupakan properti yang dapat diset sebagai data yang akan dikirimkan keluar.
2.5 Perangkat Lunak Akuisisi Data
Perangkat Akuisisi data ini dirancang berbasis pada sistem mikrokontroler, karena itu memerlukan program yang ditulis dengan menggunakan bahasa rakitan (Assembly Language) khusus untuk menghasilkan program rutin pada system mikrokontroler. Sedangkan program pada komputer kendali dan akuisisi data jarak jauh dibuat dengan menggunakan Visual Basic 6.0 dan Database SQL Server. Spesifikasi program aplikasi untuk user interface adalah sebagai berikut.
 Mampu menampilkan data hujan harian, bulanan, tahunan, dan custom (sesuai keinginan)
 Mampu menampilkan ringkasan peak value harian, bulanan, tahunan.
 Dapat mendownload data secara manual atau otomatis
 Dapat menampilkan data dengan grafik atau tabel
 Dilengkapi dengan alert system
Program aplikasi yang bertanggung jawab atas jalannya sistem mempunyai dua buah komponen yaitu kontrol komunikasi dengan port serial dan kontrol koneksi dengan database.
• Kontrol komunikasi dengan port serial
Kontrol ini digunakan untuk berkomunikasi dengan port serial. Digunakan sebuah software bernama MsComm Control (Microsoft Communication Control). Aplikasi utama akan berkomunikasi dengan alat pengukur curah hujan dengan perantara komponen ini.
• Kontrol koneksi dengan database
Dalam hal ini digunakan sebuah kontrol bernama Ms ADO Data Control (Microsoft Active Data Object Data Control). Kontrol ini digunakan untuk menjalin komunikasi data antara aplikasi utama dengan aplikasi server database yaitu Microsoft SQL Server.
Aplikasi Server Database merupakan aplikasi yang memanage file-file database dan menjadi perantara akses suatu aplikasi terhadap file-file tersebut. Aplikasi Server Database yang digunakan adalah Microsoft SQL Server. Database yang dimiliki oleh sistem dibuat dan diakses melelui aplikasi ini.
2.6 Prosedur komunikasi melalui serial port
Komunikasi antara komputer dengan perangkat dapat terjadi jika prosedur-prosedur komunikasinya dilakukan dengan sempurna. Berikut ini prosedur yang harus dilakukan untuk dapat membangun komunikasi antara komputer dengan perangkat luar melalui interfacing serial port.
• Menentukan nomor port serial yang akan digunakan
MsComm.CommPort = 8 ‘jika digunakan port #8
• Mengisi properti Settings sesuai dengan kemampuan alat
MsComm.Settings = “9600,n,8,1”
• Dari skrip di atas terlihat bahwa bit rate diberi nilai 9600 (Modul GSM pada defaultnya mendukung komunikasi data dengan bit rate 9600), parity none (huruf “n”), data bits 8 dan stop bit = 1.
• Menentukan metode kontrol
• Ada empat metode kontrol pada Serial Port, dalam penelitian ini digunakan comNone, artinya data dikirim dengan cara yang paling sederhana, tidak menggunakan RTS, DTR, ataupun penggunaan karakter-karakter khusus penanda awal akhir data (XOnXoff).
MSComm.Handshaking = comNone
• Mengaktifkan OnComm event pada obyek MsComm
• Untuk mengktifkan even OnComm pada MSComm, nilai RTheshold dan SThreshold harus tidak sama dengan nol. Nilai yang paling sensitif yaitu 1 karena Obyek MSComm akan mengaktifkan event OnComm jika terjadi perubahan dari 0 ke 1 (pada buffer masuk) atau 1 ke 0 (pada buffer keluar).
Me.MSComm.RThreshold = 1
Me.MSComm.SThreshold = 1
• Membuka port agar siap untuk digunakan
MSComm.PortOpen = True
• Menyiapkan event penampungan data
Even ini terjadi pada obyek MSComm jika terjadi perubahan nilai buffer (baik masuk maupun keluar). Penyimpanan data (pemindahan input ke dalam variable adalah sebagai berikut).
Private Sub MSComm_OnComm()
Dim data As String
Select Case Me.MSComm.CommEvent
Case comEvReceive
data = Me.MSComm.Input
'data dari input telah dimasukkan ke ‘dalam variable "data"
End Select
End Sub
• Mengirimkan data dari komputer ke perangkat luar
Untuk dapat mengirimkan data ke perangkat luar melalui Serial Port digunakan perintah sebagai berikut:
MsComm.Output = “data_yang_dikirim”

2.7 Pembuatan User Interface
User interface dari aplikasi yang dibuat terdiri dari form-form yang memudahkan operator menggunakan aplikasi tersebut. Form-form pembentuk user interface pada aplikasi ini terdiri dari:
1. frmSetCon
Form ini berfungsi untuk melakukan koneksi ke database yang telah dibuat sebelumnya. Koneksi ke database hanya dilakukan satu kali saja pada saat pertama kali aplikasi dijalankan. Ilustrasi perancangan frmSetCon adalah sebagai berikut.

Gb. 2.2 Perancangan frmSetCon
2. frmUtama
Form ini menampung obyek-obyek utama yang akan menjalankan fungsi sebagai pengontrol alat pengukur curah hujan dan sekaligus menampilkan grafik curah hujan pada waktu akhir terjadinya hujan. Form utama ini terdiri dari tiga buah SSTab, yang pertama untuk menampilkan grafik, yang kedua untuk menampilkan data dalam bentuk tabel, dan yang ketiga untuk menampilkan command log. Jenis grafik dapat diubah-ubah misalnya grafik batang, garis, atau pie. Grafik dan data tabel dari aplikasi yang telah dibuat juga dapat langsung diubah kedalam file Microsoft Excel dan file dengan format .jpeg khusus untuk grafik. Form ini juga memonitor semua event yang terjadi pada Modul GSM.
Tabel dan grafik dapat ditampilkan secara harian, bulanan, tahunan serta summary untuk curah hujan. Berikut ini ilustrasi perancangan frmUtama

Gb. 2.3 Perancangan frmUtama (SSTab ke-1)


Gb. 2.4 Perancangan frmUtama (SSTab ke-2)


Gb. 2.5 Perancangan frmUtama (SSTab ke-3)

3. frmOption
Form ini fungsinya untuk memungkinkan operator melakukan perubahan seting alat, misalnya mengubah nomor serial port yang digunakan, mengubah nomor kartu GSM pada alat pengukur curah hujan, nomor kartu GSM operator yang digunakan, dll. Ilustrasi perancangan frmOption adalah sebagai berikut.

Gb. 2.6 Perancangan frmOption

4. frmSetDev
Form ini fungsinya untuk memungkinkan operator melakukan perubahan seting alat, misalnya mengubah setting ukuran tipping bucket yang digunakan, mengubah berapa waktu delay, dll. Setting device ini dilakukan secara jarak jauh. Ilustrasi perancangan frmSetDev adalah sebagai berikut.
Gb. 2.7 Perancangan frmSetDev
5. frmSetAlert
Form ini berfungsi untuk melakukan setting alert peringatan bahaya banyaknya curah hujan yang melebihi batas normal dan diperkirakan berpotensi terjadi banjir apabila hujan terjadi dalam waktu yang relatif cukup lama dan intensitasnya tinggi. Ilustrasi perancangan frmSetAlert adalah sebagai berikut.


Gb. 2.8 Perancangan frmSetAlert

6. frmView
Form ini berfungsi untuk menampilkan preview laporan data yang akan dicetak dari crystal report. Form ini dibuat hanya satu buah, selanjutnya di-load berulang-ulang. Berikut ini ilustrasi perancangan frmView.

Gb. 2.9 Perancangan frmView

7. frmSetPrinter
Form ini berfungsi untuk melakukan pemilihan printer yang akan digunakan untuk mencetak laporan data curah hujan. Ilustrasi perancangan frmSetPrinter adalah sebagai berikut.

Gb. 2.10 Perancangan frmSetPrinter

3. PENUTUP

3.1 Kesimpulan
Dari pembahasan yang telah diuraikan, dapat diambil beberapa kesimpulan, diantaranya:
a) Pada alat pengukur curah hujan berbasis mikrokontroller dan wireless kontrol diperlukan
• Modem GSM, adalah perangkat yang mampu menjadi perantara komputer (penyimpan data) dengan jaringan seluler. GSM Gateway dalam penelitian ini berupa Modul GSM yang dilengkapi dengan komponen-komponen pendukungnya sehingga device ini dapat diakses melalui komputer (dalam karya tulis ini melalui interfacing RS232)
• Database yang akan digunakan untuk menyimpan data yang akan diperlukan oleh sistem
• Software aplikasi yang dapat mengakses database yang telah disiapkan sekaligus dapat melakukan komunikasi dengan device yang telah dibuat
b) Kelebihan aplikasi yang dibuat adalah
• Aplikasi ini dapat secara otomatis mendownload data dari memori yang ada pada alat.
• Aplikasi dalam sistem ini dapat memproses pesan dengan cepat (sekitar 2 detik, belum termasuk pengiriman SMS)
c) Keterbatasan aplikasi yang telah dibuat adalah
• Pengiriman SMS menggunakan Modul GSM membutuhkan waktu yang cukup lama (sekitar 8 detik) sampai Modul GSM stand by kembali
d) Dalam alat pengukur curah hujan ini menggunakan modul GSM yang dirancang untuk tujuan khusus (bukan menggunakan modul handphone) sehingga dapat mengurangi kemungkinan kegagalan akses jaringan.
3.2 Saran
Program aplikasi akuisisi data untuk pengukuran curah hujan ini masih perlu dikembangkan lebih lanjut terutama untuk transmisi datanya. Hal ini disebabkan dalam sistem
akuisisi data jarak jauh diperlukan perlengkapan atau sarana pendukung transmisi atau pemindahan data yang baik.

Daftar Pustaka

[1]. Andy Dorman, “The Essential Guide to Wireless Communication Applications”, Prentice Hall Inc., NJ, 2001.
[2]. ATMEL, “8-Bit AVR Microcontroller Application Notes” , ATMEL corporation, Rev. 2536B-AVR-07/03.
[3]. Munawar, Aris. 2006, “Pengembangan Sistem Layanan Informasi dan Sistem Pengingat Jadwal Otomatis Menggunakan Modul GSM ”
[4]. Prawoto, Dano Hari. ”Antarmuka Komputer Serial Inframerah Pada Sistem Akuisisi Data Kanal Jamak untuk Instalasi Nuklir dan Bahan Kimia Mudah Terbakar”

2 komentar:

komara company mengatakan...

pengen bikin yang kayak gini tapi VB nya pusing databasenya

Terampil Sukses mengatakan...

Database bisa dibuat secara sederhana menggunakan VB dengan menerapkan komponen/ referensi tertentu, misalnya ADO data control.

Posting Komentar