Chapter 13 Programming Languages and Program

advertisement
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
Download