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.
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
Posting Komentar