17
BAB III ANALISA DAN PERANCANGAN SISTEM APLIKASI 3.1 Analisa Sistem Seiring dengan seringnya ditemukan kelangkaan dan ketersediaan stok kebutuhan bahan pokok menjelang hari raya membuat makin mahalnya kebutuhan bahan pokok di pasar. Kondisi ini dikarenakan tren tahunan menjelang bulan Ramadhan dan hari raya Idul Fitri yaitu semakin banyaknya permintaan dan juga disebabkan karena anomali musim yang seharusnya saat ini sudah memasuki musim kering, akan tetapi curah hujan masih tinggi dan mempengaruhi panen beberapa bahan pokok. Hujan di sentra produksi menyebabkan kualitas gabah menurun karena tidak bisa kering (kadar air meningkat). Gabah dengan kadar air tinggi meningkatkan biaya penggilingan dan pengeringan. Hal ini menyebabkan lonjakan harga di beberapa daerah di Indonesia. Lonjakan harga tersebut sulit untuk diantisipasi untuk masyarakat kecil yang berpendapatan kecil. Untuk itu Kementerian Perdagangan berupaya untuk melakukan operasi pasar dalam rangka melakukan stabilisasi harga pasar serta menyusun kebijakan untuk melakukan impor kebutuhan pokok selama hari raya agar dapat menangani kelangkaan stok kebutuhan bahan pokok. Berdasarkan hal ini maka dibuatlah suatu sistem informasi yang dapat membantu tugas Kementerian Perdagangan untuk mengetahui informasi harga di masing-masing daerah sehingga dapat menetapkan harga nasional yang dapat dijadikan patokan untuk menetapkan standar harga pada saat operasi pasar. 3.2 Proses Kerja Proses kerja dari aplikasi harga kebutuhan bahan pokok ini mencakup tiga hal, yaitu : 1.
Input Input digunakan ketika pengguna mengirimkan SMS dari telepon genggam ke nomor Server Gateway dari aplikasi informasi harga bahan pokok untuk digunakan melakukan request data harga. Format umum dari SMS registrasi yang dapat digunakan, yaitu: : REG<spasi>SMS|JENISREQUEST#NAMA-KOTA-WAKTU.
18 Ada beberapa bentuk format yang disediakan untuk mendapatkan informasi SMS, beberapa diantaranya a. Pengguna yang ingin melakukan request data harga secara harian, maka format yang dapat digunakan, yaitu : REG<spasi>SMS|AUTOSCHEDULE#NAMA-KOTA b. Jika pengguna ingin melakukan request data harga rata-rata mingguan, maka format yang digunakan, yaitu : REG<spasi>SMS|AWEEK*TAHUNBULAN;KOMODITI1,KOMODIT I2# NAMA-KOTA c. Jika pengguna ingin melakukan request harga rata-rata bulanan, maka format yang digunakan, yaitu : REG<spasi>SMS|AMONTH*TAHUN;KOMODITI1,KOMODITI2#N AMA-KOTA d. Jika pengguna ingin melakukan request informasi data kode komoditi, , maka format yang digunakan, yaitu : REG<spasi>SMS|INFOKODEKOMODITI Ketika input dari pengguna mengalami kesalahan maka server gateway akan ada mengirimkan pesan kesalahan dan mengirimkan format SMS yang benar sehingga request dapat diterima dan akan diproses oleh server. 2.
Proses Proses akan di lakukan ketika request SMS telah sesuai dengan format yang diijinkan oleh server. Server akan memasukkan data pribadi dan data request dari pengguna. Setelah data masuk dalam basis data MYSQL maka server akan melakukan query terhadap data request dari SMS pengguna yang masuk ke dalam basis data. Lalu setelah data hasil query selesai diproses selanjutnya data tersebut akan dikirimkan ke telepon selular pengguna menggunakan perintah sms-inject oleh gammu.
3.
Output Output akan dikirimkan ke telepon selular pengguna. Pengguna akan menerima pesan sebagai berikut: a.
Contoh Data Output Harian Harga 12 Januari 2011 : BBMD Rp 6.355/Kg | GPL Rp 12.382/Kg | MGK Rp 9.422/620ml | MGC Rp 9.940/Kg | DSP Rp 75.420/Kg | DAB Rp 23.013/Kg | DAK Rp 40.428/Kg | TAR Rp 12.114/Kg | TAK Rp 30.221/Kg
19 | SKM Rp 7.318/397g | TPT Rp 7.564/Kg | KDI Rp 8.677/Kg | KDL Rp 8.029/Kg | MII Rp 1.338/Bungkus | CMK Rp 19.464/Kg | CMB Rp 19.404/Kg | BWM Rp 13.850/Kg | ITA Rp 31.704/Kg | KCH Rp 13.295/Kg | KCT Rp 13.122/Kg | KEP Rp 2.434/Kg ID=26 b.
Contoh Data Output Mingguan Harga Rata-rata Mingguan Juli 2011 : BMD Minggu-1= Rp 6.329/Kg |BMD Minggu-2= Rp 6.355/Kg |BMD Minggu-3= Rp 6.586/Kg |BMD Minggu-4= Rp 7.824/Kg ID=27
c.
Contoh Data Output Bulanan Harga Rata-rata Bulanan Tahun 2011 BMD Bulan-7= Rp.6.693/Kg |BMD Bulan-8= Rp.8.824/Kg ID=25
d.
Contoh Pesan Kesalahan Format Anda Salah, Silahkan ketik Format berikut : REG SMS|[AUTO SCHEDULE|AWEEK*TahunBulan;Komoditi1,Komoditi2#NamaKota|AMONTH*Tahun;Komoditi1,Komoditi2#Nama-Kota|INFOKODE KOMODITI|INFOREQUESTDATA], Contoh1: REG SMS|AUTOSCHE DULE ; Contoh2: REG SMS|AWEEK*201108;BMD ,GPL#Udin-Jakarta, Contoh3: REG SMS|AMONTH*2011;BMD,GPL #Udin-Jakarta, ID=28
e.
Contoh Pesan Request Info Kode Komoditi BMD=BerasMedium,GPL=GulaPasir,MGK=MinyakGorengKemasan,MGC =MinyakGorengCurah,DSP=DagingSapi,DAB=DagingAyamBroiler,DAK= DagingAyamKampung,TAR=TelurAyamRas,TAK=TelurAyamKampung,S KM=SusuKentalManis,TPT=TepungTerigu,KDi=KedelaiImpor,KDL=Kede laiLokal,MII=MieInstant,CMK=CabeMerahKeriting,CMB=CabeMerahBias a,BWM=BawangMerah,ITA=IkanTeriAsin,KCH=KacangHijau,KCT=Kaca ngTanah,KEP=KetelaPohon ID=24
3.3 Perancangan Desain perangkat lunak merupakan proses multi langkah yang berfokus pada empat atribut yang berbeda dari sebuah program, yaitu struktur data, arsitektur perangkat lunak, representasi dari interface, dan detail prosedural (algoritma). Proses desain menerjemahkan kebutuhan menjadi representasi perangkat lunak yang dapat diukur kualitasnya sebelum melakukan tahap pembuatan program. Seperti penerjemahan kebutuhan, tahap desain juga
20 dilakukan dokumentasi dan hal itu menjadi bagian dari konfigurasi perangkat lunak. 3.3.1 Arsitektur Sistem Aplikasi ini memiliki arsitektur sebagai berikut: a.
Pengguna mengetikkan data permintaan sesuai dengan format input yang diperkenankan selanjutnya mengirimkan pesan tersebut ke nomor aplikasi.
b.
Server akan menerima pesan dari pengguna. Jika data request telah benar maka SMS tersebut akan diproses. Jika salah maka server akan mengirimkan data ke telepon selular pengirim berupa pesan kesalahan sekaligus format data yang diperkenankan. Data harga dikirimkan dari daerah pukul 17.00.
c.
Program memproses data dengan menjalankan perintah query sesuai dengan jenis permintaan.
d.
Kemudian hasil pemrosesan akan dikirimkan kembali ke nomor pengirim. Untuk lebih jelasnya seperti pada gambar.
Gambar 3.1. Arsitektur Sistem 3.3.2 Desain Web Model desain web pada aplikasi ini menggunakan jenis arsitektur yang memiliki stuktur networked atau pure web yang memiliki node atau menu baik horizontal dan vertikal yang saling terhubung. Hal ini didesain untuk memudahkan pengguna untuk melakukan navigasi ke semua menu tanpa harus kembali ke menu home atau index. Berikut ini merupakan Gambar struktur model arsitektur pure web atau network model.
21
Gambar 3.2. Struktur Model Pure Web 3.3.3 Algoritma Proses-proses yang terjadi pada aplikasi harga kebutuhan bahan pokok berbasis SMS dapat dilihat melalui proses algoritma. Ada beberapa cara untuk menggambarkan proses algoritma diantaranya, yaitu : 1. Algoritma Pengecekan Jenis Data Request Algoritma ini merupakan proses algoritma untuk memecah field text decoded agar dapat diproses sesuai dengan jenis permintaanya. Berikut ini merupakan proses algoritma yang terjadi.
22
Mulai
Ambil field ID, TextDecoded dan Sender Number dengan menjalankan perintah mysql_query
Ya
Status Inbox Terproses ?
Tidak
for (a = 0; a < jmldataInbox; $a++)
Ambil Field Text Decoded
Ambil Field SenderNumber
Pecah Field Text Decoded
Periksa apakah Mengandung UNREG ?
Ya
UNREG SMS
Tidak Lakukan Operasi SWITCH Pecahan Field Text Decoded
AUTOSCH EDULED
Proses Harga Bapok AUTOSCHEDULED
AWEEK
Proses Harga Bapok AWEEK
AMONTH
INFOKODE KOMODITI
Default
Proses Harga Bapok AMONTH
Proses INFOKODEKOMOD ITI
Proses PESAN ERROR
Eksekusi GammuSMS-Inject
UPDATE Processed Inbox = ‘True’
a >= jmldataIn box
Selesai
Gambar 3.3. Algoritma Pengecekan Jenis Data Request Penjelasan Algoritma : Proses dimulai dengan proses query untuk mengambil data id, nomor telepon dan pesan yang masuk ke dalam inbox. Apabila statusnya terproses atau proses nilainya
23 true maka tidak akan diproses lebih lanjut namun apabila status belum terproses atau nilainya false maka dilanjutkan dengan melakukan proses pengambilan data per baris dengan menggunakan perulangan for yang dilakukan dari indeks ke 0 sampai dengan indeks terakhir bernilai sama dengan jumlah data row di tabel inbox. Data yang diambil dalam perulangan for ini adalah data pesan dan data nomor pengirim. Proses selanjutnya adalah memecah string pada pesan yang diterima sehingga didapatkan jenis permintaan dari pengirim request SMS, data diri pengirim dan pesan REG atau UNREG. Apabila pesan berupa UNREG maka pesan tersebut langsung berakhir. Jika berisi REG maka dilanjutkan oleh proses pemilihan dengan menggunakan perintah switch untuk mengenali jenis permintaan dan bagaimana memproses query tersebut. Setelah itu query yang diproses akan dieksekusi dengan menggunakan perintah gammu-sms-inject beserta nomor pengirim bersamaan dengan melakukan update status processed menjadi true. Perintah ini berfungsi untuk mencegah proses pengiriman berulang setelah pesan SMS diproses. 2. Algoritma Proses Pengiriman Data Harian Algoritma ini merupakan proses algoritma untuk mengirimkan data SMS harga kebutuhan pokok secara harian. Berikut ini merupakan proses algoritma yang terjadi.
24
Gambar 3.4. Algoritma Proses Pengiriman Data Harian Penjelasan Algoritma : Proses dimulai dengan data yang mengandung pola AUTOSCHEDULE. Selanjutnya mengeksekusi perintah SQL untuk mengambil data tanggal, kode komoditi, harga dan satuan. Masuk kepada perulangan for dari pengambilan data query secara row yang akan berakhir jika data i = jumlah record autoschedule. Setelah selesai maka dilanjutkan dengan melakukan proses implode atau menggabung array dengan karakter tertentu dengan menambahkan karakter | dibelakang variabel autoschedule.
25 3. Algoritma Proses Pengiriman Data Mingguan Algoritma ini merupakan proses algoritma untuk mengirimkan data SMS harga maksimal 10 jenis komoditi kebutuhan pokok secara mingguan. Berikut ini merupakan proses algoritma yang terjadi.
Gambar 3.5. Algoritma Proses Pengiriman Data Mingguan Penjelasan Algoritma : Proses dimulai dengan data yang mengandung pola AWEEK. Selanjutnya mengeksekusi perintah SQL untuk mengambil data tanggal, minggu, kode komoditi, harga dan satuan. Masuk kepada perulangan for dari pengambilan data
26 query secara row yang akan berakhir jika data i = jumlah record aweek. Setelah selesai maka dilanjutkan dengan melakukan proses implode atau menggabung array dengan karakter tertentu dengan menambahkan karakter | dibelakang variabel aweek. 4. Algoritma Proses Pengiriman Data Bulanan Algoritma ini merupakan proses algoritma untuk mengirimkan data SMS harga maksimal 10 jenis komoditi kebutuhan pokok secara bulanan. Berikut ini merupakan proses algoritma yang terjadi.
Gambar 3.6. Algoritma Proses Pengiriman Data Bulanan Penjelasan Algoritma : Proses dimulai dengan data yang mengandung pola AMONTH. Selanjutnya mengeksekusi perintah SQL untuk mengambil data tanggal, bulan, kode komoditi,
27 harga dan satuan. Masuk kepada perulangan for dari pengambilan data query secara row yang akan berakhir jika data i = jumlah record aweek. Setelah selesai maka dilanjutkan dengan melakukan proses implode atau menggabung array dengan karakter tertentu dengan menambahkan karakter | dibelakang variabel aweek. 5. Algoritma Proses Request Info Kode Komoditi Algoritma ini merupakan proses algoritma untuk mengirimkan SMS info kode komoditi. Berikut ini merupakan proses algoritma yang terjadi. Mulai
INFOKODEKOMODITI:
Var Pesan = ‘ BMD BerasMedium,GPL GulaPasir,MGK MinyakGorengKemasan,MGC MinyakGore ngCurah,DSP DagingSapi,DAB DagingAyamBroiler,DAK DagingAyamKampung,TAR TelurAyamRas,TAK TelurAyamKampung,SKM SusuKentalManis,TPT TepungTerig u,KDi KedelaiImpor,KDL KedelaiLokal,MII MieInstant,CMK CabeMerahKeriting,CMB CabeMerahBiasa,BWM BawangMerah,ITA IkanTeriAsin,KCH KacangHijau,KCT Ka cangTanah,KEP KetelaPohon ‘
Selesai
Gambar 3.7. Algoritma Proses Pengiriman Request Info Kode Komoditi Penjelasan Algoritma : Proses dimulai dengan data yang mengandung pola INFOKODEKOMODITI. Selanjutnya memasukkan kode komoditi dan nama komoditi ke variabel pesan. 6. Algoritma Proses Pengiriman Pesan Kesalahan Algoritma ini merupakan proses algoritma untuk mengirimkan pesan kesalahan jika switch hasil pemecahan kata tidak menemukan kriteria AUTOSCHEDULE, AWEEK, AMONTH dan INFOKODEKOMODITI. Berikut ini merupakan proses Algoritma yang terjadi.
28
Mulai
Default :
Var Pesan = ‘ Format Anda Salah, Silahkan ketik Format berikut : REG SMS|[AUTOSCHEDULE|AWEEK*TahunBulan;Komoditi1,Komoditi2#NamaKota|AMONTH*Tahun;Komoditi1,Komoditi2#NamaKota|INFOKODEKOMODITI|INFOREQUESTDATA], Contoh1: REG SMS|AUTOSCHEDULE; Contoh2: REG SMS|AWEEK*201108;BMD,GPL#UdinJakarta, Contoh3: REG SMS|AMONTH*2011;BMD,GPL#Udin-Jakarta’
Selesai
Gambar 3.8. Algoritma Proses Pengiriman Pesan Kesalahan Penjelasan Algoritma : Proses dimulai dengan keadaan default sehingga variable pesan berisi data pesan kesalahan yang akan dikirimkan ke pengguna. 3.3.4 Basis Data Basis Data diperlukan untuk menyimpan data pengguna dan data harga yang akan dikirimkan kepada pengguna SMS. Namun sebelum dapat mengimplementasikan hal tersebut model konseptual harus dipetakan ke model data yang kompatibel (bersesuaian) dengan DBMS (Database Management System) yang akan digunakan. Aktivitas perancangan basis data akan mentransformasi spesifikasi kebutuhan untuk tempat penyimpanan data yang akan dikembangkan selama analisis basis data ke dalam spesifikasi terstruktur untuk memandu implementasi langsung basis data. Ada 2 bentuk spesifikasi, yaitu: 1.
Logika, yang memetakan kebutuhan konseptual ke model data yang berasosiasi dengan sistem basis data yang spesifik.
2.
Fisik yang mengindikasikan semua parameter untuk tempat penyimpanan data yang kemudian menjadi masukan pada saat akan dilakukan implementasi basis data, dimana basis data secara aktual didefinisikan dengan DDL (Data Definition Language). [Nugroho Adi, ST., “Konsep Pengembangan Sistem Basis Data”, 3]
29
3.3.5 UML (Unified Modelling Language) Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM. UML
adalah
suatu
bahasa
yang
digunakan
untuk
menentukan,
memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. UML menyediakan sepuluh macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu: 1.
Use Case Diagram untuk memodelkan proses bisnis.
2.
Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
3.
Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objek.
4.
Collaboration Diagram untuk memodelkan interaksi antar objek.
5.
State Diagram untuk memodelkan perilaku objek di dalam sistem.
6.
Activity Diagram untuk memodelkan perilaku use cases dan objek di dalam sistem.
7.
Class Diagram untuk memodelkan struktur kelas.
8.
Object Diagram untuk memodelkan struktur objek.
9.
Component Diagram untuk memodelkan komponen objek.
10.
Deployment Diagram untuk memodelkan distribusi aplikasi.
30
Berikut ini merupakan diagram UML dari aplikasi yang telah dibangun beserta penjelasannya: 1.
Use Case Diagram Use case didefinisikan sebagai sebuah persyaratan fungsional yang digambarkan sebagai sebuah
urutan dari sebuah langkah dalam sebuah sistem, termasuk
kegiatan yang dilakukan oleh sistem dan interaksi antara sistem dan actor. Use case menunjukkan bagaimana actor berinteraksi dengan sebuah sistem dan menjelaskan kegiatan dari sistem tersebut . Di dalam UML sebuah use case digambarkan sebagai sebuah elips dan diberi label sesuai dengan nama dari class use case. Use Case dapat ditutup dengan sebuah bujursangkar yang menunjukkan batasan dari sebuah sistem yang menyediakan fungsi-fungsi di dalamnya. Gambar dari diagram use case dapat dilihat seperti di bawah ini. [Si Alhir, Sinan, “Learning UML”, 4.2 Uses Cases] Aplikasi Harga Kebutuhan Bahan Pokok Berbasis SMS
Mengirim SMS Registrasi Input Data Harga dan Monitoring
Pengguna Layanan SMS
Menerima Data Harga Bapok
Gambar 3.9. Use Case Diagram
Penjelasan use case diagram :
Administrator SMS
31 Pengguna layanan sms mengirimkan sms registrasi untuk mendapatkan data harga melaui telepon selularnya. Sedangkan administrator menggunakan aplikasi ini untuk meng-input data harga dan melakukan monitoring penggunaan sms. 2.
Sequence Diagram Sebuah diagram sequence menunjukkan elemen sebagimana mereka berinteraksi sepanjang waktu. Menunjukkan sebuah interaksi atau contoh interaksi. Sequence Diagram diorganisasikan sepanjang dua sumbu yaitu sumbu horizontal yang menunjukkan elemen yang terlibat dalam sbuah interaksi dan sumbu vertikal yang menunjukkan waktu pemrosesan di antara halaman. Elemen pada sumbu horizontal dapat dimunculkan kapan saja. Diagram sequence dibuat dari sejumlah elemen, yaitu class roles, objek spesifik, garis Bantu dan aktivasi. [Si Alhir, Sinan, “Learning UML”, 6.4 Sequence Diagram].
Gambar 3.10. Sequence Diagram Penjelasan Sequence Diagram pada Gambar 3.10 sebagai berikut: Pengguna SMS mengirimkan sms registrasi menggunakan telepon selular menggunakan fasilitas SMS. Aplikasi akan melakukan validasi terhadap format SMS yang masuk ke dalam inbox Aplikasi apabila proses validasi tidak menemukan kesalahan dalam format SMS maka data akan diproses dan diberikan kepada pengguna SMS. Sedangkan jika proses validasi menemukan kesalahan
32 dalam format SMS maka data tidak akan diproses dan pengguna akan diberikan pesan berupa kesalahan format SMS yang dikirimkan dan memberikan format SMS yang benar agar segera dapat dikirimkan lagi oleh pengguna SMS. 3.
Collaboration Diagram Sebuah diagram kolaborasi menunjukkan komunikasi antar elemen dan bagaimana cara mereka saling berhubungan. Oleh karena itu diagram kolaborasi menunjukkan sebuah kolaborasi atau contoh kolaborasi. Sementara sequence diagram merupakan diagram berorientasi waktu dan menekankan keseluruhan aliran selama melakukan interaksi, Collaboration Diagram berorientasi pada tempat dan waktu dan menekankan keseluruhan interaksi ,melibatkan elemen dan hubungannya . Sequence Diagram digunakan khususnya untuk interaksi yang sangat kompleks karena pembacaan dapat dilakukan dari atas ke bawah. Collaboration Diagram berguna khususnya untuk memvisualisasikan dampak dari interaksi dari berbagai elemen karena elemen dapat ditempatkan pada diagram dan dapat secara cepat melihat elemen lain yang berinteraksi dengannya. [Si Alhir, Sinan, “Learning UML”, 6.5 Collaboration Diagram].
Gambar 3.11. Collaboration Diagram Penjelasan Collaboration Diagram pada Gambar 3.11 sebagai berikut : Objek Inbox menguraikan text pada field text decoded. Objek harga melakukan query join dengan harga selanjutnya objek tersebut disertakan dengan objek nomor penerima untuk dikirimkan beserta nomor tujuan. Objek sistem akan memberikan laporan status pengiriman dan memberikan status terproses kepada objek inbox.
33 4.
Statechart Diagram Elemen berkomunikasi antara satu sama lain dengan sebuah kumpulan dari objek. Setiap elemen mempunyai daur hidup pada saat mereka dibuat, mengetahui sesuatu, melakukan sesuatu, dapat berkomunikasi dengan elemen lain untuk melakukan
request
pemrosesan
terhadap
elemen
lain
dapat
membuat
berkomunikasi untuk melakukan proses request dan menghilangkannya. Sebuah state adalah sebuah kondisi khusus atau keadaan selama daur hidupnya. [Si Alhir, Sinan, “Learning UML”, 7.1 States]. Request LayananSMS
Ubah Status SMS SMS Status Terproses
Cek Data Status Request Disimpan
Data SMS Terkirim
Data sedang Tidak diproses
Kirim SMS : Gammu-smsinject
Data dipecah Data SMS terkategori
Proses SMS Selanjutnya
Gambar 3.12. Statechart Diagram Penjelasan Statechart Diagram pada Gambar 3.12 sebagai berikut : Proses diawali dari pengguna melakukan request permintaan data harga kebutuhan pokok. Request selanjutnya diverifikasi apakah telah sesuai dengan format SMS yang diperbolehkan. Jika diterima maka data request disimpan pada pada outbox. Selanjutnya diakhiri dengan pengiriman data harga kepada pengguna layanan SMS. 5.
Activity Diagram Activity Diagram menunjukkan kontrol atau aliran data dari satu aktivitas ke aktivitas lainnya, selain itu activity diagram menunjukkan pandangan yang dinamis terhadap sistem yang berguna untuk memodelkan fungsi di dalamnya. Activity Diagram menekankan pada aliran kontrol di antara objek.[Ojo, Adegboyega and Estevez, Elsa “Object Oriented Analysis and Design with UML Training Course”. E-Macao Report 19 Version 1.0 (October 2005), 46].
34 Pengguna SMS
Aplikasi SMS Harga
Start Mengirim SMS Registrasi
Mengecek Status SMS cek lama kirim
[ != 1 hari]
Cek Lama Kirim (autoschedule)
[ = 1 hari]
Update Processed = False
[ Processed = True]
Status Processed ? [ Processed = False]
Pecah Format SMS
Cek Bagian Pecahan Pertama
[UNREG = TRUE]
UNREG ?
[UNREG = FALSE]
Operasi Switch Pecahan Kedua
Query data switch
Gammu-SMS-Inject
Update Processed = True
Gambar 3.13. Activity Diagram Penjelasan Activity Diagram pada Gambar 3.13 sebagai berikut : Activity Diagram diawali dengan permintaan SMS registrasi dari pengguna layanan SMS, SMS tersebut dicek Apakah sudah ada statusnya di sentitems jika ada cek waktu perbedaan rentang waktu antara saat ini dengan waktu pengiriman jika tidak sama dengan 1 proses selesai, jika = 1 berlanjut ke proses berikutnya cek status processed apakah sama dengan false atau sama dengan true . Apabila processed = true proses selesai. Tapi jika statusnya = false atau dalam keadaan tidak terproses maka sistem akan memecah pesan SMS pengguna menjadi beberapa bagian. Jika mengandung kata REG maka sistem akan menggunakan perintah switch untuk mengelompokkan sesuai dengan jenisnya selanjutnya
35 memeriksa pecahan ketiga menggunakan perintah switch untuk memproses data SMS yang akan dikirimkan sistem sesuai dengan permintaan pengguna dengan perintah gammu-sms-inject. Jika status sistem menyatakan bahwa SMS sudah terproses maka sistem akan memproses data SMS berikutnya yang memiliki status tidak terproses. Jika mengandung kata UNREG sistem akan mengirimkan pesan dan diberikan status terproses. 6.
Class Diagram Class Diagram berisi class dan interface beserta atribut dan operasinya, relasi yang terjadi antar objek. Constraint terhadap objek-objek yang saling berhubungan, inheritance. [Raharjo, Willy Sudiarto dan Wikan Mahastama, Aditya ,”Pemodelan Sistem Perangkat Lunak”. UML : Class Diagram]
Gambar 3.14. Class Diagram Penjelasan Class Diagram pada Gambar 3.14 sebagai berikut : Hubungan atau Assosiasi yang terjadi adalah sebagai berikut:
36 a.
Class diagram terdiri class menu yang melakukan request kepada class inbox, sentitems, smsflash dan request untuk menampilkan halamanhalaman tersebut.
b.
Class harga akan mengambil data singkatan dan satuan pada class komoditi
c.
Class inbox mengekstrak data text yang masuk ke dalam inbox serta mengambil data harga dan nomor pengirim untuk melakukan pengiriman SMS menggunakan perintah gammu-sms-inject.
d.
Class sentitem akan memberikan status pengiriman dari class inbox yang sudah dikirimkan.
7.
Component Diagram Sebuah komponen adalah bagian dari sebuah sistem yang ada ketika sistem dieksekusi. Aplikasi harga bapok yang tersusun atas beberapa komponen, yaitu: a. Komponen User Interface Komponen user interface yang berfungsi untuk monitoring data SMS yang masuk dan keluar b. Komponen Data Storage Komponen ini berfungsi untuk menyimpan data request dari pengguna layanan sms harga kebutuhan bahan pokok c. Komponen Gammu Komponen ini berfungsi untuk menghubungkan antara komputer dengan perangkat mobile d. Komponen Bussiness Process Komponen ini berfungsi untuk mengolah data request harga kebutuhan bahan pokok untuk dikirimkan kembali kepada pengirim yang termasuk ke dalam pengguna layanan SMS aplikasi harga kebutuhan pokok.
37 Berikut ini merupakan gambaran dari Component Diagram dari aplikasi harga kebutuhan pokok.
Gambar 3.15. Component Diagram Penjelasan Component Diagram pada Gambar 3.15 sebagai berikut : Component diagram diawali dari component SMS yang masuk ke dalam component basis data lalu oleh component aplikasi SMS melakukan request data harga dan data pengirim pada component basis data. component basis data akan memberikan datanya kepada component aplikasi SMS lalu component aplikasi SMS akan dibantu dengan menggunakan component Gammu untuk mengubah format data ke bentuk format SMS dan mengirimkan data harga yang valid kepada pengirim SMS. 8.
Deployment Diagram Deployment Diagram menunjukkan konfigurasi dari node proses run-time dan komponen yang berada di dalamnya, memodelkan distribusi, pengiriman dan instalasi dari bagan yang membentuk sistem secara fisik, melibatkan topologi pemodelan dari perangkat keras di mana sistem itu bekerja.
38
Gambar 3.16. Deployment Diagram Penjelasan Deployment Diagram pada Gambar 3.16 sebagai berikut : Component diagram diawali dengan component SMS masuk ke basis data menggunakan modem. Modem akan mengirimkan ke component basis data pada enterprise services yang diproses oleh web server untuk mengambil request harga web dan menyimpan data yang akan dikirimkan data yang dikirim dan masuk ke dalam basis data ditampilkan pada aplikasi SMS. Aplikasi SMS selanjutnya memanggil component Gammu untuk mengirimkan SMS. Component Gammu akan mengubah format data ke format SMS untuk dapat dikirimkan menggunakan modem. 3.3.6 User Interface User interface menciptakan sebuah media komunikasi yang efektif antara manusia dan komputer. Dengan mengikuti aturan-aturan prinsip desain interface (golden rule interface),
perancangan
melakukan identifikasi objek dan aksi
selanjutnya menciptakan sebuah layout layar yang membentuk dasar untuk prototipe interface pengguna. Desain user interface dimulai dengan melakukan identifikasi pengguna, tugas, dan lingkungan yang dibutuhkan. Setelah tugas-tugas pengguna telah diidentifikasi,
39 selanjutnya membuat skenario pengguna yang dianalisis untuk dapat mendefinisikan objek interface dan langkah apa saja yang dapat dilakukan untuk menyusun tampilan pada layar yang digambarkan dengan gambar, penempatan ikon, pendefinisian informasi berupa text pada layar, spesifikasi dan sertifikasi untuk windows, dan spesifikasi item menu utama dan minor. Untuk itu dibutuhkan alat-alat bantu atau tools yang dapat digunakan untuk membuat prototipe pembuatan interface, menerapkan model desain interface, melakukan evaluasi dari interface untuk melihat kualitas dari hasil rancangan interface. [Pressman, Roger S.
Ph.D. “Software Engineering
A
Practitioner Approach’s Fifth Edition”, 401]. Berikut ini merupakan rancangan interface dari aplikasi informasi kebutuhan bahan pokok kementerian perdagangan yang dibagi menjadi beberapa rancangan tampilan berdasarkan jenis menunya. 1.
Rancangan Tampilan Menu Konfigurasi
Header
Logo
Konfigurasi Inbox Sent Item SMS Flash Contact
Port
:
Connection
:
User Name
:
Password
:
Run All Service :
CREATE
RUN
STOP
Footer Gambar 3.17. Rancangan Tampilan Konfigurasi
40 2.
Rancangan Tampilan Menu Inbox
Header
Logo
Konfigurasi
No
Inbox
1
Tanggal yyyy-mm-dd hh:mm:ss
No HP
Isi Pesan
xxxxxxxx
Isi Pesan
Sent Item SMS Flash Contact
Footer Gambar 3.18. Rancangan Tampilan Inbox
3.
Rancangan Tampilan Menu Sent Item
Header
Logo
Konfigurasi
No
Inbox
1
Tanggal yyyy-mm-dd hh:mm:ss
No HP
Status
Isi Pesan
xxxxxxxx
Status
Isi Pesan
Sent Item SMS Flash Contact
Footer Gambar 3.19. Rancangan Tampilan Sent Item
41 4.
Rancangan Tampilan Menu SMS Flash
Logo
Header
Konfigurasi
Masukkan No HP Tujuan
:
Inbox
Masukkan Isi SMS
:
Sent Item SMS Flash Contact Kirim
Footer Gambar 3.20. Rancangan Tampilan SMS Flash
5.
Rancangan Tampilan Menu Contact
Header
Logo
Konfigurasi
No
Nama
No HP
Kota
Inbox
1
Nama
xxxxxxxx
Kota
Sent Item SMS Flash Contact
Footer
Gambar 3.21. Rancangan Tampilan Contact