penjelasan tentang enkapsulasi pemograman dan contoh sederhananya


MENGENAL ENKAPSULASI PEMROGRAMAN


Apa itu ENKAPSULASI atau Pembungkusan?

Enkapsulasi merupakan suatu cara pembungkusan data dan method yang menyusun suatu kelas sehingga kelas dapat dipandang sebagai suatu modul dan cara bagaimana menyembunyikan informasi detail dari suatu class (information hiding). Dalam OOP, enkapsulasi sangat penting untuk keamanan serta menghindari kesalahan permrograman, enkapsulasi 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.

 

Dua hal yang mendasar dalam enkapsulasi yakni: 

  •  Information hiding Sebelumnya untuk pengaksesan atribut atau method menggunakan objek secara langsung. Hal ini karena akses kontrol yang diberikan pada atribut dan method di dalam kelas tersebut adalah public. Untuk menyembunyikan informasi dari suatu kelas sehingga anggota kelas tersebut tidak dapat diakses kelas lain yaitu dengan memberi hak akses private pada atributnya. Proses ini disebut dengan information hiding. 
  • Interface to access data Interface to access data ini merupakan cara melakukan perubahan terhadap atribut yang disembunyikan, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut. Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain. Enkapsulasi memiliki manfaat sebagai berikut: 
    • Modularitas Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya. 
    • Information Hiding Penyembunyian informasi yang tidak perlu diketahui objek lain.





Assesor dan Mutator Method 
            Assesor method adalah method yang digunakan untuk membaca nilai variabel pada class, baik berupa instance maupun static. Sebuah accessor method umumnya dimulai dengan penulisan get. Method ini juga mempunyai sebuah return value. 
            Mutator method adalah method yang digunakan untuk memberi atau mengubah nilai variabel dalam kelas, baik itu berupa instance maupun static variabel. Sebuah mutator method umumnya tertulis set. Method ini tidak menghasilkan balikan nilai atau return value. 


Keuntungan menerapkan Encapsulasi 
  • Bersifat independen Suatu modul yang terencapsulasi dengan baik akan bersifat independen, sehingga tidak akan terikat pada bagian tertentu dari program. 
  • Bersifat transparan Bila melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan juga oleh bagian program yang menggunakan modul tersebut. 
  • Menghindari efek diluar perencanaan Modul yang terencapsulasi dengan baik hanya akan berinteraksi dengan bagian program lainnya melalui variable-variabel input/output yang telah didefinisikan sebelunnya. 
  • Melindungi listing program Saat program didistribusikan pada khalayak, untuk melindungi listing program Anda dapat menerapkan prinsip enkapsulasi. Di sini pengguna hanya dapat menggunakan program melalui variable input atau output yang didefinisikan tanpa disertai bagimana proses yang terjadi di dalam modul tersebut.


Pengantar Swing 
            
            Banyak pengguna lebih menyukai aplikasi berbasis GUI (Graphical User Interface) karena memiliki tampilan lebih interaktif jika dibandingkan dengan tampilan berbasis teks atau console yang membosankan. Java menyediakan dua class untuk membangun aplikasi berbasis GUI, yaitu AWT (Abstract Windowing Toolkit) dan Swing. AWT terdapat dalam package java.awt, sedangkan Swing terdapat pada package javax.swing. 
            Komponen GUI yang terdapat dalam package java.awt bersifat platform oriented, yaitu bergantung pada suatu platform sistem operasi, sedangkan komponen GUI dalam package javax.swing memiliki sifat lightweight, yaitu dapat diaplikasikan dalam semua platform atau multiplatform. Hal ini merupakan kelebihan yang dimiliki oleh package javax.swing bila diban-dingkan dengan package java.awt. Komponen-komponen Swing dapat dibagi menjadi beberapa kategori berikut: 
            a.Root Container.
                    Terdiri dari JWindow, JFrame, JDialog, JApplet dan JInternalFrame. 
            b. Label dan Button. 
                    Terdiri dari JLabel, AbstractButton, JButton, JToggleButton, JCheckBox, JRadioButton JMenuItem, JMenu, JCheckBoxMenuItem dan JRadioButtonMenuItem. 
            c. Komponen Lightweight.
                    Terdiri dari JPanel, JMenuBar, JToolBar, JScrollBar, JSlider, JProgressBar, JList, JComboBox dan JSeparator. d. Komponen Text. Terdiri dari JTextComponent, JTextField, JPasswordField, JTextArea, JEditorPane dan JTextPane. 
            e. Komponen Space-saving. 
                    Terdiri dari JScrollPane, JTabbedPane dan JSplitPane. 
            f. Komponen dengan Model Kompleks. 
                    Terdiri dari JTable dan JTree. 
            g. Komponen yang tersusun dari komponen lain. 
                    Terdiri dari JFileChooser, JColorChooser dan JOptionPane.




Pengenalan class JOptionPane 
           Class JOptionPane merupakan class dari package javax.swing yang digunakan untuk menampilkan message dialog. Beberapa message dialog yang dapat ditampilkan adalah jenis plain message, information message, warning message, error message dan confirmation message.



Pernyataan import
            Pernyataan import merupakan mekanisme dalam program agar bisa meng-akses class yang terdapat dalam suatu package. Jika ingin meng-import semua class dari suatu package, maka bisa digunakan tanda asterisk (*) untuk mengganti nama class. 
            Meng-import class JOptionPane dari package javax.swing:

 import javax.swing.JOptionPane;

            Meng-import semua class dari package javax.swing: 

import javax.swing.*;



Program sederhana berbasis GUI java

//meng-import class JOptionPane dari package javax.swing 
import javax.swing.JOptionPane;

//membuat class JGui
public class JGui 
{
            //membuat method main
            public static void main (string[]args)
            {
                    //menampilkant teks dengan message Dialog dari class JOptionPane
                    JOptionPane.showmessageDialog(null, "Welcome to Java World... <^.^>",
                            "GUI", JOptionPane.INFORMATION_MESSAGE);
            }
}





        Kode program di atas digunakan untuk menampilkan teks di dalam tanda kutip ganda (“…”). Kode import javax.swing.JOptionPane; merupakan pernyataan untuk mengimport class JOptionPane dari package javax.swing. Class yang dibuat bernama JGui dengan modifier public yang berarti class ini bersifat dapat diakses oleh class lain dari package yang sama dan berbeda. Kode JOptionPane.show MessageDialog digunakan untuk menampilkan teks dalam message dialog dari class JOptionPane.



Pengenalan class Jframe dan class Jlabel 
          Class JFrame merupakan class dari package javax.swing yang digunakan untuk membuat frame sebagai window aplikasi dan sebagai tempat komponen GUI yang lain diletakkan.
          Class JLabel merupakan class dari dalam package javax.swing yang digunakan untuk membuat komponen berupa label. Komponen ini berfungsi untuk menampilkan teks yang pendek. Dalam praktiknya, komponen ini bisa digunakan untuk menampilkan icon (gambar berukuran kecil) atau pun untuk menampilkan teks dan icon sekaligus. Agar dapat menampilkan icon, maka dibutuhkan import class ImageIcon yang mengimplementasikan interface Icon dari package javax.swing. Selain itu, posisi relatif teks terhadap icon juga dapat diatur dengan menggunakan class SwingConstants dari package javax.swing. Seringkali saat pointer mouse diarahkan pada suatu komponen, akan muncul kotak kecil yang berisi keterangan posisi pointer mouse berada. Kotak kecil inilah yang disebut sebagai tool tip. Untuk membuatnya, maka digunakan method setToolTipText(“keterangan”) yang merupakan subclass dari JComponent.


Pengenalan Jbutton Class 
            JButton merupakan class dari package javax.swing yang digunakan untuk membuat komponen berupa tombol berisi teks maupun icon. Bila ingin membuat tombol interaktif yang icon-nya dapat berubah saat pointer mouse diarahkan pada tombol tersebut, maka dapat diatur dengan menggunakan method setRolloverIcon(iconObjectName).

Komentar

Postingan populer dari blog ini

Contoh Laporan Hasil Prakerin Jurusan TAV smk n 1 adiwerna

Analisa Perancangan Sistem Informasi ERD

ALGORITMA DAN PEMOGRAMAN