BAB III ANALISIS DAN PERANCANGAN
3.1
Analisa Masalah Tahap analisa permasalahan digunakan untuk mengetahui dan menerjemahkan
semua permasalahan yang berhubungan dengan antrian dalam sms engine. Oleh karena itu pada tahap ini akan diuraikan pemecahan masalah dari antrian dalam sms engine tersebut. Cara kerja dari sms engine sendiri adalah pertama-tama user mengunggah file yang akan di kirimkan melalui sms engine. Kemudian ada aplikasi yang bernama file controller yang berfungsi untuk memproses file yang diunggah untuk dimasukkan ke dalam antrian dalam message queuing, yang nantinya antrian itu akan diambil oleh transmitter. Aplikasi transmitter sendiri berfungsi untuk mengambil pesan dalam antrian message queuing untuk diteruskan ke operator. Masalah yang terjadi dalam sms engine saat ini adalah pesan dalam antrian yang ada di message queuing tidak bisa dihentikan atau diprioritaskan pengirimannya oleh user. Oleh karena itu penulis akan menganalisa permasalahan itu sehingga dapat dibuat sms engine baru yang dapat menyelesaikan permasalahan tersebut. Cara kerja sms engine yang baru nanti adalah pertama-tama user mengunggah file yang akan dikirimkan melalui SMS engine. Kemudian aplikasi file controller akan memproses file yang diunggah untuk dimasukkan ke dalam antrian. Pesan yang dimasukkan dalam antrian oleh file controller ini akan diberi penanda atau id. Aplikasi transmitter disini akan mengambil pesan dalam antrian message queuing berdasarkan
prioritas
dan
waktu
kedatangan.
Tetapi
apabila
user
ingin
memberhentikan atau memprioritaskan pengiriman pesan dalam antrian, maka transmitter akan mengambil pesan dalam antrian berdasarkan id atau penanda yang
19
20
telah diberi oleh file controller. Untuk penjelasan skenario pengguna SMS engine dapat dilihat pada Tabel 3.1.
Tabel 3.1 Skenario Pengguna SMS engine.
No. 1.
Pengguna User
Deskripsi User disini dapat melakukan login ke halaman web upload SMS engine, kemudian dapat mengunggah file yang ingin dikirimkan, melihat laporan file yang diunggah, dan melihat laporan pengiriman.
2.
Admin
Admin disini dapat melakukan login ke halaman web upload SMS engine, kemudian dapat mengunggah file dari user, melihat laporan file yang diunggah dari seluruh user, dan melihat laporan pengiriman dari seluruh user. Selain itu admin juga dapat melakukan pembatalan pengiriman pesan dan pemprioritasan pengiriman pesan untuk pesan yang ada di antrian dalam message queuing.
3.2
Perancangan Sistem Perancangan sistem digunakan untuk merancang sistem sms engine untuk
mengetahui secara jelas apa saja yang harus dibuat dan bagaimana cara kerja sistem sms engine, sehingga bisa didapatkan hasil sesuai dengan yang diharapkan. Perancangan sistem dimulai dengan membuat use case yang sesuai dengan alur sms engine. Langkah selanjutnya adalah membuat langkah-langkah apa saja yang ada dalam sistem sms engine tersebut, sehingga sms engine ini nantinya dapat berjalan sesuai dengan keinginan.
21
3.2.1
Perancangan Use Case Diagram Aplikasi
yang dibuat
memiliki
fungsionalitas
seperti
Gambar
3.1.
Digambarkan bahwa aktor admin yang menjadi prioritas dalam menjalankan aplikasi dapat memilih menu yang diinginkan pada main menu. Di dalam main menu terdapat pilihan menu antara lain upload file report dan delivery report. Dimana menu-menu tersebut merupakan dependencies dari main menu seperti yang digambarkan berupa panah putus-putus, dan bersifat extend yang artinya kondisi yang hanya berjalan ketika user menekan pilihan pada main menu. Begitu juga pada uploaded file report, yang di dalamnya terdapat upload file, cancel message dan prioritize message.
Upload File
<<extend>>
<<extend>> Cancel Message <<extend>>
<<extend>> Uploaded File Report <<extend>> Admin
Main Menu
Prioritize Message
Delivery Report
Gambar 3.1. Use Case Admin
Sedangkan untuk user sendiri dalam SMS engine ini hanya dapat menunggah file, melihat laporan dari file yang diunggah, dan melihat laporan pengiriman. Seperti yang terlihat dalam gambar 3.2. <<extend>> <<extend>> Uploaded File Report
User
Main Menu
<<extend>>
Delivery Report
Gambar 3.2. Use Case User
Upload File
22
Untuk aplikasi file controller dan transmitter sendiri, admin hanya dapat melakukan start dan stop aplikasi. Seperti yang terlihat pada gambar 3.3. dan 3.4. <<extend>> Start Application <<extend>> Admin
Main Menu Stop Application
Gambar 3.3. Use Case File Controller
<<extend>> Start Application <<extend>> Admin
Main Menu Stop Application
Gambar 3.4. Use Case Transmitter
3.2.2 Perancangan Activity Diagram Dalam sistem ini activity diagram terbagi menjadi 6 bagian, karena ada 6 proses yang berbeda, yaitu antara lain upload file,
prioritize message, cancel
message, file controller dan transmitter.
3.2.2.1. Upload File. Gambar 3.5 menjelaskan tentang alur kerja sistem sewaktu user mengunggah file. Pertama-tama user memilih file yang diunggah. Kemudian secara otomatis sistem akan menyimpan file yang diunggah. Setelah itu sistem akan memvalidasi apakah file yang diunggah itu sesuai dengan format yang benar apa tidak. Jika format file benar, maka informasi mengenai file yang diunggah akan
23
disimpan di database, kemudian sistem akan memberikan keterangan pada user jika file berhasil disimpan dan akan diproses. Jika format file tidak benar, maka sistem akan memberikan informasi kepada user jika format file salah.
Select Uploaded File
Save File
Validate Uploaded File
( Format File Valid )
Save To Database
( Format File Not Valid )
Reject File
Gambar 3.5. Upload File Activity Diagram
24
3.2.2.2. Prioritize
Message.
Gambar
3.6
menjelaskan
saat
user
ingin
memprioritaskan suatu pengiriman. Pertama-tama user akan memilih file mana yang pengiriman pesannya ingin diprioritaskan. Kemudian setelah itu secara otomatis sistem akan menyimpan ke database, file yang ingin diprioritaskan pengirimannya. Setelah itu sistem akan memasukkan informasi ke Message Queuing yang nantinya akan diambil oleh transmitter.
Select Uploaded File
Insert To Database
Insert To Queue A
Gambar 3.6. Prioritize Message Activity Diagram
3.2.2.3. Cancel Message. Gambar 3.7 menjelaskan saat user ingin membatalkan suatu pengiriman. Pertama-tama user akan memilih file mana yang pengiriman pesannya ingin dibatalkan. Kemudian setelah itu secara otomatis sistem akan menyimpan ke database, file yang ingin dibatalkan pengirimannya. Setelah itu sistem akan memasukkan informasi ke Message Queuing yang nantinya akan diambil oleh transmitter.
25
Select Uploaded File
Insert To Database
Insert To Queue A
Gambar 3.7. Cancel Message Activity Diagram
3.2.2.4. File Controller. Gambar 3.8 menjelaskan proses kerja aplikasi file controller yang bertugas memproses file yang diunggah oleh user. Saat aplikasi pertama kali berjalan aplikasi akan melihat apakah aplikasi sedang berjalan. Jika status aplikasi sudah stop, maka aplikasi akan berhenti. Jika status aplikasi berjalan, maka aplikasi akan melihat apakah ada data di database yang harus di proses. Jika data tidak ditemukan, maka aplikasi akan kembali melihat status aplikasi, kemudian melihat data di database lagi. Jika di database ada data yang bisa diproses, aplikasi akan meng-update status di database bahwa data itu sedang diproses, setelah itu aplikasi akan memproses file. Setelah file selesai diproses, maka aplikasi akan meng-update status data di database bahwa file telah selesai diproses.
26
Check Application Status
( Application Stop ) ( Application Running ) Check Database
Update Database To Processing
( Data Exist )
( Data Doesn't Exist )
Process File
Update Database To Finish Process
Gambar 3.8. File Controller Activity Diagram
3.2.2.5. Transmitter. Gambar 3.9 menjelaskan alur kerja utama aplikasi transmitter yang bertugas mengambil pesan dalam antrian di message queuing, kemudian meneruskannya mengirimkan ke operator. Alur kerjanya yaitu saat aplikasi berjalan, kemudian aplikasi akan melihat status aplikasi. Jika status aplikasi stop atau berhenti, maka aplikasi akan selesai bekerja. Jika status aplikasi running, maka aplikasi akan melihat, apakah ada pesan yang diprioritaskan atau dibatalkan. Jika ada, maka aplikasi akan mengambil pesan dalam antrian message queuing berdasarkan id dari pesan yang ingin diprioritaskan. Jika tidak ada, maka aplikasi akan mengambil pesan berdasarkan prioritas pesan dan waktu kedatangan. Setelah itu aplikasi akan menyimpan informasi detail mengenai pesan yang dikirimkan ke database. setelah itu, aplikasi akan mengirimkan pesan tadi ke operator. Setelah itu aplikasi akan meng-update informasi mengenai pesan itu ke database, apakah berhasil dikirimkan
27
ke operator atau tidak. Setelah sukses, maka aplikasi akan kembali melihat status aplikasi apakah stop atau running.
Check Application Status ( Application Running )
( Application Stop )
Check Prioritize / Cancel Message in list
( Prioritize / Cancel Message Doesn't Exist )
( Prioritize / Cancel Message Exist )
Get Message From Queue A By Id
Get Message From Queue A
( Message Doesn't Exist ) Remove Id from list
( Message Doesn't Exist ) ( Message Exist )
( Message Exist ) Check Message Type
Insert Message Information To Database
( Prioritize )
( Cancel )
Inset Message Information To Database
Hit Message To Operator
Update Message Information To Database
Gambar 3.9. Main Transmitter Activity Diagram
Sedangkan Gambar 3.10 menjelaskan alur kerja bagian transmitter yang berfungsi melihat apakah ada pesan yang ingin diprioritaskan dan dibatalkan atau tidak. Alur kerjanya yaitu, saat aplikasi berjalan, aplikasi akan melihat apakah ada pesan dalam database yang ingin diprioritaskan atau dibatalkan untuk dimasukkan kedalam Daftar. kemudian aplikasi akan melihat status aplikasi. Jika status aplikasi sedang berjalan, aplikasi akan mengambil pesan di antrian dalam suatu alamat message queue. Jika ada pesan ditemukan, maka pesan akan dimasukkan kedalam
28
daftar. Daftar ini nantinya akan diambil oleh bagian lain dalam aplikasi transmitter seperti yang terlihat pada Gambar 3.9 , jika tidak ditemukan pesan maka aplikasi akan kembali melihat status aplikasi.
Get Message From Database
Check Application Status
( Application Stop )
( Application Running ) Get Message From Queue B
( Message Doesn't Exist )
( Message Exist ) Add Message To List
Gambar 3.10. Checker Transmitter Activity Diagram
29
3.2.3
Perancangan Class Diagram Perancangan class diagram ini (Gambar 3.11) digunakan untuk merancang
objek-objek apa saja yang nantinya digunakan dalam pembuatan SMS engine ini.
30
3.2.4 Perancangan Package Diagram Perancangan package diagram ini (Gambar 3.12) digunakan sebagai rancangan hubungan antar project dalam pembuatan SMS engine ini. Web +Default +Home +UploadFile +UploadFileSetup +DeliveryReport +Logout
im << po > rt>
FC
+clsBase +clsDeliveryReport
+FileLog
+clsInterrupt
+Helper
+clsMasking
+Settings +ThreadManager
ClassLib
<>
+clsMaster +clsUser
+ThreadMaster
+clsClient +clsLookup
+Helper
+clsUploadFile
<< im
+FileLog
po
rt> >
Transmitter
+XMLPushWrapper
+Settings +ThreadManager +ThreadMaster
Gambar 3.12. SMS Engine Package Diagram
31
3.3
Perancangan Antarmuka Perancangan antarmuka ini digunakan untuk merancang tampilan aplikasi dari
sistem sms engine, sehingga memudahkan untuk membuat tampilan aplikasi sms engine. Perancangan antarmuka tersebut terdiri dari perancangan aplikasi web dan perancangan aplikasi windows.
3.3.1
Aplikasi Web
3.3.1.1. Halaman Login. Halaman login digunakan oleh user dan admin untuk masuk ke dalam sistem SMS engine. Tampilan halaman login tersebut dapat dilihat pada Gambar 3.13.
UserId
image
Password Login
Gambar 3.13. Desain Halaman Login
32
3.3.1.2. Halaman Menu Utama. Halaman menu utama merukan halaman yang ada setelah user atau admin melakukan login ke web SMS engine. Tampilan halaman utama dapat dilihat pada Gambar 3.14. Log Out
Banner
Home
Home
Upload File Report Delivery Report
Footer Gambar 3.14. Desain Halaman Menu Utama
33
3.3.1.3. Halaman Upload File Report. Halaman upload file report digunakan untuk melihat informasi file yang telah diunggah oleh user atau admin. Kemudian pada halaman ini juga terdapat link untuk mengirimkan pesan menuju halaman upload file setup. Di halaman ini juga dapat melakukan prioritas pengiriman dan pembatalan pesan. Halaman upload file report dapat dilihat pada Gambar 3.15. Log Out
Banner
Home
Upload File Report
Upload File Report
BatchName
Delivery Report
Message DateUpload
Day
Month
Year
Upload By Client Masking Upload Status
Search No.
Button
Setup BatchName
Message
UploadBy
DateUpload
Schedule
Footer
Gambar 3.15. Desain Halaman Upload File Report
Total No
Status
34
3.3.1.4. Halaman Upload File Setup. Halaman upload file setup digunakan untuk melakukan pengiriman pesan. halaman tersebut dapat dilihat pada Gambar 3.16. Log Out
Banner
Home
Upload File Setup
Upload File Report
BatchName
Delivery Report
Message
Schedule
Day
Month
Year
Client Masking Upload
FileName Back
Send
Footer
Gambar 3.16. Desain Halaman Upload File Setup
35
3.3.1.5. Halaman Delivery Report. Halaman delivery report digunakan untuk melihat laporan pengiriman pesan, apakah pesan yang diunggah oleh user sudah dikirimkan apa belum. Halaman tersebut dapat dilihat pada Gambar 3.17. Log Out
Banner
Home
Delivery Report
Upload File Report
MSISDN
Delivery Report
BatchName Message DateHit
Day
Month
Year
Upload By Client Masking Status
Search No.
MSISDN
Message
BatchName
UploadBy
DateUpload
Schedule
Footer
Gambar 3.17. Desain Halaman Delivery Report
Status
DateHit
36
3.3.2 Aplikasi Windows 3.3.2.1. File Controller. File controller digunakan untuk memproses file yang diunggah oleh user menjadi bentuk pesan yang dimasukkan pada antrian message queuing. Tampilan file controller dapat terlihat pada gambar 3.18. File Controller Debug
Error
Start
Stop
status
Gambar 3.18. Desain File Controller
Close
37
3.3.2.2. Transmitter. Transmitter digunakan untuk memproses pesan yang ada dalam message queuing untuk diteruskan ke operator. Tampilan transmitter dapat dilihat pada Gambar 3.19. Transmitter Debug
Error
Start
Stop
status
Gambar 3.19. Desain Transmitter
Close