Senin, 14 Januari 2013

Bahasa Pemrograman

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.


GENERASI BAHASA PEMROGRAMAN

Dari awal munculnya hingga sekarang, bahasa pemrograman terus mengalami perkembangan hingga mencapai lima level atau generasi, mulai dari level rendah hingga level tinggi. Adanya lima generasi ini disebabkan karena programmer terus berusaha sedikit demi sedikit mengadopsi generasi bahasa berikutnya untuk keperluan yang terus berkembang pula.
1. First-Generation Language (1GL) : machine language
2. Second-Generation Language (2GL) : assembly language : Asssembler
3. Third-Generation Language (3GL) : high-level programming language: C, PASCAL, dsb.
4. Fourth-Generation Language (4GL) : Prolog, SQL, MySQL, dsb

5. Fifth-Generation Language (5GL) : visual language: Visual Basic, Delphi, Java, dsb.

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.

 
kode dalam bahasa mesin

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.

kode dalam bahasa rakitan




  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 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. Gambar di bawah ini memberikan contoh yang menunjukkan perbedaan bahasa prosedural dan non-prosedural dalam memperoleh data tentang seorang mahasiswa.



Bahasa Prosedural dan Non Prosedural

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.

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 subroutines dan koneksi ke 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, yang kemudian memenangkan penghargaan BYTE’s Best of Show saat COMDEX. Bahasa pemrograman terus berkembang hingga tahun ini, dengan diilisnya Java 2 (versi 1.4), Python 2.2, J#, dan F#. 

JENIS-JENIS BAHASA PEMROGRAMAN

Berdasarkan Metodenya

Pemrograman terstruktur adalah pembuatan program yang terdiri dari kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam program dan dapat menggunakan parameter yang berbeda-beda untuk setiap pemanggilan. Setiap baris program akan dikerjakan secara urut dari atas ke bawah.

Pemrograman beorientasi objek merupakan bahasa pemrograman yang mampu memanfaatkan objek-objek yang tersedia atau membuat suatu objek tertentu dengan menggunakan bahasa pemrograman. Relative lebih fleksibel dan mudah diadaptasikan terhadap perubahan suatu program.
Pemrograman visual menggunakan bahasa visual yang memakai ekspresi visual (seperti grafik, gambar, atau ikon) dalam proses pemrograman. Bahasa ini bukan hanya dipakai oleh komputer, malah lebih tua dari komputer, misalnya Hieroglyphs (bahasa Mesir kuno). Bahasa ini kemudian diterapkan pada komputer dengan anggapan bahwa komputer dulu tida bisa melakukan apa-apa.
Pemrograman tidak terstruktur : Basic, Fortran.
Pemrograman terstruktur : Pascal, C/C++.
Pemrograman berorientasi objek : C++, SmallTalks, Java
Pemrograman visual : VB, Delphi.


Berdasarkan Bentuknya
 
Pemrograman prosedural mempunyai dua elemen dalam programnya, yaiatu data dan intruksi. Data adalah hal yang akan dimanipulasi oleh intruksi yang tersedia. Instruksinya pun disusun secara prosedur, dan mungkin juga memiliki percabangan (kondisi jika… maka…).


Pemrograman fungsional adalah pemrograman dengan bahasa dimana ekspresi disusun atas fungsi panggilan (bukan pernyataan). Fungsi adalah perintah-perintah yang terkumpul menjadi satu dan dapat menghasilkan suatu nilai. Disebut bahasa pemrograman fungsional karena memang pada program seluruh kodenya berupa fungsi-fungsi. Bahasa pemrograman fungsional merupakan salah satu bahasa pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi matematika. Isi dari Program fungsional tidak mengandung pernyataan perintah.


Pemrograman deklaratif mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma
Pemrograman prosedural : Cobol, Basic, Pascal, Fortran, dan C
Pemrograman fungsional : Scheme, ML, Haskell
Pemrograman deklaratif : Prolog
Pemrograman berorientasi objek : Java
Pemrograman prosedural sekaligus berorientasi objek : C++


Berdasarkan Tujuan (Hasil)
 
Pemrograman stand-alone
Pemrograman client/server
Pemrograman web : HTML, Script
Pemrograman jaringan


Berdasarkan Cara penterjemahan
 
Interpreter : Basica, Foxpro, Matlab.
Compiler : Turbo Basic, Pascal, C/C++.

Beda antara interpreter dan compiler adalah, Interpreter menerjemahkan instruksi per instruksi, oleh karena itu proses penerjemahannya lebih cepat dari pada compiler. Program tidak perlu ditulis secara lengkap. Bila terjadi kesalahan, maka dapat langsung dibetulkan secara interaktif.
Sedangkan compiler akan menerjemahkan program yang telah ditulis lengkap secara keseluruhan. Jika terjadi kesalahan, maka kita harus membenarkan program terlebih dahulu bari proses kompilasi akan diulang kembali. Kompiler juga akan menghasilkan objek program, atau executable program yang bisa dijalankan pari prompt sistem.


Sumber : http://ekasetiasyamsi.blog.com/ilmu-pengetahuan/perangkat-lunak-bahasa-pemrograman/ ; http://samuraimy.students.uii.ac.id/2011/11/30/sejarah-perkembangan-bahasa-pemrograman/

Tidak ada komentar:

Posting Komentar