Sejarah Perkembangan Bahasa Pemrograman


Perkembangan Bahasa Pemrograman

Hasil gambar untuk 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 perintah program yang telah dibuat oleh program. Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna.

Menurut tingkatannya, bahasa pemrograman dibedakan menjadi 3, yaitu :
A. Bahasa pemrograman tingkat rendah (Low Level Language),
B. Bahasa pemrograman tingkat menengah (Middle Level Language),
C. Bahasa pemrograman tingkat tinggi (High Level Language).

A. Bahasa pemrograman tingkat rendah (Low Level Language)

Low level language adalah bahasa pemrograman yang menyediakan sedikit atau tidak ada abstraksi dari komputer arsitektur set instruksi. The word “low” refers to the small or nonexistent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being “close to the hardware.” Kata rendah mengacu pada jumlah kecil atau bahkan tidak ada dari abstraksi antara bahasa mesin dan bahasa. Oleh karena itu, bahasa tingkat rendah kadang-kadang digambarkan sebagai sesuatu yang dekat dengan hardware.A low-level language does not need a compiler or interpreter to run; the processor for which the language was written is able to run the code without using either of these.Bahasa tingkat rendah tidak memerlukan kompilator atau penterjemah untuk berlari; prosesor yang ditulis bahasa mampu menjalankan kode tanpa menggunakan salah satu dari ini. Contoh : kode mesin dan bahasa assembly (assembler).

B. Bahasa pemrograman tingkat menengah (Middle Level Language)

Middle level language adalah bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan pernyataan, mudah untuk dipahami dan memiliki instruksi-instruksi tertentu yang dapat langsung diakses oleh computer. Contohnya adalah bahasa C.

C. Bahasa pemrograman tingkat tinggi ( High Level Language)

High level language adalah bahasa yang membuat pemrograman lebih mudah dipahami, lebih manusiawi, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contohnya Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, Pascal, PL/1, dan sebagainya.


Sejarah perkembangan komputer

 1.  Generasi Pertama

Bahasa pemrograman generasi pertama (generasi I) merupakan bahasa pemrograman kuno, dimana penggunaan bahasa pemrograman ini berorientasi pada mesin. yaitu petunjuk numerik secara langsung sesuai dengan petunjuk perangkat keras individu. Dengan begitu, setiap program yang akan dimasukkan ke dalam sebuah mesin, agar mesin tersebut dapat berjalan, menggunakan kode biner pada mesin.
Ciri-ciri bahasa pemrograman generasi pertama :
  • Menggunakan kode-kode biner (0 dan 1), dengan basis dasar transistor, rumit, sukar dihafal, dan lama.
  • Dikembangkan dengan bilangan oktal dan heksadesimal.
  • Akan menyita waktu dan kondusif untuk membuat kesalahan.
  • Berbeda untuk setiap jenis komputer, sehingga bergantung pada komputer dan tidak standar.
  • Semua program harus ada dalam bahasa mesin agar dapat dieksekusi, sehingga bahasa lain yang ditulis programmer perlu diterjemahkan oleh komputer ke bahasa mesin untuk eksekusi.

2.  Generasi Kedua

Generasi kedua bahasa pemrograman mengacu pada (simbolis) bahasa assembly . Istilah ini diciptakan untuk memberikan perbedaan dari sebelumnya bahasa kode mesin dan tingkat yang lebih tinggi bahasa pemrograman generasi ketiga (3GL) seperti Fortran , COBOL dan Algol. Kode assembly simbolis dapat dibaca dan ditulis oleh seorang programmer. Untuk menjalankan pada komputer harus dikonversi ke dalam bentuk mesin yang dapat dibaca, proses yang disebut perakitan.

Kode ditandai dengan nama yang mudah diingat seperti MOV,ADD, SUB, dan MULT
Alamat penyimpanan (storage addresses) bersifat nyata dimana data ditempatkan akan didefinisikan dengan nama-nama seperti  AMT1 dan AMT2 untuk memudahkan rujukan.

3.  Generasi Ketiga

Generasi ketiga bahasa pemrograman (3GL) awalnya disebut semua bahasa pemrograman pada tingkat yang lebih tinggi dari perakitan. Sedangkan instruksi individu dari bahasa generasi kedua dalam satu-ke-satu korespondensi dengan instruksi mesin individu (yaitu mereka yang dekat dengan domain mesin), bahasa generasi ketiga bertujuan untuk menjadi lebih dekat ke domain manusia. Instruksi beroperasi lebih dekat dengan cara berpikir manusia.

Bahasa generasi ketiga cenderung baik seluruhnya (atau hampir seluruhnya) independen dari hardware, seperti untuk keperluan umum bahasa seperti BASIC , C, Pascal , Ada , FORTRAN , dll, meskipun beberapa telah ditargetkan pada prosesor tertentu atau arsitektur keluarga prosesor, seperti , misalnya PL / M yang ditargetkan pada prosesor Intel, atau bahkan C , yang sebagian auto-increment dan auto-decrement idiom seperti * (c + +) berasal dari hardware PDP-11 ini yang mendukung auto-increment dan auto-decrement mode pengalamatan tidak langsung, dan di mana C pertama kali dikembangkan.

4.  Generasi Keempat

Bahasa pemrograman generasi keempat merupakan jenis bahasa pemrograman yang saat ini palin populer digunakan di kalangan programmer. Bahasa pemrograman generasi ke empat ini menawarkan kemudahan dalam membuat suatu program, dengan banyak pilihan bahasa pemrograman populer untuk tujuan spesifik, seperti bahasa pemrograman C ++, Java, Visual basic, dan masih banyak lagi.

Ciri-ciri bahasa pemrograman generasi keempat :
  • Mudah untuk dipelajari dan dipahami.
  • Tepat untuk pengaksesan database.
  • Memfokuskan pada memaksimalkan produktivitas manusia dari pada minimisasi waktu komputer.
  • Nonprosedural.
  • Tersedia dalam software paket yang dapat digunakan untuk mengembangkan aplikasi yang diinginkan.

5.  Generasi Kelima

Bahasa pemrograman generasi kelima merupakan bahasa pemrograman yang banyak digunakan sebagai pengembangan dari sebuah program yang bersifat artificial intelligence atau AI. Contoh bahasa pemrograman genarasi kelima yang ditujukan untuk menangani kecerdasan buatan adalah PROLOG dan LISP. Kebanyakan bahasa pemrograman generasi kelima ini digunakan untuk membuat sebuah sistem operasi pada smartphone, dan fitur digital assistance, seperti Cortana pada Microsoft, dan juga Siri pada iOS.

Perkembangan bahasa pemrograman berdasarkan tahun :

1957 : FORTRAN (Formula Translator), John Bakus,IBM

1958 : LISP (List Programing),John McCarty

1958 : ALGOL (Algoritmic Language)

1959 : COBOL (Common Business Oriented Language), Dr. Grace Hooper

1960 : LOGO, MIT

1961 : GPSS (General Purpose System Simulator)

1961 : RPG (Report Program Generator),IBM

1962 : APL (A Programming Language), Kenneth Iverson,IBM

1964 : BASIC (Beginner’s All-purpose Symbolic Instruction Code), John G. Kemeny & Thomas E. Kurtz

1966 : PL/1 (Programming Language version)IBM, gabungan FORTRAN dan COBOL

1968 : PILOT (Programmed Inquiry, Learning, or Teaching), John A. Starkweather

1969 : FORTH, Charles H. Moore, digunakan dalam bidang astronomi

1970 : PASCAL, dikembangkan oleh Niklaus Wirth

1971 : SAM76,Claude Keagan, gabungan dari LISP dan FORTH

1972 : PROLOG,Alain Colmerauer & Philippe Roussel, untuk kecerdasan buatan

1974 : C pertama kali dikembangkan bernama BCPL, kemudian diadaptasi di Bell Laboratories dengan nama bahasa B

1974 : COMAL, Borge Christensen & Benedict Lofsted, gabungan BASIC & PASCAL

1977 : MODULA-2, Niklaus Wirth,Swiss

1979 : ADA digunakan di Dephan AS, diambil dari ADA AUGUSTA.

1983 : C++

1985 : Eiffel

1987 : Perl

1989 : FL (Backus)

1990 : Haskel

1991 : Phyton, Java

1993 : Ruby, OO COBOL, Lua

1994 : ANSI Common Lisp

1995 : JavaScript, PHP

2000 : C#

2009 : CoffeeScript, dikembangkan oleh Jeremy Ashkenas

Object Oriented Programming

OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.     

    
Misalkan contohnya pesawat, pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.


OOP memiliki 4 konsep, yaitu :

1. Abstrak Class

2. Encapsulation

3. Inheritance

4. Polymorphism


Sumber referensi :
https://thetechtif17.wordpress.com/2017/10/21/perkembangan-bahasa-pemrograman/
https://fitrianamelani.wordpress.com/2010/01/13/istilah-istilah-bahasa-pemrograman/ https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=2ahUKEwjxgdTRpLbkAhUVWCsKHdJWBacQjRx6BAgBEAQ&url=https%3A%2F%2Fglints.com%2Fid%2Flowongan%2Fbahasa-pemrograman-di-dunia-kerja%2F&psig=AOvVaw0LvE4O4yTes5Q23zJ-RYCl&ust=1567656202670612
https://idcloudhost.com/panduan/mengenal-pengertian-dan-konsep-oop/


Menurut Rinaldi Munir (2011), belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram berarti mempelajari metodologi pemecahan masalah, kemudian menuliskan algoritma pemecahan masalah dalam notasi tertentu. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa komputer, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.

Contoh bahasa pemrograman antaa lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo, dan masih banyak lagi.

Berdasarkan tujuan aplikasinya, bahasa pemrograman dapat digolongn menjadi dua kelompok :
1. Bahasa pemrograman bertujuan khusus (specific purpose programming language)
2. Bahasa pemrograman bertujuan umum (general purpose programming language)

Berdasarkan "kedekatan" bahasa pemrograman apakah lebih condong ke bahasa mesin atau ke bahasa manusia, maka bahasa pemrograman juga dapat dikelompokan atas dua mcam :
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh omputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin (machine language).

2. Bahasa tingkat tinggi. Bahasa jenis ini membuat program menjadi lebih mudah dipahami, lebih "manusiawi", dan lebih dekat ke bahasa manusia (bahasa Inggris terutama). Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dsb.

Sumber referensi : Munir, Rinaldi. 2011. Algoritma & Pemrograman dalam Bahasa Pascal dan C Edisi Revisi. Bandung : Informatika Bandung


Menurut Abdul Kadir (2012), suatu program ditulis dengan mengikuti kaidah bahasa pemrograman tertentu. Bahasa pemrogramn dapat dianalogikan dengan bahasa yang digunakan manusia (bahasa manusia). Kumpulan instruksi dalam bahasa manusia yang berupa sejumlah kalimat dapat dianalogikan dengan suatu program. Manusia dapat mengerjakan suatu instruksi berdasarkan kalimat-kalimat dan komputer bisa menjalankan suatu instruksi menurut program.

Dalam konteks pemrograman, terdapat sejumlah bahasa pemrograman seperti Pascal, C, dan BASIC. Secara garis besar, bahasa-bahasa pemrograman dapat dikelompokkan menjadi :

1. Bahasa beraras-tinggi (high-level language)

Merupakan bahasa pemrograman yang berorientasi pada bahasa manusia. Program dibuat dengan menggunakan bahasa pemroggraman yang mudah dipahami oleh manusia. Program ini biasanya menggunakan kata-kata bahasa Inggris, misalnya IF untuk menyatakan "jika" dan AND untuk menyatakan "dan". Termasuk dalam kelompok bahasa ini adalah Java, C++, Pascal, dan BASIC.

2. Bahasa beraras-rendah (low-level language)

Merupakan bahasa pemrograman yang berorientasi pada mesin. Bahasa ini menggunakan kode biner (yang hanya mengenal kode 0 dan 1) atau suatu kode sederhana untuk menggantikan kode-kode ertentu dalam sistem biner. Termasuk dalam kelompok bahasa ini yaitu bahasa mesin dan bahasa rakitan. Bahasa-bahasa tersebut 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 bersifat sangat bergantung pada mesin (machine dependent). Artinya, bahasa mesin antara satu mesin dengan mesin yang lain jauh berbeda.

Sumber referensi : Kadir, Abdul. 2012. Algoritma & Pemrograman menggunakan C & C++. Yogyakarta : ANDI









Komentar

Alvin Setiawan mengatakan…
Bermanfaat sekali!