Telepon Seluler Siemens Gambaran Umum Sistem Rancangan Database

 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