Thursday, May 8, 2014

Pengertian Java Swing

 
Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.
Komponen Swing
Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane.
Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class.
Dalam  ranah  antarmuka  pengguna,  komponen  merupakan  bagian fundamental  di  Java.  Pada  prinsipnya,  segala  sesuatu  yang  kita  lihat  di tampilan aplikasi Java adalah suatu komponen—misalnya window, menu, dan button.
Di  sisi  lain,  container  adalah  jenis  komponen  yang  “menampung”  dan mengelola  komponen-komponen  lainnya.  Idealnya,  suatu  komponen harus diletakkan di sebuah container agar ia dapat digunakan.

Secara umum ada lima bagian dari Swing yang akan sering kita gunakan. Komponen atau
bagian – bagian itu adalah:
  1. Top-level Container, merupakan container dasar di mana komponen lainnya diletakan. Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam class JFrame, Jdialog, dan JApplet.
  2. Intermediate Container, merupakan komponen perantara di mana komponen lainnya akan diletakan. Salah satu contoh container ini adalah class JPanel.
  3. Atomic Component, merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton, JLabel, JTextField, dan JTextArea.
  4. Layout Manager, berfungsi untuk mengatur bagaimana posisi dari komponen – komponen yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class BorderLayout, BoxLayout, FlowLayout, GridBagLayout, dan GridLayout.
  5. Event Handling, untuk menangani event yang dilakukan oleh user misalnya menekan tombol, mengkilik mouse dan lain – lain.
Features pada Swing diantaranya:
1. Swing GUI Component
Swing Toolkit memiliki beragam komponen GUI, mulai dari komponen sederhana (button, check boxes) hingga komponent komplex seperti tabel dan text. Anda pun dapat membuat komponen anda sendiri.
2. Java 2D API
Dengan Java 2D API , kita dapat dengan mudah menambahkan images, drop shadow, dan lain lain kedalam aplikasi GUI kita.
3. Pluggable Look and Feel Support
Setiap program yang menggunakan Swing Component, dapat diubah tampilannya. Banyak sekali pilihan tampilan yang nantinya dapat kita gunakan dalam pembuatan GUI ini.
4. Data Transfer
Anda dapat menerapkan Data Transfer (Copy, Paste, Drag and Drop pada Swing)
5. Internationalization
Dengan adanya Internationalization, developer dapat membuat software sesuai dengan bahasa negaranya sendiri-sendiri, juga mensupport character dari berbagai negara seperti Japanese, Chinese, Korean.

6. Undo Framework API
Dengan Swing Undo Framework, maka developer dapat menggunakan undo dan redo seperti pada text component. Java Swing mensupport unlimited undo dan redo.
7. Flexible Deployment Support
Swing dapat dideploy ke dalam Applet yang dijalankan via browser. Dapat juga dideploy ke dalam standalone application dengan Java Web Start sebagai Standard Destop Application.

Thursday, May 1, 2014

Pewarisan (Inheritance) pada java & contoh program Inheritance

Pewarisan (Inheritance) merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Sistem OOP memungkinkan kita untuk mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah maka kelas tersebut semakin spesifik.
pewarisan memberikan atau mewariskan sesuatu kepada keturunan berikutnya. misalnya, seorang anak pasti akan mewarisi beberapa sifat atau perilaku yang dimiliki oleh ibu/bapaknya. dalam konteks ini, suatu kelas dalam program dapat diturunkan menjadi kelas-kelas baru lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya. sebagai contoh, apabila anda memiliki kelas A dalam program yang anda buat maka anda dapat membentuk kelas-kelas turunan dari kelas A tersebut(Misalnya, kelas B) yang mewarisi sifat-sifat yang terkandung dalam kelas A. dalam proses pembuatan kelas turunan tersebut, Anda dapat menambahkan sifat dan perilaku baru ke dalam kelas B, yang sebelumnya tidak dimiliki dalam kelas A. Dalam terminologi java, kelas induk dinamakan dengan superclass dankelas turunan dinamakan dengan subclass. untuk membuat kelas anak atau kelas turunan berdasarkan class yang ada, anda dapat menggunakan kata kunci extends.
keterangan : extends artinya diturunkan.








contoh program:
program induk kakek.java
public class kakek
{
    protected String namekakek;
    protected String address;
    public kakek()
    {
        System.out.println(“\n Program Demo Inheritance”);
        System.out.println(“============================”);
        System.out.println(”   Masukan construktor kakek  “);
        System.out.println(“–Dijalankan oleh class Bapak–”);
        namekakek=”Doni wijaya”;
        address=”Merauke”;
    }
    public kakek(String name,String address)
    {
        this.namekakek=namekakek;
        this.address=address;
    }    
    public String getName()
    {
        return namekakek;
    }
    public String getAddress()
    {
        return address;
    }
}
program anak/turunan:
program bapak.java
public class bapak extends kakek
{
    protected String namebapak;
    protected String addressbapak;
    public bapak()
    {
        System.out.println(“Nama Kakek :”+namekakek);
        System.out.println(“Address kakek :”+address);
        System.out.println(“\n”);
        System.out.println(” Masukan Construktor Bapak “);
        System.out.println(“—-dijalankan class cucu—-”);
        namebapak=”Ridho Saputra”;
        addressbapak=”Yogyakarta”;
        }
        public bapak(String namebapak,String addressbapak)
        {
            this.namebapak=namebapak;
            this.addressbapak=addressbapak;
        }
        public String getNama()
        {
            return namebapak;
        }
        public String getAddress()
        {
            return addressbapak;
        }
        public static void main(String []args)
        {
            bapak sari=new bapak();
        }
}
program cucu.java
public class cucu extends bapak
{
    public cucu()
    {
        System.out.println(“Nama Bapak  :”+namebapak);
        System.out.println(“Address Bapak :”+addressbapak);
    }
    public static void main(String []args)
    {
        String namacucu;
        cucu lagan=new cucu();
        System.out.println(“\nSaya adalah CUCU”);
        System.out.println(“Nama Saya : Samuel”);
        System.out.println(“”);
    }
}
jika ingin menjalankan program datas makan kita perlu mengkompile terlebih dahulu class kakek.java, jangan di run karena main programnya terdapat dalam class bapak.java dan cucu.java.
jika kita menjalankan class bapak maka akan seperti berikut tampilannya:





jika kita menjalankan program cucu maka akan seperti berikut tampilannya:

Pointer Pada Bahasa C

Konsep pointer, hanya untuk memudahkan saja, secara sederhana dibagi menjadi 2, yaitu:

1. Pointer
Apa itu pointer?? pointer adalah variabel yang berisikan alamat yang merujuk kepada sesuatu

2. Pointee

Sedangkan, apa itu pointee?? pointee adalah sesuatu yang dirujuk oleh pointer



Ilustrasinya seperti gambar berikut

Berikut adalah contoh program pointer

Pada code diatas, 
  1. baris *pointer_x merupakan perintah untuk deklarasi pointer. Fungsi karakter ( * ) disini agar si pointer dapat menggunakan nilai alamat dari variabel yang ditunjuk oleh pointer 
  2. baris pointer_x = &pointee_X memberikan intruksi agar pointer_x menggunakan alamat dari pointee_X. Atau gampangnya, pointer_x tunjuk ke pointee_X. Karakter ( & ) disini agar nilai alamat dari variabel pointee_X dapat digunakan oleh varibel pointer pointer_x.
  3. %p pada perintah printf. Fungsinya untuk akses alamat dari pointer.
Hasil yang didapat adalah sebagai berikut

Struktur (Struct) dalam Bahasa C

Struktur atau juga disebut dengan struct adalah sekumpulan variabel dimana dapat terdiri dari berbagai tipe data, dan dikelompokkan ke dalam satu nama. Contoh dari stuktur adalah struktur data mahasiswa, dimana mahasiswa digambarkan dengan susunan lambang seperti nama, alamat, nim, dan sebagainya. Struktur digunakan untuk mendefinisikan record dari data yang disimpan pada suatu file. Contoh penulisan dari struktur adalah sebagai berikut :

                  struct mahasiswa
                  {
                       char *nama;
                       char alamat;
                       int nim;
                 
}

Berdasarkan contoh di atas, maka akan terdapat tipe data baru bernama struct mahasiswa, yang terdiri dari nama, alamat, nim, yang masing-masing disebut dengan field. Untuk dapat mengakses anggota dari struktur dapat digunakan salah satu dari dua operator, yaitu titik (.) digunakan apabila untuk variabel tunggal (misal x), dan tanda panah (->) untuk variabel pointer (misal y). Contoh pemanggilannya :
               
                  printf("%s",x.nama);
                  printf("%s",y->nama);
               
Untuk dapat lebih memahami materi struktur kali ini, silakan download materi di sini.
Sekian postingan saya kali ini, semoga bermanfaat untuk teman-teman. Terimakasih.

Inheritance atau Pewarisan Sifat Pada Java

     Konsep inheritance atau pewarisan ini mengadopsi dunia nyata dimana sebuah objek dapat mewariskan sifat pada turunannya. Dalam kehidupan manusia pasti memiliki karakter yang hampir sama dengan orang tua. Selain bentuk fisik yang memiliki keseragaman yang hampir sama, tentunya juga memiliki beberapa karakter/sifat yang hampir sama dengan kedua orang tua.

      Misalnya ayah nobita adalah orang penyabar, sedangkan nobita juga penyabar, tapi dibalik semua itu, nobita juga mempunyai sifat lain yang tidak dimiliki oleh ayahnya, yaitu pemalas. Itulah kenapa setiap turunan dikatakan ‘hampir‘ sama dengan induknya.

Inheritance (pewarisan) adalah proses pewarisan data dan method satu kelas induk kepada kelas turnannya.
Komponen class pada pewarisan yaitu:
  • Super Class: kelas induk atau kelas yang mewariskan
  • SubClass: anak kelas atau kelas yang mendapat warisan


Inheritance Pada Java !
        Di dalam bahasa pemrograman java, untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkankata kunci extends setelah deklarasi nama classnya, kemudian diikuti dengan nama parent class-nya atau super classnya. Kata kunci extends tersebut memberitahu kompiler java bahwa kita ingin melakukan perluasan class.

Cara penulisan subclassnya adalah sebagai berikut:


Contoh kasus:
          Terdapat beberapa software di komputer. Software tersebut beraneka ragam: software game, software edukasi, dan lain-lain. Biarpun berbeda jenisnya, software tersebut pasti memiliki kesamaan dengan software sejenisnya. Dengan kata lain, apabila dilihat dari segi pemrograman, maka class Software adalah superclass, sedangkan class Game adalah subclassnya. Jadi penulisan code java-nya adalah sebagai berikut:



Manfaat Inheritance !
Berikut in adalah beberapa manfaat apabila menggunakan konsep inheritance:

1. Bersifat reusable

           Pada class yang memiliki sifat mirip denga class lain, tidak perlu membuat variabel dan method yang sama dalam penerapannya. Sehingga hanya perlu membuat satu class sebagai induk, dan beberapa class sebagai anak yang mewarisi method dan data dari class induk. Ketika membutuhkan data dan method tambahan pada class anak, hanya perlu menambahkan data tambahan tersebut, tanpa perlu mendeklarasikan data dan method yang sudah dimiliki oleh induk class.


2. Efisiensi dalam manajemen data dan method

         Ketika membutuhkan perubahan pada data dan method pada induk class, tidak perlu mengubah semua class anak, sehingga hanya perlu melakukan perubahan pada class induknya saja.

Keyword “super“  !

Keyword super digunakan oleh subclass untuk memanggil constructor atau method yang ada pada superclassnya. Berikut cara penulisan keyword super pada subclass untuk memanggil constructor pada superclass.
Sedangkan cara penulisan “super“ pada subclass untuk memanggil method
pada superclass adalah sebagai berikut:
 
Kontrol akses !

       Suatu parent class dapat tidak mewariskan sebagian data dan methodnya kepada subclassnya. Sejauh mana suatu data dan method tersebut dapat diwariskan ke kelas lain sangat berhubungan dengan access control. Gambaran akses kontrol digambarkan pada tabel berikut: