Home » , » Bahasa Pemrograman

Bahasa Pemrograman

Written By Unknown on Senin, 11 Agustus 2014 | 02.17

PENGERTIAN BAHASA PEMROGRAMAN


Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, menurut Wikipedia adalah instruksi standar untuk memerintah komputer yang 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.

Fungsi Bahasa Pemrograman

            Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya, dll.

            Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game, antivirus, web, dan teknologi lainnya.
Secara umum terdapat 4 kelompok Bahasa Pemrograman yaitu:
1. Object Oriented Language (Visual dBase, Visual FoxPro, Dephi, Visual C)
2. High level (Seperti Pascal dan Basic),
3. Middle level (Seperti Bahasa C), dan
4. Low level (Seperti Bahasa Assembly). 

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.

COMPILER DAN INTERPRETER

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.
Kompiler 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.  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 segera diperbaiki hingga mempermudah pembentukan machine language equivalent. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal. Arsitektur kompilator modern biasanya bukan lagi merupakan program tunggal namun merupakan rangkaian komunikasi antar program dengan tugas spesifik masing-masing. Program-program tersebut beserta tugasnya secara umum terdiri dari:

Kompilator itu sendiri, yang menerima kode sumber dan menghasilkan bahasa tingkat rendah (assembly).
Assembler, yang menerima keluaran kompilator dan menghasilkan berkas objek dalam bahasa mesin.
Linker, yang menerima berkas objek keluaran assembler untuk kemudian digabungkan dengan pustaka-pustaka yang diperlukan dan menghasilkan program yang dapat dieksekusi (executable).

Proses kompilasi dikelompokan ke dalam dua kelompok besar yaitu :
1.      Tahap Analisa (Front-end)
Menganalisis source code dan memecahnya menjadi bagian-bagian dasarnya. Menghasilkan kode level menengah dari source code input yang ada.
2.      Tahap Sintesa (Back-end)
Membangun program sasaran yang diinginkan.
Tahap-tahap yang harus dilalui pada saat mengkompilasi program, yaitu:
 Tahap analisa (front-end)
1. Analisa Leksikal
2. Analisa Sintaks                              
3. Analisa Semantik
4. Pembangkit Kode

Tahap sintesa (back-end) 
5. Code optimization
6. Object code generation 

INTERPRETER

Dalam ilmu komputer, penerjemah atau lebih dikenal dengan interpreter menurut Wikipedia merupakan perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman, sebuah penerjemah dapat berarti:
Mengeksekusi kode sumber secara langsung, atau Menerjemahkannya ke dalam serangkaian p-code kemudian mengeksekusinya, atau Mengeksekusi kode yang telah dikompilasi sebelumnya oleh kompiler yang merupakan bagian dari sistem penerjemahan.

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.

Tugas interpreter adalah mengartikan source code berisi bahasa pemprograman tersebut sehingga instruksinya dapat dimengerti dan dapat dijalankan oleh komputer. Selain itu Interpreter juga di defenisikan sebagai suatu program komputer yang mampu menerjemahkan program dari bahasa tingkat tinggi yang dimengerti oleh manusia dan langsung menjalankan program tersebut. Setiap kali kita membutuhkan program tersebut, maka interpreter akan bekerja menerjemahkan program dari bahasa tingkat tinggi ke bahasa mesin untuk dieksekusi. Jadi siklus kerja ketika kita membuat program dengan interpreter adalah: tulis/edit program, eksekusi.
Sedangkan Perl, Python, Ruby, dan MATLAB adalah beberapa contoh perangkat lunak penerjemah bertipe 2, sementara Java termasuk dalam kategori tipe 3, namun dalam beberapa kasus Java dapat digolongkan pula ke dalam kategori tipe 2. Meskipun penerjemahan dan kompilasi merupakan dua jenis mekanisme implementasi pada sebuah bahasa pemrograman, keduanya tidak berarti memiliki perbedaan secara signifikan. Hal ini disebabkan cara kerja sebuah penerjemah dalam banyak hal adalah sama seperti halnya yang dilakukan oleh kompiler.
Penggunaan istilah "bahasa pemrograman terjemahan" dan "bahasa pemrograman kompilatif" umumnya digunakan sebatas untuk membedakan implementasi dari bahasa tersebut menggunakan model penerjemahan atau kompilatif.
Bahasa pemrograman yang menggunakan interpreter cenderung membutuhkansoftware simulasi yang besar untuk operasi primitive, manajemen penyimpanan, danfitur-fitur bahasa. Translator untuk bahasa pemrograman yang menggunakaninterpreter cenderung lebih sederhana, dengan kompleksitas implementasi datangdari software simulasi.

Cara kerja interpreter adalah ;
·         kode program yang dibuat oleh programmer ke dalam bahasa mesin.
·         mengeksesusi perintah baris demi baris dengan mengikuti logika yang ada.
·         Secara garis besar, Interpreter menterjemahkan baris per baris.
·         penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara kaidah dalam program.
·         kode program tidak dapat dirahasiakan.

perbedaan antara Compiler dengan Interpreter terperinci sebagai berikut :
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.
6.      Interpreter menterjemahkan baris per baris. Sedangkan compiler, menterjemahkan seluruh instruksi sekaligus. Selanjutnya hasil terjemahan (setelah melalui tahapan lain) bisa dijalankan secara langsung, tanpa tergantung lagi oleh program sumber atau compilernya.
7.      Pada interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara kaidah dalam program. Sedangkan pada compiler, proses pembuatan dan pengujian membutuhkan waktu relatif lebih lama, sebab ada waktu untuk mengkompilasi (menerjemahkan) dan ada pula waktu untuk melakukan proses linking. Program akan berhasil dikompilasi hanya jika program tak mengandung kesalahan secara kaidah sama sekali.
8.      Pada interpreter, kecepatannya menjadi lambat sebab sebelum suatu instruksi dijalankan selalu harus diterjemahkan terlebih dahulu. Selain itu, saat program dieksekusi, interpreter juga harus selalu berada dalam memori. Jadi memori selalu digunakan baik untuk program maupun interpreter. Sedangkan pada compiler, proses eksekusi dapat berjalan dengan cepat, sebab tak ada lagi proses penerjemahan.
9.      Pada interpreter, kode program tidak dapat dirahasiakan. Sedangkan pada compiler, kode program bisa dirahasiakan, sebab yang dieksekusi adalah program yang dalam bentuk kode mesin.

Tingkatan Bahasa Pemrograman
Seperti juga pada bahasa yang digunakan manusia secara umum, bahasa pemrograman banyak sekali jenisnya. Bahasa pemrograman dapat dikelompokkan berdasarkan tingkatan, seperti bahasa tingkat rendah, bahasa tingkat sedang, bahasa tingkat tinggi, berikut penjelasan pada masing-masing singkatan.
  • Bahasa Pemrograman Tingkat Tinggi
Menurut bahasa pemrograman tingkat tinggi adalah sebuah bahasa pemrograman yang jika dibandingkan dengan bahasa pemrograman tingkat rendah memiliki sifat lebih mudah digunakan, lebih portabel (mudah diadaptasikan) antar-platform, dan lebih abstrak. Bahasa-bahasa semacam ini sering melakukan abstraksi terhadap beberapa operasi CPU, seperti halnya pengaksesan memori. Sedangkan menurut blog ini bahasa pemrograman adalah yang dekat dengan bahasa manusia, kelebihan utama dari bahasa ini adalah mudah untuk di baca, tulis, maupun diperbaharui, sebelum bisa dijalankan program harus terlebih dahulu di-compile. Contoh Ada, Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, dan Pascal, dsb.
Bahasa tingkat tinggi bersifat portable. Program yang dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.

  • Bahasa Pemrograman Tingkat Sedang 
Menurut istilah lain bahasa pemrograman tingkat sedang adalah Bahasa tingkat menengah (middle level language) adalah bahasa yang aturan penulisannya mendekati bahasa manusia serupa dengan bahasa tingkat tinggi tetapi memiliki kemampuan kecepatan proses dan pengaksesan perangkat keras yang mirip dengan bahasa tingkat rendah (low level language). 

  • Bahasa Pemrograman Tingkat Rendah
Dan bahasa pemrograman tingkat rendah menurut blog ini adalah bahasa pemrograman generasi pertama. Bahasa jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu – persatu terhadap instruksi komputer. Setiap intruksi assembly diterjemahkan dengan menggunakan assembler . Contoh bahasa pemrograman ini adalah bahasa mesin dan bahasa asembly.

Bahasa mesin merupakan representasi tertulis machine code atau kode mesin, yaitu kode operasi suatu mesin tertentu. Bahasa ini bersifat khusus untuk mesin tertentu dan “dimengerti” langsung oleh mesin, sehingga pelaksanaan proses sangat cepat. Bahasa mesin kelompok komputer tertentu berlainan dengan bahasa mesin kelompok komputer yang lain. Abstraksi bahasa ini adalah kumpulan kombinasi kode biner “0″ dan “1″ yang sangat tidak alamiah bagi kebanyakan orang - kecuali insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat rendah.

Bahasa rakitan (assembly language) merupakan notasi untuk menyajikan bahasa mesin yang lebih mudah dibaca dan dipahami oleh manusia. Bahasa ini sudah menggunakan simbol alpabet yang bermakna (mnemonic). Pindahkan ke register AX nilai 1111.Proses data oleh komputer berdasarkan perintah bahasa rakitan adalah cepat. Meski demikian masih merepotkan-bahkan bagi kebanyakan pemrogram, karena masih harus mengingat-ingat tempat penyimpanan data. Bahasa rakitan juga bersifat khusus untuk mesin tertentu.

Sumber :


Share this article :

Popular Posts

Labels

Comment

Followers

 
Support : Your Link | Your Link | Your Link
Copyright © 2013. DKEY CJDW - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger