Thursday 15 December 2016

Tugas Program Database Visual Basic

Penjelasan Program :

Program ini digunakan oleh MFR Courier Corporation untuk mencatat transaksi bisnisnya yang merupakan sebuah perusahaan pengiriman barang. Perusahaan ini mencatat setiap ada order dari pelanggan yang sudah menitipkan barangnya kepada pihak perusahaan.
Data-Data yang dicatat oleh program ini,yang kemudian disimpan di dalam database perusahaan antara lain :

ID Transaksi
Nama Pengirim
Nama Penerima
Nama Barang
Tipe Barang( Bisa Fragile / Non Fragile)
Berat Barang
Jarak Perjalanan
Tipe Pengiriman( Bisa Commoner(Reguler), atau Turbocharged(Express) )
Tanggal Diterimanya Barang Dari Pelanggan
Dasar Biaya Pengiriman
Total Biaya Pengiriman

Untuk Total biaya pengiriman,perusahaan ini mempunyai peraturannya sendiri.
Pertama ditentukan dulu tipe pengirimannya. Apabila Commoner maka Dasar Biaya Pengirimannya 50ribu. sedangkan Turbocharged 100ribu.
Kedua, Berat barang dikalikan dengan dasar biaya. Jarak Perjalanan Dikalikan dengan Dasar biaya,kemudian dibagi dua.
ketiga, Hasil perhitungan keduanya dijumlahkan. Apabila pelanggan mengirim barang fragile,maka biaya bertambah 50% dari hasil penjumlahan. Apabila non fragile,tidak ada pertambahan biaya. Hasil inilah yang akan menjadi total biaya pengiriman.
sebagai contoh:

seorang pelanggan ingin mengirimkan sebuah barang yang beratnya 10 kg. jarak destinasinya 100km. ia memilih tipe pengiriman turbocharged. Barang tersebut merupakan barang bertipe Fragile.

maka perhitungannya adalah:
Berat = 10 * 100000 : 1.000.000
Jarak=100 * 100000 / 2 : 5.000.000

berat+jarak=6.000.000
Fragile=6.000.000 * 50% = 3.000.000
Total biaya pengiriman = 6jt + 3jt=9.000.000

Biaya pengiriman bisa sangat mahal karena pengiriman dilakukan menggunakan teknologi yang sangat canggih.

Penggunaan Program:

 

Sebelum menggunakan, anda harus mengklik tombol "Add" agar berubah menjadi "Save" Terlebih dahulu,agar data yang telah anda tulis tidak hilang.
Di menu awal,anda diminta untuk mengisi ID transaksi,nama pengirim,nama penerima,dsb.
Untuk yang tipe barang,itu berbentuk combo box,anda bisa memilih fragile / non fragile,yang akan berpengaruh pada total biaya.Tipe pengiriman barang juga begitu,bisa Commoner / Turbocharged,masing-masing punya biaya yang berbeda.
Setelah selesai memasukkan data2 yang diperlukan,anda bisa mengklik tombol "lakukan Perhitungan" untuk menghitung total biaya pengiriman.

apabila sudah,tekan save. nanti akan muncul message Box yang memberitahu bahwa data telah tersimpan ke dalam database. dan tombol "Save" berubah kembali menjadi "Add",yang berfungsi untuk meng-Clear seluruh textbox,combo box,dan date time picker,untuk memudahkan anda memasukan data yang baru.

untuk mencari ID transaksi tertentu beserta informasi yang bersangkutan,gunakan tombol "Find",kemudian masukkan ID transaksi,tekan ok/enter.

Apabila ingin mengedit data yang sudah masuk di database,anda bisa manfaatkan fitur "find" diatas,kemudian edit data yang ingin dirubah,setelah itu klik tombol"edit". message box akan muncul apabila berhasil.

Jika anda ingin mem print dan melihat print preview, tekan tombol "Print".

Apabila hanya ingin melihat data-data yang sudah diinput ke database, klik "Browse"

apabila ingin menghapus suatu baris,anda dapat menggunakan tombol "Delete". ID transaksi yang anda pilih menggunakan fitur "find" akan dihapus setelah anda mengklik tombol ini.

Untuk keluar dari program,tekan tombol "close"

Berikut Foto-Foto Program Saya :
 Gambar 1 : Database Access

Gambar 2 : Form Browse

Gambar 3: Meng-Save Data
 Gambar 4 : Mencari ID transaksi,kemudian menampilkan datanya di layar. data tersebut bisa anda edit / hapus.
 Gambar 5 : Menu Utama Program
 Gambar 6 : Form Report

Berikut adalah Source Code nya:

Untuk Form Utama :


Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb

Public Class Formutama
    Dim koneksi As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Dokumen AKUNTSI Semester 2\Lab Pemrogaman Bisnis\UAS\Databasengirimpos.accdb"
    Dim objekkoneksi As New OleDb.OleDbConnection(koneksi)
    Dim xReader As OleDbDataReader
    Dim berat, jarak, biayadasar, itung1, itung2, itung3, itung4, total As Integer
    Dim tipbar, tipeng As String



    Private Sub btnadd_Click(sender As Object, e As EventArgs) Handles btnadd.Click


        If btnadd.Text = "Add" Then
            btnadd.Text = "Save"
            txtpengirim.Clear()
            txtpenerima.Clear()
            txtbiaya.Clear()
            txtjarak.Clear()
            txtberat.Clear()
            txtbarang.Clear()
            cbtipe.Text = ""
            txtbiaya.Clear()
            cbtipebarang.Text = ""
            txtid.Clear()
            dtpbar.Value = Date.Now

            txtid.Focus()

        ElseIf btnadd.Text = "Save" Then
            objekkoneksi.Open()

            Dim tambah As String = "Insert into tbpos values('" & txtid.Text & "' , '" & txtpengirim.Text & "','" & txtpenerima.Text & "', '" & txtbarang.Text & "','" & cbtipebarang.Text & "' , '" & txtberat.Text & "','" & cbtipe.Text & "' , '" & txtjarak.Text & "','" & txtbiaya.Text & "','" & txttotal.Text & "','" & dtpbar.Text & "')"
            Dim ocmd = New OleDbCommand(tambah, objekkoneksi)

            ocmd.ExecuteNonQuery()
            objekkoneksi.Close()
            MsgBox("Succeed")
            btnadd.Text = "Add"
            txtpengirim.Focus()
        End If
    End Sub



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

    Private Sub btnfind_Click(sender As Object, e As EventArgs) Handles btnfind.Click
        Dim code As String = InputBox("Masukkan ID Transaksi yang ingin dicari")
        If Not Len(code) = 0 Then
            'Tutup dan buka koneksi ke database

            objekkoneksi.Close()
            objekkoneksi.Open()

            'Perintah SQL untuk menampilkan berdasarkan kriteria
            Dim cari As String = "Select* from tbpos where IDtransaksi='" + code + "'"

            Dim ocmd = New OleDbCommand(cari, objekkoneksi)
            xReader = ocmd.ExecuteReader

            'JIKA PERINTAH SELECT DITEMUKAN TAMPILKAN KE TEXTBOX MASING2NYA
            If xReader.HasRows Then
                xReader.Read()

                txtid.Text = xReader("IDtransaksi")
                txtpengirim.Text = xReader("Pengirim")
                txtpenerima.Text = xReader("Penerima")
                txtbarang.Text = xReader("Barang")
                cbtipebarang.Text = xReader("Tipebarang")
                txtberat.Text = xReader("Beratbarang")
                cbtipe.Text = xReader("Tipepengiriman")
                txtjarak.Text = xReader("Jarakperjalanan")
                txtbiaya.Text = xReader("Biaya")
                txttotal.Text = xReader("Total")
                dtpbar.Text = xReader("Tanggalditerima")
                'jika tidak ditemukan tampilan pesan
            Else
                MsgBox("ID transaksi Tidak terdapat di database")
                Exit Sub
            End If
            'tutup perintah pembacaan
            xReader.Close()
        End If
    End Sub

    Private Sub btnedit_Click(sender As Object, e As EventArgs) Handles btnedit.Click
        objekkoneksi.Close()
        objekkoneksi.Open()
        Dim ubah As String = "update tbpos set Pengirim='" & txtpengirim.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah2 As String = "update tbpos set Penerima='" & txtpenerima.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah3 As String = "update tbpos set Barang='" & txtbarang.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah4 As String = "update tbpos set Tipebarang='" & cbtipebarang.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah5 As String = "update tbpos set Beratbarang='" & txtberat.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah6 As String = "update tbpos set Tipepengiriman='" & cbtipe.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah7 As String = "update tbpos set Jarakperjalanan='" & txtjarak.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah8 As String = "update tbpos set Biaya='" & txtbiaya.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah9 As String = "update tbpos set Total='" & txttotal.Text & "' where IDtransaksi= '" & txtid.Text & " ' "
        Dim ubah10 As String = "update tbpos set Tanggalditerima='" & dtpbar.Text & "' where IDtransaksi= '" & txtid.Text & " ' "


        Dim oCmd = New OleDbCommand(ubah, objekkoneksi)
        Dim oCmd2 = New OleDbCommand(ubah2, objekkoneksi)
        Dim oCmd3 = New OleDbCommand(ubah3, objekkoneksi)
        Dim oCmd4 = New OleDbCommand(ubah4, objekkoneksi)
        Dim oCmd5 = New OleDbCommand(ubah5, objekkoneksi)
        Dim oCmd6 = New OleDbCommand(ubah6, objekkoneksi)
        Dim oCmd7 = New OleDbCommand(ubah7, objekkoneksi)
        Dim oCmd8 = New OleDbCommand(ubah8, objekkoneksi)
        Dim oCmd9 = New OleDbCommand(ubah9, objekkoneksi)
        Dim oCmd10 = New OleDbCommand(ubah10, objekkoneksi)
        oCmd.ExecuteNonQuery()
        oCmd2.ExecuteNonQuery()
        oCmd3.ExecuteNonQuery()
        oCmd4.ExecuteNonQuery()
        oCmd5.ExecuteNonQuery()
        oCmd6.ExecuteNonQuery()
        oCmd7.ExecuteNonQuery()
        oCmd8.ExecuteNonQuery()
        oCmd9.ExecuteNonQuery()
        oCmd10.ExecuteNonQuery()
        objekkoneksi.Close()
        MsgBox("Succeed")
    End Sub

    Private Sub btnprint_Click(sender As Object, e As EventArgs) Handles btnprint.Click
        Formreport.Show()
    End Sub



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




    Private Sub cbtipe_Leave(sender As Object, e As EventArgs) Handles cbtipe.Leave

        tipeng = cbtipe.Text
        Select Case tipeng
            Case "Commoner"
                biayadasar = 50000
            Case "Turbocharged"
                biayadasar = 100000
        End Select
        txtbiaya.Text = biayadasar


    End Sub

    Private Sub cbtipe_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbtipe.SelectedIndexChanged

    End Sub


    Private Sub btnperhitungan_Click(sender As Object, e As EventArgs) Handles btnperhitungan.Click
        berat = txtberat.Text

        jarak = txtjarak.Text

        tipbar = cbtipebarang.Text


        itung1 = berat * biayadasar
        itung2 = (jarak * biayadasar) / 2
        itung3 = itung1 + itung2
        itung4 = (itung3 * 50) / 100
        Select Case cbtipebarang.Text
            Case "Fragile"
                total = itung3 + itung4
            Case Else
                total = itung3

        End Select
        txttotal.Text = total
    End Sub

    Private Sub btndel_Click(sender As Object, e As EventArgs) Handles btndel.Click
        Dim hapus As String = "Delete From [tbpos] where [IDtransaksi]='" & txtid.Text & "'"
        Dim oCMD = New OleDbCommand(hapus, objekkoneksi)
        oCMD.ExecuteNonQuery()
        objekkoneksi.Close()
        txtpengirim.Clear()
        txtpenerima.Clear()
        txtbiaya.Clear()
        txtjarak.Clear()
        txtberat.Clear()
        txtbarang.Clear()
        cbtipe.Text = ""
        txtbiaya.Clear()
        cbtipebarang.Text = ""
        txtid.Clear()
        txttotal.Clear()
        dtpbar.Value = Date.Now
        txtid.Focus()

        MsgBox("Data Terhapus")
    End Sub

    Private Sub Label11_Click(sender As Object, e As EventArgs) Handles Label11.Click

    End Sub
End Class

Form kedua dan ketiga tidak memiliki coding,hanya drag and drop/ dari toolbox saja.


Sekian dan terima kasih

Thursday 17 November 2016

Program Automation Word & Excel

1. Penjelasan Program Aplikasi

Aplikasi ini digunakan untuk membuat bukti transfer uang dari pengirim ke penerima,beserta mencatat transaksinya di buku besar.
word digunakan untuk membuat bukti transfer uang, sedangkan excel digunakan untuk buku besar nya.

pada awal program, anda diminta untuk mencari file excel yang akan dipakai sebagai buku besar.
kemudian, anda juga diminta untuk mencari file word untuk digunakan sebagai base bukti transfer.
kedua pertanyaan akan muncul dalam bentuk openfiledialog.

Yang harus diinput antara lain:

Kode Transaksi
Nama pengirim
Nama penerima
Jumlah uang yang dikirim

kemudian anda klik button "cetak bukti transfer" untuk mencetak bukti transfer berbentuk word.
setelah ini akan muncul savefiledialog yang meminta anda untuk menulis alamat yg dituju beserta nama word baru untuk bukti transfer nya.

klik button "catat transfer ke buku besar" untuk menginput data nya ke buku besar berbentuk excel

sebagai fitur tambahan, anda juga bisa meng-clear isi excel dengan mengklik tombol "Hapus isi file excel"
2. Screen Shoot



3. Source Code







Imports Excel = Microsoft.Office.Interop.Excel
Imports Word = Microsoft.Office.Interop.Word
Public Class Form1




    Dim app As New Excel.Application

    Dim book As Excel.Workbook

    Dim row As Long
    Dim sheet As Excel.Worksheet

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        MsgBox("Pilih alamat dimana file master excel berada")
        ofdexcel.ShowDialog()

        MsgBox("Pilih alamat dimana file master word berada")
        ofdword.ShowDialog()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MsgBox("Pilih alamat dimana file anda akan di save")
        svdword.ShowDialog()

        Dim myWordapp As New Word.Application
        Dim myWordDoc As New Word.Document

        myWordDoc = myWordapp.Documents.Open(ofdword.FileName)

        myWordDoc.Bookmarks("no").Select()
        myWordapp.Selection.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
        myWordapp.Selection.Font.Size = 11
        myWordapp.Selection.TypeText(txtno.Text)


        myWordDoc.Bookmarks("penerima").Select()
        myWordapp.Selection.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
        myWordapp.Selection.Font.Size = 11
        myWordapp.Selection.TypeText(txtpenerima.Text)

        myWordDoc.Bookmarks("pengirim").Select()
        myWordapp.Selection.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
        myWordapp.Selection.Font.Size = 11
        myWordapp.Selection.TypeText(txtnama.Text)

        myWordDoc.Bookmarks("uang").Select()
        myWordapp.Selection.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
        myWordapp.Selection.Font.Size = 11
        myWordapp.Selection.TypeText(txtuang.Text)


        myWordDoc.SaveAs(svdword.FileName)
        myWordapp.Visible = True
        MsgBox("Bukti Transfer telah dicetak!")
    End Sub


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


        book = app.Workbooks.Open(ofdexcel.FileName)
        sheet = book.Sheets("Sheet1")

        row = sheet.Range("A" & sheet.Rows.Count).End(Excel.XlDirection.xlUp).Row


        app.Range("A1").Value = "Kode Transfer"
        app.Range("B1").Value = "No. Pengirim"
        app.Range("C1").Value = "No. Penerima"
        app.Range("D1").Value = "Jumlah Uang"

        app.Range("A" & row + 1).Value = txtno.Text
        app.Range("B" & row + 1).Value = txtnama.Text
        app.Range("C" & row + 1).Value = txtpenerima.Text
        app.Range("D" & row + 1).Value = txtuang.Text

        book.Save()
        MsgBox("Data telah berhasil diinput kedalam excel!")
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        book = app.Workbooks.Open(ofdexcel.FileName)
        sheet = book.Sheets("Sheet1")

        app.Range("A1:D99").Clear()
        book.Save()
        MsgBox("Data di excel telah terhapus!")
    End Sub
End Class




















Sekian Dan Terima Kasih.

Saturday 11 June 2016

Tugas UAS Konsep Pemrogaman,3 in 1 program C++



Penjelasan Program:
Program ini menggunakan string,array,structure,dan class.
Pada awal program anda diminta untuk memasukkan angka untuk menjalankan program yang anda inginkan.

Ø  Masukkan 1 untuk aplikasi Structure&string
Ø  Masukkan 2 untuk aplikasi Class
Ø  Masukkan 3 untuk aplikasi Array

Source Codenya:

// MFadhilRamli1506175803UASKONSEP.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int angka[2][5] = { { 5, 10, 15, 20, 25 }, { 2, 4, 6, 8, 10 } };

class band{
public:
       int konser(int bil1, int bil2, int bil3){
              int konser = bil1 - bil2 * bil3;
              return konser;

       }
                             


}ticketing;

struct keteranganlulus{
       int MuhammadFadhilRamli1506715803;
       char nama[20];
       int tugas;
       int quiz;
       int uts;
       int uas;
       int nilaiakhir;
       char keterangan[50];
       char grade[50];
}ket1;




int main()
{
       int a;

       cout << "Masukkan 1 untuk aplikasi Structure&string "<< endl;
       cout << "Masukkan 2 untuk aplikasi Class " << endl;
       cout << "Masukkan 3 untuk aplikasi Array " << endl;
       cin >> a;

       switch (a) {

       case 1:

              cout << " Ini adalah aplikasi untuk menentukan apakah anda Lulus atau tidak,beserta grade anda. outputnya ditentukan oleh berapa banyak nilai yang anda input. nama dan NPM tidak berpengaruh apa apa." << endl;
              cout << "Masukkan NPM anda : ";
              cin >> ket1.MuhammadFadhilRamli1506715803;
              cout << "Masukkan nama Anda : ";
              cin >> (ket1.nama);
              cout << "Masukkan nilai tugas anda : ";
              cin >> ket1.tugas;
              cout << "Masukkan nilai quiz anda : ";
              cin >> ket1.quiz;
              cout << "Masukkan nilai uts anda : ";
              cin >> ket1.uts;
              cout << " Masukkan nilai uas anda : ";
              cin >> ket1.uas;

              ket1.nilaiakhir = (ket1.tugas * 30 / 100) + (ket1.quiz * 10 / 100) + (ket1.uts * 30 / 100) + (ket1.uas * 30 / 100);

              if (ket1.nilaiakhir >= 65)
              {
                     strcpy(ket1.keterangan, "LULUS");
              }
              else strcpy(ket1.keterangan, "TIDAK LULUS");

              if (ket1.nilaiakhir >= 80)
              {
                     strcpy(ket1.grade, "A");
              }
              else if (ket1.nilaiakhir >= 70) {
                     strcpy(ket1.grade, "B");
              }
              else if (ket1.nilaiakhir >= 65)
              {
                     strcpy(ket1.grade, "C");
              }

              else if (ket1.nilaiakhir >= 55)
              {
                     strcpy(ket1.grade, "D");
              }
              else if (ket1.nilaiakhir <= 54)
              {
                     strcpy(ket1.grade, "E");
              }



              cout << "NPM = " << ket1.MuhammadFadhilRamli1506715803 << endl;

              cout << "Nama Mahasiswa = " << ket1.nama << endl;

              cout << "Nilai Tugas = " << ket1.tugas << endl;
              cout << "Nilai Quiz = " << ket1.quiz << endl;
              cout << "Nilai UTS = " << ket1.uts << endl;
              cout << "Nilai UAS = " << ket1.uas << endl;
              cout << "Nilai Akhir = " << ket1.nilaiakhir << endl;
              cout << "Keterangan = " << ket1.keterangan << endl;
              cout << "Grade = " << ket1.grade << endl;



                     break;

       case 2:
              int bayar, bilang1, bilang2, bilang3;
              double luas;
              cout << " Ini adalah aplikasi membayar tiket konser,outputnya adalah uang yg masih harus dibayar/kembalian anda.hasilnya tergantung dr brp banyak tiket yang dibeli,dan harganya." << endl;
             
              cout << " Masukkan uang yang anda keluarkan:" << endl;

              cin >> bilang1;
              cout << "Masukkan harga tiket konsernya: ";
              cin >> bilang2;
              cout << "Masukkan jumlah tiket yang anda beli : ";
              cin >> bilang3;
              bayar = ticketing.konser(bilang1, bilang2, bilang3);
              cout << "sisa uang anda / biaya yang harus anda bayar(apabila hasilnya minus) :  " << bayar << endl;
              cout << endl;


                           break;

       case 3:
              int angka1,angka2;
              cout << "Telah dideklarasi Array seperti berikut ini : int angka[2][5] = { { 5,10,15,20,25 }, { 2,4,6,8,10 } }" << endl;
              cout << "tentukan baris dan kolom array untuk mengeluarkan angka yg ingin di output:  " << endl;
              cout << "masukkan baris" << endl;
              cin >> angka1;
              cout << "masukkan kolom" << endl;
              cin >> angka2;
              cout <<"Angka yang dipanggil adalah : " << angka[angka1][angka2] << endl;
              cout << endl;
             
             

              break;
       }
      


                                   

      







       system("PAUSE");
       return 0;
}

Screen Shoot: