Staffsite STMIK PPKIA Pradnya Paramita d0e16 pertemuan 002
Pertemuan 02
PENGANTAR BAHASA JAVA
LEARNING OUTCOMES
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
Menjelaskan elemen pemrograman Java
Menjelaskan struktur pemrograman Java
OUTLINE MATERI
Sejarah Java
Karakteristik Java
API, JDK, JRE
Java Platform
Program Sederhana Java
Anatomi Program Java
Escape Sequence
Unicode
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
KARAKTERISTIK JAVA (BUZZWORDS)
Simple
Object-oriented
Distributed
Interpreted
Robust
Secure
Architecture-neutral
Portable
High-performance
Multi-threaded
Dynamic
APPLICATION PROGRAM INTERFACE
(API)
Kumpulan predefined classes dan
interfaces untuk mengembangkan
program Java
3 edisi Java API:
Java 2 Standard Edition (J2SE)
Java 2 Enterprise Edition (J2EE)
Aplikasi client-side, applet
Servlet, JSP
Java 2 Micro Edition (J2ME)
Cell phone
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
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
Interpreter: java
Menampilkan applet
Dokumentasi: javadoc
Seperti interpreter, tetapi mampu men-debug aplikasi
Penampil applet: appletviewer
Mengeksekusi bytecode (.class) menjadi aplikasi
Debugger: jdb
Mengkompilasi souce code (.java) menjadi bytecode (.class)
Mengkonversi source code (.java) menjadi dokumentasi (.html)
Kompresi: jar
Menghasilkan kompresi (.jar) dari bytecode (.class) dan file pendukung
lain (seperti gambar, suara, video)
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
JAVA PLATFORM
PROGRAM JAVA SEDERHANA: HELLO WORLD
// This application program prints Welcome
to Java!
public class Welcome {
public static void main(String [] args) {
System.out.println(“Welcome to Java!”);
}
}
PROGRAM JAVA SEDERHANA: HELLO WORLD
// This application program prints Welcome to Java!
Class name
Filename:
Welcome.java
Comment
s
public class Welcome {
public static void main(String [] args) { Strin
g
System.out.println(“Welcome to Java!”);
Class heading,
}
Main method
signature
}
PROGRAM JAVA SEDERHANA: HELLO WORLD
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
CREATING, COMPILING, EXECUTING
Source code (developed by the programmer)
public class Welcome {
Public static void main(String [] args)Save
{
System.out.println(“Welcome to Java!”);
}
}
Create/Modify Source Code
on the disk
Bytecode (generated by the compiler for JVM
to read and interpret, not for you to
Stored
understand)
…
Method Welcome()
0 aload_0
…
Method void main(java.lang.String[])
0 getstatic #2 …
3 ldc #3
5 invokevirtual #4
8 return
Source Code
Compile Source Code
e.g., javac Welcome.java
If compilation errors
in the disk
Bytecode
Run Bytecode
e.g., java Welcome
Result
If runtime
errors or
Incorrect
result
ANATOMI PROGRAM JAVA
Program/aplikasi terdiri dari:
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
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
ANATOMI: LITERALS
Nilai tetap
Dapat berupa bilangan bulat, bulang
desimal, karakter, kata, boolean,
tergantung tipe yang digunakan
Contoh:
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! */
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 variable atau method
dengan object/class
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
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
ANATOMI: MODIFIERS
Merupakan reserved words tertentu
Menunjukkan properti data, method, dan
class
Contoh modifier:
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 (;)
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) {
Method
Class
Block
Block
System.out.println(“Welcome to Java!”);
}
}
ANATOMI: CLASSES
Inti dari konstruksi Java
Sebuah program terdiri dari minimal 1
class
Di dalam class terdiri dari data dan
method (encapsulation)
ANATOMI: METHODS
Kumpulan statement yang diencapsulated 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
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
}
ESCAPE SEQUENCE
Character
Escape
Sequence
\b
Name
Backspace
\t
Tab
\n
Linefeed
\f
Formfeed
\r
Carriage Return
\\
Backslash
\’
Single Quote
\”
Double Quote
\ddd
\udddd
Octal (0 s/d 377)
Heksadesimal
(dd= 0 s/d FF atau
ff)
Merepresentasikan
karakter khusus
Dimulai dengan
karakter backslash
( \ ) dilanjutkan
karakter tertentu
ESCAPE SEQUENCE
Contoh penggunaan escape sequence
DID YOU KNOW?
Versi Java
19 Februari 1997, Java 1.1
08 Desember 1998, Java 1.2
Codename: Tiger, awalnya berversi 1.5 (tetapi sudah menghilangkan metode versi 1.x)
11 Desember 2006, Java 6
Codename: Merlin, mengintegrasikan XML
30 September 2004, Java 5.0
Codename: Kestrel, mengintegrasikan sound
06 Februari 2002, Java 1.4
Codename: Playground, dikenal dengan Java 2, muncul platform J2SE, J2EE, J2ME
08 Mei 2000, Java 1.3
hanya AWT
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
DID YOU KNOW?
Logo Java:
Maskot Java (Duke):
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
ADVANCED LEARNING
Contoh pemakaian Unicode
ADVANCED LEARNING
import java.swing.JOptionPane; akan
diterangkan pada session berikutnya
Untuk menampilkan kotak pesan grafik:
JOptionPane.showMessageDialog
(null,”…”,”…”,JOptionPane…);
parent teks
judul
jenis pesan
ADVANCED LEARNING
Hasil eksekusi
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
PENGANTAR BAHASA JAVA
LEARNING OUTCOMES
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
Menjelaskan elemen pemrograman Java
Menjelaskan struktur pemrograman Java
OUTLINE MATERI
Sejarah Java
Karakteristik Java
API, JDK, JRE
Java Platform
Program Sederhana Java
Anatomi Program Java
Escape Sequence
Unicode
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
KARAKTERISTIK JAVA (BUZZWORDS)
Simple
Object-oriented
Distributed
Interpreted
Robust
Secure
Architecture-neutral
Portable
High-performance
Multi-threaded
Dynamic
APPLICATION PROGRAM INTERFACE
(API)
Kumpulan predefined classes dan
interfaces untuk mengembangkan
program Java
3 edisi Java API:
Java 2 Standard Edition (J2SE)
Java 2 Enterprise Edition (J2EE)
Aplikasi client-side, applet
Servlet, JSP
Java 2 Micro Edition (J2ME)
Cell phone
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
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
Interpreter: java
Menampilkan applet
Dokumentasi: javadoc
Seperti interpreter, tetapi mampu men-debug aplikasi
Penampil applet: appletviewer
Mengeksekusi bytecode (.class) menjadi aplikasi
Debugger: jdb
Mengkompilasi souce code (.java) menjadi bytecode (.class)
Mengkonversi source code (.java) menjadi dokumentasi (.html)
Kompresi: jar
Menghasilkan kompresi (.jar) dari bytecode (.class) dan file pendukung
lain (seperti gambar, suara, video)
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
JAVA PLATFORM
PROGRAM JAVA SEDERHANA: HELLO WORLD
// This application program prints Welcome
to Java!
public class Welcome {
public static void main(String [] args) {
System.out.println(“Welcome to Java!”);
}
}
PROGRAM JAVA SEDERHANA: HELLO WORLD
// This application program prints Welcome to Java!
Class name
Filename:
Welcome.java
Comment
s
public class Welcome {
public static void main(String [] args) { Strin
g
System.out.println(“Welcome to Java!”);
Class heading,
}
Main method
signature
}
PROGRAM JAVA SEDERHANA: HELLO WORLD
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
CREATING, COMPILING, EXECUTING
Source code (developed by the programmer)
public class Welcome {
Public static void main(String [] args)Save
{
System.out.println(“Welcome to Java!”);
}
}
Create/Modify Source Code
on the disk
Bytecode (generated by the compiler for JVM
to read and interpret, not for you to
Stored
understand)
…
Method Welcome()
0 aload_0
…
Method void main(java.lang.String[])
0 getstatic #2 …
3 ldc #3
5 invokevirtual #4
8 return
Source Code
Compile Source Code
e.g., javac Welcome.java
If compilation errors
in the disk
Bytecode
Run Bytecode
e.g., java Welcome
Result
If runtime
errors or
Incorrect
result
ANATOMI PROGRAM JAVA
Program/aplikasi terdiri dari:
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
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
ANATOMI: LITERALS
Nilai tetap
Dapat berupa bilangan bulat, bulang
desimal, karakter, kata, boolean,
tergantung tipe yang digunakan
Contoh:
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! */
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 variable atau method
dengan object/class
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
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
ANATOMI: MODIFIERS
Merupakan reserved words tertentu
Menunjukkan properti data, method, dan
class
Contoh modifier:
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 (;)
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) {
Method
Class
Block
Block
System.out.println(“Welcome to Java!”);
}
}
ANATOMI: CLASSES
Inti dari konstruksi Java
Sebuah program terdiri dari minimal 1
class
Di dalam class terdiri dari data dan
method (encapsulation)
ANATOMI: METHODS
Kumpulan statement yang diencapsulated 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
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
}
ESCAPE SEQUENCE
Character
Escape
Sequence
\b
Name
Backspace
\t
Tab
\n
Linefeed
\f
Formfeed
\r
Carriage Return
\\
Backslash
\’
Single Quote
\”
Double Quote
\ddd
\udddd
Octal (0 s/d 377)
Heksadesimal
(dd= 0 s/d FF atau
ff)
Merepresentasikan
karakter khusus
Dimulai dengan
karakter backslash
( \ ) dilanjutkan
karakter tertentu
ESCAPE SEQUENCE
Contoh penggunaan escape sequence
DID YOU KNOW?
Versi Java
19 Februari 1997, Java 1.1
08 Desember 1998, Java 1.2
Codename: Tiger, awalnya berversi 1.5 (tetapi sudah menghilangkan metode versi 1.x)
11 Desember 2006, Java 6
Codename: Merlin, mengintegrasikan XML
30 September 2004, Java 5.0
Codename: Kestrel, mengintegrasikan sound
06 Februari 2002, Java 1.4
Codename: Playground, dikenal dengan Java 2, muncul platform J2SE, J2EE, J2ME
08 Mei 2000, Java 1.3
hanya AWT
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
DID YOU KNOW?
Logo Java:
Maskot Java (Duke):
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
ADVANCED LEARNING
Contoh pemakaian Unicode
ADVANCED LEARNING
import java.swing.JOptionPane; akan
diterangkan pada session berikutnya
Untuk menampilkan kotak pesan grafik:
JOptionPane.showMessageDialog
(null,”…”,”…”,JOptionPane…);
parent teks
judul
jenis pesan
ADVANCED LEARNING
Hasil eksekusi
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