LAPORAN PRAKTIKUM
BAHASA PEMROGRAMAN 1
MODUL 7
“Graphical User Interface (1)”
DOSEN PENGAMPU:
DEDE
IRAWAN, M.KOM.
DISUSUN OLEH:
FARADILA
SUHAEFI
20180910003
SISTEM
INFORMASI 2018 A
FAKULTAS KOMPUTER
SISTEM
INFORMASI
UNIVERSITAS KUNINGAN
2019
KATA PENGANTAR
Puji
syukur saya panjatkan kehadirat Allah SWT, atas kasih dan sayang-Nya memberikan pengetahuan, kemampuan dan
kesempatan kepada penyusun sehingga mampu menyelesaikan tugas ini. Penyusunan makalah ini ditulis sebagai tugas mata kuliah praktikum bahasa
pemrograman 1 modul 7.
Penyusun
menyadari, dalam penulisan makalah ini masih ada kemungkinan kekurangan-kekurangan karena keterbatasan
kemampuan penyusun, untuk itu masukan yang bersifat membangun akan sangat
membantu penyusun untuk semakin membenahi kekurangannya.
Ucapan
terima kasih tidak lupa saya haturkan
kepada dosen pembimbing mata kuliah ini yaitu Bapak Dede Irawan, M.Kom , semoga makalah ini dapat berguna
sebagai karya dari kita dan untuk semua. Amiin….
Penyusun
Kuningan, 26
Desember 2019
DAFTAR
ISI
HALAMAN JUDUL
KATA PENGANTAR
DAFTAR ISI
BAB 1 PENDAHULUAN
1.1 Latar
Belakang
1.2 Rumusan Masalah
1.3 Tujuan Penulisan
BAB 2 ISI
2.1 Pengertian GUI
2.2 Jenis-Jenis GUI
2.3 Hasil
Praktikum dan Analisis
2.4 Latihan / Post Test
2.5 Tugas
KESIMPULAN
DAFTAR
PUSTAKA
BAB 1
PENDAHULUAN
1.1
Latar Belakang
GUI atau
kepanjangan dari Graphical User Interface merupakan salah satu model interaksi
antara manusia dan komputer. Selain GUI, ada juga model yang lain seperti
Character User Interface (CUI) yang sering kita kenal dengan command line. Dari
sisi kenyamanan (attitude), kedua model ini memiliki fungsinya masing-masing.
Fungsi CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX.
Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah
GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan
CUI. Pengguna GUI biasanya adalah mereka yang sudah terbiasa dengan sistem
operasi Windows.
Graphical Unit Interface, merupakan perangkat
pertama untuk mengendalikan fungsi-fungsi suatu software, dan membuat pengguna
mudah untuk memahami bagaimana menggunakan software tersebut. Kita dapat
mengasumsikan bahwa GUI merupakan sebagai bagian dari suatu software yang
pertama kali ditangkap mata (secara interface). Dimana suatu software akan
kelihatan bagus, jika GUI tersebut tampak menarik. Java GUI sendiri secara umum
sama dengan pemahaman GUI sendiri, namun disini GUI pada java adalah salah satu
dari fasilitas Java dalam mengembangkan suatu aplikasi dengan memberikan suatu
interface yang nantinya akan disesuaikan dengan kebutuhan suatu aplikasi, baik
skala kecil dan besar.
Intinya, GUI
pada Java adalah komponen-komponen penyempurna dalam sebuah sistem, seperti
komponen navigasi, graphic, interface desktop, komponen menu, sinkronisasi
antar interface dan semuanya yaitu dirancang dengan penelitian yang baik,
dimana nantinya aplikasi tersebut dapat dengan mudah dioperasikan user.
1.2
Rumusan Masalah
1.
Apa yang dimaksud dengan GUI?
2.
Apa saja jenis-jenis GUI?
3.
Bagaimana hasil dari praktikum dan analisisnya ?
4.
Bagaimana program dari latihan / pos test ?
1.3
Tujuan Penulisan
Tujuan dari penulisan makalah
ini agar mahasiswa memahami konsep dasar pemrograman GUI, serta mampu membuat
contoh sederhananya.
BAB 2
ISI
2.1 Pengertian GUI
Graphic User Interface (GUI) adalah pemrograman
dengan bahasa Java yang dibuat menggunakan aplikasi berbasiskan GUI. Tujuannya
adalah menambahkan beberapa komponen yang tidak bisa dibuat dalam basis text.
Komponen-komponen tersebut bisa berupa tombol,gambar,
dll. Tujuannya adalah memudahkan user dalam menggunakan program tersebut.
Jika dilihat pengertian GUI secara umum adalah
interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang
diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini
adalah pada system operasi Microsoft Windows.
2.2 Jenis-Jenis GUI
2.2.1 AWT (Abstract Window Toolkit)
AWT atau Abstract Window Toolkit adalah GUI toolkit
pertama pada bahasa pemrograman Java. Namun, AWT ini memiliki kekurangan pada
komponen yang biasa digunakan untuk membangun sebuah aplikasi dekstop secara
lengkap (komponen table saja tidak ada).
Terlepas dari kurangnya komponen GUI yang terdapat pada
AWT, aplikasi yang dibangun menggunakan AWT akan tampak seperti aplikasi
native. Maksudnya, jika aplikasi yang dibangun menggunakan AWT ini dijalankan
pada System Operasi Windows, maka aplikasi ini akan terlihat seperti aplikasi
windows pada umumnya, dan begitu juga jika dijalankan pada Sistem Operasi Mac
ataupun GNU/Linux. Hal ini bisa terjadi, karena AWT ini benar-benar memanggil
native subrutin untuk menggambar setiap komponennya ke layar.
2.2.2 SWT (Standart Widget Toolkit)
SWT atau Standart Widget Toolkit adalah GUI Toolkit
yang dikeluarkan IBM sebagai alternative dari AWT/Java Swing milik Sun
Microsystem. SWT terdapat pada package java.swt. Package java.swt berbasis
komponen-komponen GUI yang berisi platform system operasi.
Tampilan dari java.swt menyesuaikan dengan system
operasi sehingga mengakibatkan depedensi system. Namun performa dari SWT ini
sama dengan Swing. Yang membedakan antara SWT dan AWT/Java Swing adalah SWT ini
benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi
melalui JNI (Java Native Interface).
2.2.3 SWING
Java Swing adalah library java yang digunakan untuk
menciptakan 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 support java) dengan tampilan
yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai
Windows XP, Mac OS atau Linux tanpa bergantung dari OS yang kita gunakan.
Swing adalah alternative untuk mengimplementasikan
pemrograman windows. Walaupun implementasinya berdasarkan kelas AWT tetapi
Swing tidak menggunakan komponen-komponen AWT, sehingga tampilan
komponen-komponen Swing tidak bergantung pada system Windows Local.
Komponen merupakan puncak hierarki dalam AWT, dimana
yang digunakan antara lain kelas Frame dan Panel. Pada swing puncak hierarkinya
adalah komponen Kelas, inilah yang menjadi superkelas bagi sejumlah kelas,
misalnya Jcombobox, Jlabel, Jlist, dan Jpanel.
2.3 Praktikum dan Analisis
2.8.1 Latihan_01
Buat
project baru dengan nama Modul_07, tambahkan satu buah java class, beri nama
Latihan_01.java dan lengkapi kode programnya seperti berikut:
Program:
import javax.swing.*; /*mengimpor class paket berisi
kelas-kelas dan interface untuk komponen GUI Swing Java yang menyediakan
dukungan untuk tampilan grafis yang portable*/
import java.awt.event.*; /*mengimpor class untuk
perancangan user interface dengan event*/
public class Latihan_01 extends
JFrame implements ActionListener { /*nama kelas*/
//membuat label
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
//membuat textfield
JTextField text1 = new JTextField();
JTextField text2 = new JTextField();
JTextField text3 = new JTextField();
//membuat
button
JButton button1 = new JButton();
//deklarasi method
CiptakanJFrame
public void CiptakanJFrame(){
setLayout(null); //mengatur tampilan layout
setTitle("Identitas"); //memberikan judul frame
setVisible(true); //menampilkan objek frame
setSize (300, 150); //mengatur ukuran panjang dan
lebar frame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /*menutup frame apabila
menekan tombol closse*/
}
//deklarasi
method CiptakanJLabel
public void CiptakanJLabel(){
//mengatur tampilan label
label1.setText("NIM");
label1.setBounds(10,10,250,20);
add (label1);
label2.setText("NAMA");
label2.setBounds(10,30,250,20);
add (label2);
label3.setText("PROGRAM
STUDI");
label3.setBounds(10,50,250,20);
add (label3);
}
//deklarasi method
CiptakanJTextField
public void CiptakanJTextField(){
//mengatur
tampilan textfield
text1.setBounds(120,10,160,20);
add(text1);
text2.setBounds(120,30,160,20);
add(text2);
text3.setBounds(120,50,160,20);
add(text3);
}
//deklarasi
method CiptakanJButton
public void CiptakanJButton(){
//mengatur
tampilan button
button1.setText("Tampilkan");
button1.setBounds(120,80,95,20);
button1.addActionListener(this);
add(button1);
}
@Override
//output
public void actionPerformed(ActionEvent e){
text1.setText("20180910003");
text2.setText("Faradila
Suhaefi");
text3.setText("Sistem
Informasi");
}
//main method
public static void main(String[] args) {
Latihan_01 f1 = new Latihan_01();
f1.CiptakanJFrame();
f1.CiptakanJLabel();
f1.CiptakanJTextField();
f1.CiptakanJButton();
}
}
|
Output:
Analisis:
Program
Latihan_01 merupakan program untuk membuat tampilan interface identitas. Dari
hasil output di atas user menginputkan NIM
: 20180910003, NAMA: Faradila Suhaefi, PROGRAM STUDI: Sistem Informasi.
2.4 Post Test
Buat program kalkulator dengan tampilan
seperti gambar berikut:
Program:
import javax.swing.*;
import java.awt.event.*;
import java.text.DecimalFormat;
public class posttest extends
JFrame implements ActionListener{
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
JTextArea text1 = new JTextArea();
JButton button1 = new JButton();
JButton button2 = new JButton();
JButton button3 = new JButton();
JButton button4 = new JButton();
JButton button5 = new JButton();
JButton button6 = new JButton();
JButton button7 = new JButton();
JButton button8 = new JButton();
JButton button9 = new JButton();
JButton button0 = new JButton();
JButton buttonMC = new JButton();
JButton buttonMR = new JButton();
JButton buttonMS = new JButton();
JButton buttonMplus = new JButton();
JButton buttonMmin = new JButton();
JButton buttonbs = new JButton();
JButton buttonCE = new JButton();
JButton buttonC = new JButton();
JButton buttonPM = new JButton();
JButton buttonakar = new JButton();
JButton buttonBagi = new JButton();
JButton buttonPersen = new JButton();
JButton buttonKali = new JButton();
JButton button1x = new JButton();
JButton buttonKurang = new JButton();
JButton buttonTambah = new JButton();
JButton buttonSamadengan = new JButton();
JButton buttonKoma = new JButton();
DecimalFormat koma = new DecimalFormat ("#.##");
double bil1, bil2, hasil, n;
int tambah=0, kurang=0, bagi=0, kali=0, persen=0, akar=0;
public void CiptakanJFrame(){
setLayout (null);
setTitle("Calculator");
setVisible(true);
setSize(365,310);
setDefaultCloseOperation
(JFrame.EXIT_ON_CLOSE);
setResizable (false);
setLocationRelativeTo(null);
}
public void CiptakanJLabel(){
label1.setText("View");
label1.setBounds(10,10,40,20);
add(label1);
label2.setText("Edit");
label2.setBounds(50,10,40,20);
add(label2);
label3.setText("Help");
label3.setBounds(90,10,250,20);
add(label3);
}
public void CiptakanJTextField(){
text1.setBounds (10, 30, 340, 60);
add(text1);
/* text2.setBounds (120,30,160,20);
add(text2);
text3.setBounds (120,50,160,20);
add(text3);
}
*/
}
public void CiptakanJButton(){
buttonMC.setText(" MC ");
buttonMC.setBounds (10, 100, 58, 22);
buttonMC.addActionListener(this);
add(buttonMC);
buttonMR.setText(" MR ");
buttonMR.setBounds (80, 100, 58, 22);
buttonMR.addActionListener(this);
add(buttonMR);
buttonMS.setText(" MS ");
buttonMS.setBounds (150, 100, 58,
22);
buttonMS.addActionListener(this);
add(buttonMS);
buttonMplus.setText(" M+
");
buttonMplus.setBounds (220, 100, 58,
22);
buttonMplus.addActionListener(this);
add(buttonMplus);
buttonMmin.setText(" M- ");
buttonMmin.setBounds (290, 100, 55,
22);
buttonMmin.addActionListener(this);
add(buttonMmin);
buttonbs.setText(" ← ");
buttonbs.setBounds (10, 130, 55, 22);
buttonbs.addActionListener(this);
add(buttonbs);
buttonCE.setText(" CE ");
buttonCE.setBounds (80, 130, 55, 22);
buttonCE.addActionListener(this);
add(buttonCE);
buttonC.setText(" C ");
buttonC.setBounds (150, 130, 55, 22);
buttonC.addActionListener(this);
add(buttonC);
buttonPM.setText(" ± ");
buttonPM.setBounds (220, 130, 55,
22);
buttonPM.addActionListener(this);
add(buttonPM);
buttonakar.setText(" √ ");
buttonakar.setBounds (290, 130, 55,
22);
buttonakar.addActionListener(this);
add(buttonakar);
button7.setText(" 7 ");
button7.setBounds (10, 160, 55, 22);
button7.addActionListener(this);
add(button7);
button8.setText(" 8 ");
button8.setBounds (80, 160, 55, 22);
button8.addActionListener(this);
add(button8);
button9.setText(" 9 ");
button9.setBounds (150, 160, 55, 22);
button9.addActionListener(this);
add(button9);
buttonBagi.setText(" / ");
buttonBagi.setBounds (220, 160, 55,
22);
buttonBagi.addActionListener(this);
add(buttonBagi);
buttonPersen.setText(" %
");
buttonPersen.setBounds (290, 160, 55,
22);
buttonPersen.addActionListener(this);
add(buttonPersen);
button4.setText(" 4 ");
button4.setBounds (10, 190, 55, 22);
button4.addActionListener(this);
add(button4);
button5.setText(" 5 ");
button5.setBounds (80, 190, 55, 22);
button5.addActionListener(this);
add(button5);
button6.setText(" 6 ");
button6.setBounds (150, 190, 55, 22);
button6.addActionListener(this);
add(button6);
buttonKali.setText(" * ");
buttonKali.setBounds (220, 190, 55,
22);
buttonKali.addActionListener(this);
add(buttonKali);
button1x.setText(" 1/x ");
button1x.setBounds (290, 190, 58,
22);
button1x.addActionListener(this);
add(button1x);
button1.setText(" 1 ");
button1.setBounds (10, 220, 55, 22);
button1.addActionListener(this);
add(button1);
button2.setText(" 2 ");
button2.setBounds (80, 220, 55, 22);
button2.addActionListener(this);
add(button2);
button3.setText(" 3 ");
button3.setBounds (150, 220, 55, 22);
button3.addActionListener(this);
add(button3);
buttonKurang.setText(" -
");
buttonKurang.setBounds (220, 220, 55,
22);
buttonKurang.addActionListener(this);
add(buttonKurang);
buttonSamadengan.setText(" =
");
buttonSamadengan.setBounds (290, 220,
55, 50);
buttonSamadengan.addActionListener(this);
add(buttonSamadengan);
button0.setText(" 0 ");
button0.setBounds (10, 250, 130, 22);
button0.addActionListener(this);
add(button0);
buttonKoma.setText(" . ");
buttonKoma.setBounds (150, 250, 55,
22);
buttonKoma.addActionListener(this);
add(buttonKoma);
buttonTambah.setText(" +
");
buttonTambah.setBounds (220, 250, 55,
22);
buttonTambah.addActionListener(this);
add(buttonTambah);
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source == button1){
text1.append("1");
}
if(source == button2){
text1.append("2");
}
if(source == button3){
text1.append("3");
}
if(source == button4){
text1.append("4");
}
if(source == button5){
text1.append("5");
}
if(source == button6){
text1.append("6");
}
if(source == button7){
text1.append("7");
}
if(source == button8){
text1.append("8");
}
if(source == button9){
text1.append("9");
}
if(source == button0){
text1.append("0");
}
if(source == buttonKoma){
bil1 = numberReader();
String x =
koma.format(bil1).replace(',','.') ;
bil1 = Float.parseFloat(x);
text1.setText(bil1+"");
}
if(source == buttonMS){
bil1 = numberReader();
hasil = bil1;
text1.setText(String.valueOf(hasil+""));
}
if(source == buttonTambah){
bil1 = numberReader();
text1.setText("");
tambah = 1;
kali = 0;
bagi = 0;
kurang = 0;
akar = 0;
}
if(source == buttonKali){
bil1 = numberReader();
text1.setText("");
tambah = 0;
kali = 1;
bagi = 0;
kurang = 0;
akar = 0;
}
if(source == buttonKurang){
bil1 = numberReader();
text1.setText("");
kurang = 1;
tambah = 0;
kali = 0;
bagi = 0;
akar = 0;
}
if(source == buttonBagi){
bil1 = numberReader();
text1.setText("");
bagi = 1;
tambah =0;
kali = 0;
kurang = 0;
akar = 0;
}
if(source == buttonPersen){
bil1 = numberReader();
hasil = bil1 / 100;
text1.setText(String.valueOf(hasil));
persen = 1;
}
if(source == buttonakar){
bil1 = numberReader();
text1.setText("");
bagi = 0;
tambah = 0;
kali = 0;
kurang = 0;
akar = 1;
}
if(source == buttonPM){
bil1 = numberReader();
hasil = bil1 - (bil1*2);
text1.setText(String.valueOf(hasil));
}
if(source == buttonMC){
bil1 = 0.0;
bil2 = 0.0;
hasil = 0.0;
text1.setText("");
}
if(source == buttonCE){
bil1 = 0.0;
text1.setText("");
}
if(source == buttonC){
bil1= 0.0;
bil2= 0.0;
text1.setText("");
}
if(source == buttonMR){
text1.setText(hasil+"");
}
if(source == buttonMplus){
bil1 = numberReader();
hasil += bil1;
text1.setText("");
}
if(source == buttonMmin){
bil1 = numberReader();
hasil -= bil1;
text1.setText("");
}
if(source == button1x){
bil1 = numberReader();
hasil = 1 / bil1;
text1.setText(String.valueOf(hasil));
}
if(source == buttonbs){
String backspace = null;
if(text1.getText().length() >
0){
StringBuilder strB = new
StringBuilder(text1.getText());
strB.deleteCharAt(text1.getText().length()
- 1);
backspace = strB.toString();
text1.setText(backspace);
}
}
if(source == buttonSamadengan){
if(tambah>0){
bil2 = numberReader();
hasil = bil1 + bil2;
text1.setText(String.valueOf(hasil));
}
if(kurang>0){
bil2 = numberReader();
hasil = bil1 - bil2;
text1.setText(String.valueOf(hasil));
}
if(kali>0){
bil2 = numberReader();
hasil = bil1 * bil2;
text1.setText(hasil+"");
text1.setText(String.valueOf(hasil));
}
if(bagi>0){
bil2 = numberReader();
hasil = bil1 / bil2;
text1.setText(hasil+"");
text1.setText(String.valueOf(hasil));
}
if(akar>0){
bil2 = numberReader();
hasil = Math.sqrt(bil1);
text1.setText(String.valueOf(hasil));
}
}
}
public double numberReader(){
double bil1;
String n;
n = text1.getText();
bil1 = Double.valueOf(n);
return bil1;
}
public static void main (String[] args) {
posttest f1 = new posttest();
f1.CiptakanJFrame();
f1.CiptakanJLabel();
f1.CiptakanJTextField();
f1.CiptakanJButton();
}
}
|
Output:
9 + 27 = 35
2.5 Tugas
Program:
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class pdam_project extends
JFrame implements ActionListener {
JLabel L1 = new JLabel();
JLabel L2 = new JLabel ();
JLabel L3 = new JLabel ();
JLabel L4 = new JLabel ();
JTextField T1 = new JTextField ();
JTextField T2 = new JTextField ();
JTextField T3 = new JTextField ();
JTextField T4 = new JTextField ();
JButton B1 = new JButton ("Hitung");
JButton B2 = new JButton ("Save");
JButton B3 = new JButton ("<");
JButton B4 = new JButton (">");
public pdam_project() {
L1.setText("No Sambungan :");
L1.setBounds(10, 10, 105, 25);
add(L1);
T1.setBounds(115, 10, 135, 25);
add(T1);
L2.setText("Nama Pelanggan
:");
L2.setBounds(10, 45, 130, 25);
add(L2);
T2.setBounds(115, 45, 135, 25);
add(T2);
L3.setText("Pemakaian :");
L3.setBounds(10, 80, 100, 25);
add(L3);
T3.setBounds(115, 80, 135, 25);
add(T3);
L4.setText("Harga :");
L4.setBounds(10, 115, 105, 25);
add(L4);
T4.setBounds(115, 115, 135, 25);
add(T4);
B1.setBounds(200, 170, 70 , 25);
add(B1);
B1.addActionListener(this);
setLayout(null);
setSize (300, 300);
setVisible (true);
setLocationRelativeTo(null);
setTitle("PDAM -
Faradila");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String [] args) {
new pdam_project();
}
@Override
public void actionPerformed(ActionEvent e) {
int airjumlah;
int a;
int b;
int c;
int d;
int biaya=0;
airjumlah=Integer.parseInt(T3.getText());
a=10;
b=0;
c=0;
d=0;
if (airjumlah <= 10) {
biaya = airjumlah * 2000;
}
else if (airjumlah <=20) {
biaya = (airjumlah-10) * 3000 +
20000 ;
}
else if (airjumlah <=30) {
biaya = (airjumlah-20) * 4000 +
50000;
}
else if (airjumlah >30) {
biaya = (airjumlah-30) * 5000 +
90000 ;
}
T4.setText(String.valueOf(biaya));
}
}
|
Output:
KESIMPULAN
Dapat disimpulkan bahwa :
·
Pengertian GUI secara umum adalah interaksi yang dapat dilaksanakan oleh
user melalui menu dan icon yang diperlihatkan dalam modus grafik.
·
Ada tiga macam GUI yaitu : AWT, SWT, dan Swing
DAFTAR PUSTAKA
Buku Modul Bahasa Pemrograman 1
Tidak ada komentar:
Posting Komentar