Download - Modul Java Programing

Transcript
Page 1: Modul Java Programing

1

Modul Pemrograman Java Dasar

BAB IPengenalan Bahasa Pemrograman JAVA

1.1 Latar Belakang Bahasa JAVA1.1.1 Sejarah Singkat JAVAPada 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 manufakturmanufaktur 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). 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 ayang 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.

Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas. Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada saat yang sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat. Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web.

Java Programming Team UIN Suska

Page 2: Modul Java Programing

2

Modul Pemrograman Java Dasar

Java telah mengakomodasi hampir seluruh fitur penting bahasa–bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia :1. Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C+

+. Dari bahasa ini diadopsi bentukan–bentukan dasar dari pemrograman berorientasi objek.2. Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan

untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya.3. Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya.4. Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling5. Dari bahasa Ada, diambil strongly type, dan exception handling.6. Dari Objective C, diambil fasilitas interface.7. Dari bahasa SmallTalk, diambil pendekatan single-root class hiérarchie, dimana object adalah

satu kesatuan hirarki pewarisan8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4

1.1.2 Apa itu Teknologi JAVA?1.1.2.1 Sebuah Bahasa PemrogramanSebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.

1.1.2.2 Sebuah Development EnvironmentSebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.

1.1.2.3 Sebuah AplikasiAplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).

1.1.2.4 Sebuah Deployment EnvironmentTerdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas–kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada

Java Programming Team UIN Suska

Page 3: Modul Java Programing

3

Modul Pemrograman Java Dasar

Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.

1.1.3 Mengapa Mempelajari JAVA?Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :1. Sederhana

Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

2. Berorientasi objek (Object Oriented)Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.

3. Dapat didistribusi dengan mudahJava dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.

4. InterpreterProgram 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.

5. RobustJava 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.

6. AmanSebagai 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.

7. Architecture NeutralProgram Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.

8. PortabelSource code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

9. PerformancePerformance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).

10. MultithreadedJava mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

Java Programming Team UIN Suska

Page 4: Modul Java Programing

4

Modul Pemrograman Java Dasar

11. DinamisJava 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.

1.1.4 Sebagian Fitur dari JAVA1.1.4.1 Java Virtual Machine (JVM)JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.

Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.

1.1.4.2 Garbage CollectionBanyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.

Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.

1.1.4.3 Code SecurityCode Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.

1. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas– kelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas–kelas yang berasal dari local disk yang dimuat terlebih dahulu.

Java Programming Team UIN Suska

Page 5: Modul Java Programing

5

Modul Pemrograman Java Dasar

2. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.3. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing. Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.

Java juga menyediakan beragam teknik pengamanan lain :1. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.

2. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.

1.1.5 Fase – Fase Pemrograman JAVAGambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuahprogram Java :

Fase dari sebuah Program JavaLangkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java. Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa berkas bytecode dengan ekstensi .class.

Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh JavaInterpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

Java Programming Team UIN Suska

Page 6: Modul Java Programing

6

Modul Pemrograman Java Dasar

Proses Tool Hasil

Menulis kode program Text editor Berkas berekstensi .java

Kompilasi program (Java Bytecodes) Berkas berekstensi .class

(Java Bytecodes)

Menjalankan program Java Interpreter Program Output

Ringkasan Fase dari sebuah Program Java

BAB IIInstalasi Java

1. Persiapan1. Software yang Diperlukan

Java Programming Team UIN Suska

Page 7: Modul Java Programing

7

Modul Pemrograman Java Dasar

Sebelum melakukan istalasi Java, beberapa software yang diperlukan adalah:

1. Java Development Kit, versi 1.7 atau terbaru

Download : http://jdk7.dev.java.net

2. Teks Editor Notapad+ +, versi 5.8.3 atau terbaru

Download : www.notepad-plus-plus.org

3. NetBeans IDE versi 6.9 atau terbaru

Download : www.netbeans.org

1. Instalasi JDK

Java Development Kit Java Development Kit merupakan perangkat lunak yang digunakan untuk melakukan proses kompilasi dari kode Java menjadi bytecode yang dapat dimengerti dan dapat dijalankan oleh Java Runtime Environtment.

Java Development Kit harus terinstall pada komputer yang akan melakukan proses pembuatan aplikasi berbasis Java. Namun Java Development Kit tidak harus terinstall di komputer yang akan menjalankan aplikasi yang dibangun menggunakan Java.

JDK Installer

Java Programming Team UIN Suska

Page 8: Modul Java Programing

8

Modul Pemrograman Java Dasar

Gambar Instalasi JDK

2. Konfigurasi PATH

PATH dipergunakan untuk melakukan pemanggilan melalui Command Promp, sehingga kita tidak perlu menuliskan alamat direktori secara lengkap. Dengan konfigurasi PATH, kita cukup memanggil nama file yang akan digunakan.

Lakukan langkah-langkah berikut:

1. Klik Kanan pada menu Computer / MyComputer - Properties

2. Pilih tab Advance dan Pilih Environment Variable

3. Pada User Variable, pilih New

4. Pada Variable Name, masukkan value “PATH” (tanpa tanda petik)

5. Pada Variable Value, masukkan “C:\Program Files\Java\jdk1.7.0\bin” (tanpa tanda petik)

6. Dan OK.

Java Programming Team UIN Suska

Page 9: Modul Java Programing

9

Modul Pemrograman Java Dasar

1. Melihat Kebenaran Setting PATH

Untuk melihat apakah setting PATH sudah benar atau belum, lakukan langkah-langkah berikut:

1. Buka CMD (Comand Promp) Shortcur : Window + R

2. Masukkan perintah java –version

3. Maukkan perintah javac –version

4. Jika muncul versi java dan javac yang digunakan, berarti setting PATH sudah benar

5. Jika muncul error :

“java” is not recognized as an internal or external commnand...dst

Java Programming Team UIN Suska

Page 10: Modul Java Programing

10

Modul Pemrograman Java Dasar

Atau “javac” is not recognized as an internal or external commnand...dst

Setting PATH belum benar, atau restar Command Promp Anda

BAB IIIMengenal Lingkup Pemrograman Anda

3.1 Program Java Pertamapublic class Hello{

/*** My first java program

Java Programming Team UIN Suska

Page 11: Modul Java Programing

11

Modul Pemrograman Java Dasar

*/public static void main(String[] args) {

//Menampilkan kata "Hello world" dilayarSystem.out.println("Hello world!");

}}

Sebelum menjelaskan apa arti dari program tersebut, cobalah untuk menulis program ini di dalam file dan kemudian menjalankannya.

3.2 Menggunakan Text Editor dan ConsoleDalam contoh ini, kita akan menggunakan text editor untuk mengedit program Java. Anda juga akan membuka CMD window untuk mengkompilasi dan mengeksekusi program Java Anda.

Langkah 1: Memulai Text EditorUntuk memulai text editor di Linux Wndows : Star All Programs Accessories NotepadJika menggunakan Editor Notapad ++ : Star All Programs Notepad ++ Notepad ++

Aplikasi Text Editor di Windows Text Editor Notepad ++

Langkah 2: Membuka Command Prompt (CMD)Untuk membuka CMD di Windows, klik pada Star All Programs Accessories Command Prompt

Java Programming Team UIN Suska

Page 12: Modul Java Programing

12

Modul Pemrograman Java Dasar

Command Prompt

Langkah 3: Tulislah listing program Java Anda dalam text editor (Notepad ++).

Menulis Kode Program Menggunakan Notepad ++

Langkah 4: Simpanlah program Java Anda

Java Programming Team UIN Suska

Page 13: Modul Java Programing

13

Modul Pemrograman Java Dasar

Program ini akan disimpan dalam file yang bernama ''Hello.java'', dan disimpan dalam sebuah folder yang bernama BelajarJava. Untuk membuka Save dialog box, klik pada File menu yang terdapat pada menubar dan kemudian klik save. Setelah melakukan instruksi tersebut, dialog box akan tampil seperti gambar dibawah ini.

Menyimpan File

Pilih drive D. Klik Kanan New New Folder

Membuat Folder

Nama folder baru, BelajarJava. Sekarang, klik pada folder BelajarJava untuk mengetahui isi folder yang ada didalamnya. Sekarang, dalam File Name, ketiklah nama file dari program Anda, yaitu ''Hello.java'', pada Save as type, pilih All Types, kemudian klik pada tombol SAVE.

Sekarang Anda telah menyimpan file Anda, ingatlah cara bagaimana nama frame dapat berubah dari 'new 1' menjadi "Hello.java (D:\BelajarJava\Hello.java) ". Jika Anda ingin melakukan perubahan pada

Java Programming Team UIN Suska

Page 14: Modul Java Programing

14

Modul Pemrograman Java Dasar

file Anda, Anda hanya perlu mengeditnya, kemudian menyimpannya kembali dengan mengklik pada File->Save.

Langkah 5: Mengkompilasi program AndaLangkah berikut ini adalah mengkompilasi program Anda. Masuklah ke CMD yang telah kita buka sebelumnya. Secara default CMD akan masuk pada direktori document user, dan kita tidak akan menemukan file java yang telah kita buat sebelum masuk ke direktori BelajarJava.

Untuk mengganti direktori ketik D:, kemudian cd BelajarJava

Merubah Direktori

Setelah berada di dalam folder yang berisi program Java Anda, sudah saatnya untuk memulai meng-compile program Java tersebut. Sebagai catatan, bahwa file yang Anda maksud harus ada didalam folder yang Anda pilih.

Untuk mengkompilasi program Java, gunakanlah perintah : javac [filename]. Dalam hal ini, Anda mengetikan perintah : javac Hello.Java.

Mengkompilasi File Java

Selama pengkompilasian, javac menambah file ke dalam disk yang disebut [filename].class, atau dalam hal ini, Hello.class, yang merupakan kode sebenarnya.

Langkah 6 : Menjalakan Program

Java Programming Team UIN Suska

Page 15: Modul Java Programing

15

Modul Pemrograman Java Dasar

Selama proses pengkompilasian, javac menambah file baru kedalam disk yang disebut [filename].class, dalam hal ini, Hello.class, yang merupakan kode sebenarnya saat ini, dengan perkiraan tidak ada permasalahan pada saat proses compile (kita akan menyelidiki dan membahas permasalahan yang ditemukan selama proses compile, pada bagian berikutnya), berarti telah siap untuk menjalankan program Anda. Untuk menjalankan program Java Anda, dengan mengetikkan perintah : java [filename without the extension], maka dalam hal ini, Anda mengetikkan perintah : java Hello.

Sekarang Anda dapat melihat di layar bahwa Anda telah menjalankan program Java pertama Anda, yang menampilkan pesan, ''Hello world!''.

Menjalankan Program

Java Programming Team UIN Suska

Page 16: Modul Java Programing

16

Modul Pemrograman Java Dasar

3.3 ErrorsApa yang telah ditunjukan sejauh ini adalah program Java dimana kita tidak menemukan berbagai masalah dalam proses kompilasi maupun pada saat menjalankannya. Bagaimanapun juga, hal ini tidak selalu terjadi. Seperti yang telah kita diskusikan pada bagian pertama dari latihan ini, biasanya kita juga akan menemukan permasalahan selama proses berlangsung.

Seperti yang telah didiskusikan sebelumnya, ada 2 macam error. Pertama adalah compile-time error atau yang disebut juga sebagai syntax error. Kedua adalah runtimeerrors.

3.3.1 Syntax ErrorsSyntax errors biasanya terjadi karena kesalahan penulisan. Mungkin Anda kekurangan sebuah perintah di Java atau lupa untuk menulis tanda titik-koma pada akhir pernyataan. Java mencoba untuk mengisolasi error tersebut dengan cara menunjukkan baris dari kode dan terlebih dahulu menunjuk karakter yang salah dalam baris tersebut. Bagaimanapun juga, error belum tentu berada pada titik yang ditunjuk.

Kesalahan umum lainnya adalah dalam kapitalisasi, ejaan, penggunaan dari karakter khusus yang tidak benar, dan penghilangan dari pemberian tanda baca yang sebenarnya. Mari kita mengambil contoh, pada program Hello.java, dimana dengan sengaja kita menghilangkan titik-koma pada akhir pernyataan dan juga mencoba untuk mengetikkan ejaan yang salah pada sebuah perintah.

Listing Program yang Memiliki Error

Lihatlah pesan error yang ditampilkan setelah peng-compile-an program dijalankan. Pesan error yang pertama memberitahu bahwa di program Anda terdapat error pada baris 5. Hal itu menunjuk pada kata setelah statict, dimana seharusnya dieja sebagai static. Pesan error kedua menyatakan bahwa nama metode yang tidak sah (invalid) baris 5. Pesan error yang ketiga memberitahukan bahwa pada program tersebut kehilangan titikkoma setelah pernyataan Anda baris 7.

Java Programming Team UIN Suska

Page 17: Modul Java Programing

17

Modul Pemrograman Java Dasar

Mengkompilasi Listing Program yang Memiliki Error

Jika Anda menemukan banyak pesan error, cobalah untuk mengoreksi kesalahan yang pertama pada daftar error satu per satu, dan mencoba untuk mengkompilasinya kembali. Dengan melakukan hal tersebut maka, dapat mengurangi total error yang ada.

3.3.2 Run-time ErrorsRun-time error merupakan error yang tidak akan ditampilkan sampai Anda menjalankan program Anda. Bahkan program yang dikompilasi dengan sukses dapat menampilkan jawaban yang salah jika programmer belum berpikir sampai struktur dan proses logis dari program tersebut.

3.4 Latihan3.4.1 Hello World!Menggunakan Notepad ++, membuat class dengan nama : [NamaAnda]. Hasil dari program yang harus tampil di layar :

Welcome to Java Programming [NamaAnda]!!!

3.4.2 The TreeMenggunakan Notepad ++, membuat class dengan nama : TheTree. Hasil dari program yang harus tampil dilayar :

I think that I shall never see,a poem as lovely as a tree.A tree whose hungry mouth is pressedAgainst the Earth’s sweet flowing breast.

BAB IV

Java Programming Team UIN Suska

Page 18: Modul Java Programing

18

Modul Pemrograman Java Dasar

Dasar-Dasar Pemrograman Java4.1 Menganalisa Program Java PertamaSekarang, kita akan mencoba untuk menganalisa program Java pertama :

public class Hello{/*** My first java program*/public static void main(String[] args) {//menampilkan string ”Hello world” pada layarSystem.out.println("Hello world!");}

}

Baris pertama kode :public class Hello

menandakan nama class yaitu Hello. Dalam Java, semua kode seharusnya ditempatkan di dalam deklarasi class. kita melakukannya dengan menggunakan kata kunci class. Sebagai tambahan, class menggunakan access specifier public, yang mengindikasikan bahwa class kita mempunyai akses bebas ke class yang lain dari package yang lain pula (package merupakan kumpulan class-class). Kita akan membahas lebih dalam mengenai package danaccess specifier pada pembahasan selanjutnya.

Baris berikutnya yaitu yang terdiri atas kurung kurawal { menandakan awal blok. Pada kode ini, kita menempatkan kurung kurawal pada baris selanjutnya setelah deklarasi class, bagaimanapun, kita dapat juga meletakkan kurung kurawal ini setelah baris pertama dari kode yang kita tulis. Jadi, kita dapat menulis kode kita sebagai berikut :

public class Hello {

Tiga baris selanjutnya menandakan adanya komentar Java. Komentar adalah sesuatu yang digunakan untuk mendokumentasikan setiap bagian dari kode yang ditulis. Komentar bukan merupakan bagian dari program itu sendiri, tetapi digunakan untuk tujuan dokumentasi. Komentar itu sendiri dapat ditambahkan pada kode yang Anda tulis sebagai petunjuk yang dapat membantu proses pembelajaran pemrograman yang baik.

/*** My first java program*/

Komentar dinyatakan dengan tanda “/*” dan “*/”. Segala sesuatu yang ada diantara tanda tersebut diabaikan oleh compiler Java, dan mereka hanya dianggap sebagai komentar. Baris selanjutnya,

public static void main(String[] args) {

mengindikasikan nama suatu method dalam class Hello yang bertindak sebagai method utama. Method utama adalah titik awal dari suatu program Java. Semua program kecuali applet yang ditulis dalam bahasa Java dimulai dengan method utama. Yakinkan untuk mengikuti kaidah penulisan tanda yang benar.

Baris selanjutnya juga merupakan komentar,//Menampilkan string "Hello world" pada layar

Java Programming Team UIN Suska

Page 19: Modul Java Programing

19

Modul Pemrograman Java Dasar

Sekarang kita mempelajari 2 cara untuk membuat komentar. Cara pertama adalah dengan menempatkan komentar dalam /* dan */, dan cara yang lain adalah dengan menuliskan tanda // pada awal komentar

Baris selanjutnya,

System.out.println("Hello world!");menampilkan teks “Hello World!” pada layar. Perintah System.out.println(), menampilkan teks yang diapit oleh tanda double pute (“ ”) pada layar. Dua baris terakhir yang terdiri atas dua kurung kurawal digunakan untuk menutup method utama dan masing-masing class secara berurutan.

Petunjuk Penulisan Program:1. Program Java yang Anda buat harus selalu diakhiri dengan ekstensi file .java.2. Nama File seharusnya sesuai/sama dengan nama class public nya. Sebagai contoh, jika nama class public Anda adalah Hello, Anda harus menyimpan file tersebut dengan nama Hello.java.3. Anda harus menulis komentar sebagai penjelasan pada kode yang Anda tulis, yaitu komentar yang berisi keterangan mengenai baris perintah pada class atau apa yang dijalankan oleh method yang Anda tulis tersebut.

4.2. Komentar pada JavaKomentar adalah catatan yang ditulis pada kode dengan tujuan sebagai bahan dokumentasi. Teks tersebut bukan bagian dari program dan tidak mempengaruhi jalannya program. Java mendukung tiga jenis komentar : C++ style komentar satu baris, C style beberapa baris, dan komentar javadoc khusus

4.2.1. Penulisan Komentar C++ StyleKomentar C++ style diawali dengan //. Semua teks setelah // dianggap sebagai komentar. Sebagi contoh,

Java Programming Team UIN Suska

Page 20: Modul Java Programing

20

Modul Pemrograman Java Dasar

// This is a C++ style or single line comments

4.2.2. Penulisan Komentar C StyleKomentar C-style atau juga disebut komentar beberapa baris diawali dengan /* dan diakhiri dengan */. Semua teks yang ada diantara dua tanda tersebut dianggap sebagai komentar. Tidak seperti komentar C++ style, komentar ini dapat menjangkau beberapa baris. Sebagai contoh,

/* this is an example of aC style or multiline comments */

4.2.3. Komentar Khusus javadocKomentar javadoc khusus digunakan untuk men-generate dokumentasi HTML untuk program Java Anda. Anda dapat menciptakan komentar javadoc dengan memulai baris dengan /** dan mengakhirinya dengan */. Seperti Komentar C_style, dapat juga menjangkau beberapa baris. Komentar ini juga dapat terdiri atas tag-tag untuk menambahkan lebih banyak informasi pada komentar Anda. Sebagai contoh,

/**This is an example of special java doc comments used for \ngenerating an html documentation. It uses tags like:@author Florence Balagtas@version 1.2*/

4.3. Pernyataan dalam Java dan BlokPernyataan adalah satu atau lebih baris kode yang diakhiri dengan semicolon. Sebagai contoh untuk pernyataan tunggal adalah

System.out.println(“Hello world”);Blok adalah satu atau lebih pernyataan yang terbentang antara kurung kurawal buka dan kurung kurawal tutup yaitu sekumpulan pernyataan sebagai satu unit kesatuan. Blok pernyataan dapat dikumpulkan akan tetapi tidak secara pasti mempunyai keterkaitan fungsi. Beberapa jumlah spasi kosong diijinkan terdapat didalamnya, sebagai contoh dari suatu blok adalah :

public static void main( String[] args ){System.out.println("Hello");System.out.println("world");}

Java Programming Team UIN Suska

Page 21: Modul Java Programing

21

Modul Pemrograman Java Dasar

Petunjuk Penulisan Program:1. Pada saat pembuatan blok, Anda dapat meletakkan kurung kurawal buka pada baris dengan pernyataan seperti contoh sebagai berikut ,

public static void main( String[] args ){2. Anda harus memberi jarak (indent) pernyataan selanjutnya setelah awal dari blok ,seperti contoh berikut,

public static void main( String[] args ){System.out.println("Hello");System.out.println("world");

}

4.4. Java IdentifierJava Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Contoh dari Identifier adalah : Hello, main, System, out. Pendeklarasian Java adalah case-sensitive. Hal ini berarti bahwa Identifier : Hello tidak sama dengan hello. Identifier harus dimulai dengan salah satu huruf, underscore “_”, atau tanda dollar “$”. Hurufnya dapat berupa huruf besar maupun huruf kecil. Karakter selanjutnya dapat menggunakan nomor 0 smpai 9.

Identifier tidak dapat menggunakan kata kunci dalam Java seperti class, public, void, dsb. Selanjutnya kita akan berdiskusi lebih banyak tentang kata kunci dalam Java.

Petunjuk Penulisan Program:1. Untuk pemberian nama dari class Java, diberikan huruf kapital untuk huruf pertama pada nama class. Untuk nama method dan variabel, huruf pertama dari kata harus dimulai dengan huruf kecil. Sebagi contoh:

ThisIsAnExampleOfClassNamethisIsAnExampleOfMethodName

Java Programming Team UIN Suska

Page 22: Modul Java Programing

22

Modul Pemrograman Java Dasar

2. Pada kasus untuk identifier lebih dari satu kata, menggunakan huruf kapital untuk mengindikasikan awal dari kata kecuali kata pertama. Sebagai contoh, charArray, fileNumber, ClassName.3. Hindari menggunakan underscores pada awal identifier seperti _read atau _write.

4.5. Keyword dalam JavaKata kunci adalah identifier yang telah dipesan untuk didefinisikan sebelumnya oleh Java untuk tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama variabel, class, method Anda, dsb. Berikut ini adalah daftar dari kata kunci dalam Java (Java Keywords).

Java Programming Team UIN Suska

Page 23: Modul Java Programing

23

Modul Pemrograman Java Dasar

Keyword dalam Java

Kita akan berdiskusi tentang semua arti dari masing-masing kata kunci dan bagaimana mereka digunakan dalam proses penulisan program Java.

Catatan: true, false, dan null bukan termasuk kata kunci akan tetapi mereka termasukkata-kata khusus, jadi Anda tidak dapat menggunakan mereka sebagai nama variabel padaprogram Anda.

4.6. Java Literals

Java Programming Team UIN Suska

Page 24: Modul Java Programing

24

Modul Pemrograman Java Dasar

Literals adalah tanda bahwa tidak terjadi perubahan atau konstan. Macam-macam literals dalam Java adalah : Integer Literals, Floating-Point Literals, Boolean Literals, Character Literals dan String Literals.

4.6.1. Integer LiteralsInteger literals dibedakan dalam beberapa format yang berbeda: desimal (berbasis 10), heksadesimal (berbasis 16), and oktal (berbasis 8). Dalam penggunaan tipe data integer pada program, kita harus mengikuti aturan penggunaan beberapa notasi khusus.Gambar1: Java Key Word

Untuk angka desimal, kita tidak memerlukan notasi khusus. Kita hanya menulis angka desimal seperti apa adanya. untuk angka heksadesimal, hal itu harus ditandai oleh “0x” atau “0X”. untuk oktal, ditandai oleh“0”. Sebagai contoh, mewakili angka 12. Penulisan dalam bentuk desimalnya adalah 12, Sementara dalam heksadesimal, menjadi 0xC, dan dalam oktal, nilai tersebut sama dengan 014.

Default tipe data untuk integer literals adalah int. Int adalah signed 32-bit value. Pada kasus-kasus tertentu Anda dapat berharap untuk memaksa integer literal untuk menjadi tipe data long dengan menambahkan karakter “l” or “L”. tipe data long ditandai oleh ditampilkannya data dalam 64-bit. Kita akan membahas mengenai tipe data pada kesempatan selanjutnya.

4.6.2. Floating-Point LiteralsFloating point literals mewakili bentuk desimal dengan bagian yang terpisah. Sebagai contoh adalah 3.1415. Floating point literals dapat dinyatakan dalam notasi standard atau scientific. Sebagai contoh, 583.45 dinyatakan dalam notasi standard, Sementara 5.8345e2 dinyatakan dalam notasi scientific.

Default Floating point literals mempunyai tipe data double yang dinyatakan dalam 64-bit. Untuk menggunakan ketelitian yang lebih kecil (32-bit) float, hanya dengan menambahkan karakter “f” atau “F”.

4.6.3. Boolean LiteralsBoolean literals hanya memiliki dua nilai, true atau false.

4.6.4. Character LiteralsCharacter Literals diwakili oleh karakter single Unicode. Karakter Unicode adalah 16-bit character set yang menggantikan 8-bit ASCII character set. Unicode memungkinkan pengunaan simbol dan karakter khusus dari bahasa lain. Untuk menggunakan character literals, karakter tersebut di dalam tanda single pute (' ') (single quote delimiters). Sebagai contoh huruf a, diwakili sebagai ‘a’. Untuk menggunakan karakter khusus seperti karakter baris baru, backslash digunakan diikuti dengan karakter kode. Sebagai contoh, ‘\n’ untuk karakter baris baru atau ganti baris, ‘\r’ untuk menyatakan nilai balik (carriage return), ‘\b’ untuk backspace.

4.6.5. String LiteralsString literals mewakili beberapa karakter dan dinyatakan dalam tanda double pute(“ ”)( double quotes). Sebagai contoh string literal adalah, “Hello World”.

4.7. Tipe Data Primitif

Java Programming Team UIN Suska

Page 25: Modul Java Programing

25

Modul Pemrograman Java Dasar

Bahasa pemrograman Java mendefinisikan delapan tipe data primitif. Mereka diantaranya adalah boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long (integral), double and float (floating point).

4.7.1. Logika - booleanTipe data boolean diwakili oleh dua pernyataan : true dan false. Sebagai contoh adalah,

boolean result = true; Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai result sebagai tipe data boolean dan memberinya nilai true.

4.7.2. Teksual – CharTipe data character (char), diwakili oleh karakter single Unicode. Tipe data ini harus memiliki ciri berada dalam tanda single quotes(’ ’). Sebagai contoh,

‘a’ //Huruf a‘\t’ //A tab

Untuk menampilkan karakter khusus seperti ' (single quotes) atau " (double quotes), menggunakan karakter escape \. Sebagai contoh,

'\'' //untuk single quotes'\"' //untuk double quotes

Meskipun String bukan merupakan tipe data primitif (namun merupakan suatu Class),kita akan memperkenalkan mengenai pada bagian ini. String mewakili tipe data yang terdiri atasbeberapa karakter. Mereka tidak termasuk tipe data primitif, melainkan suatu class. Mereka memiliki literal yang terdapat diantara tanda double quotes(“”). Sebagai contoh,

String message=“Hello world!”

4.7.3. Integral – byte, short, int & longTipe data integral dalam Java menggunakan tiga bentuk- yaitu desimal, oktal atau heksadesimal. Contohnya,

2 //nilai desimal 2077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal0xBACC //karakter 0x mengindikasikan nilai heksadesimal

Tipe-tipe integral memiliki default tipe data yaitu int. Anda dapat merubahnya ke bentuk long dengan menambahkan huruf l atau L. Tipe data integral memiliki range sebagai berikut:Integer Length Name or Type Range

Tipe-tipe integral dan range-nyaPetunjuk Penulisan Program:Dalam mendefinisikan suatu nilai long, lowercase L tidak dianjurkan karena sangat sulit untuk membedakan dari digit 1.

Java Programming Team UIN Suska

Page 26: Modul Java Programing

26

Modul Pemrograman Java Dasar

4.7.4. Floating Point – float dan doubleTipe Floating point memiliki double sebagai default tipe datanya. Floating-point literal termasuk salah satunya desimal point atau salah satu dari pilihan berikut ini,

E or e //(add exponential value)F or f //(float)D or d //(double)

Contohnya adalah,3.14 //nilai floating-point sederhana (a double)6.02E23 //A nilai floating-point yang besar2.718F //A nilai float size sederhana123.4E+306D //A nilai double yang besar dengan nilai redundant D

Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua bernilai positif. Contoh tersebut sama dengan 6.02E+23. Tipe data Floating-point memiliki range sebagai berikut:

Panjang Float Nama atau Tipe Range

Tipe Floating point dan range nya

4.8. VariabelVariabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier.

Java Programming Team UIN Suska

Page 27: Modul Java Programing

27

Modul Pemrograman Java Dasar

4.8.1. Deklarasi dan Inisialisasi VariabelUntuk deklarasi variabel adalah sebagai berikut,<data tipe> <name> [=initial value];Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalamtanda [ ] bersifat optional.

Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapavariabel,

public class VariableSamples{public static void main( String[] args ){

//deklarasi tipe data dengan nama variable// result dan tipe data booleanboolean result;//deklarasi tipe data dengan nama variabel// option dan tipe data charchar option;option = 'C'; //menandai 'C' sebagai option//deklarasi tipe data dengan nama variabel//grade, double tipe data dan telah di inisialisasi//to 0.0double grade = 0.0;

}}

Petunjuk Penulisan Program:1. Sangat baik untuk menginisialisasi variabel yang Anda buat seperti Anda mendeklarasikannya.2. Gunakan nama yang bersifat menggambarkan deskriptif untuk variabel yang Anda buat, jika Anda ingin mempunyai variabel yang terdiri atas nilai siswa, beri nama dengan nama grade dan jangan hanya beberapa huruf random yang Anda pilih.3. Deklarasikan satu variabel tiap baris kode. Sebagai contoh , deklarasi variabel adalah sebagai berikut,double exam=0;double quiz=10;double grade = 0;Bentuk yang lebih disukai ketika melakukan deklarasi adalah,double exam=0, quiz=10, grade=0;

4.8.2. Menampilkan Data VariabelUntuk mengeluarkan nilai dari variabel yang diinginkan, kita dapat menggunakan perintah sebagai berikut,

System.out.println()System.out.print()

Berikut ini adalah contoh program,public class OutputVariable{

public static void main( String[] args ){int value = 10;char x;x = ‘A’;System.out.println( value );System.out.println( “The value of x=” + x );

Java Programming Team UIN Suska

Page 28: Modul Java Programing

28

Modul Pemrograman Java Dasar

}}

Program tersebut akan mengeluarkan teks berikut pada layar,10The value of x=A

4.8.3. System.out.println() vs. System.out.print()Apa yang membedakan diantara perintah System.out.println() and System.out.print()? Yang pertama menambahkan baris baru pada akhir data untuk dikeluarkan, sementara selanjutnya tidak. Perhatikan pernyataan tersebut,

System.out.print("Hello ");System.out.print("world!");

Pernyataan tersebut akan menghasilkan output berikut ini pada layar,Hello world!

Sekarang perthatikan pernyataan berikut,System.out.println("Hello ");System.out.println("world!");

Pernyataan ini akan menghasilkan output sebagai berikut pada layar,Helloworld!

4.8.4. Variabel Reference dan Variabel PrimitifSekarang kita akan membedakan dua tipe variabel yang dimiliki oleh program Java. Ada variabel reference dan variabel primitif . Variabel primitif adalah variabel dengan tipe data primitif. Mereka menyimpan data dalam lokasi memori yang sebenarnya dimana variabel tersebut berada.

Variabel Reference adalah variabel yang menyimpan alamat dalam lokasi memori. Yang menunjuk ke lokasi memori dimana data sebenarnya berada. Ketika Anda mendeklarasikan variabel pada class tertentu, Anda sebenarnya mendeklarasikan reference variable dalam bentuk objek dalam classnya tersebut. Sebagai contoh, Apabila kita mempunyai dua variabel dengan tipe data int dan String.

int num = 10;String name = "Hello"

4.9 OperatorDalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.

4.9.1 Operator AritmatikaBerikut ini adalah dasar operator aritmatika yang dapat digunakan untuk membuat suatu program Java,

Java Programming Team UIN Suska

Page 29: Modul Java Programing

29

Modul Pemrograman Java Dasar

Operator Aritmatika dan fungsi-fungsinya

Berikut ini adalah contoh program dalam penggunaan operator-operator ini :public class aritmatikaDemo{

public static void main(String[] args){//sedikit angkaint i = 37;int j = 42;double x = 27.475;double y = 7.22;System.out.println("Variable values...");System.out.println(" i = " + i);System.out.println(" j = " + j);System.out.println(" x = " + x);System.out.println(" y = " + y); //penjumlahan angkaSystem.out.println("Adding...");System.out.println(" i + j = " + (i + j));System.out.println(" x + y = " + (x + y));//pengurangan angkaSystem.out.println("Subtracting...");System.out.println(" i - j = " + (i - j));System.out.println(" x - y = " + (x - y));//perkalian angkaSystem.out.println("Multiplying...");System.out.println(" i * j = " + (i * j));System.out.println(" x * y = " + (x * y));//pembagian angkaSystem.out.println("Dividing...");System.out.println(" i / j = " + (i / j));System.out.println(" x / y = " + (x / y));//menghitung hasil modulus dari pembagianSystem.out.println("Computing the remainder...");System.out.println(" i % j = " + (i % j));System.out.println(" x % y = " + (x % y));//tipe penggabunganSystem.out.println("Mixing tipes...");System.out.println(" j + y = " + (j + y));System.out.println(" i * x = " + (i * x));

}}

Berikut ini adalah output program,

Java Programming Team UIN Suska

Page 30: Modul Java Programing

30

Modul Pemrograman Java Dasar

Variable values...i = 37j = 42x = 27.475y = 7.22i + j = 79Adding...x + y = 34.695Subtracting...i - j = -5x - y = 20.255Multiplying...i * j = 1554x * y = 198.37Dividing...i / j = 0x / y = 3.8054Computing the remainder...i % j = 37x % y = 5.815Mixing tipes...j + y = 49.22i * x = 1016.58

Catatan: Ketika integer dan floating-point number digunakan sebagai operand untuk operasi aritmatika tunggal, hasilnya berupa floating point. Integer adalah converter secara implisit ke bentuk angka floating-point sebelum operasi berperan mengambil tempat.

4.9.2. Operator Increment dan DecrementDari sisi operator dasar aritmatika, Java juga terdiri atas operator unary increment (++) dan operator unary decrement (--). operator increment dan decrement menambah dan mengurangi nilai yang tersimpan dalam bentuk variabel angka terhadap nilai 1. Sebagai contoh, pernyataan,

count = count + 1; //increment nilai count dengan nilai 1 pernyataan tersebut sama dengan,

count++;

operator Increment dan Decrement

Java Programming Team UIN Suska

Page 31: Modul Java Programing

31

Modul Pemrograman Java Dasar

Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand. Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau didecrement dengan nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana dia ditambahkan. Sebagai contoh,

int i = 10,int j = 3;int k = 0;k = ++j + i; //akan menghasilkan k = 4+10 = 14

Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia ditambahkan. Sebagai contoh,

int i = 10,int j = 3;int k = 0;k = j++ + i; //akan menghasilkan k = 3+10 = 13

Petunjuk Penulisan Program:Selalu membuat pernyataan yang mengandung operator increment dan decrement untuk tetap dipahami secara mudah dan sederhana.

4.9.3 Operator RelasiOperator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilainilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.

Berikut ini adalah contoh program yang menggunakan operator Relasi,public class RelasiDemo{

public static void main(String[] args) {//beberapa nilaiint i = 37;int j = 42;int k = 42;System.out.println("Nilai variabel...");System.out.println(" i = " + i);System.out.println(" j = " + j);System.out.println(" k = " + k);//lebih besar dariSystem.out.println("Lebih besar dari...");System.out.println(" i > j = " + (i > j)); //falseSystem.out.println(" j > i = " + (j > i)); //trueSystem.out.println(" k > j = " + (k > j)); //false

Java Programming Team UIN Suska

Page 32: Modul Java Programing

32

Modul Pemrograman Java Dasar

//lebih besar atau sama denganSystem.out.println("Lebih besar dari atau sama dengan...");System.out.println(" i >= j = " + (i >= j)); //falseSystem.out.println(" j >= i = " + (j >= i)); //trueSystem.out.println(" k >= j = " + (k >= j)); //true//lebih kecil dariSystem.out.println("Lebih kecil dari...");System.out.println(" i < j = " + (i < j)); //trueSystem.out.println(" j < i = " + (j < i)); //falseSystem.out.println(" k < j = " + (k < j)); //false//lebih kecil atau sama denganSystem.out.println("Lebih kecil dari atau sama dengan...");System.out.println(" i <= j = " + (i <= j)); //trueSystem.out.println(" j <= i = " + (j <= i)); //falseSystem.out.println(" k <= j = " + (k <= j)); //true//sama denganSystem.out.println("Sama dengan...");System.out.println(" i == j = " + (i == j)); //falseSystem.out.println(" k == j = " + (k == j)); //true//tidak sama denganSystem.out.println("Tidak sama dengan...");System.out.println(" i != j = " + (i != j)); //trueSystem.out.println(" k != j = " + (k != j)); //false

}}

Berikut adalah hasil keluaran dari program ini :Nilai variabel...i = 37j = 42k = 42Lebih besar dari...i > j = falsej > i = truek > j = falseLebih besar dari atau sama dengan...i >= j = falsej >= i = truek >= j = trueLebih kecil dari...i < j = truej < i = falsek < j = falseLebih kecil dari atau sama dengan...i <= j = truej <= i = falsek <= j = trueSama dengan...i == j = falsek == j = trueTidak sama dengan...i != j = truek != j = false

Java Programming Team UIN Suska

Page 33: Modul Java Programing

33

Modul Pemrograman Java Dasar

4.9.4 Operator LogikaOperator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean. Terdapat enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).Pernyataan dasar untuk operasi logika adalah,

x1 op x2

Dimana x1, x2 dapat menjadi pernyataan boolean. Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang mungkin dari x1 dan x2.

4.9.4.1 && (logika AND) dan & (boolean logika AND)Berikut ini adalah tabel kebenaran untuk && dan &,

Tabel Kebenaran untuk & dan &&

Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa arti dari pernyataan tersebut?Diberikan suatu pernyataan,

exp1 && exp2&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban. Berikut ini adalah suatu contoh source code yang menggunakan logika dan boolean AND,

public class TestAND{public static void main( String[] args ){

int i = 0;int j = 10;boolean test= false;//demonstrasi &&test = (i > 10) && (j++ > 9);System.out.println(i);System.out.println(j);System.out.println(test);//demonstrasi &test = (i > 10) & (j++ > 9);System.out.println(i);System.out.println(j);System.out.println(test);

}}

Java Programming Team UIN Suska

Page 34: Modul Java Programing

34

Modul Pemrograman Java Dasar

The output of the program is,010false011false

Catatan, bahwa j++ pada baris yang mengandung operator && tidak dievaluasi sejak pernyataan pertama (i>10) yaitu telah bernilai sama dengan false.

4.9.4.2 || (logika OR) dan | (boolean logika inclusive OR)Berikut ini adalah tabel kebenaran untuk || dan |,

Table Kebenaran untuk | dan ||

Perbedaan dasar antara operator || dan | adalah bahwa || mendukung short-circuit evaluations (atau proses evaluasi sebagian), sementara | tidak. Apa maksud dari pernyataan tersebut? diberikan suatu pernyataan,

exp1 || exp2|| akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai.

Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR,public class TestOR{

public static void main( String[] args ){int i = 0;int j = 10;boolean test= false;//demonstrasi ||test = (i < 10) || (j++ > 9);System.out.println(i);System.out.println(j);System.out.println(test);//demonstrasi |test = (i < 10) | (j++ > 9);System.out.println(i);System.out.println(j);System.out.println(test);

}}

Hasil keluaran dari program ini adalah,

Java Programming Team UIN Suska

Page 35: Modul Java Programing

35

Modul Pemrograman Java Dasar

010true011true

Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak pernyataan pertama (i<10) yaitu telah bernilai sama dengan true.

4.9.4.3 ^ (boolean logika ExclusiveOR )Berikut ini adalah tabel kebenaran untuk ^,

Tabel kebenaran untuk ^Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika satu operand bernilai TRUE dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievaluasi untuk menjumlahkan hasil dari suatu exclusive OR.

Berikut ini adalah contoh source code yang menggunakan operator logika exclusive OR,public class TestXOR{

public static void main( String[] args ){boolean val1 = true;boolean val2 = true;System.out.println(val1 ^ val2);val1 = false;val2 = true;System.out.println(val1 ^ val2);val1 = false;val2 = false;System.out.println(val1 ^ val2);val1 = true;val2 = false;System.out.println(val1 ^ val2);

}}

Hasil keluaran program tersebut adalah,falsetruefalsetrue

4.9.4.4 ! (logika NOT)Logika NOT digunakan dalam satu argumen, dimana argumen tersebut dapat menjadi suatu pernyataan, variabel atau konstanta. Berikut ini adalah tabel kebenaran untuk operator not!,

Java Programming Team UIN Suska

Page 36: Modul Java Programing

36

Modul Pemrograman Java Dasar

Tabel Kebenaran untuk !Berikut ini adalah contoh source code yang menggunakan operator logika NOT,

public class TestNOT{public static void main( String[] args ){

boolean val1 = true;boolean val2 = false;System.out.println(!val1);System.out.println(!val2);

}}

Hasil keluaran program adalah sebagai berikut,falsetrue

4.9.5 Operator Kondisi(?:)Operator kondisi ?: adalah operator ternary. Berarti bahwa operator ini membawa tiga argumen yang membentuk suatu ekspresi bersyarat. Struktur pernyataan yang menggunakan operator kondisi adalah,

exp1?exp2:exp3Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya harus berupa nilai true atau false.

Jika exp1 bernilai true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3 merupakan hasil operasinya.

Sebagai contoh, diberikan code sebagai berikut,public class ConditionalOperator{

public static void main( String[] args ){String status = "";int grade = 80;//mendapatkan status pelajarstatus = (grade >= 60)?"Passed":"Fail";//print statusSystem.out.println( status );

}}

Hasil keluaran dari program ini akan menjadi,Passed

Berikut ini adalah flowchart yang menggambarkan bagaimana operator ?: bekerja,

Java Programming Team UIN Suska

Page 37: Modul Java Programing

37

Modul Pemrograman Java Dasar

Flowchart

Berikut ini adalah program lain yang menggunakan operator ?: ,class ConditionalOperator{

public static void main( String[] args ){int score = 0;char answer = 'a';score = (answer == 'a') ? 10 : 0;System.out.println("Score = " + score );

}}

Hasil keluaran program adalah,Score = 10

4.9.6 Operator PrecedenceOperator precedence didefinisikan sebagai perintah yang dilakukan compiler ketika melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan hasil yang tidak ambigu/ hasil yag jelas.

Java Programming Team UIN Suska

Page 38: Modul Java Programing

38

Modul Pemrograman Java Dasar

Operator Precedence

Diberikan pernyataan yang membingungkan,6%2*5+4/2+88-10

Kita dapat menuliskan kembali pernyataan diatas dan menambahkan beberapa tanda kurung terhadap operator precedence,

((6%2)*5)+(4/2)+88-10;Petunjuk Penulisan Program:Untuk menghindari kebingungan dalam evaluasi operasi matematika, buatlah pernyataan sesederhana mungkin dan gunakan bantuan tanda kurung.

4.10 Latihan4.10.1 Mendeklarasikan dan Mencetak VariabelDiberikan 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.

Berikut ini merupakan tampilan yang diharapkan sebagai hasil eksekusi program,Number = 10letter = aresult = truestr = hello

Java Programming Team UIN Suska

Page 39: Modul Java Programing

39

Modul Pemrograman Java Dasar

4.10.2. Mendapatkan Nilai Rata-Rata dari Tiga AngkaBuatlah program yang menghasilkan output nilai rata-rata dari tiga angka. Nilai dari masing-masing tiga angka tersebut adalah 10, 20 dan 45. Tampilan Output yang diharapkan adalah,

number 1 = 10number 2 = 20number 3 = 45Rata-rata = 25

4.10.3. Menampilkan Nilai TerbesarDiberikan tiga angka, tuliskan program yang menghasilkan output angka dengan nilai terbesar diantara tiga angka tersebut. Gunakan operator kondisi ?: yang telah kita pelajari sebelumnya (PETUNJUK: Anda akan perlu menggunakan dua set operator ?: untuk memecahkan permasalahan ini). Sebagai contoh, diberikan angka 10, 23 dan 5, Program Anda akan menghasilkan output,

number 1 = 10number 2 = 23number 3 = 5Nilai tertingginya adalah angka = 23

4.10.4. Operator PrecedenceDiberikan pernyataan berikut ini, tulis kembali soal tersebut dengan menambahkan tanda kurung pada urutan sesuai dengan bagaimana pernyataan tersebut akan dievaluasi.

1. a / b ^ c ^ d – e + f – g * h + i2. 3 * 10 *2 / 15 – 2 + 4 ^ 2 ^ 23. r ^ s * t / u – v + w ^ x – y++

BAB VMendapatkan Input dari Keyboard

5.1 Menggunakan BufferedReader untuk Mendapatkan InputPada bagian ini, kita akan menggunakan class BufferedReader yang berada di package java.io untuk mendapatkan input dari keyboard.

Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari keyboard:1. Tambahkan di bagian paling atas code Anda:

import java.io.*;2. Tambahkan statement berikut:

BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );

3. Deklarasikan variabel String temporary untuk mendapatkan input, dan gunakanfungsi readLine() untuk mendapatkan input dari keyboard. Anda harusmengetikkannya di dalam blok try-catch:

try{String temp = dataIn.readLine();}catch( IOException e ){System.out.println(“Error in getting input”);}

Java Programming Team UIN Suska

Page 40: Modul Java Programing

40

Modul Pemrograman Java Dasar

Berikut ini adalah source code lengkapnya:import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class GetInputFromKeyboard {

public static void main( String[] args ){BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );String name = "";

System.out.print("Please Enter Your Name:");try{

name = dataIn.readLine();}catch( IOException e ){

System.out.println("Error!");}System.out.println("Hello " + name +"!");

}}

Berikutnya akan penjelasan setiap baris dari code tersebut:Statement,

import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;

menjelaskan bahwa kita akan menggunakan class BufferedReader, InputStreamReader dan IOException yang berada di java.io package. Java Application Programming Interface (API) berisi ratusan class yang sudah didefinisikan sebelumnya yang dapat digunakan untuk program Anda. Class-class tersebut dikumpulkan di dalam packages.

Packages berisi class yang mempunyai fungsi yang saling berhubungan. Seperti pada contoh di atas, java.io package mengandung class-class yang memungkinkan program untuk melakukan input dan output data. Pernyataan di atas juga dapat ditulis sebagai berikut,

import java.io.*;yang akan mengeluarkan semua class yang berada dalam package, dan selanjutnya kita bisa menggunakan class-class tersebut dalam program kita.

Dua statement selanjutnya,public class GetInputFromKeyboard{

public static void main( String[] args ){

kita sudah mempelajari pada pelajaran sebelumnya. Pernyataan ini mendeklarasikan class bernama GetInputFromKeyboard dan kita mendeklarasikan method main.

Dalam statement,BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );

kita mendeklarasikan sebuah variabel bernama dataIn dengan tipe class BufferedReader. Jangan mengkhawatirkan tentang maksud dari syntax saat ini. Kita akan menjelaskannya pada akhir pembahasan.

Sekarang, kita akan mendeklarasikan variabel String dengan identifier name,

Java Programming Team UIN Suska

Page 41: Modul Java Programing

41

Modul Pemrograman Java Dasar

String name = "";Pernyataan di atas merupakan tempat untuk menyimpan input dari user. Nama variabel diinisialisasi sebagai String kosong "". Sebaiknya kita selalu menginisialisasi sebuah variabel setelah kita mendeklarasikannya.

Baris berikutnya adalah memberikan output sebuah String pada layar yang menanyakan nama user.System.out.print("Please Enter Your Name:");

Sekarang, blok di bawah ini merupakan try-catch block,try{

name = dataIn.readLine();}catch( IOException e ){

System.out.println("Error!");}

Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada pernyataan,name = dataIn.readLine();

akan ditangkap. Kita akan membahas tentang penanganan exception pada bab selanjutnya dari pembahasan ini, tetapi untuk sekarang, Anda cukup mencatat bahwa Anda perlu menambahkan kode ini untuk menggunakan method readLine() dari BufferedReader untuk mendapatkan input dari user.

Selanjutnya kembali ke pernyataan,name = dataIn.readLine();

method diatas memanggil dataIn.readLine(), mendapatkan input dari user dan memberikan sebuah nilai String. Nilai ini akan disimpan ke dalam variabel name, yang akan kita gunakan pada statement akhir untuk menyambut user,

System.out.println("Hello " + name + "!");

Java Programming Team UIN Suska

Page 42: Modul Java Programing

42

Modul Pemrograman Java Dasar

5.2 Menggunakan JOptionPane untuk Mendapatkan InputCara lain untuk mendapatkan input dari user adalah dengan menggunakan class JoptionPane yang didapatkan dari javax.swing package. JoptionPane memudahkan memunculkan dialog box standard yang memberikan kepada user sebuah nilai atau menginformasikan sesuatu.

Diberikan kode berikut ini,import javax.swing.JOptionPane;public class GetInputFromKeyboard{

public static void main( String[] args ){String name = "";name = JoptionPane.showInputDialog("Please enter yourname");String msg = "Hello " + name + "!";JOptionPane.showMessageDialog(null, msg);

}}

Akan menghasilkan output,

Mendapatkan Input menggunakan JOptionPane

Input florence pada JOptionPane

Java Programming Team UIN Suska

Page 43: Modul Java Programing

43

Modul Pemrograman Java Dasar

Menunjukkan Pesan Menggunakan JOptionPane

Statement pertama,import javax.swing.JOptionPane;

Menjelaskan bahwa kita mengimpor class JoptionPane dari package javax.swing. Bisa juga ditulis seperti,

import javax.swing.*;Pernyataan,

name = JOptionPane.showInputDialog("Please enter your name");membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengan sebuah pesan, sebuah textfield dan tombol OK seperti pada gambar. Hasil dari dialog tersebut adalah String dan disimpan ke dalam variabel name.

Sekarang kita membuat pesan selamat datang, yang akan disimpan ke dalam variabe msg,String msg = "Hello " + name + "!";

Baris selanjutnya adalah menampilkan sebuah dialog yang berisi sebuah pesan dan tombol OK,JOptionPane.showMessageDialog(null, msg);

Java Programming Team UIN Suska

Page 44: Modul Java Programing

44

Modul Pemrograman Java Dasar

5.3 Latihan5.3.1 Kata Terakhir (versi BufferedReader)Menggunakan BufferedReader, tanyakan tiga kata dari user dan tampilkan output dari input user tersebut ke layar. Contoh,

Enter word1:GoodbyeEnter word2:andEnter word3:HelloGoodbye and Hello

5.1.2 Kata Terakhir (versi JOptionPane)Menggunakan JOptionPane, tanyakan tiga kata dari user dan tampilkan output dari input user tersebut ke layar. Contoh

Input Pertama

Input Kedua

Java Programming Team UIN Suska

Page 45: Modul Java Programing

45

Modul Pemrograman Java Dasar

Menampilkan Pesan

Java Programming Team UIN Suska