Low-step Study to VB.NET (1)

Oleh: Fadlil Hakim As-saikariny

Subjudul: Mengulas tentang "Program VB.net Anda yang pertama" oleh Indoprog
Spesifikasi pembaca: Newbie
Catatan: Bukan yang sangat newbie, yang belum tahu sama sekali tentang pemrograman, silakan tunggu jilid ke-0 (belum ditulis), yang rencananya membahas tentang konsepnya dan .NET family introduction.

Dalam artikel ini sama sekali tidak membahas tentang bagaimana cara pembelajaran yang eksklusif dan intensif tentang Visual Basic 2005, atau yang dikeluarkan dengan nama pasaran Visual Basic .NET. Setidaknya anggap saja belajar bersama, bukan semata-mata kami bisa mendidik Anda menjadi profesional muda yang aktif&kreatif... Lebih baik kirim saja uang Anda ke kami... ;-)

Ini adalah jilid pertama, semoga dapat kontinu hingga jilid ke-sekian ratus SEN. Terima kasih.

Low-step study, menurut hemat kami berarti belajar dengan santai. Terserah gue...



Maaf, kami belum bisa menyajikan bagaimana cara untuk memahami pemrograman VB.NET itu sendiri. Hal ini karena keterbatasan waktu. Semoga saja bisa dikeluarkan jilid berjudul "Low-step Study to VB.NET (0)" (the zero chapter), dengan subjudul tentang pembahasan konsep pemrograman dan introduksi kepada .NET. Semoga saja, Amiin.

Kita masuk ke intinya.

Pembelajaran ini didasarkan pada beberapa literatur yang ada di dunia fana ini. Kali ini, dasarnya akan mengulas dari yang ada di situs Indoprog. Dari ke sekian tutorial Indoprog, tentunya yang akan dibahasa adalah tutorial yang berbau .NET (ya.. iyalah!!!) [1].

Berdasarkan referensi di atas, sederhananya Anda harus melakukan langkah berikut.
1. Jalankan Visual Studio 2005, ingat saya berkata tentang yang serba 2005, bukan Visual Studio 6 atau Visual Basic 6. Maaf saja...

2. Jika Visual Studio 2005 sudah terbuka, pilih menu New Projects pada toolbar, atau melalui menu File -> New Project...

3. Setelah keluar window "New Project", tentunya karena kita belajar tentang VB.NET, maka kita memilih "Visual Basic" untuk "Project Types" (sebelah kiri window).

4. Tetap pada window "New Project", pilih "Console Application" untuk "Template" (sebelah kanan window). Lakukan klik dua kali pada "Console Application" atau klik sekali untuk memilih, lalu tekan OK. Anda dapat memberi nama Project pada bagian textbox "Name".

5. Setelah tombol OK pada window "New Project" ditekan, maka akan muncul tampilan berikut.



6. Dengan tetap mengutip secara murni dari referensi, adalah berikut kode program yang harus Anda salin. Tentunya Anda tidak perlu mengulangi tulisan "Module Module1", "Sub Main()", "End Sub", dan "End Module" yang sebetulnya sudah tersedia di depan layar komputer Anda sekarang ini.

Module Module1
Sub Main()
'Deklarasi variabel
Dim Panjang, Lebar As Integer
Dim Luas As Long
Console.WriteLine("Menghitung luas persegi panjang")
Console.Write("Panjang :")
Panjang = Console.ReadLine()
Console.Write("Lebar :")
Lebar = Console.ReadLine()
Luas = Panjang * Lebar
Console.WriteLine("Luas persegi panjang : " & Luas.ToString)
Console.ReadLine()
End Sub
End Module


7. Setelah itu, lakukan running program, apa yang terjadi? Running program dapat dengan cara menekan tombol 'play' berlabel "Start Debugging" pada toolbar, atau melalui menu Debug -> Start Debugging, atau cukup dengan menekan tombol fungsi keyboard F5.
Hore... saya berhasil! Apakah ada penjelasan dari Kahfi?
Untuk sementara tidak, baca saja penjelasan kami di bagian selanjutnya.

8. Berikut adalah program pencari akar persamaan kuadrat dari Indoprog, ketik ulang kode program berikut. Dan amati penjelasan singkatnya.

Module Module1
Sub Main()
'Deklarasi variabel
Dim Panjang, Lebar As Integer
Dim Luas As Long
Console.WriteLine("Menghitung luas persegi panjang")
Console.Write("Panjang :")
Panjang = Console.ReadLine()
Console.Write("Lebar :")
Lebar = Console.ReadLine()
Luas = Panjang * Lebar
Console.WriteLine("Luas persegi panjang : " & Luas.ToString)
Console.ReadLine()
End Sub
End Module


Saya tidak ingin jadi script-kiddie... Tolong jelaskan apa maksud kode program di atas?!
Oke, maaf juga harus saya katakan kembali bahwa artikel ini tidak bisa untuk yang sangat newbie, doakan untuk dapat dikeluarkan "the zero chapter" dari Low-step Study ini.

Mari kita kritisi!
Pada baris pertama, setelah itu terdapat garis. Mengapa?
Mohon Anda mengerti bahwa baris pertama 'hanyalah' deklarasi global semata. Lihat pada bagian Class Name yang terisi (General) dan Method Name yang terisi (Declarations), yang berarti deklarasi untuk program yang Anda jalankan sementara ini. Sementara itu baris kedua dan seterunsya adalah sudah masuk ke badan program, atau lebih tepatnya sudah masuk ke module. Hal ini tidak signifikan bagi Anda untuk harus mengerti.

Baris pertama tertulis, "Imports System.Math", apa maksudnya? Hal tersebut mengada-ada, dan tidak ada di contoh program Indoprog sebelumnya.
Anda kritis sekali, baiklah, coba Anda hilangkan baris tersebut dan kami janji semua akan baik-baik saja. Sudah Anda hilangkan? Coba jalankan, dengan menekan tombol 'play' berlabel "Start Debugging"...
Kahfi bohong?! Katanya akan baik-baik saja. Kenapa menjadi tidak bisa dijalankan, malah pada jendela "Error List" (bagian bawah window) terdapat 2 error tentang Sqrt? Kata VS 2005, kalau, "Name 'Sqrt' is not declared."
Ya... Anda benar. Sqrt tidak dikenali begitu saja seperti WriteLine dan ReadLine.
Lalu...?
Perintah Sqrt baru dikenali pada saat Anda menyertakan librari/header System.Math. Di dalam System.Math inilah Sqrt didefinisikan fungsinya. Perintah 'Imports' pada VB ini adalah seperti penggunaan 'include' pada bahasa C. (Bahasa C?? Apa itu? Oke lupakan saja, kita bahas dulu ttg VB, anakku!)
Saya menagih janji Kahfi tentang bagaimana program menjadi baik-baik saja tanpa tanpa Imports!
Tentu saja hal tersebut dapat dilakukan. Modifikasi saja setiap perintah 'Sqrt' yang kali ini sudah ditandai garis bawah cacing merah, yang dianggap error dan tidak dikenali tersebut dengan nama 'Math.Sqrt'. Lalu apa beda? Sama saja. Pada setiap pemanggilan perintah Sqrt, terlebih dahulu VS akan melongok pada librari Math yang jadi induknya.

Detilnya, potongan modifikasi source di atas akan sebelum modifikasi:

x1 = (-b + Sqrt(D)) / 2 * a
x2 = (-b - Sqrt(D)) / 2 * a


Sesudah modifikasi menjadi:

x1 = (-b + Math.Sqrt(D)) / 2 * a
x2 = (-b - Math.Sqrt(D)) / 2 * a


Sekarang jalankan seperti biasa. Maka semuanya akan baik-baik saja.
Lalu, apa guna Kahfi menjelaskan hal tidak penting ini?
Ya... itu terserah apa komentar Anda. EGP... emang gue pikirin...

Hasil dari sedikit modifikasi program yang sama sekali tidak bisa dibanggakan ini adalah berikut.

Berikutnya apa itu Dim?
Baiklah, dijawab saja sekarang (maunya kapan?). Dim adalah instruksi dalam Visual Basic untuk mendeklarasikan variabel-variabel yang digunakan pada suatu program. Sederhananya seperti itu. Jika ada pertanyaan tentang apa maksud integer, long, dan double? Kami tidak bisa menjawab hal tersebuh sekarang, itu konsep.

Lalu apa lagi berikutnya?
Anda menjumpai perintah Console.WriteLine, yang berarti menulis ke konsol dengan metode satu baris penulisan; penulisan baru (Write atau WriteLine) sesudahnya akan ditulis di bawah baris perintah WriteLine ini. Console.Write, seperti penjelasan di atas, tetapi tidak penulisan karakter di antara kutip ("") tidak dilakukan dengan memblokir satu baris, melainkan jika terdapat penulisan baru (Write dan WriteLine) sesudahnya, makakan ditulis tepat di samping teks yang ada. Console.ReadLine berarti membaca input dan 'menyimpannya' jika dikehendaki. Maka jika instruksi seperti berikut a = Console.ReadLine(), maka akan membaca input untuk konsol lalu menyimpannya ke variabel 'a', di mana 'a' adalah variabel terdeklarasikan melalui Dim. Bagaimana jika redaksi penggunaannya adalah Console.ReadLine() saja, maka perintah ini digunakan untuk menunggu satu karakter input untuk konsol, setelah menerima input, karena tidak ada instruksi penyimpanan, maka akan berlanjut ke perintah berikutnya. Semoga hal ini dapat dijabarkan pada "the zero chapter".

Berikutnya pasti algoritma program untuk mencari diskriminan dan kemudian akar-akarnya?!!
Iya, Anda benar. Untuk itu, saya tidak perlu menjelaskannya lagi. Ini berkaitan dengan algoritma (alur logika) seseorang memecahkan masalah. Algoritma terimplementasi dapat melalui diagram alir (flowchart) maupun kode programnya (source code) sekaligus. Jika masih ada yang bingung dengan cara memprogram, maka Anda tidak akan menemukan jawabannya di sini.

Oke, saya sudah mengerti dan anggap saya mengerti. Masalahnya pada running program melalui "Start Debugging", masalahnya setelah program usai mencari dan menampilkan akar-akarnya, kenapa program konsol yang di-running langsung menutup?
Sebenarnya jika dijalankan secara normal melalui DOS prompt, maka tampilan tentang programmulai dari awal hingga bagian menampilkan hasil pencarian akar x1 dan x2 tidak akan hilang begitu saja, seperti kita mengetikkan perintah 'cls' (clear screen). Hanya saja karena sekarang program dilarikan di atas Windows (bukan console murni, seperti DOS prompt atau di Windows XP disebut Command line [cmd]), maka setelah console melarikan (running) program, begitu program usai dijalankan, maka console pun langsung otomatis ditutup. Dan hal ini tidak menjadi masalah sama sekali pada saat program di-running di atas console seperti DOS/Command line.

Solusinya agar tidak langsung menutup pada saat kita mulai mengetes program melalui "Start Debugging", maka dapat dengan cara memberikan perintah/instruksi seperti yang telah saya jelaskan pada dua paragraf sebelumnya di atas, yakni dengan menggunakan Console.Readline() di bagian akhir program. Lihat lebih lanjutnya di bawah ini.

Module Module1
Sub Main()
Dim a, b, c As Integer
Dim D As Long
Dim x1, x2 As Double
Console.WriteLine("Kahfi Community")
Console.WriteLine("Low-step Study to VB.NET (1)")
Console.WriteLine("Program penghitung akar persamaan berdasarkan referensi
Indoprog")
Console.WriteLine("Menghitung persamaan kuadrat aX2 + bX + c")
Console.Write("Nilai a :")
a = Console.ReadLine()
Console.Write("Nilai b :")
b = Console.ReadLine()
Console.Write("Nilai c :")
c = Console.ReadLine()
'Menghitung diskriminan
D = b ^ 2 - 4 * a * c
If D > 0 Then
x1 = (-b + Math.Sqrt(D)) / 2 * a
x2 = (-b - Math.Sqrt(D)) / 2 * a
Console.WriteLine("x1 " & x1.ToString)
Console.WriteLine("x2 " & x2.ToString)
Else
Console.WriteLine("Akar imaginier !")
End If
Console.ReadLine()
End Sub
End Module


Perhatikan peletakan Console.Readline() pada bagian akhir program. Gantian saya bertanya...
Apakah pada saat disajikan beberapa baris kode di sini, lalu Anda mengambilnya begitu saja dengan cara mengkopinya lalu mem-paste di Visual Studio Anda?

Menurut kami, buat para newbie yang sangat newbie, sebaiknya Anda mulai mengetik ulangnya saja ke Visual Studio 2005 dengan tetap berpaduan pada artikel ini. Ini semata-mata untuk mengoptimasi kemampuan ketik Anda dan kebiasaan Anda terhadap kode-kode/ perintah-perintah yang ada di Visual Basic 2005. Hal kopas (copy-paste) tidak akan jadi masalah jika Anda seorang yang sudah sedikit saja berpengalaman, silakan kopas langsung untuk hemat waktu dan tenaga.

Berikut adalah hasil karya ketik ulang kami, karena kami sekarang ini lagi gak mood untuk kopas, lagi pula kita sama-sama belajar kan? Saya menganjurkan Anda untuk mengetik ulang agar familiar dengan instruksi-instruksi, maka kami juga mengetiknya ulang sebagaimana yang akan Anda lakukan (setidaknya untuk sementara ini kami ingin meberikan contoh yang baik kepada Anda ;-))

Imports System.Math
Module Module1
Sub Main()
Dim a, b, c As Integer
Dim D As Long
Dim x1, x2 As Double
Console.WriteLine("Kahfi Community")
Console.WriteLine("Low-step Study to VB.NET (1)")
Console.WriteLine("Program penghitung akar persamaan berdasarkan referensi

Indoprog")
Console.WriteLine("Menghitung persamaan kuadrat aX2 + bX + c")
Console.Write("Nilai a: ")
a = Console.ReadLine()
Console.Write("Nilai b: ")
b = Console.ReadLine()
Console.Write("Nilai c: ")
c = Console.ReadLine()

'Diskriminan=
D = b ^ 2 - 4 * a * c
If D > 0 Then
x1 = (-b + Math.Sqrt(D)) / 2 + a
x2 = (-b - Math.Sqrt(D)) / 2 + a
Console.WriteLine("x1 " & x1.ToString)
Console.WriteLine("x2 " & x2.ToString)
Else
Console.WriteLine("Akar adalah imajiner")
End If
Console.ReadLine()
End Sub
End Module

Memang tidak ada bedanya dengan program aslinya. Sekali lagi, tujuannya bukan untuk belajar memprogram ataupun mengoptimasi program, tapi 'hanya' untuk memfamiliarkan kita dengan instruksi pada VB, setidaknya familiar dengan keyboard dulu aja lah...

Akhir kata, semoga artikel ini dapat bermanfaat, Amiin. Tunggu jilid berikutnya!


Referensi:
[1] Indoprog. "Program VB.Net Anda yang pertama".
http://www.geocities.com/indoprog/tutorial/vb/net/Modul1/

[+/-] Selengkapnya...