You are on page 1of 27

Pendahuluan

Konsep Bahasa Pemrograman Materi 1

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 akan dikerjakan secara berurutan hingga menghasilkan suatu keluaran (output) yang diinginkan. Program merupakan algoritma yang diekspresikan pada notasi atau bahasa tertentu.

Bahasa Pemrograman?

Bahasa Pemrograman, merupakan himpunan aturan-aturan (konvensi) untuk menyatukan (menghubungkan) algoritma-algoritma

How to learn?

Horizontal, Bahasa-bahasa pemrograman dipilih dan dipelajari secara berurutan. Vertical, Membandingkan konsep dan konstruksi dari bahasa-bahasa pemrograman.

Jenis Bahasa
Bahasa Mesin (Machine) Bahasa Rakitan (Assembly) Bahasa Tingkat Tinggi (High-Level Language).

Bahasa Mesin
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). baru.

Fleksible untuk membuat layer software yang Tergantung pada mesin (Machine dependent).

MOV AX,1234h Bahasa Assembly ADD AX, 01h LEA AX, WORD PTR Number PUSH AX CALL baca_input MOV AX,1234h ADD AX, 01h LEA AX, WORD PTR Number
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

/** Creates a new instance of JadwalManager */ public JadwalManager() { }

Bahasa Tingkat Tinggi

public void insertJadwal(Jadwal jadwal) throws Exception{ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Mendenisikan sebuah mesin abstrak session.beginTransaction(); try{ (Abstract machine). session.save(jadwal); Membutuhkan proses session.getTransaction().commit(); translasi oleh }catch(Exception ex){ (compiler atau interpreter). translator session.getTransaction().rollback(); throw ex; Lebih mudah untuk dipelajari karena lebih } sederhana. } public List listAllJadwal() throws Exception{ Lebih lambat dibandingkan bahasa mesin Session session = HibernateUtil.getSessionFactory().getCurrentSession(); dan bahasa assembly. session.beginTransaction(); List list = new ArrayList(); try{

Why we learn?
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 etc

Any Question?
Berapa pendekatan yang bisa dilakukan dalam
mempelajari bahasa pemrograman?

Sebutkan jenis bahasa pemrograman

Kriteria bahasa pemrograman


Readability Writability Reliability Cost

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 mendenisikan dan kemudian menggunakan struktur yang kompleks atau operasi 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

Arsitektur Komputer (Computer Architecture). Metodologi Pemrograman (Programming Methodology)

Arsitektur Komputer
Arsitektur von Neumann Data dan program diletakkan pada memory yang sama. Memory terpisah dari CPU. Instruksi dan data difetch dari memori ke CPU.

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

Kategori Bahasa Pemrograman


Imperative (Prosedural). Fitur utamanya adalah variable, assignment, statement, dan iterasi. Contoh : C, Pascal. Functional. Menggunakan fungsi-fungsi untuk melakukan komputasi. Contoh : LISP, Scheme.

Kategori Bahasa Pemrograman


Logic. Berdasaarkan aturan (rule-based). Aturan tidak memiliki urutan khusus. Contoh : Prolog. Object-oriented. Pengkapsulan data dengan proses. Pewarisan (inheritance) dan dynamic type binding. Perkembangannya cepat. Contoh : C++, Java

Metode Implementasi
Kompilasi (Compilation), dilakukan oleh compiler. Menerjemahkan high-level program ke kode mesin. Translasi membutuhkan waktu tertentu (compiletime) Eksekusi cepat Contoh bahasa yang menggunakan compiler : Pascal, C/C++

Metode Implementasi
Interpretasi (Interpretation), dilakukan oleh interpreter. Tanpa proses translasi. Eksekusi lambat. Saat ini jarang digunakan. Contoh bahasa yang menggunakan interpreter : BASIC

Metode Implementasi
Hybrid Gabungan antara kompilasi dan interpretasi Translation cost kecil. 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.

Any Questions?
Faktor apa yang mempengaruhi desain suatu bahasa? Ada berapa kategori bahasa pemrograman? Ada berapa metode implementasi bahasa pemrograman?

You might also like