Anda di halaman 1dari 41

BAB I

PENDAHULUAN

1. Latar Belakang
Transportasi didefinisikan sebagai kegiatan pergerakan barang
maupun orang dari suatu titik asal menuju titik tujuan dengan
menggunakan moda-moda tertentu baik di darat, laut, maupun udara.
Transportasi memegang peranan penting dalam pembangunan dan
infrastruktur suatu wilayah. Transportasi juga berkaitan erat dengan
kehidupan manusia, karena transportasi ditujukan untuk memenuhi
kebutuhan dasar manusia. Dalam memenuhi kebutuhan dasarnya, manusia
mengharapkan transportasi yang cepat, aman, serta nyaman.
Akan tetapi, belakangan ini yang terjadi justru sebaliknya.
Kemacetan terjadi dimana-mana. Hal ini disebabkan karena pertumbuhan
kendaraan pribadi yang jauh signifikan meningkat dibandingkan
pertumbuhan jalan yang ada. Buruknya tranportasi publik membuat
masyarakat mau tidak mau membeli kendaraan pribadi sebagai sarana
transportasi. Hal ini tentunnya menjadi faktor utama terjadinya kemacetan.
Untuk mengatasi kemacetan tersebut, tentunya tidak cukup hanya dengan
menambah infrastruktur jalan. Perlu adanya perbaikan terhadap
transportasi publik sehingga pengguna kendaraan pribadi secara perlahan
akan pindah dari angkutan pribadi ke angkutan publik.
Sebagai seorang mahasiswa di Jurusan Teknik Sipil dan
Lingkungan, tentunya kita harus memahami bagaimana solusi terkait
permasalahan tersebut. Kita dapat melakukan percobaan menggunakan
suatu program yang kita rancang sendiri dengan mengaplikasikan salah
satu mata kuliah yang diajarkan pada jurusan Teknik Sipil dan Lingkungan
yaitu pemrograman komputer. Dengan menggunakan program yang kita
buat, kita dapat mengetahui bagaimana suatu jalan yang memiliki
kapasitas tertentu dilewati sejumlah kendaraan yang mana membutuhkan
waktu berapa lama untuk melewati jalan tersebut. Dengan meggunakan

1
perhitungan yang ada, kita dapat mengetahui berapa derajat kejenuhan dari
jalan tersebut berdasarkan pada perhitungan yang ada. Dari hasil
perhitungan tersebut kita dapat mengetahui kondisi suatu jalan, apakah
jalan tersebut padat, lancar atau sepi.

2. Rumusan Masalah
1) Bagaimanakah flowchart dari Program Pemilihan Rute?
2) Bagaimanakah tampilan desain form Program Pemilihan Rute?
3) Bagaimanakah menentukan derajat kejenuhan suatu rute?
4) Bagaimanakah menentukan rerata volume lalu lintas suatu rute?
5) Bagaimanakah grafik untuk menggambarkan keadaan suatu rute?
6) Bagaimanakah source code dari Program Pemilihan Rute?

3. Tujuan dan Manfaat


Adapun tujuan dari penulisan laporan Program Pemilihan Rute ini adalah:
 Untuk memenuhi Tugas Besar Pemrograman Komputer.
 Mampu mengaplikasikan ilmu yang telah didapat di dalam kelas
dengan membuat suatu program yang berkaitan dengan
transportasi.
 Untuk mengetahui rute yang memiliki waktu tempuh tercepat dari
beberapa rute yang tersedia.
 Untuk mengetahui volume rata-rata kendaraan yang melalui rute
tersebut.
 Untuk mengetahui derajat kejenuhan dari masing-masing rute yang
tersedia.

Manfaat yang diharapkan adalah untuk meningkatkan kenyamanan


serta keamanan pengguna moda transportasi dengan menempuh rute yang
memiliki waktu tempuh tercepat dan derajat kejenuhan yang rendah untuk
mencapai suatu titik atau tempat tujuan.

2
BAB II
TINJAUAN PUSTAKA

1. Landasan Teori
a) Definisi jalan
Jalan adalah prasarana transportasi darat yang meliputi segala
bagian jalan, termasuk bangunan pelengkap dan perlengkapannya yang
diperuntukan bagi lalu lintas, yang berada pada permukaan tanah, di atas
permukaan tanah, di bawah permukaan tanah dan/atau air, serta di atas
permukaan air, kecuali jalan kereta api, jalan lori, dan jalan kabel (UU No.
38 Tahun 2004).
Sesuai dengan peruntukannya jalan terdiri atas jalan umum dan
jalan khusus. Jalan umum dikelompokkan menurut sistem (sistem jaringan
jalan primer dan sekunder), fungsi (jalan arteri, kolektor, lokal dan
lingkungan), status (jalan nasional, provinsi, kabupaten, kota dan desa)
serta kelas (jalan kelas I. Kelas II, kelas IIIA, kelas IIIB dan kelas IIIC).
Sedangkan jalan khusus bukan diperuntukkan bagi lalu lintas umum dalam
rangka distribusi barang dan jasa yang dibutuhkan.
b) Karakteristik arus lalu lintas
Karakteristik arus lalu lintas perlu diketahui dan dipelajari untuk
menganalisa arus lalu lintas. Untuk merepresentasikan karakteristik arus
lalu lintas, maka dikenal 3 parameter utama yang saling berhubungan
secara matematis (Tamin, 2003), yaitu Volume, Kecepatan dan Kepadatan.
Hubungan matematis antara volume, kecepatan dan kepadatan dapat
dinyatakan dalam sebuah persamaan, yaitu :
V=D.S
Dengan:
V = Volume (kend/jam)
D = Kepadatan (kend/km)
S = Kecepatan (km/jam)

3
c) Kapasitas
Kapasitas adalah arus maksimum melalui suatu titik di jalan yang
dapat dipertahankan per satuan jam pada kondisi tertentu. Nilai kapasitas
diamati melalui pengumpulan data lapangan. Kapasitas dinyatakan dalam
satuan mobil penumpang (smp)
d) Volume Lalu Lintas
Volume lalu lintas adalah jumlah kendaraan yang melewati
simpang/sepenggal jalan yang akan diamati. Data yang penting dalam
evaluasi simpang adalah menentukan volume lalu lintas tiap jamnya.
e) Kapasitas Simpang
Kapasitas jalan adalah kemampuan ruas jalan untuk menampung
arus atau volume lalu lintas yang ideal dalam satuan waktu tertentu,
dinyatakan dalam jumlah kendaraan yang melewati potongan jalan tertentu
dalam satu jam (kend/jam), atau dengan mempertimbangan berbagai jenis
kendaraan yang melalui suatu jalan digunakan satuan mobil penumpang
sebagai satuan kendaraan dalam perhitungan kapasitas maka kapasitas
menggunakan satuan satuan mobil penumpang per jam atau (smp)/jam.
a. Koreksi waktu tempuh akibat pengaruh volume : kapasitas
𝑉𝑎 4
𝑇𝑎 = 𝑇𝑜 (1 + 0.15 ( ) )
𝐶𝑎
𝑇𝑜′ = 0.75 ∗ 𝑇𝑎 + 0.25 ∗ 𝑇𝑜
Ta = Waktu tempuh setelah volume masuk
To = Waktu tempuh awal
Va = Volume lalu lintas
Ca = Kapasitas rute
To’ = Waktu tempuh
b. Derajat Jenuh
𝑉
𝐷𝑆 =
𝐶
DS = Derajat Jenuh
V= Volume Lalu Lintas di suatu rute
C = Kapasitas rute

4
f) Pemilihan rute
Saat ini, meskipun bukan merupakan kebutuhan utama manusia,
transportasi telah menjadi kebutuhan turunan ekonomi manusia. Hal
tersebut disebabkan karena teknologi transportasi merupakan
perkembangan lebih lanjut dari pilihan orang untuk mempermudah
pergerakan dalam memenuhi segala kebutuhan hidupnya.
Bersamaan dengan adanya suatu zona atau wilayah asal maupun
yang dituju serta moda transportasi, akan terbentuk sistem transportasi.
Sistem transportasi dilaksanakan dengan tujuan agar proses transportasi
penumpang dan barang dapat dicapai secara optimum dalam ruang dan
waktu dengan pertimbangan faktor keamanan, kenyamanan, kelancaran,
dan efisiensi waktu serta biaya. (Aziz, Asrul, 2014)
Berbicara mengenai transportasi, tentu tak dapat lepas dari
pemilihan rute perjalanan. Karena pada dasarnya pemilihan rute
merupakan bagian dari proses pergerakan lalu lintas. Salah satu perilaku
pengguna jalan raya adalah cenderung memilih rute terpendek dengan
waktu tempuh tercepat serta memiliki tingkat kemacetan yang rendah.
Pencarian rute terpendek merupakan masalah yang menarik dan
sering dibahas sejak akhir tahun 1950. Setiap pelaku perjalanan mencoba
mencari rute terbaik untuk meminimalkan biaya perjalanan serta
menghemat waktu. Hasilnya, mereka mencoba beberapa rute alternatif
yang akhirnya berakhir pada suatu pola rute yang stabil (kondisi
keseimbangan) setelah beberapa kali mencoba-coba. Hal tersebut dapat
dikatakan kondisi keseimbangan jika para pelaku perjalanan tidak dapat
lagi mencari rute terbaik karena mereka telah bergerak pada rute terbaik
yang tersedia. (Utami, 2011)
Beberapa model pemilihan rute diantaranya adalah all-or-nothing,
model ini merupakan model pemilihan rute yang paling sederhana dengan
mengasumsikan bahwa semua pengendara akan meminimumkan biaya
perjalanannya tergantung pada karakteristik jaringan jalan dan asumsi
pengendara. Jika semua pengendara memperkirakan biaya ini dengan cara

5
yang sama, pastilah mereka memilih rute yang sama. Biaya ini dianggap
tetap dan tidak dipengaruhi oleh faktor kemacetan.
Selain model all-or-nothing, juga terdapat model multipath
assignment, yang mengasumsikan bahwa pemakai jalan tidak mengetahui
informasi yang tepat mengenai rute tercepat. Mereka akan selalu memilih
rute tercepat, namun tidak mengetahui secara pasti rute tersebut.
Representasi waktu untuk setiap rute tercepat dihasilkan melalui seleksi
secara random dari suatu distribusi yang mempunyai nilai waktu tempuh
rata-rata sebenarnya dari rute yang bersangkutan.

g) Penggunaan Visual Basic Untuk Pemilihan Rute


Dengan adanya teknologi yang semakin canggih tentu
memudahkan kita dalam pencarian rute terbaik suatu pergerakan. Kita bisa
membuat sebuah program pencarian rute sesuai yang kita inginkan dengan
menggunakan bahasa pemprograman yang ada.
Salah satu bahasa pemprograman yang dapat kita gunakan adalah
Visual Basic. Bahasa pemrograman sendiri merupakan perintah-perintah
yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu.
Bahasa pemrograman Visual Basic merupakan pengembangan dari
pendahulunya yaitu BASIC (Beginner’s All-purpose Symbolic Instruction
Code) yang dikembangkan pada era 1950-an. Microsoft Visual Basic 6.0
merupakan bahasa pemrograman yang berbasis Object Oriented
Programming (OOP) yang berorientasi pada objek.
Microsoft Visual Basic 6.0 merupakan bahasa pemrograman yang
bekerja dalam ruang lingkup Windows. Microsoft Visual Basic 6.0 hampir
dapat memanfaatkan seluruh kemudahan dan kecanggihan yang dimiliki
oleh Sistem Operasi Windows. Menurut Suhata (2005:3), “Visual Basic
6.0 merupakan salah satu bahasa pemrograman yang dapat digunakan
untuk menyusun dan membuat program aplikasi pada lingkungan sistem
operasi Windows”.
Beberapa kelebihan Microsoft Visual Basic 6.0 yang merupakan
standar bahasa pemrograman yang diajarkan di Teknik Sipil dibanding
bahasa pemrograman lainnya adalah sebagai berikut.

6
a) Bahasa pemrograman ini berbasis Windows sehingga seorang
programmer dapat membuat penampilan semenarik mungkin.
b) Program ini sangat User Friendly.
c) Cara penggunaannya cukup mudah bagi seorang programmer yang
masih pemula.
d) Microsot Visual Basic merupakan bahasa pemrograman yang
sangat populer dan banyak penggunanya.
e) Adanya Visual Basic for Application (VBA) yang digunakan oleh
Microsoft Office. VBA dikembangkan dari aplikasi yang
sebelumnya dikenal dengan istilah Macro. Dengan adanya VBA,
kemampuan Macro dapat ditingkatkan menjadi seperti bahasa
pemrograman lain. Contoh dalam dunia ketekniksipilan adalah kita
bisa mengoptimalkan kemampuan Autocad dengan menggunakan
macro VBA.

7
2. Metode Penulisan (Flowchart Program)

START

Input jumlah rute (n), volume lalu lintas


(v), kapasitas lalu lintas (c), waktu
tempuh (t), jumlah kendaraan (j), rute
dengan waktu tempuh terkecil (a)

Do k = 1, 100

X = T(k, 1)

Do i = 1, n

T(k, i) < x

X = T(k, i)

a=i

Ta(k, a) = 0,0

2 1

8
2 1

V(k, a) = j

Ta(k, a) = Ta(k, a) + T(k, a) * (1+0,15*(V(k, a)/c(a))^4)

T(k+1, a) = 0,75 * Ta(k, a) + 0,25 * T(k, a)

R(Z) = 0,0

Volume (b, z) = 0,0

Do z = 1, n

Do b = 1, k

Volume (b, z) = volume (b, z) + V(b, z)

R(z) = volume (b, z) / b

9
3

DS (d) = 0,0

Do d = 1, n

DS (d) = DS (d) + (R(d)/c(d))

Output volume lalu lintas


(volume(b, z)), DS (d),
gambar

END

10
BAB III
PEMBAHASAN

1. Tampilan Program

11
2. Daftar Control dan Object
Kontrol Properti Setting
Label 1 Name Label1
Caption Masukkan Jumlah Rute
Label 2 Name Label2
Caption Motor
Label 3 Name Label3
Caption Mobil
Label 4 Name Label4
Caption Masukkan Waktu Rute
Label 5 Name Label5
Caption Masukkan Kapasitas Rute
Label 6 Name Label6
Caption Masukkan Jumlah Kendaraan
Label 7 Name Label7
Caption Bus
Label 8 Name Label8
Caption Jumlah Kendaraan Setelah
Dihitung
Label 9 Name Label9
Caption Hasil
Label 10 Name Label10
Caption PROGRAM TRANSPORTASI
Text 1 Name Text1
Text -
Text 2 Name Text2
Text -
Text 3 Name Text3
Text -
Text 4 Name Text4

12
Text -
Text 5 Name Text5
Text -
Text 6 Name Text6
Text -
Command 1 Name Command1
Caption Click
Command 2 Name Command2
Caption Click
Command 3 Name Command3
Caption Olah Data
Command 4 Name Command4
Caption Hitung
Command 5 Name Command5
Caption Grafik
Command 6 Name Command6
Caption Reset Data
Command 7 Name Command7
Caption Exit
Command 8 Name Save
Caption Save Data
Command 9 Name OpenFile
Caption Open Input Notepad
MSFlexGrid1 Name MSFlexGrid1
Height 3855
Width 4695
Cols 2
Rows 2
Fixedcols 1
Fixedrows 1
Form 1 Name Form1

13
Caption Transportasi
Picture Bitmap
Picture 1 Name Picture1
Height 5775
Width 10695
Frame 1 Name Frame1
Height 855
Width 4695
Frame 2 Name Frame2
Height 1455
Width 4695
Frame 3 Name Frame3
Height 1815
Width 4695
Frame 4 Name Frame4
Height 855
Width 5535
Frame 5 Name Frame5
Height 975
Width 2415
CommonDialog Name CommonDialog1
MaxFileSize 260

Kontrol Properti Setting


Name Form2
Form 2 Caption Form2
Picture Bitmap
Picture 1 Name Picture1
Height 7000
Width 6000
Frame 1 Name Frame1

14
Height 7575
Width 3255
Name Label1
Label 1 GAMBAR RUTE
Caption TRANSPORTASI
Name Label2
Label 2
Caption <0.6
Name Label3
Label 3
Caption DS
Name Label4
Label 4
Caption Warna Garis
Name Label5
Label 5 Arus lancar, volume rendah,
Caption
kecepatan Tinggi

Name Label6
Label 6
Caption 0.6 <= DS < 0.7
Name Label7
Arus stabil, kecepatan terbatas,
Label 7
Caption volume sesuai untuk jalan luar
kota
Name Label8
Label 8
Caption 0.7 <= DS < 0.8
Name Label9
Arus stabil, kecepatan
Label 9
dipengaruhi oleh lalu lintas,
Caption volume sesuai untuk jalan kota
Name Label10
Label 10
Caption 0.8 <= DS < 0.9
Name Label11
Label 11 Mendekati arus tidak stabil,
Caption kecepatan rendah

15
Name Label12
Label 12
Caption 0.9 <= DS < 1
Name Label13
Arus tidak stabil, kecepatan
Label 13
rendah, volume padat atau
Caption mendekati kapasitas
Name Label14
Label 14
Caption 1.00
Name Label15
Arus yang terhambat, kecepatan
Label 15
rendah, volume diatas kapasitas,
Caption banyak berhenti
Line 1 Name Line1
BorderColor &H00FF0000&
X1 120
X2 1200
Y1 480
Y2 480
Line 2 Name Line2
BorderColor &H0080FF80&
X1 120
X2 1200
Y1 1440
Y2 1440
Line 3 Name Line3
BorderColor &H0000FFFF&
X1 120
X2 1200
Y1 2760
Y2 2760
Line 4 Name Line4

16
BorderColor &H000000FF&
X1 120
X2 1200
Y1 4920
Y2 4920
Line 5 Name Line5
BorderColor &H00FF00FF&
X1 120
X2 1200
Y1 3960
Y2 3960
Line 6 Name Line6
BorderColor &H00FFFFFF&
X1 120
X2 1200
Y1 6000
Y2 6000

Kontrol Properti Setting


Name Form 3
Form 3 Caption Harap Tunggu
Picture (None)
Name ProgressBar1
Progressbar Height 465
Width 6495
Name Label1
Label 1
Caption Label 1
Name Label2
Label 2
Caption Label 2
Name Timer1
Timer 1
Interval 250

17
Left 4080
Top 0

3. Script Code
Script code dalam Form 1 (Transportasi.frm)
1 Private Sub Command6_Click()
2 Call reset
3 End Sub

4 Private Sub Command7_Click()


5 End
6 End Sub

7 Private Sub Form_Load()

8 'Menampilkan dialog sambutan


9 MsgBox "Selamat Datang di Program Transportasi. Program ini
dibuat oleh Kelompok 50. Pastikan semua data terisi untuk
mendapatkan hasil yang sesuai. Terima kasih.", ,
"PERHATIAN"

10 'Menyembunyikan flexgrid, fom2, command3,frame5 dan command5


11 Form1.MSFlexGrid1.Visible = False
12 Form1.Command3.Visible = False
13 Form1.Command5.Visible = False
14 Form1.Frame5.Visible = False
15 End Sub
16 Private Sub Command1_Click()
17 Call tabel

18 'Memunculkan flexgrid, command3,frame5 dan command5


19 Form1.MSFlexGrid1.Visible = True

18
20 Form1.Command3.Visible = True
21 Form1.Command5.Visible = True
22 Form1.Frame5.Visible = True

23 End Sub
24 Private Sub Command2_Click()
25 Call wakkap
26 End Sub
27 Private Sub Command3_Click()
28 Call OlahData
29 End Sub
30 Private Sub Command4_Click()
31 Call SMP
32 End Sub
33 Private Sub Command5_Click()
34 Call gambar
35 End Sub

36 Private Sub MSFlexGrid1_Click()

37 End Sub

38 Private Sub OpenFile_Click()


39 'Open Data dari notepad
40 Form1.CommonDialog1.FileName = ""
41 Form1.CommonDialog1.Filter = "All txt file|*.txt"
42 Form1.CommonDialog1.ShowOpen
43 inputdata CommonDialog1.FileName

44 End Sub
45 Public Sub inputdata(path As String)
46 Dim T() As Double

19
47 Dim C() As Single
48 If path = "" Then Exit Sub
49 Open path For Input As #1
50 Input #1, dummy
51 Input #1, dummy
52 Input #1, dummy
53 Input #1, dummy
54 Input #1, dummy
55 Input #1, n
56 Form1.Text1.Text = n
57 Form1.MSFlexGrid1.Visible = True
58 Form1.Command3.Visible = True
59 Form1.Command5.Visible = True
60 Form1.Frame5.Visible = True
61 If IsNumeric(Form1.Text1.Text) Then
62 Form1.MSFlexGrid1.Rows = Form1.Text1.Text + 1
63 Form1.MSFlexGrid1.Cols = 5
64 Form1.MSFlexGrid1.ColWidth(0) = 500
65 Form1.MSFlexGrid1.ColWidth(1) = 700
66 Form1.MSFlexGrid1.ColWidth(2) = 900
67 Form1.MSFlexGrid1.ColWidth(3) = 2000
68 Form1.MSFlexGrid1.ColWidth(4) = 1575
69 Form1.MSFlexGrid1.TextMatrix(0, 3) = "Rerata Volume Lalu Lintas"
70 Form1.MSFlexGrid1.TextMatrix(0, 4) = "Derajat Kejenuhan"
71 Form1.MSFlexGrid1.TextMatrix(0, 1) = "Waktu"
72 Form1.MSFlexGrid1.TextMatrix(0, 2) = "Kapasitas"
73 Form1.MSFlexGrid1.TextMatrix(0, 0) = "Rute"
74 For i = 1 To Form1.Text1.Text
75 Form1.MSFlexGrid1.TextMatrix(i, 0) = i
76 Next i
77 End If
78 For i = 1 To n

20
79 Form1.MSFlexGrid1.Rows = n + 1
80 Form1.MSFlexGrid1.Cols = 5
81 Next i
82 Input #1, dummy
83 Input #1, dummy
84 ReDim T(n) As Double
85 ReDim C(n) As Single
86 For i = 1 To n
87 Input #1, T(i)
88 Form1.MSFlexGrid1.TextMatrix(i, 1) = T(i)
89 Next i
90 Input #1, dummy
91 Input #1, dummy
92 For i = 1 To n
93 Input #1, C(i)
94 Form1.MSFlexGrid1.TextMatrix(i, 2) = C(i)
95 Next i
96 Input #1, dummy
97 Input #1, dummy
98 Input #1, dummy
99 Input #1, Bus
100 Form1.Text4.Text = Bus
101 Input #1, dummy
102 Input #1, dummy
103 Input #1, mobil
104 Form1.Text5.Text = mobil
105 Input #1, dummy
106 Input #1, dummy
107 Input #1, Motor
108 Form1.Text6.Text = Motor
109 End Sub
110 Private Sub Save_Click()

21
111 'Simpan Data di notepad
112 CommonDialog1.FileName = ""
113 CommonDialog1.Filter = "Text File|*.txt"
114 CommonDialog1.ShowSave
115 If CommonDialog1.FileName = "" Then Exit Sub
116 Simpan CommonDialog1.FileName
117 End Sub
118 Public Sub Simpan(path As String)

119 Open path For Output As #2


120 Print #2, "-----------------------------"
121 Print #2, " PROGRAM TRANSPORTASI"
122 Print #2, "-----------------------------"
123 Print #2, ""
124 Print #2, "DERAJAT KEJENUHAN"
125 For i = 1 To Val(Form1.Text1.Text)
126 Print #2, Form1.MSFlexGrid1.TextMatrix(i, 4)
127 Next i
128 Print #2, ""
129 Print #2, "RERATA VOLUME"
130 For i = 1 To Val(Form1.Text1.Text)
131 Print #2, Form1.MSFlexGrid1.TextMatrix(i, 3)
132 Next i
133 Print #2, ""
134 Print #2, Form1.Label8.Caption
135 Print #2, ""
136 Print #2, "---TERIMA KASIH TELAH MENGGUNAKAN
PROGRAM KAMI---"
137 Close #2
138 End Sub

22
Script code dalam Form 2 (Gambar.frm)
-

Script code dalam Form 3 (loading.frm)


1 Option Explicit

2 Private Sub Form_Load()


3 Timer1.Enabled = True
4 End Sub

5 Private Sub Label2_Click()

6 End Sub

7 Private Sub Timer1_Timer()


8 ProgressBar1.Value = ProgressBar1.Value + 5
9 Label1.Caption = "Loading....."
10 Label2.Caption = ProgressBar1.Value & "%"
11 If (ProgressBar1.Value = ProgressBar1.Max) Then
12 Timer1.Enabled = False
13 Unload Me
14 Form1.Show
15 End If
16 End Sub

Script code dalam Module 1 (Rumus.bas)


1 'deklarasi variabel
2 Dim V() As Single
3 Dim T() As Double
4 Dim C() As Single
5 Dim Ta() As Double
6 Dim a As Integer

23
7 Dim j As Single
8 Dim R() As Single
9 Dim Volume() As Single
10 Dim DS() As Single
11 Dim Bus As Integer
12 Dim mobil As Integer
13 Dim Motor As Integer
14 Dim M As Integer
15 Dim y As Single
16 Dim i As Integer

17 Sub tabel()

18 'Mengaturan tabel
19 Form1.MSFlexGrid1.Rows = Form1.Text1.Text + 1
20 Form1.MSFlexGrid1.Cols = 5
21 Form1.MSFlexGrid1.ColWidth(0) = 500
22 Form1.MSFlexGrid1.ColWidth(1) = 700
23 Form1.MSFlexGrid1.ColWidth(2) = 900
24 Form1.MSFlexGrid1.ColWidth(3) = 2000
25 Form1.MSFlexGrid1.ColWidth(4) = 1575
26 Form1.MSFlexGrid1.TextMatrix(0, 3) = "Rerata Volume Lalu Lintas"
27 Form1.MSFlexGrid1.TextMatrix(0, 4) = "Derajat Kejenuhan"
28 Form1.MSFlexGrid1.TextMatrix(0, 1) = "Waktu"
29 Form1.MSFlexGrid1.TextMatrix(0, 2) = "Kapasitas"
30 Form1.MSFlexGrid1.TextMatrix(0, 0) = "Rute"
31 For i = 1 To Form1.Text1.Text
32 Form1.MSFlexGrid1.TextMatrix(i, 0) = i
33 Next i
34 End Sub
35 Sub wakkap()

24
36 'Memasukkan data waktu dan kapasitas (langsung overwrite)
37 M = M + 1
38 Form1.MSFlexGrid1.TextMatrix(M, 1) = Form1.Text2.Text
39 Form1.Text2.Text = ""
40 Form1.MSFlexGrid1.TextMatrix(M, 2) = Form1.Text3.Text
41 Form1.Text3.Text = ""
42 End Sub
43 Sub SMP()

44 'Menghitung jumlah kendaraan


45 Bus = Val(Form1.Text4.Text)
46 mobil = Val(Form1.Text5.Text)
47 Motor = Val(Form1.Text6.Text)
48 j = (Bus * 2) + (mobil * 1) + (Motor * 0.5)
49 Form1.Label9.Caption = j
50 End Sub
51 Sub OlahData()

52 'Membaca variable jumlah rute


53 n = Val(Form1.Text1.Text)

54 'Menyatakan ulang variabel array


55 ReDim V(100, n) As Single
56 ReDim T(101, n) As Double
57 ReDim Ta(100, n) As Double
58 ReDim R(n) As Single
59 ReDim C(n) As Single
60 ReDim Volume(100, n) As Single
61 ReDim DS(n) As Single

62 'Membaca data waktu dan kapasitas


63 For i = 1 To n

25
64 T(1, i) = Val(Form1.MSFlexGrid1.TextMatrix(i, 1))
65 C(i) = Val(Form1.MSFlexGrid1.TextMatrix(i, 2))
66 Next i

67 'Percobaan iterasi 100


68 For k = 1 To 100
69 x = T(k, 1)
70 a = 1
71 'Memilih rute waktu terkecil
72 For i = 1 To n
73 If T(k, i) < x Then
74 x = T(k, i)
75 a = i
76 End If
77 Next i
78 'Memasukkan jumlah kendaraan ke rute terpilih
79 V(k, a) = j
80 'Mengoreksi waktu terpilih
81 For i = 1 To n
82 Ta(k, i) = T(k, i) * (1 + 0.15 * ((V(k, i) / C(i)) ^ 4))
83 T(k + 1, i) = (0.75 * Ta(k, i)) + (0.25 * T(k, i))
84 Next i
85 Next k

86 'Iterasi sebanyak rute yang diinput


87 For i = 1 To n
88 'Menghitung sum volume
89 For k = 1 To 100
90 Volume(100, i) = Volume(100, i) + V(k, i)
91 Next k
92 'Menghitung rerata volume
93 R(i) = Volume(100, i) / 100

26
94 Next i
95 'Menghitung derajat kejenuhan
96 For i = 1 To n
97 DS(i) = R(i) / C(i)
98 'Output
99 Form1.MSFlexGrid1.TextMatrix(i, 3) = R(i)
100 Form1.MSFlexGrid1.TextMatrix(i, 4) = DS(i)
101 Next i
102 'Mencari Rute dengan DS terkecil
103 y = DS(1)
104 a=1
105 For i = 1 To n
106 If DS(i) < y Then
107 y = DS(i)
108 a=i
109 End If
110 Next i
111 Form1.Label8.Caption = "Rute Tercepat adalah Rute ke-" & a
112 End Sub
113 Sub reset()

114 'Mengulang pengisian data


115 Form1.Text1.Text = Clear
116 Form1.Text2.Text = Clear
117 Form1.Text3.Text = Clear
118 Form1.Text4.Text = Clear
119 Form1.Text5.Text = Clear
120 Form1.Text6.Text = Clear
121 Form1.MSFlexGrid1.Visible = False
122 Form1.MSFlexGrid1.Clear
123 Form1.Label8.Caption = Clear
124 Form1.Command3.Visible = False

27
125 Form1.Command5.Visible = False
126 Form1.Frame5.Visible = False
127 Form1.Label9.Caption = Clear

128 End Sub


129 Sub gambar()

130 'Membaca variable jumlah rute


131 n = Val(Form1.Text1.Text)
132 Form2.Show
133 Form2.Picture1.Scale (0, 100)-(100, 0)
134 Form2.Picture1.Circle (25, 50), 2.5, vbWhite
135 Form2.Picture1.Circle (75, 50), 2.5, vbWhite

136 For i = 1 To n
137 Form2.Picture1.Circle (50, (100 - (100 / (n + 1) * i))), 2.5, vbWhite

138 If DS(i) < 0.6 Then


139 Form2.Picture1.Line (25, 50)-(50, (100 - (100 / (n + 1) * i))),
vbBlue
140 Form2.Picture1.Line (50, (100 - (100 / (n + 1) * i)))-(75, 50),
vbBlue

141 ElseIf 0.6 <= DS(i) And DS(i) < 0.7 Then
142 Form2.Picture1.Line (25, 50)-(50, (100 - (100 / (n + 1) * i))),
vbGreen
143 Form2.Picture1.Line (50, (100 - (100 / (n + 1) * i)))-(75, 50),
vbGreen

144 ElseIf 0.7 <= DS(i) And DS(i) < 0.8 Then
145 Form2.Picture1.Line (25, 50)-(50, (100 - (100 / (n + 1) * i))),
vbYellow

28
146 Form2.Picture1.Line (50, (100 - (100 / (n + 1) * i)))-(75, 50),
vbYellow

147 ElseIf 0.8 <= DS(i) And DS(i) < 0.9 Then
148 Form2.Picture1.Line (25, 50)-(50, (100 - (100 / (n + 1) * i))),
vbMagenta
149 Form2.Picture1.Line (50, (100 - (100 / (n + 1) * i)))-(75, 50),
vbMagenta

150 ElseIf 0.9 <= DS(i) And DS(i) < 1 Then


151 Form2.Picture1.Line (25, 50)-(50, (100 - (100 / (n + 1) * i))),
vbRed
152 Form2.Picture1.Line (50, (100 - (100 / (n + 1) * i)))-(75, 50),
vbRed

153 ElseIf DS(i) >= 1 Then


154 Form2.Picture1.Line (25, 50)-(50, (100 - (100 / (n + 1) * i))),
vbWhite
155 Form2.Picture1.Line (50, (100 - (100 / (n + 1) * i)))-(75, 50),
vbWhite
156 End If
157 Next i

158 End Sub

4. User Guide
1. Ketika program dijalankan, akan muncul tampilan seperti dibawah ini.
Kemudian klik OK.

29
2. Masukkan jumlah rute ke dalam textbox yang sudah disediakan. Atau
bisa juga dengan menginputkan data yang telah tersimpan dalam
Notepad dengan Klik Open Input Notepad.

3. Misalkan kita input jumlah rute sebanyak tiga. Maka tampilan program
akan seperti gambar berikut.

30
4. Masukkan waktu tempuh (dalam menit) dan kapasitas rute (dalam smp)

5. Masukkan jumlah kendaraan yang meliputi bus, mobil, dan motor,


kemudian klik “Ubah menjadi smp”.

31
6. Setelah seluruh data tercetak dalam FlexGrid, klik Olah Data untuk
menghitung derajat kejenuhan, volume rata-rata setiap rute, dan rute
dengan waktu tempuh tercepat.

32
7. Kemudian klik Grafik untuk melihat grafik dari hasil perhitungan.

Keterangan warna grafik dapat dilihat pada sisi sebelah kanan grafik.

8. Ketik Save Data jika ingin menyimpan data hasil perhitungan ke dalam
notepad. Carilah tempat penyimpanan data sesuai dengan yang
diinginkan, kemudian ketikkan nama data pada File Name, kemudian
klik Save.

33
9. Pilih Reset Data jika ingin mengulang program dari awal. Atau klik
Exit jika ingin keluar dari program.

5. Validasi
Untuk mengecek kebenaran program tersebut, maka kita coba dengan
menggunakan lima kali iterasi. Dengan menggunakan perhitungan secara
manual, maka akan didapat data sebagai berikut.
Jika diketahui:
Rute Waktu Kapasitas
1 8 20
2 10 25
3 12 30

Jumlah kendaraan
Bus Mobil Motor
5 10 30

34
Jika diubah dalam smp:
(𝐵𝑢𝑠 × 2) + (𝑚𝑜𝑏𝑖𝑙 × 1) + (𝑚𝑜𝑡𝑜𝑟 × 0.5) = 35

Iterasi 1
Diketahui:
T1 = 8 menit
T2 = 10 menit
T3 = 12 menit
Maka seluruh kendaraan akan masuk ke rute pertama karena rute tersebut
merupakan rute dengan waktu tempuh tercepat. Untuk koreksi waktu:
𝑉𝑎 4
𝑇𝑎 = 𝑇𝑜 (1 + 0.15 ( ) )
𝐶𝑎

35 4
𝑇1 = 8 (1 + 0.15 ( ) )
20
𝑇1 = 8(1 + (0.15 × 9.378))
𝑇1 = 19.254 𝑚𝑒𝑛𝑖𝑡

𝑇𝑜′ = 0.75 ∗ 𝑇𝑎 + 0.25 ∗ 𝑇𝑜


𝑇𝑜1 ′ = 0.75 ∗ 19.254 + 0.25 ∗ 8
𝑇𝑜1 ′ = 16.4405 𝑚𝑒𝑛𝑖𝑡

T1 = 16.4405 menit V1 = 35 smp


T2 = 10 menit V2 = 0
T3 = 12 menit V3 = 0

35
Iterasi 2
Diketahui:
Berdasarkan hasil perhitungan pada iterasi pertama, maka seluruh
kendaraan akan masuk ke rute kedua. Sehingga:
35 4
𝑇2 = 10 (1 + 0.15 ( ) )
25
𝑇2 = 10(1 + (0.15 × 9.3789))
𝑇2 = 15.7624 𝑚𝑒𝑛𝑖𝑡
𝑇𝑜2 ′ = 0.75 ∗ 15.7624 + 0.25 ∗ 10
𝑇𝑜2 ′ = 14.3218 𝑚𝑒𝑛𝑖𝑡

T1 = 16.4405 menit V1 = 0
T2 = 14.3218 menit V2 = 35 smp
T3 = 12 menit V3 = 0

Iterasi 3
Diketahui:
Berdasarkan hasil perhitungan pada iterasi kedua, maka seluruh kendaraan
akan masuk ke rute ketiga. Sehingga:
35 4
𝑇3 = 12 (1 + 0.15 ( ) )
30
𝑇3 = 12(1 + (0.15 × 1.8526))
𝑇3 = 15.33472 𝑚𝑒𝑛𝑖𝑡
𝑇𝑜3 ′ = 0.75 ∗ 15.33472 + 0.25 ∗ 12
𝑇𝑜3 ′ = 14.5010 𝑚𝑒𝑛𝑖𝑡

T1 = 16.4405 menit V1 = 0
T2 = 14.3218 menit V2 = 0
T3 = 14.5010 menit V3 = 35 smp

36
Iterasi 4
Diketahui:
Berdasarkan hasil perhitungan pada iterasi ketiga, maka seluruh kendaraan
akan masuk ke rute kedua. Sehingga:
35 4
𝑇2 = 14.3218 (1 + 0.15 ( ) )
25
𝑇2 = 14.3218(1 + (0.15 × 3.8416))
𝑇2 = 22.57459 𝑚𝑒𝑛𝑖𝑡
𝑇𝑜2 ′ = 0.75 ∗ 22.57459 + 0.25 ∗ 14.3218
𝑇𝑜2 ′ = 20.51139 𝑚𝑒𝑛𝑖𝑡

T1 = 16.4405 menit V1 = 0
T2 = 20.51139 menit V2 = 35 smp
T3 = 14.5010 menit V3 = 0

Iterasi 5
Diketahui:
Berdasarkan hasil perhitungan pada iterasi keempat, maka seluruh
kendaraan akan masuk ke rute ketiga. Sehingga:
35 4
𝑇3 = 14.5010 (1 + 0.15 ( ) )
30
𝑇3 = 14.5010(1 + (0.15 × 1.8526)
𝑇3 = 18.530773 𝑚𝑒𝑛𝑖𝑡
𝑇𝑜3 ′ = 0.75 ∗ 18.530773 + 0.25 ∗ 14.5010
𝑇𝑜3 ′ = 17.5233 𝑚𝑒𝑛𝑖𝑡

T1 = 16.4405 menit V1 = 0
T2 = 20.51139 menit V2 = 0
T3 = 17.5233 menit V3 = 35 smp

37
Volume rata-rata setiap rute
Rute 1
35
= 7 𝑘𝑒𝑛𝑑𝑎𝑟𝑎𝑎𝑛
5
Rute 2
35 + 35
= 14 𝑘𝑒𝑛𝑑𝑎𝑟𝑎𝑎𝑛
5
Rute 3
35 + 35
= 14 𝑘𝑒𝑛𝑑𝑎𝑟𝑎𝑎𝑛
5

Derajat Kejenuhan
𝑉
𝐷𝑆 =
𝐶

Rute 1
7
𝐷𝑆 = = 0.35
20

Rute 2
14
𝐷𝑆 = = 0.56
25

Rute 3
14
𝐷𝑆 = = 0.4667
30

Hasil perhitungan manual tersebut sesuai dengan hasil perhitungan dengan


Visual Basic.

38
BAB IV
PENUTUP

1. Kesimpulan
Mata kuliah Pemrograman Komputer sangat membantu dalam mendalami
program yang membantu terkait perhitungan-perhitungan dalam
menyelesaikan persoalan khususnya di bidang ketekniksipilan. Seperti yang
kita pelajari saat ini, Visual Basic 6.0 kita dapat membuat program yang
mana membantu dalam melakukan perhitungan terkait pemilihan rute di jalan
berdasarkan jumlah kendaraan serta kapasitas jalan tersebut. Selain itu, kita
juga dapat mengetahui bagaimana derajat kejenuhan jalan tersebut sehingga
kita dapat memilih rute terbaik dalam perjalanandengan waktu yang efisien.

2. Saran
Dalam pengerjaan program ini tentunya dibutuhkan referensi-referensi
yang sesuai dengan tugas yang didapatkan agar memudahkan dalam
menyelesaikan tugas tersebut. Dibutuhkan pendalaman yang lebih mengenai
Visual Basic karena pada Tugas Besar biasanya dikerjakan dengan materi
yang lebih mendalam dibanding yang dipelajari di kelas.

39
DAFTAR PUSTAKA

Aziz, Rudi, Asrul. 2014. Pengantar Sistem dan Perencanaan Transportasi.


Kendari: Deepublish.
Utami, Anken, 2011, https://eprints.undip.ac.id/34454/5/2166_chapter_II.pdf/
diakses pada 27 November 2015
https://ejournal.unstrat.ac.id diakses pada 21 November 2015
https://ekowiner.web.id/2015/04/pengertian-dasar-pemrograman-visual-basic-
6.0.html?m=1 diakses pada 27 November 2015

40
DAFTAR RIWAYAT HIDUP

1) Nama Lengkap : Meilina Dias Ekasari


Tempat, Tanggal Lahir : Boyolali, 25 Mei 1997
Agama : Islam
Alamat rumah : Perumahan Pesona Kutilang Sari I Blok G 214
Susukan – Ungaran.
No. HP : 085740598684
Email : meilinadias@yahoo.com
Riwayat Pendidikan : SDIT Assalamah Ungaran
SMP Negeri 1 Ungaran
SMA Negeri 1 Ungaran

2) Nama Lengkap : Nabilla Aranda Shinta Sanyoto


Tempat, Tanggal Lahir : Yogyakarta, 31 Desember 1996
Agama : Islam
Alamat rumah : Pugeran MJ II / 302 Yogyakarta
No. HP : 085743221896
Email : nass.blackraven96@gmail.com
Riwayat Pendidikan : SD Muhammadiyah Kauman Yogyakarta
SMP Negeri 2 Yogyakarta
SMA Negeri 1 Yogyakarta

3) Nama Lengkap : Muhammad Firman Arsya


Tempat, Tanggal Lahir : Padang, 11 Mei 1997
Agama : Islam
Alamat rumah : Jalan Palangkaraya No.1 Siteba – Padang.
No. HP : 082285449163
Email : tenlicious2nd@gmail.com
Riwayat Pendidikan : SD Negeri 03 Alai Padang
SMP Negeri 1 Padang
SMA Negeri 10 Padang

41

Anda mungkin juga menyukai