Professional Documents
Culture Documents
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
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
Any Question?
Berapa pendekatan yang bisa dilakukan dalam
mempelajari bahasa pemrograman?
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
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
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?