Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Kipram1 PEMROGRAMAN TERSTRUKTUR disusun oleh Ir KI PRAMONO HA, MMSi JAKARTA 2011.

Presentasi serupa


Presentasi berjudul: "Kipram1 PEMROGRAMAN TERSTRUKTUR disusun oleh Ir KI PRAMONO HA, MMSi JAKARTA 2011."— Transcript presentasi:

1 kipram1 PEMROGRAMAN TERSTRUKTUR disusun oleh Ir KI PRAMONO HA, MMSi JAKARTA 2011

2 BUKU REFERENSI 1. Kenneth C Louden : Programming Languages – Principles and Practice, 2nd Edition, PWD Publishing Company, Allen Tucker, Robert Noonan: Programming Languages, Prinsiples and Paradigms, McGraw Hill, 2002, ISBN Peter Van Roy, Seif Haridi : Concepts, Techniques, and Models of Computer Programming, MIT Press 2004 ISBN kipram2

3 B A B I PENDAHULUAN A. PSYCHOLOGY PROGRAMMING 1. PROGRAMMING as human performance * reading program - machine limitations - language limitations - programmer limitations - historical traces - specifications kipram3

4 * Bagaimana membuat program yang baik ?? - specifications - schedule - adaptability - effisiency * Bagaimana dapat belajar programming - Instropection - Observation - Experiment - Phychological measurement - Using behavioral kipram4

5 2. PROGRAMMING as a social activity * The Programming group - formal dan informal organisasi - lingkungan dan organisasi - error dan ego - egoless programming - creating dan pemeliharaan programming kipram5

6 * The Programming Team - Belajar dari form a.Program structure b.Team organization - Establisting dan hasil yang diharapkan - Team leadership dan team leaders - The team kondisi tertentu kipram6

7 * The Programming Project - perubahan stabilitas - pengukuran performance - strukture projek - problem sosial dalam projek yang besar kipram7

8 3. PROGRAMMING as an Individual activity - professional vs amatir programming - programmer uji coba : * effisiency * kecepatan pemprograman - Status programming - Faktor Personalitas * kondisi top/meledak * perubahan personal * variasi personal * kritis personal * testing * testing of programmers kipram8

9 - Intelligence or problem solving ability * psychological set * beberapa solusi * tehnik programming intelegence * aptitude tests * aptitude tests untuk programming - Motivation, Training and Experience * motivation * training, scheduling & education * belajar * bagaimana belajar programming kipram9

10 BAB II EVOLUSI BAHASA PEMROGRAMAN A. Paradigma a. Imperative Language - berorientasi pada action, perhitungan berurutan - specific order of execution pada instruksi - penggunaakan Procedural Programming Language - contoh : Fortran, Pascal dan C kipram10

11 b. Declarative Language - rules based language - rules yang specific bukan merupakan bagian - implemntasinya sistem harus memilih suatu order yang menghasilkan contoh : Prolog kipram11

12 c. Functional Language - menitik beratkan pada fungsi - fungsi harus sama dengan values dan merupakan bagian dari exoression serta dapat dilewatin menggunakan argument dan hasilnya ditempatkan pada data structure - contoh : SML, Miranda dan Haskell kipram12

13 d. Object-Oriented Languange - 3 key utama + abstract data type + inheritance + polymorphism (banyak ketergantungan) + contoh: Simula 67, C++, Java kipram13

14 e. Event-drive language - program logic depends on events - user di tuntut dalam membuata program - events: mouse clicks, key press - contoh: VB dan Delphi kipram14

15 B. Histori a. Bahasa Awal 1. Zuse’s PLANKAKUL (1945) - tidak perlu di implementasi - merupakan program kalkulus - lengkap semua feature dalam struktur data - notasi : | A + 1  A V | 4 5 S | 1.n 1.n A[4] + 1 = A[5] kipram15

16 2. FORTRAN (FORmula TRANslation/1954 ) - bahasa tingkat tinggi pertama - dirancang untuk IBM khusus untuk masalah-masalah scientific dengan notasi aljabar - merupakan induk semua bahasa tikngkat tinggi - Kontribusinya : + variable & Assignment statement + konsep dari type + modularity (subproram) + conditional/iterative control structure + formatted input/output kipram16

17 3. COBOL (Common Business Oriented Language/1960) - not restriced by the problem of implementation - dapat pengesahan dari US Dept. of Defense - Kontribusinya : + harus menggunakan nama yg tertentu + syntax : bahasa inggris + data division + struktur data record : heteregone + manipulation of files kipram17

18 4. ALGOL 60 - dirancang untuk semua bahasa International Algorithmic Language - Untuk semua feature FORTRAN dapat digunakan - Machine independent - Scientific problems - Masalahnya : + no input/output statement dengan format + salah satu bahasa hanya untuk publishing algorithms + kurang flexible, sulit dimengerti + sulit di implementasi - Kontribusinya : + data type, compound/campuran statement (procedure calls), nested IF (:=), semi dynamic array + BNF (Backus-Anur Form): notasi untuk menjelaskan syntax bahasa + block structure (scope variasi & scope controls statements) + Recursion kipram18

19 5. LISP (LISt Processing/ 1960) - Lists : kumpulan dari cell memory yg tidak kontinues dimana menggunakan chained dengan pointer) - Dikembangkan oleh John McCarthy di MIT - Dirancang untuk semua kebutuhan - Kontribusinya : + Non-numeric/symbolic computing + Konsep linked list + Konsep fungsi kipram19

20 6. APL (A Programming Language) - dikembangkan oleh Kenneth Iverson - mathematical processing - powerful operators menggunakan non-type array dalam primary struktur datanya kipram20

21 7. BASIC (Beginners All-purpose Symbolic Intruction Code) - oleh Thomas Kurtz dan John Kemeny di Dartmouth College - mudah dipelajari (tidak berorientasi scientific) - small language dan dapat diimplemenatsikan di komputer kecil dengan memory kecil - remote terminal access, time sharing - interactive kipram21

22 b. Algol Base 1. PL/1 (Programming Langauge One/1965) - oleh IBM - generalized programming language - dari ALGOL 60: block structure, control structure & recursion - dari FORTRAN: subprogram formatted input/output - dari COBOL : file manipulation & record structure - dari LISP : dynamic storage allocation & linked structure - dari APL : array operations - Kontribusinya : + cincurrency (multitasking) + exception handling (interupt-handling) + pointers - Contoh: ADD: PROCEDURE OPTIONS(MAIN); GET LIST(A,B); TOTAL=A+B; PUT LIST(TOTAL); END ADD; kipram22

23 2. SIMULA 67 - ditemukan oleh John Dahl & Kristen Nygaard - untuk simulatin purpose - turunan dari ALGOL 60 - block structure dan control statements - Kontribusinya : concept of class : perlindungan data dan procedure yang dapat mendukung dalam nomer objek kipram23

24 3. ALGOL 68 - General purpose (kebalikan dari ALGOL 60) - Kontribusinya : + dynamic arrays + complexity + user-defined data types kipram24

25 4. PASCAL (1969) - oleh Niklaus Wirth - dinamakan oleh Blaise Pascal - digunakan untuk bahan pelajaran di departemen computer - Kontribusi : + flexible control structure + user-defined data types + file record kipram25

26 c. Tahun 70an 1. PROLOG (PROgramming LOGic/1970) - Dikembangkan oleh Phillippe Roussel dlm AI Group di University of Marsille - Dirancang untuk Artifical Intelligence (AI) Applications - Notasi dasar mendefisinikan Objek dan relationships - Konsentrasi : + menitik beratkan pada objek dan relationshipnya + mendefinisikan rulenya + menjawab setiap objek da hubunganya - contoh : girl(cindy) boy(joseph) likes(cindy,joseph) ? – girl(cindy) yes ? – girl(joseph) no ? – likes(cindy,X) X=joseph ; kipram26

27 2. C - dikembangkan di Bell Laboratories th 1972 oleh Dennis Retchie - dikembangkan dari B language - powerful (kaya akan operator) tetapi sulit dibaca/ pelajari - diimplementasikan di UNIX kipram27

28 3. Modula 2 (1979) - dikembangkan oleh Niklaus Wirth pada Institute of Informatik di Zurich - digunakan untuk system programming (independent complation utk prosedure, asynchronous processings ) kipram28

29 4. Problem Pascal dengan Modula 2 addressed - array dan parameter array ukuran tetap - tidak ada pembagian prosedure dalam compilation - selalu dilakukan type pengecekan - case statement “no otherwise clause” - pemesanan type, procedure, constant dan variable harus tetap dan tegas - contoh: BEGIN N:=0;sum:=0.0; WriteString(“Enter series of numbers:”);writeln; ReadReal(X);Writeln; While Done DO N:=N+1; sum:=sum+X; ReadReal(X);Writeln; END; kipram29

30 d. Bahasa tahun 80an ADA - lebih banyak variasi maupun designnya - high level langauge untuk embedded system - perlindunagn untuk type data, data object dan prosedure - exception handling - generic program units - concurrency - diimplemntasikan untuk masalah besar dan kompleks kipram30

31 e. Contemporary PL 1. Visual Basic - evolusi dari BASIC - dikembangkan semenjak th 1991 oleh Microsoft - sekarang ada 6 versi dan.NET - Merupakan MS Windows Programming Language - Event-driven programming language - Dibuat dalam Integrated Development Environment (IDE) - Menggunakan RAD (Rapid Application Development) - Contoh: Private sub compute_click() Dim Sum as integer Sum = Val(num1.text) + Val(num2.text) Result.caption =”the sum of “ & num1.text & “ and “ & _ Num2.text & “ is “ & Str(sum) & “.” End sub kipram31

32 2. Delphi - drag and drop visual programming - menggunakan syntax Pascal - RAD tool untuk windows - Database development tool (dapat mengaccess variasi2 DBMS) - Ver 1 sampai 4 (Borland), Ver 5 : Inprise - Ver 5: high productivity development solution untuk Internet dan distrubuted computing - Contoh : Procedure compute_click() Begin Var sum:integer, Sum:= stringtolnt(num1.text) + stringtolnt(num2.text); Result.caption:=”the sum of” + num1.text + “and” +_ Num2.text + “ is “ + str(sum) + “.”, end kipram32

33 3.Java - dikembangkan oleh Sun Microsystem th 1991 dan dipasarkan oleh team (the Green Project) : Patrick Naughton, Mike Sherian dan James Gosling - machine independent - design untuk web programming - compiled dan interpreter - beberapa instruksi C atau C++ ada didalammnya khususnya untuk model processor - compiled untuk universal format (byte-code) dimana di gunakan dalam virtual machine kipram33

34 4. PERL (Practical Extraction and Report Language) - dibuat oleh Lary Wall - Interpreted language - Tool yang baik untuk pencarian dan re array yang besar, manipluasi file dan managing proses - Syntax : C atau C++ - Contoh : #/usr/local/bin/perl $RequestMethod = $ENV{“REQUEST_METHOD”}; if ($RequestMethod eq ””){ print “Executed using command line”, } else if ($RequestMethod eq “GET”) { print “Content-type: text/htm;\n”, print “ ”, print “Hello World \n”, print “ \n”, } kipram34

35 5. PHP (Hypertext Preprocessor ) - diluar server, cross-platform, HTML embedded scripting language - gabungan dari C, Java dan Perl - baik untuk men generated web - contoh: if (#addgrade==true){ print “ ”, print “ Add Transcript Entry ”, $result = pg_exec(“Select stude_id from student”); $rows = pg_numrows($result); print ” Subjecyt Code: ”, print “ ”; print “ CS21”, print “ CS93”, print “ ”; kipram35

36 3. YANG MEMPENGARUHI BAHASA Computer Capabilitas a. 60-an : magnetic tape storage, core memories, time sharing system dynamic storage methods, list processing b. 70-an : semiconductor memories, microcomputers, structured programming c. 80-an : personal computer, LANs, OOP, Interactive systems d. 90-an : workstations, opens system, client/sever, networks kipram36

37 Yang mempengaruhi programming language Pengaruh Language Primitive computers Assembly language Assembly & manchine Expremental High Level language programming language Foundation concepts : none in use today - subprograms - Data structure Possibility of high-level language Small,slow and expensive computer FORTRAN Magnetic tape mass storage systems ALGOL 58 and Compiler ALGOL 60 Software interpreters COBOL, LIPS Code optimization Dynamic storage management Linked data structure and list BNF grammars kipram37

38 Pengaruh Language Large, expensive computers FORTRAN IV Magnetic disk mass storage systems COBOL 61 Extended Operating Systems ALGOL 60 revised Multiprogramming SNOBOL Syntax directed compiler APL (as a notation "General purpose" as a language not implementation) design goal Instruction set compatible computer PL/1 of varying size, speed & cost FORTRAN 66 (standard) Large,expensive mass storage systems COBOL 65 (standard) Time sharing,interactive operating system ALGOL 68 SNOBOLA Microprogramming SIMULA 67 Optimizing compilers BASIC Translator writing systems APL\360 First 'standard' language Flexibility & generality as language design goal kipram38

39 Pengaruh Language Microcomputers Pascal Small,inexpensive mass COBOL 74 (standard) storage systems Proofs og program correctness PL/1 (standard) Structured programming Software engineering Reaction againts large, complex language Simplicity as a language design goal kipram39

40 Pengaruh Language Powerful,inexpensive computer Ada Large,inexpensive mass storage FORTRAN 77 (standard) systems Distributed computer systems Embedded computer systems Concurrent & real time programming using hight level languages Interactive programming environment Data abstraction Software components Formal semantic definitions Reliability & ease of maintenance as language design goals skrg PC, LANs, OOP, Interacative, Open system, WEB Client server, dll kipram40


Download ppt "Kipram1 PEMROGRAMAN TERSTRUKTUR disusun oleh Ir KI PRAMONO HA, MMSi JAKARTA 2011."

Presentasi serupa


Iklan oleh Google