BAB II LANDASAN TEORI
DESAIN DAN PERANCANGAN SISTEM
3.4. Schema Diagram
Schema Diagram menggambarkan relasi antar tabel yang ada dalam Sistem Informasi Registrasi dan SMS Reminder. Relationship Diagram digambarkan pada Gambar 3.8.
pendonor PK IDPendonor NamaPendonor Sex FK1 IDGol TempatLahir TglLahir Alamat Telp Agama Pekerjaan tglDaftar goldarah PK IDGol GolDarah Rhesus penghargaan PK KodeAward JenisAward JmlAward sms PK KodeFormat Format award PK no FK2 IDPendonor FK1 KodeAward donordarah PK KodeDonor FK1 IDPendonor tglDonor message PK no_message FK1 IDPendonor FK2 KodeFormat tglTerima login PK no_log Username Password
Gambar 3.8. Schema Diagram
3.5. Rancangan Database
Membuat sebuah database dengan nama smsd dengan 17 tabel dimana 9 tabel berasal dari tabel default Gammu dan 8 tabel merupakan tabel utama sistem.
Berikut adalah tabel yang telah disediakan Gammu sebagai sistem SMS Gateway.
1. Tabel daemons
Tabel daemons adalah tabel yang dipakai oleh SMS Gateway sebagai SMS Service. Isi field dari tabel daemons digambarkan pada Tabel 3.1.
commit to user
21
Tabel 3.1. Tabel Daemons
Nama Field Tipe Data Keterangan
Start Text
Info Text
2. Tabel gammu
Tabel gammu adalah tabel yang menyimpan informasi tentang versi Gammu. Isi field dari tabel gammu digambarkan pada Tabel 3.2.
Tabel 3.2. Tabel Gammu
Nama Field Tipe Data Keterangan
Version Tinyint(4) Berisi versi gammu
3. Tabel inbox
Tabel inbox adalah tabel yang digunakan untuk menyimpan informasi SMS yang diterima dari SMSC. Isi field dari tabel inbox digambarkan pada Tabel 3.3.
Tabel 3.3. Tabel Inbox Nama Field Tipe Data Keterangan
UpdatedInDB Timestamp Menyimpan informasi waktu input data
ReceivingDateTime Timestamp Informasi waktu penerimaan SMS
Text Text Isi SMS dalam format PDU
SenderNumber Varchar(20) Informasi nomor pengirim SMS
Coding Enum Tipe Encoding
UDH Text
Class Int(11)
TextDecoded Varchar(160) Isi SMS dalam format yang dibaca
ID int(11) ID SMS dalam inbox
RecipientID Text ID penerima
Processed Enum
4. Tabel outbox
Tabel outbox adalah tabel yang selalu dicek oleh SMS Gateway. Jika ada record baru pada tabel ini, maka akan diambil dan dikirim sebagai SMS dan data SMS tersebut dipindahkan ke tabel sentitems. Isi field dari tabel outbox digambarkan pada Tabel 3.4.
Tabel 3.4. Tabel Outbox Nama Field Tipe Data Keterangan
UpdatedInDB Timestamp Menyimpan informasi waktu input data
InsertIntoDB Timestamp Memasukkan informasi waktu input data
SendingDateTime Timestamp Informasi waktu pengiriman
Text Text Isi SMS dalam format PDU
DestinationNumber Varchar(20) Nomor tujuan pengiriman
Coding Enum Tipe Encoding
UDH Text
Class Int(11)
TextDecoded text Isi SMS dalam format yang dibaca
ID int(11) Kunci primer dalam tabel
commit to user
23
MultiPart Enum
RelativeValidity Int(11) Validasi pesan
SenderID Text
SendingTimeOut Timestamp
DeliveryReport Enum Laporan pengiriman
CreatorID Text
5. Tabel outbox_multipart
Tabel outbox_multipart adalah tabel yang memuat informasi tentang bagian dari SMS yang lain. Tabel ini akan terisi record baru jika terjadi sebuah pengiriman SMS dibagi menjadi dua bagian karena melebihi kuota karakter per SMS. Isi field dari tabel outbox_multipart digambarkan pada Tabel 3.5.
Tabel 3.5. Tabel Outbox_multipart Nama Field Tipe Data Keterangan
Text Text Isi SMS dalam format PDU
Coding Enum Tipe Encoding
UDH Text
Class Int(11)
TextDecoded text Isi SMS dalam format yang dibaca
ID int(11) ID SMS
SequencePosition Text Nomor urut antrian SMS
6. Tabel pbk
Tabel pbk adalah tabel yang berisi nomor telepon dan nama seperti halnya pada phonebook pada sebuah handphone. Isi field dari tabel pbk digambarkan pada Tabel 3.6.
Tabel 3.6. Tabel Pbk
Nama Field Tipe Data Keterangan
GroupID Int(11) ID grup
Name Text Nama user
Number Text Nomor telepon user
7. Tabel pbk_groups
Tabel pbk_groups adalah tabel yang berisi nama-nama yang telah dimasukkan dalam sebuah grup telepon. Isi field dari tabel pbk_groups digambarkan pada Tabel 3.7.
Tabel 3.7. Tabel Pbk_groups
Nama Field Tipe Data Keterangan
Name Text Nama user
ID Int(11) ID grup yang dibuat
8. Tabel phones
Tabel ini menyimpan tentang informasi handphone / modem yang dipakai. Tabel ini akan diinputkan gammu pada saat daemon dijalankan. Isi field dari tabel phones digambarkan pada Tabel 3.8.
Tabel 3.8. Tabel Phones Nama Field Tipe Data Keterangan
ID Text ID Hardware
UpdatedInDB Timestamp Menyimpan informasi waktu input data
InsertIntoDB Timestamp Memasukkan informasi waktu input data
TimeOut Timestamp Waktu maksimal melakukan koneksi sebelum memberikan
commit to user
25
laporan status koneksi
Send Enum Nilai enum Yes menyatakan
device untuk mengirimkan SMS dan No jika device tidak untuk mengirimkan SMS Receive Enum Nilai enum Yes jika digunakan
untuk menerima dan No jika tidak untuk menerima SMS
IMEI Text Informasi IMEI handphone /
modem
Client Text Informasi sistem operasi
tempat SMS Gateway dijalankan
9. Tabel sentitems
Tabel sentitems adalah tempat tampungnya semua SMS yang telah dikirim. Isi field dari tabel sentitems digambarkan pada Tabel 3.9.
Tabel 3.9. Tabel Sentitems Nama Field Tipe Data Keterangan
UpdatedInDB Timestamp Menyimpan informasi waktu input data
InsertIntoDB Timestamp Memasukkan informasi waktu input data
SendingDateTime Timestamp Informasi waktu pengiriman DeliveryDateTime Timestamp Informasi waktu terkirim
Text Text Isi SMS dalam format PDU
DestinationNumber Varchar(20) Nomor tujuan pengiriman
UDH Text
SMSCNumber Varchar(20)
Class Int(11)
TextDecoded Text Isi SMS dalam format yang dibaca
ID int(11) ID SMS
SenderID Text ID pengirim
SequencePosition Timestamp Nomor urut SMS
Status Enum Status pengiriman SMS
StatusError Int(11) Status error bila terjadi kesalahan
TPMR Int(11)
RelativeValidity Int(11) Validasi pesan
CreatorID Text
Berikut adalah tabel utama Sistem Informasi Registry and SMS Reminder.
1. Tabel login
Tabel login berisi data username dan password yang digunakan admin untuk melakukan login dalam sistem. Isi field dari tabel login digambarkan pada Tabel 3.10.
Tabel 3.10. Tabel Login Nama Field Tipe Data Keterangan
no_log* int Auto increment primary key
username Varchar(8) Username untuk admin password Varchar(8) Password untuk admin
commit to user
27
2. Tabel pendonor
Tabel pendonor berisi data-data pendonor yang diperlukan untuk proses registrasi dan pengiriman SMS. Isi field dari tabel pendonor digambarkan pada Tabel 3.11.
Tabel 3.11. Tabel Pendonor Nama Field Tipe Data Keterangan
IDPendonor* Varchar(8) ID dari tiap pendonor NamaPendonor Varchar(25) Nama pendonor
Sex Varchar(10) Jenis kelamin pendonor
IDGol** Varchar(1) ID Golongan darah yang ditetapkan
TempatLahir Varchar(15) Tempat lahir pendonor TglLahir Date Tanggal lahir pendonor Alamat Varchar(50) Alamat pendonor
Telp Varchar(15) Nomor telepon pendonor Agama Varchar(10) Agama pendonor
Pekerjaan Varchar(15) Pekerjaan pendonor
tglDaftar Date Waktu pendonor mendaftar
3. Tabel goldarah
Tabel goldarah berisi tentang data-data jenis golongan darah dengan rhesus nya. Isi field dari tabel goldarah digambarkan pada Tabel 3.12.
Tabel 3.12. Tabel Goldarah Nama Field Tipe Data Keterangan
IDGol* Varchar(1) ID Golongan darah yang ditetapkan
Rhesus Varchar(1) Rhesus golongan darah 4. Tabel donordarah
Tabel donordarah berisi tentang data-data waktu pendonor telah melakukan kegiatan donor. Isi field dari tabel donordarah digambarkan pada Tabel 3.13.
Tabel 3.13. Tabel Donordarah Nama Field Tipe Data Keterangan
KodeDonor* Int(11) Kode saat mendonorkan darah IDPendonor** Varchar(8) ID pendonor
tglDonor Date Tanggal mendonor
5. Tabel sms
Tabel sms berisi tentang data-data berupa format SMS yang akan dikirimkan kepada pendonor. Isi field dari tabel sms digambarkan pada Tabel 3.14.
Tabel 3.14. Tabel Sms Nama Field Tipe Data Keterangan
KodeFormat* Int(11) Kode format yang dimasukkan sebagai format SMS
Jenis Varchar(25) Jenis format
Tanggal Date Tanggal membuat format
Format Varchar(160) Isi format SMS
6. Tabel penghargaan
Tabel penghargaan berisi data-data jenis penghargaan dan angka sebagai syarat untuk mendapatkan penghargaan. Isi field dari tabel penghargaan digambarkan pada Tabel 3.15.
Tabel 3.15. Tabel Penghargaan Nama Field Tipe Data Keterangan
commit to user
29
JenisAward Varchar(50) Jenis penghargaan yang diberikan
JmlAward Int(11) Angka kumulatif dari kegiatan donor
7. Tabel award
Tabel award berisi tentang data-data pendonor yang mendapatkan penghargaan. Isi field dari tabel mendapat digambarkan pada Tabel 3.16.
Tabel 3.16. Tabel Award Nama Field Tipe Data Keterangan
no* int Auto increment primary key
IDPendonor** Varchar(8) ID pendonor
KodeAward** Int(11) Kode award pada tabel penghargaan
tglTerima Date Tanggal terima penghargaan
8. Tabel message
Tabel message berisi data-data pendonor yang mendapatkan SMS sesuai dengan format yang telah ditentukan. Isi field dari tabel menerima digambarkan pada Tabel 3.17.
Tabel 3.17. Tabel Message Nama Field Tipe Data Keterangan
no_message* int Auto increment primary key IDPendonor** Varchar(8) ID pendonor
KodeFormat** Int(11) Kode format pada tabel sms tglKirim Date Tanggal sms dikirim