KESIMPULAN DAN SARAN PENERAPAN ONE TIME PASSWORD MENGGUNAKAN SMS GATEWAY PADA APLIKASI FORUM DISKUSI.
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Kesimpulan yang didapat dari pembangunan perangkat
lunak ini adalah:
1.
Konsep
One Time Password
dengan menggunakan
SMS
Gateway
dapat
diterapkan
pada
perbankkan,
payment account
,
dan toko
online
dimana keamanan merupakan hal yang vital di
bidang tersebut.
2.
Konsep ini lebih aman daripada sistem login
biasa
dikarenakan:
password
yang
selalu
berganti
dan
dikirimnya
password
melalui
jaringan lain langsung kepada user. Kelemahan
dari konsep ini terdapat pada waktu pengiriman
yang sangat tergantung pada jaringan.
3.
Hal yang perlu diperhatikan dalam penerapan
konsep ini adalah
delay
antara saat user
meminta
password
dengan saat user mendapatkan
password
via SMS(
Short Message Service
).
5.2. Saran
Saran dan perbaikkan dari pembangunan perangkat
lunak
ini
adalah
konsep
ini
dapat
diterapkan
menggunakan alat atau media lain untuk mempercepat
waktu pengiriman (Contoh: email, alat khusus semacam
(2)
DAFTAR PUSTAKA
DevelopersHome.com team, 2008,
SMS Tutorial
, dari situs
http://www.developershome.com, diakses 1 Februari 2009
Dwix, Gus, 2008,
SMS (Short Message Service) Gateway using
Gammu, PHP and VB.Net for The Application
, dari situs
http://sms-gammu.blogspot.com, diakses 1 Februari 2009
Ferdiana, Ridi, 2006,
Membangun Aplikasi Smart Client dengan
Visual C# dan Visual Web Developer Express
, Penerbit Andi,
Yogyakarta.
Gammu.org Wiki, 2008,
Gammu
, dari situs
http://www.gammu.org/wiki, diakses 28 September 2008
Imron Rozidi, Romzi, 2004
, Membuat Sendiri SMS Gateway (ESME)
Berbasi Protokol SMPP
, Penerbit Andi, Yogyakarta
Wikimedia Foundation Inc, 2009,
One-time password
, dari situs
http://en.wikipedia.org, diakses 1 Februari 2009
(3)
(4)
NAMA
:
PEKERJAAN
:
“One Time Password Menggunakan SMS Gateway”
Keamanan
1.
Apakah jaminan bahwa hanya anda yang dapat mengakses account anda, merupakan hal
yang penting bagi anda?
a. ya
b. tidak
2.
Apakah dengan terus bergantinya password dalam setiap kali login, akan membuat
account anda menjadi lebih aman?
a. lebih aman
b. sama saja
c.kurang aman
3.
Apakah dengan dikirimnya password langsung kepada handphone user membuat
mekanisme login menjadi lebih aman dibandingkan dengan login biasa?
a. lebih aman
b. sama saja
c.kurang aman
Penggunaan
4.
Apakah dengan tidak perlu mengingat password, merupakan hal yang menguntungkan
bagi anda?
a. ya
b. tidak
5.
Apakah penggunaan SMS sebagai media transfer password menurut anda sudah tepat?
a. ya
b. tidak,alat lain...
6.
Menurut anda apa kelemahan dari mekanisme login seperti ini?
Jawaban:
7.
Apakah anda setuju apabila konsep ini diterapkan?
a. ya
b. tidak
Alasan:
8.
Dalam bidang apa sajakah menurut anda konsep OTP seharusnya diterapkan:
-Game Online
-Forum
-Perbank-kan
-Payment Account
-Toko Online
-Chatting
(5)
Pengujian Produk Terhadap Responden
Pengujian produk secara umum kepada responden
dilakukan dengan cara meminta beberapa responden untuk
mencoba perangkat lunak secara keseluruhan serta
meminta pendapat dari para responden tersebut.
Gambar 1 Hasil Reponden
20 19 5 6 0 0 0 5 10 15 20 25
Ganti Password Aman Kirim Langsung ke SMS Aman
Setuju Sama Kurang 23 17 21 25 2 8 4 0 0 5 10 15 20 25 30 Keamanan Penting Tidak Ingat Password Untung
Alat Cocok Diterapkan
Setuju Tidak
(6)
Jumlah Pilihan
23
6
4
14
5
17
0
Perbankkan
Forum
Game Online
Toko Online
E-learning
Payment Account
Chatting
(7)
ONE TIME PASSWORD (OTP)
MENGGUNAKAN SMS GATEWAY
1. Pendahuluan
1.1 Tujuan
Tujuan dari dokumen spesifikasi kebutuhan perangkat
lunak dalam program yang dibuat penulis yaitu untuk
mendefinisikan kebutuhan perangkat lunak yang meliputi
antarmuka eksternal (antarmuka antara sistem dengan sistem
lain perangkat lunak dan perangkat keras, dan pengguna)
perfomansi (kemampuan perangkat lunak dari segi kecepatan,
tempat penyimpanan yang dibutuhkan, serta keakuratan), dan
atribut (
feature-feature
tambahan yang dimiliki sistem),
serta mendefinisikan fungsi perangkat lunak. Dalam SKPL ini
juga mendefinisikan batasan perancangan perangkat lunak.
1.2 Lingkup Masalah
Program dibuat untuk menghasilkan password sekali
pakai (OTP) via SMS (Short Message Service) terhadap user
yang akan login (penulis akan menerapkan contoh kasus pada
login forum mahasiswa ). User mengirimkan SMS sesuai dengan
format yang telah ditentukan untuk mendapatkan fasilias
dari program ini ( fasilitas yang disediakan mendapatkan
password ataupun daftar baru). Program dikembangkan dengan
menggunakan perangkat lunak Visual Studio.NET 2003 dengan
bahasa pemrograman C# .NET.
(8)
1.3 Definisi Akronim dan Singkatan
Daftar definisi dan akronim yang digunakan :
Keyword /Phrase
Definisi
SKPL
Merupakan spesifikasi kebutuhan dari
perangkat lunak yang akan dikembangkan.
Server
Komputer yang menyediakan sumber daya
bagi
klien
yang
terhubung
melalui
jaringan
DataBase
Kumpulan
data
yang
terkait
yang
diorganisasikan dalam struktur tertentu
dan dapat diakses dengan cepat.
User
Interface
Information
Informasi mengenai antarmuka pemakai
dengan sistem
SMS
Merupakan sebuah layanan yang banyak
diaplikasikan pada sistem komunikasi
tanpa kabel, memungkinkan dilakaknya
pengiriman
pesan
dalam
bentuk
aplhanumeric .
Unified
Modeling
Language (UML)
Sebagai
penggambaran
sistem
secara
logika tanpa memperhatikan lingkungan
fisik dimana user berinteraksi dengan
sistem.
(9)
1.4 Referensi
Dokumen yang digunakan sebagai acuan dalam rencana
pengembangan perangkat lunak ini adalah :
1.
Ekawati, Vina, SKPL SiWaVi, Program Studi Teknik
Informatika Universitas Atma Jaya Yogyakarta, 2007.
2.
Kristianto, Ivan, SKPL-Genie, Program Studi Teknik
Informatika Universitas Atma Jaya Yogyakarta, 2007.
3.
Salu, Loritha Amanda, SKPL-WebICC. Program Studi
Teknik Informatika Universitas Atma Jaya Yogyakarta,
2004.
1.5 Deskripsi Umum
Secara umum dokumen SKPL tersebut terbagi atas 3
bagian utama. Bagian utama berisi penjelasan mengenai
dokumen SKPL tersebut yang mencakup tujuan pembuatan SKPL,
ruang lingkup masalah dalam pengembangan perangkat lunak
tersebut, definisi, referensi dan deskripsi umum tentang
dokumen SKPL ini. Bagian kedua berisi penjelasan umum
tentang perangkat lunak yang akan dikembangkan, mencakup
perspektif produk yang akan dikembangkan, fungsi perangkat
lunak, karakteristik pengguna, batasan dalam penggunaan
perangkat lunak dan asumsi yang dipakai dalam pengembangan
perangkat lunak tersebut. Bagian ketiga berisi penjelasan
secara lebih rinci tentang kebutuhan perangkat lunak yang
akan dikembangkan.
(10)
2. Deskripsi Kebutuhan
2.1 Prespektif Produk
Program dibuat untuk membuat password sekali pakai,
dimana data dikirimkan melalui SMS. Langkahnya adalah
membuat komputer menjadi SMS Gateway dengan bantuan Gammu.
Disediakan 3 fungsionalitas yaitu daftar baru , membentuk
password, menghapus mahasiswa. Untuk daftar baru dan hapus,
user harus mengirimkan teks sesuai dengan format yang telah
ditentukan. User mendapatkan password secara otomatis,
ketika user memasukkan username kedalam forum mahasiswa.
Gambar 1.1
System Diagram
Forum Mahasiswa
computer Server
Server Side
(11)
2.2 Kebutuhan Fungsionalitas Perangkat Lunak
Gambar 2.1 Use Case Diagram
2.2.1 Use Case:Mengelola Data User Forum
Use Case ini digunakan oleh Admin untuk mengelola data
yang ada baik untuk mendata user baru atau menghapus user
forum.
Admin
Mengelola Data User Forum
Mendaftar Account Forum
User
Login Forrun
Generate password
OTP Generator
(12)
2.2.2 Use Case:Mendaftar Account Forum
Use Case ini digunakan oleh user untuk mendapatkan
user account pada sistem.
2.2.3 Use Case:Login Forum
Use Case ini digunakan oleh user untuk masuk kedalam
sistem dengan cara memasukkan user name, dan sistem akan
memberikan password sementara yang akan dimasukkan oleh
user.
2.2.4 Use Case:Generate Password
Use Case ini digunakan untuk menciptakan password
sementara yang digunakan untuk login ke forum
2.2.5 Use Case:Reset Status Login
Use Case ini digunakan untuk mereset status login. Hal
ini dilakukan apabila user tidak dapat login ke dalam
forum, akibat lupa menekan tombol sign out (langsung
meng-close web browser)
(13)
2.3 Kebutuhan Non-Fungsionalitas Perangkat Lunak
2.3.1 Kebutuhan Antarmuka Eksternal
Kebutuhan antar muka eksternal pada program meliputi
kebutuhan antarmuka pemakai, antarmuka perangkat keras,
antarmuka perangkat lunak, antarmuka komunikasi.
2.3.2 Antarmuka Pemakai
Pengguna
berinteraksi
dengan
antarmuka
yang
ditampilkan dalam layar komputer dengan format halaman menu
dengan pilihan fungsi, form dan tampilan informasi pada
layar monitor.
2.3.3 Antarmuka Perangkat Keras
Antarmuka
perangkat
keras
yang
digunakan
dalam
perangkat lunak ini adalah:
1.
PC
2.
Keyboard dan mouse
3.
Handphone
4.
Kabel Data
2.3.4 Antarmuka Perangkat Lunak
Perangkat lunak yang dibutuhkan untuk mengoperasikan
perangkat lunak ini adalah sebagai berikut :
1.
Nama
: MySql Server 5.0
Sumber : MySql
Sebagai database yang dibutuhkan dalam mengoperasikan
perangkat lunak.
2.
Nama
: Gammu
Sumber : Gammu
(14)
Sebagai tools pembantu agar komputer dapat berfungsi
sebagai SMS Gateway.
3.
Nama
: Driver Handphone
Sumber : Menyesuaikan dengan jenis Hand Phone
Agar komputer mengenali handphone anda.
4.
Nama
: Windows XP
Sumber : Microsoft.
5.
Nama
: .NET Framework
Sumber : Microsoft.
6.
Nama
: Vanilla-1.1.4
Sumber : lussumo
2.4 Karakteristik Pengguna
Pengguna perangkat lunak adalah bagian admin dengan
karakteristik sebagai berikut :
1.
Memahami pengoperasian komputer serta perangkat tambahan
komputer yang digunakan
2.
Mengerti dan memahami perangkat lunak yang digunakan
2.5 Batasan-batasan
Batasan dalam pengembangan perangkat lunak ,yaitu :
1.
Handphone yang digunakan sebagai modem adalah Sony
Ericcson seri K530i.
2.
Penulis menerapkan contoh kasus pada login ke forum
mahasiswa
(15)
3 Deskripsi Rinci Kebutuhan
3.1 Spesifikasi Kebutuhan fungsionalitas
3.1.1 Spesifikasi Use Case : Mengelola Data User Forum
Tabel 3.1 Spesifikasi Use Case : Mengelola Data User Forum
Use Case ID
UC-OTP-1
Use Case Name
Mengelola Data User Forum.
Use Case Type
Essential.
Priority
High.
Actors
Admin.
Description
Use Case ini digunakan oleh Admin untuk
mengelola
data
yang
ada
baik
untuk
mendata user baru atau menghapus user
forum
Preconditions
aktor masuk kedalam sistem
Basic Path
Tambah Data
1.Aktor memilih tab register dan menekan
tombol ok pada pendaftaran user
2.Sistem mencatat data dalam database.
Alternative Path
A-1 Send Reply
1.Aktor memilih tombol untuk membalas
2.Aktor menuliskan balasan
3.Sistem mengirim SMS ke nomor tujuan.
A-2 Hapus Data
1.Aktor
memilih
tab
unregister
dan
menekan tombol ok pada penghapusan user
2.Sistem menghapus data dalam database.
(16)
Exception Path
-
Extends
-
Includes
-
3.1.2 Spesifikasi Use Case : Mendaftar Account Forum
Tabel 3.2 Spesifikasi Use Case : Mendaftar Account Forum
Use Case ID
UC-OTP-2
Use Case Name
Mendaftar Account Forum.
Use Case Type
Essential.
Priority
High.
Actors
User.
Description
Use case ini digunakan oleh aktor untuk
melakukan pendaftaran ke forum.
Preconditions
Sistem siap untuk menerima data.
Basic Path
1.
Aktor mengirim SMS dengan format
yang telah ditentukan.
2.
Sistem menerima data yang dikirimkan
3.
Sistem mencatatnya dalam database.
4.
Sistem mengirim balasan ke user.
Alternative Path -
Post Condition
Data tercatat didalam database.
Exception Path
-
Extends
-
(17)
3.1.3 Spesifikasi Use Case : Login Forum
Tabel 3.3 Spesifikasi Use Case : Login Forum
Use Case ID
UC-OTP-3
Use Case Name
Login Forum.
Use Case Type
Essential.
Priority
High.
Actors
User.
Description
Use case ini digunakan oleh aktor untuk
login ke forum, dengan memasukkan user
name maka user akan mendapatkan SMS dari
sistem yang berisi password sementara
(OTP) yang digunakan untnk masuk ke
sistem.
Preconditions
User masuk kedalam sistem (forum.)
Basic Path
1.
Sistem menampilkan form login.
2.
Aktor
memasukkan
username
kedalam
sistem.
3.
Sistem
meng-generate
OTP
dan
mengirimkannya ke user melalui SMS.
4.
Aktor memasukkan password.
Alternative Path -
Post Condition
User masuk kedalam forum
Exception Path
Password yang dimasukkan salah
1.
Sistem
menampilkan
pesan
bahwa
password salah.
2.
Sistem menampilkan tampilan untuk
meminta
user
memasukkan
username
lagi.
(18)
Extends
-
Includes
-
3.1.4 Spesifikasi Use Case : Generate Password
Tabel 3.4 Spesifikasi Use Case : Generate password
Use Case ID
UC-OTP-4
Use Case Name
Generate Password
Use Case Type
Essential.
Priority
High.
Actors
User.
Description
Use case ini digunakan untuk menciptakan
password sementara yang digunakan untuk
login ke forum
Preconditions
Sistem sudah menerima user name
Basic Path
1.
Sistem menerima username yang meminta
password
2.
Sistem mengirim password yang sudah
dibentuk ke nomor peminta.
Alternative Path -
Post Condition
Password terkirim
Exception Path
-
Extends
-
(19)
3.1.5 Spesifikasi Use Case : Reset Status Login
Tabel 3.5 Spesifikasi Use Case : Reset Status Login
Use Case ID
UC-OTP-5
Use Case Name
Reset Status Login
Use Case Type
Essential.
Priority
High.
Actors
User.
Description
Use Case ini digunakan untuk mereset
status login
Preconditions
user tidak dapat login ke dalam forum,
akibat lupa menekan tombol sign out
Basic Path
1.
User
mengirim
SMS
untuk
mereset
password sesuai format.
2.
Sistem mengecek pengirim.
3.
Sistem mengupdate database.
Alternative Path -
Post Condition
database terupdate
Exception Path
-
Extends
-
(20)
use r use rid pho ne customsty le first name last name nam e curr_pass veri ficatio nkey em ailveri ficatio nkey em ail
util izeem ail sho wnam e icon pict ure attributes cou ntvisit cou ntdisc ussion cou ntcom ments dat efirstvi sit dat elasta ctive rem otelp last discussionpo st disc ussion spam check last comm entpo st com ment spamc heck use rblockscateg ories def aultformattyp e disc overy pre ferenc es log in cate gory
cate goryi d nam e_ca t descriptio n_r prio rity
use rroleh istory dat e_urh adm inuse rid not es rem otelp_ urh
cate goryb lock blo ckedcb ind excatb lockuser
cate goryroleblo ck blo cked
ind ex cat roleblo ckcat ind ex cat roleblo ckrole
use rdiscu ssionwatch cou ntcom ments last viewe d
com ment com ment id aut huseri d dat ecreat ed edi tuserid dat edited whi speruserid bod y form attyp e del eted dat edelet ed dal eteuse rid rem otelp_ com ind ex com ment user ind ex com eentwhispe r ind ex com eentd iscussion
styl e styl eid aut huseri d nam e url
pre viewim age
lph istory lph istoryid rem otelp_ lphist ory use rid_lp dat elogge d
disc ussion disc ussion id aut huseri d whi speruserid first comm entid last userid acti ve closed stic ky sink nam e dat ecreat ed dat elasta ctive cou ntcom ments cate goryi d_dis whi sperto lastuse rid whi sperfro mlast userid dat elastwhisper tota lwhisp ercou nt ind ex disc ussion user ind ex disc ussion whipe ruser ind ex disc ussion first ind ex disc ussion last ind ex disc ussion categ ory ind ex disc ussion datea ctive
role role id nam e icon descriptio n_r acti ve
permissio n sign in permissio n html allowe d
permissio nrecie veapp licatio nnotif ication permissio n
prio rity una uthen ticated
discussion whisp erfrom whi sperfro muse rid
last userid cou ntwhisper dat elasta ctive
ind ex disc ussion userwhipserlastuse r ind ex disc ussion whisp erlasta ctive
disc ussion userwhisperto whi sperto userid
last userid cou ntwhisper dat elasta ctive
ind ex disc ussion userwhispertolastu ser ind ex disc ussion userwhispertolasa ctive
inb ox id
text upd ateind b rece ivein gdatet ime upd ateind b cod ing udh smscnum ber class text decod ed rece pient id pro cessed
3.2 Persistent Data
3.2.1 Basis Data
vanilla
database
G
A
M
M
U
(21)
4 Realisasi Use Case
4.1 Static Structured Diagram
4.1.1 Analysis Class Diagram
Gambar 4.1 Analysis Class Diagram
4.2 Interaction Diagram
4.2.1 Analysis Collaboration Diagram : Use Case Mengelola
Data Forum
4.2.1.1 Tambah Data
Admin
MengeloldaDataUI MengeloldaDataManDataUser
1.Memilih tombol ok
2.Data baru
3.Data baru
4.Konfirmasi
5.Konfirmasi
Gambar 4.2 Analysis Colaboration Diagram : Use Case
Mengelola Data – Tambah Data
MengelolaDataUI MengelolaDataMan
1
DataUser 1 1
1
MakeCurrPassMan 1
(22)
4.2.1.2 Send Reply (Alternative Flow)
Gambar 4.3 Analysis Colaboration Diagram : Use Case
Mengelola Data - Send Reply
4.2.1.3 Hapus Data (Alternative Flow)
Gambar 4.4 Analysis Colaboration Diagram : Use Case
Mengelola Data – Hapus Data
Admin Gammuservice
1.pilihan reply
MengelolaDataUI 2. Memasukkan isi balasan
3.balasan pesan
4. Konfirmasii
Admin
MengeloldaDataUI MengeloldaDataManDataUser
1.Memilih tombol ok
2.Data yang dihapus
3.update
4.Konfirmasi
(23)
4.2.2 Analysis Collaboration Diagram : Use Case Mendaftar
Account Forum
Gambar 4.5 Analysis Colaboration Diagram : Use Case
Mendaftar Account Forum
4.2.3 Analysis Collaboration Diagram : Use Case Login Forum
Gambar 4.6 Analysis Colaboration Diagram : Use Case
Login Forum
User GammuService
1.Username 2.Username
4.curent password
MakeCurentPassMan Login UI
3.Username
5.curent password
User Gammu Service
Data User 1.Kirim data
2.Simpan Data 3.konfirmasi
(24)
4.2.4 Analysis Collaboration Diagram : Use Case Generate
Password
Gambar 4.7 Analysis Colaboration Diagram : Use Case
Generate Password
4.2.5 Analysis Collaboration Diagram : Use Case Reset
Status Login
Gambar 4.8 Analysis Colaboration Diagram : Use Case
Reset Status Login
User GammuService
1.SMS
4.Konfirmasi
ResetMan 2Phonenumber
5.Konfirmasi
Data User 3Update OTP Generator MakeCurentPassMan
1 curent password 2. curent password
(25)
1 Pendahuluan
1.1 Tujuan
Dokumen DPPL ini dibuat untuk menyediakan deskripsi
lengkap mengenai desain perangkat lunak one time password
(OTP) menggunakan SMS gateway. Dokumen ini khususnya
ditujukan untuk pembuat perangkat lunak, dan orang lain
yang tertarik untuk mengembangkan perangkat lunak ini lebih
lanjut. Dokumen ini digunakan oleh pengembang perangkat
lunak sebagai acuan teknis untuk pengembangan perangkat
lunak.
1.2 Lingkup Dokumen
Dokumen
DPPL
ini
menyediakan
deskripsi
lengkap
perancangan perangkat lunak . Perancangan ini merupakan
arsitektur sistem yang dijelaskan melalui perancangan
class/modul dan detail operasi apa yang akan dilakukan oleh
masing-masing class/modul.
1.3 Definisi, Ankronim dan Singkatan
Daftar definisi ankronim dan singkatan yang digunakan :
Keyword /Phrase
Definisi
DPPL
Merupakan deskripsi perancangan perangkat
lunak yang akan dikembangkan.
Unified
Modeling
Language (UML)
Sebagai penggambaran sistem secara logika
tanpa memperhatikan lingkungan fisik dimana
user berinteraksi dengan sistem.
Flow of Events
Aliran event-event yang terjadi dalam suatu
proses,
yang
digunakan
untuk
(26)
1.4 Referensi
Dokumen yang digunakan sebagai acuan dalam rencana
pengembangan perangkat lunak ini adalah :
1.
Ekawati, Vina, DPPL SiWaVi, Program Studi Teknik
Informatika Universitas Atma Jaya Yogyakarta, 2007.
2.
Kristianto, Ivan, DPPL -Genie, Program Studi Teknik
Informatika Universitas Atma Jaya Yogyakarta, 2007.
3.
Salu, Loritha Amanda, DPPL -WebICC. Program Studi
Teknik Informatika Universitas Atma Jaya Yogyakarta,
2004.
1.5 Deskripsi Umum (Overview)
Dokumen ini terdiri dari empat bab. Bab pertama adalah
Pendahuluan, yang berisi tentang deskripsi dukumen. Bab
kedua adalah Deskripsi Perancangan Arsitektural, yang
berisi deskripsi arsitektur system. Bab ketiga adalah
Deskripsi
Perancangan
Persistent
Data,
yang
berisi
deskripsi data-data yang akan disimpan pada persistent
storage.
Bab
keempat
adalah
Deskripsi
Perancangan
Antarmuka,
yang
berisi
deskripsi
rancangan
GUI
yang
digunakan sistem untuk berinteraksi dengan user.
(27)
2 Deskripsi Perancangan Asitektur
2.1 Class Design
2.1.1 Pengantar
Nama class yang digunakan dalam class design adalah
nama class yang valid. Untuk class-class yang berasal dari
framework.Net juga digunakan nama class dengan package
lengkap, misalnya System.IO.File. Untuk penjelasan tipe
data yang utuh dapat dilihat pada bagian deskripsi class.
Stereotype yang digunakan dalam design class adalah:
1.
<<boundary>>
Boundary class merupakan class yang berfungsi untuk
menghubungkan sistem dengan user di luar sistem.
2.
<<control>>
Control class adalah suatu class yang objek-nya
melakukan interaksi antar sekelompok objek lain.
Control class biasanya memiliki karakteristik yang
spesifik untuk satu use case, dan objek class ini
biasanya hanya aktif pada realisasi use case.
3.
<<entity>>
Entity class adalah class yang bersifat pasif, dalam
arti class tersebut tidak memulai interaksi dengan
class
lain.
Entity
class
ini
biasanya
merepresentasikan suatu objek yang disimpan dalam
persistent storage.
(28)
1 1
1
2.1.2 Class Diagram
Gambar 2.1 Analysis Class Diagram
<<control>> ResetMan
+ResetMan ()
<<control>> MengelolaDataMan
+MengelolaDataman() +Balas(String teks) +Hapus(String Phone)
+Tambah(StringNIM,Stringnama,StringPhoneNumber) <<boundary>>
MengelolaDataUI
+MengelolaDataUI ()
<<entity>> DataUser
+DataUser()
+GetTextReg():String +GetTextUnreg():String <<control>>
MakeCurrPassMan
+MakeCurrPassMan()
1 1
1 1 1
(29)
2.1.2.1 Class MengelolaDataMan
<<control>>
MengelolaDataMan
+MengelolaDataman()
+Balas(String teks)
+Hapus(String Phone)
+Tambah(String NIM,String nama,String PhoneNumber)
Gambar 2.2 Class MengelolaDataMan
Deskripsi
Class yang merupakan control class untuk aksi yang
berhubungan dengan mengelola data.
Atribut
-
Method
1.
MengelolaDataman()
Konstruktor dari kelas MengelolaDataMan tanpa atribut
terdefinisi.
2.
Balas(String teks)
Fungsi untuk mengirim SMS kepada user, karena ada alasan
tertentu (contoh: data diri yang dikrimkan error,tidak
sesuai format)
3.
Hapus(String Phone)
Fungsi untuk menghapus data user berdasarkan nomor hand
phone
(30)
Fungsi
untuk
menambah
data
user
kedalam
databse
berdasarakan NIM dan nama.
2.1.2.2 Class DataUser
<<entity>>
DataUser
+DataUser()
+GetTextReg():String
+GetTextUnreg():String
Gambar 2.3 Class DataUser
Deskripsi
Class yang digunakan untuk mendapatkan data user yang
digunakan untuk register ataupun unregister.
Atribut
-
Method
1.
DataUser()
Konstruktor
dari
kelas
DataUser
tanpa
atribut
terdefinisi.
2.
+GetTextReg():String
Fungsi untuk mereturnkan text dari pesan yang dikirimkan,
dalam bentuk format REG.
3.
+GetTextUnreg():String
Fungsi untuk mereturnkan text dari pesan yang dikirimkan,
dalam bentuk format UNREG.
(31)
<<control>>
MakeCurrPassMan
+
MakeCurrPassMan ()
Gambar 2.4 Class MakeCurrPassMan
Deskripsi
Class yang merupakan control class untuk aksi yang
berhubungan dengan pembuatan password sementara.
Atribut
-
Method
1.
MakeCurrPassMan()
(32)
2.1.2.4 Class ResetMan
<<control>>
ResetMan
+
ResetMan ()
Gambar 2.5 Class ResetMan
Deskripsi
Class yang merupakan control class untuk aksi yang
berhubungan dengan mereset status login.
Atribut
-
Method
1.
ResetMan ()
(33)
2.2 Realisasi Use Case
2.2.1 Use Case Mengelola Data Forum
2.2.1.1 Tambah Data
Gambar 2.6 Design Sequence Diagram : Mengelola Data Forum
Tambah Data
: MengelolaDataUI
: Admin : MengelolaDataMan : DataUser
1.Memilih tab register 2:GettextReg():String
3:Data 1:Memilih tab register
4:Menekan tombol ok
5:Tambah(String NIM,String nama, StringPhoneNumber)
1:Memilih tab register 1:Memilih tab register
6:DataBaru
7:Konfirmasi
(34)
2.2.1.2 Send Reply (Alternative Flow)
Gambar 2.7 Design Sequence Diagram : Mengelola Data Forum
Send Reply
: Admin : MengelolaDataUI : GammuService
2: Balas(String teks) 1:Memilih pilihan reply
3:sendmessage
(35)
2.2.1.3 Hapus Data (Alternative Flow)
Gambar 2.8 Design Sequence Diagram : Mengelola Data Forum
Hapus Data
: Admin : MengelolaDataUI : MengelolaDataMan : DataUser
1.Memilih tab register
2:GetextUnreg():String
3:Data 1:Memilih tab register
4:Menekan tombol ok
5:Hapus(String Phone) 1:Memilih tab register
1:Memilih tab register
6:Delete
7:Konfirmasi
(36)
2.2.2 Use Case Mendaftar Account Forum
Gambar 2.9 Design Sequence Diagram : Mendaftar
Account
: User : GammuService : DataUser 1:Kirim Data
3:Konfimrasi
(37)
2.2.3 Use Case Login Forum
Gambar 2.10 Design Sequence Diagram : Login Forum
2.2.4 Use Case Generate Password
Gambar 2.11 Design Sequence Diagram : Generate Password
: User
: LoginUI
: GammuService : MakeCurrPassMan1:Memasukkan Username
2:Username
3:MakeCurrPassMan(String Username)
4:CurrPass
5:CurrPass
: OTP Generator : MakeCurrPassMan : GammuService
1: MakeCurrPassMan()
(38)
2.2.5 Use Case Reset Status Login
Gambar 2.12 Design Sequence Diagram : Reset Status Login
: User : GammuService : ResetMan
1: Send SMS
2:Phonenumber
: DataUser
3:Update
4:Konfirmasi
(39)
3. Deskripsi Perancangan Persistence Data
USE RID = U SERID
DISC USSION ID = DI SCUSSI ONID DISC USSION ID = DI SCUSSI ONID USE RID = U SERID
DISC USSION ID = DI SCUSSI ONID CAT EGORYI D = CAT EGORY ID
USE RID = U SERID
ROL EID = RO LEID USE RID = U SERID
ROLEID = RO LEID
CAT EGORYI D = CAT EGORY ID
USE RID = U SERID
DISC USSION ID = DI SCUSSI ONID
DISC USSION ID = DI SCUSSI ONID
STY LEID = S TYLEID
ROL EID = RO LEID USE R
USE RID int
RO LEID int
ST Y LEID int
PHO NE varc har(15 )
CUS T OM ST YLE varc har(25 5) FIRST NAM E varc har(50 ) LAS T NAM E varc har(50 )
NAM E varc har(20 )
CURR_PA SS varc har(15 )
VERIFICA T IONK EY varc har(50 ) EM AILVE RIFICA T ION KEY varc har(50 )
EM AIL varc har(20 0)
UT I LIZEE M AIL enu m(1,0 )
SHO WNA M E enu m(1,0 )
ICO N varc har(25 5)
PIC T URE varc har(25 5)
AT T RIBUT ES text
CO UNT VI SIT int
CO UNT DI SCUS SION int CO UNT CO M ME NT S int DAT EFIRS T VIS IT dat etim e DAT ELAS T ACT IVE dat etim e REM OT E LP varc har(10 0) LAS T DISCUSSI ONPO ST dat etim e DIS CUSS IONSP AMCH ECK int LAS T COM M ENT POS T dat etim e CO M MEN T SPA M CHE CK int USE RBLO CKSC AT EG ORIES enu m(1,0 ) DEF AULT FORM AT T Y PE varc har(20 )
DIS COVE RY text
PRE FERE NCES text
LOG IN int
CAT EGORY CAT EGORYI D int NAM E_CAT varchar(100) DES CRIPTIO N_R varchar(200) PRIO RITY int
USE RROLEH ISTORY
USE RID int
ROLEID int
DAT E_URH dat etim e ADM INUS ERID int NO T ES varc har(20 0) REM OT E LP_URH varc har(10 0)
CAT EGORYBLO CK
USE RID i nt
CAT EGOR YID i nt BLO CKED CB enu m (1,0 ) INDEXCA T BLOC KUSE R varc har(10 0)
CAT EGORYROL EBLO CK
CAT EGOR YID i nt
RO LEID i nt
BLO CKED enu m(1,0 )
INDEX_CA T ROL EBLO CKCA T cha r(10) INDEX_CA T ROL EBLO CKRO LE cha r(10)
USE RDIS CUSSI ONWA T CH DIS CUSS IONID cha r(10)
USE RID int
CO UNT CO MM E NT S int LAS T VIEWED dat etim e
CO M MEN T
CO M MEN T ID int
DIS CUSS IONID cha r(10)
AUT HUSE RID int
DAT ECRE AT ED dat etim e
EDI T USE RID int
DAT EDIT ED dat etim e
WH ISPER USER ID int
BO DY text
FOR M AT T YPE varc har(20 )
DEL ET ED enu m(1,0 )
DAT EDEL ET ED dat etim e
DAL ET EUSERID int
REM OT E LP_CO M varc har(10 0) INDE X_COM MENTU SER char (10) INDE X_COM EENTWHISPER char (10) INDE X_COM EENTD ISCUSS ION char (10)
STY LE STY LEID int AUT HUSERI D int NAM E varchar(20) URL varchar(255) PRE VIEWIMA GE varchar(20) LPH IST O RY
LPHIST O RYID i nt REM OT E LP_LP HIST O RY varc har(30 )
USE RID_L P i nt
DAT ELOG GED dat etim e
DIS CUSS ION
DIS CUSS IONID cha r(10)
AUT HUSE RID int
WH ISPERUSER ID int
FIR ST CO MM ENT ID int
LAS T USE RID int
ACT IVE enu m(1,0 )
CLO SED enu m(1,0 )
ST I CKY enu m(1,0 )
SINK enu m(1,0 )
NAM E varc har(20 )
DAT ECRE AT ED dat etim e
DAT ELAS T ACT IVE dat etim e CO UNT CO MM E NT S int
CAT EGOR YID_ DIS int
WH ISPERT OLA ST US ERID int WH ISPERFROM LAST USERI D int DAT ELAS T WHI SPER dat etim e T O T ALWH ISPE RCOU NT int INDEX_DI SCUS SIONU SER cha r(10) INDEX_DI SCUS SIONWHIPE RUSER cha r(10) INDEX_DI SCUS SIONF IRST cha r(10) INDEX_DI SCUS SIONL AST cha r(10) INDEX_DI SCUS SIONC AT EG ORY cha r(10) INDEX_DI SCUS SIOND AT EA CT IVE cha r(10)
RO LE
ROLEID int
NAM E varchar(20)
ICON varchar(255)
DES CRIPTIO N_R varchar(200)
ACT IVE enum(1,0)
PER MISSION _SIGNI N enum(1,0) PER MISSION _HTMLALLOWE D enum(1,0) PER MISSION RECIEV EAPPLI CATION NO enum(1,0)
PER MISSION text
PRIO RITY int
UNA UTHEN TICATED enum(1,0)
DIS CUSS IONWHISPE RFROM
WHISPER FROM USER ID i nt
DIS CUSS IONID cha r(10)
LAS T USE RID i nt
CO UNT WHISPE R i nt
DAT ELAS T ACT IVE dat eti me
INDEX_DI SCUS SIONU SERWHIPSE RLAS cha r(10) INDEX_DI SCUS SIONWHISP ERLAS T ACT cha r(10)
DIS CUSS IONUS ERWH ISPERT O
WHISPER T OUS ERID i nt
DIS CUSS IONID cha r(10)
LAS T USE RID i nt
CO UNT WHISPE R i nt
DAT ELAS T ACT IVE dat eti me
IND EX_DI SCUS SIONU SERWHISPE RT OL cha r(10) IND EX_DI SCUS SIONU SERWHISPE RT OL cha r(10)
INB OX
ID i nt
USE RID i nt
T EX T text
UPD AT EI NDB tim estam p REC EIVE INGDA T ET IM E tim estam p UPD AT EI NDB tim estam p
CO DING cha r(10)
UDH text
SM SCNUM BER varc har(20 )
CLA SS i nt
T EX T DECODED varc har(16 0) REC EPIE NT ID text PRO CESS ED cha r(10)
USE RBOO KM A RK DIS CUSS IONID cha r(10) USE RID i nt
vanilla
database
G
A
M
M
U
(40)
3.1.1 Tabel User
FIELD
TIPE DATA
NULL DEF
AUL
T
DESKRIPSI
userid
varchar(10)
no
-
Id
user,
unique,
primary key
phone
varchar(15)
no
-
Nomor telepon user
customstyle varchar(255) yes
-
themes yang digunakan
oleh user
firstname
varchar(50)
no
-
nama depan user
lastname
varchar(50)
no
-
nama belakang user
name
varchar(20)
no
-
nama yang digunakan
untuk login
currpass
varchar(32)
yes
-
password untuk login
verificatio
nkey
varchar(50)
no
-
kunci verifikasi bila
pendaftaran dilakukan
melalui web
emailverifi
cationkey
varchar(50)
yes
-
email utnuk verfikasi
varchar(200) no
-
email milik user
utilizeemai
l
enum(1,0)
no
0
untuk
menunjukkan
kepada
orang
lain atau tidak (1
tunjukkan,0 tidak)
showname
enum(1,0)
no
1
untuk
menunjukkan
nama
kepada
orang
lain
icon
varchar(255) yes
-
icon yang digunakan
dalam forum
picture
varchar(255) yes
-
picture
yang
(41)
atrributes
text
yes
-
atribut user forum
countvisit
int(8)
no
0
jumlah
berapa
kali
user
mengunjungi
forum
countdiscus
sion
int(8)
no
0
jumlah
berapa
kali
user posting
countcommen
t
int(8)
no
0
jumlah komentar user
datefirstvi
sit
datetime
no
-
waktu
user
mengunjungi
forum
pertama kali
datelastact
ive
datetime
no
-
waktu user terakhir
kali aktif
remoteip
varchar(100) no
-
ip milik user yang
terakhir
kali
digunakan
lastdiscusi
ionpost
datetime
yes
-
waktu
user
membuat
thread terakhir
discussions
pamcheck
int(11)
no
-
jumlah
pengecekan
spam dalam diskusi
lastcomment
post
datetime
yes
-
waktu
user
mempost
komentar terakhir
commentspam
check
int(11)
no
-
jumlah
pengecekan
spam dalam komentar
userblockca
tegories
enum(1,0)
no
0
jumlah kategori yang
di blok oleh user
deafultform
attype
varchar(20)
yes
-
tipe
format
forum
yang digunakan
discovery
text
yes
-
discovery
preferences text
yes
-
preferences
(42)
icantNotifi
cations
dikirimi
aplikasi
baru atau tidak (1
ya,0 tidak)
Tabel 3.1 Tabel user
3.1.2 Tabel inbox
FIELD
TIPE DATA
NULL DEF
AUL
T
DESKRIPSI
id
int(11)
no
-
id
SMS
,unique,
primary key
text
text
no
-
text yang dikirimkan
oleh
user
untuk
segala format.
sendernumbe
r
varchar(20)
no
-
nomor pengirim pesan
coding
enum('Defaul
t_No_Compres
sion',
'Unicode_No_
Compression'
,
'8bit',
'Default_Com
pression',
'Unicode_Com
pression')
no
8bi
t
kode SMS text
recievingda
tetime
timestamp
yes
cur
ren
t_t
ime
sta
mp
(43)
updateindb
timestmap
yes
-
waktu
terupdate
didatabase
udh
text
no
-
encoded
User
Data
Header text
SMScnumber
varchar(20)
no
-
nomor SMS pengirim
class
int(11)
no
-1
kelas SMS
textdecoded varchar(160) no
-
text SMS yang sudah
terkodekan
receptienti
d
text
no
-
id penerima
processed
enum('false'
,'true')
no
fal
se
apakah
SMS
sudah
diproses atau belum
(44)
4 Deskripsi Perancangan Antarmuka
4.1 Use Case : Mengelola Data Forum
Gambar 4.1 Rancangan Antarmuka Use Case
Mengelola data Forum
Deskripsi
Rancangan antarmuka ini diimplementasikan pada form
MengelolaDataUI. Terdapat 3 tombol yaitu: 2 tombol untuk
memilih proses utama mana yang ingin dijalankan(OK atau
Balas) dan satu tombol (Next) untuk menampilkan 10 baris
berikutnya (dalam data grid).Balas berfungsi untuk mengirim
pesan kepada nomor yang dipilih, sedangkan ok tergantung
pada tab yang dipilih. Jika tab REG yang dipilih maka ok
berfungsi untuk menyimpan data dalam database, sebaliknya
jika tab UNREG yang dipilih maka ok berfungsi untuk
menghapus data dalam database.
Event
Dibagi menjadi 2 tergantung tab mana yang dipilih:
1.
REG
1.
Sistem menampilkan data dalam database sesuai
dengan format
UNREG REG
OK BALAS NEXT Nama NIM
(45)
2.
User memilih ok, sistem mencatat data baru dalam
database
3.
User memilih balas, sistem menampilakn antarmuka
untuk isi SMS.
2.
UNREG
4.
Sistem menampilkan data dalam database sesuai
dengan format
5.
User memilih ok, sistem menghapus data dalam
database
6.
User memilih balas, sistem menampilakn antarmuka
untuk isi SMS.
4.2 Use Case : Login Forum
Gambar 4.2 Rancangan Antarmuka Use Case
Login Forum
Deskripsi
Rancangan antarmuka ini diimplementasikan pada form
LoginForumUI. Terdapat satu tombol yang digunakan untuk
menginputkan username. Setelah username masuk maka akan
muncul from berikutnya yang digunakan untuk memasukkan
password. Jika password benar maka akan segera masuk ke
Username
kami akan segera mengirim password ke nomor HP anda
SELAMAT DATANG
(46)
forum,
sebaliknya
jika
salah
maka
akan
kembali
ke
LoginForumUI ini.
Event
Login
1.
Sistem menampilkan LoginForumUI.
2.
Aktor memasukkan username.
3.
Aktor menekan tombol ok.
(1)
atrributes text yes - atribut user forum
countvisit int(8) no 0 jumlah berapa kali
user mengunjungi
forum countdiscus
sion
int(8) no 0 jumlah berapa kali
user posting countcommen
t
int(8) no 0 jumlah komentar user
datefirstvi sit
datetime no - waktu user
mengunjungi forum
pertama kali datelastact
ive
datetime no - waktu user terakhir
kali aktif
remoteip varchar(100) no - ip milik user yang
terakhir kali
digunakan lastdiscusi
ionpost
datetime yes - waktu user membuat
thread terakhir discussions
pamcheck
int(11) no - jumlah pengecekan
spam dalam diskusi lastcomment
post
datetime yes - waktu user mempost
komentar terakhir commentspam
check
int(11) no - jumlah pengecekan
spam dalam komentar userblockca
tegories
enum(1,0) no 0 jumlah kategori yang
di blok oleh user deafultform
attype
varchar(20) yes - tipe format forum
yang digunakan
discovery text yes - discovery
preferences text yes - preferences
(2)
icantNotifi cations
dikirimi aplikasi
baru atau tidak (1 ya,0 tidak)
Tabel 3.1 Tabel user 3.1.2 Tabel inbox
FIELD TIPE DATA NULL DEF
AUL T
DESKRIPSI
id int(11) no - id SMS ,unique,
primary key
text text no - text yang dikirimkan
oleh user untuk
segala format. sendernumbe
r
varchar(20) no - nomor pengirim pesan
coding enum('Defaul
t_No_Compres sion',
'Unicode_No_ Compression'
, '8bit',
'Default_Com pression', 'Unicode_Com pression')
no 8bi
t
kode SMS text
recievingda tetime
timestamp yes cur
ren t_t ime sta
(3)
updateindb timestmap yes - waktu terupdate didatabase
udh text no - encoded User Data
Header text
SMScnumber varchar(20) no - nomor SMS pengirim
class int(11) no -1 kelas SMS
textdecoded varchar(160) no - text SMS yang sudah
terkodekan receptienti
d
text no - id penerima
processed enum('false'
,'true')
no fal
se
apakah SMS sudah
(4)
4 Deskripsi Perancangan Antarmuka 4.1 Use Case : Mengelola Data Forum
Gambar 4.1 Rancangan Antarmuka Use Case Mengelola data Forum
Deskripsi
Rancangan antarmuka ini diimplementasikan pada form MengelolaDataUI. Terdapat 3 tombol yaitu: 2 tombol untuk memilih proses utama mana yang ingin dijalankan(OK atau Balas) dan satu tombol (Next) untuk menampilkan 10 baris berikutnya (dalam data grid).Balas berfungsi untuk mengirim pesan kepada nomor yang dipilih, sedangkan ok tergantung pada tab yang dipilih. Jika tab REG yang dipilih maka ok berfungsi untuk menyimpan data dalam database, sebaliknya jika tab UNREG yang dipilih maka ok berfungsi untuk menghapus data dalam database.
Event
Dibagi menjadi 2 tergantung tab mana yang dipilih: 1.REG
1.Sistem menampilkan data dalam database sesuai dengan format
UNREG REG
OK BALAS NEXT
Nama NIM
(5)
2.User memilih ok, sistem mencatat data baru dalam database
3.User memilih balas, sistem menampilakn antarmuka untuk isi SMS.
2.UNREG
4.Sistem menampilkan data dalam database sesuai dengan format
5.User memilih ok, sistem menghapus data dalam database
6.User memilih balas, sistem menampilakn antarmuka untuk isi SMS.
4.2 Use Case : Login Forum
Gambar 4.2 Rancangan Antarmuka Use Case Login Forum
Deskripsi
Rancangan antarmuka ini diimplementasikan pada form LoginForumUI. Terdapat satu tombol yang digunakan untuk menginputkan username. Setelah username masuk maka akan muncul from berikutnya yang digunakan untuk memasukkan password. Jika password benar maka akan segera masuk ke
Username
kami akan segera mengirim password ke nomor HP anda
SELAMAT DATANG
(6)
forum, sebaliknya jika salah maka akan kembali ke LoginForumUI ini.
Event
Login
1.Sistem menampilkan LoginForumUI. 2.Aktor memasukkan username.
3.Aktor menekan tombol ok.