i Skripsi
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh: CHIPUTERA
095314021
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
i A Thesis
Presented as Partial Fulfillment of Requirements To Obtain the SarjanaKomputer Degree In Informatics Engineering Study Program
Oleh: CHIPUTERA
095314021
INFORMATICS ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AMD TECHNOLOGY
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
iv
v
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 20 Februari 2013 Penulis
vi
merupakan permasalahan umum yang tak kunjung selesai. Banyak kasus dimana terdapat barak pengungsian atau yang biasa disebut posko, sangat terlambat mendapatkan penyaluran bantuan dari pemerintah. Hal ini terjadi karena kelemahan manajemen distribusi yang ada dari posko pusat (pemerintah) kepada posko masyarakat. Oleh karena itu penulis ingin membuat manajemen distribusi baru dengan menerapkan algoritma metode transportasi untuk menentukan alur distribusi, dalam rangka meningkatkan pemerataan penyebaran bantuan logistik di Indonesia.
vii
common problems that never completed. Many cases where there are refugee barracks or commonly known as posko, are very late getting channeling relief from the Government. It happens because of the weakness of the existing distribution management of posko Center (Government), to the citizen’s refugee barracks. Therefore the author wants to create a new distribution management by applying an algorithm to determine the transport method of the groove distribution, in order to improve equitable deployment of logistical support in Indonesia.
viii
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Chiputera
Nomor Mahasiswa : 095314021
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
PENERAPAN ALGORITMA VOGEL’S APPROXIMATION METHOD DAN
MULTIPLIER UNTUK KASUS DISTRIBUSI BANTUAN BENCANA
ALAM INDONESIA.
Beserta perangkat yang diperlukan. Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantukan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 21 Februari 2013 Yang menyatakan,
ix
Nya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Tugas akhir ini disusun untuk memenuhi salah satu syarat untuk mencapai derajat dan memperoleh gelar Sarjana Teknik dari Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.Penulis menyadari bahwa dalam pembuatan tugas akhir ini tidak terlepas dari bantuan berbagai pihak baik secara langsung maupun tidak langsung. Oleh sebab itu, pada kesempatan ini penulis ingin mengucapkan terimakasih kepada:
1. Tuhan Yesus Kristus, yang selalu memberikan pencerahan dan membimbing saya dalam menyelesaikan tugas akhir ini.
2. Bapak Albertus Agung Hadhiatma , S.T., M.T. selaku dosen pembimbing, yang telah meluangkan waktu dan pikiran untuk membantu, membimbing dan memberikan banyak masukan dan saran dalam proses penyusunan tugas akhir ini.
3. Ibu Ridowati Gunawan , S.Kom., M.T. selaku kepala prodi Teknik Informatika, Sanata Dharma, yang juga telah memberikan jawaban atas segala pernyataan saya tentang prosedur tugas akhir, dan memberi masukkan pada saya tentang perancangan basis data pada tugas akhir ini.
4. Orang Tua saya, khususnya Ayah saya, Jeffry Harrin Soediharno, yang telah memberikan kesempatan pada saya untuk dapat menimba ilmu yang sangat banyak. Kepada Almarhum Ibu saya yang ada di surga, yang saya yakin dia selalu melihat saya dan mendoakan saya pada Tuhan dalam sepanjang hidup saya sampai sekarang.
x
kepadanya karena telah mengubah pandangan saya tentang dunia, yang membuat saya tidak pernah ragu untuk lebih maju dan berkembang, berani untuk mengambil resiko dalam setiap kesempatan, dan membuat hidup saya menjadi jauh lebih baik dari sebelum saya mengenal dia.
7. Teman-teman seperjuangan, Nico, Yosi, Fidi, Jenot, Kiki, Yudhi, Cosmas danPuji, yang selalu menghibur saya dan rela menjadi tempat saya untuk mengeksprsikan diri dengan tingkah saya yang sedikit konyol.
8. Audris Evan Utomo, seorang teman yang saya jadikan sebagai rival dalam mengerjakan tugas akhir ini dan menjadi teman untuk saling bertukar pikiran. Dimana dia dan saya sama-sama memiliki misi yang sama, yakni berjuanguntuk memperoleh gelar studi dengan cepat .
9. Teman-teman Teknik Informatika Sanata Dharma 2009, yang saling memberikan semangat dan dukungan dalam pengerjaan tugas akhir.
Yogyakarta, 17 Januari 2012
xi
HALAMAN JUDUL ……….. i
HALAMAN PERSETUJUAN ... ii
HALAMAN PENGESAHAN ………...………. iii
LEMBAR MOTO ………..…… iv
HALAMAN PERNYATAAN KEASLIAN KARYA ... v
ABSTRAK ... vi
ABSTRACT ... vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ……… viii
KATA PENGANTAR ... ix
1.3 Tujuan dan Manfaat Penulisan ....………... 5
1.4 Batasan Masalah …...………... 6
1.5 Metodologi Penulisan ..……….. 7
1.6 Sistematika Penulisan ………... 8
BAB II TINJAUAN PUSTAKA ...………... 10
2.1 Riset Operasi ...….……….... 10 2.2 Model Transportasi ...……… 2.3 Vogels Approximation Method ...……….. 2.4 Algoritma Multiplier ...……….
2.5 Google Maps .……….
2.6 Google Maps Application Programming Interface (API) ….……... 2.7 Google Distance Matrix ...………
xii
3.1.2. Analisa Sebab Akibat ………... 30
3.1.3. Gambaran Sistem Baru ………... 32
3.1.3.1. Kelebihan Sistem dibanding Sistem Lain ... 35
3.1.4. User Policy ………... 36
3.2. Perancangan Metode Transportasi ………. 3.2.1. Pseudocode Algoritma Vogels Approximation Method ... 3.2.2. Pseudocode Algoritma Multiplier ... 37 38 38 3.3. Perancangan Sistem ……...….……… 39
3.3.1. Identifikasi Stakeholder dan User Profiles ………... 3.3.2. Model Usecase ………... 3.3.2.1. Usecase Diagram ... 3.3.2.2. Narasi Usecase Website DMS-INDSR ... 3.3.2.3. Narasi Usecase Android ... 39 3.3.4. Data Flow Diagram ………..………..
3.3.4.1. DFD Level 1 ... 3.3.4.2. DFD Level 2 Proses 1 ... 3.3.4.3. DFD Level 3 Proses 4 ... 3.3.5. Deskripsi Proses ... 3.3.6. Kamus Data ... 3.3.7. Diagram Aktifitas ... 3.3.7.1. Diagram Aktifitas Login ... 3.3.7.2. Diagram Aktifitas Kelola Posko – Buat Posko ... 3.3.7.3. Diagram Aktifitas Kelola Posko – Edit Posko ... 3.3.7.4. Diagram Aktifitas Kelola Posko – Hapus Posko ... 3.3.7.5. Diagram Aktifitas Mengubah Profil ... 3.3.7.6. Diagram Aktifitas Mengelola Kategori – Tambah
xiii
3.3.7.8. Diagram Aktifitas Melihat Jalur Distribusi ... 3.3.7.9. Diagram Aktifitas Mengganti Data Logistik ... 3.3.8. Entity Relationship (ER) Diagram ... 3.3.9. Relational Model ... 3.3.10.Tabel ... 3.3.11.Perancangan Antarmuka ...
3.3.11.1. Halaman Login ... 3.3.11.2. Halaman Posko ... 3.3.11.3. Halaman Map ... 3.3.11.4. Halaman Profil ... 3.3.11.5. Halaman Kategori ... 3.3.11.6. Halaman Home ... 3.3.11.7. Halaman Profil Posko ... 3.3.11.8. Halaman Logistik ... 3.3.11.9. Halaman Konfirmasi Android ...
68 BAB IV IMPLEMENTASI SISTEM …...………...
4.1.Pengolahan Data Posko ………...………. 4.1.1. Google Distance Matrix ...
77 77 85 4.2. Implementasi Database ...………...
4.2.1. Tabel User ... 4.2.2. Tabel Posko ... 4.2.3. Tabel Cost ... 4.2.4. Tabel Kategori Logistik ... 4.2.5. Tabel Logistik ...
86 4.3. Implementasi Program dan Pembahasan ………...….……...
4.3.1. Halaman Login ... 4.3.2. Halaman User BNPB ...
xiv
4.3.2.4. Halaman Posko – Hapus Posko ... 4.3.2.5. Halaman Map ... 4.3.2.6. Halaman Profile ... 4.3.2.7. Halaman Kategori ... 4.3.3. Halaman User Posko ... 4.3.3.1. Halaman Home ... 4.3.3.2. Halaman Profile ... 4.3.3.3. Halaman Logistik ... 4.3.4. Halaman Konfirmasi Lokasi Posko (Android) ...
94 BAB V PENGUJIAN DAN ANALISIS HASIL ………... 104
5.1. Pengujian Metode Transportasi pada DMS-INDSR …………... 5.1.1. Perhitungan Manual ... 5.1.2. Perbandingan dengan Perhitungan Sistem ... 5.1.3. Pengujian dengan Simulasi supply-demand berbeda.. 5.1.3.1.Pengujian dengan supply lebih tinggi ... 5.1.3.2.Pengujian dengan demand lebih tinggi ... 5.1.3.3.Pengujian dengan nilai supply dan demand
yang berbanding jauh ... 5.2. Pengujian Kehandalan Sistem ...
xv
Gambar (2-1) : Real World System ...……….. 11
Gambar (2-2) : Lingkaran Evaluasi ………...……….... 22
Gambar (2-3) : Hasil Iterasi Algoritma Multiplier ... 23
Gambar (2-4) : Google Maps View ... 24
Gambar (2-5) : Google Reference ... 26
Gambar (2-6) : Google Distance Matrix Form ... 27
Gambar (2-7) : Form Request for JSON Output ... 28
Gambar (2-8) : Form Request for XML Output ... 28
Gambar (2-9) : Google Distance Matrix Output ... 28
Gambar (3-1) : Arsitektur DMS-INDSR ... 33
Gambar (3-2) : Diagram UML Metode Transportasi ... 37
Gambar (3-3) : Usecase User BNPB Web ... 41
Gambar (3-4) : Usecase User Posko Web ... 42
Gambar (3-5) : Usecase User Posko Android ... 42
Gambar (3-6) : Diagram Konteks ... 51
Gambar (3-7) : Data Flow Diagram Level 1 ... 52
Gambar (3-8) : Data Flow Diagram Level 2 Proses 1 ... 53
Gambar (3-9) : Data Flow Diagram Level 2 Proses 4 ... 54
Gambar (3-10) : Diagram Aktifitas Login ... 63
Gambar (3-11) : Diagram Aktifitas Buat Posko ... 64
Gambar (3-12) : Diagram Aktifitas Edit Posko ... 64
Gambar (3-13) : Diagram Aktifitas Hapus Posko ... 65
Gambar (3-14) : Diagram Aktifitas Ubah Profil ... 65
Gambar (3-15) : Diagram Aktifitas Tambah Kategori Logistik ... 66
Gambar (3-16) : Diagram Aktifitas Hapus Kategori Logistik ... 66
Gambar (3-17) : Diagram Aktifitas Melihat Jalur Distribusi ... 67
xvi
Gambar (3-28) : Halaman Halaman Logistik ... 75
Gambar (3-28) : Halaman Konfirmasi Android ... 75
Gambar (4-1) : Data Posko kml ... 77
Gambar (4-2) : Data Posko xls ... 77
Gambar (4-3) : Data Posko Hasil Pengolahan, bertipe xml ... 78
Gambar (4-4) : Request Url Google Distance Matrix API ... 84
Gambar (4-5) : Controller Pada Sistem ... 88
Gambar (4-6) : Kelas Model Pada Sistem ... 89
Gambar (4-7) : Kelas View Pada Sistem ... 89
Gambar (4-8) : Halaman Login ... 90
Gambar (4-9) : Halaman Kelola Posko ... 91
Gambar (4-10) : Form Posko Baru ... 91
Gambar (4-11) : Penanganan Empty Field Error ... 92
Gambar (4-12) : Halaman Edit Posko ... 92
Gambar (4-13) : Jendela Konfirmasi Penghapusan Posko ... 93
Gambar (4-14) : Halaman Map ... 94
Gambar (4-15) : Halaman Map dengan Jalur ... 94
Gambar (4-16) : Halaman Ubah Profil ... 95
Gambar (4-17) : Halaman Ubah Profil – Pindah Marker ... 96
Gambar (4-18) : Halaman Ubah Profil – Form Pergi Ke ... 96
xvii
Gambar (4-23) : Halaman Konfirmasi Lokasi ... 100
Gambar (4-24) : Halaman Pesan Sukses ... 100
Gambar (5-1) : Hasil Perhitungan Oleh Sistem ... 118
Gambar (5-2) : Hasil Pengujian Kehandalan Sistem ... 120
xviii
DAFTAR TABEL
Tabel (2-1) : Tabel Model Transportasi ……….……….... 13
Tabel (2-2) : Pencarian Nilai Opportunity Cost ...………...………... 14
Tabel (2-3) : Pencarian nilai cost minimum pada opportunity cost tertinggi 15 Tabel (2-4) : Pengisian nilai dan penghapusan baris/kolom ... 15
Tabel (2-5) : Hasil Iterasi II ... 16
Tabel (2-6) : Hasil Iterasi III ... 16
Tabel (2-7) : Hasil Akhir Algoritma Vogels Approximation Method ... 16
Tabel (2-8) : Solusi Awal ... 18
Tabel (2-9) : Pencarian variabel u-v, Iterasi I ... 18
Tabel (2-10) : Pencarian variabel u-v, Iterasi II ... 19
Tabel (2-11) : Pencarian variabel u-v, Iterasi III ... 19
Tabel (2-12) : Pencarian variabel u-v, Iterasi IV ... 20
Tabel (2-13) : Pencarian variabel u-v, Iterasi V ... 20
Tabel (2-14) : Pencarian variabel u-v, Iterasi VI ... 21
Tabel (2-15) : Pencarian variabel u-v, Iterasi VII ... 21
Tabel (2-16) : Pengisian nilai variabel non-basis ... 22
Tabel (2-17) : Parameter form Google API ... 27
Tabel (3-1) : Tabel Analisa Sebab Akibat ... 31
Tabel (3-2) : Identifikasi Stakeholder ... 39
Tabel (3-3) : User Profiles ... 40
Tabel (3-4) : Tabel Posko ... 70
Tabel (3-5) : Tabel User ... 70
xix
Tabel (5-2) : Posko Pusat Kabupaten Sleman ... 103
Tabel (5-3) : Posko Masyarakat Kabupaten Sleman ... 103
Tabel (5-4) : Uji Manual – Tabel Awal ... 104
Tabel (5-5) : Uji Manual – Iterasi I, Pencarian Nilai Dummy ... 105
Tabel (5-6) : Uji Manual – Iterasi I, Pencarian Nilai Dummy Max dan Cost Min ... 105
Tabel (5-11) : Uji Manual – Iterasi III, Pencarian Nilai Dummy ... 108
Tabel (5-12) : Uji Manual – Iterasi III, Pencarian Nilai Dummy Max dan Cost Min ... 109
Tabel (5-13) : Uji Manual – Hasil Iterasi III ... 109
Tabel (5-14) : Uji Manual – Iterasi IV, Pencarian Nilai Dummy ... 110
Tabel (5-15) : Uji Manual – Iterasi IV, Pencarian Nilai Dummy Max dan Cost Min ... 110
Tabel (5-16) : Uji Manual – Hasil Iterasi IV ... 111
Tabel (5-17) : Uji Manual – Iterasi V, Pencarian Nilai Dummy ... 112
Tabel (5-18) : Uji Manual – Iterasi V, Pencarian Nilai Dummy Max dan Cost Min ... 112
Tabel (5-19) : Uji Manual – Hasil Iterasi V ... 113
Tabel (5-20) : Uji Manual – Iterasi VI, Pencarian Nilai Dummy ... 113
Tabel (5-21) : Uji Manual – Iterasi VI, Pencarian Nilai Dummy Max dan Cost Min ... 114
xx
Tabel (5-25) : Uji Manual – Hasil Iterasi VII ... 116
Tabel (5-26) : Uji Manual – Iterasi VIII, Pencarian Nilai Dummy ... 116
Tabel (5-27) : Uji Manual – Iterasi VIII, Pencarian Nilai Dummy Max dan Cost Min ... 117
Tabel (5-28) : Uji Manual – Iterasi I, Hasil Iterasi VIII ... 117
Tabel (5-29) : Hasil Solusi Awal – Vogel’s Approximation Method ... 118
1
1.1. Latar Belakang
Dewasa ini dunia teknologi informasi khususnya pada teknologi komputasi telah berkembang sangat pesat. Tidak sedikit masalah praktis manusia telah dimodelkan kedalam metode matematis dalam teknologi komputasi. Program linier dalam riset operasi merupakan salah satu bukti dari pesatnya perkembangan teknologi komputasi yang telah diterapkan dalam masalah ekonomi, industri, militer, sosial dan lain-lain, menggunakan bantuan komputer.
Program linier merupakan salah satu metode matematis dalam mengalokasikan sumber daya yang terbatas, untuk mencapai suatu tujuan seperti memaksimumkan keuntungan dan meminimumkan biaya. Pemrograman linier berkaitan dengan penjelasan suatu kasus dalam dunia nyata sebagai suatu model matematik yang terdiri dari sebuah fungsi tujuan linier dengan beberapa kendala linier. Salah satu bentuk metode program linier adalah metode transportasi.
Oleh karena banyaknya variabel pembatas yang dihasilkan, maka sangat dibutuhkan penggunaan komputer untuk mengolah data-data yang ada. Pembatas-pembatas tersebut ditemukan dengan cara melakukan studi terlebih dahulu terhadap masalah distribusi yang hendak diselesaikan. Studi dilakukan untuk memperoleh berapa variabel supply dan demand yang ada dalam suatu kasus, kemudian dari variable tersebut akan dilakukan penghitungan cost yang ada diantara masing-masing kunjungan.
Vogel's approximation method adalah salah satu contoh algoritma dari metode transportasi yang dapat digunakan untuk memecahkan masalah distribusi. Algoritma Vogel's approximation method merupakan algoritma yang paling baik dibandingkan dengan algoritma lainnya seperti algoritma north-west corner. Salah satu kelebihan dari algoritma Vogel's approximation method adalah tingkat fleksibilitas yang tinggi, tidak seperti north-west corner yang memiliki syarat variabel demand dan supply harus berjumlah sama. Penerapan algoritma Vogel's approximation method untuk masalah transportasi seringkali memberikan hasil solusi yang optimal. Namun pada beberapa jenis variabel pembatas, algoritma Vogel's approximation method ini belum bisa memberikan solusi paling optimal. Maka dari itu pencarian solusi optimum membutuhkan algoritma lanjutan, yakni algoritma multiplier.
diselesaikan dengan menggunakan algoritma metode transportasi ini, salah satunya adalah masalah distribusi bantuan bencana alam yang terjadi antar posko di Indonesia.
Pada dasarnya posko terbagi menjadi dua jenis, yakni posko penyalur dan posko penerima. Posko penyalur biasanya merupakan posko yang ditentukan sebagai sumber/pusat, yakni tempat bantuan-bantuan yang di berikan oleh masyarakat ditampung dan kemudian dari posko sumber tersebut bantuan akan disalurkan pada posko penerima yang sudah terdaftar. Sedangkan posko penerima merupakan posko yang didirikan oleh masyarakat setempat dan terkadang tidak diketahui oleh umum, sehingga tidak mendapatkan bantuan secara langsung. Oleh sebab itu diperlukan proses distribusi bantuan, yang dilakukan oleh seluruh posko pusat (penyalur) kepada tiap posko masyarakat (penerima).
datangnya bantuan pada posko yang dituju dan biaya yang dikeluarkan lebih mahal.
Dalam kasus manajemen distribusi bencana alam, pembuatan sistem manajemen distribusi menggunakan metode transportasi ini dapat diterapkan. Penerapan dapat terjadi karena terdapat variabel source dan destination yakni posko pusat dan masyarakat, dengan menggunakan bantuan logistik pada variabel supply dan demand. Namun dalam kasus yang darurat seperti bencana alam, terkadang studi yang dilakukan untuk menemukan pembatas-pembatas tersebut menjadi sangat tidak praktis terutama dalam pengukuran variabel cost.
mengitregasikan teknologi GPS untuk penentuan cost. Namun pada kasus ini belum dapat dipastikan apakah terdapat keterbatasan atau kekurangan algoritma pada metode transportasi yang digunakan, dalam menangani variabel pembatas dengan nilai stok yang tidak tetap dan terkadang berbanding jauh. Maka dari itu penulis juga harus melakukan pengujian algoritma tersebut pada kasus distribusi bencana alam.
1.2. Rumusan Masalah
Dari latar belakang masalah diatas, penulis melakukan perumusan masalah yakni : Sejauhmana algoritma Vogel'sapproximation method dan Multiplier yang diintegrasikan dengan teknologi Global Positioning System (GPS) dapat diterapkan dalam kasus distribusi bantuan bencana alam.
1.3. Tujuan dan Manfaat Penulisan
bantuan bencana alam ini cukup luas, sehingga penelitian ini hanya dibatasi pada :
1.Menggunakan ruang lingkup kasus distribusi posko yang terbentuk pada saat bencana alam di negara Indonesia saja.
2.Pengujian pada tugas akhir ini dilakukan pada metode transportasi yang digunakkan, dengan melihat kebenaran dari hasil dan kehandalan sistem untuk melakukan perhitungan.
3.Studi kasus yang digunakan pada saat pengujian sistem adalah daftar titik lokasi persebaran posko yang terbentuk pada saat bencana erupsi Merapi setelah 5 November 2010, yakni saat setelah terjadinya letusan besar dan zona aman berada pada radius 20 km dari puncak merapi. Data titik posko dan jumlah pengungsi diambil dari situs partisipasi-merapi milik Universita Gadjah Mada (www.merapi-partisipasi.ugm.ac.id).
4.Studi kasus digunakan untuk memperoleh variabel cost, source, dan destination.
5.Variabel cost diambil dari masing-masing titik koordinat posko yang berupa jarak antar titik (statis).
hari untuk setiap orang dalam barak pengungsian.
1.5. Metodologi Penulisan
Metodologi yang digunakan dalam pelaksanaan penulisan tugas akhir ini adalah sebagai berikut :
1. Penelitian Kepustakaan
a.Mempelajari literatur yang berkaitan dengan penggunaan algoritma yang akan dipergunakan, yakni algoritma Vogel's approximation method dan multiplier dalam riset operasi.
b.Mempelajari literatur tentang pemakaian application programming interface dari Google Maps.
c.Mempelajari literatur mengenai teknik pengkodean menggunakan Java Andrioid, PHP 5,Javascript, dan XML.
2. Pengumpulan Data
Mengumpulkan data berupa nama posko, lokasi posko, dan jumlah penduduk yang didapatkan dari situs merapi-partisipasi milik Universitas Gadjah Mada, untuk pengujian/percobaan aplikasi.
3. Analisis Sistem
4. Perancangan Perangkat Lunak
Merancang sistem dengan menggunakan pendekatan pembangunan perangkat lunak secara terstruktur.
5. Implementasi
a. Melakukan proses scripting untuk pengolahan data titik posko yang sebelumnya telah dianalisis.
b. Mengintegrasikan sistem dengan application programming interface dari Google Maps.
c. Melakukan pengkodean algoritma Vogel's approximation method dan multiplier.
d. Melakukan proses pengkodean dari sistem yang telah dirancang sebelumnya baik dari sistem website dan android.
6. Pengujian/Percobaan
Pengujian dilakukan dengan menggunakan data posko yang sudah diolah dalam proses implementasi. Kemudian dibandingkan hasil dari perhitungan sistem dan perhitungan manual. Selain itu pengujian juga dilakukan dengan menggunakan jumlah data posko yang besar untuk menguji kehandalan sistem.
I.6. Sistematika Penulisan
masalah, tujuan penulisan, batasan masalah, dan sistematika penulisan laporan.
2. BAB II TINJAUAN PUSTAKA
Pada bab ini akan dijelaskan uraian singkat hasil-hasil penelitian terdahulu yang berhubungan dengan permasalahan yang akan ditinjau dalam tugas akhir ini.
3. BAB III ANALISIS DAN DESAIN PERANGKAT LUNAK
Pada bab ini akan dijelaskan mengenai analisis dan desain perangkat lunak yang akan dibuat, serta perancangan sistem yang akan diterapkan dalam pembangunan perangkat lunak.
4. BAB V IMPLEMENTASI DAN PENGUJIAN PERANGKAT
LUNAK
Pada bab ini akan dijelaskan mengenai gambaran tentang cara implementasi dan penggunaan sistem, serta hasil pengujian yang dilakukan terhadap perangkat lunak tersebut.
5. BAB VI PENUTUP
10
TINJAUAN PUSTAKA
2.1. Riset Operasi
Riset operasi pertamakali dibuat oleh tim peneliti dari Inggris pada saat perang dunia kedua.Tujuan dari penelitian metode ini adalah untuk menentukan penggunaan paling efektif dari sumber daya militer mereka yang terbatas.Riset operasi merupakan metode untuk memformulasikan dan merumuskanpermasalahan sehari-hari baik mengenai bisnis, ekonomi, sosial maupun bidanglainnya ke dalam pemodelan matematis untuk mendapatkan solusi yang optimal dari sumber yang terbatas.Bagian terpenting dari Riset Operasi adalah bagaimana menerjemahkanpermasalahan sehari-hari ke dalam model matematis.Faktor-faktor yangmempengaruhi pemodelan harus disederhanakan dan apabila ada data yangkurang, kekurangan tersebut dapat diasumsikan atau diisi dengan pendekatan yangbersifat rasional.
Gambar 2.1.Real World System
Gambar 1.1 menggambarkan tingkatan dari situasi sistem di dunia nyata yang dipergunakan untuk membuat model dalam sistem ini. Model dibentuk dari variabel-variabel yang paling dominan, yang mempengaruhi hasil yang diinginkan. Penyederhanaan dari dunia nyata ke dalam asumsi dunia nyata, dilakukan dengan cara “menggumpalkan” beberapa parameter di dunia nyata ke dalam satu parameter asusmsi dunia nyata (Taha, Hamdy A., 9th Edition ofAn Introduction, Operation Research, 2011, p.07).
2.3. Model Transportasi
Modeltransportasi merupakan salah satubentuk model dari pemrograman linear.Model transportasi merupakan pemodelan metode optimasi yang digunakan untuk menentukan cara distribusi suatu jenis barang dari beberapa sumber (supply at each source) ke beberapa tujuan (demand at each destination).Sasaran dalam metode
Assum ed Real World
System
transportasi ini adalah mengalokasikan barang yang ada pada sumber sedemikian rupa, sehingga terpenuhi semua kebutuhan pada tujuan.Namun tujuan utama dari metode transportasi ini ialah untuk mencapai jumlah biaya yang dikeluarkan yang serendah-rendahnya. Biaya ini didapatkan dari masing-masing kunjungan yang terjadi di tiap-tiap titik sumber ke tujuan.
Sebagai contoh, terdapat i perusahaan produksi yang hendak mengirimkan barang hasil produksi mereka kepada jpedagang. Setiap perusahaan produksi memiliki produksi yang terbatas, dan setiap pedagang memiliki permintaan barang yang berbeda-beda. Selain itu terdapat juga pengeluaran yang terjadi dari tiap kunjungan yang dilakukan oleh perusahaan ke masing-masing pedagang.
Diandaikan m merupakan satuan dari sumber, dan n merupakan satuan dari tujuan. Tiap sumber memiliki sumber terbatas berupa a pada sumber i(i= 1,2,3,...,m), dan tiap tujuan memiliki permintaan berupabpada tujuan j(j= 1,2,3,...,n). Biaya yang dikeluarkan masing-masing kunjungan akan dinyatakan dengan varibel Cij.Tujuan
pada metode ini adalah untuk melihat berapa unit barang yang akan dikirimkan dari sumber i ke tujuan j, dimana biaya transportasi minimal. Unit barang akan diandaikan menjadi satuanxij. Maka model linear programming yang dapat dibentuk dari variabel
tersebut adalah sebagai berikut :
=
= , = 1,2, …,
= , = 1,2, …,
≥0
Tabel 2.1. Tabel Model Transportasi
N N N N supply
M Cij Cij Cij Cij a
M Cij Cij Cij Cij a
M Cij Cij Cij Cij a
Demand B B B B
Metode program linear ini dapat dipecahkan dengan berbagai algoritma. Dalam tugas akhir ini, penulis menggunakan algoritmaVogel'sapproximation method
untuk penemuan solusi awal (Basic Feasible Solution).
2.4. Algoritma Vogel'sapproximation method
Vogel'sApproximation Method(VAM)merupakan metode yang tidak
sederhana, dibanding metode yang lainnya untuk menghasilkan solusi awal. Namun
optimal.VAM menangani masalah dengan memperhatikan biaya pada setiap jaluratau rute alternatif yang terkait, dimana hal ini tidak dilakukan oleh metode lainnya seperti metode north west corner.
Dalam metode VAM, langkah yang pertamakali dilakukan adalah menghitung biaya pada setiap baris dan kolom yang terkait pada sumber dan tujuan. Langkah ini dilakukan dengan menemukan selisih antara dua biaya yang paling minimum pada setiap titik sumber dan tujuan, yang kemudian disimpan sebagai opportunity cost.Langkah kedua adalah mencari titik nilai opportunity cost yang paling tinggi.
Tabel 2.2. Pencarian nilai opportunity cost
5 15 5 20 5 0
15 5 10 5 1 0
25 10 5 15 3 5
2 4 2 1
10 5 0 10
Setelah titik opportunity cost dengan nilai tertinggi ditemukan, kemudian dilakukan pencarian titik dengan nilai cost terendah pada tabel baris/kolom dari titik opportunity cost yang terpilih. Nilai demand dari titik cost minimum yang terpilih, akan diisi dengan nilai supply yang sebaris.
Tabel 2.3.Pencarian nilai cost minimum pada opportunity cost tertinggi
5 15 5 20 5 0
25 10 5 15 3 5
2 4 2 1
10 5 0 10
Tabel 2.4.Pengisian nilai dan penghapusan baris/kolom
2 15 5 20 3
5 10 5 1
10 5 15 3
4 2 1
5 0 10
Baris/kolom dari demand yang sudah terpenuhi ataupun supply yang sudah habis akan di hilangkan dari perhitungan iterasi selanjutnya. Iterasi iniakan terus dilanjutkan sampai seluruh nilai demand sudah terpenuhi ataupun nilai supply sudah habis.
Tabel 2.5. Hasil Iterasi II
2 15 2 20 1
5 5 1
10 15 3
Tabel 2.6. Hasil Iterasi III
2 15 2 1
1
10 3
4
5
Tabel 2.7. Hasil akhir algoritma Vogel'sapproximation method
2 1 2 5
1 1
3 3
2 4 2 1
Total biaya pada solusi dari penerapan algoritma VAM yang terdapat pada tabel 2.6 adalahsebesar 70, dihitung dari jumlah tiap titik solusi yang dikalikan
dengan cost dari masing-masing titik (Total
=(2*5)+(1*15)+(2*10)+(1*5)+(3*10)).Hasil yang diperoleh menggunakan algoritma
untuk mendapatkan solusi akhir(optimal), dimana dalam tugas akhir ini penulis menggunakan algoritma multiplier.
2.5. Algoritma Multiplier
Algoritma multiplier melakukan evaluasi dari suatu lokasi secara matrik, sehingga hasil evaluasi menunjukkan suatu indikator keseluruhan (Simarmata, Dj.A, Sebuah Pengantar-Operations Research: Teknik-teknik Optimasi Kuantitatif dari Sistem-sistem Operasional,1982, p.24). Langkah awal yang dilakukan dalam algoritma ini adalah menentukan variabel u dan v. Variabel u awal ditentukan dengan nilai 0, dan untuk selanjutnya perhitungan u dan v menggunakan rumus Cij=u+v.
Variabel udan v yang sudah didapatkan akan digunakan untuk mengisi nilai cell yang masih kosong pada solusi awal. Pengisian terhadap nilai cell yang kosong menggunakan rumus xij=Cij-Ui-Vj.Kemudian algoritma ini menggunakan lingkaran evaluasi (close loop) pada cell tabel yang memiliki harga paling negatif.
kecil (minimum). Nilai minimum yang terpilih akan menjadi harga yang mengurangi nilai cell yang bertanda negatif dan akan menjadi harga yang menambah nilai cell
yang bertanda positif. Algoritma multiplier akan terus melakukan iterasi, sampai tidak ditemukan lagi nilai negatif saat pengisian hargacell kosong pada solusi terakhir.
Tabel 2.8.Solusi awal.
2 3 5
1 0 1
2 1 3
2 4 2 1
Tabel 2.10.Pencarian variabel u-v, Iterasi II.
Tabel 2.11.Pencarian variabel u-v, Iterasi III.
Tabel 2.12.Pencarian variabel u-v, Iterasi IV.
Tabel 2.13.Pencarian variabel u-v, Iterasi V.
Tabel 2.14.Pencarian variabel u-v, Iterasi VI.
Tabel 2.15.Pencarian variabel u-v, Iterasi VII.
Kemudian variabelu dan v yang telah ditemukan akan digunakan untuk mengisi cell
yang masih kosong (variabel non-basis).
Tabel 2.16. Pengisian nilai variabel non-basis
u/v 5 2 -1 -2
Gambar 2.2. Lingkaran Evaluasi
Nilai yang terpilih akan mengurangi nilai cell yang bertanda negatif dan menambah nilai cell yang bertanda positif. Kemudian nilai tersebut akan digunakan
untuk mengganti nilai yang bertanda positif pertama (nilai yang sebelumnya kosong), sehingga menjadi seperti berikut ini :
Gambar 2.3. Hasil Iterasi Algoritma Multiplier
Gambar 2.3. merupakan hasil iterasi pertama dari algoritma multiplier. Kemudian dari hasil ini akan dicek ulang pada iterasi ke 2 sampai pada tahap pengisian harga pada cell kosong. Apabila harga-harga tersebut masih terdapat nilai negatif, maka akan dilanjutkan dengan iterasi berikutnya. Dengan kata lain, hasil dari iterasi tersebut belum merupakan hasil yang optimum. Namun apabila tidak ada nilai negatif, maka hasil dari iterasi tersebut sudah merupakan hasil akhir yang paling optimal.
yang diluncurkan oleh Badan Militer Amerika, untuk mengambil gambar permukaan bumi yang kemudian diolah untuk membentuk suatu rangkaian jalur transportasi dengan teknik pengolahan citra.Google Maps memungkinkan penggunanya dapat melihat daerah diseluruh dunia secara detail dan juga melihat jalur-jalur transportasi yang ada diseluruh kawasan.Google Maps disediakan oleh google secara gratis di situs resminya (http://maps.google.com).Google Maps mengandalkan standar
internasional yang sudah dikenal luas untuk konvensi penamaan dan pemetaan.Misalnya, untuk penamaan negara dan teritori, google terutama mengandalkan standar ISO-3166 yang diakui oleh Divisi Statistik PBB.Layanan ini dapat juga dimanfaatkan oleh para pengembang software dengan menggunakan
Gambar 2.4.Google MapsView (http://maps.google.com)
2.7. Google Maps Aplication Programming Interface (API)
Google Maps APImerupakan suatuinterface dalam software Google Mapsyang dapat dipergunakanoleh siapapun. Hak akses tersebut diberikan dalam bentuk script, yang memiliki beberapa fungsi untuk mendapatkan hasil yang diinginkan.Seorang programmerdapat menghemat waktu dan biaya untuk membangun aplikasi peta digital dengan menggunakan Google Maps API. Melalui penggunaan Google Maps API, seorang programmer hanya fokus pada pembangunan sistem website dan basis data saja, tanpa harus membangun sebuah sistem peta digital.Google Maps APIyang tersedia dalam bentuk pemrograman web bersifat gratis, namun sesuai dengan ketentuan yang berlaku.Ketentuan tersebut dapat dilihat pada Google Maps/Google Earth APIs Terms of Service di situs resmi Google, yakni
tepatnya terdapat pada halaman :
https://developers.google.com/maps/terms#section_9_1.Adapun ketentuan-ketentuan tersebut adalah sebagai berikut ini:
2. Penggunadapat mengenai biaya kepada seseorang, dalam hal memberi konsultasi kepada mereka tentang cara implementasi Google Maps API. Pada versi sebelumnya yakni versi 2, pengguna harus memiliki akun google
dengan mendaftarkan diri di situs resminya.Akun ini dipergunakan untuk mengambil
API key, yakni sebuah lisensi kode untuk mengakses Google Maps API.Namun pada
Google Maps API v3, pengguna tidak perlu lagi melakukan hal tersebut.Untuk menggunakan Google Maps API v3, pengguna hanya perlu memasukan roferensi google di halaman web.
Gambar 2.5.Google Reference
Ketika memberi referensi, terlebih dahulu pengguna harus mengatur sensor untuk penggunaan GPS. Sensorbernilai truejika,GPSakan dipergunakan pada
API.Langkah selanjutnya, adalah proses inisialisasi peta. Pembuatan peta pada
Google Maps membutuhkan sebuah objek canvas. Objek canvas pada web yang sering digunakan adalah <div>, dan tingkah laku dari objek tersebut akan diatur menggunakan javascript.
<script type=”text/JavaScript”
src=”http://maps.google.com/maps/APIs/js?sensor=false” >
2.8. Google Distance Matrix
Google Distance Matrix merupakan sebuah layanan yang menyediakan perhitungan jarak dan waktu perjalanan dari titik mulai (origins) ke titik tujuan (destinations).Informasi yang dihasilkan merupakan rute yang paling direkomendasikan antara titik mulai dan titik akhir, yang dihitung oleh Google Maps API. Layanan ini tidak menghasilkan rute secara detail, namun hanya menghasilkan perhitungan durasi perjalanan dan jarakberdasarkan model jalur yang dipilih. Model jalur yang dapat digunakanadalah berupa jalurmobil (driving), jalur berjalan kaki (walking) ataupun jalur bersepeda (bicycling).
Google Distance Matrix digunakan melalui form berupa url yang dikirim melalui web browsers. Adapun form tersebut adalah sebagai berikut :
Gambar 2.6.Google Distance Matrix Form
Parameter yang terdapat pada form dapat disi menggunakan parameter berikut ini : Tabel 2.17. Parameter formGoogleAPI
Parameter Isi Penggunaan
Origins Alamat/koordinat
origins=Bobcaygeon
origins=41.43206,-81.38992
Destinations Alamat/koordinat
destinations=Bobcaygeon
destinations=41.43206,-81.38992
Sensor (GPS)
True (GPS on)
False (Gps off)
sensor=true
Mode driving|walking |bicycling mode=driving
Language Language language=fr-FR
Avoid Tolls|highways avoid=tolls
Units
Metric(km and m) imperial
(miles and feet)
Units=metric
Setiap parameter yang digunakan dihubungkan menggunakan tanda&. Hasil keluaran (output) dari Google Distance Matrix dapat berupa file JSON atau XML. Hasil keluaran berupa file JSON ataupun XML, diakses seperti pada gambar berikut :
Gambar 2.7.FormRequest for JSON Output
Gambar 2.8.FormRequest forXML Output
Terdapat batasan-batasan dalam pemakaianGoogle Distance Matrix ini untuk penggunaan gratis. Batasan tersebut dilihat dari banyaknya elemen, dimana setiap elemen tersusun dari 1 titik mulai dan 1 titik tujuan. Batasan tersebutantara lain : 100 perhitungan tiap 1 permintaan, 100 perhitungan tiap 10 detik dan 2.500 perhitungan
http://maps.googleapis.com/maps/api/distancematrix/json?parameters
tiap 24 jam. Hasil keluaran dari Google Distance Matrix adalah data jarak antar titik dan waktu tempuh antar titik.
Gambar 2.9.Google Distance Matrix Output Jarak
29
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem
3.1.1. Fase Definisi Ruang Lingkup
Berdasarkan peraturan kepala Badan Nasional Penanggulangan Bencana (BNPB) Nomor 04 Tahun 2009 tentang pedoman bantuan logistik,proses pembagian pendistribusianbantuan logistikdilakukan sesuai wilayah nasional, provinsi, maupun kabupaten/kota. Proses pendistribusian ini dilaksanakan tanpa melihat dari sisi efektifitasdistribusi, berdasarkan jarak antar lokasi posko pusat dan tujuan. Pelaksanaan yang kurang efektif ini menimbulkan beberapa persoalan yang akan diuraikan dalam metodePIECES( Performance, Information, Economy, Control, Efficiency,and Service).
Performance : Proses distribusi dilakukan sesuai wilayah nasional, provinsi,
maupun kabupaten/kota tanpa memperhatikan prioritas jarak terdekat dari lokasi posko pusat.
Information :Posko pemerintah hanya mendapatkan daftar informasi posko
masyarakat berupa alamat dalam bentuk tulisan saja. Hal tersebut terkadang menyulitkan pemerintah dalam menemukan lokasi posko masyarakat.
Economic : Pendistribusian logistik yang dilakukan sesuai wilayah nasional
posko masyarakat yang sudah terdaftar secara resmi, yang terkadang masih terdapat posko-posko yang belum terdaftar karena masalah tenaga, jarak , ataupun transportasi. Hal ini mengakibatkan proses distribusi tidak merata dan keterlambatan distribusi bantuan kepada korban bencana alam.
Efficiency : Posko masyarakat harus mendaftarkan poskonya secara
langsung dengan mendatangikantor posko pusat, hal ini sangat menguras waktu dan tenaga pada posko masyarakat.
Service :Proses pendistribusian yang dilakukan pemerintah di posko pusat
terkadang dilakukan dengan kurang baik karena tidak menggunakan metode khusus yang dapat menangani masalah-masalah distribusi ( tidak ada manajemen untuk menentukan alur distribusi ).
3.1.2. Analisa Sebab Akibat
Analisa sebab akibat menjelaskan analisis masalah, harapan dan instruksi yang telah diidentifikasi pada analisa ruang lingkup dengan menggunakan metode
PIECES. Analisa tersebut dirangkum dalam tabel analisa sebab akibat (cause and effect analysis matrix) dibawah ini :
Tabel 3.1. Tabel Analisa Sebab Akibat Analisa Sebab Akibat Masalah, Peluang, atau
Instruksi
1. Proses distribusi dilakukan sesuai wilayah nasional, provinsi, maupun kabupaten/kota tanpa memperhatikan prioritas jarak terdekat dari lokasi posko pusat.
-Proses pendistribusian yang dilakukan pemerintah di posko pusat terkadang dilakukan dengan kurang baik karena tidak menggunakan metode khusus yang dapat menangani masalah-masalah distribusi ( tidak ada manajemen untuk menentukan alur distribusi ). =Pendistribusian logistik yang dilakukan sesuai wilayah nasional tanpa memperhatikan jarak terdekat dari lokasi posko pusat akan membuat pengeluaran biaya yang tidak minimal seperti bahan bakar.
Pembuatan sistem
informasi yang
memberikan solusi untuk pemerataan penyaluran distribusi bantuan menggunakan metode transportasi dari riset operasi.
2. Posko pemerintah hanya mendapatkan daftar informasi posko masyarakat berupa alamat dalam bentuk tulisan saja.
Hal tersebut terkadang menyulitkan pemerintah dalam menemukan lokasi posko masyarakat.
Pembuatan Sistem
Informasi yang
diintregasikan dengan
interface peta digital
menggunakan Google Maps.
Sistem manajemen distribusi yang bernama Distribution Management Systems ofIndonesian Natural Disaster Relief (DMS-INDSR) ini merupakan sebuah sistem informasi untuk membantu menentukan jalur distribusi bantuan bencana alam dari posko pusat ke posko tujuan. Sistem informasi ini dirancang dengan ruang lingkup kasus distribusi bantuan bencana alam yang terjadi di Indonesia. Studi kasus dalam pengujian pada penulisan tugas akhir ini, diterapkan pada data mengenai posko yang tersebar pasca bencana erupsi merapi setelah 19 November 2010. Data mengenai posko pada penelitian ini menggunakan data-data koordinat lokasi dan data jumlah pengungsi yang diperoleh dari situs merapi-partisipasi milik Universitas Gadjah Mada (http://merapi-partisipasi.ugm.ac.id/).
Situs merapi-partisipasi merupakan portal yang menyediakan informasi tentang persebaran posko dan pendataan pengungsi yang terjadi pasca erupsi merapi tahun 2010. Portal yang dikembangkan oleh Teknik Geodesi UGM ini didukung oleh sektor data dan media, dibawah Forum Penanggulangan Bencana (FPRB) seperti Combine, Oxfam dan IOM. Sehingga penulis beranggapan bahwa data koordinat posko tersebut dapat dikatakan cukup valid untuk menjadi variabel pengujian pada sistem DMS-INDR. Data posko akan dipergunakan untuk menguji pembangunan logika pada sistem DMS-INDR, yakni dengan menggunakan pengkodean algoritma dari metode transportasi pada riset operasi.
pada pemecahan alur distribusi. Kemudian dari solusi yang didapatkan dengan menggunakan algoritma Vogel'sapproximation methodini, akan diolah lagi menggunakan algoritma multiplier untuk menemukan solusi akhir yang paling optimum. Solusi akhir dari pengolahan data tersebutlah yang akan dipakai untuk pembagian jalur distribusi masing-masing posko pusat, sehingga proses distribusi menjadi lebih efektif. Hasil dari perhitungan menggunakan metode transportasi ini akan ditampilkan kedalam sebuah peta digital berbasis aplikasi website.
sebagai server-side scripting. Selain itu penggunaan PHP 5 juga berperan dalam pembuatan kode dari metode transportasi, karena pada PHP 5 sudah didukung dengan Object-Oriented Programming. Sedangkan untuk peta digital, sistem informasi berbasis web ini menggunakan application programming interface (API)
dari Google Maps.Penerapan Google API pada kasus distribusi bencana alam yang akan diselesaikan dengan metode transportasi ini, dapat membantu untuk menemukan variabel cost dengan memanfaatkan koordinat yang sudah didaftarkan pada peta. Kemudian jarak antar koordinat ditelusuri menggunakan Google Distance Matrix yang juga merupakan API dari Google.
Google Distance Matrix merupakan application programming interface yang menyediakan perhitungan jarak antar titik, yang dihitung berdasarkan jalur dalam mode driving, walking, atau juga bicycling. Namun pencarian koordinat masing-masing titik posko membutuhkan GPS Receiver, yakni alat komunikasi untuk menerima koordinat lokasi dari satelit GPS. GPS Receiver dapat ditemui pada alat komunikasi modern seperti pesawat telepon bersistem operasi Android.
Lokasi tiap posko yang akan ditampilkan, diukur berdasarkan letak garis koordinat bumi. Proses pengambilan koordinat dilakukan dengan menggunakan
mouse.
Setelah data koordinat lokasi suatu posko diambil, maka data tersebut akan disimpan kedalam basis data MySql bersamaan dengan data value supply atau
demand dari posko tersebut. Kemudian sistem akan secara otomatis memeriksa data koordinat dari posko yang sudah tersimpan dalam basis data, untuk mencari jarak(cost) antara titik baru dan titik yang sudah terdaftar sebelumnya dengan jenis berbeda. Maksud dari jenis posko adalah posko pemerintah(supply) atau posko masyarakat(demand). Kemudian, data cost yang sudah ditemukan juga akan disimpan kedalam basis data. Proses pengambilan jarak antar titik dilakukan dengan menggunakan Google Distance Matrix.
Sistem manajemen distribusi ini tidak dapat diatur dengan menggunakan komputer saja.Peran pemerintah dan masyarakat juga sangat diperlukan untuk memaksimalkan manajemen distribusi dalam sistem ini, yakni dengan membuat peraturan-peraturan dan batasan penggunaan aplikasi. Aturan tersebut dibuat kedalam user policy untuk menjadi pedoman dalam penggunaan aplikasi, agar fungsi dari sistem manajemen distribusi yang dibuat dapat berjalan dengan baik.
3.1.3.1. Kelebihan Sistem dibanding Sistem Lain
algoritma dalam riset operasi untuk menghitung biaya dari distribusi antar posko bencana alam. Selain penggunaan yang spesifik, sistem ini memiliki kelebihan dalam pengambilan biaya antar titik supply dan demand.DMS-INDSRmemperoleh
costmenggunakan teknologi navigasi GPSyang terdapat pada Google Distance Matrix,dimana cost tersebut merupakan jarak.Proses integrasi dengan teknologiGPSyang dilakukan pada sistem ini, memberikan kemudahan, kepraktisan, dan kecepatan pada pemerolehan variabel costtanpa harus mengukur secara manual.
3.1.4.User Policy
1. Pengguna sistem DMS-INDSRini merupakan pengguna yang terdaftar secara resmi pada pusat Badan Nasional Penanggulangan Bencana (BNPB).
2. Distribusi logistik akan disalurkan pada setiap posko masyarakat yang terdaftar, dan melakukan pembaharuan data stok sesuai dengan kategori logistik yang sudah ditentukan.
3. Bagi pengguna pada setiap posko pusat, diwajibkan untuk melakukan pembaharuan data stok pada setiap harinya. Apabila pengguna tidak melakukan pembaharuan data paling lambat 2 hari lamanya, maka data akun pada pengguna tersebut akan dinon-aktifkan.
pada pengguna tersebut akan dinon-aktifkan.
3.2. PerancanganMetode Transportasi
Metode transportasi pada sistem ini dibangun dengan menggunakan perancangan algoritma berbasis objek. Perancangan algoritma berbasis objek pada sistem ini, ditunjukan dengan pembuatan 4 kelas yakni source,destination,posko, dan Transportasi. Posko merupakan sebuah kelas yang memiliki attribut nama posko dan lokasi. Kelas posko ini digunakan sebagai kelas induk dari kelas source dan
destination.Source merupakanchild dari kelas posko yang memiliki attribut bernama
stock, yang dipergunakan sebagai variabel supply dalam metode transportasi.
Destinationjuga merupakan child dari kelas posko yang memiliki attribut bernama
need, yang dipergunakan sebagai variabel demand dalam metode transportasi. Perancangan kelas tersebut dapat dilihat pada diagram kelas berikut ini :
1. Mulai.
2. Tentukan selisih biaya terkecil dengan biaya terkecil diatasnya pada setiap baris dan kolom, masukkan pada variabel dummy.
3. Cari selisih terbesar pada variabel dummy
4. Alokasikan pada sel variabel basis yang terletak pada cell costterkecil, dari
index dummy yang terpilih sesuai dengan jumlah supply pusat dan demand
tujuan yang berkesuaian.
5. Ulangi langkah 1 sampai 3 hingga solusi awal sudah diperoleh, yakni apabila
demandpada setiap tujuan sudah terpenuhi atau supply pada setiap sumber sudah habis.
6. Selesai.
3.2.2. Pseudocode Algoritma Multiplier
1. Mulai.
2. Buat variabel sel basis, yakni Ui yang menunjukan baris ke-i dan Vi yang menunjukkan kolom ke-j.
3. Untuk setiap sel basis hitung Ui + Vj = Cij, dimana dan Cij adalah biaya pada sel ij (baris i dan kolom j). Perhitungan diawali dengan mengasumsikan salah satu variabel = 0.
terpilih, dengan menandai setiap node dalam loopdengan negatif dan positif secara bergiliran. Tanda positif dimulai dari Cpq.
7. Pilih node yang bertanda negatif yang paling terkecil, masukkan pada variabel
smallest_negative.
8. Kurangkan setiap node yang bertanda negatif dengan nilai variabel
smallest_negative.
9. Tambahkan setiap node yang bertanda positif dengan nilai variabel
smallest_negative.
10.Ulangi langkah 1 sampai 8, hingga tidak terdapat sel variabel non-basis yang bernilai negatif.
11.Selesai.
3.3. Perancangan Sistem
3.3.1. Identifikasi Stakeholder dan User Profiles
Tabel 3.2. Identifikasi Stakeholder
Nama Description
Pemerintah Pusat Badan Nasional Penanggulangan Bencana (BNPB pusat).
Orang atau organisasi yang membiayai sistem.
Orang yang menggunakan sistem untuk penentuan jalur distribusi posko yang ada di suatu daerah.
Petugas posko Orang yang menggunakan sistem untuk memperbaharui data kebutuhan dan stok diposko yang ditangani.
Tabel 3.3. User Profiles
Nama Deskripsi Pekerjaan Tanggung jawab Stakeholder
User_BNPB Mengelola data jenis logistik yang akan
pengirimanlogistik.
3.3.2. Model Usecase
3.3.2.1. Usecase Diagram
Berikut ini merupakanusecase diagram pengguna dari sistem informasi DMS-INDSR. Usecase dibagi berdasarkan jenis user dan jenis sistem informasi yang digunakan. Usecase dari sistem informasi berbentuk website dibagi berdasarkan user bernamauser_BNPBdan
Gambar 3.4. Usecase User Posko Web
Gambar 3.5. Usecase User Posko Android
3.3.2.2. NarasiUsecase Website DMS-INDR
Nama usecase :Login
Aktor : User_BNPB,User_Posko
Kondisi Awal : User harus sudah terdaftar Kondisi Akhir : User berhasil masuk ke sistem. Skenario :
USER_Posko
Android DMS-INDR
Kofirm asi lokasi posko USER_Posko
M engubah Dat a Logistik
1. User membuka halaman web
3. User memasukkan email dan password
4. User memilih jenis login.
2. Sistem menampilkan halaman Log in.
5. Sistem menampilkan halaman HOME.
Alternatif :
5. Sistem menampilkan error ketika field
email dan password belum diisi.
Namausecase : Mengelola Posko – Mendaftarkan Posko
Aktor :User_BNPB
Kondisi Awal :User_BNPB harus sudah login Kondisi Akhir :Posko baru terbentuk
Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu posko.
3. User menekan tombol “buat posko”.
5. User memasukkan data posko berupa nama posko, lokasi posko,
2. Sistem menampilkan seluruh data posko.
password_posko.
6. User menekan tombol “submit”
7. Sistem melakukan penyimpanan posko. Alternatif :
8. Sistem menampilkan pesan error jika ada field yang belum diisi.
Nama usecase : Mengelola Posko – Mengubah data posko.
Aktor : User_BNPB
Kondisi Awal : User_BNPB harus sudah login Kondisi Akhir : Data posko berhasil diubah Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu posko.
3. User menekan tombol “edit” pada posko yang dipilih.
5. User mengubah data posko seperti :
lokasi, dan jenis posko.
6. User menekan tombol “submit”
2. Sistem menampilkan seluruh data posko.
4. Sistem menampilkan form pengubahan data posko.
7. Sistem melakukan penyimpanan data posko yang telah diubah.
field yang belum diisi.
Nama usecase : Mengelola Posko – Menghapus Posko
Aktor : User_BNPB
Kondisi Awal : User_BNPB harus sudah login Kondisi Akhir : Posko terhapus
Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu posko.
3. User menekan tombol “hapus” pada posko yang dipilih.
5. User memilih opsi konfirmasi ”YES”
2. Sistem menampilkan seluruh data posko.
4. Sistem menampilkan pesan konfirmasi penghapusan.
6. Sistem menghapus data posko Alternatif :
7. User memilih opsi konfirmasi “NO”
Aktor : User_BNPB
Kondisi Awal :User_BNPB harus sudah login& sudah terdapat dataposko.
Kondisi Akhir : Jalur distribusi posko ditampilkan. Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu peta distribusi
3. User memilih kategori logistik. 4. User menekan tombol lihat jalur.
2. Sistem menampilkan peta berisikan seluruh posko yang sudah terbentuk.
4. Sistem menghitung jalur distribusi sesuai data posko dan kategori logistic.
5. Sistem menampilkan hasil perhitungan dan membentuk jalur pada peta sesuai dengan hasil perhitungan.
Namausecase : Mengubah Profil
Aktor : User_BNPB
Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu profil
3. User mengubah data profil seperti, nama bencana, lokasi pusat bencana.
4. User menekan tombol “Submit”.
2. Sistem menampilkan halaman ubah profil.
5. Sistem menyimpan data profil yang telah diubah.
Nama usecase : Mengelola kategori logistik – Menambah Kategori
Logistik
Aktor : User_BNPB
Kondisi Awal :User_BNPB harus sudah login . Kondisi Akhir : Kategori logistikterbentuk. Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu Kategori
baru pada field “kategori baru”. 4. User menekan tombol submit.
5. Sistem menyimpan kategori logistik baru.
Nama usecase : Mengelola kategori logistik – Menghapus Kategori Logistik
Aktor : User_BNPB
Kondisi Awal :User_BNPB harus sudah login . Kondisi Akhir : Kategori logistik terhapus. Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu Kategori Logistik.
3. User memilih kategori logistic yang akan dihapus.
4. User menekan tombol hapus.
2. Sistem menampilkan halaman kategori logistik.
5. Sistem menghapus data kategori logistic dari basis data.
Nama usecase : Mengubah data logistik
Kondisi Akhir : Data ketegorilogistik terubah. Skenario :
Aksi Aktor Reaksi Sistem
1. User memilih menu Daftar Logistik
3. User mengubah data logstik yang diinginkan
4.User menekan tombol “Simpan”
2. Sistem menampilkan halaman daftar logistik.
5. Sistemmenyimpan data logsitik yang telah diperbaharui.
Nama use case : Mengubah Profil
Aktor : User_Posko
Kondisi Awal : User_Posko harus sudah login . Kondisi Akhir : Data profil terubah.
Skenario :
3. User mengubah data profil seperti, nama posko atau lokasi posko.
4. User menekan tombol “Submit”.
2. Sistem menampilkan halaman ubah profil.
5. Sistem menyimpan data profil yang telah diubah.
3.3.2.3. NarasiUsecaseAndroid
Nama use case : Konfirmasi Lokasi Posko.
Aktor : User_Posko
Kondisi Awal : User_Posko harus sudah terdaftar Kondisi Akhir : User_PoskoBerhasil masuk ke sistem. Skenario :
Aksi Aktor Reaksi Sistem
1. User membuka aplikasi Android.
3. User memasukkan email dan password
2. Sistem menampilkan halam Log in.
dimasukkan
5. Sistem mengambil data koordinat lokasi user menggunakan GPS
6. Sistem menyimpan data koordinat lokasi sesuai dengan id_posko
Alternatif :
5. Sistem menampilkan error ketika field
email dan password belum diisi atau salah.
3.3.3. Diagram Konteks
Gambar 3.6. Diagram Konteks
3.3.4. Data Flow Diagram (DFD)
Inform asi data posko,data kat egori logist ik,
inform asi jalur dist ribusi. User
DM
S-INDSR
Dat a posko, dat a logist ik, Dat a user,
Gambar 3.7.Data Flow Diagram Level 1
Posko
Cost
Logist ik
Id_co st ,
id_po sko_pusat,id_po sko _t ujuan
User
Id_user, Kat egori_logist ik
4
M engelola Kat egori
Logistik
Kategori_Logistik
Biaya dist ribusi, jalur dist ribusi Id_posko , nam a_po sko, jenis-po sko, Lo kasi_po sko, id_user , em ail,passwo rd, penduduk
id_user, nam a_po sko, jenis-po sko, Lokasi_posko
Pesan sukses/ gagal
Id_user, Em ail,password,
lo kasi_pusat,nam a bencana Id_user, Em ail,passw ord, lokasi_pusat
Nam a_kategori_logist ik, id_kat ego ri_lo gistik
Id_user,
Em ail,passwo rd, lo kasi_pusat Pesan sukses/ gagal
Nam a_Katego ri_logist ik, id_kat ego ri_lo gistik Pesan sukses/ gagal
5
Pesan sukses/ gagal
Logist ik
Id_Kat egori_logist ik, value
Id_Kat egori_logist ik, nam a, value
id_user, nam a_po sko em ail,passwo rd, Lokasi_posko
7
Nam a_Katego ri_logist ik, id_kat ego ri_lo gistik
Id_po sko, co st id_po sko
Posko
id_user, nam a_posko , em ail, password, Lokasi_posko
Em ail,passw ord Em ail,passwo rd, lo kasi
Posko
Pesan sukses/ gagal nam a_po sko
em ail,passw ord, Lo kasi_po sko
Gambar 3.8.Data Flow Diagram Level 2 Proses1 User
1.1
M endaftarkan
Posko
em ail,passw ord, id_user
jenis-posko, lo kasi_po sko
Cost
nam a_posko , jenis-po sko, lokasi_jenis-posko
cost
id_posko _pusat , id_posko _t ujuan, cost
1.2
M engubah Dat a
Posko
Posko
id_posko, nam a_po sko, jenis-posko, lo kasi_po sko
Cost
Id_po sko
Id_cost ,id_posko _pusat , id_posko _t ujuan pesan sukses/ gagal
Id_po sko,nam a_posko,tipe, lokasi_posko ,penduduk
Pesan sukses/ gagal
Id_posko ,id_posko _pusat , id_posko _t ujuan, cost
1.3
Gambar 3.9.Data Flow Diagram Level 3Proses 4
3.3.5. Deskripsi Proses
Proses 1.1. Mendaftarkan Posko
Input email,passw ord,id_user Output Data posko berhasil di simpan
Algoritma a. Cek kelengkapan data : email dan password. b. Cek id_user pengguna yang sedang aktif. c. Jika data lengkap, maka lanjutkan proses d; else
Tampilkan pesan error. User
4.1
M enam bah Kategori
Logist ik
Posko
Id_kat ego ri_lo gisrik,Nam a_katego ri_logist ik, perhitungan
Nam a_kat egori_logist ik
Id_kat ego ri_lo gsitik, nam a_kat egori_logist ik
4.2
M enghapus Kat egori
Logistik
Pesan sukses/ erro r
Id_kat ego ri_lo gist ik
Pesan sukses Posko
Id_kat ego ri_logist ik
kerdalam basis data dengan lokasi_posko default.
Proses 1.2. Mengubah data posko
Input Id_posko, nama_posko, lokasi_posko,penduduk,tipe Output Data posko berhasil diubah
Algoritma a. Cek id_user pengguna yang sedang aktif b. Cek kelengkapan datapengubahan, jika ada seluruh data lengkap lanjutkan langkah c; else
tampilkan pesan error.
c. simpan data hasil perubahan kedalam basis data.
Proses 1.3. Menghapusdataposko Input Id_posko
Output Data posko terhapus
id_posko yang dipilih.
Proses 2 Melihat jalur distribusi
Input Id_user, Kategori_logistik Output Biaya distribusi, jalur distribusi
Algoritma a. Cek id_user pengguna yang sedang aktif b. Cek nomor seluruh data posko berdasarkan id_user.
c. Masukkan data posko bertipe pusat kedalam objek source,dan posko bertipe masyarakat kedalam objek destination.
d. Masukkan objek source dan destination kedalam objek Transportasi.
e. Panggil fungsi perhitungan algoritma vogels. f. Hasil dari perhitungan dengan menggunakan algoritma vogels, dihitung menggunakan algoritma multiplier.
Proses 3 Mengubah profil
Input Id_user, Email,password, lokasi_pusat,nama bencana Output Profil berhasil diubah
Algoritma a. Cek id_user pengguna yang sedang aktif b. Cek kelengkapan datapengubahan, jika ada seluruh data lengkap lanjutkan langkah c; else
tampilkan pesan error.
c. simpan data hasil perubahan kedalam basis data.
Proses 4.1. Menambah Kategori Logistik
Input Id_kategori_logistik, nama_kategori, perhitungan
Output Kategori logistik berhasil disimpan. Algoritma a. Cek id_kategori logistik
lanjutkan langkah c; else
tampilkan pesan error.
c. simpan data hasil perubahan kedalam basis data.
Proses 4.2 Menghapus kategori Logistik Input Id_kategori_logistik
Output Kategori logistik berhasil dihapus
Algoritma a. Cek id_kategori logistic sesuai data yang dipilih.
b. Hapus data kategori logistik sesuai dengan id_kategori logistik.
Proses 5 Mengubah data logistik
Input Id_posko, id_kategori_logistik, value Output Data logistik berhasil diubah.
else
tampilkan pesan error.
c. simpan data hasil perubahan kedalam basis data.
Proses 6 Mengubah profil posko
Input Id_posko, Email,password, nama_posko, lokasi_posko,penduduk, tipe
Output Profil berhasil diubah
Algoritma a. Cek id_posko pengguna yang sedang aktif b. Cek kelengkapan data pengubahan, jika ada seluruh data lengkap lanjutkan langkah c; else
tampilkan pesan error.
c. simpan data hasil perubahan kedalam basis data.
Proses 7Konfirmasi lokasi posko
Algoritma a. Verifikasiemail dan password yang dimasukkan. Jika ada lakukan langkah b; else
Tampilkan pesan gagal;
b. Ambil id_posko dari basis data.
c. Ambil koordinat lokasi menggunakan GPS receiver.
d. Simpan koordinat lokasi kedalam basis data sesuai dengan id_posko.
- identitias untuk dapat
melakukan aktifitas
seorang user BNPB.
-email untuk dapat
login/masuk ke sistem.
-Sandiuntuk dapat
- nama_bencana
= berupa angka dan tanda
baca
= Berupa angka,
auto_increment
= Berupa huruf
= Berupa huruf dan tanda
baca.
= berupa angka
email)
- Nama dari bencana yang
menjadi tanggung jawab
user BNPB.
- Merupakan koordinat
lokasi yang terdiri dari
longitude dan latitude,
- identitas untuk dapat
melakukan aktifitas
seorang user posko.
- Nama dari sebuah
posko.
- Merupakan koordinat
lokasi yang terdiri dari