PENGANTAR BAHASA JAVA Matakuliah

advertisement
PENGANTAR BAHASA
JAVA
Matakuliah
Tahun
Versi
: T0974 / Algoritma dan Metode Object Oriented Programming I
: 2008
: 1/0
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
– Menjelaskan elemen pemrograman
Java
– Menjelaskan struktur pemrograman
Java
Bina Nusantara
Outline Materi
•
•
•
•
•
•
•
•
Sejarah Java
Karakteristik Java
API, JDK, JRE
Java Platform
Program Sederhana Java
Anatomi Program Java
Escape Sequence
Unicode
Bina Nusantara
Sejarah Java
• Dikembangkan oleh tim
– Pemimpin: James Gosling
– Company: Sun Microsystem
• Agustus 1991, bernama Oak
• Januari 1995, berganti nama Java
• Menjanjikan aplikasi berbasis “Write Once,
Run Anywhere (WORA)”
• Dapat dijalankan di web browser dengan
teknologi Applet
Bina Nusantara
Karakteristik Java (Buzzwords)
•
•
•
•
•
•
•
•
•
•
•
Simple
Object-oriented
Distributed
Interpreted
Robust
Secure
Architecture-neutral
Portable
High-performance
Multi-threaded
Dynamic
Bina Nusantara
Application Program Interface (API)
• Kumpulan predefined classes dan
interfaces untuk mengembangkan
program Java
• 3 edisi Java API:
– Java 2 Standard Edition (J2SE)
• Aplikasi client-side, applet
– Java 2 Enterprise Edition (J2EE)
• Servlet, JSP
– Java 2 Micro Edition (J2ME)
• Cell phone
Bina Nusantara
Java Development Toolkit (JDK)
• Sekumpulan program terpisah untuk
mengembangkan dan menguji program Java
• Java Development Tools, aplikasi berbasiskan
IDE (integrated development environment) untuk
membuat program Java dengan cepat
–
–
–
–
–
–
–
–
–
–
Bina Nusantara
JBuilder by Borland (www.borland.com)
NetBeans Open Source by Sun (www.netbeans.org)
Eclipse Open Source by IBM (www.eclipse.org)
Code Warrior by Metrowerks (www.metrowerks.com)
TextPad Editor (www.textpad.com)
JCreator LE (www.jcreator.com)
JEdit (www.jedit.org)
JGrasp (www.jgrasp.org)
BlueJ (www.bluej.org)
DrJava (http://drjava.sourceforge.net)
Java Development Toolkit (JDK)
• Program pada JDK yang sering digunakan
– Kompiler: javac
• Mengkompilasi souce code (.java) menjadi bytecode (.class)
– Interpreter: java
• Mengeksekusi bytecode (.class) menjadi aplikasi
– Debugger: jdb
• Seperti interpreter, tetapi mampu men-debug aplikasi
– Penampil applet: appletviewer
• Menampilkan applet
– Dokumentasi: javadoc
• Mengkonversi source code (.java) menjadi dokumentasi (.html)
– Kompresi: jar
• Menghasilkan kompresi (.jar) dari bytecode (.class) dan file
pendukung lain (seperti gambar, suara, video)
Bina Nusantara
Java Runtime Environment (JRE)
• Software yang diperlukan untuk
menjalankan aplikasi berplatform Java
• Java Virtual Machine (JVM): sekumpulan
program untuk mengeksekusi java
bytecode agar jalan pada platformnya
• Java Bytecode: Sekumpulan instruksi
yang dieksekusi oleh JVM. Panjangnya
sebesar 1 byte per instruksi
Bina Nusantara
Java Platform
Bina Nusantara
Program Java Sederhana: Welcome
// This application program prints Welcome
to Java!
public class Welcome {
public static void main(String [] args) {
System.out.println(“Welcome to Java!”);
}
}
Bina Nusantara
Program Java Sederhana: Welcome
// This application program prints Welcome to Java!
Class name
Filename: Welcome.java
public class Welcome {
public static void main(String [] args) {
System.out.println(“Welcome to Java!”);
}
Class heading,
String
}
Main method signature
Bina Nusantara
Comments
Program Java Sederhana: Welcome
• Setiap program Java memiliki minimal 1
kelas. Cth: Welcome
• Untuk menjalankan kelas, maka
diperlukan method main
• System.out.println merupakan statement
untuk mencetak kalimat ke console
Bina Nusantara
Creating, Compiling, Executing
Source code (developed by the programmer)
Create/Modify Source Code
public class Welcome {
Save on the disk
Public static void main(String [] args)
{
Source Code
System.out.println(“Welcome to Java!”);
}
}
Compile Source Code
e.g., javac Welcome.java
Bytecode (generated by the compiler for JVM to read
and interpret, not for you to understand)
…
Method Welcome()
0 aload_0
…
Method void main(java.lang.String[])
0 getstatic #2 …
3 ldc #3 <String “Welcome to Java!”>
5 invokevirtual #4
8 return
Bina Nusantara
If compilation errors
Stored in the disk
Bytecode
Run Bytecode
e.g., java Welcome
Result
If runtime
errors or
Incorrect
result
Anatomi Program Java
• Program/aplikasi terdiri dari:
–
–
–
–
–
–
–
–
–
–
–
–
Bina Nusantara
Whitespace
Identifiers
Literal
Comments
Separators
Reserved words (keyword)
Modifiers
Statements
Blocks
Classes
Methods
The main method
Anatomi: Whitespace
•
•
•
•
Java adalah free-form language
Tidak perlu aturan indentation
Program dapat dibuat 1 baris saja
Terdapat minimal 1 whitespace di antara
token yang tak beroperator
• Contoh whitespace: space, tab, newline
Bina Nusantara
Anatomi: Identifiers
• Digunakan untuk menamakan class,
method, dan variable
• Terdiri dari huruf uppercase/lowercase,
angka, underscore, atau tanda dollar ($)
• Tidak boleh diawali dengan angka
• Bersifat case-sensitive
• Contoh identifier:
– AvgTemp, args, count, f4, $test, this_is_ok
Bina Nusantara
Anatomi: Literals
• Nilai tetap
• Dapat berupa bilangan bulat, bulang
desimal, karakter, kata, boolean,
tergantung tipe yang digunakan
• Contoh:
–
–
–
–
Bina Nusantara
100
98.6
‘X’
“This is a test”
Anatomi: Comments
• Menggunakan notasi:
– // untuk satu baris (line comment)
– /* … */ untuk beberapa baris (paragraph comment)
• Membantu programmer saling berkomunikasi
dan mengerti program
• Umumnya untuk mendokumentasikan internal
program
• Contoh comments:
// This application program prints Welcome to Java!
/* This application program prints Welcome to Java! */
/* This application program
prints Welcome to Java! */
Bina Nusantara
Anatomi: Separators/Punctuation
• Karakter/notasi tertentu untuk tujuan tertentu
• Contoh separators:
Symbol
Nama
Kegunaan
()
Parentheses Berisi daftar parameter pada method
{}
Braces
Sebagai block atau nilai inisialisasi pada array
[]
Brackets
Deklarasi array
;
Semicolon
Pengakhir statement
,
Comma
Pemisah deklarasi variabel dan statement for
.
Period
Pemisah nama package dan subpackage, dan
dengan object/class
Bina Nusantara
Anatomi: Reserved Words
• Sering disebut keywords
• Memiliki arti tersendiri bagi compiler
• Tidak dapat digunakan untuk tujuan lain
dalam program
• Contoh keywords:
– class
Ketika compiler menemukan kata class, maka kata setelah class
dianggap sebagai nama class
– public, static, void
• Java bersifat case-sensitive, public
dianggap keyword, sedangkan Public tidak
Bina Nusantara
Anatomi: Reserved Words
• Contoh-contoh keyword lainnya:
abstract
default
goto *
package
this
assert
do
if
private
throw
boolean
double
implements
protected
throws
break
else
import
public
transient
byte
enum
instanceof
return
true
case
extends
int
short
try
catch
false
interface
static
void
char
final
long
strictfp
volatile
class
finally
native
super
while
const *
float
new
switch
continue
for
null
synchronized
*  disiapkan untuk Java versi berikutnya
Bina Nusantara
Anatomi: Modifiers
• Merupakan reserved words tertentu
• Menunjukkan properti data, method, dan
class
• Contoh modifier:
–
–
–
–
–
–
Bina Nusantara
public
static
private
final
abstract
protected
Anatomi: Statements
• Merepresentasikan (rangkaian) aksi
• Contoh:
– System.out.println(“Welcome to Java!”);
menyatakan statement untuk menampilkan tulisan “Welcome to
Java!”
• Setiap statements diakhiri dengan notasi
semicolon (;)
Bina Nusantara
Anatomi: Blocks
• Ditandai dengan tanda kurung kurawal buka ({)
dan tutup (})
• Setiap class memiliki class block yang terdiri dari
data dan method
• Setiap method memiliki method block yang
terdiri dari statement
• Block dapat bersifat nested (block in block)
• Contoh:
public class Test {
public static void main(String[] args) {
System.out.println(“Welcome to Java!”);
}
}
Bina Nusantara
Method
Block
Class
Block
Anatomi: Classes
• Inti dari konstruksi Java
• Sebuah program terdiri dari minimal 1
class
• Di dalam class terdiri dari data dan
method (encapsulation)
Bina Nusantara
Anatomi: Methods
• Kumpulan statement yang di-encapsulated
yang menunjukkan urutan operasi
• Contoh:
– System.out.println
System.out  standard output object
println  method dalam object
hasil eksekusi akan ditampilkan di layar command prompt
Bina Nusantara
Anatomi: Main method
• Setiap aplikasi Java harus memiliki main
method
• Merupakan tempat mulainya eksekusi
program
• JVM mengeksekusi aplikasi Java melalui
main method
• Contoh main method:
public static void main(String[] args) {
// statements
}
Bina Nusantara
Escape Sequence
• Merepresentasikan karakter khusus
• Dimulai dengan karakter backslash ( \ )
dilanjutkan karakter tertentu
Character Escape Sequence Name
\b
Backspace
\t
Tab
\n
Linefeed
\f
Formfeed
\r
Carriage Return
\\
Backslash
\’
Single Quote
\”
Double Quote
\ddd
Bina Nusantara
\udddd
Octal (0 s/d 377)
Heksadesimal (dd= 0 s/d FF atau ff)
Escape Sequence
Contoh penggunaan escape sequence
Bina Nusantara
Did You Know?
• Versi Java
– 19 Februari 1997, Java 1.1
• hanya AWT
– 08 Desember 1998, Java 1.2
• Codename: Playground, dikenal dengan Java 2, muncul platform J2SE,
J2EE, J2ME
– 08 Mei 2000, Java 1.3
• Codename: Kestrel, mengintegrasikan sound
– 06 Februari 2002, Java 1.4
• Codename: Merlin, mengintegrasikan XML
– 30 September 2004, Java 5.0
• Codename: Tiger, awalnya berversi 1.5 (tetapi sudah menghilangkan
metode versi 1.x)
– 11 Desember 2006, Java 6
• Codename: Mustang, menghilangkan metode versi x.0, mendukung Visual
Basic, GUI Vista
– (belum rilis) 2008, Java 7
• Codename: Dolphin, perbaikan beberapa bug pada versi sebelumnya
Bina Nusantara
Did You Know?
• Logo Java:
• Maskot Java (Duke):
Bina Nusantara
Advanced Learning
• Java mendukung Unicode
• Unicode: skema encoding yang
dikembangkan oleh Unicode Consortium
• Mendukung pertukaran, pemrosesan, dan
penampilan bahasa-bahasa di dunia
• Contoh:
– Welcome dalam mandarin 
– I Love You dalam mandarin 
Bina Nusantara
Advanced Learning
• Contoh pemakaian Unicode
Bina Nusantara
Advanced Learning
• import java.swing.JOptionPane;  akan
diterangkan pada session berikutnya
• Untuk menampilkan kotak pesan grafik:
JOptionPane.showMessageDialog
(null,”…”,”…”,JOptionPane…);
parent
Bina Nusantara
teks
judul
jenis pesan
Advanced Learning
• Hasil eksekusi
Bina Nusantara
Referensi
• Introduction to Java Programming. 7ed. Liang. 2009. p40-48
• Java Programming Language.
http://en.wikipedia.org/wiki/Java_(programming_language)
• Java Software Platform.
http://en.wikipedia.org/wiki/Java_(software_platform)
• Java Bytecode. http://en.wikipedia.org/wiki/Java_bytecode
• JDK. http://en.wikipedia.org/wiki/Java_Development_Kit
• JVM. http://en.wikipedia.org/wiki/Java_Virtual_Machine
• Logo Java. http://en.wikipedia.org/wiki/Image:Java_Logo.svg
• Java Platform. http://en.wikipedia.org/wiki/Image:JavaPlatform.jpg
• http://en.wikipedia.org/wiki/Image:Wave.svg
• Java Characteristics.
http://www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdf
• History of Java. http://java.sun.com/features/1998/birthday.html
• Lexical Structure.
http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.ht
ml
Bina Nusantara
Download