APA ITU BAHASA PEMOGRAMAN?




    Secara singkatnya, bahasa pemograman adalah teknik komando/instruksi standar untuk memerintah komputer.
    Sebelum mulai masuk kedalam sejarah perkembangannya, mari kita mengenal terlebih dahulu definisi bahasa program komputer.


    Mendefinisikan program komputer. Bahasa pemrograman 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.

    Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
    Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110.
    Bilangan biner hanya terdiri dari angka 0 dan 1. angka 0 dan 1 itu sendiri sebenarnya pengertian dari on/off atau lebih mudahnya 0
    berartikan salah dan angka 1 artinya benar.
    Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bahasa Inggris Assembly), yaitu memberikan perintah kepada komputer
    dengan memakai kode-kode singkat (kode mnemonic). Bahasa assembly merupakan jenis bahasa pemograman yang ada pada generasi kedua. Bahasa
    ini digunakan sebagai bahasa rakitan namun dalam kategori sebagai bahasa tingkat rendah. Bahasa ini merupakan notasi untuk mesin sehingga
    nanti bisa dibaca oleh manusia. contohnya 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.
    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.


    Untuk melaksanakan tugas maka komputer akan diperintah oleh sebuah sistem, perintah dasar komputer ini disimpan ke dalam sebuah sistem yang
    disebut sebagai sistem operasi seperti DOS, Unix, Windows, Linux, Solaris dsb. Perintah-perintah tersebut tentunya menggunakan bahasa mesin
    yang oleh komputer hanya mengenal angka 1 dan 0 (binary).
    Untuk membuat sebuah sistem dikomputer maka diperlukan sebuah alat (tools) yang kita sebut sebagai bahasa pemrograman, jadi yang terlintas
    dibenak kita saat ini adalah “Alat yang dibuat untuk membuat program (sistem) disebut sebagai bahasa pemrograman”, sehingga Program-Program
    seperti Macro/Turbo Assembly, Turbo C, Microsft Visual C++, C++ Builder, Microsoft Visual Basic, Delphi dsb digunakan untuk membuat aplikasi
    bukan sebagai aplikasi untuk mengolah data seperti Microsoft Excel, SPPS dsb.
    Atau dapat juga dikatakan bahwa bahasa pemrograman adalah bahasa yang digunakan pada komputer untuk melakukan tugas tertentu. Seperti juga
    bahasa yang digunakan manusia secara umum, bahasa pemrograman banyak sekali jenisnya.

    Bahasa pemrograman dapat dikelompokkan berdasarkan tingkatan, seperti bahasa tingkat rendah (low Level), bahasa tingkat sedang (Mid Level
    Language), bahasa tingkat tinggi .


    Berikut adalah ringkasan sejarah bahasa pemrorgraman.
    Sebelum 1940
    sebenarnya sejak dulu, proses pengolahan data sudah dilakukan oleh manusia. Manusia menemukan alat alat mekanik maupun elektronik untuk
    membantu memudahkan pekerjaan manusia dalam menghitung sebuah data. sebelum ditemukannya komputer, alat hitung yang digunakan pada jaman
    dahulu antara lain adalah abacus, kalkulator roda numerik dan kalkulator mekanik. Pada jaman ini terdapat bahasa pemrograman yang pertama
    kali muncul sebelum adanya komputer modern, artinya bahasa pemrograman lebih tua dari komputer itu sendiri. Pada awal kemunculannya, bahasa
    pemrograman masih dalam bentuk kode-kode bahasa mesin. Bahasa mesin merupakan bahasa yang terdiri atas kode-kode mesin dan hanya dapat
    diinterpretasikan langsung oleh mesin komputer. Bahasa mesin ini tergolong bahasa tingkat rendah, karena hanya berupa kode 0 dan 1 seperti
    disampaikan pada bagian atas.


    Periode 1940-an



    Dengan bahasa mesin ditemukan banyak kesulitan untuk pengembangan dan perbaikan pada program yang dibuat saat itu, Tahun 1940-an komputer
    bertenaga listrik dibuat, dengan kecepatan yang sangat terbatas dan kapasitas memori yang mencukupi untuk programmer memprogram, kemudian
    terciptalah bahasa assembly (Assembly language). Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin memiliki
    simbol sendiri dalam bahasa assembly. Misalnya Move untuk memindahkan isi data, ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan,
    dan lain-lain. Penggunaan bahasa Asembly dirasa belum sempurna karena selain sulit untuk diimplementasikan, ternyata bahasa ini juga sulit jika
    sang programer ingin mengembangkan program buatannya. Pada tahun 1948, Konrad Zuse mempublikasikan sebuah paper tentang bahasa pemrograman miliknya
    yakni Plankalkül. Bagaimanapun, bahasa tersebut tidak digunakan pada masanya dan terisolasi terhadap perkembangan bahasa pemrograman yang lain.
    Beberapa bahasa pemrograman yang berkembang pada masa itu antara lain:
    • Plankalkül (Konrad Zuse) – 1943
    • ENIAC coding system – 1943
    • C-10 – 1949


    Periode tahun 1950-an sampai dengan tahun 1960-an

    Mulai tahun 1950 dibuatlah bahasa pemrograman modern, yang turun-temurun dan tersebar luas hingga saat ini. Bahasa ini menggunakan istilah atau
    reserved word yang dekat dengan bahasa manusia seperti READ untuk membaca, WRITE untuk menulis dsb. Dalam perkembangannya Bahasa Tingkat Tinggi
    juga terdiri dari beberapa metode pemrograman, yaitu Procedural Programing dan Object Oriented Programing yang membedakannya adalah jika pada
    procedural programing program dijalankan dengan menggabungkan variable, procedure-procedure yang saling keterkaitan dan berjalan berurut,
    sedangkan pada OOP seluruh task dijalankan berdasarkan kedalam object.
    • FORTRAN (1955), the “FORmula TRANslator”, ditemukan oleh John W. Backus dll.
    • LISP, the “LISt Processor”, ditemukan oleh John McCarthy dll.
    • COBOL, the COmmon Bussines Oriented Language, dibuat oleh the Short Range Commitee, dan Grace Hopper berperan sangat besar disini.

    Overview:

    • Regional Assembly Language – 1951
    • Autocode – 1952
    • FORTRAN – 1954
    • FLOW-MATIC – 1955
    • COMTRAN – 1957
    • LISP – 1958
    • ALGOL – 1958
    • COBOL – 1959
    • APL – 1962
    • SIMULA – 1962
    • BASIC – 1964
    • PL/I -1964


    Periode 1967-1978: Menetapkan Paradigma Fundamental



    Periode diantara tahun 60-an sampai dengan 70-an membawa pengaruh yang besar dalam perkembangan bahasa pemrograman.

    Kebanyakan dari pola bahasa pemrograman yang utama yang saat ini banyak digunakan:
    • Simula, ditemukan pada akhir 60-an oleh Nygaard dan Dahl sebagai superset dari Algol 60, merupakan bahasa pemrograman pertama yang
    didesain untuk mendukun pemrograman berorientasi object.
    • C, sebuah tahapan awal dari sistem bahsa pemrograman, yang dikembangkan oleh Dennis Ritchie dan Ken Thompson di Bell Labs antara
    tahun 1969 dan 1973.
    • Smalltalk (pertengahan tahun 70-an) menyajikan desain ground-up yang lengkap dari sebuah bahasa yang berorientasi objek.
    • Prolog, didesain pada tahun 1977 oleh Colmerauer, Roussel, and Kowalski, merupakan bahasa pemrograman logika yang pertama.
    • ML membangun sebuah sistem polimorfis (ditemukan oleh Robin Miller pada tahun 1973) diatas sebuah Lisp, yang merintis bahasa pemrograman
    fungsional bertipe statis.
    Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:

    • Pascal – 1970
    • Forth – 1970
    • C – 1970
    • Smaltalk – 1972
    • Prolog – 1972
    • ML – 1973
    • SQL – 1978


    Periode 1980-an: konsolidasi, modul, performa
    1980s adalah tahun dari konsolidasi relatif. C++ dikombinasikan dengan sistem programming dan berorientasi obyek. Pemerintah Amerika
    Serikat menstandardisasi Ada sebuah sistem pemrograman yang bertujuan untuk digunakan para kontraktor untuk bertahan. Di Jepang dan di
    tempat lain, penjumlahan luas yang telah di selidiki disebut” generasi ke lima” bahasa-bahasa yang menyatukan logika pemrograman konstruksi.
    Masyarakat bahasa fungsional gerak ke standarisasi ML dan Cedal. Dibandingkan dengan menemukan paradigma-paradigma baru, semua pergerakan
    ini menekuni gagasan-gagasan yang ditemukan di dalam dekade sebelumnya.

    Bagaimanapun, satu kecenderungan baru di dalam disain bahasa adalah satu fokus yang ditingkatkan di pemrograman untuk sistem besar-besaran
    melalui penggunaan dari modul, atau kesatuan organisasi besar-besaran dari kode. Modula, Ada, dan ML semua sistem modul terkemuka yang dikembangkan
    pada 1980-an.

    Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:

    • Ada – 1983
    • C++ – 1983
    • Eiffel – 1985
    • Perl – 1987
    • FL (Backus) – 1989


    Periode 1990-an: Visual
    Pada periode ini bahasa selain berorientasi objek juga sudah dikembangkan berbasis Visual sehingga semakin mudah untuk membuat program
    aplikasi, diawali oleh Python dan Microsoft Visual Basic 1 pada tahun 1991, Delphi yang dikembangkan dari Pascal for windows akhirnya pada
    tahun 1997 Visual Basic 5 diluncurkan dengan kemudahan koneksi ke database, OO Cobol sudah ditemukan dalam versi windows. Bagi kebanyakan
    programmer database tidak dapat dipungkiri bahwa era 1990an merupakan era yang paling produktif semenjak bahasa pemrogrammar diciptakan.
    Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk

    • Haskel – 1990
    • Python – 1991
    • Java – 1991
    • Ruby – 1993
    • OO Cobol
    • Lua – 1993
    • ANSI Common Lisp – 1994
    • JavaScript – 1995
    • PHP – 1995
    • C# – 2000
    • JavaFX Scrip, Live Script
    • Visual Basic


    Periode 2000an hingga tulisan ini dibuat
    Pada saat ini ada kecenderungan para vendor bahasa pemrograman untuk menggiring programmer hanya dengan mengggunakan produk mereka untuk
    membuat program meski kita sadari bahwa sulit rasanya untuk membuat program yang tangguh hanya dengan satu bahasa pemrograman, hal ini
    tentunya dilakukan dengan tujuan kelangsungan usaha mereka, namun terlepas dari semua itu terdapat dua konsepsi besar dalam periode ini
    dimana kemudahan berbasis visual sudah mulai digiring ke basis internet dan mobile, dengan bermunculan webservice dan berbasis net dan a
    mobile flatform.
    Konsep pertama yang dicermati adalah konsepsi Microsoft dimana dengan Visual Net akan menyediakan berbagai bahasa pemrograman seperti VB Net
    , VC++ Net, ASP NET yang di compile dengan berbagai bahasa akan tetapi berjalan pada satu sistem operasi yakni windows. (Compile any program
    run one system)

    Konsepsi Kedua, Merupakan konsep yang terbalik dari konsep pertama yakni apa yang ditawarkan Sun Microsystem melalui produknya Java, J2ME,
    JDK, yakni dicompile dengan satu bahasa pemrograman (java) dan berjalan dibanyak sistem operasi. (Compile one program running any system)

    Selain itu periode ini juga merupakan jamannya CMS (Content Manajemen System), lompatan pengembangan PHP Script begitu cepat, dimana untuk
    membuat website atau portal telah tersedia banyak template, Banyak modul-modul yang siap pakai sehingga programmer atau webmaster tidak
    perlu lagi mempelajari semua script html dan bahasanya, tinggal merangkai modul yang tersedia sehingga dalam beberapa hari saja sebuah web
    sudah dapat dibuat. Apa yang ditawarkan Mambo, PhkNuke dan Jomla saat ini sangat memudahkan para desainer web.

    Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk
    • Tcl/Tk,
    • O’Caml,
    • Ruby,
    • Phyton 3.1,
    • Java 6 JDK, JED, Java Beans, J2ME
    • Microsoft Visual Net (VB Net, C++ Net, ASP NET) 2008
    • Java Scrip Template oleh Mambo, PhpNuke, Jomla


    Generasi ke-1: machine language
    Dalam kategorisasi ini, generasi pertama bahasa pemrograman mengacu pada angka kode mesin , yaitu petunjuk numerik secara langsung sesuai
    dengan petunjuk perangkat keras individu. Awalnya, tidak ada penerjemah yang digunakan untuk merakit sumber assembler untuk menghasilkan kode
    mesin numerik. Manfaat utama dari pemrograman dalam kode mesin adalah bahwa kode pengguna menulis dapat berjalan sangat cepat dan efisien.
    Namun, kode mesin ini sendiri jauh lebih sulit untuk dipelajari dari bahasa perograman generasi yang lebih tinggi, maka jauh lebih sulit untuk
    mengedit jika terjadi kesalahan.


    Generasi ke-2: assembly language: Assembler
    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 . Generasi kedua
    bahasa pemrograman memiliki sifat sebagai berikut:

    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.
    Bahasa adalah satu-ke-satu korespondensi dengan instruksi mesin dari keluarga prosesor tertentu dan lingkungan.
    Majelis bahasa kadang-kadang digunakan dalam kernel dan driver perangkat (meskipun C umumnya digunakan untuk ini di kernel modern), tetapi lebih
    sering menemukan penggunaan dalam pengolahan yang sangat intensif seperti game, video editing, grafis manipulasi / render.

    Salah satu metode untuk membuat kode seperti ini dengan memungkinkan compiler untuk menghasilkan mesin-dioptimalkan perakitan versi bahasa fungsi
    tertentu. Sumber perakitan kemudian tangan-tuned, memperoleh wawasan baik brute-force dari algoritma mesin mengoptimalkan dan kemampuan intuitif
    optimizer manusia.


    Generasi ke-3: high level programming language
    Generasi ketiga bahasa pemrograman (3GL) awalnya disebut semua bahasa pemrograman pada tingkat yang lebih tinggi dari perakitan, bahasa generasi
    ketiga bertujuan untuk menjadi lebih dekat ke domain manusia. Instruksi beroperasi pada tingkat, lebih tinggi abstrak, lebih dekat dengan cara
    berpikir manusia, dan setiap instruksi individu dapat diterjemahkan ke dalam sejumlah (besar kemungkinan) mesin-tingkat instruksi. Bahasa generasi
    ketiga dimaksudkan untuk lebih mudah digunakan daripada bahasa generasi kedua. Kode yang ditulis dalam bahasa generasi ketiga harus dikompilasi
    baik secara langsung ke dalam kode mesin, atau ke perakitan, dan kemudian dirakit. Kode yang ditulis dalam bahasa generasi ketiga umumnya dapat
    dikompilasi untuk dijalankan pada komputer yang berbeda menggunakan berbagai arsitektur perangkat keras.

    Pertama kali diperkenalkan pada akhir 1950-an, FORTRAN , ALGOL dan COBOL adalah contoh awal dari bahasa generasi ketiga.

    Bahasa generasi ketiga cenderung baik seluruhnya (atau hampir seluruhnya). Kebanyakan “modern” bahasa ( BASIC , C , C + + , C # , Pascal , Ada
    , dan Jawa ) juga merupakan generasi ke-3 bahasa pemograman.



    generasi Kemudian
    Awalnya, bahasa pemrograman semua pada tingkat yang lebih tinggi dari perakitan yang disebut “generasi ketiga”, tetapi kemudian, istilah “generasi
    keempat” diperkenalkan untuk mencoba membedakan (kemudian) bahasa deklaratif baru (seperti Prolog dan domain- spesifik bahasa) yang diklaim
    beroperasi pada tingkat yang lebih tinggi, dan dalam domain bahkan lebih dekat ke pengguna (misalnya pada tingkat bahasa alami) daripada asli,
    bahasa tingkat tinggi seperti imperatif Pascal , C , Algol , Fortran , BASIC , dan lain-lain.



    source: https://www.academia.edu/7413004/Sejarah_bahasa_pemograman?auto=download&ssrv=ss