• Tidak ada hasil yang ditemukan

BAB IV: HASIL DAN PEMBAHASAN

4.5. Program PC

4.5.1. Program PC pada Alat pemantau Ketinggian BBM

4.5.1.1. Menu Utama

Form Main akan muncul ketika pertama kali program dijalankan. Form ini merupakan menu utama yang terdiri dari jumlah inbox yang masuk, nomor pengirim, isi SMS, kesalahan yang terjadi (kesalahan nomor/format SMS), dan keterangan serta indikator ketinggian BBM. Tampilan form Main dapat dilihat pada Gambar 4.10.

Saat tombol Start ditekan, jika ada SMS masuk, maka textbox INBOX akan bernilai sesuai dengan jumlah SMS yang ada pada ponsel. Karena ada SMS masuk, nomor pengirim ditampilkan pada textbox SENDER dan isi SMS akan ditampilkan pada textbox TEXT pada menu utama. Jika nomor pengirim atau isi SMS tidak sesuai database, maka akan muncul keterangan ACCESS DENIED di sebelah kanan textbox SENDER dan textbox TEXT. Keterangan mengenai kesalahan nomor atau kesalahan format akan ditampilkan pada textbox ERROR. Selanjutnya keterangan kesalahan format/nomor pada textbox ERROR akan dikirimkan ke user seperti tampak pada Gambar 4.7.b dan 4.7.c. Tampilan Form Main pada saat ada kesalahan nomor akan seperti pada Gambar 4.11.

Gambar 4.10 Form Menu Utama

Tampilan Form Main pada saat ada kesalahan format, ditunjukkan pada Gambar 4.12. Jika nomor pengirim dan format SMS sesuai dengan database, alat akan menjalankan program pembacaan ketinggian BBM. Setelah menjalankan program pembacaan ketinggian BBM, informasi ketinggian BBM akan muncul di pada textbox FUEL. Kemudian isi dari textbox FUEL tersebut dikirimkan kepada user melalui SMS.

Gambar 4.13 menunjukkan tampilan form Main saat nomor dan format SMS sesuai dengan database.

Gambar 4.11. Tampilan Form Main Saat Nomor Tidak Terdaftar

Gambar 4.13. Tampilan Form Main Saat Nomor Terdaftar dan Format benar

Ketika nomor dan format SMS sudah sesuai dengan database, maka PC mengirim perintah yang diwakili oleh variabel “a” ke mikrokontroler. Proses pengiriman perintah dilakukan melalui kabel serial yang dihubungkan pada COM 2 PC. Port serial dibuka terlebih dahulu sebelum dilakukan proses pengiriman variabel agar data dapat diterima mikrokontroler. Proses membuka port serial dilakukan dengan syntax seperti tampak pada Gambar 4.14

Private Sub Bukaport() MSComm1.CommPort = 2 MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 1 MSComm1.DTREnable = True MSComm1.RTSEnable = True MSComm1.RThreshold = 1 MSComm1.PortOpen = True End Sub

Gambar 4.14 Subrutin Buka Port Serial

Pengaturan MSComm1.Settings ditentukan dengan baudrate 9600 bps, No Parity, 8 bit per 1 karakter, dan stop bit dalam 1 karakter. Setelah variabel terkirim ke mikrokontroler dan diproses untuk membaca ketinggian BBM, program menunggu

feedback dari mikrokontroler berupa variabel yang merepresentasikan ketinggian BBM. Variabel tersebut akan diproses oleh program dan keterangan mengenai ketinggian BBM akan ditampilkan pada form Main. Program untuk mengambil data variabel dapat dilihat pada Gambar 4.15. Proses selanjutnya adalah mengirim informasi ketinggian BBM ke user.

Proses pengiriman SMS ketinggian BBM ke user dapat dilihat pada program pada Gambar 4.16. Ketika PC menerima SMS, nomor pengirim akan disimpan pada textbox Text2.text. Nomor inilah yang digunakan untuk membalas SMS permintaan dari user. Sedangkan Text8.text berisi informasi BBM yang akan dikirimkan ke user. Setelah nomor pengirim dan isi SMS sudah disatukan, program akan melakukan esekusi pengiriman SMS balasan yang berisi informasi level BBM di BTS tersebut. Balasan dari alat dapat dilihat pada Gambar 4.7.a. Berdasarkan data-data hasil pengujian di atas dapat disimpulkan bahwa program berjalan dengan baik sesuai dengan perancangan.

Gambar 4.15. Subrutin Untuk Mengambil Data Variabel dari Mikrokontroler Private Sub MSComm1_OnComm()

Dim in_mikro As String

Select Case MSComm1.CommEvent Case comEvReceive

in_mikro = MSComm1.Input

Text7.Text = in_mikro ‘ input variabel dari mikrokontroler

If Text7.Text = "q" Then

Text8.Text = "BTS01,Fuel Level at 100%" ‘ text8.text = info level BBM yang dikirim ke user

Text9.Text = "100" ‘ text9.text = info level BBM yang dikirim ke OMC

………

ElseIf Text7.Text = "p" Then

Text8.Text = "BTS01,Fuel Level at 10%,Fuel LOW,Resupply NOW" Text9.Text = "10"

End If

kirim_sms_auto ‘ jalankan subrutin kirim sms otomatis

Text7.Text = ""

DELETE

Timer1.Enabled = True End Select

Gambar 4.16. Subrutin Kirim Informasi BBM ke user (Berdasarkan Permintaan)

Sedangkan proses pengiriman SMS ketinggian BBM secara otomatis ditunjukkan Gambar 4.17. Proses pengiriman pertama-tama dilakukan dengan membandingkan isi textbox text9.text yang berisi informasi level BBM dengan setpoint. Jika isi textbox text9.text sama dengan setpoint, maka program akan memeriksa variabel bantu yang berfungsi sebagai indikator apakah SMS sudah pernah dikirimkan. Jika variabel tersebut bernilai 1, maka SMS tidak akan dikirimkan lagi. Program hanya akan mengirimkan SMS jika variabel tersebut bernilai 0, yang berarti hanya 1x SMS untuk setiap setpoint. Hal ini dilakukan untuk menghindari SMS flooding pada sisi penerima. Karena itu dibutuhkan tombol Reset yang berfungsi untuk memberikan variabel sudah terkirim menjadi 0 kembali. Setelah teknisi melakukan pengisian BBM ulang, tombol Reset wajib ditekan agar program pengirim SMS ketinggian BBM otomatis dapat bekerja kembali. Tombol Exit digunakan untuk mengakhiri program. Tabel 4.1 menunjukkan hasil pengujian program. Berdasarkan data-data hasil pengujian di atas dapat disimpulkan bahwa program berjalan dengan baik sesuai dengan perancangan

Gambar 4.17. Subrutin Kirim Informasi BBM ke OMC (Otomatis) Private Sub kirim_sms_auto()

Dim kirim As String

If Text9.Text = "10" Then ‘ Text9.text berisi level BBM pada saat itu

If p = 0 Then

kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +

"('+6285729782919','" & Text9.Text & " ')" ‘ nomor tujuan OMC fix

DataEnvironment1.Connection1.Execute kirim, adCmdText

p = 1 ‘ p adalah variabel bantu agar sms dikirim 1x saja

End if

Elseif Text9.Text = "20" Then ………..

Private Sub kirim_sms_req() Dim kirim As String

kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text2.Text & "','" & Text8.Text & " ')"

DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub

Dokumen terkait