PEMROGRAMAN JAVA Pengenalan Java Kompilasi Java Token Tipe Data (i)
Yoannita
Sun Microsystem
Java dikembangkan oleh Sun Microsystem Ditujukan untuk mengatasi perbedaan pada aneka platform yang ada saat ini. Slogan java : “Write once, run anywhere.”
Teknologi Java adalah sebuah bahasa pemrograman dan juga merupakan sebuah platform.
Mengapa dinamakan Java?
Yoannita
Sejarah Singkat Java
Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur‐manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”. Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Yoannita
Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin. Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java. Java Education Network Indonesia
Mengapa Mempelajari Java? (1) Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut : 1.
2.
Sederhana Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namunsintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection. Berorientasi objek (Object Oriented) Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrogramanberorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek‐objek tersebut.
Yoannita
3.
4.
5.
Dapat didistribusi dengan mudah Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java. Interpreter Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda‐beda. Robust Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime‐ Exception handling untuk membantu mengatasi error pada pemrograman.
Mengapa Mempelajari Java? (2) Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut : 6.
7.
8.
Aman Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut. Architecture Neutral Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine. Portabel Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda‐beda tanpa harus dikompilasi ulang. Yoannita
9.
Performance Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft 10. Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. 11. Dinamis Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
Pembagian Java
Java Standard Edition (Java SE) }
Java Micro Edition (Java ME) }
“desktop Java”
“wireless Java”
Java Enterprise Edition (Java EE) }
“server‐side Java”
Java Card } }
difokuskan ke aplikasi smart card. Java Card khusus dikembangkan untuk membuat aplikasi‐aplikasi pada smart card, misalnya aplikasi kartu telepon CHIP, kartu VISA, kartu SIM pada ponsel dan aplikasi mobile banking BCA yang saat ini sudah umum digunakan.
Yoannita
Penamaan Java oleh Sun Microsystem
2 versi penamaan : penamaan versi dari divisi engineer dan versi dari divisi marketing. versi 1.0 hingga 1.4 ini penamaan dari sisi engineer, namun saat versi berikutnya SUN lebih memilih penamaan divisi marketing yaitu cukup dengan menyebutkan jdk lalu diikuti versi releasenya seperti jdk 5.0. Ketika Java 2 diperkenalkan tahun 1999, platform Java terbagi menjadi 3 variant : } Java 2 Standard Edition (J2SE), } Java 2 Micro Edition (J2ME), } Java 2 Enterprise Edition (J2EE). angka 2 setelah huruf J (J2SE, J2EE, J2ME) bukanlah merupakan no versi releasenya akan tetapi merupakan trademark dari SUN untuk memberitahukan bahwa setelah java berada di versi 1.2, java telah mengalami perubahan dan peningkatan besar‐besaran. Yoannita
Tahun 2005, Dari java versi 6 yang sedang dikembangkan saat itu, SUN telah menghilangkan istilah J2SE, J2EE, dan J2ME tsb, dengan menyebutkan java dengan Java SE, Java EE, dan Java ME diikuti nomor releasenya dari penamaan divisi marketing. } Java Standard Edition (Java SE) } Java Micro Edition (Java ME) } Java Enterprise Edition (Java EE)
http://j2me.synclastic.com/page/2/
JDK
J2SE J2ME J2EE
Java SE Java ME Java EE
Penamaan Java http://www.diskusiweb.com/viewthread.php?tid=11105
Penamaan Java oleh Sun Microsystem
Yoannita
Kompilasi
Compile Î menerjemahkan program ke bentuk kode yang dapat dimengerti oleh mesin (komputer). Agar sebuah program java dapat dijalankan, maka file dengan extensi .java harus dikompilasi menjadi file bytecode. Compiler akan mengecek syntax lalu mengubah program ke kode dalam bahasa mesin. Kode dalam bahasa mesin inilah yang akan dieksekusi oleh komputer. Yoannita
Java Script = Java ? Java Script merupakan scripting language yang digabung dengan HTML sehingga memungkinkan suatu web page mampu berinteraksi lebih baik lagi dengan penggunanya. Javascript tidak memerlukan kompilasi, hanya diinterpretasikan dari web browser. Java merupakan full programming language yang dieksekusi oleh JVM
Yoannita
Cross-platform Apa yang membuat Java begitu menarik? Jawabnya terletak pada kemampuannya untuk menghasilkan program yang mampu berjalan di atas segala jenis platform. Sekali kita menulis program dalam bahasa Java, maka ia akan siap bekerja di segala jenis platform tanpa perlu modifikasi kode.
“Write once, run anywhere.” cross-platform benefits of the Java language
Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM (Java Virtual Machine) adalah mesin untuk menjalankan bytecode pada file kelas Java pada mikroprosesor, baik yang berada pada komputer atau pada piranti elektronik lainnya. Bahasa java disebut sebagai bahasa yang portable ( write once run anywhere ) karena dapat dijalankan pada berbagai Sistem Operasi, asalkan pada sistem tersebut terdapat JVM. Yoannita
Kompilasi Javac
Javac file1.java Î Membuat file1.class dari file1.java
Java Java file1 Î Mengeksekusi class file1 // nama file : file1.java class file1 { public static void main (String[] args ) { System.out.println("Hello world"); } } Yoannita
Kerangka Pertama Program Java class { public static void main (String[] args) { // statements } } dapat diganti dengan nama class pilihan anda. Karakter pertama sebaiknya dibuat huruf besar (lihat keterangan identifier) args boleh diganti public static void main jangan diganti Yoannita
Program Java Sederhana class Sederhana { public static void main (String[] args) { System.out.println (“Hello java…”); } } class (nama class: Sederhana) Î sekumpulan data attributes dan method Method : main() Î sekumpulan statement Yoannita
Method Utama
public static void main (String args [ ]) { … }
Baris kode di atas mendeklarasikan suatu method dengan nama main.
main Merupakan tempat dimulainya program dieksekusi. Jika tidak ada method ini maka akan keluar pesan kesalahan: Exception in thread “main”.java.lang.NoSuchMethodError: main Nama main di sini merupakan suatu keharusan dalam Java karena Java akan mencari method yang bernama main ini sebagai titik awal eksekusi program. Yoannita
public static void main (String[] args)
Public Keyword public merupakan access specifier yang menentukan visibility level dari method ini. Public berarti method ini dapat diakses/dipanggil dari luar class dimana ia dideklarasikan. selain public, jenis access specifier yang lain adalah private, protected, dan default. Method main() akan dipanggil dari luar oleh run‐time Java saat program akan dieksekusi sehingga access specifier yang dimiliki haruslah public. Yoannita
Sekilas public & private Public : siapa saja bisa mengakses member ini : } }
kode yang ada dalam class itu sendiri atau yang berada di luar class
Private : hanya dapat digunakan oleh internal member dari class tersebut saja }
tidak ada kode satupun dari luar class tersebut yang diizinkan mengakses / mengubah nilai dari member tersebut
Yoannita
public static void main (String[] args)
static Keyword static memungkinkan method main() dipanggil tanpa harus terlebih dahulu membuat instance dari class file1 Ini diperlukan karena method main() akan dieksekusi sebelum objek dari class file1 dibuat di memori.
Yoannita
void Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun setelah dipanggil/dieksekusi.
args Argument args (String[] args) adalah array objek string argument baris-baris perintah. variabel args bertipe array dari String
System.out.println (“Hello java…”); System : class nama dari salah satu class standar yang dimiliki oleh java. Out : objek anggota dari class System dan juga merupakan objek tersendiri, out merupakan objek yang mewakili standard output stream yang dalam hal ini adalah layar komputer. Seperti halnya method main(), objek out ini dideklarasikan menggunakan keyword static di dalam classnya sehingga dapat langsung dipanggil tanpa perlu terlebih dahulu membuat instance dari class System. Yoannita
println : method Method yang terdapat pada objek out. Berfungsi untuk mencetak keluaran ke standard output. Method ini juga mencetak karakter pindah baris. }
println vs print
“Hello java…” : paramenter Parameter dari method println() yang diterima oleh internal method ini dan dicetak ke standard output(layar komputer). Tanda ; Menandakan akhir suatu statement/pernyataan/ perintah.
Contoh (potongan) kode program System.out.println
System.out.print
… int a = 10; int b = 1;
… int a = 10; int b = 1; System.out.print (a); // System.out.print (); // Akan menghasilkan output error System.out.print (b); ….
System.out.println (a); System.out.println (); System.out.println (b); …. /* Hasilnya : 10
/* Hasilnya : ab
1 */ Yoannita
*/
Token Token merupakan elemen terkecil di program yang mempunyai arti bagi kompilator. Token Java dibagi 5, yaitu: } Identifier } Keyword } Literal } Operator } Separator Yoannita
Token : Identifier }
}
Identifier adalah token yang merepresentasikan nama. Dalam Java, identifier adalah nama yang diberikan untuk variable, class, atau method.
Token : Reserved words/Keywords }
}
Kata‐kata yang dikenal oleh Java dan mempunyai arti khusus dlm program. tidak boleh digunakan sebagai identifier (nama variabel, kelas, method, dll).
http://eecchhoo.wordpress.com/2007/11/26/mengenal-java-tutorial-awal-java/
Ketentuan Identifier Identifier harus dimulai/diawali dengan huruf, underscore (_) atau tanda dollar ($). Untuk selebihnya dapat menggunakan karakter apapun, kecuali karakter yang digunakan sebagai operator oleh java.
Yoannita
Identifier adalah case sensitive (membedakan huruf besar/ kecil) dan tidak ada batas maksimum. Bukan merupakan keywords yang dikenal Java :
Valid Identifier Valid } } }
No Kd_barang kodeBarang
} } }
$barang bahASA_PEmogramaN_JaVa Contoh valid : int kd_barang; string $barang; class No
Invalid
1_harga
%barang
Nama pelanggan
Kd+barang
- tidak boleh diawali dengan angka - simbol % tidak boleh digunakan - tidak boleh menggunakan spasi - tidak boleh menggunakan tanda operator
Contoh invalid: int 1_harga; int super; double void; class throws Yoannita
Valid Identifier Sebagai pengganti bentuk penulisan tradisional untuk identifier, yang menggunakan huruf kecil dengan garis‐bawah sebagai pemisah kata } }
nama_karyawan Nama_Karyawan
Beberapa identifier dituliskan dengan huruf kapital pada awal kata, seperti : }
string namaKaryawan atau class NamaKaryawan
Yoannita
Token : Literal Token : Literal Penulisan variabel.
besaran
Token : Operator untuk
Literal Java terdiri dari angka, karakter, dan string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating point), dan boolean. Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan 0. Yoannita
Operator menspesifikasikan evaluasi atau komputasi terhadap objek. Operand yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim oleh metode atau fungsi.
Token : Separator Separator digunakan untuk menginformasikan ke kompilator Java mengenai adanya pengelompokkan di kode program. Simbol
Nama
()
Kurung
Untuk menghimpun parameter dalam definisi dan pemanggilan method, juga digunakan untuk menyatakan tingkat pernyataan, menghimpun pernyataan, untuk pengaturan alur program, dan untuk menyatakan tipe cast (cast types)
{}
Kurung Kurawal
Untuk menghimpun nilai yang otomatis dimasukkan ke dalam array, digunakan juga untuk mendefinisikan blok program, untuk cakupan class, method, dan lokal.
[]
Kurung Siku
Untuk menyatakan tipe array dan untuk membedakan nilai array.
;
Titik Koma
,
Koma
.
Titik
Yoannita
Penggunaan
Pemisah Pernyataan. Pemisah urutan identifier dalam deklarasi variabel. Untuk memisahkan nama paket dari sub-paket dan class dan untuk memisahkan variabel atau method dari variabel referensi.
Lingkupan (Scope) dari Variabel class Scope { static int a = 2; // deklarasi variabel dalam blok class public static void main (String[] args) { int x = 10; // x dikenal di seluruh method main() { // awal dari blok baru int y = 5; // y hanya dikenal dalam blok kode ini saja } } }
Yoannita
Contoh kode program Menampilkan lebih dari satu baris // // // //
nama file: datadiri.java deskripsi: program menampilkan beberapa kalimat kompilasi: javac datadiri.java eksekusi: java datadiri
class datadiri { public static void main (String[] args) { System.out.println (“Nama: MDP”); System.out.println (“Alamat: Jln. Rajawali 14”); System.out.println (“Tlp:376400\nfax:376360\nwebsite:www.stmik-mdp.net”); } }
/* \n : newline, juga berfungsi untuk pindah baris Yoannita
*/
Case Sensitive
Huruf kecil dan huruf kapital pada identifier tidak dianggap sama Identifier alamat, Alamat, dan ALAMAT menyatakan tiga identifier yang berbeda.
class caseSensitive1 { public static void main (String[] args ) { String nama = “Evi"; String Nama = “Eva"; String NAMA = “Evo";
System.out.println("String yang dicetak : " + Nama); } Yoannita
Variabel Æ lokasi penyimpanan yang ada di memori Setiap variabel memiliki kemampuan menyimpan suatu informasi sesuai dengan tipe data yang dideklarasikan untuk variabel tersebut. } tipe‐data nama‐variabel; } tipe‐data nama‐variabel = ; String teks;
// pendeklarasian variabel // kode di atas mendeklarasikan suatu variabel bernama teks dengan tipe data string //variabel teks hanya dapat menampung data berupa String
String teks = “Mine”; Char karakter; Char karakter = ‘A’; Yoannita
// pendeklarasian dan pemberian nilai pd variabel int counter; Int counter = 3;
Tipe Data Tipe data diperlukan agar kompiler tahu operasi apa yang valid dan
Tipe Data Primitif }
seberapa banyak memory yang diperlukan oleh sebuah nilai yang
} }
akan disimpan atau dioperasikan.
} }
Variabel : } } }
menampung suatu nilai Pasti memiliki tipe data Harus didefinisikan terlebih dahulu sebelum digunakan
Yoannita
Integer Floating – Point Karakter Boolean ….
Tipe Data Referensi
Tipe Data Tipe Data Integer (Bilangan Bulat)
Tipe Data Boolean Nilai : true atau false
Tipe Data Real/ Floating Point (Bilangan Pecahan)
Yoannita
Tipe Data Tipe Data Karakter char : }
}
hanya dapat menampung satu karakter saja, Menggunakan tanda petik satu
String : }
}
dapat menampung kalimat. Menggunakan tanda petik dua
Yoannita
class SalahCharString { public static void main(String args[]) { char c1 = 'A'; char s1 = "Belajar Java menyenangkan"; } } Seharusnya String
Berikut pesan kesalahan saat kompilasi : SalahCharString.java [11:1] incompatible types found : java.lang.String required: char char s1 = "Belajar Java menyenangkan"; ^ 1 error Errors compiling SalahCharString
Contoh kode program // nama file: data1.java // deskripsi: program menampilkan nilai // kompilasi: javac data1.java // eksekusi: java data1
Program dengan Variabel
class data1 { public static void main (String [ ] args) { double nilai1 = 13.14; char nilai2; nilai2 = ‘B’; System.out.println (“tipe data double : “ + nilai1); System.out.println (“tipe data char : “ + nilai2); } } Yoannita
Konstanta
Merupakan variabel yang memiliki nilai tetap dan tidak dapat diubah saat program sedang berjalan. Untuk menjadikan sebagai variabel konstanta, cukup menambahkan kata tercadang final contoh usaha untuk // nama file : konstanta2.java Contoh: mengubah nilai konstanta : // deskripsi : perubahan konstanta final int nilai = 20; // kompilasi : javac konstanta2.java // eksekusi : java konstanta2
Berikut ini tampilan saat kompilasi
class konstanta2 { public static void main(String args[]) { final int hrg = 3500; int jlh = 10; System.out.println("total = " + (jlh * hrg)); hrg = 250; System.out.println("total = " + (jlh * hrg)); } } Yoannita
konstanta2.java [13:1] cannot assign a value to final variable hrg hrg = 250; ^ 1 error Errors compiling konstanta2. Terjadi kesalahan saat kompilasi, yaitu pada baris 13 terjadi usaha untuk mengubah nilai variabel hrg.
Literal Kode
Arti
\n
Baris baru
\t
Tab
\b
Backspace
\r
Carriage Return
\f
Formfeed01
\\
Backslash
\’
Tanda kutip tunggal
\”
Tanda kutip ganda
\ddd
Bilangan oktal
\xdd
Bilangan hexadesimal
\udddd
Karakter unicode
Yoannita
Literal Karakter
Membandingkan String equals dan equalsIgnoreCase Contoh (potongan) kode program … if (teks.equals(“HaLLo")) { System.out.println (“teks berisi huruf HaLLo"); } … if (teks.equalsIgnoreCase(“HaLLo")) { System.out.println (“teks berisi huruf hallo (huruf besar maupun kecil)"); } … if (teks ==("HaLLo")) { System.out.println ("teks berisi huruf HaLLo"); } Yoannita
Membandingkan Char … char nilai = 'A'; if (nilai == 'A') { System.out.println("Memuaskan"); } // char tidak memiliki fungsi equals if (nilai.equals('A')) { System.out.println("Memuaskan"); } …
Yoannita
Pesan Error : penggunaanif.java:43: char cannot be dereferenced if (nilai.equals('A')) ^ 1 error
Latihan (i) Buatlah program java untuk menampilkan kalimat berikut:
Hello World! My Name is ‘Hero’ It’s been nice knowing you. “Goodbye World!” Note: Tanda ‘ dan “ ditampilkan ke layar Yoannita
Latihan (ii) Mendeklarasikan dan mencetak variabel Diberikan tabel dibawah ini, deklarasikan variabel yang terdapat didalamnya dengan tipe data yang sesuai dan berikan nilai inisialisasi. Tampilkan hasil outputnya yaitu nama variabel dan nilainya. Nama Variabel
Tipe Data
Nilai Awal
number
integer
10
letter
character
a
result
boolean
true
str
String
hello
Yoannita
Berikut ini diharapkan program:
merupakan tampilan yang sebagai hasil eksekusi
number = 10 letter = a result = true str = hello