3.2.1.4 Proses Log Out
Proses log out adalah proses untuk keluar dari salah satu akun pengguna untuk kemudian pengguna kembali ke proses log in agar pengguna dapat memasukkan user name
dan password akun pengguna lainnya. Pada proses ini, pada saat pengguna memilih tombol log out,
sistem akan menanyakan kepada penguna apakah pengguna benar-benar ingin melakukakan proses log out. Apabila pengguna menjawab ya, maka sistem akan kembali
pada proses log in dan apabila pengguna menjawab tidak maka sistem akan kembali lagi ke halaman utama program. Flow chart dari proses ini dapat dilihat pada Gambar 3.5.
Mulai
Selesai Apakah
pengguna ingin logout?
Tampilkan form login
Kembali ke form halaman depan
ya tidak
Gambar 3.5 Flow chart proseslog out
3.2.2 FormInput Data Pengguna
Pada forminput data pengguna merupakan proses untuk memasukkan data-data akun pengguna berupa username,password, dan nomer telepon pengguna yang akan dimasukkan
ke dalam database. Pada proses ini, sistem akan meminta pengguna memasukan nomer telepon pengguna sesuai dengan format yang sudah ditentukan. Apabila nomer telepon
yang dimasukkan tidak sesuai dengan format yang ditentukan, maka sistem akan meminta pengguna untuk memasukkan lagi nomer telepon pengguna.Setelah sesuai, sistem akan
meminta pengguna memasukan user name dan password yang diinginkan. Setelah proses input
data pengguna, sistem akan menanyakan apakah pengguna ingin membuat akun baru. Apabila pengguna memilih
”ya”, maka sistem akan mengulang proses input data
pengguna. Apabila pengguna memilih ”tidak”, maka sistem akan kembali ke proses log in.
Flow chart dari proses ini dapat dilihat pada Gambar 3.6.
Mulai
Masukan nomer telepon pengguna
Nomer telepon pengguna sesuai
dengan format? Simpan ke
database
Pengguna ingin memasukan data pengguna lainnya?
Tidak Sesuai
Tidak Ya
Masukan user name
Masukan password
selesai
Gambar 3.6Flow chart prosesinput data pengguna
3.2.3 Form menu utama
Pada form ini pengguna dapat memulai melakukan proses pengendalian dan pemantauan dengan menekan tombol “start”. Setelah tombol “start” ditekan sistem akan
mulai melakukan subroutine cek SMS baru, apabila ada SMS baru yang masuk ke inbox maka sistem akan membaca isi SMS, kemudian sistem akan mencocokan no pengirim sms
dengan nomer hp pengguna yang ada pada database, apabila nomer pengirim SMS atau format sms tidak cocok dengan nomer hp pengguna dan format SMS yang ada pada
database maka sistem akan menjalankan subroutine SMS konfirmasi kesalahan nomer dan
format. Apabila nomer pengirim dan format SMS yang diterima ada pada database maka
sistem akan menentukan apakah perintah tersebut untuk pengendalian suhu, lampu atau pagar. Apabila SMS yang diterima merupakan perintah pengendalian suhu maka sistem
akan mengirimkan perintah pengendalian ke port serial “COM1”, dan apabila SMS yang diterima merupakan perintah pengendalian lampu maka sistem akan mengirimkan perintah
pengendalian ke port serial “COM2”, dan apabila SMS yang diterima merupakan perintah pengendalian pagar maka sistem akan mengirimkan perintah pengendalian ke port serial
“COM3”. Setelah mengirimkan perintah pengendalian ke port serial yang sesuai sistem akan melakukan proses subroutine mengirimkan SMS konfirmasi. Flow chartform menú
utama dapat dilihat pada Gambar 3.7.
Mulai
Cek Nomer Pengirim
Baca isi SMS
Cek Format SMS
SMS untuk pengendalian
suhu? SMS untuk
pengendalian lampu?
Kirim Perintah pengendalian ke
Port Serial “COM2”
Kirim Perintah pengendalian ke
Port Serial “COM1”
Kirim Perintah pengendalian ke
Port Serial “COM3”
Selesai bukan
ya ya
bukan
Mengirimkan SMS
konfirmasi Cek SMS
baru
Nomer pengirim ada
pada database?
SMS konfirmasi
kesalahan nomer dan
format Format SMS
ada pada database?
SMS konfirmasi
kesalahan nomer dan
format tidak
ya ya
tidak
ya bukan
ya bukan
Gambar 3.7 Flowchart sistem utama
3.2.3.1 Subroutine Cek SMS baru
Subroutine cek SMS baru adalah proses untuk mengecek apakah ada SMS baru yang
diterima. Pada subroutine ini sistem akan mengecek tabel inbox pada database yang sudah terkoneksi ke telepon seluler sistem melalui gammu. Apabila record count atau jumlah isi
dari tabel inbox bernilai lebih dari 0 maka sistem akan mengetahui kalau ada SMS baru yang masuk. Flow chart dari subroutine cek SMS baru dapat dilihat pada Gambar 3.8.
mulai
Cek record count pada tabel inbox
Record count 0
Ada SMS baru
selesai ya
tidak
Gambar 3.8Flow chart subroutine cek SMS baru
3.2.3.2 Subroutine baca SMS
Subroutine baca SMS merupakan proses pembacaan isi SMS yang diterima oleh
telepon selular sistem. Pada subroutine ini, sistem akan memulai dengan membaca tabel inbox
pada field SenderNumber yang berisi nomer pengirim dan field TextDecoded yang berisi isi pesan SMS yang diterima. Flow chart dari subroutine ini dapat dilihat pada
Gambar 3.9.
mulai Baca tabel inbox
field SenderNumber
Baca tabel inbox field TextDecoded
selesai
Gambar 3.9flow chart subroutine baca SMS
3.2.3.3 Subroutine mengirimkan SMS konfirmasi kesalahan nomer dan format SMS
Subroutine ini merupakan proses untuk mengirimkan SMS konfirmasi kepada
pengguna. Pada subroutine ini sistem akan mengisi field DestinationNumber dan TextDecoded
sesuai dengan nomer tujuan sms konfirmasi dan isi pesan konfirmasi yang diinginkan pada tabel outbox yang ada dalam database untuk mengirimkan pesan. Proses
pengiriman pesan akan dilakukan oleh SMS daemon dari gammu yang sudah terhubung dengan telepon seluler sistem. Flow chart dari subroutine ini dapat dilihat pada Gambar
3.10 dan untuk isi dari tiap-tiap jenis SMS konfirmasi dapat dilihat pada Tabel 3.1.
mulai
Isi field DestinationNumber
pada tabel outbox
Isi field TextDecoded pada
tabel outbox
selesai
Gambar 3.10 Subroutine mengirimkan SMS konfirmasi
Tabel 3.1 Jenis dan isi SMS konfirmasi kesalahan nomer dan format SMS
Jenis SMS konfirmasi Isi SMS konfirmasi
Nomer tidak terdaftar “Maaf nomer telepon anda tidak
terdaftar”
Format salah “Maaf format SMS anda salah”
Tabel 3.2 Jenis SMS konfirmasi lampu dan isi SMS konfirmasi lampu
Jenis SMS konfirmasi lampu Isi SMS konfirmasi lampu
Pengendalian lampu 1 “Perintah pengendalian untuk lampu 1
berhasil” Pengendalian lampu 2
“Perintah pengendalian untuk lampu 2 berhasil”
Pengendalian lampu 3 “Perintah pengendalian untuk lampu 3
berhasil” Pengendalian lampu 4
“Perintah pengendalian untuk lampu 4 berhasil”
Pemantauan Isi SMS berupa status lampu mana saja
yang menyala dengan level intensitas cahaya
Mematikan sistem “Perintah untuk mematikan sistem berhasil”
Tabel 3.3 Jenis SMS konfirmasi dan isi SMS konfirmasi pada sistem pengendalian dan pemantauan suhu ruangan
Jenis SMS konfirmasi Isi SMS konfirmasi
Kesalahan set point “Set point terlalu besar”
Mematikan kipas “Perintah mematikan kipas berhasil”
Pemantauan Isi SMS berupa nilai suhu ruangan
Mematikan sistem “Perintah untuk mematikan sistem
berhasil”
Tabel 3.4 Jenis dan isi SMS konfirmasi pagar
Jenis SMS konfirmasi Isi SMS konfirmasi
Status pagar Isi SMS berupa kondisi pagar
Open gate “Perintah open gate berhasil”
Open house “Perintah open house berhasil”
Close gate “Perintah close gate berhasil”
mulai
Isi field DestinationNumber pada
tabel outbox
Isi Field TextDecoded pada tabel outbox
selesai Konfirmasi pemantauan
pengendalianmematikan sistem?
Isi field DestinationNumber
pada tabel outbox Isi Field
TextDecoded pada tabel outbox
Mengambil data sensor
pemantauan pengendalian
Isi field DestinationNumber pada
tabel outbox
Isi Field TextDecoded pada tabel outbox
Mematikan sistem
Gambar 3.11Flow chart subroutine mengirimkan SMS konfirmasi
3.3 Rancangan Database