Discovering Computers CHAPTER 13 COMPUTER PROGRAMMING & SOFTWARE DEVELOPMENT Chapter 13 Objectives Differentiate between machine , assembly languages, high-level languages Describe various ways to develop Web pages including HTML, scripting languages, XHTML, XML, WML, and Web page authoring software Identify and discuss the purpose of procedural programming languages Identify the uses of popular multimedia authoring programs Discuss the advantages and uses of visual programming languages List the 6 steps in the program development cycle Identify and discuss the characteristics of object-oriented programming languages Differentiate between structured design and object-oriented design Identify the uses of various nonprocedural languages and tools Explain the basic control structures used in designing solutions to programming problems Program Komputer & Bahasa Pemrograman Program Komputer Sekumpulan instruksi yang membuat komputer dapat menampilkan suatu tugas tertentu Bahasa Pemrograman: Menyajikan sintax, aturan kode instruksi yang dibutuhkan pada sebuah program komputer Computer Programs & Programming Languages low-level languages dan high-level languages Low-level language Machine-dependent runs only on one type of computer Machine and assembly languages are low-level High-level language Often machine-independent can run on many different types of computers Low-Level Languages: Machine Bahasa mesin Bahasa yang dapat langsung dikenali komputer Menggunakan binary digits (1 dan 0) dengan kombinasi huruf dan angka yang merepresentasikan binary digits Low-Level Languages: Assembly Bahasa rakitan (assembly language) Instruksi yang berupa singkatan dan kode yang memiliki arti khusus Source program berupa kode untuk dikonfersikan ke bahasa mesin Bahasa Level Tinggi Procedural Languages: BASIC, BASICA, GWBASIC, QBASIC COBOL FORTRAN PASCAL Object Oriented Languages JAVA Object Oriented C++ Object Oriented SMALLTALK Object Oriented Alice (game programming) Object Oriented (based on Java) VISUAL BASIC .NET Object Based The Program Development Cycle: 6 Steps Siklus membangun program Langkah-langkah yang dilakukan programmer dalam membangun program Programming team—Beberapa programer yang membuat program The Program Development Cycle is Step 4 in the System Development Life Cycle (SDLC) Step 1 — Analisa Kebutuhan Yang termasuk kegiatan menganalisa kebutuhan? 1. 2. 3. Mereview kebutuhan Bertemu sistem analis dan pengguna Mengidentifikasi input, output, pemrosesan dan komponen data IPO chart IPO chart— Mengidentifikasi input program, outputs, dan step pemrosesan Step 2 — Design the Solution Apa saja yang termasuk dalam perancangan solusi? Two approaches Devise solution algorithm, step-by-step procedure to solve problem Object-oriented design Structured design, sometimes called top-down design Programmer begins with general design and moves toward detailed design Step 2 — Design the Solution hierarchy chart Menampilkan modul program secara grafis & relasinya Disebut juga Structure Chart atau VTOC: Visual Table of Contents Step 2 — Design the Solution Object-oriented design (OOD) Programmer mengemas data dan metode (procedures) dalam unit tunggal, disebut object Objek dikelompokkan menjadi kelaskelas A Class Diagram secara grafis merepresentasikan hubungan hirarkis antar kelas Step 3 — Validasi Desain Apa saja yang termasuk dalam validasi desain? Check program design for accuracy Desk check programmers use test data to step through logic Test data sample data that mimics real data that program will process p. 13.32 Programmer checks logic for correctness and attempts to uncover logic errors Logic error design flaw that causes inaccurate results Structured walkthrough programmer explains logic of algorithm while programming team steps through program logic Next Step 4 — Implement the Design Implementation? (Coding,testing,debugging) Menulis kode yang diterjemahkan dari desain ke program Syntax—aturan yang menspesifikkan bagaimana untuk menulis instruksi Comments—dokumentasi program Extreme Programming (XP)—coding dan segera setelah persyaratan ditetapkan Step 5 — Test the Solution Apa saja yang termasuk dalam pengujian solusi? Ensure program runs correctly and is error free Alpha & Beta testing: What is the difference ? Debugging—locating and correcting syntax and logic errors, or bugs Test copy of program, called beta, sometimes used to find bugs Step 6 — Document the Solution Apa saja yang termasuk dalam dokumentasi solusi? Programer melakukan dua aktivitas Mereview kode program— menghilangkan dead code yaitu program instruksi yang tidak pernah dieksekusi Mereview dokumentasi Algoritma Algorithm: langkah-langkah prosedur untuk menyelesaikan masalah. Masalah yang diselesaikan TIDAK harus berupa program komputer Prosedur untuk mengganti ban mobil yang kempes juga merupakan algoritma, prosedur untuk merakit sepeda, membuat kue, atau membangun rumah Coding Computer Programs Apa saja yang termasuk pengkodean program? Two steps: 1. Menterjemahkan solusi algoritma ke dalam bahasa pemrograman 2. Memasukkan kode bahasa pemrograman ke dalam komputer Setiap bahasa pemrograman memiliki sintax yang spesifik Next p.15.13 Syntax Sekumpulan grammar dan aturan yang menspesifikan bagaimana menulis instruksi untuk suatu algoritma solusi Testing Programs and Run time Errors Run time error Kegagalan program yang terjadi ketika program dieksekusi. Programmer menggunakan data (good, bad, none) dengan senaja menyebabkan run time error untuk menguji program. Contoh run time errors: Input file not found Division by zero Array Index out of bounds Buffer overflow General Protection Fault (GPF) (Memory overrun) Dividing a Number by Zero G = 1234.56 / .00000000000000000001 (Divisor approaches zero 0 ) (Then, invert and multiply) Example: x = a / 1/b = ab G = 1234.56 x 10 ** 320 (G is a very large number) Jika terlalu besar, akan memenuhi register datanya. Infinity symbol Debugging Computer Programs Debugging Proses mengkoreksi sintax dan eror logika dalam program Error berarti bug Kata bug pertama kali dikenal dalam bahasa pemrograman COBOL (1959) Debug Utilities Debug utility Software Computer: debugger Tersedia dengan banyak kompiler Memungkinkan mengidentifikasi kesalahan sintax dan menemukan kesalahan logika Programmer can menguji nikai keluaran program saat program berjalan slow motion Next p.15.14 Millennium Bug Also called the Y2K bug Took effect when the computer date rolled over to January 1, 2000 Non Y2K compliant computers read the date as 01/01/00 Y2K Computation (Example of error) currentYear = 00; // Using a 2-digit value for year yearOfBirth = 1990; Age = currentYear – yearOfBirth; Age = 0 – 1990 Age = -1990 // Ridiculous value for Age ! currentYear = 2011; // Correct 4-digit year Age = 2011 – 1990 Age = 21 // Correct age http://www.y2ktimebomb.com/ Year 2038 Unix Y2K Bug http://en.wikipedia.org/wiki/Year_2038_problem The year 2038 problem (also known as the Unix Millennium Bug, Y2K38, Y2.038K, or S2G by analogy to the Y2K problem) The problem affects all software and systems that both store system time as a signed 32-bit integer, and interpret this number as the number of seconds since 00:00:00 UTC on Thursday, 1 January 1970. Times beyond this moment will "wrap around" and be stored internally as a negative number, which these systems will interpret as a date in 1901 rather than 2038. Y2K Problem Examples Visit: http://en.wikipedia.org/wiki/Y2K In the C programming language, the standard library function to get the current year originally did have the problem that it returned only the year number within the 20th century, and for compatibility's sake still returns the year as year minus 1900. Many programmers in C, and in Perl and Java, two programming languages widely used in Web development that use the C functions, incorrectly treated this value as the last two digits of the year. On the Web this was a mostly harmless bug, but it did cause many dynamically generated webpages to display January 1, 2000, as "1/1/19100", "1/1/100", or variations of that depending on the format. Division Computation (Example of error) int num1 = 167; int num2 = 0; int result; if (num2 != 0) result = num1 / num2; else // Divide num1 by num2 num2 = 1; result = num1 / num2; print (“Error:Attempt to Divide by zero”); // Causes program to crash // Cannot divide by zero Designing Computer Programs Top-down design Memecah spesifikasi satu program ke dalam bagian yang lebih mudah dikelola Hal ini disebut module Mengidentifikasi fungsi utama program, yaitu main routine atau main module Decompose (break down) main routine ke dalam sections yang lebih kecil subroutines Analisa tiap subroutine untuk menentukan apakah dapat di dekomposi lagi Melanjutkan mendekomposisi subroutines sampai maing-masing menampilkan fungsi tunggal Bagian dari program yang melakukan fungsi tunggal adalah modul Structured Computer Program Design Desain terstruktur Suatu teknik membangun program dengan mengkombinasikan 3 struktur kontrol dasar Struktur kontrol adalah rencangan yang menentukan urutan logis ari instruksi program Masing-masing modul terdiri dari lebih dari satu struktur kontrol Next p.15.6 Sequence control structure Selection control structure Repetition control structure Sequence Control Structure Sequence control structure Menampilkan satu atau lebih aksi yang saling berurutan. Aksi: Inputs Processes Outputs Next p.15.7 Fig. 15-5 Selection Control Structure (IF-THEN-ELSE) Selection Control Structure Memberitahu program aksi mana yang akan diambil, berdasarkan kondisi tertentu 2 tipe umum struktur selection kontrol Next p.15.7 if-then-else control structure case control structure Selection Control Structure (IF-THEN-ELSE) IF-THEN-ELSE Memungkinkan program untuk mengevaluasi kondisi dan menghasilkan 2 kemungkinan: true atau false Jika hasilnya true, program menampilkan aksi Jika hasilnya salah, program Menampilkan aksi yang berbeda Next p.15.7 Fig. 15-6 Selection Control Structure (IF-THEN-ELSE) A = 12 // Assign 12 to integer variable A B = 65 // Assign 65 to integer variable B IF ( A > B ) // The true condition, if A greater than B PRINT “The Internet is a great source of info!” PRINT “Have a nice day !” ELSE // The false condition: means A <= B PRINT “This is the false condition” PRINT “Please study for the final exam !” Infinite Loops boolean loopSwitch = true; // 1 bit is set int count = 5; while (loopSwitch) // Loop if loopSwitch is true { System.out.println(“Count is: “ + count); count = count – 1; // Subtract 1 from counter if (count = = 0) // When count reaches 0, stop loop loopSwitch = false; // Causes loop to end } NESTED IF STRUCTURE (pseudocode) IF (SCORE >= 90) // Nested IF “ladder” GRADE = ‘A’; // Assign letter grade of ‘A’ ELSE IF (SCORE >= 80) GRADE = ‘B’; ELSE IF (SCORE >= 70) GRADE = ‘C’; ELSE IF(SCORE >= 60) GRADE = ‘D’; ELSE // Note: SCORE is <= 59 GRADE = ‘F’; CASE ENTRY STRUCTURE(pseudocode) INPUT SCORE SCORE = (int) SCORE / 10; // Make score between ( 0 <= SCORE <= 10) SWITCH (SCORE) // Case Entry is more efficient than a Nested-IF ladder BEGIN SWITCH BEGIN CASE CASE 10: GRADE = ‘A’; BREAK; CASE 9: GRADE = ‘A’; BREAK; CASE 8: GRADE = ‘B’; BREAK; CASE 7: GRADE = ‘C’; BREAK; CASE 6: GRADE = ‘D’; BREAK; DEFAULT: GRADE = ‘F’; END CASE END SWITCH PRINT GRADE // Next statement after the END SWITCH The CASE Control Structure Case control structure Suatu kondisi yang menghasilkan satu dari empat atau lebih kemungkinan; kondisi terakhir biasanya merupakan kondisi default atau kondisi error. CASE lebih cepat daripada IF bersarang (nested IF) Next p.15.7 Fig. 15-7 Repetition Control Structure (Looping) Repetition control structure Disebut juga iteration control structure atau loop Digunakan ketika program menampilkan satu atau lebih aksi yang berulang selama kondisi tertentu ditemui 2 Bentuk: Next p.15.8 Do While control structure Do Until control structure Do While Control Structure (Looping) Struktur Do While Selalu berulang selama kondisinya benar Next p.15.8 Fig. 15-8 Menguji kondisi di awal loop Jika hasilnya benar, program mengeksekusi aksi di dalam loop Program berulang kembali dan menguji kondisi sekali lagi Looping berlanjut sampai kondisi salah DO WHILE LOOP: EXAMPLE 3000-READ-A-RECORD // Read a record from input file FLAG = 0 // Set loop control flag to zero DO WHILE (FLAG = 0) // Loop as long as FLAG is zero 2000-COMPUTE-PAY 2500-PRINT-PAY-RECORD 3000-READ-A-RECORD // Read next record in file IF END-OF-FILE // If End-Of-File (EOF) is detected FLAG = 1 ELSE NULL ENDIF END DO WHILE DO WHILE LOOPS Given the following pseudocode, what are the values of COUNTER and SUM when they are printed by the PRINT statement? Use the Gauss formula: Sum = N*(N+1)/2 COUNTER = 0 SUM = 0 DO WHILE (COUNTER < 11) COUNTER = COUNTER + 1 SUM = SUM + COUNTER END DO PRINT COUNTER, SUM COUNTER = ____ SUM = ______ Do Until Control Structure (Looping) Do Until Menguji kondisi di akhir perulangan Aksi akan selalu dieksekusi paling tidak 1 kali Melanjutkan looping sampai kondisi benar dan berhenti Next p.15.8 Fig. 15-9 DO UNTIL LOOP FLAG = 0 3000-READ-A-RECORD // Read first record from input file DO // Start of DO UNTIL loop 2000-COMPUTE-PAY // Invoke COMPUTE-PAY module 2500-PRINT-PAY-RECORD 3000-READ-A-RECORD // Read next record from file IF END-OF-FILE FLAG = 1 ELSE NULL ENDIF UNTIL (FLAG = 1) // If FLAG is 1, exit the DO-UNTIL Loop END DO // End of DO UNTIL loop COUNT CONTROLLED LOOPS SUM = 0 // SUM is an Accumulator FOR I = 1 TO 10 SUM = SUM + I // 1 + 2 + 3 + … + 10 NEXT I SUM = 0 // Without a loop, the statements would have to be written I=1 // many times, making the program very long… SUM = SUM + I // SUM = 0 + 1 I=2 SUM = SUM + I // 1 + 2 = 3 (SUM) // Handy formula for this series: SUM = N (N + 1) /2 SUM = 10 ( 10 + 1) /2 = 10 (11)/2 = 5 * 11 = 55 PRINT SUM // 55 is the printed SUM Program Design Guidelines Entry dan exit points Modul program sering memiliki struktur kontrol di dalamnya Masing-masing kontrol harus memiliki entry point dan exit point Next p.15.9 Fig. 15-10 Solution Algorithms for Computer Programs 3 Solusi algoritma Disebut juga logika program. Suatu deskripsi grafis atau tertulis dari langkahlangkah prosedur dalam suatu modul. Untuk membantu membangun algoritma solusi, programer menggunakan tools desain. Next p.15.9 Program flowchart NassiSchneiderman charts Pseudocode Flowcharting Computer Programs Program Flowchart Menunjukkan logika dalam suatu algoritma solusi Mengikuti suatu standar yang dipublikasikan oleh American National Standards Institute (ANSI) in the early 1960s Next p.15.9 Fig. 15-11 Flowcharting Computer Programs Menggambar flowchart Sebagian besar simbol terhubung dengan garis tegas yang menunjukkan arah program Dotted lines connect comment symbols Next p.15.10 Fig. 15-12 A comment symbol or annotation symbol Explains or clarifies logic Flowcharting Computer Programs: Software Perangkat lunak flowchart? (Visio, SmartDraw) Digunakan untuk membangun flowchart Mudah untuk dimodifikasi dan diupdate Next p.15.10 Fig. 15-13 Nassi-Schneiderman (N-S) Charts Nassi-Schneiderman (N-S) chart Menampilkan secara grafis logika dari suatu solusi algoritma Disebut juga dengan flowchart terstruktur: Process, Do-While loop, IF, Case Next p.15.11 Fig. 15-14 Pseudocode for Computer Program Design Pseudocode Menggunakan bahasa untuk menyampaikan logika dari program komputer Memanfaatkan 3 struktur kontrol dasar Menggabungkan bahasa dengan 3 struktur kontrol dasar Next p.15.12 Fig. 15-15 Procedural Languages (3GL) Procedural language p. 13.04 (3GL) Programmer memberikan nama untuk urutan instruksi yang memberitahu komputer apa yang akan dicapai dan bagaimana melakukannya Uses a series of English-like words to write instructions Often called third-generation language (3GL) Examples: BASIC, COBOL, and C Next Procedural Languages: Compilers compiler Program yang mengkonversi source program ke mesin language (0’s, 1’s) sebelum mengeksekusi p. 13.05 Fig. 13-4 Next Procedural Languages: Interpreters Interpreter Program yang menterjemahkan dan mengeksekusi satu program dalam satu waktu Tidak menghasilkan EXE (binary code) file yang di eksekusi p. 13.05 Fig. 13-5 Next Procedural Languages: BASICA, QBASIC BASIC (BASICA, GWBASIC, QBASIC) Simple, bahasa pemrograman interaktif Beginner’s All-purpose Symbolic Instruction Code p. 13.06 Fig. 13-6 Next Procedural Languages: COBOL COBOL (Developed in 1959) Di desain untuk aplikasi bisnis Statement berbentuk seperti bahasa Inggris Englishmembuat kode mudah dibaca, ditulis, dan dimaintain COmmon Business-Oriented Language p. 13.06 Fig. 13-7 Next Procedural Languages: C C (Developed in early 1970’s by AT&T) Bahasa pemrograman powerful yang di desain secara original untuk membangun software. Mengeksekusi dengan cepat seperti C++ Membutuhkan skill pemrograman profesional p. 13.07 Fig. 13-8 Next Object-Oriented Programming Languages Object-oriented programming (OOP) language Used to implement object-oriented design Object is item that contains data and procedures that act on data p. 13.07 Major benefit is ability to reuse existing objects Event-driven— checks for and responds to set of events C++ and Java are complete object-oriented languages Event is action to which program responds Next Object-Oriented Programming Languages C++ Terdiri dari elemen C, dan fitur tambahan untuk bekerja dengan konsep object-oriented Digunakan untuk membangun database dan aplikasi web Java: based on C++ p. 13.08 Fig. 13-9 Next C++ Programming Language / Demonstrates the declaration of a class and the // definition of class methods C++ Program: CAR.CPP #include <iostream.h> // For cout function #include <stdio.h> // For the gets() function #include <conio.h> #include <ctype.h> class Car // Declare the class { public: // Begin public section void Start(); // Accessor function void Accelerate(); // Accessor function void Brake(); // Accessor function void HonkHorn(); // Accessor function void SetYear (int year); // Accessor function int GetYear(); // Accessor function void SetCylinders (int cyl); // Accessor function int GetCylinders(); // Accessor function void SetSpeed (float speed); // Accessor function float GetSpeed(); // Accessor function private: // Begin private section int Year; // Member variable int Cylinders; // Member variable int Speed; // Member variable }; // End of class car Object-Oriented Programming Languages Java (1995) Dibangun oleh Sun Microsystems. Program Java dikompile ke dalam Bytecode. Sama dengan C++ tapi digunakan secara just-in-time (JIT) untuk mengkonfersi source code ke dalam kode mesin. p. 13.08 Fig. 13-10 Next Java Sudoku Puzzle Java Game Links Text Twist Game (in Java): http://www.gamefools.com/onlinegames/free/SuperTex tTwist.html Java Sudoku Puzzle (runs as an applet on a Web page) http://sudoku.klaas.nl/ Java Applets Example <html> <head> <title> House Class Applet Demo </title> </head> <body> <applet code = "HouseApplet.class" width = 600 height = 500 > </applet> </body> </html> Java Applets Minimal dibutuhkan 3 file: HouseApplet.java HouseApplet.class HouseApplet.html (Java source code) (bytecode file) (HTML file which refers to HouseApplet.class) Nonprocedural Languages: 4GLs: SQL Fourth-generation language (4GL) Bahasa non prosedural yang memungkinkan pengguna mengakses data di database 4GL yang terkenal adalah SQL, query language yang memungkinkan pengguna untuk memange database rasional DBMS p. 13.13 Fig. 13-15 Next Object-Oriented Programming Languages Visual Programming Language (a 5GL) Visual programming environment (VPE) memungkinkan developer untuk drag dan drop objects to build programs Examples: Visual Basic .NET Visual C++ Visual J# Provides visual or graphical interface for creating source code Sometimes called Fifth generation language Often used in a RAD (rapid application development) environment p. 13.09 Programmer menulis dan mengimplementasikan program dalam segmen Next Object-Oriented Programming Languages Visual Studio 2010 Cocok dengan bahasa pemrograman visual dan RAD tools .NET adalah sekumpulan teknologi yang mungkin dijalankan di internet Visual Basic digunakan untuk membangun objek yang kompleks Step 1. The Step 2. The programmer programmer designs the user interface. assigns properties to each object on the form. Step 3. The programmer writes code to define the action of each command button. p. 13.10 Step 4. The programmer tests the application. Next Object-Based Programming Languages Visual Basic 2010 (VB .NET) adalah bahasa pemrograman visual yang dapat digunakan untuk membangun program berorientasi objek. VB 2010 berdasarkan pemrograman Visual Basic yang dibangun oleh Microsoft di awal 1990. VB 2010 adalah bahasa pemrograman yang baik meskipun tidak mudah. Object-Oriented Programming Languages Visual C++ 2010 dan Visual C# 2010 (pronounced Visual C sharp). Sangat handal! Programmers dapat membangun software pada semua platform! Visual C# 2010 adalah bahasa pemrograman yang dibangun pada platform NET platform yang lebih mudah daripada C++ Object-Oriented Programming Languages Visual C# 2010 (C# artinya “C – sharp”) adalah bahasa pemrograman visual yang mengkombinasikan features C++ dengan lingkungan yang lebih mudah. More on C# (C-Sharp) C# (dibaca "see sharp" or "C Sharp") adalah satu dari banyak bahasa pemrograman .NET programming languages. Berorientasi objek, dan mengijinkan menggunakan komponen (reusable) untuk berbagai jenis aplikasi. Microsoft memperkenalkan C# pada 26 Juni 2000 dan meluncurkan produk v1.0 pada 13 Februari 2002. C# adalah evolusi dari keluarga C dan C. Meskipun demikian, meminjam fitur dari bahasa pemrograman yang lain, seperti Delphi dan Java. Jika dilihat dari sintax paling dasar, C# dan Java, kode kelihatan sangat mirit, namun kode kelihatan tidak seperti C++ C# tutorials: http://www.csharp-station.com/Default.aspx Object-Oriented Programming Languages Visual J# 2010 (J# artinya “JAY – sharp”) Adalah bahasa pemrograman visual yang memungkinkan Java dibangun dalam lingkungan .NET. Programmer yang familiar dengan Java atau Visual J++ dapat dengan mudah bermigrasi ke Visual J# 2010 Di perkuliahan sering diajarkan J# sebab lebih mudah untuk belajar dari pada bahasa C Object-Oriented Programming Languages Delphi (dari Borland Software) Bahasa pemrograman visual yang powerful Ideal untuk perusahaan skala besar p. 13.11 Fig. 13-12 Next Object-Oriented Programming Languages Delphi Delphi dapat digunakan untuk membangun program seperti Windows, Linux, dan .NET Delphi memiliki lebih banyak fungsi dari pada Visual Basic .NET tapi lebih sulit digunakan. p. 13.11 Fig. 13-12 Next Object-Oriented Programming Languages PowerBuilder (Sybase Corp.) Bahasa pemrograman visual lain yang powerful Berbasis web dan aplikasi berorientasi objek Menggunakan tool pemrograman RAD p. 13.12 Fig. 13-13 Next Web Page Development HTML HTML (Hypertext Markup Language) Bahasa pemrograman spesial yang digunakan untuk membuat web p. 13.16 Fig. 13-18 Next Web Page Development HTML A Web page is a file that contains both text and HTML tags. Examples of tags: <html> <head> <title> ITE100 Web Page example </title> </head> <body> ( Most of the HTML code goes here ) </body> </html> Web Page Development HTML Example <HTML> <HEAD> <TITLE> ITE 100 Sample Web Page</TITLE> </HEAD> <BODY> <CENTER> <IMG SRC = “bigwood.gif” HEIGHT = 75 WIDTH = 170> </CENTER> <P><ADDRESS> Nova Community College <BR> 15200 Neabsco Mills Road </BR> <BR> Woodbridge, Virginia 22191</BR> </ADDRESS> </BODY> </HTML> p. 13.16 Fig. 13-18 Next A Basic Web Page XP http://www.nvcc.edu/home/phealy/ElmerFuddHomePage.htm • • • • • • • • • • • • • • • • • <html> <head> <title>My Test Page at Woodbridge Campus</title> </head> <body> <center> <img src =“ElmerFudd.jpg”> alt=“Elmer Fudd Photo” /> </center> <p> <h2><center>Woodbridge Campus</center></h2> <h2><center><b>Web page developed by Elmer P. Fudd.</b><center></h2> </p> <p> The NOVA Woodbridge Campus is located in Northern Virginia. </p> </body> </html> Tutorial 1 New Perspectives on HTML and XHTML, Comprehensive Microsoft Visual Basic Page 677 Figure 13-16 Discovering Computers 2011: Living in a Digital World Chapter 13 80 Microsoft Silverlight http://www.microsoft.com/SILVERLIGHT/ Silverlight adalah halaman web authoring program yang juga memungkinkan pengembang Web untuk menggabungkan konten interaktif dengan teks, audio grafis, dan video. Berdasarkan .NET framework dan bekerja dengan sejumlah bahasa termasuk JavaScript, Ruby, C#, dan Visual Basic .NET Dapat berjalan di Windows, Mac OS X, Linux platforms Web Development Software Web page authoring software Membangun Web tanpa HTML Software ini mengenerate HTML code Dreamweaver Flash http://www.adobe.com/products/flash/ Microsoft Expression Web Visual Web Studio by Microsoft Dreamweaver Flash Expression Web p. 683 Web Page Development: XHTML p. 13.20 Next Web Page Development: XHTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta name="Keywords" content="CIW, Foundations, Example"/> <meta name="Description" content="For the CIW Foundations Course"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!-- <link rel="stylesheet" type="text/css" href="myform.css" title="stylesheet"/> -> <!-- Patrick Healy, NVCC-Woodbridge --> <title>Basic Web Form for ITE Classes</title> </head> <body> <h1>Basic NVCC XHTML Input Form</h1> <form method="post" action="http://ss1.ciwcertified.com/cgi-bin/process.p1"> p. 13.20 Next Web Page Development: XHTML <strong>Enter Your Name: <input type = "text" name="Name" size="47"/></strong> <br/> <br/> <strong> Enter Your Email Address: <input type = "text" name="Email" size="40"/></strong> <br/> <br/> <strong>Do you want to be adding to our mailing list?</strong> <input type="radio" name="AddToList" value="yes" checked="checked"/>Yes <input type="radio" name="AddToList" value="no" />No <br/> <br/> Which campus of NVCC to you regularly visit ? (Check all that apply): </br> <input type="checkbox" name="Alexandria"/> Alexandria <br/> <input type="checkbox" name="Annandale"/> Annandale <br/> <input type="checkbox" name="Loudon"/> Loudon <br/> <input type="checkbox" name="Manassas"/> Manassas <br/> <input type="checkbox" name="Woodbridge"/> Woodbridge <br/> <br/> <br/> p. 13.20 Next Web Page Development: XHTML How often do you want to receive an Email from NOVA? <br/> <select name="EmailFreq"> <option>Every Day </option> <option> Once a Week </option> <option> Once every two weeks </option> <option> Once a Month </option> <option value="Remove">Never </option> </select> <br/> <br/> Where would you like to vacation? (Choose all that apply) <br/> <select name="vacation" multiple="multiple" size="4"> <option>Hawaii</option> <option>Virgin Islands</option> <option>Canada</option> <option>France</option> <option>Mexico</option> </select> <br/> <br/> <input type="submit"/> <input type="reset"/> </form> </body> p. </hmtl> 13.20 Next Web Developer Software Perl Python PHP4, PHP5, PHP6(beta) Adobe Dreamweaver Adobe Flash NetObjects Fusion Perl Perl adalah bahasa pemrograman tingkat tinggi, general, diinterpretasikan, dan dinamis dinamis. Perl awalnya dikembangkan oleh Larry Wall pada tahun 1987 sebagai bahasa scripting untuk Unix untuk membuat pengolahan laporan lebih mudah. [1] [2] Sejak itu, telah mengalami banyak perubahan dan revisi dan menjadi sangat populer di kalangan programmer. Larry Wall terus mengawasi perkembangan bahasa inti, dan versi mendatang, Perl 6 Perl Syntax my $a = 5; $a++; # $a is now 6; we added 1 to it. $a += 10; # Now it's 16; we added 10 to $a $a /= 2; # And divided it by 2, so $a is 8 #!/usr/bin/perl print "Content-type: text/html \n\n"; #HTTP HEADER #CREATE STRINGS WITH ESCAPING CHARACTERS $string = "David paid \$4.34 for Larry\'s shirt."; $email = "youremail\@youremail.com"; #PRINT THE STRINGS print "$string<br />"; print "$email<br />"; print '$string and $email'; PHP Syntax <html> <head> <title>PHP Test</title> </head> <body> <?php echo "Hello World"; /* echo("Hello World"); works as well, although echo isn't a function, but a language construct. In some cases, such as when multiple parameters are passed to echo, parameters cannot be enclosed in parentheses. */ ?> </body> </html> Multimedia Software Development Multimedia authoring software Mengkombinasikan text, grafis, animasi, audio, and video ke presentasi interaktif Digunakan untuk pelatihan berbasis komputer dan pelatihan berbasis web Software termasuk Toolbook, Authorware, and Director p. 13.22 Fig. 13-23 Next Multimedia Development: ToolBook ToolBook, oleh SumTotal Systems memiliki sebuah GUI dan menggunakan suatu pendekatan object-oriented. Developers dapat merancang aplikasi multimedia menggunakan objek dasar seperti tombol, fields, graphics, backgrounds, dan pages. ToolBook, developers dapat mengkonversikan aplikasi multimedia kedalam bentuk HTML dan Java jadi dapat didistribusikan melalui internet. ToolBook dapat digunakan untuk membangun isi dari kursus jarak jauh. Next Multimedia Development: Authorware 7 Authorware, Adobe, suatu software multimedia untuk menulis program yang menyajikan tool bagi kebutuhan developer untuk membangun mrogram pendidikan dan pelatihan multimedian. Authorware menawarkan lingkungan yang powerful bagi pembuatan majalah, katalog, daftar referensi dan judul untuk CD-ROM dan DVD-ROM. User perlu membangun software plug-in Shockwave untuk menampilkan aplikasi khusus. http://www.adobe.com/products/authorware/ p. 13.22 Fig. 13-23 Next Multimedia: Adobe Director Director Adobe, adalah suatu program penulisan yang populer yang menyajikan fitur powerful untuk membangun aplikasi dan game multimedia interaktif Fitur Director’s cocok untuk membuat presentasi elektronik. Pengguna memerlukan software Shockwave untuk aplikasi-aplikasi tertentu http://www.adobe.com/products/director/ p. 13.22 Fig. 13-23 Next Other Programming Languages Bahasa Pemrograman lain: ALGOL ADA FORTH FORTRAN p. 13.22 HYPERTALK MODULA-2 LOGO PILOT APL PL/I PROLOG LISP PASCAL SMALLTALK Next Other Programming Languages LISP: LISt Processing– digunakan untuk aplikasi AI. (began in 1958) Logo: Digunakan untuk mengajar siswa pemrograman dan pemecahan masalah. Pascal: digunakan untuk mengajar pemrograman terstruktur. Modula-2: Penerus Pascal; digunakan untuk membangun sistem perangkat lunak. PL/I: Kombinasi dari FORTRAN & COBOL Smalltalk: Bahasa pemrograman berorientasi objek Nanotech: Computers of the Future Menurut sebuah artikel 2007 November Computer World, disk drive magnetik di laptop dan perangkat lainnya akan digantikan dengan nanoteknologi dalam tahun-tahun mendatang, yang akan sangat mempercepat kinerja. LiveScience.com juga melaporkan pada bulan Juli 2008 bahwa para peneliti telah menciptakan DNA buatan pertama, yang akan mempengaruhi kemajuan teknologi, termasuk komputer. Seorang insinyur keamanan dan ahli teknologi yang ingin tetap anonim karena sifat dari pekerjaannya, menjelaskan: " Berkaitan dengan nanoteknologi dan DNA buatan, komputer akan menjadi yang lebih kecil dan mampu menangani tugas-tugas yang lebih banyak. Sebagai contoh, saya melihat DNA buatan yang digunakan dengan mempercepat penggunaan server 'penyembuhan diri' (server yang dapat memperbaiki diri ketika terjadi masalah) . "Apa yang para ahli teknologi ingin dicapai adalah apa yang mereka sudah ingin capai selama beberapa dekade sekarang: perangkat komputerisasi dengan penyimpanan yang lebih luas dan unit pengolahan lebih cepat. Nanotech dan komputer berbasis DNA mungkin untuk diwujudkan " End of Chapter 13 Presentation