BELAJAR VISUAL BASIC
Kamis, 26 Januari 2012
HAL.33
JAWABAN HALAMAN 33
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Nama.Focus()
Jabatan.Items.Add(“Mandor”)
Jabatan.Items.Add(“Kepala Bagian”)
Jabatan.Items.Add(“Staf”)
Status.Items.Add(“Menikah”)
Status.Items.Add(“Belum Menikah”)
Call buattabel()
End Sub
Private Sub jabatan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Jabatan.SelectedIndexChanged
Select Case Jabatan.Text
Case “Mandor”
Gaji.Text = 1750000
Pajak.Text = 0.015 * Val(Gaji.Text)
Case “Staf”
Gaji.Text = 1250000
Pajak.Text = 0.015 * Val(Gaji.Text)
Case “Kepala Bagian”
Gaji.Text = 2500000
Pajak.Text = 0.015 * Val(Gaji.Text)
End Select
Status.Focus()
End Sub
Private Sub status_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Status.SelectedIndexChanged
Dim y As String
y = Status.Text = “Menikah”
If Jabatan.Text = “Mandor” Then
Tunjangan.Text = 0.09 * 1750000
ElseIf Jabatan.Text = “Staf” Then
Tunjangan.Text = 0.09 * 1250000
ElseIf Jabatan.Text = “Kepala Bagian” Then
Tunjangan.Text = 0.09 * 2500000
End If
If Status.Text = “Belum Menikah” Then
Tunjangan.Text = 0
End If
Jumlah.Focus()
End Sub
Private Sub jumlah_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Jumlah.TextChanged
If Jumlah.Text = “1″ Then
Tunjangan_anak.Text = 0.03 * Val(Gaji.Text)
ElseIf Jumlah.Text = “2″ Then
Tunjangan_anak.Text = 0.07 * Val(Gaji.Text)
Else
Tunjangan_anak.Text = 0.07 * Val(Gaji.Text)
End If
End Sub
Private Sub jam_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Jam.TextChanged
If Jabatan.Text = “Mandor” Then
Upah.Text = 7500 * Val(Jam.Text)
ElseIf Jabatan.Text = “Staf” Then
Upah.Text = 5000 * Val(Jam.Text)
ElseIf Jabatan.Text = “Kepala Bagian” Then
Upah.Text = 10000 * Val(Jam.Text)
End If
End Sub
Private Sub btnhitung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhitung.Click
Total.Text = Val(Gaji.Text) + Val(Tunjangan.Text) + Val(Tunjangan_anak.Text) + Val(Upah.Text) – Val(Pajak.Text)
End Sub
Sub buattabel()
LV.Columns.Add(“Nama”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Jabatan”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Status”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Gaji Pokok”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Tunjgn Istri”, 120, HorizontalAlignment.Center)
LV.Columns.Add(“Jlh Anak”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Tunjgn Anak”, 120, HorizontalAlignment.Center)
LV.Columns.Add(“Pajak”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Jam Lembur”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Upah Lembur”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Total Gaji”, 100, HorizontalAlignment.Center)
LV.View = View.Details
LV.FullRowSelect = True
LV.GridLines = True
End Sub
Sub isitabel()
Dim lst As New ListViewItem
lst.Text = nama.Text
lst.SubItems.Add(Jabatan.Text)
lst.SubItems.Add(Status.Text)
lst.SubItems.Add(Gaji.Text)
lst.SubItems.Add(Tunjangan.Text)
lst.SubItems.Add(Jumlah.Text)
lst.SubItems.Add(Tunjangan_anak.Text)
lst.SubItems.Add(pajak.Text)
lst.SubItems.Add(jam.Text)
lst.SubItems.Add(Upah.Text)
lst.SubItems.Add(Total.Text)
LV.Items.Add(lst)
End Sub
Private Sub btnbersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnbersih.Click
Nm.Text = “”
Jabtn.Text = “”
Stats.Text = “”
Gaji.Text = “”
Tunjangan.Text = “”
Jumlah.Text = “”
Tunjangan_anak.Text = “”
Pajak.Text = “”
Jam.Text = “”
Upah.Text = “”
Total.Text = “”
Nama.Focus()
End Sub
Private Sub btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnsimpan.Click
Call isitabel()
Nama.Text = “”
Jabatan.Text = “”
Status.Text = “”
Gaji.Text = “”
Tunjangan.Text = “”
Jumlah.Text = “”
Tunjangan_anak.Text = “”
Pajak.Text = “”
Jam.Text = “”
Upah.Text = “”
Total.Text = “”
Nama.Focus()
End Sub
Private Sub btnhapus_semua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapus_semua.Click
LV.Items.Clear()
End Sub
Private Sub btnhapus_data_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapus_data.Click
LV.Items.Remove(LV.SelectedItems(0))
End Sub
Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnkeluar.Click
Dim x As String
x = MsgBox(“Anda Yakin Ingin Keluar”, MsgBoxStyle.Question + MsgBoxStyle.YesNo, “Keluar”)
If x = vbYes Then
Close()
End If
End Sub
End Class
Selasa, 27 September 2011
PENGERTIAN VBNET
PENGERTIAN VB/NET
Visual Basic .NET
Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu.
Visual Basic .NET 2002 (VB 7.0)
Versi pertama dari Visual Basic .NET adalah Visual Basic .NET 2002 yang dirilis pertama kali pada bulan Februari 2002. Visual Basic .NET 2002 merupakan sebuah bahasa pemrograman visual yang berbasis bahasa BASIC (sama seperti halnya Visual Basic 6.0, tetapi lebih disempurnakan dan lebih berorientasi objek), dan didesain untuk berjalan di atas Microsoft .NET Framework versi 1.0.
Versi 7.0 ini dirilis bersamaan dengan Visual C# dan ASP.NET. Bahasa C#, yang dianggap sebagai jawaban terhadap Java, mendapatkan perhatian yang lebih banyak dibandingkan dengan VB.NET yang kurang begitu banyak diulas. Hasilnya, sedikit orang di luar komunitas Visual Basic yang memperhatikan VB.NET. Versi pertama ini kurang mendapat sambutan yang bagus dari para programmer, dan pada saat itu, program berbasis Visual Basic 6.0 sedang marak-maraknya dibuat. Para programmer yang mencoba Visual Basic .NET untuk pertama kali akan merasakan bahwa Visual Basic .NET sangatlah berbeda dibandingkan dengan Visual Basic sebelumnya. Contoh yang paling mudah adalah runtime engine yang lebih besar 10 kali lipat dibandingkan Visual Basic 6.0, dan juga meningkatkan beban di memori.
Visual Basic .NET 2003 (VB 7.1)
Selanjutnya, pada bulan Maret 2003, Microsoft pun merilis lagi versi yang lebih baru dari Visual Basic .NET, Visual Basic .NET 2003. Versi ini berisi beberapa perbaikan dibandingkan dengan versi sebelumnya, dan aplikasi yang dibuatnya dapat berjalan di atas .NET Framework versi 1.1. Fitur yang ditambahkan adalah dukungan terhadap .NET Compact Framework dan mesin wizard upgrade VB6 ke VB.NET yang telah ditingkatkan. Peningkatan yang lainnya adalah peningkatan pada performa dan keandalan dari Integrated Development Environment (IDE) Visual Basic itu sendiri, dan juga runtime engine.
Visual Basic .NET 2003 tersedia dalam beberapa jenis cita rasa: Professional, Enterprise Architect dan Academic Edition. Khusus untuk Visual Basic .NET 2003 Academic Edition, versi tersebut didistribusikan secara gratis untuk beberapa sekolah di dalam setiap negara; versi Professional dan Enterprise Architect merupakan produk komersial.
Visual Basic 2005 (VB 8.0)
Setelah itu, Microsoft pun berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya. Hingga pada tahun 2005, mereka pun merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya.
Untuk rilis 2005 ini, Microsoft menambahkan beberapa fitur baru, di antaranya adalah:
• Edit and Continue
Fitur ini sebelumnya terdapat di dalam Visual Basic, akan tetapi dihapus di dalam Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut.
• Evaluasi ekspresi pada saat waktu desain
• Munculnya Pseudo-Namespace "My", yang menyediakan:
o Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan.
o Kelas-kelas yang dibuat secara dinamis (khususnya My.Forms).
• Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET.
• Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objek-objek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai.
• Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Integrated Development Environment (IDE) Visual Studio .NET.
• Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi basis data berbasis klien/server.
Fungsi-fungsi yang tersebut di atas (khususnya My) ditujukan untuk memfokuskan Visual Basic .NET sebagai sebuah platform pengembangan aplikasi secara cepat dan "menjauhkannya" dari bahasa C#.
Bahasa Visual Basic 2005 memperkenalkan fitur-fitur baru, yakni:
• Bawaan .NET Framework 2.0:
o Generics
o Partial class, sebuah metode yang dapat digunakan untuk mendefinisikan beberapa bagian dari sebuah kelas di dalam sebuah berkas, lalu menambahkan definisinya di lain waktu; sangat berguna khususnya ketika mengintegrasikan kode pengguna dengan kode yang dibuat secara otomatis.
o Nullable Type
• Komentar XML yang dapat diproses dengan menggunakan beberapa alat bantu seperti NDoc untuk membuat dokumentasi secara otomatis.
• Operator overloading
• Dukungan terhadap tipe data bilangan bulat tak bertanda (unsigned integer) yang umumnya digunakan di dalam bahasa lainnya.
Visual Basic 9.0 (Visual Basic 2008)
Versi ini merupakan versi terbaru yang dirilis oleh Microsoft pada tanggal 19 November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.
Dalam versi ini, Microsoft menambahkan banyak fitur baru, termasuk di antaranya adalah:
• Operator If sekarang merupakan operator ternary (membutuhkan tiga operand), dengan sintaksis If (boolean, nilai, nilai). Ini dimaksudkan untuk mengganti fungsi IIF.
• Dukungan anonymous types
• Dukungan terhadap Language Integrated Query (LINQ)
• Dukungan terhadap ekspresi Lambda
• Dukungan terhadap literal XML
• Dukungan terhadap inferensi tipe data.
• dukungan terhadap 'LINQ'
Hubungan dengan Visual Basic klasik
Apakah Visual Basic .NET dianggap sebagai sebuah versi Visual Basic atau benar-benar bahasa yang berbeda merupakan sebuah topik perdebatan yang hangat. Hal ini dikarenakan sintaksis bahasa Visual Basic .NET tidak mengalami perubahan yang sangat drastis, dan hanya menambahkan beberapa dukungan fitur baru seperti penanganan eksepsi secara terstruktur dan ekspresi yang bisa di-short-circuit-kan. Dua perubahan tipe data pun terjadi saat berpindah ke Visual Basic .NET. Dibandingkan dengan Visual Basic 6.0, tipe data Integer yang dimiliki oleh Visual Basic .NET memiliki panjang dua kali lebih panjang, dari 16 bit menjadi 32 bit. Selain itu, tipe data Long juga sama-sama berubah menjadi dua kali lipat lebih panjang, dari 32 bit menjadi 64 bit. Bilangan bulat 16-bit dalam Visual Basic .NET dinamakan dengan Short. Lagi pula, desainer GUI Windows Forms yang terdapat di dalam Visual Studio .NET atau Visual Basic .NET memiliki gaya yang sangat mirip dengan editor form Visual Basic klasik.
Jika sintaksis tidak banyak yang berubah, lain halnya dengan semantik, yang berubah secara signifikan. Visual Basic .NET merupakan sebuah bahasa pemrograman yang mendukung fitur "Bahasa Pemrograman Berorientasi Objek" secara penuh, karena memang didukung oleh arsitektur Microsoft .NET Framework, yang mengandung kombinasi dari Common Language Runtime dan Base Class Library. Visual Basic klasik, hanya merupakan sebuah bahasa pemrogaman berbasis objek, yang berjalan di atas arsitektur Component Object Model (COM).
Perubahan ini telah mengubah banyak asumsi tentang hal yang benar yang harus dilakukan dengan mempertimbangkan performa dan kemudahan untuk dipelihara. Beberapa fungsi dan pustaka perangkat lunak, yang ada di dalam Visual Basic klasik, kini tidak terdapat di dalam Visual Basic .NET; mungkin masih banyak yang masih terdapat di dalam Visual Basic .NET, tapi tidak seefisien apa yang ditawarkan oleh .NET Framework. Bahkan jika program Visual Basic klasik bisa dikompilasi dengan benar, sebagian besar program Visual Basic klasik harus melalui beberapa proses refactoring untuk mengadopsi fitur bahasa baru secara keseluruhan. Dokumentasi untuk ini pun tersedia di situs Microsoft[1].
Contoh Pemrograman
Contoh program sederhana dalam bahasa Visual Basic .NET yang dipakai untuk menghitung jumlah pembayaran dari m_item buah barang dengan harga m_price per item ditambah 5% pajak penjualan: [2].
Dim m_item, m_price, tax, total As double
m_item = double.Parse(textBox1.Text)
m_price = double.Parse(textBox2.Text)
tax = 0.05
total = m_item * m_price * (1 + tax)
label5.Text = total.ToString()
MessageBox.Show("Well Done.")
Berikut ini adalah contoh lain dari program Visual Basic yang menggunakan objek CheckBox dan ComboBox untuk menghitung jumlah kredit mata kuliah yang diambil oleh seorang mahasiswa (masing-masing mata kuliah = 3 kredit):
Dim total As Integer
total = 0 ' awal dari jumlah kredit total
If (CheckBox1.Checked = True) Then 'boleh memilih semua checkbox
total += 3
End If
If (CheckBox2.Checked = True) Then
total = total + 3
End If
If (CheckBox3.Checked = True) Then
total = total + 3
End If
If (ComboBox1.SelectedIndex = 0) Then 'hanya bisa memilih satu
total = total + 3
ElseIf (ComboBox1.SelectedIndex = 1) Then
total = total + 3
ElseIf (ComboBox1.SelectedIndex = 2) Then
total = total + 3
End If
Label3.Text = CStr(total) ' hasil kredit total yang diambil
BELAJAR VISUAL BASIC 2008
Belajar Visual Basic 2008
Labels: VB
Untuk matakuliah pemrograman visual, para mahasiswa dituntut agar dapat menggunakan bahasa pemrograman visual basic.(menurut info yang gw dapet gt sih). Maka dari itu mari kita mempelajari apa sih sebenernya visual basic dan apa saja yang bisa di buat dari visual basic. Nah pada artikel kali ini akan di jelaskan seidikit tetang contoh aplikasi yang bisa di kerjakan di visual basic.
Tapi sebelumnya kita masuk teori dulu yah :) apa sih visual basic itu?
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan. Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas. Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.
Anda bisa mendownload visual basic di http://www.microsoft.com/express/
Creating our first application
Cukup untuk teori, saatnya praktikum :)
Buka aplikasi visual basic 2008 anda lalu kli file>new project
Lalu pilih windows form application, kasi nama projectnya, terus klik ok.
Nah akan tampil interface tempat kita membuat aplikasi.
Untuk pertama kali mari kita membuat aplikasi menghitung luas persegi panjang.
Dari toolbox buka bagian common control sehingga muncul tool2 yang bisa kita gunakan, tarik sebuah label (simbolnya A), lalu tarik sebuah button atur sedemikian rupa sehingga tampak menarik.
Lalu pada bagian properties (kanan bawah, kalau tidak ada klik view>properties windows) ubah properties dari label dengan mengklik label lalu ganti
Text : luas = 0
Name : hasil
klik button ganti propertiesnya
Text : hitung
pada form klik 2x pada button (akan membuka jendela script)
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
disinilah kita letakkan coding untuk button
End Sub
End Class
Tambahkan code berikut di antara Button1.Click dan End Sub
Dim p, l, luas As Integer
p = 12
l = 4
luas = p * l
hasil.Text = "Luas = " & luas
sehingga semua code akan menjadi serperti ini
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p, l, luas As Integer
p = 12
l = 4
luas = p * l
hasil.Text = "Luas = " & luas
End Sub
End Class
penjelasan : Dim digunakan untuk mendeklarasikan variabel pada VB, Cth: Dim p As Integer (membuat variabel p dengan tipe data integer.
lalu beri nilai p = 12, beri niai l = 4, dan nilai luas = p*l (panjang x lebar) dan terakhir ganti text pada label hasil dengan : “Luas = “ & luas.
Fungsi dari “&” adalah untuk mengubungkan text dengan variabel yang ingin dimasukkan kedalam text.
sekarang bagaimana caranya agar panjang dan luas dapat di inputkan dari user?
Modifikasi form dengan menambahkan 2 label dan 2 textbox
Ganti properties Label1
Text : panjang
Label2
Text : lebar
Klik 2x button hitung lalu masukkan code berikut diantara Button1.Click dan End Sub
Dim luas As Double
luas = Val(TextBox1.Text) * Val(TextBox2.Text)
hasil.Text = "Luas = " & luas
MsgBox("Luas = " & luas)
okay. Begitu lah kira2.
Membuat Aplikasi Bangun Datar
nanggung nih, :) lanjut aja dah untuk membuat aplikasi bangun datar.
Klik form, pada properties, text ketikkan “Menghitung Luas”
Tarik 1 label lalu ganti properties text nya menjadi “Bangun datar”
Selanjutnya tarik sebuah ComboBox, kemudian pada properties Klik item dan akan muncul tombol yang berisi titik2. Klik tombol tersebut, lalu isikan item berikut ini.
Persegi
Persegi Panjang
Segitiga
Jajar Genjang
Trapesium
Lingkaran
Layang-layang
Belah Ketupat
(antara item 1 dan yang lainnya pisahkan dengan tombol enter)
Tarik lagi sebuah button, kemudian pada bagian propreties, ganti textnya menjadi “hitung”
Tarik 2 label ganti properties label2
text : hasil
font : Microsoft Sans Serif/Bold/12
properties label3
text : 0
font : Microsoft Sans Serif/Bold/14
name: Labelhasil
tarik lagi 3 label (hehe jangan bosen2 menariknya yah :P ) ganti properties nya
label yang pertama
Text : L1
Name : L1
visble : false
label yang kedua
Text : L2
Name : L2
visble : false
label yang ketiga
Text : L3
Name : L3
visble : false
dan ini yang terakhir (akhirnya :P ), tarik lagi 1 button ganti propreties
text : exit
selesai untuk interfacenya. bingung ?
lihat nih contoh interface yang gw bikin
Saatnya koding
Double klik button1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bil1, bil2, bil3 As Double
Dim luas As Double
L1.Visible = False
L2.Visible = False
L3.Visible = False
If ComboBox1.Text = "Persegi" Then
bil1 = InputBox("Masukkan nilai SISI")
L1.Visible = True
L1.Text = "Sisi = " & bil1
luas = bil1 * 2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Persegi Panjang" Then
bil1 = InputBox("Masukkan nilai PANJANG")
bil2 = InputBox("Masukkan nilai LEBAR ")
L1.Visible = True
L1.Text = "Panjang = " & bil1
L2.Visible = True
L2.Text = "Lebar = " & bil2
luas = bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Segitiga" Then
bil1 = InputBox("Masukkan nilai ALAS")
bil2 = InputBox("Masukkan nilai TINGGI")
L1.Visible = True
L1.Text = "Alas = " & bil1
L2.Visible = True
L2.Text = "Tinggi = " & bil2
luas = 0.5 * bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Jajar Genjang" Then
bil1 = InputBox("Masukkan nilai ALAS")
bil2 = InputBox("Masukkan nilai TINGGI")
L1.Visible = True
L1.Text = "Alas = " & bil1
L2.Visible = True
L2.Text = "Tinggi = " & bil2
luas = bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Trapesiium" Then
bil1 = InputBox("Masukkan nilai SISI SEJAJAR1")
bil2 = InputBox("Masukkan nilai SISI SEJAJAR2")
bil3 = InputBox("Masukkan nilai SISI TINGGI")
L1.Visible = True
L1.Text = "Sisi Sejajar1 = " & bil1
L2.Visible = True
L2.Text = "Sisi Sejajar2 = " & bil2
L3.Text = True
L3.Text = "Sisi Sejajar2 = " & bil3
luas = 0.5 * (bil1 + bil2) * bil3
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Lingkaran" Then
bil1 = InputBox("Masukkan nilai JARI-JARI")
L1.Visible = True
L1.Text = "Jari-jari = " & bil1
luas = 22 / 7 * bil1 * bil1
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Layang-layang" Then
bil1 = InputBox("Masukkan nilai DIAGONAL1")
bil2 = InputBox("Masukkan nilai DIAGONAL2")
L1.Visible = True
L1.Text = "Sisi Sejajar1 = " & bil1
L2.Visible = True
L2.Text = "Sisi Sejajar2 = " & bil2
luas = 0.5 * bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Belah Ketupat" Then
bil1 = InputBox("Masukkan nilai DIAGONAL1")
bil2 = InputBox("Masukkan nilai DIAGONAL2")
L1.Visible = True
L1.Text = "Sisi Sejajar1 = " & bil1
L2.Visible = True
L2.Text = "Sisi Sejajar2 = " & bil2
luas = 0.5 * bil1 * bil2
Labelluas.Text = luas
End If
End Sub
code diatas untuk menghitung luas bangun datar yang di pilih. di perhatiin aja bener2, ntar ngerti sendiri tuh. :)
Button2
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
dan aplikasi anda sudah selesai :)
membuat menu help
nanggung lagi :) sekalian aja kita buat menu help agar user mengetahui rumus untuk menghitung bagun datar.
Caranya. Pada toolBox buka tab Menus & Toolbars
Lalu tarik MenuStrip ke atas form seperti gambar diatas.
Selanjutnya klik 2x menu yang pertama “Rumus Persegi”
Sehingga tab coding akan muncul, tambahkan kode berikut
Private Sub RumusPersegiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusPersegiToolStripMenuItem.Click
MsgBox(" Rumus Luas Persegi = sisi x sisi")
End Sub
Lakukan untuk menu-menu yang lain.
Private Sub RumusPersegiPanjangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusPersegiPanjangToolStripMenuItem.Click
MsgBox(" Rumus Luas Persegi Panjang = panjang x lebar")
End Sub
Private Sub RumusSegitigaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusSegitigaToolStripMenuItem.Click
MsgBox(" Rumus Luas Segitiga = 1/2 x alas x tinggi")
End Sub
Private Sub RumusLingkaranToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusLingkaranToolStripMenuItem.Click
MsgBox(" Rumus Luas Lingkaran = π (pi) x jari-jari x jari-jari")
End Sub
Private Sub RumusTrapesiumToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusTrapesiumToolStripMenuItem.Click
MsgBox("Rumus Luas Trapesium = 1/2 x jumlah sisi sejajar x tinggi")
End Sub
Private Sub RumusJajargenjangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusJajargenjangToolStripMenuItem.Click
MsgBox("Rumus Luas Trapesium = 1/2 x jumlah sisi sejajar x tinggi")
End Sub
Private Sub RumusBelahKetupatToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusBelahKetupatToolStripMenuItem.Click
MsgBox("Rumus Belah Ketupat = diagonal (d) 1 x diagonal (d) 2")
End Sub
Private Sub RumusToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusToolStripMenuItem.Click
MsgBox("Rumus Belah Ketupat = diagonal (d) 1 x diagonal (d) 2")
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
MsgBox("Programmed by Aritha Handrico (Teknik Informatika UIN SUSKA RIAU)")
End Sub
End Class
Labels: VB
Untuk matakuliah pemrograman visual, para mahasiswa dituntut agar dapat menggunakan bahasa pemrograman visual basic.(menurut info yang gw dapet gt sih). Maka dari itu mari kita mempelajari apa sih sebenernya visual basic dan apa saja yang bisa di buat dari visual basic. Nah pada artikel kali ini akan di jelaskan seidikit tetang contoh aplikasi yang bisa di kerjakan di visual basic.
Tapi sebelumnya kita masuk teori dulu yah :) apa sih visual basic itu?
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan. Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas. Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.
Anda bisa mendownload visual basic di http://www.microsoft.com/express/
Creating our first application
Cukup untuk teori, saatnya praktikum :)
Buka aplikasi visual basic 2008 anda lalu kli file>new project
Lalu pilih windows form application, kasi nama projectnya, terus klik ok.
Nah akan tampil interface tempat kita membuat aplikasi.
Untuk pertama kali mari kita membuat aplikasi menghitung luas persegi panjang.
Dari toolbox buka bagian common control sehingga muncul tool2 yang bisa kita gunakan, tarik sebuah label (simbolnya A), lalu tarik sebuah button atur sedemikian rupa sehingga tampak menarik.
Lalu pada bagian properties (kanan bawah, kalau tidak ada klik view>properties windows) ubah properties dari label dengan mengklik label lalu ganti
Text : luas = 0
Name : hasil
klik button ganti propertiesnya
Text : hitung
pada form klik 2x pada button (akan membuka jendela script)
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
disinilah kita letakkan coding untuk button
End Sub
End Class
Tambahkan code berikut di antara Button1.Click dan End Sub
Dim p, l, luas As Integer
p = 12
l = 4
luas = p * l
hasil.Text = "Luas = " & luas
sehingga semua code akan menjadi serperti ini
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p, l, luas As Integer
p = 12
l = 4
luas = p * l
hasil.Text = "Luas = " & luas
End Sub
End Class
penjelasan : Dim digunakan untuk mendeklarasikan variabel pada VB, Cth: Dim p As Integer (membuat variabel p dengan tipe data integer.
lalu beri nilai p = 12, beri niai l = 4, dan nilai luas = p*l (panjang x lebar) dan terakhir ganti text pada label hasil dengan : “Luas = “ & luas.
Fungsi dari “&” adalah untuk mengubungkan text dengan variabel yang ingin dimasukkan kedalam text.
sekarang bagaimana caranya agar panjang dan luas dapat di inputkan dari user?
Modifikasi form dengan menambahkan 2 label dan 2 textbox
Ganti properties Label1
Text : panjang
Label2
Text : lebar
Klik 2x button hitung lalu masukkan code berikut diantara Button1.Click dan End Sub
Dim luas As Double
luas = Val(TextBox1.Text) * Val(TextBox2.Text)
hasil.Text = "Luas = " & luas
MsgBox("Luas = " & luas)
okay. Begitu lah kira2.
Membuat Aplikasi Bangun Datar
nanggung nih, :) lanjut aja dah untuk membuat aplikasi bangun datar.
Klik form, pada properties, text ketikkan “Menghitung Luas”
Tarik 1 label lalu ganti properties text nya menjadi “Bangun datar”
Selanjutnya tarik sebuah ComboBox, kemudian pada properties Klik item dan akan muncul tombol yang berisi titik2. Klik tombol tersebut, lalu isikan item berikut ini.
Persegi
Persegi Panjang
Segitiga
Jajar Genjang
Trapesium
Lingkaran
Layang-layang
Belah Ketupat
(antara item 1 dan yang lainnya pisahkan dengan tombol enter)
Tarik lagi sebuah button, kemudian pada bagian propreties, ganti textnya menjadi “hitung”
Tarik 2 label ganti properties label2
text : hasil
font : Microsoft Sans Serif/Bold/12
properties label3
text : 0
font : Microsoft Sans Serif/Bold/14
name: Labelhasil
tarik lagi 3 label (hehe jangan bosen2 menariknya yah :P ) ganti properties nya
label yang pertama
Text : L1
Name : L1
visble : false
label yang kedua
Text : L2
Name : L2
visble : false
label yang ketiga
Text : L3
Name : L3
visble : false
dan ini yang terakhir (akhirnya :P ), tarik lagi 1 button ganti propreties
text : exit
selesai untuk interfacenya. bingung ?
lihat nih contoh interface yang gw bikin
Saatnya koding
Double klik button1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bil1, bil2, bil3 As Double
Dim luas As Double
L1.Visible = False
L2.Visible = False
L3.Visible = False
If ComboBox1.Text = "Persegi" Then
bil1 = InputBox("Masukkan nilai SISI")
L1.Visible = True
L1.Text = "Sisi = " & bil1
luas = bil1 * 2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Persegi Panjang" Then
bil1 = InputBox("Masukkan nilai PANJANG")
bil2 = InputBox("Masukkan nilai LEBAR ")
L1.Visible = True
L1.Text = "Panjang = " & bil1
L2.Visible = True
L2.Text = "Lebar = " & bil2
luas = bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Segitiga" Then
bil1 = InputBox("Masukkan nilai ALAS")
bil2 = InputBox("Masukkan nilai TINGGI")
L1.Visible = True
L1.Text = "Alas = " & bil1
L2.Visible = True
L2.Text = "Tinggi = " & bil2
luas = 0.5 * bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Jajar Genjang" Then
bil1 = InputBox("Masukkan nilai ALAS")
bil2 = InputBox("Masukkan nilai TINGGI")
L1.Visible = True
L1.Text = "Alas = " & bil1
L2.Visible = True
L2.Text = "Tinggi = " & bil2
luas = bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Trapesiium" Then
bil1 = InputBox("Masukkan nilai SISI SEJAJAR1")
bil2 = InputBox("Masukkan nilai SISI SEJAJAR2")
bil3 = InputBox("Masukkan nilai SISI TINGGI")
L1.Visible = True
L1.Text = "Sisi Sejajar1 = " & bil1
L2.Visible = True
L2.Text = "Sisi Sejajar2 = " & bil2
L3.Text = True
L3.Text = "Sisi Sejajar2 = " & bil3
luas = 0.5 * (bil1 + bil2) * bil3
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Lingkaran" Then
bil1 = InputBox("Masukkan nilai JARI-JARI")
L1.Visible = True
L1.Text = "Jari-jari = " & bil1
luas = 22 / 7 * bil1 * bil1
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Layang-layang" Then
bil1 = InputBox("Masukkan nilai DIAGONAL1")
bil2 = InputBox("Masukkan nilai DIAGONAL2")
L1.Visible = True
L1.Text = "Sisi Sejajar1 = " & bil1
L2.Visible = True
L2.Text = "Sisi Sejajar2 = " & bil2
luas = 0.5 * bil1 * bil2
Labelluas.Text = luas
ElseIf ComboBox1.Text = "Belah Ketupat" Then
bil1 = InputBox("Masukkan nilai DIAGONAL1")
bil2 = InputBox("Masukkan nilai DIAGONAL2")
L1.Visible = True
L1.Text = "Sisi Sejajar1 = " & bil1
L2.Visible = True
L2.Text = "Sisi Sejajar2 = " & bil2
luas = 0.5 * bil1 * bil2
Labelluas.Text = luas
End If
End Sub
code diatas untuk menghitung luas bangun datar yang di pilih. di perhatiin aja bener2, ntar ngerti sendiri tuh. :)
Button2
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
dan aplikasi anda sudah selesai :)
membuat menu help
nanggung lagi :) sekalian aja kita buat menu help agar user mengetahui rumus untuk menghitung bagun datar.
Caranya. Pada toolBox buka tab Menus & Toolbars
Lalu tarik MenuStrip ke atas form seperti gambar diatas.
Selanjutnya klik 2x menu yang pertama “Rumus Persegi”
Sehingga tab coding akan muncul, tambahkan kode berikut
Private Sub RumusPersegiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusPersegiToolStripMenuItem.Click
MsgBox(" Rumus Luas Persegi = sisi x sisi")
End Sub
Lakukan untuk menu-menu yang lain.
Private Sub RumusPersegiPanjangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusPersegiPanjangToolStripMenuItem.Click
MsgBox(" Rumus Luas Persegi Panjang = panjang x lebar")
End Sub
Private Sub RumusSegitigaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusSegitigaToolStripMenuItem.Click
MsgBox(" Rumus Luas Segitiga = 1/2 x alas x tinggi")
End Sub
Private Sub RumusLingkaranToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusLingkaranToolStripMenuItem.Click
MsgBox(" Rumus Luas Lingkaran = π (pi) x jari-jari x jari-jari")
End Sub
Private Sub RumusTrapesiumToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusTrapesiumToolStripMenuItem.Click
MsgBox("Rumus Luas Trapesium = 1/2 x jumlah sisi sejajar x tinggi")
End Sub
Private Sub RumusJajargenjangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusJajargenjangToolStripMenuItem.Click
MsgBox("Rumus Luas Trapesium = 1/2 x jumlah sisi sejajar x tinggi")
End Sub
Private Sub RumusBelahKetupatToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusBelahKetupatToolStripMenuItem.Click
MsgBox("Rumus Belah Ketupat = diagonal (d) 1 x diagonal (d) 2")
End Sub
Private Sub RumusToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RumusToolStripMenuItem.Click
MsgBox("Rumus Belah Ketupat = diagonal (d) 1 x diagonal (d) 2")
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
MsgBox("Programmed by Aritha Handrico (Teknik Informatika UIN SUSKA RIAU)")
End Sub
End Class
KEUNTUNGAN DAN KEKURANGAN VISUAL BASIC
KEUNTUNGAN DAN KEKURANGAN MENGGUNAKAN VISUAL BASIC
Keuntungan Menggunakan Visual Basic
Visual Basic mempunyai banyak kelebihan dibandingkan Software/bahasa pemograman yang lain. Dibawah ini
adalah beberapa keuntungan tersebut:
• Kurva pembelajaran dan pengembangan yang lebih singkat dibandingkan bahasa pemograman yang lain seperti C/C++, Delphi atau bahkan PowerBuilder sekalipun.
• Menghilangkan kompleksitas pemanggilan fungsi Windows API, karena banyak fungsi-fungsi tersebut sudah di-"embeded" ke dalam syntax Visual Basic.
• Cocok digunakan untuk mengembangkan aplikasi/program yang bersifat "Rapid Application Development".
• Juga sangat cocok digunakan untuk membuat program/aplikasi Bisnis.
• Digunakan oleh hampir semua keluarga Microsoft Office sebagai bahasa Macro-nya, segera akan diikuti oleh yang lain.
• Dapat membuat ActiveX Control
• Dapat menggunakan OCX/Komponen yang disediakan oleh pihak ketiga ("third party") sebagai "tool" pengembangan.
• Menyediakan wizard yang sangat berguna untuk mempersingkat/mempermudah pengembangan aplikasi
• Mendekati Object Oriented Programming
• Dapat di-integrasikan dengan Internet, baik itu pada sisi Client maupun pada sisi Server
• Dapat membuat ActiveX Automation Server
• Integrasi dengan Microsoft Transaction Server
• Dapat menjalankan server tersebut dari mesin yang sama atau bahkan dari mesin/komputer yang lain.
Kekurangan/Kelemahan Visual Basic
Walaupun Visual Basic mempunyai banyak kelebihan, tetapi tetap saja mempunyai kekurangan/kelemahan.
Kelemahan-kelemahan ini sebenarnya disebabkan oleh keterbatasan Visual Basic dalam "mengambil" fungsifungsi
yang bersifat low-level yang berhubungan dengan Hardware maupun Operating System (Windows) itu
sendiri, antara lain:
• File Distribusi runtime-nya lebih besar dari kepunyaan C/C++.
• Tidak mempunyai fungsi-fungsi untuk mengambil feature-feature dari OS sebanyak C/C++.
Keuntungan Menggunakan Visual Basic
Visual Basic mempunyai banyak kelebihan dibandingkan Software/bahasa pemograman yang lain. Dibawah ini
adalah beberapa keuntungan tersebut:
• Kurva pembelajaran dan pengembangan yang lebih singkat dibandingkan bahasa pemograman yang lain seperti C/C++, Delphi atau bahkan PowerBuilder sekalipun.
• Menghilangkan kompleksitas pemanggilan fungsi Windows API, karena banyak fungsi-fungsi tersebut sudah di-"embeded" ke dalam syntax Visual Basic.
• Cocok digunakan untuk mengembangkan aplikasi/program yang bersifat "Rapid Application Development".
• Juga sangat cocok digunakan untuk membuat program/aplikasi Bisnis.
• Digunakan oleh hampir semua keluarga Microsoft Office sebagai bahasa Macro-nya, segera akan diikuti oleh yang lain.
• Dapat membuat ActiveX Control
• Dapat menggunakan OCX/Komponen yang disediakan oleh pihak ketiga ("third party") sebagai "tool" pengembangan.
• Menyediakan wizard yang sangat berguna untuk mempersingkat/mempermudah pengembangan aplikasi
• Mendekati Object Oriented Programming
• Dapat di-integrasikan dengan Internet, baik itu pada sisi Client maupun pada sisi Server
• Dapat membuat ActiveX Automation Server
• Integrasi dengan Microsoft Transaction Server
• Dapat menjalankan server tersebut dari mesin yang sama atau bahkan dari mesin/komputer yang lain.
Kekurangan/Kelemahan Visual Basic
Walaupun Visual Basic mempunyai banyak kelebihan, tetapi tetap saja mempunyai kekurangan/kelemahan.
Kelemahan-kelemahan ini sebenarnya disebabkan oleh keterbatasan Visual Basic dalam "mengambil" fungsifungsi
yang bersifat low-level yang berhubungan dengan Hardware maupun Operating System (Windows) itu
sendiri, antara lain:
• File Distribusi runtime-nya lebih besar dari kepunyaan C/C++.
• Tidak mempunyai fungsi-fungsi untuk mengambil feature-feature dari OS sebanyak C/C++.
PERMUTASI
Permutasi
Option Explicit
Dim id As Integer
Dim N As Integer
Dim perm() As Integer
Dim N As Integer
Dim perm() As Integer
Function Engine(i As Integer)
Dim t As Integer
Dim j As Integer
id = id + 1
perm(i) = id
If (id = N) Then stampaj
For j = 1 To N
If (perm(j) = 0) Then
Engine (j)
End If
DoEvents
Next j
id = id – 1
perm(i) = 0
End Function
Dim t As Integer
Dim j As Integer
id = id + 1
perm(i) = id
If (id = N) Then stampaj
For j = 1 To N
If (perm(j) = 0) Then
Engine (j)
End If
DoEvents
Next j
id = id – 1
perm(i) = 0
End Function
Private Sub cmdClear_Click()
List1.Clear
End Sub
List1.Clear
End Sub
Private Sub cmdGen_Click()
If Val(txtLength.Text) > Len(txtChar.Text) Then
MsgBox “Jumlah Permutasi Salah”
Exit Sub
End If
If Len(txtChar.Text) = 0 Or (Val(txtLength.Text) = 0) Then Exit Sub
Dim i As Integer
N = Val(txtLength.Text)
ReDim perm(N)
For i = 1 To N
perm(i) = 0
Next i
If ChSave.Value = 1 Then
MsgBox “Disimpan pada hasil.txt”
Open App.Path + “\hasil.txt” For Output As #1
End If
Engine 0
If ChSave.Value = 1 Then Close #1
End Sub
If Val(txtLength.Text) > Len(txtChar.Text) Then
MsgBox “Jumlah Permutasi Salah”
Exit Sub
End If
If Len(txtChar.Text) = 0 Or (Val(txtLength.Text) = 0) Then Exit Sub
Dim i As Integer
N = Val(txtLength.Text)
ReDim perm(N)
For i = 1 To N
perm(i) = 0
Next i
If ChSave.Value = 1 Then
MsgBox “Disimpan pada hasil.txt”
Open App.Path + “\hasil.txt” For Output As #1
End If
Engine 0
If ChSave.Value = 1 Then Close #1
End Sub
Sub Form_Load()
On Error Resume Next
id = -1
End Sub
On Error Resume Next
id = -1
End Sub
Sub stampaj()
Dim i As Integer
Dim result As String
result = “”
For i = 1 To N
result = result & CStr(Mid$(txtChar.Text, perm(i), 1))
Next i
List1.AddItem result
If ChSave.Value = 1 Then Print #1, result
End Sub
Dim i As Integer
Dim result As String
result = “”
For i = 1 To N
result = result & CStr(Mid$(txtChar.Text, perm(i), 1))
Next i
List1.AddItem result
If ChSave.Value = 1 Then Print #1, result
End Sub
Posted by Administrator in 05:05:49 | Permalink | Comments (5)
Enkripsi Searah
Public Function Hash(ByVal text As String) As String
a = 1
For i = 1 To Len(text)
a = Sqr(a * i * Asc(Mid(text, i, 1))) ‘Numeric Hash
Next i
Rnd (-1)
Randomize a ‘seed PRNG
a = 1
For i = 1 To Len(text)
a = Sqr(a * i * Asc(Mid(text, i, 1))) ‘Numeric Hash
Next i
Rnd (-1)
Randomize a ‘seed PRNG
For i = 1 To 16
Hash = Hash & Chr(Int(Rnd * 256))
Next i
End Function
Hash = Hash & Chr(Int(Rnd * 256))
Next i
End Function
Private Sub Form_Load()
MsgBox Hash(“EmZ-2509″) ‘Yang dihasilkan: ‰°’r¿¾ ©Ì¿ÂX*¤W
End
End Sub
MsgBox Hash(“EmZ-2509″) ‘Yang dihasilkan: ‰°’r¿¾ ©Ì¿ÂX*¤W
End
End Sub
Posted by Administrator in 04:58:18 | Permalink | Comments (1) »
Enkripsi
Function EncDec(inData As Variant, Optional inPW As Variant = “”) As Variant
On Error Resume Next
Dim arrSBox(0 To 255) As Integer
Dim arrPW(0 To 255) As Integer
Dim Bi As Integer, Bj As Integer
Dim mKey As Integer
Dim i As Integer, j As Integer
Dim x As Integer, y As Integer
Dim mCode As Byte, mCodeSeries As Variant
EncDec = “”
If Trim(inData) = “” Then
Exit Function
End If
If inPW <> “” Then
j = 1
For i = 0 To 255
arrPW(i) = Asc(Mid$(inPW, j, 1))
j = j + 1
If j > Len(inPW) Then
j = 1
End If
Next i
Else
For i = 0 To 255
arrPW(i) = 0
Next i
End If
For i = 0 To 255
arrSBox(i) = i
Next i
j = 0
For i = 0 To 255
j = (arrSBox(i) + arrPW(i)) Mod 256
x = arrSBox(i)
arrSBox(i) = arrSBox(j)
arrSBox(j) = x
Next i
mCodeSeries = “”
Bi = 0: Bj = 0
For i = 1 To Len(inData)
Bi = (Bi + 1) Mod 256
Bj = (Bj + arrSBox(Bi)) Mod 256
‘ Tukar
x = arrSBox(Bi)
arrSBox(Bi) = arrSBox(Bj)
arrSBox(Bj) = x
On Error Resume Next
Dim arrSBox(0 To 255) As Integer
Dim arrPW(0 To 255) As Integer
Dim Bi As Integer, Bj As Integer
Dim mKey As Integer
Dim i As Integer, j As Integer
Dim x As Integer, y As Integer
Dim mCode As Byte, mCodeSeries As Variant
EncDec = “”
If Trim(inData) = “” Then
Exit Function
End If
If inPW <> “” Then
j = 1
For i = 0 To 255
arrPW(i) = Asc(Mid$(inPW, j, 1))
j = j + 1
If j > Len(inPW) Then
j = 1
End If
Next i
Else
For i = 0 To 255
arrPW(i) = 0
Next i
End If
For i = 0 To 255
arrSBox(i) = i
Next i
j = 0
For i = 0 To 255
j = (arrSBox(i) + arrPW(i)) Mod 256
x = arrSBox(i)
arrSBox(i) = arrSBox(j)
arrSBox(j) = x
Next i
mCodeSeries = “”
Bi = 0: Bj = 0
For i = 1 To Len(inData)
Bi = (Bi + 1) Mod 256
Bj = (Bj + arrSBox(Bi)) Mod 256
‘ Tukar
x = arrSBox(Bi)
arrSBox(Bi) = arrSBox(Bj)
arrSBox(Bj) = x
‘siapkan kunci untuk XOR
mKey = arrSBox((arrSBox(Bi) + arrSBox(Bj)) Mod 256)
mKey = arrSBox((arrSBox(Bi) + arrSBox(Bj)) Mod 256)
‘gunakan operasi XOR
mCode = Asc(Mid$(inData, i, 1)) Xor mKey
mCodeSeries = mCodeSeries & Chr(mCode)
Next i
EncDec = mCodeSeries
End Function
mCode = Asc(Mid$(inData, i, 1)) Xor mKey
mCodeSeries = mCodeSeries & Chr(mCode)
Next i
EncDec = mCodeSeries
End Function
Private Sub Form_Load()
Dim Encrypt As String, Decrypt As String
Encrypt = EncDec(“admin”, “win”)
Decrypt = EncDec(“™D`>”, “win”)
MsgBox “Hasil enkripsi : ” & Encrypt & _
vbCrLf & “Hasil dekripsi : ” & Decrypt
End
End Sub
Dim Encrypt As String, Decrypt As String
Encrypt = EncDec(“admin”, “win”)
Decrypt = EncDec(“™D`>”, “win”)
MsgBox “Hasil enkripsi : ” & Encrypt & _
vbCrLf & “Hasil dekripsi : ” & Decrypt
End
End Sub
Posted by Administrator in 04:55:41 | Permalink | No Comments »
Wednesday, May 14, 2008
Menu Pop Up
Option Explicit
Private Declare Function SendMessage Lib “user32″ Alias _
“SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
“SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Private Const LB_GETITEMRECT = &H198
Private Const LB_ERR = (-1)
Private Const LB_ERR = (-1)
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Function GetRClickedItem(MyList As Control, _
X As Single, Y As Single) As Long
X As Single, Y As Single) As Long
‘PURPOSE: Determine which item was right clicked in a list
‘box, from the list_box’s mouse down event. YOU MUST CALL THIS
‘FROM THE MOUSEDOWN EVENT, PASSING THE X AND Y VALUES FROM THAT
‘EVENT TO THIS FUNCTION
‘box, from the list_box’s mouse down event. YOU MUST CALL THIS
‘FROM THE MOUSEDOWN EVENT, PASSING THE X AND Y VALUES FROM THAT
‘EVENT TO THIS FUNCTION
‘MYLIST: ListBox Control
‘X, Y: X and Y position from MyList_MouseDown
‘X, Y: X and Y position from MyList_MouseDown
‘RETURNS: ListIndex of selected item, or -1 if
‘a) There is no selected item, or b) an error occurs.
‘a) There is no selected item, or b) an error occurs.
Dim clickX As Long, clickY As Long
Dim lRet As Long
Dim CurRect As RECT
Dim l As Long
Dim lRet As Long
Dim CurRect As RECT
Dim l As Long
‘Control must be a listbox
If Not TypeOf MyList Is ListBox Then
GetRClickedItem = LB_ERR
Exit Function
End If
If Not TypeOf MyList Is ListBox Then
GetRClickedItem = LB_ERR
Exit Function
End If
‘get x and y in pixels
clickX = X Screen.TwipsPerPixelX
clickY = Y Screen.TwipsPerPixelY
clickX = X Screen.TwipsPerPixelX
clickY = Y Screen.TwipsPerPixelY
‘Check all items in the list to see if it was clicked on
For l = 0 To MyList.ListCount – 1
For l = 0 To MyList.ListCount – 1
‘get current selection as rectangle
lRet = SendMessage(MyList.hwnd, LB_GETITEMRECT, l, CurRect)
lRet = SendMessage(MyList.hwnd, LB_GETITEMRECT, l, CurRect)
‘If the position of the click is in the this list item
‘then that’s our Item
‘then that’s our Item
If (clickX >= CurRect.Left) And (clickX <= CurRect.Right) _
And (clickY >= CurRect.Top) And _
(clickY <= CurRect.Bottom) Then
And (clickY >= CurRect.Top) And _
(clickY <= CurRect.Bottom) Then
GetRClickedItem = l
Exit Function
End If
Next l
End Function
Exit Function
End If
Next l
End Function
Private Sub Form_Load()
List1.AddItem “Merah”
List1.AddItem “Kuning”
List1.AddItem “Hijau”
mnuPopUp.Visible = False
End Sub
List1.AddItem “Merah”
List1.AddItem “Kuning”
List1.AddItem “Hijau”
mnuPopUp.Visible = False
End Sub
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lItem As Long
Dim lItem As Long
If Button = vbRightButton Then
lItem = GetRClickedItem(List1, X, Y)
If lItem <> -1 Then
List1.ListIndex = lItem
PopupMenu mnuPopUp
End If
End If
lItem = GetRClickedItem(List1, X, Y)
If lItem <> -1 Then
List1.ListIndex = lItem
PopupMenu mnuPopUp
End If
End If
End Sub
Posted by Administrator in 05:53:04 | Permalink | Comments (1) »
Load Picture
Private Sub Command1_Click()
With Me.CommonDialog1
.DialogTitle = “Ambil Gambar”
.Filter = “JPEG|*.jpg”
.ShowOpen
With Me.CommonDialog1
.DialogTitle = “Ambil Gambar”
.Filter = “JPEG|*.jpg”
.ShowOpen
If .FileName <> “” Then
Set Me.Picture1.Picture = Nothing
Me.Picture1.Picture = LoadPicture(.FileName)
End If
End With
End Sub
Set Me.Picture1.Picture = Nothing
Me.Picture1.Picture = LoadPicture(.FileName)
End If
End With
End Sub
‘Private Sub Form_Load()
‘Me.Picture1.Picture = LoadPicture(“D:\gbr_motor\bikes_honda_01.jpg”)
‘End Sub
‘Me.Picture1.Picture = LoadPicture(“D:\gbr_motor\bikes_honda_01.jpg”)
‘End Sub
Posted by Administrator in 04:28:16 | Permalink | No Comments »
Friday, May 9, 2008
Sleep With Visual Basic
Option Explicit
Private Declare Sub Sleep Lib “kernel32″ (ByVal dwMilliseconds As Long)
Private Sub Form_Click()
Me.Caption = “Sleeping”
Call Sleep(20000)
Me.Caption = “Awake”
End Sub
Me.Caption = “Sleeping”
Call Sleep(20000)
Me.Caption = “Awake”
End Sub
Private Sub Label1_Click()
Me.Caption = “Sleeping”
Call Sleep(20000)
Me.Caption = “Awake”
End Sub
Me.Caption = “Sleeping”
Call Sleep(20000)
Me.Caption = “Awake”
End Sub
Posted by Administrator in 08:18:13 | Permalink | No Comments »
Find Something
Form
Option Explicit
Private Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Sub cmdActivate_Click()
Dim nRet As Long
Dim Title As String
Dim nRet As Long
Dim Title As String
nRet = AppActivatePartial(Trim(txtTitle.Text), _
Val(frmMethod.Tag), CBool(chkCase.Value))
If nRet Then
lblResults.Caption = “Found: &&H” & Hex$(nRet)
Title = Space$(256)
nRet = GetWindowText(nRet, Title, Len(Title))
If nRet Then
lblResults.Caption = lblResults.Caption & _
“, “”" & Left$(Title, nRet) & “”"”
End If
Else
lblResults.Caption = “Search Failed”
End If
End Sub
Val(frmMethod.Tag), CBool(chkCase.Value))
If nRet Then
lblResults.Caption = “Found: &&H” & Hex$(nRet)
Title = Space$(256)
nRet = GetWindowText(nRet, Title, Len(Title))
If nRet Then
lblResults.Caption = lblResults.Caption & _
“, “”" & Left$(Title, nRet) & “”"”
End If
Else
lblResults.Caption = “Search Failed”
End If
End Sub
Private Sub Form_Load()
txtTitle.Text = “”
lblResults.Caption = “”
optMethod(0).Value = True
End Sub
lblResults.Caption = “”
optMethod(0).Value = True
End Sub
Private Sub optMethod_Click(Index As Integer)
frmMethod.Tag = Index
End Sub
End Sub
Module
Option Explicit
Private Declare Function EnumWindows Lib “user32″ (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib “user32″ Alias “GetClassNameA” (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function IsIconic Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function IsWindowVisible Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function ShowWindow Lib “user32″ (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SetForegroundWindow Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function GetClassName Lib “user32″ Alias “GetClassNameA” (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function IsIconic Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function IsWindowVisible Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function ShowWindow Lib “user32″ (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SetForegroundWindow Lib “user32″ (ByVal hWnd As Long) As Long
Private Const SW_RESTORE = 9
Private m_hWnd As Long
Private m_Method As FindWindowPartialTypes
Private m_CaseSens As Boolean
Private m_Visible As Boolean
Private m_AppTitle As String
Private m_Method As FindWindowPartialTypes
Private m_CaseSens As Boolean
Private m_Visible As Boolean
Private m_AppTitle As String
Public Enum FindWindowPartialTypes
FwpStartsWith = 0
FwpContains = 1
FwpMatches = 2
End Enum
FwpStartsWith = 0
FwpContains = 1
FwpMatches = 2
End Enum
Public Function AppActivatePartial(AppTitle As String, Optional Method As FindWindowPartialTypes = FwpStartsWith, Optional CaseSensitive As Boolean = False) As Long
Dim hWndApp As Long
hWndApp = FindWindowPartial(AppTitle, Method, CaseSensitive, True)
If hWndApp Then
If IsIconic(hWndApp) Then
Call ShowWindow(hWndApp, SW_RESTORE)
End If
Call SetForegroundWindow(hWndApp)
AppActivatePartial = hWndApp
End If
End Function
Dim hWndApp As Long
hWndApp = FindWindowPartial(AppTitle, Method, CaseSensitive, True)
If hWndApp Then
If IsIconic(hWndApp) Then
Call ShowWindow(hWndApp, SW_RESTORE)
End If
Call SetForegroundWindow(hWndApp)
AppActivatePartial = hWndApp
End If
End Function
Public Function FindWindowPartial(AppTitle As String, _
Optional Method As FindWindowPartialTypes = FwpStartsWith, _
Optional CaseSensitive As Boolean = False, _
Optional MustBeVisible As Boolean = False) As Long
m_hWnd = 0
m_Method = Method
m_CaseSens = CaseSensitive
m_AppTitle = AppTitle
If m_CaseSens = False Then
m_AppTitle = UCase$(m_AppTitle)
End If
Call EnumWindows(AddressOf EnumWindowsProc, MustBeVisible)
FindWindowPartial = m_hWnd
End Function
Optional Method As FindWindowPartialTypes = FwpStartsWith, _
Optional CaseSensitive As Boolean = False, _
Optional MustBeVisible As Boolean = False) As Long
m_hWnd = 0
m_Method = Method
m_CaseSens = CaseSensitive
m_AppTitle = AppTitle
If m_CaseSens = False Then
m_AppTitle = UCase$(m_AppTitle)
End If
Call EnumWindows(AddressOf EnumWindowsProc, MustBeVisible)
FindWindowPartial = m_hWnd
End Function
Private Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
Static WindowText As String
Static nRet As Long
Static WindowText As String
Static nRet As Long
If lParam Then
If IsWindowVisible(hWnd) = False Then
EnumWindowsProc = True
Exit Function
End If
End If
If IsWindowVisible(hWnd) = False Then
EnumWindowsProc = True
Exit Function
End If
End If
WindowText = Space$(256)
nRet = GetWindowText(hWnd, WindowText, Len(WindowText))
If nRet Then
WindowText = Left$(WindowText, nRet)
If m_CaseSens = False Then
WindowText = UCase$(WindowText)
End If
Select Case m_Method
Case FwpStartsWith
If InStr(WindowText, m_AppTitle) = 1 Then
m_hWnd = hWnd
End If
Case FwpContains
If InStr(WindowText, m_AppTitle) <> 0 Then
m_hWnd = hWnd
End If
Case FwpMatches
If WindowText = m_AppTitle Then
m_hWnd = hWnd
End If
End Select
End If
EnumWindowsProc = (m_hWnd = 0)
End Function
nRet = GetWindowText(hWnd, WindowText, Len(WindowText))
If nRet Then
WindowText = Left$(WindowText, nRet)
If m_CaseSens = False Then
WindowText = UCase$(WindowText)
End If
Select Case m_Method
Case FwpStartsWith
If InStr(WindowText, m_AppTitle) = 1 Then
m_hWnd = hWnd
End If
Case FwpContains
If InStr(WindowText, m_AppTitle) <> 0 Then
m_hWnd = hWnd
End If
Case FwpMatches
If WindowText = m_AppTitle Then
m_hWnd = hWnd
End If
End Select
End If
EnumWindowsProc = (m_hWnd = 0)
End Function
Posted by Administrator in rudi Hartono
Permutasi
Option Explicit
Dim id As Integer
Dim N As Integer
Dim perm() As Integer
Dim N As Integer
Dim perm() As Integer
Function Engine(i As Integer)
Dim t As Integer
Dim j As Integer
id = id + 1
perm(i) = id
If (id = N) Then stampaj
For j = 1 To N
If (perm(j) = 0) Then
Engine (j)
End If
DoEvents
Next j
id = id – 1
perm(i) = 0
End Function
Dim t As Integer
Dim j As Integer
id = id + 1
perm(i) = id
If (id = N) Then stampaj
For j = 1 To N
If (perm(j) = 0) Then
Engine (j)
End If
DoEvents
Next j
id = id – 1
perm(i) = 0
End Function
Private Sub cmdClear_Click()
List1.Clear
End Sub
List1.Clear
End Sub
Private Sub cmdGen_Click()
If Val(txtLength.Text) > Len(txtChar.Text) Then
MsgBox “Jumlah Permutasi Salah”
Exit Sub
End If
If Len(txtChar.Text) = 0 Or (Val(txtLength.Text) = 0) Then Exit Sub
Dim i As Integer
N = Val(txtLength.Text)
ReDim perm(N)
For i = 1 To N
perm(i) = 0
Next i
If ChSave.Value = 1 Then
MsgBox “Disimpan pada hasil.txt”
Open App.Path + “\hasil.txt” For Output As #1
End If
Engine 0
If ChSave.Value = 1 Then Close #1
End Sub
If Val(txtLength.Text) > Len(txtChar.Text) Then
MsgBox “Jumlah Permutasi Salah”
Exit Sub
End If
If Len(txtChar.Text) = 0 Or (Val(txtLength.Text) = 0) Then Exit Sub
Dim i As Integer
N = Val(txtLength.Text)
ReDim perm(N)
For i = 1 To N
perm(i) = 0
Next i
If ChSave.Value = 1 Then
MsgBox “Disimpan pada hasil.txt”
Open App.Path + “\hasil.txt” For Output As #1
End If
Engine 0
If ChSave.Value = 1 Then Close #1
End Sub
Sub Form_Load()
On Error Resume Next
id = -1
End Sub
On Error Resume Next
id = -1
End Sub
Sub stampaj()
Dim i As Integer
Dim result As String
result = “”
For i = 1 To N
result = result & CStr(Mid$(txtChar.Text, perm(i), 1))
Next i
List1.AddItem result
If ChSave.Value = 1 Then Print #1, result
End Sub
Dim i As Integer
Dim result As String
result = “”
For i = 1 To N
result = result & CStr(Mid$(txtChar.Text, perm(i), 1))
Next i
List1.AddItem result
If ChSave.Value = 1 Then Print #1, result
End Sub
Posted by Administrator in 05:05:49
Langganan:
Postingan (Atom)