eksplorasi java

109
EKSPLORASI BAHASA PEMROGRAMAN JAVA 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| }

Upload: windu-gata

Post on 31-Dec-2015

188 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Eksplorasi Java

EKSPLORASI BAHASA PEMROGRAMAN JAVA

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

Page 2: Eksplorasi Java

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)

Page 3: Eksplorasi Java

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

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

Bahasa Pemrograman Java

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

Mending Nongkrong

KHayalan Tingkat Tinggi

Page 5: Eksplorasi Java

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 6: Eksplorasi Java

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. (http://java.com)

Pemrograman Berorientasi Objek

Page 7: Eksplorasi Java

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 8: Eksplorasi Java

JAVA

Page 9: Eksplorasi Java

Tipe Pengembangan Java

Page 10: Eksplorasi Java

Tipe Data Java (Primitive)

Page 11: Eksplorasi Java

Arithmetic

Page 12: Eksplorasi Java

Kondisi

Page 13: Eksplorasi Java

Karakter Escape

Page 14: Eksplorasi Java

LOOP

Page 15: Eksplorasi Java

Error Exception

Page 16: Eksplorasi Java

Thread

Page 17: Eksplorasi Java

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 18: Eksplorasi Java

Tujuan OOP

Page 19: Eksplorasi Java

Program Berorientasi Objek

Page 20: Eksplorasi Java

Objek Bangun Datar dan RuangOBJECT

Page 21: Eksplorasi Java

Objek Bangun Datar dan RuangCLASS DIAGRAM

Page 22: Eksplorasi Java

Objek Bangun Datar dan Ruang

Page 23: Eksplorasi Java

Objek

Page 24: Eksplorasi Java

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 25: Eksplorasi Java
Page 26: Eksplorasi Java

Swing

Page 27: Eksplorasi Java

Web

Page 28: Eksplorasi Java

Mobile

Page 29: Eksplorasi Java

Java & Database

Page 30: Eksplorasi Java

Mysql + Swing

Page 31: Eksplorasi Java

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 32: Eksplorasi Java

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

Page 33: Eksplorasi Java

Hello World

B

C

D E

A

Page 34: Eksplorasi Java

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 35: Eksplorasi 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.

Page 36: Eksplorasi Java

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 37: Eksplorasi Java

D. Main

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

Page 38: Eksplorasi Java

Tampilan Teks

Menampilkan teks pada komputer

Click Kanan

Page 39: Eksplorasi Java

Clean And Build• Clean : Menghapus Semua Kompalasi Class

• Build : Melakukan kompilasi Class

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

Page 40: Eksplorasi Java

Run Command

Page 41: Eksplorasi Java

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

Page 42: Eksplorasi Java

Arithmetic

Page 43: Eksplorasi Java

Arithmetic

Page 44: Eksplorasi Java

Object Arithmetic

Page 45: Eksplorasi Java

Object Arithmetic Dengan Method Static

Page 46: Eksplorasi Java

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

Page 47: Eksplorasi Java

Kondisi

Page 48: Eksplorasi Java

IF (Model 1)

Page 49: Eksplorasi Java

IF (model 2)

Page 50: Eksplorasi Java

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

Page 51: Eksplorasi Java

Karakter Escape

Page 52: Eksplorasi Java

Karakter Escape

Page 53: Eksplorasi Java

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

Page 54: Eksplorasi Java

LOOP

Page 55: Eksplorasi Java

Do While

Page 56: Eksplorasi Java

While

Page 57: Eksplorasi Java

For (Numerical 1)

Page 58: Eksplorasi Java

For (Numerical 2 : Array)

Page 59: Eksplorasi Java

For (Collection : Array)

Page 60: Eksplorasi Java

For (Collection : Model Vector Element)

Page 61: Eksplorasi Java

For (Collection : Model Vector)

Page 62: Eksplorasi Java

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

Page 63: Eksplorasi Java

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 64: Eksplorasi Java

Error Exception

Page 65: Eksplorasi Java

Error Exception - Rethrowing

Page 66: Eksplorasi Java

Error Exception - Finally

Page 67: Eksplorasi Java

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

Page 68: Eksplorasi Java

Thread

Page 69: Eksplorasi Java

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 70: Eksplorasi Java

Thread - Single

Page 71: Eksplorasi Java

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 72: Eksplorasi Java

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 73: Eksplorasi Java

Thread – Multi

Page 74: Eksplorasi Java

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

Page 75: Eksplorasi Java

Thread - Inconsistent state

Page 76: Eksplorasi Java

Thread – Class Account

Page 77: Eksplorasi Java

Thread - Bentrok

Page 78: Eksplorasi Java

Thread - Solusi

Page 79: Eksplorasi Java

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

Page 80: Eksplorasi Java

Program Berorientasi Objek

Page 81: Eksplorasi Java

Kelas Mobil

Page 82: Eksplorasi Java

Objek

Page 83: Eksplorasi Java

Transformasi Objek Ke Kelas (Bentuk)

Page 84: Eksplorasi Java

Transformasi Objek Ke Kelas (Bentuk)

Page 85: Eksplorasi Java

Transformasi Objek Ke Kelas (Titik)

Page 86: Eksplorasi Java

Transformasi Objek Ke Kelas (Titik)

Page 87: Eksplorasi Java

Transformasi Objek Ke Kelas (Persegi Panjang)

Page 88: Eksplorasi Java

Transformasi Objek Ke Kelas (Persegi Panjang)

Page 89: Eksplorasi Java

Transformasi Objek Ke Kelas (Persegi Panjang)

Page 90: Eksplorasi Java

Transformasi Objek Ke Kelas (Persegi Panjang)

Page 91: Eksplorasi Java

Transformasi Objek Ke Kelas (Balok)

Page 92: Eksplorasi Java

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 93: Eksplorasi Java

Objek Message Passing

Page 94: Eksplorasi Java

Objek - Polimorphisme

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

Page 95: Eksplorasi Java

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 96: Eksplorasi Java

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 97: Eksplorasi Java
Page 98: Eksplorasi Java

Controller (PersegiPanjangCtrl)

Page 99: Eksplorasi Java

Controller (BalokCtrl)

Page 100: Eksplorasi Java

Let’s Rock On Java

Page 101: Eksplorasi 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| }

Page 102: Eksplorasi Java

Swing

Page 103: Eksplorasi Java

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

Page 104: Eksplorasi Java

Web

Page 105: Eksplorasi Java

Java 2ME – 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| }

Page 106: Eksplorasi Java

Mobile

Page 107: Eksplorasi Java

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

Page 108: Eksplorasi Java

Java & Database

Page 109: Eksplorasi Java

Mysql + Swing