kecepatan dengan metode greenshield. Untuk proses data volume menjadi data kecepatan adalah sebagai berikut:
1. Tentukan kepadatan jalan dengan menggunakan rumus v =
− �� . D - [
− ��
��
] D
2
………………… 3.1 Dimana,
V= volume, smpjam −
�� = kecepatan rata-rata arus bebas kmjam D = kepadatan smpkm
Dj = jam density kepadatan saat macet smpkm Telah diketahui dari data dinas perhubungan untuk volume,
sedangkan kecepatan rata-rata arus bebas adalah kecepatan rata-rata yang diperbolehkan. Data yang didapat adalah sebagai berikut:
V = 3049 smpjam Dj = 602 smpjam
− �� = 70 kmjam
Maka untuk mencari nilai D adalah, 3049 = 70 D -
02
D
2
, maka didapat D min = 554,73 smpjam. Dmax = 47.26 smpjam.
Kemudian cari kecepatan rata-rata −
�� dengan menggunakan rumus 3.2
− �� =
− �� − [
− ��
��
].D…………………………3.2 Maka didapat nilai
− �� dengan D min adalah 5.4965 kmjam,
sedangkan nilai −
�� dengan D max adalah 64.5047 kmjam. Sehingga didapat nilai kecepatan rata-rata
− �� terkecil adalah 5.4965 kmjam.
Dibawah ini merupakan tabel data volume jumlah kendaraan yang merupakan data dinas perhubungan DIY.
Tabel 3.2 Data Volume Kendaraan Sumber: Dinas Perhubungan DIY 2008
No Nama
Pagi smpjam
Siang-pagi smpjam
Siang smpjam
Siang – sore
smpjam Sore
smpjam Dj
smpkm Vs
kmjam 1
Amplas arah solo
3,049 2895.1
3,267 1300
3200 602
70 2
Amplas arah
jogja 3,600
1179.3 3,802
1240 2986
602 70
3 Bantul
Niten arah
jogja 3044
1300 1222.6
1135 1653
522 40
4 Bantul
Niten arah
bantul 1389
1365 1356
1239 2863
522 40
3.3 Analisis Kebutuhan Sistem
3.3.1 Diagram Use Case
Gambar 3.1 Diagram Use Case
Adminisitator
Staff Bagian Distribusi ubah data kondisi
jalan ubah data
kecepatan ubah data account
update data pengirim penerima
input data pengirim penerima
hapus data pengirim penerima
ubah kondisi pengiriman
perhitungan pencarian rute
3.3.2 Narasi Use Case
Nama Use Case Update
Data Kondisi Jalan
Aktor
Administatror
Keterangan Administrator dapat meng-update data kondisi jalan
Kondisi awal
Administator sudah login dan berada pada “kelola data Kondisi Jalan”
Kondisi akhir
Data kondisi jalan berhasi di-update
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
1. Administator memilih menu data kondisi jalan
2. Sistem menampilkan data kondisi jalan yang di ambil dari tabel jalan.
3. Administator melakukan
klik ”update” pada data yang akan di
pilih 4. Sistem menampilkan form isian
yang telah terisi data dari lokasi yang di pilih.
5. Administator melakukan perubahan data
6.Bagian Distribusi memilih tombol
Pengarang : Alfa Tanggal : 16 Okt 2011
simpan 7.Konfirmasi ubah
8.Jika[ya], system mengubah data lokasi. Jika [tidak] maka system tidak
akan melakukan pengubahan. 9. system memberikan konfirmasi
bahwa data telah berhasil diubah.
Nama Use Case Update
Data Kecepatan
Aktor Administator
Keterangan Administator dapat meng-update data kecepatan
Kondisi awal
Administator sudah login dan berada pada “kelola data kecepatan”
Kondisi akhir
Data kecepatan berhasil di-update
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
1.Administator memilih menu data Ubah Keceptan
2. Sistem menampilkan
data ubah
kecepatan yang di ambil dari tabel hitungKecepatan.
3. Administator melakukan
klik ”update” pada data yang akan di
Pengarang : Alfa Tanggal : 16 Okt 2011
pilih 4. Sistem menampilkan form isian yang
telah terisi data dari jarak yang dipilih. 5. Administator melakukan perubahan
data 6.Administator
memilih tombol
simpan 7.Konfirmasi ubah
8.Jika[ya], system mengubah data jarak. Jika [tidak] maka system tidak akan
melakukan pengubahan. 9. system memberikan konfirmasi bahwa
data telah berhasil di ubah.
Nama Use Case
Ubah Account
Aktor Adminstator dan Staff Bagian Distribusi
Keterangan Adminstator dan Staff Bagian Distribusi dapat mengubah data account
Kondisi awal
Adminstator dan Staff Bagian Distribusi sudah login dan berada pada “ubah
account ”
Kondisi akhir
Data account berhasil di-input dan disimpan ke tabel data lokasi
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
Pengarang : Alfa Tanggal : 16 Okt 2011
1. Adminstator dan Staff Bagian Distribusi
memilih menu “ubah account
” 2. Sistem menampilkan form isian
ubah account 3.Bagian Distribusi mengsisi data
account baru dan mengklik tombol simpan.
4. Sistem menyimpan data account dalam database pada table user.
Skenario alternatif jika kosong
. 1. Menampilkan konfirmasi bahwa isian
belum lengkap atau ada yang belum isi.
Nama Use Case
Update Data Pengirim Penerima
Aktor Staff Bagian Distribusi
Keterangan Bagian Distribusi dapat meng-update Data Pengirim Penerima
Kondisi awal
Bagian Distribusi sudah login dan tabel data pengirim penerima sudah terisi
Kondisi akhir
Data Pengirim Penerima di-update
Skenario Aksi Aktor
Reaksi Sistem Pengarang : Alfa
Tanggal : 16 Okt 2011
Kondisi Normal
1. Sistem menampilkan tabel data pengirim penerima.
2. Bagian Distribusi mengklik tabel yang akan di-update
3. Sistem menampilkan form isian data pengirim penerima
4. Bagian Distribusi mengisi form isian data pengirim penerima yang
akan di-update. Dan mengklik simpan perubahan
5.Sistem menyimpan data pengirim penerima pada tabel pengirim penerima,
dan menampilkan konfirmasi bahwa data pengirim penerima telah di-update
Skenario alternatif jika kosong
1. Menampilkan konfirmasi
bahwa isian belum lengkap atau ada yang
belum isi.
Nama Use Case Input Data Pengirim Penerima
Aktor Bagian Distribusi
Keterangan Bagian Distribusi dapat melakukan input data pengirim penerima
Kondisi awal Pengarang : Alfa
Tanggal : 16 Okt 2011
Bagian Distribusi sudah login
Kondisi akhir
Input data pengirim penerima berhasil
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
1. Sistem menampilkan form isian
data pengirim penerima. 2. Bagian Distribusi memasukkan data
pengirim penerima pada form dan memproses dengan mengklik tombol
“simpan”. 3. Sistem menyimpan data pengirim
penerima pada tabel pengirim penerima dan menampilkan konfirmasi bahwa data
telah disimpan
Skenario alternatif jika kosong
1. Menampilkan konfirmasi
bahwa isian belum di-isi.
Nama Use Case Hapus data pengirim penerima
Aktor Bagian Distribusi
Keterangan Bagian Distribusi dapat menghapus data pengirim penerima
Kondisi awal
Bagian Distribusi sudah login dan tabel pengirim penerima sudah terisi
Pengarang : Alfa Tanggal : 16 Okt 2011
Kondisi akhir
Data tabel pengirim penerima telah terhapus
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
1. Sistem menampilkan
tabel data
pengirim penerima 2. Bagian Distribusi mengklik data
tabel pengirim penerima yang akan dihapus
3. Sistem menampilkan form data tabel pengirim penerima
4. Bagian Distribusi
menekan tombol hapus
5. Sistem menghapus data pengirim
penerima
Nama Use Case
Ubah data kondisi pengiriman
Aktor Bagian Distribusi
Keterangan Bagian Distribusi dapat mengubah data kondisi pengiriman
Kondisi awal
Bagian Distribusi sudah login dan tabel pengirim penerima kondisi belum terkirim
Kondisi akhir Pengarang : Alfa
Tanggal : 16 Okt 2011
Data tabel pengirim penerima telah telah dikirim
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
1. Sistem menampilkan tabel data
pengirim penerima 2. Bagian Distribusi mengklik data
tabel pengirim penerima yang akan dikirim
3. Sistem menampilkan form data tabel pengirim penerima
4. Bagian
Distribusi memilih
kirim dan menekan tombol simpan 5.
Sistem mengubah data pengirim penerima sudah dikirim pada tabel
pengirim penerima
Nama Use Case Perhitungan pencarian rute
Aktor
Bagian Distribusi
Keterangan Bagian Distribusi dapat melakukan perhitungan pencarian rute
Kondisi awal
Bagian Distribusi sudah login dan tabel pengirim penerima dalam kondisi kirim
Kondisi akhir Pengarang : Alfa
Tanggal : 16 Okt 2011
Tampil rute pengiriman
Skenario Aksi Aktor
Reaksi Sistem Kondisi Normal Normal
1. Sistem menampilkan tabel data
pengirim penerima dalam kondisi kirim 2.
Bagian Distribusi mengisi form parameter pada algoritma semut dan
menekan tombol
tampil rute
pengiriman 3. Sistem menampilkan rute pengiriman
alternate dan terbaik
3.4 Perancangan Umum Sistem
Secara umum system aplikasi ditujukan untuk mencari rute pengiriman barang secara optimal pada P.T. Pos Indonesia dengan algoritma Ants Colony
System .
3.4.1 Masukan Sistem
Data yang menjadi masukan sistem dalam penelitian ini adalah data peta dan inputan parameter user . Data peta akan tersimpan di file .dmp terdiri dari data
koordinat x dan koordinat y serta nama titik. Karena data peta terlalu besar untuk ditempatkan dalam satu array maka data peta perlu dibagi dalam 10 wilayah.
Pembagian wilayah ini juga di atur pada file vertexlist.dmp dan mapingbesar.dmp. Gambar 3.2 merupakan gambar pembagian peta per cluster.
Gambar 3.2 Peta per Cluster Sedangkan untuk inputan parameter terdiri dari nilai q0, nilai
β, nilai α, nilai ρ dan banyak semut.
3.4.2 Proses Sistem
Didalam sistem yang akan dibangun terdapat beberapa proses untuk mencapai tujuan utama yaitu mencari rute terpendek. Tahap-tahap nya adalah
men-set tujuan pengiriman, mencari urutan cluster, mencari rute tercepat. Tahap-tahap proses sistem yang akan dibangun:
1. Men-set tujuan pengiriman
Pada langkah awal ini sistem akan mengambil data daftar pengirimpenerima, dari tabel pada frame DaftarPengirimanInternalFrame.
Kemudian data tesebut dicocokan dengan data peta yang ada diprogram. Ketika nama node pada data peta mempunyai nama yang sama dengan node
pengirimpenerima, maka atribut destinasi pada node,wilayah pada peta, akan di set true . Gambar 3.3, 3.4, 3.5 adalah diagram alir dari tahap 1.
Gambar 3.3 Set node Awal
Daftar pengirimpenerima ditampilkan ditabel daftarpengirimanTabel, waktu
berangkat dipilih dari comboBox wktbrgkt, parameter dan banyak semut
terima daftar node pengirimpenerima dari tabel
terima daftar peta dari kelas load peta
set riut18 mjd node awal
set variabel string
Dest=riut18
A
Gambar 3.4 Set wilayah Pengiriman
For j=0 to jml wilayah
true set array vertexList = array
nama node ke j For k = 0 to jml
vertexList true
Jika nama vertexList ke k = Dest
true set tujuan pada
wilayah ke j menjadi true
k++
j++ A
B false
false false
Gambar 3.5 Set node Pengiriman
2. Mencari urutan cluster pengiriman Setelah menentukan node dan cluster pengiriman maka langkah
selanjutnya adalah mencari urutan cluster. Ditujukan untuk mengetahui cluster mana yang akan dikunjungi lebih dahulu. Hal
ini ditujukan untuk mempersingkat waktu pencarian rute pengiriman. Gambar 3.6 adalah diagram alir untuk mencari urutan
cluster pengiriman.
For j=0 to jml wilayah
true set array vertexList = array
nama node ke j
For k = 0 to jml vertexList
true Jika nama vertexList
ke k = Dest true
set tujuan pada wilayah ke j
menjadi true k++
j++ A
B false
false false
Gambar 3.6 Mencari urutan Cluster 3. Mencari rute pengiriman tercepat
Setelah mendapatkan urutan cluster. Maka selanjutnya adalah mencari rute pengiriman tercepat. Gambar 3.7, 3.8, 3.9, 3.10, 3.11
adalah diagram alir untuk mencari rute pengiriman tercepat.
A
mencari urutan waktu pengiriman
mencari jalur urutan cluster
mulai dari vertexList 3
mengubah urutan cluster ke angka
mencari rute pengiriman kembali set cluster awal =
cluster akhir rute set cluster
vertexList 3 menjadi Dest
mengubah urutan cluster
ke angka
D
Gambar 3.7 Pencarian rute cluster ke 0
D
For i to bnyk semut
set array vr= array nama node dengan cluster urutan pengiriman pertama set array
amNew=array bobot waktu dengan urutan cluster pengiriman pertama
mengubah susunan matrik amNew dan array vr dengan titik 0 sebagai node awal
set array vrTmp= susunan node baru yang telah diubah, set matriks amNewTmp =susunan matriks
yang telah diubah, set matriks amBobot =susunan matriks invers
semut =0 true
set matriks tMatAwal = matriks
pheromone awal mencari rute
terpendek untuk urutan cluster ke 0
get list finalPath = array susunan jalan terpendek, get finalBobot = matriks bobot jalan, get finalTau = matriks
pheromone baru
E set list gabungFT = tampung list
finalTau, gabungFP = tampung list finalPath, gabungVertUrut =
tampung vrTmp set matriks
tMatAwal = matriks finalTau
false
for i=0 to finalPath -1
set list gabungPath = tampung finalPath-1, set gabungbobot =
finalBobot
Gambar 3.8 Pencarian rute cluster ke-i
E
for i=1 to urutanCluster-1
set array vrIn= array nama node dengan cluster urutan pengiriman ke i set array amIn=array bobot
waktu dengan urutan cluster pengiriman ke i
semut = 0 true
set matriks tMatAwal2 = matriks
pheromone awal set matriks
tMatAwal2 = matriks tauTemp
false
mencari rute terpendek untuk
urutan cluster ke i memasukkan
rute terpilih ke tmpInCluster
set finalPath tmpInCluster ke 0, set finalBobot tmpInCluster ke 1, setfinalTau tmpInCluster ke 2,
set testVertexBaru tmpInCluster ke 3 set list tauTemp = tampung finalTau,
gabungFT = tampung finalTau, gabungFP = tampung finalPath, gabungVertUrut
=tampung testVertexBaru for d=0 to ukuran
finalPath-1 set gabungPath =tampung finalPath,
set gabungBobot = gabungBobot sebelum + finalBobot, i++
F
Gambar 3.9 Pencarian rute cluster akhir
F
set vrLast = daftar vertex urutan cluster terakhir, set amLast =daftar matriks urutan cluster akhir
semut = 0 set matriks
tMatAkhir = matriks
pheromone awal set matriks
tMatAkhir= matriks finalTau
true false
mencari rute terpendek untuk
urutan cluster akhir
memasukkan rute terpilih ke
tmpAkhCluster set finalPath tmpAkhCluster ke 0, set
finalBobot tmpAkhCluster ke 1, set finalTau tmpAkhCluster ke 2, set
testVertexAkhir tmpAkhCluster ke 3 set gabungFT = tampung finalTau, gabungFP
= tampung finalPath, gabungVertUrut =tampung testVertexAkhir
for d=0 to ukuran finalPath
set gabungPath =tampung finalPath, set gabungBobot = gabungBobot
sebelum + finalBobot set list bandingbobot = tampung gabungbobot,
set list bandingpath =tampung gabungpath
G
Gambar 3.10 Set destinasi ulang dan pencarian rute semut ke n
G
for j=o to ukuran listVertexMap
set vertex vere = listVertexMap ke j
for k=0 to ukuran vere
vere ke k DestNext =
true set Dest vere =
true, k++
j++
D
H
Gambar 3.11 Pencarian rute terbaik
Selain diagram alir tersebuat ada proses-proses utama dalam tahap pencarian rute terpendek dengan algoritma Ants Colony System.
1. Algoritma proses inisialisasi status Algoritma ini merupakan tahap pertama algoritma Ants Colony
System. Algoritma ini dibagi dua yaitu inisialisasi status 1 dan inisialisasi status 2. Dimana semut dapat memilih algoritma mana yang akan
digunakan. Jika nilaiQ = nilaiQ0, maka dipilih inisialisasi status1, dan jika nilaiQ nilaiQ0, maka dipilih inisialisasi status2
H
set double bbtTerbaik = bandingbobot ke 0, set list pathTerbaik = bandingPath ke 0, set
nilaiI = 0
for i = 1 to ukuran bandingBobot
bbtTerbaik bandingBobot ke i
set bbtTerbaik = bandingBobot ke i, set pathTerbaik =
bandingPath ke i, set nilaiI = i set global =
pheromoneGloba l
nilai balik rute alternatif dan
terbaik
Gambar 3.12 Proses Inisialisasi Status 1
for i = 0 to ukuran adjMat
for j = 0 to ukuran adjMat
set krMatrik[i][j] = adjMat[i][j],
j++ i++
for x = 1 to ukuran B
for i = 0 to ukuran adjMat
for j=0 to ukuran adjMat
krMatrik[i][j] = krMatrik[i][j] adjMat[i] [j], j++
i++
x++ for i =0 to
ukuran adjMat
for j = 0 to ukuran
adjMat baru[i][j] = tMatrik[i][j] krMatrik[i][j],
j++ i++
return hasil inisialisasi
status1
Gambar 3.13 Proses Inisialisasi Status 2
for i = 0 to ukuran adjMat
for j = 0 to ukuran adjMat
set krMatrik[i][j] = adjMat[i][j],
j++ i++
for x = 1 to ukuran B
for i = 0 to ukuran adjMat
for j=0 to ukuran adjMat
krMatrik[i][j] = krMatrik[i][j] adjMat[i] [j], j++
i++ x++
for i =0 to ukuran
adjMat for j = 0 to
ukuran adjMat
baru[i][j] = tMatrik[i][j] krMatrik[i][j], j++
i++
for k = 0 to ukuran baru
jumlah = 0
jumlah = jumlah + baru[angkajalanawal] [k] for m = 0 to
ukuran baru baru[angkajalanawal] [m] = baru[angkajalanawal] [m] jumlah
return hasil inisialisasi
status 2
2. Algoritma proses pheromone lokal
Gambar 3.14 Proses Update Phremone Lokal
Lnn = 0, c = ukuran adjMat
for i = 0 to ukuran adjMat
for j=0 to ukuran
adjMat vertexList ke i = jalanPresent
vertexList ke j = nextJalan Lnn = adjMat[i][j]
j++ i++
true false
set double deltaT = 1
LnnC for i = 0 to ukuran
tMatriks for j = 0 to ukuran
tMatriks vertexList ke i = jalanPresent
vertexList ke j = nextJalan tMatriks[i][j] = 1-nilaiP tMatriks[i][j] + nilaiPdeltaT
j++ i++
true false
return tMatriks
3. Algoritma proses pheromone global
Gambar 3.15 Proses menentukan pheromone yang akan di update Pheromone Global
set int bagi = jmlclusterbnyksemut, set
int q = 0 for i=0 to
ukuran tMatrik
for j=0 to bnyk semut
jmlCluster==bnyksemut
for k=q to bagi
set list baruTau = tampung tMatriks ke k, set list baruVert = tampung InvVert ke k,
set baruRut = tampung rute ke k k++
true
set q=bagi, set bagi = bagi semut
false
j++
i++
A
Gambar 3.16 Proses Update Pheromone Global
A for i = 0 to
ukuran baruTau set double perCluster = baruTau ke i,
set vertex perVert = baruRut ke i, set string perRut = baruRut ke i
set double deltaT1 = 1Lgb,
set deltaT2 = 0 for j=0 to ukuran
perCluster for k=0 to ukuran
perCluster for l=0 to
ukuran perRut-1
perVert[j].toString.equalsperRut[l].toString perVert[k].toString.equalsperRut[l+1].toString
hasilGlobal[j][k] = 1-a percluster[j][k] + adeltaT1 hasilGlobal[j][k] = 1-a percluster[j][k] + adeltaT2
true false
l++ k++
j++ set list finalHasilGlobal = tampung nilai hasilGlobal,
i++ return finalHasilGlobal, baruVert, baruRut
Gambar 3.17 berikut ini merupakan diagram konteks dari proses yang terjadi didalam system optimasi rute terpendek pengiriman barang P.T. Pos
Indonesia secara umum.
Bagian Distribusi Sistem Informasi
Pencarian Rute Pengiriman Barang
Petugas Pos
Data jarak Daftar lokasi Pengiriman jumlah node
dan Parameter Perhitungan
pheromone awal, qo, beta, rho, alpha
Rute Pengiriman Barang
3.17 Diagram Konteks
3.4.3 Keluaran Sistem
Keluaran sistem Penerapan Rute Terpendek P.T Pos Indonesia adalah ruter yang dilewati, nilai bobot waktu serta nilai jarak dan pembentukan peta
rute terpendek beserta alternatifnya.
3.4.4 Diagram Aktifitas
3.4.4.1 Diagram Aktifitas Update Data Kondisi Jalan
Gambar 3.18 Diagram Aktifitas Update Data Kondisi Jalan
Pilih Menu Update data Kondisi Jalan
Menampilkan data Kondisi Jalan
Diagram Aktifitas Update Data Kondisi Jalan
Start
Administator Sistem
Klik data yang akan di update
Menampilkan Form Isian
Ubah kondisi Jalan, dan Klik simpan
Menyimpan data kondisi jalan pada tabel jalan
3.4.4.2 Diagram Aktifitas Update Data Kecepatan
Gambar 3.19 Diagram Aktifitas Update Data Kecepatan
3.4.4.3 Diagram Aktifitas Ubah Data Account
Gambar 3.20 Diagram Aktifitas Ubah Data Account
Pilih Menu Update data Kecepatan
Menampilkan data Kecepatan
Diagram Aktifitas Update Data Kecepatan
Start
Administrator Sistem
Klik data yang akan di update
Menampilkan Form Isian
Ubah Kecepatan, dan Klik simpan
Menyimpan data kecepatan pada tabel
hitungKecepatan dan jalan
Klik tombol simpan ke teks
Menyimpan data ke file dmp
Pilih Menu Ubah Data Account
Menampilkan form Data Account
Diagram Aktifitas Ubah Data Account
Start
Staff Bagian Distribusi Administator
Sistem
Isi Username dan password baru, dan klik
simpan Konfirmasi data
data valid simpan data account ke
table user data kosong tidak valid
3.4.4.4 Diagram Aktifitas Update Data Pengirim Penerima
Gambar 3.21 Diagram Aktifitas Update Data Pengirim Penerima
Pilih Menu Pengirim Penerima
Menampilkan tabel Data Pengirim Penerima
Diagram Aktifitas Update Data Pengirim Penerima
Start
Staff Bagian Distribusi Sistem
Kilik data pengirim penerima yang akan di-
update Menampilkan form data
pengirim penerima
cek data pengirim penerima
data valid data kosong tidak valid
Ubah data yang akan di- update dan klik simpan
perubahan
simpan data update pengirim penerima ke
tabel pengirimpenerima konfirmasi data valid dan
disimpan
3.4.4.5 Diagram Aktifitas Input Data Pengirim Penerima
Gambar 3.22 Diagram Aktifitas Input Data Pengirim Penerima
Pilih Menu Pengirim Penerima
Menampilkan tabel Data Pengirim Penerima
Diagram Aktifitas Input Data Pengirim Penerima
Start
Staff Bagian Distribusi Sistem
Kilik tombol pengirim penerima baru
Menampilkan form isian data pengirim penerima
cek data pengirim penerima
data valid data kosong tidak valid
isi data pengirim penerima dan klik simpan
simpan data update pengirim penerima ke
tabel pengirimpenerima konfirmasi data valid dan
disimpan
3.4.4.6 Diagram Aktifitas Hapus Data Pengirim Penerima
Gambar 3.23 Diagram Aktifitas Hapus Data Pengirim Penerima
Pilih Menu Pengirim Penerima
Menampilkan tabel Data Pengirim Penerima
Diagram Aktifitas Hapus Data Pengirim Penerima
Start
Staff Bagian Distribusi Sistem
Kilik data pengirim penerima yang akan
dihapus Menampilkan form data
pengirim penerima
konfirmasi data akan benar dihapus
menghapus data pengirimpenerima dari
tabel pengirimpenerima klik tombol hapus
klik ya
klik batal
3.4.4.7 Diagram Aktifitas Ubah Kondisi Pengiriman
Gambar 3.24 Diagram Aktifitas Ubah Kondisi Pengiriman
3.4.4.8 Diagram Aktifitas Perhitungan Pencarian Rute
Gambar 3.25 Diagram Aktifitas Perhitungan Pencarian Rute
Pilih Menu Daftar Pengiriman
Menampilkan tabel Data Pengirim Penerima
Diagram Aktifitas Ubah Kondisi Pengiriman
Start
Staff Bagian Distribusi Sistem
Kilik data pengirim penerima yang akan di
ubah kondisi Menampilkan form data
pengirim penerima
mengupdate kondisi pengiriman pada tabel
pengirim penerima ubah kondisi pengiriman,
dan klik simpan
Pilih Menu Daftar Pengiriman
Menampilkan tabel Data Pengirim Penerima, dan
sudah kondisi kirim
Diagram Aktifitas Perhitungan Pencarian Rute Pengiriman
Start
Staff Bagian Distribusi Sistem
Kilik lihat peta pengiriman
Memproses rute pengiriman dan
menampilkan peta pengiriman
3.5 Perancangan Basis Data 3.5.1 Entity Relationship Diagram
Sebelum melakukan penyusunan basis data perlu dibuat Entity Relationship Diagram
ERD dari entitas yang terlibat dalam sistem pencarian rute P.T. Pos Indonesia. Entity
– Relationship adalah suatu hubungan antara dua file atau lebih yang saling berkaitan. Entitas yang saling berhubungan antara satu
dengan yang lain akan membentuk suatu relasi dan isi masing-masing entitas tersebut saling melengkapi.
ERD adalah model konseptual yang mendeskripsikan hubungan antar penyimpanan dalam DFD. ERD digunakan untuk memodelkan struktur data dan
hubungan antar data. Dengan ERD kita dapat menguji model dengan mengabaikan proses yang harus dilaksanakan. ERD menggunakan notasi dan
sumber untuk
menggambarkan struktur
dan hubungan
antar data
69 E
R D
da pa
t di
ga m
ba rka
n pa
da ga
m
ba r 3.
26 b
er ikut
. Ga
m b
ar 3.
26 E
R D
Da ta
b as
e S
y st
e m
p e
n g
iri m
_ p
e n
e ri
m a
id_pengirimpenerima nama_pengirim
node telpf_pengirim
alamat_pengirim nil_X
nil_Y idJalan
telpf_penerima a
la m
a t_
p e
n e
rim a
tg l_
ki rim
st a
tu s
tg l_
te rim
a
nama_penerima ke
ca m
a ta
n id_kecamatan
nama_kecamatan id_kabupaten
ka b
u p
a te
n id_kabupaten
nama_kabupaten propinsi
h itu
n g
K e
p a
d a
t a
n idHitungKepadat
an namaPosi
si kecepatan_pa
gi kecepatan_pagi_siang
kecepatan_siang kecepatan_siang_sore
kecepatan_sore
g m
b rja
lu r
id k
o o
rd in
a t n
a m
a J
a la
n n
a m
a F
ile n
a m
a A
c ti
o n
ja la
n idJalan
namaJalan wilayah
jarak ko
o rd
in a
tX ko
o rd
in a
tY id_Kelurahan
idHitungKepadatan waktu_pagi
waktu_pagi_siang waktu_siang_sore
w a
kt u
_ so
re ko
n d
isi
waktu_siang k
e lu
ra h
a n
id_kelurahan nama_kelurahan
id_kecamatan
u s
e r
id_user nama_user
password loginas
p u
n ya
N
1 p
u n
ya 1
N
p u
n ya
N
1
p u
n ya
N
1 p
u n
ya N
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.5.2 Perancangan Fisikal
Perancangan fisik
basis data
merupakan proses
untuk mengimplementasikan hasil perancangan logika kedalam sistem komputer secara
fisik. Pada penelitian ini, aktivitas perancangan fisik yang dikerjakan dibatasi hanya penentuan struktur setiap tabel yang meliputi nama atribut, jenis, lebar
atribut, dan penentuan batasan integritas integrity contraints. Secara rinci hasil dari perancangan fisikal dalam penelitian ini adalah:
a. Tabel Pengirim dan Penerima Digunakan untuk menyimpan data pengirim dan data penerima.
Nama Tabel : pengirim_penerima Primary Key: id_pengirimpenerima
Foreign Key: idJalan No
Nama Atribut Jenis
Lebar Keterangan
1 Id_pengirimpeneri
ma int
11 Primary key
2 Nama_pengirim
varchar 50 Nama pengirim
3 Node
varchar 11 Node tujuan penerima
4 telpf_pengirim
varchar 20 Data telpon pengirim
5 alamat_pengirim
varchar 200 Data alamat pengirim
6 nil_X
int 11
Nilai koordinat X penerima dipeta 7
nil_Y int
11 Nilai koordinat Y penerima dipeta
8 idJalan
int 11
Foreign key dari tabel jalan 9
nama_penerima varchar 50
Nama penerima 10
telpf_penerima varchar 20
Data telpon penerima 11
alamat_penerima varchar 500
Data alamat penerima 12
tgl_kirim varchar 50
Data tanggal kirim pengiriman 13
status varchar 50
Data status pengiriman 14
tgl_terima varchar 50
Data tanggal terima pengiriman
b. Tabel Hitung Kepadatan Digunakan untuk menyimpan data kepadatan untuk dihitung bobot waktunya.
Nama Tabel :
hitungkepadatan
Primary Key:
idHitungKepadatan
Foreign Key: - No
Nama Atribut Jenis
Lebar Keterangan
1 idHitungKepadata
n int
11 Primary key
2 namaPosisi
varchar 60 Nama ruas jalan yang menjadi
patokan hitung kepadatan 3
kecepatan_pagi double
- waktu kecepatan rata-rata pada
waktu pagi hari 4
kecepatan_pagi_si ang
double -
waktu kecepatan rata-rata pada waktu pagi menjelang siang hari
5 kecepatan_siang
double -
waktu kecepatan rata-rata pada waktu siang hari
6 kecepatan_siang_s
ore double
- waktu kecepatan rata-rata pada
waktu siang menjelang sore hari
7 kecepatan_sore
double -
waktu kecepatan rata-rata pada waktu sore hari
c. Tabel Jalan Digunakan untuk menyimpan data hasil penghitungan bobot waktu.
Nama Tabel :
jalan
Primary Key:
idJalan
Foreign Key: idHitungKepadatan, id_Kelurahan No
Nama Atribut Jenis
Lebar Keterangan
1 idJalan
int 11
Primary key 2
namaJalan varchar 50
Nama ruas jalan 3
wilayah int
11 No wilayah jalan
4 jarak
double -
Jarak tiap jalan 5
koordinatX varchar 20
Node awal jalan 6
koordinatY varchar 20
Node akhir jalan
7 id_Kelurahan
int 11
Foreign key dari tabel kelurahan 8
idHitungKepadata n
int 11
Foreign key dari table hitung kepadatan
9 waktu_pagi
double -
Waktu tempuh rata-rata jalan pada pagi hari
10 waktu_pagi_siang
double -
Waktu tempuh rata-rata jalan pada pagi menjelang siang hari
11 waktu_siang
double -
Waktu tempuh rata-rata jalan pada siang hari
12 waktu_siang_sore
double -
Waktu tempuh rata-rata jalan pada siang menjelang sore hari
13 waktu_sore
double -
Waktu tempuh rata-rata jalan pada sore hari
14 kondisi
varchar 20 Kondisi jalan apakah bisa dilewati
atau tidak
d. Tabel Kabupaten Digunakan untuk menyimpan data kabupaten.
Nama Tabel :
kabupaten
Primary Key:
idKabupaten
Foreign Key: - No
Nama Atribut Jenis
Lebar Keterangan
1 id_kabupaten
int 11
Primary key 2
nama_kabupaten varchar 200
Nama kabupaten 3
propinsi varchar 100
Nama propinsi
e. Tabel Kecamatan Digunakan untuk menyimpan data kecamatan.
Nama Tabel : kecamatan Primary Key:
idKecamatan
Foreign Key:
idKabupaten
No Nama Atribut
Jenis Lebar
Keterangan 1
id_kecamatan int
11 Primary key
2 nama_kecamatan
varchar 100 Nama kecamatan
3 id_kabupaten
int 11
Foreign key dari tabel kabupaten
f. Tabel kelurahan Digunakan untuk menyimpan data kelurahan.
Nama Tabel : kelurahan Primary Key: id_kelurahan
Foreign Key: id_kecamatan No
Nama Atribut Jenis
Lebar Keterangan
1 id_kelurahan
int 11
Primary key 2
nama_kelurahan varchar 100
Nama kelurahan 3
id_kecamatan int
11 Foreign Key dari tabel kecamatan
g. Tabel user Digunakan untuk menyimpan data user.
Nama Tabel : user Primary Key: id_user
Foreign Key: - No
Nama Atribut Jenis
Lebar Keterangan
1 id_user
int 11
Primary key 2
nama_user varchar 30
Nama user untuk login 3
password varchar 200
Password user loginas
varchar 50 Login sebagai
h. Tabel gambar jalur Digunakan untuk menyimpan data gambarjalur.
Nama Tabel : gmbrjalur Primary Key: id
Foreign Key: - No
Nama Atribut Jenis
Lebar Keterangan
1 id
int 11
Primary key 2
koordinat varchar 200
Koordinat jalan 3
namaJalan varchar 100
Nama jalan 4
namaFile varchar 100
Nama file gambar 5
namaAction varchar 100
Nama action gambar jalan
3.6 Diagram Kelas Analisis dan Diagram Sekuen
3.6.1 Diagram Kelas Analisis dan Diagram Sekuen Use Case Login
No Nama Kelas Tipe
Deskripsi 1
loadPeta Control
Kelas ini berfungsi untuk memanggil data peta yang berupa text ke dalam
program. 2
loginFrame Interface
Boundary Kelas ini menyediakan fungsi untuk
menyediakan fungsi penampilan form login.
3 authentfikasiL
ogin Control
Kelas ini menyediakan fungsi untuk mengauthentifikasi
memvalidasi username dan password
4 userData
Entity
Kelas ini menyediakan fungsi untuk menyimpan data-data user username
dan password.
5 adminMainFram
e Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
administrator.
6 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
Gambar 3.27 Diagram Kelas Analisis Use Case Login
Gambar 3.28 Diagram Sekuen Login
3.6.2 Diagram Kelas Analisis dan Diagram Sekuen Use Case Logout
loadPeta loginFrame
authentifikasiLogin staffBagianDistribusiMainframe
userData adminMainFrame
staffBagi anDistrib
usi administ
rator Controller
loadPeta Boundary
loginFrame Controller
authentifikasiLogin Entity
userData Boundary
staffBagianDistribusiMainFrame Boundary
adminMainFrame 1. Aktor mulai
2. Sistem menampilkan form login
3. Mengisi username dan password
4. Menekan tombol login
5. Mengidentifikasi username dan
password 6. Menampilkan form
staffBagianDistribusi Skenario Alternatif
1. Aktor mulai 2. Sistem menampilkan
form login 3. Mengisi username
dan password 4. Menekan
tombol login 5. Mengidentifikasi
username dan password
6. Menampilkan form administrator
klik eksesusi penerapan show
username dan password login key
show authentikstring,
string, string
klik eksesusi penerapan show
username dan password login key
authentikstring, string, string
getPassUsername string
getPassUsername string
show
No Nama Kelas Tipe
Deskripsi 1
controlPengiri mPenerima
Control Kelas ini berfungsi untuk mengatur
tampilan ketika action dijalankan oleh staffBagianDistribusiMainFrame
2 loginFrame
Interface Kelas ini menyediakan fungsi untuk
Gambar 3.29 Diagram Kelas Analisis Use Case Logout
Gambar 3.30 Diagram Sekuen Logout
staffBagianDistribusiMainFrame
adminMainFrame controlPengirimPenerima
adminControl loginFrame
staffBagi anDistrib
usi administ
rator Boundary
adminMainFrame Boundary
staffBagianDistribusiMainFrame Controller
controlPengirimPenerima Controller
adminControl Boundary
loginFrame 1. Administator menekan
tombol logout 2. set dispose lalu
menampilkan form login Skenario Alternatif
1. Staff Bagian Distribusi menekan tombol logout
2. set dispose lalu menampilkan form login
show memilih menu logout
memilih menu logout tampilmenuinteger
tampilmenuinteger
show
Boundary menyediakan fungsi penampilan form
login. 3
adminControl Control
Kelas ini menyediakan fungsi untuk mengatur
tampilan ketika
action dijalankan oleh adminMainFrame
4
adminMainFra me
Interface Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
administrator.
5 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
3.6.3 Diagram Kelas Analisis dan Diagram Sekuen Use Case Mengubah Account
No Nama Kelas Tipe
Deskripsi 1
controlPengiri mPenerima
Control Kelas ini berfungsi untuk mengatur
tampilan ketika action dijalankan oleh staffBagianDistribusiMainFrame
2 adminControl
Control Kelas ini menyediakan fungsi untuk
mengatur tampilan
ketika action
dijalankan oleh adminMainFrame
3
adminMainFra me
Interface Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
administrator.
4 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
5 updateAccountC
ontrol Control
Kelas ini berfungsi untuk mengatur semua
action yang
dilakukan ubahAccountFrame
6 ubahAccountFra
me
Interface Boundary
Kelas ini menyediakan fungsi untuk menampilkan halaman untuk mengubah
username dan password
7 userData
Entity
Kelas ini berfungsi untuk menyimpan data
–data user username dan password
Gambar 3.31 Diagram Kelas Analisis Use Case Mengubah Account
Gambar 3.32 Diagram Sekuen Mengubah Account
3.6.4 Diagram Kelas Analisis dan Diagram Sekuen Use Case Mengisi data pengirim penerima
adminMainFrame
ubahAccountFrame
staffBagianDistribusiMainFrame controlPengirimPenerima
adminControl
updateAccountControl userData
staffBagi anDistrib
usi administ
rator Boundary
adminMainFrame Boundary
staffBagianDistribusiMainFrame Controller
controlPengirimPenerima Controller
adminControl Boundary
ubahAccountFrame 1. Memilih menu ubah
account 2. Menampilkan form
ubah account
Skenario Alternatif show
memilih menu ubah account
mengisi username dan password baru tampilmenuinteger
Controller updateAccountControl
Entity userData
3. Mengisi username dan password baru
4. menekan tombol simpan
5. Memvalidasi username dan password 6. mengupdate username dan password
1. Memilih menu ubah account
2. Menampilkan form ubah account
3. Mengisi username dan password baru
4. menekan tombol simpan
5. Memvalidasi username dan password 6. mengupdate username dan password
menekan tombol simpan updateAccount
string, string, string, string
updateAccount string, string,
string memilih menu ubah account
tampilmenu integer
show mengisi username dan password baru
menekan tombol simpan updateAccount
string, string, string, string
updateAccount string, string,
string
No Nama Kelas Tipe
Deskripsi 1
controlPengiri mPenerima
Control Kelas ini berfungsi untuk mengatur
tampilan ketika action dijalankan oleh staffBagianDistribusiMainFrame
2 pengirimPeneri
maInternalFra me
Interface Boundary
Kelas ini berfungsi untuk menampilkan halaman pengirim penerima, dan tempat
user untuk menambah menghapus, dan mengubah data pengirim dan penerima.
3 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
4 PilihNodeFrame Interface
Boundary
Kelas ini berfungsi untuk mengatur menampilkan peta yang digunakan oleh
user untuk memilih letak dari penerima sesuai dengan alamatnya.
5 pengirimPeneri
maData Entity
Kelas ini menyediakan fungsi untuk menangani inputan, hapus, ubah dari
tabel pengirim_penerima.
6 kabupatenData
Entity
Kelas ini berfungsi untuk mengelola tabel kabupaten, baik itu insert, update,
maupun delete.
7 kecamatanData
Entity
Kelas ini berfungsi untuk mengelola tabel kecamatan, baik itu insert, update,
maupun delete.
8 kelurahanData
Entity
Kelas ini berfungsi untuk mengelola tabel kelurahan, baik itu insert, update,
maupun delete.
9 jalanData
Entity
Kelas ini berfungsi untuk mengelola tabel jalan, baik itu insert, update,
maupun delete.
Gambar 3.33 Diagram Kelas Analisis Use Case Mengisi data Pengirim dan Penerima
Gambar 3.34 Diagram Sekuen Mengisi data Pengirim dan Penerima
3.6.5 Diagram Kelas Analisis dan Diagram Sekuen Use Case Mengubah data pengirim penerima
staffBagianDistribusiMainFrame
pengirimPenerimaInternalFrame
pilihNodeFrame controlPengirimPenerima
kabupatenData
kecamatanData
kelurahanData
pengirimPenerimaData
jalanData
staffBagi anDistrib
usi Boundary
staffBagianDistribusiMainFrame Controller
controlPengirimPenerima Boundary
pengirimPenerimaInternalFrame Entity
pengirimPenerimaData Entity
kabupatenData Entity
kecamatanData Entity
kelurahanData Entity
jalanData Boundary
pilihNodeFrame memilih menu
pengirim penerima
tampilMenuinteger pengirimPenerimaData
1. Memilih menu pengirim penerima
2. Menampilkan pengirimPenerimaInternalFrame
3. Menekan tombol pengirimPenerimaBaru
4. Mengisi data pengirim Penerima
7. Menekan tombol simpan selectKabupatenstring
selectKecamatanstring selectKelurahanstring
selectJalanstring show
menekan tombol pengirim penerima baru pengirimPenerimaData
mengisi data pengirim penerima cariKoordinatAlamatPenerimastring, string,
string, string, string, string, string, string getCriKoordinatJalanstring, string
show show
pilih lokasi penerima setLocationint, int
tekan tombol pilih setKoordinatstring, string, string
menekan tombol simpan cekEmpty
insertDataPengirimPenerimastring, string, string, string, int, int, string, string, string, string, string, string, string, string konfirmasi
5. Menampilkan animasi peta lokasi yang di pilih user
6. Memilih lokasi peta penerima
8. insert data pengirim dan penerima 9. mendapatkan hasil konfirmasi
No Nama Kelas Tipe
Deskripsi
1 controlPengiri
mPenerima Control
Kelas ini berfungsi untuk mengatur tampilan ketika action dijalankan oleh
staffBagianDistribusiMainFrame 2
pengirimPeneri maInternalFra
me Interface
Boundary Kelas ini berfungsi untuk menampilkan
halaman pengirim penerima, dan tempat user untuk menambah menghapus, dan
mengubah data pengirim dan penerima.
3 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
4 PilihNodeFrame Interface
Boundary
Kelas ini berfungsi untuk mengatur menampilkan peta yang digunakan oleh
user untuk memilih letak dari penerima sesuai dengan alamatnya.
5 pengirimPeneri
maData Entity
Kelas ini menyediakan fungsi untuk menangani inputan, hapus, ubah dari
tabel pengirim_penerima.
6 kabupatenData
Entity
Kelas ini berfungsi untuk mengelola tabel kabupaten, baik itu insert, update,
maupun delete.
7 kecamatanData
Entity
Kelas ini berfungsi untuk mengelola tabel kecamatan, baik itu insert, update,
maupun delete.
8 kelurahanData
Entity
Kelas ini berfungsi untuk mengelola tabel kelurahan, baik itu insert, update,
maupun delete.
9 jalanData
Entity
Kelas ini berfungsi untuk mengelola tabel jalan, baik itu insert, update,
maupun delete.
Gambar 3.35 Diagram Kelas Analisis Use Case Mengubah Data Pengirim dan Penerima
Gambar 3.36 Diagram Sekuen Mengubah Data Pengirim dan Penerima
3.6.6 Diagram Kelas Analisis dan Diagram Sekuen Use Case Menghapus data pengirim penerima
staffBagianDistribusiMainFrame
pengirimPenerimaInternalFrame
pilihNodeFrame controlPengirimPenerima
kabupatenData
kecamatanData
kelurahanData
pengirimPenerimaData
jalanData
staffBagi anDistrib
usi Boundary
staffBagianDistribusiMainFrame Controller
controlPengirimPenerima Boundary
pengirimPenerimaInternalFrame Entity
pengirimPenerimaData Entity
kabupatenData Entity
kecamatanData Entity
kelurahanData Entity
jalanData Boundary
pilihNodeFrame memilih menu
pengirim penerima
tampilMenuinteger pengirimPenerimaData
1. Memilih menu pengirim penerima
3. Menampilkan pengirimPenerimaInternalFrame
4. Memilih pengirimpenerima yang akan diubah
5. Mengisi data pengirim Penerima
10. Menekan tombol simpan perubahan selectKabupatenstring
selectKecamatanstring selectKelurahanstring
selectJalanstring show
memilih data pengirim dan penerima yang akan di ubah pengirimPenerimaData
mengisi data pengirim penerima cariKoordinatAlamatPenerimastring, string,
string, string, string, string, string, string getCriKoordinatJalanstring, string
show pilih lokasi penerima
setKoordinatstring, string, string menekan tombol simpan Perubahan
cekEmpty updateDataPengirimPenerimaint, string, string, string, string, int, int, string, string, string, string, string, string, string, string
konfirmasi 6. Mencari koordinat alamat penerima
8. Memilih lokasi peta penerima 11. mengecek inputan
13. Sistem memberikan konfirmasi bahwa data telah tersimpan
2. Memasukkan data kabupaten, kecamatan, kelurahan, jalan
7. Menampilkan peta awal dan yang dipilih
9. Memasukkan koordinat yang telah dipilih ke pengirimPenerimaInternalFrame
12. Menyimpan update data pengirim penerima
No Nama Kelas Tipe
Deskripsi
1 controlPengiri
mPenerima Control
Kelas ini berfungsi untuk mengatur tampilan ketika action dijalankan oleh
staffBagianDistribusiMainFrame 2
pengirimPeneri maInternalFra
me Interface
Boundary Kelas ini berfungsi untuk menampilkan
halaman pengirim penerima, dan tempat user untuk menambah menghapus, dan
mengubah data pengirim dan penerima.
3 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
4 pengirimPeneri
maData Entity
Kelas ini menyediakan fungsi untuk menangani inputan, hapus, ubah dari
tabel pengirim_penerima.
5 kabupatenData
Entity
Kelas ini berfungsi untuk mengelola tabel kabupaten, baik itu insert, update,
maupun delete.
6 kecamatanData
Entity
Kelas ini berfungsi untuk mengelola tabel kecamatan, baik itu insert, update,
maupun delete.
7 kelurahanData
Entity
Kelas ini berfungsi untuk mengelola tabel kelurahan, baik itu insert, update,
maupun delete.
8 jalanData
Entity
Kelas ini berfungsi untuk mengelola tabel jalan, baik itu insert, update,
maupun delete.
Gambar 3.37 Diagram Kelas Analisis Use Case Menghapus Data Pengirim dan Penerima
Gambar 3.38 Diagram Sekuen Menghapus Data Pengirim dan Penerima
3.6.7 Diagram Kelas Analisis dan Diagram Sekuen Use Case Melihat Daftar Pengiriman
staffBagianDistribusiMainFrame
pengirimPenerimaInternalFrame controlPengirimPenerima
kabupatenData
kecamatanData
kelurahanData
pengirimPenerimaData
jalanData
staffBagi anDistrib
usi Boundary
staffBagianDistribusiMainFrame Controller
controlPengirimPenerima Boundary
pengirimPenerimaInternalFrame Entity
pengirimPenerimaData Entity
kabupatenData Entity
kecamatanData Entity
kelurahanData Entity
jalanData memilih menu
pengirim penerima
tampilMenuinteger pengirimPenerimaData
1. Memilih menu pengirim penerima
3. memilih data pengirim penerima yang akan dihapus
4. Menekan tombol hapus 6. menekan tombol ya
selectKabupatenstring selectKecamatanstring
selectKelurahanstring selectJalanstring
show memilih data pengirim dan penerima yang akan di hapus
menekan tombol hapus konfirmasi ya atau tidak
hapusPengirimPenerima konfirmasi
7. Menghapus data pengirim_penerima dari database
2. Menampilkan pengirimPenerimaInternalFrame
8. Konfirmasi data telah dihapus memilih tombol ya
hapusDatainteger 5. menampilkan konfirmasi data akan
dihapus atau tidak
No Nama Kelas Tipe
Deskripsi 1
controlPengiri Control
Kelas ini berfungsi untuk mengatur
Gambar 3.39 Diagram Kelas Analisis Use Case Melihat Daftar Pengiriman
staffBagianDistribusiMainFrame
daftarPengirimanInternalFrame controlDaftarPengiriman
pengirimPenerimaData
daftarPengirimanData
mPenerima tampilan ketika action dijalankan oleh
staffBagianDistribusiMainFrame 2
controlDaftarP engiriman
Control Kelas ini berfungsi untuk menangani
action dari
daftarPengirimanInternalFrame
3 staffBagianDistr
ibusiMainFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
halaman utama
staff bagian distribusi.
4 daftarPengirima
nInternalFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan
daftar pengiriman
pengirim dan penerima, dan digunakan actor untuk memilih daftar pengirim dan
penerima yang akan dikirimkan.
5 pengirimPeneri
maData Entity
Kelas ini berfungsi untuk menangani inputan,
hapus, ubah
dari tabel
pengirim_penerima.
Gambar 3.40 Diagram Sekuen Melihat Daftar Pengiriman
3.6.8 Diagram Kelas Analisis dan Diagram Sekuen Use Case Mengupdate Kondisi Jalan
staffBagi anDistrib
usi Boundary
staffBagianDistribusiMainFrame Controller
daftarPengirimanControl Boundary
daftarPengirimanInternalFrame Entity
daftarPengirimanData Entity
pengirimPenerimaData memilih menu
daftar Pengiriman
tampilMenuinteger show
1. Memilih menu daftar pengiriman 3. Memilih tanggal Pengiriman
4. Menampilkan daftar pengiriman pengirimanData
daftarPengirimanTable.setModelDefault Table Model 2. Menampilkan
daftarPengirimanInternalFrame pilih tanggal pengiriman
pengiriman viewPengirimPenerimainteger
No Nama Kelas Tipe
Deskripsi
1 adminMainFram
e Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan halaman utama admin.
2 kondisiJalanInte
rnalFrame Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan halaman yang digunakan
user untuk mengubah kondisi jalan yang bisa dilewati maupun tidak.
3 adminControl
Control Kelas ini berfungsi untuk mengatur
tampilan ketika action dijalankan oleh adminMainFrame
4 jalanData
Entity
Kelas ini berfungsi untuk mengelola tabel jalan, baik itu insert, update,
maupun delete.
Gambar 3.41 Diagram Kelas Analisis Use Case Mengupdate Kondisi Jalan
Gambar 3.42 Diagram Sekuen Mengupdate Kondisi Jalan
3.6.9 Diagram Kelas Analisis dan Diagram Sekuen Use Case Ubah Kecepatan Jalan
adminMainFrame
kondisiJalanInternalFrame adminControl
jalanData
Administ rator
Boundary staffBagianDistribusiMainFrame
Boundary kondisiJalanInternalFrame
Controller adminControl
Entity jalanData
memilih menu ubah kondisi
jalan tampilMenuinteger
ubahKondisiJalaninteger 1. Memilih menu ubah kondisi jalan
3. Mengganti status jalan yang tidak bisa dilewati pada tabel
4. Menekan tombol simpan ubahKondisiJalaninteger
2. Menampilkan form ubah kondisi jalan mengganti status jalan
simpan show
menekan tombol simpan 5. Menyimpan data kedalam database
No Nama Kelas Tipe
Deskripsi
1 adminMainFram
e Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan halaman utama admin.
2 satuanPerhitung
anForm Interface
Boundary
Kelas ini menyediakan fungsi untuk menampilkan frame yang digunakan user
untuk mengubah data kecepatan tiap jalan.
3 adminControl
Control Kelas ini berfungsi untuk mengatur
tampilan ketika action dijalankan oleh adminMainFrame
Gambar 3.43 Diagram Kelas Analisis Use Case Ubah Kecepatan Jalan
Gambar 3.44 Diagram Sekuen Ubah Kecepatan Jalan
adminMainFrame
satuanPerhitunganFrame adminControl
hitungKepadatanData
jalanData
Administ rator
Boundary adminMainFrame
Controller adminControl
Boundary satuanPerhitunganForm
Entity hitungKepadatanData
memilih menu ubah bobot
tampilMenuinteger tampilDatainteger
1. Memilih menu ubah bobot 3. Memilih data jalan yang akan
diubah 4. Menampilkan data jalan yang diubah
dalam field
updateKecWaktudouble, double, double, double, double 2. Menampilkan form ubah bobot
memilih data jalan yang mau di ubah
validasiUpdate show
menekan tombol simpan 5. Menekan tombol ubah
Entity jalanData
selectionListener valueChanged
menekan tombol ubah getEnableAllboolean
setEnableAllboolean merubah data yang mau di ubah
konfirmasi updateJalaninteger, double, double, double, double, double
6. Menset enable pada field dan merubah tombol ubah menjadi simpan
7. Merubah data yang mau di ubah 8. Menekan tombol simpan
9. Memvalidasi data yang telah di update
10. Menyimpan data yg telah di ubah ke dalam database
11. Menampilkan konfirmasi
4 jalanData
Entity
Kelas ini berfungsi untuk mengelola tabel jalan, baik itu insert, update,
maupun delete.
5 hitungKepadata
nData Entity
Kelas ini berfungsi untuk mengelola tabel hitungKepadatan, baik itu insert,
update, maupun delete.
3.7 Diagram Kelas Disain
Gambar 3.45 berikut ini merupakan diagram kelas yang akan digunakan pada sistem yang akan dibangun. Seluruh kelas memiliki hubungan
asosiasi antara kelas yang satu dengan kelas yang lainnya.
Gambar 3.45 Diagram Kelas Keseluruhan
Gambar 3.44 Diagram Kelas Keseluruhan
Gambar 3.44 Diagram Kelas Keseluruhan
Gambar 3.44 Diagram Kelas Keseluruhan
3.8 Perancangan Struktur Data
Dalam proses pembentukan rute terpendek hasil algoritma yaitu berupa peta. Pembentukan data yang ada pada peta tersebut akan disimpan dalam Vector.
Vector merupakan suatu bentuk array dinamis yang merupakan turunan dan
implement yang sama dari arrayList. Dalam vector tidak diperlukan pendeklarasian jumlah kuota yang harus disediakan untuk menampung data.
Kapasitas dari vector akan bertambah secara otomatis sesuai dengan jumlah data yang disimpan. Dalam penelitian ini data yang data yang akan disimpan dalam
vector meliputi vertexlist. Sedangkan data yang disimpan dalam arrayList adalah , bobot waktu, tau, rute yang dilewati. Berikut ini merupakan penjelasan dari
masing-masing vector dan arrayList tersebut:
Nama Vector atau arrayList
Keterangan
vertexlist
Digunakan untuk menampung vertexList
bobot waktu
Digunakan untuk menampung data bobot waktu array 2 dimensi
tau
Digunakan untuk menampung data perubahan tau.
rute yang dilewati
Digunakan untuk menampung vertexList yang menjadi bagian rute yang telah dilewati
3.9 Perancangan Antarmuka Sistem
Gambar 3.46 Gambar Halaman Utama Staff Bagian Distribusi
Gambar 3.47 Gambar Halaman Daftar Pengiriman
Window
APLIKASI PERHITUNGAN JARAK PENGIRIMAN PAKET PT. POS INDONESIA
Gambar 3.48 Gambar Halaman Hasil Rute Pengiriman
Gambar 3.49 Gambar Halaman Utama Administrator
Window
Peta Pengiriman
Rute Pengiriman Bobot waktu
Jarak Tempuh
Window
Halaman Administrator