Identifikasi Sistem Diagram Kelas Disain

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