7. Proses perhitungan masing-masing siklus dari alamat customer ke
lokasi cabang restoran terdekat sampai mendapatkan optimasi jarak terdekat.
8. Proses untuk menampilkan simulasi jarak terdekat dari restoran
terdekat ke customer. 9.
Proses update status pemesanan jika proses pengantaran pesanan selesai dilakukan.
3.2.3 Perancangan Proses
A. Use Case Diagram
Pemodelan use case mengidentifikasi dan menggambarkan fungsi – fungsi sistem yang merupakan hasil penyusunan kembali lingkup fungsionalitas
sistem menjadi banyak pernyataan fungsionalitas yang lebih kecil. Dalam aplikasi penentuan jarak terdekat dengan algoritma ant colony ini,
ada beberapa proses yang dirancang. Rancangan proses dibuat dalam bentuk workflow sebagai berikut :
Receiving SMS from Customer
Mapping Customer’s Address
Routing Shortest Path
Parsing SMS Content
Check SMS Content
Insert into Database
Reply SMS to Customer
Update Status
Gambar 3.2 Workflow Sistem
Sedangkan use case berikut menjelaskan tentang aktivitas yang dilakukan
oleh pengguna aplikasi penentuan jarak terdekat dengan algoritma ant colony.
Processing SMS
Routing Shortest Path include
Shortest Path Application
Update Status
include
Gambar 3.3 Use Case Diagram Aplikasi Penentuan Jarak Terdekat
Actor pada diagram di atas adalah sistem, yaitu sistem aplikasi penentuan jarak terdekat. Sistem disini berperan sebagai aktor karena aplikasi ini
merupakan otomatisasi dari beberapa proses. Ada 2 proses utama yang terjadi, yaitu processing sms dan routing shortest path. Processing sms berkaitan
dengan pengolahan sms yang dikirim dari user ke sistem sehingga dihasilkan data-data yang dibutuhkan untuk proses routing shortest path. Sedangkan
proses routing shortest path merupakan proses optimasi perhitungan jarak terdekat dengan menggunakan algoritma ant colony. Penjelasan lebih lanjut
mengenai masing-masing proses dijelaskan dalam activity diagram berikut.
B. Activity Diagram
Activity diagram berikut menggunakan swimlane untuk mengelompokkan aktivitas yang dilakukan oleh actor dan aktivitas yang dilakukan oleh sistem.
B.1 Activity Diagram Processing SMS
Gambar 3.4 Activity Diagram Processing SMS
Dalam activity diagram processing sms terdapat 3 swimlane atau
peran yang melakukan aktivitas dalam processing sms, yaitu sms gateway, shortest path application dan database. Shortest path
application berperan sebagai aktor utama dalam sistem. Aktivitas dimulai dengan state waiting sms. Aplikasi akan menunggu sms dari customer.
Jika ada sms yang dikirimkan oleh customer maka akan dilanjutkan aktivitas berikutnya yaitu parsing sms.
Jika tidak ada, maka aplikasi akan melakukan aktivitas waiting for sms lagi. Pada aktivitas parsing sms, sms yang dikirim oleh customer akan
dipisah-pisah menggunakan tanda titik koma. Hasil parsing berupa teks yang disimpan pada field-field sesuai dengan format sms. Khusus untuk
field Menu, dilakukan proses parsing lagi untuk memisahkan antara kode menu dan jumlah pesanan.
Parsing akan menghasilkan kumpulan field- field, field ini kemudian akan dicek apakah sesuai dengan format yang
ditentukan. Jika format benar, aktivitas selanjutnya adalah mengecek isi dari content. Tetapi jika format salah maka aplikasi akan mengirimkan
warning text melalui SMS Gateway. Berikut rancangan format sms untuk semua kondisi yang terjadi saat customer mengirimkan sms ke aplikasi :
Tabel 3.1 Format SMS
Condition Send Text
Receive Text Warning Text
Informasi cara
pemesanan info
Ketik pesan;nama;alamat;kodemenu-
jumlah;kodemenu2-jumlah2 untuk pemesanan atau ketik
status;kodepesanan untuk melihat status pesanan Anda
Maaf format sms anda salah, ketik info
untuk mendapatkan informasi cara
pemesanan
Pesan pesan;nama;
alamat;kode menu-
jumlah;menu pesanan2-
jumlah2 Terima kasih, kode pesanan
anda: , IDPesanan, . Ketik status;kode pesanan anda untuk
melihat status pesanan anda Maaf, menu dengan
kode kodeMenu telah habis. Silahkan
ulangi pesanan anda
Informasi menu
menu 01 Makanan
02 Minuman Maaf format sms
anda salah, ketik info untuk mendapatkan
informasi cara pemesanan
Status pemesanan
status;IDPes anan
Pesanan anda sedang dalam proses : kondisi status
pemesanan Pesanan dengan no
IDPesanan, tidak terdapat dalam
database kami
Saat mengecek isi content sms, akan ada 3 kondisi percabangan yang dijadikan parameter untuk proses pengecekan ini. Pertama, jika isi content
sms adalah teks “info”, maka aplikasi akan mengirimkan sms yang berisi informasi cara pemesanan melalui SMS Gateway ke customer. Jika bukan,
isi content kembali dicek, apakah itu adalah teks “pesan”? Jika iya, maka isi content tersebut akan disimpan ke dalam database. Jika bukan akan
dicek lagi apakah teks “status”? Jika iya, maka aplikasi akan mengecek ke dalam database untuk mendapatkan informasi status pemesanan customer.
Setelah status pemesanan didapatkan, aplikasi akan mengirimkan status pemesanan melalui sms gateway ke customer.
Tetapi jika isi content bukan “status”, maka aplikasi akan mengirimkan kembali konfirmasi bahwa customer belum melakukan
pemesanan apapun.
B.1 Activity Diagram Routing Shortest Path
Gambar 3.5 Activity Diagram Routing Shortest Path
Dalam activity diagram routing shortest path terdapat 2 swimlane, yaitu Shortest path application dan database. Aktivitas pertama yang
dilakukan adalah mengecek ke dalam database untuk mendapatkan data alamat customer yang sudah melakukan pemesanan. Dari database
diperoleh data alamat yang kemudian akan dicek kembali apakah data alamat customer pada database adalah data baru atau bukan, jika
merupakan data customer baru maka aplikasi akan melakukan aktivitas route shortest path yang merupakan simulasi dari hasil optimasi
perhitungan jarak terdekat dengan menggunakan algoritma ant colony.
B.1 Activity Diagram Routing Update Status
Gambar 3.6 Activity Diagram Update Status
Dalam activity diagram update status terdapat 2 swimlane, yaitu Shortest path application dan database. Aktivitas pertama yang dilakukan
adalah memilih record mana yang akan di-update statusnya. Aplikasi akan memilih record tersebut, kemudian mengecek ke dalam database untuk
mendapatkan data ID Pesanan dari record yang dipilih.
3.2.4 Perancangan Database