Monday, September 24, 2007

Dasar Pemrograman

Program Studi
S1 Teknik Informatika
UPI “YPTK“ Padang

IKHTISAR

• Paradigma Pemrograman
• Pemrograman dan Bahasa Pemrograman
• Pemroses Bahasa
• Alur Pengajaran Pemrograman di IF UPI “YPTK”


Paradigma Pemrograman
• Paradigma: sudut pandang penyelesaian persoalan dengan program
• Paradigma yang ada:
- Fungsional - Object Oriented
- Prosedural
- Deklaratif
- Event Driven


Area Pemrograman
• Tekstual versus Visual
• Desktop Based versus Internet Based
• Client Server versus N-Tier
• On Line versus batch program
• Program-program yang berinteraksi dengan device, device driver

Lingkungan Pemrograman

• Lingkungan: editor, kompilasi/interpretasi, run time environment.
• Program: source code
• Lingkungan Pemrograman
- Tekstual programming
- Visual programming
• Programming tidak sekedar coding
• Programming: membuat spesifikasi, implementasi, debugging, testing
• Belajar pemrograman tidak sama dengan belajar bahasa pemrograman. Analogi: belajar [kosakata, tatabahasa] Indonesia dengan belajar menulis makalah ilmiah dalam bahasa Indonesia
• Programming: art of science ?
• Kegiatan dalam pemrograman
- Simulasi dalam mencari solusi
- Analisis, pembuatan spesifikasi
- Program writing (coding)
- Program execution (observation, debugging, testing)
- Program reading
- Program correctness & complexity analysis


Macam-macam Programmer

• End user programmer, coder, compenent user
• Designer (small/medium/large scale SW, enterprise wide)
• System Programmer
• Tester

Bahasa-bahasa Pemrograman
• Fortran, Cobol, PL/1
• LISP, Scheme
• Prolog
• Basic, Pascal, C, Ada
• Simula, Eiffel, Java, C++, C#
• Delphi
• Visual Basic, VB Net, Visual Delphi, Visual C++

Pemroses Bahasa
• Compiler: menghasilkan object code, yang kemudian di link oleh linker menjadi executable code.
• Interpreter: menerjemahkan dan melaksanakan instruksi demi instruksi
• Masing-masing memiliki kelebihan dan kekurangan.




Software Engineering
• Software engineering (IEEE std 610.12- 1990):
1. The application of systematic disciplined, quantifiable, approach to development, operation and maintenance of software
2. The study of approached as in (1)


• Aplikasi dari proses engineering terhadap “program”. Biasanya program berskala besar.
• Program (source code) tidak sama dengan “software”. Analogi: rumah dengan gedung pencakar langit
• Software product: source code dengan dokumentasi [analisis, rancangan, implementasi, testing, versi, pengelolaan project]

Software Life Cycle
• Penentuan kebutuhan (requirement)
• Analisis, rancangan program
• Cancangan Implementasi [dalam suatu environment, pemakaian tools tertentu]
• Coding & debugging
• Testing
• Integration (untuk program skala besar)
• Maintenance

Alur Pengajaran di IF UPI “YPTK”
• Cakupan: konsep dan praktis
• Alur: mulai dari tekstual, tools sederhana, dan pemanfaatan tools
• Dari Programming kemudian software engineering
• Mahasiswa harus mengenal banyak paradigma dan mampu menginplementasikan (bukan hanya teori tetapi harus praktek untuk membangun SW berskala menengah/besar)


Penutup
• Apakah anda sudah dapat mengenali perbedaan atara paradigma pemrograman, bahasa pemrograman, pemrograman dan software engineering
• Apakah anda berminat menekuni bidang programming di Informatika?
• Bisakah anda membedakan macam-macam programmer?