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 :
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.
- 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
No comments:
Post a Comment