Program Visual Basic : Membuat Aplikasi Pemesanan Tiket Pesawat

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

Labels: