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
5
1. Bahasa Sederhana, tidak mendukung: • Manipulasi pointer secara explisit • Casting tipe data implisit • Struktur atau union • Operator Overloading • Template • Header files • Multiple inheritance
2. Berorientasi Objek
3. Bahasa Statically Typed
4. Bahasa Dikompilasi
6
5. Bahasa yang aman
6. Tidak tergantung pada platform tertentu (Write One, Run Aniwhere/WORA)
7. Bahasa Multithreading
8. Bahasa yang didukung Garbage Collector
9. Bahasa yang tegar
10. Bahasa yang mampu diperluas
� 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
12
1 Deklarasi class 2 Pembuka blok 3 Komentar 4 Main Method 5 Statement/Instruksi-program 6 Penutup Blok
2
3
3 1
4
5 6
� 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:
15
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. /**…komentar…*/ Serupa dengan /*…*/, kecuali bahwa komentar akan digunakan oleh tool javadoc untuk membuat dokumentasi otomatis.
� 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
17
abstract continue for new switch
assert *** default goto * package synchronized
boolean do if private thisbreak double implements protected throwbyte else import public throwscase enum**** instanceof return transientcatch extends int short trychar final interface static voidclass finally long Strictfp** volatileconst* float native super while
* Tidak digunakan *** Ditambahkan pada 1.4 ** Ditambahkan pada 1.2 **** Ditambahkan pada 5.0
� 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 lima macam literal di Java, yaitu: 1. Integer 2. Floating Point 3. Boolean 4. Character 5. 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:
21
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 +)
� 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:
23
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).
� Literal karakter direpresentasikan sebagai karakter Unicode tunggal dan dituliskan berupa karakter tunggal yang diapit dengan tanda petik tunggal (‘ ‘).
� Contoh Literal Karakter:
24
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.
� \b back space � \t horizontal tab � \n new line, line eed � \r carriage return � \’ single quote � \” double quote � \\ backslash � \xdd notasi hexadecimal � \ddd notasi octal
25
Hampir sama dengan bahasa C/C++, hanya pada Java tidak mengenal \a dan \v.
� Literal boolean dipergunakan untuk menuliskan nilai data boolean (true atau false).
� Penulisan Literal Boolean:
26
Literal Keterangan
true Berarti: nilai boolean true.
false Berarti: nilai boolean false.
� 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:
28
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.
� Java mempunyai 8 tipe data primitif, dengan rincian sebagai berikut:
29
No. Tipe Data Memori Nilai Minimum Nilai Maksimum
1. byte 8 bit -128 127
2. short 16 bit -32768 32767
3. int 32 bit –2147483648 2147483648
4. long 64 bit –9223372036854775808 9223372036854775807
5. float 32 bit ±1.40239846E-45 ±3.40282347E+8
6. double 64 bit ±4.94065645841246544E-324
±1.79769313486231570E+308
7. char 16 bit \u0000 \uFFFF
8. boolean true atau false
� 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:
31
int a; float ipSem, ipKum, ipLulus; double minimum=0.0, maksimum=1250000.0; boolean cek, lulus=false;
� 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:
33
final int K=100; final double MIN=0.0, MAKS=1000000.0; final double PI=3.142;