chapter 13 computer programming & · pdf fileuntuk menyelesaikan masalah. masalah yang...
TRANSCRIPT
1
Discovering Computers
CHAPTER 13
COMPUTER PROGRAMMING
& SOFTWARE DEVELOPMENT
Chapter 13 Objectives
Describe various ways to develop Web pages including HTML, scripting languages, XHTML, XML, WML, and Web page authoring software
Describe various ways to develop Web pages including HTML, scripting languages, XHTML, XML, WML, and Web page authoring software
Differentiate between machine ,assembly languages, high-level languages
Differentiate between machine ,assembly languages, high-level languages
Identify and discuss the purpose of procedural programming languagesIdentify and discuss the purpose of
procedural programming languages
Discuss the advantages and uses of visual programming languages
Discuss the advantages and uses of visual programming languages
Id tif d di th h t i ti fId tif d di th h t i ti f
Identify the uses of popular multimedia authoring programs
Identify the uses of popular multimedia authoring programs
List the 6 steps in the program development cycleList the 6 steps in the program development cycle
Diff ti t b t t t d d i dDiff ti t b t t t d d i dIdentify and discuss the characteristics of object-oriented programming languagesIdentify and discuss the characteristics of object-oriented programming languages
Identify the uses of various nonprocedural languages and tools
Identify the uses of various nonprocedural languages and tools
Differentiate between structured design and object-oriented design
Differentiate between structured design and object-oriented design
Explain the basic control structures used in designing solutions to programming problems
Explain the basic control structures used in designing solutions to programming problems
2
Program Komputer & Bahasa Pemrograman
Program Komputer Sekumpulan instruksi yang membuat komputer
dapat menampilkan suatu tugas tertentudapat 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
High-level language
High-level language
Low-levellanguageLow-levellanguage
Machine-dependentruns only on one type of computer
Machine-dependentruns only on one type of computer
Often machine-independentcan run on many different
types of computers
Often machine-independentcan run on many different
types of computersMachine and assembly languages
are low-levelMachine and assembly languages
are low-level
3
Low-Level Languages: Machine
Bahasa mesin Bahasa yang dapat
langsung dikenalilangsung dikenali komputer
Menggunakan binary digits (1 dan 0) dengan kombinasi huruf dan angka yang merepresentasikan binary digitsbinary 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 mesinke bahasa mesin
4
Bahasa Level TinggiProcedural Languages: BASIC, BASICA, GWBASIC, QBASIC COBOL FORTRAN PASCAL Object Oriented Languages JAVA Object Oriented C++ Object Oriented SMALLTALK 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 programmembangun program
Programming team—Beberapa programer yang membuat program
The Program gDevelopment Cycle is Step 4 in the System Development Life Cycle (SDLC)
5
Step 1 — Analisa Kebutuhan
Yang termasuk kegiatan menganalisa kebutuhan?1. Mereview kebutuhan2 Bertemu sistem analis dan pengguna2. Bertemu sistem analis dan pengguna3. Mengidentifikasi input, output, pemrosesan dan
komponen data IPO chart—
Mengidentifikasiinput program, outputs dan step
IPO chart
outputs, dan step pemrosesan
Step 2 — Design the Solution
Apa saja yang termasuk dalam perancangan solusi?
Obj tObj t i t di t dObjectObject--oriented oriented designdesign
Structured Structured designdesign, sometimes , sometimes
called called toptop--down designdown design
Two Two approachesapproaches
Devise Devise solution solution algorithmalgorithm, , stepstep--byby--stepstep
Programmer Programmer begins with general begins with general
design and moves toward design and moves toward detailed designdetailed design
stepstep byby step step procedure to procedure to solve problemsolve problem
6
Step 2 — Design the Solution
hierarchy chart Menampilkan modul program secara grafis &
relasinyarelasinya 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 unitmetode (procedures) dalam unit tunggal, disebut object
Objek dikelompokkan menjadi kelas-kelas
A Class Diagram secara grafis merepresentasikan hubungan hirarkis antar kelas
7
Step 3 — Validasi Desain
Apa saja yang termasuk dalam validasi desain?
Ch kProgrammer checks l i f tCheck program
design for accuracy
Logic errordesign flaw that causes
inaccurate results
logic for correctness and attempts to uncover
logic errors
Desk checkprogrammers use test
data to step through logic
p. 13.32 Next
Test datasample data that
mimics real data that program will process
Structured walkthroughprogrammer explains
logic of algorithm while programming team steps through program logic
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
8
Step 5 — Test the Solution
Apa saja yang termasuk dalam pengujian solusi?
Ensure program runs correctly Ensure program runs correctly and is error freeand is error free
DebuggingDebugging——locating and locating and correcting syntax and logic correcting syntax and logic
errors, orerrors, or bugsbugs
Test copy of program, Test copy of program, calledcalled betabeta sometimessometimescalled called betabeta, sometimes , sometimes
used to find bugsused to find bugs
Alpha & Beta testing:What is the difference ?
Step 6 — Document the Solution
Apa saja yang termasuk dalam dokumentasi solusi? Programer melakukan dua aktivitas
Mereview kode program—
menghilangkan dead code yaitu programinstruksi yang tidak pernah dieksekusi
Mereview kode program—
menghilangkan dead code yaitu programinstruksi yang tidak pernah dieksekusi
Mereviewdokumentasi
Mereviewdokumentasi
pernah dieksekusipernah dieksekusi
9
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 membuatprosedur untuk merakit sepeda, membuat kue, atau membangun rumah
Coding Computer Programs
Apa saja yang termasuk pengkodean program?
Two steps:1 Menterjemahkan solusi1. Menterjemahkan solusi algoritma ke dalam bahasa pemrograman2. Memasukkan kode bahasa pemrograman ke dalam komputer
Setiap bahasa pemrograman memiliki sintax yang spesifik
Syntax
Sekumpulan grammar dan aturan yang menspesifikan
bagaimana menulis
p.15.13
Next
instruksi untuk suatu algoritma solusi
10
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
B ff fl G l Buffer overflow General Protection Fault (GPF)(Memory overrun)
Dividing a Number by Zero
G = 1234.56 / .00000000000000000001
(Di i h 0 )(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)( y g )
Jika terlalu besar, akan memenuhi register datanya.
Infinity symbol
11
Debugging Computer Programs
DebuggingProses mengkoreksi
sintax dan eror logika dalam program
Error berarti bug
Kata bug pertama kali dikenal dalam bahasa pemrograman COBOL (1959)
Debug Utilities
Debug utilitySoftware Computer: debugger
Tersedia dengan banyakMill i B
g ykompiler
Memungkinkan mengidentifikasi kesalahan sintax dan menemukan kesalahan logika
Programmer can menguji nikai keluaran program saat program berjalan slow
Millennium Bug
Also called the Y2K bug
Took effect when the computer date rolled
over to January 1, 2000
motion
p.15.14
Next
Non Y2K compliant computers read the
date as 01/01/00
12
Y2K Computation (Example of error)
currentYear = 00; // Using a 2-digit value for yearyearOfBirth = 1990;Age = currentYear – yearOfBirth;Age = currentYear – yearOfBirth;
Age = 0 – 1990Age = -1990 // Ridiculous value for Age !
currentYear = 2011; // Correct 4 digit yearcurrentYear = 2011; // Correct 4-digit yearAge = 2011 – 1990Age = 21 // Correct agehttp://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 Y2KBug, 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 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.
13
Y2K Problem Examples
Visit: http://en.wikipedia.org/wiki/Y2KIn the C programming language, the standard library function to get the current year originally did have the problem that it
t d l th b ithi th 20th t d freturned 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 tobut 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;i t ltint result;if (num2 != 0)result = num1 / num2;
else // Divide num1 by num2 num2 = 1; result = num1 / num2;print (“Error:Attempt to Divide by zero”);print ( Error:Attempt to Divide by zero );
// Causes program to crash// Cannot divide by zero
14
Memecah spesifikasi satu program ke dalam Mengidentifikasi fungsi utama
program yaitu main routine atau main
Top-down design
Designing Computer Programs
bagian yang lebih mudah dikelola
Hal ini disebut module
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 fungsitunggal adalah modul
Structured Computer Program Design
Desain terstruktur
Suatu teknik membangun program dengan
Sequence control
structureprogram dengan mengkombinasikan 3 struktur kontrol dasar
Struktur kontrol adalah rencangan yang menentukan urutan logis ari instruksi program
structure
Selection control
structure
program
Masing-masing modul terdiri dari lebih dari satu struktur kontrol
p.15.6
Next
Repetition control
structure
15
Sequence Control Structure
Sequence control structureMenampilkan satu atau lebih aksi yang saling berurutan.
Aksi:InputsProcessesOutputs
p.15.7 Fig. 15-5
Next
Selection Control Structure (IF-THEN-ELSE)
Selection Control Structure
Memberitahu program aksiprogram aksi mana yang akan diambil, berdasarkan kondisi tertentu
2 tipe umum struktur selection kontrol
if-then-else control structure
selection kontrol
p.15.7
Next
case control structure
16
Selection Control Structure (IF-THEN-ELSE)
IF-THEN-ELSE
Memungkinkan program untuk mengevaluasi kondisi dan h ilk 2 k ki t t f lmenghasilkan 2 kemungkinan: true atau false
Jika hasilnya true, program menampilkan
aksi
Jika hasilnya
salah, programsalah, program
Menampilkan
aksi yang berbeda
p.15.7 Fig. 15-6
Next
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 ) // Th t diti if A t th BIF ( 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 !”
17
Infinite Loops
boolean loopSwitch = true; // 1 bit is set
int count = 5;
hil (l S it h) // L if l S it h i twhile (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 ( ) , p p
loopSwitch = false; // Causes loop to end
}
NESTED IF STRUCTURE (pseudocode)
IF (SCORE >= 90) // Nested IF “ladder”GRADE = ‘A’; // Assign letter grade of ‘A’
ELSEIF (SCORE >= 80)
GRADE = ‘B’;ELSE
IF (SCORE >= 70)GRADE = ‘C’;
ELSEELSEIF(SCORE >= 60)
GRADE = ‘D’;ELSE // Note: SCORE is <= 59
GRADE = ‘F’;
18
CASE ENTRY STRUCTURE(pseudocode)
INPUT SCORESCORE = (int) SCORE / 10; // Make score between ( 0 <= SCORE <= 10) SWITCH (SCORE) // Case Entry is more efficient than a Nested-IF ladderBEGIN 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’CASE 6: GRADE = ‘D’;BREAK;
DEFAULT: GRADE = ‘F’;END CASE
END SWITCHPRINT GRADE // Next statement after the END SWITCH
The CASE Control Structure
Case control structureSuatu 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)
p.15.7 Fig. 15-7
Next
19
Repetition Control Structure (Looping)
Repetition control structure
Disebut juga iterationt l t tcontrol structure
atau loop
Digunakan ketika program menampilkan satu atau lebih aksi yang b l l
Do While control
structure
berulang selama kondisi tertentu ditemui
2 Bentuk:
p.15.8
Next
Do Until control
structure
Do While Control Structure (Looping)
Struktur Do WhileSelalu berulang selama kondisinya
benar Menguji kondisi di awal loop Jika hasilnya benar,
program mengeksekusi aksi di dalam loop
Program berulang kembali dan menguji kondisi sekali lagilagi
Looping berlanjut sampai kondisi salah
p.15.8 Fig. 15-8
Next
20
DO WHILE LOOP: EXAMPLE
3000-READ-A-RECORD // Read a record from input fileFLAG = 0 // Set loop control flag to zeroDO WHILE (FLAG = 0) // Loop as long as FLAG is zero
2000-COMPUTE-PAY2500-PRINT-PAY-RECORD3000-READ-A-RECORD // Read next record in fileIF END-OF-FILE // If End-Of-File (EOF) is detected
FLAG = 1ELSEELSENULL
ENDIFEND 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)/2statement? 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 = ______
21
Do Until Control Structure (Looping)
Do Until
Menguji kondisi di akhir perulanganperulangan
Aksi akan selalu dieksekusi paling tidak 1 kali
Melanjutkan looping sampai kondisi benar d b h tidan berhenti
p.15.8 Fig. 15-9
Next
DO UNTIL LOOP
FLAG = 03000-READ-A-RECORD // Read first record from input fileDO // Start of DO UNTIL loop
2000-COMPUTE-PAY // Invoke COMPUTE-PAY module2500-PRINT-PAY-RECORD3000-READ-A-RECORD // Read next record from fileIF END-OF-FILE
FLAG = 1ELSE
NULLENDIF
UNTIL (FLAG = 1) // If FLAG is 1 exit the DO UNTIL LoopUNTIL (FLAG = 1) // If FLAG is 1, exit the DO-UNTIL LoopEND DO // End of DO UNTIL loop
22
COUNT CONTROLLED LOOPS
SUM = 0 // SUM is an AccumulatorFOR I = 1 TO 10
SUM = SUM + I // 1 + 2 + 3 + … + 10NEXT INEXT ISUM = 0 // Without a loop, the statements would have to be writtenI = 1 // many times, making the program very long…SUM = SUM + I // SUM = 0 + 1I = 2SUM = SUM + I // 1 + 2 = 3 (SUM)
// H d f l f thi i SUM N (N + 1) /2// Handy formula for this series: SUM = N (N + 1) /2SUM = 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 programModul programsering memiliki struktur kontrol di dalamnya
Masing-masing kontrol harus memiliki entrymemiliki entry point dan exit point
p.15.9 Fig. 15-10
Next
23
Solution Algorithms for Computer Programs
3 Solusi algoritmaDisebut juga logika program.program.
Suatu deskripsi grafis atau tertulis dari langkah-langkah prosedur dalam suatu modul.
Untuk membantu membangun algoritma
Program flowchart
Nassi-Schneiderman
chartsmembangun algoritma solusi, programer menggunakan tools desain.
p.15.9
Next
Pseudocode
Flowcharting Computer Programs
Program FlowchartMenunjukkan logika
dalam suatu algoritmadalam suatu algoritma solusi
Mengikuti suatu standar yang dipublikasikan oleh American National Standards Institute (ANSI) in the early(ANSI) in the early 1960s
p.15.9 Fig. 15-11
Next
24
Flowcharting Computer Programs
Menggambar flowchart
Sebagian besar simbol terhubung dengan garis tegas yang menunjukkan arah program
Dotted lines connect
tcomment symbols
Next
A comment symbol or annotation symbol
Explains or clarifies logicp.15.10 Fig. 15-12
Flowcharting Computer Programs: Software
Perangkat lunak flowchart? (Visio, SmartDraw)
Digunakan untukuntuk membangun flowchart
Mudah untuk dimodifikasi dan diupdatediupdate
p.15.10 Fig. 15-13
Next
25
Nassi-Schneiderman (N-S) Charts
Nassi-Schneiderman (N-S) chartMenampilkan secara grafis logika dari suatu solusi algoritma
Disebut juga dengan flowchart terstruktur: Process, Do-While loop, IF, Casej g g , p, ,
p.15.11 Fig. 15-14
Next
Pseudocode for Computer Program Design
Pseudocode
M k b h t kMenggunakan bahasa untuk menyampaikan logika dari program komputer
Memanfaatkan 3 struktur kontrol dasar
Menggabungkan bahasa dengan 3 struktur kontrol dasar
p.15.12 Fig. 15-15
Next
26
Procedural Languages (3GL)
Procedural language (3GL)
Programmer memberikan nama
Examples: BASIC, COBOL,
Uses a series of English-like words to write instructions
Often called thirdthird--generation generation
Programmer memberikan namauntuk urutan instruksi yang memberitahu komputer apa
yang akan dicapai danbagaimana melakukannya
p. 13.04 Next
and Clanguage (3GL)language (3GL)
Procedural Languages: Compilers
compiler Program yang
mengkonversi e g o ve ssource program kemesinlanguage
(0’s, 1’s) sebelum
p. 13.05 Fig. 13-4 Next
sebelum mengeksekusi
27
Procedural Languages: Interpreters
Interpreter Program yang
menterjemahkanmenterjemahkan dan mengeksekusisatu program dalam satu waktu
Tidak menghasilkan EXE (binary code) file
p. 13.05 Fig. 13-5 Next
EXE (binary code) file yang di eksekusi
Procedural Languages: BASICA, QBASIC
BASIC (BASICA, GWBASIC, QBASIC) Simple, bahasa pemrograman interaktif Beginner’s All-purpose Symbolic Instruction Code Beginner s All purpose Symbolic Instruction Code
p. 13.06 Fig. 13-6 Next
28
Procedural Languages: COBOL
COBOL (Developed in 1959) Di desain untuk aplikasi bisnis Statement berbentuk seperti bahasa Inggris English- Statement berbentuk seperti bahasa Inggris English
membuat 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. Mengeksekusioriginal untuk membangun software. Mengeksekusi dengan cepat seperti C++
Membutuhkan skill pemrograman profesional
p. 13.07 Fig. 13-8 Next
29
Object-Oriented Programming Languages
Object-oriented programming (OOP) language
Used to Major benefit Event driven C++ and JavaUsed to implement
object-oriented design
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
Object is item that contains
Event is action to
p. 13.07 Next
contains data and
procedures that act on
data
which program responds
Object-Oriented Programming Languages
C++ Terdiri dari elemen C, dan fitur tambahan untuk
bekerja dengan konsep object-orientedbekerja dengan konsep object oriented Digunakan untuk membangun database dan aplikasi
web Java: based on C++
p. 13.08 Fig. 13-9 Next
30
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>
#i l d 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 functionvoid 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.Microsystems. Program Java
dikompile ke dalam Bytecode.
Sama dengan C++ tapi digunakan secaraj st in time (JIT)
p. 13.08 Fig. 13-10 Next
just-in-time (JIT) untuk mengkonfersi source code ke dalam kode mesin.
31
Java Sudoku Puzzle
Java Game Links
Text Twist Game (in Java):
http://www.gamefools.com/onlinegames/free/SuperTextTwist htmltTwist.html
Java Sudoku Puzzle (runs as an applet on a Web page)http://sudoku.klaas.nl/
32
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 (Java source code) HouseApplet.java (Java source code) HouseApplet.class (bytecode file) HouseApplet.html (HTML file which refers
to HouseApplet.class)
33
Nonprocedural Languages: 4GLs: SQL
Fourth-generation language (4GL) Bahasa non prosedural yang memungkinkan pengguna
mengakses data di databaseg 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) Provides visual orProvides visual or
P li
environment (VPE)memungkinkan
developer untuk drag dan drop objects to
build programs
Sometimes calledSometimes calledFifth generation Fifth generation
languagelanguage
Provides visual or Provides visual or graphical interface for graphical interface for creating source codecreating source code
Examples:Visual Basic NET
p. 13.09 Next
Programmer menulis dan
mengimplementasikan program dalam
segmenOften used in a RADOften used in a RAD
(rapid application (rapid application development) development) environmentenvironment
.NETVisual C++Visual J#
34
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 Visual Basic digunakan untuk membangun objek yang kompleks
Step 1. The programmer designs the user interface.
Step 2. The programmer assigns properties to each object on the form.
p. 13.10 Next
Step 3. The programmer writes code to define the action of each command button.
Step 4. The programmer tests the application.
Object-Based Programming Languages
Visual Basic 2010 (VB .NET) adalah bahasa pemrograman visual yang dapat digunakan untuk membangun program berorientasi objek.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.
35
Object-Oriented Programming Languages
Visual C++ 2010 dan Visual C# 2010 (pronounced Visual C sharp). Sangat handal! Programmers dapat membangun software pada semua platform!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++ denganmengkombinasikan features C++ denganlingkungan yang lebih mudah.
36
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 mengg nakan komponen (re sable) nt k berbagai jenismenggunakan 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 kodedan 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 lingkunganmemungkinkan 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 Di perkuliahan sering diajarkan J# sebab lebih mudah untuk belajar dari pada bahasa C
37
Object-Oriented Programming Languages
Delphi (dari Borland Software) Bahasa pemrograman visual yang powerful Ideal untuk perusahaan skala besar 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 .NETD l hi iliki l bih b k f i d i d Vi l B i NETDelphi memiliki lebih banyak fungsi dari pada Visual Basic .NET tapi lebih sulit digunakan.
p. 13.11 Fig. 13-12 Next
38
Object-Oriented Programming Languages
PowerBuilder (Sybase Corp.) Bahasa pemrograman visual lain yang powerful Berbasis web dan aplikasi berorientasi objek 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 webe buat web
p. 13.16 Fig. 13-18 Next
39
Web Page Development HTML
A Web page is a file that contains both text and HTMLtags. Examples of tags:Examples of tags:<html><head><title> ITE100 Web Page example </title></head><body><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 Collegey g<BR> 15200 Neabsco Mills Road </BR><BR> Woodbridge, Virginia 22191</BR> </ADDRESS></BODY></HTML>
p. 13.16 Fig. 13-18 Next
40
XPA Basic Web Pagehttp://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>
Tutorial 1 New Perspectives on HTML and XHTML, Comprehensive
Fudd.</b><center></h2>• </p>• <p>• The NOVA Woodbridge Campus is located in Northern Virginia.• </p>• </body>• </html>
Microsoft Visual Basic
Discovering Computers 2011: Living in a Digital World Chapter 13
80Page 677
Figure 13‐16
41
Microsoft Silverlight
http://www.microsoft.com/SILVERLIGHT/
Silverlight adalah halaman web authoring program yang juga memungkinkan pengembang Web untukyang juga memungkinkan pengembang Web untukmenggabungkan konten interaktif dengan teks, audio grafis, dan video.
Berdasarkan .NET framework dan bekerja dengan sejumlah bahasa termasuk JavaScript, Ruby, C#, dan Visual Basic NETdan 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 Software ini mengenerate HTML code
Dreamweaver Flash http://www.adobe.com/products/flash/ Microsoft Expression Web Visual Web Studio by Microsoft
ExpressionExpression
WebWebFlashFlash
p. 683
DreamweaverDreamweaver
42
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"><h d><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
43
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="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> 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>
ti F / ti<option>France</option><option>Mexico</option></select><br/><br/><input type="submit"/><input type="reset"/></form></body></hmtl>p. 13.20 Next
44
Web Developer Software
Perl
P th 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 padaPerl awalnya dikembangkan oleh Larry Wall padatahun 1987 sebagai bahasa scripting untuk Unix untuk membuat pengolahan laporan lebih mudah. [1] [2] Sejak itu, telah mengalami banyakperubahan dan revisi dan menjadi sangat populerdi kalangan programmer. Larry Wall terusmengawasi perkembangan bahasa inti, dan versimendatang, Perl 6
45
Perl Syntax
my $a = 5;
$a++; # $a is now 6; we added 1 to it.
$ 10 # N it' 16 dd d 10 t $ $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>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>
46
Multimedia Software Development
Multimedia authoring software Mengkombinasikan
text, grafis, animasi, , g , ,audio, and video ke presentasi interaktif
Digunakan untuk pelatihan berbasis komputer dan pelatihan berbasis web
p. 13.22 Fig. 13-23 Next
Software termasuk Toolbook, Authorware, and Director
Multimedia Development: ToolBook
ToolBook, oleh SumTotal Systems memiliki sebuah GUI dan menggunakan suatu pendekatan object-oriented. Developers dapat merancang aplikasi multimediaDevelopers dapat merancang aplikasi multimedia menggunakan objek dasar seperti tombol, fields, graphics, backgrounds, dan pages.
ToolBook, developers dapat mengkonversikan aplikasimultimedia kedalam bentuk HTML dan Java jadi dapat didistribusikan melalui internet.
Next
p
ToolBook dapat digunakan untuk membangun isi dari kursus jarak jauh.
47
Multimedia Development: Authorware 7
Authorware, Adobe, suatu software multimedia untuk menulis program yang menyajikan tool bagi kebutuhan developer untuk membangun mrogramkebutuhan 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.
p. 13.22 Fig. 13-23 Next
User perlu membangun software plug-in Shockwaveuntuk menampilkan aplikasi khusus.
http://www.adobe.com/products/authorware/
Multimedia: Adobe Director
Director Adobe, adalah suatu program penulisan yang populer yang menyajikan fitur powerful untuk membangun aplikasi dan game multimedia interaktifmembangun aplikasi dan game multimedia interaktif
Fitur Director’s cocok untuk membuat presentasi elektronik.
Pengguna memerlukan software Shockwave untuk aplikasi-aplikasi tertentu
p. 13.22 Fig. 13-23 Next
p p
http://www.adobe.com/products/director/
48
Other Programming Languages
Bahasa Pemrograman lain:
ALGOLALGOLALGOLALGOLADAADAADAADA APLAPLAPLAPL
FORTHFORTHFORTHFORTH LISPLISPLISPLISPHYPERTALKHYPERTALKHYPERTALKHYPERTALKFORTRANFORTRANFORTRANFORTRAN
LOGOLOGOLOGOLOGO PASCALPASCALPASCALPASCALMODULAMODULA--22MODULAMODULA--22
p. 13.22 Next
PILOTPILOTPILOTPILOT SMALLTALKSMALLTALKSMALLTALKSMALLTALKPROLOGPROLOGPROLOGPROLOGPL/IPL/IPL/IPL/I
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
49
Nanotech: Computers of the Future
Menurut sebuah artikel 2007 November Computer World, disk drive magnetik di laptop dan perangkat lainnya akan digantikan dengannanoteknologi dalam tahun-tahun mendatang, yang akan sangatmempercepat kinerja. LiveScience.com juga melaporkan pada bulanmempercepat kinerja. LiveScience.com juga melaporkan pada bulanJuli 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 anonimkarena sifat dari pekerjaannya, menjelaskan: " Berkaitan dengannanoteknologi dan DNA buatan, komputer akan menjadi yang lebihkecil dan mampu menangani tugas-tugas yang lebih banyak. Sebagaicontoh, saya melihat DNA buatan yang digunakan dengan mempercepat
' b h di i' ( dpenggunaan server 'penyembuhan diri' (server yang dapatmemperbaiki diri ketika terjadi masalah) . "Apa yang para ahliteknologi ingin dicapai adalah apa yang mereka sudah ingin capaiselama beberapa dekade sekarang: perangkat komputerisasi denganpenyimpanan yang lebih luas dan unit pengolahan lebih cepat. Nanotech dan komputer berbasis DNA mungkin untuk diwujudkan "
End of Chapter 13 Presentation