Masa kini kita dapat merasakan kemudahan dalam memanfaatkan komputer karena sudah didukung oleh sistem operasi dan software yang mudah digunakan atau user-friendly (bersahabat dengan pengguna). Dalam membuat software , seorang programer berbekal logika dan konsep yang dia miliki, harus membuat alur logika (skema) dari software yang akan dia buat sehingga bisa menyelesaikan masalah-masalah. Kemudian, dengan sebuah bahasa pemrograman, programer akan berusaha menyusun pernyataan-pernyataan yang dapat dimengerti dan dijalankan oleh prosesor untuk menghasilkan sebuah output. Semakin “pintar” software yang di buat, maka semakin rumit dan panjang pernyataan / perintah yang harus di buat dalam bahasa pemrograman.
Untuk bisa memahami apa itu bahasa pemrograman, kita perlu tahu apa itu “program”. Program adalah kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh computer. Program dibuat dengan tujuan untuk mempermudah user dalam memberikan instruksi/ perintah ke computer. Dan 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.
Bersyukurlah kita dengan perkembangan bahasa pemrograman saat ini, yang sudah didukung dengan bahasa pemrograman object-oriented. Seorang programer lebih dipermudah dalam membuat pernyataan/perintah,sehingga dia dapat lebih memikirkan bagaimana membuat software yang dia buat semakin komplet dan pintar. Kondisi ini berbeda dengan zaman dahulu. Kala itu, komputer dijalankan dengan pemrograman manual, yang menggunakan instruksi binary dan hex. Untuk membuat dan menjalankan program tersebut, dibutuhkan waktu yang lama dan sering dijumpai banyak kesalahan. Program kemudian menjadi sangat sulit untuk dibaca dan dimodifikasi. Saking susah dan rumitnya, pada saat itu tidak banyak orang yang tertarik untuk menjadi programer komputer.
Berikut adalah tiga tingkatan pada bahasa pemrograman :
- 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.
Sejarah generasi perkembangan bahasa pemrograman :
1. Generasi I : Bahasa Mesin atau level instruksi dan data, yang diberikan kepada prosesor agar dapat bekerja.
- ENIAC (Electronic Numerical Integrator and Calculator) pada tahun 1945 oleh Mauchly and Eckert.
- menggunakan kode-kode biner (0 dan 1), dengan basis dasar transistor. “On” = 1, dan kondisi “Off” = 0.
- Rumit, sukar dihafal, dan lama.
- Dikembangkan dg bilangan oktal dan heksadesimal
2. Generasi II : Low Level Language atau bahasa pemrograman assembler (orang juga mengenalnya sebagai bahasa assembly). Pada bahasa perograman generasi kedua ini assembler mengubah pernyataan bahasa pemrograman ke bahasa mesin.
- Penyempurnaan dari bahasa mesin.
- Bahasa assembly sudah mulai memasukkan unsur kata bahasa inggris meskipun dalam bentuk singkat.
- Bersifat machine dependent.
Penulisan bahasa assembly sudah jauh lebih mudah dibanding dengan bahasa mesin, namun masih terlalu sulit bagi orang awam yang tidak memahami perangkat keras komputer, karena beberapa variabel masih mengacu pada register, alamat memori maupun alamat port I/O.
3. Generasi III : High Level Language
- Pada tahun 1950, FORTRAN (FORmula TRANslator), yang sudah bersifatmachine independent.
- Diikuti bahasa pemrograman tingkat tinggi seperti : BASIC, COBOL, PL/1, PASCAL, ALGOL, PROLOG, C, JAVA, dsb.
- Pemrosesan program oleh komputer dalam bahasa tinggi tinggi ini meliputi:
- Compilation,
- Link,
- Execution.
Untuk dapat menggunakan bahasa pemrograman ini, dibutuhkan pengetahuan dan penguasaan terhadap bahasa pemrograman itu sendiri. Dalam bahasa pemrograman, sebuah compiler akan mengubah pernyataan yang dibuat oleh bahasa pemrograman ke bahasa mesin.
4. Generasi IV : problem oriented language
Bahasa pemrograman generasi keempat ini 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 menggunakan pendekatan non-prosedural. Untuk mendapatkan suatu hasil, seorang pemakai tidak perlu memberitahukan secara detail tentang bagaimana mendapatkannya. Pada generasi keempat ini, bahasa pemrograman sudah dapat digunakan untuk mengakses sebuah database.
5. Generasi V atau Fifth-Generation Language (5GL) :
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. Pemrosesan bahasa alami (natural language processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
Contoh bahasa pemrogeaman generasi V digunakan dalam :
- 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.
PROLOG dan LISP merupakan dua contoh bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan.
Perkembangan bahasa pemrograman :
Perkembangan bahasa pemrograman dimulai pada tahun 1949 dengan hadirnya Short Code, bahasa pemrograman komputer pertama yang digunakan dalam peralatan komputer elektronik. Ini masih berupa bahasa pemrograman manual (hand-compiled). Pada tahun 1951, Grace Hopper yang bekerja pada Remington Rand mulai bekerja untuk mendesain sebuah compiler yang diberi nama A-0. Pada tahun 1957, bahasa pemrograman ini kemudian dirilis oleh Rand dengan nama Math-matic.
Kemudian Alick E. Glennie, di waktu senggangnya di Universitas Manchester, berhasil membuat programming system bernama AUTOCODE pada tahun 1952. Sekitar lima tahun setelahnya dirilislah mathematical FORmula TRANslating (FORTRAN), dan menjadi salah satu bahasa pemrograman yang mudah digunakan pada tahun itu. FORTRAN dibuat oleh tim yang diketuai oleh John Backus, yang kemudian juga memiliki konstribusi dalam pembuatan bahasa pemrograman ALGOL. Setahun kemudian, muncul FORTRAN II yang mampu menjalankan perintah dengan koneksi dalam bahasa assembly. Dan, pada tahun yang sama juga dirilis bahasa pemrograman ALGOL. Pada tahun 1960 muncul ALGOL 60. Bahasa pemrogramana ini sangat popular di Eropa pada pertengahan 1960-an. Pada tahun 1962, APL (A Programming Language) dirilis oleh Kenneth Iverson. Pada tahun yang sama juga dirilis FORTRAN IV.
Perkembangan bahasa pemrograman terus berlanjut dengan munculnya berturut-turut APL/360 dan PL/1 pada tahun 1964, SNOBOL3 pada 1965, FORTRAN 66 dan LISP 2 pada 1966, SNOBOL 4 pada 1967, ALGOL 68, ALTRAN, dan COBOL. Pada tahun 1975, Bob Albrecht dan Dennis Allison merilis Tiny BASIC. Pada tahun yang sama, Bill Gates dan Paul Allen merilis BASIC yang mereka jual ke MITS (Micro Instrumentation and Telemetry Systems). Tahun-tahun selanjutnya, beberapa bahasa pemrograman baru bermunculan. Di antaranya AWK yang dirilis tahun 1978; Smalltalk-80, Modula-2, Franz LISP pada tahun 1980; dan ISO Pascal serta PostScript yang dirilis pada tahun 1982. Pada tahun 1983 dirilis bahasa pemrograman Ada. Nama tersebut diambil dari Lady Augusta Ada Byron, yang menyandang gelar programer komputer pertama karena hasil kerjanya pada Charles Babbage’s analytical engine di tahun 1842.
Tahun 1986, selain Apple telah merilis Object Pascal dan Borland merilis Turbo Prolog, pada tahun yang sama juga dirilis bahasa pemrogramanC++ dan Eiffel. Setahun sesudahnya dirilis Turbo Pascal version 4.0. Bahasa pemrograman C++ berkembang pesat dengan dirilisnya C++ 2.0 pada tahun 1989, dan C++ 2.1 pada tahun 1990. Ini berbarengan dengan dirilisnya FORTRAN 90. Setahun kemudian, Microsoft kembali merilis Visual Basic. Jantung dari VB adalah form, atau suatu window kosos dimana anda dapat drag dan drop komponen seperti menu, gambarm dan slider bars. Item-item ini dikenal sebagai “widgets.” Widget memiliki properti (seperti warna) dan events (seperti klik dan double klik) dan menjadi pusat dari pengembangan antarmuka dengan pemakai diberbagai bahasa program dewasa ini. VB merupakan program yang banyak digunakan untuk membuat interface sederhana ke produk Microsoft lainnya seperti Excel dan Access tanpa membaca banyak kode, dengannya dapat dimungkinkan untuk dibuat aplikasi yang lengkap.
Perl telah sering digambarkan sebagai “duct tape of the Internet,” karena sering digunakan sebagai engine untuk interface web atau pada script untuk memodifikasi file konfigurasi. Dia memiliki fungsi text matching yang sangat baik sehingga membuatnya menjadi hal yang ideal untuk pekerjaan tersebut. Perl dikembangkan oleh Larry Wall pada 1987 karena fasilitas pada sed dan awk pada Unix (digunakan untuk manipulasi text) tidak mencukupi kebutuhannya. Tergantung kepada siapa anda bertanya, Perl adalah singkatan dari Practical Extraction and Reporting Language atau Pathologically Eclectic Rubbish Lister.
Bahasa pemrograman telah berkembangan dari masa kemasa dan tetap dikembangkan dimasa depan. Mereka dimulai dari suatu daftar langkap pengkabelan agar komputer menjalankan tugas tertentu. Langkah-langkah ini berkembang menjadi software dan memiliki kemampuan yang lebih baik. Bahasa umum yang pertama menekankan pada kesederhanaan dan untuk satu tujuan saja, sedangkan bahasa dewasa ini terbagi atas bagaimana mereka diprogram, sehingga mereka dapat digunakan untuk semua tujuan. Dan mungkin bahasa yang akan datang lebih natural dengan penemuan pada quantum dan komputer-komputer biologis.