FormInput Data Pengguna Form menu utama

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