Selasa, 12 Agustus 2014

       Bahasa pemrograman adalah instruksi standar untuk memerintah komputer yang terdiri dari suatu susunan aturan penulisan (sintaks) dan semantik yang dipakai untuk mendefinisikan program komputer yang membentuk kode kode yang kemudian akan diterjemahkan oleh program kompiler menjadi bahasa rakitan (assembly) dan terus diolah hingga dimengerti oleh mesin.
          Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. 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.
  3. 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.
  4. 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 memiliki 3 tingkatan yaitu :
     1.  Bahasa Tingkat Tinggi
          Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa               manusia. Contohnya bahasa Basic, Visual Basic, Pascal, Java dan lainnya. 
     2.  Bahasa Tingkat Menengah
           Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun           rendah. Contohnya bahasa C.
     3.  Bahasa Tingkat Rendah
           Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari bahasa               manusia. Contohnya bahasa Assembly.
        Sebelum komputer mengerti bahasa tingkat tinggi atau dapat disebut bahasa manusia harus melalui tahap pembuatan program yaitu menerjemahkanannya kedalam bahasa mesin dengan proses kompilasi dan interpretasi.
  • Kompilasi
       Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas ini disebut Compiler. Compiler adalah suatu program yang melakukan proses translasi dari HLL (high level languange) ke dalam bahasa mesin di komputer. Disamping program translasi, compiler juga mempunyai beberapa fungsi penting, seperti diagnostik, contohnya kemampuan pendeteksian error/kesalahan. Pelannggaran spesifikasi HLL akan terdeteksi dan dilaporkan kepada programmer oleh compiler agar seger diperbaiki hingga mempermudah pembentukan machine language equivalent. Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, C++, Pascal, Assembly, Java dan masih banyak lagi.

Macam-macam compiler :

1. Bahasa Assembler

Bahasa rakitan / assembly language adalah bahasa pemrograman komputer tingkat rendah. Bahasa rakitan merupakan notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur komputer yang digunakan.

2. Bahasa Java

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ­platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.

3. Bahasa Visual
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa BASIC dan menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO)

4. Bahasa Mesin

Bahasa mesin atau kode mesin adalah satu-satunya bahasa komputer yang dapat langsung dipahami oleh CPU. Bahasa mesin ditulis dalam serangkaian bit-bit (bilangan-bilangan biner, yaitu bilangan yang hanya mempunyai angka 1 dan 0).

5. Bahasa Prolog

Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer. Prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
  • Interpretasi
       Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas ini disebut Interpreter. Pada teknik interpretasi tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa Perl, Python, Ruby dan masih banyak lagi.
Berdasarkan jenisnya, interpreter dibedakan menjadi 3 jenis yakni:
  • Interpreter yang mengeksekusi langsung source code.
  • Mengartikan source code dan merepresentasikannya dalam bentuk tertentu (kode) tingkat intermediate secara efisien dan langsung mengeksekusinya.
  • Secara eksplisit mengeksekusi kode yang telah tersimpan dan dibuat oleh kompiler sebagai bagian dari sistem interpretasi.( saat interpreter mengartikan suatu script / kode dia akan membentuk kode-kode dalam bahasa mesin melalui kompiler khusus dan menjalankan hasil kompilasi tersebut ).
Perl, Python, MATLAB, dan Ruby adalah contoh pemprograman yang menggunakan interpreter tipe 2 sedangkan UCSD Pascal dan JAVA menggunakan tipe 3: Source program dikompilasi terlebih dahulu dan disimpan sebagai kode mesin yang independen dan kemudian dihubungkan saat runtime dan dieksekusi oleh interpreter atau kompiler (untuk sistem JIT). Beberapa sistem semacam Smalltalk, BASIC dan lainnya ada juga yang menggunakan kombinasi 2 dan 3.
  • Kompilasi sekaligus Interpretasi
         Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi. Misalnya bahasa java. Dalam pembuatan program java kode sumber diubah menjadi bytecode. Meskipun nampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable. Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode tersebut.
          Meskipun setiap bahasa pemrograman dibuat untuk membuat program namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda. Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan bahasa C atau Assembly. Contohnya sistem operasi linux yang open source. Jika anda melihat kode sumbernya anda akan menemukan bahwa linux dibuat menggunakan bahasa C. Sedangkan untuk pemrograman desktop kita bisa menggunakan Visual Basic. Bahasa tersebut dirancang oleh Microsoft untuk pemrograman desktop dengan tampilan GUI yang memukau.

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.

Tidak ada komentar:

Posting Komentar