Introduction To Programming & Inggriani Liem (Revisi: Tim Pengajar IF2030 sem 1 2009-2010) 1
Ikhtisar Paradigma Pemrograman Pemrograman dan Bahasa Pemgrograman Pemroses Bahasa Pemrograman dan SW Engineering Alur pengajaran pemrograman di STEI 2
Paradigma Pemrograman Paradigma : sudut pandang penyelesaian persoalan dengan [program] Paradigma yang ada : Fungsional - Object Oriented Prosedural - Relasional Deklaratif - Konkuren Event driven - Real time 3
Area Pemrograman Tekstual versus Visual Desktop based versus Internet based Client Server - N-Tier Online versus Batch program Program-program yang berinteraksi dengan "device, device driver 4
Lingkungan Pemrograman Lingkungan : editor, kompilasi/interpretasi, run time environment. Mulai dari editor teks sederhana sampai dengan IDE. Program : source code Lingkungan pemrograman: Textual Programming Visual Programming 5
Pemrograman [1] Programming tidak sekedar coding Programming : membuat spesifikasi, implementasi, debugging, testing Belajar pemrograman tidak sama dengan belajar bahasa pemrograman. Analogi : belajar [tatabahasa, kosa kata] Indonesia dengan belajar menulis makalah ilmiah dalam bahasa Indonesia Programming : art or science? 6
Pemrograman [2] Kegiatan dalam pemrograman : utak atik, simulasi mencari solusi analisis, pembuatan spesifikasi program writing (coding) Program execution (observation, debugging, testing) program reading program correctness & complexity analysis 7
Contoh-contoh kesalahan program 1992, Mary (104 y.o.) from Minnesota received an invitation to attend a kindergarten A supermarket was fined $1000 for having meat 1 day too long, on Feb 29, 1988. (1988 was a leap year) 1991 Gulf War, a Scud missile penetrated the patriot antimissile shield and struck a barrack near Dhahran, Saudi Arabia, 28 were killed & 29 wounded. Problem: a cumulative time fault 8
Analogi dengan bidang lain Pemrograman dengan musik, menyopir mobil, Software engineering adalah salah satu bidang engineering yang muda. Akan diceritakan perbandingannya misalnya dengan Civil Engineering, Mechanical Engineering, Electrical Engineering dan di mana posisi program 9
Skala dan Kompleksitas Program Skala Program : relatif Program kecil (1 file, 50 LoC,.) Program Sedang Program Besar Selain skala, perlu diperhatikan kompleksitas program (algoritma kompleks, teknik pemecahan persoalan lanjut : Dynamic Programming, Branch and Bound, Advanced Searching, Advanced Data structure,..) Di IF ITB, akan diajar secara berjenjang 10
Macam-Macam programmer End user programmer, coder, component user Designer (small/medium/large scale SW, enterprise wide) Frame work and Component provider CASE Tools programmer System programmer Tester 11
Bahasa-bahasa Pemrograman Fortran, Cobol, PL/1 LISP, Scheme Prolog Pascal, Basic, C, Ada Simula, Eiffel, Java, C++, C# VB, Delphi-Pascal Visual C++ Javascript, VBScript HTML, XML, ASP, PHP, SQL Perl, Phyton B, Z, OZ, TCOZ Tahukah anda, bahwa ada lebih dari 500 bahasa pemrograman di dunia??? 12
Pemroses Bahasa Compiler : menghasilkan object code, yang kemudian di link oleh linker menjadi executable code Interpreter : menerjemahkan dan melaksanakan instruksi demi instruksi Masing-masing punya kelebihan dan kekurangan. 13
SW Engineering [IEEE std 610.12-1990] 1) The application of a systematic disciplined, quantifiable approach to the development, operation and maintenance of software (2) The study of approached as in (1) 14
Aplikasi dari proses engineering terhadap "program". Biasanya program skala "besar". Analogi: civil engineering, mechanical engineering, chemical engineering. Program (source code) tidak sama dengan "software". Analogi: rumah & pencakar langit Software product : source code dengan dokumentasi [analisis, rancangan, implementasi, testing, versi, pengelolaan projek] 15
Software Life Cycle Penentuan kebutuhan [requirement] Analisis, rancangan program Cancangan implementasi [dalam suatu environment, tools tertentu] Coding & debugging Testing Integration [untuk program skala besar] Maintenance 16
Alur Pengajaran Pemrograman Di udinus Dasar Pemrograman Algoritma dan Pemrograman Struktur Data Pemrograman berorientasi object Kuliah-kuliah lain Alur Khusus Alur Umum Rekayasa Perangkat Lunak Strategi Dan Analisa Algoritma 1
Pertanyaan??? 18