162
EKSPLORASI BAHASA PEMROGRAMAN JAVA Windu Gata, MKom 11|publicclass Titik extends Bentuk{ 12| private int x; 13| private in t y; 14| 15| public Titik(){ 16| } 17| 18| public intgetX(){ 19| returnx; 20| } 21| 22| public voidsetX(in tx) { 23| this.x = x; 24| } 25| 26| public intgetY(){ 27| returny; 28| } 29| 30| public voidsetY(in ty) { 31| this.y= y; 32| }

Eksplorasi Java 06012014

Embed Size (px)

Citation preview

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 1/162

EKSPLORASI BAHASA PEMROGRAMAN JAVA

Windu Gata, MKom

11|publicclass Titik extends Bentuk{12| private int x;13| private int y;14|15| public Titik(){16| }17|18| public intgetX(){

19| returnx;

20| }

21|22| public voidsetX(intx) {

23| this.x = x;

24| }

25|26| public intgetY(){27| returny;

28| }

29|30| public voidsetY(inty) {

31| this.y= y;

32| }

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 2/162

Profile

Windu Gata, MKom

Pendidikan

S1 - Teknik Informatika, STMIK Budi Luhur

S2 - Magister Komputer, Universitas Budi Luhur

S3 - Manajemen Pendidikan, Universitas Negeri

Jakarta (On Going – Lagi Desertasi Nih … DoainYah)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 3/162

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 danUniversitas Budi Luhur untuk mata kuliah OOP, Web Engineering,Software Engineering

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 4/162

Karya : Buku

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 5/162

Bahasa Pemrograman Java

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

Mending Nongkrong

Khayalan Tingkat Tinggi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 6/162

Bahasa Pemrograman Java

Bahasa Pemrograman Java HanyalahPerangkat Bantu Seperti BahasaPemrograman Lainnya YangDigunakan Untuk MembangunAplikasi .

Seperti Peralatan, Hanya DenganDipelajari Caranya, Lalu Gunakan.

Seni

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 7/162

Bahasa Pemrograman Java

Java adalah bahasa pemrograman dan platfomkomputer yang dikeluarkan oleh Sun Microsystemstahun 1995 dan sekarang telah dimiliki oleh Oracle.Teknologi berseni yang mendukung programutilitas, permainan dan aplikasi bisnis.

Java telah digunakan lebih dari 850 juta komputerdiseluruh dunia termasuk perangkat bergerak danperangkat TV. (http://java.com)

Pemrograman Berorientasi Objek

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 8/162

KenapaBahasa 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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 9/162

JAVA

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 10/162

Tipe Pengembangan Java

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 11/162

Tipe Data Java (Primitive)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 12/162

 Arithmetic

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 13/162

Kondisi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 14/162

Karakter Escape

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 15/162

LOOP

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 16/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 17/162

Thread

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 18/162

Interface Class

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 19/162

Program Berorientasi Objek

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 20/162

Pattern MVC (Model ViewController)

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

sehingga ruangan (View) terang benderang karena sinar lampu

1. Masuk Ke Ruangan2. Menekan Saklar

3. Memberikan Listrik Ke Lampu

4. Dapatkan Cahaya5. Ruangan Terang

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 21/162

Java 2 SDK

S i

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 22/162

Swing

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 23/162

J2EE (Enterprise Edition)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 24/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 25/162

J2ME (Micro Edition)

Mobile

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 26/162

Mobile

J & D t b

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 27/162

Java & Database

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 28/162

Mysql + Swing

P Y B ik

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 29/162

Programmer Yang Baik

Anda harus mengetahui bagaimana caranya membaca Stack Trace . Saya tahu ini bukan prioritas (hanya menyedihkan), tapibeberapa 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 dapatmelayani 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, kemudianbuatlah 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 berjalanlambat. Developer yang baik dapat mengatasi profiler dan dapatkan jawaban.

Baca Spesifikasi. Sebuah keharusan setiap developer dapat membaca spesifikasi sebelum membuat program. Developer yang baikmembaca 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 mengasahkemampuan.

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 30/162

Let’s Rock 

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 31/162

Hello World

B

C

D E

 A

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 32/162

 A. Project

 Aplikasi yang akan kita buatsudah dinamakan sebagaiProject “HelloWorld” yang

ditempatkan secara default padaMyDocument\NetBeansProject\HelloWorld (windows). Di dalamprojek inilah kita akan

memasukkan source programJava.

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 33/162

B. Package

• Java package (Paket Java)merupakan sebuah mekanismeuntuk mengorganisasikan kelasdengan kata lain Paket Java

adalah modul java. Dalamsebuah sistem operasi kitamengenal package dengansebutan direktori atau path.

Dalam penulisannya paket javadituliskan dalam huruf kecil.

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 34/162

C. Class

• Penamaan file dari sebuah file java, padacontoh kasus ini adalah HelloWorld.java. PadaGambar C menunjukkan nama class, dalampemrograman Java apabila class tersebutmempunyai sifat “public “, maka nama classharus sama dengan nama file

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 35/162

D. Main

•  Apabila program java akan dijalankan, makadibutuhkan method static main

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 36/162

Tampilan Teks

Menampilkanteks padakomputer

Click Kanan

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 37/162

Clean And Build

• Clean : Menghapus Semua Kompalasi Class

• Build : Melakukan kompilasi Class

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 38/162

A ith ti

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 39/162

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

A ith ti

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 40/162

 Arithmetic

A ith ti

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 41/162

 Arithmetic

Obj t A ith ti

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 42/162

Object Arithmetic

Obj t A ith ti D M th d St ti

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 43/162

Object Arithmetic Dengan Method Static

Kondisi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 44/162

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

Kondisi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 45/162

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

IF (Model 1)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 46/162

IF (Model 1)

IF (model 2)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 47/162

IF (model 2)

Escape Karakter

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 48/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 49/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 50/162

Loop / Perulangan

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 51/162

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

LOOP

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 52/162

LOOP

Repeti t ion Statements in Java

Java provides three repetition statements (also calledlooping statements) that enable programsto perform statements repeatedly as long as a condition(called the loop-continuationcondition) remains true. The repetition statements are thewhile, do…while and for

statements.

Do While

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 53/162

Do While

While

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 54/162

While

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 55/162

For (Numerical 2 : Array)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 56/162

For (Numerical 2 : Array)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 57/162

For (Collection : Model Vector Element)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 58/162

For (Collection : Model Vector Element)

For (Collection : Model Vector)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 59/162

For (Collection : Model Vector)

For (Collection : Model ListArray)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 60/162

( y)

Error Exception

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 61/162

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

Error Exception

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 62/162

p

Waktu paling ideal untuk mendeteksi adanya kesalahan padaprogram (error) adalah saat kompilasi program. Namun tidaksemua 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 melakukanpencetakan dengan baik saat kondisi itu. Namun apabila mesincetak sedang dalam posisi off , maka program tidak dapatmelakukan pencetakan, kemudian mengirimkan sinyalkesalahan.

• Tangkap Sinyal Atau Dilewati

Error Exception

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 63/162

p

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 64/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 65/162

Thread

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 66/162

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

Thread

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 67/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 68/162

Thread - Single

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 69/162

Thread - Multi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 70/162

Jika ada modul A, modul B dan modul C yang dipanggil oleh main, makaproses yang terjadi adalah modul A akan diproses, kemudian tanpamenunggu proses modul A selesai, modul B dapat diproses, begitu puladengan modul C, tanpa menunggu proses modul A dan B selesai, modul Csudah dapat diproses.

Thread - Multi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 71/162

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

• Masing modul menjalankan kode atau scriptprogram secara berurutan

• Multithread sering pula disebut dengan

multiproses atau multitasking pada sistemoperasi.

Thread – Multi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 72/162

Thread – Multi (Priority)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 73/162

MIN_PRIORITY = 1,NORM_PRIORITY=5, MAX_PRIORITY=10

Thread - Inconsistent state

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 74/162

 Apabila objek account tersebut tidakmenggunakan synchronized, maka akan

terjadi inconsistent state

Thread – Class Account

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 75/162

Thread - Bentrok

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 76/162

Thread - Solusi

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 77/162

Interface Class

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 78/162

Windu Gata, MKom

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

Interface Classf

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 79/162

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

Setiap Boneka HarusDiberikan Tali Agar DapatDimainkan Oleh Pemain

Interface Class (TaliInt.java)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 80/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 81/162

BonekaPerempuan Implements TaliInt

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 82/162

Let’s Rock Interface 

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 83/162

Object Oriented Program

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 84/162

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

Program Berorientasi Objek

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 85/162

Kelas Mobil

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 86/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 87/162

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 pemrogramanSIMULA I yang dikembangkan oleh Ole-Johan Dahl dan Krsten Nygaarddari Norwegian Computing Centre di Oslo

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

Bahasa pemrograman OOP semakin berkembang dan mempengaruhibahasa 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 yangberparadigma objek seperti MS .Net dan java dari Sun Microsystem(sekarang telah diakusisi oleh Oracle).

Tujuan OOP

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 88/162

REUSABLE

Objek Bangun Datar dan RuangOBJECT

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 89/162

Objek Bangun Datar dan RuangCLASS DIAGRAM

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 90/162

Objek Bangun Datar dan Ruang

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 91/162

Objek

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 92/162

Objek

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 93/162

Transformasi Objek Ke Kelas (Bentuk)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 94/162

Transformasi Objek Ke Kelas (Titik)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 95/162

Transformasi Objek Ke Kelas (Titik)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 96/162

Transformasi Objek Ke Kelas (Persegi Panjang)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 97/162

Transformasi Objek Ke Kelas (Persegi Panjang)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 98/162

Transformasi Objek Ke Kelas (Persegi Panjang)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 99/162

Transformasi Objek Ke Kelas (Balok)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 101/162

Instance (variable) pp terbentuk dari konstruktorPersegipanjang() yang menggunakan konsep kelas

Persegipanjang

instance. An instance variable is similar to and contrasts with a class variable.

Objek Message Passing

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 102/162

Objek - Polimorphisme

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 103/162

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

Objek - Enkapsulasi

• Satu kesatuan dari variable dan

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 104/162

• Satu kesatuan dari variable dan

method yang terdapat pada objek.Dimana variable atau method yangdidalamnya dapat dispesifikasin ijinpenggunaannya.

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

 –  Public : variable atau method dapatdiakses oleh objek itu sendiri dan objeklainnya.

 –  Protected : variable dan method dapat

diakses oleh objek itu sendiri danturunannya

Pattern MVC (Model ViewController)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 105/162

Seseorang (Aktor ) masuk ke ruangan (View) gelap menekan saklar (Control) untukmenyalakan 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

MVC

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 106/162

FrmPersegiPanjang  berfungsi sebagai Tampilan (View) dan dapatmelakukan proses bisnis pada PersegiPanjangCtrl  (Control) yangmenggunakan kelas PersegiPanjang (Model)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 107/162

Controller (PersegiPanjangCtrl)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 108/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 109/162

Let’s Rock On Java

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 110/162

Java Swing – Menggunakan Objek Ruang Bangun

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 111/162

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

Java 2 SDK

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 112/162

Teknologi Java Desktop dapat digunakan untuk membuat aplikasi pengguna yang sangat bergunaserta applet dimana aplikasi tersebut cepat, aman dan mudah. Hampir secara keseluruhanteknologi yang ada pada java SE (JRE/Java Runtime Environment) 90% merupakan sistemDesktop untuk sebagian besar Sistem Operasi. NetBeans IDE merupakan editor yangmengintegrasikan perangkat alat bantu GUI (Grafik User Interface) yang memudahkan untukmembangung aplikasi Desktop.Dalam penggunaannya Java Desktop menggunakan Swing APIyang terdiri dari komponen-komponen GUI guna membangun aplikasi berkualitas dari sisi internetmaupun intranet. Di dalam Swing kita dapat menemukan komponen-komponen sepertiJavaBeans, AWT, java2D, accessibility, dan Internationalization

Swing Framework

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 113/162

Swing

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 114/162

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 makapengguna dapat mengisi nilai X dan Y. Pada form FrmPersegiPanjang yang dapatmempunyail layaran tampilan untuk memasukkan nilai X, Y, lebar dan panjang dengankeluaran luas dan keliling. Sedang layar tampilan FrmBalok dapat digunakan untukmelakukan masudkan data X, Y, lebar, panjang dan tinggi dengan keluaran volume.

Swing Project - RuangBangunDekstop

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 115/162

Swing Project - Library

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 116/162

PASTIKAN PROJECT RuangBangun sudah di CLEAN AND BUILD

12

Swing Project – FrmMain (JFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 117/162

Swing Project – FrmTitik (JInternalFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 118/162

 jlblX

Swing Project – FrmTitik (JInternalFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 119/162

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

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 120/162

Swing Project – FrmPersegiPanjang(JInternalFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 121/162

Swing Project – FrmPersegiPanjang(JInternalFrame)

FrmPersegiPanjangVariable Name : FrmPersegiPanjangKomponen : JFrameTitle : Form Persegi Panjang

 jbtnHitung

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 122/162

Form Policy : Generate Resize CodeForm Policy ada pada kolom Code 

 jlblPanjangVariable Name : jlblPanjangKomponen : JLabelText : Nilai Panjang

 jtxtPanjangVariable Name : jtxtPanjangKomponen : JTextFieldText : 0

 jlblLebarVariable Name : jlblLebarKomponen : JLabel

Text : Nilai Lebar

 jtxtLebarVariable Name : jtxtLebar

Komponen : JTextFieldText : 0

Variable Name : jbtnHitungKomponen : JButtonText : Hitung

 jlblLuasVariable Name : jlblLuasKomponen : JLabelText : Luas

 jlblKelilingVariable Name : jlblKelilingKomponen : JLabelText : Kelliling

 jtxtLuasVariable Name : jtxtLuasKomponen : JTextFieldText : 0

Editable : false

 jtxtKelilingVariable Name : jtxtKelilingKomponen : JTextFieldText : 0Editable : false

Swing Project – FrmPersegiPanjang (JInternalFrame)

Kalau ada Warning (Lampu KuningDi Kiri) .. Jangan Panik, klik padalampu dan add import

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 123/162

Swing Project – FrmBalok(JInternalFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 124/162

Buat Latihan Yaaaaaa

Swing Project – FrmMain (MenghubungkanMenu Dengan JInternalFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 125/162

Buat Instance Untuk Setiap Form Pada FrmMain

Swing Project – FrmMain (MenghubungkanMenu Dengan JInternalFrame)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 126/162

Let’s Rock Swing 

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 127/162

Java Web – Menggunakan Objek Ruang Bangun

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 128/162

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

J2EE (Enterprise Edition)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 129/162

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 130/162

J2EE – JSP (Menggunakan Objek-ObjekRuangBangun)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 131/162

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

1 2 3

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 132/162

4 5 6

7

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 133/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 134/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 135/162

BUAT LATIHAN YAA………… 

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 136/162

J2EE – Servlet (Menggunakan Objek-ObjekRuangBangun)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 137/162

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

1 2 3

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 138/162

4 5 6

7

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 139/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 140/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 141/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 142/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 143/162

BUAT LATIHAN YA …… 

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 144/162

J2EE - MVC

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 145/162

JEE  mendukung pattern MVC, yaitu Model View Controller . Model  yang

dimaksud adalah objek kelas yang berhubungan dengan data, View merupakanlayer tampilan yang dilakukan oleh JSP  dan Controller  untuk mengontrol logikabisnis dalam web, dalam hal ini dilakukan oleh servlet.

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 146/162

J2EE – MVC – Titik.jsp

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 147/162

J2EE – MVC – TitikSrv.java

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 148/162

J2EE – MVC – PersegiPanjang.jsp

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 149/162

J2EE – MVC – PersegiPanjangSrv.java

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 150/162

J2EE – MVC – Balok.jsp &BalokSrv.java

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 151/162

BUAT LATIHAN YAA …… 

J2EE – MVC – index.jsp

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 152/162

J2EE – MVC + JSTL

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 153/162

JavaServer Pages Standard Tag Library

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

J2EE – MVC – JSTL - Titik.jsp

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 154/162

J2EE – MVC – JSTL - PersegiPanjang.jsp

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 155/162

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

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 156/162

Sama Dengan Yang MVC

Java 2ME – Menggunakan Objek Ruang Bangun

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 157/162

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

J2ME (Micro Edition)

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 158/162

Mobile

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 159/162

Java + Mysql

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 160/162

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

Java & Database

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 161/162

Mysql + Swing

8/13/2019 Eksplorasi Java 06012014

http://slidepdf.com/reader/full/eksplorasi-java-06012014 162/162