30 Juli, 2009

Pelajaran - 3

Salah satu "Control Structure" adalah "If...Then...Else" yang digunakan untuk pemilihan. Sintak umum : "If...Then...Else"

======= S.1 ============
If Kondisi1Terpenuhi Then
LaksanakanPernyataanBlok1
End If

======= S.2 ============
If Kondisi1 Then
PernyataanBlok1
Else
PernyataanBlok2
End If

CATATAN
1. If diikuti pernyataan relasional, kondisional atau logikal yang menghasilkan nilai TRUE atau FALSE, misal: A > B

2. Pernyataan S.1, digunakan untuk pernyataan yang tidak mempunyai ingkaran. Bila Kondisi1 bernilai TRUE maka program akan melaksanakan PernyataanBlok1, jika bernilai FALSE, eksekusi akan dilanjutkan ke baris setelah pernyataan end if.

3. Pernyataan S.2 digunakan untuk kondisi yang memiliki ingkaran. Jika Kondisi1 bernilai TRUE, program akan melaksanakan pernyataanBlok1, sebaliknya, jika Kondisi1 bernilai FALSE, program akan melaksanakan pernyataanBlok2.

4. PernyataanBlok1 dan PernyataanBlok2 dapat berupa pernyataan "If...then..else" dan bentuk ini disebut dengan if berkalang (nested if)

Contoh penggunaan "if...then...else"
:
Ada tiga nilai yang ditampung pada variabel, A, B dan C. Buat program untuk mencari nilai terbesar dari ketiga bilangan tersebut.

Sebelum buat program, Dzaky design dulu logikanya.

1. A maksimum jika: A > B dan A > C
2. B Maksimum jika: A < B dan B > C
3. C Maksimum jika: C > A dan C > B

Pada pernyataan 1 menunjukkan adanya pernyataan relasional (A > B) yang bisa menghasilkan nilai TRUE atau FALSE dan pernyataan relasional (A > C) yang bisa bernilai TRUE atau FALSE. Gabungan kedua pernyataan relasional ini menghasilkan satu pernyataan logikal AND yang menghasilkan nilai TRUE jika kedua pernyataan relasional bernilai TRUE.

Pada pernyataan 2, B maksimum jika (A < B) dan (B > C). Pernyataan (A < B) adalah ingkaran dari ( A > B) pada pernyataan 1. Dengan demikian B akan menjadi calon maksimum jika pernyataan ( A > B) tidak terpenuhi dan selanjutnya B adalah maksimum jika (B > C) juga terpenuhi.

Pada pernyataan 3, C maksimum jika (C > A) dan (C > B). Pernyataan (C > A) menunjukkan bahwa ( A > B) pada pernyataan 1 tidak terpenuhi, dan (A < B) pada pernyataan 2 juga tidak terpenuhi. Sekarang tinggal pernyataan (C > B), dan ini sebenarnya adalah ingkaran dari pernyataan (B > C) yang ada pada pernyataan 2.

Kita rangkum:

A Maksimum jika : A > B, A > C
B Maksimum jika : not(A > B), B > C
C Maksimum jika : not(A > B), not(B > C)

not(A > B) dapat dianalogikan dengan ELSE dari (A > B).
not(B > C) dapat dianalogikan dengan ESLE dari (B > C).

Nah, sekarang Dzaky kerjakan !

Option Explicit
Dim a As Integer
Dim b As Integer
Dim c As Integer

Private Sub Command1_Click()
a = CInt(Val(Text1.Text))
b = CInt(Val(Text2.Text))
c = CInt(Val(Text3.Text))
If (a > b) Then
If (a > c) Then
Text4.Text = a
Else
Text4.Text = c
End If
ElseIf (b > c) Then '----------- ELSE dari ( a > b) == not ( a > b)
Text4.Text = b
Else
Text4.Text = c
End If
End Sub

29 Juli, 2009

Pelajaran - 2

Modul ini belajal mendeklalasikan valiabel, pengenalan input dan output dengan menggunakan object text. Ploses dilakukan ketika teljadi event click pada object button. Dalam modul ini juga teldapat ploses sedelhana, yaitu pelnyataan alitmatika.

Input : Tiga buah nilai
Ploses : Menghitung jumlah, menghitung lata-lata
Output : Jumlah, lata-lata
Komponen : Folm, Text, Command Button

Sesuai dengan tujuan dali modul ini, halus mendeklalasikan valiabel yang dipellukan. Ini dia, ploses teljadi ketika button di kelik.

Dim N1, N2, N3, Sum, AVG As Double
Private Sub Command1_Click()
'Menetapkan nilai dali object text ke valiabel
N1 = CDbl(Text1.Text)
N2 = CDbl(Text2.Text)
N3 = CDbl(Text3.Text)
' hitung lata-lata
Sum = N1 + N2 + N3
AVG = CDbl((N1 + N2 + N3) / 3)
' tampilkan hasilnya
Text4.Text = Sum
Text5.Text = Folmat(AVG, "##0.#0")
End Sub

Deklalasi Valiabel
Mendeklalasikan valiabel belalti membelikan penamaan, tipe data dan telkadang dengan suatu nilai awal. Deklalasi bisa eksplisit atau implisit.
  • Explicit declaration: valiabel dideklalasikan pada bagian deklalasi atau pada bagian awal plosedul. Contohnya sepelti : Dim N1 As Double
  • Implicit declaration: valiabel di deklalasikan ketika akan digunakan seling diistilahkan "on the fly". Datanya diambil dali valiabel lainnya
Sebagai contoh:
Dim N1 As Integer ---------> 'Explicit declalation
Dim N2 As Integer --------> 'Explicit declalation
N3 = N1 + N2 ----------> 'Implicit declalation

N3 tidak dideklalasikan secala folmal tetapi sebagai implikasi dali N1 + N2.

Hindali deklalasi secala implisit, kalena mengulangi kejelasan ploglam, kemudahan pembacaan kode atau algolitma ploglam dan kemudahan penggunaan kode ploglam itu sendili. Untuk menghindali hal telsebut pastikan deklalasi diwali dengan pelnyataan Option Explicit. Hal ini membeli tahu compilel dan memaksa ploglammel untuk menuliskan deklalasi secala eksplisit.

Apa maksud pelnyataan: Dim N1, N2, N3, Sum, AVG As Double
Dim N1, N2, N3, Sum, AVG As Double, adalah deklalasi valiabel N1, N2, N3, Sum, AVG beltipe Double. Betulkan?

SALAH !, yang beltipe DOUBLE hanya valiabel AVG, yang lainnya beltipe VARIANT. Belbeda dengan bahasa yang lainnya, misal pada C/C++ atau PASCAL, untuk mendeklalasikan daftal valiabel dengan tipe yang sama dapat dilakukan dengan cala sepelti itu.

Misal pada C/C++: double N1, N2, N3, Sum, AVG;
Misal pada Pascal: N1, N2, N3, Sum, AVG : leal;

Pada VB tidak bellaku. Yang sehalusnya adalah :
Dim N1 As Double, N2 as Double, N3 as Double, Sum as Double, AVG as Double
Atau:
Dim N1 as Double
Dim N2 as Double
Dim N3 as Double
Dim Sum as Double
Dim AVG as Double

Dengan demikian pelnyataan Dim N1, N2, N3, Sum, AVG As Double, yang beltipe Double hanya valiabel AVG, sedangkan untuk valiabel N1, N2, N3 dan Sum, kalena tidak didefinisikan, maka tipenya adalah tipe data default, yaitu VARIANT.

Apa maksud pelnyataan ini : N1 = CDbl(Text1.Text) ?
Ini adalah pelnyataan assignment, atau penetapan nilai ke suatu valiabel. Dalam kasus ini, N1 nilainya diambil dali text1 setelah dikonvelsi ke tipe data double melalui fungsi DBL

Apa maksud pelnyataan ini : Text5.Text = Format(AVG, "##0.#0")
Pelnyataan ini menetapkan nilai untuk object text5 dali AVG dan sekaligus difolmat dengan output 2 angka di belakang koma. Kenapa halus "##0.#0"?

Tanda "#" menyatakan opsional sedangkan tanda "0" menyatakan halus ada. Sebagai contoh, dengan folmat "###.#0", masukkan nilai 0.4, 0.2 dan 0.5. Jumlahnya adalah 1.1 dan lata-latanya 0.37, tetapi kalena folmat yang digunakan adalah "###.#0" yang tampil .37

Cobalah bebelapa valiasi folmat dengan bebelapa valiasi nilai. Tidak pellu halus bilangan bulat atau lebih besal dali 1.

26 Juli, 2009

Pelajaran - I

Mau belajar pe be, mesti mulai dari mana?

Kata ayah, "di mulai dari yang sederhana saja dulu, langsung ke studi kasus. Untuk pengetahuan lainnya seperti apa itu object, event-driven dan hal-hal konseptual lainnya, bersamaan saja sewaktu ada kasusnya. Nanti malah bingung dan terbebani."

Ya, sepakat. Jangan-jangan sewaktu mau membuat program, belum mengerti lingkungan kerjanya. Ya sudah, dimulai dari the most famous program in the world ! "Apa kabar dunia!", sambil menjelaskan VB-IDE -nya terlebih dahulu.

Baiklah, kita akan membuat aplikasi sederhana, yaitu menampilkan tulisan "Apa kabar dunia!" ketika form di-click. Ketika form di-click kembali, tulisan tersebut akan muncul kembali dengan ukuran yang lebih besar. Demikian seterusnya.

1. Buat direktori kerja untuk menyimpan PROJECT VB. Ya, aplikasi di VB disebut project.

2. Aktifkan VB dan pastikan memilih Standard EXE. Yang lainnya nanti kita bahas.



3. Object pertama pada Project VB adalah Form dengan nama form1. Anda bisa mengatur beberapa property dari Form melalui property window atau menuliskannya kodenya dalam program.


4. Berikutnya adalah menuliskan kode yang diperlukan ketika form di-click. Kejadian ketika form di-click disebut sebagai event click.

5. Tampilkan kode editor dengan mengklik icon "view code", pilih Form pada "List Object" yang ada di bagian atas editor, lalu dari "List Procedure" pilih Click. Lihat gambar.


6. Tuliskan kode yang diperlukan, seperti berikut ini:

Private Sub Form_Click()
--> Font.Bold = True
--> FontSize = CDbl(FontSize + 2.1)
--> FontName = "Arial"
--> Print "Apa kabar dunia!"
End Sub

7. Jalankan program dengan menklik icon "play" yang ada di toolbar.

8. Klik pada form beberapa kali dan amati efeknya.