Jumat, 07 Oktober 2011

LINQ (Language Integrated Query)


Apa itu LINQ?
LINQ (Language Integrated Query), merupakan suatu bahasa yang digunakan untuk melakukan query terhadap suatu sumber data (-sederhananya-). LINQ terdiri dari beberapa pernyataan (statement) yang bisa diterapkan ke dalam program kita untuk memilih item dari beberapa koleksi (collection) berdasarkan kriteria yang berbeda.
Contoh struktur LINQ dan aturannya dalam aplikasi. Coba kita lihat daftar array di bawah ini:
  1. Dim data() As Int16 = {3, 2, 5, 4, 6, 4, 12, 43, 45, 42, 65}  


Untuk menentukan elemen dari array tersebut, kita akan menggunakan looping For..Next, mengeksekusi tiap elemen array, dan nantinya bisa menyimpannya ke dalam array baru atau menghapusnya. Untuk memilih elemen dengan nilai yang lebih kecil dari 10, kita gunakan kode di bawah ini:


  1. Dim nilaiKecil(data.Length-1) As Integer   
  2. Dim itm As Integer = 0   
  3. For i As Integer = 0 To data.Length   
  4.     If data(i) < 10 Then   
  5.         nilaiKecil(itm) = data(i)   
  6.         itm += 1   
  7.     End If   
  8. Next   
  9. ReDim nilaiKecil(itm)  


Akan lebih mudah menyimpan elemen-elemen yang telah terpilih ke dalam suatu ArrayList menggunakan looping seperti di bawah ini:


  1. Dim nilaiKecil As New ArrayList   
  2. Dim itm As Integer   
  3. For Each itm In data   
  4.     If itm < 10 Then   
  5.         nilaiKecil.Add(itm)   
  6.     End If   
  7. Next  


Bila kita menggunakan LINQ,


  1. Dim nilaiKecil = From n In data _   
  2.     Where n < 10 _   
  3.     Select n  


Penggunaan bahasa dalam LINQ hampir sama dengan bahasa yang digunakan dalam SQL. Jika kita telah terbiasa dengan bahasa yang digunakan dalam SQL, kita akan menemukan beberapa kemiripan.


Contoh pernyataan SQL:



SELECT * 

FROM data 


WHERE data.n < 10


(Contoh di atas mengasumsikan dalam database kita terdapat tabel data yang memiliki kolom bernama n). Bila menggunakan LINQ, kode kita menjadi:



Dim = From n In data 

Where n < 10


Ok, cukup teorinya... kita langsung saja ke praktek pembuatan program ;)


Pada tutorial kemarin kita telah membuat database barang dan kategori menggunakan SQL Express 2005, nah sekarang kita akan membuat tiap-tiap form untuk form barang dan untuk form kategori. Ikuti langkah-langkah berikut:





1. Menambah Form Barang



Tambahkan satu form dan beri nama frmBarang, dengan cara memilih menu Project > Add Windows Form atau dengan mengklik kanan nama proyek kita di solution explorer dan memilih Add > Windows Form. Akan muncul window Add New Item, masukkan nama frmBarang dan klik add.







Akan muncul form baru dengan nama frmBarang. Atur besar form sesuai keinginan.





2. Property Form Barang



(Skip jika ingin melewati bagian ini.)


Buka jendela property dari form barang (frmBarang) atau dengan cara menekan tombol F4. Atur property frmBarang sebagai berikut:




  • Text : Data barang



  • FormBorderStyle : FixedToolWindow


Ini hanya sekedar contoh dari property suatu form yang sering saya buat, silahkan di ubah sesuai keinginan.







3. Menambah DataGridView



Tampilkan jendela Toolbox (default: bagian kiri) dengan memilih menu View > Toolbox atau dengan menekan kombinasi tombol CTRL+ALT+X.


Geser control DataGridView ke dalam frmBarang:




Nama DataGridView1 akan secara otomatis diberikan untuk control DataGridView tadi.





4. Menampilkan Data Ke Dalam DataGridView



Sekarang kita akan mencoba menampilkan data ke dalam control DataGridView1, data yang akan ditampilkan diambil dari tabel 'barang' dan tabel 'kategori.


Double klik tampilan frmBarang, maka kita akan masuk ke dalam tampilan Code View.


Ketikkan perintah berikut di bagian Private Sub frmBarang_Load


  1. Dim db As New DataClasses1DataContext   
  2.         Dim qBarang = From barang In db.barangs _   
  3.                       Join kategori In db.kategoris _   
  4.                       On kategori.KDKategori Equals barang.KDKategori _   
  5.                       Select barang   
  6.   
  7.         Me.DataGridView1.DataSource = qBarang  


Pada kode di atas (Hampir sama dengan pernyataan SQL) kita memulai dengan mendeklarasikan db sebagai object dari ClassDataClasses1DataContext, kemudian membuat suatu variable baru dengan nama qBarang dan menuliskan query LINQ yang berfungsi untuk mengambil data dari 2 tabel (barang dan kategori, yang memiliki relasi pada kolom KDKategori) dari database. Hasil dari query LINQ tersebut akan ditampilkan dalam control DataGridView1 dengan menggunakan object DataSource dari property DataGridView1.


Kode lengkapnya seperti ini:


  1. Private Sub frmBarang_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load   
  2.         Dim db As New DataClasses1DataContext   
  3.         Dim qBarang = From barang In db.barangs _   
  4.                       Join kategori In db.kategoris _   
  5.                       On kategori.KDKategori Equals barang.KDKategori _   
  6.                       Select barang   
  7.   
  8.         Me.DataGridView1.DataSource = qBarang   
  9.   
  10.     End Sub  


Sebelum kita mencoba menjalankan program ini, pastikan frmBarang merupakan Startup Form dengan cara memilih menu Project  > CTHAplikasi1 Properties. Pada tab Application bagian Startup form, pilih frmBarang sebagai form yang akan di load saat pertama kali aplikasi dijalankan. Jalankan aplikasi dengan menekan tombol F5.


Tampilan form setelah dijalankan (masih kosong karena belum ada data yang dimasukkan.. ) :







5. Menambah Kontrol Tombol, Teks Dan Label.



Aplikasi kita sudah bisa dijalankan, tetapi kita masih perlu menambahkan tombol dan teks serta label ke dalam frmBarang agar memudahkan dalam interaksi dari user terhadap aplikasi.


Kembali ke Designer View (Klik kanan di area kosong di bagian kode dan pilih View Designer atau dengan menekan kombinasi tombol Shift+F7) dan tambahkan 1 label, dengan cara menggeser control Label dari Toolbox ke dalam frmBarang. Pada bagian property untuk Label1, untuk text masukkan 'Kode Barang:' dan untuk name masukkan 'lblKode'.










Tambahkan Control TextBox ke dalam frmBarang, dengan property, name: txtKodeBarang dan pada bagian text dikosongkan.







Lakukan hal yang sama untuk 4 Label, 1 ComboBox dan 3 TextBox selanjutnya dengan property sebagai berikut:



Control ComboBox: name = cmbKategori


Control TextBox: name = txtNamaBarang, text = dikosongkan


Control TextBox: name = txtJumlah, text = '0'


Control TextBox: name = txtHargaJual, text = '0'


Control Label: name = lblKategori, text = 'Kategori'


Control Label: name = lblNamaBarang, text = Nama Barang'


Control Label: name = lblJumlah, text = 'Jumlah'


Control Label: name = lblHargaJual, text = 'Harga Jual'


Sehingga hasilnya menjadi :







Setelah penambahan TextBox, Label serta ComboBox di atas selesai, kita lanjutkan dengan menambahkan Tombol-tombol (Button).


Klik dan geser 5 buah Control Button dari Toolbox ke dalam frmBarang dengan nilai property masing-masing:


Tombol 1: name = cmdEdit, Text = 'Edit'


Tombol 2: name = cmdBaru, Text = 'Baru'


Tombol 3: name = cmdSimpan, Text = 'Simpan'


Tombol 4: name = cmdHapus, Text = 'Hapus'


Tombol 5: name = cmdKeluar, Text = 'Keluar'





 





Sehingga tampilan akhir dari frmBarang akan menjadi :


PENGERTIAN Visual Basic .NET

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dariMicrosoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu.

Versi


Visual Basic .NET 2002 (VB 7.0)

Versi pertama dari Visual Basic .NET adalah Visual Basic .NET 2002 yang dirilis pertama kali pada bulan Februari 2002. Visual Basic .NET 2002 merupakan sebuah bahasa pemrograman visual yang berbasis bahasa BASIC (sama seperti halnya Visual Basic 6.0, tetapi lebih disempurnakan dan lebih berorientasi objek), dan didesain untuk berjalan di atas Microsoft .NET Framework versi 1.0.
Versi 7.0 ini dirilis bersamaan dengan Visual C# dan ASP.NET. Bahasa C#, yang dianggap sebagai jawaban terhadap Java, mendapatkan perhatian yang lebih banyak dibandingkan dengan VB.NET yang kurang begitu banyak diulas. Hasilnya, sedikit orang di luar komunitas Visual Basic yang memperhatikan VB.NET. Versi pertama ini kurang mendapat sambutan yang bagus dari para programmer, dan pada saat itu, program berbasis Visual Basic 6.0 sedang marak-maraknya dibuat. Para programmer yang mencoba Visual Basic .NET untuk pertama kali akan merasakan bahwa Visual Basic .NET sangatlah berbeda dibandingkan dengan Visual Basic sebelumnya. Contoh yang paling mudah adalah runtime engine yang lebih besar 10 kali lipat dibandingkan Visual Basic 6.0, dan juga meningkatkan beban di memori.

Visual Basic .NET 2003 (VB 7.1)

Selanjutnya, pada bulan Maret 2003, Microsoft pun merilis lagi versi yang lebih baru dari Visual Basic .NET, Visual Basic .NET 2003. Versi ini berisi beberapa perbaikan dibandingkan dengan versi sebelumnya, dan aplikasi yang dibuatnya dapat berjalan di atas .NET Framework versi 1.1. Fitur yang ditambahkan adalah dukungan terhadap .NET Compact Framework dan mesin wizard upgrade VB6 ke VB.NET yang telah ditingkatkan. Peningkatan yang lainnya adalah peningkatan pada performa dan keandalan dari Integrated Development Environment (IDE) Visual Basic itu sendiri, dan juga runtime engine.
Visual Basic .NET 2003 tersedia dalam beberapa jenis cita rasa: Professional, Enterprise Architect dan Academic Edition. Khusus untuk Visual Basic .NET 2003 Academic Edition, versi tersebut didistribusikan secara gratis untuk beberapa sekolah di dalam setiap negara; versi Professional dan Enterprise Architect merupakan produk komersial.

Visual Basic 2005 (VB 8.0)

Setelah itu, Microsoft pun berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya. Hingga pada tahun 2005, mereka pun merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya.
Untuk rilis 2005 ini, Microsoft menambahkan beberapa fitur baru, di antaranya adalah:
  • Edit and Continue


  • Fitur ini sebelumnya terdapat di dalam Visual Basic, akan tetapi dihapus di dalam Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut.
  • Evaluasi ekspresi pada saat waktu desain
  • Munculnya Pseudo-Namespace "My", yang menyediakan:
    • Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan.
    • Kelas-kelas yang dibuat secara dinamis (khususnya My.Forms).
  • Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET.
  • Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objek-objek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai.
  • Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Integrated Development Environment (IDE) Visual Studio .NET.
  • Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi basis data berbasis klien/server.
Fungsi-fungsi yang tersebut di atas (khususnya My) ditujukan untuk memfokuskan Visual Basic .NET sebagai sebuah platform pengembangan aplikasi secara cepat dan "menjauhkannya" dari bahasa C#.
Bahasa Visual Basic 2005 memperkenalkan fitur-fitur baru, yakni:
  • Bawaan .NET Framework 2.0:
    • Generics
    • Partial class, sebuah metode yang dapat digunakan untuk mendefinisikan beberapa bagian dari sebuah kelas di dalam sebuah berkas, lalu menambahkan definisinya di lain waktu; sangat berguna khususnya ketika mengintegrasikan kode pengguna dengan kode yang dibuat secara otomatis.
    • Nullable Type
  • Komentar XML yang dapat diproses dengan menggunakan beberapa alat bantu seperti NDoc untuk membuat dokumentasi secara otomatis.
  • Operator overloading
  • Dukungan terhadap tipe data bilangan bulat tak bertanda (unsigned integer) yang umumnya digunakan di dalam bahasa lainnya.

Visual Basic 9.0 (Visual Basic 2008)

Versi ini merupakan versi terbaru yang dirilis oleh Microsoft pada tanggal 19 November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.
Dalam versi ini, Microsoft menambahkan banyak fitur baru, termasuk di antaranya adalah:

Hubungan dengan Visual Basic klasik

Apakah Visual Basic .NET dianggap sebagai sebuah versi Visual Basic atau benar-benar bahasa yang berbeda merupakan sebuah topik perdebatan yang hangat. Hal ini dikarenakan sintaksis bahasa Visual Basic .NET tidak mengalami perubahan yang sangat drastis, dan hanya menambahkan beberapa dukungan fitur baru seperti penanganan eksepsi secara terstruktur dan ekspresi yang bisa di-short-circuit-kan. Dua perubahan tipe data pun terjadi saat berpindah ke Visual Basic .NET. Dibandingkan dengan Visual Basic 6.0, tipe data Integer yang dimiliki oleh Visual Basic .NET memiliki panjang dua kali lebih panjang, dari 16 bit menjadi 32 bit. Selain itu, tipe data Long juga sama-sama berubah menjadi dua kali lipat lebih panjang, dari 32 bit menjadi 64 bit. Bilangan bulat 16-bit dalam Visual Basic .NET dinamakan dengan Short. Lagi pula, desainer GUI Windows Forms yang terdapat di dalam Visual Studio .NET atau Visual Basic .NET memiliki gaya yang sangat mirip dengan editor form Visual Basic klasik.
Jika sintaksis tidak banyak yang berubah, lain halnya dengan semantik, yang berubah secara signifikan. Visual Basic .NET merupakan sebuah bahasa pemrograman yang mendukung fitur "Bahasa Pemrograman Berorientasi Objek" secara penuh, karena memang didukung oleh arsitektur Microsoft .NET Framework, yang mengandung kombinasi dari Common Language Runtime dan Base Class Library. Visual Basic klasik, hanya merupakan sebuah bahasa pemrogaman berbasis objek, yang berjalan di atas arsitektur Component Object Model (COM).
Perubahan ini telah mengubah banyak asumsi tentang hal yang benar yang harus dilakukan dengan mempertimbangkan performa dan kemudahan untuk dipelihara. Beberapa fungsi dan pustaka perangkat lunak, yang ada di dalam Visual Basic klasik, kini tidak terdapat di dalam Visual Basic .NET; mungkin masih banyak yang masih terdapat di dalam Visual Basic .NET, tapi tidak seefisien apa yang ditawarkan oleh .NET Framework. Bahkan jika program Visual Basic klasik bisa dikompilasi dengan benar, sebagian besar program Visual Basic klasik harus melalui beberapa proses refactoring untuk mengadopsi fitur bahasa baru secara keseluruhan. Dokumentasi untuk ini pun tersedia di situs Microsoft[1].



Contoh Pemrograman

Contoh program sederhana dalam bahasa Visual Basic .NET yang dipakai untuk menghitung jumlah pembayaran dari m_item buah barang dengan harga m_price per item ditambah 5% pajak penjualan: [2].
Dim m_item, m_price, tax, total As double
  m_item = double.Parse(textBox1.Text)
  m_price = double.Parse(textBox2.Text)
  tax = 0.05
  total = m_item * m_price * (1 + tax)
  label5.Text = total.ToString()
  MessageBox.Show("Well Done.")
Berikut ini adalah contoh lain dari program Visual Basic yang menggunakan objek CheckBox dan ComboBox untuk menghitung jumlah kredit mata kuliah yang diambil oleh seorang mahasiswa (masing-masing mata kuliah = 3 kredit):
Dim total As Integer
total = 0 ' awal dari jumlah kredit total
If (CheckBox1.Checked = True) Then 'boleh memilih semua checkbox
            total += 3
        End If
        If (CheckBox2.Checked = True) Then
            total = total + 3
        End If
        If (CheckBox3.Checked = True) Then
            total = total + 3
        End If
If (ComboBox1.SelectedIndex = 0) Then 'hanya bisa memilih satu
            total = total + 3
        ElseIf (ComboBox1.SelectedIndex = 1) Then
            total = total + 3
        ElseIf (ComboBox1.SelectedIndex = 2) Then
            total = total + 3 
        End If
Label3.Text = CStr(total) ' hasil kredit total yang diambil




Minggu, 02 Oktober 2011

Sejarah Visual Basic


Bill Gates, pendiri Microsoft, memulai bisnis perangkat lunak dengan mengembangkan interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia ubah agar dapat berjalan di atas IBM PC dengan sistem operasi DOS. Perkembangan berikutnya ialah diluncurkannya BASICA (basic-advanced) untuk DOS. Setelah BASICA, Microsoft meluncurkan Microsoft QuickBasic dan Microsoft Basic (dikenal juga sebagai Basic Compiler).


Visual Basic adalah pengembangan dari bahasa komputer BASIC (Beginner’s All-purpose Symbolic Instruction Code). Bahasa BASIC diciptakan oleh Professor John Kemeny dan Thomas Eugene Kurtz dari Perguruan Tinggi Dartmouth pada pertengahan tahun 1960-an.[2] Bahasa program tersebut tersusun mirip dengan bahasa Inggris yang biasa digunakan oleh para programer untuk menulis program-program komputer sederhana yang berfungsi sebagai pembelajaran bagi konsep dasar pemrograman komputer.
Sejak saat itu, banyak versi BASIC yang dikembangkan untuk digunakan pada berbagai platform komputer,[2] seperti Microsoft QBASIC, QUICKBASIC, GWBASIC, IBM BASICA, Apple BASIC dan lain-lain.
Apple BASIC dikembangkan oleh Steve Wozniak, mantan karyawan Hewlett Packard dan teman dekat Steve Jobs (pendiri Apple Inc.).[2] Steve Jobs pernah bekerja dengan Wozniak sebelumnya (mereka membuat game arcade “Breakout” untuk Atari). Mereka mengumpulkan uang dan bersama-sama merakit PC, dan pada tanggal 1 April 1976 mereka secara resmi mendirikan perusahaan komputer Apple. Popularitas dan pemakaian BASIC yang luas dengan berbagai jenis komputer turut berperan dalam mengembangkan dan memperbaiki bahasa itu sendiri, dan akhirnya berujung pada lahirnya Visual Basic yang berbasis GUI (Graphic User Interface) bersamaan dengan Microsoft Windows. Pemrograman Visual Basic begitu mudah bagi pemula dan programer musiman karena ia menghemat waktu pemrograman dengan tersedianya komponen-komponen siap pakai.[2]
Hingga akhirnya Visual Basic juga telah berkembang menjadi beberapa versi, sampai yang terbaru, yaitu Visual Basic 2010. Bagaimanapun juga Visual Basic 6.0 tetap menjadi versi yang paling populer karena mudah dalam membuat programnya dan ia tidak menghabiskan banyak memori.[2]
Sejarah BASIC di tangan Microsoft sebagai bahasa yang diinterpretasi (BASICA) dan juga bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan sebagai gabungan keduanya.[3] Programmer yang menggunakan Visual Basic bisa memilih kode bahasa pemrograman yang dikompilasi atau kode yang harus bahasa pemrograman yang diinterpretasikan sebagai hasil porting dari kode VB.[3] Sayangnya, meskipun sudah terkompilasi jadi bahasa mesin, DLL bernama MSVBVMxx.DLL tetap dibutuhkan. Namun karakteristik bahasa terkompilasi tetap muncul (ia lebih cepat dari kalau kita pakai mode terinterpretasi).
Ditulis dalam Sejarah Visual Basic