KESIMPULAN DAN SARAN PENERAPAN ONE TIME PASSWORD MENGGUNAKAN SMS GATEWAY PADA APLIKASI FORUM DISKUSI.

(1)

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 MengeloldaDataMan

DataUser

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 MengeloldaDataMan

DataUser

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 : MakeCurrPassMan

1: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

email

varchar(200) no

-

email milik user

utilizeemai

l

enum(1,0)

no

0

untuk

menunjukkan

email

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.