Wednesday, December 16, 2015

UAS Pemprograman Bisnis

UAS Pemprograman Bisnis

Hallo bertemu lagi dengan saya, kali ini kita akan membuat aplikasi yang tidak biasa(sepertinya) yaitu aplikasi management hotel. ya bisa dibilang belum hotel sih , masih dalam cakupan penginapan. Tetapi disini kita akan mengambil konsepnya aja. kodingannya bakal sedikit ribet, tapi kalo diliat lebih seksama pasti gampang untuk ngertiiinya. okay here we go...



ini adalah tampilan utama dari aplikasinya, ya untuk logo sih bisa ganti terserah kita ini cuma sebagai contoh aja. disini ada berbagai macam pilihan untuk menuju form yang lain. ada tombol room monitoring yang berfungsi sebagai memonitor kamar yang sudah di pesan pelanggan. selain itu check in dan check out ya sudah kita tau untuk keluar masuknya pelanggan ke dalam hotel. adapun transaction history untuk melihat laporan pencatatan keuangan kita.

ini adalah tampilan dari room monitoring, disini terlihat nomor kamar dan ketersediaan dari kamarnya, pada saat ini kondisi semua kamar masih tersedia. dan terdapat juga rate kamar per malamnya, yang nantinya digunakan sebagai penghitungan pembayaran.






*note sebelum lanjut: jangan bersedih jangan kesal, kesalahan bukan pada program anda, dan yak saya menulisnya costumer bukan customer... R.I.P English...

selanjutnya beralih ke form check in, disini kita dapat mengisi nomor pelanggan, nama, jenis kamar yang dipilih serta lamanya dia tinggal. untuk nomor kamar sendiri akan terpilih secara otomatis yang terdapat di database. untuk melakukan penyimpanan data pelanggan dapat menklik tombol save data. selanjutnya jika pelanggan sudah ingin masuk kedalam kamarnya, kita dapat menklik tombol check in yang akan mengupdate status kamar. oh iya 1 tombol lagi yaitu find. find akan melakukan pencarian terhadap pelanggan yang lama, jadi tak usah repot jika ada pelaggan lama yang ingin melakukan reservasi...





Pilihan kamar yang beragam


ketika sudah melakukan check-in
berikut ini adalah tampilah room monitoring setelah pelanggan melakukan checkin, dapat dilihan status ruangan 203 menjadi occupied.






ketika pelanggan sudah ingin keluar/checkout dapat melakukannya di form checkout, tinggal masukan id pelanggan dan tekan find, otomatis data akan terisi sendiri. selanjutnya dapat menklik tombol checkout dan pelanggan sudah checkout. data kamar pun akan berubah menjadi tersedia lagi.


tampilan ketika sudah berhasil checkout

sekarang tinggal melihat laporan transaksi yang telah terjadi. tinggal klik tombol transaction history pada main menu nanti akan terlihat seperti ini.
data yang sudah checkout akan masuk kedalam laporan. lengkap dengan pembayaran yang dilakukan oleh pelanggan.


jika anda kepo sama database saya :P
dan yak saya salah menulis customer -_-
Data ruagan yang up-to-date
Laporan transaksinya



Sekian aplikasi yang saya buat kali ini, walaupun masih jauh dari sempurna tetapi programnya jalan dengan halus. sampai berjumpa di lain waktu... >RDV<

~~~~~~~~~~~~

Source Code: <WARNING LONG POST>
______________________________________________________________________________
Main menu

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        list_kamar.Show()
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Check_In.Show()
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Check_Out.Show()
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Application.Exit()
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Form2.Show()
    End Sub
End Class
____________________________________________________________________
Form Check-in

Imports System.Data
Imports System.Data.OleDb

Public Class Check_In
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Users\Radactive\Documents\All bout computer data\UAS VB 2015\UAS VB 2015\Hotel_data.accdb"
    Dim objkoneksi As New OleDb.OleDbConnection(koneksi)
    Private xReader As OleDbDataReader
    Private Sub Button4_Click(sender As Object, e As EventArgs)

    End Sub

    Private Sub Check_In_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Hotel_dataDataSet.room' table. You can move, or remove it, as needed.
        Me.RoomTableAdapter.Fill(Me.Hotel_dataDataSet.room)

    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Me.Close()
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

        objkoneksi.Close()
        objkoneksi.Open()
        Dim tambah As String = "INSERT INTO Customer values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & DateTimePicker1.Value & "' , null)"
        Dim oCmd = New OleDbCommand(tambah, objkoneksi)
        oCmd.ExecuteNonQuery()
        MsgBox("Saved!", MsgBoxStyle.Information)
        objkoneksi.Close()

    End Sub

    Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim x As String = TextBox1.Text
        objkoneksi.Close()
        objkoneksi.Open()

        Dim ocmd As New OleDb.OleDbCommand("select * From Customer where ID='" + x + "'", objkoneksi)
        xReader = ocmd.ExecuteReader

        If xReader.HasRows Then
            xReader.Read()
            TextBox1.Text = xReader("ID")
            TextBox2.Text = xReader("Custname")
            TextBox3.Text = xReader("Address")
            TextBox4.Text = xReader("Tel")
            TextBox5.Text = xReader("Room")
            TextBox6.Text = xReader("Daystaying")
            DateTimePicker1.Value = xReader("Checkin")

        Else
            MsgBox("ID NOT FOUND", MsgBoxStyle.Exclamation)
            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""
            TextBox5.Text = ""
            TextBox6.Text = ""


        End If
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        objkoneksi.Close()
        objkoneksi.Open()
            Dim update As String = "Update room set Availability= 'Occupied', Costumer='" & TextBox2.Text & "' where Room='" & TextBox5.Text & "'"
            Dim oCmd = New OleDbCommand(update, objkoneksi)
            oCmd.ExecuteNonQuery()
            MsgBox("Enjoy your stay :)", MsgBoxStyle.Information)
            objkoneksi.Close()

            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""
            TextBox5.Text = ""
            TextBox6.Text = ""

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        If TextBox5.Text = "" Then
            TextBox5.Text = "Occupied"
        End If
    End Sub
End Class
____________________________________________________________________
Form Check-out

Imports System.Data
Imports System.Data.OleDb

Public Class Check_Out
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Users\Radactive\Documents\All bout computer data\UAS VB 2015\UAS VB 2015\Hotel_data.accdb"
    Dim objkoneksi As New OleDb.OleDbConnection(koneksi)
    Private xReader As OleDbDataReader
    Private Sub Check_Out_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Hotel_dataDataSet.room' table. You can move, or remove it, as needed.
        Me.RoomTableAdapter.Fill(Me.Hotel_dataDataSet.room)

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim x As String = TextBox1.Text
        objkoneksi.Close()
        objkoneksi.Open()

        Dim ocmd As New OleDb.OleDbCommand("select * From Customer where ID='" + x + "'", objkoneksi)
        xReader = ocmd.ExecuteReader

        If xReader.HasRows Then
            xReader.Read()
            TextBox1.Text = xReader("ID")
            TextBox2.Text = xReader("Custname")
            TextBox4.Text = xReader("Room")

        Else
            MsgBox("CUSTOMER NOT FOUND", MsgBoxStyle.Exclamation)
            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""
           


        End If
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        objkoneksi.Close()
        objkoneksi.Open()
        Dim update As String = "Update room set Availability= 'Avail', Costumer=null where Room='" & TextBox4.Text & "'"
        Dim update2 As String = "Update Customer set Checkout='" & DateTimePicker1.Value & "'"
        Dim oCmd = New OleDbCommand(update, objkoneksi)
        Dim oCmd2 = New OleDbCommand(update2, objkoneksi)
        oCmd.ExecuteNonQuery()
        oCmd2.ExecuteNonQuery()
        MsgBox("Thank You! :)", MsgBoxStyle.Information)
        objkoneksi.Close()

        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
    End Sub
End Class

____________________________________________________________________
Form Room Monitoring

Public Class list_kamar

    Private Sub list_kamar_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Hotel_dataDataSet.room' table. You can move, or remove it, as needed.

        Me.DataGridView1.DataSource = Nothing 'clear out the datasource for the Grid view
        Me.RoomTableAdapter.Fill(Me.Hotel_dataDataSet.room) ' refill the table adapter from the dataset table
        Me.DataGridView1.DataSource = Me.RoomBindingSource  'reset the datasource from the binding source
        Me.DataGridView1.Refresh() 'should redraw with the new data


    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Close()
    End Sub

End Class

____________________________________________________________________
Form Laporan

Public Class Form2

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Hotel_dataDataSet.Transaction_history' table. You can move, or remove it, as needed.
        Me.Transaction_historyTableAdapter.Fill(Me.Hotel_dataDataSet.Transaction_history)

        Me.ReportViewer1.RefreshReport()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Close()
    End Sub

End Class

Monday, October 19, 2015

Aplikasi Cuci Mobil/Motor

Sekarang saatnya untuk ber-koding ria (hahaha). skr gue mau nunjukin aplikasi buat orang yang punya jasa cuci cuci, bukan laundry bukan juga cuci helm, apalagi cuci foto. tapi sekarang guw mau nunjukin aplikasi untuk cuci mobil maupun motor, lengkap dengan fitur tambahannya.

ok let's go!


ini adalah tampilan awal dari program ini

bisa dilihat di dalam sudah terdapat beberapa nama beserta kode barangnya. data grid ini menunjukan transakti yang telah terjadi selama ini. database dipanggil dari data access pembelian jasa.

jika kita menklik tombol list jasa, maka akan terbuka window baru yang berisikan kode kode jasa dan namanya, hal ini dibuat untuk memebrikan refrensi kepada user yang ingin menginput data.

sekarang cara untuk menginput data:
1. masukan no pelanggan, perlu diingat bahwa nomor pelanggan tidak boleh sama, jadi lihat history dan masukan nomor setelah transaksi terakhir, jika tidak akan terjadi seperti ini 
hal ini memungkinkan user dapat melihat letak kesalahannya dan mengganti dengan yang benar.

2. masukan nama pelanggan, lalu masukan kode jasa yang telah dilakukan. kode jasa bisa di pilih di drop down list yang otomatis akan mengisi nama dan harga jasa di bawahnya. jika kita belum tahu kode apa yang harus dimasukan, bisa membuka list jasa yang sudah di beritahu sebelumnya 

3. click hitung untuk memulainya, selanjutnya masukan uang yang diberikan oleh pelanggan. lalu klik bayar yang nanti nya akan otomatis menghitung kembaliannya dan mengecek apakah uangnya cukup
voila! sekarang kita bisa tahu berapa kembaliannya (jika ada) dan data akan otomatis tersimpan di database dengan aman.
Database access


tapi... gimana kalo uangnya kurang...?

 tenang sistemnya sudah di program untuk menangkal hal tersebut 


nah itu adalah aplikasi simple yang menggunakan koneksi database ke access, kalo mau nyoba guw akan kasih source codenya. coba di ngertiin kodingannya dan coba bereksmerimen dengan aplikasinya. Good Luck ;)

>RDV<


Source Code

Imports System.Text
Imports System.Windows.Forms
Imports System.Data.OleDb

Public Class Form1
    Dim con As New OleDbConnection()
    Dim tambah As New OleDbCommand()

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'ProdukDataSet.tbl_barang' table. You can move, or remove it, as needed.
        Me.Tbl_barangTableAdapter.Fill(Me.ProdukDataSet.tbl_barang)
        'TODO: This line of code loads data into the 'ProdukDataSet.tbl_pembeli' table. You can move, or remove it, as needed.
        Me.Tbl_pembeliTableAdapter.Fill(Me.ProdukDataSet.tbl_pembeli)
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Users\Radactive\Documents\All bout computer data\apa aja rev 3\apa aja rev 3\Produk.accdb"
        con.Open()

    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        'cek koneksi udah kebuka atau belum
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If

        'koding cek uang yang di kasih sama pelanggan
        If TextBox3.Text = "" Then
            MsgBox("Isi Uang yang dikasih pelanggan", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Error")
            Exit Sub
        ElseIf Val(TextBox3.Text) < Val(Label5.Text) Then
            MsgBox("Uangnya kurang boss! minta lagi kurangnya...", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Hmm??")
            Exit Sub

            'koding untuk save data dan ngitung kembalian
        Else
            Try 'coba jalanin ini
                Dim kembalian As Integer
                kembalian = Val(TextBox3.Text) - Val(Label5.Text)
                tambah.Connection = con
                tambah.CommandText = "INSERT INTO tbl_pembeli VALUES ( '" & TextBox5.Text & "' ,'" & TextBox1.Text & "', '" & ComboBox1.Text & "','" & TextBox2.Text & "', '" & Label5.Text & "')"
                tambah.ExecuteNonQuery()
                Tbl_pembeliTableAdapter.Insert(TextBox5.Text, TextBox1.Text, ComboBox1.Text, TextBox2.Text, Label5.Text)
                Tbl_pembeliTableAdapter.Fill(Me.ProdukDataSet.tbl_pembeli)
                MessageBox.Show("Kembaliannya : Rp." + kembalian.ToString + ",Terimasih sudah menggunakan jasa kami", "Thank you :)!")

            Catch ex As Exception 'kalo error ngesave, jalanin ini
                MsgBox("Data Tidak Dapat di save, Cek kembali nomor pelanggan!", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "UH OH!!!")
            End Try
        End If

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Label5.Text = TextBox2.Text
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        List_Jasa.Show()
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Application.Exit()
    End Sub
End Class

Thursday, May 28, 2015

Game on!

First discussion


well hello there comrade! welcome to my blog

sekarang gw mau bahas tentang game yang suka gw mainin, gamenya cukup berat, online, dan yaa bisalah mendidik. ya gamenya adalah WoT, atau kepanjangan dari World of Tanks. ini game ge temuin nggak lama lama banget. jadi maklum blm master-master amat. ini game ya kalo menurut gw sih seru........ banget....... dari judulnya aja udah ketauan tank! tanks!!! yeaaaah baby!!!


ehem..... maaf, game ini ya isinya tank, kita bertugas untuk main tank (you don't say). dan nngancurin semua musuh. thats it! tapi challangenya nggak disitu aja, kaliam pertama kali main bakal cuma dapet sekepal tank aja masing masing dari negara yang berbeda-beda. ada Amerika, Inggris, Jerman, Jepang, China, Russia, sama Prancis. terserah kalian mau jadi negara apa, di campur aduk juga nggak masalah. nah di WoT itu sistemnya per tier, atau tingkatan. jadi kalian akan ngelawan musuh tergantung dari tingkat tank yang kalian pake. mulai dari tier 1 sampe 10. untuk naik ke tier selanjutnya, kalian mesti "research" atau ya bisa dibilang evolusi deh. dengan cara ngumpulin experience sebanyak banyaknya. 

Oh iya, sebelumnya di WoT itu ada berbagai jenis tank. ada light, medium, dan heavy tank, tank destroyer, dan SPG atau self propelled gun. (nanti akan di bahas di chapter selanjutnya). dan kalian harus bijak dalam memilih tipe tank yang kalian inginkan.

game ini bisa gw bilang mendidik karena semua tank yang ada di WoT ini ada beneran alias asli. jadi nih developer mau bikin perangnya se akurat mungkin kaya di dunia nyata. well kalian jadi bisa tau tank apa aja yang di pake sama negara mis. jerman. seru sih kalo yang suka sama sejarah. 

yup ini cuma intro aja dari WoT, nanti bakal gw update lagi (kalo nggak mager) tentang tipe tipe tank yang ada di Wot ini..


see ya....~

This First Post lel




ummm... yeah... my very first post
nggak tau mau ngapain di blog ini dan lagi bosen banget. jadi mau ngeluarin unek unek aja disini.

first introduction aja kali ya... 
nama gue Radactive, nama asli di sensor ya (kayaknya di widget ada deh -_-). gw itu orangnya... mmmm... apa ya... random banget. 

kebiasaan gw main game, buka lepi, anime, bla bla bla.... and so on...

keahlian kusus.. koding tingkat noob (masih berusaha untuk jadi codemaster.. heh.....)
Me as programmer
sama yang pasti main game (tetep aja noob juga)
yaa itu aja sih yang bisa diceritain, nanti juga bakal tau kebiasaan gw apa lagi yang lain. ciao...