belajar java untuk pemula dan konsep oop di java PDF

Title belajar java untuk pemula dan konsep oop di java
Pages 304
File Size 4.4 MB
File Type PDF
Total Downloads 283
Total Views 740

Summary

Java Desktop Aplikasi POS Berarsitektur Three Tier Menggunakan Swing, Hibernate dan Spring Ifnu Bima ifnubima.org @ifnubima Kata Pengantar Menulis adalah kegiatan paling saya suka di sela-sela kesibukan sehari-hari. Menulis, terutama pengetahuan, akan memberikan efek berantai kepada seluruh pembaca...


Description

Java Desktop Aplikasi POS Berarsitektur Three Tier Menggunakan Swing, Hibernate dan Spring

Ifnu Bima ifnubima.org @ifnubima

Kata Pengantar Menulis adalah kegiatan paling saya suka di sela-sela kesibukan sehari-hari. Menulis, terutama pengetahuan, akan memberikan efek berantai kepada seluruh pembacanya. Menulis juga membuka gerbang peradaban yang bernama Sejarah. Tidak ada sejarah tanpa budaya menulis. Java Desktop ini adalah buku pertama saya, dan semoga menjadi yang pertama dari sekian banyak buku yang bisa saya tulis. Isi dari buku ini berasal dari pengalaman saya membuat aplikasi desktop java selama kurang lebih tiga tahun. Banyak pelajaran berharga yang saya petik dari pengalaman tersebut, baik pada saat menulis maupun pada saat membuat aplikasi. Seiring dengan waktu saya ingin menuangkan dalam sebuah buku dan membaginya dengan teman-teman pembaca. Waktu yang saya habiskan untuk menulis buku ini ternyata lebih panjang dari yang saya perkirakan, tutorial Swing dan JDBC, cikal bakal dari buku ini, saya tulis awal tahun 2007. Kemudian semenjak pertengahan tahun 2010 saya meluangkan setiap waktu luang saya, termasuk hari libur, menyelesaikan buku ini hingga pada bulan Februari 2011 buku ini saya rampungkan. Harapan saya buku ini bisa memberikan pengetahuan yang berguna bagi karir maupun pekerjaan teman-teman pembaca. Saya juga berharap pembaca dari buku ini bisa meningkatkan taraf hidup nya, baik dalam meniti karir maupun memulai karir sebagai developer. Pengajar seperti guru SMK atau Dosen dapat menggunakan buku ini sebagai panduan mata kuliah Rekayasa Perangkat Lunak. Kalau anda dan institusi anda mendapatkan manfaat dari buku ini dan ingin berkontribusi balik, saya menerima donasi yang nantinya akan saya sumbangkan ke panti asuhan Permata Hati yang beralamatkan di : Jl. Roda No. 29, Kelurahan Babakan Pasar, Kecamatan Bogor Tengah, Bogor
 Telepon: (0251) 8312 730. email : [email protected], url : http://permatahatibogor.wordpress.com, http://saveorphan.dagdigdug.com Donasi bisa anda salurkan melalui rekening BCA 2630478831 atas nama Ifnu Bima Fatkhan. Atau anda bisa mengirim pulsa ke nomer IM3 saya dengan mengirim sms TP 085692118587 [nominal] ke 151, saya akan mengganti pulsa yang anda kirimkan dan menyumbangkan ke panti asuhan Permata Hati. Mohon kirimkan email konfrmasi donasi sebagai catatan, saya akan mempublikasikan donasi anda di blog saya ifnubima.org. Kalau donasi anda belum tercatat mohon ingatkan saya dengan mengirim email notifokasi. Donasi anda adalah masa depan anak-anak ini :

Versi print buku Java Desktop ini bisa dibeli dari www.nulisbuku.com. Hasil penjualan buku ini juga akan disumbangkan ke panti asuhan Permata Hati Bogor.

Artivisi Intermedia adalah partner resmi dari buku Java Desktop. Artivisi menyediakan training inhouse maupun regular dengan materi yang ada di buku ini. Trainer di Artivisi sudah sangat berpengalaman menggunakan teknik-teknik yang diterangkan dalam buku ini selama bertahun-tahun, selain itu Artivisi juga berpengalaman menyelenggarakan training Java untuk berbagai macam instansi, mulai dari pemerintahan, swasta hingga perorangan. Banyak pengetahuan tentang best practice yang tidak bisa dicakup dalam buku ini dan hanya bisa disampaikan secara verbal dan praktek lewat training profesional yang Artivisi sediakan. Training profesional dapat mempercepat proses belajar hanya dalam 5 hari training, sedangkan membaca buku ini hingga selesai memerlukan waktu yang jauh lebih panjang. Training pofesional juga memastikan bahwa peserta benar-benar belajar langsung dengan bantuan trainer profesional sehingga pengetahuan yang diperoleh cepat dimengerti. Peserta juga dapat mengajukan studi kasus yang sedang dihadapi di perusahaan, sehingga setelah training selesai, peserta mempunyai project template yang bisa diteruskan sekembalinya dari training. Setelah training selesai, peserta langsung bisa membuat aplikasi tanpa membutuhkan waktu berbulan-bulan belajar, cukup 5 hari training saja. Artivisi Intermedia dapat dikontak lewat email [email protected], atau telp : 02186611859 dengan Meliawati. Terimakasih sebesar-besarnya saya ucapkan untuk teman saya Robi Kurniawan , http://kurniawanz.com yang telah berbaik hati mendesign sampul depan buku ini. Rekomendasi saya sepenuhnya kalau ada pembaca buku ini membutuhkan jasa designer. ;).

Lisensi Buku ini mempunyai dua lisensi pendidikan/perorangan/komunitas.

untuk

institusi

pendidikan

dan

untuk

institusi

non

Jika anda mewakili institusi pendidikan seperti sekolah, akademi dan universitas lisensinya adalah “Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License” artinya adalah: •

Tidak diperkenankan digunakan untuk tujuan komersial. Misalnya digunakan sebagai materi training profesional atau dicetak menjadi buku untuk tujuan mencari untung.



Dianjurkan untuk digunakan sebagai bahan ajar di kelas, terutama Rekayasa Perangkat Lunak atau Sistem Berorientasi Objek.



Diperkenankan untuk membuat produk turunan dari buku ini asal produk turunanya juga dilisensikan sebagai Creative Commons dan saya sebagai penulis diakui sebagai pembuat awal materi ini. Hal ini agar memungkinkan institusi pendidikan mengganti sampul, header, footer dan sebagian teks dari buku ini untuk mencerminkan institusi pendidikan tersebut.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-ncsa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Jika anda mewakili institusi non pendidikan, perorangan atau komunitas, lisensinya adalah “Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License” artinya adalah : •

Tidak diperkenankan digunakan untuk tujuan komersial. Misalnya digunakan sebagai materi training profesional atau dicetak menjadi buku untuk tujuan mencari untung.



Dianjurkan menyebar luaskan buku ini baik secara soft copy (pdf) maupun hard copy.



Diperkenankan meletakkan fle pdf buku ini di internet untuk didownload orang lain, tetapi lebih dianjurkan untuk menyebar link download resmi buku ini : http://tanyajava.com/download/javadesktop



Tidak diperkenankan melakukan perubahan terhadap isi buku ini. Format dokumen yang diperkenankan hanya pdf asli yang didownload dari link download resmi.

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-ncnd/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

Pendahuluan Bertahun-tahun yang lalu saya melihat sebuah flm, judulnya “The Count of Monte Cristo” yang bercerita tentang seorang anak pelayan yang bisa menjadi seorang bangsawan berkat bantuan temanya. Menjadi seorang bangsawan (menaikkan status sosial) seseorang tidak cukup hanya dengan mempunyai harta, karena harta selalu bisa habis. Quote dari flm tersebut yang selalu terngiang di kepala saya adalah “I'll give you something that nobody can take away from you, knowledge”. Saya ingin selalu bisa menjadi orang yang mengucapkan kata-kata tersebut ke semua orang. Buku ini adalah salah satu yang bisa saya lakukan, saya juga meng-host podcast java berbahasa indonesia: Indo Java Podcast (http://ifnubima.org/indo-java-podcast/) bersama rekan saya Dito Subandono. Selain itu saya juga aktif di berbagai milis Java seperti JUG, NetBeans-Indonesia dan JLinux. Belajar membuat aplikasi tidak bisa dilakukan tanpa proses melihat-mencontek-mencoba, buku ini ditujukan sebagai tempat anda melihat dan mencontek bagaimana sebuah aplikasi Java Desktop dibuat. Buku ini juga berusaha untuk mengajak anda mencoba menulis kode yang disediakan sehingga siklus melihat-mencontek-mencoba menjadi lengkap. Bab 1 kita akan membahas tentang Java Fundamental, bab ini dibagi menjadi dua bagian besar: belajar sintaks java dan belajar OOP menggunakan java. Di dalam bab ini juga dibahas tentang java 5 language enhancement yang mencakup beberapa perubahan fundamental di dalam sintaks java. Bab 2 membahas tentang tools yang kita gunakan, NetBeans. Bagaimana membuat project, menambahkan library, menambahkan library ke pallete, menggunakan editor dan debugger, dan seterusnya. Penguasaan akan IDE diperlukan untuk menaikkan produktiftas, tanpa penguasaan IDE yang baik, produktiftas tinggi susah untuk dicapai. Bab 3 membahas tentang koneksi ke database menggunakan JDBC. Di bab ini mulai dibahas tentang design-pattern dalam membuat kode. DAO dan Service adalah design-pattern sangat penting dalam akses database. Dilanjutkan dengan membahas ORM, Hibernate dan Spring untuk akses data. Dengan menggunakan Hibernate, produktiftas programmer menjadi meningkat drastis dibanding menggunakan JDBC murni. Spring digunakan sebagai “lem” untuk merekatkan berbagai macam komponen aplikasi, termasuk nanti digunakan sebagai tulang punggung arsitektur three tier Bab 4 membahas tentang Swing dan komponen-komponenya. Dibahas juga pattern MVC yang digunakan komponen Swing dalam mengolah dan menampilkan data. Bab 5 membahas bagaimana membuat aplikasi POS. Dimulai dari membuat halaman master, dilanjutkan dengan membuat halaman pembelian dan penjualan. Bab 6 membahas bagaimana membuat report dengan JasperReport. Di dalamnya termasuk juga teknik mengcompile report yang dibuat secara otomatis menggunakan ant script bawaan dari NetBeans. Bab 7 membahas bagaimana mengimplentasikan arsitektur three tier menggunakan Spring Remoting. Bab 8 merupakan bab terakhir yang membahas bagaimana membuat installer menggunakan IzPack, sehingga aplikasi mudah didistribusikan dengan adanya fle installer. Pembaca bisa langsung meloncat ke Bab 3 kalau merasa sudah mempunyai dasar-dasar pengetahuan sintaks java maupun OOP. Pembaca juga bisa melewati bab 4 kalau sudah mengetahui dasar-dasar komponen Swing. Buku ini mempunyai format penulisan untuk memudahkan pembaca. Kode akan ditampilkan dalam format yang berbeda dengan text biasa. Kode akan ditampilkan dalam sebuah kotak dengan font Monaco seperti contoh di bawah ini : public class HelloWorld{ public static void main(String[] args){ System.out.println(“Hello World!!”); } } Command line ditampilkan dalam format yang berbeda dan diawali dengan tanda $ mewakili

prompt. Contohnya seperti ini : $ javac HelloWorld.java Output dari command line di atas ditampilkan dalam format yang berbeda, seperti contoh di bawah ini. Hello World!! Kalau anda melakukan copy-paste dari buku ke NetBeans perlu diperhatikan bahwa beberapa karakter yang ada di dalam buku dikategorikan sebagai karakter illegal oleh NetBeans / Java Compiler. Perbedaan ini terjadi karena encoding yang digunakan kemungkinan berbeda. perbedaan paling sering terjadi ada pada penggunaan karakter “ (petik dua) yang berbeda dengan text editor ", periksa terlebih dahulu perbedaan ini sebelum memeriksa apakah kodenya benar atau salah. Source code buku ini bisa didownload dari URL berikut ini : http://project-template.googlecode.com/fles/java-desktop-book.zip Kritik, saran, ide maupun laporan kesalahan ketik / narasi bisa dialamatkan ke [email protected] atau ke akun twitter @ifnubima. Akhir kata, selamat belajar semoga ilmu yang ada dalam buku ini bermanfaat untuk pembaca. Singapore, Februari 2011.

Daftar Isi Kata Pengantar.......................................................................................................................... iii Lisensi........................................................................................................................................ v Pendahuluan.............................................................................................................................. vi Pengenalan Java......................................................................................................................... 2 Instalasi JDK..........................................................................................................................3 HelloWorld............................................................................................................................ 3 Keyword, Identifiers dan Akses kontrol................................................................................ 4 Keyword Bahasa Pemrograman Java ...............................................................................4 Identifiers ......................................................................................................................... 5 Access Modifier................................................................................................................ 6 Anatomi Class Java................................................................................................................6 Deklarasi Class..................................................................................................................7 Deklarasi Interface ........................................................................................................... 9 Class vs Object................................................................................................................11 Method............................................................................................................................ 11 Constructor......................................................................................................................12 Property...........................................................................................................................14 Konstanta........................................................................................................................ 16 Struktur Aplikasi Java..........................................................................................................16 Package........................................................................................................................... 16 Import..............................................................................................................................18 Jar.................................................................................................................................... 18 Classpath......................................................................................................................... 19 Variabel dan Memory Management.....................................................................................20 Variabel .......................................................................................................................... 20 Passing by value dan Passing by reference ....................................................................22 Tipe Data Primitif........................................................................................................... 23 Wrapper Class................................................................................................................. 24 Array............................................................................................................................... 25 Garbage Collector........................................................................................................... 28 Operator............................................................................................................................... 30 Operator Assignment ..................................................................................................... 30 Operator Relasi............................................................................................................... 31 Operator Instanceof.........................................................................................................32 Operator Aritmatik.......................................................................................................... 33 Operator Kondisi.............................................................................................................35 Operator Bitwise............................................................................................................. 35 Operator Bit Shift............................................................................................................37 Operator Logika.............................................................................................................. 39 Flow Control........................................................................................................................40 If ..................................................................................................................................... 41 Switch............................................................................................................................. 41 Exception............................................................................................................................. 43 Sintaks Exception............................................................................................................43 Call Stack, Stack Trace dan Uncaught Exception ..........................................................44 Class Exception...............................................................................................................46

Hirarki Class Exception.................................................................................................. 47 Throws dan Throw.......................................................................................................... 50 Perulangan / Iterasi.............................................................................................................. 52 for.................................................................................................................................... 52 while ...............................................................................................................................53 do-while.......................................................................................................................... 54 OOP dengan Java.................................................................................................................54 Enkapsulasi..................................................................................................................... 55 Inheritance, IS-A dan HAS-A......................................................................................... 55 Polimorfisme (Polymorphism)........................................................................................57 Overriding dan Overloading........................................................................................... 58 Casting Variabel Reference............................................................................................. 59 Interface.......................................................................................................................... 59 Collection dan Generics.......................................................................................................60 toString............................................................................................................................60 equals dan hashcode........................................................................................................61 Java Collection Framework............................................................................................ 64 List.................................................................................................................................. 64 Set................................................................................................................................... 65 Map................................................................................................................................. 67 Sorting...............................................


Similar Free PDFs