BASIC

**BASIC**, adalah singkatan dari *Beginners’ All-purpose Symbolic Instruction Code* adalah sebuah kelompok bahasa pemrograman tingkat tinggi. Secara harfiah, BASIC memiliki arti "kode instruksi simbolis semua tujuan yang dapat digunakan oleh para pemula". Memang, istilah "Bahasa BASIC" di sini juga bisa diartikan menjadi bahasa untuk pemula, atau dengan kata lain, disebut sebagai bahasa "dasar" (Inggris: "basic"), tetapi hal tersebut dirasa kurang tepat, mengingat BASIC dapat juga digunakan oleh para pemrogram ahli.

BASIC pertama kali dikembangkan pada tahun 1963 oleh John George Kemeny dan Thomas Eugene Kurtz yang berasal dari Dartmouth College, untuk mengizinkan akses terhadap komputer bagi para mahasiswa jurusan selain jurusan ilmu eksakta. Pada waktu itu, hampir semua komputer membutuhkan perangkat lunak, dan waktu itu belum ada perangkat lunak yang dijual secara bebas, sehingga hanya orang-orang tertentulah yang dapat menggunakan komputer, yakni para matematikawan dan ilmuwan, karena mereka dapat membangun perangkat lunak sendiri. Bahasa BASIC, setelah diciptakan menjadi menjamur dan banyak dimodifikasi. Bahasa BASIC menjadi bahasa yang paling populer digunakan pada komputer mikro pada akhir tahun 1970-an dan komputer rumahan pada tahun 1980-an. Dan hingga saat ini, menjadi bahasa yang dialeknya beberapa kali berevolusi.

## Sejarah
Sebelum pertengahan tahun 1960-an, komputer merupakan barang yang sangat mahal dan hanya digunakan untuk tugas-tugas tujuan khusus. Pada saat itu, jenis pemrosesan yang dapat dilakukan adalah *[[batch processing]]*, yang artinya komputer hanya dapat melakukan pemrosesan satu pekerjaan pada satu waktu, dan pekerjaan lainnya akan dilakukan setelah pekerjaan lainnya selesai. Akan tetapi, selama tahun 1960-an, muncullah komputer yang lebih cepat dan lebih terjangkau. Dengan kemampuan pemrosesan yang lebih kuat ini, komputer pun kadang-kadang "menganggur", tanpa ada pekerjaan yang ia lakukan sama sekali. Bahasa pemrograman di dalam era batch programming pun didesain untuk tujuan-tujuan khusus, seperti halnya mesin di mana mereka berjalan, seperti halnya kalkulasi formula ilmiah atau pemrosesan data bisnis atau hanya untuk penyuntingan teks.

Seiring dengan turunnya harga komputer, penggunaan komputer pun tidak lagi terbatas pada riset-riset ilmiah dan militer, tetapi merambah kepada penggunaan komersial. Sistem-sitem komputer yang lebih baru mendukung konsep *[[time-sharing]]*, sebuah cara di mana sebuah sistem mengizinkan beberapa pengguna atau proses untuk menggunakan CPU dan memori. Dalam sistem tersebut, sistem operasi akan menggilir proses-proses yang sedang berjalan, dan mengizinkan setiap proses untuk dijalankan oleh CPU (serta disimpan di dalam memori), sebelum pindah ke proses selanjutnya. Mesin-mesin tersebut telah menjadi cukup cepat sehingga kebanyakan pengguna saat itu dapat merasakan seolah-olah mereka menggunakan mesin tersebut hanya untuk sendiri. Secara teori, time-sharing mampu mengurangi biaya komputasi secara signifikan, mengingat sebuah mesin dapat digunakan oleh beberapa pengguna, bahkan ada yang mencapai angka ratusan pengguna.
### Era [[komputer mini]]
Bahasa BASIC yang asli didesain pada tahun 1963 oleh John Kemeny dan Thomas Kurtz dan diimplementasikan oleh sekelompok siswa di Dartmouth College di bawah arahan mereka berdua. BASIC didesain untuk para siswa agar mereka dapat menulis program untuk *[[Dartmouth Time-Sharing System]]*. Bahasa tersebut didesain untuk mengatasi masalah kerumitan yang terjadi pada bahasa-bahasa pemrograman yang sudah lama, dengan sebuah desain bahasa yang baru yang memang dikhususkan untuk kelas baru yang di dalamnya terdapat para pengguna mesin tersebut, yakni para pengguna yang kurang begitu memahami masalah keteknikan dan juga tidak memiliki latar belakang matematika, dan kurang berminat untuk menekuni bidang matematika. Dengan menggunakan komputer untuk mendukung proses pengajaran dan riset ternyata menarik perhatian banyak kalangan. Pada beberapa tahun kemudian, seiring dengan munculnya beberapa dialek bahasa BASIC lainnya, dialek BASIC buatan Kemeny dan Kurtz dinamakan dengan Dartmouth BASIC.

Prinsip-prinsip yang digunakan dalam mendesain bahasa BASIC antara lain:
# Dapat digunakan secara mudah bagi para pemula.
# Dapat digunakan sebagai sebuah bahasa pemrograman untuk tujuan umum (*general purpose*)
# Dapat ditambahi fitur-fitur tambahan dan tingkat lanjut untuk para ahli, tetapi tetap mempertahankan kesederhanaan bahasa untuk para pemula.
# Harus interaktif.
# Pesan-pesan kesalahan harus jelas dan mudah dipahami.
# Merespons dengan cepat untuk program-program yang kecil.
# Tidak harus membutuhkan pengetahuan dan pemahaman perangkat keras komputer.
# Pengguna juga tidak harus tahu mengenai sistem operasi.

Bahasa BASIC sendiri sebagian dibuat dengan berdasar pada FORTRAN II dan sebagian lagi berdasar pada ALGOL 60, dengan adanya tambahan agari ia cocok digunakan untuk time-sharing. Sebelum ada BASIC, di Dartmouth College sudah terdapat DARSIMCO (1956), dan DOPE (implementasi yang dilakukan pada tahun 1962 terhadap SAP) serta DART (1963 yang merupakan FORTRAN II yang disederhanakan). Awalnya, BASIC difokuskan untuk mendukung beberapa pekerjaan matematika dengan dukungan aritmetika matriks dari mulai awal implementasinya sebagai bahasa yang bertumpuk (batch language) untuk kemudian dikembangkan pada tahun 1965 dengan dukungan fungsionalitas string.

BASIC pertama kali diimplementasikan dalam *[[mainframe]]* General Electrics GE-265 yang mendukung banyak terminal. Pada awal perkenalannya, BASIC merupakan bahasa yang dikompilasi, bukan bahasa yang diinterpretasikan, seperti yang dipercaya selama ini oleh banyak orang. BASIC juga sangat efisien, dengan mengalahkan FORTRAN II dan ALGOL 60 di mesin yang sama pada beberapa program matematika, seperti operasi Hukum Simpson.

Para pengembang bahasa BASIC memutuskan bahwa kompilator bahasa BASIC harus tersedia tanpa pungutan biaya sehingga bahasa BASIC dapat berkembang secara luas. Selain itu, mereka juga mendistribusikan BASIC ke sekolah-sekolah menengah atas di Dartmouth selain Dartmouth College, dan juga mempromosikannya. Hasilnya, pengetahuan tentang BASIC menjadi relatif meluas (untuk sebuah bahasa pemrograman), dan BASIC pun akhirnya diimplementasikan oleh banyak pengembang, sehingga menjadi sebuah bahasa pemrograman yang populer untuk komputer mini yang baru seperti seri Programmable Data Processor (PDP) milik Digital Equipment Corporation dan Nova milik Data General. Bahasa BASIC pun juga digunakan di dalam HP Time-Shared BASIC System pada tahun-tahun akhir 1960-an dan awal 1970-an. Pada komputer-komputer tersebut, bahasa BASIC cenderung diimplementasikan sebagai interpreter, bukannya sebagai kompilator.

Beberapa tahun setelah dirilis, beberapa profesional di bidang komputer, terutama Edsger W. Dijkstra, mengutarakan pendapat mereka mengenai penggunaan statemen `GOTO`, yang tersedia di dalam banyak bahasa pemrograman, termasuk di antaranya BASIC, ternyata membuat praktik pemrograman menjadi buruk. Beberapa bahkan mengeluhkan bahwa bahasa BASIC terlalu lambat (sebagian besar versi BASIC yang diinterpretasikan memang jauh lebih lambat dibandingkan dengan versi yang dikompilasi) atau terlalu sederhana (beberapa versi, terutama untuk komputer-komputer dengan kemampuan yang kecil membuang banyak fitur dan kemampuan yang penting.

## Era Komputer rumahan
Bahasa BASIC tidaklah serta-merta diakui sebagai bahasa yang populer, meski digunakan pada banyak komputer mini, tetapi saat Micro Instrumentation Telemetry System (MITS) merilis Altair 8800 pada tahun 1975 yang di dalamnya telah terdapat BASIC, BASIC mulai menunjukkan peningkatan yang signifikan. Sebagian besar bahasa pemrograman membutuhkan memori yang lebih besar daripada yang dapat dibeli oleh kebanyakan orang, mengingat memang harga memori saat itu sangatlah mahal. Dengan akses yang lambat yang ditawarkan oleh tape, dan tidak adanya editor teks yang cocok, sebuah bahasa pemrograman seperti BASIC yang dapat melewati beberapa batasan tersebut ternyata sangat menarik. BASIC juga memiliki keunggulan, yakni terkenal oleh para desainer yang memiliki minat terhadap komputer mikro. Usaha Kemeny dan Kurtz yang dilakukan pada awal-awal pengembangan BASIC pun berbuah hasil. Salah satu implementasi bahasa BASIC yang pertama kali muncul untuk mesin dengan mikroprosesor Intel 8080 seperti yang digunakan oleh Altair 8800 adalah Tiny BASIC, sebuah implementasi BASIC yang aslinya ditulis oleh Dr. Li-Chen Wang untuk kemudian ditulis ulang agar dapat berjalan di atas Altair oleh Dennis Allison berdasarkan permintaan dari Bob Albrecht (yang kemudian mendirikan Dr. Dobb's Journal). Kode sumber secara penuh dan desain Tiny BASIC tersedia dan dipublikasikan pada tahun 1976 pada jurnal Dr. Dobb's Journal.

Pada tahun 1975, MITS merilis Altair BASIC, yang dikembangkan oleh William Henry Gates III dan Paul Allen dari Micro-Soft. Versi Altair pertama kali dikembangkan secara bersama-sama oleh Gates, Allen dan Monte Davidoff. Versi Microsoft BASIC pun kemudian segera muncul di beberapa platform komputer mikro lainnya dengan menggunakan lisensi, dan kemudian jutaan salinan pun terjual; Microsoft BASIC pun menjadi bahasa standar yang digunakan oleh komputer Apple II (yang menggunakan MPU Mostek 6502). Hingga tahun 1979, Microsoft pun berbicara dengan beberapa vendor komputer mikro, termasuk di antaranya adalah IBM, mengenai lisensi interpreter bahasa BASIC untuk komputer yang mereka bangun. Sebuah versi pun dimasukkan ke dalam *[[chip]]* ROM dalam IBM PC, sehingga komputer PC tanpa disket *[[floppy]]* akan dapat memulai langsung sesi pemrograman BASIC seperti halnya komputer mikro lainnya.

Beberapa perusahaan baru pun mencoba mengikuti jejak-jejak sukses MITS, IMSAI, North Star dan Apple sehingga membuat sebuah industri komputer rumahan sendiri; sementara itu, BASIC telah menjadi fitur standar dari semua komputer rumahan tetapi sebagian kecil komputer rumahan memang tidak memilikinya. Sebagian besar komputer rumahan datang dengan interpreter bahasa BASIC di dalam ROM, sehingga pembelian disket yang cukup mahal pun menjadi tidak perlu dilakukan lagi. Beberapa saat kemudian, ternyata mesin yang menjalankan varian-varian BASIC di seluruh dunia sudah menjadi sangat banyak, bahkan jumlahnya lebih besar dibandingkan dengan pengguna semua bahasa pemrograman, meski semuanya digabungkan. Dialek yang digunakan oleh BASIC pada zaman ini juga sedikit berbeda dari satu implementasi dengan implementasi lainnya. Namun, sebagian besar komputer yang beredar pada tahun 1980-an memiliki interpreter bahasa BASIC yang disimpan di dalam ROM.

Kemudian BBC pun menerbitkan BBC BASIC, sebuah versi bahasa BASIC yang dikembangkan oleh Acorn Computers, Ltd untuk BBC, yang memasukkan beberapa peningkatan tambahan seperti halnya pembuatan struktur terhadap kata kunci, dan juga akses secara langsung terhadap sistem operasi. Selain itu, varian ini juga memiliki assembler yang terintegrasi. BBC BASIC memang diakui sebagai sebuah dialek BASIC yang bagus, dan kemudian lebih dari 30 platform lainnya selain komputer mikro BBC pun mengadopsinya.

## Contoh progam
Berikut ini adalah contoh program yang ditulis dalam bahasa Visual


```vbnet
Private Sub Command1_Click()
    Dim a, b As Integer
    a = txt1.Text
    b = txt2.Text
    txt3.Text = a + b
    txt4.Text = a / b
    txt5.Text = a - b
    txt6.Text = a * b
    txt7.Text = a ^ b
 End Sub

 Private Sub Command2_Click()
    txt1.Text = ""
    txt2.Text = ""
    txt3.Text = ""
    txt4.Text = ""
    txt5.Text = ""
    txt6.Text = ""
    txt7.Text = ""
 End Sub

 Private Sub Command3_Click()
    End
 End Sub
```


## Implementasi
Berikut ini adalah beberapa implementasi BASIC:
* Dartmouth BASICadi
* Tiny BASIC
* GW-BASIC
* Microsoft BASIC (MBasic)
* Microsoft Visual Basic (VB)
* Microsoft Visual Basic .NET (VB.NET)
* Microsoft QuickBasic (QBasic)
* DarkBasic
* Gambas
* Borland Turbo BASIC

## Referensi