Oleh:
Azizah Tri Novanti 170533628613
5. Komponen Swing.
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.
class Mahasiswa1
{
public String nama = "Mega";
public int angkatan = 2017;
public String asal = "Blitar";
public String jurusan = "PTI";
public void ubah(String nm, int angkt, String asl,
String jur)
{
nama= nm;
angkatan = angkt;
asal = asl;
jurusan = jur;
}
public void cetak()
{
System.out.println("Nama\t: "+nama);
System.out.println("Angkatan\t: "+angkatan);
System.out.println("Asal\t: "+asal);
System.out.println("Jurusan\t: "+jurusan);
}
}
Hasil Program :
Penjelasan :
Pada script pertama, yaitu class Mahasiswa terdapat public yang
merupakan modifier atau tingkatan akses. Modifier akan menentukan
batasan akses member dan class. Public dapat diakses dimana saja, sehingga
pemanggilan variable yang diberi modifier public dapat di panggil di luar
class itu sendiri. public void ubah(String nm, int angkt, String
asl) merupakan method ubah dimana method ini dapat dipanggil diluar
class dan berisikan variable seperti nama, angkatan, dan asal. Selain itu,
terdapat method public void cetak() tanpa parameter yang digunakan
untuk mencetak variable yang sudah menyimpan data. Pada script pertama
tidak bisa dijalankan karena pada class Mahasiswa tidak memiliki void
main yang digunakan untuk mengeksekusi program. Agar dapat dieksekusi,
maka dibuatlah class TestMahasiswa pada script kedua. Perlu
diperhatikan bahwa pada script kedua terdapat public sebelum class
TestMahasiswa yang akan membuat class tersebut dapat diakses dimana
saja. Pada script kedua terdapat void main sehingga program dapat
dieksekusi. Program akan menjalankan beberapa data yang disimpan pada
variable,dimana variable tersebut dideklarasi pada class Mahasiswa
Hasil Program :
Penjelasan :
Pada program diatas, ketika mengeksekusi class TestLingkup maka file
class yang terbentuk adalah class TestLingkup dan class Lingkup . Hal
ini dikarenakan pada class TestLingkup terdapat pemanggilan class
Lingkup sehingga kedua class tesebut terbentuk dalam file meskipun class
Lingkup tidak dieksekusi. Pada script pertama yaitu class Lingkup
terdapat variable sifat yang menyimpan kata "Rajin" dengan tipe data
string. Kemudian terdapat method infoLingkup() yang berisikan variable
sifat dengan menyimpan kata "Tekun" dan pemanggilan variable yang
sudah dideklarasi. Perbedaan variable berisi kata "Rajin" dengan kata
"Tekun" adalah letak dari variable tersebut. Variable "Rajin" berada di luar
fungsi atau method, sedangkan "Tekun" berada pada method
infoLingkup() hal ini berkaitan dengan variable global yang berarti varabel
tersebut dapat diakses oleh seluruh fungsi dan variable local hanya bias
diakses di dalam fungsi itu sendiri.terdapat keyword this yang digunakan
untuk memanggil varabel global. Untuk variable berisikan "Tekun" tidak
menggunaka keyword this karena variable tersebut sudah dideklarasi di
dalam fungsi yang sama. Setelah itu pada script kedua pada class
TestLingkup terdapat public yang berfungsi untuk akses yang dilakukan
dimana saja. Lalu terdapat public static void main(String[] args)
yang berfungsi untuk mengekseskusi program dengan tipe data string dengan
modifier public yang dapat mengakes diluar class itu sendiri. Lingkup
info = new Lingkup(); berfungsi untuk membuat objek baru dengan
merujuk class Lingkup dengan nama objeknya adalah info. Kemudian
objek tersebut merujuk method infoLingkup() sehingga yang ditampilkan
adalah isi dari method infoLingkup(). Lalu eksekusi dilakukan pada
class TestLingkup yang memiliki fungsi utama.
Hasil Program :
Penjelasan :
Program diatas merupakan program untuk menginputkan data dengan
menggunakan class BufferedReader. Sebelum membuat class, terlebih
dahulu menuliskan import java.io.*; yang merupakan import-an
package dari java.io dan (*) digunakan untuk memanggil seluruh komponen
yang ada pada java.io. Kemdian membuat class dengan nama class
InputKarakterDanString. Pada fungsi utama dibuat sebuah objek dengan
nama bufReader yang merujuk pada BufferedReader yang akan diisi
inputan dari user dan disimpan pada objek tersebut. char kar=' '
merupakan variable kar dengan tipe data char dimana variable tersebut
bernilai awal kosong yang nantinya akan diinputkan oleh user. String
kata="" merupakan variable kata dengan tipe datanya adalah string dan
deklarasi untuk kata yang bernilai awal kosong. Kemudian untuk blok try-
catch, yang dijalankan terlebih dahulu adalah try yang digunakan untuk
menginputkan kata dan karakter dari user dengan menggunakan fungsi
readLine()untuk membaca inputan yang merujuk pada objek. Sedangkan
catch digunakan untuk menangkap kesalahan yang terjadi apabila yang
diinputkan salah, misalkan pada inputan kata yang seharusnya diinputkan
string namun user menginputkan bilangan, maka catch akan menjalankan
programnya dan muncul informasi error. Jika yang diinputkan benar, maka
catch tidak dijalankan dan selanjutnya inputan tadi dipanggil dengan
menggunakan (+) didepan nama variable yang akan dipanggil. Hal ini
bertujuan untuk menempatkan pemaggilan tersebut setelah kata
"Karakter : " sehingga inputan akan berada setelah kata "Karakter :
". begitupun pada kata "String : " ,pemanggilan inputannya dengan
menggunakan (+) didepan pemangggilan variable sehingga kata yang
diinputkan akan berada setelah kata "String : ".
Hasil Program :
Penjelasan :
Pada program diatas hamper sama dengan program sebelumnya, namun
pada program ini yang diinputkan adalah bilangan, dimana jika
menggunakan bufferreader maka butuh dikonvert ke string agar dapat dibaca
oleh readLine(). Pertama kali yang dilakukan adalah mengimport package
java.io dengam memanggil seluruh komponen yang ada pada java.io.
kemudian membuat class dengan nama class InputBilangan. Setelah itu
terdapat konstruktor readInput() yang didalamnya terdapat variable
bertipe data string dengan nama temporary="" dengan nilai awalnya adalah
kosong. InputStreamReader insReader = new
Hasil Program :
Penjelasan :
Program diatas merupakan program inputan data dari user. Sama seperti
sebelumnya, hanya saja pada program diatas menggunakan class Scenner.
Awalnya sama seperti bufferreader, gunakan import java.util.Scanner
untuk mengimport komponen java.scenner. Kemudian membuat class
dengan nama class InputScanner. Pada fungsi utama, dibuat objek baru
dengan nama inScanner. Deklarasi kata,bilBulat,bilReal dengan masing
masing tipe data yaitu string, int, double. Agar user dapat menginputkan
bilangannya, digunakan bilBulat = inScanner.nextInt sesuai dengan
tipe datanya. Jika ingin menginputkan bilangan real, maka dibutuhkan
bilReal = inScanner.nextDouble() dengan tipe data double. kata =
inScanner.nextLine(); digunakan untuk menginputkan kata dengan tipe
data string. Setelah itu seluruh variable dipanggil agar dapat dilihat pada
eksekusi.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//menu
tup frame otomatis bila button close ditekan
}
}
Hasil Program :
Penjelasan :
Program diatas bertujuan untuk membuat frame dengan menggunakan
swing. Pada awalnya import terlebih dahulu class JFrame dari package
swing dengan import javax.swing.JFrame. Kemudian buat class
CreateFrame setelah itu pada void main di buat objek baru bernama frame
yang merujuk pada class JFrame. Setelah itu memberikan title pada frame
dengan menggunakan frame.setTitle("CREATE FRAME") serta mengatur
posisi frame serta ukuran frame dengan menggunakan
frame.setBounds(200,200,300,150) dimana tiap parameter adalah int x,
int y, panjang, lebar. frame.setLayout(null) digunakan untuk mengatur
layout dimana jika null maka pengaturan tersebut tidak tersedia. Agar
tampilannya muncul, maka dibutuhkan frame.setVisible(true) untuk
mengatur tampilan frame.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan
ketika menutup frame atau mengeklik close maka program akan benar benar
berhenti.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Hasil Program :
Penjelasan :
Program tersebut bertujuan untuk membuat label dengan menggunakan
package javax.swing. Sebelumnya import terlebih dahulu class JLabelnya
dari javax.swing dengan menuliskan import javax.swing.JLabel selain
JLabel, perlu di import juga JFrame yang digunkaan untuk menampilkan
JLabel yang dibuat yaitu import javax.swing.JFrame. Kemudian buat
class dengan nama CreateLabel lalu didalam fungsi utama terdapat
pembuatan objek frame dengan merujuk class JFrame JFrame frame = new
JFrame(). Setelah dibuat, berikan tittle pada frame
frame.setTitle("CREATE LABEL"). Buat objek untuk menciptakan label
JLabel label = new JLabel. label.setBounds(25,25,200,25)
digunakan untuk mengatur letak dan uuran label pada frame yang telah
dibuat. Lalu meletakkan label pada frame dengan menggunakan
frame.add(label);. frame.add(label); digunakan untuk mengatur
layout, dan frame.setVisible(true) digunakan untuk mengatur tampilan
frame. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
digunakan untuk menghentikan program secara otomatis ketika user sudah
menekan tombol close..
Hasil Program :
Penjelasan :
Program diatas menampilkan label dengan gambar logo um dan
menampilkan text bertuliskan “UNIVERSITAS NEGERI MALANG”.
Untuk menampilkan seperti diatas, membutuhkan keyword import agar bias
mendeklarasi class JFrame dan JLabel beserta ImageIcon. import
javax.swing.ImageIcon digunakan untuk megimport class ImageIcon dari
package java.swing. lalu buat class dengan nama class
System.out.println("\tPEMROGRAMAN MENCETAK
KATA\n");
System.out.println("Kata apa yang ingin Anda
tampilkan?\t");
kata = inScanner.nextLine();
System.out.println("Berapa kali ingin Anda
tampilkan?\t");
ulang = inScanner.nextInt();
System.out.println("\tDATA YANG DI
INPUTKAN\n");
System.out.println("\tMencetak kata
''"+kata+"'' sebanyak "+ulang+" kali\n");
System.out.println("\tHASIL PERULANGAN
KATA\n");
Hasil Program :
Penjelasan :
Program diatas merpakan program mencetak kata dengan menggunnakan
perulangan. Kata diinputkan oleh user dengan banyak perulangan yang
diinputka user juga. Program tersebut memanfaatkan input dengan class
Scanner, dimana awal program harus mengimport class Scanner dari packge
java.util. Selanjutnya membuat class dengan nama CetakKata. Pada void
main, membuat objek dengan nama inScanner yang merujuk pada class
Scanner. Mendeklarasi kata dengan tipe data string dan ulang dengan tipe
data interger. kata = inScanner.nextLine()adalah variable kata yang
akan menyimpan inputan dari user. Apabila tipe data yang digunakan string,
maka menggunakan nextLine. Begitu juga dengan ulang =
System.out.println("\tPROGRAM KONVERSI
NILAI\n");
System.out.print("Masukkan Nama : ");
nama = readInput();
System.out.println("***************************************
********\n");
System.out.println("Nama\t: "+nama);
System.out.println("\tNilai yang diperoleh :
\n");
System.out.println("Sistem Operasi\t :
"+nilaiSO);
System.out.println("Komputasi Numerik :
"+nilaiKN);
System.out.println("PBO\t\t : "+nilaiPBO);
System.out.println("Rerata Nilai\t : "+rata);
System.out.println("Nilai Huruf\t : "+huruf);
System.out.println("***************************************
********\n");
}
}
Hasil Program :
Penjelasan :
Program diatas merupakan program menginputkan dan mengonversi nilai
yang memanfaatkan opersai kondisi dengan menggunakan class
BufferReader. Agar terdapat class BufferReader maka perlu mengimport
dari package java.io dengan menuliskan import java.io.* yang berarti
dpaat memanggil seluruh class dari java.io. kemudian public class
KonversiNilai merupakan nama class yang akan digunakan. public
static String readInput() adalah konstruktor yang tidak memiliki void
sehingga perlu return agar dapat mengembalikan temporary ke nilai awal.
Didalamnya terdapat objek insReader yang digunakan agar user dapat
menginput bilangan, kemudian terdapat objek bufReader untuk
mengkonvert bilangan tersebut ke dalam string sehingga bilangan yang
sudah diinputkan dapat terbaca oleh BufferReader. Jika hasil inputan benar,
maka akan menjalankan try dimana dalam fungsi tersebut terdapat variable
temporary = bufReader.readLine() yang digunakan unntuk menyimpan
inputan dati user. Jika salah menginutkan, maka program akan menjalankan
catch dan menampilkan kata error. Pada void main terlebih dahulu
mendeklarasi variable seperti String nama=" " untuk mendeklarasi inputan
nama dengan tipe data string, char huruf untuk mendeklarasi huruf yang
digunakan ketika mengkonvert nilai dengan tipe data char, dan int nilai
yang mendeklarasi nilai bertipe data interger dengan nilai awalnya adalah 0.
nama = readInput() adalah variable nama akan menyimpan data inputan
dari user dengan tipe data string. nilaiKN =
JLabel
label1,label2,label3,label4,label5,label6,label
7;
frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.add(label4);
frame.add(label5);
frame.add(label6);
frame.add(label7);
frame.setSize(400,400);
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Hasil Program :
Penjelasan :
Program diatas merupakan program untuk menampilkan data mahasiswa
dengan logo yang berada disebelah kiri dari data mahasiswa tersebut. Untuk
menampilkan profil mahasiswa, membutuhkan import untuk bisa
menjalankan class dari JLabel, JFrame,ImageIcon dan SwingConstans.
public class ProfilMahasiswa merupakan nama dari sebuah class.
public ProfilMahasiswa() merupakan konstruksi dimana terdapat objek
frame, logo, dan label. Data mahasiswa disimpan terlebih dahulu
didalam variable kemudian variable tersebut akan dipanggil ketika sudah
berada di objek label. frame.setTitle("PROFIL MAHASISWA")
public ToolTipIcon()
{
JFrame frame = new JFrame();
frame.setTitle("JAVA");
frame.setBounds(100,100,400,200);
JLabel label1,label2,label3;
ImageIcon java1 = new ImageIcon("JAVA1.jpg");
ImageIcon java2 = new ImageIcon("JAVA2.jpg");
label1 = new JLabel("Ini adalah Pemrograman
Java berbasis GUI dengan Tooltip");
label1.setBounds(10,10,800,100);
frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.setSize(400,400);
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Hasil Program :
Penjelasan :
Pada program diatas menampilkan tiga label dimana salah satu icon pada
tiga label tersebut terdapat keterangan apabila mouse atau kursor diarahkan
pada icon tersebut. Sebelum menjalankan class, terlebih dahulu mengimport
javax.swing seperti import javax.swing.JFrame; import
V. Kesimpulan
Kesimpulan yang didapat dari praktikum ini adalah :
1. Class adalah wadah yang akan digunakan untuk menciptakan objek sehingga
sebelum membuat objek harus membuat class terlebih dahulu.
2. Objek adalah sekumpulan data dalam program yang terdiri dari variable dan
method.
3. Konstruktor adalah inisialisasi terhadap kondisi internal objek yang
memiliki bentuk yang sama seperti method namun konstruktor harus
memiliki nama yang sama dengan nama class dan tidak memiliki nilai
kembalian apapun.
4. Method merupakan prosedur yang dimiliki objek, dimana method akan
mengolah data atau variable yang ada di dalam objek.
5. Variable global adalah variable yag ada di dalam class dan dapat diakses
oleh seluruh method dalam class. Sedangkan Variabel local adalah variable
yang ada didalam method itu sendiri didalam suatu class.
6. Input data oleh user dapat dilakukan dengan du acara, yaitu dengan
menggunakan class BufferReader dan class Scenner.
7. Class BufferReader dari package java.io dimana class ini lebih efisien jika
digunakan untuk tipe data string. Sedangkan untuk class Scanner dari
package java.util lebih efisien digunakan untuk tipe data interger, double dan
sebagainya.
8. class JFrame adalah class dari package javax.swing yang bergunna unntuk
membuat frame sebagai window aplikasi dan sebagai tempatkomponen GUI.
9. Class JLabel adalah class dari package javax.swing yang berguna untuk
membuat komponen berupa label.
10. Tooltip digunakan untuk memberi keterangan pada label apabila mouse atau
kursour yang diarahkan pada label tersebut maka akan muncul keteragan
dibahahnya.