Sabtu, 18 Mei 2013

Perbedaan VB6 dengan VB.net

Ada banyak perbedaan antara VB 6.0 dengan VB 2010, mungkin pertanyaanya bisa lebih spesifik.

Tapi perbedaan paling mendasar adalah konsep .NET Framework yang diusung oleh VB 2010 (VB.NET).

Pada awalnya VB6 dan sebelumnya hanya dibuat untuk digunakan pada sistem operasi windows saja. Namun karena melihat perkembangan butuhnya aplikasi yang cross platform (artinya bisa digunakan diberbagai sistem operasi, seperti java, php, dll) maka Microsoft mengembangan VB menjadi bahasa pemrograman yang cross platform.

Mungkin mengambil konsep "Write once, run anywhere" nya Java.

Misalkan saja begini, kita buat program dengan VB .NET di windows, kemudian aplikasi ini bisa kita jalankan di linux, dengan catatan di sana terinstall .NET framework, yang jadi mesin untuk menjalankan aplikasi tersebut.

Dalam pengembangan aplikasi, VB6 menggunakan dua model yaitu VB client berbasis form dan komponen COM (Component Object Model). Sedangkan untuk client dan server digunakan DCOM (Distributed COM).
Sayangnya VB6 memiliki keterbatasan, misalnya:
1. Masalah Deployment/Penyebaran
2. Kekurangan OOP
3. Keterbatasan Dalam Pengembangan Internet
4. Windows API yang Merugikan

Untuk keterbatasan lainnya, VB6 memiliki kekurangan dalam penerapan multithreading, contohnya VB6 tidak dapat digunakan untuk menulis service type NT. Penanganan kesalahan/error handling yang tidak terstruktur menyebabkan pengembangan mengalami kesulitan untuk melacak dan menguji error dari awal sampai akhir pada stack dari antarmuka komponen.

Visual Basic .NET (VB.NET) adalah berorientasi obyek bahasa pemrograman komputer yang dapat dilihat sebagai evolusi dari Visual Basic (VB) klasik yang diimplementasikan pada Framework .NET. Microsoft saat ini memasok dua implementasi utama Visual Basic: Microsoft Visual Studio, yang merupakan perangkat lunak komersial dan Microsoft Visual Studio Express, yang gratis.

Sebagian besar basis kode VB6 saat ini tidak akan berjalan di bawah VB.NET akibat perubahan sintaks VB.NET dan bahasa, penggunaan dari new common runtime, dan beralih untuk WinForms dari model form VB6.

Visual Basic .NET mencakup alat upgrade untuk membantu dalam mengkonversi proyek VB6 ke .NET (visit Microsoft's web site).

Selain perubahan, ada banyak fitur bahasa baru dan mendasar yang berbeda dan konsep-konsep pemrograman dimasukkan ke dalam platform VB.NET. Yang besar antara lain: Polimorfisme, Warisan dan Encapsulation (PIE), overloading operasi, parameter konstruktor, tingkat atribut kelas dan operasi.
Saya akan coba jabarkan beberapa keunggulan sekaligus perbedaan antara VB.NET dan VB.6 yang mungkin akan membuat anda tertarik untuk mempelajari .NET programming atau dan akan membantu mempermudah anda dalam mempelajarinya. Dibawah ini adalah beberapa hal dasar namun penting untuk diketahui dalam belajar pemrogramman VB.NET. Semua sintak yang saya tulis dibawah ini adalah sintak VBNET dan tidak tersedia di VB.6.


    'VARIABLE'
    'Deklarasi Variable Dapat Langsung Diberi Nilai Default (di vb6 tidak bisa)
    'Contoh Variable Standard
    Dim nilai1 As Integer = 0
    Friend nilai2 As String = "Kosong"

    'Contoh Variable Array
    Public nilai_array1() As Integer = {10, 20, 30, 40, 50}
    Dim nilai_array2 As String() = {"a", "b", "c"}

    'Contoh Variable Array Object (di vb6 tidak bisa membuat object langsung)
    Private mytext As New TextBox With {.Name = "txt_name", .Text = "123"} 'dll
    Dim mycombo_array(0 To 10) As ComboBox

    'Contoh Variable Array List (di vb6  = Collection)
    Public nilai_list As New List(Of String)
    Dim mylistview_list As New List(Of ListView)

    'Type data variant di vb6 tidak tersedia di vbnet, diganti dengan object
    Dim obj As New Object


        'PERULANGAN'
        '**Fitur baru bisa langsung deklarasi variable (di vb6 tidak bisa)
        For myindex As Integer = 0 To 100
            '.... sintak anda
        Next
        For Each myitem As ListViewItem In ListView1.Items
            '.... sintak anda
        Next
        '**Fitur baru "Continue For" untuk skip/loncat (di vb6 tidak bisa)
        'Contoh jika nilai 666 jangan di-add ke listview
        For nilai As Double = 0 To 1000
            If nilai = 666 Then Continue For
            ListView1.Items.Add(nilai)
            '.... sintak anda
        Next
        '**Fitur baru "Continue Do" untuk skip/loncat (di vb6 tidak bisa)
        'Contoh jika nilai 666 jangan di-add ke listview

        Do While nilai1 <= 1000
            If nilai1 = 666 Then Continue Do
            ListView1.Items.Add(nilai1)
            '.... sintak anda
        Loop
        'Sintak diatas merupakan cara singkat dari sintak berikut ini :
        For nilai As Double = 0 To 1000
            If nilai = 666 Then GoTo SkipFor
            ListView1.Items.Add(nilai)
            '.... sintak anda
SkipFor:
        Next

        '**Fitur Baru "AddRange" pada object tertentu (di vb6 tidak bisa)
        'Contoh add item sekaligus dari array ke combobox
        Dim item_array() As String = {"1", "2", "3", "4", "5"}
        ComboBox1.Items.AddRange(item_array)
        'Atau dengan cara membuat item array langsung
        ComboBox1.Items.AddRange(New String() {"a", "b", "c", "d", "e"})
        ComboBox1.Items.AddRange(New Object() {1, 2, 3, 4, 5})
        'Sintak diatas merupakan cara singkat dari sintak berikut ini:
        With ComboBox1
            .Items.Add("a")
            .Items.Add("b")
            .Items.Add("c")
            .Items.Add("d")
            .Items.Add("e")
        End With
        'Atau sintak seperti ini:
        With ComboBox1
            For nilai As Integer = 1 To 5
                .Items.Add(nilai)
            Next
        End With

        'OPERATOR LOGIKA'
        '**Fitur baru "AndAlso" (di vb6 tidak bisa)
        If nilai1 AndAlso nilai2 = 100 Then
            '....sintak anda
        End If
        'Contoh diatas sama dengan anda menulis :
        If nilai1 = 100 And nilai2 = 100 Then
            '....sintak anda
        End If

        '**Fitur baru "Equals" (di vb6 tidak bisa)
        If nilai1.Equals(100) = True Then
            '....sintak anda
        End If
        'Contoh diatas sama dengan anda menulis :
        If nilai1 = 100 Then
            '....sintak anda
        End If

        '**Fitur baru "Is" dan "IsNot" ("IsNot" di vb6 tidak bisa)
        If mytext.Text Is Nothing Then
            '....sintak anda
        ElseIf mytext.Text IsNot Nothing Then
            '....sintak anda
        End If

        '**Fitur baru "TypeOf" (di vb6 bisa tapi harus di ketik manual)
        'Contoh untuk mendeteksi type sebuah object
        If TypeOf obj Is TextBox Or TypeOf obj Is ComboBox Then
            '....sintak anda
        End If 

Bagaimana? sejauh ini cukup menarik bukan? selain itu formating sintak (menjorok) sudah dilakukan secara otomatis oleh IDE VB.NET, jadi kita tidak perlu lagi melakukan secara manual dengan menekan spasi atau tab, Contoh :
        If nilai1 = 1 Then
            '...sintak anda
            If nilai2 = "1" Then
                '...sintak anda
            End If
        End If
Selain itu juga setiap mengetik perintah seperti IF, SELECT CASE, FOR, DO WHILE, FUNCTION, SUB dan lain lain, kemudian tekan enter maka akan dibuatkan akhirannya secara otomatis yaitu END IF, END SELECT, NEXT, LOOP, END FUNCTION, END SUB dan lain lain, jadi anda tidak perlu repot (banyak mengetik sintak) dan dapat menghemat waktu anda. 

Sekian dulu artikel mengenai Perbedaan VB6 dengan VB.net
Semoga artikel ini berguna..

Tidak ada komentar:

Posting Komentar