Authorization yang merupakan bagian dari DDL yang menyediakan perintah untuk membuat aturan akses.
2.8 Telepon Seluler Siemens
Siemens C55 memiliki pin konektor eksternal yang dapat dimanfaatkan untuk
pengendalian telepon seluler dari luar dengan piranti bantu mikrokontroler ataupun PC [8]. Pin
konektor dari Siemens C55 dapat dilihat pada Gambar 2.5. Keterangan dari pin-pin eksternal Siemens C55 terdapat pada Tabel 2.1.
Gambar 2.5. Pin eksternal Siemens C55 tampak bawah [8].
Tabel 2.1. Keterangan susunan pin eksternal Siemens C55 [8]. No pin
Nama pin Deskripsi
1 Vin
Power Charging 2
Ground Saluran ground
3 Tx
Data output 4
Rx Data input
5 CTS
Data line for accessory 6
RTS Data line for accessory or serial cable
7 DCD
Clock line for accessory 8
Audio AP Kutub positif audio
9 No connection
Tidak ada koneksi 10
Audio N Kutub negatif audio
11 Ground mic
Saluran ground untuk mic 12
EPP External mic
2.9 Komunikasi Serial RS232
Ada dua macam sistem transmisi dalam komunikasi data serial, yaitu sinkron dan asinkron [9]. Pada komunikasi data serial sinkron, clock dikirim bersama-sama dengan
data serial. Pada komunikasi data serial asinkron, clock tidak dikirimkan bersama-sama dengan data serial tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim
transmitter maupun pada sisi penerima receiver. Komunikasi data serial asinkron ini dikerjakan oleh Universal Asyncronous Receiver Transmitter UART.
Pada UART, kecepatan pengiriman data baudrate dan fase clock pada sisi pengirim dan pada sisipenerima harus sinkron. Sinkronisasi antara pengirim dan penerima
dilakukan oleh bit ’Start’ dan bit ’Stop’. Bentuk format pengiriman serial data asinkron
diperlihatkan dalam Tabel 2.2. Faktor lain yang cukup penting dalam transferpengiriman data serial asinkron
adalah kecepatan pengiriman. Besaran kecepatan pengiriman data serial adalah bit per second
bps dan biasa disebut baudrate atau character per second cps. Baudrate yang biasa digunakan adalah 110, 300, 1200, 4800, 9600 dan 19200.
Tabel 2.2.Format pengiriman data serial asinkron [9]. Bit Start D7 D6 D5 D4 D3 D2 D1 D0
Bit Parity Bit Stop
2.9.1 Port Serial Personal Computer
Standar konektor komunikasi serial RS232 pada PC adalah konektor 9 pin konektor DB9 [9]. Gambar 2.6 memperlihatkan konfigurasi pin konektor DB 9.
Gambar 2.6. Konfigurasi pin konektor DB9 [9].
Keterangan mengenai fungsi dan deskripsi pin DB9 dapat dilihat pada Tabel 2.3. Piranti-piranti yang menggunakan komunikasi serial adalah sebagai berikut :
a. DTE = Data Terminal Equipment, yaitu komputer. b. DCE = Data Communication Equipment, yaitu eksternal hardware.
Tabel 2.3 Keterangan pin konektor DB9 PC serial port [9] No
pin Nama
sinyal Description
Function 1
DCD Data Carrier Detect
Saluran sinyal ini akan diaktifkan ketika DTE mendeteksi suatu carrier dari DCE.
2 RXD
Received Data Sebagai penerimaan data serial.
3 TXD
Transmit Data Sebagai pengiriman data serial.
4 DTR
Data Terminal Ready Dengan saluran ini, DTE memberitahukan
kesiapan terminalnya. 5
GND Ground
Saluran ground. 6
DSR Data Set Ready
Dengan saluran ini, DTE memberitahukan bahwa siap melakukan komunikasi.
7 RST
Request To Send Dengan saluran ini , DCE diminta mengirim
data oleh DTE. 8
CTS Clear To Send
Dengan saluran ini, DCE memberitahukan bahwa DTE boleh mulai mengirim data.
9 RI
Ring Indicator Dengan saluran ini, DCE memberitahukan ke
DCE bahwa sebuah stasiun menghendaki suatu hubungan dengannya.
16
BAB 3 PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem
Sistemyang akan dibangun adalah suatu antarmuka bagi pengguna sistem rumah otomatis untuk mengoptimalkan dan memudahkan pengguna untuk mengendalikan
peralatan elektronik menggunakan SMS. Dalam menggunakan sistem rumah otomatis, pengguna akan mengirimkan SMS dengan format tertentu kepada telepon seluler yang
terdapat pada komputer server untuk mengendalikan peralatan elektronik yang diinginkan. Komputer server mempunyai program antarmuka yang akan melakukan pengolahan data
SMS yang diterima, dimulai dengan mengecek nomer telepon pegirim, kemudian mengecek format SMS yang diterima, mencocokkan nomer telepon pengirim dan format
SMS yang diterima pada database yang ada, menampilkan status peralatan elektronik yang terhubung ke sistem, megirimkan data perintah ke sistem pengendalian peralatan
elektronik, mencatat kegiatan yang telah dilakukan oleh sistem, dan memberikan SMS balasan kepada pengguna. Gambar 3.1 menunjukkan rancangan sistem secara keseluruhan.
Gambar 3.1 Rancangan sistem
3.2 Rancangan Sistem 3.2.1 Keseluruhan Sistem
Keseluruhan sistem merupakan urutan dari tiap-tiap subrotine yang ada pada sistem. Pada keseluruhan sistem ini kita dapat melihat aliran program dari awal hingga akhir.
Setelah pengguna menjalankan sistem, sistem akan menampilkan form halamanutama. Pada form ini terdapat menu login, logout, input data, dan menu utama, tetapi apabila
pengguna belum login maka menu yang aktif hanyalah menu login. Apabila pengguna memilih log in maka sistem akan menjalankan proses pada form log in, dan apabila
pengguna memilih lupa password maka sistem akan menjalankan proses pada form lupa password
. Setelah berhasil login, pengguna akan kembali ke form halaman depan dan menu input data dan menu utama akan aktif. Apabila pengguna ingin keluar dari sistem
maka sistem akan menjalankan proses pada subroutine log out.
3.2.1.1 Form Login
Form login merupakan form yang tampil saat pengguna memilih menu item login
pada form halaman depan. Pada form ini, sistem akan meminta pengguna untuk memasukan nama penggunadan password. Apabila nama penggunaatau password yang
dimasukan tidak sesuai dengan data nama pengguna dan password yang ada didatabase, maka sistem akan menampilkan pesan kesalahan. Apabila pengguna salah memasukan
user name atau password sebanyak 3 kali, maka sistem akan mengirimkan SMS konfirmasi
kepada pengguna yang berstatus admin. Sedangkan jika user name dan password yang dimasukan oleh pengguna sesuai dengan database, maka system akan kembali ke form
halaman depan dan mengaktifkan menu input data dan menu utama.Flowchart dari subroutine log in
dapat dilihat pada Gambar 3.2.
Mulai
Masukan Nama Pengguna dan Password
Selesai Cek Nama Pengguna dan
Password pada Database
Nama Pengguna dan Password ada dalam
Database? Tampilkan pesan
kesalahan
Kembali ke halaman depan program
Aktifkan pilihan menu Input Data dan Menu
Utama I = i+1
i=3? SMS
konfirmasi ke Admin
Gambar 3.2Flow chart formlogin
3.2.1.2 Proses Subroutine SMS Konfirmasi ke Admin
Proses subroutine SMS konfirmasi ke super admin adalah proses untuk mengirimkan SMS konfirmasi ke pengguna yang berstatus super admin, apabila terjadi kesalahan
memasukan user name atau password sebanyak 3 kali pada subroutine log in. Pada subroutine
ini sistem akan mengiri mkan SMS yang berisi ”KESALAHAN
MEMASUKAN USER NAME DAN PASSWORD SEBANYAK 3 KALI, SILAHKAN MEMILIH MENU LUPA PASSWORD AGAR DAPAT MENJALANKAN SISTEM”
kepada pengguna yang berstatus admin. Flow chart dari subroutine SMS konfirmasi ke admin dapat dilihat pada Gambar 3.3.
Mulai Mengisi field
DestinationNumber pada tabel sms dengan nomer
hp Admin Mengisi field TextDecoded
pada tabel sms dengan isi pesan
Selesai
Gambar 3.3 Flow chart subroutine SMS konfirmasi ke super admin
3.2.1.3 Form LupaPassword
Proses padaformlupa password adalah proses yang dijalankan saat pengguna memilih menu lupa password.Proses ini berfungsi untuk mengirimkan SMS mengenai data-data
pengguna untuk melakukan proses log in. Flow chart dari subroutine ini dapat dilihat pada Gambar 3.4.
Mulai Mengambil data input dari
user berupa Nama Pengguna
Selesai Mengecek Nama
Pengguna pada Database
Nama Pengguna
ditemukan? Mengambil data
no hp sesuai dengan Nama
Pengguna Mengambil
password yang sesuai dengan
Nama Pengguna Mengirimkan SMS
kepada pengguna yang berisi Nama
Pengguna dan Password
Tampilkan pesan kesalahan
Reset Text Field nama pengguna
Gambar 3.4 Flow chart form lupa password
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
Sistem yang akan dibuat membutuhkan database sebagai media utama untuk menyimpan data-data pengguna dan juga untuk menyimpan SMS yang diterima dan untuk
mengirimkan SMS. Untuk menyimpan data pengguna pada sistem yang akan dibuat sistem membutuhkan sebuah database dengan nama data_user, pada database ini terdapat
beberapa tabel,yaitu : Tabel login, untuk menyimpan data pengguna sistem berupa user name dan status
user , password, nomer telepon.
Tabel format, untuk menyimpan format SMS untuk perintah pemantauan dan pengendalian.
Dan untuk mengolah SMS seperti membaca SMS dan mengirimkan SMS gammu membutuhkan database dengan nama sms, pada database sms terdapat beberapa tabel,
yaitu : Tabel daemons, untuk memastikan service SMS daemon dari gammu telah bekerja.
Tabel gammu, untuk mengetahui versi dari gammu yang digunakan. Tabel inbox, untuk membaca inbox dari telepon seluler server.
Tabel outbox, untuk mengirimkan SMS balasan kepada pengguna sistem. Tabel outbox_multipart, untuk mengirimkan SMS balasan kepada pengguna sistem
dengan jumlah karakter dari SMS balasan lebih dari 160 karakter. Tabel pbk, untuk membaca isi phone book dari telepon seluler server.
Tabel pbk_groups, untuk membaca isi dari group phone book pada telepon seluler
server. Tabel phones, untuk mengetahui info status dari telepon seluler server.
Tabel sentitems, untuk menyimpan SMS yang sudah terkirim.
3.4 Rancangan interface sistem 3.4.1 Rancangan form log in