Kamis, Desember 20

ParamArray, Overloading dan macam - macam fungsi bawaan di visual basic

 Penjelasan Program ParamArray
Public Class Form6
Private Function fstat(ByVal ParamArray args() As Object) As Single()
Membuat sub program dengan Function dengan variable fstat dengan parameter ByVal yang bererti melewatkan parameter secara nilai dengan tipe single yang berarti bilangannya bulat.
Dim hasil(3) As Single
Membuat variable dengan nama hasil dengan jumlah teratas atau Ubound 3 yang bertipe data single.
Dim i As Integer
Membuat variable dengan nama i yang bertipe data integer.
For i = 0 To UBound(args)
Merupakan perulangan untuk i=0 sampai batas teratas dari array
_MORE_TEXT_TAG_
hasil(0) = hasil(0) + args(i)
hasil (0) = 0 karena perulangan belum di mulai.
args(i) = nilai dari indeks array ke i
If i = 0 Then
jika i = 0 maka lakukan sebagai berikut
hasil(1) = args(i)
hasil 1 = nilai dari indeks ke i
hasil(2) = args(i)
hasil 2 =nilai dari indeks ke i
End If
Selain i=0,atau jika i bukan sama dengan 0
If hasil(1) < args(i) Then hasil(1) = args(i)
Jika hasil 1 lebih kecil dari nilai i maka hasil 1= nilai dai indeks ke i
If hasil(1) > args(i) Then hasil(1) = args(i)
Jika hasil 2 lebih kecil dari nilai i maka hasil 2= nilai dai indeks ke i
Next i
Return hasil
Akan kembali ke hasil
End Function
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim statistik As Single() = fstat(1,6,2,7,3,8,4,9,5,10)
Membuat vaariable dengan nama ststistik yang bertipe data single dengan nilai array pada indeks ke 0=1
Indeks ke 1=6
Indeks ke 2=2
TextBox1.Text = statistik(0)
TextBox2.Text = statistik(1)
TextBox3.Text = statistik(2)
Pada texbox1 akan bernilai sesuai dengan statistik dari indeks ke 0
Demikian juga pada texbox ke 2 dan 3
End Sub

Gambar 1



 
 Gambar 2



Over Loading Function

Overloading function adalah beberapa fungsi yang memiliki perintah berbeda tetapi namanya sama. Sebagai contoh adalah program dibawah ini. Terdapat 2 Fuction hitung pada program ini namun program hanya akan menjalankan salah satunya saja.

Function hitung(ByVal bil1 As Integer, ByVal bil2 As Integer) As Integer
hitung = bil1 + bil2
End Function
Function hitung(ByVal bil1 As Integer, ByVal bil2 As Integer, ByVal bil3 As Integer) As Integer
hitung = bil1 + bil2 + bil3
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = hitung(1, 2, 3)
End Sub

Pada dua procedure diatas, yg pertama mempunyai dua buah deklarasi variabel dan yang kedua mempunyai tiga deklarasi variabel, lalu bagaimana cara kerjanya?
Hal ini bergantung dari variabel yg anda suplay pada saat procedure tersebut anda panggil,
jika anda hanya menyuplai tiga variabel, pada saat pemanggilan procedure maka yg di eksekusi adalah procedure yang kedua, akan tetapi
jika anda memberikan dua nilai variabel pada saat pemanggilan procedure maka yg dieksekusi adalah procedure yg pertama.



Gambar 3


Gambar 4




FUNGSI BAWAAN DALAM VISUAL BASIC
Dalam Visual Basic, Fungsi bawaan adalah suatu fungsi yang sudah ada dalam Visual Basic dan dapat digunakan secara langsung. Ada sejumlah fungsi-fungsi bawaan dalam VB diantaranya adalah fungsi untuk mengubah suatu tipe data String dari suatu TextBox menjadi tipe data numerik agar dapat digunakan untuk melakukan operasi perhitungan, fungsi yang berkaitan dengan matematika, dll.
1.Fungsi-fungsi Numerik Dengan menggunakan fungsi-fungsi bawaan yang disediakan, waktu pembuatan sebuah program dapat disingkat. Fungsi-fungsi numerik merupakan fungsi-fungsi yang berkaitan dengan tipe data numerik.
Fungsi-fungsi ini dapat dikelompokkan sebagai berikut :
a. Fungsi-fungsi konversi ke integer. Ada tiga macam fungsi yang melakukan konversi ke tipe data integer yaitu seperti terlihat pada tabel .
CInt () ===> Pembuatan nilai desimal 0.5 dan lebih ke integer yang lebih dekat
Fix () ===> Pemotongan suatu nilai desimal menjadi integer
Int () ===> Pembuatan ke bawah suatu nilai desimal
Untuk bilangan positif, fungsi Fix() dan Int() memberikan perlakuan yang sama. Sebagai contoh, kedua pernyataan berikut ini mengembalikan nilai yang sama
ans1 = Int (14.5) mengembalikan 14
ans2 = Fix (14.5) mengembalikan 14
Namun fungsi Fix() dan Int() memberikan perlakuan berbeda pada bilangan negatif. Kedua pernyataan berikut memberikan pengembalian yang berbeda.
ans1 = Int (-14.5) mengembalikan -15
ans2 = Fix (-14.5) mengembalikan 14
Sedangkan fungsi CInt() mengembalikan pembulatan angka yang terdekat. Berikut ni contoh penggunaan CInt() :
ans1 = CInt (14.1) mengembalikan 14
ans2 = CInt (14.5) mengembalikan 14
ans3 = CInt (14.6) mengembalikan 14
ans2 = CInt (-14.5) mengembalikan -14
b. Fungsi ’f1’endash Fungsi konversi tipe data
CCur () mengkonversi argumen menjadi tipe data currency
CDbl () mengkonversi argumen menjadi tipe data double (presisi ganda)
CLng () mengkonversi argumen menjadi tipe data long integer
CSng () mengkonversi argumen menjadi tipe data single
CStr () mengkonversi argumen menjadi tipe data string
Ivar () mengkonversi argumen menjadi tipe data variant
Sebagai contoh misalkan sebuah data yang merupakan hasil bagi (1 / 7)
lblNilai = (1 / 7) ditampilkan .1428571
lblNilai = CDbl (1 / 7) ditampilkan .142857142857143
a. Fungsi-fungsi matematika Fungsi-fungsi yang bekaitan dengan matematika seperti terlihat pada
Abs () mengembalikan nilai absolut dari argumen
Atn () mengembalikan nilai arc tangen dari argumen dalam bentuk radian
Cos () mengembalikan nilai cosinus dari argumen radian
Exp () mengembalikan nilai exponensial dari argumen
Log () mengembalikan nilai logaritma dari argumen
Sin () mengembalikan nilai sinus dari argumen dalam radian
Sqr () mengembalikan nilai akar dari argumen
Tan () mengembalikan nilai tangen dari argumen dalam radian
2.Fungsi-fungsi String
Selain fungsi-fungsi numerik, Visual Basic juga mempunyai sejumlah fungsi-fungsi String diantaranya seperti berikut
LCase$ () mengembalikan argumen string sebagai tipe data string huruf
Ucase () mengembalikan argumen string sebagai tipe data variant huruf besar
Ucase$ () mengembalikan argumen string sebagai tipe data string huruf besar
Val () mengembalikan nilai number dari argumen string
Len () mengembalikan nilai sumber yang menunjukan panjang string
Substring merupakan bagian dari suatu string. Untuk memperoleh substring dari suatu string dapat digunakan 3 fungsi berikut :
a. Left$(StringVal, length)
Fungsi ini mengembalikan nilai string dari sebelah kiri sebanyak length karakter .
b. Right$(StringVal, length)
Fungsi ini mengembalikan nilai string dari sebelah kanan sebanyak length karakter .
c. Mid$(StringVal, startVal, length)
Fungsi ini mengembalikan nilai string dari startVal sebanyak length karakter .
Contoh :
HurufKecil = LCase ("Rickie") ’HurufKecil = "rickie"
HurufBesar = Ucase ("Faizin") ’HurufBesar = "FAIZIN"
Title = "Apa Kabar"
lTitle = Left$ (Title, 4) ’lTitle = "Halo"
RTitle = Right$ (Title, 5) ’RTitle = "Dunia"
MTitle = Left$ (Title, 2, 6) ’MTitle = "alo Du"
Panjang = Len ("Biru dan hijau") ’length = 14
3.Fungsi-fungsi Tanggal dan Waktu
Jika dalam suatu aplikasi diperlukan pengambilan tanggal atau waktu dari sistem, Visual Basic menyediakan fungsi ’endash fungsi Now(), Date(), dan Time().
Fungsi-fungsi Tanggal dan Waktu
Now () mengembalikan tanggal dan waktu sistem
Date () mengembalikan tanggal dari sistem
Time () mengembalikan waktu dari sistem

Selain fungsi-fungsi diatas terdapat sebuah fungsi yaitu format() yang berkaitan dengan fungsi-fungsi Tanggal dan waktu
Format (Expresi [, format[, firstdayofweek[, firstweekofyear]]])
Fungsi ini mengembalikan nilai variant atau string sesuai dengan format yang ditentukan.
4.Fungsi Date and Time pada VB
Time : mencari tahu waktu saat ini atau menetapkan waktu, tergantung format
pemakaiannya ( lihat contoh di bawah ini)
A$ = Time ’lquote hasil 18:16:35 AM
MyTime = #4:35:17 PM# ’lquote assign a time
Time = MyTime ’lquote set system time to MyTime
Now : merekam tanggal dan waktu sekarang
A$ = Now ’lquote hasil 10/8/02 18:16:35 AM
Timer : menghitung jumlah detik sejak tengah malam
Start = Timer ’lquote hasilnya
29991
Date : menetapkan hari pada sistem komputer
Dim MyDate
MyDate = #February 12, 1985 # ’lquote Assign a date
Date = MyDate ’lquote Change system date
DateAdd : menghasilkan Varian(Date) yang berisi tanggal baru setelah suatu interval waktu yang ditetapkan dari tanggal lama.
DateAdd(kode_interval,jumlah_interval,tanggal_lama)
11
Contoh pemakaiannya :
Dim FirstDate As_Date ’lquote Declare variables
Dim IntervalType As String
Dim Number As Integer
Dim Msg
FirstDate = InputBox(’ldblquote Enter a date’rdblquote )
Bynber = InputBox(’ldblquote Enter number of months to add’rdblquote )
Msg = ’ldblquote New date : ’ldblquote & DateAdd(’ldblquote m’rdblquote , Number, FirstDate)
MsgBox Msg
DateDiff : mencari interval waktu antara dua tanggal
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) Dim TheDate As Date ’lquote declare variables
TheDate = InputBox(’ldblquote Enter a date’rdblquote ) Msg = ’ldblquote Day from today : ’ldblquote & DateDiff(’ldblquote d’rdblquote , Now, TheDate)
MsgBox Msg
DateSerial : menghasilkan tanggal dengan bulan/hari/tahun
MyDate = DateSerial(1969, 2, 12) ’lquote Hasil 2/12/69
DateValue : menghasilkan tanggal
MyDate = DateValue(’ldblquote February 12, 1969’rdblquote ) ’lquote Hasil 2/12/69
Year : menghasilkan tahun sekarang
MyYear = Year(#2/12/1969#) ’lquote Hasil 1969
Month : menghasilkan bilangan integer yang menunjukkan bulan
MyDate = #February 12, 1969# ’lquote Assign a date
MyMonth = Month(MyDate) ’lquote MyMonth = 2
MonthName : menghasilkan teks yang menunjukkan nama bulan
a$ = MonthName(1, True) ’lquote a$ = Jan
b$ = MonthName(1, False) ’lquote b$ = January
c$ = MonthName(1) ’lquote c$ = January
Day : menghasilkan integer yang menunjukkan tanggal dari data date
MyDate = #February 12, 1969# ’lquote Assign a date
MyDay = Day(MyDate) ’lquote MyDay berisi 12
Hour : menghasilkan integer yang menunjukkan jam dari data timer
MyTime = #4:35:17 PM# ’lquote Assign a time
MyHour = Hour(MyTime) ’lquote MyHour berisi 16
Minute : menghasilkan integer yang menunjukkan menit dari data timer
MyTime = #4:35:17 PM# ’lquote Assign a time
MyMinute = Minute(MyTime) ’lquote MyMinute berisi 35
Second : menghasilkan integer yang menunjukkan detik dari data timer
MyTime = #4:35:17 PM# ’lquote Assign a time
MySecond = Second(MyTime) ’lquote MySecond berisi 17
TimeSerial : menghasilkan waktu dengan jam/menit/detik
MyTime = TimeSerial(16, 35, 17) ’lquote Isinya 4:35:17 PM
TimeValue : mengubah string waktu dari pukul 0:00:00 (12:00:00 AM) sampai 23:59:59 (11:59:59 PM) menjadi data waktu
MyTime = TimeValue(’ldblquote 4:35:17 PM’rdblquote ) ’lquote Isinya 4:35:17 PM
MyTime = TimeValue(’ldblquote 0:00:00’rdblquote ) ’lquote Isinya 12:00:00 AM
WeekDay : menghasilkan bilangan petunjuk hari dari suatu tanggal
Hari = #February 12, 1969# ’lquote Hari Rabu
MyweekDay = Weekday(Hari) ’lquote MyweekDay isinya 4
WeekDayName : menghasilkan teks nama hari dalam satu minggu
12

Sabtu, Desember 8

Mdi child

Buatlah form seperti gambar dibawah ini :






Kode yang digunakan :

Public Class Form1
    Private Sub Tugas1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tugas1ToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileHorizontal)
        Form2.Show()
        Form3.Show()
    End Sub
    Private Sub Latihan1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Latihan1ToolStripMenuItem.Click
        Form2.MdiParent = Me
        Form2.Show()
    End Sub
    Private Sub Latihan2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Latihan2ToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.Cascade)
        Form2.Show()
        Form3.Show()
    End Sub







Masuk ke menu window lalu pilih cascade ,tampilan akan muncul sebagai berikut :
Kodenya sebagai berikut :

Private Sub CascadeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CascadeToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.Cascade)
        Form2.Show()
        Form3.Show()
    End Sub



 Masuk ke menu window lalu pilih vertikal ,tampilan akan muncul sebagai berikut
  Kodenya sebagai berikut :

    Private Sub TileVerticalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TileVerticalToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileVertical)
        Form2.Show()
        Form3.Show()
    End Sub


Masuk ke menu window lalu pilih horizontal ,tampilan akan muncul sebagai berikut :
Kodenya sebagai berikut :

    Private Sub TileHorizontalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TileHorizontalToolStripMenuItem.Click
        Me.LayoutMdi(Windows.Forms.MdiLayout.TileHorizontal)
        Form2.Show()
        Form3.Show()
 End Sub


    Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
        Form2.MdiParent = Me
        Form2.Show()
    End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Me.LayoutMdi(MdiLayout.TileVertical)
        Form2.Show()
        Form3.Show()
    End Sub


Masuk ke menu keluar exit :

 Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Me.Close()
    End Sub

Jumat, Oktober 19

Latihan 1  no 3
a.      Karena pada btalamat1_click, belum ada pendeklarasian alamat ‘
Seharusnya > dim alamat as string
b.      Karena Pada tombol nama1 pendeklarasian nama sudah di masukan Dim nama As String
Nama = “Nandang” sedangkan pada tombol nama2, nama belum di deklarasikan sehingga sehingga mengambil dari module
Pada Btalamat 1 dan tombol alamat
2 sudah di deklarasikan di form
1 dengan Conts alamat = “kuningan”
c.       Karena pada tombol tambah umur1 menggunakan dim yaitu masukan selalu memulai kembali jika tombol di tekan sedangkan pada tombol tambah umur2 menggunakan static yaitu masukan yang tetap dan bertambah jika di tekan karna static dan umur +=1
d.      Analisis form 2
Analisa saya untuk Form Dua, saat kita melihat coding pada FrmDua kita melihat ada baris perintah :
Option Explicit Off
Itu artinya bahwa variabel pada FrmDua tidak perlu kita definisikan dan program akan langsung mengambil definisi variabel-variabel itu dari variabel Public yang terdapat dimanapun. Pada program ini variabel-variable tersebtu terdapat pada Module1. Sehingga pada saat kita menekan tombol Nama atau Alamat atau Umur, nilai yang keluar adalah nilai yang terdapat pada Module1.

Latihan 2
Saya melengkapi program dengan menambah listing program untuk kode TAS, satu button yaitu button kembalian, dan dua textbox untuk uang bayar dan kembalian.
Langkah-Langkah:
Buatlah form seperti ini dengan ketentuan sbb:
9 label,  8 text box, 1 combo box, 2 radio button, 3 button






  

  
1.     Isikan perintah atau coding pada masing-masing button, combobox, radio button
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cmbcode.Items.Add("SPT")
        cmbcode.Items.Add("SND")
        cmbcode.Items.Add("TST")
        cmbcode.Items.Add("TOP")
        cmbcode.Items.Add("TAS")
    End Sub

    Private Sub cmbcode_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbcode.SelectedIndexChanged
        Dim kdbarang, namabarang As String
        Dim harga As Single
        kdbarang = cmbcode.Text
        Select Case kdbarang
            Case "SPT"
                namabarang = "Sepatu"
                harga = 200000
            Case "SND"
                namabarang = "Sandal"
                harga = 100000
            Case "TST"
                namabarang = "T-Shirt"
                harga = 150000
            Case "TOP"
                namabarang = "Topi"
                harga = 500000
Case "TAS"
                namabarang = "Tas"
                harga = 250000

            Case Else
                namabarang = "-"
                harga = 0
        End Select
        txtnama.Text = namabarang
        txtharga.Text = harga
    End Sub

    Private Sub txtjumlah_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjumlah.TextChanged
        txttotal.Text = Val(txtharga.Text) * Val(txtjumlah.Text)
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
    End Sub

    Private Sub radiotunai_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radiotunai.CheckedChanged
        txtdiskon.Text = Val(txttotal.Text) * 10 / 100
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
    End Sub

    Private Sub radiokredit_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radiokredit.CheckedChanged
        txtdiskon.Text = 0
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
    End Sub

    Private Sub btclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btclear.Click
        txtbayar.Clear()
        txtdiskon.Clear()
        txtharga.Clear()
        txtjumlah.Clear()
        txtnama.Clear()
        txttotal.Clear()
        txtuangbayar.Clear()
        txtuangkembali.Clear()
        Me.radiotunai.Checked = False
        Me.radiokredit.Checked = False
        cmbcode.Text = ""
    End Sub

    Private Sub bttutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttutup.Click
        Me.Close()
    End Sub

    Private Sub btkembalian_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btkembalian.Click
        If txtuangbayar.Text = "" Then
            MessageBox.Show(txtuangbayar, "Maaf Anda Belum Memasukkan Uang Bayar")
        ElseIf txtuangbayar.Text < txtbayar.Text Then
            MessageBox.Show(txtuangbayar, "Maaf Uang Anda Kurang")
        ElseIf txtuangbayar.Text > txtbayar.Text Then
            txtuangkembali.Text = txtuangbayar.Text - txtbayar.Text
        End If

    End Sub
End Class