Sabtu, 28 Januari 2012

Jawaban Soal 3 (Sylvia Hartati Saragih)

Kasus: (klik disini)

Form Login:
- Listing Program:

Public Class Form1

    Sub Masuk()
        If username.Text = "via" And password.Text = "hartati" Then
            Me.Hide()
            Form2.Show()
        Else
            MsgBox("Login gagal!")
            Call HapusIsian()
        End If
    End Sub

    Sub HapusIsian()
        username.Text = ""
        password.Text = ""
    End Sub

    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
        Call Masuk()
    End Sub

    Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click
        End
    End Sub
End Class

Hasil Program:






Form Menu Utama:
- Listing Program:

Public Class Form2

    Private Sub FormPenggajianToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormPenggajianToolStripMenuItem.Click
        Form3.show()
    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End
    End Sub

End Class

Hasil Program:





Form Penggajian:
- Listing Program:

Public Class Form3

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call BuatTabel()

        jabatan.Items.Add("KaBag")
        jabatan.Items.Add("Mandor")
        jabatan.Items.Add("Staff")

        status.Items.Add("Belum Menikah")
        status.Items.Add("Menikah")

        lembur.Items.Add("Lembur")
        lembur.Items.Add("Tidak Lembur")
    End Sub

    Sub BuatTabel()
        With LV
            .Columns.Add("NIK", 50, HorizontalAlignment.Left)
            .Columns.Add("Nama", 90, HorizontalAlignment.Left)
            .Columns.Add("Jabatan", 90, HorizontalAlignment.Left)
            .Columns.Add("Gaji", 70, HorizontalAlignment.Right)
            .Columns.Add("Status", 90, HorizontalAlignment.Center)
            .Columns.Add("Jlh Anak", 60, HorizontalAlignment.Center)
            .Columns.Add("Lembur", 50, HorizontalAlignment.Center)
            .Columns.Add("Jlh Jam", 60, HorizontalAlignment.Center)
            .Columns.Add("Tunj. Istri", 60, HorizontalAlignment.Right)
            .Columns.Add("Tunj. Anak", 70, HorizontalAlignment.Right)
            .Columns.Add("Lembur", 50, HorizontalAlignment.Right)
            .Columns.Add("Pajak", 50, HorizontalAlignment.Right)
            .Columns.Add("Total", 50, HorizontalAlignment.Right)
            .GridLines = True
            .FullRowSelect = True
            .View = View.Details
        End With
    End Sub

    Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProses.Click
        Call Proses()
    End Sub

    Sub Proses()
        Select Case jabatan.Text
            Case "Mandor"
                gaji.Text = 1750000
            Case "KaBag"
                gaji.Text = 2500000
            Case "Staff"
                gaji.Text = 1250000
        End Select

        Select Case status.Text
            Case "Belum Menikah"
                jumlahanak.Text = 0
                tunjanganistri.Text = 0
                tunjangananak.Text = 0
            Case "Menikah"
                tunjanganistri.Text = 0.09 * gaji.Text
                If jumlahanak.Text = 1 Then
                    tunjangananak.Text = 0.03 * gaji.Text
                ElseIf jumlahanak.Text >= 2 Then
                    tunjangananak.Text = 0.07 * gaji.Text
                Else
                    tunjangananak.Text = 0
                End If
        End Select

        Select Case lembur.Text
            Case "Tidak Lembur"
                jumlahlembur.Text = 0
                bonuslembur.Text = 0
            Case "Lembur"
                Select Case jabatan.Text
                    Case "Mandor"
                        bonuslembur.Text = 7500 * jumlahlembur.Text
                    Case "Staff"
                        bonuslembur.Text = 5000 * jumlahlembur.Text
                    Case "KaBag"
                        bonuslembur.Text = 10000 * jumlahlembur.Text
                End Select
        End Select
        pajak.Text = gaji.Text * 0.015
        totalgaji.Text = Val(gaji.Text) + Val(tunjanganistri.Text) + Val(tunjangananak.Text) + Val(bonuslembur.Text) - pajak.Text
    End Sub

    Sub Bersih()
        nik.Text = ""
        nama.Text = ""
        jabatan.Text = ""
        gaji.Text = ""
        status.Text = ""
        jumlahanak.Text = ""
        lembur.Text = ""
        jumlahlembur.Text = ""
        tunjanganistri.Text = ""
        tunjangananak.Text = ""
        bonuslembur.Text = ""
        pajak.Text = ""
        totalgaji.Text = ""
    End Sub

    Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click
        Call Bersih()
    End Sub

    Sub IsiTabel()
        Dim lst As New ListViewItem
        With lst
            .Text = nik.Text
            .SubItems.Add(nama.Text)
            .SubItems.Add(jabatan.Text)
            .SubItems.Add(gaji.Text)
            .SubItems.Add(status.Text)
            .SubItems.Add(jumlahanak.Text)
            .SubItems.Add(lembur.Text)
            .SubItems.Add(jumlahlembur.Text)
            .SubItems.Add(tunjanganistri.Text)
            .SubItems.Add(tunjangananak.Text)
            .SubItems.Add(bonuslembur.Text)
            .SubItems.Add(pajak.Text)
            .SubItems.Add(totalgaji.Text)
            LV.Items.Add(lst)
        End With
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        Call IsiTabel()
        Call Bersih()
    End Sub

    Private Sub btnBersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBersih.Click
        LV.Items.Clear()
    End Sub

End Class

Hasil Program:

Jawaban Soal 2 (Sylvia Hartati Saragih)

Kasus: (klik disini)

Listing Program:

Public Class Form1

    Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        BuatTabel()
        NPM.Focus()
    End Sub

    Sub DataNPM()
        Dim x As String
        Tahun.Text = "20" & _
        Microsoft.VisualBasic.Left(NPM.Text, 2)

        x = Microsoft.VisualBasic.Mid(NPM.Text, 3, 1)
        If x = "1" Then
            Jenjang.Text = "Diploma-I"
        ElseIf x = "3" Then
            Jenjang.Text = "Diploma-III"
        ElseIf x = "4" Then
            Jenjang.Text = "Strata-I"
        Else
            Jenjang.Text = "Tidak terdaftar..!"
        End If

        x = Microsoft.VisualBasic.Mid(NPM.Text, 4, 2)
        If x = "01" Then
            Jurusan.Text = "Manajemen Informatika"
        ElseIf x = "02" Then
            Jurusan.Text = "Sistem Informasi"
        ElseIf x = "03" Then
            Jurusan.Text = "Teknik Informatika"
        ElseIf x = "04" Then
            Jurusan.Text = "Akuntansi"
        Else
            Jurusan.Text = "Tidak terdaftar..!"
        End If
    End Sub

    Private Sub Nama_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Nama.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        If tombol = 13 Then
            Call DataNPM()
            Nilai.Focus()
        End If
    End Sub

    Private Sub Nilai_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Nilai.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        If tombol = 13 Then
            Call DataNilai()
            btnSimpan.Focus()
        End If
    End Sub

    Sub DataNilai()
        Select Case Nilai.Text
            Case Is >= 80
                Huruf.Text = "A"
            Case 70 To 79
                Huruf.Text = "B"
            Case 60 To 69
                Huruf.Text = "C"
            Case 50 To 59
                Huruf.Text = "D"
            Case Is <= 49
                Huruf.Text = "E"
        End Select
    End Sub

    Sub BuatTabel()
        LV.Columns.Add("NPM", 80, HorizontalAlignment.Center)
        LV.Columns.Add("Nama", 180, HorizontalAlignment.Left)
        LV.Columns.Add("Jurusan", 100, HorizontalAlignment.Left)
        LV.Columns.Add("Jenjang", 90, HorizontalAlignment.Center)
        LV.Columns.Add("Tahun", 80, HorizontalAlignment.Center)
        LV.Columns.Add("Nilai", 50, HorizontalAlignment.Center)
        LV.Columns.Add("Huruf", 50, HorizontalAlignment.Center)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True
    End Sub

    Sub IsiTabel()
        Dim Lst As New ListViewItem
        Lst.Text = NPM.Text
        Lst.SubItems.Add(Nama.Text)
        Lst.SubItems.Add(Jurusan.Text)
        Lst.SubItems.Add(Jenjang.Text)
        Lst.SubItems.Add(Tahun.Text)
        Lst.SubItems.Add(Nilai.Text)
        Lst.SubItems.Add(Huruf.Text)
        LV.Items.Add(Lst)
    End Sub

    Sub HapusIsian()
        NPM.Text = ""
        Nama.Text = ""
        Jurusan.Text = ""
        Jenjang.Text = ""
        Tahun.Text = ""
        Nilai.Text = ""
        Huruf.Text = ""
        NPM.Focus()
    End Sub

    Private Sub btnBersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBersih.Click
        HapusIsian()
    End Sub

    Private Sub btnHapusSemua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapusSemua.Click
        LV.Items.Clear()
    End Sub

    Private Sub btnHapusSatu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapusSatu.Click
        LV.Items.Remove(LV.SelectedItems(0))
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        IsiTabel()
        HapusIsian()
    End Sub

End Class

Hasil Program:

Jumat, 07 Oktober 2011

Surat untuk Sahabatku

Fajar menyingsing dan senja pun datang . Silih berganti menemani kita.Tak terasa waktu berputar dan hari pun berganti.Dua belas tahun kita mengenal .Bukan waktu yang singkat untuk sebuah persahabatan.Kupikir,tahun-tahun yang panjang itu dapat membuat  mengenalmu lebih dalam lagi .Kubagi semua rahasia hidupku. Bahkan rahasia hati ini dank au pun tak pernah ragu membagi dukamu.Lalu kita tertawa bersama , ketika bahagiaku dan bahagiamu melanda.

Kugiring waktu untuk melupakan masa lalu, membuang cinta pertama yang gagal.Mengulurkan tangan menyambut mimpi baru yang kau beri . Rasanya aneh ,karena harus mengubah persahabatan menjadi sesuatu yang lebih.Begitu pun, harus kuakui kalau mimpi yang kautawarkan menggangguku.Aku tak ingin terpuruk pada masa lalu.

Kau semakin menjauh dariku. Bahkan seolah tak peduli. Hingga aku lelah menanti.Kukuatkan  diriku menghadapi semua yang mungkin terjadi ,tapi kau beri aku harapan.Menyisahkan secuil mimpi.Kau hadir dan pergi dari hidupku,seperti hembusan angin.Kau bilang , letih sudah kau membangun mimpi, karena  kita hidup di dunia nyata.Tak ada daya untuk membuatnya sempurna .Sahabat ,pernahkah aku menuntutmu membuat mimpi itu sempurna ? Aku hanya butuh dirimu . Butuh hadirmu , namun itu pun tak sanggup kau lakukan untukmu.Lalu ke mana janjimu ? Kini , kau pun menjauh dan akhirnya meninggalkanku.

Dua tahun ini,kau tak lagi sama.Bahkan kita seperti dua orang asing yang baru kenal .Ke manakah sahabat yang pernah membangunkan mimpi-mimpi untukmu?Ke manakah sahabat yang menemaniku kala sedih dan sepiku? Ke manakah sahabat, yang padanya kudendangkan tawa dan berbagi canda?

Sahabat , akhirnya kau  akui kalau kau tak mampu mempertahankan sunyi  hatimu .Selama dua belas tahun , tidak cukupkah aku menemani ruang hatimu?Hingga kau merasa kosong saat aku jauh?Aku harus bilang apa kalau kau tergoda .Aku , ternyata bellum mengenalmu menyeluruh.Hingga aku tak mampu mengerti sunyi hatimu.Aku tak bisa menempati  penuh ruang hatimu. Ataukah memang  telah kau tinggalkan bayangku hingga ada ruang yang kau sediakan bagi yang lain?

Mimpi dan Cita-cita Hari ini adalah kenyataan dimasa Depan

Hampir semua orang pasti memiliki cita-cita.Cita-cita merupakan tujuan,visi,obsesi dan juga salah satu motor penggerak motivasi manusia.Banyak diantara kita yang rela melakuakan apa saja demi mencapai cita-cita.Mulai dari pengorbanan materi , tenaga , pikiran dan sebagainya. Bahkan cara-cara tak “layak’pun dilakukan demi cita-cita.

Pada Agustus itu,tentu sangatlah akrab dengan PAMB (Pembekalan Awal Mahasiswa Baru) bagi para mahasiswa yang masuk PTN.Para mahasiswa diajak melihat kembali tujuan awal dating ke kampus yang telah menjadi pilihannya.Tentunya pembekalan awal ini menjadi motivator semangat bagi para mahasiswa untuk mewujudkan semua cita-citanya.

Di awal masuk PTN para mahasiswa sesungguhnya memasuki babak baru rangkaian merajut cita-cita.Babak baru di mana mereka akan dihadapkan dengan bermacam hal guna menyelesaikan study.Seperti masalah produser administrasi ,beban prestasi akademik yang harus diraih tiap semester, dana, sampai masalah pergaulan.

Ajang memasuki dunia kampus kadang dianggap pula oleh para mahasiswa , sebagai ajang kebebasan .Melakukan segalah hal tanpa ada keterikatan ataupun paksaan.Pergaulan  ala anak muda yang kadang menyeret mereka kepada hubungan sosial bahkan hubungan seksual yang menyimpang,sehingga tujuan awal mereka masuk ke kampus menjadi melenceng dan jauh dari sasaran sebuah cita-cita.
Melencengnya arah sasaran sebuah cita-cita tentu tak akan membuahkan hasil yang diharapkan .Mungkin mereka ada yang beranggapan cita-cita hanya patut dipertanyakan kepada pelajar Sekolah Dasar (SD) saja,yang biasanya lantang menjawab  cita-citanya.Saya tak bermaksud membandingkan para mahasiswa dengan pelajar SD, namun hanya bermaksud member gambaran.

Pelajar  SD memberikan jawaban tanpa ragu ketika gurunya menanyai mereka mengenai cita-cita.Dokter, guru,pilot dan lainnya menjadi pilihan dari jawaban mereka, meski mereka tak mengetahui apa, bagaimana, dan seperti apa profesi yang mereka sebutkan itu.Lantas mengapa di antara mahasiswa ada yang masih merasa gamang dalam merajut cita-cita bersama kampusnya? Bahkan sampai kehilangan arah, “mengapa” dating ke kampus.

Rasa gamang ini merupakan bentuk keraguan dan rasa tak percaya akan kemampuan diri, tak percaya dengan jalan hidup yang ada, bahkan rasa tak percaya akan keberuntungan dan keberhasilan yang akan diperoleh.Ditambah lagi rasa takut akan ketatnya persaingan para pemburu kerja. Sampai pada iming-iming  “orang dalam” dan “sejumlah materi” untuk bisa mendapatkan posisi yang layak dari sebuah pekerjaan yang dianggap bergensi ketika memasuki dunia kerja.
Belum lagi asumsi masyarakat yang sering terlontar “banyak sarjana banyak juga pengangguran “ terus menghantui mahasiswa, sehingga mereka tak yakin kalau mereka bisa.Apalagi jika di dalam perjalanan akademik, mereka mendapat kendala yang mematahkan semangat  jurang.Jalan sikap tak ambil pusing kadang menjadi jalan pintas . Mengacuhkan segalah masalah sehinggasaat studi selesai semua kompetensi yang seharusnya dimiliki ternyata nihil. Tentu ledekan sarjana ujung-ujung pengangguran akan benar  adanya.
Sudah saatnya asumsi itu harus dipatahkan . Semangat untuk berhasil harus  terus dipupuk tanpa henti , merajut semua cita-cita dengan rasa optimis ,yakin bahwa diri bisa jadi yang terbaik ,terpuji dan terhormat adalah sebuah fondasi yang kuat ,sehingga keyakinan dengan kemampuan diri yang terus terasa pasti akan melahirkan personal yang kompeten.

Jadi sebuah  cita-cita dapat tercapai tak harus dengan ada tidaknya orang dalam , sejumlah materi namun pada kompetensi yang dimiliki.Ingatlah bukan hal yang mustahil mimpi dan cita-cita kita hari ini adalah kenyataan di masa depan .

Menjaga Diri sendiri sebagai wujud Bakti kepada Ibu

Kasih ibu kepada beta,tak terhingga sepanjang masa.Hanya member i tak harap kembali,bagaikan sang surya menyinari dunia.
Masih ingatkah anda pada lirik lagu diatas? Lagu tersebut kerap dinyanyikan menjelang perayaan Hari Ibu ,untuk mengingatkan kita betapa besar  kasih dan pengorbanan yang berikan ibu kepada kita.Pada kenyataanya seorang ibu memang tak pernah berhenti mengasihi anaknya.Kasih sayang ibu bahkan telah  diberikan sejak sebelum kita dilahirkan.Sejak dalam kandungan ,ibu telah mencurahkan kasih sayangnya kepada kita.Selama sembilan bulan ,ibu dengan rela merawat dan menanggung beban berat pada tubuhnya.Merawat dan mendoakan kita sudah bagaikan membaur  dalam setiap napas ibu.
Renungkanlah sesaat,apa yang mampu kita lakukan untuk membalas kasih dan kebaikan ibu?
Biasanya perayaan Hari Ibu selalu  identik dengan pemberian hadiah untuk menunjukkan bakti kepada ibu.Namun sesungguhnya sikap berbakti bukan diukur berdasarkan hadiah apa yang kita berikan kepada ibu diHari Ibu dan tentunya hanya dilakukan setahun  sekali.Karena jika demikian,bagaimana dengan orang-orang yang belum bekerja dan berpengasilan ?tak dapatkan mereka berbakti?
Memang  tak salah member hadiah untuk untuk menunjukan bakti kita karena setidaknya hal tersebut merupakan upaya untuk membuat ibu bergembira dari Hari Ibu.Namun sekian pemberian hadiah ,sesungguhnya masih terdapat beragam cara yang dilakukan untuk membalas kebaikan ibu.Seperti bunyi pepatah.”Menjaga diri sendiri adalah wujud bakti kepada orang tua.Maksud pepatah tersebut adalah bahwa jasmani kita ada karena penngorbanan ibu yang telah melahirkan dan merawat kita hingga dewasa.Kita diharapkan menjaga kesehatan diri sendiri dan menghindari hal-hal yang dapat merusak jasmani dan rohani,misalnya narkoba,minuman keras dan pergaulan bebas yang mengarah pada tindakan negative.Dengan dapat menjaga diri sendiri,ibu tak terbebani lagi dengan kecemasan terhadap diri kita dimasa tuanya.
Selain dengan menjaga diri sendiri wujud bakti yang lain dapat berupa tutur kata yang lembut dan perhatian terhadap ibu.Hal ini tentunya sudah semestinya dilakukan jika mengingat tangisan pertama kita dulu hamper merupakan maut bagi ibu.
Jadi dengan tindakan sederhana pun kita sebenarnya dapat  menunjukkan bakti pada ibu.Berbakti tak harus dengan intan dan permata ,melainkan dengan sikap dan tindakan kita sehari-hari.Jangan pernah melupakan,kesuksesan yang kita capai hari ini juga merupakan doa dari ibu.

Minggu, 02 Oktober 2011

Sejarah Visual Basic

VB 1.0 diperkenalkan pada tahun 1991. Drag dan drop untuk membuat desain user interface berasal dari generator bentuk prototipe yang dikembangkan oleh Alan Cooper dan perusahaan yang disebut Tripod. Microsoft kontrak dengan Cooper dan rekan-rekannya untuk mengembangkan tripod menjadi bentuk sistem diprogram untuk Windows 3.0, di bawah nama kode Ruby (tidak ada hubungannya dengan bahasa pemrograman Ruby).
Tripod tidak termasuk bahasa pemrograman sama sekali. Microsoft memutuskan untuk menggabungkan Ruby dengan bahasa Basic untuk membuat Visual Basic.
Generator antarmuka Ruby disediakan "visual" bagian dari Visual Basic dan ini dikombinasikan dengan "EB" mesin DASAR Tertanam dirancang untuk sistem database Microsoft ditinggalkan "Omega". Ruby juga memberikan kemampuan untuk memuat link dinamis perpustakaan yang berisi kontrol tambahan (kemudian disebut "gizmos"), yang kemudian menjadi antarmuka VBX.

    
'Guntur' * Proyek dimulai
    
* Visual Basic 1.0 (Mei 1991) dirilis untuk Windows pada pameran Comdex / Windows perdagangan dunia di Atlanta, Georgia.

    
* Visual Basic 1.0 untuk DOS dirilis pada bulan September 1992. Bahasa itu sendiri tidak cukup kompatibel dengan Visual Basic untuk Windows, karena sebenarnya versi berikutnya dari berbasis DOS compiler Microsoft BASIC, QuickBasic dan BASIC Professional Development System. Antarmuka yang digunakan user interface Teks, menggunakan karakter ASCII diperpanjang untuk mensimulasikan tampilan GUI.
Visual Basic untuk MS-DOS

    
* Visual Basic 2.0 dirilis pada November 1992. Lingkungan pemrograman lebih mudah digunakan, dan kecepatan ditingkatkan. Terutama, bentuk menjadi objek instantiable, sehingga meletakkan konsep dasar dari modul kelas sebagai kemudian ditawarkan dalam VB4.
    
* Visual Basic 3.0 dirilis pada musim panas 1993 dan datang dalam versi Standard dan Profesional. VB3 termasuk versi 1.1 dari Jet Database Engine Microsoft yang dapat membaca dan menulis Jet (atau Access) 1.x database.
    
* Visual Basic 4.0 (Agustus 1995) merupakan versi pertama yang bisa membuat 32-bit maupun 16-bit program Windows. Ia memiliki tiga edisi, Standard, Profesional, dan Enterprise. Hal ini juga memperkenalkan kemampuan untuk menulis non-GUI class pada Visual Basic. Tidak kompatibel antara rilis yang berbeda dari VB4 menyebabkan masalah instalasi dan operasi. Sementara versi sebelumnya dari Visual Basic telah menggunakan kontrol VBX, Visual Basic sekarang digunakan kontrol OLE (dengan nama file berekstensi. OCX) sebagai gantinya. Ini yang kemudian diberi nama kontrol ActiveX.
    
* Dengan versi 5.0 (Februari 1997), Microsoft merilis secara eksklusif Visual Basic untuk 32-bit versi Windows. Programmer yang lebih suka menulis 16-bit program yang dapat mengimpor program yang ditulis dalam Visual Basic 4.0 ke Visual Basic 5.0, dan Visual Basic 5.0 program dengan mudah dapat dikonversi dengan Visual Basic 4.0. Visual Basic 5.0 juga memperkenalkan kemampuan untuk menciptakan kontrol pengguna kustom, serta kemampuan untuk mengkompilasi ke kode dieksekusi Windows asli, mempercepat perhitungan-intensif eksekusi kode. A, gratis Kontrol Edisi Penciptaan download juga dirilis untuk pembuatan kontrol ActiveX. Ini juga digunakan sebagai bentuk pengantar Visual Basic:. ​​Sebuah proyek exe biasa dapat diciptakan dan dijalankan dalam IDE, tapi tidak dikompilasi.
    
* Visual Basic 6.0 (pertengahan 1998) meningkat di sejumlah daerah [8] termasuk kemampuan untuk membuat aplikasi berbasis web. VB6 telah memasuki Microsoft "fasa non-didukung" pada Maret 2008. Meskipun Visual Basic 6.0 lingkungan pengembangan tidak lagi didukung, runtime didukung pada Windows Vista, Windows Server 2008 dan Windows 7.
    
* Dukungan Mainstream untuk Microsoft Visual Basic 6.0 yang berakhir pada tanggal 31 Maret 2005. Dukungan diperpanjang berakhir pada Maret 2008. [10] Sebagai tanggapan, komunitas pengguna Visual Basic menyatakan keprihatinannya dan melobi pengguna untuk menandatangani petisi untuk menjaga produk hidup [11]. Microsoft telah sejauh ini menolak untuk mengubah posisi mereka tentang masalah ini . (Tapi lihat [12]) Ironisnya, sekitar kali ini (2005), itu terkena yang baru Microsoft anti-spyware yang menawarkan, Microsoft AntiSpyware (bagian dari pembelian Perangkat Lunak Perusahaan GIANT), adalah kode dalam Visual Basic 6.0. [13] Its pengganti, Windows Defender, ditulis ulang sebagai kode C + +.


Microsoft telah mengembangkan turunan dari Visual Basic untuk digunakan dalam scripting. Visual Basic itu sendiri berasal dari berat BASIC, dan kemudian telah diganti dengan versi platform. NET.
Beberapa bahasa yang diturunkan:

    
* Visual Basic for Applications (VBA) adalah termasuk di berbagai aplikasi Microsoft (Microsoft Office), dan juga di banyak produk pihak ketiga seperti SolidWorks, AutoCAD, WordPerfect Office 2002, ArcGIS, Sage Accpac ERP, dan Business Intelligence Objek Desktop. Ada inkonsistensi kecil dalam cara VBA diimplementasikan dalam aplikasi yang berbeda, tetapi sebagian besar bahasa yang sama dengan VB6 dan menggunakan perpustakaan runtime yang sama.
    
* VBScript adalah bahasa default untuk Active Server Pages. Hal ini dapat digunakan di Windows scripting dan client-side web scripting halaman. Meskipun menyerupai sintaks VB di, itu adalah bahasa yang terpisah dan dijalankan oleh vbscript.dll sebagai lawan VB runtime. ASP dan VBScript tidak harus bingung dengan ASP.NET yang menggunakan NET Framework. Dikompilasi untuk halaman web.
    
* Visual Basic. NET adalah penerus Microsoft ditunjuk untuk Visual Basic 6.0, dan merupakan bagian dari Microsoft. NET platform. Visual Basic.Net mengkompilasi dan berjalan menggunakan NET Framework.. Hal ini tidak kompatibel dengan VB6. Sebuah alat konversi otomatis ada, tetapi konversi sepenuhnya otomatis untuk sebagian besar proyek tidak mungkin.
    
* Dasar StarOffice adalah juru kompatibel Visual Basic termasuk dalam StarOffice suite, yang dikembangkan oleh Sun Microsystems.
    
* Gambas adalah Visual Basic terinspirasi perangkat lunak bahasa pemrograman bebas. Ini bukan tiruan dari Visual Basic, tetapi memiliki kemampuan untuk mengkonversi program Visual Basic untuk Gambas.
 
Kinerja dan masalah lain
Rekan-rekan sebelumnya Visual Basic (sebelum versi 5) dikompilasi kode ke P-Code saja. P-Code ditafsirkan oleh runtime bahasa, juga dikenal sebagai mesin virtual. Manfaat P-Kode termasuk portabilitas dan ukuran yang lebih kecil biner file, tapi biasanya memperlambat eksekusi, karena memiliki runtime menambahkan lapisan tambahan interpretasi. Namun, sejumlah kecil kode dan algoritma dapat dibangun untuk menjalankan lebih cepat daripada kode asli dikompilasi.
Aplikasi Visual Basic memerlukan runtime Microsoft Visual Basic MSVBVMxx.DLL, di mana xx adalah nomor versi yang relevan, baik 50 atau 60. MSVBVM60.DLL datang sebagai standar dengan Windows dalam semua edisi setelah Windows 98, sementara MSVBVM50.dll datang dengan semua edisi setelah Windows 95. Sebuah Windows 95 mesin akan membutuhkan inklusi Namun dengan installer mana dll yang diperlukan oleh program.
Visual Basic 5 dan 6 dapat mengkompilasi kode untuk baik asli atau P-Code. Visual Basic P-Kode compiler nenek moyang NET framework..
Kritik ditujukan pada Visual Basic edisi sebelum VB.NET meliputi:

    
* Versi masalah yang terkait dengan berbagai runtime DLL, yang dikenal sebagai neraka DLL
    
* Miskin dukungan untuk pemrograman berorientasi objek [17]
    
* Ketidakmampuan untuk menciptakan aplikasi multi-threaded, tanpa beralih ke Windows API panggilan
    
* Ketidakmampuan untuk membuat layanan Windows
    
* Varian jenis memiliki performa yang lebih baik dan overhead penyimpanan dari bahasa pemrograman sangat diketik
    
* Ketergantungan pada entri COM kompleks dan rapuh Registry
    
* Lingkungan pengembangan tidak lagi didukung oleh Microsoft.
 
Warisan pengembangan dan dukungan
Semua versi dari lingkungan pengembangan Visual Basic 1,0-6,0 telah pensiun dan sekarang tidak didukung oleh Microsoft. Lingkungan runtime yang terkait tidak didukung juga, dengan pengecualian lingkungan runtime Visual Basic 6 inti, yang akan secara resmi didukung oleh Microsoft untuk seumur hidup Windows 7  komponen pihak ketiga yang dikirimkan dengan Visual Studio 6.0. Tidak termasuk dalam pernyataan dukungan. Beberapa warisan Visual Basic komponen masih dapat bekerja pada platform baru, meskipun tidak didukung oleh Microsoft dan vendor lainnya.
Pembangunan dan pengembangan pemeliharaan untuk Visual Basic 6 dimungkinkan pada warisan Windows XP, Windows Vista dan Windows 2003 menggunakan Visual Studio 6.0 platform, namun tidak didukung. Dokumentasi untuk Visual Basic 6.0, antarmuka pemrograman aplikasi dan alat yang terbaik yang tercakup dalam rilis terakhir sebelum MSDN Visual Studio.NET 2002. Kemudian rilis MSDN berfokus pada pengembangan NET. Dan memiliki bagian-bagian penting dari dokumentasi pemrograman Visual Basic 6.0 dihapus. IDE Visual Basic dapat diinstal dan digunakan pada Windows Vista, di mana ia menunjukkan beberapa yang tidak kompatibel kecil yang tidak menghambat pengembangan perangkat lunak yang normal dan pemeliharaan. Pada Agustus 2008, baik Visual Studio 6.0 dan dokumentasi MSDN disebutkan di atas yang tersedia untuk di-download oleh pelanggan MSDN.[Sunting] Contoh kode
Potongan kode berikut menampilkan kotak pesan yang mengatakan "Hello, World!" sebagai beban jendela:
Private Sub Form_Load ()
    
'Jalankan kotak pesan sederhana yang akan mengatakan "Hello, World!"
    
MsgBox "Hello, World!"End Sub
Potongan ini membuat counter yang bergerak naik 1 setiap detik. (Sebuah label dan kontrol timer perlu ditambahkan untuk membentuk untuk bekerja)
Opsi EksplisitDim Jumlah As IntegerPrivate Sub Form_Load ()
    
Count = 0
    
Timer1.Interval = 1000 'unit milidetikEnd SubPrivate Sub Timer1_Timer ()
    
Count = Hitung + 1
    
Label1.Caption = CountEnd Sub

    
* Perbandingan bahasa pemrograman
    
* FreeBASIC - bahasa pemrograman perakaran dari QBasic.
    
* Gambas - sumber pesaing Terbuka untuk Visual Basic
    
* IIF - fungsi dalam beberapa edisi Visual Basic kasar setara dengan:? Terner operator C dan bahasa terkait.
    
* Microsoft Visual Studio Express - versi skala bawah gratis dari Visual Basic NET untuk pengembang independen..
    
* PowerBasic - Sebuah bahasa yang didasarkan pada dialek BASIC-
    
* Kecanduan - Sebuah bahasa yang didasarkan pada dialek BASIC-
    
* RealBasic - Pesaing untuk Visual Basic
    
* DarkBASIC - memanfaatkan DirectX dari aplikasi DASAR


Microsoft Visual Basic (sering disingkat VB) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan. Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas. Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.

Sejarah

billgate , pendiri Microsoft, memulai bisnis softwarenya 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 (Deitel&Deitel, 1999). 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. Beberapa versinya 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.). 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. Hingga akhirnya Visual Basic juga telah berkembang menjadi beberapa versi, sampai yang terbaru, yaitu Visual Basic 2008, Bagaimanapun juga Visual Basic 6.0 tetap menjadi versi yang paling populer karena mudah dalam membuat programnya dan ia tidak menghabiskan banyak Memori (komputer). Sejarah BASIC di tangan Microsoft sebagai bahasa yang diinterpretasi (BASICA) dan juga bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan sebagai gabungan keduanya. 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. 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).

Perkembangan Visual Basic

VB 1.0 dikenalkan pada tahun 1991, pendekatan yg dilakukan untuk menghubungkan bahasa pemrograman dengan GUI berasal dari prototype yg dikembang oleh “Alan Cooper” yg di sebut TRIPOD, Kemudian Microsoft mengontrak copper dan asosiasinya utk mengembangkan tripod agar dapat digunakan di windows 3.0 dibawah nama kode Ruby.

1. Proyek “Thunder” dirintis
2. Visual Basic 1.0 (May 1991) di rilis untuk windows pada COMDEX/Windows Wordltrade yg dipertunjukan di Atlanta , Georgia
3. Visual Basic 1.0 untuk DOS dirilis pada bulan September 1992. Bahasa ini tidak kompatibel dengan Visual Basic For Windows. VB 1.0 for DOS ini pada kenyataaanya merupakan versi kelanjutan dari compiler BASIC, QuickBasic dan BASIC Professional Development System.
4. Visual Basic 2.0 dirilis pada November 1992, Cakupan pemrogramannya cukup mudah untuk digunakan dan kecepatannya juga telah di modifikasi. Khususnya pada Form yg menjadikan object dapat dibuat secara seketika, serta konsep dasar dari Class modul yg berikutnya di implementasikan pada VB 4
5. Visual Basic 3.0 , dirilis pada musim panas 1993 dan dibagi menjadi versi standard dan professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Database Engine yg dapat membaca serta menulis database Jet (atau access) 1.x
6. Visual Basic 4.0 (Agustus 1995) merupakan versi pertama yg dapat membuat windows program 32 bit sebaik versi 16 bit nya. VB 4 juga memperkenalkan kemampuan untuk menulis non-GUI class pada Visual Basic
7. Visual Basic 5.0 (February 1997), Microsoft merilis secara eksklusif Visual basic untuk versi windows 32 bit . Programmer yg menulis programnya pada versi 16 bit dapat dengan mudah melakukan import porgramnya dari VB4 ke VB5. dan juga sebaliknya, program VB5 dapat diimport menjadi VB4. VB 5 memperkenalakan kemampuan untuk membuat User Control.
8. Visual Basic 6.0 (pertengahan 1998) memperbaiki beberapa cakupan, temasuk kemapuannya untuk membuat Aplikasi Web-based . Visual Basic 6 di jadwalkan akan memasuki Microsoft “fasa non Supported” dimulai pada maret 2008

1. Visual Basic .NET, dirilis pada tahun 2002, Beberapa yang mencoba pada versi pertama .NET ini mengemukakan bahwa bahasa ini sangat powerful tapi bahasa yg digunakan sangat berbeda dengan bahasa sebelumnya, dengan kekurangan diberbagai area, termasuk runtime-nya yang 10 kali lebih besar dari paket runtime VB6 serta peningkatan penggunan memory.
2. Visual Basic .NET 2003, dirilis dengan menggunakan NET framework versi 1.1.
3. Visual Basic 2005, merupakan itegrasi selanjutnya dari Visual Basic .NET. dan Microsoft memutuskan untuk menghilangkan kata kata .NET pada judulnya. Pada Rilis ini , Microsoft memasukan bebrapa fitur baru, diantaranya : Edit and Continue , mungkin inilah kekurangan fitur terbesar dari VB .NET. pada VB 2005 ini kita diperbolehkan melakukan perubahan kode pada saat program sedang dijalankan Perbaikan pada Konversi dari VB ke VB NET12 Visual Basic .NET 2003 (VB 7.1) , dirilis dengan menggunakan NET Kerangka kerja versi 1.1. IsNot Patent, merupakan salah satu fitur dari Visual Basic 2005 merupakan konversi If=Not X Is Y menjadi If X IsNot Y
4. Visual Basic 2005 Express , merupkan bagian dari Product Visual Studio. Microsoft membuat Microsoft Visual Studio 2005 Express edition untuk pemula dan yg gemar dengan VB, salah satu produknya adalah Visual Basic 2005 Express yg merupakan produk gratis dari Microsoft
5. Visual Basic “Orcas”, dijadwalkan akan dirilis pada tahun 2007 dan dibangung diatas .NET 3.5. Pada rilis ini , Microsoft menambahkan beberapa fitur , diantaranya : True Tenary operator , yaitu fungsi If(boolean,value, value) yg digunakan untuk menggantikan fungsi IIF, LINQ Support, Ekspresi Lambda, XML Literals, Nullable types, Type Inference
6. Visual Basic ‘VBx’, Visual Basic 10, yang juga dkenal dengan nama VBx, akan menawarkan dukungan untuk Dynamic Language Runtime. VB 10 direncanakan akan menjadi bagian da 15. an dari SilverLight 1.1


Pemrograman Berorientasi Objek (OOP)
Visual Basic merupakan bahasa yang mendukung Pemrograman berorientasi objek , namun tidak sepenuhnya, Beberapa karakteristik obyek tidak dapat dilakukan pada Visual Basic, seperti Inheritance tidak dapat dilakukan pada class module, Polymorphism secara terbatas bisa dilakukan dengan mendeklarasikan class module yang memiliki Interface tertentu. Visual Basic (VB) tidak bersifat case sensitif.

Desain Visual dan Komponen
Visual Basic menjadi populer karena kemudahan desain form secara visual dan adanya kemampuan untuk menggunakan komponen-komponen ActiveX yang dibuat oleh pihak lain.[4] Namun komponen ActiveX memiliki masalahnya tersendiri yang dikenal sebagai DLL hell,Pada Visual Basic .NET, Microsoft mencoba mengatasi masalah DLL hell dengan mengubah cara penggunaan komponen (menjadi independen terhadap registry).