24
LAPORAN PEMROGRAMAN BASIS DATA JOB 6 “Aplikasi Transaksi Kelas” Disusun oleh : Nama : Danang Istoe Nugroho NIM : 3.34.12.0.06 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK

LAPORAN PEMROGRAMAN BASIS DATA

Embed Size (px)

DESCRIPTION

Aplikasi Transaksi Kelas

Citation preview

LAPORAN PEMROGRAMAN BASIS DATAJOB 6Aplikasi Transaksi Kelas

Disusun oleh : Nama : Danang Istoe NugrohoNIM : 3.34.12.0.06

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI SEMARANG2014

I. Tujuan Instruksional KhususSetelah menyelesaikan praktikum ini mahasiswa dapat :1. Memahami teknik Query Join untuk menampilkan data yang belum terdapat pada tabel kelas.2. Mempraktikkan teknik Query Join untuk menampilkan data yang belum terdapat pada tabel kelas dengan pemrograman VB.3. Memahami dan mengggunakan Component CheckBox dan ComboBox pada DataGridView4. Memahami konsep update dan delete dengan kondisi perulangan untuk penyimpanan data lebih dari satu.5. Mempraktikkan teknik untuk update dan delete dengan kondisi perulangan penyimpanan data lebih dari satu.

II. Dasar TeoriA. Query JoinInner JoinInner Join adalah perintah untuk operasi penggabungan yang paling umum digunakan dan biasanya dikatakan sebagai default join-type. Inner Join hanya menampilkan data yang benar-benar terdapat di dalam tabel yang saling dihubungkan.SELECT CompanyName, OrderID, OrderDateFROM CustomersINNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID

Left JoinSELECT Customers.CustomerID, Customers.CompanyName,COUNT(Orders.OrderID) AS FrekuensiFROM CustomersLEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerIDGROUP BY Customers.CustomerID, Customers.CompanyNameORDER BY COUNT(Orders.OrderID)

Right JoinPerintah RIGHT JOIN merupakan kebalikan dari LEFT JOIN, yaitu menampilkan semua isi tabel yang disebutkan kedua dalam perintah join. Dalam contoh di atas apabila LEFT JOIN diganti RIGHT JOIN maka semua isi tabel Orders akan ditampilkan semuanya.SELECT Customers.CustomerID, Customers.CompanyName,COUNT(Orders.OrderID) AS FrekuensiFROM CustomersRIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerIDGROUP BY Customers.CustomerID, Customers.CompanyNameORDER BY COUNT(Orders.OrderID)

Full JoinJenis join terakhir adalah FULL JOIN yang menampilkan semua data dari dua tabel yang dihubungkan meskipun terdapat data yang tidak memiliki pasangan di tabel lainnya.

B. Konsep Perulangan Perulangan adalah Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari satu kali. Ada beberapa jenis perulangan pada pemograman diantaranya pada jenis pemorgraman terstruktur kita mengenal jenis perulangan diantaranya do-while , while and for.1. WhilePerulangan while adalah jenis perulangan yang dilakukan pengecekan kondisi terlebih dahulu sebelum dilakukan perulangan. Jika kondisi bernilai benar akan terjadi perulangan jika salah maka akan diloncati atau tidak dieksekusi.While (Kondisi){ Statement }Wend While-wend merupakan sintaks perulangan while pada VB

2. Do-WhilePerulangan do-while adalah jenis perulangan yang sama dengan while tetapi pengecekan while terletak diakhir blok statement. Perulangan akan terjadi minimal 1x terlebih dahulu baru akan dilakukan pengecekan kondisi. Jika kondisi bernilai benar perulangan masih tetap dilakukan dan jika salah akan berhenti.Do{ Statement }Loop While (Kondisi)

3. ForPerulangan for adalah jenis perulangan yang lebih baik dan simple dan sering digunakan karena memiliki counter yang mana akan dimulai pada nilai kondisi awal sampai pada bertambah satu atau berkurang satu.For (Counter = Nilai Awal to End Step Pertambahan/Pengurangan){ Pernyataan }Next

C. Aplikasi Konsep perulangan pada Alur Transaksi KelasKonsep Perulangan untuk : INSERTFor i=0 To Akhir dari Baris Tabel data kelas(Statement berupa Insert Query)Next

UPDATEFor i=0 To Akhir dari Baris Tabel data kelas(Statement berupa Update Query)Next

III. Alat dan Bahan1. PC Processor minimal Pentium IV, RAM minimal 512 MB2. Microsoft Visual Studio 2013 Professional atau versi di bawahnya3. Microsoft Access 2013

IV. Langkah Kerja/Percobaan\1. Langkah pertama adalah membuka aplikasi Visual Studio 2013

2. Buka project Akademik dengan klik pada recent project atau membuka direktori akademik dengan open project.

3. Desain Form5 atau form transaksi kelas seperti berikut :

ObjectPropertiesNilai

Button1NameTextBtnSimpanSimpan

Button2NameTextBtnOKOK

Button3NameTextBtnEdit1OK

Button4NameTextBtnEdit2OK

Button5NameTextBtnEditUbah

Button1NameTextBtnHapusHapus

Label1TextKelas

Label2TextTahun Masuk

Label3TextNama Kelas

Label4TextKelas Baru

Label5TextStatus Mahasiswa

DataGridView1NameDataGridView1

RadioButton1TextNaik Kelas

RadioButton2TextStatus Mahasiswa

CheckBox1TextPilih Semua

4. Langkah selanjutnya adalah memberikan kode program terhadap desain yang sudah dibuat. Ketikkan kode berikut di awal coding :Imports System.DataImports System.Data.OleDbImports System.IO

5. Pada Class Form5 Masukkan kode program berikut :Dim cnnOLEDB As New OleDbConnection Dim cmdOLEDB As New OleDbCommand Dim cmdInsert As New OleDbCommand Dim cmdUpdate As New OleDbCommand Dim cmdDelete As New OleDbCommand Dim strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _ System.Environment.CurrentDirectory & "\Akademik.accdb" Public ADP As OleDbDataAdapter Public DS As New DataSet Public ADP2 As OleDbDataAdapter Public DS2 As New DataSet

6. Klik ganda pada Form5 kemudian Masukkan kode program berikut ini :nnOLEDB.ConnectionString = strConnectionString cnnOLEDB.Open()

Label3.Visible = False Label4.Visible = False Label5.Visible = False TxtEdit1.Visible = False TxtEdit2.Visible = False MskEdit.Visible = False BtnOKEdit1.Visible = False BtnOKEdit2.Visible = False

Kode program diatas memberikan nilai default untuk visibilitas Label dan TextBox diatas menjadi tidak terlihat.7. Klik ganda pada RadioButton1 kemudian masukkan kode program berikut iniPrivate Sub Radio1_CheckedChanged(sender As Object, e As EventArgs) Handles Radio1.CheckedChanged Label3.Visible = True Label4.Visible = True Label5.Visible = False TxtEdit1.Visible = True TxtEdit2.Visible = True MskEdit.Visible = False BtnOKEdit1.Visible = True BtnOKEdit2.Visible = False End Sub

Kode program diatas memberikan nilai visibilitas pada Label dan TextBox yang dipilih menjadi terlihat.8. Klik ganda pada RadioButton2 kemudian masukkan kode program seperti berikut :Private Sub Radio2_CheckedChanged(sender As Object, e As EventArgs) Handles Radio2.CheckedChanged Label3.Visible = False Label4.Visible = False Label5.Visible = True TxtEdit1.Visible = False TxtEdit2.Visible = False MskEdit.Visible = True BtnOKEdit1.Visible = False BtnOKEdit2.Visible = True End Sub

Kode program diatas memberikan nilai visibilitas pada Label dan TextBox yang dipilih menjadi terlihat dan juga memberikan nilai visibilitas tidak terlihat pada Label dan TextBox yang lain.9. Klik ganda pada Button1 Kemudian masukkan kode program berikut ini :Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim query As String query = "SELECT m.NIM, m.Nama_Mhs, k.Kelas FROM Master_Mahasiswa m LEFT JOIN Kelas k ON m.NIM = k.NIM WHERE k.Kelas IS NULL AND MID(m.NIM,6,2)='" & TxtTahun.Text.Substring(2, 2) & "' ORDER BY m.NIM" ADP = New OleDbDataAdapter(query, cnnOLEDB) DS = New DataSet ADP.Fill(DS, "Tabel1")

DataGridView1.Columns.Clear() Dim chk As New DataGridViewCheckBoxColumn() With {.Width = 25} DataGridView1.Columns.Add(chk) chk.HeaderText = "" chk.Name = "chk"

DataGridView1.DataSource = DS.Tables("Tabel1")

Dim cmb As New DataGridViewComboBoxColumn() cmb.HeaderText = "Status" cmb.Name = "cmbStatus" cmb.MaxDropDownItems = 3 cmb.Items.Add("Aktif") cmb.Items.Add("Cuti") cmb.Items.Add("DO")

DataGridView1.Columns.Add(cmb) Dim x As Integer = DataGridView1.RowCount Do x = x - 1 DataGridView1.Rows(x).Cells(4).Value = "Aktif" Loop Until x = 0 End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CheckBox1.CheckedChanged Dim x As Integer = DataGridView1.RowCount If CheckBox1.Checked Then Do x = x - 1 DataGridView1.Rows(x).Cells(0).Value = True Loop Until x = 0 Else Do x = x - 1 DataGridView1.Rows(x).Cells(0).Value = False Loop Until x = 0 End If End Sub

10. Klik ganda pada Button Simpan kemudian masukkan kode program berikut ini :Private Sub BtnSimpan_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnSimpan.Click For i = 0 To DataGridView1.RowCount - 2 Dim NIM As Object = DataGridView1.Rows(i).Cells(1).Value Dim Status As Object = DataGridView1.Rows(i).Cells(4).Value cmdInsert.Parameters.AddWithValue("@NIM", CType(NIM, String)) cmdInsert.Parameters.AddWithValue("@Kelas", CType(Me.TxtKelas.Text, String)) cmdInsert.Parameters.AddWithValue("@Status", CType(Status, String))

If DataGridView1.Item(0, i).Value = True Then Try cmdInsert.CommandText = "INSERT INTO KELAS(NIM,Kelas,Status) VALUES(@NIM,@Kelas,@Status)" cmdInsert.CommandType = CommandType.Text cmdInsert.Connection = cnnOLEDB cmdInsert.ExecuteNonQuery() cmdInsert.Dispose() Catch ex As Exception MsgBox(ex.ToString) End Try End If Next MsgBox("All Records Inserted") DS.Tables("Tabel1").Clear()

DataGridView1.DataSource = DS.Tables("Tabel1") End Sub

Kode Program diatas adalah untuk melakukan simpan data dari datagridview yang telah diberikan tanda centang sebelumnya11. Pada Button Edit masukkan kode program berikut iniDim query As String query = "SELECT m.NIM, m.Nama_Mhs, k.Kelas FROM Master_Mahasiswa m LEFT JOIN Kelas k ON m.NIM = k.NIM WHERE k.Kelas='" & TxtEdit1.Text & "' ORDER BY m.NIM" ADP = New OleDbDataAdapter(query, cnnOLEDB) DS = New DataSet ADP.Fill(DS, "Tabel1") DataGridView1.Columns.Clear()

Dim chk As New DataGridViewCheckBoxColumn() With {.Width = 25} DataGridView1.Columns.Add(chk) chk.HeaderText = "" chk.Name = "chk"

DataGridView1.DataSource = DS.Tables("Tabel1")

Dim cmb As New DataGridViewComboBoxColumn() cmb.HeaderText = "Status" cmb.Name = "cmbStatus" cmb.MaxDropDownItems = 3 cmb.Items.Add("Aktif") cmb.Items.Add("Cuti") cmb.Items.Add("DO") DataGridView1.Columns.Add(cmb) Dim Status As String Status = "SELECT Status FROM Kelas" ADP2 = New OleDbDataAdapter(Status, cnnOLEDB) DS2 = New DataSet ADP2.Fill(DS2, "Tabel2")

For i = 0 To DataGridView1.RowCount - 2 DataGridView1.Rows(i).Cells(4).Value = DS2.Tables("Tabel2").Rows(i)("Status") Next

12. Pada Button Ubah Klik ganda, lalu masukkan kode program seperti beikut ini :Private Sub BtnUbah_Click(sender As Object, e As EventArgs) Handles BtnUbah.Click For i = 0 To DataGridView1.RowCount - 2 cmdUpdate.Parameters.AddWithValue("@Kelas", Me.TxtEdit2.Text) Dim Status As Object = DataGridView1.Rows(i).Cells(4).Value cmdUpdate.Parameters.AddWithValue("@Status", CType(Status, String))

If DataGridView1.Item(0, i).Value = True Then Try cmdUpdate.CommandText = "UPDATE Kelas SET Kelas=@Kelas, Status=@Status" cmdUpdate.CommandType = CommandType.Text cmdUpdate.Connection = cnnOLEDB cmdUpdate.ExecuteNonQuery() cmdUpdate.Dispose() Catch ex As Exception MsgBox(ex.ToString) End Try End If Next MsgBox("All Records Updated") DS.Tables("Tabel1").Clear() DataGridView1.DataSource = DS.Tables("Tabel1") End Sub

Kode Program diatas adalah untuk melakukan update terhadap data dari datagridview yang telah diberikan tanda centang sebelumnya13. Klik ganda pada BtnHapus kemudian masukkan kode program berikut ini :Private Sub BtnHapus_Click(sender As Object, e As EventArgs) Handles BtnHapus.Click For i = 0 To DataGridView1.RowCount - 2 cmdUpdate.Parameters.AddWithValue("@Kelas", Me.TxtHapus.Text) If DataGridView1.Item(0, i).Value = True Then Try cmdUpdate.CommandText = "DELETE FROM Kelas WHERE Kelas=@Kelas" cmdUpdate.CommandType = CommandType.Text cmdUpdate.Connection = cnnOLEDB cmdUpdate.ExecuteNonQuery() cmdUpdate.Dispose() Catch ex As Exception MsgBox(ex.ToString) End Try End If Next MsgBox("All Records Deleted") DataGridView1.DataSource = DS.Tables("Tabel1") End Sub

Kode Program diatas adalah untuk melakukan Delete terhadap data dari datagridview yang telah diberikan tanda centang sebelumnya

V. Lembar KerjaNoPraktikHasil Program

1.Form5Simpan DataTampilan Awal form5

Pada tahun masuk masukkan angka tahun lalu klik OK

Akan muncul daftar NIM dan Nama yang belum mempunyai kelas.Pilih NIM atau Nama dari DataGridView yang akan dimasukkan ke dalam kelas dan pada TextBox Kelas Masukkan nama kelasnya.

Klik Simpan Untuk menyimpan data.

Data akan tersimpan setelah Notidikasi All Record Inserted muncul.Komentar Data yang muncul pada DataGridView diambil dari Tabel Master_Mahasiswa dan Kelas dimana tiap NIM belum mempunyai kelas Data yang sudah mempunyai kelas tidak akan tampil pada DataGridView

2Form5 Edit DataTampilan Edit Data

Pada saat RadioButton Naik Kelas di Klik akan tampil nama kelas dan Kelas Baru

Saat RadioButton Status Mahasiswa dipilih, akan muncul NIM

Untuk melakukan Edit Data, Tuliskan Nama Kelas lalu Klik OK

Kemudian masukkan kelas baru lalu klik Ubah untuk melakukan edit terhadap kelas, tetapi sebelumnya pilih data yang akan dilakukan edit terlebih dahulu.

Data akan berhasil di update jika muncul notifikasi bahwa semua data telah di update.

3Form5Delete Data

Tampilan Awal Delete Data

Untuk menghapus kelas, masukkan Nama Kelas. Lalu Klik Hapus untuk menghapus data kelas.

Data berhasil di delete jika muncul notifikasi semua data telah berhasil dihapus.

Komentar Data yang dihapus adalah data pada tabel kelas, sehingga data pada selain tabel tersebut masih utuh atau tidak akan terhapus sama sekali.

VI. Kesimpulan Pengubahan data bertujuan untuk pengubahan data yang telah tersimpan dalam database, dengan perintah sql Update tablename set field1=@parameters Where field primary key = criteria. Penghapusan data digunakan untuk menghapus dat yang telah tersimpan dalam database dengan perintah sql Delete from tablename Where field primary key = criteria. Pencarian data bertujuan untuk memudahkan dalam pencarian data yang diinginkan oleh pengguna, dengan perintah sql Select from tablename Where field primary key = criteria. Query Join dapat digunakan untuk operasi penggabungan dua atau lebih dari tabel yang akan digunakan pada database sehingga dapat menampilkan record yang mempunyai kondisi yang sama di kedua tabel atau pada salah satu tabel saja. Data yang muncul pada DataGridView diambil dari Tabel Master_Mahasiswa dan Kelas dimana tiap NIM belum mempunyai kelas Data yang sudah mempunyai kelas tidak akan tampil pada DataGridView Teknik komponen CheckBox dan ComboBox pada DataGridView dapat dilakukan untuk memberikan kondisi pada data di DataGridView sehingga dapat dilakukan proses selanjutnya seperti simpan, edit, dan hapus. Perulangan adalah Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari satu kali. Ada beberapa jenis perulangan pada pemograman diantaranya pada jenis pemorgraman terstruktur kita mengenal jenis perulangan diantaranya do-while , while and for. Dengan menggunakan konsep perulangan dapat dilakukan perintah simpan, edit, dan delete dengan jumlah data lebih dari satu.