koneksi vb.net

Upload: juwita-ita

Post on 10-Oct-2015

84 views

Category:

Documents


7 download

DESCRIPTION

koneksi VB.NET

TRANSCRIPT

  • 5/20/2018 koneksi Vb.NET

    1/15

    1

    Pertemuan 04. Prosedur dan Fungsi

    Prosedur dan fungsi merupakan blok program yang dapat dipanggil dalam sebuah program

    aplikasi. Untuk penggunaan prosedur dapat dilakukan hanya dengan memanggil nama prosedur

    tersebut. Dengan prosedur penulisan program menjadi lebih modular dan terstruktur. Prosedur

    tidak mengembalikan nilai sedangkan fungsi mengembalikan nilai. Secara garis besar ada tiga

    jenis prosedur yaitu : Sub prosedur, Function prosedur dan event prosedur.

    4.1 Sub Prosedur

    Pada Sub prosedur dapat memiliki parameter ataupun tidak. Parameter tersebut bisa

    berjumlah lebih dari satu. Pernyataan yang ada didalam prosedur akan dieksekusi ketika

    prosedur tersebut dipanggil. Sebuah prosedur didefinisikan dengan kata kunci Sub dan End Sub.

    Prosedur dapat ditulis pada module, class atau structure. Penentu akses dari prosedur adalah

    private, protected, Friend, dan Public. Secara default penentu akses prosedur adalah public

    artinya prosedur dapat dipanggil dari mana saja di dalam proyek tersebut. Parameter pada

    prosedur ada dua jenis yaitu : ByVal dan ByRef. Parameter ByVal nilai yang dimasukkan dalam

    prosedur hanya berubah pada prosedur tersebut sedangkan diluar prosedur nilai tersebut tidakakan berubah.

    Cara memanggil prosedur :

    Call [nama_prosedur] ([parameter])

    Format penulisan Sub prosedur adalah sebagai berikut :

    Subprocedure-name(parameter-list)

    declarations and

    statements

    End Sub

    Contoh penggunaan

    prosedur :

    4.2 Function Prosedur

    Hampir sama dengan sub prosedur, namun pada fungsi terdapat nilai kembalian. Fungsi dapat

    dibuat sendiri ataupun menggunakan fungsi yang sudah disediakan oleh VB.NET.

    Cara memanggil Fungsi

  • 5/20/2018 koneksi Vb.NET

    2/15

    2

    Cara pemanggilan fungsi yang dibuat sendiri atau fungsi yang sudah disediakan oleh VB.NET

    sama saja yaitu :

    [nama_variabel_penampung] = [nama_fungsi] ( parameter)

    Format penulisan Fungsi :Functionprocedure-name(parameter-list) As return-type

    declarations and statements

    Return expression

    End Function

    Atau

    Function name [(arg-list)] [As type ]

    declarations and statements

    [exit Function]

    [statements]End Function

    Contoh Penggunaan Fungsi :

  • 5/20/2018 koneksi Vb.NET

    3/15

    3

    Beberapa fungsi yang telah tersedia pada VB.NET

    4.3 Option Strict

    Visual basic menyediakan beberapa cara untuk mengendalikan data type. Pilihan pertama

    adalah pada saat Option Explicit On maka pendeklarasian semua variabel sebelum digunakan

    didalam program harus dilakukan untuk menghindari kesalahan. Pilihan kedua adalah :

    mengubah nilai default option sctric yang biasanya adalah off. Option strict berfungsi untuk

    mengurangi waktu debugging dan meningkatkan clarity dari program.

    Pada saat option strict di set menjadi on maka compiler akan memeriksa semua konversi,sehingga programmer harus melakukan conversi secara ekspilisit untuk menghidari hilangnya

    data (misalnya konversi dari double menjadi integer) atau program tiba-tiba akan berhenti bila

    terjadi conversi data dari string hello menjadi integer.

    Contohnya adalah penggunaan method Convert yang mensyaratkan agar perubahan tipe data

    dilakukan secara eksplisit. Misalnya untuk menyimpan input bertipe string kedalam sebuah

    variabel angka yang bertipe interger( yang direpresentasikan dalam VB.NET sebagai TYPE Int32,

    32-bit integer). Pada saat option explicit di set menjadi ON maka kita gunakan perintah sebagai

    berikut :

    number = convert.ToInt32(textbox1.text)

    namun pada saat option explicit di set menjadi off maka VB akan melakukan conversi tersebut

    secara implisit. Jika data yang dikonversikan tidak sesuai dengan tipe data yang baru maka,

    akan terjadi kesalahan runtime.

    Untuk mengaktifkan Option Strict adalah sebagai berikut :

  • 5/20/2018 koneksi Vb.NET

    4/15

    4

    Programmer juga dapat membuat option strict on hanya untuk sebagian file, pembuatannya

    diletakkan pada bagian code program , dengan mengetikkan :

    Option strict on

    Lalu letakkan kata tersebut di bagian paling atas dari program, sebelum deklarasi atau

    statement imports.

    4.4. ByVal dan ByRef

    ByVal adalah default keyword yang baru untuk method parameter. Visual Studio akan

    menambahkannya secara otomatis ketika anda membuat method parameter. Jika parameter

    pada method di deklarasikan ByVal berarti nilai dari parameter tersebut adalah kopian dari nilai

    parameter method pemanggil. Jadi ketika parameter pada method diubah maka tidak

    berpengaruh ke parameter method pemanggil.

    Lain halnya jika anda menggunakan keyword ByRef, dengan ByRef maka parameter pada

    method mereferensi ke object yang sama dengan parameter pada method pemanggil, maka

    jika parameter pada method berubah ini juga berpengaruh ke parameter di method pemanggil.

    Perbedaan ByVal dan ByRef

  • 5/20/2018 koneksi Vb.NET

    5/15

    5

    PublicClassConValRef

    FunctionLuasPersegi(ByRefpanjang AsDouble,ByReflebar AsDouble) AsDouble

    panjang += 2lebar += 2Returnpanjang * lebar

    EndFunction

    FunctionSegitiga(ByValalas AsDouble, _ByValtinggi AsDouble) AsDouble

    alas += 2

    tinggi += 2Return0.5 * alas * tinggi

    EndFunction

    PrivateSubButton1_Click(ByValsender AsSystem.Object, _

    ByVale AsSystem.EventArgs) HandlesButton1.Click

    Dimalas AsDouble= 12Dimtinggi AsDouble= 14'ByVal = nilai dari method pemanggil dicopy ke method

    Dimluas AsDouble= Segitiga(alas, tinggi)ListBox1.Items.Add(luas.ToString)

    'tetap bernilai 12 walaupun pada method ditambah 2

    ListBox1.Items.Add(alas.ToString)'tetap bernilai 14 walaupun pada method ditambah 2

    ListBox1.Items.Add(tinggi.ToString)EndSub

    PrivateSubButton2_Click(ByValsender AsSystem.Object, _ByVale AsSystem.EventArgs) HandlesButton2.Click

    Dimpanjang AsDouble= 12Dimlebar AsDouble= 14

    'karena menggunakan ByRef maka parameter pada

    'method pemanggil mempunyai referensi yang'sama dengan parameter pada function, jika

    'nilai parameter pada function dirubah maka'nilai variabel pada method pemanggil juga berubah

    Dimluas AsDouble= LuasPersegi(panjang, lebar)ListBox2.Items.Add(luas.ToString)'menjadi 14 karena ditambah 2 pada function

    ListBox2.Items.Add(panjang.ToString)

    'menjadi 16 karena ditambah 2 pada functionListBox2.Items.Add(lebar.ToString)

    EndSubEndClass

  • 5/20/2018 koneksi Vb.NET

    6/15

    6

    Perbedan antara ByRef dan ByVal secara sederhana adalah :

    1. ByRef = Parameter yang dikirimkan adalah object sehingga perubahan Nilai dari object

    tersebut yang diolah/diubah pada sub/function akan berakibat mengubah juga nilai dari

    object tersebut secara langsung.

    2. ByVal = Parameter yang dikirimkan adalah Nilai dari sebuah object sehingga anda tidak

    dapat mengubah Nilai Object tersebut, anda hanya dapat mengolah/mengubah nilai

    object tersebut di dalam sub/function saja, setelah sub/function tersebut selesai,

    perubahan nilai object di sub/function tidak akan mengubah nilai object yang

    sebenarnya.

    contoh :

    Dima AsInteger= 0Dimb AsInteger= 0

    Sububahnilai(ByVala AsInteger, ByRefb AsInteger)a = 100b = 500

    EndSub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

    System.EventArgs) HandlesButton1.Click

    Callubahnilai(a, b)

    Label4.Text = aLabel3.Text = b

    EndSub

    Penjelasan dari contoh diatas adalah :

    1. Pertama deklarasi variable a dan b dengan default value = 0

    2. Panggil fungsi untuk mengubah nilai, b dikirim dengan ByRef (berarti object b nya yang

    dikirim) sedangkan a dengan ByVal (berarti nilai a nya yang dikirim yaitu 0)

    3. Fungsi tersebut mengubah nilai a menjadi 100 dan b menjadi 500

    4. Setelah fungsi itu selesai, kita test nilai variable a dan b dengan menampilkannya ke

    label dan hasilnya adalah B=500 (Berubah) dan A=0 (tetap)

  • 5/20/2018 koneksi Vb.NET

    7/15

    7

    Pertemuan 06. Pencarian dan Pengurutan dalam Array

    Untuk menyimpan data yang besar dapat dilakukan pada database. Kita ketahui bahwa dengan

    database maka tipe data seperti apa saja dapat disimpan. Namun tidak semua aplikasi

    memerlukan database untuk menyimpan data-datanya. Misalnya saja untuk menyimpan

    banyak data mengenai daftar alamat seseorang beserta nomor-teleponnya, maka kita dapat

    saja tidak menggunakan database untuk menyimpan data tesebut, sebagai gantinya kita dapatmenyimpan data-data tersebut dapat saja menyimpannya dalam sebuah arraylist. Class

    System.Array pada VB.Net menyediakan method untuk melakukan pengurutan dan pencarian

    elemen-elemen pada array.

    5.1 Melewatkan Array kedalam sebuah prosedur

    Untuk melewatkan sebuah array kedalam sebuah prosedur, tentukan nama dari array tanpa

    menggunakan tanda kurung. Sebagai contoh :

    'Option Explicit On

    'Imports System

    'Imports Microsoft.VisualBasic

    DimDigit() AsByte= {0, 1, 2, 3, 4, 5}

    PublicModuleModArr

    FunctionsumArray(ByValParamArrayDigit() AsByte)DimTotal AsLong= 0

    ForI AsInteger= 0 ToUBound(Digit)Total += Digit(I)

    NextI

    ReturnTotalEndFunction

    SubMain()MsgBox(" Total adalah "& sumArray(Digit),MsgBoxStyle.Information, " Array dalam Prosedur")

    EndSub

    EndModule

    PublicClassForm1

    PrivateSubButton1_Click(ByValsender AsSystem.Object, ByVale Assystem.EventArgs) Handles

    Button1.ClickCallMain()

    EndSubEndClass

  • 5/20/2018 koneksi Vb.NET

    8/15

    8

    Hasil interface :

    6.1 Pengurutan Array

    Pengurutan adalah : pengaturan data menjadi kedalam suatu urutan tertentu seperti

    berdasarkan urutan terbesar atau terkecil yang bertujuan untuk memudahkan dalam

    mengakses suatu data. Contohnya adalah pengurutan nama perserta matakuliah pemrogramanvisual berdasarakan nim terbesar.

    Secara garis besar berasar data yang akan diurutkan, pengurutan dibedakan menjadi dua yaitu :

    pengurutan terhadap array dan pengurutan terhadap file sekuensial. Pengurutan terhadap

    array disebut juga sebagai pengurutan internal (internal sorting) karena array disimpan didalam

    ruang penyimpanan internal komputer (memory) yang cepat dan memungkinkan akses

    secara acak dengan memanfaatkan indeks array. Sedangkan jenis pengurutan kedua disebut

    sebagai pengurutan eksternal (external sorting) karena file disimpan dalam ruang penyimpanan

    eksternal yang didasarkan pada pergerakan piranti secara mekanik,seperti floppy disk atau hard

    disk.

    Perbedaan kedua jenis pengurutan tersebut dapat dijelaskan dengan contoh pengurutan kartu-

    angka. Pengurutan internal dapat diilustrasikan seperti mengurutkan sekumpulan kartu-angka-

    diasosiasikan dengan array- yang disebar di depan orang yang mengurutkan sehingga dapat

    diakses satu persatu. Lihat gambar

    Pengurutan eksternal dapat digambarkan seperti mengurutkan kartu-angka yang masih dapat

    dibagi beberapa tumpukan, sehingga yang dapat dilihat hanya kartu teratas.

  • 5/20/2018 koneksi Vb.NET

    9/15

    9

    Ada beberapa algoritma yang dapat digunakan untuk melakukan pengurutan antara lain adalah

    : Bubble sort, selection short, shell sort, quick short dan lain sebagainya.

    Pertimbangan ketika akan melakukan sorting antara lain : 1) perlu tidaknya data disorting,

    2)Besarnya atau banyaknya data yang akan disortir, 3)Kemampuan atau kapasitas komputer

    atau media penyimpanan datanya. 4) metode sortir yang digunakan.

    6.1.1 Bubble sort

    Bubble sort merupakan algoritma pengurutan yang paling lambat diantara lainnya. Namun

    merupakan algoritma pencarian yang paling mudah untuk dipahami dan digunakan. Metode inimenggunakan serangkaian perbandingan dan operasi pertukaran sampai semua item data

    mencapai kondisi urut. Sebagai contoh lihat gambar berikut :

    Bubble Sort

    Dimisalkan ingin dilakukan pengurutan nilai integer berdasarkan nilai yang paling kecil hingga

    yang paling besar. Untuk setiap putaran setiap pasang elemen yang bersebelahan akan

    dibandingkan nilainya dan isinya akan ditukar jika nilainya tidak membentuk urutan seperti

    yang dimaksud. Proses ini diulang-ulang hingga beberapa putaran proses, dan akan berhenti

    sampai dicapai kondisi urut untuk semua item. Pada gambar terlihat bahwa nilai yang lebih

    besar akan bergeser ke kanan sedangkan nilai yang lebih kecil akan bergeser ke sebelah kiri. Initerjadi karena nilai-nilai ini bergerak berkali-kali melewati daftar, saling membandingkan nilai-

    nilai yang bersebelahan, dan menukar tempatnya jika nilai yang disebelah kiri lebih besar

    daripada nilai disebelah kanan. Sebagai contoh adalah penambahan nilai pada list (yaitu nilai 2

    dan 72). Dari gambar terlihat pergerakan nilai 72, dari awal array hingga menuju pertengahan

    array.

  • 5/20/2018 koneksi Vb.NET

    10/15

    10

    Algoritma Bubble Sort :

    6.1.2. Selection Sort (pengurutan dengan pemilihan)

    Ide dasar pengurutan dengan pemilihan adalah mencari nilai ekstrim dalam array dan

    menukarkannya dengan elemen terujung. Elemen terujung tidak diikutkan dalam proses

    selanjutnya. Hal yang sama dilakukan pada array sisanya. Pemilihan nilai ekstrim tersebut

    tergantung pada hasil akhir pengurutan yang diinginkan. Jika hasil akhir pengurutan yangdiinginkan array terurut mengecil maka nilai ekstrim yang dipilih adalah nilai terbesar, dan

    sebaliknya. Ilustrasi dan Algoritma pengurutan dengan seleksi adalah sebagai berikut :

    Pada VB.NETFunctionBubbleSort(ByValArraySementara AsInteger)

    DimTemp AsIntegerDimi AsIntegerDimtidakberubahs AsInteger

    'loop hingga tidak ada lagi perubahan yang dibuat.Do

    tidakberubahs = True

    ' Loop dilakukan untuk setiap elemen didalam array

    Fori = 0 ToUBound(nilai) - 1

    ' Jika elemen dengan indeks yang lebih kecil' nilainya lebih besar dari nilai pada indeks disebelahnya' maka tukarkan kedua elemen tersebut.

    Ifnilai(i) > nilai(i + 1) Thentidakberubahs = FalseTemp = nilai(i)

    nilai(i) = nilai(i + 1)

    nilai(i + 1) = Temp

    EndIfNexti

    LoopWhileNot(tidakberubahs)EndFunction

  • 5/20/2018 koneksi Vb.NET

    11/15

    11

    Selection Sort

    Pada VB.Net

    PublicFunctionselectionsort(ByValarraysementara AsInteger)DimMaxVal AsInteger 'nilai maksimal

    DimMaxIndex AsInteger 'indeks nilai maksimalDimi, j AsInteger

    ' lakukan langkah melewati setiap elemen dalam array' dimulai dari elemen terakhir dalam array.

    Fori = UBound(nilai) To1 Step-1

    ' Tetapkan nilai maksimal (MaxVal) pada elemen didalam array dan simpan indeks dari elemen ini

    sebagai MaxIndex

    MaxVal = nilai(i)MaxIndex = i

    ' Lakukan looping melewati seluruh elemen yang tersisa untuk melihat Apakah ada elemen lainyang lebih besar dari MaxVal.Jika ada maka tetapkan elemen ini sebagai elemen MaxVal yang

    baru.Forj = 0 Toi

    Ifnilai(j) > MaxVal ThenMaxVal = nilai(j)

    MaxIndex = jEndIf

    Nextj

    ' JIka index dari elemen terbesar bukan i maka tukar elemen ini dengan elemen i.

    IfMaxIndex < i Thennilai(MaxIndex) = nilai(i)nilai(i) = MaxVal

    EndIfNexti

    EndFunction

  • 5/20/2018 koneksi Vb.NET

    12/15

    12

    Code : Untuk VB.Net

    PublicClassForm1

    ' mendeklarasikan dan memberi nilai pada sebuah variabel array yang bernama nilai yang

    bersifat global

    Dimnilai() AsInteger= {7, 4, 3, 1, 9, 8}

    FunctionBubbleSort(ByValArraySementara AsInteger)

    DimTemp AsInteger

    Dimi AsInteger

    Dimtidakberubahs AsInteger

    ' loop hingga tidak ada lagi perubahan yang dibuat.

    Do

    tidakberubahs = True

    ' Loop dilakukan untuk setiap elemen didalam array

    Fori = 0 ToUBound(nilai) - 1

    ' Jika elemen dengan indeks yang lebih kecil nilainya lebih besar dari nilai pada indeks

    disebelahnya maka tukarkan kedua elemen tersebut.

    Ifnilai(i) > nilai(i + 1) Thentidakberubahs = False

    Temp = nilai(i)

    nilai(i) = nilai(i + 1)

    nilai(i + 1) = Temp

    EndIf

    Nexti

    LoopWhileNot(tidakberubahs)

  • 5/20/2018 koneksi Vb.NET

    13/15

    13

    EndFunction

    PublicFunctionselectionsort(ByValarraysementara AsInteger)

    DimMaxVal AsInteger 'nilai maksimal

    DimMaxIndex AsInteger 'indeks nilai maksimal

    Dimi, j AsInteger

    ' lakukan langkah melewati setiap elemen dalam array dimulai dari elemen terakhir dalam

    array.

    Fori = UBound(nilai) To1 Step-1

    'Tetapkan nilai maksimal (MaxVal) pada elemen didalam array dan simpan indeks dari elemen

    ini sebagai MaxIndex

    MaxVal = nilai(i)MaxIndex = i

    ' Lakukan looping melewati seluruh elemen yang tersisa untuk melihat

    ' Apakah ada elemen lain yang lebih besar dari MaxVal.

    ' Jika ada maka tetapkan elemen ini sebagai elemen MaxVal yang baru.

    Forj = 0 Toi

    Ifnilai(j) > MaxVal Then

    MaxVal = nilai(j)

    MaxIndex = j

    EndIf

    Nextj

    ' JIka index dari elemen terbesar bukan i maka tukar elemen ini dengan elemen i.

    IfMaxIndex < i Then

    nilai(MaxIndex) = nilai(i)

    nilai(i) = MaxVal

    EndIf

    Nexti

    EndFunction

    PrivateSubButton1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs)HandlesButton1.Click

    ' lakukan selection Sorting pada array dan tampilkan nilainya secara terurut.

    Dimi AsInteger

    selectionsort(nilai(i)) 'panggil fungsi selectionsort

    Fori = 0 ToUBound(nilai)

    ListBox2.Items.Add(nilai(i))

    Nexti

  • 5/20/2018 koneksi Vb.NET

    14/15

    14

    EndSub

    PrivateSubButton2_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs)

    HandlesButton2.Click

    Dimi AsIntegerFori = 0 Tonilai.GetUpperBound(0)

    ListBox1.Items.Add(nilai(i))

    Next

    EndSub

    PrivateSubButton3_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs)

    HandlesButton3.Click

    ListBox2.Items.Clear()

    EndSub

    PrivateSubButton4_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs)

    HandlesButton4.Click

    Dimi AsInteger

    BubbleSort(nilai(i)) ' panggil fungsi bubblesort

    Fori = 0 Tonilai.GetUpperBound(0)

    ListBox2.Items.Add(nilai(i))

    Next

    EndSub

    EndClass

    Selain dengan menggunakan cara diatas, sorting juga dapat dilakukan dengan menggunakanmethod yang sudah disediakan pada VB.NET dengan penjelasan seperti berikut :

    Array.Sort(arrayName)

  • 5/20/2018 koneksi Vb.NET

    15/15

    15

    Berikut contoh :

    Private Sub Button3_Click(ByVal sender As System.Object,

    ByVal e As System.EventArgs) Handles Button3.Click

    Dim people(4) As Stringpeople(0) = ("Rod")

    people(1) = ("Sergio")people(2) = ("Terry")people(3) = ("Homer")people(4) = ("Eoin")Dim txt As String = "People:" & vbCrLfFor i As Integer = 0 To people.Length - 1txt &= " " & people(i).ToString() & vbCrLfNext i' Mengurutkan.Array.Sort(people)txt &= "Sorted:" & vbCrLfFor i As Integer = 0 To people.Length - 1

    txt &= " " & people(i).ToString() & vbCrLfNext iMsgBox(txt & vbCrLf)

    End Sub