Download - Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Transcript
Page 1: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Membuat Program Aplikasi “Cerdas­Cermat” Dengan VB 6

Oleh :

Indra Widiatmojo

2010

Page 2: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Sekilas tentang Visual Basic 6 (VB 6)

Visual  Basic  adalah salah satu bahasa pemrograman yang berorientasi object (Object Oriented Programming / OOP) yang sangat mudah digunakan dan dipelajari.   “Basic”  menunjukan   bahasa   pemrograman   BASIC  (Biginner   All­Purpose Symbolic Intruction Code). Visual Basic diproduksi dan dikembangkan oleh suatu perusahaan yang bernama Microsoft Corporation  (miliknya bang Bill  Gattes) yang juga memproduksi sistem operasi yang terkenal bernama Windows jadi tingkat kompetibelitasnya dengan sistem operasi Windows bagus.

Sama dengan halnya pemrograman Java, Visual Basic juga mempunyai fasilitas Graphic User Interface (GUI) dimana kita bisa mendesain tampilan program yang kita   inginkan.   Perbedaan   antara   pemrograman   Java   dan   pemrograman   Visual Basic (VB yang akrap kita sebut) adalah, kalau di pemrograman Java sifat bahasa pemrogramannya   terstruktur.   Pengertian   dari   pemrograman   terstruktur   adalah dimana   setiap   pernyataan   dieksekusi   setelah   pernyataan   sebelumnya   sesuai dengan urutannya. Kalau di VB sifat bahasa pemrogramannya adalah event driven  ialah   eksekusi   program   ditentukan  dari   event   yang   disebabkan   aksi   dari   user terhadap objek, pesan dari sistem, aplikasi lain, atau event dari aplikasi itu sendiri.

Disini penulisan akan berbagi pengalaman sedikit tentang pemrograman Visual Basic 6 (VB 6). Disini penulis akan memberi resep cara membuat “aplikasi cerdas­cermat” dengan sederhana dengan menggunakan VB 6.  

By : Indra Widiatmojo                                                                                 2

Page 3: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Bagian­bagian dari VB 6

Sebelum   kita   memulai   membuat   program   aplikasi   tersebut,   alangkah baiknya kita mengetahui dahulu fitur­fitur yang ada di VB 6.

Bagian tampilan utama VB 6

Bidang Kerja Standar Exe Visual Basic

Bagian toolbar VB 6

Toolbar VB 6

Keterangan :­Start : Untuk menjalankan program­Stop : Untuk menghetikan jalannya program

By : Indra Widiatmojo                                                                                 3

Start Stop

Page 4: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Bagian toolbox VB 6

Toolbox VB 6

Keterangan :­Sekumpulan dari objek user interface dan kontrol untuk program aplikasi

Bagian project eksplorer

Project eksplorer VB 6

Keterangan :­Tempat daftar  form dan modul proyek aplikasi­View Code : Untuk menampilkan jendela kode (Code Window)

By : Indra Widiatmojo                                                                                 4

View Code

View Object

Page 5: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Jendela kode (Code Window)

­View Object : Untuk menampilkan jendela object

Jendela object (View object)

By : Indra Widiatmojo                                                                                 5

Object Prucedure

Page 6: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Bagian dari properties window

Properties Window VB 6

Keterangan :­Tempat setting propertis dari objek yang dipilih, misalnya warna, caption dan   lain­lain dari objek yang bersangkutan

Bagian layout window

Layout Window VB 6

Keterangan :­Tempat mengatur posisi relatif form terhadap layar monitor

By : Indra Widiatmojo                                                                                 6

Page 7: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

MEMBANGUN PROGRAM APLIKASI “CERDAS­CERMAT”

Desain program seperti dibawah ini!

By : Indra Widiatmojo                                                                                 7

Timer1

RichTextBox1

Command2 Label6 Label1

Command1

Command7

Label2Shape1

Label3

Shape2Shape3

Label4

Frame1

Command3

Command4

Command5

Command6

Frame2

Label7

Label5 Label8

Label9

Page 8: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Tabel komponen program yang diperlukan:

By : Indra Widiatmojo                                                                                 8

Gambar Komponen Nama Komponen Properties yang diubahTimer1 ­Interval = 225

RichTextBox1 ­BorderStyle = 0­rtfNoBoerder­Font = Time new Roman  Size = 14

Label1

Label2

Label3

Label4

Label5

Label6

­BackStyle =  0­Transparent­ Caption = 0­Font = MS Sans Serif Size = 10

­Caption = (Kosong)­BorderStyle = 1­Fixet Single­Font = Time New Roman Size = 14 ­Caption = (Kosong)­BorderStyle = 1­Fixet Single­Font = Time New Roman Size = 14

­Caption = (Kosong)­BorderStyle = 1­Fixet Single­Font = Time New Roman Size = 14

­Caption = (Kosong)­BorderStyle = 1­Fixet Single­Font = MS Sans Serif Size = 8 Font Style = Bold

­BackStyle =  0­Transparent­Caption = Soal Nomor :­Font = MS Sans Serif Size = 10

Page 9: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

By : Indra Widiatmojo                                                                                 9

Gambar Komponen Nama Komponen Properties yang diubahLabel7 ­Caption = (Kosong)

­BorderStyle = 1­Fixet Single­Font = MS Sans Serif Size = 10

Label8 ­Alignment = 2­Center­BackStyle =  0­Transparent­Caption = 0­Font = Time New Roman Font Style = Bold Size = 28­ForeColor = Putih

Label9 ­Alignment = 2­Center­BackStyle =  0­Transparent­Caption = POIN­Font = Time New Roman Font Style = Bold Size = 12

Shape1 ­BackStyle =  Opaque­BorderColor = Coklat

Shape2 ­BackStyle =  Opaque­BorderColor = Coklat

Shape3 ­BackStyle =  Opaque­BorderColor = Coklat

Frame1

Frame2

Frame3

­BackColor = Coklat­Caption = Pilihan Jawaban

­BackColor = Coklat­Caption = Konfirmasi Jawaban

­BackColor = Coklat­Caption = Jawaban

Page 10: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Gambar Komponen Nama Komponen Properties yang diubahCommandButton1 ­Caption = ResetCommandButton2 ­Caption = StartCommandButton3 ­Caption = ACommandButton4 ­Caption = BCommandButton5 ­Caption = CCommandButton6 ­Caption = OKCommandButton7 ­Caption = Exit

Pengkodingan Program

Agar program aplikasi  bisa berjalan  sesuai  dengan yang kita  inginkan perlu adanya perintah­perintah. Nah perintah­perintah itulah yang sering disebut pengkodingan atau juga disebut penulisan skript program.

Untuk   membuat   aplikasi   “cerdas­cermat”   kita   memerlukan   beberapa procedure dan variabel yang nantinya akan di panggil ke event. Dengan mengklik 

icon   pada project eksplorer, kita bisa menuliskan koding atau skript yang kita mau.

Tip & Trik :

Tanda   berarti   skript   atau   koding   pada   baris   tersebut   cara   penulisannya digabung dengan baris diatasnya.

General :Klik object yang terdapat pada view code dan pilih general.

By : Indra Widiatmojo                                                                                 10

Page 11: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Tulis variabel seperti dibawah ini!

Dim kata As StringDim n As DoubleDim i As Double

Procedure :Supaya mudah pengecekan, skript procedure ini ditulis dibawahnya general 

Sub tambah()Dim nomor As IntegerDim hasil As Integer

nomor = Label1.Captionhasil = nomor + 1Label1.Caption = hasilEnd Sub

Sub poin()Dim nilai As Integer

nilai = Label8.Captionnilai = nilai + 1Label8.Caption = nilaiEnd sub

By : Indra Widiatmojo                                                                                 11

Page 12: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Form load :Tambah skript program dibagian form load dengan cara klik object yang terdapat pada view code dan pilih form

Tulis skript seperti dibawah ini!

Private Sub Form_Load()Shape1.BackColor = vbWhiteShape2.BackColor = vbWhiteShape3.BackColor = vbWhite

Command3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseEnd Sub

By : Indra Widiatmojo                                                                                 12

Page 13: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton1 :Tambahkan   skript   program  dibagian  Command1  dengan   cara   klik   object   yang terdapat pada  view code  dan pilih  Command1  atau klik 2x   pada bagian komponen CommandButton1

Tulis skript seperti dibawah ini!

Private Sub Command1_Click()Shape1.BackColor = vbWhiteShape2.BackColor = vbWhiteShape3.BackColor = vbWhite

Label1.Caption = 0Label2.Caption = ""Label3.Caption = ""Label4.Caption = ""Label5.Caption = ""Label7.Caption = ""Frame3.Caption = "Jawaban No :" & Label1.CaptionLabel8.Caption = 0

Command2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseRichTextBox1.Text = ""End Sub

By : Indra Widiatmojo                                                                                 13

Page 14: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton2 :Tambahkan   skript   program  dibagian  Command2  dengan   cara   klik   object   yang terdapat pada  view code  dan pilih  Command2  atau klik 2x   pada bagian komponen CommandButton2

Tulis skript seperti dibawah ini!

Private Sub Command2_Click()Dim nomor As IntegerDim hasil As Integer

nomor = Label1.Captionhasil = nomor + 1Label1.Caption = hasil

Shape1.BackColor = vbWhiteShape2.BackColor = vbWhiteShape3.BackColor = vbWhite

Command3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = True Label5.Caption = ""Command2.Enabled = FalseFrame3.Caption = "Jawaban No :" & Label1.CaptionEnd Sub

By : Indra Widiatmojo                                                                                 14

Page 15: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton3 :Tambahkan skript program dibagian Command3 dengan cara klik object yang terdapat pada view code dan pilih Command3 atau klik 2x  pada bagian komponen CommandButton3

Tulis skript seperti dibawah ini!

Private Sub Command3_Click()Shape1.BackColor = vbRedShape2.BackColor = vbWhiteShape3.BackColor = vbWhite

Label7.Caption = Label2.CaptionLabel5.Caption = ""Frame3.Caption = "Jawaban No :" & Label1.CaptionEnd Sub

By : Indra Widiatmojo                                                                                 15

Page 16: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton4 :Tambahkan   skript  program dibagian  Command4  dengan  cara  Klik  object  yang terdapat pada  view code  dan pilih  Command4  atau klik 2x   pada bagian komponen CommandButton4

Tulis skript seperti dibawah ini!

Private Sub Command4_Click()Shape1.BackColor = vbWhiteShape2.BackColor = vbRedShape3.BackColor = vbWhite

Label7.Caption = Label3.CaptionLabel5.Caption = ""Frame3.Caption = "Jawaban No :" & Label1.CaptionEnd Sub

By : Indra Widiatmojo                                                                                 16

Page 17: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton5 :Tambahkan   skript  program dibagian  Command5  dengan  cara  Klik  object  yang terdapat pada  view code  dan pilih  Command5  atau klik 2x   pada bagian komponen CommandButton5

Tulis skript seperti dibawah ini!

Private Sub Command5_Click()Shape1.BackColor = vbWhiteShape2.BackColor = vbWhiteShape3.BackColor = vbRed

Label7.Caption = Label4.CaptionLabel5.Caption = ""Frame3.Caption = "Jawaban No :" & Label1.CaptionEnd Sub

By : Indra Widiatmojo                                                                                 17

Page 18: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton6 :Tambahkan   skript  program dibagian  Command6  dengan  cara  Klik  object  yang terdapat pada  view code  dan pilih  Command6  atau klik 2x   pada bagian komponen CommandButton6

Tulis skript seperti dibawah ini!

Private Sub Command6_Click()Dim pesan As String

pesan = Chr(13) & "*************** SOAL HABIS **************" & Chr(13) & Chr(13)

& ""

If RichTextBox1.Text = "" Then MsgBox "Klik Start untuk memulai", vbInformation, "Info" ElseIf Shape1.BackColor = vbWhite And Shape2.BackColor = vbWhite And

Shape3.BackColor = vbWhite Then MsgBox "jawaban belum dipilih", vbInformation, "Info"

ElseIf Label1.Caption = 1 Then If Shape1.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If

By : Indra Widiatmojo                                                                                 18

Page 19: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

ElseIf Label1.Caption = 2 Then If Shape2.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 3 Then If Shape3.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 4 Then If Shape2.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 5 Then If Shape3.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 6 Then

By : Indra Widiatmojo                                                                                 19

Page 20: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

If Shape1.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 7 Then If Shape3.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 8 Then If Shape2.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 9 Then If Shape1.BackColor = vbRed Then Label5.Caption = "Betul..." Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If ElseIf Label1.Caption = 10 Then If Shape3.BackColor = vbRed Then Label5.Caption = "Betul..."

By : Indra Widiatmojo                                                                                 20

Page 21: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Label5.ForeColor = vbGreen Call tambah Call poin Else Label5.Caption = "Salah!!!" Label5.ForeColor = vbRed Call tambah End If If Label8.Caption >= 8 Then RichTextBox1.Text = pesan RichTextBox1.Text = RichTextBox1.Text & "Nilai : A" & Chr(13) & "" RichTextBox1.Text = RichTextBox1.Text & "Nilaimu ISTIMEWA" ElseIf Label8.Caption = 7 Then RichTextBox1.Text = pesan RichTextBox1.Text = RichTextBox1.Text & "Nilai : B" & Chr(13) & "" RichTextBox1.Text = RichTextBox1.Text & "Nilaimu BAGUS" ElseIf Label8.Caption = 6 Then RichTextBox1.Text = pesan RichTextBox1.Text = RichTextBox1.Text & "Nilai : C" & Chr(13) & "" RichTextBox1.Text = RichTextBox1.Text & "Nilaimu LUMAYAN" ElseIf Label8.Caption = 5 Then RichTextBox1.Text = pesan RichTextBox1.Text = RichTextBox1.Text & "Nilai : D" & Chr(13) & "" RichTextBox1.Text = RichTextBox1.Text & "Nilaimu KEBANGETEN" ElseIf Label8.Caption >= 0 Then RichTextBox1.Text = pesan RichTextBox1.Text = RichTextBox1.Text & "Nilai : E" & Chr(13) & "" RichTextBox1.Text = RichTextBox1.Text & "Nilaimu KEBANGETEN NGANGGO BANGET" End IfEnd IfShape1.BackColor = vbWhiteShape2.BackColor = vbWhiteShape3.BackColor = vbWhiteEnd Sub

By : Indra Widiatmojo                                                                                 21

Page 22: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

CommandButton7 :Tambahkan   skript  program dibagian  Command7  dengan  cara  Klik  object  yang terdapat pada  view code  dan pilih  Command7  atau klik 2x   pada bagian komponen CommandButton7

Tulis skript seperti dibawah ini!

Private Sub Command7_Click()Unload MeEnd Sub

By : Indra Widiatmojo                                                                                 22

Page 23: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Label1 :Tambahkan skript program dibagian Label1 dengan cara klik object yang terdapat pada view code dan pilih Label1 atau klik 2x  pada bagian komponen Label1 dan pada bagian procedure yang mulanya Click ubah menjadi Change

Tulis skript seperti dibawah ini!

Private Sub Label1_Change()If Label1.Caption = 1 Then RichTextBox1.Text = "Pemilik perusahaan APLE yang produknya terkenal " RichTextBox1.Text = RichTextBox1.Text & "dengan merek MAC adalah?" Label2.Caption = " " & "Steve Jobs" Label3.Caption = " " & "Bill Gattes" Label4.Caption = " " & "Trovald Linus" ElseIf Label1.Caption = 2 Then RichTextBox1.Text = "Siapakah pengusaha ayam goreng Kentucky Fried Chiken " RichTextBox1.Text = RichTextBox1.Text & "yang meraih kesuksesannya pada tahun

1955?" Label2.Caption = " " & "Asa Candler" Label3.Caption = " " & "Colonel Sanders" Label4.Caption = " " & "Renee Mouborgne" ElseIf Label1.Caption = 3 Then RichTextBox1.Text = "Untuk menyembunyikan perbedaan database " RichTextBox1.Text = RichTextBox1.Text & "dan memberikan method sederhana untuk " RichTextBox1.Text = RichTextBox1.Text & "melakukan queri pada berbagai macam

database dengan " RichTextBox1.Text = RichTextBox1.Text & "perubahan kode seminimal mungkin " RichTextBox1.Text = RichTextBox1.Text & "adalah fungsi dari?" Label2.Caption = " " & "ADODC"

By : Indra Widiatmojo                                                                                 23

Page 24: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Label3.Caption = " " & "ODBC" Label4.Caption = " " & "ADODB"

ElseIf Label1.Caption = 4 Then RichTextBox1.Text = "Bahasa mesin di dunia IT di sebut juga dengan bahasa ?" Label2.Caption = " " & "Tingkat tinggi" Label3.Caption = " " & "Assembly" Label4.Caption = " " & "Mekanik"

ElseIf Label1.Caption = 5 Then RichTextBox1.Text = "Type soket apakah yang bisa digunakan untuk prosesor " RichTextBox1.Text = RichTextBox1.Text & "Intel Core I7 ?" Label2.Caption = " " & "Type Slot" Label3.Caption = " " & "LGA 775" Label4.Caption = " " & "LGA 1366" ElseIf Label1.Caption = 6 Then RichTextBox1.Text = "Gunung yang berada di selat sunda adalah gunung?" Label2.Caption = " " & "Gunung Anak Krakatau" Label3.Caption = " " & "Gunung Galunggung" Label4.Caption = " " & "Gunung Krakatau" ElseIf Label1.Caption = 7 Then RichTextBox1.Text = "Gerakan yang ada di dalam tenggorokan kita disaat kita " RichTextBox1.Text = RichTextBox1.Text & "menelan suatu makanan disebut gerakan?" Label2.Caption = " " & "Mekanisme pencernaan" Label3.Caption = " " & "Gravitasi dalam tubuh" Label4.Caption = " " & "Peristaltik" ElseIf Label1.Caption = 8 Then RichTextBox1.Text = "Ada berapa benua dibumi ini?" Label2.Caption = " " & "6 Benua" Label3.Caption = " " & "5 Benua" Label4.Caption = " " & "4 Benua" ElseIf Label1.Caption = 9 Then RichTextBox1.Text = "Kerajaan pertama yang ada di indonesia adalah?" Label2.Caption = " " & "Kutai" Label3.Caption = " " & "Taruma negara" Label4.Caption = " " & "Mataram Kuno" ElseIf Label1.Caption = 10 Then RichTextBox1.Text = "manusia purba pertama di Indonesia adalah?" Label2.Caption = " " & "Homosapien" Label3.Caption = " " & "Megantropus erectus" Label4.Caption = " " & "Pitekantropus erectus" Else Command3.Enabled = False Command4.Enabled = False Command5.Enabled = FalseEnd IfEnd Sub

By : Indra Widiatmojo                                                                                 24

Page 25: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Timer1 :Tambahkan skript program dibagian Timer1 dengan cara klik object yang terdapat pada view code dan pilih Timer1 atau klik 2x  pada bagian komponen Timer1

Tulis skript seperti dibawah ini!

Private Sub Timer1_Timer()On Error Resume Nextkalimat = "Cerdas Cermat BY : INDRA WIDIATMOJO"i = Len(kalimat)kata = kata & Mid(kalimat, n, 1)Form1.Caption = kata

If n = i Then kata = "" n = 1 Else n = n + 1End IfEnd Sub

By : Indra Widiatmojo                                                                                 25

Page 26: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Testing Program

Setelah semua koding program atau skript program ditulis secara lengkap 

dan benar, lalu anda jalankan dengan cara mengklik icon    yang terdapat pada toolbar atau juga bisa menekan “F5” pada keyboard. Dan hasilnya akan seperti pada gambar dibwah ini.

Tampilan program aplikasi “cerdas­cermat”

By : Indra Widiatmojo                                                                                 26

Page 27: Membangun Aplikasi Cerdas-Cermat Sederhana Dengan VB 6

Untuk mengetest  program yang kita buat,  kita cukup klik “start” pada program tersebut selanjutnya anda baca soal yang tampil pada program tersebut lalu anda pilih jawaban A, B, atau C. Untuk mengecek apakah jawaban anda tadi benar atau tidak klik “OK”

Hasil test program

Penutup

Demikian   resep   bagaimana   membangun   aplikasi   “Cerdas­cermat”   sederhana dalam bahasa  pemrograman  Visual  Basic  6   dan   sedikit   tentang  pemrograman Visual Basic itu sendiri. Semoga anda dapat memahami. SELAMAT MENCOBA

By : Indra Widiatmojo                                                                                 27