12 Mei 2010

Program Visual Basic : Membuat Aplikasi Pemesanan Tiket Pesawat

12 Mei 2010
Ini adalah Soal B Ujian Tengah Semester saya, dan taukah anda saya cuma bisa menyelesaikan cuma soal no 1,2,3,7,8 saja dalam waktu 2 jam. Sangat menggenaskan, untuk menebusnya setidaknya saya perlu waktu 2 hari untuk menyelesaikannya soal ini. huyuuuu pusiang kepala saya. Soal dan Jawaban bisa di download di sini

Ini Soalnya:
Buat aplikasi Pemesanan Tiket Pesawat seperti tampak di bawah ini




1. User terlebih dahulu memilih asal keberangkatan pada cboAsal dan tujuan pada cboTujuan. Asal dan tujuan tidak boleh sama.

2. Tampilkan harga tiket pada txtHrgTiket setelah user memilih salah satu kelas apakah kelas bisnis (OptBisnis) atau kelas ekonomi (OptEkonomi).

3. Isi tanggal pada LstTgl_B dan LstTgl_K, bulan pada LstBulan_B dan LstBulan_K, tahun pada LstThn_B dan LstThn_K.

4. Validasi tanggal berangkat dan tanggal kembali, tanggal kembali tidak boleh melebihi tanggal berangkat.

5. Lakukan perhitungan sub total (sub total = (jumlah penumpang dewasa * harga tiket)+(jumlah penumpang bayi * harga tiket)). Harga tiket untuk bayi sebesar 15% dari harga tiket orang dewasa.

6. Lakukan perhitungan total bayar (total bayar = sub total + bagasi).

7. Tombol cmdCancel digunakan untuk membatalkan transaksi (bersihkan form) dan tombol cmdExit digunakan untuk keluar dari program

8. DESAIN FORM Anda

Penyelesaian Program menurut saya:
1. Kita buad desaign awal aplikasi ini, seperti ini:


2. Kemudian Kita atur propertiesnya
label 1
caption: Dari

label 2
caption:Ke

label 3
caption: Kelas

label 4
caption:Harga

label 5
caption:Berangkat

label 6
caption: Kembali

label 7
caption:Dewasa

label 8
caption: Bayi

label 9
caption: Sub Total Rp.

label 10
caption: Total Bayar: Rp.

Combo1
Name: CboAsal
Caption: CboAsal

Combo2
Name: CboTujuan
Caption: CboTujuan

Option1
Name: OptBisnis
Caption: Bisnis

Option2
Name: OptEkonomi
Caption: Ekonomi

Text1
Name:TxtHarga

Text2
Name:TxtDewasa

Text3
Name:TxtBayi

Text4
Name:TxtSubTotal

Text5
Name:txtTotal

Frame1
Caption: Bagasi

Check1
Caption:0-15 Kg

Check2
Caption:16-30 Kg

Check3
Caption:31-50 Kg

Command1
Name:CmdCancel
Caption:Cancel

Command2
Name:CmdExit
Caption:Exit

List1
Name:ListTgl_B

List2
Name:LstBulan_B

List3
Name:LstTahun_B

List4
Name:LstTgl_K

List5
Name:LstBulan_K

List6
Name:LstTahun_K

Sehingga Hasil akhir form seperti ini:


3. Waktunya melakukan peng-coding-an
Pertama, kita asumsikan bahwa saat aplikasi di load asal, tujuan keberangkatan, tanggal, bulan dan tahun sudah langsung di tampil.
Private Sub Form_Load()
TxtDewasa = ""
TxtBayi = ""
For t = 1990 To 2050
LstTahun_B.AddItem t
Next
For i = 1990 To 2050
LstTahun_K.AddItem i
Next
For k = 1 To 31
LstTgl_K.AddItem k
Next
For b = 1 To 31
LstTgl_B.AddItem b
Next

LstBulan_B.List(0) = "Januari"
LstBulan_B.List(1) = "Februari"
LstBulan_B.List(2) = "Maret"
LstBulan_B.List(3) = "April"
LstBulan_B.List(4) = "Mei"
LstBulan_B.List(5) = "Juni"
LstBulan_B.List(6) = "Juli"
LstBulan_B.List(7) = "Agustus"
LstBulan_B.List(8) = "September"
LstBulan_B.List(9) = "Oktober"
LstBulan_B.List(10) = "November"
LstBulan_B.List(11) = "Desember"

LstBulan_K.List(0) = "Januari"
LstBulan_K.List(1) = "Februari"
LstBulan_K.List(2) = "Maret"
LstBulan_K.List(3) = "April"
LstBulan_K.List(4) = "Mei"
LstBulan_K.List(5) = "Juni"
LstBulan_K.List(6) = "Juli"
LstBulan_K.List(7) = "Agustus"
LstBulan_K.List(8) = "September"
LstBulan_K.List(9) = "Oktober"
LstBulan_K.List(10) = "November"
LstBulan_K.List(11) = "Desember"

CboTujuan.List(0) = "Denpasar(DPS)"
CboTujuan.List(1) = "Jakarta (Cgk)"
CboTujuan.List(2) = "Surabaya (Sby)"

CboAsal.List(0) = "Denpasar(DPS)"
CboAsal.List(1) = "Jakarta (Cgk)"
CboAsal.List(2) = "Surabaya (Sby)"

End Sub


Validasi tanggal berangkat dan tanggal kembali, tanggal kembali tidak boleh melebihi tanggal berangkat.
Private Sub LstTahun_K_Click()
If LstTgl_K.Text < LstTgl_B.Text Or LstTahun_K.Text < LstTahun_B.Text Then
MsgBox "tanggal kembali tidak boleh melebihi tanggal berangkat", vbInformation, "WARNING!"
End If
End Sub


Tampilkan harga tiket pada txtHrgTiket setelah user memilih salah satu kelas apakah kelas bisnis (OptBisnis) atau kelas ekonomi (OptEkonomi).
Private Sub OptBisnis_Click()
If CboAsal.ListIndex = 0 And CboTujuan.ListIndex = 1 Then
TxtHarga.Text = 1855000
ElseIf CboAsal.ListIndex = 0 And CboTujuan.ListIndex = 2 Then
TxtHarga.Text = 1200000
ElseIf CboAsal.ListIndex = 1 And CboTujuan.ListIndex = 0 Then
TxtHarga.Text = 1700000
ElseIf CboAsal.ListIndex = 2 And CboTujuan.ListIndex = 0 Then
TxtHarga.Text = 1055000
Else
MsgBox "Kota Asal dan Kota Tujuan Tidak Boleh Sama", vbInformation, "WARNING!"
End If
End Sub

Private Sub OptEkonomi_Click()
If CboAsal.ListIndex = 0 And CboTujuan.ListIndex = 1 Then
TxtHarga.Text = 1050000
ElseIf CboAsal.ListIndex = 0 And CboTujuan.ListIndex = 2 Then
TxtHarga.Text = 750000
ElseIf CboAsal.ListIndex = 1 And CboTujuan.ListIndex = 0 Then
TxtHarga.Text = 900000
ElseIf CboAsal.ListIndex = 2 And CboTujuan.ListIndex = 0 Then
TxtHarga.Text = 600000
Else
MsgBox "Kota Asal dan Kota Tujuan Tidak Boleh Sama", vbInformation, "WARNING!"
End If
End Sub


Lakukan perhitungan sub total (sub total = (jumlah penumpang dewasa * harga tiket)+(jumlah penumpang bayi * harga tiket)). Harga tiket untuk bayi sebesar 15% dari harga tiket orang dewasa. Lakukan perhitungan total bayar (total bayar = sub total + bagasi). Saya asumsikan perhitungan di mulai ketika user melakukan check box pada bagasi.
Pertama kita inilisasikan dulu
Dim harga, dewasa, bayi, hargabayi, subtotal, total As Currency

Lanjut.....
Private Sub Check1_Click()
dewasa = TxtDewasa.Text
bayi = TxtBayi.Text
harga = TxtHarga.Text
hargabayi = 0.15 * harga
bagasi = 30000
subtotal = (dewasa * harga) + (hargabayi * bayi)
total = subtotal + bagasi
TxtSubTotal.Text = subtotal
txtTotal.Text = total
End Sub

Private Sub Check2_Click()
dewasa = TxtDewasa.Text
bayi = TxtBayi.Text
harga = TxtHarga.Text
hargabayi = 0.15 * harga
bagasi = 60000
subtotal = (dewasa * harga) + (hargabayi * bayi)
total = subtotal + bagasi
TxtSubTotal.Text = subtotal
txtTotal.Text = total
End Sub

Private Sub Check3_Click()
dewasa = TxtDewasa.Text
bayi = TxtBayi.Text
harga = TxtHarga.Text
hargabayi = 0.15 * harga
bagasi = 90000
subtotal = (dewasa * harga) + (hargabayi * bayi)
total = subtotal + bagasi
TxtSubTotal.Text = subtotal
txtTotal.Text = total
End Sub


Tombol cmdCancel digunakan untuk membatalkan transaksi (bersihkan form) dan tombol cmdExit digunakan untuk keluar dari program.
Private Sub CmdCancel_Click()
TxtDewasa.Text = ""
TxtBayi.Text = ""
TxtSubTotal.Text = ""
txtTotal.Text = ""
TxtHarga.Text = ""
OptBisnis.Value = False
OptEkonomi.Value = False
End Sub

Private Sub CmdExit_Click()
End
End Sub


22 comments:

Anonim mengatakan...

kk ni aq mau tes doloe y ....
makasih ....

lukisan termurah mengatakan...

:g: terima kasih tutorial nya..
berguna buat saya..
tapi perkalian nya direvisi
ada val nya

Private Sub Check1_Click()
Dim harga, dewasa, bayi, hargabayi, subtotal, total As Currency
dewasa = txtdewasa.Text
bayi = txtbayi.Text
harga = txtharga.Text
hargabayi = 0.15 * Val(harga)
bagasi = 30000
subtotal = Val(dewasa) * Val(harga) + Val(hargabayi) * Val(bayi)
total = subtotal + bagasi
txttotal.Text = total
End Sub

Opie Eyek mengatakan...

:
emang apa bedanya bos????
.
karena saya gak pakai val juga mau jalan kuq?? dan perhitungannya ga salah

Angga Ramadhan mengatakan...

thanks infonya,,,,,,
lam kenal

Anonim mengatakan...

maaf sy manggilx maba atau ibu nii..
suka bgt blog ini..pintar bgt..
bisa minta emailx buat share-sahare atau tanya tentang vb,,krn tugas akhir sy menggunakn vb yg didalmx ada hitungan log,,mohon bantuannya,,terima kasih banyakk

WAYAN GERDIAN mengatakan...

waw.. makin mantaps aja nie
:n:

Oktarina Lilik mengatakan...

makasih artikelnya, cukup mudeng :n:
i will try it :g:

Unknown mengatakan...

Pesawat / Naik Pesawatnya Dimana Ya ? :)

albert mengatakan...

Artikelny bagus, setelah saya coba masih error
pada ->LstTgl_B.AddItem b berwarna kuning..
Apa ada yang bisa membantu.. Makasi..^^

Jhon mengatakan...

Thank's Infonya,
Sukses selalu...

Reka_Pury mengatakan...

terimakasih bannyaaaaaakkkkkkkkkkk

Tegar heryanto mengatakan...

makasih info,y boss

Tegar heryanto mengatakan...

makasih info,y boss

Agus kk mengatakan...

nuhun

Envy mengatakan...

Kalo udah masuk database gimana ya proses ngitungnya, bingung :h:

Dira Assegaff mengatakan...

:a:

Anonim mengatakan...

terimakasih buanyak, sangat bermanfaat.. :)

Anonim mengatakan...

Mantap gan

by Hifni_208

Chicharito MU 14 mengatakan...

cara menghitung subtotal nya gimana ???

Ana Saputri mengatakan...

cara menghitung sub totalnya gimana . mohon bantuannya

Hidayat Mundana mengatakan...

Bisa buat Aplikasi Widget untuk Cek Tiket Online (Lokal dan Inter)

Jelly Gamat Gold G mengatakan...

Makasih gan, coba dulu ah

Poskan Komentar

sampaikan komentar dengan sopan dan bertanggung jawab :)