Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PEMROGRAMAN TERSTRUKTUR

Presentasi serupa


Presentasi berjudul: "PEMROGRAMAN TERSTRUKTUR"— Transcript presentasi:

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

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

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

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

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 kipram

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 kipram

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

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 kipram

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 kipram

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 kipram

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

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 kipram

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

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

15 B. Histori 1. Zuse’s PLANKAKUL (1945) - tidak perlu di implementasi
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 | S | 1.n n A[4] + 1 = A[5] kipram

16 2. FORTRAN (FORmula TRANslation/1954) - bahasa tingkat tinggi pertama
-  dirancang untuk IBM 704 -  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 kipram

17 - not restriced by the problem of implementation
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 kipram

18 - dirancang untuk semua bahasa International Algorithmic
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 kipram

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 kipram

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

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 kipram

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; kipram

23 - ditemukan oleh John Dahl & Kristen Nygaard
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 kipram

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

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 kipram

26 1. PROLOG (PROgramming LOGic/1970)
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; kipram

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 kipram

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

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; END; kipram

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 kipram

31 e. Contemporary PL 1. Visual Basic - Contoh:
-  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 kipram

32 Procedure compute_click()
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 kipram

33 - dikembangkan oleh Sun Microsystem th 1991 dan dipasarkan
3.Java - dikembangkan oleh Sun Microsystem th 1991 dan dipasarkan 1995 - 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 kipram

34 #/usr/local/bin/perl
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 “<htm><body>”, print “Hello World<br>\n”, print “</body></htm>\n”, } kipram

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 “<frommethod=Get Action=result.php>”, print “<h2>Add Transcript Entry</h2>”, $result = pg_exec(“Select stude_id from student”); $rows = pg_numrows($result); print ”<table><tr><d>Subjecyt Code:</td>”, print “<td><select name=subj_code>”; print “<option value=CS21>CS21”, print “<option value=CS93>CS93”, print “<select></td></tr>”; kipram

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 kipram

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 kipram

38 1961-1965 Large, expensive computers FORTRAN IV
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 kipram

39 Pengaruh Language Small,inexpensive mass COBOL 74 (standard)
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 kipram

40 Pengaruh Language 1976-1980 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. 1990- skrg PC, LANs, OOP, Interacative, Open system, WEB Client server, dll kipram


Download ppt "PEMROGRAMAN TERSTRUKTUR"

Presentasi serupa


Iklan oleh Google