350 likes | 512 Views
Pertemuan 02 Programming Style. Matakuliah : T0063/Pemrograman Visual Tahun : 2005 Versi : 1/0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Merumuskan programming style di dalam bahasa pemrograman visual (C2). Outline Materi. Programming Style
E N D
Pertemuan 02Programming Style Matakuliah : T0063/Pemrograman Visual Tahun : 2005 Versi : 1/0
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Merumuskan programming style di dalam bahasa pemrograman visual (C2)
Outline Materi Programming Style • Struktur Aplikasi VB • Prefix • Struktur Kendali Program • Angka • String • Date Time
Struktur Aplikasi VB Struktur Aplikasi terdiri dari : • Form, layar window dimana user interface didesain • Controls, fitur grafikal di dalam form untuk interaksi pengguna (object di dalam toolbox, contoh label, textbox, command button, dst) • Properties, setiap form atau control mempunyai karakteristik yang bisa diatur • Methods, Built-in procedure yang digunakan untuk menjelaskan aksi suatu object tertentu • Event procedures, Custom procedure yang digunakan untuk menjelaskan aksi yang dilakukan oleh object tertentu jika suatu event tertentu aktif. (Misal, jika TombolSimpan di Double Click) • General procedures, Custom procedure yang menjelaskan aksi secara umum, tidak terikat pada suatu object tertentu. • Modules, sekumpulan procedure, variable dan konstanta yang digunakan secara umum di dalam aplikasi.
Prefix Ada aturan tidak tertulis yang digunakan oleh para programmer di seluruh dunia, yaitu penggunaan prefix untuk setiap variable/object yang digunakan dalam VB. (lihat table disamping) Contoh penamaan : frmEntryData txtNamaKaryawan lblKodeDosen
Struktur Kendali Program Decision Structures IF IfconditionThenstatement Ifconditionthen statementsEnd If • Ifconditionthen statements if condition true Else statements if condition false end if Ifconditionthen statements if condition true ElseIf conditionthen statements if condition true Else statements if condition false end if Contoh : If Index = 0 then dothis ElseIf Index = 1 dothat ElseIf Index=2 dotheother Else do nothing End If
Struktur Kendali Program • Contoh penggunaan IF : • Jika ada sisa gaji maka masukkan sisa gaji ke dalam tabungan • Jika ada sisa gaji maka masukkan sisa gaji ke dalam tabungan, jika tidak maka tidak menabung bulan ini • JIka ada sisa gaji maka masukkan sisa gaji ke dalam tabungan dan anggap sisa gaji tidak ada, jika tidak maka tidak menabung bulan ini ' Single line version, without Else clause If SisaGaji > 0 Then Tabungan = Tabungan + SisaGaji ' Single line version, with Else clause If SisaGaji > 0 Then Tabungan = Tabungan + SisaGaji Else Tabungan = 0 ' Single line, but with multiple statements separated by colons If SisaGaji > 0 Then Tabungan = Tabungan + SisaGaji: SisaGaji = 0 Else Tabungan = 0
Struktur Kendali Program Contoh penggunaan IF : Jika ada sisa gaji maka masukkan sisa gaji ke dalam tabungan dan anggap sisa gaji tidak ada, jika tidak maka tidak menabung bulan ini ' Multiline version of the above code (more readable) If SisaGaji > 0 Then Tabungan = Tabungan + SisaGaji SisaGaji = 0 Else Tabungan = 0 End If
Struktur Kendali Program Contoh penggunaan IF : Jika ada sisa gaji maka masukkan sisa gaji ke dalam tabungan, jika sisa gaji dibawah nol (minus) maka ambil kekurangan tsb dari tabungan, selain itu tidak menabung bulan ini ' An example of If..ElseIf..Else block If SisaGaji > 0 Then Tabungan = Tabungan +SisaGaji ElseIf SisaGaji < 0 Then Tabungan = Tabungan - SisaGaji Else Tabungan = 0 End If
Struktur Kendali Program Contoh Select : Select Case Index Case 0 DoThis Case 1 DoThat Case Else DoOther Ens Select Decision Structures Select Select Case Opr Case Opr1 dothis Case Opr2 dothat Case Opr3 dotheother Case Else do nothing End Select Select Case Mid(“D4D4R”, 2, 1) Case "0" To "9" ' Ini angka Case "A" To "Z", "a" To "z" ' Ini huruf Case ".", ",", ";", ":", "?" ' Ini tanda baca Case Else ' Karakter aneh End Select
Struktur Kendali Program Loop Structures While & Do For Bentuk 1: While condition statements statements Wend Bentuk 2: Do Until condition statements statements Loop Bentuk 3: Do statements statements Loop Until condition For counter = startvalue To endvalue [Step increment] statements Next [counter]
Struktur Kendali Program Contoh Penggunaan While-Wend Selama masih ada barang yang harus dibeli dalam daftar belanjaan, belanjalah untuk barang tersebut, jika sudah selesai maka bayarlah While DaftarBelanjaan>0 DoBelanjaItem DaftarBelanjaan = DaftarBelanjaan – 1 Wend DoBayar
Struktur Kendali Program Contoh Penggunaan Do Until - Loop Sampai tidak ada barang yang perlu dibeli dalam daftar belanjaan, maka belanjalah, jika sudah bayarlah Do Until DaftarBelanjaan=0 DoBelanjaItem DaftarBelanjaan = DaftarBelanjaan – 1 Loop DoBayar
Struktur Kendali Program Contoh Penggunaan Do – Loop Until Belanjalah barang yang perlu dibeli, sampai tidak ada lagi barang yang perlu dibeli dalam daftar belanjaan, jika sudah selesai bayarlah Do DoBelanjaItem DaftarBelanjaan = DaftarBelanjaan – 1 Loop Until DaftarBelanjaan=0 DoBayar
Struktur Kendali Program Contoh Penggunaan For – Next Belanjalah barang satu per satu berdasarkan barang dalam daftar belanjaan, jika sudah bayarlah For digunakan untuk Array For BarangKe=1 to DaftarBelanjaan DoBelanjaItem Next DoBayar Dim ctrl As Control For Each ctrl In Controls ctrl.Caption = "OIIIII" Next
Keluar dari Struktur Kendali • Exit Do • Exit For • Exit Sub • Exit Function
Angka Operator Matematik • Penambahan dan Pengurangan • Operator “+” • Penambahan dua buah bilangan Y=5+6, akan menghasilkan angka 11 • Operator “-” • Pengurangan dua buah bilangan Y=10-6, akan menghasilkan angka 4 • Pembagian • Operator “/” • Pembagian yang menghasilkan nilai double (pecahan) Y = 5/2, akan menghasilkan Y=2.5 • Operator “\” • Pembagian yang menghasilkan nilai integer (bulat) Y=5\2, akan menghasilkan Y=2 • Operator “\” 4 kali lebih cepat dari operator “/” (Mengapa ?)
Angka • Perkalian dan Pangkat • Operator “*” • Digunakan untuk mengalikan dua buah bilangan Y= 5*6, akan menghasilkan Y=30 • Operator “^” • Digunakan untuk menghasilkan bilangan pangkat • Selalu menghasilkan tipe bilangan double • Relatif lebih lambat, untuk bilangan berpangkat kecil, pertimbangkan penggunaan operator perkalian saja Y=2^3, akan menghasilkan Y=8 (jika menggunakan perintah Y=2*2*2, akan 20 kali lebih cepat)
Angka • Fungsi lainnya : • Mod (modulus atau sisa bagi) • Abs (menentukan nilai absolut suatu angka) • Sgn (nilai -1, 0 atau +1 untuk angka negatif, nol atau positif) • Sqr (menghitung akar suatu angka) • Int (membulatkan angka kebawah menjadi bilangan bulat) • Fix (membulatkan angka dengan membuang angka desimal) • Round (membulatkan angka ke desimal terdekat*) • Val (konversi dari text ke angka, bertipe double) • Pelajari juga fungsi : CInt, CLng, CSng, CDbl, CCur *Khusus angka dengan desimal tepat 0.5, Round akan membulatkan keatas jika Ganjil, dan membulatkan ke bawah jika angka tersebut Genap
Angka • Contoh penggunaan fungsi bilangan • Contoh : • 5 mod 2 , hasilnya 1 • 4 mod 2 , hasilnya 0 • Abs(-100) , hasilnya 100 • Abs(100), hasilnya 100 • Sgn(-15), hasilnya -1 • Sgn(0), hasilnya 0 • Sgn(1000), hasilnya +1 • Sqr(5), hasilnya 2.23 • Int(1.2) hasilnya 1 • Int(-1.2) hasilnya 2 • Fix(1.2) hasilnya 1 • Fix(-1.2) hasilnya -1 • Round(1.45) hasilnya 1 • Round(1.55) hasilnya 2 • Round(1.23456,4)hasilnya 1.2346 • Round(1.5) hasilnya 2 • Round(2.5) hasilnya 2, juga • Val(“11”) hasilnya 11
Angka Operator Pembanding Ada 6 operator pembanding : = < <= > >= <> • Dapat diterapkan pada angka maupun string • Sering digunakan sebagai kondisi dalam seleksi • Menghasilkan nilai False(0) atau True(-1) If (6>5)= -1 Then Print “Benar” End If Sama artinya dengan, If (6>5)= True Then Print “Benar” End If
Angka Format Angka Digunakan untuk mengatur tampilan angka, hasilnya berupa string. Syntax : Format(Expression, [Format], [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) Format(1234.567, "#,##0.00") hasilnya "1,234.57" Format(0.234, "#.#%") hasilnya "23.4%" Format(12345.67, "#.###E+") hasilnya "1.235E+4" Format(12345.67, "#.###E-") hasilnya "1.235E4“
Angka • Angka Random • Rnd , untuk menghasilkan angka random, nilai 0<= Rnd <1, berkaitan dengan fungsi waktu Result = Int(Rnd*Akhir)+Awal (Random angka dari Awal sampai Akhir) • Randomize, untuk mengacak deret random yang dihasilkan oleh Rnd Contoh (Random angka dari 1 sampai 6): Randomize For i = 1 To 20 Print Int(Rnd * 6) + 1 Next (Bedakan jika perintah Randomize dihilangkan!)
String Operator dan Fungsi Dasar String • Concatenation • Operator “&” • Untuk menggabungkan beberapa string “Johny” & ”123”, menjadi “Johny123”
String • Fungsi Lainnya : • Left(s,n), menampilkan string s dari kiri sebanyak n • Right(s,n), menampilkan string s dari kanan sebanyak n • Mid(s,n,m), menampilkan string s mulai dari posisi n sebanyak m • Len(s), menampilkan jumlah karakter di dalam string s • LTrim(s), menghapus spasi di sebelah kiri string s • RTrim(s), menghapus spasi di sebelah kanan string s • Trim(s), menghapus spasi di sebelah kiri dan kanan string s • Asc(c), menghasilkan nilai ASCII dari karakter c • Chr(n), menghasilkan karakter dari sebuah nilai ASCII n • Space(n), menghasilkan deret spasi sebanyak n • String(n,c),menghasilkan deret karakter c sebanyak n • StrComp(s1,s2, vbTextCompare), menghasilkan nilai 0 jika string s1 dan string s2 berisi string yang sama, non case-sensitive • LCase(s) atau UCase(s), mengubah string s menjadi huruf besar atau kecil • StrConv(s,p), mengubah string s menjadi huruf besar, kecil atau proper sesuai parameter p (vbUpperCase, vbLowerCase,vbProperCase)
String • Contoh penggunaan fungsi string • Contoh : • Left(“Morpheus”,4) , hasilnya “Morph” • Right(“Gandalf”,3), hasilnya “alf” • Mid(“Bruce”,2,3), hasilnya “ruc” • Len(“Scream”) hasilnya 6 • LTrim(“ ayoo ”) hasilnya (“ayoo ”) • RTrim(“ ayoo ”) hasilnya (“ ayoo”) • Trim(“ ayoo ”) hasilnya (“ayoo”) • Asc(“A”) hasilnya 65 • Chr(65) hasilnya “A” • Space(5) hasilnya “ ” • String(5,”.”) hasilnya “.....” • Strcomp(“vb”,”VB”,vbTextCompare) • hasilnya 0 (sama) • UCase(“besar”) hasilnya “BESAR” • LCase(“KECIL”) hasilnya “kecil” • StrConv(“new YORK”) hasilnya “New York”
String • Find dan Replace String • Instr([n],s1,s2), mencari posisi string s2 di dalam string s1 mulai dari posisi n (jika n tidak diisi maka secara default nilainya 0). Case-sensitive • s Like ptrn, mencocokkan apakah string s sesuai dengan pattern ptrn. Tanda “?” mewakili karakter tunggal, tanda “*” mewakili 0 sampai banyak karakter, tanda “#” mewakili angka tunggal sedangkan tanda “!” menyatakan negasi. Option Compare Text, perintah ini jika dijalankan sebelum perintah Like, maka perintah Like non case-sensitive
String InStr("abcde ABCDE", "ABC") hasilnya 7 InStr(8, "abcde ABCDE", "ABC") hasilnya 0" InStr(1, "abcde ABCDE", "ABC", vbTextCompare) hasilnya 1 "AB123" Like "AB###" hasilnya True "ABCDEFGHI-VWXYZ" Like "ABC*XYZ" hasilnya True "12w4X" Like "1???X" hasilnya True "A123" Like "[A-C]###“ hasilnya True "OOP" Like "[AEIOU][A-Z][A-Z]“ hasilnya True "K12BC" Like "[!0-9]??*" hasilnya True
String • Replace(Source, Find, Replace, [Start], [Count], [CompareMethod]) Mencari string Find di dalam string Source dan diganti dengan string Replace, string Source diambil dari posisi Start dan penggantian dilakukan sebanyak Count. (CompareMethod jika berisi “vbTextCompare” maka non case-sensitive) • StrReverse(s), membalik urutan karakter di dalam string s • Split(s), memecah string s menjadi array string bedasarkan spasi • Join(As), menggabungkan kembali array string menjadi string
String Replace("abc ABC abc", "ab", "123") hasilnya "123c ABC 123c" Replace("abc ABC abc", "ab", "123", 5, 1) hasilnya "ABC 123c" Print StrReverse(“bolak”) hasilnya “kalob” Kata=Split(“Rujak Cingur”) hasilnya kata(0)=“Rujak”, kata(1)=“Cingur” Join(kata) hasilnya “Rujak Cingur”
Date Time • Date Time • Date dan Time dalam Vb bukan berupa fungsi, namun adalah property dari sistem Waktu = Date & " " & Time Date = "10/14/98" Date = "October 14, 1998"
Date Time • Date & Time Serial Membentuk angka angka yang dimasukkan menjadi bertipe Date atau Time • DateSerial (yyyy,mm,dd) • TimeSerial(hh,mm,ss)
Date Time • DatePart(interval, Date) Untuk mengetahui informasi bagian terntentu dari tanggal Contoh : DatePart(m,Now)
Date Time • DateAdd (interval, number,date) Menambah tanggal date, sesuai setting interval sebanyak number Contoh : DateAdd(m,3,Now) • DateDiff(interval, startdate, enddate ) Menghitung selisih tanggal startdate dan enddate berdasarkan setting interval Contoh : DateDiff(m,”01/01/2000”,Now)
Date Time • Format (date, ekspresi) Format(Now,"dd-mm-yyyy") Format(Now, "hh:mm:ss")