Pemrograman Dasar [PTI-5001] 2012

advertisement
Pemrograman Dasar [PTI-5001]
2012
1
Pada akhir pertemuan, diharapkan mahasiswa
mampu :
ž 
Mampu menjelaskan elemen dan struktur bahasa
pemrograman Java dan mampu menulis program
komputer sederhana dengan Java
2
Pengantar Bahasa Pemrograman Java
ž  Sejarah
Bahasa Pemrograman Java
ž  Struktur
Program dan Komentar
ž  Karakter, Identifier, Keyword
ž  Literal, Tipe
Data, Konstanta, Variabel
3
ž 
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
4
1. 
Bahasa Sederhana, tidak mendukung:
• 
• 
• 
• 
• 
• 
• 
Manipulasi pointer secara explisit
Casting tipe data implisit
Struktur atau union
Operator Overloading
Template
Header files
Multiple inheritance
3. 
Berorientasi Objek
Bahasa Statically Typed
4. 
Bahasa Dikompilasi
2. 
5
5. 
6. 
7. 
8. 
9. 
10. 
Bahasa yang aman
Tidak tergantung pada platform tertentu
(Write One, Run Aniwhere/WORA)
Bahasa Multithreading
Bahasa yang didukung Garbage Collector
Bahasa yang tegar
Bahasa yang mampu diperluas
6
ž  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
7
ž 
ž 
Sekumpulan program terpisah untuk mengembangkan dan
menguji program Java.
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)
8
ž  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)
9
ž 
ž 
ž 
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
10
11
3
1
2
4
3
6
1 
2 
3 
4 
5 
6 
5
Deklarasi class
Pembuka blok
Komentar
Main Method
Statement/Instruksi-program
Penutup Blok
12
ž 
Program Java yang dibuat harus selalu diakhiri dengan
ekstensi file .java.
ž 
Nama File harus sama dengan nama class public-nya
ž 
Baris 4, mengawali definisi kelas bernama: HelloWorld.
•  Kata kunci public disebut sebagai access modifier
•  Kata kunci class untuk mendefinisikan kelas dari objek di java, yang
merupakan wadah logik program dari sekumpulan data dan metode.
•  Setelah kata-kunci class, dituliskan nama kelas menggunakan aturan
umum penulisan identifier. Konvensi nama kelas adalah kata benda
dengan huruf kapital diawal kata yang berarti.
ž 
Komentar dapat ditulis sebagai penjelasan pada kode
program
13
ž 
Baris 6, penulisan metode main(), dijalankan pertama
kali dan penulisannya harus berupa:
public static void main(String[] args){
}
•  public berarti metode dapat dipanggil dari
manapun.
•  static berarti sama untuk semua instan kelas
•  void berarti tidak mengembalikan nilai
ž 
Baris 8, merupakan perintah untuk menampilkan teks:
Hello Word
14
Komentar tidak dieksekusi dalam program dan tidak
menambah ukuran dari bytecodes.
ž  Tiga macam komentar di java:
ž 
No. Jenis Komentar
Penggunaan
1.
/* …komentar… */
Semua karakter yang berada di antara /*
dan */ akan diabaikan dan tidak dieksekusi.
2.
// …komentar
Semua karakter setelah // hingga akhir
baris akan diabaikan dan tidak dieksekusi.
3.
Serupa dengan /*…*/, kecuali bahwa
/**…komentar…*/ komentar akan digunakan oleh tool javadoc
untuk membuat dokumentasi otomatis.
15
ž  Program
Java ditulis menggunakan subset karakter
Unicode yaitu:
–  Huruf besar A .. Z
–  Huruf kecil a .. z
–  Digit 0 .. 9
–  Karakter khusus seperti ‘!’ , ‘&’, ‘+’, ‘\’, ‘_’ dan sebagainya.
–  Kode kontrol (seperti: formfeed dan newline)
ž  Unicode
tidak hanya huruf latin, melainkan juga
digunakan huruf-huruf bangsa lain, seperti:
Jepang, Korea, German, dan bahkan Bengali.
Memori yang digunakan 2 byte (16 bit).
16
ž 
Keywords adalah identifier khusus dan tidak
dibolehkan digunakan untuk identifier lain.
ž 
Keyword di Java
abstract
continue
for
new
switch
assert ***
default
goto *
package
synchronized
boolean
break
byte
case
catch
char
class
const*
do
double
else
enum****
if
implements
import
instanceof
int
interface
long
native
private
protected
public
return
short
static
Strictfp**
super
this
throw
throws
transient
try
void
volatile
while
extends
final
finally
float
* Tidak digunakan
** Ditambahkan pada 1.2
*** Ditambahkan pada 1.4
**** Ditambahkan pada 5.0
17
ž 
ž 
ž 
ž 
ž 
ž 
ž 
ž 
Nama berbagai elemen program seperti nama variabel,
metode, kelas, keyword dsb
Karakter pertama harus berupa huruf atau garis
bawah(underscore) _ atau tanda $. Dianjurkan tidak
menggunakan _ atau $.
Karakter kedua dan seterusnya dapat berupa huruf atau
angka.
Huruf besar dianggap berbeda dengan huruf kecil (case
sensitive)
Panjang maksimum bebas.
Tidak boleh menggunakan keyword (misal for, while, dll.)
Contoh identifier : nama, x1, total, cubic, namaPegawai
Contoh identifier yang salah: 1kali, int
18
ž  Literal
adalah nilai data yang dituliskan pada
kode sumber (program).
ž  Terdapat
1. 
2. 
3. 
4. 
5. 
lima macam literal di Java, yaitu:
Integer
Floating Point
Boolean
Character
String
19
ž  Literal
integer atau bilangan bulat dapat
direpresentasikan dalam bentuk desimal
(berbasis 10), oktal (berbasis 8) dan
heksadesimal (berbasis 16). Hanya literal
desimal yang boleh diberi tanda + (positip) dan
– (negatip).
ž  Bentuk
oktal ditandai dengan angka 0 diawal.
ž  Bentuk
heksadesimal diawali dengan 0x atau 0X.
20
ž  Contoh
literal integer:
Literal
Keterangan
75
Bilangan desimal 175 (basis 10)
075
Bilangan oktal 175 (berbasis 8) = 61 desimal
0x75 atau 0X75
Bilangan heksa 75 (berbasis 16) = 117 desimal
-75
Minus 75 desimal
+75
Positip 75 desimal
-075
Salah karena oktal tak boleh bertanda (- atau +)
+0x75
Salah karena heksa tak boleh bertanda (- atau +)
21
ž 
ž 
ž 
ž 
Literal floating point (bertitik desimal)
merepresentasikan bilangan desimal yang
mempunyai titik desimal (bagian pecahan), misal:
7.4567
Literal floating point, boleh bertanda (+ atau -)
maupun tanpa tanda (positip). Misal: +7.4567 atau
-7.4567 atau 7.4567
Penulisan literal floating point dapat menggunakan
notasi standart maupun ilmiah (scientific).
Default floating point bertipe double (64 bit). Bila
diinginkan bertipe float (32 bit) harus ditambahkan
simbol horuf f atau F diakhir bilangan, misalkan:
7.4567f atau 7.4567F.
22
ž  Contoh
Literal floating point:
Literal
Keterangan
0.75
Berarti: 0,75 atau 75/100
+.1
Berarti: +0,1 atau 1/10
-0.9876
Berarti: minus 0,9876
2.0e2 atau 2e2
Berarti: 2 x 102
2E+25
Berarti: 2 x 1025
-75e-011
Berarti: -75 x 10-11
+75.E25F
Berarti: +75 x 1025 bertipe float (32 bit).
23
ž 
ž 
Literal karakter direpresentasikan sebagai karakter
Unicode tunggal dan dituliskan berupa karakter
tunggal yang diapit dengan tanda petik tunggal (‘ ‘).
Contoh Literal Karakter:
Literal
Keterangan
‘A’
Berarti: karakter huruf A kapital.
‘a’
Berarti: karakter huruf a standart.
‘8’
Berarti: karakter angka 8 dan bukan angka 8.
‘#’
Berarti: karakter simbol #.
“D”
Salah, karakter menggunakan petik tunggal.
‘Di’
Salah, tidak boleh lebih dari 1 karakter yang
dapat diapit oleh petik tungal.
24
ž 
ž 
ž 
ž 
ž 
ž 
ž 
ž 
ž 
\b
\t
\n
\r
\’
\”
\\
\xdd
\ddd
back space
horizontal tab
new line, line eed
carriage return
single quote
double quote
backslash
notasi hexadecimal
notasi octal
Hampir sama dengan bahasa C/C++, hanya pada
Java tidak mengenal \a dan \v.
25
ž 
ž 
Literal boolean dipergunakan untuk menuliskan nilai
data boolean (true atau false).
Penulisan Literal Boolean:
Literal
Keterangan
true
Berarti: nilai boolean true.
false
Berarti: nilai boolean false.
26
ž 
ž 
Literal String direpresentasikan sebagai serangkaian
karakter Unicode dan penulisannya diapit oleh tanda
petik ganda (“ “). String di Java merupakan sebuah
kelas.
Contoh Literal String:
•  “Komputer”
•  “Program Teknologi Informasi dan Ilmu Komputer”
•  “4 x 12 = 48”
•  “” è string kosong
•  “1” è string berisi karakter 1, tidak sama dengan ‘1’.
27
ž 
ž 
Literal String dapat juga berisi karakter khusus
seperti newline, tab, dsb. Bahkan bisa saja berisi
tanda petik ganda.
Contoh Literal String berisi karakter khusus:
Literal
Keterangan
“Bahasa\nKomputer”
Antara Bahasa dan Komputer terdapat
newline.
“Nama\t:\tHerman”
Antara Nama dan : terdapat horisontal tab
termasuk antara : dan Herman.
“Teks \”Hallo\””
Kata Hallo diapit oleh dua petik ganda.
28
ž 
Java mempunyai 8 tipe data primitif, dengan rincian
sebagai berikut:
No. Tipe Data
Memori
1.
byte
8 bit
2.
short
3.
Nilai Minimum
Nilai Maksimum
-128
127
16 bit
-32768
32767
int
32 bit
–2147483648
2147483648
4.
long
64 bit
5.
float
32 bit
±1.40239846E-45
±3.40282347E+8
6.
double
64 bit
±4.94065645841246544
E-324
±1.7976931348623157
0E+308
7.
char
16 bit
\u0000
\uFFFF
8.
boolean
–9223372036854775808 9223372036854775807
true atau false
29
ž 
ž 
ž 
Variabel adalah identifier (mewakili lokasi memori
tertentu) untuk menyimpan nilai data yang dapat
diubah nilai datanya.
Variabel memiliki tipe data dan identifier. Tipe data
menandakan tipe nilai data yang dapat disimpan di
variabel tersebut.
Identifier variabel harus mengikuti aturan untuk
identifier.
30
ž 
Sintaks:
tipe-data identi&ier [, identi&ier] [= nilai awal] ;
tanda [ ] bersifat optional (boleh ada atau tidak).
ž 
Contoh:
int a;
float ipSem, ipKum, ipLulus;
double minimum=0.0, maksimum=1250000.0;
boolean cek, lulus=false;
31
ž 
ž 
ž 
Konstanta adalah identifier (mewakili lokasi memori
tertentu) untuk menyimpan nilai data yang tidak
dapat diubah nilai datanya.
Konstanta memiliki tipe data, identifier dan nilai
data konstan. Tipe data menandakan tipe nilai data
yang disimpan di konstanta tersebut.
Identifier konstanta harus mengikuti aturan untuk
identifier.
32
ž 
Sintaks:
final tipe identi&ier = nilai [, identi&ier = nilai] ; tanda [ ] bersifat optional (boleh ada atau tidak).
ž 
Contoh:
final int K=100;
final double MIN=0.0, MAKS=1000000.0;
final double PI=3.142;
33
Download