bab iv hasil dan pembahasan a. analisa 1
Post on 25-Oct-2021
9 Views
Preview:
TRANSCRIPT
Tugas Akhir - Bab IV
AKATEL Sandhy Putra Purwokerto 80 D308065
BAB IV
HASIL DAN PEMBAHASAN
A. Analisa
1. Analisa Data
Data-data yang diguanakan dalam pembuatan aplikasi ini ada
dua, yaitu data peserta praktikum dan data format susunan laporan.
Data peserta praktikum digunakan untuk menyortir secara manual
mahasiswa yang melakukan registrasi tapi tidak terdaftar sebagai
peserta praktikum, maka asisten berhak untuk menghapus data
mahasiswa tersebut. Sedangkan data format susunan laporan
digunakan untuk meng-input nilai dari format laporan. Data peserta
praktikum dan format susunan laporan dapat dilihat pada lampiran
data praktikum.
2. Analisa Kebutuhan
Hasil dari survei dengan mengisi kuisioner, kebanyakan
responder setuju dan mendukung pembuatan aplikasi ini karena
dianggap efektif untuk mengurangi tingkat keterlambatan dan
membantu kinerja asisten. Kuisioner hasil survei dapat dilihat pada
lampiran kuisioner.
3. Analisa Teknologi
Pembuatan aplikasi ini menggunakan sistem operasi Microsoft
Windows XP, bahasa pemrogramannya menggunakan Visual Basic
Tugas Akhir - Bab IV 81
AKATEL Sandhy Putra Purwokerto D308065
6.0. serta ditambah beberapa perangkat lunak lain seperti Gammu
versi 1.25, XAMPP, konektor MySQL ODBC dan lainnya.
B. Hardware Aplikasi
1. Personal Computer (PC)
PC merupakan perangkat utama yang berfungsi sebagai pusat
informasi layanan serta database. PC pada sisi operator atau
administrator tidak boleh padam selama program ini sedang berjalan.
Sebab jika PC yang digunakan padam maka program layanan kegiatan
praktikum yang sedang berjalan akan berhenti.
2. Handphone Pengirim dan Penerima
Handphone dari sisi pengirim dapat memakai handphone
dengan merk apapun baik yang menggunakan jaringan GSM maupun
CDMA. Sedangkan pada sisi penerima handphone yang dipakai harus
sesuai atau kompatibel dengan komponen Gammu. Dalam pembuatan
aplikasi ini handphone yang digunakan adalah Sony Ericsson tipe
G502.
Gambar 4.1 : Handphone Sony Ericsson tipe G502
Tugas Akhir - Bab IV 82
AKATEL Sandhy Putra Purwokerto D308065
3. Konektor Antara Handphone Penerima dan PC
Untuk dapat mengakses SMS dari handphone penerima, maka
komputer akan menggunakan jalur komunikasi serial (port serial)
yang dihubungkan dengan kabel data sesuai merk handphone
penerima.
Gambar 4.2 : Kabel Data Sony Ericsson G502
C. Database Aplikasi
Database aplikasi SMS Server kegiatan praktikum dapat
digambarkan seperti pada gambar 4.3.
Gambar 4.3 : Bagan Database Aplikasi SMS Server Kegiatan Praktikum
Adapun relasi antara basis data dengan tabel konsep rancangan
layanan dapat dilihat pada gambar 4.4.
SMS
Server
Database
Sistem
Informasi
laboratorium
Peserta
Praktikum
Pembagian
Kemlopok
Jadwal
Praktikum Saran Asisten
Praktikum
Tugas Akhir - Bab IV 83
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.4 : Relasi Basis Data dengan Tabel Layanan SMS Praktikum
Dalam aplikasi SMS Server Praktikum ini diperlukan tabel
tambahan yang dibutuhkan oleh aplikasi dan sebagai media penyimpanan
data. Tabel tersebut antara lain, tabel user (menampung data pengguna
yang berhak masuk atau menjalankan aplikasi), tabel peserta (menampung
informasi tentang peserta praktikum, seperti NIM, Nama, Kelas dan
Nomor handphone), tabel saran (menampung saran dari client atau peserta
praktikum) dan tabel lainnya. Daftar tabel dari aplikasi ini dapat dilihat
pada localhost/phpmyadmin melaui browser. Tampilan daftar tabel pada
phpmyadmin dapat dilihat pada gambar 4.5.
Gambar 4.5 : Tabel-tabel Database Server Pada phpMyAdmin
NIM
Nama
Sesi
Kelompok
Tabel Pembagian
Kelompok
NIM
Nama
Kelas
No Telephone
Tabel Peserta No Urut
Modul
Sesi
Tanggal
Waktu
Jadwal
Praktikum
Tugas Akhir - Bab IV 84
AKATEL Sandhy Putra Purwokerto D308065
Sedangkan tampilan tabel pada database server antara lain:
a. Tabel User, tabel ini untuk menampung data user yang memiliki hak
akses pada aplikasi atau program SMS Server ini. Dalam hal ini user
bisa dari asisten praktikum maupun laboran, untuk menambah,
mengubah atau menghapus data user dapat diproses melalui form
Administrator pada program SMS Server.
Gambar 4.6 : Tabel User Pada SQL Manager
b. Tabel Peserta Praktikum, tabel ini untuk menampung data peserta
praktikum yang telah registrasi melaui SMS. Jadi yang mendapatkan
layanan SMS ini hanya mahasiswa yang telah melakukan registrasi.
Tampilan tabel peserta praktikum pada SQLmanager dapat dilihat pada
gambar 4.7.
c. Tabel Pembagian Kelompok, tabel ini memiliki relasi dengan tabel
jadwal praktikum karena jadwal praktikum dibuat dengan melihat daftar
kelompok praktikum. Tampilan tabel pembagian kelompok pada
SQLmanager dapat dilihat pada gambar 4.8.
Tugas Akhir - Bab IV 85
AKATEL Sandhy Putra Purwokerto D308065
d. Tabel Asisten Praktikum, tabel ini menyimpan data para asisten
praktikum, termasuk data nomor telepon asisten sehingga antar asisten
dapat saling berkomunikasi jika salah satu asisten terlambat atau lupa
jadwal praktikum. Tampilan tabel asisten praktikum pada SQL manager
dapat dilihat pada gambar 4.9.
Gambar 4.7 : Tabel Peserta Praktikum Pada SQL Manager
Gambar 4.8 : Tabel Pembagian Kelompok Pada SQL Manager
Tugas Akhir - Bab IV 86
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.9 : Tabel Asisten Praktikum Pada SQL Manager
e. Tabel Jadwal Praktikum, tabel ini berfungsi untuk mengatur
penjadwalan kegiatan praktikumsehingga tidak terjadi benturan dengan
praktikum sesi lain atau praktikum lain.
Gambar 4.10 : Tabel Jadwal Praktikum Pada SQL Manager
Tugas Akhir - Bab IV 87
AKATEL Sandhy Putra Purwokerto D308065
f. Tabel Saran, tabel ini untuk menampung saran-saran dari peserta
praktikum mengenai kegiatan praktikum yang berlangsung.
Gambar 4.11 : Tabel Saran Pada SQL Manager
g. Tabel Info, tabel ini digunakan untuk menyimpan data tentang susunan
laporan yang telah dimasukkan oleh asisten atau administrator.
Gambar 4.12 : Tabel Info Pada SQL Manager
Tugas Akhir - Bab IV 88
AKATEL Sandhy Putra Purwokerto D308065
D. Software Aplikasi
1. Visual Basic 6.0.
Perangkat lunak ini digunakan untuk mendesain tampilan
aplikasi SMS server serta pemberian program atau perintah aplikasi.
Berikut adalah tampilan IDE pada Visual Basic 6.0.
Gambar 4.13 : IDE Visual Basic 6.0
2. Gammu
Gammu di sini sebagai media penyedia layanan SMS gateway.
Gammu yang diguakan adalah versi 1.25 karena banyak programmer
SMS gateway yang merekomendasikan, selain itu juga untuk
konfigurasinya lebih mudah.
3. XAMPP
Untuk perangkat lunak XAMPP yang digunakan adalah
XAMPP for Wndows. Perangkat lunak XAMPP mencakup beberapa
Tugas Akhir - Bab IV 89
AKATEL Sandhy Putra Purwokerto D308065
database, yaitu Apache, MySQL, PHP. Tampilan dari XAMPP dapat
dilihat pada gambar 4.14.
Gambar 4.14 : Tampilan Control Panel XAMPP
4. Driver Handphone Sony Ericsson G502
Driver ini disesuaikan dengan jenis handphone yang
digunakan untuk membuat aplikasi ini. Pemasangan driver ini
bertujuan agar handphone bisa terkoneksi dengan port komputer yang
akan digunakan.
E. Implementasi Interface
1. Form Login
Fungsi Utama dari form ini adalah untuk menjaga keamanan
program agar tidak semua orang bisa mengakses dan merubah data
pada program.
Tugas Akhir - Bab IV 90
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.15 : Desain Form Login
Proses keamanan form login dijelaskan dalam beberapa
kondisi :
a. Jika kolom User ID dan Password belum diisi maka akan muncul
informasi bahwa data belum lengkap.
Gambar 4.16 : Informasi Kolom Input Data Belum Lengkap
b. Jika salah satu data yang dimasukkan ada yang tidak sesuai maka
akan muncul informasi bahwa User ID atau Password salah.
Gambar 4.17 : Informasi Inputan Tidak Sesuai
c. Jika data yang dimasukkan sesuai maka form login akan menutup
dan form menu utama tampil.
Tugas Akhir - Bab IV 91
AKATEL Sandhy Putra Purwokerto D308065
d. Jika user menekan tombol cancel untuk keluar dari aplikasi maka
akan muncul informasi seperti pada gambar 4.18.
Gambar 4.18 : Permintaan Konfirmasi Untuk Keluar dari Aplikasi
2. Form Menu
Fungsi utama dari form ini adalah untuk mengakses form-form
lainnya yang berada dalam prototipe layanan Berbasis Lokasi yang
dibuat. Form ini dibuat dengan jenis MDI Form (Multiple Document
Interface) agar pada saat membuka form lain tidak menutup form
utama.
Gambar 4.19 : Desain Form Menu
Tugas Akhir - Bab IV 92
AKATEL Sandhy Putra Purwokerto D308065
Tampilan daftar submenu pada form ini bisa dilihat pada
gambar-gambar di bawah ini. Fungsi dari submenu tersebut untuk
menampilkan form lain sesuai submenu yang dipilih.
a. Submenu File
Terdapat dua pilihan, yaitu Logout dan Exit. Pilihan logout
akan membawa user kembali ke form login, sedangkan pilihan
exit digunakan untuk menutup aplikasi. Tampilan form menu saat
memilih submenu file dapat dilihat pada gambar 4.20.
Gambar 4.20 : Tampilan Saat Submenu File Dipilih
b. Submenu Praktikum
Submenu ini menampilkan daftar mata praktikum, namun
dalam aplikasi ini hanya memakai satu sample mata praktikum,
yaitu rangkaian listrik. Pada praktikum rangkaian listrik ada tiga
pilihan, yaitu Peserta Praktikum, Mata Praktikum dan Format
Laporan. Pilihan peserta praktikum berfungsi untuk memanggil
form peserta praktikum yang terdaftar dalam KRS, pilihan mata
praktikum berfungsi untuk memanggil form mata praktikum,
Tugas Akhir - Bab IV 93
AKATEL Sandhy Putra Purwokerto D308065
sedangkan pilihan format laporan berfungsi memanggil form
susunan laporan. Tampilan form menu saat memilih submenu
praktikum dapat dilihat pada gambar 4.21.
Gambar 4.21 : Tampilan Saat Submenu Praktikum Dipilih
c. Submenu Admin
Submenu admin berfungsi untuk memanggil form
administrator yang digunakan untuk mengatur data admin.
Tampilan form menu saat memilih submenu admin dapat dilihat
pada gambar 4.22.
Gambar 4.22 : Tampilan Saat Submenu Admin Dipilih
Tugas Akhir - Bab IV 94
AKATEL Sandhy Putra Purwokerto D308065
d. Submenu Konfigurasi
Submenu konfigurasi berfungsi untuk memanggil form
setting konfigurasi yang digunakan untuk menyambungkan atau
memutuskan koneksi service SMSD Gammu. Tampilan form
menu saat memilih submenu konfigurasi dapat dilihat pada
gambar 4.23.
Gambar 4.23 : Tampilan Saat Submenu Konfigurasi Dipilih
e. Submenu Inbox
Submenu inbox berfungsi untuk memanggil form pesan
yang berisi data pesan yang masuk pada tabel inbox database.
Gambar 4.24 : Tampilan Saat Submenu Inbox Dipilih
Tugas Akhir - Bab IV 95
AKATEL Sandhy Putra Purwokerto D308065
f. Submenu Info
Submenu info berfungsi untuk memanggil form info yang
berisi informasi judul dan pembuat aplikasi.
Gambar 4.25 : Tampilan Saat Submenu Info Dipilih
3. Form Administrator
Form ini berfungsi untuk memasukkan baru, mengubah, dan
menghapus data admin. Admin dibagi menjadi dua, yaitu level satu (1)
dan level dua (2). Kedua level admin tersebut memiliki hak akses
program SMS server, perbedaannya hanya pada hak akses form
administrator. Admin level satu bisa menambah, mengubah dan
menghapus data admin, sedangkan admin level dua hanya bisa
menambahkan admin baru dengan level dua. Jika admin level dua
ingin mengubah datanya maka harus minta persetujuan atau bantuan
dari admin level satu. Tampilan form administrator dapat dilihat pada
gambar 4.26.
Tugas Akhir - Bab IV 96
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.26 : Desain Form Administrator
Penjelasan dari fungsi tersebut adalah :
a. Input data
Ketika tombol input dieksekusi maka caption dari tombol akan
berubah menjadi simpan, tombol edit tidak aktif dan caption
tombol tutup berubah menjadi batal. Dalam peng-input-an data
terdapat beberapa kondisi, yaitu:
Jika kolom input data kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap.
Gambar 4.27 : Informasi Data Belum Lengkap
Tugas Akhir - Bab IV 97
AKATEL Sandhy Putra Purwokerto D308065
Jika terdapat kesamaan User ID yang merupakan primarykey
maka program akan menampilkan informasi bahwa data
sudah ada.
Gambar 4.28 : Informasi Data Sudah Ada Dalam Database
Jika kolom input data terisi dan User ID belum ada maka
program akan menyimpan data tersebut di tabel user.
b. Edit data
Ketika tombol edit dieksekusi maka caption dari tombol ini akan
berubah menjadi simpan, tombol input dan hapus tidak aktif dan
caption tombol tutup berubah menjadi batal. Dalam pengubahan
data terdapat beberapa kondisi, yaitu :
Jika kolom input data kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, seperti pada
gambar 4.27.
Kolom input User ID merupakan primarykey, sehingga
ketika semua kolom input terisi tapi User ID tidak ada dalam
database maka proses pengubahan data gagal dan akan
muncul informasi seperti pada gambar 4.29.
Tugas Akhir - Bab IV 98
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.29 : Informasi Data Tidak Ada Dalam Database
Jika User ID sudah ada dalam database maka data admin
dengan User ID tersebut akan berubah dan hasil perubahan
akan disimpan dalam database.
c. Hapus data
Ketika tombol ini dieksekusi maka tombol simpan, edit, kolom
input nama dan password tidak aktif dan caption tombol tutup
akan berubah menjadi batal. Perintah hapus data terdapat
beberapa kondisi, yaitu :
Jika kolom User ID kosong maka muncul informasi bahwa
kolom kolom input-an belum diisi, seperti pada gambar 4.27.
Jika input-an kolom User ID tidak ada dalam database maka
akan muncul informasi kesalahan input-an, seperti pada
gambar 4.29.
Jika input-an User ID ada dalam database maka data dengan
User ID tersebut akan dihapus dari database.
4. Form Asisten Praktikum
Form ini digunakan untuk menyimpan data para asisten
praktikum. Diharapkan dengan adanya data asisten tersebut, terutama
Tugas Akhir - Bab IV 99
AKATEL Sandhy Putra Purwokerto D308065
data mengenai nomor telepon setiap asisten praktikum, dapat
mempermudah asisten atau laboran untuk menghubungi asisten lain
yang lupa jadwal praktikum atau berhalangan hadir.
Gambar 4.30 : Desain Form Asisten Praktikum
Pada form ini terdapat perintah atau fungsi input, edit, hapus
data asisten praktikum. Penjelasan dari fungsi tersebut adalah :
a. Input data
Ketika tombol input dieksekusi maka caption dari tombol akan
berubah menjadi simpan, tombol edit tidak aktif dan caption
tombol tutup berubah menjadi batal. Dalam peng-input-an data
terdapat beberapa kondisi, yaitu:
Jika kolom pengisian kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, spserti pada
gamabr 4.27.
Tugas Akhir - Bab IV 100
AKATEL Sandhy Putra Purwokerto D308065
Jika terdapat kesamaan NIM yang merupakan primarykey
maka program akan menampilkan informasi bahwa data
sudah ada.
Gambar 4.31 : Informasi Data Sudah Ada Dalam Database
Jika kolom terisi semua dan NIM belum ada, maka program
akan menyimpan data tersebut pada tabel asisten_rl.
b. Edit data
Ketika tombol edit dieksekusi maka caption dari tombol ini akan
berubah menjadi simpan, tombol input dan hapus tidak aktif dan
caption tombol tutup berubah menjadi batal. Dalam pengubahan
data terdapat beberapa kondisi, yaitu :
Jika kolom input data kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, seperti pada
gambar 4.27.
Kolom input NIM merupakan primarykey, sehingga ketika
semua kolom input terisi tapi NIM tidak ada dalam database
maka proses pengubahan data gagal dan akan muncul
informasi seperti pada gambar 4.32.
Tugas Akhir - Bab IV 101
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.32 : Informasi Data Tidak Ada Dalam Database
Jika NIM sudah ada dalam database maka data asisten
dengan NIM tersebut akan berubah dan hasil perubahan akan
disimpan dalam database.
c. Hapus data
Ketika tombol ini dieksekusi maka tombol simpan, edit, kolom
input nama, kelas dan telepon tidak aktif dan caption tombol
tutup akan berubah menjadi batal. Perintah hapus data terdapat
beberapa kondisi, yaitu :
Jika kolom NIM kosong maka muncul informasi bahwa
kolom kolom input-an belum diisi, spseri terlihat pada
gambar 4.27.
Jika input-an kolom NIM tidak ada dalam database maka
akan muncul informasi kesalahan input-an, seperti pada
gambar 4.32.
Jika input-an NIM ada dalam database maka data dengan
NIM tersebut akan dihapus dari database.
Tugas Akhir - Bab IV 102
AKATEL Sandhy Putra Purwokerto D308065
5. Form Peserta Praktikum
Form ini berfungsi untuk menampilkan dan menghapus data
peserta praktikum, dari data program dapat mengirim SMS ke peserta
praktikum. Jika ada mahasiswa yang melakukan registrasi maka tabel
pada form ini akan update data peserta secara otomatis.
Gambar 4.33 : Desain Form Peserta Praktikum
Form ini hanya berupa tabel, di mana tabel tersebut terhubung
dengan tabel peserta_rl. Jadi setiap mahasiswa yang melakukan
registrasi akan tampil di tabel ini. Pada form ini, admin bisa
melakukan penghapusan data dengan menggunakan keyboard.
Penghapusan data tersebut dibutuhkan jika mahasiswa yang registrasi
tidak terdaftar pada mata praktikum bersangkutan.
6. Form Kelompok Praktikum
Form ini berfungsi untuk menyimpan data baru, mengubah
data, dan menghapus data mengenai pembagian kelompok.
Tugas Akhir - Bab IV 103
AKATEL Sandhy Putra Purwokerto D308065
Diharapkan dari form ini meminimalisir duplikasi peserta praktikum
sehingga mempermudah asisten praktikum dalam membagi kelompok.
Gambar 4.34 : Desain Form Kelompok Praktikum
Pada form ini terdapat perintah atau fungsi input, edit, hapus
data peserta yang akan dikelompokkan. Penjelasan dari fungsi tersebut
adalah :
a. Input data
Ketika tombol input dieksekusi maka caption dari tombol akan
berubah menjadi simpan, tombol edit tidak aktif dan caption
tombol tutup berubah menjadi batal. Dalam peng-input-an data
terdapat beberapa kondisi, yaitu:
Jika kolom pengisian kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, seperti terlihat
pada gambar 4.27.
Tugas Akhir - Bab IV 104
AKATEL Sandhy Putra Purwokerto D308065
Jika terdapat kesamaan NIM yang merupakan primarykey
maka program akan menampilkan informasi bahwa data
sudah ada, seperti pada gambar 4.31.
Jika kolom terisi semua dan NIM belum ada, maka program
akan menyimpan data tersebut pada tabel kelompok_rl.
b. Edit data
Ketika tombol edit dieksekusi maka caption dari tombol ini akan
berubah menjadi simpan, tombol input dan hapus tidak aktif dan
caption tombol tutup berubah menjadi batal. Dalam pengubahan
data terdapat beberapa kondisi, yaitu :
Jika kolom input data kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, seperti terlihat
pada gambar 4.27.
Kolom input NIM merupakan primarykey, sehingga ketika
semua kolom input terisi tapi NIM tidak ada dalam database
maka proses pengubahan data gagal, seperti pada gambar
4.32.
Jika NIM sudah ada dalam database maka data kelompok
dengan NIM tersebut akan berubah dan hasil perubahan akan
disimpan dalam database.
c. Hapus data
Ketika tombol ini dieksekusi maka tombol simpan, edit, kolom
input nama, kelas dan telepon tidak aktif dan caption tombol
Tugas Akhir - Bab IV 105
AKATEL Sandhy Putra Purwokerto D308065
tutup akan berubah menjadi batal. Perintah hapus data terdapat
beberapa kondisi, yaitu :
Jika kolom NIM kosong maka muncul informasi bahwa
kolom kolom input-an belum diisi, seperti pada gambar 4.27.
Jika input-an kolom NIM tidak ada dalam database maka
akan muncul informasi kesalahan input-an, seperti pada
gambar 4.32.
Jika input-an NIM ada dalam database maka data dengan
NIM tersebut akan dihapus dari database.
7. Form Jadwal Praktikum dan Form Kirim Jadwal
Form ini berfungsi untuk membuat jadwal praktikum, seperti
memasukkan data, mengubah, menghapus data yang berhubungan
dengan jadwal praktikum. Terdapat juga layanan untuk kirim jadwal
melalui SMS ke setiap peserta praktikum yang telah registrasi.
Tampilan form jadwal praktikum dapat dilihat pada gambar 4.35 di
bawah ini.
Gambar 4.35 : Desain Form Jadwal Praktikum
Tugas Akhir - Bab IV 106
AKATEL Sandhy Putra Purwokerto D308065
Pada form ini terdapat perintah atau fungsi input, edit, hapus
data jadwal praktikum. Kolom nomor urut pada form ini terisi
otomatis setiap tombol input dieksekusi. Penjelasan dari fungsi
tersebut adalah :
a. Input data
Ketika tombol input dieksekusi maka caption dari tombol akan
berubah menjadi simpan, tombol edit tidak aktif dan caption
tombol tutup berubah menjadi batal. Dalam peng-input-an data
terdapat beberapa kondisi, yaitu:
Jika kolom pengisian kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, seperti pada
gambar 4.27.
Jika kolom terisi semua maka program akan menyimpan data
tersebut pada tabel jadwal_rl.
b. Edit data
Ketika tombol edit dieksekusi maka caption dari tombol ini akan
berubah menjadi simpan, tombol input dan hapus tidak aktif dan
caption tombol tutup berubah menjadi batal. Dalam pengubahan
data terdapat beberapa kondisi, yaitu :
Jika kolom input data kosong atau belum lengkap maka akan
muncul informasi bahwa data belum lengkap, seperti pada
gambar 4.27.
Tugas Akhir - Bab IV 107
AKATEL Sandhy Putra Purwokerto D308065
Kolom input nomor urut merupakan primarykey, sehingga
ketika semua kolom input terisi tapi nomor urut tidak ada
dalam database maka proses pengubahan data gagal.
Gambar 4.36 : Informasi Data Tidak Ada Dalam Database
Jika nomor urut sudah ada dalam database maka data
kelompok dengan nomor urut tersebut akan berubah dan hasil
perubahan akan disimpan dalam database.
c. Hapus data
Ketika tombol ini dieksekusi maka tombol simpan, edit, kolom
input modul, sesi, tanggal dan waktu tidak aktif dan caption
tombol tutup akan berubah menjadi batal. Perintah hapus data
terdapat beberapa kondisi, yaitu :
Jika kolom nomor urut kosong maka muncul informasi
bahwa kolom kolom input-an belum diisi, seperti pada
gambar 4.27.
Jika input-an kolom nomor urut tidak ada dalam database
maka akan muncul informasi kesalahan input-an, seperti pada
gambar 4.36.
Jika input-an nomor urut ada dalam database maka data
dengan NIM tersebut akan dihapus dari database.
Tugas Akhir - Bab IV 108
AKATEL Sandhy Putra Purwokerto D308065
Jika tombol atau commandbutton Kirim Jadwal ditekan maka
muncul form baru untuk kirim jadwal ke peserta praktikum, berikut
gambar form untuk kirim jadwal.
Gambar 4.37 : Desain Form Kirim Jadwal
Pada form ini terdapat tiga commandbutton, berikut penjelasan dan
fungsi masing-masing commandbutton tersebut antara lain :
a. Tombol Cetak
Tombol ini berfungsi untuk mengambil data dari tabel jadwal_rl
dan kemudian mencetaknya pada textbox yang ada di bawahnya.
Pengambilan data didasarkan pada input-an modul pada kolom di
samping tombol cetak. Jika input-an salah atau kosong maka
muncul informasi bahwa data salah, seperti pada gambar 4.38.
Tugas Akhir - Bab IV 109
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.38 : Informasi Inputan Modul Salah
b. Tombol Kirim
Tombol ini akan aktif jika tombol cetak telah dieksekusi. Fungsi
dari tombol ini adalah untuk mengirim jadwal praktikum yang
telah di-input-kan kepada mahasiswa yang telah terdaftar dalam
layanan SMS ini.
c. Tombol Tutup
Tombol ini untuk menutup form Kirim Jadwal.
8. Form Saran
Form ini digunakan untuk menampung saran yang masuk,
dengan adanya layanan ini diharapkan bisa menjadi perantara bagi
peserta untuk menyampaikan masukkan seputar praktikum yang
berlangsung. Tampilan form saran dapat dilihat pada gambar 4.39.
Form ini hanya berupa tabel, di mana tabel tersebut terhubung dengan
tabel saran_rl. Jadi setiap mahasiswa yang mengirim pesan melaui
SMS maka data saran akan tampil di tabel ini. Pada form ini, admin
bisa melakukan penghapusan data dengan menggunakan keyboard.
Penghapusan data tersebut bertujuan jika tabel saran sudah penuh.
Tugas Akhir - Bab IV 110
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.39 : Desain Form Saran
9. Form Susunan Laporan
Form ini berfungsi untuk menyimpan dan mengubah data
susunan laporan dan menyimpannya dalam database, sehingga data
susunan laporan dapat dikirimkan ke peserta melalui layanan
autorespond. Tampilan form susunan laporan dapat dilihat pada
gambar 4.40.
Gambar 4.40 : Desain Form Susunan Laporan
Tugas Akhir - Bab IV 111
AKATEL Sandhy Putra Purwokerto D308065
Pada form ini terdapat dua commandbutton, penjelasan dan
fungsi masing-masing commandbutton tersebut adalah :
a. Tombol Simpan
Tombol ini bisa berubah caption menjadi edit dan update.
Tombol simpan digunakan untuk menyimpan data saat data
belum terisi, tombol edit digunakan untuk mengaktifkan kolom
input data format laporan, dan tombol update digunakan untuk
menyimpan hasil pengubahan data.
b. Tombol Tutup
Tombol ini bisa berubah caption menjadi batal. Tombol tutup
untuk menutup form format laporan, sedangkan tombol batal
untuk membatalkan perintah edit dan update data.
10. Form Konfigurasi Service SMSD Gammu
Form ini berfungsi untuk memasang, menghapus konfigurasi
SMSD Gammu serta menjalankan, menghentikan layanan SMSD
Gammu. Desain form Konfigurasi dapat dilihat pada gambar 4.41.
Form ini tersusun atas beberapa kontrol yang mempunyai fungsi dan
properti tersendiri sesuai penggunaannya pada program.
Gambar 4.41 : Desain Form Konfigurasi Service SMSD Gammu
Tugas Akhir - Bab IV 112
AKATEL Sandhy Putra Purwokerto D308065
Pada form ini terdapat lima commandbutton, penjelasan dan
fungsi masing-masing commandbutton tersebut antara lain :
a. Tombol Baru, digunakan untuk membuat service daemon baru
atau memasang ulang service daemon yang sudah dirubah.
b. Tombol Hapus, digunakan untuk menghapus service daemon.
c. Tombol Hidup, digunakan untuk menjalankan service daemon
yang sudah terpasang, maka jika service daemon belum terpasang
maka tombol ini tidak bekerja.
d. Tombol Mati, digunakan untuk menghentikan service daemon.
e. Tombol Tutup, digunakan untuk keluar dari form Konfigurasi.
11. Form Peserta Praktikum
Form ini untuk menampilkan data peserta praktikum yang
terdaftar dalam KRS. Fungsi dari form ini untuk menyeleksi data
peserta praktikum dengan mahasiswa yang akan melakukan registrasi,
jika NIM mahasiswa yang melakukan registrasi terdaftar dalam form
ini maka mahasiswa tersebut dapat menjadi anggota layanan SMS
server praktikum.
Gambar 4.42 : Desain Form Peserta Praktikum
Tugas Akhir - Bab IV 113
AKATEL Sandhy Putra Purwokerto D308065
F. Implementasi Layanan Aplikasi
Layanan dari aplikasi ini meliputi registrasi, unregistrasi, info
format laporan, saran dan kirim jadwal. setiap pesan yang masuk ke server
akan dibaca program dan akan mengirim pesan balasan sesuai format
pesan (autoreply). Agar pesan dalam tabel inbox tidak mengirim pesan
terus-menerus maka setiap pesan yang masuk akan diubah nilai dari field
processed-nya dari false ke true melaui listing program berikut ini :
Option Explicit Dim xTanggal As String Dim xNomor As String Private Sub CekInSMS() Dim xKunci As String 'Tampilkan data inbox strsql = "" strsql = "SELECT * FROM inbox WHERE Processed='false'" RsInbox.Open strsql, kondb, adOpenStatic, adLockReadOnly If Not RsInbox.EOF Then 'Ambil record ID xKunci = RsInbox.Fields("ID") xNomor = RsInbox.Fields("SenderNumber") xTanggal = RsInbox.Fields("ReceivingDateTime") 'panggil prosedur KirimSMS Call KirimSMS 'Ubah data strsql = "UPDATE inbox SET Processed='true'" _
& "WHERE ID='" & xKunci & "'" kondb.Execute strsql RsInbox.MoveNext End If RsInbox.Close Set RsInbox = Nothing Exit Sub End Sub
Namun sebelum mengubah field processed dari false ke true,
program akan membaca format pesan. Dari listing program di atas terdapat
Tugas Akhir - Bab IV 114
AKATEL Sandhy Putra Purwokerto D308065
pemanggilan sub KirimSMS. Sub KirimSMS merupakan listing program
untuk membaca format pesan tapi jika format salah (Case ELSE) maka
server akan membalas pesan dengan isi bahwa format pesan salah. Berikut
listing program sub KirimSMS :
Private Sub KirimSMS() Dim xPesan As String Dim keyword As String Dim arrKeyword() As String keyword = "" & RsInbox("textdecoded").Value If Len(keyword) > 0 Then If InStr(1, keyword, "#") > 0 Then arrKeyword = Split(keyword, "#") If Not (Len(arrKeyword(0)) > 0) Then xPesan = "Keyword SMS Anda Salah!"
strsql = "INSERT INTO outbox (`DestinationNumber`, `TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql End If Select Case UCase$(arrKeyword(0)) Case "REG" Debug.Print "NIM : " & arrKeyword(1) & ", Nama = " &
arrKeyword(2) & ", Kelas = " & arrKeyword(3)
Dim Pesan As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE
nim='" & arrKeyword(1) & "'", kondb
RsMhs.Open "SELECT * FROM mahasiswa WHERE nim='" & arrKeyword(1) & "'", kondb
RsKelas.Open "SELECT * FROM kelas WHERE class='" & arrKeyword(3) & "'", kondb
If Not rs_peserta.EOF Then Pesan = "NIM yang Anda Gunakan Telah Terdaftar
Sebagai Member. Registrasi Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`, `TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & Pesan & "','Gammu')"
kondb.Execute strsql Else xPesan = "" xPesan = "Terima Kasih Atas Partisipasi Anda.
Untuk Info Laporan Ketik INFO#NIM, Saran Ketik SARAN#Isi, Berhenti Ketik UNREG#NIM"
strsql = "INSERT INTO outbox (`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
Tugas Akhir - Bab IV 115
AKATEL Sandhy Putra Purwokerto D308065
kondb.Execute strsql
strsql = "INSERT INTO peserta_rl (nim, nama, kelas, telephone) VALUES ('" & arrKeyword(1) & "','" & arrKeyword(2) & "','" & arrKeyword(3) & "','" & xNomor & "')"
kondb.Execute strsql strsql = "INSERT INTO pbk (`GroupID`, `Name`,
`Number`) VALUES ('" & arrKeyword(1) & "','" & arrKeyword(2) & "','" & xNomor & "')"
kondb.Execute strsql strsql = "INSERT INTO pbk_groups (`Name`, `ID`)
VALUES ('" & arrKeyword(2) & "','" & arrKeyword(1) & "')"
kondb.Execute strsql End If rs_peserta.Close RsMhs.Close RsKelas.Close Exit Sub Case "UNREG" Debug.Print "NIM : " & arrKeyword(1) Dim isi As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE
nim='" & arrKeyword(1) & "'", kondb
If rs_peserta.EOF Then isi = "NIM yang Anda Gunakan Belum Terdaftar
Sebagai Member" strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & isi & "', 'Gammu')"
kondb.Execute strsql Else xPesan = "" xPesan = "Anda Telah Berhenti Berlangganan
Layanan SMS Praktikum AKATEL. Untuk Registrasi Kembali Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql strsql = "DELETE FROM peserta_rl WHERE nim= '" &
arrKeyword(1) & "'" kondb.Execute strsql strsql = "DELETE FROM pbk WHERE GroupID= '" &
arrKeyword(1) & "'" kondb.Execute strsql strsql = "DELETE FROM pbk_groups WHERE ID= '" &
arrKeyword(1) & "'"
Tugas Akhir - Bab IV 116
AKATEL Sandhy Putra Purwokerto D308065
kondb.Execute strsql End If rs_peserta.Close Exit Sub Case "SARAN" Debug.Print "Isi : " & arrKeyword(1) Dim q As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE
telephone='" & xNomor & "'", kondb If rs_peserta.EOF Then q = "Anda Belum Terdaftar Sebagai Member.
Silahkan Registrasi Terlebih Dahulu, Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`, `TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & q & "','Gammu')"
kondb.Execute strsql Else xPesan = "" xPesan = "Terima Kasih Atas Kritik dan Saran
Anda" strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql
strsql = "INSERT INTO saran_rl (pengirim, tanggal, isi) VALUES ('" & xNomor & "','" & Format(xTanggal, "yyyy-MM-dd hh:mm:ss") & "','" & arrKeyword(1) & "')"
kondb.Execute strsql End If rs_peserta.Close Exit Sub Case "INFO" Debug.Print "NIM : " & arrKeyword(1) Dim p As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE
nim='" & arrKeyword(1) & "'", kondb
If rs_peserta.EOF Then p = "Anda Belum Terdaftar Sebagai Member.
Silahkan Registrasi Terlebih Dahulu, Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`, `TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & p & "','Gammu')"
kondb.Execute strsql Else Dim Data As String RsInfo.Open "SELECT * FROM info WHERE id='1'",
kondb If Not RsInfo.EOF Then
Tugas Akhir - Bab IV 117
AKATEL Sandhy Putra Purwokerto D308065
'Ambil Data Data = RsInfo.Fields("data") strsql = "INSERT INTO outbox
(`DestinationNumber`,`TextDecoded`,`CreatorID`) VALUES ('" & xNomor & "','" & Data & "','Gammu')"
kondb.Execute strsql End If RsInfo.Close End If rs_peserta.Close Exit Sub Case Else Debug.Print xPesan = "" xPesan = "Keyword SMS Anda Salah! Untuk Registrasi
ketik REG#NIM#Nama#Kelas" strsql = "INSERT INTO outbox (`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql Exit Sub End Select Else ReDim arrKeyword(0) arrKeyword(0) = keyword End If Else xPesan = "Keyword SMS Anda Salah!" strsql = "INSERT INTO outbox (`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql End If End Sub
Penjelasan lebih lengkap listing program untuk membaca masing-
masing format pesan atau layanan sebagai berikut:
1. Layanan Registrasi
Dari listing program di atas, kode untuk membaca pesan
dengan format REG adalah :
Case "REG"
Tugas Akhir - Bab IV 118
AKATEL Sandhy Putra Purwokerto D308065
Debug.Print "NIM : " & arrKeyword(1) & ", Nama = " & arrKeyword(2) & ", Kelas = " & arrKeyword(3)
Dim Pesan As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE nim='" &
arrKeyword(1) & "'", kondb RsMhs.Open "SELECT * FROM mahasiswa WHERE nim='" &
arrKeyword(1) & "'", kondb RsKelas.Open "SELECT * FROM kelas WHERE class='" &
arrKeyword(3) & "'", kondb If Not rs_peserta.EOF Then Pesan = "NIM yang Anda Gunakan Telah Terdaftar Sebagai
Member. Registrasi Ketik REG#NIM#Nama#Kelas" strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & Pesan & "','Gammu')"
kondb.Execute strsql Else xPesan = "" xPesan = "Terima Kasih Atas Partisipasi Anda. Untuk
Info Laporan Ketik INFO#NIM, Saran Ketik SARAN#Isi, Berhenti Ketik UNREG#NIM"
strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql strsql = "INSERT INTO peserta_rl (nim, nama, kelas,
telephone) VALUES ('" & arrKeyword(1) & "','" & arrKeyword(2) & "','" & arrKeyword(3) & "','" & xNomor & "')"
kondb.Execute strsql strsql = "INSERT INTO pbk (`GroupID`, `Name`, `Number`)
VALUES ('" & arrKeyword(1) & "','" & arrKeyword(2) & "','" & xNomor & "')"
kondb.Execute strsql strsql = "INSERT INTO pbk_groups (`Name`, `ID`) VALUES
('" & arrKeyword(2) & "','" & arrKeyword(1) & "')"
kondb.Execute strsql End If rs_peserta.Close RsMhs.Close RsKelas.Close Exit Sub
Berdasarkan penggalan listing program di atas, pesan dengan
format REG akan diseleksi lagi, dengan membaca NIM dari isi pesan.
Jika NIM yang digunakan oleh pengirim sudah ada dalam tabel
peserta_rl pada database program maka server akan membalas pesan
berupa penyataan bahwa NIM yang digunakan oleh pengirim sudah
Tugas Akhir - Bab IV 119
AKATEL Sandhy Putra Purwokerto D308065
terdaftar. Pesan balasan yang diterima oleh pengirim dapat dilihat
pada gambar 4.43. Sedangkan jika NIM belum ada dalam tabel
peserta_rl maka pengirim akan mendapat balasan berupa ucapan
terima kasih. Pesan balasan yang diterima oleh pengirim dapat dilihat
pada gambar 4.44. Data pengirim (NIM, nama kelas dan nomor
handphone) akan disimpan pada tabel peserta_rl. Pada tabel pbk
hanya menyimpan data NIM, nama dan nomor telepon, sedangkan
pada tabel pbk_groups menyimpan data NIM dan nama. Tujuan
peyimpanan data pada tabel peserta_rl untuk menampilakan data pada
form peserta praktikum pada program, sedangkan penyimpanan pada
tabel pbk dan pbk_groups sebagai kontak yang nantinya digunakan
untuk kirim pesan kepada beberapa nomor sekaligus.
Gambar 4.43 : Pesan Balasan NIM Peserta Sudah Terdaftar
Tugas Akhir - Bab IV 120
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.44 : Pesan Balasan Ketika Registrasi Berhasil
2. Layanan Unregistrasi
Dari listing program di atas, kode untuk membaca pesan
dengan format UNREG adalah :
Case "UNREG" Debug.Print "NIM : " & arrKeyword(1) Dim isi As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE nim='" &
arrKeyword(1) & "'", kondb If rs_peserta.EOF Then isi = "NIM yang Anda Gunakan Belum Terdaftar Sebagai
Member" strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & isi & "', 'Gammu')"
kondb.Execute strsql Else xPesan = "" xPesan = "Anda Telah Berhenti Berlangganan Layanan SMS
Praktikum AKATEL. Untuk Registrasi Kembali Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql strsql = "DELETE FROM peserta_rl WHERE nim= '" &
arrKeyword(1) & "'" kondb.Execute strsql strsql = "DELETE FROM pbk WHERE GroupID= '" &
arrKeyword(1) & "'" kondb.Execute strsql
Tugas Akhir - Bab IV 121
AKATEL Sandhy Putra Purwokerto D308065
strsql = "DELETE FROM pbk_groups WHERE ID= '" &
arrKeyword(1) & "'" kondb.Execute strsql End If rs_peserta.Close Exit Sub
Berdasarkan penggalan listing program di atas, pesan dengan
format UNREG akan diseleksi lagi, dengan membaca NIM dari isi
pesan. Jika NIM yang digunakan oleh pengirim belum ada dalam tabel
peserta_rl pada database program maka server akan membalas pesan
berupa penyataan bahwa NIM yang digunakan oleh pengirim belum
terdaftar. Pesan balasan yang diterima oleh pengirim dapat dilihat
pada gambar 4.45.
Gambar 4.45 : Pesan Balasan Unregistrasi Gagal Karena NIM Belum
Terdaftar
Sedangkan jika NIM sudah ada dalam tabel peserta_rl maka
pengirim akan mendapat balasan berupa pemberitahuan bahwa proses
berhenti dari layanan SMS berhasil. Pesan balasan yang diterima oleh
pengirim dapat dilihat pada gambar 4.46. Data peserta berdasarkan
Tugas Akhir - Bab IV 122
AKATEL Sandhy Putra Purwokerto D308065
NIM yang tertera pada pesan akan dihapus dari tabel peserta_rl, pbk
dan pbk_groups.
Gambar 4.46 : Pesan Balasan Ketika Unregistrasi Berhasil
3. Layanan Informasi Format Laporan
Dari listing program di atas, kode untuk membaca pesan
dengan format INFO adalah :
Case "INFO" Debug.Print "NIM : " & arrKeyword(1) Dim p As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE nim='" &
arrKeyword(1) & "'", kondb If rs_peserta.EOF Then p = "Anda Belum Terdaftar Sebagai Member. Silahkan
Registrasi Terlebih Dahulu, Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`, `TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & p & "','Gammu')"
kondb.Execute strsql Else Dim Data As String RsInfo.Open "SELECT * FROM info WHERE id='1'", kondb If Not RsInfo.EOF Then 'Ambil Data Data = RsInfo.Fields("data") strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & Data & "','Gammu')"
kondb.Execute strsql End If
Tugas Akhir - Bab IV 123
AKATEL Sandhy Putra Purwokerto D308065
RsInfo.Close End If rs_peserta.Close Exit Sub
Berdasarkan penggalan listing program di atas, pesan dengan
format INFO akan diseleksi lagi, dengan membaca NIM dari isi pesan.
Jika NIM yang digunakan oleh pengirim belum ada dalam tabel
peserta_rl pada database program maka server akan membalas pesan
berupa penyataan bahwa NIM yang digunakan oleh pengirim belum
terdaftar. Pesan balasan yang diterima oleh pengirim dapat dilihat
pada gambar 4.47.
Gambar 4.47 : Pesan Balasan Permintaan Info Format Laporan Gagal
Karena NIM Belum Terdaftar
Sedangkan jika NIM sudah ada dalam tabel peserta_rl maka
pengirim akan mendapat balasan berupa informasi format laporan.
Pesan balasan yang diterima oleh pengirim dapat dilihat pada gambar
4.48.
Tugas Akhir - Bab IV 124
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.48 : Pesan Balasan Info Susunan Laporan
4. Layanan Saran
Dari listing program di atas, kode untuk membaca pesan
dengan format SARAN adalah :
Case "SARAN" Debug.Print "Isi : " & arrKeyword(1) Dim q As String rs_peserta.Open "SELECT * FROM peserta_rl WHERE
telephone='" & xNomor & "'", kondb If rs_peserta.EOF Then q = "Anda Belum Terdaftar Sebagai Member. Silahkan
Registrasi Terlebih Dahulu, Ketik REG#NIM#Nama#Kelas"
strsql = "INSERT INTO outbox(`DestinationNumber`, `TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & q & "','Gammu')"
kondb.Execute strsql Else xPesan = "" xPesan = "Terima Kasih Atas Kritik dan Saran Anda" strsql = "INSERT INTO outbox(`DestinationNumber`,
`TextDecoded`, `CreatorID`) VALUES ('" & xNomor & "','" & xPesan & "','Gammu')"
kondb.Execute strsql strsql = "INSERT INTO saran_rl (pengirim, tanggal,
isi) VALUES ('" & xNomor & "','" & Format(xTanggal, "yyyy-MM-dd hh:mm:ss") & "','" & arrKeyword(1) & "')"
kondb.Execute strsql End If rs_peserta.Close Exit Sub
Tugas Akhir - Bab IV 125
AKATEL Sandhy Putra Purwokerto D308065
Berdasarkan penggalan listing program di atas, pesan dengan
format SARAN akan diseleksi lagi, dengan membaca nomor telepon
pengirim. Jika nomor telepon yang digunakan oleh pengirim belum
ada dalam tabel tabel_rl pada database program maka server akan
membalas pesan berupa penyataan bahwa pengirim belum terdaftar.
Pesan balasan yang diterima oleh pengirim dapat dilihat pda gambar
4.49.
Gambar 4.49 : Pesan Balasan Layanan Saran Gagal Karena Nomor
Belum Terdaftar
Sedangkan jika nomor telepon pengirim sudah ada dalam tabel
peserta_rl maka pengirim akan mendapat balasan berupa ucapan
terima kasih. Pesan balasan yang diterima oleh pengirim dapat dilihat
pada gambar 4.50. Data saran selanjutnya akan disimpan pada tabel
saran_rl yang nantinya akan ditampilkan pada form saran.
Tugas Akhir - Bab IV 126
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.50 : Pesan Balasan Ucapan Terima Kasih
5. Layanan Kirim Jadwal
Layanan ini memungkinkan aplikasi dapat mengirim pesan
jadwal praktikum kepada peserta praktikum yang telah registrasi (data
pada tabel peserta_rl). Daftar peserta praktikum akan ditampilkan
pada sebuah komponen listview. Listing program untuk menampilkan
kontak pada komponen listview adalah sebagai berikut :
Private Sub PhoneBook() Call AturListView strsql = "" strsql = "SELECT pbk.*, pbk_groups.* FROM pbk INNER JOIN
pbk_groups ON pbk.GroupID = pbk_groups.ID ORDER BY pbk_Groups.Name"
Set RsPhone = kondb.Execute(strsql) b = 0 Do While Not RsPhone.EOF b = b + 1 Set xButir = LvInbox.ListItems.Add(, , b) xButir.SubItems(1) = RsPhone(0) xButir.SubItems(2) = RsPhone(3) xButir.SubItems(3) = RsPhone(2) RsPhone.MoveNext Loop RsPhone.Close Set RsPhone = Nothing End Sub
Tugas Akhir - Bab IV 127
AKATEL Sandhy Putra Purwokerto D308065
Dari listview tersebut memungkinkan admin untuk mengirim
pesan jadwal praktikum kepada beberapa atau seluruh peserta
praktikum. Teks pada komponen textbox (txthasil) akan dikirim
setelah admin mengeksekusi tombol kirim. Berikut listing program
pada tombol kirim yang berfungsi untuk mengirim pesan :
Private Sub KirimSMS() Dim j As Integer Dim xNumber As String For j = 1 To LvInbox.ListItems.Count xNumber = LvInbox.ListItems(j).SubItems(3) SQL = "" SQL = "INSERT INTO outbox
(`DestinationNumber`,`TextDecoded`) VALUES ('" & xNumber & "', '" & txthasil.Text & "')"
RsKirim.Open SQL, kondb, adOpenDynamic Next j txthasil.Text = "" End Sub
Gambar 4.51 adalah screenshoot pesan jadwal praktikum yang
diterima oleh peserta praktikum :
Gambar 4.51 : Pesan Jadwal Praktikum Yang Diterima Peserta
Tugas Akhir - Bab IV 128
AKATEL Sandhy Putra Purwokerto D308065
G. Pengujian
Proses pengujian terdiri dari dua macam, yaitu pengujian unit dan
pengujian integrasi. Metode pengujian yang digunakan adalah pengujian
Graph-Based. Langkah pertama yang dilakukan pada pengujian Graph-
Based adalah memahami objek yang di model dan memahami hubungan
yang akan mengintegrasikan objek-objek tersebut.
Gambar 4. 52 : Pengujian Metode Graph-Based
Berikut adalah tahapan pengujian yang dilakukan :
1. Pengujian Unit
Pengujian unit difokuskan pada usaha verifikasi pada unit-unit
yang membentuk sistem SMS Server. Pengujian unit dilakukan secara
berurutan sehingga terbentuk obyek yang saling berhubungan. Berikut
adalah urutan pengujian tersebut :
a. Koneksi handphone dengan PC server
Setelah melakukan instalasi Sony Ericsson PC Suite, maka
port koneksi handphone akan terdeteksi oleh PC server. Port ini
berfungsi untuk menghubungkan handphone dengan Gammu dan
database server.
Tugas Akhir - Bab IV 129
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.53 : Port Koneksi Handphone dengan PC Server
b. Koneksi handphone dengan Gammu
Pengujian ini bertujuan agar Gammu dapat
mengedintifikasi device yang akan dijadikan sebagai server.
Konfigurasi handphone dengan Gammu dilakukan dengan
mengubah file gammurc dan melakukan identifikasi device
melalui commandpromt.
Gambar 4.54 : Identifikasi Handphone Melalui Commandpromt
Tugas Akhir - Bab IV 130
AKATEL Sandhy Putra Purwokerto D308065
c. Koneksi handphone dengan database server dan Konfigurasi
SMS Daemon
Database server yang digunakan adalah XAMPP for
Windows. Setelah XAMPP terinstal maka selanjutnya adalah
membuat database baru yang nantinya berisi tabel-tabel bawaan
dari Gammu, cara memasukkan tabel-tabel tersebut dapat
dilakukan melalui jendela phpmyadmin melalui menu export.
Langkah berikutnya adalah melakukan instalasi service daemon
melalui commandpromt.
Gambar 4.55 : Instalasi SMS Daemon Melalui Commandpromt
d. Koneksi database server dengan program
Koneksi antara database server dengan program aplikasi
menggunakan perangkat lunak MySQL ODBC 5.1. Pengaturan
konfigurasi koneksi dilakukan melalui menu Microsoft ODBC
Administrator. Pada menu tersebut akan dibuat DNS baru sebagai
koneksi database server dengan program aplikasi yang
menggunakan Visual Basic 6.0.
Tugas Akhir - Bab IV 131
AKATEL Sandhy Putra Purwokerto D308065
Gambar 4.56 : Konfigurasi Koneksi Database Server dengan
Program Melalui ODBC Administrator
2. Pengujian Integrasi
Pengujian integrasi adalah sebuah teknis yang sistematik
dalam membangun suatu sistem SMS server. Pada pengujian ini
dilakukan dilakukan percobaan kirim dan terima pesan oleh server.
Pengujian integrasi bertujuan untuk mempergunakan komponen unit
yang telah diuji dan membangun sistem SMS server yang telah
dirancang sebelumnya.
Pengujian integrasi yang digunakan adalah pengujian Top
Down Integration. Pengujian Top Down Integration merupakan
pendekatan secara bertahap yang dilakukan untuk membangun suatu
sistem SMS server, dari sisi server dan sampai nanti percobaan dari
sisi client.
Tugas Akhir - Bab IV 132
AKATEL Sandhy Putra Purwokerto D308065
1. Pemeriksaan kondisi jaringan operator seluler
Pengujian kondisi jaringan operator dapat dilakukan
dengan melihat skala bar yang tampil pada layar handphone. Bisa
juga dengan melihat cakupan jaringan masing-masing penyedia
operator melalui website resmi. Pengujian kondisi jaringan sangat
penting agar kinerja layanan SMS server dapat berjalan
maksimal, saat menerima pesan maupun untuk mengirim pesan.
Pengujian jaringan berlaku dari sisi server maupun client.
2. Pengujian layanan aplikasi SMS Server
Prosedur pengujian ini, client harus melakukan
pengiriman pesan registrasi ke server terlebih dahulu, jika proses
registrasi berhasil maka selanjutnya dapat dilakukan pengujian
terhadap layanan SMS server yang lainnya.
Setelah handphone terkoneksi dengan komputer dan
sevice daemon, maka langkah selanjutnya adalah mengeksekusi
program aplikasi SMS Server. Arsitektur sistem kerja program
dapat dilihat pada gambar 4.57, penjelasan dari gambar tersebut
adalah peserta mengirimkan pesan dengan kode/format layanan
yang telah ditentukan oleh program aplikasi dan kemudian pesan
tersebut diterima oleh handphone pada sisi server, selanjutnya
pesan yang masuk akan diidentifikasi terlebih dahulu oleh
program, apabila format pesan yang diterima server sesuai maka
isi pesan akan disimpan pada database yang terdapat pada
Tugas Akhir - Bab IV 133
AKATEL Sandhy Putra Purwokerto D308065
komputer server. Selanjutnya sever akan mengirim pesan balasan
sesuai format pesan dari pengirim, jika sudah membalas pesan
maka pesan yang tersimpan pada database tidak dihapus tapi
hanya di-update pada bagian field ID-nya dari false menjadi true
sehingga sehingga pesan tidak akan terkirim berulang-ulang.
Tujuan pesan yang masuk tidak dihapus adalah sebagai history
dari program.
Gambar 4.57 : Proses layanan SMS Server
a. Pengujian Aplikasi Pra-survei
Sebelum melakukan survei, program juga perlu dilakukan
pengujian oleh pembuat, tujuannya untuk memastikan apakah aplikasi
sudah siap untuk di uji coba ke orang lain tidak. Hasil pengujian dapat
dilihat pada tabel 4.1.
User
Kode
Layanan
Jawaban SMS
Layanan
Tugas Akhir - Bab IV 134
AKATEL Sandhy Putra Purwokerto D308065
Tabel 4.1 : Pengujian Program Aplikasi
No. Form/Menu
yang Diujikan Proses
Hasil
Berhasil Gagal
1 Form Login Login dengan beberapa
kondisi √
2 Form Mata
Praktikum Simpan, edit, hapus data √
3 Form Format
Laporan Simpan, edit data √
4 Form Admin Simpan, edit, hapus data √
5 Form
Konfigurasi
Koneksi dan putus dari
service SMSD √
6 Form Info Menampilkan form info √
7 Autorespond Registrasi, unregistrasi,
info, saran √
8 Kirim Pesan Kirim jadwal praktikum √
Berdasarkan survei yang dilakukan oleh penulis terhadap lima
responden mengenai tampilan, manfaat, uji layanan, uji koneksi aplikasi
dihasilkan :
Tabel 4.2 : Rekap Hasil Survei Terhadap Lima Responden
No Keterangan Penilaian
Jelek Cukup Baik Berhasil Gagal
1
Tampilan :
1. Penempatan Form - 4 1
2. Penggunaan Font - 3 2
3. Penggunaan Warna - 3 2
2
Manfaat :
1. Mempermudah Informasi
Jadwal Praktikum - 2 3
2. Mempersingkat Waktu
Dalam Bekerja 2 1 2
3. Keakuratan Penyimpanan
Data - 4 1
4. Kelengkapan
Layanan/Informasi - 4 1
Tugas Akhir - Bab IV 135
AKATEL Sandhy Putra Purwokerto D308065
Tabel 4.2 : Rekap Hasil Survei Terhadap Lima Responden (lanjutan)
No Keterangan Penilaian
Jelek Cukup Baik Berhasil Gagal
3
Form Login :
a. Akurasi - 4 1
b. Keamanan - 4 1
Form Mata Praktikum :
a. Simpan 5 -
b. Edit 5 -
c. Hapus 5 -
Form Format Laporan :
a. Simpan 5 -
b. Edit 5 -
c. Hapus 5 -
Form Admin :
a. Simpan 5 -
b. Edit 5 -
c. Hapus 5 -
Form Konfigurasi :
a. Koneksi 5 -
b. Putus 5 -
4
Layanan Aplikasi :
a. Registrasi 5 -
b. Unregistrasi 5 -
c. Info Susunan Laporan 5 -
d. Saran 5 -
e. Kirim Jadwal 5 -
Keterangan: Untuk hasil soal essay dan saran dari responden dapat dilihat
pada lampiran lembar kuisioner.
Dari hasil survei tersebut dilakukan penilaian untuk menentukan
layak atau tidaknya aplikasi SMS server informasi kegiatan praktikum ini
diiaplikasikan di kampus AKATEL. Sesuai dengan standar penilaian yang
telah ditentukan, berikut hasil penilaian :
Tugas Akhir - Bab IV 136
AKATEL Sandhy Putra Purwokerto D308065
a. Tampilan/interface aplikasi
Penempatan form = (0) + (4x1) + (6x2) = 0 + 4 + 12 = 16
Pengguanaan font = (0) + (3x1) + (7x2) = 0 + 3 + 14 = 17
Penggunaan warna = (0) + (3x1) + (6x2) = 0 + 3 + 12 = 15
Prosentase = , memenuhi
standar dengan batas minimal 75%.
b. Manfaat aplikasi
Penilaian poin ini diambil dari soal essay pada kuisioner, dan hasilnya
semua responden menyatakan aplikasi ini bermanfaat.
Prosentase = 100%, memenuhi standar dengan batas minimal 90%.
c. Kemudahan penggunaan aplikasi
Penilaian poin ini diambil dari tabel survei serta soal essay.
Mempersingkat waktu dalam bekerja
Nilai = (2x0) + (0x1) +(13x2) = 0 + 0 + 16 = 16 dari total 20
Dari soal essay peserta menyatakan baik
Total prosentase = 90%, memenuhi standar dengan batas minimal
90%.
d. Kelengkapan layanan aplikasi
Penilaian poin ini diambil dari tabel survei serta soal essay.
Kelengkapan layanan informasi
Nilai = (0) + (4x1) + (6x2) = 0 + 4 + 12 = 16 dari toatal 20
Dari soal essay responden menyatakan cukup lengkap dan sudah
bisa dimanfaatkan.
Tugas Akhir - Bab IV 137
AKATEL Sandhy Putra Purwokerto D308065
Total prosentase = 80%, tidak memenuhi standar dengan batas
minimal 80%.
e. Keamanan (form login)
Akurasi = (0) + (0x1) +(10x2) = 0 + 0 + 20 = 20
Keamanan = (0) + (0x1) +(10x2) = 0 + 0 + 20 = 20
Prosentase = 100%, memenuhi standar dengan batas minimal 100%.
f. Kinerja tiap form (input, edit dan hapus data)
Dari tabel kuisioner kinerja aplikasi untuk input, edit dan hapus data
semua berhasil.
Prosentase = 100%, memenuhi standar dengan batas minimal 100%.
g. Kinerja layanan aplikasi (autorespond dan kirim pesan)
Dari tabel kuisioner kinerja layanan aplikasi untuk autorespond dan
kirim jadwal semua berhasil. Saran/kritik dari responden menyatakan
kinerja sudah baik namun proses responnya masih terbilang lama.
Prosentase = 80%, tidak memenuhi standar dengan batas minimal
80%.
H. Analisa Sistem Kerja SMS Server
1. Waktu Pengiriman Pesan
a. Kirim Pesan Baru/Jadwal Praktikum
Pada percobaan pengiriman pesan saat kondisi normal,
program berhasil mengirim pesan ke nomor telepon kontak (5
sampel) dengan lancar. Pengiriman pesan berurutan sesuai urutan
id. Rata-rata pengiriman dapat dilihat pada tabel 4.3.
Tugas Akhir - Bab IV 138
AKATEL Sandhy Putra Purwokerto D308065
Tabel 4.3 : Waktu Pengiriman
Hubungan Waktu (detik)
1 29
2 52
3 74
4 96
5 117
b. Autorespond
Percobaan autorespond pada kondisi normal, dengan
menggunakan komponen timer dengan interval 1000 untuk
memperoleh data rata-rata SMS yang berhasil. Program akan
membaca SMS yang masuk rata-rata setiap 10 detik, bergantung
dari banyaknya SMS yang masuk dalam waktu yang bersamaan.
Saat percobaan dilakukan pengaksesan terhadap lima SMS yang
masuk hampir bersamaan dan hal tersebut masih bisa ditangani,
karena program akan membalas pesan berdasarkan urutan pesan
masuk.
Tabel 4.4 : Waktu Autorespond
Hubungan Waktu (detik)
1 32
2 80
3 58
4 54
5 31
Tugas Akhir - Bab IV 139
AKATEL Sandhy Putra Purwokerto D308065
2. Faktor-faktor yang Mempengaruhi Proses Pengiriman Pesan
a. Banyaknya peserta/pengakses yang meminta layanan informasi
praktikum ini akan mempengaruhi dalam membalas pesan, pesan
akan dibalas sesuai format dan dikirim sesuai urutan waktu
masuknya pesan pengakses.
b. Pesan akan diproses jika server dalam keadaan hidup, jika server
dalam keadaan mati maka jawaban pesan yang masuk akan ditunda
terlebih dahulu dan pesan disimpan dalam memori handphone.
c. Pengiriman pesan dan autorespond dari server akan ditunda
terlebih dahulu jika nomor yang dimiliki server tidak memiliki
pulsa.
I. Pembahasan
Ide dari pembuatan aplikasi SMS server informasi kegiatan
praktikum sebagai tugas akhir muncul setelah melihat beberapa laporan
tugas akhir mahasiswa senior dan pengalaman penulis pribadi yang pernah
menjadi asisten praktikum sekaligus peserta praktikum. Dalam pandangan
penulis informasi kegiatan praktikum masih susah dalam penyampaiannya.
Selama ini informasi jadwal praktikum hanya ditempel di papan majalah
dinding kampus. Hal tersebut masih menjadi kendala karena tidak semua
peserta praktikum melihat informasi tersebut, sehingga setiap praktikum
berlangsung ada peserta terlambat bahkan tidak hadir dikarenakan tidak
mengetahui jadwal praktikum. Dengan adanya aplikasi SMS server
Tugas Akhir - Bab IV 140
AKATEL Sandhy Putra Purwokerto D308065
praktikum ini dapat mengoptimalkan penyampaian informasi seputar
kegiatan praktikum kepada peserta praktikum.
Awal rencana SMS server yang dibuat akan menggunakan
perangkat lunak FBUS sebagai server SMS. Namun, kendala dari
penggunaan FBUS adalah jenis handphone yang kompatibel masih sangat
sedikit, selain itu untuk koneksi handphone dengan PC harus
menggunakan kabel serial yang sekarang sudah jarang ditemui, kalaupun
ada biasanya dijual secara paket. Selanjutnya penulis memilih
menggunakan Gammu. Perangkat Gammu memberikan banyak pilihan
device untuk digunakan, konektor ke PC juga variatif. (Lihat lampiran 2)
Dari literatur yang telah dibaca, kebanyakan dari menggunakan
bahasa pemrograman Visual Basic 6.0. Selain itu bahasa pemrograman
Visual Basic 6.0. sudah tidak asing oleh penulis, oleh karena hal tersebut
proyek tugas akhir ini menggunakan Visual Basic 6.0. sebagai bahasa
program.
Beberapa perangkat lunak pendukung lainnya, seperti XAMPP,
MySQL ODBC 5.1 digunakan karena mudah penggunaannya, gampang
pemasangan dan konfigurasinya serta lebih banyak digunakan oleh
pengembang aplikasi SMS server sehingga tutorial perangkat lunak
tersebut lebih banyak ditemukan.
Setelah ketersediaan hardware dan software terpenuhi, langkah
selanjutnya adalah perancangan database dan interface program. Untuk
perancangan database, sudah terdapat beberapa tabel bawaan dari
Tugas Akhir - Bab IV 141
AKATEL Sandhy Putra Purwokerto D308065
perangkat lunak Gammu yang berfungsi sebagai pengirim pesan.
Selanjutnya tinggal menambahkan beberapa tabel pendukung aplikasi.
Perancangan interface dilakukan berdasarkan kebutuhan pengguna, kira-
kira fitur apa saja yang dibutuhkan oleh asisten praktikum dan peserta
praktikum?
Langkah selanjutnya setelah perancangan interface dan database
selesai adalah mengimplementasikannya. Pembuatan tabel-tabel database
bisa menggunakan phpMyadmin maupun SQL manager, untuk tabel
bawaan dari Gammu dapat di-import melalui phpMyadmin. Sedangkan
pembuatan desain interface menggunakan Visual Basic 6.0.
Setelah proses pembuatan program selesai, selanjutnya dilakukan
pengujian program. Pengujian dimaksudkan untuk mengetahui kehandalan
program serta mencari kesalahan (error/debug) sehingga nanti bisa didapat
output yang memuaskan. Untuk memantapkan pengujian dapat dilakukan
survei kepada responden, dalam survei tugas akhir ini dilakukan terhadap
sepuluh responden yang merupakan mahasiswa aktif Akademi Teknik
Telekomunikasi Sandhy Putra Purwokerto.
Dalam survei terdapat tujuh aspek yang dinilai, yaitu tingkat
keamanan, manfaat, interface, kemudahan, kelengkapan, kinerja program
dan kinerja layanan. Penentuan layak atau tidaknya aplikasi didasarkan
pada penilaian dari ketujuh aspek tersebut. Jika ketujuh aspek tersebut
memenuhi standar penilaian maka dianggap layak, sedangkan jika salah
Tugas Akhir - Bab IV 142
AKATEL Sandhy Putra Purwokerto D308065
satu saja aspek tidak memenuhi standar maka aplikasi dianggap belum
layak untuk diimplementasikan dalam lingkungan kampus.
Berdasarkan rekap hasil survei, didapatkan dari tujuh aspek yang
dinilai semua memenuhi standar penilaian, maka dari itu aplikasi ini
pastikan sudah layak untuk diimplementasikan. Walaupun sudah layak,
aplikasi ini belum sempurna dan bisa dikembangkan lebih lanjut dari sisi
fitur maupun layanan yang ditawarkan.
top related