- Sejarah Perkembangan
Bahasa Pemrograman
·
Sejak
pertama komputer difference engine diciptakan oleh Charles Babbage pada tahun
1822, komputer membutuhkan sejumlah instruksi untuk melakukan suatu tugas
tertentu. Instruksi-instruksi ini dikenal sebagai bahasa pemrograman. Bahasa
komputer mulanya terdiri dari sejumlah langkah pengkabelan untuk membuat suatu
program; hal ini dapat dipahami sebagai suatu rangkaian pengetikan kedalam
komputer dan kemudian dijalankan.
·
Pada
awalnya, difference engine-nya Charles Babbage hanya dibuat untuk menjalankan
tugas dengan menggunakan perpindahan gigi roda untuk menjalankan fungsi
kalkukasi. Jadi, bentuk awal dari bahasa komputer adalah berupa gerakan secara
mekanik, selanjutnya gerakan mekanik tersebut digantikan dengan sinyal listrik
ketika pemerintah AS mengembangkan ENIAC pada tahun 1942, tetapi masih banyak
mengadopsi prinsip-prinsip dasar dari Babbage’s engine yang mana diprogram
dengan mengeset switch dan perkabelan pada seluruh sistem pada setiap “program”
maupun kalkulasi.
·
Pada
1945, John Von Neumann yang bekerja pada Institute for Advanced Study
mengemukakan dua konsep yang secara langsung mempengaruhi masa depan dari
bahasa pemrograman komputer. Yang pertama dikenal sebagai “shared-program
technique”. Pada teknik ini dinyatakan bahwa hardware komputer haruslah
sederhana dan tidak perlu dilakukan pengkabelan dengan menggunakan tangan untuk
setiap program. Sebagai gantinya, instruksi-instruksi yang lebih kompleks harus
digunakan untuk mengendalikan perangkat keras yang lebih sederhana, hal ini
memungkinkan komputer diprogram ulang dengan cepat. Konsep yang kedua, Von
Neumann menyebutnya sebagai “conditional control transfer”. Ide ini berkembang
menjadi bentuk subrutin, atau blok kode yang kecil yang dapat panggil
berdasarkan aturan tertentu, dari pada suatu himpunan tunggal urutan kronologis
yang harus dijalankan oleh komputer. Bagian kedua dari ide tersebut menyatakan
bahwa kode komputer harus dapat bercabang berdasarkan pernyataan logika seperti
IF (ekspresi) THEN, dan perulangan seperti FOR statement. “Conditional control
transfer” mengembangkan ide adanya “libraries,” yang mana merupakan blok kode
yang dapat digunakan berulang kali.
· Pada
1949, setelah beberapa tahun Von Neumann bekerja, bahasa Short Code dilahirkan,
yang merupakan bahasa komputer yang pertama untuk peralatan elektronik yang
membutuhkan programmer untuk mengubah perintah kedalam 0 dan 1 dengan tangan.
·
Pada
1957, bahasa khusus yang pertama muncul dalam bentuk FORTRAN yang merupakan
singkatan dari sistem FORmula TRANslating. Bahasa ini dirancang pada IBM untuk
perhitungan scientific. Komponen-komponennya sangat sederhana, dan menyediakan
bagi programmer akses tingkat rendah kedalam komputer. Sampai saat ini, bahasa
ini terbatas pada hanya terdiri dari perintah IF, DO, dan GOTO, tetapi pada
waktu itu, perintah-perintah ini merupakan lompatan besar kearah depan. Type
data dasar yang digunakan sampai sekarang ini dimulai dari FORTRAN, hal ini
meliputi variabel logika (TRUE atau FALSE), dan bilangan integer, real, serta
double-precision.
·
FORTRAN
sangat baik dalam menangani angka-angka, tetapi tidak terlalu baik untuk
menangani proses input dan output, yang mana merupakan hal yang penting pada
komputasi bisnis. Komputasi bisnis mulai tinggal landas pada 1959, dengan
dikembangkannya COBOL, yang dirancang dari awal sebagai bahasa untuk para
pebisnis. Type data yang ada hanya berupa number dan text string. Hal tersebut
juga memungkinkan pengelompokan menjadi array dan record, sehingga data di
telusuri dan diorganisasikan dengan lebih baik. Sesuatu hal yang menarik untuk
dicatat bahwa suatu program COBOL dibuat menyerupai suatu essay, dengan empat
atau lima bagian utama yang membentuk keseluruhan yang tertata dengan baik.
Perintah-perintah COBOL sangat menyerupai tata bahasa English, sehingga
membuatnya agak mudah dipelajari. Semua ciri-ciri ini dikembangkan agar mudah
dipelajari dan mudah diterapkan pada dunia bisnis.
·
Pada
1958, John McCarthy di MIT membuat bahasa LISt Processing (atau LISP), yang
dirancang untuk riset Artificial Intelligence (AI). Karena dirancang untuk
fungsi spesialisasi yang tinggi, maka tata cara penulisannya jaring kelihatan
sebelum ataupun sesudahnya. Sesuatu perbedaan yang paling nyata dari bahasa ini
dengan bahasa lain adalah dasar dan type satu-satunya adalah list, yang
ditandai dengan suatu urutan item yang dicakup dengan tanda kurung. Program
LISP sendirinya dibuat sebagai suatu himpunan dari list, sehingga LISP memiliki
kemampuan yang khusus untuk memodifikasi dirinya, dan juga dapat berkembang
sendiri. Tata cara penulisan LISP dikenal sebagai “Cambridge Polish,”
sebagaimana dia sangat berbeda dari logika Boolean (Wexelblat, 177).
·
Bahasa
Algol dibuat oleh suatu komite untuk pemakaian scientific pada tahun 1958.
Kontribusi utamanya adalah merupakan akar dari tiga bahasa selanjutnya yaitu
Pascal, C, C++, dan Java. Dia juga merupakan bahasa pertama dengan suatu tata
bahasa formal, yang dikenal sebagai Backus-Naar Form atau BNF (McGraw-Hill
Encyclopedia of Science and Technology, 454).
·
Pascal
dimulai pada tahun 1968 oleh Niklaus Wirth. Tujuan pengembangannya adalah untuk
kebutuhan pengajaran. Pada awalnya bahasa ini dikembangkan bukan dengan harapan
adopsi pemakaian secara luas. Prinsipnya mereka mengembangkannya untuk alat
pengajaran pemrograman yang baik seperti kemampuan debug dan perbaikan sistem
dan dukungan kepada mikroprosesor komputer yang digunakan pada institusi
pendidikan. Pascal dirancang dengan pendekatan yang sangat teratur
(terstruktur), dia mengkombinasikan kemampuan yang terbaik dari bahasa-bahasa
saat itu, COBOL, FORTRAN, dan ALGOL. Dalam pengerjaannya banyak
perintah-perintah yang tidak teratur dan aneh dihilangkan, sehingga sangat
menarik bagi pemakai. Pascal juga mengembangkan variabel dinamis, dimana
variabel dapat dibuat ketika suatu program sedang berjalan, melalui perintah
NEW dan DISPOSE. Tetapi Pascal tidak mengimplementasikan suatu array dinamis,
atau kelompok dari variabel-variabel, yang mana sangat dibutuhkan, dan
merupakan salah satu penyebab kekalahannya.
·
C
dikembangkan pada tahun 1972 oleh Dennis Richie ketika sedang bekerja pada Bell
Labs di New Jersey. Transisi pemakaian dari bahasa umum yang pertama ke bahasa
umum sampai hari ini yaitu transisi antara Pascal dan C, C merupakan
perkembangan dari B dan BCPL, tetapi agak menyerupai Pascal. Semua fasilitas di
Pascal, termasuk perintah CASE tersedia di C. C menggunakan pointer secara luas
dan dibangun untuk kecepatan dengan kelemahannya yaitu menjadi sulit untuk
dibaca. Tetapi karena dia menghilangkan semua kelemahan yang terdapat di
Pascal, sehingga dengan cepat mengambil alih posisi Pascal. Ritchie
mengembangan C untuk sistem Unix yang baru pada saat yang bersamaan. Oleh
karena ini, C dan Unix saling berkaitan. Unix memberikan C beberapa fasilitas
besar seperti variabel dinamis, multitasking, penanganan interrupt, forking,
dan strong low-level,input-output. Oleh karena itu, C sangat sering digunakan
untuk pemrograman sistem operasi seperti Unix, Windows, MacOS, dan Linux.
·
Pada
akhir tahun 1970 dan awal 1980, suatu metode pemrograman yang baru telah
dikembangkan. Ha tersebut dikenal sebagai Object Oriented Programming, atau
OOP. Object merupakan suatu potongan dari data yang dapat dipaket dan
dimanipulasi oleh programmer. Bjarne Stroustroup menyukai metode ini dan
mengembangkan lanjutan dari C yang dikenal sebagai “C With Classes.” Kemampuan lanjutan
ini dikembangkan menjadi bahasa C++ yang diluncurkan pada tahun 1983. C++
dirancang untuk mengorganisasikan kemampuan dasar dari C dengan OOP, dengan
tetap mempertahankan kecepatan dari C dan dapat dijalankan pada komputer yang
tipe berlainan. C++ sering kali digunakan dalam simulasi, seperti game. C++
menyediakan cara yang baik untuk memanipulasi ratusan instance dari manusia
didalan elevator, atau pasukan yang diisi dengan tipe prajurit yang berbeda.
Bahasa ini menjadi pilihan pada mata kuliah AP Computer Science sampai hari
ini.
·
Pada
awal 1990′s, interaktif TV adalah teknologi masa depan. Sun Microsystems
memutuskan bahwa interaktif TV membutuhkan suatu hal yang khusus, yaitu bahasa
portable (bahasa yang dapat berjalan pada banyak jenis mesin yang berbeda).
Bahasa ini dikenal sebagai Java. Pada tahun 1994, team proyek Java mengubah
fokus mereka ke web, yang mana berubah menjadi sesuatu yang menjanjikan setelah
interactive TV gagal. Pada tahun berikutnya, Netscape menyetujui pemakaian Java
pada internet browser mereka, Navigator. Sampai titik ini, Java menjadi bahasa
masa depan.
·
Java
mempunyai tujuan yang besar dan merupakan bahasa yang baik menurut buku text,
pada kenyataanya “bahasa tersebut tidak”. Dia memiliki masalah yang serius
dalam optimasi, dengan arti program yang ditulis dengannya berjalan dengan
lambat. Dan Sun telah membuat cacat penerimaan terhadap Java dengan pertikaian
politis dengan Microsoft. Tetapi Java telah dinyatakan sebagai bahasa untuk
instruksi masa depan dan benar-benar menerapkan object-oriented dan teknik
tingkat tinggi seperti kode yang portable dan garbage collection.
·
Visual
Basic sering diajari sebagai bahasa pemrograman dasar yang mengacu pada bahasa
BASIC yang dikembangkan pada tahun 1964 oleh John Kemeny dan Thomas Kurtz.
BASIC adalah bahasa yang sangat terbatas dan dirancang untuk orang yang bukan
computer science. Perintah-perintah dijalankan secara berurutan, tetapi kendali
program dapat berubah berdasarkan IF..THEN, dan GOSUB yang mana menjalankan
suatu blok kode dan kembali ketitik semula didalam alur program. Microsoft
telah mengembangkan BASIC ke dalam produk Visual Basic (VB). 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.
- Pengertian
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 [kode_mesin|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. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
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.
- Macam- Macam/Tingkatan Bahasa Pemrograman
Secara Umum terdapat 4 kelompok
bahasa pemrograman yaitu :
·
1. Object Oriented Language (Visual
dBase, Visual FoxPro, Dephi, Visual C).
·
2. High level (Tingkat Tinggi).
Bahasa pemrograman
masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya
bahasa Basic, Visual Basic, Pascal, Java dan lainnya.
·
3. Middle level (Tingkat Menengah).
Disebut tingkat
menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah.
Contohnya bahasa C.
·
4. Low level (Tingkat Rendah).
Bahasa pemrograman
masuk tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya
bahasa Assembly.
- Proses Pembuatan Program
Proses pembuatan program yaitu kita menulis kode
sumber pada teks editor misalnya notepad kemudian mengubahnya menjadi bahasa
mesin yang bisa dieksekusi oleh CPU. Proses pengubahan kode sumber (source
code) menjadi bahasa mesin (machine language) ini terdiri dari dua macam yaitu
kompilasi (compiler) dan interpretasi (interpretation).
·
Pengertian Compiler
Compiler adalah suatu
program yang menerjemahkan bahasa program ( source code) kedalam bahasa objek
(obyek code). Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya
dan kemudian menyusunnya kembali.
Komplier memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat independen. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
Komplier memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat independen. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
·
Tahap Kompilasi:
- Pertama source code (program yang ditulis) dibaca kememori computer).
- Source code tersebut diubah menjadi objek code (bahasa Assembly).
- Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.
·
Pengertian Interpreter
Interpreter adalah
Perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer)
lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan
instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat
oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika
yang terdapat di dalam kode tersebut.
Proses ini sangat berbeda
dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu
kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan
dilaksanakan sebelum program tersebut dieksekusi.
Interpreter atau dalam
bahasa Indonesia dikenal sebagai Juru Bahasa berbeda dengan Translator atau
penterjemah dalam segi media yang dipakai untuk menerjemahkan. Interpreter akan
menterjemahkan bahasa sumber ke dalam bahasa sasaran secara langsung atau
orally sementara translator akan menerjemahkan bahasa sumber ke bahasa sasaran
secara tertulis.
Java dijalankan menggunakan
interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code
Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada
platform yang berbeda-beda.
·
Perbedaan antara Compiler dengan Interpreter :
1. Jika hendak menjalankan
program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber.
2. Jika dengan kompiler, maka
pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah,
yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek
dengan library ) . Kalau interpreter tidak ada proses terpisah.
3. JIka compiler
membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library
demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter
tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam
library.
4. Interpreter cocok untuk
membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka
compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka
harus dilakukan proses linking / penggabungan kembali semua objek dengan
library yang diperlukan.
5. Pada kompiler bisa
dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang
dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi
untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak
bisa dioptimasikan.
Sumber Referensi :
-
http://id.wikipedia.org/wiki/Bahasa_pemrograman#Tingkatan_Bahasa_Pemrograman
0 komentar:
Posting Komentar