JURUSAN TEKNIK SIPIL DAN LINGKUNGAN FAKULTAS TEKNIK UNIVERSITAS GADJAH MADA TAHUN AJARAN 2011/2012
Tim Asisten Tugas Perograman Komputer
DEKLARASI VARIABEL
1. Tipe data
Data dalam Visual Basic terdiri atas berbagai tipe dan biasanya dikelompokkan berdasarkan jenisnya agar tidak terjadi operasi matematika di antara data yang berbeda jenis tersebut, karena operasi perhitungan antara dua atau lebih data yang berbeda jenis tidak akan menghasilkan nilai. Contohnya, data yang berupa teks tidak bisa dimasukkan dalam perhitungan dengan data bilangan. Tipe data dalam Visual Basic: a. Integer, long : Data berupa angka bulat b. Single, double : Data berupa angka pecahan atau desimal c. Currency : Data berupa angka mata uang d. String : Data berupa teks e. Boolean : Data logika (IF-True/False) f. Date : Data berupa waktu atau tangggal g. Object : Data berupa objek Tipe data default dalam Visual Basic adalah Variant. Dengan menggunakan variabel variant, program akan menentukan sendiri tipe data yang paling akurat. Akan tetapi, hal ini akan memboroskan memori.
2. Variabel
Setiap data yang disimpan dalam komputer memerlukan variabel sebagai suatu tempat untuk menyimpan nilai dari data tersebut. Nilai suatu variabel dapat berubah-ubah tergantung bagaimana programmer menghendaki proses jalannya program. Misalnya, nilai ujian mid disimpan dan disimbolkan dengan variabel A, sedangkan nilai ujian akhir disimpan dan disimbolkan dengan variabel B. Dalam penamaan sebuah variabel tidak boleh ada dua atau lebih variabel yang memiliki nama yang sama, pemberian nama variabel harus unik (khusus). Hal ini bertujuan agar tidak terjadi kesalahan pada program. Selain itu masih ada aturan-aturan dalam penamaan sebuah variabel yaitu sebagai berikut: a. Tidak boleh lebih dari 255 karakter.
Tim Asisten Tugas Perograman Komputer
b. Nama variabel harus unik, tidak boleh menggunakan kata yang sudah digunakan dalam Visual Basic, seperti dim, procedure, dll. c. Tidak boleh menggunakan spasi atau tanda titik / dot (.) di antara nama variabel jika nama variabel lebih dari satu kata. d. Harus dimulai dari huruf, bukan angka atau karakter lainnya
Bentuk umum untuk mendeklarasikan sebuah variabel: Dim <nama variabel> As <tipe data>
Contoh: Diketahui variabel A memiliki data isi berupa nilai mid, variabel Nama berupa nama siswa, dan variabel Tgl berupa tanggal ujian. Maka bentuk kode pendeklarasian variabelnya adalah sebagai berikut: Dim A As Integer Variabel A mewakili data angka berupa nilai mid Variabel Tgl mewakili data tanggal berupa tanggal ujian Dim Nama As String Variabel N mewakili data huruf berupa nama siswa Dim Tgl as Date
Cara mengisikan nilai data pada variabel: <nama variabel> = <nilai variabel>
Misalnya, variabel Nama berupa nama siswa: Andi, variabel A berupa nilai ujian: 9, Maka kodenya adalah: A=9 Nama = Andi
Jika tidak diisikan dengan nilai, maka variabel mempunyai nilai default tergantung dengan tipe datanya.
Dalam visual basic dikenal adanya istilah variabel lokal dan variabel global: a. Variabel lokal yaitu variabel yang hanya dikenal pada satu bagian program saja dimana variabel tersebut dideklarasikan, nilai data yang terdapat di dalamnya hanya hidup ketika bagian program tersebut dijalankan.
Tim Asisten Tugas Perograman Komputer
b. Variabel global yaitu variabel yang dikenal pada seluruh bagian program dan waktu hidupnya selama program dijalankan. Variabel yang telah dideklarasikan di atas bersifat local, yaitu hanya aktif di bagian program dimana variabel tersebut dideklarasikan. Agar sebuah variabel dapat digunakan di seluruh bagian program, harus dideklarasikan secara public, contohnya sebagai berikut: Public A As Integer
Selain menggunakan Dim dan Public, pendeklarasian variabel juga dapat dilakukan menggunakan Private, Static dan Const.
-
Private menyatakan bahwa semua variabel yang dideklarasikan oleh pernyataan ini berlaku secara khusus (Private). Pernyataan Private merupakan pernyataan level sub program.
Static sering digunakan untuk menjaga suatu variabel atau nilai agar tetap atau tidak berubah selama program dijalankan. Pernyataan static merupakan pernyataan level sub program, artinya pernyataan ini pada dasarnya dideklarasikan pada bagian sub program.
Const (Constanta) sering dipakai pada bagian deklarasi untuk memberikan harga konstan pada suatu variabel. Const merupakan pernyataan level modul, artinya pernyataan ini pada dasarnya dideklarasikan pada modul.
3. Array
Array mempunyai fungsi untuk menyimpan data secara berurutan dalam satu variabel. Dalam array, data disimpan menggunakan index untuk memudahkan pemanggilan data tersebut. Array mempunyai batas atas dan batas bawah, dimana data akan tersimpan di antara kedua batas tersebut. Semua nilai atau elemen data yang tersimpan dengan cara array dalam sebuah variabel mempunyai tipe data yang sama. Contoh: Dim Jml(29) As Integer Variabel array Jml mempunyai indeks 29, berarti elemen dalam variabel Jml berjumlah 30 data dengan indeks dari 0 hingga 29.
Variabel array juga dapat digunakan dalam mendeklarasikan elemen multidimensi. Dengan data multidimensi, indeks yang sama dapat menyimpan data yang berlainan. Contoh: Dim Jml(28,28) as Integer Variabel array Jml mempunyai dua dimensi, elemen dalam variabel Jml berjumlah 29 kali 29 data. Dim Jml(3 to 28,3 to 28) as Integer Variabel array Jml mempunyai dua dimensi, elemen dalam variabel Jml berjumlah 26 kali 26 data (3 menjadi batas bawahnya)
4. Dynamic Array
adalah array yang dapat diubah dimensinya. Untuk membuatnya: Dim namavariable ( ) Contoh: Dim matriks( ) as single Variabel array matriks menjadi array dinamik dengan tipe data single. M= 5 N= 3 ReDim matriks(M,N ) Variabel array matriks menjadi dua dimensi dengan jumlah dimensi 6x4 (indeks dimulai dari 0) Namun jika perintah redim dijalankan , nilai data dari variable menjadi hilang. Agar tidak hilang digunakan ReDim Preserve sebagai ganti dari ReDim
Contoh 1: Memasukkan 6 nama sebagai berikut Basuki, Achmad, Rizki, Widya, Dian, dan Teguh ke dalam array dan menampilkan semua nama ke dalam List saat form di panggil. Dim nama(6) as String Private Sub Form_Load() nama(0) = Basuki nama(1) = Achmad nama(2) = Rizki nama(3) = Widya nama(4) = Dian nama(5) = Teguh List1.Clear
Tim Asisten Tugas Perograman Komputer
For i=0 To 5 List1.AddItem nama(i) Next i End Sub Array pada Visual Basic dimulai dari indeks 0. Sehingga data pertama dituliskan dengan var(0). Visual Basic juga mengenal array dinamis, dimana jumlahnya bisa tak terbatas. Untuk mendefinisikan array dinamis dapat dilakukan dengan mendefinisikan array tanpa menuliskan jumlah maksimum arraynya sebagai berikut: Dim variabel() as tipe_data Untuk contoh nama di atas, dapat dituliskan dengan: Dim nama() as string
SUB PROSEDUR
Terkadangdalamsebuah program terdapatstatement program yang digunakanlebihdarisatu kali, agar penulisan program efektif, makastatement program tersebutdapatdibuatmenjadi sub program/sub prosedure. Sub Prosedureumumnyadibuatdalam module, berikutlangkahpembuatan sub prosedurpadamodule : Pada project explorer (umumnya:ada di sebelahkanan), klikkananpilihAdd laluklikModule
Pada module, ketik Sub <nama subprogram>() <statement program> End Sub
Conditional
IF
If adalah bahasa yang sangat bermanfaat dalam menyusun algoritma. If selalu diikuti dengan Then sebagai akibat dari persyaratan yang ditentukan oleh If. Misalnya sebagai berikut. If Then juga sering diikuti dengan Else dan diakhiri dengan End if.
Algoritma 1 If A = B then C =9
Algoritma 2 If A = B then A= K Else Artinya jika A tidak sama dengan C maka kerjakan perintah selanjutnya A=2*K End if
Algoritma 3 If A = B then A= K Else Artinya jika A tidak sama dengan C maka kerjakan perintah selanjutnya If A=1.5*B then A=2*K End if End if
Perbedaan algoritma 2 dan algoritma 3 diterangkan sebagai berikut. Misal K = 4 dan B =7. Pada algoritma 2 jika A = 7 maka A akan diganti menjadi 4. Sedang jika A tidak sama dengan 7 maka A akan sama dengan 8. Jadi harga A hanya 4 atau 8 saja.
Pada algoritma 3, jika A =7 maka A akan diganti menjadi 4. Sedang jika A = 10,5 maka A sama dengan 8. Jika A tidak sama dengan 7 dan A tidak sama dengan 10,5, maka A akan tetap harganya. Jadi harga A mungkin 4, 8 atau angka lainnya selain 7 dan 10,5.
If juga dapat digunakan untuk meloncat ke perintah lain. Namun demikian hal ini sangat tidak direkomendasikan membahayakan. Contoh: karena membuat kemungkinan kesalahan yang kadang sangat
If A=B then Goto 12 perintah 12 dapat ditaruh sebelum maupun setelah perintah if- end if. Else A= K End if
10
Di atas telah dibahas penggunaan If untuk pilihan sederhana. Pilihan dengan f yang lebih kompleks dapat melibatkan berbagai syarat seperti diterangkan sebagai berikut. IF ( syarat 1) and (syarat 2 ) then End if Bentuk if di atas mensyaratkan dua hal yang diisikan pada (syarat 1) dan (syarat 2).. Agar lebih jelas berikut diberikan sebuah contoh.
Private Sub Command1_Click() A = 10 B=5 C=2 D=1 If (A * B) < 100 And (B * C) < 50 Then E=A*B*C*D Else E=0 End If Print E = , E End Sub
Pada contoh di atas A x B = 50 dan B x C =10. Dengan demikian syarat A x B < 100 dan B x C < 50 dipenuhi. Jika program di-RUN maka akan ditampilkan E = 100. Kalau program diubah menjadi
Private Sub Command1_Click() A = 10 B=5 C=2 D=1 If (A * B) < 10 And (B * C) < 5 Then E=A*B*C*D
11
Maka kedua syarat if tidak akan dipebuhi sehingga jika program di-RUN akan ditampilkan E = 0. Persyaratan If dapat lebih kompleks sebagai berikut Private Sub Command1_Click() A = 10 B=5 C=2 D=1 If ((A * B) < 10 And (B * C) < 5) Or (D < 10) Then E=A*B*C*D Else E=0 End If Print "E = "; E End Sub
Pada persyaratan di atas, ada syarat OR, sehingga jika salah satu dipenuhi, maka persyaratan dianggap dipenuhi.
Syarat pertama :
((A * B) < 10 And (B * C) < 5), tidak dipenuhi, karena AxB =50 yang lebih besar dari 10. Selain itu B x C= 10 yang lebih besar dari 5. Syarat kedua: (D < 10), dipenuhi karena didefinisikan di atas bahwa D =1 yang kurang dari 10.
12
Karena salah satu syarat di atas dipenuhi maka syarat dipenuhi. Dengan demikian jika program di-RUN akan diperoleh : E = 100 Perhatikan sekaran syarat yang lebih kompleks sebagai berikut
Private Sub Command1_Click() A = 10 B=5 C=2 D=1 If ((A * B) < 10 And (B * C) < 5) Or (D < 10 And C > 5) Then E=A*B*C*D Else E=0 End If Print "E = "; E End Sub
Syarat 1 dipenuhi Syarat 2 ada dua macam D < 10 dipenuhi C > 5 tidak dipenuhi. Dengan demikian, syarat 2 tidak dipebuhi dan seluruh syarat dianggap tidak dipenuhi. Jika program di-RUN, maka akan diperoeh E = 0. Syarat if dapat dibuat lebih kompleks lagi dengan menyertakan beberapa variable lain dan tambahan AND adan OR. Perhatikan bahwa syarat yang didalam kurung merupakan satu kesatuan. Sebgai contoh syarat di atas 35
13
((A * B) < 10 And (B * C) < 5) merupakan satu kesatuan syarat dan (D < 10 And C > 5) merupakan satu kesatuan Dalam prakteknya, if mungkin lebih kompleks dari yang dibahas saat ini. If else end if dapat bertingkat-tingkat hingga lebih dari 3 tingkat.
Select..Case Statement Select case testexpression Case expressionlist-n [statements-n]] Case Else expressionlist-n [elsestatements-n]] End Statement Kegunaan: Membandingkanekspresi yang samadenganbeberapanilai yang berbeda,
selaindengan Statement IfthenElse Keterangan: Testexpression, adalahekspresi numeric atau string Expressionlist-n, argument yang membatasidaftarsatuekspresiataulebih. Argument inibersifatwajibdiisijika Case muncul. Statements-n, adalahsatu statement ataulebih yang dieksekusijikatestexpressionsesuaidenganexpressionlist-n Elsestatements-n, adalahsatu statement ataulebih yang dieksekusijikatextexpressiontidaksesuaidengan Case Contoh
14
Buatlahsebuah form denganmemasukkan 1 buah textbox dan 1 buah Command Button. Ganti property name dari textbox menjaditxtNilaidan property name Command Button menjadibtnRundan Caption menjadi RUN. Double klikbtnRunkemudianketikkodedibawahini.
Dim BilanganAs Integer Dim PesanAs String Private Sub btnRun_Click() Select Case Me.txtNilai.Text Case 1 Pesan = MsgBox("Andamemasukkannilai " &_ Me.txtNilai.Text) Case 2 Pesan = MsgBox("Andamemasukkannilai " &_ Me.txtNilai.Text) End Select End Sub
15
Ada dua bentuk struktur kontrol pengulangan (looping), yaitu : 1. Struktur FORNEXT. 2. Struktur DOLOOP. Struktur Kontrol ForNext Bentuk penulisan (syntax) struktur ForNext : Struktur Kontrol DoLoop Do... loops digunakan sebagai statemen perulangan. Dimana penggunaannya dapat bergerak secara terus menerus sesuai dengan perintah dan dapat berhenti sesuai kehendak si programmers tersebut.
16
<blok kode program> akan diulang selama <kondisi> bernilai TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai FALSE.
<blok kode program> akan diulang sampai <kondisi> bernilai TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai TRUE.
Contoh Program
Syntax 1:
17
Print i loop
Syntax 2:
Syntax 3:
Contoh : Cetak semua angka ganjil dari 1 sampai 20 secara berurutan pada objek ListBox :
18
Contoh : Cetak semua angka ganjil dari 1 sampai 20 secara berurutan pada objek ListBox :
19
Fornext
FOR <pencacah> = <awal> TO <akhir> [STEP <langkah>] <blok kode program> NEXT <pencacah>
<pencacah> adalah variabel (tipe: integer) yang digunakan untuk menyimpan angka pengulangan. <awal> adalah nilai awal dari <pencacah>. <akhir> adalah nilai akhir dari <pencacah>. <langkah> adalah perubahan nilai <pencacah> setiap pengulangan. Sifatnya optional (boleh ditulis ataupun tidak). Bila tidak ditulis maka nilai <langkah> adalah 1.
Contoh:
20
Contoh 2:
Contoh 3 :
Struktur Kendali Nested Anda dapat meletakkan suatu struktur kendali didalam struktur kendali lainnya, yang Dikenal dengan istilah nested. Struktur kendalipada Visual Basic dapat nested sebanyak level yang anda inginkan. Meninggalkan suatu Struktur Kendali Statement Exit memperbolehkan anda untuk keluar langsung dari suatu For loop, Do Loop, syntax untuk statement Exit adalah sederhana : Exit For dapat muncul sebanyak Mungkin dalamsuatu For. Loop, demikian juga Exit Do untuk Do loop. Bentuk penulisan For next
21
For counter = start To end [Step increment] [statementblock] [Exit For] [statementblock] Next [counter[, counter] [,...]] Exit For dan Exit Do adalah kadang-kadang perlu untuk keluar dari suatu loop dengan segera, tanpa melakukan iterasi yang berikutnya.
22
Object Array Kegunaan : Suatu fungsi perintah pada vb6 yang berfungsi untuk membuat susunan object (textbook, line, picture,dll) sesuai dengan bentuk/formasi yang kita inginkan. Bentuk Penulisan : For I = 1 To N For J = 1 To N Load Object(F(x)) Object(F(x)).Left = J * Y Object(F(x)).Top = I * X Object(F(x)).Visible = True Next J Next I For...Next Merupakansebuahexpresidalam vb6 yang berfungsi sebagai pengulangan dari suatu perintah (loop). I,J,N Merupakan sebuah bentuk penulisan variabel dalam vb6. Object Merupakan object yang ingin kita array-kan pada vb6, dalam hal ini dapat berupa textbook, line, picture,dll. Left,Top Merupakan arah/susunan dari object array yang ingin kita buat. X,Y Merupakan jarak/spasi dalam arah x dan y dari tiap object yang ingin kita object array-kan.
23
Visible
Merupakan bentuk ekspresi pada vb6 yang berfungsi untuk memunculkan atau menyembunyikan suatu object.
2. Tulis script berikut pada vb6 : Public Sub MatriksA() N = Form1.Text1.Text ReDim A(I, J) For I = 1 To N For J = 1 To N Load Form1.Text2(J + ((I - 1) * N)) Form1.Text2(J + ((I - 1) * N)).Left = J * 500 Form1.Text2(J + ((I - 1) * N)).Top = I * 500 Form1.Text2(J + ((I - 1) * N)).Text = ""
Tim Asisten Tugas Perograman Komputer
24
Form1.Text2(J + ((I - 1) * N)).Visible = True Next J Next I End Sub 3. Lalu setelah di-run akan muncul tampilan seperti:
25
Line method
Kegunaan: menggambar sebuah garis atau kotak pada object Bentuk penulisan Object.line [step] (x1,y1)[step]-(x2,y2),[color],[B][F] Keterangan: object Ekspresi object dalam applies to. Sehingga garis akan digambar pada object tersebut. Jika dihilangkan maka form akan dianggap object. step Keyword yang merupakan posisi awal yang terhubung ke posisi graphic aktif yang akan diberikan pada property current dan currenty. Bersifat optional (x1,y1) Koordinat titik awal garis, jika dihilangkan maka akan dianggap currentx,currenty step Keyword yang merupakan titik akhir untuk garis yang akan dibuat. Bagian ini bersifat optional (x2,y2) Koordinat titik akhir garis Color Bagian ini bersifat optional, merupakan warna dari garis yang akan digambar, jika tidak diisi maka warna samadengan property forecolor yang digunakan. Anda dapat menggunakan funsi RGB atau QBcolor untuk menentukan warna B Jika B dituliskan maka method line akan menghasilkan sebuah persegi, dengan koordinat (x1,y1) (x2,y2) sebagai titik sudut persegi yang saling diagonal F Jika F dituliskan maka seperti menuliskan B tetapi persegi yang dihasilkan merupakan blok berwarna (filled) Contoh: Private Sub Command1_Click() Picture1.line (-20, 30) - (490, 490) End Sub Ketika command1 diklik maka akan mengasilkan garis pada picturebox sebagai berikut:
26
Scale method Kegunaan: merubah sistem koordinat dalam sebuah object (picturebox, form, atau printer) dengan merubah nilai yang mewakili koordinat kiri atas dan kanan bawah. Secara default, object akan memiliki system koordinat atas kiri (0,0) dan kanan bawah (object.width, object.height) Bentuk penulisan: Object.scale (x1-y1)-(x2,y2) Object Merupakan sebuah expresi objek dalam daftar Applies To. Jika object tidak ditulis, maka form akan dianggap sebagai object. Bagian ini bersifat optional x1,y1 Merupakn nilai yang mewakili koordinat horizontal dan vertical yang menentukan sisi kiri atas object. Nilai diapit tanda kurung. X2,y2 Merupakn nilai yang mewakili koordinat horizontal dan vertical yang menentukan sisi kanan bawah object. Nilai diapit tanda kurung.
27
Catatan: untuk tetap mengasilkan gambar yang proporsional, nilai ((x2-x1)/(y2-y1)) harus sebanding dengan (object.width/object.height), jika tidak maka gambar yang akan dihasilkan didalam object daari suatu method akan lonjong( tidak proporsional). Contoh: Picture1.scale(-1000,1000)-(1000,-1000) Picture1.Line (-20,30)-(490,490)
28
Print Method Print Method bukan berarti mengeprint dengan printer, tetapi menuliskan suatu ekspresi pada sebuah object. Bentuk penulisan object.Print [outputlist] The Print method syntax has the following object qualifier and part:
Part Object
Description Optional. Merupakan object dalam daftar applies to, print akan diaplikasikan ke object yang ditentukan. Bila diabaikan, form akan menjadi objectnya.
Outputlist
Optional. Expression atau daftar expressions yang diprint. Jika diabaikan, akan menghasilkan baris kosong.
argumen outputlist memiliki syntax dan bagian: {Spc(n) | Tab(n)} expression charpos
Description Optional. Untuk menuliskan spasi sebanyak n. Optional. Untuk menentukan posisi dari insertion point pada nomor kolom tertentu dimana n adalah nomor kolom.
Expression Charpos
Optional. Numeric expression atau string expression yang diprint. Optional. Specifies the insertion point for the next character. Use a semicolon (;) to position the insertion point immediately following the last character
29
displayed. Use Tab(n) to position the insertion point at an absolute column number. Use Tab with no argument to position the insertion point at the beginning of the next print zone. If charpos is omitted, the next character is printed on the next line.
Catatan: Letak hasil print akan diposisikan pada currentx dan currenty pada object yang diaplikasikan
30
Contoh:
Circle method Fungsi: menggambar sebuah lingkaran, elips, atau garis busur object.Circle [Step] (x, y), radius, [color, start, end, aspect]
Part Object
Description Optional. Object dimana perintah circle akan diaplikasikan. Jika diabaikan form aktif menjadi objectnya.
Step
Optional. Keyword yang menentukan pusat lingkaran, elips, atau garis busur relative terhadap currentX dan currentY dari object.
(x, y)
Wajib diisi, merupakan koordinat pusat dari lingkaran, elips atau busur yang akan digambarkan.
Radius
Wajib diisi, merupakan jari-jari lingkaran elips, atau garis busur yang akan digambarkan.
31
Color
Optional. Jika diabaikan property forecolor sebagai defaultnya. Dapat diisikan dengan RGBcolor atau QBcolor
start, end
Optional. Ketika garis busur lingkaran atau elips di gambarkan, start, end (dalam radians) menentukan awal dan akhir dari garis busur tersebut. Nilai defaultnya adalah 0 untuk start dan 2*pi untuk end.
Aspect
Optional. Nilai yang menentukan perbandingan dari elips, defaultnya adalah 1.0 yang menghasilkan lingkaran sempurna.
Catatan:Untuk mengisi lingkaran dengan warna, set propeti fillcolor dan fillstyle dari object yang diaplikasikan. Contoh:
32
Open <filename> for <mode>As #<filenumber> Print #<filenumber>, <variablelist> Close #<filenumber>
Kegunaan: menyimpan data dari program kedalamsebuah file Keterangan: Filename Digantidenganlokasi file yang diinginkan. Contohnya "D:\Data\Tugas\dataprogram.txt (ditulismenggunakantandapetik) Artinya, file akandisimpan di folder D:\Data\Tugas dengannama file dataprogram.txt Mode Dapatdigantimenjadi Input, Append, maupun Output. Namun, untukmenyimpan data, kitagunakanperintah Output atau Append (ditulistanpatandapetik) - Output, jika file yang bernamasamasudahada, maka data lama akandioverwrite (ditumpuk), danjikabelumada, makafilebaruakandibuat. - Append, jika file yang bernamasamasudahada, maka data baruakanditambahkantepatdi lokasisetelahdata terakhirdituliskan (tidakdioverwrite). Jikabelumada, maka file baruakandibuat. Filenumber Angkadari 1 sampai 155 variablelist Diisidenganasaldata yang ingindituliskankedalam file. - Contohnya List1.List(2) (ditulistanpatandapetik). Artinya, data yang akandituliskankedalam file berasaldari list1 (listbox 1) padabaris data yang ketiga. (barispertamayang terlihat di listbox VB dianggapsebagai List ke 0) - Atau text1.text. Artinya, data yang akandituliskankedalam fileberasaldari textbox1.
33
Contoh 1: Open D:\Data\Tugas\Nilai.txt" For Output As #3 For i = 2 To 7 Print #3, List1.List(i) Next Close #3
Padacontohini, data akandisimpanpadadirektoriD:\Data\Tugas dengannama file Nilai.txt Pada nilai.txt, akantertulis data yang berasaldari list1 daribaris 3 sampai 8. (ingat, barispertama di listboxpada VB dianggapsebagai List ke 0)
Contoh2: Open App.Path& "\temp.tmp" For Output As #1 Print #1, "File sudahdisimpan!" Close #1
Padacontohini, dituliskanApp.Path& "\temp.tmp".Artinya, data akandisimpanpadalokasidimana program ituberada/disimpan, dengannama file temp.tmp. Misalkan program disimpan di D:\Data\Programpenghitung, maka file temp.tmpakandisimpan di direktoriD:\Data\Programpenghitung (folder dimana program tersebutberada). Dan, pada file temp.tmp, akantertulis "File sudahdisimpan!" (tertulis di file tanpatandapetik)
34
Input Data dari Notepad 1. Memulai input file yang dibuka bernama datamhsw.txt Contoh: Open App.Path & "\datamhsw.txt" For Input As #2 2. Input baris Input baris dianggap sebagai text string Contoh: Line Input #2, judul Melewati baris kosong Contoh: Line Input #2, dummy 3. Input bilangan, bisa single,double, dan integer Jumlah kolom tunggal >Input langsung dari atas ke bawah Contoh: Input #2, n Jumlah kolom lebih dari satu Contoh: Input #2, nomor(i), namamhsw(i), NIMmhsw(i), kelas(i) Untuk jumlah baris dengan n data dilakukan input secara iteratif sebanyak n kali, sedangkan pengambilan hanya satu variable (satu kolom). > Input dari kolom kiri atas ke bawah setelah barisnya habis dilanjutkan ke kolom sebelah kanannya di baris paling atas For i = 1 To n Input #2, ambil(i) Next i Untuk jumlah baris dengan n data dilakukan input secara iteratif sebanyak n kali, sedangkan pengambilan variable (jumlah kolom) sama banyak dengan variable (jumlah kolom ) data
35
Contoh: For i = 1 To n Input #2, nomor(i), namamhsw(i), NIMmhsw(i), kelas(i) Next i Contoh baca file Untuk dapat mengerti source code ini , baca data dari gambar1.1 dan bandingkan dengan gambar 1.2 tiap baris
36
37
Bekerja dengan Tabel menggunakan MSFlexgrid control MSFLEXGRID merupakan control object dalam vb yang dapat menampilkan table dan melakukan beberapa operasi table. Untuk mengeluarkan icon msflexgrid pada vb dapat dilakukan dengan: 1. klik kanan pada toolbox
38
Property yang penting dari msflexgrid control .Rows .Cols .Row .Col .Fixedcols .Fixedrows .Text .Textmatrix (i,j) = jumlah baris dari msflexgrid = jumlah kolom dari msflexgrid = posisi baris sekarang = posisi kolom sekarang = jumlah kolom fix sebagai header (paling kiri) = jumlah baris fix sebagai header (paling atas) = isi text dari cell pada posisi msflexgrid.row dan msflexgrid.col = isi text pada cell dengan posisi baris i dan kolom j
39
Contoh:
Namun, msflexgrid tidak memiliki fitur untuk dapat mengedit isi dari table pada msflexgrid, sehingga, kita perlu menambahkan sebuah textboxt pada form dan kode berikut agar pengguna dapat mengubah isi text msflexgrid (dalam contoh ini nama mslfexgrid = MsFlexgrid1, nama textbox: textbox1):
Sub GridEdit(Keyascii As Integer) 'sub routine untuk mengetik di tabel 'samakan font Form1.Text1.FontName = Form1.MSFlexGrid1.FontName Form1.Text1.FontSize = Form1.MSFlexGrid1.FontSize Select Case Keyascii Case 0 To Asc(" ")
40
Form1.Text1 = Form1.MSFlexGrid1 Form1.Text1.SelStart = 1000 Case Else Form1.Text1 = Chr(Keyascii) Form1.Text1.SelStart = 1 End Select
'posisi textbox edit Form1.Text1.Left = Form1.MSFlexGrid1.CellLeft + Form1.MSFlexGrid1.Left Form1.Text1.Top = Form1.MSFlexGrid1.CellTop + Form1.MSFlexGrid1.Top Form1.Text1.Width = Form1.MSFlexGrid1.CellWidth Form1.Text1.Height = Form1.MSFlexGrid1.CellHeight Form1.Text1.Visible = True Form1.Text1.SetFocus End Sub Private Sub MSFlexGrid1_KeyPress(Keyascii As Integer) GridEdit Keyascii End Sub Private Sub MSFlexGrid1_LeaveCell() If Text1.Visible Then MSFlexGrid1 = Text1
41
Private Sub MSFlexGrid1_GotFocus() If Text1.Visible Then MSFlexGrid1 = Text1 Text1.Visible = False End If End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape Text1.Visible = False MSFlexGrid1.SetFocus Case vbKeyReturn MSFlexGrid1.SetFocus Case vbKeyDown MSFlexGrid1.SetFocus DoEvents
42
If MSFlexGrid1.Row < MSFlexGrid1.Rows - 1 Then MSFlexGrid1.Row = MSFlexGrid1.Row + 1 End If Case vbKeyUp MSFlexGrid1.SetFocus DoEvents If MSFlexGrid1.Row > MSFlexGrid1.FixedRows Then MSFlexGrid1.Row = MSFlexGrid1.Row - 1 End If Case vbKeyRight MSFlexGrid1.SetFocus DoEvents If MSFlexGrid1.Col < MSFlexGrid1.Cols - 1 Then MSFlexGrid1.Col = MSFlexGrid1.Col + 1 End If Case vbKeyLeft MSFlexGrid1.SetFocus DoEvents If MSFlexGrid1.Col > MSFlexGrid1.FixedRows Then MSFlexGrid1.Col = MSFlexGrid1.Col - 1 End If
43