This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Selasa, 10 September 2013

Interface

Bab kali ini saya akan membahas tentang Interface pada java. Penggunaan interface pada java sangatlah penting. Pada pembuatan sebuah program, penggunaan interface sangat dianjurkan pada layer dalam aplikasi. Interface juga digunakan dalam best practice yang sering disebut dengan “code to interface” yang mana best practice menganjurkan dveloper untuk menggunakannya.

Interface adalah jenis khusus dari blok yang hanya berisi method signature (atau constant). Interface mendefinisikan sebuah (signature) dari sebuah kumpulan method tanpa tubuh. Interface mendefinisikan sebuah cara standar tentang sifat-sifat dari class-class. Mereka menyediakan class-class tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan-catatan bahwa interface-interface juga menunjukan polymorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang dieksekusi dari tipe object yang melewati pemanggil method interface – J.E.N.I.

Secara teknis bisa dikatakan bahwa interface adalah class yang bersifat abstract, semua method yang adalah public dan abstract. Berikut adalah aturan-aturan tentang interface :
  1. modifier default yatu public atau tidak ada sama sekali. Jika tidak menggunakan modifier maka interface tersebut hanya dapat diakses dalam package yang sama.
  2. Semua variabel yang didefinisikan dalam interface secara otomatis adalah static final. Karena itu dalam proses pendefinisiannya harus diberikana nilai.
  3. Semua method dalam interface bersifat (default) abstract. Adapun bedanya dengan class abstract adalah kita tidak perlu menuliskan keyword abstract pada saat pendeklarasian method dalam interface.
  4. Kita dapat mengimplementasikan lebih dari satu interface (multiple inheritance) dengan memisahkan nama dari setiap interface dengan tanda koma.
  5. Semua method yang diimplementasikan haruslah public
  6. jika suatu class tidak mengimplementasikan semua method yang ada dalam interface, maka class tersebut harus dideclarasikan sebagai absract class.
  7. Class yang mengimplementasikan sebuah interface haruslah menggunakan keyword “implements”
Lalu bagaimana kita membuat sebuah interface ? Pada proses pembuatan interface, kita hanya harus menggunakan keyword “interface” diikuti dengan nama interface. Adapun contohnya  yaitu :


interface Supplier {}

Interface biasanya digunakan sebagai “kontrak” agar class yang mengimplementasikan interface dapat memiliki semua method yang didefinisikan dalam interface tersebut, tetapi kita tidak ingin mengekspos implementasinya.

Untuk lebih jelasnya saya akan mengambil contoh pada dunia nyata. Misalkan pembuat remote control dan pembuat tv. Seorang pembuat remote control tersebut tidak perlu tahu merk tv dan siapa yang membuat tv tersebut untuk dikontrol menggunakan remote control tersebut. Yang perlu diketahui adalah interface apa yang digunakan oleh TV tersebut agar dapat dikontrol. Demikian pulu si pembuat TV tidak perlu tahu bagaimana remote control tersebut dibuat. Pembuat TV hanya perlu tahu interface apa yang digunakan agar TV nya itu dapat dikontrol oleh remote control tersebut.

package ten.tutorInterface;

/**
 *
 * @author Teten
 */
public interface Control {

    void pindahChannel(int channel);

    void perbesarVolume(int volume);

    void perkecilVolume(int volume);
}



package ten.tutorInterface.impl;

import ten.tutorInterface.Control;

/**
 *
 * @author Teten
 */
public class TVPolytron implements Control {

    String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};

    public void pindahChannel(int d) {
        System.out.println("TVPolytron pindah ke channel : "+channel[d]);
    }

    public void perbesarVolume(int volume) {
        System.out.println("TVPolyton diperbesar sebanyak : "+volume);
       
    }

    public void perkecilVolume(int volume) {
        System.out.println("TVPolyton diperkecil sebanyak : "+volume);
    }

}


package ten.tutorInterface.impl;

import ten.tutorInterface.Control;

/**
 *
 * @author Teten
 */
public class TVSamsung implements Control{

    String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};

    public void pindahChannel(int d) {
        System.out.println("TVSamsung pindah ke channel : "+channel[d]);
    }

    public void perbesarVolume(int volume) {
        System.out.println("TVSamsung diperbesar sebanyak : "+volume);
    }

    public void perkecilVolume(int volume) {
        System.out.println("TVSamsung diperkecil sebanyak : "+volume);
    }

}

package ten.control;

import ten.tutorInterface.Control;

/**
 *
 * @author Teten
 */
public class RemoteControl {

    public void kirimPerintahKeTV(int aksi, Control tv, int tombol) {
        switch (aksi) {
            case 1:
                tv.pindahChannel(tombol);
                break;
            case 2:
                tv.perbesarVolume(tombol);
                break;
            case 3:
                tv.perkecilVolume(tombol);
                break;
        }
    }
}


import ten.control.RemoteControl;
import ten.tutorInterface.impl.TVPolytron;
import ten.tutorInterface.impl.TVSamsung;
/**
 *
 * @author Teten
 */
public class MainControl {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        TVPolytron polytron=new TVPolytron();
        TVSamsung samsung=new TVSamsung();
       
        RemoteControl remoteControl=new RemoteControl();
       
        remoteControl.kirimPerintahKeTV(2, samsung, 2);
    }

}

Source dari kode diatas dapat Anda download di sini

#Code sumber dari : sinau-java.blogspot.com







Selasa, 27 Agustus 2013

Instal LAN Driver Pada Motherboard Gigabyte H77-DS3H di ubuntu 12.04





Pada artikel kali ini  saya mencoba membagikan pengalaman saya tentang cara instal driver tambahan. Dikantor saya kebetulan menggunakan motherboard Gigabyte tipe Gigabyte H77-DS3H.
Tapi pas saya instal linux ubuntu 12.04, LAN nya tidak berjalan dan tidak terdeteksi sekalipun. Motherboard tersebut menggunakan perangkat Atheros dan tidak tahu mengapa, default nya tidak bisa membaca langsung LAN di ubuntu.
Saya coba cari di forum, dan saya akhirnya berhasil menjalankan LAN nya itu. Berikut adalah langkah-langkah nya :
  • Download library tambahan  Disini
  • tar -xf compat-wireless-3.5.1-1-snpc.tar.bz2
  • cd compat-wireless-3.5.1-1-snpc
  • ./scripts/driver-select alx
  • make
  • sudo make install
  • sudo modprobe alx
lalu LAN akan berjalan dengan muncul icon LAN di atas kanan.

Minggu, 18 Agustus 2013

Java Core 2. Polimorfisme



Polimorfisme adalah suatu konsep yang menyatakan sesuatu yang sama dapat memiliki bentuk dan perilaku yang berbeda. Dalam paradigma pemrograman berorientasi objek, Polimorfisme dapat kita gunakan untuk menimpa (override) suatu method yang berasal dari class induk dimana objek itu diturunkan sehingga objek itu memiliki perilaku yang berbeda.

Seperti pada gambar diatas, ada tiga hewan yaitu anjing, bebek dan kucing. Tiga hewan itu (object) berasal dari satu induk (parent class) yaitu hewan. Hewan memiliki method Bersuara, dan karena masing-masing objek tersebut turunan dari class hewan, maka tiap objek mempunyai method bersuara tapi method untuk tiap-tiap objek bisa berbeda contohnya objek Bebek bersuara seperti kwekwekwekkn dan objek anjing bersuara seperti gukguguk.

Polimorfisme dapat berupa overloading atau overriding :
  1. Overloading yaitu beberapa metode dapat memiliki nama yang sama dengan isi dan parameter yang berbeda di dalam sebuah kelas.
  2. Overriding yaitu beberapa metode pada kelas orang tua dapat ditulis ulang pada kode kelas anak dalam pewarisan (inheritance) dengan memiliki nama yang sama dan memiliki isi ataupun parameter yang sama atau berbeda. 

untuk mempermudah pemahaman tentang polimorfisme, saya jelaskan melalui kode Java.

/**
 * @author teten
 * class induk Hewan
 */

class Hewan {
  
    public void bersuara(){
        System.out.println("Hewan bersuara ...");
    }
    
}


Kelas-kelas turunan dari kelas hewan
/**
 *
 * @author teten
 * class Anjing turunan Hewan
 */
public class Anjing extends Hewan{
    
    private String suaraAnjing="Suara Anjing : Gukgukguk";
    
    @Override
    public void bersuara(){
        System.out.println(suaraAnjing);
    }
    
}


/**
 *
 * @author teten
 * class Bebek turunan Hewan
 */
public class Bebek extends Hewan{
    
    private String suaraBebek="Suara Bebek : Kwekwekwekwek";
    
    @Override
    public void bersuara(){
        System.out.println(suaraBebek);
    }
    
}


/**
 *
 * @author teten
 * class Kucing turunan Hewan
 */
public class Kucing extends Hewan{
    
    private String suaraKucing="Suara Kucing : miawmiawmiaw";
    
    @Override
    public void bersuara(){
        System.out.println(suaraKucing);
    }
    
}
Dan berikut kelas main nya :
/**
 *
 * @author teten
 * kelas main eksekusi
 */
public class Main {
    public static void main(String[] args) {
        /* membuat objek anjing*/
        Anjing anjing=new Anjing();
        anjing.bersuara();
        System.out.println("");
        
        /* membuat objek bebek*/
        Bebek bebek=new Bebek();
        bebek.bersuara();
        System.out.println("");
        
        /* membuat objek kucing*/
        Kucing kucing=new Kucing();
        kucing.bersuara();
        System.out.println("");
    }
}
Jika semuanya benar, maka jika dieksekusi atau dijalankan akan mengeluarkan output seperti berikut :
 

Minggu, 28 Juli 2013

Java Core 1. Encapsulation



Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.

Berikut adalah contoh sederhana dari konsep enkapsulasi Java :
class PoorDog {
  private int size;
  private String name;

  public int getSize() {
   return size;
  }

  public String getName() {
   return name;
  }
}

/*
* Main Class
*/

public class PoorDogTestDrive {
  public static void main (String[] args) {
   PoorDog one = new PoorDog();
   System.out.println(“Dog size is “ + one.getSize());
   System.out.println(“Dog name is “ + one.getName());

  }
}
 

Sabtu, 27 Juli 2013

Instal Java Development Kit 7 Di Windows 7

Untuk dapat membangun program berbasis Java, sebelumnya kita harus menginstal JDK (Java Development Kit) pada komputer atau laptop kita. Disini saya menggunakan sistem operasi Windows 7. Berikut adalah langkah-langkah nya : 

  • Klik dua kali pada installer jdk yang sudah disediakan :

  • Lalu Pilih yes 


  • lalu muncul dialog selamat datang


  • lalu klik Next dan muncul dialog Custom Setup

  • Disini antara Development Tools, Source code dan Public JRE saya menggunakan semuanya. Lalu klik tombol next.

 
  • Ditengah instalasi, lalu akan muncul instalasi JRE, lalu klik next.

  • lalu proses instalasi selesai.


    Paradigma Pemrograman Berorientasi Objek

    Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.





    Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

    == Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
    - Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
    - Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
    - Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
    - Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
    - Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
    - Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

    Sumber : http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

    Jumat, 26 Juli 2013

    Integrasi Glade Interface Designer Dengan Java




    Pembahasan kali ini yaitu tentang Integrasi Glade Interface Designer Dengan Java. Sesuai dengan judulnya, Glade adalahs ebuah software untuk membangun GUI khususnya dilingkungan Gnome. Software nya dapat Anda unduh disni atau apabila Anda menggunakan Ubuntu, Glade sudah ada dalam Software Center nya tinggal install. 
    Dengan dijalankan menggunakan Java mudah-mudahan tutorial ini dapat membantu Anda dalam menambah wawasan khususnya dibidang OpenSource.





     
     

    Adapun Source Java nya yaitu :

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package pglglade;
    
    import java.io.FileNotFoundException;
    import java.text.ParseException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import org.gnome.gdk.Event;
    import org.gnome.gtk.Builder;
    import org.gnome.gtk.Gtk;
    import org.gnome.gtk.Widget;
    import org.gnome.gtk.Window;
    
    /**
     *
     * @author laptop-1
     */
    public class PglGlade {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            Gtk.init(args);
            try {
                // TODO code application logic here
                Builder builder = new Builder();
    //            builder.addFromFile("TDAService.glade");
                builder.addFromFile("coba1.glade");
    //            builder.addFromFile("test1.glade");
    
    //            Window win = (Window) builder.getObject("objectProperties");
    //            Window win = (Window) builder.getObject("gunSettingsWindow");
    //            Window win = (Window) builder.getObject("dataLinkSetting");
                Window win = (Window) builder.getObject("TDSMonitoring");
    //            Window win = (Window) builder.getObject("objectProperties2");
    //            Window win = (Window) builder.getObject("objectIdentity");
    //            Window win = (Window) builder.getObject("Kinematics");
    //            Window win = (Window) builder.getObject("object_ctrl_window");
    //            Window win = (Window) builder.getObject("nav_data_ctrl_window");
    //            Wind ow win = (Window) builder.getObject("ppi_radar_ctrl_window");
    //            Window win = (Window) builder.getObject("video_dist_ctrl_window");
    //            Window win = (Window) builder.getObject("pro_mht_ctrl_window");
                win.connect(new Window.DeleteEvent() {
    
                    @Override
                    public boolean onDeleteEvent(Widget widget, Event event) {
                        Gtk.mainQuit();
                        return false;
                    }
                });
                win.showAll();
            } catch (FileNotFoundException ex) {
                Logger.getLogger(PglGlade.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ParseException ex) {
                Logger.getLogger(PglGlade.class.getName()).log(Level.SEVERE, null, ex);
            }
            Gtk.main();
        }
    }
    
    


    Senin, 22 Juli 2013

    Oracle

    Test artike oracle

    artikel mysql

    teset artikel mysql

    artikel JDBC

    ini artikel JDBC

    Artikel Swing

    Tentang artikel Swing

    Pengenalan Java

    Java adalah sebuah bahasa pemrograman tingkat tinggi yang berorientasi objek mirip dengan bahasa C++ dan bahasa SmalTalk. Java dengan konsep terkenalnya yaitu konsep WORA (Write Once Run Anywhere) mampu berjalan diatas platform apa saja dengan syarat ada JRE terlebih dahulu.

    Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe aslinya.

    Kelebihan Java diantaranya :
    1. Multiplatform
    2. Berorientasi Objek
    3. Lengkapnya perpustakaan (Library) yang memudahkan developer untuk membangun program berbasis Java
    4. Adanya fasilitas Garbage Collector atau pengumpul sampah memori secara otomatis
    Kekurangan Java diantaranya :
    1. file .jar nya mudah didekompilasi lagi menjadi file sumber .java
    2. Penggunaan Memori yang banyak

    Minggu, 21 Juli 2013

    JavaFX artikel

    ini adalah artikel tentang JavaFX