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 languages Identify 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 f Id 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 cycle List the 6 steps in the program development cycle
Diff ti t b t t t d d i d Diff ti t b t t t d d i d Identify and discuss the characteristics of
object-oriented programming languages Identify 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
Program Komputer & Bahasa Pemrograman
Program Komputer
Sekumpulan instruksi yang membuat komputer
dapat menampilkan suatu tugas tertentu 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
High-level language High-level
language Low-level
language Low-level
language
Machine-dependent runs only on one type of computer
Machine-dependent
runs only on one type of computer Often machine-independentcan run on many different types of computers Often machine-independent
can run on many different types of computers Machine and assembly languages
are low-level
Low-Level Languages: Machine
Bahasa mesin
Bahasa yang dapat
langsung dikenali langsung dikenali komputer
Menggunakan binary digits
(1 dan 0) dengan
kombinasi huruf dan angka yang merepresentasikan binary digits
binary digits
Low-Level Languages: Assembly
Bahasa rakitan
(
assembly language
)
Instruksi yang berupa
singkatan dan kode yang memiliki arti khusus Source programberupa
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
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 membangun program
Programming team—Beberapa programer yang membuat program
Step 1 — Analisa Kebutuhan
Yang termasuk kegiatan menganalisa kebutuhan?
1. Mereview kebutuhan
2 Bertemu sistem analis dan pengguna
2. Bertemu sistem analis dan pengguna
3. Mengidentifikasi input, output, pemrosesan dan
komponen data IPO chart—
Mengidentifikasi input program, outputs dan step
IPO chart
outputs, dan step pemrosesan
Step 2 — Design the Solution
Apa saja yang termasuk dalam perancangan solusi?
Obj t Obj t ii t dt d Object Object--oriented oriented
design design
Structured Structured design
design, sometimes , sometimes called
called toptop--down designdown design Two Two approaches approaches Devise Devise solution solution algorithm algorithm, , step
step--byby--stepstep
Programmer Programmer begins with general begins with general design and moves toward design and moves toward
detailed design detailed design step
Step 2 — Design the Solution
hierarchy chart
Menampilkan modul program secara grafis &
relasinya relasinya
Disebut juga Structure Chart atauVTOC: Visual Table
of Contents
Step 2 — Design the Solution
Object-oriented design
(OOD)
Programmer mengemas data dan
metode (procedures) dalam unit metode (procedures) dalam unit
tunggal, disebutobject
Objek dikelompokkan menjadi kelas-kelas
A Class Diagramsecara grafis merepresentasikan hubungan hirarkis
Step 3 — Validasi Desain
Apa saja yang termasuk dalam validasi desain?
Ch k
Programmer checks
l i f t
Check program design for accuracy
Logic error design flaw that causes inaccurate results
logic for correctness and attempts to uncover
logic errors
Desk check
programmers use test data to step through logic
p. 13.32 Next
Test data sample data that mimics real data that program will process
Structured walkthrough
programmer 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
Step 5 — Test the Solution
Apa saja yang termasuk dalam pengujian solusi?
Ensure program runs correctly Ensure program runs correctly
and is error free and is error free
Debugging
Debugging——locating and locating and correcting syntax and logic correcting syntax and logic
errors, or errors, orbugsbugs
Test copy of program, Test copy of program, called
calledbetabeta sometimessometimes called
called betabeta, sometimes , sometimes used to find bugs used 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— menghilangkandead
codeyaitu program instruksi yang tidak
pernah dieksekusi Mereview kode
program— menghilangkandead
codeyaitu program instruksi yang tidak
pernah dieksekusi
Mereview dokumentasi
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
prosedur untuk merakit sepeda, membuat
kue, atau membangun rumah
Coding Computer Programs
Apa saja yang termasuk pengkodean program?
Two steps:
1 Menterjemahkan solusi
1. Menterjemahkan solusi algoritma ke dalam bahasa pemrograman
2. 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
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.
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
Mill i B
g y
kompiler
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
Y2K Computation (Example of error)
currentYear = 00; // Using a 2-digit value for year
yearOfBirth = 1990;
Age = currentYear – yearOfBirth;
Age = currentYear – yearOfBirth;
Age = 0 – 1990
Age = -1990 // Ridiculous value for Age !
currentYear = 2011; // Correct 4 digit year
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 theY2K
Bug, Y2K38, Y2.038K, or S2G by analogy to the Y2K problem)
The problem affects all software and systems that both store system timeas a signed 32-bit integer, and interpret this number as the number of seconds since 00:00:00 UTCon Thursday, 1 January 1970.
Times beyond this moment will "wrap around" and be
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
t d l th b ithi th 20th t d f 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 Perland 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 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; i t lt 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”); print ( Error:Attempt to Divide by zero );
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 fungsi tunggal adalah modul
Structured Computer Program Design
Desain terstruktur
Suatu teknik membangun program dengan Sequence control structure program dengan mengkombinasikan 3 struktur kontrol dasar Struktur kontrol adalah
rencangan yang menentukan urutan logis ari instruksi program structure Selection control structure program
Sequence Control Structure
Sequence control structure
Menampilkan satu atau lebih aksi yang saling berurutan.
Aksi: Inputs
Processes
Outputs
p.15.7 Fig. 15-5 Next
Selection Control Structure (IF-THEN-ELSE)
Selection Control Structure
Memberitahu program aksi program 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
Selection Control Structure (IF-THEN-ELSE)
IF-THEN-ELSE
Memungkinkan program untuk mengevaluasi kondisi dan h ilk 2 k ki t t f l
menghasilkan 2 kemungkinan: true atau false Jika hasilnya true, program
menampilkan aksi
Jika hasilnya salah, program salah, 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
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”
Infinite Loops
boolean loopSwitch = true; // 1 bit is set
int count = 5;
hil (l
S it h) // L
if l
S it h i t
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
(
)
,
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’ ELSE
IF (SCORE >= 80) GRADE = ‘B’; ELSE
IF (SCORE >= 70) GRADE = ‘C’; ELSE
ELSE
IF(SCORE >= 60) GRADE = ‘D’;
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 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’ 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)
Repetition Control Structure (Looping)
Repetition control structure
Disebut juga iteration t l t t control 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 While
Selalu 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 lagi
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
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 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
Do Until Control Structure (Looping)
Do Until
Menguji kondisi di akhir perulangan
perulangan Aksi akan selalu
dieksekusi paling tidak 1 kali
Melanjutkan looping sampai kondisi benar d b h ti
dan berhenti
p.15.8 Fig. 15-9 Next
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
COUNT CONTROLLED LOOPS
SUM = 0 // SUM is an Accumulator FOR I = 1 TO 10
SUM = SUM + I // 1 + 2 + 3 + … + 10 NEXT I
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)
// H d f l f thi i SUM N (N + 1) /2 // 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 Modul program
sering memiliki struktur kontrol di dalamnya
Masing-masing kontrol harus memiliki entry memiliki entry point dan exit point
Solution Algorithms for Computer Programs
3 Solusi algoritma
Disebut juga logika program.
program.
Suatu deskripsi grafis atau tertulis dari langkah-langkah prosedur dalam suatu modul.
Untuk membantu membangun algoritma
Program flowchart
Nassi-Schneiderman
charts
membangun algoritma solusi, programer
menggunakan tools desain.
p.15.9 Next
Pseudocode
Flowcharting Computer Programs
Program Flowchart
Menunjukkan logika dalam suatu algoritma dalam suatu algoritma solusi
Mengikuti suatu standar yang dipublikasikan oleh American National Standards Institute (ANSI) in the early (ANSI) in the early 1960s
Flowcharting Computer Programs
Menggambar flowchart
Sebagian besar simbol terhubung dengan garis tegas yang menunjukkan arah program Dotted lines
connect t comment symbols
Next
A comment symbol or annotation symbol
Explains or clarifies logic p.15.10 Fig. 15-12
Flowcharting Computer Programs: Software
Perangkat lunak flowchart? (Visio, SmartDraw)
Digunakan untuk untuk membangun flowchart Mudah untuk
dimodifikasi dan
diupdate diupdate
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, Casej g g , p, ,
p.15.11 Fig. 15-14 Next
Pseudocode for Computer Program Design
Pseudocode
M k b h t k
Menggunakan bahasa untuk menyampaikan logika dari program komputer
Memanfaatkan 3 struktur kontrol dasar
Menggabungkan bahasa dengan 3 struktur kontrol dasar
Procedural Languages (3GL)
P
rocedural 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 nama untuk urutan instruksi yang memberitahu komputer apa
yang akan dicapai dan bagaimana melakukannya
p. 13.04 Next
and C
language (3GL) language (3GL)
Procedural Languages: Compilers
compiler
Program yang
mengkonversi e g o ve s source
program ke mesin language (0’s, 1’s)
sebelum
p. 13.05 Fig. 13-4 Next
Procedural Languages: Interpreters
Interpreter
Program yang
menterjemahkan menterjemahkan dan mengeksekusi satu 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’sAll-purposeSymbolicInstructionCode
Beginner s All purpose Symbolic Instruction Code
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. Mengeksekusi original untuk membangun software. Mengeksekusi dengan cepat seperti C++
Membutuhkan skill pemrograman profesional
Object-Oriented Programming Languages
Object-oriented programming (OOP) language
Used to Major benefit Event driven C++ and Java Used 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
Objectis item that contains
Eventis 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-oriented bekerja dengan konsep object oriented
Digunakan untuk membangun database dan aplikasi
web
Java: based on C++
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 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. Microsystems.
Program Java
dikompile ke dalam Bytecode.
Sama dengan C++
tapi digunakan secara
j st in time (JIT)
p. 13.08 Fig. 13-10 Next
just-in-time (JIT)
Java Sudoku Puzzle
Java Game Links
Text Twist Game (in Java):
http://www.gamefools.com/onlinegames/free/SuperTex
tTwist html
tTwist.html
Java Sudoku Puzzle
(runs as an applet on a Web page)
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
Nonprocedural Languages: 4GLs: SQL
Fourth-generation language (4GL)
Bahasa non prosedural yang memungkinkan pengguna mengakses data di databaseg
4GL yang terkenal adalahSQL, 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 called Sometimes called Fifth generation Fifth generation language language
Provides visual or Provides visual or graphical interface for graphical interface for creating source code creating source code
Examples: Visual Basic
NET
p. 13.09 Next
Programmer menulis dan mengimplementasikan
program dalam segmen Often used in a RAD
Often used in a RAD
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
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”)
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 jenis 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 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
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
Di perkuliahan sering diajarkan J# sebab lebih
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 .NET
D l hi iliki l bih b k f i d i d Vi l B i NET
Delphi memiliki lebih banyak fungsi dari pada Visual Basic .NET tapi lebih sulit digunakan.
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
Web Page Development HTML
A Web page is a file that contains both text and HTML
tags.
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>
XP
A Basic Web Page
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>
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
80
Microsoft Silverlight
http://www.microsoft.com/SILVERLIGHT/
Silverlight adalah halaman web authoring program
yang juga memungkinkan pengembang Web untuk
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
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
Software ini mengenerate HTML code
Dreamweaver
Flash http://www.adobe.com/products/flash/
Microsoft Expression Web
Visual Web Studio by Microsoft
Expression Expression
Web Web Flash
Flash
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"> <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">
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>
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 pada
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
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>
Multimedia Software Development
Multimedia authoring software
Mengkombinasikantext, 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, olehSumTotal Systemsmemiliki sebuah GUI
dan menggunakan suatu pendekatan object-oriented. Developers dapat merancang aplikasi multimedia 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.
Next
p
ToolBookdapat digunakan untuk membangun isi dari
Multimedia Development: Authorware 7
Authorware, Adobe, suatu software multimedia untuk
menulis program yang menyajikan tool bagi kebutuhan developer untuk membangun mrogram kebutuhan developer untuk membangun mrogram pendidikan dan pelatihan multimedian.
Authorwaremenawarkan 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-inShockwave
untuk 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 interaktif membangun aplikasi dan game multimedia interaktif
FiturDirector’s cocok untuk membuat presentasi elektronik.
Pengguna memerlukan software Shockwaveuntuk aplikasi-aplikasi tertentu
p. 13.22 Fig. 13-23 Next
p p
Other Programming Languages
Bahasa Pemrograman lain:
ALGOL ALGOL ALGOL ALGOL ADA
ADA ADA
ADA APLAPLAPLAPL
FORTH FORTH FORTH
FORTH FORTRANFORTRANFORTRANFORTRAN HYPERTALKHYPERTALKHYPERTALKHYPERTALK LISPLISPLISPLISP
LOGO LOGO LOGO
LOGO MODULAMODULA--2MODULAMODULA--222 PASCALPASCALPASCALPASCAL
p. 13.22 Next
PILOT PILOT PILOT
PILOT PL/IPL/IPL/IPL/I PROLOGPROLOGPROLOGPROLOG SMALLTALKSMALLTALKSMALLTALKSMALLTALK
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
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 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
' b h di i' ( d