257
EKSPLORASI BAHASA PEMROGRAMAN JAVA Menggunakan Metode Pemrograman Objek Oriented DR. Windu Gata, M.Kom 11| public class Titik extends Bentuk{ 12| private int x; 13| private int y; 14| 15| public Titik() { 16| } 17| 18| public int getX() { 19| return x; 20| } 21| 22| public void setX(int x) { 23| this.x = x; 24| } 25| 26| public int getY() { 27| return y; 28| } 29| 30| public void setY(int y) { 31| this.y = y; 32| }

Eksplorasi Java 29042015

Embed Size (px)

DESCRIPTION

Bahasa Pemrograman Java menggunakan editor Netbeans 7.3.Isi presentasi terdiri dari konsep pemrograman OOP. Tampilan program menggunakan Dekstop Dan J2ee Web (JSP, Servlet).Koneksi database dengan membangun sendiri objek secara manual maupun menggunakan java persistance.

Citation preview

Page 1: Eksplorasi Java 29042015

EKSPLORASI BAHASA PEMROGRAMAN JAVAMenggunakan Metode Pemrograman Objek Oriented

DR. Windu Gata, M.Kom

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

Page 2: Eksplorasi Java 29042015

Profile

Pendidikan SDN 05 Pagi – Pondok Pinang, Jakarta

SMPN 178 – Rempoa, Jakarta Selatan

SMAN 86 – Bintaro, Jakarta Selatan

S1 - Teknik Informatika, STMIK Budi Luhur

S2 - Magister Komputer, Universitas Budi Luhur

S3 - Manajemen Pendidikan, Universitas Negeri Jakarta

Page 3: Eksplorasi Java 29042015

Karir

1996 – Sales Komputer

1997 – Operator Input Data SEAGAMES dan Junior Programmer

2001 s/d 2006 – Sistem Analis, Programmer, dan DBA, LKBN Antara

2001 s/d Sekarang – Konsultan IT dan Pengajar Lepas

2003 s/d Sekarang – Dosen untuk mata kuliah Analisa & Perancangan, Bahasa Pemrograman, Database, dan Mobile – Universitas Budi Luhur

2006 s/d 2007 – Team Leader IT, PT. WEB

2007 s/d 2008 – Team Leader, Jawasoft

2008 s/d Sekarang – Dosen Pasca Sarjana STMIK Nusa Mandiri dan Universitas Budi Luhur untuk mata kuliah OOP, Web Engineering, Software Engineering

2008 s/d Sekarang – System Solution Manager, Marthatilaar Group

Page 4: Eksplorasi Java 29042015

Karya : Buku

Page 5: Eksplorasi Java 29042015

PENGENALAN JAVA

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M.KOM

Page 6: Eksplorasi Java 29042015

Bahasa Pemrograman Java

Belajar Bahasa Program Java ???????????Susah, Ribet, Kebanyakan Aturan, Bikin Pusing Aja........

Mending Nongkrong

Khayalan Tingkat Tinggi

Page 7: Eksplorasi Java 29042015

Bahasa Pemrograman Java

Bahasa Pemrograman Java Hanyalah Perangkat Bantu Seperti Bahasa Pemrograman Lainnya Yang Digunakan Untuk Membangun Aplikasi .

Seperti Peralatan, Hanya Dengan Dipelajari Caranya, Lalu Gunakan.

Seni

Page 8: Eksplorasi Java 29042015

Bahasa Pemrograman Java

Java adalah bahasa pemrograman dan platfom komputer yang dikeluarkan oleh Sun Microsystems tahun 1995 dan sekarang telah dimiliki oleh Oracle. Teknologi berseni yang mendukung program utilitas, permainan dan aplikasi bisnis.

Java telah digunakan lebih dari 850 juta komputer diseluruh dunia termasuk perangkat bergerak dan perangkat TV.

Pemrograman Berorientasi Objek (Object Oriented Program)

Page 9: Eksplorasi Java 29042015

Kenapa Bahasa Pemrograman Java ?

Multiplatform Dapat digunakan ke semua OS Dapat digunakan untuk semua model tampilan

(Console, Desktop, Web, dan Mobile) Handal Dukungan dari Komunitas Java dan Oracle Java Is Everywhere Gratis

Page 10: Eksplorasi Java 29042015

JAVA

Page 11: Eksplorasi Java 29042015

Tipe Pengembangan Java

Page 12: Eksplorasi Java 29042015

Tipe Data Java (Primitive)

Page 13: Eksplorasi Java 29042015

Arithmetic

Page 14: Eksplorasi Java 29042015

Kondisi

Page 15: Eksplorasi Java 29042015

Karakter Escape

Page 16: Eksplorasi Java 29042015

LOOP

Page 17: Eksplorasi Java 29042015

Error Exception

Page 18: Eksplorasi Java 29042015

Thread

Page 19: Eksplorasi Java 29042015

Interface Class

Page 20: Eksplorasi Java 29042015

Program Berorientasi Objek

Page 21: Eksplorasi Java 29042015

Pattern MVC (Model View Controller)

Seseorang (Aktor) masuk ke ruangan (View) gelap menekan saklar (Control) untuk menyalakan Lampu (Model)

sehingga ruangan (View) terang benderang karena sinar lampu

1. Masuk Ke Ruangan 2. Menekan Saklar 3. Memberikan Listrik Ke Lampu

4. Dapatkan Cahaya5. Ruangan Terang

Page 22: Eksplorasi Java 29042015

Java 2 SDK

Page 23: Eksplorasi Java 29042015

Swing

Page 24: Eksplorasi Java 29042015

J2EE (Enterprise Edition)

Page 25: Eksplorasi Java 29042015

Web

Page 26: Eksplorasi Java 29042015

J2ME (Micro Edition)

Page 27: Eksplorasi Java 29042015

Java & Database

Page 28: Eksplorasi Java 29042015

Mysql + Swing

Page 29: Eksplorasi Java 29042015

Programmer Yang Baik Anda harus mengetahui bagaimana caranya membaca Stack Trace . Saya tahu ini bukan prioritas (hanya menyedihkan), tapi beberapa developer terlihat bingung melihat

stacktrace. Walaupun bukan prioritas tapi dapat menyisihkan beberapa orang.

Mengetahui semua alat yang digunakan : IDE, editor, & Sistem Operasi. Pilihlah peralatan yang menurut anda "Kuat" dan dapat melayani anda dalam membuat program.

Mengetahui bahasa pemrograman jika anda mengungkapkannya di kode dan anda mengetahui bagaimana menerangkannya. Pelajari setiap bagian/sintak dari bahasa pemrograman. Dapatkan pengertian secara garis besar dari setiap library.

Anda harus dapat mengunduh (men-download) aplikasi 3rd Party. Dapatkan contoh kode yang dapat dikompilasi, kemudian buatlah perubahan dan mengetahui library apa yang digunakan. Kalau bisa dekompilasi programnya untuk mendapatkan source.

Harus mengerti cara mecari kesalahan (debugger)

Mengetahui bagaimana menggunakan profiler. Dalam waktu yang sama anda harus mengetahui kenapa programnya berjalan lambat. Developer yang baik dapat mengatasi profiler dan dapatkan jawaban.

Baca Spesifikasi. Sebuah keharusan setiap developer dapat membaca spesifikasi sebelum membuat program. Developer yang baik membaca spesifikas terlebih dahulu, ketika selesai buat program yang sekiranya kurang.

Bacalah kode. Menulis program itu menyenangkan, tetapi buat developer yang baik, membaca kode orang lain, dapat mengerti, serta dapat membuat kode yang lebih baik (jauh lebih menyenangkan).

Biasakan membuat program dengan baris perintah (Command Line). Ya .. GUI menyenangkan dan bagus, tetapi tidak mengasah kemampuan.

Buatlah Build Sript. Cara mudah mencari developer yang bagus adalah developer yang dapat membuat build script, karena dia mengetahui apa yang harus dilakukan.

Page 30: Eksplorasi Java 29042015

Let’s RockCreate - Project

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 31: Eksplorasi Java 29042015

Hello World

B

C

D E

A

Page 32: Eksplorasi Java 29042015

A. Project

Aplikasi yang akan kita buat sudah dinamakan sebagai Project “HelloWorld” yang ditempatkan secara default pada MyDocument\NetBeansProject\HelloWorld (windows). Di dalam projek inilah kita akan memasukkan source program Java.

Page 33: Eksplorasi Java 29042015

B. Package

• Java package (Paket Java) merupakan sebuah mekanisme untuk mengorganisasikan kelas dengan kata lain Paket Java adalah modul java. Dalam sebuah sistem operasi kita mengenal package dengan sebutan direktori atau path. Dalam penulisannya paket java dituliskan dalam huruf kecil.

Page 34: Eksplorasi Java 29042015

C. Class

• Penamaan file dari sebuah file java, pada contoh kasus ini adalah HelloWorld.java. Pada Gambar C menunjukkan nama class, dalam pemrograman Java apabila class tersebut mempunyai sifat “public “, maka nama class harus sama dengan nama file

Page 35: Eksplorasi Java 29042015

D. Main

• Apabila program java akan dijalankan, maka dibutuhkan method static main

Page 36: Eksplorasi Java 29042015

Tampilan Teks

Menampilkan teks pada komputer

Click Kanan

Page 37: Eksplorasi Java 29042015

Clean And Build• Clean : Menghapus Semua Kompalasi Class

• Build : Melakukan kompilasi Class

• Building Jar : Membentuk Executable File Jar (Java Archieve)

Page 38: Eksplorasi Java 29042015

Run Command

Page 39: Eksplorasi Java 29042015

Arithmetic

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M.KOM

Page 40: Eksplorasi Java 29042015

Arithmetic

Page 41: Eksplorasi Java 29042015

Arithmetic

Page 42: Eksplorasi Java 29042015

Object Arithmetic

Page 43: Eksplorasi Java 29042015

Object Arithmetic Dengan Method Static

Page 44: Eksplorasi Java 29042015

Kondisi

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 45: Eksplorasi Java 29042015

KondisiA condition is an expression that can be either true or false.

Page 46: Eksplorasi Java 29042015

IF (Model 1)

Page 47: Eksplorasi Java 29042015

IF (model 2)

Page 48: Eksplorasi Java 29042015

Escape Karakter

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 49: Eksplorasi Java 29042015

Karakter Escape

Page 50: Eksplorasi Java 29042015

Karakter Escape

Page 51: Eksplorasi Java 29042015

Loop / Perulangan

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 52: Eksplorasi Java 29042015

LOOP

Repetition Statements in JavaJava provides three repetition statements (also called looping statements) that enable programsto perform statements repeatedly as long as a condition (called the loop-continuationcondition) remains true. The repetition statements are the while, do…while and forstatements.

Page 53: Eksplorasi Java 29042015

Do While

Page 54: Eksplorasi Java 29042015

While

Page 55: Eksplorasi Java 29042015

For (Numerical 1)

Page 56: Eksplorasi Java 29042015

For (Numerical 2 : Array)

Page 57: Eksplorasi Java 29042015

For (Collection : Array)

Page 58: Eksplorasi Java 29042015

For (Collection : Model Vector Element)

Page 59: Eksplorasi Java 29042015

For (Collection : Model Vector)

Page 60: Eksplorasi Java 29042015

For (Collection : Model ListArray)

Page 61: Eksplorasi Java 29042015

Error Exception

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 62: Eksplorasi Java 29042015

Error Exception

• Waktu paling ideal untuk mendeteksi adanya kesalahan pada program (error) adalah saat kompilasi program. Namun tidak semua kesalahan program dapat dideteksi pada saat itu, kesalahan justru terlihat program dijalankan atau digunakan.

• Sebagai contoh, untuk program yang dibuat pada saat mesin cetak atau printer sedang on, program dapat melakukan pencetakan dengan baik saat kondisi itu. Namun apabila mesin cetak sedang dalam posisi off, maka program tidak dapat melakukan pencetakan, kemudian mengirimkan sinyal kesalahan.

• Tangkap Sinyal Atau Dilewati

Page 63: Eksplorasi Java 29042015

Error Exception

Page 64: Eksplorasi Java 29042015

Error Exception - Rethrowing

Page 65: Eksplorasi Java 29042015

Error Exception - Finally

Page 66: Eksplorasi Java 29042015

Thread

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 67: Eksplorasi Java 29042015

Thread

Page 68: Eksplorasi Java 29042015

Thread - Single

• Pada pemrograman yang terstruktur, pengembang program melakukan pemanggilan modul secara berurutan. Maksudnya adalah jika ada ada tiga modul, yaitu modul A, modul B, dan modul C maka modul utama akan memanggil sesuai urutannya.

• Modul utama memanggil modul A kemudian memanggil modul B, lalu memanggil modul C, yang berarti setelah modul A selesai diproses, maka modul B akan diproses kemudian baru modul C.

• Dengan kata lain modul B tidak akan diproses apabila modul A belum habis diproses. Begitu pula modul C, modul tersebut tidak akan diproses apabila modul A dan B belum diproses.

Page 69: Eksplorasi Java 29042015

Thread - Single

Page 70: Eksplorasi Java 29042015

Thread - Multi

Jika ada modul A, modul B dan modul C yang dipanggil oleh main, maka proses yang terjadi adalah modul A akan diproses, kemudian tanpa menunggu proses modul A selesai, modul B dapat diproses, begitu pula dengan modul C, tanpa menunggu proses modul A dan B selesai, modul C sudah dapat diproses.

Page 71: Eksplorasi Java 29042015

Thread - Multi

• Satu atau beberapa modul yang dijalankan secara bersamaan (multiproses), dimana masing-masing modul tersebut dijalankan pada jalur masing-masing

• Masing modul menjalankan kode atau script program secara berurutan

• Multithread sering pula disebut dengan multiproses atau multitasking pada sistem operasi.

Page 72: Eksplorasi Java 29042015

Thread – Multi

Page 73: Eksplorasi Java 29042015

Thread – Multi (Priority)MIN_PRIORITY = 1,NORM_PRIORITY=5, MAX_PRIORITY=10

Page 74: Eksplorasi Java 29042015

Thread - Inconsistent state

Apabila objek account tersebut tidak menggunakan synchronized, maka akan

terjadi inconsistent state

Page 75: Eksplorasi Java 29042015

Thread – Class Account

Page 76: Eksplorasi Java 29042015

Thread - Bentrok

Page 77: Eksplorasi Java 29042015

Thread - Solusi

Page 78: Eksplorasi Java 29042015

Interface Class

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 79: Eksplorasi Java 29042015

Interface ClassInterface merupakan pedoman standarisasi dari perintah yang harus dipatuhi oleh Class. Penggunaan Interface dengan cara menggunakan Implements pada Class

Setiap Boneka Harus Diberikan Tali Agar Dapat Dimainkan Oleh Pemain

Page 80: Eksplorasi Java 29042015

Interface Class (TaliInt.java)

Page 81: Eksplorasi Java 29042015

BonekaLaki Implements TaliInt

Page 82: Eksplorasi Java 29042015

BonekaPerempuan Implements TaliInt

Page 83: Eksplorasi Java 29042015

Let’s Rock Interface

Page 84: Eksplorasi Java 29042015

Object Oriented Program

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 85: Eksplorasi Java 29042015

Program Berorientasi Objek

Page 86: Eksplorasi Java 29042015

Kelas Mobil

Page 87: Eksplorasi Java 29042015

Progam Berorientasi Objek Kata “Object” dan “Oriented” dikenalkan di MIT (Massachusetts

Institute of Technology) pada akhir 1950 dan awal 1960. Dalam artikel AI (Artificial Intelligence), objek terdiri dari item-item dan properti (attribut).

Pada tahun 1960, OOP ini diterapkan pada bahasa pemrograman SIMULA 67 yang merupakan pengembangan dari bahasa pemrograman SIMULA I yang dikembangkan oleh Ole-Johan Dahl dan Krsten Nygaard dari Norwegian Computing Centre di Oslo

Bahasa pemrograman SIMULA 67 menjadi inspirasi para pengembang bahasa pemrograman seperti Smalltalk (XEROX PARC), LISP .(CLOS), Object Pascal, dan C++

Bahasa pemrograman OOP semakin berkembang dan mempengaruhi bahasa pemrograman khususnya visualisasi seperti Visual Foxpro 3, Delphi, C++ dan Visual Basic, Cocoa Frameworks for MAC OS dan lain-lain

Pada saat ini sudah banyak sekali bahasa pemrograman yang berparadigma objek seperti MS .Net dan java dari Sun Microsystem (sekarang telah diakusisi oleh Oracle).

Page 88: Eksplorasi Java 29042015

Tujuan OOP

REUSABLE

Page 89: Eksplorasi Java 29042015

Objek Bangun Datar dan RuangOBJECT

Page 90: Eksplorasi Java 29042015

Objek Bangun Datar dan RuangCLASS DIAGRAM

Page 91: Eksplorasi Java 29042015

Objek Bangun Datar dan Ruang

Page 92: Eksplorasi Java 29042015

Objek

Page 93: Eksplorasi Java 29042015

Objek

Page 94: Eksplorasi Java 29042015

Transformasi Objek Ke Kelas (Bentuk)

Page 95: Eksplorasi Java 29042015

Transformasi Objek Ke Kelas (Titik)

Page 96: Eksplorasi Java 29042015

Transformasi Objek Ke Kelas (Persegi Panjang)

Page 97: Eksplorasi Java 29042015

Transformasi Objek Ke Kelas (Balok)

Page 98: Eksplorasi Java 29042015

Objek - Instance

Instance (variable) pp terbentuk dari konstruktor Persegipanjang() yang menggunakan konsep kelas Persegipanjang

In object-oriented programming, an instance variable is a variable defined in a class (i.e. a member variable), for which each object of the class has a separate copy, or instance. An instance variable is similar to and contrasts with a class variable.

Page 99: Eksplorasi Java 29042015

Objek Message Passing

Page 100: Eksplorasi Java 29042015

Objek - Polimorphisme

Class dapat dipanggil layaknya orang tua atau induk dari kelas tersebut.

Page 101: Eksplorasi Java 29042015

Objek - Enkapsulasi

• Satu kesatuan dari variable dan method yang terdapat pada objek. Dimana variable atau method yang didalamnya dapat dispesifikasin ijin penggunaannya.

– Private : variable atau method hanya dapat diakses oleh objek itu sendiri.

– Public : variable atau method dapat diakses oleh objek itu sendiri dan objek lainnya.

– Protected : variable dan method dapat diakses oleh objek itu sendiri dan turunannya

Page 102: Eksplorasi Java 29042015

Pattern MVC (Model View Controller)

Seseorang (Aktor) masuk ke ruangan (View) gelap menekan saklar (Control) untuk menyalakan Lampu (Model)

sehingga ruangan (View) terang benderang karena sinar lampu

1. Masuk Ke Ruangan 2. Menekan Saklar 3. Memberikan Listrik Ke Lampu

4. Dapatkan Cahaya5. Ruangan Terang

Page 103: Eksplorasi Java 29042015

MVC

FrmPersegiPanjang berfungsi sebagai Tampilan (View) dan dapat melakukan proses bisnis pada PersegiPanjangCtrl (Control) yang menggunakan kelas PersegiPanjang (Model)

Page 104: Eksplorasi Java 29042015
Page 105: Eksplorasi Java 29042015

Controller (PersegiPanjangCtrl)

Page 106: Eksplorasi Java 29042015

Controller (BalokCtrl)

Page 107: Eksplorasi Java 29042015

Let’s Rock On Java

Page 108: Eksplorasi Java 29042015

Java Swing – Menggunakan Objek Ruang Bangun

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 109: Eksplorasi Java 29042015

Java 2 SDK

Teknologi Java Desktop dapat digunakan untuk membuat aplikasi pengguna yang sangat berguna serta applet dimana aplikasi tersebut cepat, aman dan mudah. Hampir secara keseluruhan teknologi yang ada pada java SE (JRE/Java Runtime Environment) 90% merupakan sistem Desktop untuk sebagian besar Sistem Operasi. NetBeans IDE merupakan editor yang mengintegrasikan perangkat alat bantu GUI (Grafik User Interface) yang memudahkan untuk membangung aplikasi Desktop.Dalam penggunaannya Java Desktop menggunakan Swing API yang terdiri dari komponen-komponen GUI guna membangun aplikasi berkualitas dari sisi internet maupun intranet. Di dalam Swing kita dapat menemukan komponen-komponen seperti JavaBeans, AWT, java2D, accessibility, dan Internationalization

Page 110: Eksplorasi Java 29042015

Swing Framework

Page 111: Eksplorasi Java 29042015

Swing

Dalam kasus ini kita akan membuat 1 buah JFrame bernama FrmMain. FrmMain tersebut mempunyai menu untuk untuk membuka 3 (tiga) boundary (Form / JInternalFrame), yaitu FrmTitik, FrmPersegiPanjang, dan FrmBalok. Pada FrmTitik pada saat dibuka maka pengguna dapat mengisi nilai X dan Y. Pada form FrmPersegiPanjang yang dapat mempunyail layaran tampilan untuk memasukkan nilai X, Y, lebar dan panjang dengan keluaran luas dan keliling. Sedang layar tampilan FrmBalok dapat digunakan untuk melakukan masudkan data X, Y, lebar, panjang dan tinggi dengan keluaran volume.

Page 112: Eksplorasi Java 29042015

Swing Project - RuangBangunDekstop

Page 113: Eksplorasi Java 29042015

Swing Project - Library

PASTIKAN PROJECT RuangBangun sudah di CLEAN AND BUILD

12

Page 114: Eksplorasi Java 29042015

Swing Project – FrmMain (JFrame)

Page 115: Eksplorasi Java 29042015

Swing Project – FrmTitik (JInternalFrame)

Page 116: Eksplorasi Java 29042015

FrmTitikVariable Name : FrmTitikKomponen : JFrameTitle : Form TitikForm Policy : Generate Resize CodeForm Policy ada pada kolom Code

jlblXVariable Name : jlblXKomponen : JLabelText : Nilai X

jlblYVariable Name : jlblYKomponen : JLabelText : Nilai Y

jtxtXVariable Name : jtxtXKomponen : JTextFieldText : 0

jtxtYVariable Name : jtxtYKomponen : JTextFieldText : 0

jbtnPosisiVariable Name : jbtnPosisiKomponen : JbuttonText : Posisi

Swing Project – FrmTitik (JInternalFrame)

Page 117: Eksplorasi Java 29042015

Swing Project – FrmTitik (JInternalFrame)

Page 118: Eksplorasi Java 29042015

Swing Project – FrmPersegiPanjang (JInternalFrame)

Page 119: Eksplorasi Java 29042015

Swing Project – FrmPersegiPanjang (JInternalFrame)

FrmPersegiPanjangVariable Name : FrmPersegiPanjangKomponen : JFrameTitle : Form Persegi PanjangForm Policy : Generate Resize CodeForm Policy ada pada kolom Code

jlblPanjangVariable Name : jlblPanjangKomponen : JLabelText : Nilai Panjang

jtxtPanjangVariable Name : jtxtPanjangKomponen : JTextFieldText : 0

jlblLebarVariable Name : jlblLebarKomponen : JLabelText : Nilai Lebar

jtxtLebarVariable Name : jtxtLebarKomponen : JTextFieldText : 0

jbtnHitungVariable Name : jbtnHitungKomponen : JButtonText : Hitung

jlblLuasVariable Name : jlblLuasKomponen : JLabelText : Luas

jlblKelilingVariable Name : jlblKelilingKomponen : JLabelText : Kelliling

jtxtLuasVariable Name : jtxtLuasKomponen : JTextFieldText : 0Editable : false

jtxtKelilingVariable Name : jtxtKelilingKomponen : JTextFieldText : 0Editable : false

Page 120: Eksplorasi Java 29042015

Swing Project – FrmPersegiPanjang (JInternalFrame)

Kalau ada Warning (Lampu Kuning Di Kiri) .. Jangan Panik, klik pada lampu dan add import

Page 121: Eksplorasi Java 29042015

Swing Project – FrmBalok (JInternalFrame)

Buat Latihan Yaaaaaa

Page 122: Eksplorasi Java 29042015

Swing Project – FrmMain (Menghubungkan Menu Dengan JInternalFrame)

Buat Instance Untuk Setiap Form Pada FrmMain

Page 123: Eksplorasi Java 29042015

Swing Project – FrmMain (Menghubungkan Menu Dengan JInternalFrame)

Page 124: Eksplorasi Java 29042015

Let’s Rock Swing

Page 125: Eksplorasi Java 29042015

Java Web – Menggunakan Objek Ruang Bangun

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 126: Eksplorasi Java 29042015

J2EE (Enterprise Edition)

Page 127: Eksplorasi Java 29042015

Web

Page 128: Eksplorasi Java 29042015

J2EE – JSP (Menggunakan Objek-Objek RuangBangun)

Page 129: Eksplorasi Java 29042015

J2EE – JSP (Menggunakan Objek-Objek RuangBangun) – Create Project

1 2 3

4 5 6

7

Page 130: Eksplorasi Java 29042015

J2EE – JSP (Menggunakan Objek-Objek RuangBangun) – Titik.jsp

Page 131: Eksplorasi Java 29042015

J2EE – JSP (Menggunakan Objek-Objek RuangBangun) – PersegiPanjang.jsp

Page 132: Eksplorasi Java 29042015

J2EE – JSP (Menggunakan Objek-Objek RuangBangun) – Balok.jsp

BUAT LATIHAN YAA…………

Page 133: Eksplorasi Java 29042015

J2EE – JSP (Menggunakan Objek-Objek RuangBangun) – index.jsp

Page 134: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun)

Page 135: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – Create Project

1 2 3

4 5 6

7

Page 136: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – TitikSrv.java

Page 137: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – TitikSrv.java

Page 138: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – PersegiPanjangSrv.java

Page 139: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – PersegiPanjangSrv.java

Page 140: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – BalokSrv.java

BUAT LATIHAN YA ……

Page 141: Eksplorasi Java 29042015

J2EE – Servlet (Menggunakan Objek-Objek RuangBangun) – index.jsp

Page 142: Eksplorasi Java 29042015

J2EE - MVC

JEE mendukung pattern MVC, yaitu Model View Controller. Model yang dimaksud adalah objek kelas yang berhubungan dengan data, View merupakan layer tampilan yang dilakukan oleh JSP dan Controller untuk mengontrol logika bisnis dalam web, dalam hal ini dilakukan oleh servlet.

Page 143: Eksplorasi Java 29042015

J2EE – MVC – Create Project1 2 3

4 5 6

7

Page 144: Eksplorasi Java 29042015

J2EE – MVC – Titik.jsp

Page 145: Eksplorasi Java 29042015

J2EE – MVC – TitikSrv.java

Page 146: Eksplorasi Java 29042015

J2EE – MVC – PersegiPanjang.jsp

Page 147: Eksplorasi Java 29042015

J2EE – MVC – PersegiPanjangSrv.java

Page 148: Eksplorasi Java 29042015

J2EE – MVC – Balok.jsp & BalokSrv.java

BUAT LATIHAN YAA ……

Page 149: Eksplorasi Java 29042015

J2EE – MVC – index.jsp

Page 150: Eksplorasi Java 29042015

J2EE – MVC + JSTL

JavaServer Pages Standard Tag Library

JSTL terdiri dari tanda (tag) sederhana yang berfungsi khusus aplikasi web. JSTL telah mendukung perintah-perntah umum dan struktur seperti iterasi dan kondisi, manipulasi dokumen XML, internasional dan SQL, serta mampu berintegrasi dengan framework.Saat ini versi JSTL terakhir adalah 1.2 dengan teknologi Unified Expression Languange (EL) yang terhubung dengan Java Server Pages (JSP) 2.1. dan diawali dengan perintah pada jsp

Page 151: Eksplorasi Java 29042015

J2EE – MVC – JSTL - Titik.jsp

Page 152: Eksplorasi Java 29042015

J2EE – MVC – JSTL - PersegiPanjang.jsp

Page 153: Eksplorasi Java 29042015

J2EE – MVC – TitikSrv.java, PersegiPanjang.java, BalokSrv.java, index.jsp

Sama Dengan Yang MVC

Page 154: Eksplorasi Java 29042015

Java + Mysql

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 155: Eksplorasi Java 29042015

Java & Database

Pengertian dari database adalah sekumpulan informasi yang terorganisir sehingga mudah diakses dan kelola. Dimana database tersebut dapat menyimpan informasi dengan tipe data String, Numerik, Date, dan tipe data lainnya. Untuk melakukan perintah manipulasi data, user dapat menggunakan bahasa Structure Query Language (SQL).

Page 156: Eksplorasi Java 29042015

Java & Database

Berbagai macam database yang telah ada dalam dunia aplikasi adalah seperti Oracle, DB2, MySql, dan lain-lain. Pada buku ini, yang dibahas adalah bagaimana bahasa pemrograman Java dapat berinteraksi dengan database MySql dengan menggunakan database connector (JDBC) dengan konsep Object.

Page 157: Eksplorasi Java 29042015

Table Mahasiswa

Field Tipe Keterangan

Nim Varchar(10) Primary Key

Nama Varchar(20)  

Alamat Varchar(100)  

Database Mysql : belajar

CREATE DATABASE belajar;Use belajar;CREATE TABLE mahasiswa ( Nim varchar(10) NOT NULL, Nama varchar(20) DEFAULT NULL, Alamat varchar(100) DEFAULT NULL, PRIMARY KEY (Nim)) ;

Page 158: Eksplorasi Java 29042015

Koneksi Ke Database

Page 159: Eksplorasi Java 29042015

Koneksi Ke Database

Page 160: Eksplorasi Java 29042015

Koneksi + CRUD (Create Read Update Delete)

Page 161: Eksplorasi Java 29042015

Koneksi + CRUD (Create Read Update Delete)

Page 162: Eksplorasi Java 29042015

Java + Mysql + Transformasi Ke OOP

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 163: Eksplorasi Java 29042015

Koneksi.java

Page 164: Eksplorasi Java 29042015

Koneksi.java

Page 165: Eksplorasi Java 29042015

Koneksi.java

Page 166: Eksplorasi Java 29042015

Mahasiswa.java

Page 167: Eksplorasi Java 29042015

MahasiswaCtrl.Java

Page 168: Eksplorasi Java 29042015

MahasiswaCtrl.java

Page 169: Eksplorasi Java 29042015

MahasiswaCtrl.java

Page 170: Eksplorasi Java 29042015

MahasiwaCtrl.java

Page 171: Eksplorasi Java 29042015

Let’s Rock JDBC (Insert & Update)

Page 172: Eksplorasi Java 29042015

Let’s Rock JDBC (Lihat - List)

Page 173: Eksplorasi Java 29042015

Let’s Rock JDBC (Delete)

Page 174: Eksplorasi Java 29042015

JPA (JAVA PERSISTANCE API)

DR. WINDU GATA, M. KOM

Page 175: Eksplorasi Java 29042015

JPA (Java Persistance API)

The Java Persistence API, sometimes referred to as JPA, is a Java programming language application programming interface specification which describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition.

The Java Persistence API originated as part of the work of the JSR 220 Expert Group of the Java Community Process. JPA 2.0 was the work of the JSR 317 Expert Group.

Persistence in this context covers three areas:

•the API itself, defined in the javax.persistence package•the Java Persistence Query Language (JPQL)•object/relational metadata

Page 176: Eksplorasi Java 29042015

JPA (Java Persistance API)

Page 177: Eksplorasi Java 29042015

JPA – Persistance Unit

Page 178: Eksplorasi Java 29042015

JPA – Persistance Unit

Page 179: Eksplorasi Java 29042015

JPA – Persistance Unit

Page 180: Eksplorasi Java 29042015

JPA – Persistance Unit

Page 181: Eksplorasi Java 29042015

JPA – Persistance Unit

Page 182: Eksplorasi Java 29042015

JPA – Persistance Unit (XML)

Page 183: Eksplorasi Java 29042015

JPA – DATA (Model)

Page 184: Eksplorasi Java 29042015

JPA – DATA (Model)

Page 185: Eksplorasi Java 29042015

JPA – Data (Model – Entity Classes)

Page 186: Eksplorasi Java 29042015

JPA – Data (Model – Entity Classes)

Page 187: Eksplorasi Java 29042015

JPA – Data (Model – Entity Classes)

Page 188: Eksplorasi Java 29042015

JPA – Data (Model – Entity Class)

Page 189: Eksplorasi Java 29042015

JPA – Data (Model – Entity Class)

Page 190: Eksplorasi Java 29042015

JPA – Control

Page 191: Eksplorasi Java 29042015

JPA - Control

Page 192: Eksplorasi Java 29042015

JPA - Control

Page 193: Eksplorasi Java 29042015

JPA - Control

Page 194: Eksplorasi Java 29042015

JPA – Control

Page 195: Eksplorasi Java 29042015

JPA - Control

Page 196: Eksplorasi Java 29042015

JPA - Control

Page 197: Eksplorasi Java 29042015

JPA - Control

Page 198: Eksplorasi Java 29042015

Let’s Rock JPA - Insert

Page 199: Eksplorasi Java 29042015

Let’s Rock JPA - Update

Page 200: Eksplorasi Java 29042015

Let’s Rock JPA - List

Page 201: Eksplorasi Java 29042015

Let’s Rock JPA - Delete

Page 202: Eksplorasi Java 29042015

JPA – MahasiswaJpaController.java

Tambahkan

Page 203: Eksplorasi Java 29042015

Let’s Rock JPA - FIND

Page 204: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 205: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 206: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 207: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 208: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 209: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 210: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 211: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 212: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 213: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 214: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 215: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 216: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 217: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 218: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 219: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 220: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql + JPA

Page 221: Eksplorasi Java 29042015

Java Swing (JFRAME) + Mysql

Page 222: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql

11| public class Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik() {16| }17|18| public int getX() {19| return x;20| }21|22| public void setX(int x) {23| this.x = x;24| }25|26| public int getY() {27| return y;28| }29|30| public void setY(int y) {31| this.y = y;32| }

DR. WINDU GATA, M. KOM

Page 223: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql

Page 224: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql

Page 225: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql

Page 226: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - PU

Page 227: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - PU

Page 228: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - PU

Page 229: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - PU

Page 230: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 231: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 232: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 233: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 234: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 235: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 236: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Entity

Page 237: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 238: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 239: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 240: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 241: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 242: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 243: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 244: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 245: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql - Control

Page 246: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – Mahasiswa.jsp

Page 247: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – Mahasiswa.jsp

Page 248: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – Mahasiswa.jsp

Page 249: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – Mahasiswa.jsp

Page 250: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 251: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 252: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 253: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 254: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 255: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 256: Eksplorasi Java 29042015

Java Web (J2EE) + JPA + Mysql – MahasiswaSrv.java

Page 257: Eksplorasi Java 29042015

Let’s Rock – WEB JPA