P. 1
Java Java Fundamental

Java Java Fundamental

|Views: 198|Likes:

More info:

Published by: Muhammad Muchtar Aham on Nov 25, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/08/2014

pdf

text

original

Sections

  • 1.Pendahuluan
  • 2.Persiapan
  • Referensi
  • 3.Pemrograman Java
  • Statement, Expression, Block
  • Operator

MATERI PELATIHAN

Java Fundamental
Endy Muhardin
endy@artivisi.com http://endy.artivisi.com

http://www.artivisi.com

Jakarta, 2008

Daftar Isi
1.Pendahuluan.........................................................................................................................1 Tentang Java.......................................................................................................................1 Bagaimana cara belajar Java..............................................................................................1 Tentang pelatihan ini..........................................................................................................2 Susunan materi pelatihan...................................................................................................3 Latar belakang pembaca....................................................................................................4 Aturan penulisan................................................................................................................4 2.Persiapan..............................................................................................................................5 Java dan berbagai variasinya..............................................................................................5 Instalasi Java......................................................................................................................6 Hello World ......................................................................................................................11 Konsep penting.................................................................................................................12 Referensi..........................................................................................................................14 Siklus pemrograman Java.................................................................................................15 Perangkat pembantu........................................................................................................19 3.Pemrograman Java.............................................................................................................22 Anatomi kode program.....................................................................................................22 Statement, Expression, Block...........................................................................................25 Tipe data...........................................................................................................................31 Operator...........................................................................................................................34 Aliran kontrol....................................................................................................................38

HALAMAN III

menunjukkan bahwa teknologi Java cukup solid dan dibangun di atas dasar yang kokoh.PENDAHULUAN | HALAMAN 1 1. Ukuran besar ini di satu sisi menguntungkan karena apapun yang kita butuhkan. Tapi di lain pihak. ada perubahan signifikan dalam teknik pemrograman maupun library yang disediakan. Semua transisi mempertahankan binary backward compatibility.5 atau dikenal juga dengan 5. Dalam usia tersebut. Java sudah menyediakannya.4. Java telah mengalami dua kali perubahan signifikan. Transisi ini berjalan relatif mulus. sampai ke aplikasi enterprise yang berinteraksi dengan mainframe dan mesin-mesin server besar. fitur dalam Java juga sudah menjadi sangat besar. artinya semua aplikasi yang sudah kita kompilasi dan berjalan mulus di Java versi lama akan terus berjalan dengan baik walaupun kita melakukan upgrade. Dalam transisi tersebut. ini menyulitkan orang yang baru mulai belajar Java. sehingga para pemula . suatu teknologi dapat dikatakan telah matang. sehingga apabila masalah. Mulai dari pemrograman perangkat kecil seperti handphone dan PDA. dan kemudian 1. kita Populasi menemui penggunanya relatif besar. Banyak sekali fitur yang saling berkaitan dan berhubungan.Pendahuluan Tentang Java Teknologi Java telah berusia 10 tahun lebih. banyak referensi dan tutorial tentang cara mengatasinya.3 menjadi 1. Pertama pada waktu transisi dari versi 1. Sepanjang perjalanannya.4 menjadi 1. Bagaimana cara belajar Java Seiring dengan pertambahan umurnya.0.

Dengan demikian diharapkan pembaca dapat memahami perbedaan antara keduanya.HALAMAN 2 | JAVA FUNDAMENTAL mengalami kesulitan untuk menemukan titik awal untuk belajar. kita akan memiliki modal yang mencukupi untuk menyelam lebih jauh lagi menuju lingkup Java yang kita minati. 3. kita akan melihat contoh kasus. Tapi dasar-dasar untuk mendesain aplikasi dengan paradigma object sudah dimiliki. 2. kemudian mendesainnya menggunakan kedua pendekatan (OOP dan Prosedural). Belajar sintaks Java Belajar konsep OOP Belajar dasar pemrograman database (JDBC) Belajar dasar pemrograman web (Servlet) Belajar dasar pemrograman desktop (Swing) Setelah menguasai lima materi dasar tersebut. misalnya Java Mobile Edition (JME) atau Java Enterprise Edition (JEE). Pada bagian desain aplikasi. Setelah mengikuti pelatihan ini. Tentang pelatihan ini Pelatihan ini bertujuan untuk menyediakan pemahaman tentang sintaks Java dan konsep pemrograman berorientasi object (Object Oriented Programming – OOP). Pendekatan OOP bukanlah dimaksudkan untuk menggantikan . jalur yang optimal adalah sebagai berikut: 1. Tetapi jangan khawatir. peserta mungkin belum bisa membuat aplikasi yang utuh. Pemahaman OOP relatif sulit diserap dan dijiwai oleh programmer yang sebelumnya berasal dari latar belakang prosedural. 5. 4. Berdasarkan pengalaman saya belajar Java secara otodidak.

Konsep Object Oriented Programming dengan Java.PENDAHULUAN | HALAMAN 3 100% paradigma Asal prosedural. . Berikut susunan materi pelatihan ini: 1. Berisi gambaran umum tentang cara membuat aplikasi Java. 3. mencampur kedua pendekatan bukanlah hal yang tabu. proporsi sesuai. Setelah menguasai bahasa pemrograman Java. 2. Berisi melakukan pemrograman penjelasan singkat tentang dengan teknologi lainnya. bukan konsep perulangan itu sendiri. saya akan menuliskannya di catatan tepi. Pendahuluan Persiapan. materi pelatihan ini ditujukan untuk mempelajari OOP dengan Java. Jadi ada banyak perpaduan antara konsep yang spesifik hanya ada di Java. dan konsep yang umum dan ada di bahasa yang lainnya. Di sini pembaca diasumsikan sudah pernah Sehingga yang dibahas di sini adalah bagaimana melakukan perulangan (looping). Walaupun demikian. 4. Bahkan kita juga bisa mengimplementasikannya di bahasa yang tidak mendukung OOP secara eksplisit. Bila perbedaannya cukup jelas. Susunan materi pelatihan Konsep OOP adalah konsep yang umum. pada bagian ini pembaca akan melihat bagaimana konsep Object Oriented Programming diterapkan dalam Java. bahasa Java. digunakan Masing-masing dengan pendekatan yang ada tempatnya. Pemrograman Java. Konsep ini bisa ditemui di berbagai bahasa pemrograman.

6.0 .HALAMAN 4 | JAVA FUNDAMENTAL Latar belakang pembaca Pembaca diasumsikan sudah mengenal pemrograman sebelumnya. Kadang-kadang kotak ini juga digunakan untuk menjelaskan fitur yang hanya ada di Java versi tertentu Perintah command prompt ditulis dengan latar belakang kelabu seperti ini: C:\> javac ­version Sedangkan output dari hasil eksekusi perintah tersebut ditulis tanpa latar belakang dengan font Courier biasa (tidak bold) seperti ini: javac 1. switch) perulangan (for. while) function atau method seharusnya sudah dipahami. Istilah dan konsep umum pemrograman seperti misalnya: ● ● ● percabangan (if/else. Aturan penulisan Kode program ditulis dengan font Courier tebal seperti ini: public class Shipment { } penting hal yang penting dan perlu diperhatikan ditulis di tepi seperti ini.

Teknologi Java dikelompokkan menjadi tiga kategori utama: ● ● ● Java Standard Edition Java Mobile Edition Java Enterprise Edition Java Standard Edition Pada sebagian besar kasus.sun. kita hanya membutuhkan Java Standard Edition. Pemula Java biasanya akan pusing melihat banyak sekali versi Java yang tidak mereka mengerti. kita akan mendapati banyak sekali link.Persiapan Java dan berbagai variasinya Kalau kita membuka website resmi Java http://java. Berikut adalah peralatan yang paling sering kita gunakan: ● Compiler (javac) : tool untuk mengubah source code menjadi byte code yang siap dieksekusi. Ini merupakan perlengkapan minimal untuk mulai membuat aplikasi Java. ● ● Runtime (java) : tool untuk menjalankan byte code JavaDoc Compiler (javadoc) : Generator untuk dokumentasi source code (JavaDoc) ● Archiver (jar) : tool untuk membuat paket java (*.PERSIAPAN | HALAMAN 5 2.com. Java Standard Edition Software Development Kit (SDK) berisi beberapa peralatan penting.jar) .

SDK dan Dokumentasi dapat didownload pada alamat ini: http://java.HALAMAN 6 | JAVA FUNDAMENTAL Java Enterprise Edition Ini adalah kumpulan paket untuk membuat aplikasi enterprise. Ambil JDK 6 dan Java SE 6 Documentation. Java Mobile Edition Jelajahi bagian ini jika Anda ingin membuat aplikasi yang berjalan di perangkat kecil seperti handphone atau PDA. Jangan serakah dan mendownload JDK 6 with Java EE atau JDK 6 with Netbeans 5. ● ● Dokumentasi Library. Gunakan saja versi terbaru (saat ini 6. Biasanya paket yang ada di sini telah disediakan oleh development tool kita ataupun application server yang digunakan.com/javase/downloads/index. JRE hanya dibutuhkan bila kita . Tetapi kita tidak perlu mendownload paket ini. Java SDK ini sudah berisi Runtime Environment (RE). Instalasi Java Download Ada beberapa file yang perlu di download: ● SDK Installer. Java EE dapat didapatkan berikut application server yang kita gunakan.jsp Ada banyak link download di sana. tapi jangan bingung. Netbeans juga lebih mudah diinstal secara terpisah. Seperti sudah dijelaskan di atas. Paket ini ada di website Java sebagai pusat referensi.sun. Java Runtime Environment (JRE) 6 juga tidak perlu didownload karena sudah ada di dalam SDK.0).5. biasa dikenal dengan JavaDoc API Tutorial resmi.

0_06" Java(TM) 2 Runtime Environment. ada link untuk mendownload tutorial tersebut berikut contoh kode yang dibahas di dalamnya. Instalasi Instalasi Java sangat mudah.html Pada halaman muka tutorial./ jdk­6­linux­i586.5.0_06­b05. Standard Edition (build  1.5. klik dua kali installernya. Untuk itu.PERSIAPAN | HALAMAN 7 hanya ingin menjalankan aplikasi Java dan tidak akan membuat atau memodifikasi aplikasi Java. ganti permission filenya supaya menjadi executable $ chmod +x  jdk­6­linux­i586.bin  Setelah instalasi selesai dilakukan. yaitu setting variabel PATH. Tutorial resmi dapat dilihat secara online di sini: http://java.5.bin  Kemudian jalankan installernya.tes dengan cara menjalankan Java runtime : C:\> java ­version java version "1. .sun. $ sudo .0_06­b05) Java HotSpot(TM) Client VM (build 1. Untuk Windows. kemudian klik Next beberapa kali. sharing) Konfigurasi variabel Ada satu hal lagi yang perlu kita lakukan sebelum Java bisa digunakan untuk memproses kode program. butuh akses root. Untuk Linux.com/docs/books/tutorial/index. Cukup jalankan file installernya. Saya biasanya menginstal di folder /opt. mixed  mode.

 or batch file Perintah javac (javac. kita tidak bisa memanggil perintah javac. Klik Advanced. Sudah menjadi kesepakatan umum bahwa variabel ini harus menunjuk ke lokasi instalasi Java SDK atau Java RE. kita juga membuat variabel baru JAVA_HOME.HALAMAN 8 | JAVA FUNDAMENTAL Sebelum disetting. Perintah ini berguna untuk melakukan kompilasi.exe untuk Windows) berada di folder [LOKASI_INSTALASI_JAVA_SDK]\bin. C:\> javac ­version 'javac' is not recognized as an internal or external  command. Variabel ini sering dibutuhkan oleh aplikasi Java. dan klik . Klik kanan icon My Computer Kita harus mendaftarkan System Properties akan terbuka. operable program. Sambil mengedit variabel PATH. folder ini ke dalam PATH. Cara setting variabel di Windows adalah dengan membuka System Properties.

klik New untuk membuat variabel baru. .PERSIAPAN | HALAMAN 9 Environment Variables. Pada layar Environment Variables.

6. variabel PATH untuk masing-masing user diatur melalui file konfigurasi yang terletak di /home/namauser/. dan lokasi instalasi Java (misalnya C:\Program Files\Java\jdk1.%JAVA_HOME%\bin Sekarang coba buka Command Prompt. kali ini Variable Name diisi dengan PATH.0) pada field Value. Setelah itu. . Agar perubahan di file ini tidak terlalu banyak. ~/javapath. klik OK.0 export JAVA_HOME export PATH=$PATH:$JAVA_HOME/bin Kemudian panggil file javapath.sh. Seharusnya sekarang javac sudah dikenali. misalnya namanya javapath. dan Variable Value diisi dengan %PATH%. C:\> javac ­version javac 1. Kemudian buat User Variable sekali lagi. JAVA_HOME=/opt/jdk1.6. Tambahkan satu baris berikut di ujung akhir bash_profile.6. .0 Untuk Linux.sh Sekarang Java SDK siap digunakan. dan coba lagi jalankan javac.bash_profile.HALAMAN 10 | JAVA FUNDAMENTAL Isikan JAVA_HOME pada field Name.sh ini dari dalam bash_profile. buat satu file lagi yang berisi konfigurasi path. Kita harus mengedit file ini agar variabel JAVA_HOME terdaftar di sistem.

out.java. Buka command prompt. Kode program Java case sensitive.java Perintah di atas akan menghasilkan file hasil kompilasi. . Perhatikan besar kecilnya huruf. Jalankan perintah javac.java berada. Source Code Ketik kode program berikut.PERSIAPAN | HALAMAN 11 Hello World  Untuk mengetes hasil instalasi kita. misalnya Notepad. Kompilasi File Halo.class.   } } kemudian simpan dengan nama Halo. Gunakan text editor yang tersedia. mari kita buat kode program sederhana. Eksekusi Kalau tidak ada error pada saat kompilasi. Gunakan perintah java untuk menjalankannya. kode program kita sudah bisa dijalankan. yaitu Halo. dan masuk ke folder di mana Halo.println(“Halo”). artinya membedakan antara huruf besar dan huruf kecil.java tersebut harus dikompilasi dulu sebelum bisa dijalankan. C:\Latihan> javac Halo. public class Halo {   public static void main(String[] args){     System.

yaitu file yang berekstensi *.class. Di Java. berarti instalasi Java kia sudah berhasil dengan baik. bytecode dapat dijalankan di semua sistem operasi. kita harus melakukan kompilasi sesuai dengan sistem operasi yang kita tuju.java. bukan nama file. Bytecode Kode program kita. harus dikompilasi terlebih dulu sebelum bisa dijalankan. Konsep penting Dalam dunia Java. disebut .HALAMAN 12 | JAVA FUNDAMENTAL C:\Latihan> java Halo Halo Perhatikan bahwa perintah java menerima argumen berupa nama kelas. Python. Untuk bisa menjalankan kode program C di sistem operasi yang lain. Source code Java dikompilasi menjadi bytecode. Kalau perintah di atas berhasil dijalankan. file berekstensi *. ada beberapa istilah penting yang harus dipahami sebelum kita melangkah lebih jauh. Ini berbeda dengan bahasa pemrograman yang berbasis interpreter seperti PHP. kita hanya perlu mengkompilasi satu kali. Bytecode bersifat universal dan dapat berjalan di berbagai sistem operasi. Ini berbeda dengan file kompilasi C atau C++ yang hanya bisa berjalan di satu sistem operasi tertentu. JRE mengerti dan bisa menjalankan bytecode ini. atau Ruby yang dapat langsung dijalankan dari source code. Virtual Machine Portabilitas Machine bytecode Java dimungkinkan VM biasa dengan juga adanya Java Virtual Runtime (VM).

Jawabannya adalah. bytecode tidak langsung dieksekusi oleh sistem operasi. Pastikan kita mendownload JRE yang sesuai dengan sistem operasi yang kita gunakan. biasanya 32 MB. Jumlah ini dipertahankan sampai aplikasi kita butuh memori lebih. Kita tentu mengira Java lebih lambat daripada aplikasi yang berjalan tanpa VM (native). VM akan membesarkan memorinya. Intinya. Java VM akan mencari di dalam classpath. bagaimana Java VM bisa menemukan *. Di PHP dikenal istilah include_path. Ini benar. Untuk mencegah hal ini. Pada waktu pertama kali dijalankan. kita bisa saja meletakkannya di sembarang tempat.path. melainkan oleh VM. sehingga aplikasi yang kita jalankan terkesan berjalan tersendat-sendat. Kegiatan memperbesar memori ini butuh waktu agak lama. Java VM telah berusia sehingga sangat tidak tua. berikan memori awal yang cukup agar VM tidak perlu memperbesar memori di tengah jalan.PERSIAPAN | HALAMAN 13 Environment (JRE). Pertanyaan yang penting adalah. sehingga terasa. Python menyebutnya sys. Overhead yang ditimbulkan telah berhasil diminimasi terlalu Keuntungan portabilitas menjadi lebih besar daripada overhead penggunaan VM. Bila itu terjadi. Java VM ini berbeda antar sistem operasi.class yang kita buat? Sebab. ini adalah pemberitahuan kita . Konsep classpath sebenarnya tidak spesifik Java. sudah banyak optimasi yang kode dilakukan. dan dalam Ruby dikenal istilah RUBYLIB. Classpath Misalnya kita membuat kode program sendiri. Java VM langsung membooking memori sebesar nilai defaultnya. Ini tentu saja menghasilkan overhead dibandingkan kode program yang langsung dieksekusi sistem operasi seperti C. Dengan arsitektur VM. tapi perbedaannya tidak sebesar yang kita asumsikan.

Kita tidak ingin setting classpath bersifat permanen dan mengganggu aplikasi lainnya. karena setting classpath untuk masing-masing aplikasi biasanya berbeda. tidak harus di folder tempat file tersebut berada. Kekurangan cara ini adalah. kita harus melakukan setting di kedua command prompt tersebut. Cara yang lebih baik adalah melakukan setting classpath pada saat dibutuhkan. Setelah classpath kita set ke folder berisi Halo. referensi yang disediakan oleh Sun Microsystem sudah memadai.D:\belajar­java  Kita bisa memasukkan banyak folder ke dalam classpath. masingmasing folder dipisahkan dengan titik koma (. Tapi cara ini tidak direkomendasikan.) untuk Windows. kita bisa memanggil class tersebut dari mana saja. Kita dapat mengatur variabel classpath melalui Environment Variables di System Properties. setting tersebut akan hilang begitu command prompt ditutup. Java Tutorial Java Tutorial dapat diakses di . Referensi Sebenarnya untuk mempelajari Java secara mandiri (otodidak). melalui command prompt.class. Cara melakukan setting melalui command prompt adalah sebagai berikut: C:\> set CLASSPATH=C:\Latihan. dan titik dua (:) untuk Linux. Jika kita membuka dua command prompt. Ada dua referensi utama yang wajib dimiliki: Java API Documentation dan Java Tutorial.HALAMAN 14 | JAVA FUNDAMENTAL kepada VM di mana harus mencari kode program yang dibutuhkan.

dokumentasi ini sudah diikutkan secara built-in. menghasilkan diagram UML dari kode program Java yang sudah ada.sun. . Beberapa diantaranya bahkan dapat bekerja sebaliknya. Tetapi apabila kita menggunakan editor biasa seperti Notepad++. dokumentasi ini sangat bermanfaat. Kalau kita menggunakan text editor yang canggih (seperti Eclipse. Banyak UML editor yang tersedia secara open source. Biasanya desain aplikasi ini dituliskan dengan notasi Unified Modelling Language (UML). Desain Aplikasi Java didesain dengan pola pikir berorientasi object (Object Oriented). atau Intellij IDEA). Siklus pemrograman Java Sebelum kita mulai menulis kode. Netbeans. Sayangnya ditulis dalam bahasa Inggris. yang biasanya menyebabkan orang enggan membacanya. kita lihat dulu secara garis besar bagaimana cara membuat aplikasi dalam Java. misalnya: ● ● ● ● Poseidon CE Visual Paradigm Jude Bamboo Omondo (Eclipse Plugin) Beberapa UML editor memiliki kemampuan untuk menghasilkan kerangka kode Java.PERSIAPAN | HALAMAN 15 http://java.com/docs/books/tutorial/index.html Isinya sangat lengkap dan komprehensif. Java API Java API Documentation berisi dokumentasi semua class yang disertakan dalam distribusi Java SDK.

Eclipse memiliki kemampuan pengeditan source code yang sangat baik. Ant memiliki banyak fitur lainnya. kita gunakan perangkat build yang disebut Ant. Kompilasi Source code yang sudah kita tulis harus dikompilasi sebelum bisa dijalankan. Dengan semboyannya. “Enjoy Development”. Ant bisa didapatkan di http://ant. mempaket aplikasi.HALAMAN 16 | JAVA FUNDAMENTAL Tulis source code Langkah berikutnya tentunya adalah menulis source code. seperti menjalankan test.apache. Selain kedua editor yang open source itu. Untuk itu. kita dapat menggunakan Eclipse untuk menulis kode business logic. tidak praktis kalau kita melakukan kompilasi dengan javac. Aplikasi Java umumnya memiliki source code yang terdiri dari antara puluhan sampai ribuan file. Kemudian masih ada ketergantungan dengan library tambahan. mengendalikan application server. IDEA dikenal sangat nyaman digunakan dan mampu meningkatkan produktivitas programmer. Kita tidak harus memilih salah satu saja. Untuk source code yang berjumlah satu-dua file. Sedangkan Netbeans memiliki UI Designer untuk menggambar tampilan aplikasi desktop yang sangat canggih. IntelliJ IDEA. Dengan skala ini. Selain melakukan kompilasi. Ada banyak peralatan pembantu yang dapat mempercepat dan mempermudah penulisan kode. Untuk hasil yang maksimal. dan menggunakan Netbeans untuk membuat tampilan User Interface.org. ada juga editor komersial yang sangat terkenal. kita dapat menggunakan javac untuk mengkompilasinya. dan . Editor yang cukup terkenal dan open source diantaranya adalah Eclipse dan Netbeans.

Code Review Source Code Dalam ketergesaan. koneksi ke email server. Misalnya koneksi ke database. hubungan aplikasi dengan pihak eksternal diujicoba. Ant adalah perangkat yang wajib dikuasai oleh programmer Java. Tes ini bertujuan untuk mengotomasi pelaksanaan tes tersebut. Test Platform Java menyediakan perangkat test yang lengkap. Dengan . Integration Test Titik sambungan Pada test ini. In Container Test Dalam Server Kadangkala ada fungsi yang hanya bisa dites ketika aplikasi sedang berjalan di dalam server. Perangkat code review mencari dan melaporkan kode program yang ditulis secara ceroboh dan berpotensi menimbulkan bug. atau sambungan soket ke aplikasi lain. Coverage Test Aplikasi Kita ingin mengetahui apakah rangkaian test yang kita miliki sudah mengetes seluruh bagian dari kode program kita. Berikut adalah berbagai jenis test yang dapat dilakukan dalam pembangunan aplikasi Java.PERSIAPAN | HALAMAN 17 masih banyak yang lainnya. Method yang kita tulis diuji terhadap berbagai input dan hasilnya diperiksa. Jenis Unit Test Lingkup Method Keterangan Unit test mengetes satu method dalam class. kadang kita meninggalkan praktek pemrograman yang baik dan benar.

HALAMAN 18 | JAVA FUNDAMENTAL Jenis Lingkup Keterangan perangkat coverage test. kita akan segera mengetahuinya. Ini akan meningkatkan stabilitas kualitas kode program yang kita hasilkan. aplikasi kita akan selalu dites. Perlengkapan testing yang baik akan terus menjalankan kode tes secara otomatis. Tulis kode tes untuk mengetes kode program Jalankan kode test Periksa laporan hasil tes Perbaiki kode program bila ditemukan kegagalan tes Tambah lagi tes sehingga lebih lengkap Penggunaan peralatan testing akan meningkatkan kualitas kode kita. 3. kita akan sering melakukan . 4. Atau kalau aplikasinya adalah aplikasi desktop. Cara kerja perlengkapan testing adalah sebagai berikut: 1. Dengan demikian. Jadi. 5. Biasanya langkah ini dilakukan di akhir siklus pembangunan aplikasi. apabila penambahan kode baru menyebabkan error di kode lama. bahkan kode yang sudah lama tidak kita sentuh. kita dapat mengetahui bagian mana dari aplikasi kita yang belum tersentuh tes sama sekali. Deploy Pada saat pembangunan aplikasi. 2. Paket Aplikasi yang sudah selesai akan dipaket sehingga mudah dideploy di application server. kita perlu membuatkan installer supaya pengguna hanya tinggal mengklik Next untuk menginstal aplikasi.

pengguna tidak perlu mendownload lagi. Dengan fasilitas ini. Aplikasi yang diiinstal melalui Java Web Start juga akan memeriksa website asalnya setiap kali dijalankan untuk mencari versi terbaru. Java juga menyediakan fasilitas Java Web Start. aplikasi akan disimpan di mesin lokal. Java secara otomatis akan mendownload. sehingga ketika dijalankan lagi. dan menjalankan aplikasi. menginstal. Distribusi Aplikasi yang sudah selesai dibuat siap didistribusikan agar bisa digunakan khalayak ramai. Ini akan memudahkan kita untuk mendistribusikan dan memaintain aplikasi.org. Setelah itu. Untuk mempercepat siklus ini. kita dapat mengotomasi prosesnya dengan menggunakan Ant. ada beberapa perangkat yang perlu kita ketahui. Perangkat pembantu Untuk meningkatkan produktivitas dan mempercepat development. Ant memiliki kemampuan untuk: ● ● ● ● melakukan kompilasi menjalankan aplikasi mengkompres folder menjalankan tes dan membuat laporannya . Selain metode download atau bagi-bagi CD yang sudah umum dilakukan. dia akan secara otomatis mengupgrade dirinya sendiri. Setelah itu.PERSIAPAN | HALAMAN 19 deploy-undeploy aplikasi kita di server. Ant Ant adalah build tool. pengguna cukup mengklik satu link di website yang kita sediakan. Dapat diperoleh secara cuma-cuma di http://ant.apache. Apabila ada versi yang lebih baru.

Engine Matisse yang dimilikinya sangat legendaris.apache. Hypersonic SQL dapat dijalankan sebagai server. Dengan Matisse.org. Dengan ukurannya yang ringan. dan juga bisa dijalankan secara embedded oleh aplikasi kita. . tidak sampai satu megabyte. Tomcat tersedia secara gratis di http://tomcat. sehingga banyak orang yang menyediakan pluginnya baik gratis maupun komersil. Eclipse Eclipse adalah Integrated Development Editor (IDE) open source yang disponsori IBM.HALAMAN 20 | JAVA FUNDAMENTAL ● ● ● ● berinteraksi dengan aplikasi version control melakukan deploy/undeploy menyalakan/mematikan application server dan sebagainya Dengan Ant. Netbeans Netbeans adalah IDE open source yang disponsori oleh Sun Microsystem. Fiturnya sangat lengkap dan canggih. Ukurannya cuma 620 KB. kita dapat melakukan development dengan lebih cepat. web server yang mengerti bagaimana menjalankan servet dan JSP. Eclipse dibangun dengan arsitektur berbasis plugin. Tomcat Tomcat adalah servlet engine. Hypersonic SQL Hypersonic SQL adalah aplikasi database yang mungil. kita dapat mengotomasi pekerjaan yang sering kita lakukan sehingga dapat dijalankan dengan satu perintah saja. kita dapat membuat aplikasi desktop semudah Visual Basic atau Borland Delphi.

Kita bisa menjalankan Jetty melalui Ant.PERSIAPAN | HALAMAN 21 Jetty Sama seperti Tomcat. Jetty juga bisa dijalankan secara embedded. Sama seperti Hypersonic SQL. Ukurannya hanya 420 KB. Jetty adalah servlet dan JSP engine. Keistimewaan Jetty dibandingkan Tomcat adalah Jetty sangat kecil. Bandingkan dengan Tomcat yang memakan harddisk sebesar 20 MB. .

biasanya ada dua hal yang harus kita pahami: ● ● bahasa pemrograman library yang disediakan Pada bab ini. dan class member. tetapi umumnya hal ini . Class Secara umum. sedangkan aplikasi enterprise bisa terdiri dari ribuan class. package. kita akan mempelajari bahasa pemrograman Java.HALAMAN 22 | JAVA FUNDAMENTAL 3. Di antara konsep umum tersebut Anatomi kode program Untuk memahami bagaimana aplikasi Java tersusun.Pemrograman Java Setelah memahami secara umum tentang apa itu Java. Yang adalah: ● ● ● ● statement (instruksi) variabel dan tipe data percabangan (if-else. sekarang kita akan menyelam ke dunia yang lebih teknis. sebuah aplikasi Java terdiri banyak class. Aplikasi skala kecil dapat memiliki puluhan class. bahasa pemrograman Java. kita perlu memahami class. Satu file bisa menampung beberapa class. switch) perulangan (for. Bahasa pemrograman apapun yang kita pelajari. while) dibahas di sini adalah bagaimana konsep umum pemrograman diterapkan di Java.

Jadi ada Session untuk tampilan dan ada Session koneksi database. Ini bermanfaat agar kita bisa menggunakan nama class yang sama untuk kondisi yang berbeda. Jenis-jenis class member adalah: ● ● Constructor Method . Misalnya.PEMROGRAMAN JAVA | HALAMAN 23 tidak dianjurkan.latihan. Adanya nama package menyediakan namespace. untuk tampilan web. kita memiliki class Session yang merepresentasikan kegiatan user yang sedang login. Class Member Sebuah class berisi banyak class member.artivisi. Package Class dikelompokkan dalam package. satu file memuat satu class saja. kita juga memiliki class Session untuk merepresentasikan koneksi yang kita lakukan ke database. public class Session { } dan package com. Deklarasi class menjadi sebagai berikut: package com. Biasanya untuk kasus normal.artivisi. package database dan package web.latihan. public class Session { } Dengan demikian. Dalam urusan Session ini.database. Di sisi lain.web. kita dapat menempatkan kedua Session ke dalam dua package. kita dapat memiliki dua class bernama sama untuk keperluan yang berbeda.

Di Java. dan mengeksekusi function tersebut) di Java. } echo(“menjalankan function <br>”).   $p=>name = “Endy”. Tetapi di Java. Berbeda dengan bahasa pemrograman PHP atau Ruby. Di PHP misalnya. di Java semua kode program harus diletakkan pada tempatnya. } function display_person(){   $p = new Person().php. kita menempatkan kode menurut aturan Java. Untuk melakukan hal yang sama (deklarasi class. kode seperti di atas akan menimbulkan error kompilasi. kita bisa mendeklarasikan variabel atau membuat function di mana saja.   echo($p=>name). isinya bisa seperti ini: <? class Person {   var $name. kita lihat dalam satu file bisa berisi deklarasi class.HALAMAN 24 | JAVA FUNDAMENTAL ● ● Property Inner Class Penjelasan lebih lanjut tentang masing-masing class member ini akan diberikan di bab selanjutnya. deklarasi function. kita harus membuat method di dalam class. seperti ini: . display_person(). Sebagai ilustrasi. dan statement yang memanggil function. ?> Pada kode di atas. dalam satu file belajar. deklarasi function.

PEMROGRAMAN JAVA | HALAMAN 25 package belajar. Semua deklarasi function (method) dan variabel dilakukan di dalam class.out. Expression. Ini berbeda dengan VB.name).   } } Seperti kita lihat di atas.). Contoh statement adalah sebagai berikut: System.java.out. Ekspresi Ekspresi adalah rangkaian variabel atau pemanggilan method yang menghasilkan satu nilai.     p. tidak ada statement yang ada di luar class.     System.println(p. Statement. dimana statement diakhiri dengan pergantian baris. class Person {   public String name.println(“Halo”). Ekspresi biasanya digunakan dalam . } public class Belajar {   public static void displayPerson() {     Person p = new Person().   }   public static void main(String[] xx) {     displayPerson(). Setiap statement diakhiri dengan tanda titik koma (.name = “Endy”. Block Statement Statement dalam bahasa Indonesia dapat diartikan menjadi instruksi atau perintah.

Penulisan komentar di Java sama dengan komentar di C.startsWith(“admin”) Ekspresi pertama menghasilkan nilai integer. Komentar Komentar adalah tulisan dalam kode program yang diabaikan oleh compiler. orang tidak harus membaca keseluruhan baris kode hanya untuk memahami bahwa kode tersebut (misalnya) melakukan formatting untuk tampilan report. Sedangkan ekspresi kedua menghasilkan nilai true atau false. atau PHP. kita menambahkan satu baris komentar di atasnya untuk menjelaskan kegunaan algoritma tersebut.HALAMAN 26 | JAVA FUNDAMENTAL deklarasi variabel atau dalam percabangan. Komentar satu baris diawali dengan dua tanda garis miring seperti ini: . Dengan demikian.startsWith(“admin”)) {   // lakukan sesuatu } Pada contoh kode di atas. yaitu 5. Misalnya ada algoritma rumit yang panjangnya beberapa belas baris. C++. tergantung apa isi variabel username. Komentar digunakan untuk memperjelas kode program kita. Coba lihat contoh kode berikut: int a = 5. if (username. yang disebut ekspresi adalah: a = 5 dan username.

di Java dikenal satu jenis komentar khusus yang dinamakan komentar JavaDoc. langsung buka halaman admin if(username. JavaDoc ini biasanya dibuat untuk mendokumentasikan class dan class member. untuk komentar JavaDoc kita dapat menggunakan kompiler khusus untuk mengambil dan memformat isinya menjadi dokumentasi dalam bentuk HTML.0) {     // tulis ke log file   } } JavaDoc Selain komentar biasa seperti di atas. */ while(rs.  Bila menemukan pesanan yang bernilai tinggi.PEMROGRAMAN JAVA | HALAMAN 27 // apabila user adalah admin. Berbeda dengan komentar biasa yang diabaikan kompiler. . Berikut contoh komentar JavaDoc. catat.startsWith(“admin”)) {   // redirect ke admin page } Komentar yang terdiri dari banyak baris diawali dengan /* dan diakhiri dengan */.next()) {   if(rs.getDouble(“price”) > 10000. Contohnya sebagai berikut: /* Menjelajahi hasil query dari database.

 false kalau tidak ada   */   public boolean isExist(String username.   * @param username nama user yang ingin diperiksa   * @param password kata kunci yang ingin diperiksa   * @return true kalau kombinasi username/password      ada di database.                          String password) {   } } Kode di atas dapat dikompilasi dengan perintah sebagai berikut: .HALAMAN 28 | JAVA FUNDAMENTAL /** * menangani halaman login di website.  * Class ini dapat dipanggil melalui URL  * http://<nama­server>/latihan/login */ public class LoginProcessor {   /**   * memeriksa username dan password.    * Method ini akan menerima username dan password   * dari parameter dan mencocokkannya    * dengan isi database.

Generating constant­values.html.html... Generating allclasses­noframe.html.css... Generating package­tree.. Generating allclasses­frame...html.html... Generating package­frame.. .PEMROGRAMAN JAVA | HALAMAN 29 C:\> javadoc LoginProcessor. Building index for all the packages and classes...html.6.html.java Loading source file LoginProcessor.. Standard Doclet version 1..html dengan menggunakan browser... Generating package­summary.. seperti dapat dilihat di screenshot berikut..... Generating index..html... Generating LoginProcessor.java.html.. Generating deprecated­list.. Generating overview­tree.html.. Generating index­all.. Building index for all classes.... Perintah javadoc ini akan menghasilkan banyak file di dalam target folder. Constructing Javadoc information.html.0 Building tree for all the packages and classes... Kita bisa buka file index...html. Generating stylesheet. Generating help­doc..

Dengan demikian. . tampilan hasil JavaDoc terdiri dari dua frame. Sebelah kiri berisi daftar class yang berhasil ditemukan javadoc. kita bisa membuat dokumentasi source code dengan mudah.html. dalam hal ini hanya ada satu class LoginProcessor.HALAMAN 30 | JAVA FUNDAMENTAL Berikut adalah tampilan browser yang telah membuka index. Di sebelah kanan. disajikan informasi rinci tentang class tersebut. Pada screenshot di atas kita bisa lihat ada bagian Constructor Summary dan Method Summary. Keterangan tentang method isExist dapat dilihat pada screenshot berikut. Seperti kita lihat. karena perangkat pembantunya sudah tersedia. Penjelasan method yang kita tuliskan di atas telah disalin dengan rapi ke dalam dokumentasi HTML.

Menyimpan nilai true atau false. Berikut adalah daftar tipe data primitif yang ada dalam Java. short. Berukuran 64-bit IEEE 754 ● Non bilangan ● char. Berukuran 8 bit. Java mengenal dua jenis data: primitif dan referensi.PEMROGRAMAN JAVA | HALAMAN 31 Tipe data Salah satu hal pertama yang kita perlu pahami dalam bahasa pemrograman apapun adalah bagaimana bahasa tersebut menyimpan data. Primitif Tipe data primitif menyimpan tipe data sederhana. Berukuran 32-bit IEEE 754 double. Berukuran 16 bit Unicode ● boolean. Menyimpan satu huruf. Referensi Tipe data referensi diklasifikasikan menjadi dua jenis: array dan object. . Berukuran 32 bit long. ● Bilangan bulat ● ● ● ● ● byte. Berukuran 64 bit Bilangan pecahan ● ● float. Sedangkan tipe data object akan dibahas dalam bagian tersendiri tentang Object. Mari kita lihat satu persatu. Berukuran 16 bit int. Tipe data array nantinya akan dibahas lebih lanjut dalam bahasan tentang Collection Framework.

println(“Nilai dalam method: ”+x[0]). satu lagi menerima masukan array. public class PassingVariables {   public void cetakDanTampilkan(int x){     x = x + 1.out. package tutorial.variable. Dalam Java. sedangkan tipe data array dan object dipassing by reference. kedua method melakukan hal yang sama.   } } Seperti kita lihat. .     System. Mereka menambahkan nilai variabel yang dipassing dengan angka 1. Untuk mengilustrasikannya. mari kita buat dua buah method. Mari kita tambahkan method main untuk menjalankan contoh ini. Ada dua mekanisme passing. Walaupun sama.     System.println(“Nilai dalam method: ”+x).out.HALAMAN 32 | JAVA FUNDAMENTAL Passing Variabel Hal penting lainnya dalam belajar bahasa pemrograman adalah mengetahui bagaimana suatu variabel dikirim ke method atau function lain (mekanisme passing). tetapi kedua method ini akan berperilaku berbeda jika dijalankan. tipe data primitif dipassing by value.fundamental. yang satu menerima masukan int. kemudian mencetaknya di konsol. yaitu by value dan by reference.   }   public void cetakDanTampilkan(int[] x){     x[0] = x[0] + 1.

sedangkan variabel bertipe array nilainya menjadi 6. Dengan demikian. Passing by reference artinya yang dikirim (passing) adalah alamat memorinya (by reference).out. Ini sebabnya ketika kita cetak nilai variabel setelah method dijalankan.   System.println(“Sebelum: ”+y[0]). yang ditambah adalah variabel yang baru.out.   int[] y = {5}. nilai variabel tidak berubah. ketika variabel dimasukkan ke dalam method. bukan yang asli. Java akan membuatkan satu variabel lain bernilai sama.    System. variabel asli dan .println(“Setelah: ”+z).   int z = 5.out.   System.   System.   pv. Sebelum: 5 Nilai dalam method: 6 Setelah: 5 Sebelum: 5 Nilai dalam method: 6 Setelah: 6 Seperti kita lihat. Ketika kita lakukan pertambahan dengan 1. Passing by value artinya yang dikirim (passing) adalah nilainya (by value). ada perbedaan di akhir eksekusi method. Variabel bertipe primitif nilainya tetap 5.println(“Sebelum: ”+z).cetakDanTampilkan(z). hasilnya adalah seperti ini.out.PEMROGRAMAN JAVA | HALAMAN 33 public static void main(String[] xx) {   PassingVariables pv = new PassingVariables(). } Bila kode ini dijalankan. Jadi.   pv.println(“Setelah: ”+y[0]).cetakDanTampilkan(y).

  int y = 5. yaitu operator = dan +. variabel yang asli ikut berubah nilainya. Contoh: y++.HALAMAN 34 | JAVA FUNDAMENTAL variabel yang dikirim menunjuk ke lokasi memori yang sama.  int z = x + y. variabel asli akan berubah nilainya. Ketika variabel di dalam method nilainya ditambah satu.  ● Ternary operator: memiliki tiga operand. Contoh: success ? “Ok” : “Not OK” Berdasarkan penggunaannya. kita dapat klasifikasikan operator menjadi: ● ● ● Aritmatika Relasional Logika .  ● Binary operator: memiliki dua operand. Ada dua operator yang digunakan pada kode di atas. Operator Operator juga adalah hal yang umum dalam bahasa pemrograman. Nilai yang berada di sisi kiri atau sisi kanan operator disebut dengan operand. int x = 3. Contoh: x + y. kita dapat mengklasifikasikan operator menjadi: ● Unary operator: jumlah operand cuma satu. Ini sebabnya setelah eksekusi method. Berdasarkan jumlah operand-nya. Mari kita lihat contoh kode berikut.

karena 10 dibagi 3 menghasilkan 1 dan sisanya adalah 4. operasi perpangkatan dilakukan dengan menggunakan method pow dari class Math. Operator + * / % Pertambahan Pengurangan Perkalian Pembagian Nilai sisa dari pembagian (modulus) Kegunaan Contoh x+y x-y x*y x/y x%y Pada saat ini mungkin ada pembaca yang berkomentar. bagaimana dengan operasi perpangkatan? Pada bahasa pemrograman lain ada yang menulis 2 pangkat 3 seperti ini: 2 ^ 3 Di Java. 2 pangkat 3 ditulis seperti ini dalam Java. Maka z akan bernilai 4.3) Modulus adalah perhitungan nilai sisa.  int z = 10 % 3. ada lagi operator aritmatika yang berguna . Aritmatika Operator ini digunakan untuk melakukan operasi matematika. Apabila kita memiliki kode program seperti ini: int x = 10. Berikut adalah daftar operator aritmatika.PEMROGRAMAN JAVA | HALAMAN 35 ● ● Assignment Lain-lain Mari kita lihat satu persatu. int y = 6. Math.pow(2. Selain operator di atas.

  System. int x = 10. Sedangkan bila diletakkan di depan operand. yaitu operator ++ dan ­­. Berikut contoh kodenya.HALAMAN 36 | JAVA FUNDAMENTAL untuk mempersingkat kode. Yang perlu diperhatikan adalah.println(x). dan PHP tentu sudah tidak asing lagi dengan operator ini.println(++x). operator ini dapat diletakkan di belakang operand (z++). maka z++ sama dengan z = z + 1. akan menambah satu sebelum operand dievaluasi. Sehingga nilai akhir z adalah 6. Mari kita ilustrasikan melalui contoh kode. . Jadi kalau nilai awal variabel z adalah 5. ataupun di depan operand (++z). Operator ­­ bekerja sebaliknya. C++.println(x). Pembaca yang berasal dari latar belakang C.  System. Dan hasilnya adalah sebagai berikut. Operator ++ menambah satu ke operand-nya.out. yaitu mengurangi satu. Bila kode di atas dijalankan.  System.println(x++). Penempatan yang berbeda akan menghasilkan hal yang berbeda pula.out.out. int x = 10. akan menambah satu setelah operand dievaluasi (dalam hal ini dicetak dengan perintah println).out.  System. hasilnya adalah: 10 11 Operator ++ yang diletakkan di belakang operand.

isCorrect() menghasilkan nilai false.isCorrect() && password. Berikut adalah operator kondisional yang tersedia di Java.isCorrect(). sudah pasti hasil keseluruhannya adalah false. apapun hasil dari password. Operator && || ! Nama And Or Not true && false true || false !true Contoh => false => false => false Selain operator &&. Operator relasional dalam Java adalah sebagai berikut. Perhatikan kode berikut sebagai ilustrasi. . kita juga dapat menggunakan operator & untuk melakukan operasi And. Bila kita menggunakan &&. if (username. Operator > < >= <= != == 3>5 3<5 3 >= 5 3 <= 5 3 != 5 3 == 5 => false => true => false => true => true => false Contoh Kondisional Operator kondisional berhubungan erat dengan nilai true atau false. Operator ini biasanya digunakan dalam blok if-else atau while.isCorrect()) {} Pada kode di atas. Perbedaan antara && dan & adalah dengan &&. operand kedua tidak diperiksa apabila hasil akhir sudah dapat ditentukan. bila username.PEMROGRAMAN JAVA | HALAMAN 37 10 11 Relasional Operator relasional membandingkan operand dan menentukan hasil perbandingan tersebut.

kita gunakan else if. . Demikian juga untuk operator Or. Jadi. if (year % 4 == 0) {   return 29.HALAMAN 38 | JAVA FUNDAMENTAL password. if Contoh penggunaan if di Java adalah sebagai berikut. Assignment Lainnya Aliran kontrol Aliran kontrol adalah teknik pemrograman untuk menentukan jalannya program. hanya sintaksnya saja yang berbeda. arti dari masingmasingnya tidak dijelaskan lebih lanjut. Fitur ini ada di semua bahasa pemrograman. } else {   return 28. } Apabila pilihannya lebih dari dua.isCorrect() tidak dieksekusi. Kita bisa menggunakan || atau | dengan perilaku yang sama dengan && dan &.

equals(“administrator”)) {   // lakukan sesuatu  } else if (username. . diambil dari tutorial Java.equals(“guest”)) {   // lakukan sesuatu } else {   // lakukan sesuatu } switch Berikut adalah contoh kode switch.PEMROGRAMAN JAVA | HALAMAN 39 if (username.

  case 4:   case 6:   case 9:   case 11:     numDays = 30.     break. diambil dari Java Tutorial dari Sun.HALAMAN 40 | JAVA FUNDAMENTAL switch (month) {   case 1:   case 3:   case 5:   case 7:   case 8:   case 10:   case 12:     numDays = 31. Berikut contoh kode for. } for For digunakan untuk perulangan.     else       numDays = 28. .     break.     break.   case 2:     if ( ((year % 4 == 0) && !(year % 100 == 0))                           || (year % 400 == 0) )       numDays = 29.

 i < arrayOfInts. .   }   System. i++) {   System.length. i<members. for (int i = 0. “anton”}. 589 }.print(arrayOfInts[i] + " ").   for(int i = 0.next()) {   // lakukan sesuatu } break Keyword break digunakan untuk segera keluar dari loop. seperti misalnya membaca hasil query database yang jumlahnya belum diketahui.println(“Looping selesai”). } while Bentuk while biasanya digunakan untuk perulangan yang belum dapat ditentukan titik akhirnya.     if(members[i]. “oky”.out.out. } akan menampilkan: endy oky Looping selesai Jadi begitu keyword break dijalankan.equals(“oky”) break. i++) {     System. 87.println(members[i]). while(resultSet.out. Contoh kodenya adalah sebagai berikut. loop yang mengelilinginya langsung disudahi.PEMROGRAMAN JAVA | HALAMAN 41 int[] arrayOfInts = { 32.length. 3. public void displayMembers()   String[] members = {“endy”.

public void displayMembers()   String[] members = {“endy”.println(“Looping selesai”). .     System.       }   System.out.HALAMAN 42 | JAVA FUNDAMENTAL continue Kalau keyword break menghentikan loop.length.equals(“oky”) continue. i<members. “anton”}. keyword continue hanya menghentikan iterasi yang sedang berjalan. i++) {     if(members[i].println(members[i]). hanya keyword continue yang kita ganti dengan return. “oky”.   for(int i = 0. Mari kita modifikasi contoh kode di atas untuk mengilustrasikannya.out. Kita akan gunakan contoh kode yang sama. } Kode di atas akan menampilkan: endy anton Looping selesai return Keyword return akan langsung mengakhiri method yang mengelilinginya.

       }   System.println(members[i]). karena method langsung berakhir. .println(“Looping selesai”). i<members. i++) {     if(members[i].out.   for(int i = 0.PEMROGRAMAN JAVA | HALAMAN 43 public void displayMembers()   String[] members = {“endy”.out.length. “anton”}. baris Looping selesai tidak dijalankan. “oky”.     System.equals(“oky”) return. } Kode di atas akan menampilkan: endy Seperti kita lihat.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->