MODUL PRAKTIKUM PEMROGRAMAN III (VB.NET & MYSQL) MEMBUAT APLIKASI PEMBELIAN SEDERHANA. Oleh : Ilman Kadori, M.Kom.

dokumen-dokumen yang mirip
BAB VIII PENGENALAN DATABASE

PEMROGRAMAN VB.NET. Koneksi Ke Database

Program Database Penjualan Barang

PEMROGRAMAN VB.NET. Sintaks Pada Class

Berikut. langkahnya: Pastikan. anda sudah. - Klik File. Berikut. - Save All

BAB II MICROSOFT VISUAL STUDIO

LAMPIRAN A. Private Sub Menu_utama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

P11 & 12 Operasi DML pada Form Aplikasi (Project Aplikasi Rumah Sakit)

BAB IV IMPLEMENTASI DAN PENGUJIAN


Gratis Tutorial Pemograman Visual Basic MEMBUAT CRUD VISUAL BASIC.NET DATABASE MYSQL

Disini kita akan bahas cara koneksi antara Database MySQL dengan VB.Net 2010, semoga dengan ini E-book ini bisa ingat sepanjang jaman ya ^ ^

MODUL PRAKTIKUM PEMROGRAMAN VISUAL LANJUT

Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran

Materi Pemrograman Database 1 Didik Nugroho,S.Kom,M.kom MODUL III MEMBUAT FORM MENYIMPAN PROSES PEMBELIAN

Crystal Reports (Bagian 2)

PENDAHULUAN. A. Membuat Database dalam SQL SERVER. 1. Klik Kanan pada databases lalu pilih new database


Cara Koneksi Database



PEMROGRAMAN TERSTRUKTUR II

Belajar Cepat Membuat Aplikasi Menggunakan Visual Basic.Net + DB MYSQL


MODUL 4 Pemrograman ADO.NET : Disconnected Environtment

1. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.

Modul x login dan Periode



Source Code Test Program Dengan VB Net


BAB IV IMPLEMENTASI DAN PENGUJIAN

Budi Permana, S.Kom Pendahuluan. Lisensi Dokumen:


MODUL 3 Pemrograman ADO.NET : Connected Environtment


KONEKSI DATABASE SQL DENGAN VB.NET


BAB IV IMPLEMENTASI DAN PENGUJIAN. Dalam pembuatan program ini penulis menggunakan Visual Basic. Net

CRYSTAL REPORT. Menurut Daryanto mengemukakan bahwa Crystal report, yaitu: Crystal report merupakan tool yang sering digunakan untuk membuat laporan.

Form Login Menggunakan Combobox Dengan VB.Net dan MySQL Workbench

BAB IV IMPLEMENTASI DAN PENGUJIAN

PENGKODEAN AKSES FORM SISTEM USER

IMPLEMENTASI PEMROGRAMAN VISUAL BASIC DENGAN DATABASE ACCESS

MODUL 2 SELECTION & LOOPING PADA FORM


SMK BHAKTI NUSANTARA BOJA

Belajar Cepat Membuat Aplikasi Menggunakan Visual Basic.Net + DB MYSQL


MODUL 2 PERANCANGAN INTERFACE

Tutorial, Source code, Request Program Visual Basic

Budi permana, S.Kom

Bahasa Pemrograman-1 (Visual Basic)

Budi Permana, S.Kom Pendahuluan. Lisensi Dokumen:

Merancang Project. Form Module Class Module Report. Form 1, Form 2, Minimarket (NamaProject) Gambar 4.1 Flowchart Project Sistem Informasi Minimarket

Bill of Material. Bab ini menjelaskan mengenai pembuatan form bill of material yang digunakan dalam program aplikasi sistem informasi manufaktur.

Field Tipe Data Size Keterangan userid Text 12 Primary key namauser Text 30 - password Text 8 - akses Text 10 -

PEMROGRAMAN INPUT JURNAL TRANSAKSI

BAB IV IMPLEMENTASI DAN TESTING

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

Aplikasi Login Dengan Database dan Tanpa Database Pada Visual Basic 2010

9 LANGKAH MUDAH KONEKSIKAN VISUAL FOXPRO DENGAN MySQL

Tutorial Untuk Membuat Program Database Mahasiswa Teknik Industri Dengan Menggunakan Koneksi VB.NET Dengan Microsoft Access

MODUL D :// Mahasiswa memahami konsep pembuatan database. Mahasiswa memahami konsep pembuatan program dasar aplikasi database

Sistem Informasi Penggajian Karyawan Berbasis Desktop


Crystal Reports. Metode Pull Mode & Push Mode

Bab XII Mencetak Data SQL Server

MEMBUAT LAPORAN (DATA REPORT)

PEMROGRAMAN VISUAL BASIC

Visual Programming 2. P-14,15 Fery Updi,M.Kom


Pengenalan Microsoft Visual Studio 2010

MEMBUAT APLIKASI MENGGUNAKAN MICROSOFT ACCESS

Budi Permana, S.Kom

Koneksi Visual Basic, MySQL (ODBC) dan Crystal Report

MEMBUAT FORM INPUT DATA DENGAN VB NET 2005 DAN DATABASE MS SQL SERVER 2005 EXPRESS

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. Implementasi perancangan pada sistem informasi perparkiran

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. Implemintasi merupakan kelanjutan dari kegiatan perancangan sistem.

E-Trik Visual C++ 6.0

Bab 4. Hasil Dan Pembahasan

SOLUTIONS DAN PROJECT

TABEL DATABASE TABEL - KODE BARANG TOKO INFOMART BARANG - NAMA BARANG - HARGA


Fakultas Teknologi Informasi UJIAN AKHIR SEMESTER GENAP TAHUN AJARAN 2011/2013

Oleh : Uus Rusmawan Hal - 1 -

Oleh : Uus Rusmawan Hal - 1 -

Query adalah bahasa SQL (Structured Query Language) yang ditampilkan dalam bentuk visual, yang dapat digunakan untuk melihat, memodifikasi dan

BAB 4 HASIL DAN PEMBAHASAN

MEMBUAT KONEKSI MySQL DENGAN DELPHI7. Program yang disiapkan : 1. Delphi 7 2. MySQL. Langkah-langkah :


BAB 4 PROTOKOL TCP UDP - REMOTE

Spesifikasi: Ukuran: 14x21 cm Tebal: 159 hlm Harga: Rp Terbit pertama: Maret 2005 Sinopsis singkat:

Menjelaskan variabel aksi sebagai data string nilai,hasil dan simpan sebagai data double.

Praktikum 6 SubForm dan Kode VBA

Pengenalan APLIKASI DATABASE

LAMPIRAN. Dim WithEvents diagnosa As New DB_MYSQL Dim sql = "select * from gejala order by kode asc"

LAMPIRAN SKRIPSI. A. Lampiran Capture Program. Gambar L.1 Tampilan Layar Menu Home. Gambar L.2 Tampilan Layar Menu Login

MENGGUNAKAN SUB FORM. Adi Rachmanto, S.Kom., M.Kom Program Studi Akuntansi FEB UNIKOM

LAMPIRAN MODUL 3 PERANCANGAN SISTEM INFORMASI

Transkripsi:

MODUL PRAKTIKUM PEMROGRAMAN III (VB.NET & MYSQL) MEMBUAT APLIKASI PEMBELIAN SEDERHANA Oleh : Ilman Kadori, M.Kom.

A. Tools yang di butuhkan 1. Visual Basic 2010 2. Database MYSQL (PhpMyadmin) 3. MySQL Connector Net 4. MySQL Connector ODBC 5. Crystal Report untuk Visual Basic 2010 B. Desain Tampilan Program 1. Form Menu 2. Form Barang

3. Form Supplier 4. Form Pembelian

5. Form Laporan Barang 6. Form Laporan Supplier

7. Form Cetak P.O 8. Form Laporan Pembeliaan C. Perancangan Database 1. Buat Nama Database di PhpMyadmin dengan Nama AplikasiPembelian 2. Buat Tabel-Tabel sebagai berikut: - TabelBarang (KodeBarang Primary Key)

- TabelSupplier (KodeSupp Primary Key) - TabelPembelian (NoTransaksi Primary Key) - TabelPembelianDetail (tidak ada Primary Key tetapi ada Foreign Key)

D. PEMBUATAN MODUL, FORM DAN SCRIPT PROGRAM 1. Modul Koneksi Membuat ModulKoneksi dengan cara: - Klik Menu Project - Klik Add Module - Beri Nama ModulKoneksi - Klik Add - Tulis/Copy script dibawah Imports MySql.Data.MySqlClient Module ModulKoneksi Public Conn As MySqlConnection Public RD As MySqlDataReader Public DA As MySqlDataAdapter Public CMD As MySqlCommand Public DS As DataSet Public simpan, ubah, hapus, sql As String Public Sub bukadb() Dim SQLConn As String SQLConn = "server=localhost;uid=root;pwd=;database=aplikasipembelian" Conn = New MySqlConnection(SQLConn) If Conn.State = ConnectionState.Closed Then Conn.Open() End If End Sub End Module - Kalau terjadi error, cek atau Pastikan MySQL Connector Net sudah terinstall dan sudah di referensikan. Cara menggunakan Referensi MySQL Connector: i. Klik Menu Project ii. Add Reference, muncul jendela

iii. Klik OK 2. Membuat Script Form Barang Imports MySql.Data.MySqlClient Public Class FormBarang Dim id As String Sub isigrid() ModulKoneksi.bukaDB() DA = New MySqlDataAdapter("SELECT * from TabelBarang", Conn) DS = New DataSet DA.Fill(DS, "TabelBarang") DataGridView1.DataSource = DS.Tables("TabelBarang") DataGridView1.ReadOnly = True DataGridView1.Columns(0).Width = 70 DataGridView1.Columns(1).Width = 205 DataGridView1.Columns(2).Width = 80 DataGridView1.Columns(3).Width = 80 DataGridView1.Columns(4).Width = 50 End Sub Sub Bersih() txtkode.text = "" txtnamabarang.text = "" txthargabeli.text = "" txthargajual.text = "" txtstok.text = "" txtkode.focus() txtkode.enabled = False txtnamabarang.enabled = False txthargabeli.enabled = False txthargajual.enabled = False txtstok.enabled = False End Sub Private Sub FormBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call isigrid() End Sub Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click If BtnSimpan.Text = "&Simpan" Then If txtkode.text = "" Then MsgBox("Kode Harus Di isi", MsgBoxStyle.Exclamation, "Peringatan") txtkode.focus() Exit Sub End If Call bukadb() CMD = New MySqlCommand("SELECT KodeBarang from TabelBarang WHERE KodeBarang = '" & txtkode.text & "'", Conn) RD = CMD.ExecuteReader RD.Read() If RD.HasRows Then MsgBox("Maaf, Data dengan Kode tersebut telah ada", MsgBoxStyle.Exclamation, "Peringatan") Else simpan = "INSERT INTO TabelBarang

(KodeBarang,NamaBarang,HargaBeli,HargaJual,Stok) VALUES ('" & txtkode.text & "','" & txtnamabarang.text & "','" & _ txthargabeli.text & "','" & txthargajual.text & "','" & txtstok.text & "')" CMD = New MySqlCommand(simpan, Conn) CMD.ExecuteNonQuery() Call isigrid() BtnSimpan.Text = "&Tambah" Call Bersih() End If Else BtnSimpan.Text = "&Simpan" 'Call Bersih() txtkode.enabled = True txtnamabarang.enabled = True txthargabeli.enabled = True txthargajual.enabled = True txtstok.enabled = True txtkode.focus() End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click id = InputBox("Masukkan Kode ", "Pencarian") If id = "" Then Exit Sub On Error Resume Next Call bukadb() sql = "select * from TabelBarang where KodeBarang='" & id & "'" CMD = New MySqlCommand(sql, Conn) CMD.ExecuteNonQuery() RD = CMD.ExecuteReader RD.Read() If RD.HasRows Then txtkode.text = RD.Item(0) txtnamabarang.text = RD.Item(1) txthargabeli.text = RD.Item(2) txthargajual.text = RD.Item(3) txtstok.text = RD.Item(4) txtkode.focus() RD.Close() Else MsgBox("Data tidak ditemukan", vbinformation, "Message") End If End Sub Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click Try Call bukadb() ubah = "UPDATE TabelBarang SET NamaBarang='" & txtnamabarang.text & "',HargaBeli='" & txthargabeli.text & "',HargaJual='" & txthargajual.text & "',Stok='" &

txtstok.text & "' where KodeBarang = '" & txtkode.text & "'" CMD = New MySqlCommand(ubah, Conn) CMD.ExecuteNonQuery() Call isigrid() BtnSimpan.Text = "&Tambah" Catch ex As Exception MsgBox(ex.ToString, MsgBoxStyle.Critical, "Terjadi Kesalahan") End Try End Sub Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click Dim jawab As String If txtkode.text = "" Then jawab = MsgBox("Yakin Akan menghapus Semua Data?", vbyesno, "Peringatan") If jawab = vbyes Then Try Call bukadb() hapus = "Delete from TabelBarang" CMD = New MySqlCommand(hapus, Conn) CMD.ExecuteNonQuery() Call isigrid() Call Bersih() Catch ex As Exception MsgBox(ex.ToString, MsgBoxStyle.Critical, "Terjadi Kesalahan") End Try End If Else Try Call bukadb() hapus = "Delete from TabelBarang where KodeBarang='" & txtkode.text & "'" CMD = New MySqlCommand(hapus, Conn) CMD.ExecuteNonQuery() Call isigrid() Call Bersih() Catch ex As Exception MsgBox(ex.ToString, MsgBoxStyle.Critical, "Terjadi Kesalahan") End Try End If End Sub Private Sub BtnTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTutup.Click Me.Close() End Sub Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrint.Click FormLaporanBarang.MdiParent = Me FormLaporanBarang.Show() End Sub End Class

3. Membuat Script Form Transaksi Pembelian Imports MySql.Data.MySqlClient Public Class FormPembelian Dim index As Integer = 0 Dim Total As Double = 0.0 Dim cmmd, cmmd1, cmmd2 As MySqlCommand Dim id As String Sub BuatTabel() 'membuat colom pada listview ListView1.Columns.Add("KODE BARANG ", 50, HorizontalAlignment.Center) ListView1.Columns.Add("NAMA BARANG", 150, HorizontalAlignment.Left) ListView1.Columns.Add("HARGA BELI", 90, HorizontalAlignment.Right) ListView1.Columns.Add("JUMLAH", 90, HorizontalAlignment.Right) ListView1.Columns.Add("TOTAL HARGA", 90, HorizontalAlignment.Right) 'menjadikan listview detail artinnya nampak sebagai baris dan kolom ListView1.View = View.Details 'menampilkan garis sebagai pembatas baris dan kolom ListView1.GridLines = True 'untuk membuat seluruh satu baris tersorot saat di klik ListView1.FullRowSelect = True End Sub Private Sub BtnCariSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariSupplier.Click id = InputBox("Masukkan Kode ", "Pencarian") If id = "" Then Exit Sub On Error Resume Next Call bukadb() sql = "select * from TabelSupplier where KodeSupp='" & id & "'" CMD = New MySqlCommand(sql, Conn) CMD.ExecuteNonQuery() RD = CMD.ExecuteReader RD.Read() If RD.HasRows Then txtkodesup.text = RD.Item(0) txtnamasup.text = RD.Item(1) txtkontak.text = RD.Item(2) txtkodebrg.focus() RD.Close() Else MsgBox("Data tidak ditemukan", vbinformation, "Message") End If End Sub Private Sub BtnCariBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariBarang.Click id = InputBox("Masukkan Kode ", "Pencarian") If id = "" Then Exit Sub On Error Resume Next Call bukadb() sql = "select * from TabelBarang where KodeBarang='" & id & "'" CMD = New MySqlCommand(sql, Conn) CMD.ExecuteNonQuery() RD = CMD.ExecuteReader RD.Read()

If RD.HasRows Then txtkodebrg.text = RD.Item(0) txtnamabrg.text = RD.Item(1) txtharga.text = RD.Item(2) txtjumlah.focus() RD.Close() Else MsgBox("Data tidak ditemukan", vbinformation, "Message") End If End Sub Private Sub txtjumlah_textchanged(byval sender As System.Object, ByVal e As System.EventArgs) Handles txtjumlah.textchanged txttotal.text = Val(txtHarga.Text) * Val(txtJumlah.Text) End Sub Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click If txtjumlah.text = "" Then txtjumlah.focus() End If Dim Value() As String = {txtkodebrg.text, txtnamabrg.text, txtharga.text, txtjumlah.text, txttotal.text} Call AddList(Value) Total += CDbl(txtTotal.Text) : txtgrandtotal.text = Format(CDbl(CStr(Total))) txtkodebrg.text = "" txtnamabrg.text = "" txtharga.text = "" txtjumlah.text = "" txttotal.text = "" txtkodebrg.focus() End Sub Sub AddList(ByVal Value() As String) Dim subindex As Integer ListView1.Items.Add("") For subindex = 0 To 4 ListView1.Items(index).SubItems.Add("") ListView1.Items(index).SubItems(subIndex).Text = Value(subIndex) Next index = index + 1 End Sub Private Sub FormPembelian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call BuatTabel() End Sub Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click ListView1.Items.Clear() index = 0 Total = 0

txtgrandtotal.text = "" End Sub Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click Dim counter As Integer Dim sql1, sql2 As String Try Call bukadb() sql1 = "INSERT INTO TabelPembelian(NoTransaksi, Tgl, KodeSupp) VALUES('" & _ txtno.text & "','" & _ Format(Tgl.Value, "yyyy-mm-dd") & "','" & _ txtkodesup.text & "')" cmmd1 = New MySqlCommand(sql1, Conn) Dim x As Integer = cmmd1.executenonquery For counter = 0 To index - 1 sql2 = "INSERT INTO TabelPembelianDetail(NoTransaksi,KodeBarang,Jumlah,totalharga) VALUES('" & _ txtno.text & "','" & _ ListView1.Items(counter).SubItems(0).Text & "','" & _ ListView1.Items(counter).SubItems(3).Text & "','" & _ ListView1.Items(counter).SubItems(4).Text & "')" cmmd2 = New MySqlCommand(sql2, Conn) cmmd2.executenonquery() Next If x = 1 Then MessageBox.Show("DATA PEMBELIAN BERHASIL DISIMPAN") End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub End Class Catatan : - Tgl Transaksi di buat dengan menggunakan object DateTimePicker - Gambar ini dibuat degan menggunakan object ListView

4. Membuat Report/Laporan Data Barang Pastikan MySQL Connector ODBC sudah Terinstall. Buat DSN (Data Source Name) Cara membuat DSN 1. Klik start 2. Control panel 3. System & Security 4. Administrative Tools 5. Data Sources (ODBC) 6. Klik User DSN 7. Klik Add, akan tampil Scroll ke bawah akan tampil pilihan seperti berikut Klik Finish. Akan tampil

8. Contoh Di isi seperti tampilan berikut Di pilihan Database silahkan pilih database yang akan dipakai dan untuk memastikan silahkan klik tombol Test. Jika tidak ada masalah maka akan tampil pesan Connection Succes. 9. Close Kembali Ke Project Aplikasi Pembelian Sederhana: Pastikan Sudah Instal CrystalReport untuk Visual Basic 2010 dan lakukan setting sebagai berikut: o Klik Menu Project o Aplikasi Pembelian Properties, akan tampil jendela berikut o Pilih Advance Compile Options, akan tampil

o Pilih target Framework ke.net Framework 4 o OK, Yes dan Restart VB.Net anda 1. Klik Menu Project 2. Klik Add New Item, akan tampil jendela seperti berikut 3. Klik Reporting 4. Pilih Crystalreports 5. Di Pilihan Name Beri Nama Report misalnya LaporanSupplier.rpt 6. Klik Add, akan muncul tampilan berikut

7. Klik Pilihan As a Blank Report, klik OK akan tampil Menghubungkan ke DSN (ODBC) 1. Klik Kanan Database Field 2. Pilih Database Expert, akan tampil

3. Buat Koneksi Dengan Cara : a. Double Klik Pilihan Create New Connection b. Double klik Pilihan ODBC (RDO) Akan Muncul Konfigurasi Penentuan DSN Yang Dipakai seperti berikut Pilih pembelian, klik Next. Akan tampil

Isi User ID dengan root dan Password kosongkan c. Finish, akan tampil 4. Pilih Tabel Atau View Yang Akan Dibuat Report dengan cara double klik AplikasiPembelian, maka akan tampil Pilih misalnya tabelsupplier, klik tanda maka akan tampil

5. OK, maka akan tampil kembali tampilan berikut 6. Double klik Database Field 7. Double tabelsupplier1, akan tampil

8. Drag kolom-kolom yang ada dan letakkan di bawah Section3 (Details), misalnya seperti berikut 9. Tambahkan Judul Laporan dengan cara klik kanan pada area yg kosong, pilih insert kemudian Text Object. Lihat tampilan

10. Letakkan di bawah Section1 dan tuliskan LAPORAN DATA SUPPLIER 11. Klik kanan tulisan Laporan Data Supplier 12. Pilih Format Object 13. Akan tampil

14. Pilih Paragraph, akan tampil 15. Pilih Alignment dan klik Centered, klik OK 16. Tampilkan hasil sementaranya dengan klik pilihan Main Report Preview

Menggunakan Design Report yang sudah Jadi. 1. Klik menu Project 2. Klik Add Windows Form, akan tampil Tulis nama Form yang akan disimpan, misalnya FormLaporanSupplier 3. Klik Add 4. Akan tampil

5. Klik jendela ToolBox, pilih kelompok Reporting, pilih CrystalReportViewer 6. Drag CrystalReportViewer ke Area Form, akan tampil

7. Klik pilihan, makan akan muncul 8. Klik Choose a CrystalReport, akan tampil

9. Pilih, akan tampil pilihan nama report yang sudah di buat. 10. Pilih LaporanSupplier.rpt 11. OK Memanggil Laporan dari FormMenu 1. Buka FormMenu 2. Pilih Laporan, tampil

3. Double pilihan Data Supplier, dan tuliskan script berikut FormLaporanSupplier.MdiParent = Me FormLaporanSupplier.Show() Memanggil FormLaporan dari Tombol Print di Form Supplier 1. Double klik Tombol Print, dan tuliskan Script berikut FormLaporanSupplier.MdiParent = FormMenu FormLaporanSupplier.Show() 5. Membuat Report PO (Laporan Transaksi) Untuk membuat PO seperti tampilan diatas, kita harus mengingat kembali bagaimana caranya membuat Query di MySQL. Query adalah perintah SQL untuk menampilkan field/kolom dari beberapa tabel yang sudah di Relasikan sebelumnya. Hasil dari Query tersebut nanti di simpan dalam bentuk View. Berikut adalah cara membuat Query (View) di MySQL untuk membuat PO: a. Pastikan semua tabel yang digunakan sudah terhubung (ada primary key atau foreign key di masing-masing tabel) b. Gunakan perintah SELECT kemudian tulis NAMA-NAMA KOLOM(FIELD) yang akan di tampilkan (gunakan tanda koma sebagai pemisah antar kolom). Kemudian FROM TABEL-TABEL yang digunakan (gunakan tanda koma sebagai pemisah antar tabel)

WHERE tulis kolom kunci dari tabel-tabel misalnya (tabelpembelian.notransaksi = tabelpembeliandetail.notransaksi ). Gunakan AND jika ada beberapa kriteria kolom. c. Lihat pembuatan Query untuk membuat CetakPO dibawah : SELECT NoTransaksi,Tgl,kodesupp,supplier,kontak,KodeBarang,NamaBarang,HargaBeli,Jumlah,To talharga FROM tabelpembelian, tabelpembeliandetail, tabelbarang, tabelsupplier WHERE tabelpembelian.notransaksi = tabelpembeliandetail.notransaksi AND tabelpembelian.kodesupp = tabelsupplier.kodesupp AND tabelpembeliandetail.kodebarang = tabelbarang.kodebarang CATATAN : Jika ada error AMBIGU, itu berarti ada nama kolom (Field) yang sama di beberapa tabel. Cara mengatasinya : sebutkan nama tabel sebelum nama kolom yang akan ditampilkan. Contohnya : SELECT tabelpembelian.notransaksi,tgl, tabelsupplier.kodesupp, supplier, kontak, tabelbarang.kodebarang, NamaBarang,HargaBeli,Jumlah,TotalHarga Simpan query yang dibuat dengan nama CetakPO, lihat seperti berikut: Scroll Layar Ke bawah sampai muncul Pilihan Buat Tampilan atau Create View untuk menyimpan hasil query seperti tampilan berikut.

Klik Buat Tampilan, akan tampil jendela Pada pilihan Nama View tulis nama Viewnya. Misalnya CetakPO Kembali ke Aplikasi VB.Net 1. Klik Menu Project

2. Klik Add New Item, akan tampil jendela seperti berikut 3. Klik Reporting 4. Pilih Crystalreports 5. Di Pilihan Name Beri Nama Report misalnya CetakPO.rpt 6. Klik Add, akan muncul tampilan berikut 7. Klik Pilihan As a Blank Report, klik OK akan tampil

Menghubungkan ke DSN (ODBC) 17. Klik Kanan Database Field 18. Pilih Database Expert, akan tampil 19. Karena sebelumya kita sudah membuat Laporan Supplier, maka kita tinggal memilih koneksi yang sudah di buat yaitu Pembelian. 20. Pilih koneksi Pembelian dengan cara Double Klik atau klik tanda (+) di samping Pembelian. Lihat tampilan berikut.

klik tanda maka akan tampil 21. OK, maka akan tampil kembali tampilan berikut

22. Double klik Database Field 23. Double CetakPO1, akan tampil 24. Kik Kanan Pilihan Group Name Fields pilih insert Group

Akan tampil Pilih NoTransaksi dan Klik OK. Hasilnya seperti berikut

25. Aturlah Area Section1 dan Section2 supaya rapat. Sedangkan Section2 dan GroupHeaderSection1 supaya di perlebar jaraknya. Lihat tampilan berikut 26. Tambahkan Text dengan cara klik kanan area yang kosong dan pilih Insert kemudian Text Object untuk membuat judul yaitu PURCHASE ORDER (P.O) seperti berikut

Aturlah sehigga tampil seperti berikut Dengan menambahkan Text Object Buatlah tulisan Nomor P.O seperti berikut

Kemudian Drag object Group #1 Name dan letakkan di samping Nomor P.O yang sudah dibuat. Lihat gambar Berikutya Drag kolom tgl dari cetakpo1 ke area report dan letakkan di bawah section3 (details) seperti berikut

Letakkan tgl yang berada diatas GroupHeaderSection1 dibawah Object Nomor P.O. seperti berikut Letakkan tgl yang berada dibawah Section3 (Details) disamping object tgl seperti berikut

Dengan cara yang sama drag terlebih dahulu kodesupp, supplier,kontak dari CetakPO1 ke area Section3 (Details) lihat tampilannya Atur seperti berikut

drag lagi kodebarang, namabarang, hargabeli, jumlah, totalharga dari CetakPO1 ke area Section3 (Details) lihat tampilannya Tutuplah area antara GroupHeaderSection1 dan Section3. Tampilan seperti berikut

Membuat Grand Total Klik kanan di area report yang kosong, pilih Insert pilih Summary. Lihat tampilan berikut Akan muncul jendela

Pilih cetakpo1.totalharga. klik OK Pilih Sum

Kemudian OK Hasilnya

27. Tampilkan hasil sementaranya dengan klik pilihan Main Report Preview 28. Menambahkan Nomor Urut, klik kanan diarea report yang kosong insert Special Field Record Number. lihat gambar Letakkan objectnya di area section3 (Details) seperti gambar berikut

Ganti Tulisan Record Number yang ada di atas GroupHeaderSection1 menjadi tulisan No. seperti tampilan berikut 29. Untuk mempercantik tambahkan object Box untuk daftar barang seperti tampilan berikut

Sehingga tampil seperti berikut Kemudian tambahkan Line untuk pembatas masing-masing kolom. Seperti berikut

Tambahkan Line kembali untuk membuat garis horizontal Menggunakan Design Report yang sudah Jadi. 12. Klik menu Project 13. Klik Add Windows Form, akan tampil

Tulis nama Form yang akan disimpan, misalnya FormCetakPO 14. Klik Add 15. Akan tampil 16. Klik jendela ToolBox, pilih kelompok Reporting, pilih CrystalReportViewer

17. Drag CrystalReportViewer ke Area Form, akan tampil 18. Klik pilihan, makan akan muncul

19. Klik Choose a CrystalReport, akan tampil 20. Pilih, akan tampil pilihan nama report yang sudah di buat. 21. Pilih cetakpo.rpt 22. OK

Memanggil FormCetakPO dari Tombol Cetak di Form Transaksi Pembelian 2. Double klik Tombol Cetak, dan tuliskan Script berikut Private Sub BtnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCetak.Click If txtno.text = "" Then MsgBox("Nomor PO Kosong", MsgBoxStyle.Exclamation, "informasi") txtno.focus() Else FormCetakPO.CrystalReportViewer1.SelectionFormula = "{cetakpo1.notransaksi}='" & txtno.text & "'" FormCetakPO.CrystalReportViewer1.RefreshReport() FormCetakPO.MdiParent = FormMenu FormCetakPO.Show() Me.Hide() End If