• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
35
0
0

Teks penuh

(1)

47

ANALISIS DAN PERANCANGAN

3.1 Gambaran Umum Departemen Pekerjaan Umum

Departemen Pekerjaan Umum, biasa disebut Departemen PU, sempat bernama

"Departemen Permukiman dan Pengembangan Wilayah" (1999-2000) dan "Departemen Permukiman dan Prasarana Wilayah" (2000-2004), adalah departemen dalam Pemerintah Indonesia yang membidangi urusan pekerjaan umum. Departemen PU dipimpin oleh seorang Menteri Pekerjaan Umum yang sejak tanggal 21 Oktober 2004 dijabat oleh Ir. Djoko Kirmanto, Dipl. HE..

Berikut ini adalah struktur organisasi dari Departemen Pekerjaan Umum :

Gambar 3.1 Struktur Organisasi Departemen Pekerjaan Umum

(2)

Oleh Karena kami menggunakan data jalan raya sebagai bahan penelitian kami maka kami berhubungan dengan Ditjen Bina Marga

Berikut ini adalah struktur organisasi dari Ditjen Bina Marga :

Gambar 3.2 Struktur Organisasi Bina Marga

3.1.1 Tugas pokok dan fungsi Direktorat Jendral Bina Marga

Direktorat Jenderal Bina Marga mempunyai tugas melaksanakan sebagian tugas pokok Departemen Pekerjaan Umum dalam perumusan dan pelaksanaan kebijakan dan standarisasi teknis di bidang jalan.

Dalam melaksanakan tugas sebagaimana dimaksud, Direktorat Jenderal Bina Marga menyelenggarakan fungsi:

a. Perumusan kebijakan teknik di bidang jalan sesuai peraturan perundang- undangan.

b. Penyusunan program dan anggaran serta evaluasi kinerja pelaksanaan kebijakan di bidang jalan.

(3)

c. Pelaksanaan kebijakan teknik di bidang jalan nasional meliputi jalan nasional, jalan bebas hambatan dan sebagian jalan kota.

d. Pembinaan teknis penyelengggaraan jalan propinsi/ kabupaten/kota.

e. Pengembangan sistem pembiayaan dan pola investasi bidang jalan.

f. Penyusunan norma, standar, pedoman, dan manual di bidang jalan.

g. Pelaksanaan urusan administrasi Direktorat Jenderal.

3.2 ANALISA PERMASALAHAN

3.2.1 Analisa Data dan Kepadatan

Menganalisa data kepadatan dapat dilakukan dengan mengetahui kecepatan rata-rata kendaraan untuk melewati suatu ruas jalan. Untuk mengetahui kecepatan rata-rata kendaraan, kami menggunakan analisa data secara offline (tidak terhubung dengan internet).

Analisa data secara offline dilakukan dengan cara menghitung rasio kepadatan pada ruas jalan. Dari rasio kepadatan maka akan dapat diperkirakan kecepatan kendaraan yang melewati suatu jalan. Rasio kepadatan ialah hasil penghitungan logika fuzzy yang menggabungkan jam (waktu saat kendaraan melintas) dan intensitas jalur (menggambarkan banyaknya jumlah kendaraan yang melintasi jalur tersebut). untuk lebih jelasnya akan dijelaskan pada Bab 3.3.1.

3.2.2 Analisa Pencariaan Jalur Tercepat

Analisa pencarian rute tercepat dilakukan dengan cara mencari 5 buah rute jalur terdekat dengan menggunakan metode algoritma genetika yang akan

(4)

dijelaskan pada Bab 3.3.2 , lalu dari setiap hasil rute jalur akan dihitung lama waktu tempuh perjalanan mulai dari titik start sampai ke titik finish.

Waktu tempuh = Jarak / kecepatan

Total Waktu Tempuh = ∑ Waktu Tempuh

Setelah diketahui total waktu tempuh dari setiap jalur terpendek yang didapat, maka akan dipilih total waktu tempuh terkecillah yang akan menjadi solusi dalam pencarian jalur tercepat.

3.2.3 Tampilan Antarmuka Pengguna

Tampilan antar muka pengguna yang digunakan dalam aplikasi client dan server secara umum memperhatikan beberapa faktor berikut :

1. Tampilan harus sesederhana mungkin dan mudah digunakan.

2. Tampilan antar muka pengguna menggunakan sedikit mungkin jendela yang bertumpuk-tumpuk.

3. Tampilan antar muka pengguna harus dapat memperlihatkan peta secara optimal.

4. Warna yang digunakan tidak boleh terlalu kontras (berlawanan satu sama lain), sebaliknya warna senada sebaiknya digunakan, selain warna yang digunakan tidak boleh terlalu terang atau gelap.

Berdasarkan pada faktor-faktor diatas, maka tampilan antarmukapengguna yang digunakan adalah sebagai berikut :

(5)

a. Tampilan antarmuka pengguna utama hanya terdiri dari satu jendela saja b. Untuk menghindari jendela yang bertumpuk-tumpuk maka peta kami

letakkan bersebelahan dengan panel-panel yang dibutuhkan.

c. Warna yang digunakan adalah warna standar Windows.

3.3 Perancangan

3.3.1 Penghitungan Kecepatan Dengan Logika Fuzzy

Pada tahapan ini akan digunakan jam dan intensitas pengguna jalan sebagai input untuk mendapatkan output berupa kecepatan kendaraan. Jam ialah waktu pada saat program dieksekusi untuk menentukan besarnya kepadatan kendaraan pada jalan-jalan yang akan dilalui. Waktu kepadatan kendaraan dapat dikelompokan menjadi 4, yaitu : Sepi, Lancar, Padat, Macet.

Tabel 3.1 Jenis Kepadatan

No  Jenis Kepadatan  Waktu 

1  Sepi  22.01  ‐  05.30 

        

2  Jarang  05.31  ‐  06.00 

      10.01  ‐  14.00 

      21.01  ‐  22.00 

3  Padat  06.01  ‐ 06.30 

      09.01  ‐  10.00 

      14.01  ‐  16.00 

      19.01  ‐  21.00 

4  Macet  06.31  ‐  09.00 

      16.01  ‐  19.00 

sumber : Dep.Pekerjaan Umum Republik Indonesia

(6)

Intensitas pengguna jalan ialah nilai yang menunjukkan besarnya rasio banyaknya kendaraan yang melalui jalan tersebut dalam satu menit.

Tabel 3.2 Intensitas kendaraan per menit

No  Intensitas 

Jumlah  kendaraan/menit 

Jarang <10

Sedang 10 sampai 30

Sering >30

sumber : Dep.Pekerjaan Umum Republik Indonesia

Dalam menentukan kecepatan kendaraan, kecepatan dianggap selalu stabil tidak mengalami penurunan ataupun kenaikan. Kecepatan kendaraan dapat dibagi menjadi empat kelompok (Sangatlambat, lambat, sedang, kencang),dimana kecepatan kendaraan terendah ialah 5 km/jam dan kecepatan tertinggi ialah 60 km/jam.

Tabel 3.3 Kecepatan kendaraan berdasarkan asumsi  No  Jenis Kecepatan 

Kecepatan  (km/jam)  1 Sangat Lambat  0 < x < 15  2 Lambat  8 < x <  30  3 Sedang  20 < x < 50  4 Kencang  40 < x < 65 

Dari data - data variabel diatas, dapat dibentuk menjadi model fuzzy berikut :

(7)

Jenis kepadatan berdasarkan waktu :

Gambar 3.3 Grafik Keanggotaan Waktu

µJAMsepi [x] = ( x - 0 ) / 1 ; 0 < x < 1 ( 2 - x ) / 1 ; 1 < x < 2 0; x < 0 atau x ≥ 2 µJAMjarang [x] = ( x - 1 ) / 1 ; 1 < x < 2

( 3 - x ) / 1 ; 2 < x < 3 0; x < 1 atau x ≥ 3 µJAMpadat [x] = ( x - 2 ) / 1 ; 2 < x < 3

( 4 - x ) / 1 ; 3 < x < 4 0; x < 2 atau x ≥ 4 µJAMmacet [x] = ( x - 3 ) / 1 ; 3 < x < 4

( 5 - x ) / 1 ; 4 < x < 5 0; x < 3 atau x ≥ 5

(8)

Intensitas penggunaan jalan per menit :

Gambar 3.4 Grafik Keanggotaan Intensitas

µINTjarang [y] = 1; y < 10

( 20 - y ) / 10 ; 10 < y < 20 0; y ≥ 20 µINTsedang [y] = 1; 20 < y < 30

( y - 10 ) / 10 ; 10 < y < 20 ( 40 - y ) / 10 ; 30 < y < 40 0; y ≤10 atau y ≥ 40

µINTsering [y] = 1; y ≥ 40

( y - 30 ) / 10 ; 30 < y < 40 0; y ≤ 30

(9)

Kecepatan Kendaraan :

Gambar 3.5 Grafik Keanggotaan Kecepatan

µKECs_lambat [z] = ( z - 0 ) / 5 ; 0 < z < 5 ( 15 - z ) / 10 ; 5 < z < 15 0; z < 0 atau z ≥ 15 µKEClambat [z] = ( z - 8 ) / 12 ; 8 < z < 20

( 30 - z ) / 10 ; 20 < z < 30 0; z < 8 atau z ≥ 30 µJKECsedang [z] = ( z - 20 ) / 20 ; 20 < z < 40

( 50 - z ) / 10 ; 40 < z < 50 0; z < 20 atau z ≥ 50 µKECkencang [z] = ( z - 40 ) / 20 ; 40 < z < 60

( 65 - z ) / 5 ; 60 < z < 65 0; z < 60 atau z ≥ 65

(10)

Rules yang digunakan :

[R1] If jam sepi dan Intensitas Jarang -> Kecepatan Sedang [R2] If jam Sepi dan Intensitas Sedang -> Kecepatan Sedang [R3] If jam Sepi dan Intensitas Sering -> Kecepatan Kencang [R4] If jam Jarang dan Intensitas Jarang -> Kecepatan Sedang [R5] If jam Jarang dan Intensitas Sedang -> Kecepatan Sedang [R6] If jam Jarang dan Intensitas Sering -> Kecepatan Kencang [R7] If jam Padat dan Intensitas Jarang -> Kecepatan Sedang [R8] If jam Padat dan Intensitas Sedang -> Kecepatan Lambat [R9] If jam Padat dan Intensitas Sering -> Kecepatan Lambat [R10] If jam Macet dan Intensitas Jarang -> Kecepatan Lambat

[R11] If jam Macet dan Intensitas Sedang -> Kecepatan Sangat Lambat [R12] If jam Macet dan Intensitas Sering -> Kecepatan Sangat Lambat

Rumus menghitung z pada setiap rule :

[R1] α-predikat1 = µJAMsepi ∩ µINTjarang = min (µJAMsepi ∩ µINTjarang)

α-predikat1 = ( b - z1 ) / ( b / a )

[R2] α-predikat2 = µJAMsepi ∩ µINTsedang = min (µJAMsepi ∩ µINTsedang)

α-predikat2 = ( b – z2 ) / ( b / a )

(11)

[R3] α-predikat3 = µJAMsepi ∩ µINTsering = min (µJAMsepi ∩ µINTsering)

α-predikat3 = ( b – z3 ) / ( b / a )

[R4] α-predikat4 = µJAMjarang ∩ µINTjarang = min (µJAMjarang ∩ µINTjarang)

α-predikat4 = ( b – z4 ) / ( b / a )

[R5] α-predikat5 = µJAMjarang ∩ µINTsedang = min (µJAMjarang ∩ µINTsedang)

α-predikat5 = ( b – z5 ) / ( b / a )

[R6] α-predikat6 = µJAMjarang ∩ µINTsering = min (µJAMjarang ∩ µINTsering)

α-predikat6 = ( b – z6 ) / ( b / a )

[R7] α-predikat7 = µJAMpadat ∩ µINTjarang = min (µJAMpadat ∩ µINTjarang)

α-predikat7 = ( b – z7 ) / ( b / a )

[R8] α-predikat8 = µJAMpadat ∩ µINTsedang = min (µJAMpadat ∩ µINTsedang)

α-predikat8 = ( b – z8 ) / ( b / a )

(12)

[R9] α-predikat9 = µJAMpadat ∩ µINTsering = min (µJAMpadat ∩ µINTsering)

α-predikat9 = ( b – z9 ) / ( b / a )

[R10] α-predikat10 = µJAMmacet∩ µINTjarang = min (µJAMmacet ∩ µINTjarang)

α-predikat10 = ( b - z10 ) / ( b / a )

[R11] α-predikat11 = µJAMmacet ∩ µINTsedang = min (µJAMmacet ∩ µINTsedang)

α-predikat11 = ( b - z11 ) / ( b / a )

[R12] α-predikat12 = µJAMmacet ∩ µINTsering = min (µJAMmacet ∩ µINTsering)

α-predikat12 = ( b - z12 ) / ( b / a )

Kecepatan =(α-predikat1 * z1)+ (α-predikat2 * z2)+...+ (α-predikat(n) * z(n)) α-predikat1 + α-predikat2 + ... + α-predikat(n)

3.3.2 Pencarian Jalur Terpendek dengan Algoritma Genetika 3.3.2.1 Pemilihan kromosom

Langkah awal untuk menerapkan algoritma genetik adalah penentuan bentuk kromosom yang akan dibentuk diman gennya berupa titik dimana titik tersebut adalah percabangan jalan.

(13)

Titik tersebut berada di dalam area yg telah di pilih dan terhubung dengan titik-titik yang lain. Sehingga akan terbentuk kumpulan titik yang berawal di titik start dan berakhir di finish.

Setelah sebuah titik terbuka maka titik tersebut akan membuka titik lain yang terhubung dengannya. Bila titik yang tehubung dengannya ada lebih dari 1 titik maka akan di pilih secara acak sehingga akan tercipta suatu parent yang menghubungkan start dengan finish secara acak.

3.3.2.2 Pemilihan Parent

Langkah berikutnya adalah penentuan bentuk parent yang akan dibentuk berupa titik-titik yang saling berhubungan dari start sampai finish yang di ambil secara random.

Perandoman titik yang akan di buka selanjutnya berdasarkan dengan metode roulette-wheel dengan range 1-100. Agar kemungkinan terpilihnya titik terbagi dengan rata.

(14)

Berikut adalah gambar peta dan keseluruhan titik yang ada :

Gambar 3.6 Letak keseluruhan titik yang terdapat pada peta

(15)

Berikut adalah gambar setelah di lakukan random untuk mencari parent:

Gambar 3.7 Letak titik setalah dilakukan random untuk dijadikan parent

Titik berwarna biru adalah titik di mulai perjalanan dan titik merah adalah tujuannya. Setelah di lakukan random titik-titik yang menghubungkan titik mulai dan tujuan sebanyak 5 kali maka akan di dapatkan 5 buah parent dengan gen (titik-titik) yang berbeda.

Titik-titik yang terhubung tersebut kemudian di jadikan parent lalu akan di simpan ke dalam tabel solusi.

(16)

Berikut ialah data pada tabel parent setaelah dilakukan random sebanyak lima kali :

Table 3.4 Data pada tabel parent

Setelah di dapatkan 5 solusi yang berpotensi menjadi parent maka akan di pilih sebuah solusi yang memiliki jumlah titik paling sedikit untuk menjadi parent 1 dan dipilih solusi dengan jumlah titik ke 2 paling sedikit untuk di jadikan parent 2 kemudian kedua parent di simpan pada tabel tempag.

(17)

Berikut gambar tabel tempag :

Table 3.5 Data pada tabel tempag

3.3.2.3 Metode Rekombinasi

Setelah parent di dapatkan maka langkah selanjutnya adalah menentukan metode rekombinasi. Metode rekombinasi yang di gunakan adalah metode edge recombination.

Metode edge recombination merupakan metode yang mendaftar gen-gen yang membangun parent tersebut dan hubungannya dengan gen yang lain. Metode ini merupakan metode yang di gunakan untuk membuat mating pool yang memilik nilai permutasi dan menganggap penting hubungan antar gen. Untuk itu gen dari tiap kromosom akan di pecah dan di daftar titik-titik yang terhubung.

(18)

Setelah di lakukan random sebanyak 5 kali hasil pemecahan kromosomnya kemudian di simpan pada database tabel pool seperti gambar berikut :

Table 3.6 Tabel pool

(19)

Setelah di dapatkan mating pool nya kemudian di ambil titik start sebagi titik awal.

Setelah itu di lihat titik apa saja yang terhubung dengan start, kemudian di cari lagi titik yang terhubung hingga di dapatkan titik finish.

Syarat-syarat pemilihan titik adalah sebagai berikut:

1. Bila titik yang terhubung lebih dari satu maka akan di pilih titik yang memiliki hubungan terbanyak.

2. Titik yang sudah di ambil tidak bisa di ambil kembali.

3. Bila ada titik dengan jumlah titik yang terhubung sama banyak maka ambil titik yang terdapat di parent 1.

(20)

Berikut gambar hasil rekombinasi dari mating pool yang kemudian di simpan ke dalam tabel anak:

Table 3.7 Tabel anak

Setelah itu generasi baru tersebut akan di gunakan sebagai parent 1 dan kemudian di rekombinasi dengan parent 2 yaitu solusi yang belum di rekombinasi. Sehingga di harapkan akan di temukan hubungan baru antar gen yang dapat memberikan hasil yang lebih baik. Setelah semua solusi di rekombinasi maka akan di dapatkan 4 buah generasi baru yang di harapkan memiliki fitness yang lebih baik daripada parentnya.

3.3.2.4. Penentuan Fitness

Untuk mendapatkan generasi dengan kromosom terbaik di butuh kan fitness. Fitness yaitu waktu tempuh, jadi semakin sedikit waktu tempuhnya maka fitnessnya semakin kecil dan kemungkinan generasi tersebut terpilih akan semakin besar. Apabila ada lebih dari 1 generasi yang memiliki fitness terbaik maka akan di pilih generasi dengan titik yang paling sedikit.

(21)

Ada 2 fitness yang kami gunakan

1. Jalur tercepat, karena titik yang diambil adalah percabangan jalan maka dianggap titik memiliki lampu merah yang akan memperlambat waktu tempuh

2. Lama perjalanan, yaitu total waktu tempuh antar titik.

3.3.2.5. Mutasi

Metode mutasi yang kami gunakan pada sistem ini adalah metode penyisipan (Insert Mutation), Karena mutasi ini cocok untuk sistem dengan representasi gen berupa permutasi.

Setiap gen pada kromosom anak dengan fitness terbaik akan dicek hubungannya dengan gen lain di bawahnya. Bila ada titik yang tidak terdapat pada kromosom tersebut tetapi titik tersebut berpeluang untuk menciptakan kromosom hasil dengan fitness yang lebih baik maka titik itu akan disisipkan.

3.3.3 Spesifikasi Modul Modul mulai

Menentukan titik start dan finish

Buka koneksi dengan database (tabel dot_master) cari titik terdekat dengan start dan finish

Akhir modul

(22)

Modul trap

membuat batasan seleksi titik berdasarkan koordinat if koordinat y start >= koordinat x start then

y atas =y start+1000

y bawah= y finish-1000

else

y atas=y finish+1000

y bawah=y start-1000

endif

if koordinat x start >= koordinat x start then

x kanan =x start+1000

x kiri= x finish-1000

else

x kanan=x finish+1000

x kiri=x start-1000

endif Akhir modul

Modul cek

Modul yang menyeleksi titik yang akan di gunakan berdasarkan batasan koordinat yg telah di buat

Buka semua titik dari dot_master dimana x< x kanan dan x> x kiri dan y<y atas dan y>y bawah order by titik asc"

(23)

Masukan hasil proses di atas yaitu titik dan hubungannya dengan titik lain ke dalam database(cek)

Akhir modul

Modul random

Modul yang akan merandom titik dengan menggunakan metode roulete wheel(database yang di gunakan di sini sesuai dengan kebutuhan modul yang memanggil karena modul ini hanya di gunakan untuk merandom, modul ini mengembalikan sebuah nilai integer)

b = hasil random angka 0 sampai 100 If (jumlah data = 2) Then If (b < 50) Then

Ambil data di urutan pertama

ElseIf (b > 49) Then

Ambil data di urutan kedua End If

ElseIf (jumlah data = 3) Then If (b < 33) Then

Ambil data di urutan pertama

ElseIf (b > 32 And b < 66) Then

(24)

Ambil data di urutan kedua

ElseIf (b > 65) Then

Ambil data di urutan ketiga End If

ElseIf (jumlah data = 4) Then If (b < 25) Then

Ambil data di urutan pertama

ElseIf (b > 24 And b < 50) Then Ambil data di urutan kedua

ElseIf (b > 49 And b < 75) Then Ambil data di urutan ketiga

ElseIf (b > 75) Then

Ambil data di urutan keempat

End If

ElseIf (jumlah data = 5) Then If (b < 20) Then

Ambil data di urutan pertama

ElseIf (b > 19 And b < 40) Then

(25)

Ambil data di urutan kedua

ElseIf (b > 39 And b < 60) Then Ambil data di urutan ketiga

ElseIf (b > 59 And b < 80) Then Ambil data di urutan keempat

ElseIf (b > 79) Then

Ambil data di urutan kelima End If

End If A=data yg di ambil Akhir modul

Modul titik1

Modul yang mengambil titik awal

Masukan titik start ke database tabel temp

Buka database tabel cek buka semua data yang terhubung dengan titik start If(jumlah data >1)

Jalankan modul Random Else a= titik

endif temp1 = a

(26)

masukan temp1 ke database temp Buka modul titik2

Akhir modul

Modul titik2

Modul untuk mencari titik yang akan menghubungkan start dengan finish Buka database cari titik yang terhubung dengan a di tabel cek

Do while(temp1<>finish)

If(titik a telah di buka)then Buka database tabel temp ambil data terakhir yg di masukan Buka modul cek1

Else Temp1=a

Masukan temp1 ke tabel temp

Buka table dot master ambil semua titik yg terhubung dengan finish

If (temp1 terhubung dengan finish)then Temp1=finish

Masukan temp1 ke tabel temp

Buka modul pool1

Endif

Buka table dot master yang titiknya terhubung dengan temp1 If (jumlah data> 1) Then

(27)

random Else: a = titik End If Endif Loop

Akhir modul

Modul cek1

Mengecek apakah titik yang dipilih telah sesuai If(titik yang terhubung telah terbuka semua)then Ulang pencarian dari awal

Endif Akhir modul

Modul pool1

masukan isi tabel temp ke tabel solusitemp hapus isi tabel temp

Akhir modul

Modul pool2

Masukan ke dalam tabel solusi isi dari tabel solusitemp dimana titik yg di lewati bukan 0 Buka modul parent1

Akhir modul

(28)

Modul parent1

Modul yang menentukan parent 1

Masukan ke dalam tabel tempag kolom parent_1 isi dari tabel solusitemp dimana titik yg di lewati memiliki jumlah paling sedikit dan bukan 0

Buka modul parent2 Akhir modul

Modul parent2

Modul untuk menentukan parent 2

If(tabel solusitemp belum di buka)then

Masukan ke dalam tabel tempag kolom parent_2 isi dari tabel solusitemp dimana titik yg di lewati memiliki jumlah paling sedikit dan bukan 0

endif Akhir modul

Modul kromosom_pool

Modul yang membuat mating pool dari parent 1 Buka tabel tempag di mana parent_1 <> 0

Do While (end of files= false)

Buka tabel tempag di mana parent_1 <> 0

Ambil titik yang di tunjuk kursor dan masukan ke table pool kolom 1

Ambil titik di bawah titik yang di tunjuk kursor dan masukan ke table pool kolom 2 Ambil titik di atas titik yang di tunjuk kursor dan masukan ke table pool kolom 3 Loop

(29)

kromosom_pool2 End Sub

Akhir modul

Modul kromosom_pool2

Modul yang membuat mating pool dari parent 2 Buka tabel tempag di mana parent_2 <> 0

Do While (end of files= false) If(titik belum di ambil)then

Ambil titik yang di tunjuk kursor dan masukan ke table pool kolom 1

Ambil titik di bawah titik yang di tunjuk kursor dan masukan ke table pool kolom 4 Ambil titik di atas titik yang di tunjuk kursor dan masukan ke table pool kolom 5 Else

Buka table pool dimana titik=titik yang di tunjuk kursor

Ambil titik di bawah titik yang di tunjuk kursor dan masukan ke table pool kolom 4 Ambil titik di atas titik yang di tunjuk kursor dan masukan ke table pool kolom 5 Endif

Buka tabel tempag di mana parent_2 <> 0 Loop

Buka modul kombinasi Akhir modul

Modul kombinasi

Modul yang melakukan rekombinasi dari maring pool yang di dapat

(30)

Do While (a <> fin) Buka tabel pool

Pilih titik dengan hubungan terbanyak dimana titik adalah kolom 2,3,4 dan 5 Masukan titik dengan hubungan terbanyak ke table hasil

Jika jumlah titik yang terhubung sama maka ambil titik yang ada di parent 1 Loop

Buka modul Buka modul sortir Buka modul insert_anak Buka modul insert_tempag Akhir modul

Modul insert_anak

Masukan isi table hasil ke table anak Akhir modul

Modul sortir

Modul untuk membantu menemukan jaalur tercepat Buka table hasil

Cek apakah ada titik yang biasa langsung di hubungkan

Jika ada maka hubungkan dan hapus titik di antara kedua titik tersebut Masukan hasil ke table temp

Akhir modul

(31)

modul insert_tempag

masukan isi tabel temp ke tabel tempag masukan isi tabel tempag ke tabel anak akhir

Akhir Modul

Modul akhir

Masukan isi tabel anak ke tabel akhir

Masukan isi tabel anak dengan jumlah titik tersedikit lalu masukan ke parent1 Akhir Modul

Modul tampil

Tampilkan generasi baru dengan fitness terbaik Akhir modul

Modul Total Jarak

Hitung total jarak dari titik yang di tampilkan Akhir modul

Modul fuzzy titik Buka tabel temp2

If(ada titik yang menghubungkan sebuah titik dengan titik setelahnya(1 baris di bawah) di tabel temp2) then

Hitung total waktu tempuh antara titik asal ke titik setelahnya melalui titik

(32)

penghubung baru.

If(waktu tempuh jalur dengan titik baru < waktu tempuh jalur lama)then Masukan titik asal dan alur baru ke tabel hasil

Else : Masukan titik asal ke tabel hasil Akhir modul

Modul fuzzy titik2 Buka tabel temp2

If(ada titik yang menghubungkan titik asal dengan titik lain(lebih dari 1 baris di bawahnya)di tabel temp2 )then

Hitung total waktu tempuh antara titik asal ke titik yang terhubung dengan titik penghubung baru

If(waktu tempuh jalur baru<titik tempuh jalur lama)then Masukan titik asal dan alur baru ke tabel hasil

Else : Masukan titik asal ke tabel hasil endif

Akhir modul

3.4 Alur Program Secara Umum

Program aplikasi ini mempunyai beberapa proses utama yaitu dengan menentukan titik start dan finish, melakukan pencarian jalur tercepat dan menampilkan hasil penghitungan jalur tercepat dan lama perjalanan.

(33)

Gambar 3.8 Usecase Diagram

Pada saat awal user akan diminta untuk menentukan letak start dan finish, kemudian sistem akan menentukan titik-titik terdekat diantara titik start dan finish, setelah itu akan dibuat batasan area untuk membantu membatasi jumlaha titik pada saat melakukan pencarian jalur terdekat, kemudian sistem mencari titik-titik yang terhubung antara titik start dan finish yang berada pada area pencarian, setelah didapatkan titik- titiknya maka dicarilah titik yang terbaik, kemudian proses terakhir adalah menampilkan hasil, dan program akan berulang setiap 30 detik sampai program di hentikan. Untuk lebih jelasnya dapat dilihat di flowchart dibawah ini.

(34)

Gambar 3.9 Flowchart program secara umum

(35)

mencari titik terdekat dengan titik start dan finish

Membuat batasan area

Memilih titik - titik didalam area

Titik sudah dibuka

Titik yang terhubung telah

dibuka semua

Simpan titik kedalam database

Titik = finish

Menentukan parent 2

Rekombinasi parent 1 dan parent 2

Hitung fitnes

Ambil titik -titik dengan fitnes terbaik Menentukan

parent 1

Generasi baru

Simpan kedalam database

ya

tidak ya tidak

Perulangan untuk menentukan 5 buah parent yang akan direkombinasi

Selesai Merekombinasi ulang generasi baru dengan seluruh

parent untuk mendapatkan hasil yang maksimal

Random titik Start proses menentukan

titik start dan finish

Tampilkan titik pilihan ya

tidak

Menghitung Waktu tempuh

Gambar 3.10 Flowchart proses Algoritma Genetik

Gambar

Gambar 3.1 Struktur Organisasi Departemen Pekerjaan Umum
Gambar 3.2 Struktur Organisasi Bina Marga
Tabel 3.1  Jenis Kepadatan
Tabel 3.2 Intensitas kendaraan per menit
+7

Referensi

Dokumen terkait

Skenario tersebut dibuat dengan tujuan untuk membuktikan keamanan VoIP pada sistem dan cara penyerangan yang berbeda yang ditampilkan pada Tabel 3.11.

Pada penelitian ini dibuat sistem model Sistem Informasi Geografis untuk menentukan letak lokasi wisata di kota Pekanbaru dan menggunakan metode Tabu Search untuk mencari

Selain itu, ”Sistem koordinat adalah suatu metode untuk menentukan letak suatu titik dalam grafik” Dalam matematika, sistem koordinat digunakan untuk menentukan tiap titik

Deskripsi Use case ini menjelaskan bagaimana user memilih menu konfirmasi pembayaran pada halaman awal untuk melakukan konfirmasi pembayaran yang telah dilakukan oleh

Jika user berhasil mengisi data dengan benar maka sistem akan otomatis membuat akun user baru yang bisa dibuat untuk login nantinya. LKT

Sistem yang akan dibuat memiliki tujuan untuk menghitung dan menunjukkan lintasan terpendek dari node awal ke beberapa node tujuan pada peta.. 3.4.3 Masukan dan

Sistem koordinat tiga dimensi adalah suatu cara yang digunakan untuk menentukan letak suatu titik pada ruang.. Pada sistem koordinat tiga dimensi letak suatu titik pada

Mengacu pada gambar 3.5, seorang user dapat melakukan penentuan jalur kemudian akan diteruskan pada proses memeriksa apakah node (titik awal dan titik akhir)