IBX5A7018DC6625C

Friday, February 2, 2018

Evolusi Bahasa Pemrograman



Perkembangan teknologi yang sangat pesat dengan semakin banyaknya bahasa pemrograman yang hadir tentu tidak serta merta luput dari sejarah Bahasa Pemrograman itu sendiri, dalam perkembanganya melewati banyak generasi dan sejarah yang sangat banyak. Pada kesempatan kali ini kita akan membahas perkembangan Evolusi Bahasa Pemrograman dari waktu ke waktu, nah langsung saja yuk kita bahas.




SEJARAH PERKEMBANGAN BAHASA PEMROGRAMAN
Bahasa Pemrograman memiliki beberapa generasi dalam perkembanganya yakni
  1. Generasi Kesatu (Bahasa Mesin)
  2. Generasi Kedua (Bahasa Assembly)
  3. Generasi Ketiga
  4. Generasi Keempat
  5. Generasi Kelima


GENERASI KESATU (BAHASA MESIN)
  1. Bahasa pemrograman yang sangat dasar dan kuno
  2. Tidak lagi digunakan oleh programmer karena sangat sulit menggunakannya
  3. Disebut bahasa mesin (machine code)/ bahasa biner (kode-kode mesin yang hanya dapat
  4. Diinterpretasikan langsung oleh mesin komputer berarsitektur tertentu).
  5. Kumpulan kode dalam bahasa mesin dapat digabungkan disebut microcode
  6. [+]  Eksekusi cepat
  7. [-]   Sulit dipelajari manusia


GENERASI KEDUA (BAHASA ASSEMBLY)
  1. Sudah mulai ditinggalkan oleh programmer yang tidak langsung berhubungan dengan hw
  2. Dikenal dengan bahasa assembly & banyak digunakan pada pemrograman hw, ex: robotika
  3. Merupakan bahasa mesin yang disimbolkan dengan bahasa inggris sederhana sehingga memudahkan programmer
  4. Ex. Operator: mul (perkalian), sub (pengurangan), add (penjumlahan), div (pembagian), dll.
  5. Programmer dapat membuat standar yang cukup baku untuk arsitektur komputer yang beraneka ragam
  6. Sehingga dapat dibuat instruksi-instruksi bahasa assembly yang generik untuk semua arsitektur komputer
  7. (+) Eksekusi cepat, lebih mudah dipelajari, file kecil
  8. (-) Sulit dipelajari, program sangat panjang


GENERASI KETIGA
  1. Sampai saat ini masih sering digunakan oleh programmer untuk aplikasi aras tinggi/rendah
  2. Mulai dikenal sintaks (syntax)
  3. Menyediakan banyak kemudahan dalam pembuatan program, ex: variabel, tipe data, konstanta,
  4. Struktur kontrol, loop, fungsi, prosedur, dll.
  5. Contoh bahasa pemrograman generasi ketiga : c, basic, fortran dan pascal.
  6. (+) mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program pendek.
  7. (-) eksekusi lambat


GENERASI KEEMPAT
  1. Dibuat untuk menyelesaikan beberapa persoalan pemrograman yang kompleks dan spesifik
  2. Dikenal sebagai specific problem oriented.
  3. Bersifat visual, memiliki tool builder yang canggih, dapat berkomunikasi dengan peralatan lain yg spesifik (basis data).
  4. Contoh: sql, html, visual basic, delphi, dan fox pro.
  5. Ada beberapa jenis :
    • Report generators : bahasa pemrograman yg dipakai untuk membuat laporan tercetak/dalam bentuk Html/file pdf, dg format yg dapat diatur sesuai kebutuhan. Contoh: oracle reports & crystal reports.
    • Form generators : bahasa yg dipakai untuk membuat antarmuka (form) yang dipakai untuk komunikasi Antara manusia dan komputer. Sering disebut bahasa pemrograman antarmuka (GUI creator). Contoh: Visual basic, form builder, visual foxpro, borland delphi dan visual studio .net
    • Computer aided software engineering (case) : bahasa yg dibuat dg mendefinisikan suatu spesifikasi di Atas layar (diagram) dan menspesifikasikan suatu proses tertentu. Contoh: relational rose, Oracle Designer, poseidon, dsb.
    • Database query language : bahasa yg dipakai untuk berkomunikasi dg mesin database, yg berupa pendefinisian data (DDL ), manipulasi data (DML), kontrol data (DCL), dsb. Contoh: sql, oracle sql*plus, progress 4gl, dsb
  1.  (+) Berorientasi pada masalah secara langsung
  2.  (-) sangat spesifik sehingga hanya bisa berfungsi untuk suatu hal tertentu saja.



GENERASI KELIMA
  1. Berbasis pada pemecahan masalah dg batasan-batasan (constraints) yg diberikan pada sebuah program, tidak menggunakan algoritma tertentu.
  2. Dipakai agar komputer dapat menyelesaikan suatu masalah berdasarkan constraint yg diberikan.
  3. Pemrogram mendefinisikan masalah yg akan diselesaikan beserta kondisinya tanpa memikirkan cara mengimplementasikan program/algoritma pemecahannya.
  4. Umumnya digunakan pada penelitian kecerdasan buatan.
  5. Contoh: prolog, ops5, dsb. 
  6. Bahasa pemrograman merupakan tool yg digunakan untuk membuat program
  7. Akan terjadi perubahan/translasi dari kode program yg ditulis dg bahasa pemrograman
  8. Tertentu menjadi kode program lain/kode dalam bentuk objek/langsung ke program yg
  9. Dapat dieksekusi secara langsung di mesin komputer tertentu.
  10. Proses translasi membutuhkan waktu yg cukup panjang dan kompleks
  11. Para pembuat translator berusaha agar proses translasi bisa berjalan dg secepatcepatnya.
  12. (+) sangat sesuai untuk pemecahan masalah sistem cerdas
  13. (-) membutuhkan pengetahuan lebih untuk membuat program dengan bahasa level ini.


JENIS TRANSLATOR BAHASA PEMROGRAMAN
Ada beberapa jenis translator bahasa pemrograman yang akan menterjemahkan program atau perintah yang kita buat kepada mesin dan di antaranya adalah :
·         ASSEMBLER
o   Terjadi perubahan bentuk dari kode sumber yg berupa bahasa assembly menjadi bahasa  mesin yg dapat dieksekusi secara langsung oleh prosesor tertentu.
o   Proses translasinya disebut meng-assemble.
o   Sumber : Bahasa Assembly
o   Hasil : Bahasa mesin yang bersifat executable.


·         INTERPRETER
o   Kode program bersama-sama dengan input dari pengguna diinterpretasikan (dipahami satu per satu lalu dicocokkan dg bahasa mesin prosesor tertentu) oleh mesin interpreter hingga dilakukan komputasi akhir, ex: menampilkannya ke layar monitor.
o   Disebut meng-interpret
o   Prosesnya berjalan lebih lama karena harus diterjemahkan satu per satu.
o   (+) Konsep interpreter lebih sederhana, penelusuran kesalahan lebih cepat, mudah dan simpel
o   Kode program tidak dianalisis secara keseluruhan melainkan per baris, jika terjadi error, interpreter akan langsung melaporkannya dan tidak akan melanjutkan pemrosesan sampai baris yg error diperbaiki.
o   Contoh: bahasa scripting pada web (javascript, php, asp classic, visual basic, dan BASIC




·         COMPILER
o   Kode program dikompilasi sehingga menghasilkan bentuk lain, yaitu object code (ekstensi .o atau .obj) disebut dengan compile time
o   Oleh program (linker), file-file object code digabungkan dengan library yg dibutuhkan sehingga menjadi file yg bisa langsung dieksekusi pada mesin prosesor tertentu. Disebut dengan run time.
o   Setelah dieksekusi, input dari pengguna diproses.
o   Proses translasinya disebut mengkompilasi. Proses berjalan lama. Jika sudah menjadi file executable proses kerjanya lebih cepat karena sudah binary file.
o   (+) konsep compiler lebih cepat dieksekusi.
o   (-) tidak portable disemua mesin komputer
o   Kode program dianalisis secara keseluruhan baru kemudian error ditampilkan
o   Contoh : Bahasa c, pascal, fortran, dan c++
o   Sumber : Bahasa tingkat tinggi
o   Hasil : Bahasa assembly/mesin


·         GABUNGAN COMPILER & INTERPRETER
o   Ditemukan pada bahasa pemrograman .net dan java.
o   Dilakukan dalam 2 tahap:
1.      Kode program dikompilasi menjadi file executable
2.      File executable yg dihasilkan pada tahap pertama dijalankan di atas runtime environtment yg harus diinstal pada masing-masing os. Pada saat dijalankan, program akan diinterpretasikan oleh interpreter oleh runtime environtment.
o   Sumber : bahasa tingkat tinggi
Hasil : bahasa level menengah


Referensi
[1] Munengsih Sari Bunga, S.Kom., M.Eng : Kuliah Bahasa Pemrograman. 2016
Raga Web Developer

Seorang hamba Allah yang singgah untuk sementara di dunia ini

No comments:

Post a Comment