Penulis Topik: Lingkungan Pemrograman Visual (LPV)  (Dibaca 19434 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Lingkungan Pemrograman Visual (LPV)
« pada: 06 April 2008, 12:23:27 »
Atas permintaan stash, aku post juga materi baru mengenai dunia pemrograman, yaitu Lingkungan Pemrograman Visual (LPV). Topik ini membutuhkan pengetahuan dasar mengenai PBO, jadi yang sama sekali belum tahu mengenai PBO silakan baca dulu topik ini. Belum pernah buat program? Baca dulu topik ini.

Oh ya, topik ini akan menggunakan Visual Basic 2008 Express Edition. Yang belum punya bisa unduh gratis di situs Microsoft. Topik ini bisa juga dikerjakan menggunakan Visual Basic 2005 ke bawah, namun tentunya akan ada berbagai penyesuaian. Yang masih menggunakan VB 6, mohon maaf, konsepnya agak beda, tapi sedikit-sedikit akan aku berikan petunjuk untuk pengguna setia VB 6.

Kenapa aku menggunakan Visual Basic? Well, bahasa ini adalah bahasa termudah untuk dipelajari, karena sesuai namanya, bahasanya benar-benar "basic" alias dasar, sehingga mudah dimengerti. Bahasa visual lainnya yang cukup populer adalah Delphi.

OK, siap? Tapi, apa sih LPV itu? Apa bedanya dengan pemrograman yang biasanya kita lakukan?
« Edit Terakhir: 06 April 2008, 10:07:00 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Apa itu LPV?
« Jawab #1 pada: 06 April 2008, 12:30:53 »
Sesuai namanya, pada LPV kita akan bekerja juga pada lingkungan pemrograman visual. Artinya, kita juga akan merancang tampilan antarmuka (user interface) dan melakukan pemrograman berdasarkan masukan pengguna dan apa saja yang terjadi di program kita selama itu. Wah, kok bisa begitu?

Ambil saja contoh program Calculator. Saat kita mengeklik angka, yang muncul adalah angka. Setelah kita mengeklik berbagai angka dan operator (misal saja 1 + 1) lalu kita klik tanda =, akan muncul hasilnya. Itu semua dilakukan dengan LPV, yang menggunakan konsep event-driven programming. Waduh, apa lagi nih? Tenang! Event-driven programming adalah cara membuat program berdasarkan even-even yang terjadi. Even itu sendiri adalah semua hal yang dilakukan pengguna terhadap program kita. Misalnya, mengeklik, menulis, mengubah ukuran jendela, dan lain-lain. Beda kan dengan konsep pemrograman yang selama ini kita lakukan?

Lalu, apakah susah membuat program berbasis even? Jawabannya tidak. Dengan Visual Basic, even-even itu sudah dibuatkan. Kita tinggal pakai saja.

Nah, apa sudah waktunya kita menjalankan VB 2008? Silakan!
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Visual Basic 2008 IDE
« Jawab #2 pada: 06 April 2008, 12:48:22 »
Sudah terbuka IDE-nya? IDE adalah lingkungan tempat kita akan melakukan programming nantinya. Kalau kalian tidak mengutak-atik setting apapun, tampilnya mungkin seperti ini:



Kita biasakan diri dulu dengan IDE VB 2008.

Di sebelah kanan, ada tab bernama Solution Explorer (kalau kebetulan tertutup, aktifkan dari menu View > Solution Explorer. Di tab ini kita akan memanajemen solution kita. Supaya tidak bingung, istilah Solution tidak perlu dihapalkan. Atau, anggap saja solution adalah projek kita (dan memang projek kita nantinya akan terpampang di Solution Explorer). Waduh, apa lagi itu projek? Projek adalah kumpulan berkas-berkas yang diperlukan untuk membuat aplikasi kita (untuk seterusnya, "aplikasi" akan menggantikan istilah "program", karena kita memang akan membuat aplikasi mulai sekarang). Kalau kalian lihat di gambar di atas, di Solution Explorer sudah ada My Project (kebetulan aku sudah buat project) dan Form1.vb. Kita kenalan dengan satu istilah lagi...

Form.

Sederhana saja, form adalah satu jendela tempat kita ingin melakukan apa saja. Aku akan menggunakan istilah "form" mulai dari sekarang. Pada awal mula, form kita masih kosong. Tugas kita adalah membuat form itu menjadi berfungsi sebagaimana aplikasi pada umumnya. Gimana caranya?

1. Menambahkan objek-objek visual.
Objek-objek visual ini di VB dinamakan control. Kalau kalian teliti melihat gambar di atas, di sebelah kiri ada tab yang otomatis sembunyi. Kalau dibuka, isinya adalah semua kontrol yang bisa kita gunakan dalam sebuah form. Contoh kontrol adalah tombol (Button), teks (Label: tulisan biasa, Textbox: tempat pengguna mengetikkan sesuatu), daftar (Listbox), dan lain sebagainya. Kita akan berkenalan pelan-pelan dengan kontrol-kontrol yang banyak digunakan nanti.

2. Menambahkan event pada kontrol.
Pemrogramannya dimulai di sini. Kontrol itu tidak dapat berfungsi apa-apa kalau kita tidak menambahkan event. Contoh! Pada saat tombol = diklik, kita wajib melakukan kalkulasi perhitungan. Nanti kita akan kenal event Button_Click untuk melakukan hal ini. Tenang saja, event tidak wajib dihapal ;)

Siap untuk projek pertama?
« Edit Terakhir: 06 April 2008, 12:55:48 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Membuat projek
« Jawab #3 pada: 06 April 2008, 12:55:28 »
Untuk memulai membuat sebuah aplikasi, kita membutuhkan projek. Untuk membuatnya:

1. Pilih menu File > New project... atau tekan saja jalan pintas favorit kita, Ctrl + N.

2. Pada jendela yang terbuka, pilih Windows Forms Application.

3. Klik OK. Tunggu beberapa saat. Tab IDE baru akan terbuka dan otomatis mengarah ke Form1.vb. Selamat datang di form pertama kita!

Tampilannya mungkin seperti ini:



Polos ya? Memang, karena kita belum menambahkan apa-apa. Untuk sekarang, coba buka tab Toolbox dan pilih control apa saja yang menarik perhatian. Sementara ini, fokuskan perhatian pada Common Controls saja. Oh ya, cara menambahkan kontrol ke form ada dua:
1. Klik sekali pada kontrol yang diinginkan, lalu tarik (drag) di form.
2. Klik ganda pada nama kontrol. Kontrol akan otomatis ditambahkan ke form.

OK! Setelah puas bermain-main, ayo kita buat contoh program pertama kita!
« Edit Terakhir: 06 April 2008, 01:04:51 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Program pertama!
« Jawab #4 pada: 06 April 2008, 01:01:15 »
Program ini adalah permintaan dari stash. Sederhana saja, di form kita hanya ada satu tombol bertuliskan "Mulai!". Ketika kita mengeklik tombol tersebut, aplikasi kita akan menanyakan, apakah program mau dimulai. Ada dua tombol, yaitu OK dan Cancel. Kalau tombol OK ditekan, akan muncul satu jendela lagi bertuliskan "Apel". Kalau tombol Cancel ditekan, tulisan "Program dibatalkan" akan muncul. Gambarannya seperti ini:

Awal aplikasi kita:


Setelah tombol Mulai! diklik:


Hasil tombol OK:


Hasil tombol Cancel:

Keren? Mungkin nggak terlalu, tapi untuk pemula, ini keren lho :) Jadi, gimana caranya?
« Edit Terakhir: 06 April 2008, 01:03:36 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Tampilan dulu...
« Jawab #5 pada: 06 April 2008, 01:10:44 »
Kita buat tampilan form kita dulu. Caranya:

1. Tambahkan kontrol Button ke form kita. Posisi dan ukurannya bebas.
Masih ingat ya cara menambahkan kontrol ke form? Klik-tarik atau klik ganda, OK?

IDE kita akan menjadi seperti ini:


2. Ubah teks "Button1" menjadi "Mulai!". Caranya?
Yuk lihat bagian kanan jendela kita. Ada tab Properties? Kalau kebetulan hilang, aktifkan lewat menu View > Properties window atau tekan F4. Properties adalah karakteristik kontrol kita (bahkan form kita juga punya properti sendiri). Nah, pastikan Button kita terpilih. Cari properti Text (di gambar agak ke bawah). Ubah saja ke "Mulai!".

Apakah IDE kalian jadi seperti ini?


Selesai! Nggak terlalu susah kan berurusan dengan tampilan? Langkah berikutnya adalah membuatkan event untuk aplikasi kita. Bagaimana caranya?
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Coding!
« Jawab #6 pada: 06 April 2008, 01:26:16 »
Nah, sekarang kita buat coding-nya. Untuk membuatkan event pada tombol kita:

1. Klik ganda di tombol kita. Jendela IDE kita akan otomatis beralih ke Code View. Yup, di VB kita akan sering beralih dari Designer View, tempat kita mendesain tampilan antarmuka, dan Code View, tempat seluruh kode pemrograman dilakukan.

IDE kalian tampak seperti ini?



Waduh, apa saja itu? Jangan gentar dulu. Kelihatannya memang banyak istilah yang tidak kita mengerti, tapi perlahan-lahan kita akan paham dengan sendirinya.

Kode: [Pilih]
Public Class Form1
  ...
End Class

Ini sebabnya aku anjurkan menguasai konsep-konsep PBO terlebih dahulu. VB sejak memasuki era .NET memang beralih menjadi sepenuhnya bahasa yang berbasis objek (seperti Ruby), jadi apapun dalam VB, entah itu form, entah itu kontrol, entah itu variabel, akan dianggap sebagai sebuah objek.

Ini adalah kelas untuk form kita. Form kita tadi namanya Form1, dan kebetulan belum diganti. Dia bersifat publik karena tentu saja kita ingin Form1 bisa diakses pengguna kita kan? Lalu, kok tiba-tiba di dalam kelas kita sudah ada isinya? Apa ini?

Kode: [Pilih]
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    End Sub

Wuih panjangnya :D jangan khawatir, kode ini baru saja dibuatkan VB untuk kita, yaitu saat kita mengeklik ganda tombol kita tadi. Even dasar yang diberikan VB untuk kontrol Button adalah event Click, yaitu even pengeklikan tombol. Merasa tertantang untuk menuliskannya secara manual? Boleh, tapi aku tidak sarankan untuk saat ini ;)

Ayo mulai menulis program kita! Saat mengetik, jangan kaget kalau IDE VB akan sering memunculkan daftar kata kunci sesuai dengan yang apa kita ketik. Di dalam even tadi (kursor kalian akan otomatis ada di dalam even kalau kalian tidak melakukan apa-apa sampai sekarang), ketikkan kode berikut:

Kode: [Pilih]
        Dim intJawab As Integer
        intJawab = MessageBox.Show("Mau dijalankan?", "Tes", MessageBoxButtons.OKCancel)
        If intJawab = vbOK Then
            MessageBox.Show("Apel")
        Else
            MessageBox.Show("Program dibatalkan")
        End If

Jangan khawatir kalau kalian tidak paham apa maksudnya (walaupun kelihatannya mudah dimengerti). Tuliskan saja dulu.

Oh ya, untuk blok tertentu (misalkan blok if, while, for, dsb.), IDE VB akan otomatis membuatkan penutupnya untuk kita, jadi kita tidak perlu khawatir kelupaan menutup sebuah blok. Huruf besar kecil diabaikan untuk kata kunci, VB akan otomatis mengubahnya sendiri menjadi titlecase (hanya huruf pertama yang dibesarkan).

Selesai? Ya! Jalankan aplikasi dengan menekan tombol mirip Play (segitiga hijau), namanya Start Debugging. Debug sendiri adalah proses mencoba aplikasi kita, apakah sudah berjalan dengan keinginan. Jadi, apa aplikasinya sudah sesuai dengan yang stash inginkan?

Untuk yang paranoid membuat kesalahan, berikut kode lengkap untuk aplikasi ini:

Kode: [Pilih]
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim intJawab As Integer
        intJawab = MessageBox.Show("Mau dijalankan?", "Tes", MessageBoxButtons.OKCancel)
        If intJawab = vbOK Then
            MessageBox.Show("Apel")
        Else
            MessageBox.Show("Program dibatalkan")
        End If
    End Sub
End Class
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Kok bisa begitu?
« Jawab #7 pada: 06 April 2008, 01:40:51 »
Tercengang dengan hasilnya? Boleh, tapi jangan lama-lama :D Mudah kan membuat sebuah aplikasi?

Nah, ayo sekarang kita lihat kode kita tadi! Aku harap pengetahuan dasar tentang pemrograman masih melekat kuat di ingatan ya :)

Kode: [Pilih]
Dim intJawab As Integer
Ini adalah pembuatan sebuah variabel. Berbeda dengan Ruby, VB mengenal tipe data variabel, misalkan Integer untuk bilangan bulat, Double untuk bilangan pecahan, String untuk teks, dan lain sebagainya. Sebelum digunakan, variabel harus dideklarasikan lebih dahulu. Caranya adalah dengan kata kunci Dim, yang sebenarnya merupakan singkatan dari Dimension. Masuk akal ya?

Tapi, nama variabelnya kok aneh gitu? Kenapa nggak jawab saja (pada VB, nama variabel kalau dimulai dengan huruf harus huruf kecil)? Boleh saja, namun kita akan cepat lupa dengan tipe data variabel kita. Karena itu, biasakan memberi awalan tipe data pada nama variabel kita (misalkan int untuk Integer, dbl untuk Double, str untuk String, dsb.).

Kode: [Pilih]
intJawab = MessageBox.Show("Mau dijalankan?", "Tes", MessageBoxButtons.OKCancel)
Wah, agak panjang... MessageBox.Show berfungsi menampilkan boks pesan (istilahnya ya "message box") tanpa kita harus repot-repot membuat form tersendiri. Parameter pertama adalah teks yang ingin kita tampilkan. Parameter kedua adalah judul boks pesan kita (kalau diabaikan, berikan string kosong "", jangan benar-benar dikosongi). Parameter ketiga adalah tombol-tombol yang ingin kita tampilkan. Tahu dari mana isinya harus MessageBoxButtons.OKCancel? Apa harus dihapal? Jangan khawatir, waktu mengetik otomatis keluar daftarnya kan? Tinggal pilih yang sesuai :)

Nah, fungsi MessageBox.Show akan mengembalikan sebuah nilai (bertipe Integer) sesuai dengan tombol yang ditekan. Dari nilai yang dikembalikan ini, kita bisa tahu jawaban pengguna. Itulah sebabnya baris berikutnya adalah...

Kode: [Pilih]
If intJawab = vbOK Then
       MessageBox.Show("Apel")
Else
       MessageBox.Show("Program dibatalkan")
End If
Familiar dengan blok ini? Ini adalah blok If. Nah, vbOK adalah konstanta yang disediakan VB untuk merujuk pada nilai yang diberikan fungsi MessageBox.Show kalau yang ditekan adalah tombol OK. Yang iseng menampilkan nilai konstanta vbOK akan mendapatkan nilai 1. Jadi, kalau nilai variabel intJawab kita adalah vbOK, kita tampilkan pesan "Apel" (bentuk tersingkat fungsi MessageBox.Show hanya memiliki satu parameter, yaitu teks yang ingin ditampilkan). Kalau tidak (berarti pasti tombol Cancel yang ditekan, karena tombolnya hanya ada 2), tampilkan pesan "Program dibatalkan."

Ternyata nggak sulit kan?
« Edit Terakhir: 06 April 2008, 01:42:47 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Yuk latihan!
« Jawab #8 pada: 06 April 2008, 02:04:08 »
Nah, sebelum lanjut, ada baiknya kita melatih diri untuk semakin terbiasa dengan konsep pemrograman visual. Jangan khawatir, latihannya nggak susah kok!

Buatlah aplikasi dengan tampilan seperti berikut:



Wah, terlihat susah? Jangan khawatir! Kalau sepertinya susah, anggap saja akar persamaan kuadrat dihitung dari rumus:

A + B - C2

Atau, yang ingin tantangan lebih bisa mengerjakannya seperti biasa dengan rumus:

x = (-B ± sqrt(D)) / (2A), dengan D = B2 - 4AC (sqrt adalah akar kuadrat)

Tampilkan hasilnya di tempat yang bertuliskan Label6 (teksnya terserah).

Beberapa informasi tambahan:

- Untuk mendapatkan nilai dari sebuah Textbox, gunakan properti Text. Contoh:
Kode: [Pilih]
strText = myTextbox.Text
Ingat, properti ini bertipe data String, jadi jika perlu diproses dalam perhitungan aritmatika, ubah dulu tipe datanya seperti diterangkan pada poin berikutnya.

- Untuk mengubah tipe data (casting) dari string menjadi angka, gunakan fungsi CInt (menjadi Integer) atau CDbl (menjadi Double). Sebaliknya, untuk mengubah angka menjadi string, gunakan fungsi CStr.

- Operasi matematika tingkat lanjut (seperti akar kuadrat, pangkat, dll) ada di objek Math. Akar kuadrat adalah Math.Sqrt, sementara pangkat adalah Math.Pow.

- Untuk mengubah teks dari sebuah label, gunakan properti Text. Contoh:
Kode: [Pilih]
myLabel.Text = "Halo!"

Kalau ada kesulitan, silakan tanyakan di sini.

Selamat latihan!
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Stash

  • The Sentinel of Volcano
  • Kru RPGFWID
  • Lv 7 Ahli
  • ******
  • Tulisan: 3.205
  • Karma: 0
  • Jenis kelamin: Pria
  • Journey Never Ending
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Catatan Stefano
Re: LPV
« Jawab #9 pada: 06 April 2008, 10:22:08 »
Exshan, ini jawabanku, aku sudah run, dan hasilnya benar. Coba dicek apa ada bagian yang perlu ditambah atau perlu dikurangi.

Kode: [Pilih]
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Define variabel
        Dim dblA As Double
        Dim dblB As Double
        Dim dblC As Double
        Dim dblD As Double
        Dim dblX1 As Double
        Dim dblX2 As Double
        Dim text As String
        Dim text2 As String

        'Ngambil angka dari input user
        text = NilaiA.Text
        dblA = CDbl(text)
        text = NilaiB.Text
        dblB = CDbl(text)
        text = NilaiC.Text
        dblC = CDbl(text)

        'Mencari nilai D
        dblD = Math.Pow(dblB, 2) - 4 * dblA * dblC

        'Nilai x1
        dblX1 = (-dblB + Math.Sqrt(dblD)) / (2 * dblA)

        'Nilai x2
        dblX2 = (-dblB - Math.Sqrt(dblD)) / (2 * dblA)

        'Ubah angka ke string
        text = CStr(dblX1)
        text2 = CStr(dblX2)

        'Nyetak hasil
        Hasil.Text = "Hasilnya: x1 = " & text & ", dan x2 = " & text2
    End Sub

End Class
Twitter ID : stefano1003
Facebook : http://www.facebook.com/stefano.ariestasia
Google+ : stefano.ariestasia
Blog : http://catatanstefano.wordpress.com

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Jawaban latihan
« Jawab #10 pada: 06 April 2008, 12:14:20 »
Wah, cepat sekali jawabnya :)

Jawabanmu benar, tapi ada beberapa baris yang bisa disingkat. Misalnya, variabel text dan text2 tidak diperlukan, karena sebenarnya kamu bisa melakukan seperti ini:

Kode: [Pilih]
dblA = CDbl(NilaiA.Text) ' dan seterusnya...
Hasil.Text = "Hasilnya: x1 = " & dblX1 & " dan x2 = " & dblX2

Catatan untuk baris terakhir, operasi penggabungan string (concatenation) pada VB bisa dilakukan dengan operator &, atau yang masih nyaman dengan Ruby bisa menggunakan operator +. Lalu, apa bedanya? Operator & akan otomatis mencoba mengubah semua operand menjadi String, sementara operator + mensyaratkan semua operand harus String. Misal:

Kode: [Pilih]
' Kita tahu persis dblX1 dan dblX1 adalah Double, jadi...
Hasil.Text = "Hasilnya: x1 = " & dblX1 & " dan x2 = " & dblX2 ' Valid!
Hasil.Text = "Hasilnya: x1 = " & CStr(dblX1) & " dan x2 = " & CStr(dblX2) ' Valid, tapi operasi CStr tidak diperlukan
Hasil.Text = "Hasilnya: x1 = " + CStr(dblX1) + " dan x2 = " + CStr(dblX2) ' Valid!
Hasil.Text = "Hasilnya: x1 = " + dblX1 + " dan x2 = " + dblX2 ' Invalid! Ini akan menyebabkan kesalahan InvalidCastException

Pada VB, pemberian komentar dilakukan dengan tanda ' dan hanya berlaku satu baris, jadi kalau mau berbaris-baris ya silakan beri tanda ' semua :D

Oh ya, pada jawabanmu ada sedikit error handling yang ditinggalkan, yaitu saat D negatif ;) aplikasi tidak akan error, tapi hasilnya nanti akan menjadi NaN alias Not a Number.

Sebelum lanjut, ada baiknya aku review sintaks-sintaks yang umum digunakan pada VB dan perbandingannya dengan Ruby.
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Review sintaks
« Jawab #11 pada: 06 April 2008, 12:53:49 »
OK, supaya yang baru pertama kali memegang VB tidak kebingungan dengan kata kunci yang tersedia, berikut aku berikan kata kunci yang sering dipakai dalam VB, disandingkan dengan Ruby (coba baca lagi artikel Buat program yuk! kalau sudah lupa). Sintaks untuk VB 6 tidak aku berikan karena masih sama, kecuali jika aku memberikan catatan kaki.

Untuk... Ruby VB
Deklarasi variabel N/A Dim namaVariabel As TipeData
Konstanta NamaKonstanta = nilai Const namaKonstanta As TipeData = nilai
Konversi tipe data variabel.to_i, variabel.to_f, variabel.to_s CInt(variabel), CDbl(variabel), CStr(variabel)
Blok If

if kondisi [then]
    ...
[elsif
  ...
else
  
...]
end

if_true if kondisi

(kondisi) ? if_true : if_false

If kondisi Then
   ...
[Else If kondisi2
  ...
Else
  
...]
End If

VB tidak memiliki jalan pintas untuk perintah if_true satu baris seperti pada Ruby.

Blok Unless unless kondisi [then]
  ...
[else
  
...]
end
If Not kondisi Then
   ...
[Else If kondisi2
    ...
Else
  
...]
End If
Blok case case variabel_kontrol
  when kondisi1
    ...
  [else
    
...]
end
Select Case variabel_kontrol
  Case kondisi 1
    ...
  [Case Else
    
...]
End Select
Blok for (range berupa angka) for variabel in range
  ...
end
range: nilai_awal .. nilai_akhir atau nilai_awal ... nilai_akhir
For variabel = nilai_awal To nilai_akhir [Step increment]
    ...
Next
Blok for (range berupa objek) for variabel in range
    ...
end
For Each variabel In range
    ...
Next
Blok while/until

while|until kondisi
  ...
end

loop do
  ...
end

begin
  ...
end while|until kondisi

Do While|Until kondisi
  ...
Loop

While kondisi
  ...
End While

Do
  ...
Loop While|Until kondisi

Komentar # komentar

=begin
komentar banyak baris
=end

' komentar
Tidak ada kata kunci untuk komentar banyak baris.
Metode def nama_metode[(parameters)]
    ...
end
Sub nama_metode([ByVal|ByRef parameter As TipeData, ...])
    ...
End Sub
Fungsi def nama_fungsi[(parameters)]
    ...
  return return_value
 end
Function nama_fungsi([ByVal|ByRef parameter As TipeData, ...]) As ReturnValueDataType
  ...
  Return return_value|nama_fungsi = return_value
End Function
Exception begin
    ...
rescue TipeException => variabel_tampung
    ...
[ensure
    ...]
end
Try
    ...
Catch variabel_tampung As TipeException
    ...
[Finally
  ...]
End Try

Tidak tersedia di VB6.

Deklarasi array arrayku = Array.new
arrayku2 = [...]
Dim arrayku(ukuran) As TipeData
Pengaksesan elemen array arrayku[indeks] arrayku(indeks)

Bingung? Jangan khawatir, pelan-pelan akan aku ulang kembali poin-poin penting, seperti pembuatan metode dan fungsi sendiri, array, perulangan, dan lain-lain.
« Edit Terakhir: 12 Januari 2009, 01:06:04 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Stash

  • The Sentinel of Volcano
  • Kru RPGFWID
  • Lv 7 Ahli
  • ******
  • Tulisan: 3.205
  • Karma: 0
  • Jenis kelamin: Pria
  • Journey Never Ending
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Catatan Stefano
Re: LPV
« Jawab #12 pada: 06 April 2008, 05:02:08 »
Kalau D negatif, kan emang jawabannya pasti bilangan maya, yang ditandai dengan adanya variabel i. Jadi ya wajar kalau programku keluarnya NaN.
Twitter ID : stefano1003
Facebook : http://www.facebook.com/stefano.ariestasia
Google+ : stefano.ariestasia
Blog : http://catatanstefano.wordpress.com

Offline Èxsharaèn

  • Pölisia mar Ranch-i-ru
  • Administrator
  • Lv 9 Petualang senior
  • ************
  • Tulisan: 5.650
  • Karma: 8
  • Jenis kelamin: Pria
  • Veni, veni, venias; ne me mori facias...
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • RPG Fantasy Web Indonesia
Re: LPV
« Jawab #13 pada: 06 April 2008, 10:04:00 »
Menurut semua orang yang sudah belajar bilangan imajiner, itu wajar kalau D negatif. Tapi, untuk orang awam (anak SMP yang baru belajar persamaan kuadrat misalnya), jelas nggak wajar dong :)

Untuk saat ini, tidak apa-apa jika aplikasi kita memberikan hasil yang sebenarnya betul tapi tampak aneh (semisal "Akar-akarnya NaN dan NaN" karena D negatif). Nanti setelah artikel ini berakhir, aku akan berikan tips bagaimana cara menyusun tampilan antarmuka yang baik, termasuk memberikan pesan-pesan yang ramah pada pengguna (in fact, ini bahkan ada teorinya). Coba bandingkan, mana yang lebih enak didengar dan ramah:

Kutip
Akar-akarnya NaN dan NaN.
dengan
Kutip
Tidak ada akar-akar real.

Untuk yang menginginkan pesan kedua, kode berikut bisa digunakan (pada Sub Button1_Click):

Kode: [Pilih]
' Asumsikan nama Textbox yang digunakan adalah txtA, txtB, dan txtC
' sementara nama label keenam adalah lblHasil
Dim dblA As Double, dblB As Double, dblC As Double, dblD As Double
Dim dblX1 As Double, dblX2 As Double
dblA = CDbl(txtA.Text)
dblB = CDbl(txtB.Text)
dblC = CDbl(txtC.Text)
dblD = Math.Pow(dblB, 2) - 4 * dblA * dblC
If dblD < 0 Then
  lblHasil.Text = "Tidak ada akar-akar real."
Else
  dblX1 = (-dblB + Math.sqrt(D)) / (2 * dblA)
  dblX2 = (-dblB - Math.sqrt(D)) / (2 * dblA)
  lblHasil.Text = "Akar-akarnya adalah " & dblX1 & " dan " & dblX2
End If

Ini masih belum 100% ramah pengguna, karena andaikan penggunanya sangat iseng sehingga salah satu dari Textbox diisi bukan angka (sengaja atau tidak), aplikasi ini akan mengeluarkan Exception. Coba diatasi sendiri :)
« Edit Terakhir: 06 April 2008, 10:06:19 oleh Èxsharaèn »
Jangan lupa ikutan serunya petualangan Our Journey!
~ A, èxshna il utnön qu our journey shallaran a èndh... ~

Profiles
WAYN http://Exsharaen.wayn.com
About.me http://about.me/hoshiro.exsharaen

Offline Stash

  • The Sentinel of Volcano
  • Kru RPGFWID
  • Lv 7 Ahli
  • ******
  • Tulisan: 3.205
  • Karma: 0
  • Jenis kelamin: Pria
  • Journey Never Ending
  • Bergabung sejak: 14/10/2006
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Catatan Stefano
Re: Lingkungan Pemrograman Visual (LPV)
« Jawab #14 pada: 07 April 2008, 06:14:44 »
Mau nanya. Misal untuk latihan itu, pada awal, mirip dengan contoh apel dulu, jadi tampilan awal cuma ada tombol mulai. Setelah tombol mulai diklik, baru muncul form seperti latihan ini. Bagaimana caranya?
Twitter ID : stefano1003
Facebook : http://www.facebook.com/stefano.ariestasia
Google+ : stefano.ariestasia
Blog : http://catatanstefano.wordpress.com

Tags:
 

Dengan Jawab-Cepat Anda dapat menggunakan kode buletin board dan smiley seperti tulisan normal, tapi jauh lebih menyenangkan.

Peringatan: topik ini belum dituliskan setidaknya 120 hari.
Kecuali Anda yakin ingin menjawabnya, harap pertimbangkan untuk memulai sebuah topik baru.

Nama: Email:
Anti-spam: complete the task