IBX5A7018DC6625C

Thursday, February 1, 2018

KONSEP BAHASA PEMROGRAMAN


       Komputer, alat yang digunakan untuk melakukan komputasi (perhitungan) secara cepat, komputer juga dapat menyimpan data, dan data tersebut dibaca kembali. Algoritma merupakan urutan operasi yang akandikerjakan secara berurutan hingga menghasilkan suatu keluaran (output) yang diinginkan. Komputer tidak akan bisa terlepas dari Pemrograman dan sebuah program bisa di tanamkan dalam sebuah sistem komputer dengan bahasanya yang di buat khusus untuk di kenali oleh mesin. Nah, bagi orang awam yang belum paham dan ingin mendalami tentang Pemrograman ada baiknya kita memahami konsep dasarnya terlebih dahulu.

BAHASA PEMROGRAMAN?

Bahasa Pemrograman, merupakan himpunan aturan-aturan (konvensi) untuk menyatukan (menghubungkan) algoritma-algoritma.
Atau bisa lebih jelasnya saya bisa kutip dari Wikipedia :

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

How to learn?
  • Horizontal, Bahasa-bahasa pemrograman dipilih dan dipelajari secara berurutan.
  • Vertical, Membandingkan konsep dan konstruksi dari bahasabahasa pemrograman.
Jenis Bahasa Pemrograman
Ada 3 jenis bahasa pemrograman yaitu :
  • Bahasa Mesin (Machine)
    • Merupakan bahasa yang paling rendah levelnya (very low-level).
    • Dieksekusi secara langsung oleh komputer.
    • Proses eksekusi sangat cepat.
    • Realisasi (bahasa) membutuhkan biaya rendah (low cost of realization).
    • Fleksible untuk membuat layer software yang baru.
    • Tergantung pada mesin (Machine dependent).
  • Bahasa Rakitan (Assembly)
    • Menggunakan Mnemonic, misalnya ADD, ADC (Add with Carry).
    • Menggunakan nama simbolik.
    • Tergantung pada mesin (Machine dependent).
    • Contoh:
      • MOV AX,1234h
      • ADD AX, 01h
      • LEA AX, WORD PTR Number
      • PUSH AX
      • CALL baca_input
  • Bahasa Tingkat Tinggi (High-Level Language).
    • Mendefinisikan Sebuah Mesin Abstrak (Abstract machine).
    • Membutuhkan proses translasi oleh translator (compiler atau interpreter).
    • Lebih mudah untuk dipelajari karena lebih sederhana.
    • Lebih lambat dibandingkan bahasa mesin.
Why we learn?
Kenapa kita harus belajar tentang konsep bahasa Pemrograman ini?
  • Meningkatkan kapasitas untuk mengekspresikan ide pemrograman.
  • Dapat memilih bahasa pemrograman tertentu yang tepat untuk menyelesaikan suatu masalah.
  • Meningkatkan kemampuan untuk belajar bahasa pemrograman yang baru.
  • Memahami implementasi dari bahasa pemrograman.
  • Meningkatkan kemampuan untuk membuat bahasa pemrograman yang baru.

Programming Domains
  • Sistem Operasi
  • Aplikasi
  • Web
  • Basis Data
  • dll
Kriteria bahasa pemrograman
Berikut adalah kriteria bahasa pemrograman yang harus kita keahui :
  • Readability
Merupakan kriteria yang terpenting
Faktor-faktor :
·         Simplicity
·         Orthogonality
·         Statement Kontrol
·         Tipe data dan Struktur data
·         Syntax dan Lexical convention
  •     Writability
Faktor-faktor :
·         Simplicity.
·         Orthogonality.
·         Mendukung abstraksi.
·         Abstraksi adalah kemampuan untuk mendefinisikan dan kemudian menggunakan struktur yang kompleks atauoperasi yang mengijinkan detail dari operasi diabaikan.
  •      Reliability
Faktor-faktor :
·         Type checking.
·         Exception handling.
·         Readability dan writability.
  1. Cost
·         Training programmer.
·         Penulisan program / Pembuatan software.
·         Kompilasi dan eksekusi.
·         Maintenance.

Faktor yang Mempengaruhi Desain suatu bahasa

1.      Arsitektur Komputer (Computer Architecture)
o    Arsitektur von Neumann
§  Data dan program diletakkan pada memory yang sama.
§  Memory terpisah dari CPU.
§  Instruksi dan data difetch dari memori ke CPU.



2.      Metodologi Pemrograman (Programming Methodology)

o    1950-an dan awal 1960-an : Aplikasi-aplikasi sederhana, masih menitikberatkan pada efisiensi mesin.
o    Akhir 1960-an : Efisiensi dari sisi manusia lebih diutamakan (readibility), struktur kontrol yang lebih baik.
§  Pemrograman terstruktur.
§  Top-down design.
o    Akhir 1970-an : Process-oriented ke Data-oriented.
§  Abstraksi data.
o    Pertengahan 1980-an : Object-oriented programming

Kategori Bahasa Pemrograman

·         Imperative (Prosedural).
o    Fitur utamanya adalah variable, assignment, statement, dan iterasi.
o    Contoh : C, Pascal.
·         Functional
o    Menggunakan fungsi-fungsi untuk melakukan komputasi.
o    Contoh : LISP, Scheme.
·         Logic
o   Berdasaarkan aturan (rule-based).
o   Aturan tidak memiliki urutan khusus.
o   Contoh : Prolog.
·         Object-oriented
o   Pengkapsulan data dengan proses.
o   Pewarisan (inheritance) dan dynamic type binding.
o   Perkembangannya cepat.
o   Contoh : C++, Java

Metode Implementasi
  • ·         Kompilasi (Compilation), dilakukan oleh compiler.
o   Menerjemahkan high-level program ke kode mesin.
o   Translasi membutuhkan waktu tertentu (compiletime)
o   Eksekusi cepat
o   Contoh bahasa yang menggunakan compiler : Pascal, C/C++
  • ·         Interpretasi (Interpretation), dilakukan oleh interpreter.
o   Tanpa proses translasi.
o   Eksekusi lambat.
o   Saat ini jarang digunakan.
o   Contoh bahasa yang menggunakan interpreter : BASIC
  • ·         Hybrid
o   Gabungan antara kompilasi dan interpretasi
o   Translation cost kecil.
o   Kecepatan eksekusi tidak terlalu lambat

Programming Environments

Merupakan kumpulan tool yang digunakan dalam pengembangan software
  • UNIX.
  • Borland C++.
  • Smalltalk.
  • Microsoft Visual C++.
  • Lainnya : Borland Delphi, JBuilder, dll.

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