Ad Code

Program Perhitungan Denda Perpustakaan

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
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 :)

Posting Komentar

23 Komentar

  1. smua jenis buku dendanya sama?

    BalasHapus
  2. iya dibikin sama biar codingnya gak banyak. lagian rata-rata kalo diperpustakaan bukannya sama ya setiap buku? tergantung perpustakaannya sih.

    BalasHapus
  3. makasih yh mbak astari,,
    sangat bergua sekali bagi saya..
    salam teman yh mbak...
    (y)

    BalasHapus
  4. 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

    BalasHapus
  5. Maaf 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 :)

    BalasHapus
  6. thanks ya Astari atas blognya,sangat bermanfaat :)

    BalasHapus
  7. dah saya coba tapi hasilnya eror
    saya pakai vb yang 2008
    ttolong bantuannya

    BalasHapus
    Balasan
    1. bagian apanya yang eror? mungkin satuan kata coding 2008 udah sedikit berbeda coba aja disesuaikan soalnya disini masih pake VB 6.0 :D

      Hapus
  8. salam 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.
    makasih

    BalasHapus
  9. Seinget aku di pengaturan textbox atau label tinggal tulis =today() hihi sudah lama gak megang vb jadi rada lupa

    BalasHapus
  10. Kak, ratna masih bingung. Mau tanya yg tanggal pinjam dan kembali itu tipe data nya apa ?

    BalasHapus
    Balasan
    1. seinget 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

      Harusnya nanti bisa muncul untuk di pake pas bikin page

      Hapus
  11. LamaSewa = DateDiff("d", DTPicker1, DTPicker2)
    Nah, "d" itu apa ya..?
    mohon penjelasannya

    BalasHapus
    Balasan
    1. "d" itu untuk days, jadi hitungnya selisihnya berapa hari

      Hapus
  12. LamaSewa = DateDiff("d", DTPicker1, DTPicker2)

    "d" maksudnya apa??

    BalasHapus
    Balasan
    1. d itu berarti menghitung berapa hari perbedaan antara picker 1 dengan picker 2. d = days

      Hapus
  13. Balasan
    1. oh iyaaa, maaf banget aku lagi cari file-nya soalnya hard disknya masalah semoga masih ada filenya. maaf yaa :(

      Hapus

Ad Code