Bahasa pemrograman, atau sering diistilahkan juga dengan
bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah
komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks
dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini
memungkinkan seorang programmer dapat menentukan secara persis data mana yang
akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan
jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer,
bahasa pemrograman terdiri dari:
Bahasa Mesin,
yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner,
contohnya 01100101100110
Bahasa Tingkat
Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly),
yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat
(kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
Bahasa Tingkat
Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata
bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang
bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
Bahasa Tingkat
Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur
kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar
bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C
yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan
Bahasa Tingkat Rendah.
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 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 languageatau 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. Gambar di bawah
ini memberikan contoh yang menunjukkan perbedaan bahasa prosedural dan
non-prosedural dalam memperoleh data tentang seorang mahasiswa.
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.