Jumat, 06 Mei 2011

Membuat Program Data Mahasiswa dan Dosen dengan VB

Dim yos As Database
Dim pengki As Recordset

Private Sub Form_Load()
Data1.Visible = False
Set yos = OpenDatabase(App.Path & "/yosvb.mdb")
Set pengki = yos.OpenRecordset("yosmhs", dbOpenTable, dbAppendOnly)
pengki.Index = "yoskumun"
yosform
ynpm.MaxLength = 8
End Sub

Private Sub yosform()
ynpm.Text = ""
ynm.Text = ""
ytmp.Text = ""
ytgl.Text = ""
yjk.Text = ""
yal.Text = ""
yosta.Enabled = True
yossi.Enabled = True
yosha.Enabled = True
yoske.Enabled = True

End Sub



Private Sub yostaktif()
ynm.Enabled = False
ynpm.Enabled = False
ytmp.Enabled = False
ytgl.Enabled = False
yjk.Enabled = False
yal.Enabled = False
yosta.Enabled = True
yossi.Enabled = True
yosha.Enabled = False
yoske.Enabled = True
End Sub

Private Sub ynpm_Change()
If Not pengki.BOF Then
pengki.MoveFirst
End If
pengki.Seek "=", ynpm.Text
If pengki.NoMatch Then
Exit Sub
End If
ynpm.Text = pengki!npm
ynm.Text = pengki!nama
ytmp.Text = pengki!tempat
ytgl.Text = pengki!tgl
yjk.Text = pengki!jk
yal.Text = pengki!almt
yoske.Enabled = True
yosta.Enabled = True
yossi.Enabled = True
yosha.Enabled = True
End Sub

Private Sub yosha_Click()
Dim psn As Integer
psn = MsgBox("Yakin Mau Dihapus....!!!!", vbQuestion + vbYesNo, "pesan")
If psn = vbYes Then
pengki.Delete
ynpm.SetFocus
yosform
End If
End Sub

Private Sub yoske_Click()
Unload Me
End Sub

Private Sub yossi_Click()
pengki.AddNew
pengki!npm = ynpm.Text
pengki!nama = ynm.Text
pengki!tempat = ytmp.Text
pengki!tgl = ytgl.Text
pengki!jk = yjk.Text
pengki!almt = yal.Text

pengki.Update
ynpm.SetFocus
yosform

End Sub

Private Sub yosta_Click()
yosform
ynpm.SetFocus
End Sub

Pembuatan Program Alarm dengan VB

Pada artikel berikut ini anda akan diajak untuk membuat sebuah program pengingat waktu / alarm clock yang sederhana. Anda mungkin pernah bertanya-tanya kenapa pada sistem operasi windows tidak disediakan program pengingat waktu / alarm clock yang sudah built-in, padahal bila anda sering menggunakan outlook maka kita akan sering menggunakan alarm clock yang dapat diatur pada menu calendar, tetapi anda tidak akan membuat yang sekompleks itu.
Program yang akan dibuat relative sederhana hanya mempunyai sebuah form untuk mengatur waktu, pesan yang akan ditampilkan, dan memeilih suara dari alarm tersebut. Pembuatan program ini menggunakan tools Microsoft Visual Basic 2005 Express, anda juga dapat menggunkan program yang lain yang juga berbasis .NET seperti Visual C# 2005 Express. Untuk versi express dapat didownload dan digunakan secara gratis.
Untuk membuat program ini, langkah pertama yang dilakukan adalah:
· Buka program Visual Basic 2005 Express dan buat project windows form baru dengan nama “MyAlarmClock”.
Pada form kosong yang terbuka, tambahkan tiga label, dua textbox, satu DateTimePicker, dan dua button kedalam form tersebut, atur komponen-komponen tersebut hingga tampilannya berubah menjadi seperti berikut:
image
Adapun property-property yang harus dirubah adalah
image
· Kemudian tambahkan komponen ContextMenuStrip kedalam form, dan tambahkan dua submenu berikut ini
image
· Tambahkan komponen NotifyIcon, komponen ini berfungsi untuk menampilkan Ballon Tip berisi pesan pada system try icon. Ubah propery name menjadi “AlarmNotifyIcon” Atur property BalloonTipIcon, BalloonTipText, dan BalloonTipTitle. Jangan lupa untuk mengisi property icon, anda dapat memilih icon apa yang akan digunakan untuk notifikasi, bebas asalkan berekstensi .ico
· Tambahkan komponen Timer kedalam form, ubah property interval menjadi 1000.
· Tambahkan juga komponen OpenFileDialog kedalam form.
· Setelah semua komponen ditambahkan kedalam form dan posisisnya sudah diatur maka sekarang saatnya untuk menambahkan kode programnya.
· Klik kanan pada form kemudian pilih view code, kemudian tuliskan kode berikut:

Public Class frmAlarm

    'property yang digunakan untuk mengambil nilai dari datetimepicker
    Public Property AlarmTime() As DateTime
        Get
            Return dtpAlarm.Value
        End Get
        Set(ByVal value As DateTime)
            dtpAlarm.Value = value
        End Set
    End Property

    'method yang digunakan untuk mengecek alarm, jika jam alarm lebih kecil dari jam sekarang
    'maka dapat disimpulkan waktu tersebut adalah waktu pada hari berikutnya.
    Private Sub RolloverTime()
        If DateTime.Now.TimeOfDay.CompareTo(AlarmTime.TimeOfDay) > 0 Then
            AlarmTime = New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, _
            AlarmTime.Hour, AlarmTime.Minute, AlarmTime.Second)
        Else
            AlarmTime = New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Year, _
            AlarmTime.Hour, AlarmTime.Minute, AlarmTime.Second)
        End If
    End Sub

    'method yang dijalankan ketika Timer dijalankan
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'membandingkan apakah waktu sekarang cocok dengan waktu yang telah diset pada alarm
        If DateTime.Now.CompareTo(AlarmTime) >= 0 Then
            'memastikan apakah alarm berlaku untuk hari ini atau besok
            RolloverTime()

            'pesan yang ditampilkan pada balloon tip
            AlarmNotifyIcon.BalloonTipText = IIf(txtMessage.Text.Length > 0, txtMessage.Text, "Attention!")
            AlarmNotifyIcon.ShowBalloonTip(60000)

            'perintah untuk menjalankan file audio
            If txtSound.Text <> String.Empty Then
                My.Computer.Audio.Play(txtSound.Text, AudioPlayMode.BackgroundLoop)
            End If
        End If

    End Sub

    'method yang dikerjakan ketika button browse diklik
    Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
        'membuka filedialog baru, untuk memilih file yang akan digunakan
        OpenFileDialog1.ShowDialog()
    End Sub

    'jika file pada opendialog sudah dipilih
    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
        txtSound.Text = OpenFileDialog1.FileName
    End Sub

    'pada saat menu setting pada contextmenustrip diklik
    Private Sub SettingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SettingToolStripMenuItem.Click
        'mengarahkan lokasi form sehingga dapat dilihat user
        Me.Location = New Point(100, 100)
    End Sub

    'ketika button OK diklik
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        'mengarahkan lokasi form ketempat yang tidak bisa dilihat oleh user
        Me.Location = New Point(5000, 5000)

        'jika checkbox dicheck maka timer dijalankan
        If chkAlarm.Checked Then
            Timer1.Enabled = True
        Else
            Timer1.Enabled = False
            My.Computer.Audio.Stop()
        End If
    End Sub

    'pada saat pertama kali form diload
    Private Sub frmAlarm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Location = New Point(5000, 5000)
    End Sub

    'pada saat menu Exit pada contextmenustrip diklik
    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Application.Exit()
    End Sub

End Class
Ketika program dijalankan untuk pertama kali maka program akan langsung muncul pada system try icon yang terletak pada status bar windows sebelah kanan bawah, didekat jam sistem. Untuk merubah setting alarm clock maka user dapat mengklik kanan pada tampilan icon dari program tersebut untuk memilih setting. Kemudian user dapat menentukan waktu alarm, pesan, dan memilih suara.
image
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Program Absensi dengan VB

Siapa yang enggak tahu  sih tentang absensi ?, sekolah  bahkan perusahan tak terlepas dari yang anamanya absensi ini ,  kalau biasanya absensi hanya menggunakan secarik kertas tapi kali ini kita coba aplikasikan dengan program komputer , ya …biar lebih keren lah,,,,he….he… :) .
Sebenernya Aplikasi ini bisa dibuat menggunakan banyak program
misalnya Accses, Foxfro, Mysql, SQl ,VB, C++, bahkan MS.Excel.,.
Kalau pake Acses bukan kurang bagus  Cuma sedikit kurang apdol sebab program ini enggak bisa standlone (berdiri sendiri) so kalau komputer kita enggak punya program accses maka program aplikasi enggak bisa jalan , makanya saya mau coba buat pake program Vb, kali ini sya menggukan Vb 6.0.
Letsgo kita mulai…
Dalam palikasi ini kita membutuhkan beberapa Form (tampilan ).
1.      Form Input Data Yang akan diabsesn
2.      Form Absesni
3.      Dan hasil Absensi
Dalam Form input kita membutuhkan beberapa data masukan seperti : No., Nama, Bagian/kelas, tanggal/jam, jenis kelamin .
Data masukan tersebut hanya seabagai contoh , tentunya Anda bisa juga menambahkan yang lainnya sesuai dengan kebutuhan anda . nih dia gambar form input data .
gbr12
Sederhana bukan…..?.
Pada bagian form ini ada bebrapa tool untuk mengolah data ada Datasiswa , Save  data, Delete (hapus) data, .
Cara form ini adalah  ketika kita memasukan data kemudian di klik Save maka data akan tersimpan ke Dalam data Base untuk menyimpan data , untuk menghubugkan ke DataBase kita gunakan jembatan Yaitu tool DataGrid (data siswa).
Jadi yang perlu anda lakukan adalah membuat database sebagai tempat menyimpan data tersebut , caranya cukup mudah .
Pada menu bar Visual  basik Pilih menu AddIns-Visula data Manager, sampai muncul jendela berikut:
gbr2
Dan lakukan seperti pada gambar , coba buat data base dengan Acsess versi 7.0 kemudian simpan dalam folder yang sama dengan project Aplikasi yang kita buat.
Misal  E://Rahmat/AplikasiAbsesi. Langkah selanjutnya kita masukan beberapa fields dalam database tersebut.
gbr3
Disinilah kita akan memasukan data fieldsnya , gamar diatas hnaya contoh aja, pada database ini  .tentunya untuk membuat Rcordnya tidaklah terlalu susah, anda cukup Klik Add Fields, sampai muncul Jendela baru,
gbr4
Masukan nama record yang akan kita gunakan tentukan type , sesuai dengan data yang akan kita masukan sialahkan pilih pada bagian type.jika data yang kita masukan sudah pas sesuai dengan kebutuhan , kemudian klik Add index (Field Kunci/primary key) diharapakan sama dengan nama fields yang anda buat. Kalau hal ini sudah lakukan anda tinggal Klik Build The Table (jika data untuk absensi sekolah baiknya gunakan kelas sebagai primary key dan unique jangan dicheklist biar bisa di duplicate dan field no boleh dihilangkan), menunjukan bahawa tabel ini yakin akan kita buat .
Untuk melihat berhasil atau tidaknya data base yang kita buat , tutp Program vb Kita kemudian kita coba buaka database yang baru aja kita buat caranya sama seperti waktu kita membuat database AddIns-Visula data Manager-muncul jendela-klik Open database – Cari database yang baru aja kita buat
gbr5
Nah itulah hasilnya , kebetulan saya sudah mengisi data-nya , anda cukup klik kanan pada salah satu table  kemudian klik Open .
Ok sekarang kita kembali Ke Form Input data.,seperti yang telah di jelaskan pada bagian ini kita akan memasukan data kedalam database yang terdiri dari No, Nip/nis/Nim, Nama, Jenis kelamin, Tanggal , Kelas/bagian saja .Sementara Alpa, izin, sakit,masuk dan total kita masukan pada form interface Input absensi yang nanti akan kita buat. Dengan menggunakan data base yang telah kita buat . Sebelumnya kita keluarkan dulu tool-tool yang kita butuhkan dalam membuat aplikasi ini ,pada toolbox -klik kanan -lalu pada tab Control pilih komponen berikut ini:
1. Microsoft Data Grid Control 6.0
2. Microsoft FlexGrid Control 6.0
Cukup memberi tanda checklist kemudian klik Apply sampai muncul pada  Toolbox  component seperti gambar berikut ini:
gbr6
Pada bagian sebelah kiri ada beberapa Icon , dan icon-icon itulah yang akan kita gunakan dalam membuat aplikasi ini.
Selanjutnya kita desain Form terlebih dahulu cara nya gampang untk membuat Form baru anda cukup mengklik Menu Project -Add From -Open sampai muncul form seperti gambar berikut ini:
gbr7
Pada form ini terlihat nama form dengan nama Form 3 , tentunya kita bisa menggantinya sesuai kehendak kita misal Aplikasi Absensi , caranya Pada Menu View -klik Properties Windows hingga muncul gambar:
gbr8
Pada bagian alphabetic -caption , kita bisa mengganti Form3 menjadi nama yang lain sedangkan pada bagian (name ) boleh diganti /tidak , karena akan berpengaruh pada saat memasukan script sebaiknya kita biarkan aja , kecuali program yang akan kita sangat Kompleks kita bisa menggantinya untuk membedakan form-from tersebut.
Go nex t (bukan goblok nakat ya!… but is terus…..,…….he….he…J, sekarang kita Buat fields interface menggunakan Label dan text, label sebagai penanda, dan text sebagai tempat menuliskan data input caranya cukup mudah , kita cukup mengklik icon label dengan tanda huruf A:
gbr9
Kemudain klik diarea form tahan untuk menentukan ukurannya , kemudian beri nama baru pada bagian caption dengan nama yang lain :
Kemudian untuk text sama seperti pembutan label klik icon textbox-kemudian drag diarea form3, selanjutnya pada bagian name anda boleh mengganti /biarkan saja , kira hasilnya seperti berikut:
gbr10
Ulangi langkah diatas sesuai dengan banyaknya fields yang kita buat, jika sudah selanjutnya kita akan membuat jembatan DataBase , yaitu menggunkan DataGrid caranya sama saja seperti membuat label dan text hanya saja kita perlu sedikit memodifikasinya di bagian Properties Windows ,letsgo bro….!
gbr111
Perhatikan gambar diatas!, disitu ada Data1  dan inilah yang akan kita gunakan sebagai jembatan Koneksi Ke database kita, Pada bagian Properties windows di bagian DatabaseName , masukan nama Database yang sebelumnya kita buat, diamana akan diminta memasukan Path lokasi tempat kita menyimpan Data tersebut, selanjutya pada bagian Recordsource di properties windows , anda pilih nama tabel yang ada dalam database yang pernah kita buat, misalnya saya memiliki tabel2 dengan nama DataBase tabel1 , kemudian pada Reecordset Type ganti 1-Dynashet menjadi 0-table .
Selanjutnya kita buat command Button sebagai intruksi Perintah terhadap suatu data , kita buat saja sebanyak Dua buah commad , caranya sama sewaktu kita membuat label ,text, dan DataGrid, pada bagian Caption di Proerties windows ganti namanya, umtuk Command 1=Save New Data dan Command2 =Delete/Hapus.,
Selanjutnya klik Icon jam kemudian letakan di From3 pada properties windows di bagian Interval masukan angka 10
secara keseluruhan Form input data akan kira -kira  seperti ini :
gbr121
Giamana bisa kan?, oh ya untuk warna silahkan aja klik-klik di bagian Properties windows mungkin lain kali saya jealaskan …..he….he….
Selanjutnya kita masukan script yang akan menjalankan instruksi untuk menyimpan Fields-fields kedalam database sewaktu kit mengklik Save New Data,
Adapun caranya , pada bagian Save New Data -klik Kanan-View Code atau Double Klik pada Command1= Save New Data
gbr13
Selanjutnya masukan Script berikut ini diantara Private Sub Command1_Click() Dan End Sub, Perlu di perhatikan command1 bisa beruBah jika anda mengubahnya dengan nama lain pada bagian Properties Windows di bagian Name , misalnya Save maka ktika di lihat di double Klik maka yang tampil bukan Command1 melainkan Save.
Oke ini dia scrip yang harus anda masukan pada bagian ini:
————————————————————————————————————
If Text2.Text = “” And Text7.Text = “” Then
x = MsgBox(“Mohon Isi Data Dengan benar!”, vbOKOnly + vbCritical, “Warning!”)
If x = vbOK Then
End If
Else
x = MsgBox(“Anda yakin Ingin Menyimpan Data ini?”, vbYesNo + vbInformation, “Information”)
If x = vbYes Then
Data1.Recordset.AddNew
Data1.Recordset!no = Text1.Text
Data1.Recordset!nip = Text2.Text
Data1.Recordset!nama = Text3.Text
Data1.Recordset!jk = Text7.Text
Data1.Recordset!tgl = Text4.Text
Data1.Recordset!bagian = Text8.Text
Data1.Recordset!masuk = “”
Data1.Recordset!sakit = “”
Data1.Recordset!izin = “”
Data1.Recordset!alpa = “”
Data1.Recordset!total = “”
Data1.Recordset.Update
Data1.Recordset.MoveLast
Else
bersih
End If
End If
Bersih
—————————————————————–
mungkin sedikit ada pertanyaan koq banyak banget ya scriptnya ?, sebenernya script yang pokonya hanya pada bagian yang warna biru , sedangkan warna hijau hanya modifikasi saya aja .
fungsi IF ini memerintahkan agar si user tidak sembarang mengklik , ketika si user mengklik save New data dalam keadaan Tidak mengisi fields-fieldsnya maka akan keluar Informasi “Mohon Isi data dengan Benar”. Tapi jika Nip dan jenis kelamin di isi maka Data akan disimpan di data Base.
Selanjutnya ada :
Data1.Recordset!no = Text1.Text
Data1.Recordset!nip = Text2.Text
Data1.Recordset!nama = Text3.Text
Data1.Recordset!jk = Text7.Text
Data1.Recordset!tgl = Text4.Text
Data1.Recordset!bagian = Text8.Text
Sementara records alpa dan seterusnya saya biarkan kosong ?, pada Tabel1 dalam data base yang kita buat fileds yang kita buat tidak hanya , no,nip,nama, jenis kelamin, tgl dan bagian  tapi alpa, izin, sakit, masuk, sementara pada form input hanya menampilkan no,nip,nama, jenis kelamin, tgl, jika hanya ini saja yang akan kita masukan ke database maka akan terjadi error karena tidak dikenal tabel dengan records seperti itu, makanya tetap saya isi tapi isi data tetap dalam keadan kosong, gitu dech cerintanya…
Lanjut , sakarang Double Klik Command2=delete/hapus kemudian masukan script ini:
Private Sub Command2_Click()
If Text10.Text = “” Then
info
Else
info2
End If
End Sub
Untuk script delete sedikit ya?, he….he…J, sebenernya lumayan juga cuama saya simpan dalam bentuk variable (procedure),  tapi boleh kok di buat langsung !, .scrip info kayak gini:
Private Sub info()
x = MsgBox(“Tidak Ada Object Untuk di Hapus”, vbOKOnly + vbCritical, “Warning!”)
If x = vbOK Then
End If
End Sub
———————————————————–
Untuk info2 :
————————————————————————————————————
Private Sub info2()
x = MsgBox(“Anda Yakin Untuk Menghapus data Ini?”, vbYesNo + vbInformation, “Informasi”)
If x = vbYes Then
If Data1.Recordset(“nip”) = Text10.Text Then
Data1.Recordset.Delete
Data1.UpdateRecord
Else
Data1.Recordset.Cancel
End If
Else
Text10.SetFocus
End If
End Sub
Kemudian hal yang terpenting adalah Menampilkan Tanggal atau jam ketika Form Ini sedang Di Runing,(dijalankan), tanggal sifatnya Update sesuai dengan jam di system komputer sekarang Doubleklik Icon Jam Yang ada di Form3 kemudian masukan script berikut:
————————————————————————————————————
Private Sub Timer1_Timer()
Text4.Text = Format(Date, “dd/mm/yyyy”)
End Sub
—————————————————————–
Mungkin sampai disini udah pada ngerti kan?, untuk melangkah ke sesi lainya yaitu membuat form input Absensi , kita coba di bagian ke II ya?,………..
Untuk lebih jelasnya kira-kira script keseluruhannya adalah Sbb:
————————————————————————————————————
Private Sub Command1_Click()
If Text2.Text = “” And Text7.Text = “” Then
x = MsgBox(“Mohon Isi Data Dengan benar!”, vbOKOnly + vbCritical, “Warning!”)
If x = vbOK Then
End If
Else
x = MsgBox(“Anda yakin Ingin Menyimpan Data ini?”, vbYesNo + vbInformation, “Information”)
If x = vbYes Then
Data1.Recordset.AddNew
Data1.Recordset!no = Text1.Text
Data1.Recordset!nip = Text2.Text
Data1.Recordset!nama = Text3.Text
Data1.Recordset!jk = Text7.Text
Data1.Recordset!tgl = Text4.Text
Data1.Recordset!bagian = Text8.Text
Data1.Recordset!masuk = “”
Data1.Recordset!sakit = “”
Data1.Recordset!izin = “”
Data1.Recordset!alpa = “”
Data1.Recordset!total = “”
Data1.Recordset.Update
Data1.Recordset.MoveLast
Else
bersih
End If
End If
bersih
End Sub
Private Sub bersih()
Text1.SetFocus
Text1.Text = “Isi Data!”
Text2.Text = “”
Text3.Text = “”
Text7.Text = “”
Text8.Text = “”
End Sub
Private Sub Command2_Click()
If Text10.Text = “” Then
info
Else
info2
End If
End Sub
Private Sub Form_Load()
Text2.Text = “”
Text3.Text = “”
Text3.Text = “”
Text4.Text = “”
Text1.Text = “silahkan Isi Data!”
Text7.Text = “”
Text8.Text = “”
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text7.SetFocus
End If
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text8.SetFocus
End If
End Sub
Private Sub Text8_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub
Private Sub Timer1_Timer()
Text4.Text = Format(Date, “dd/mm/yyyy”)
End Sub
Private Sub info()
x = MsgBox(“Tidak Ada Object Untuk di Hapus”, vbOKOnly + vbCritical, “Warning!”)
If x = vbOK Then
End If
End Sub
Private Sub info2()
x = MsgBox(“Anda Yakin Untuk Menhapus data Ini?”, vbYesNo + vbInformation, “Informasi”)
If x = vbYes Then
If Data1.Recordset(“nip”) = Text10.Text Then
Data1.Recordset.Delete
Data1.UpdateRecord
Else
Data1.Recordset.Cancel
End If
Else
Text10.SetFocus
End If
End Sub

Cara Memebuat Kalkulator dengan VB 0.6

Program kalkulator adalah program standar yang sudah tersedia di Microsoft Windows. Tetapi, tak ada salahnya jika kita mencoba membuat kalkulator sendiri dengan Microsoft Visual Basic 6.0.
Pertama-tama, buatlah sebuah form sesuai selera Anda, yang bentuknya kurang lebih seperti
kalkulator standar Windows, seperti ini:




Untuk properties dari masing-masing objek, saya contohkan seperti dibawah ini, dengan letak
masing-masing objek disesuaikan dengan gambar diatas.
Textbox 1:
(Name) : txtDisplay
Alignment: 1-Right Justify
Text : (kosongkan)
Maxlength : 12

Command Button 1:
(Name) : cmdAngka
Index : 1
Caption : 1

Command Button 2:
(Name) : cmdAngka
Index : 2
Caption : 2

Command Button 3:
(Name) : cmdAngka
Index : 3
Caption : 3

Command Button 4:
(Name) : cmdAngka
Index : 4
Caption : 4

Command Button 5:
(Name) : cmdAngka
Index : 5
Caption : 5

Command Button 6:
(Name) : cmdAngka
Index : 6
Caption : 6

Command Button 7:
(Name) : cmdAngka
Index : 7
Caption : 7

Command Button 8:
(Name) : cmdAngka
Index : 8
Caption : 8

Command Button 9:
(Name) : cmdAngka
Index : 9
Caption : 9

Command Button 10:
(Name) : cmdAngka
Index : 0
Caption : 0

Command Button 11:
(Name) : cmdPlusMinus
Caption : +/-

Command Button 12:
(Name) : cmdKoma
Caption : .

Command Button 13:
(Name) : cmdOperator
Index : 1
Caption : +

Command Button 14:
(Name) : cmdOperator
Index : 2
Caption : -

Command Button 15:
(Name) : cmdOperator
Index : 3
Caption : x

Command Button 16:
(Name) : cmdOperator
Index : 4
Caption : /

Command Button 17:
(Name) : cmdClearEntry
Caption : CE

Command Button 18:
(Name) : cmdClear
Caption : C

Command Button 19:
(Name) : cmdSamaDengan
Caption : =

Berikutnya, Anda tinggal membuat coding dari kalkulator tersebut. Jika Anda mengikuti semua
setting properties seperti diatas, maka codingnya saya contohkan seperti ini:

Option Explicit
Private Hasil As Double
Private Const opNol = 0
Private Const opTambah = 1
Private Const opKurang = 2
Private Const opKali = 3
Private Const opBagi = 4
Private Operator As Integer
Private NilaiBaru As Boolean

' untuk menghapus karakter terakhir
Private Sub Hapus()
Dim txt As String
Dim min_len As Integer
txt = txtDisplay.Text
If Left$(txt, 1) = "-" Then
min_len = 2
Else
min_len = 1
End If
If Len(txt) > min_len Then
txtDisplay.Text = Left$(txt, Len(txt) - 1)
Else
txtDisplay.Text = "0"
End If
End Sub

' hapus angka, hasil terakhir dan operator
Private Sub cmdClear_Click()
cmdClearEntry_Click
Hasil = 0
Operator = opNol
End Sub
' hapus angka
Private Sub cmdClearEntry_Click()
txtDisplay.Text = ""
End Sub
' menambahkan koma (desimal)
Private Sub cmdKoma_Click()
If InStr(txtDisplay.Text, ".") Then
Beep
Else
If NilaiBaru Then
txtDisplay.Text = "."
NilaiBaru = False
Else
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
End Sub

' Menghitung
Private Sub cmdSamaDengan_Click()
Dim HasilBaru As Double
If txtDisplay.Text = "" Then
HasilBaru = 0
Else
HasilBaru = CDbl(txtDisplay.Text)
End If
Select Case Operator
Case opNol
Hasil = HasilBaru
Case opTambah
Hasil = Hasil + HasilBaru
Case opKurang
Hasil = Hasil - HasilBaru
Case opKali
Hasil = Hasil * HasilBaru
Case opBagi
'Tidak bisa dibagi nol
If HasilBaru = 0 Then
MsgBox "Tidak bisa dibagi 0", vbOKOnly + vbCritical, "Kalku ERROR"
Call cmdClear_Click
Else
Hasil = Hasil / HasilBaru
End If
End Select
Operator = opNol
NilaiBaru = True
txtDisplay.Text = Format$(Hasil)
End Sub

' menuliskan angka
Private Sub cmdAngka_Click(Index As Integer)
If NilaiBaru Then
txtDisplay.Text = Format$(Index)
NilaiBaru = False
Else
txtDisplay.Text = _
txtDisplay.Text & Format$(Index)
End If
End Sub
' tombol tambah/kurang/bagi/kali
Private Sub cmdOperator_Click(Index As Integer)
cmdSamaDengan_Click
Operator = Index
NilaiBaru = True
End Sub

' merubah tanda +/-
Private Sub cmdPlusMinus_Click()
If NilaiBaru Then
txtDisplay.Text = "-"
ElseIf Left$(txtDisplay.Text, 1) = "-" Then
txtDisplay.Text = Right$(txtDisplay.Text, 2)
Else
txtDisplay.Text = "-" & txtDisplay.Text
End If
End Sub

' filter untuk angka saja yg dapat diketikkan
Private Sub Form_KeyPress(KeyAscii As Integer)
txtDisplay_KeyPress KeyAscii
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
txtDisplay_KeyUp KeyCode, Shift
End Sub
' supaya kursor tetap di kanan
Private Sub txtDisplay_Change()
txtDisplay.SelStart = Len(txtDisplay.Text)
End Sub
Private Sub txtDisplay_GotFocus()
txtDisplay_Change
End Sub

' untuk mengetikkan angka di keyboard
Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr$(KeyAscii)
Select Case ch
Case "0"
cmdAngka_Click 0
Case "1"
cmdAngka_Click 1
Case "2"
cmdAngka_Click 2
Case "3"
cmdAngka_Click 3
Case "4"
cmdAngka_Click 4
Case "5"
cmdAngka_Click 5
Case "6"
cmdAngka_Click 6
Case "7"
cmdAngka_Click 7
Case "8"
cmdAngka_Click 8
Case "9"
cmdAngka_Click 9
Case "*", "x", "X"
cmdOperator_Click opKali
Case "+"
cmdOperator_Click opTambah
Case vbCrLf, vbCr, "="
cmdSamaDengan_Click
Case "-"
cmdOperator_Click opKurang
Case "."
cmdKoma_Click
Case "/"
cmdOperator_Click opBagi
Case "C", "c"
cmdClearEntry_Click
End Select
KeyAscii = 0
End Sub

' untuk ketikan angka di numpad
Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyNumpad0
cmdAngka_Click 0
Case vbKeyNumpad1
cmdAngka_Click 1
Case vbKeyNumpad2
cmdAngka_Click 2
Case vbKeyNumpad3
cmdAngka_Click 3
Case vbKeyNumpad4
cmdAngka_Click 4
Case vbKeyNumpad5
cmdAngka_Click 5
Case vbKeyNumpad6
cmdAngka_Click 6
Case vbKeyNumpad7
cmdAngka_Click 7
Case vbKeyNumpad8
cmdAngka_Click 8
Case vbKeyNumpad9
cmdAngka_Click 9
Case vbKeyMultiply
cmdOperator_Click opKali
Case vbKeyAdd
cmdOperator_Click opTambah
Case vbKeySeparator
cmdSamaDengan_Click
Case vbKeySubtract
cmdOperator_Click opKurang
Case vbKeyDivide
cmdOperator_Click opBagi
Case vbKeyDecimal
cmdKoma_Click
Case vbKeyBack, vbKeyDelete
Hapus
End Select
KeyCode = 0
End Sub

Kamis, 05 Mei 2011

Pengenalan VB

Sekilas Tentang Visual Basic 6.0 ( VB)
Microsoft Visual Basic adalah merupakan sebuah bahasa pemrograman komputer yang menjadi sarana ( Tools ) untuk menghasilkan program – program aplikasi yang berbasis windows.

1. Sarana akses data yang lebih cepat dan handal untuk membuat aplikasi basis data yang berkemampuan tinggi.
2. Tambahan contol – control baru lebih canggih serta peningkatan kaidah struktur bahasa visual basic.
3. Visual Basic memiliki beberapa versi atau edisi yang disesuaikan dengan kebutuhan pemakainya.

Berikut ini perjalanan Visual Basic ( VB 1.0 sampai VB 10 ) yaitu :

1. Proyek “ Thunder” dirintis.
2. Visual Basic 1.0 ( May 1991 ) di rilis untuk windows pada Comdex / Windows Wordltrade yang dipertunjukkan di Atlanta, Georgia.
3. Visual Basic 1.0 untuk DOS di rilis pada bulan September 1992. Bahasa ini kompatibel dengan Visual Basic For Windows. VB 1.0 for DOS ini pada kenyataannya merupakan versi kelanjutan dari compiler BASIC, Quick Basic dan BASIC Professional Development System
4. Visual Basic 2.0 di rilis pada November 1992, cakupan pemrogramannya cukup mudah untuk digunakan dan kecepatannya juga telah di nodifikasi. Khususnya pada Form yang menjadikan object dapat dibuat secara seketika, serta konsep dasar dari Class modul yang berikutnya di implementasikan pada VB 4.
5. Visual Basic 3.0 di rilis pada musim panas 1993 dan dibagi menjadi versi standard an professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Data base Engine yang dapat membaca serta menulis database Jet ( atau Access ) 1.x
6. Visual Basic 4.0 ( Agustus 1995 ) merupakan versi pertama yang dapat membuat windows program 32 bit sebaik versi 16 bit nya. VB 4 juga memperkenalkan kemampuan untuk menulis non-GUI class pada Visual Basic.
7. Visual Basic 5.0 ( Februari 1997 ), Microsoft merilis secara ekslusif Visual Basic untuk versi windows 32 bit. Programmer yang menulis programnya pada versi 16 bit dapat dengan mudah melakukan import programnya dari VB 4, VB 5 memperkenalkan kemampuan untuk membuat User Control.
8. Visual Basic 6.0 ( pertengahan 1999), memperbaiki beberapa cakupan, termasuk kemampuannya untuk membuat Aplikasi Web-based. Visual Basic 6 di jadwalkan akan memasuki Microsoft “ fasa non Supported “ dimulai pada Maret 2008.
9. Visual Basic NET ( VB 7 ), di rilis pada tahun 2002, beberapa yang mencoba pada versi pertama. NET ini mengemukakan bahwa bahasa ini sangat powerful tapi bahasa yang digunakan sangat berbeda dengan bahasa sebelumnya, dengan kekurangan diberbagai area, termasuk runtimenya yang 10 kali lebih besar dari paket runtime VB 6 serta peningkatan pengguna memory.
10. Visual Basic NET 2003 ( VB 7.1 ¬), di rilis dengan menggunakan NET framework versi 1.1
11. Visual Basic 2005 ( VB 8.0 ), merupakan iterasi selanjutnya dari Visual Basic NET dan Microsoft memutuskan untuk menghilangkan kata – kata NET pada judulnya. Pada rilis ini Microsoft memasukan beberapa fitur baru diantaranya :
* Edit and Continue, mungkin inilah kekurangan fitur terbesar dari VB NET pada VB 2005 ini kita diperbolehkan melakuakan perubahan kode pada saat program sedang dijalankan.
* Perbaikan pada Konversi dari VB ke VB NET 12 Visual Basic NET 2003 ( VB 7.1 ), di rilis dengan menggunakan NET framework versi 1.1
12. Is Not Patent, merupakan salah satu fitur dari Visual Basic 20005 merupakan konversi If Not X Is Not Y.
13. Visual Basic 2005 Express, merupakan bagian dari Product Visual Studio. Microsoft membuat Visual Studio 2005 Express edition untuk pemula dan yang gemar dengan VB, salah satu produknya adalah Visual Basic 2005 Express yang merupakan produk gratis dari Microsoft.
14. Visual Basic “ Orcas “ ( VB 9.0 ), dijadwalkan akan di rilis pada tahun 2007 dan dibangun diatas NET 3.5. Pada rilis ini, Microsoft menambahkan beberapa fitur diantaranya :
* True Tenary operator, yaitu fungsi If ( boolean, value, value ) yang digunakan untuk mengganti fungsi IF.
* LINQ Support.
* Ekspresi Lambada.
* XML Literals.
* Nullable Type.
* Type Inference.
15. Visual Basic “VB X” ( VB 10.0 ), Visual Basic 10 yang juga dikenal dengan nama VB X akan menawarkan dukungan untuk Dynamic Language Runtime. VB 10 direncanakan akan menjadi bagian dari Silver Light 11