Senin, 24 Desember 2012

Menjelaskan Program

Meilita Rahayu
TI 11 C
11.11.2486

FUNCTION DENGAN RETURN VALUE BERUPA ARRAY

Terdapat form design seperti dibawah ini dengan listing programnya

Public Class Form1

    Private Function fstat(ByVal ParamArray args() As Object) As Single()
        Dim hasil(3) As Single
        Dim i As Integer
        For i = 0 To UBound(args)
            hasil(0) = hasil(0) + args(i)
            If i = 0 Then
                hasil(1) = args(i)
                hasil(2) = args(i)
            End If
            If hasil(1) < args(i) Then hasil(1) = args(i)
            If hasil(2) > args(i) Then hasil(2) = args(i)
        Next i
        Return hasil
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim statistik As Single() = fstat(4, 5, 2, 7, 3, 10)
        TextBox1.Text = statistik(0)
        TextBox2.Text = statistik(1)
        TextBox3.Text = statistik(2)

    End Sub
End Class

Penjelasan dari program diatas
            Ketentuannya jika kita mengklik button, maka akan muncul total angka terbesar dan angka terkecil. Disitu terdapat fungsi dengan nama fstat dengan menggunakan paramater ByVal ParramArray, yang artinya melewatkan secara nilai dan berupa array yang bisa menampung banyak elemen.  Nama parameternya yaitu args() dan bertipe data object sedang fstat nya single.

Private Function fstat(ByVal ParamArray args() As Object) As Single()



Dim hasil(3) As Single
       Dim i As Integer
Pendeklarasian variabel secara lokal dengan nama variabel “hasil (3)” berarti menampung 3 elemen yaitu hasil(0), hasil(1), dan hasil(2) bertipe single dan variabel ”i” bertipe integer.


For i = 0 To UBound(args)
       hasil(0) = hasil(0) + args(i)

Perulangan for berfungsi untuk melakukan perulangan sebanyak Ubound (args) yaitu sampai batas atas array args.


If i = 0 Then
      hasil(1) = args(i)
      hasil(2) = args(i)

Jika i=0 maka hasil(1)=array args jumlah indeksnya, begitu juga dengan hasil(2)




If hasil(1) < args(i) Then hasil(1) = args(i)
If hasil(2) > args(i) Then hasil(2) = args(i)

Jika hasil(1) < args(i), args(i) elemen dari array fstat maka nilai hasil(1) diganti args(i), dan jika hasil(2) > args(i) maka nilai hasil(2) diganti dengan args(i) yang tadi. Sebagai contoh, hasil (1) sebelumnya nilainya 4, berarti dia memenuhi syarat yang pertama yaitu 4  <  5 (args(i)) lalu nilai 4 diganti 5, begitupun seterusnya. Dan hasil(2) yang nilainya 4 tidak lebih besar dari 6 tidak memenuhi syarat yang kedua jadi hasil(2) nilainya tetap 4. Disitu ada fungsi return, yang artinya akan mengembalikan nilai. Jadi si pemanggil meminta ke fungsi tersebut dan langsung mengembalikan ke pemanggil yaitu hasil.



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim statistik As Single() = fstat(4, 5, 2, 7, 3, 10)
        TextBox1.Text = statistik(0)
        TextBox2.Text = statistik(1)
        TextBox3.Text = statistik(2)

Perintah diatas untuk memanggil fungsi fstat yang disamakan dengan statistik.
 Textbox1 akan dimunculkan total atau jumlah dari bilangan yang berada didalam kurung
Textbox2 akan dimunculkan nilai yang paling besar dari bilangan tersebut
Textbox3 akan memuat nilai yang terkecil dari bilangan tersebut


OVERLOADING FUNCTION
Overloading function adalah function yang mempunyai nama yang sama tetapi mempunyai parameter yang berbeda..
Contohnya ada pada program dibawah ini

Terdapat form design dengan 1 textbox dan 1 button dengan listing program :
Public Class Form1
    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)
       
    End Sub

End Class


Penjelasan dari program diatas sebagai berikut

Program diatas memiliki nama fungsi “hitung” tetapi memiliki jumlah parameter yang berbeda, fungsi pertama terdapat 2 parameter dengan nama bil1,bil2 sedangkan fungsi kedua mempunyai parameter 3 yaitu bil1,bil2,bil3

                                    
    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                                 


Pemanggilan fungsi tersebut ditempatkan pada button1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = hitung(1,2)

Angka 1 dalam kurung menyatakan bil1 pada parameter yang telah dideklarasikan sedangkan angka 2 mewakili bil2. Jika di Run, hasilnya akan muncul seperti ini

Dalam texbox langsung muncul angka 3, karena hasil penjumlahan bil1 dengan bil2 1+2=3. Lalu mengapa terdapat parameter bil1,bil2,bil3? Coba kita tambahkan program dalam button1 seperti dibawah ini
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = hitung(1,2)
        TextBox1.Text = hitung(1,2,3)

Terdapat 3 bilangan yang masing-masing mewakili bil1,bil2,bil3..Setelah program di Run akan muncul

Terdapat angka 6 dalam textbox,itu karena hasil penjumlahan 1+2+3 pada program yang kita tambahkan tadi.
 Secara singkat,walaupun 2 fungsi diatas mempunyai nama yang sama, tetapi compiler tahu fungsi manakah yang harus dipanggil.


MACAM-MACAM FUNGSI BAWAAN
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 untuk mengkonversi ke integer
Ada tiga macam fungsi yang melakukan konversi ke tipe integer,antara lain
-          Int()
Yaitu pembulatan kebawah suatu nilai decimal
-          Fix()
Yaitu pemotongan suatu nilai desimal menjadi integer
-          Cint()
Yaitu pembulatan nilai desimal 0.5 atau lebih ke integer yang lebih dekat

2.      Fungsi untuk 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

3.      Fungsi-fungsi matematika
-          Abs()
Mengembalikan nilai Absolut dari argumen
-          Atn()
Mengembalikan nilai arc tangen dari argumen dalam bentuk radian
-          Cos()
Mengembalikan nilai cosinus dari argumen dalam radian
-          Exp()
Mengembalikan nilai Eksponensial 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


4.      Fungsi Tanggal dan Waktu

Time : mencari tahu waktu saat ini atau menetapkan waktu, tergantung format
pemakaiannya ( lihat contoh di bawah ini)
A$ = Time ‘hasil 18:16:35 AM
MyTime = #4:35:17 PM# ‘assign a time
Time = MyTime ‘set system time to MyTime

Now :
 merekam tanggal dan waktu sekarang
A$ = Now ‘hasil 10/8/02 18:16:35 AM
Timer : menghitung  jumlah  detik  sejak tengah malam
Start = Timer ‘hasilnya 29991
Date : menetapkan hari pada sistem komputer
Dim MyDate
MyDate = #February 12, 1985 # ‘Assign a date
Date = MyDate ‘Change system date

DateAdd 
: menghasilkan Varian(Date) yang berisi tanggal baru setelah suatu interval waktu yang ditetapkan dari tanggal lama.

Contoh pemakaiannya :
Dim FirstDate As_Date ‘Declare variables
Dim IntervalType As String
Dim Number As Integer
Dim Msg
FirstDate = InputBox(“Enter a date”)
Bynber = InputBox(“Enter number of months to add”)
Msg = “New date : “ & DateAdd(“m”, Number, FirstDate)
MsgBox Msg

DateDiff : mencari interval waktu antara dua tanggal
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) Dim TheDate As Date ‘declare variables
TheDate = InputBox(“Enter a date”) Msg = “Day from today : “ & DateDiff(“d”, Now, TheDate)
MsgBox Msg

DateSerial : menghasilkan tanggal dengan bulan/hari/tahun
MyDate = DateSerial(1969, 2, 12) ‘Hasil 2/12/69

DateValue : menghasilkan tanggal
MyDate = DateValue(“February 12, 1969”) ‘Hasil 2/12/69

Year : menghasilkan tahun sekarang
MyYear = Year(#2/12/1969#) ‘Hasil 1969

Month : menghasilkan bilangan integer yang menunjukkan bulan
MyDate = #February 12, 1969# ‘Assign a date
MyMonth = Month(MyDate) ‘MyMonth = 2

MonthName : menghasilkan teks yang menunjukkan nama bulan
a$ = MonthName(1, True) ‘a$ = Jan
b$ = MonthName(1, False) ‘b$ = January
c$ = MonthName(1) ‘c$ = January

Day : menghasilkan integer yang menunjukkan tanggal dari data date
MyDate = #February 12, 1969# ‘Assign a date
MyDay = Day(MyDate) ‘MyDay berisi 12

Hour : menghasilkan integer yang menunjukkan jam dari data timer
MyTime = #4:35:17 PM# ‘Assign a time
MyHour = Hour(MyTime) ‘MyHour berisi 16

Minute : menghasilkan integer yang menunjukkan menit dari data timer
MyTime = #4:35:17 PM# ‘Assign a time
MyMinute = Minute(MyTime) ‘MyMinute berisi 35

Second : menghasilkan integer yang menunjukkan detik dari data timer
MyTime = #4:35:17 PM# ‘Assign a time
MySecond = Second(MyTime) ‘MySecond berisi 17

TimeSerial : menghasilkan waktu dengan jam/menit/detik
MyTime = TimeSerial(16, 35, 17) ‘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(“4:35:17 PM”) ‘Isinya 4:35:17 PM
MyTime = TimeValue(“0:00:00”) ‘Isinya 12:00:00 AM
WeekDay : menghasilkan bilangan petunjuk hari dari suatu tanggal
Hari = #February 12, 1969# ‘Hari Rabu
MyweekDay = Weekday(Hari) ‘MyweekDay isinya 4
WeekDayName : menghasilkan teks nama hari dalam satu minggu

WeekDayName(weekday, abbreviate, firstdayofweek)
Hari = #2/12/1969# ‘Assign a date
MyWeekDay = Weekday(Hari) ‘MyWeekDay isinya 4
MyTime = WeekdayName(MyWeekDay) ‘Isinya Wednesday




Selasa, 11 Desember 2012

Latihan Menu Toolbar dan MDI Form

Meilita Rahayu
TI 11 C
11.11.2486

Tugas 7
Membuat MDI form child 3 dan parent 1
Membuat tile horizontal, tile vertikal dan cascade
  1. Tile horizontal





 2. Tile Vertikal





3. Cascade




 contextmenustrip






Listing programnya

 Public Class Form1

    Private Sub HorizontalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Latihan1ToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileHorizontal)
        Form2.MdiParent = Me
        Form2.Show()
        Form3.Show()

        Me.LayoutMdi(MdiLayout.TileHorizontal)
    End Sub


    Private Sub VertikalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Latihan2ToolStripMenuItem.Click
        Form2.MdiParent = Me
        Form2.Show()
        Form3.Show()

        Me.LayoutMdi(MdiLayout.TileVertical)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

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

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

    Private Sub WindowToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LatihanToolStripMenuItem.Click

    End Sub

End Class