Bahasa pemrograman adalah software bahasa komputer yang digunakan dengan cara merancang atau membuat program sesuai dengan struktur dan metode yang dimiliki oleh bahasa program itu sendiri. Komputer mengerjakan transformasi data berdasarkan kumpulan printah program yang telah dibuat oleh program. Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur terntentu (syntax), dan bermakna. Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program komputer. Berbeda dengan bahasa, misalkan Bahasa Indonesia dan Inggris yang merupakan bahasa alamiah (natural language), sintaksis dan semantik bahasa pemrograman komputer ditentukan secara jelas dan terstruktur, sehingg bahasa pemrograman juga disebut sebagai bahasa formal (formal language).
Menurut tingkatannya, bahasa
pemrograman dibagi menjadi 3 tingkatan, yaitu:
- Bahasa pemrograman tingkat rendah (low level language), merupakan bahasa pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah pembuatnya saja karena isinya programnya berupa kode-kode mesin.
- Bahasa pemrograman tingkat menengah (middle level language), merupakan bahasa pemrograman dimana pengguna instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatan-singkatan seperti “STO” artinya simpan (STORE) dan “MOV” artinya pindahkan (MOVE). Yang tergolong dalam bahasa ini adalah assembler.
- Bahasa pemrograman tingkat tinggi (high level language) merupakan bahasa yang mempunyai ciri lebih terstruktur, mudah dimengerti karena menggunakan bahasa sehari-hari, contoh bahasa level ini adalah: Delphi, Pascal, ORACLE, MS-SQL, Perl, Phyton, Basic, Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java, PHP, ASP, XML, dan lain-lain. Bahasa seperti Java, PHP, ASP, XML biasanya digunakan untuk pemrograman pada internet, dan masih banyak lagi yang terus berkembang yang saat ini biasanya dengan ekstensi .net (baca: dot net) seperti Visual Basic.NET dan Delphi.Net yang merupakan bahasa pemrograman yang dikembangkan pada aran berbasis internet
Sejauh ini bahasa pemrograman
dikelompokkan menjadi lima generasi. Setiap generasi bahasa pemrograman
memiliki karakteristik tersendiri. Semakin maju generasinya maka orientasi
bahasa pemrograman ini akan semakin dekat ke manusia.
Gambar di atas menunjukkan
terjadinya kecenderungan pergeseran orientasi dalam bahasa-bahasa pemrograman,
dari pendekatan yang berorientasi kepada mesin menuju ke pendekatan yang
berorientasi pada manusia.
Bahasa Pemrograman Generasi I
Bahasa pemrograman generasi pertama
berorientasi pada mesin. Program disusun dengan menggunakan bahasa mesin. Tentu
saja program generasi ini sangat sulit untuk dipahami oleh orang awam dan
sangat membosankan bagi pemrogram. Pemrogram harus benar-benar menguasai
operasi komputer secara teknis. Namun bahasa generasi ini memberikan eksekusi
program yang sangat cepat. Selain itu, bahasa mesin sangat bergantung pada
mesin (machine dependent), artinya, bahasa mesin antara satu mesin
dengan mesin lainnya akan berbeda.
Bahasa Pemrograman Generasi II
Bahasa pemrograman generasi kedua
menggunakan bahasa rakitan (assembly). Sebagai pengganti kode-kode
biner, digunakanlah kependekan dari kata-kata. Misalkan “MOV” untuk menyatakan
“MOVE” dan JNZ yang berarti “jump non-zero”. Setiap instruksi dalam bahasa
rakitan sebenarnya identik dengan satu instruksi dalam bahasa mesin. Bahasa ini
sedikit lebih mudah dipahami daripada bahasa mesin. Bahasa ini sedikit lebih
mudah dipahami daripada bahasa mesin mengingat perintah dalam bentuk kata-kata
yang dipendekkan lebih mudah daripada mengingat deretan angka biner.
Berikut adalah contoh instruksi yang
ditulis dalam bahasa rakitan akan menjadi seperti berikut:
Tampak bahwa penggunaan notasi
seperti MOV AH, 02 jauh lebih mudah diingat atau dipahami daripada penulisan
instruksi dalam bahasa mesin: B402 atau 1011 0100 0000 0010.
Bahasa Pemrograman Generasi III
Bahasa pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar komputer melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata yang biasa dipakai manusia, seperti WRITE untuk menampilkan sesuatu di layar dan READ untuk membaca data dari keyboard.
Bahasa pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar komputer melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata yang biasa dipakai manusia, seperti WRITE untuk menampilkan sesuatu di layar dan READ untuk membaca data dari keyboard.
Bahasa generasi ketiga seringkali
disebut sebagai high level language disebabkan bahasa ini
menggunakan kata-kata yang biasa digunakan manusia. Beberapa contoh bahasa
pemrograman yang masuk dalam kategori generasi ketiga yaitu ADA, ALGOL, C,
BASIC, COBOL, FORTRAN, dan PASCAL.
Bahasa Pemrograman Generasi IV
Bahasa pemrograman generasi keempat dirancang
untuk mengurangi waktu pemrograman dalam membuat program sehingga diharapkan
produktifitas pemrogram jadi meningkat dan program dapat dibuat dalam waktu
yang lebih singkat. Alhasil, bahasa pemrograman generasi keempat yang dikenal
dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang mengetahui hal-hal
teknis tentang pemrograman tanpa bantuan pemrogram profesional. Sebagai contoh
pemrogram dapat membuat program dengan Microsoft Access di lingkungan PC dengan
mudah.
Bahasa pemrograman generasi keempat
biasa disebut sebagai high level language atau bahasa berorientasi
pada masalah (problem oriented language) karena memungkinkan pemakai
menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa
prosedural. Bahasa pemrograman generasi keempat menggunakan pendekatan
non-prosedural. Untuk mendapatkan suatu hasil, seorang pemakai tidak perlu
memberitahukan secara detail tentang bagaimana mendapatkannya.
Bahasa Pemrograman Generasi V
Bahasa pemrograman generasi kelima merupakan
kelompok bahasa-bahasa pemrograman yang ditujukan untuk menangani kecerdasan
buatan (artificial intelligence). Kecerdasan buatan adalah disiplin
dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.
Berbagai aplikasi kecerdasan manusia adalah sebagai berikut:
- Pemrosesan bahasa alami (natural language processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
- Pengedalian robotika dan sensor mata.
- Aplikasi sistem pakar (expert system) yang meniru seorang pakar di bidang tertentu sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang pakar.
Dengan menggunakan bahasa generasi
kelima dimungkinkan untuk melakukan perintah dengan cara percakapan seperti
berikut:
“Tampilkan semua nama mahasiswa yang
IPK-nya di atas 3,0 dan urutkan berdasarkan IP secara descending”
PROLOG dan LISP merupakan dua contoh
bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan.











