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