Pengantar Pemrograman
2
Program vs Pemrograman
° Komputer mengeksekusi program
• Instruksi 1 • Instruksi 2 • Instruksi 3 • ….
• Instruksi n
Program Program memiliki satu atau lebih instruksi yang akan
dikerjakan oleh komputer dengan menggunakan sumber daya yang
dimilikinya sesuai dengan kebutuhan dari tiap instruksi program
Program dapat juga
dikatakan sebagai daftar instruksi yang harus diikuti komputer untuk
Program vs Pemrograman
° Langkah untuk menciptakan daftar instruksi yang dapat dibaca dan dikerjakan oleh komputer
° Dimulai dari tahapan-tahapan : • mendefinisikan masalah • mendesain solusi
• coding
• uji program
4
Problem Definition
° Perlu diketahui terlebih dahulu :
• apa tujuan dilakukan pemrograman • siapa pengguna program nantinya
° Untuk :
• memastikan alur proses pada pemrograman benar-benar dapat merepresentasikan dengan tepat alur proses pada organisasi yang sebenarnya
• mengklarifikasi output yang diingingkan dari hasil pemrograman
Mendesain Solusi
° Adalah suatu aktifitas memodelkan permasalahan yang sebenarnya ke dalam suatu model yang dapat
diterjemahkan ke dalam bentuk pemrograman
° Bisa menggunakan top down approach
° Ketika sudah diketahui detail terendah program desain detail dengan pseudocode atau diagram alur
• Pseudocode :
- metode mendesain untuk suatu program dengan
6
Mendesain Solusi
Mendesain Solusi
8
Menulis Program
° Disebut juga dengan coding
° Yaitu menterjemahkan persyaratan logika dari
pseudocode atau diagram alur ke dalam suatu bahasa pemrograman
• Perlu dipilih dulu bahasa pemrograman tingkat tinggi yang ingin digunakan
• Menulis program harus sesuai dengan aturan bahasa tingkat tinggi yang dipilih
Uji Program
° Untuk memastikan apakah program berjalan dengan baik
° Ada beberapa aktifitas pengujian yang dapat dilakukan: • Desk Checking
- membaca dan memeriksa program untuk memastikan program bebas kesalahan dan logika pemrograman berjalan dengan baik
• Debug Program
- mendeteksi, menempatkan dan memindahkan kesalahan pada sebuah program komputer. Kesalahan pada debug program ini dapat berupa sintaks yang salah atau logika program yang salah
10
Dokumentasi Program
° Berguna baik untuk owner program atau pengguna. ° Dokumentasi ini dapat dibuat untuk :
• Pengguna • Operator • Programmer
• Pemeliharaan program.
° Bila program dibuat dengan dokumentasi yang jelas, maka akan sangat efektif bila program akan
dikembangkan oleh developer program yang lain. ° Selain itu, pengguna atau operator juga memiliki
12
Bahasa Generasi Pertama
° Bahasa generasi pertama ini dikenal juga dengan nama bahasa mesin
° Berisi kode-kode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin komputer. ° Bahasa ini merupakan bahasa level terendah dan
berupa kode numerik 0 dan 1.
Bahasa Generasi Kedua
° Merupakan bahasa simbol dari bahasa mesin.
° Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly.
° Bahasa pemrograman ini merupakan bahasa level rendah yang dipakai oleh seorang programmer untuk menulis program dengan menggunakan singkatan atau kata yang lebih mudah diingat daripada angka.
• ADD untuk penjumlahan • MUL untuk perkalian
• SUB untuk pengurangan
° Namun dalam beberapa mesin simbol ini bisa
14
Bahasa Generasi Kedua
° Mulai diperkenalkan penerjemah bahasa : • Assembler
- yaitu program yang menerjemahkan program bahasa asembly menjadi bahasa mesin
Bahasa Generasi Ketiga
° Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih tinggi daripada bahasa assembly.
° Bahasa ini lebih dekat dengan bahasa manusia. ° Bahasa ini juga memberikan banyak sekali fasilitas
kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi,
prosedur dan lain-lain.
16
Bahasa Generasi Ketiga
° Mulai diperkenalkan penerjemah bahasa :
• Assembler
- yaitu program yang menerjemahkan program bahasa asembly menjadi bahasa mesin
• Kompiler
- program penerjemah bahasa yang mengonversi keseluruhan program dari suatu bahasa level tinggi
menjadi bahasa mesin sebelum komputer mengeksekusi program.
- Instruksi program dari bahasa prosedural disebut source code. Source code diterjemahkan menjadi object code
yang merupakan file executable
• Interpreter
Bahasa Generasi Keempat
° Disebut juga very high level language.
° Sering juga disebut sebagai spesific problem oriented language
• karena bahasa ini digunakan langsung untuk memecahkan suatu masalah tertentu seperti :
- report generator - query language
20 Tabel dosen_wali
Bahasa Generasi Kelima
° Biasa disebut dengan bahasa alami (natural language). ° Ada 2 jenis bahasa alami, yaitu :
• Bahasa manusia yang umum (Inggris, Spanyol, dsb)
• Bahasa pemrograman yang menggunakan bahasa manusia untuk memberikan koneksi lebih alami
antara orang dengan komputer
° Contoh, jika ingin mengetahui data pengiriman barang :
• “SAYA INGIN PENGIRIMAN PDA UNTUK
22
Bahasa Pemrograman Visual
° Dengan kemajuan yang telah dicapai saat ini, terdapat suatu metode pembuatan program di mana
programmer membuat koneksi antara objek-objek dengan cara :
• Menggambar • Menunjuk
• Mengklik pada diagram dan ikon • Berinteraksi dengan diagram alur.
° Metode ini disebut dengan pemrograman visual. ° Contoh tools :
Bahasa Markup
° Bahasa Markup adalah jenis coding atau tag yang disisipkan ke dalam teks yang memuat detail tentang struktur dan tampilan teks.
° HTML adalah contoh bahasa markup
24
Bahasa Markup
° Contoh lain :
• Virtual Reality Modelling/ Markup Language
- yaitu Jenis bahasa pemrograman yang digunakan untuk membuat halaman web tiga dimensi, termasuk animasi interaktif.
• Extensible Markup Language atau disingkat XML. - Tujuan diciptakannya XML ini adalah untuk membuat
sistem menjadi lebih sederhana dengan cara fokus pada satu masalah khusus dokumen pada internet sehingga seseorang dapat mendukung kemudahan pertukaran dokumen di internet.
26
Bahasa Scripting – JavaScript
° Script adalah daftar singkat dari perintah yang bisa
mengeksekusi sendiri yang ditambahkan pada halaman web yang melakukan fungsi atau rutin khusus.
• Misal untuk menghitung counter trafik pengunjung pada suatu situs.
• Contoh JavaScript
- yaitu bahasa scripting berorientasi objek yang populer yang banyak didukung dalam web browser untuk
ActiveX
° Merupakan satu set kontrol atau komponen yang dapat digunakan kembali
° Memungkinkan program atau isi dari hampir semua tipe dapat ditambahkan pada hal dapat ditambahkan pada suatu halaman web.
28
PERL
° Singkatan dari Practical Extraction and Report Language.
° Merupakan bahasa pemrograman untuk tujuan umum yang dikembangkan untuk
• memanipulasi teks • pengembangan web • pemrograman jaringan • administrasi sistem
Perbandingan Beberapa HLL
° Beberapa HLL yang akan diperbandingkan : • FORTRAN
• Basic • Pascal • Cobol
30
FORTRAN
° Bahasa ini biasa digunakan untuk aplikasi bisnis yang kompleks, seperti :
• Forecasting • Pemodelan
• Mengekspresikan rumus matematika.
° Kelebihan dari Fortran adalah :
• bisa menangani ekspresi matematika dan logika yang kompleks
• Pernyataannya cukup pendek dan sederhana
FORTRAN
° Kekurangan :
• Tidak menangani operasi input dan output pada peralatan penyimpanan seefisien bahasa lain yang levelnya lebih tinggi
• Memiliki keterbatasan untuk mengekspresikan dan memproses data non-numerik
32
COBOL
° Sering digunakan pada kalangan perbankan di era 1980-an.
° Keuntungannya :
• Tidak tergantung pada mesin
• Pernyataannya yang menyerupai bahasa inggris mudah dipahami
• Mampu menangani banyak file, record, dan field • Mudah menangani operasi input-output
° Sedangkan kelemahannya adalah :
• Karena begitu mudah dibaca, maka terkesan bertele-tele
34
BASIC
° Merupakan singkatan dari Beginner’s All-Purpose Instruction Code. Bahasa pemrograman ini mudah digunakan.
° Kekurangan pada bahasa pemrograman ini adalah :
• Kecepatan pemrosesannya relatif lambat, meskipun versi kompiler lebih cepat dibandingkan versi
interpreter
36
PASCAL
° Keuntungan :
• Mudah dipelajari
• Memiliki kapabilitas yang besar untuk pemrograman grafis
• Sangat bagus untuk keperluan ilmiah
° Kerugian
• Pascal membatasi input output kapabilitas
38
Bahasa C
° Keuntungan :
• Bisa bekerja dengan baik pada mikrokomputer • Memiliki portabilitas tinggi
• Cepat dan efisien
• Membuat programmer lebih bisa memanipulasi bits individu dalam memori utama
• Memerlukan memori lebih sedikit dibandingkan bahasa pemrograman lain
° Kerugian :
• C dianggap sukar dipelajari
• Karena konsistensinya, kodenya sulit diikuti • Tidak cocok untuk aplikasi yang memerlukan
40
LISP
° Merupakan bahasa generasi ketiga yang secara
khusus digunakan untuk menyusun kecerdasan tiruan. ° Digunakan juga untuk menulis sistem pakar dan
Belajar Pemrograman vs Bahasa Pemrograman
° Belajar pemrograman tidak sama dengan belajar bahasa pemrograman.
° Belajar pemrograman adalah belajar tentang : • strategi pemecahan masalah
• metodologi
• sistematika pemecahan masalah
• menuliskannya dalam notasi yang disepakati bersama.
° Belajar pemrograman bersifat pemahaman persoalan,
analisis dan sintesis serta menitikberatkan pada
42
Belajar Pemrograman vs Bahasa Pemrograman
° Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman terkait :
• aturan sintaks,
• tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa.
Produk vs Proses
° Produk akhir yang diharapkan dari seorang programmer adalah program dengan :
• rancangan yang baik (metodologis, sistematis), • dapat dieksekusi oleh mesin,
• berfungsi dengan benar,
• sanggup melayani segala kemungkinan masukan data dalam domain permasalahannya,
44
Produk vs Proses
° Beberapa kalangan berpendapat bahwa yang penting dalam sebuh pengembangan program adalah produk. ° Produk yang baik, mungkin dihasilkan oleh suatu
proses yang ‘kurang baik’.
° Karena hasil akhir yang dipoles sana sini secara tambal sulam.
° Dengan adanya proses yang baik, akan semakin