Arsip untuk kategori ‘Pemrograman Visual’
Aplikasi Konversi Panjang Sederhana dengan VB2008
Berawal dari ada salah satu temen kuliah saya di Trunojoyo yang bertanya gimana sih cara membuat Aplikasi Konversi Panjang dengan menggunakan Array di VB 2008 yang sekaligus mau dipakai demo pas UAS nanti, oleh karena itu saya ingin sedikit berbagi kepada teman-teman di seluruh Indonesia. Berikut langkah-langkah membuat aplikasi konversi panjang sederhana :
- Buatlah form seperti gambar di bawah ini
- Ketikkan Kode berikut ini
Public Class Form1
Dim satuan() As String = {"", "Inchi", "Fathom", "Foot", "Furlong", "Kilometer", "Meter", "Mile", "Rod", "Yard"}
Dim feet() As Double = {0, 0.0833, 6, 1, 660, 3281.5, 3.28155, 5280, 16.5, 3}
Dim hasil As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 1 To 9
ListBox1.Items.Add(i & ". " & satuan(i))
Next
End Sub
Private Sub cmdconvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdconvert.Click
hasil = Val(nilai.Text * feet(txtfrom.Text))
hasil = Val(hasil / feet(txtto.Text))
txthasil.Text = FormatNumber(hasil, 2, TriState.True, TriState.False)
End Sub
End Class
Berikut Penjelasan dari kode tersebut
Dim satuan() As String = {"", "Inchi", "Fathom", "Foot", "Furlong", "Kilometer", "Meter", "Mile", "Rod", "Yard"}
Dim feet() As Double = {0, 0.0833, 6, 1, 660, 3281.5, 3.28155, 5280, 16.5, 3}
Dim hasil As Double
Kode diatas adalah pendeklarasian Array satuan dan Feet serta variable hasil
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 1 To 9
ListBox1.Items.Add(i & ". " & satuan(i))
Next
End Sub
Kode diatas di gunakan untuk menampilkan data pada Array Satuan pada Listbox1
Private Sub cmdconvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdconvert.Click
hasil = Val(nilai.Text * feet(txtfrom.Text))
hasil = Val(hasil / feet(txtto.Text))
txthasil.Text = FormatNumber(hasil, 2, TriState.True, TriState.False)
End Sub
Kode Diatas adalah Code untuk Konversi dari ke-9 satuan tersebut.
Program diatas dapat didownload di link berikut ini
Oiza… temen2 jangan lupa ngasih Saran dan kritik yang habis view… oke.. Trims
Contoh Jawaban Tugas 4 PV
setelah pulang dari kuliah Bahasa Inggris dan Fisika,,, enaknya ngapain ya,,, eh.. ngerjakan Tugas PV aja ah,,,
saya tidak begitu mahir dalam pemrograman komputer dan juga dalam penguasaan bahasa inggris, saya cuma seorang mahasiswa biasa, jadi apabila ada yang salah dalam mengartikan atau memahami soal tolong diperbaiki lagi ya teman-teman,,,,
oiza untuk yang nomer 6 tidak wajib dikerjakan karena berupa program / aplikasi
Teman-teman berikut contoh tugas PV yang telah saya kerjakan silahkan di download dibawah ini :
NB : untuk tulisan yang saya blok dengan warna kuning itu jawabannya,,, dan yang tidak berarti soalnya,,,,
untuk yang mata kuliah APLRO nya Bu Noorifada jangan lupa ya handout matakuliahnya untuk pertemuan ke 6 dan ke 7 didownload di blognya bu noorifada,,, Besok materinya tentang “LOOPING [Perulangan]” dipelajari dulu za….. biar pas kuliah enak,,,,
Operasi Matematika pada VB
Operator Bilangan
|
Operator
|
Gunanya
|
Format
|
Contoh
|
|
^
|
Pangkat
|
x ^ y
|
3 ^ 2 =9
|
|
-
|
Negatif
|
- y
|
- 9
|
|
*
|
Perkalian
|
x * y
|
3 * 2 = 6
|
|
/
|
Pembagi real
|
x / y
|
5 /2 = 2.5
|
|
\
|
Pembagi Integer
|
x \ y
|
5 / 2 = 2
|
|
mod
|
Modulo (sisa pembagian)
|
x mod y
|
5 mod 2 = 1
|
|
+
|
Tambah
|
x +y
|
2 + 4 = 6
|
|
-
|
Kurang
|
x – y
|
4 -2 = 2
|
Fungsi Matematik Internal
VB menyediakan fungsi matematika siap pakai untuk manipulasi variabel.
| Fungsi | Contoh | Penjelasan |
| Abs(x) | a = abs(-32) ‘a=32 | nilai absolut x |
| Atn(x) | Nilai arcus tangent x | x dalam radian : degree = radian * 180/phi |
| Cos(x) | Nilai cosinus x | x dalam radian |
| Exp(x) | Nilai exponensial x | |
| Fix(x) | fix(3.2) = 3
fix(-3.2) = -3 |
mencari integer bilangan pecah, untuk bilangan negatif; mencari bilangan pertama > x |
| Int(x) | int(5.4) = 5
int(-5.4) =-6 |
Bilangan negatif; mencari bilangan pertama <=x |
| Log(x) | nilai natural log x | |
| Rnd(x) | 0 <= hasil random <1
nilai x menentukan hasil random |
sebelumnya gunakan perintah Randomize untuk memastikan bahwa hasil Rnd(x) selalu beda |
| Sgn(x) | menghasilkan :
1 bila x > 0 0 bila x = 0 -1 bilaa x < 0 |
|
| Sin(x) | A = SQR(16) ‘A=4
A = SQR(-16) ‘error |
nilai cosinus x dalam radian |
| Sqr(x) | Akar bilangan x | |
| Tan(x) | Q = Tan(45*phi/180) ‘Q=1 | nilai tangent x dalam radian
phi=3.141592653589732 |
Derifat Fungsi Matematika
Fungsi matematika yang tidak ada dapat diderifasi dari fungsi yang tersedia.
| Fungsi | Derifat Sepadan |
| Secant | Sec(X) = 1 / Cox(X) |
| Cosecant | Cosec(X) = 1 / Sin(X) |
| Cotangent | Cotan(X) = 1 / Tan(X) |
| Inverse Sinus | Arcsin(X) = Atn(X / Sqr(-X * X +1)) |
| Inverse Cosinus | Arcos(X) = Atn( -X / Sqr(-X * X +1)) + 2 * Atn(1) |
| Inverse Secant | Arsec(X) = 2 * Atn(1) – Atn(Sgn(X) / Sqr(X * X -1)) |
| Inverse Cosecant | Arccosec(X) = Atn(Sgn(X) / Sqr(X * X -1)) |
| Inverse Cotangen | Arccotan(X) = 2 * Atn(1) – Atn(X) |
| Hyperbolic Sinus | HSin(X) = (Exp(X) – Exp(-X)) / 2 |
| Hyperbolic Cosinus | HCos(X) = (Exp(X) + Exp(-X)) / 2 |
| Hyperbolic Tangent | HTan(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X)) |
| Hyperbolic Secant | HSec(X) = 2 / (Exp(X) + Exp(-X)) |
| Hyperbolic Cosecant | HCosec(X) = 2 / (Exp(X) – Exp(-X)) |
| Hyperbolic Cotangent | HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X)) |
| Inverse Hyperbolic Sinus | HArcsin(X) = Log(X + Sqr(X * X + 1) |
| Inverse Hyperbolic Cosinus | HArccos(X) = Log(X + Sqr(X * X – 1) |
| Inverse Hyperbolic Tangent | HArctan(X) = Log(1 + X) / (1 – X)) / 2 |
| Inverse Hyperbolic Secant | HArcsec(X) = Log((Sqr(-X * X +1) + 1) / X) |
| Inverse Hyperbolic Cosecant | HArccosec(X) = Log(Sgn(X) * Sqr(X * X +1) + 1) / X) |
| Inverse Hyperbolic Cotangent | HArcotan(X) = Log((X + 1) / (X – 1)) / 2 |
| Logaritgm ti base N | LogN(X) = Log(X) / Log(N) |
Fungsi Manipulasi Bilangan
VB mempunyai fungsi untuk memanipulasi data numerik sebagai berikut :
Round : membulatkan bilangan cacah dengan jumlah desimal tertentu
MyValue = Round(33.4549, 2) ‘hasil 33.45
MyValue = Round(33.455, 2) ‘hasil 33.46
MyValue = Round(33.456, 2) ‘hasil 33.46
Val : menghasilkan bilangan numerik dari suatu variabel string
MyValue = Val(“2457”) ‘hasil 2457
MyValue = Val(“2 4 5 7”) ‘hasil 2457
MyValue = Val(“24 and 57”) ‘hasil 24
Str : menghasilkan variabel string (Variant) dari ekspresi numerik
MyString = Str (459) ‘hasil “459”
MyString = Str (-459.65) ‘hasil “-459.65”
MyString = Str (459.001) ‘hasil “459.001”
Hex : menghasilkan nilai hexadesimal dari suatu bilangan
MyHex = Hex(5) ‘hasil 5
MyHex = Hex(10) ‘hasil A
MyHex = Hex(459) ‘hasil 1CB
Oct : menghasilkan nilai octal dari setiap bilangan
MyOct = Oct(4) ‘hasil 4
MyOct = Oct(8) ‘hasil 10
MyOct = Oct(459) ‘hasil 713
Validasi Inputan Angka pada VB
Untuk menghindari inputan berupa huruf dari user maka kita perlu melakukan validasi terhadap inputan tersebut. Di sini saya akan menerangkan bagaimana metode validasi bekerja.
Pertama buatlah Project Baru. Kemudian buatlah textbox pada sebuah form dan beri nama textbox itu text1.
Selanjutnya click dua kali textbox tersebut, maka akan muncul tampilan view code. Kemudian isilah script sebagai berikut :
Private Sub Text1_Change()
Dim betul As Boolean
betul = True
If Text1.Text <> “” Then
jumlah = Len(Text1.Text)
For i = 1 To jumlah
If Asc(Right(Text1.Text, i)) < 48 Or Asc(Right(Text1.Text, i)) > 57 Then
betul = False
End If
Next i
If betul = False Then
MsgBox “harus angka”
Text1.Text = “”
Text1.SetFocus
End If
End If
End Sub
Penjelasan :
Pengecekan angka terjadi pada baris ke-7, yaitu pengecekan code ASCII dari inputan, jika kurang dari 48 dan lebih dari 57 maka inputan bukan angka.
Membuat Aplikasi dengan Visual Basic.Net 2008 – 3
Ok, sorry rada telat postingnya.. kemarin sempat ada proyek n juga beberapa hari kemarin lagi sakit.
Langsung aja, di tutorial ke-2 kemarin kita telah sedikit mengenal tentang LINQ dan juga telah membuat suatu form barang. Kali ini kita akan mencoba menambahkan kode-kode yang akan diproses oleh tiap tombol dalam form barang tersebut. Untuk kali ini validasi dalam setiap proses akan diabaikan terlebih dahulu, nanti pasti menyusul…
Sebagai tambahan, lebih tepatnya “update”, pada tiap tabel dalam database semua yang bertype nchar di ubah ke nvarchar.. tanya kenapa??
Sebelum dilanjutkan, ada baiknya semua kode-kode dalam form barang di hapus dahulu, kecuali, kode-kode di bawah ini:
- Public Class frmBarang
- Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- End Sub
- End Class
1. Dekarasi beberapa variabel umum
Masukkan kode berikut pada bagian atas setelah Public Class frmBarang :
- Private db As New DataClasses1DataContext
- Private edit As Boolean
1.a. Sub Procedure buka
Digunakan untuk mengunci dan membuka TextBox dan ComboBox dalam frmBarang:
- Private Sub buka(ByVal t As Boolean)
- Dim daftarTextBox = From myControl In Me.Controls _
- Where TypeOf myControl Is TextBox _
- Select myControl
- For Each myTeksBoks As TextBox In daftarTextBox
- If t Then
- myTeksBoks.Enabled = True
- Me.cmbKodeKategori.Enabled = True
- Else
- myTeksBoks.Enabled = False
- Me.cmbKodeKategori.Enabled = False
- End If
- Next
- End Sub
1.b. Sub Procedure isiCombo
Digunakan untuk mengisi daftar kategori untuk ComboBox pada frmBarang:
- Private Sub isiCombo()
- Me.cmbKodeKategori.ResetText()
- Dim cmbKate = From kategori In db.kategoris _
- Select kategori.NmKategori
- For Each kate As String In cmbKate
- Me.cmbKodeKategori.Items.Add(kate)
- Next
- End Sub
1.c. Sub Procedure resData
Digunakan untuk me-refresh (mengisi) data dalam DataGridView1 dengan data yang baru (Kodenya sedikit berbeda dari tutorial 2 kemarin):
- Private Sub resData()
- Dim qBarang = From barang In db.barangs _
- Join kategori In db.kategoris _
- On kategori.KDKategori Equals barang.KDKategori _
- Select Kode = barang.KDBarang, Nama = barang.NmBarang, _
- Kategori = kategori.NmKategori, Jumlah = barang.Jumlah, Harga = barang.HargaJual
- Me.DataGridView1.DataSource = qBarang
- End Sub
1.d. Sub Procedure dgKlik
Digunakan untuk mengisi tiap TextBox dan ComboBox berdasarkan data yang ada dalam DataGridView1 saat setiap kali data dalam DataGridView1 dipilih.
- Private Sub dgKlik()
- Try
- Me.txtKodeBarang.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value
- Me.txtNamaBarang.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value
- Me.txtJumlah.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value
- Me.txtHarga.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value
- Dim dkate = From kategori In db.kategoris _
- Where kategori.NmKategori Is Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value _
- Select kategori.NmKategori
- Me.cmbKodeKategori.Text = dkate.Single
- Catch ex As Exception
- MessageBox.Show(“Error: ” & ex.Message)
- End Try
- End Sub
1.e. Sub Procedure resTeks
Digunakan untuk mengosongkan semua TextBox dan Combobox dalam frmBarang :
- Private Sub resTeks()
- isiCombo()
- Dim daftarTextBox = From myControl In Me.Controls _
- Where TypeOf myControl Is TextBox _
- Select myControl
- For Each myTeksBoks As TextBox In daftarTextBox
- myTeksBoks.Text = “”
- Next
- End Sub
1.f. Function katPerNama
Digunakan untuk mengambil kode Kategori barang berdasarkan nama kategorinya :
- Private Function katPerNama(ByVal n As String) As Integer
- Dim kat As Integer = 0
- Dim kate = From kategori In db.kategoris _
- Where kategori.NmKategori Is n _
- Select kategori.KDKategori
- kat = kate.Single
- Return kat
- End Function
2. DataGridView1_Click
Pada designer view, double klik Control DataGridView1 > akan masuk ke dalam tampilan Code View. Pada bagian Method Name, pilih Click. Lihat Gambar :

Ketikkan kode berikut pada bagian DataGridView1_Click :
- Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.Click
- dgKlik()
- End Sub
3. Sub Procedure Saat Tombol Edit Diklik
Double klik tombol edit dan masukkan kode berikut :
- Private Sub cmdEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEdit.Click
- Me.cmdBaru.Text = “Batal”
- Me.cmdEdit.Enabled = False
- Me.cmdHapus.Enabled = False
- Me.cmdSimpan.Enabled = True
- edit = True
- buka(True)
- Me.txtKodeBarang.Enabled = False
- Me.txtNamaBarang.Focus()
- End Sub
4. Sub Procedure Saat Tombol Baru Diklik
Double klik tombol baru dan masukkan kode berikut :
- Private Sub cmdBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBaru.Click
- If Me.cmdBaru.Text = “Baru” Then
- Me.cmdBaru.Text = “Batal”
- Me.resTeks()
- buka(True)
- Me.DataGridView1.Enabled = False
- Me.cmdSimpan.Enabled = True
- Me.cmdEdit.Enabled = False
- Me.cmdHapus.Enabled = False
- Me.cmdKeluar.Enabled = False
- Me.txtKodeBarang.Focus()
- Else
- Me.cmdBaru.Text = “Baru”
- buka(False)
- Me.DataGridView1.Enabled = True
- edit = False
- Me.cmdSimpan.Enabled = False
- Me.cmdEdit.Enabled = True
- Me.cmdHapus.Enabled = True
- Me.cmdKeluar.Enabled = True
- dgKlik()
- End If
- End Sub
5. Sub Procedure Saat Tombol Simpan Diklik
Double klik tombol simpan dan masukkan kode berikut :
- Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click
- ‘Validasi data inputan, akan dijelaskan nanti…
- If edit Then
- Dim updatebrg = (From barang In db.barangs _
- Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)
- With updatebrg
- .NmBarang = Me.txtNamaBarang.Text
- .KDKategori = katPerNama(Me.cmbKodeKategori.Text)
- .Jumlah = Me.txtJumlah.Text
- .HargaJual = Me.txtHarga.Text
- End With
- Else
- Dim brg As New barang With { _
- .KDBarang = Me.txtKodeBarang.Text, _
- .NmBarang = Me.txtNamaBarang.Text, _
- .KDKategori = katPerNama(Me.cmbKodeKategori.Text), _
- .Jumlah = Me.txtJumlah.Text, _
- .HargaJual = Me.txtHarga.Text}
- End If
- Try
- db.SubmitChanges()
- Catch ex As Exception
- MessageBox.Show(“Error :” & ex.Message)
- End Try
- resData()
- dgKlik()
- buka(False)
- Me.cmdSimpan.Enabled = False
- Me.cmdBaru.Text = “Baru”
- Me.cmdEdit.Enabled = True
- Me.cmdKeluar.Enabled = True
- edit = False
- Me.cmdHapus.Enabled = True
- Me.DataGridView1.Enabled = True
- End Sub
6. Sub Procedure Saat Tombol Hapus Diklik
Double klik tombol hapus dan masukkan kode berikut :
- Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click
- If Me.txtKodeBarang.Text = “” Then Exit Sub
- Dim rep As Integer = MessageBox.Show(“Data tersebut akan dihapus?”, “Konfirmasi”, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
- If rep = MsgBoxResult.No Then Exit Sub
- Dim deleteBrg = (From barang In db.barangs _
- Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)
- db.barangs.DeleteOnSubmit(deleteBrg)
- Try
- db.SubmitChanges()
- Catch ex As Exception
- MessageBox.Show(“Error :” & ex.Message)
- End Try
- resData()
- dgKlik()
- End Sub
7. Sub Procedure Saat Tombol Keluar Diklik
Double klik tombol keluar dan masukkan kode berikut :
- Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click
- Me.Close()
- End Sub
Terakhir, tambahkan kode berikut pada bagian frmBarang_Load :
- Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- resData()
- isiCombo()
- buka(False)
- Me.cmdSimpan.Enabled = False
- t = False
- End Sub
Yups, dengan semua tombol telah memiliki kode masing-masing, coba jalankan program dengan mengklik tanda play atau menekan tombol F5 pada keyboard.
Pada bagian selanjutnya kita akan langsung mencoba membuat form untuk menampilkan data laporan dari data barang yang barusan dibuat..
Selamat bereksperimen semoga sukses… ![]()
Kode Selengkapnya :
- Public Class frmBarang
- Private db As New DataClasses1DataContext
- Private edit As Boolean ‘penentuan apakah sedang dalam proses edit atau bukan
- Private Sub frmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- resData() ‘memanggil sub resData untuk mengisi data ke dalam DataGridView1
- isiCombo() ‘mengisi ComboBox kategori
- buka(False) ‘kunci semua textbox
- Me.cmdSimpan.Enabled = False ‘matikan tombol simpan
- edit = False ‘variabel edit di atur menjadi false
- End Sub
- Private Sub buka(ByVal t As Boolean) ‘enable dan disable control TextBox dan ComboBox
- ‘Pilih semua control yang merupakan TextBox
- Dim daftarTextBox = From myControl In Me.Controls _
- Where TypeOf myControl Is TextBox _
- Select myControl
- ‘Looping setiap control TextBox
- For Each myTeksBoks As TextBox In daftarTextBox
- If t Then
- myTeksBoks.Enabled = True ‘textbox aktif
- Me.cmbKodeKategori.Enabled = True ‘combobox aktif
- Else
- myTeksBoks.Enabled = False
- Me.cmbKodeKategori.Enabled = False
- End If
- Next
- End Sub
- Private Sub isiCombo() ‘Mengisi Combobox dengan daftar kategori dari tabel kategori
- Me.cmbKodeKategori.ResetText() ‘reset Combo kategori
- ‘ambil semua nama kategori dari tabel kategori
- Dim cmbKate = From kategori In db.kategoris _
- Select kategori.NmKategori
- ‘looping setiap hasil dari cmbkate dan tambahkan ke dalam combo kategori
- For Each kate As String In cmbKate
- Me.cmbKodeKategori.Items.Add(kate)
- Next
- End Sub
- Private Sub resData() ‘mengisi ulang data ke dalam DataGridView1
- Dim qBarang = From barang In db.barangs _
- Join kategori In db.kategoris _
- On kategori.KDKategori Equals barang.KDKategori _
- Select Kode = barang.KDBarang, Nama = barang.NmBarang, _
- Kategori = kategori.NmKategori, Jumlah = barang.Jumlah, Harga = barang.HargaJual
- Me.DataGridView1.DataSource = qBarang
- End Sub
- Private Sub resTeks() ‘mengosongkan semua combobox dan textbox
- isiCombo()
- Dim daftarTextBox = From myControl In Me.Controls _
- Where TypeOf myControl Is TextBox _
- Select myControl
- For Each myTeksBoks As TextBox In daftarTextBox
- myTeksBoks.Text = “”
- Next
- End Sub
- Private Sub dgKlik() ‘sub procedure saat baris dalam DataGridView1 diklik
- Try
- Me.txtKodeBarang.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value
- Me.txtNamaBarang.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value
- Me.txtJumlah.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value
- Me.txtHarga.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value
- ‘isi combo kategori berdasarkan kategori tiap barang dari DataGridView1
- Dim dkate = From kategori In db.kategoris _
- Where kategori.NmKategori Is Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value _
- Select kategori.NmKategori
- Me.cmbKodeKategori.Text = dkate.Single
- Catch ex As Exception ‘Jika terjadi error, ya know lah…
- MessageBox.Show(“Error: ” & ex.Message)
- End Try
- End Sub
- Private Function katPerNama(ByVal n As String) As Integer ‘mengambil kode kategori berdasarkan nama kategori
- Dim kat As Integer = 0
- Dim kate = From kategori In db.kategoris _
- Where kategori.NmKategori Is n _
- Select kategori.KDKategori
- kat = kate.Single
- Return kat
- End Function
- Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.Click
- dgKlik() ‘memanggil sub procedure dgKlik saat DataGridView1 diklik.
- End Sub
- Private Sub cmdEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEdit.Click
- ‘saat tombol edit diklik
- Me.cmdBaru.Text = “Batal”
- Me.cmdEdit.Enabled = False
- Me.cmdHapus.Enabled = False
- Me.cmdSimpan.Enabled = True
- edit = True ‘sedang dalam proses edit
- buka(True) ‘buka semua control
- Me.txtKodeBarang.Enabled = False ‘kunci txtKodeBarang
- Me.txtNamaBarang.Focus() ‘Fokuskan cursor pada txtNamaBarang
- End Sub
- Private Sub cmdBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBaru.Click
- ‘Tombol baru diklik
- ‘lakukan pengeceka apakah sekarang tombol baru atau tombol batal
- If Me.cmdBaru.Text = “Baru” Then ‘jika yang diklik tombol baru
- Me.cmdBaru.Text = “Batal” ‘ubah text tombol baru menjadi batal
- Me.resTeks() ‘memanggil sub procedure resTeks : mengosongkan semua teks
- buka(True) ‘buka semua control
- Me.DataGridView1.Enabled = False ‘non aktifkan DataGridView1 sehingga tidak bisa diklik
- Me.cmdSimpan.Enabled = True
- Me.cmdEdit.Enabled = False
- Me.cmdHapus.Enabled = False
- Me.cmdKeluar.Enabled = False
- Me.txtKodeBarang.Focus() ‘Fokuskan cursor pada txtKodeBarang
- Else ‘jika yang diklik adalah tombol baru dengan teks Batal
- Me.cmdBaru.Text = “Baru” ‘ubah teks tombol baru menjadi Baru
- buka(False) ‘Kunci semua kontrol
- Me.DataGridView1.Enabled = True
- edit = False ‘pastikan bukan dalam proses edit
- Me.cmdSimpan.Enabled = False
- Me.cmdEdit.Enabled = True
- Me.cmdHapus.Enabled = True
- Me.cmdKeluar.Enabled = True
- dgKlik()
- End If
- End Sub
- Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click
- ‘Validasi data inputan, belakangan akan dijelaskan…
- If edit Then ‘jika dalam proses edit / tombol edit diklik
- Dim updatebrg = (From barang In db.barangs _
- Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)
- With updatebrg
- .NmBarang = Me.txtNamaBarang.Text
- .KDKategori = katPerNama(Me.cmbKodeKategori.Text)
- .Jumlah = Me.txtJumlah.Text
- .HargaJual = Me.txtHarga.Text
- End With
- Else ‘jika bukan proses edit / tombol baru diklik
- Dim brg As New barang With { _
- .KDBarang = Me.txtKodeBarang.Text, _
- .NmBarang = Me.txtNamaBarang.Text, _
- .KDKategori = katPerNama(Me.cmbKodeKategori.Text), _
- .Jumlah = Me.txtJumlah.Text, _
- .HargaJual = Me.txtHarga.Text}
- End If
- Try
- db.SubmitChanges() ‘simpan semua perubahan, baik itu proses update maupun insert
- Catch ex As Exception
- MessageBox.Show(“Error :” & ex.Message)
- End Try
- resData()
- dgKlik()
- buka(False)
- Me.cmdSimpan.Enabled = False
- Me.cmdBaru.Text = “Baru”
- Me.cmdEdit.Enabled = True
- Me.cmdKeluar.Enabled = True
- edit = False
- Me.cmdHapus.Enabled = True
- Me.DataGridView1.Enabled = True
- End Sub
- Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click
- ‘saat tombol hapus diklik
- If Me.txtKodeBarang.Text = “” Then Exit Sub ‘jika kodebarang kosong, keluar dari sub procedure
- ‘mencoba memastikan apakah data akan benar2 dihapus?
- Dim rep As Integer = MessageBox.Show(“Data tersebut akan dihapus?”, “Konfirmasi”, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
- If rep = MsgBoxResult.No Then Exit Sub ‘jika hasilnya NO, data tidak akan dihapus
- Dim deleteBrg = (From barang In db.barangs _
- Where barang.KDBarang = Me.txtKodeBarang.Text).ToList()(0)
- db.barangs.DeleteOnSubmit(deleteBrg)
- Try
- db.SubmitChanges() ‘simpan semua perubahan ke dalam database
- Catch ex As Exception
- MessageBox.Show(“Error :” & ex.Message)
- End Try
- resData()
- dgKlik()
- End Sub
- Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click
- Me.Close() ‘tutup form
- ‘bisa juga menggunakan : Application.Exit()
- End Sub
- End Class
Sorry kalau masih ada yang keliru atau kesalahan dalam proses penulisan di atas..mohon koreksinya juga.. heheh..e

