Eksplorasi Java 08012014

Embed Size (px)

Citation preview

  • 8/13/2019 Eksplorasi Java 08012014

    1/201

    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 08012014

    2/201

    Profile

    Windu Gata, MKom

    Pendidikan

    S1 - Teknik Informatika, STMIK Budi Luhur

    S2 - Magister Komputer, Universitas Budi Luhur

    S3 - Manajemen Pendidikan, Universitas Negeri

    Jakarta (On GoingLagi Desertasi Nih DoainYah)

  • 8/13/2019 Eksplorasi Java 08012014

    3/201

    Karir

    1996Sales Komputer 1997Operator Input Data SEAGAMES dan Junior Programmer

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

    2001 s/d SekarangKonsultan IT dan Pengajar Lepas

    2003 s/d SekarangDosen untuk mata kuliah Analisa & Perancangan,Bahasa Pemrograman, Database, dan MobileUniversitas Budi Luhur

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

    2007 s/d 2008Team Leader, Jawasoft

    2008 s/d SekarangDosen Pasca Sarjana STMIK Nusa Mandiri danUniversitas Budi Luhur untuk mata kuliah OOP, Web Engineering,Software Engineering

    2008 s/d SekarangSystem Solution Manager, Marthatilaar Group

  • 8/13/2019 Eksplorasi Java 08012014

    4/201

    Karya : Buku

  • 8/13/2019 Eksplorasi Java 08012014

    5/201

    Bahasa Pemrograman Java

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

    Mending Nongkrong

    Khayalan Tingkat Tinggi

  • 8/13/2019 Eksplorasi Java 08012014

    6/201

    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 08012014

    7/201

    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 08012014

    8/201

    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 08012014

    9/201

    JAVA

  • 8/13/2019 Eksplorasi Java 08012014

    10/201

    Tipe Pengembangan Java

  • 8/13/2019 Eksplorasi Java 08012014

    11/201

    Tipe Data Java (Primitive)

  • 8/13/2019 Eksplorasi Java 08012014

    12/201

    Arithmetic

  • 8/13/2019 Eksplorasi Java 08012014

    13/201

    Kondisi

  • 8/13/2019 Eksplorasi Java 08012014

    14/201

    Karakter Escape

  • 8/13/2019 Eksplorasi Java 08012014

    15/201

    LOOP

  • 8/13/2019 Eksplorasi Java 08012014

    16/201

    Error Exception

  • 8/13/2019 Eksplorasi Java 08012014

    17/201

    Thread

  • 8/13/2019 Eksplorasi Java 08012014

    18/201

    Interface Class

  • 8/13/2019 Eksplorasi Java 08012014

    19/201

    Program Berorientasi Objek

  • 8/13/2019 Eksplorasi Java 08012014

    20/201

    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 08012014

    21/201

    Java 2 SDK

    S i

  • 8/13/2019 Eksplorasi Java 08012014

    22/201

    Swing

  • 8/13/2019 Eksplorasi Java 08012014

    23/201

    J2EE (Enterprise Edition)

    W b

  • 8/13/2019 Eksplorasi Java 08012014

    24/201

    Web

  • 8/13/2019 Eksplorasi Java 08012014

    25/201

    J2ME (Micro Edition)

    Mobile

  • 8/13/2019 Eksplorasi Java 08012014

    26/201

    Mobile

    J & D t b

  • 8/13/2019 Eksplorasi Java 08012014

    27/201

    Java & Database

  • 8/13/2019 Eksplorasi Java 08012014

    28/201

    Mysql + Swing

    P Y B ik

  • 8/13/2019 Eksplorasi Java 08012014

    29/201

    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 08012014

    30/201

    Lets 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 08012014

    31/201

    Hello World

    B

    C

    D E

    A

  • 8/13/2019 Eksplorasi Java 08012014

    32/201

    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 08012014

    33/201

    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 08012014

    34/201

    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 08012014

    35/201

    D. Main

    Apabila program java akan dijalankan, makadibutuhkan method static main

  • 8/13/2019 Eksplorasi Java 08012014

    36/201

    Tampilan Teks

    Menampilkanteks padakomputer

    Click Kanan

  • 8/13/2019 Eksplorasi Java 08012014

    37/201

    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 08012014

    38/201

    Run Command

    A ith ti

  • 8/13/2019 Eksplorasi Java 08012014

    39/201

    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 08012014

    40/201

    Arithmetic

    A ith ti

  • 8/13/2019 Eksplorasi Java 08012014

    41/201

    Arithmetic

    Obj t A ith ti

  • 8/13/2019 Eksplorasi Java 08012014

    42/201

    Object Arithmetic

    Obj t A ith ti D M th d St ti

  • 8/13/2019 Eksplorasi Java 08012014

    43/201

    Object Arithmetic Dengan Method Static

    Kondisi

  • 8/13/2019 Eksplorasi Java 08012014

    44/201

    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 08012014

    45/201

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

    IF (Model 1)

  • 8/13/2019 Eksplorasi Java 08012014

    46/201

    IF (Model 1)

    IF (model 2)

  • 8/13/2019 Eksplorasi Java 08012014

    47/201

    IF (model 2)

    Escape Karakter

  • 8/13/2019 Eksplorasi Java 08012014

    48/201

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

    Karakter Escape

  • 8/13/2019 Eksplorasi Java 08012014

    49/201

    Karakter Escape

    Karakter Escape

  • 8/13/2019 Eksplorasi Java 08012014

    50/201

    Karakter Escape

    Loop / Perulangan

  • 8/13/2019 Eksplorasi Java 08012014

    51/201

    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 08012014

    52/201

    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, dowhile and for

    statements.

    Do While

  • 8/13/2019 Eksplorasi Java 08012014

    53/201

    Do While

    While

  • 8/13/2019 Eksplorasi Java 08012014

    54/201

    While

    For (Numerical 1)

  • 8/13/2019 Eksplorasi Java 08012014

    55/201

    For (Numerical 1)

    For (Numerical 2 : Array)

  • 8/13/2019 Eksplorasi Java 08012014

    56/201

    For (Numerical 2 : Array)

    For (Collection : Array)

  • 8/13/2019 Eksplorasi Java 08012014

    57/201

    For (Collection : Array)

    For (Collection : Model Vector Element)

  • 8/13/2019 Eksplorasi Java 08012014

    58/201

    For (Collection : Model Vector Element)

    For (Collection : Model Vector)

  • 8/13/2019 Eksplorasi Java 08012014

    59/201

    For (Collection : Model Vector)

    For (Collection : Model ListArray)

  • 8/13/2019 Eksplorasi Java 08012014

    60/201

    ( y)

    Error Exception

  • 8/13/2019 Eksplorasi Java 08012014

    61/201

    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 08012014

    62/201

    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 atauprinter 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 08012014

    63/201

    p

    Error Exception - Rethrowing

  • 8/13/2019 Eksplorasi Java 08012014

    64/201

    p g

    Error Exception - Finally

  • 8/13/2019 Eksplorasi Java 08012014

    65/201

    p y

    Thread

  • 8/13/2019 Eksplorasi Java 08012014

    66/201

    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 08012014

    67/201

    Thread - Single

  • 8/13/2019 Eksplorasi Java 08012014

    68/201

    Pada pemrograman yang terstruktur, pengembang program melakukanpemanggilan modul secara berurutan. Maksudnya adalah jika ada ada tiga

    modul, yaitu modul A, modul B, dan modul C maka modul utama akanmemanggil sesuai urutannya.

    Modul utama memanggil modul A kemudian memanggil modul B, lalumemanggil modul C, yang berarti setelah modul A selesai diproses, makamodul B akan diproses kemudian baru modul C.

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

  • 8/13/2019 Eksplorasi Java 08012014

    69/201

    Thread - Multi

  • 8/13/2019 Eksplorasi Java 08012014

    70/201

    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 08012014

    71/201

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

    Masing modul menjalankan kode atau scriptprogram secara berurutan

    Multithread sering pula disebut dengan

    multiproses atau multitasking pada sistemoperasi.

    ThreadMulti

  • 8/13/2019 Eksplorasi Java 08012014

    72/201

    ThreadMulti (Priority)

  • 8/13/2019 Eksplorasi Java 08012014

    73/201

    MIN_PRIORITY = 1,NORM_PRIORITY=5, MAX_PRIORITY=10

    Thread - Inconsistent state

  • 8/13/2019 Eksplorasi Java 08012014

    74/201

    Apabila objek account tersebut tidakmenggunakan synchronized, maka akan

    terjadi inconsistent state

    ThreadClass Account

  • 8/13/2019 Eksplorasi Java 08012014

    75/201

    Thread - Bentrok

  • 8/13/2019 Eksplorasi Java 08012014

    76/201

    Thread - Solusi

  • 8/13/2019 Eksplorasi Java 08012014

    77/201

    Interface Class

  • 8/13/2019 Eksplorasi Java 08012014

    78/201

    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 08012014

    79/201

    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 08012014

    80/201

    BonekaLaki Implements TaliInt

  • 8/13/2019 Eksplorasi Java 08012014

    81/201

    BonekaPerempuan Implements TaliInt

  • 8/13/2019 Eksplorasi Java 08012014

    82/201

    Lets Rock Interface

  • 8/13/2019 Eksplorasi Java 08012014

    83/201

    Object Oriented Program

  • 8/13/2019 Eksplorasi Java 08012014

    84/201

    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 08012014

    85/201

    Kelas Mobil

  • 8/13/2019 Eksplorasi Java 08012014

    86/201

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

  • 8/13/2019 Eksplorasi Java 08012014

    87/201

    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 08012014

    88/201

    REUSABLE

    Objek Bangun Datar dan RuangOBJECT

  • 8/13/2019 Eksplorasi Java 08012014

    89/201

    Objek Bangun Datar dan RuangCLASS DIAGRAM

  • 8/13/2019 Eksplorasi Java 08012014

    90/201

    Objek Bangun Datar dan Ruang

  • 8/13/2019 Eksplorasi Java 08012014

    91/201

    Objek

  • 8/13/2019 Eksplorasi Java 08012014

    92/201

    Objek

  • 8/13/2019 Eksplorasi Java 08012014

    93/201

    Transformasi Objek Ke Kelas (Bentuk)

  • 8/13/2019 Eksplorasi Java 08012014

    94/201

    Transformasi Objek Ke Kelas (Titik)

  • 8/13/2019 Eksplorasi Java 08012014

    95/201

    Transformasi Objek Ke Kelas (Persegi Panjang)

  • 8/13/2019 Eksplorasi Java 08012014

    96/201

    Transformasi Objek Ke Kelas (Balok)

  • 8/13/2019 Eksplorasi Java 08012014

    97/201

    Objek - InstanceIn object-oriented programming, an instance variableis a variabledefined in a class(i.e. a member variable), for which each objectof the class has a separate copy, orinstance An instance variable is similar to and contrasts with a class variable

    http://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Variable_(programming)http://en.wikipedia.org/wiki/Member_variablehttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Class_variablehttp://en.wikipedia.org/wiki/Class_variablehttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Member_variablehttp://en.wikipedia.org/wiki/Variable_(programming)http://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Object-oriented_programming
  • 8/13/2019 Eksplorasi Java 08012014

    98/201

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

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

    Objek Message Passing

    http://en.wikipedia.org/wiki/Class_variablehttp://en.wikipedia.org/wiki/Class_variable
  • 8/13/2019 Eksplorasi Java 08012014

    99/201

    Objek - Polimorphisme

  • 8/13/2019 Eksplorasi Java 08012014

    100/201

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

    Objek - Enkapsulasi

    S t k t d i i bl d

  • 8/13/2019 Eksplorasi Java 08012014

    101/201

    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

  • 8/13/2019 Eksplorasi Java 08012014

    102/201

    MVC

  • 8/13/2019 Eksplorasi Java 08012014

    103/201

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

  • 8/13/2019 Eksplorasi Java 08012014

    104/201

    Controller (PersegiPanjangCtrl)

  • 8/13/2019 Eksplorasi Java 08012014

    105/201

    Controller (BalokCtrl)

  • 8/13/2019 Eksplorasi Java 08012014

    106/201

    Lets Rock On Java

  • 8/13/2019 Eksplorasi Java 08012014

    107/201

    Java SwingMenggunakan Objek Ruang Bangun

  • 8/13/2019 Eksplorasi Java 08012014

    108/201

    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 08012014

    109/201

    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 08012014

    110/201

    Swing

  • 8/13/2019 Eksplorasi Java 08012014

    111/201

    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 08012014

    112/201

    Swing Project - Library

  • 8/13/2019 Eksplorasi Java 08012014

    113/201

    PASTIKAN PROJECT RuangBangun sudah di CLEAN AND BUILD

    12

    Swing ProjectFrmMain (JFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    114/201

    Swing ProjectFrmTitik (JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    115/201

    jlblX

    Swing ProjectFrmTitik (JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    116/201

    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 ProjectFrmTitik(JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    117/201

    Swing ProjectFrmPersegiPanjang(JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    118/201

  • 8/13/2019 Eksplorasi Java 08012014

    119/201

    Swing ProjectFrmPersegiPanjang (JInternalFrame)

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

  • 8/13/2019 Eksplorasi Java 08012014

    120/201

    Swing ProjectFrmBalok(JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    121/201

    Buat Latihan Yaaaaaa

    Swing ProjectFrmMain (MenghubungkanMenu Dengan JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    122/201

    Buat Instance Untuk Setiap Form Pada FrmMain

    Swing ProjectFrmMain (MenghubungkanMenu Dengan JInternalFrame)

  • 8/13/2019 Eksplorasi Java 08012014

    123/201

  • 8/13/2019 Eksplorasi Java 08012014

    124/201

    Java WebMenggunakan Objek Ruang Bangun

  • 8/13/2019 Eksplorasi Java 08012014

    125/201

    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 08012014

    126/201

    Web

  • 8/13/2019 Eksplorasi Java 08012014

    127/201

    J2EEJSP (Menggunakan Objek-ObjekRuangBangun)

  • 8/13/2019 Eksplorasi Java 08012014

    128/201

    J2EEJSP (Menggunakan Objek-ObjekRuangBangun)Create Project

    1 2 3

  • 8/13/2019 Eksplorasi Java 08012014

    129/201

    45 6

    7

    J2EEJSP (Menggunakan Objek-ObjekRuangBangun)Titik.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    130/201

    J2EEJSP (Menggunakan Objek-Objek RuangBangun)PersegiPanjang.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    131/201

    J2EEJSP (Menggunakan Objek-Objek RuangBangun)Balok.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    132/201

    BUAT LATIHAN YAA

    J2EEJSP (Menggunakan Objek-ObjekRuangBangun)index.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    133/201

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)

  • 8/13/2019 Eksplorasi Java 08012014

    134/201

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)Create Project

    1 2 3

  • 8/13/2019 Eksplorasi Java 08012014

    135/201

    4 5 6

    7

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)TitikSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    136/201

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)TitikSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    137/201

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)PersegiPanjangSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    138/201

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)PersegiPanjangSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    139/201

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)BalokSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    140/201

    BUAT LATIHAN YA

    J2EEServlet (Menggunakan Objek-ObjekRuangBangun)index.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    141/201

    J2EE - MVC

  • 8/13/2019 Eksplorasi Java 08012014

    142/201

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

    dimaksud adalah objek kelas yang berhubungan dengan data, Viewmerupakanlayer tampilan yang dilakukan oleh JSP dan Controlleruntuk mengontrol logikabisnis dalam web, dalam hal ini dilakukan oleh servlet.

    J2EEMVCCreate Project1 2 3

  • 8/13/2019 Eksplorasi Java 08012014

    143/201

    4 5 6

    7

    J2EEMVCTitik.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    144/201

    J2EEMVCTitikSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    145/201

  • 8/13/2019 Eksplorasi Java 08012014

    146/201

    J2EEMVCPersegiPanjangSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    147/201

    J2EEMVCBalok.jsp &BalokSrv.java

  • 8/13/2019 Eksplorasi Java 08012014

    148/201

    BUAT LATIHAN YAA

    J2EEMVCindex.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    149/201

    J2EEMVC + JSTL

  • 8/13/2019 Eksplorasi Java 08012014

    150/201

    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

    J2EEMVCJSTL - Titik.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    151/201

    J2EEMVCJSTL - PersegiPanjang.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    152/201

    J2EEMVCTitikSrv.java, PersegiPanjang.java,BalokSrv.java, index.jsp

  • 8/13/2019 Eksplorasi Java 08012014

    153/201

    Sama Dengan Yang MVC

    Java 2MEMenggunakan Objek Ruang Bangun

  • 8/13/2019 Eksplorasi Java 08012014

    154/201

    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 08012014

    155/201

    Mobile

  • 8/13/2019 Eksplorasi Java 08012014

    156/201

    Java + Mysql

  • 8/13/2019 Eksplorasi Java 08012014

    157/201

    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 08012014

    158/201

    Pengertian dari database adalah sekumpulan informasi yang terorganisirsehingga mudah diakses dan kelola. Dimana database tersebut dapat menyimpaninformasi dengan tipe data String, Numerik, Date, dan tipe data lainnya. Untuk

    melakukan perintah manipulasi data, user dapat menggunakan bahasa StructureQuery Language (SQL).

    Java & Database

  • 8/13/2019 Eksplorasi Java 08012014

    159/201

    Berbagai macam database yang telah ada dalam dunia aplikasi adalah sepertiOracle, DB2, MySql, dan lain-lain. Pada buku ini, yang dibahas adalah bagaimanabahasa pemrograman Java dapat berinteraksi dengan database MySql dengan

    menggunakan database connector (JDBC) dengan konsep Object.

    Koneksi Ke Database

  • 8/13/2019 Eksplorasi Java 08012014

    160/201

    Koneksi Ke Database

  • 8/13/2019 Eksplorasi Java 08012014

    161/201

    Table Mahasiswa

    Field Tipe Keterangan

    Database Mysql : Belajar

  • 8/13/2019 Eksplorasi Java 08012014

    162/201

    Nim Varchar(10) Primary KeyNama Varchar(20)Alamat Varchar(100)

    CREATE TABLE `mahasiswa` (`Nim` varchar(10) NOT NULL,`Nama` varchar(25) DEFAULT NULL,

    `Alamat` varchar(100) DEFAULT NULL,PRIMARY KEY (`Nim`)) ;

    Koneksi.java

  • 8/13/2019 Eksplorasi Java 08012014

    163/201

    Koneksi.java

  • 8/13/2019 Eksplorasi Java 08012014

    164/201

    Koneksi.java

  • 8/13/2019 Eksplorasi Java 08012014

    165/201

    Mahasiswa.java

  • 8/13/2019 Eksplorasi Java 08012014

    166/201

    MahasiswaCtrl.Java

  • 8/13/2019 Eksplorasi Java 08012014

    167/201

    MahasiswaCtrl.java

  • 8/13/2019 Eksplorasi Java 08012014

    168/201

    MahasiswaCtrl.java

  • 8/13/2019 Eksplorasi Java 08012014

    169/201

    MahasiwaCtrl.java

  • 8/13/2019 Eksplorasi Java 08012014

    170/201

    Lets Rock JDBC (Insert & Update)

  • 8/13/2019 Eksplorasi Java 08012014

    171/201

    Lets Rock JDBC (Lihat - List)

  • 8/13/2019 Eksplorasi Java 08012014

    172/201

    Lets Rock JDBC (Delete)

  • 8/13/2019 Eksplorasi Java 08012014

    173/201

    JPA (Java Persistance API)

    The Java Persistence API, sometimes referred to as JPA, is a Java programminglanguage application programming interface specification which describes themanagement of relational data in applications using Java Platform, Standard Edition

  • 8/13/2019 Eksplorasi Java 08012014

    174/201

    and Java Platform, Enterprise Edition.

    The Java Persistence API originated as part of the work of the JSR 220 Expert Groupof 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)

  • 8/13/2019 Eksplorasi Java 08012014

    175/201

    JPAPersistance Unit

  • 8/13/2019 Eksplorasi Java 08012014

    176/201

    JPAPersistance Unit

  • 8/13/2019 Eksplorasi Java 08012014

    177/201

    JPAPersistance Unit

  • 8/13/2019 Eksplorasi Java 08012014

    178/201

    JPAPersistance Unit

  • 8/13/2019 Eksplorasi Java 08012014

    179/201

    JPAPersistance Unit

  • 8/13/2019 Eksplorasi Java 08012014

    180/201

    JPAPersistance Unit (XML)

  • 8/13/2019 Eksplorasi Java 08012014

    181/201

    JPADATA (Model)

  • 8/13/2019 Eksplorasi Java 08012014

    182/201

    JPADATA (Model)

  • 8/13/2019 Eksplorasi Java 08012014

    183/201

    JPAData (ModelEntity Classes)

  • 8/13/2019 Eksplorasi Java 08012014

    184/201

    JPAData (ModelEntity Classes)

  • 8/13/2019 Eksplorasi Java 08012014

    185/201

  • 8/13/2019 Eksplorasi Java 08012014

    186/201

    JPAData (ModelEntity Class)

  • 8/13/2019 Eksplorasi Java 08012014

    187/201

    JPAData (ModelEntity Class)

  • 8/13/2019 Eksplorasi Java 08012014

    188/201

    JPAControl

  • 8/13/2019 Eksplorasi Java 08012014

    189/201

    JPA - Control

  • 8/13/2019 Eksplorasi Java 08012014

    190/201

    JPA - Control

  • 8/13/2019 Eksplorasi Java 08012014

    191/201

    JPA - Control

  • 8/13/2019 Eksplorasi Java 08012014

    192/201

    JPAControl

  • 8/13/2019 Eksplorasi Java 08012014

    193/201

    JPA - Control

  • 8/13/2019 Eksplorasi Java 08012014

    194/201

    JPA - Control

  • 8/13/2019 Eksplorasi Java 08012014

    195/201

    JPA - Control

  • 8/13/2019 Eksplorasi Java 08012014

    196/201

    Lets Rock JPA - Insert

  • 8/13/2019 Eksplorasi Java 08012014

    197/201

    Lets Rock JPA - Update

  • 8/13/2019 Eksplorasi Java 08012014

    198/201

    Lets Rock JPA - List

  • 8/13/2019 Eksplorasi Java 08012014

    199/201

    Lets Rock JPA - Delete

  • 8/13/2019 Eksplorasi Java 08012014

    200/201

    Mysql + Swing

  • 8/13/2019 Eksplorasi Java 08012014

    201/201