You are on page 1of 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| }

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

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

Karya : Buku

PENGENALAN JAVA

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| }

Bahasa Pemrograman Java


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

Khayalan Tingkat Tinggi

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

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)

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

JAVA

Tipe Pengembangan Java

Tipe Data Java (Primitive)

Arithmetic

Kondisi

Karakter Escape

LOOP

Error Exception

Thread

Interface Class

Program Berorientasi Objek

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

5. Ruangan Terang

3. Memberikan Listrik Ke Lampu

4. Dapatkan Cahaya

Java 2 SDK

Swing

J2EE (Enterprise Edition)

Web

J2ME (Micro Edition)

Java & Database

Mysql + Swing

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.

Lets Rock

Create - 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

Hello World
A

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

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.

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

D. Main
Apabila program java akan dijalankan, maka
dibutuhkan method static main

Tampilan Teks

Click Kanan

Menampilkan
teks pada
komputer

Clean And Build


Clean : Menghapus Semua Kompalasi Class
Build : Melakukan kompilasi Class
Building Jar : Membentuk Executable File Jar
(Java Archieve)

Run Command

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

Arithmetic

Arithmetic

Object Arithmetic

Object Arithmetic Dengan Method Static

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

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

IF (Model 1)

IF (model 2)

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

Karakter Escape

Karakter Escape

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

LOOP

Repetition Statements in Java


Java provides three repetition statements (also called
looping statements) that enable programs
to perform statements repeatedly as long as a condition
(called the loop-continuation
condition) remains true. The repetition statements are the
while, dowhile and for
statements.

Do While

While

For (Numerical 1)

For (Numerical 2 : Array)

For (Collection : Array)

For (Collection : Model Vector Element)

For (Collection : Model Vector)

For (Collection : Model ListArray)

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

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

Error Exception

Error Exception - Rethrowing

Error Exception - Finally

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

Thread

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.

Thread - Single

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.

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.

Thread Multi

Thread Multi (Priority)


MIN_PRIORITY = 1,NORM_PRIORITY=5, MAX_PRIORITY=10

Thread - Inconsistent state

Apabila objek account tersebut tidak


menggunakan synchronized, maka akan
terjadi inconsistent state

Thread Class Account

Thread - Bentrok

Thread - Solusi

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

Interface Class
Interface 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

Interface Class (TaliInt.java)

BonekaLaki Implements TaliInt

BonekaPerempuan Implements TaliInt

Lets Rock Interface

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

Program Berorientasi Objek

Kelas Mobil

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 lainlain
Pada saat ini sudah banyak sekali bahasa pemrograman yang
berparadigma objek seperti MS .Net dan java dari Sun Microsystem
(sekarang telah diakusisi oleh Oracle).

Tujuan OOP

REUSABLE

Objek Bangun Datar dan Ruang


OBJECT

Objek Bangun Datar dan Ruang


CLASS DIAGRAM

Objek Bangun Datar dan Ruang

Objek

Objek

Transformasi Objek Ke Kelas (Bentuk)

Transformasi Objek Ke Kelas (Titik)

Transformasi Objek Ke Kelas (Persegi Panjang)

Transformasi Objek Ke Kelas (Balok)

Objek - Instance
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.

Instance (variable) pp terbentuk dari konstruktor


Persegipanjang() yang menggunakan konsep kelas
Persegipanjang

Objek Message Passing

Objek - Polimorphisme

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

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

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

5. Ruangan Terang

3. Memberikan Listrik Ke Lampu

4. Dapatkan Cahaya

MVC

FrmPersegiPanjang berfungsi sebagai Tampilan (View) dan dapat


melakukan proses bisnis pada PersegiPanjangCtrl (Control) yang
menggunakan kelas PersegiPanjang (Model)

Controller (PersegiPanjangCtrl)

Controller (BalokCtrl)

Lets Rock On Java

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

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

Swing Framework

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.

Swing Project - RuangBangunDekstop

Swing Project - Library

PASTIKAN PROJECT RuangBangun sudah di CLEAN AND BUILD

Swing Project FrmMain (JFrame)

Swing Project FrmTitik (JInternalFrame)

Swing Project FrmTitik (JInternalFrame)


jlblX
Variable Name
: jlblX
Komponen : JLabel
Text : Nilai X
jlblY
Variable Name
: jlblY
Komponen : JLabel
Text : Nilai Y

jtxtX
Variable Name
: jtxtX
Komponen : JTextField
Text : 0
jtxtY
Variable Name
: jtxtY
Komponen : JTextField
Text : 0
FrmTitik
Variable Name
: FrmTitik
Komponen : JFrame
Title : Form Titik
Form Policy : Generate Resize Code
Form Policy ada pada kolom Code

jbtnPosisi
Variable Name
: jbtnPosisi
Komponen : Jbutton
Text : Posisi

Swing Project FrmTitik


(JInternalFrame)

Swing Project FrmPersegiPanjang


(JInternalFrame)

Swing Project FrmPersegiPanjang


(JInternalFrame)
FrmPersegiPanjang
Variable Name
: FrmPersegiPanjang
Komponen
: JFrame
Title
: Form Persegi Panjang
Form Policy
: Generate Resize Code
Form Policy ada pada kolom Code

jlblLebar
Variable Name
: jlblLebar
Komponen
: JLabel
Text
: Nilai Lebar
jlblPanjang
Variable Name
: jlblPanjang
Komponen
: JLabel
Text
: Nilai Panjang
jtxtLebar
Variable Name
: jtxtLebar
Komponen
: JTextField
Text
:0
jtxtPanjang
Variable Name
: jtxtPanjang
Komponen
: JTextField
Text
:0

jbtnHitung
Variable Name
: jbtnHitung
Komponen
: JButton
Text
: Hitung
jlblLuas
Variable Name
: jlblLuas
Komponen
: JLabel
Text
: Luas
jlblKeliling
Variable Name
: jlblKeliling
Komponen
: JLabel
Text
: Kelliling

jtxtLuas
Variable Name
: jtxtLuas
Komponen
: JTextField
Text
:0
Editable
: false
jtxtKeliling
Variable Name
: jtxtKeliling
Komponen
: JTextField
Text
:0
Editable
: false

Swing Project FrmPersegiPanjang (JInternalFrame)


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

Swing Project FrmBalok


(JInternalFrame)

Buat Latihan Yaaaaaa

Swing Project FrmMain (Menghubungkan


Menu Dengan JInternalFrame)

Buat Instance Untuk Setiap Form Pada FrmMain

Swing Project FrmMain (Menghubungkan


Menu Dengan JInternalFrame)

Lets Rock Swing

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

J2EE (Enterprise Edition)

Web

J2EE JSP (Menggunakan Objek-Objek


RuangBangun)

J2EE JSP (Menggunakan Objek-Objek


RuangBangun) Create Project
1

J2EE JSP (Menggunakan Objek-Objek


RuangBangun) Titik.jsp

J2EE JSP (Menggunakan Objek-Objek RuangBangun)


PersegiPanjang.jsp

J2EE JSP (Menggunakan ObjekObjek RuangBangun) Balok.jsp

BUAT LATIHAN YAA

J2EE JSP (Menggunakan Objek-Objek


RuangBangun) index.jsp

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun)

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) Create Project
1

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) TitikSrv.java

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) TitikSrv.java

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) PersegiPanjangSrv.java

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) PersegiPanjangSrv.java

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) BalokSrv.java

BUAT LATIHAN YA

J2EE Servlet (Menggunakan Objek-Objek


RuangBangun) index.jsp

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.

J2EE MVC Create Project


1

J2EE MVC Titik.jsp

J2EE MVC TitikSrv.java

J2EE MVC PersegiPanjang.jsp

J2EE MVC PersegiPanjangSrv.java

J2EE MVC Balok.jsp &


BalokSrv.java

BUAT LATIHAN YAA

J2EE MVC index.jsp

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

J2EE MVC JSTL - Titik.jsp

J2EE MVC JSTL - PersegiPanjang.jsp

J2EE MVC TitikSrv.java, PersegiPanjang.java,


BalokSrv.java, index.jsp

Sama Dengan Yang MVC

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

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).

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.

Table Mahasiswa
Database Mysql : belajar
Field

Tipe

Keterangan

Nim

Varchar(10)

Primary Key

Nama

Varchar(20)

Alamat

Varchar(100)

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)
);

Koneksi Ke Database

Koneksi Ke Database

Koneksi + CRUD (Create Read


Update Delete)

Koneksi + CRUD (Create Read


Update Delete)

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

Koneksi.java

Koneksi.java

Koneksi.java

Mahasiswa.java

MahasiswaCtrl.Java

MahasiswaCtrl.java

MahasiswaCtrl.java

MahasiwaCtrl.java

Lets Rock JDBC (Insert & Update)

Lets Rock JDBC (Lihat - List)

Lets Rock JDBC (Delete)

JPA (JAVA PERSISTANCE API)

DR. WINDU GATA, M. KOM

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

JPA (Java Persistance API)

JPA Persistance Unit

JPA Persistance Unit

JPA Persistance Unit

JPA Persistance Unit

JPA Persistance Unit

JPA Persistance Unit (XML)

JPA DATA (Model)

JPA DATA (Model)

JPA Data (Model Entity Classes)

JPA Data (Model Entity Classes)

JPA Data (Model Entity Classes)

JPA Data (Model Entity Class)

JPA Data (Model Entity Class)

JPA Control

JPA - Control

JPA - Control

JPA - Control

JPA Control

JPA - Control

JPA - Control

JPA - Control

Lets Rock JPA - Insert

Lets Rock JPA - Update

Lets Rock JPA - List

Lets Rock JPA - Delete

JPA MahasiswaJpaController.java

Tambahkan

Lets Rock JPA - FIND

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

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql + JPA

Java Swing (JFRAME) + Mysql

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

Java Web (J2EE) + JPA + Mysql

Java Web (J2EE) + JPA + Mysql

Java Web (J2EE) + JPA + Mysql

Java Web (J2EE) + JPA + Mysql - PU

Java Web (J2EE) + JPA + Mysql - PU

Java Web (J2EE) + JPA + Mysql - PU

Java Web (J2EE) + JPA + Mysql - PU

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Entity

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

Java Web (J2EE) + JPA + Mysql - Control

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

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

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

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

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

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

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

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

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

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

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

Lets Rock WEB JPA