jadi semester 2 ini ada praktikum yang namanya praktikum pemrograman komputer, yak bener sekali pemrograman yang itu! bermain dengan coding coding sejenak menjadi anak IT. depan depannya masih algortima flowchart yang memalaskan itu, habis itu disuruh bikin program yang bikin kepala pusying sekali.
program pertama yang gue buat itu tentang struktur kontrol keputusan, if then else elseif gitu lah. Program yang gue buat cukup sederhana, tadinya gue sama temen gue pengen rada ribet tapi katanya mbanya gak usah pake database2-an yaudah akhirnya kita hanya membuat tentang perhitungan denda pada perpustakaan, ohiya software yang gue pake visual basic 6 soalnya di labnya masih pake itu. kurang lebih tampilannya begini.
gambar 1 |
jadi nanti masukin nama sama jumlah buku yang dipinjem, buat jumlah bukunya dibatasin sampe 5 buku jadi kalo kalian ketik 6 gak bisa, cuma antara 1-5. habis itu pilih tanggal peminjaman itu tanggal berapa dan tanggal kembalinya itu tanggal berapa tapi biasanya sih tanggal kembali kan pas hari make aplikasinya ya jadi udah otomatis ke tanggal yang sesuai sama komputer. nah habis itu dihitung selisih harinya itu berapa hari, disini batas maksimal pinjem itu 2 minggu. setelah 2 minggu atau 14 hari dendanya sehari 200 rupiah.
disanakan ada tombol reset, hasil, sama keluar ya. tombol hasil buat menampilkan hasil dari semua data yang udah diinput istilahnya buat ngeluarin output, nanti di label yang paling bawah itu keluar keterangan lagi misalnya "astari kena denda 5000 rupiah" atau "astari tidak kena denda". tombol reset itu dipake setelah kita melihat hasil dan mau mengulangi pekerjaan itu lagi, nanti semua text dan label jadi kosong. kalo tombol End ya buat keluar tapi nanti sebelum keluar ada msgbox dulu, buat codingnya bisa dilihat nanti. trus kalo misalkan belom ngisi data bakal keluar msgbox lagi dan intinya bakalan maksa buat ngisi data data yang diperlukan.
buat grafiknya itu make textbox, label, command, trus dtpicker. buat dtpicker itu bisa didapet di components trus klik microsoft windows common control-2 6.0
gambar 2 |
ketika kita meng-klik hasil setelah memasukkan data maka akan keluar hasil seperti gambar 2.
gambar 3 |
Apabila keta belum memasukkan nama dan jumlah buku yang dipinjam maka akan keluar msgbox seperti gambar 3 begitu juga ketika belom memasukkan nama saja atau jumlah buku saja.
Berikut ini coding intinya :
Private Sub CmdOK_Click()
If TxtNama = "" And TxtJmlhBuku = "" Then
data = MsgBox("Masukkan Data!", vbOKOnly + vbCritical, "Data?")
ElseIf TxtNama = "" Then
Nama = MsgBox("Masukkan Nama!", vbOKOnly + vbCritical, "Nama?")
TxtNama.SetFocus
ElseIf TxtJmlhBuku = "" Then
buku = MsgBox("Masukkan Jumlah Buku!", vbOKOnly + vbCritical, "Jumlah buku?")
TxtJmlhBuku.SetFocus
Else: LamaSewa = DateDiff("d", DTPicker1, DTPicker2)
If LamaSewa > 14 Then
ketDenda = "Kena Denda"
JmlhDenda = Val(LamaSewa - 14) * 200 * Val(TxtJmlhBuku.Text)
Else
ketDenda = "Tidak Kena Denda"
JmlhDenda = 0
End If
End If
If ketDenda = "Tidak Kena Denda" Then
ketUmum = UCase(TxtNama + " " + ketDenda)
ElseIf ketDenda = "" Then
ketUmum = ""
ElseIf ketDenda = "Kena Denda" Then
ketUmum = UCase(TxtNama + " " + ketDenda + " " + "sebesar" + " " + Str(JmlhDenda) + " " + "rupiah")
End If
Label5.Caption = LamaSewa
Label6.Caption = ketDenda
Label7.Caption = JmlhDenda
Label1.Caption = ketUmum
data = MsgBox("Masukkan Data!", vbOKOnly + vbCritical, "Data?")
ElseIf TxtNama = "" Then
Nama = MsgBox("Masukkan Nama!", vbOKOnly + vbCritical, "Nama?")
TxtNama.SetFocus
ElseIf TxtJmlhBuku = "" Then
buku = MsgBox("Masukkan Jumlah Buku!", vbOKOnly + vbCritical, "Jumlah buku?")
TxtJmlhBuku.SetFocus
Else: LamaSewa = DateDiff("d", DTPicker1, DTPicker2)
If LamaSewa > 14 Then
ketDenda = "Kena Denda"
JmlhDenda = Val(LamaSewa - 14) * 200 * Val(TxtJmlhBuku.Text)
Else
ketDenda = "Tidak Kena Denda"
JmlhDenda = 0
End If
End If
If ketDenda = "Tidak Kena Denda" Then
ketUmum = UCase(TxtNama + " " + ketDenda)
ElseIf ketDenda = "" Then
ketUmum = ""
ElseIf ketDenda = "Kena Denda" Then
ketUmum = UCase(TxtNama + " " + ketDenda + " " + "sebesar" + " " + Str(JmlhDenda) + " " + "rupiah")
End If
Label5.Caption = LamaSewa
Label6.Caption = ketDenda
Label7.Caption = JmlhDenda
Label1.Caption = ketUmum
Program ini diasumsikan denda setiap buku sama yaitu, 200 rupiah. Bisa diubah sesuai dengan keinginan, 200 rupiahnya diganti aja menjadi yang kalian mau. Kalo mau dibedain setiap buku bisa juga tapi agak repot dan bukunya harus udah ditentukan terlebih dahulu, artinya coding yang lebih panjang! Semoga bermanfaat yaa :)
23 Komentar
smua jenis buku dendanya sama?
BalasHapusiya dibikin sama biar codingnya gak banyak. lagian rata-rata kalo diperpustakaan bukannya sama ya setiap buku? tergantung perpustakaannya sih.
BalasHapusmakasih yh mbak astari,,
BalasHapussangat bergua sekali bagi saya..
salam teman yh mbak...
(y)
iya sama sama agus
BalasHapusijin copas bwt tugas ya,
BalasHapustq
Saya ingin menggunakan beberapa script kaka untuk digunakan di aplikasi VB saya, tapi saya sedikit bingung, itu di bagian tanggal, saya kurang tahu gimana menjumlahkan date itu sehingga keluar jumlah hari di LamaSewa.text nya ka, tolong ya :D
BalasHapusMaaf aku baru cek blog. Codingnya ya yang ini LamaSewa = DateDiff("d", DTPicker1, DTPicker2). DTPicker itu semacam feature yang udah dikasih untuk memilih tanggal. Coding yang itu secara otomatis menghitung selisih hari dari DTPicker yang pertama dengan yang kedua. Jadi gak secara manual gitu fan. Semoga membantu ya :)
BalasHapusthanks ya Astari atas blognya,sangat bermanfaat :)
BalasHapussama sama :)
Hapusdah saya coba tapi hasilnya eror
BalasHapussaya pakai vb yang 2008
ttolong bantuannya
bagian apanya yang eror? mungkin satuan kata coding 2008 udah sedikit berbeda coba aja disesuaikan soalnya disini masih pake VB 6.0 :D
Hapussalam kenal mba astari. saya ijin bertanya boleh ya. kalau koding untuk membuat tanggal secara otomatis untuk menginput peminjaman kemudian si tanggal pengembaliannya muncul sendiri gmna ya.
BalasHapusmakasih
Seinget aku di pengaturan textbox atau label tinggal tulis =today() hihi sudah lama gak megang vb jadi rada lupa
BalasHapusKak, ratna masih bingung. Mau tanya yg tanggal pinjam dan kembali itu tipe data nya apa ?
BalasHapusseinget aku itu gak pake field gitu sih ya harusnya tipe datanya date ya kalo mau di , pakenya dtpicker. caranya, ke Add Components habis itu ceklis Microsoft Windows Common Controls-2 6.0
HapusHarusnya nanti bisa muncul untuk di pake pas bikin page
LamaSewa = DateDiff("d", DTPicker1, DTPicker2)
BalasHapusNah, "d" itu apa ya..?
mohon penjelasannya
"d" itu untuk days, jadi hitungnya selisihnya berapa hari
HapusLamaSewa = DateDiff("d", DTPicker1, DTPicker2)
BalasHapus"d" maksudnya apa??
d itu berarti menghitung berapa hari perbedaan antara picker 1 dengan picker 2. d = days
Hapuslinknya error ya?
BalasHapuslink nya error kaka
BalasHapusoh iyaaa, maaf banget aku lagi cari file-nya soalnya hard disknya masalah semoga masih ada filenya. maaf yaa :(
HapusKak yang flowchart nya ada gak?
BalasHapus