Laporan Praktikum Bahasa Pemrograman 1 - Modul 7



MAKALAH
GRAPHICAL USER INTERFACE (1)
Disusun Untuk Memenuhi Tugas Praktikum Bahasa Pemrograman 1
Dosen Pengampu: Dede Irawan, M.Kom




Disusun oleh:
Fitri Nurhayati
20160910015
SI  2016 A




SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2017



KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah swt. yang telah melimpahkan rahmat, inayah, dan hidayah-Nya sehingga penulis dapat menyelesaikan makalah dengan tema ” GRAPHICAL USER INTERFACE (1).”
Adapun tujuan penulisan makalah ini adalah untuk memenuhi tugas praktikum bahasa pemrograman 1 Semester Ganjil Tahun Pelajaran 2017/2018 Universitas Kuningan.
Selama penyusunan makalah ini penulis banyak mendapat dukungan moral dan material dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan terima kasih kepada:
1.      Kedua orang tua yang telah memberikan motivasi untuk tetap bisa mengerjakan makalah ini sampai selesai.
2.      Dede Irawan, M.Kom selaku dosen pengampu yang telah memberikan arahan motivasi kepada penulis untuk menyelesaikan makalah ini.
3.      Rekan-rekan yang telah memberikan motivasi kepada penulis untuk menyelesaikan makalah ini.
Penulis menyadari bahwa makalah ini masih kurang sempurna. Oleh karena itu, saran dan kritik yang bersifat membangun dari pembaca sangat penulis harapkan demi kesempurnaan makalah ini. Semoga makalah ini bermanfaat bagi para pembaca. Amin.




Kuningan, 16 Desember 2017



Penulis






DAFTAR ISI

KATA PENGANTAR ……………………………………………………………………….
DAFTAR ISI ……………………………………………………………………….……….

BAB I
PENDAHULUAN
1.1  LATAR BELAKANG ……………………………………………………………….
            1.2  RUMUSAN MASALAH ……………………………………………………..……..
1.3  TUJUAN PENULISAN ………………………………………………………..…….

BAB II
LANDASAN TEORI
            2.1  Pengertian SWING …………………………….….……………….…………………
            2.2  Pengertian JAVA ……………………………….….……………….…………………
            2.3  Pengertian GUI ……………….………………………………………………………
            2.4  Pengertian JAVA GUI ……………………………………………………………….

BAB III
PEMBAHASAN
3.1  Komponen penyusun Java GUI …………………………………………………
3.2  Fungsi GUI ……………………………………………………………….…………
3.3  Macam – macam GUI ……………………………………………………………
          3.4  Kelebihan dan Kekurangan GUI …………………………………………………
3.5  Contoh program GUI ……………………………………………………………….
3.6  POST TEST ……………………………………………………………….…………

BAB IV
PENUTUP
4.1 KESIMPULAN ……………………………………………………………….………
4.2 DAFTAR PUSTAKA ……………………………………………………………….…




BAB I
PENDAHULUAN


1.1  LATAR BELAKANG
GUI atau kepajangan 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 itu dirancang dengan penelitian yang baik, dimana nantinya aplikasi tersebut dapat dengan mudah dioperasikan user.

1.2  RUMUSAN MASALAH
1.      Apa komponen java GUI ?
2.      Apa fungsi GUI ?
3.      Apa saja dan berapa banyak macam dari java GUI ?
4.      Apa kelebihan dan kukurangan GUI ?

1.3  TUJUAN PENULISAN
1.      Untuk lebih memahami Java GUI
2.      Untuk mengetahui apa saja komonen – komponen penyusun java GUI
3.      Untuk mengetahui fungsi dari GUI
4.      Untuk mengetahui jumlah dan macam-macam java GUI
5.      Untuk mengetahui apa saja kelebihan dan kekurangan dari GUI

                                                                                                                      

BAB II
LANDASAN TEORI


2.1 Pengertian Swing
Swing adalah alternatifuntuk menginplementasikan pemrograman Windows. Walaupun implentasinya berdasarkan kelas AWT tetapi Swing tidak menggunakan komponen-komponen AWT sehingga tampilan komponen-komponen Swing tidak bergantung pada sistem Windows local.
Component merupakan puncak hirarki dalam AWT, dimana yang digunakan antara lain kelas Frame dan Panel. Pada Swing puncak hirarkinya adalah Jcomponent. Kelas inilah yang menjadi superkelas bagi sejumlah kelas; misalnya Jcombobox, Jlabel, Jlist dan Jpanel.

2.3 Pengertian Java
JAVA merupakan sebuah bahasa pemrograman yang dijalankan di berbagai komputer dan pada handphone. Java pertama kali dikembangkan oleh Sun Microsystems yang menjelaskan bahwa bahasa java dapat digambarkan sebagai a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dan dynamic language. Sebuah program dalam bahasa java dirakit (compiled) menjadi sebuah berkas byte-code.

2.4 Pengertian GUI
GUI (Graphical User Interface) adalah metode interaksi secara grafis antara pengguna dengan komputer yang berfungsi memudahkan pengguna dalam menggunakan computer secara maksimal. Contoh penggunaan jenis GUI : Microsoft Windows, MacOS dan Xwin.

2.3 Pengertian Java GUI
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 itu dirancang dengan penelitian yang baik, dimana nantinya aplikasi tersebut dapat dengan mudah dioperasikan user. Banyak sudah aplikasi yang telah Java kembangankan dengan menggunakan GUI sebagai nilai penggunaan dan nilai jual.Software perangkat lunak dan keras juga termasuk di dalamnya. Java GUI adalah program pengembangan suatu user interface dengan mengetengahkan graphic sebagai penghubung user dengan sistem, sehingga mudah dalam implementasi aplikasi sistem tersebut.



BAB III
PEMBAHASAN


3.1 Komponen penyusun Java GUI
Komponen Utama GUI java adalah JFC (Java Fundamental Class)
  1. Koordinat GUI
  2. AWT (Abstract Windows Toolkit) merupakan paket dasar dalam pembentukan GUI dengan menggunakan platform yang terdapat dalam masing-masing OS (native resource) Paket dasar : java.awt.component
  3. Swing Product SUN dalam membangun GUI yang Independent sehingga bersifat cross platform dalam tampilan window yang dihasilkan. Paket dasar: javax.swing.Jcomponent
  4. Event Handler Aksi-reaksi yang diberikan pada tiap-tiap komponen GUI
3.2 Fungsi GUI
Dari pemahaman tentang GUI sebelumnya, fungsi-fungsi GUI dalam dunia teknologi dan informasi saat ini sangat beragam. Berikut beberapa fungsi dari penggunaan GUI dalam dunia Iptek khususnya komputer :
1.      Pointing device dengan perangkat berupa mouse
2.      Memiliki fungsi sebagai plug and play, yang mana memudahkan user dalam menginstall dan uninstall hardware/sofware (sinkronisasi)
3.      Membuat software-software yang menuntut aplikasi dalam komputer user yang dapat digunakan untuk kegiatan user dalam proses seperti menulis text, spreadsheet. sound, graphic dan lain-lain
4.      Untuk digunakan dalam pembuatan System Operasi sebagai User friendly dan ergonomis
5.      Pembuatan website
6.      Opensource software/hardware atau pengembang aplikasi-aplikasi skala besar lainnya.

3.3 Macam – macam GUI
Berikut ini adalah beberapa macam contoh GUI pada Java.
1.      AWT (Abstract Window Toolkit) – SUN Microsystem → Oracle Product
AWT (Abstract Window Toolkit) ini adalah GUI Toolkit pertama pada bahasa pemrograman Java, sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada ). Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke layar.
2.      Java Swing – SUN Microsystem → Oracle
GUI Toolkit yang mungkin paling banyak dikenal oleh teman-teman yang baru belajar Pemrograman GUI di Java dibandingkan dengan GUI Toolkit yang lain GUI Toolkit ini lebih banyak dikenal dikarenakan dukungan tutorialnya yang cukup banyak bertebaran di Internet, dan juga merupakan standart dari Java yang mana kita tidak perlu melakukan penambahan library lagi kalau ingin menggunakan GUI Toolkit ini. Selain itu, terdapat 2 IDE besar yang menggunakan GUI Toolkit Java Swing yaitu NetBeans IDE(OpenSource) dan IntelliJ IDEA (mempunyai versi OpenSource dan Komersial).
Dibandingkan dengan pendahulu-nya yaitu AWT (Abstract Window Toolkit), Swing mempunyai lebih banyak komponen pendukung untuk membangun sebuah aplikasi yang lengkap untuk keperluan desktop. Selain didukung dengan banyak-nya komponen, Swing ini benar-benar murni 100 % ditulis dengan bahasa pemrograman Java tanpa adanya sebuah wrapper untuk memanggil rutin-rutin native code via JNI (Java Native Interface). Seluruh komponen yang terdapat pada Swing, semuanya murni digambar sendiri menggunakan API (Application Programming Interface) 2D untuk memanggil rutin-rutin dasar penggambaran komponen-nya. Nah dengan model seperti ini, memungkinkan sekali aplikasi yang dibangun menggunakan Swing tampak sama persis di berbagai macam Sistem Operasi.
Selain itu, Swing juga mempunyai kemampuan untuk berganti-ganti tampilan menggunakan LAF (Look And Feel) atau themes Sayang-nya, jika kita menginginkan tampilan GUI yangnative(tampilan-nya sama seperti aplikasi-aplikasi lain pada sistem operasi target) Swing seperti-nya masih terasa kurang smoothterutama dukungan pada font rendering-nya . Untuk teman-teman yang penasaran bagaimana sih sebenarnya tampilan dari GUI Toolkit Swing ini ? Dibawah ini adalah screenshot Swing standart yang bisa kita gunakan tanpa perlu menambahkan library lagi
3.      SWT (Standart Widget Tookit) – IBM Product → Eclipse Foundation
SWT (Standart Widget Toolkit) ini adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem, yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface). Dengan model seperti ini, memungkinkan tampilan aplikasi yang dibangun menggunakan GUI Toolkit SWT menjadi sama persis dengan aplikasi native lain-nya. Kekurangan dari model pemanggilan native GUI library seperti ini adalah kita harus menyediakan library untuk tiap-tiap Sistem Operasi target aplikasi kita.
4.      QtJambi – Trolltech → Nokia Product → Stopped and Taken By Community
Pernah menggunakan Desktop Environment KDE ? Ingin membuat aplikasi yang tampilan-nya mirip denganKDE ?Kalau teman-teman ingin membangun aplikasi yang tampilan-nya tampak seperti aplikasi yang terdapat pada KDE tapi masih ingin menggunakan bahasa java sebagai dasar-nya, maka QtJambi adalah pilihan yang tepat untuk teman-teman. Karena QtJambi ini merupakan binding Qt Framework dengan bahasa Java, tetapi sayang-nya proyek QtJambi sudah tidak disupport oleh Nokia dan secara resmi telah ditutup Untung-nya, awal tahun ini ada beberapa developer yang peduli dengan kelangsungan proyek ini dan akhir-nya membuat sebuah komunitas untuk melanjutkan pengembangan proyek QtJambi, sekarang teman-teman bisa melihat perkembangan proyek QtJambi ini pada halaman QtJambi Community
5.      avaGNOME – Community Product
Kalau QtJambi diatas ditujukan untuk teman-teman yang sudah akrab dengan API (Application Programming Interface) Qt Framework, berbeda dengan JavaGNOME Proyek ini lebih dikhususkan untuk teman-teman pecinta GTK atau yang paling banyak dikenal yaitu GNOMESama seperti GUI Toolkit SWT dan QTJambi, JavaGNOME ini juga mengakses native library tetapi API yang digunakan adalah API dari GTK. Untuk teman-teman yang sudah terbiasa membangun aplikasi menggunakan Glade, maka teman-teman bisa men-design form-nya menggunakan Glade dan memanggil-nya menggunakan bahasa java melalui JavaGNOME.

3.4 Kelebihan dan Kekurangan GUI
        Kelebihan GUI :
1.      Desain Grafis lebih menarik.
2.      GUI memungkinkan user untuk berinteraksi dengan komputer secara lebih baik.
3.      Memudahkan pengguna.
4.      Menarik minat pengguna.
5.      Resolusi gambar yang tinggi.
        Kekurangan GUI :
1.      Memakan memory yang sangat besar.
2.      Bergantung pada perangkat keras.
3.      Membutuhkan banyak tempat pada layar komputer.
4.      Tidak fleksibel.

3.5 Contoh program GUI
Sintaks program

package modul_07;
import javax.swing.*;
import java.awt.event.*;

public class program_GUI extends JFrame implements ActionListener {
    JLabel label1 = new JLabel();
    JLabel label2 = new JLabel();
    JLabel label3 = new JLabel();
   
    JTextField text1 = new JTextField();
    JTextField text2 = new JTextField();
    JTextField text3 = new JTextField();

    JButton button1 = new JButton();
   
    public void CiptakanJFrame(){
        setLayout(null);
        setTitle("Identitas");
        setVisible(true);
        setSize (300, 150);
       
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
   
    public void CiptakanJLabel(){
        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);
    }
   
    public void CiptakanJTextField(){
        text1.setBounds(120,10,160,20);
        add(text1);
       
        text2.setBounds(120,30,160,20);
        add(text2);
       
        text3.setBounds(120,50,160,20);
        add(text3);
    }
   
    public void CiptakanJButton(){
        button1.setText("Tampilkan");
        button1.setBounds(120,80,95,20);
        button1.addActionListener(this);
        add(button1);
    }
   
    @Override
    public void actionPerformed(ActionEvent e){
        text1.setText("20160910015");
        text2.setText("Fitri Nurhayati");
        text3.setText("Sistem Informasi");
    }
   
    public static void main(String[] args) {
        program_GUI f1 = new program_GUI();
        f1.CiptakanJFrame();
        f1.CiptakanJLabel();
        f1.CiptakanJTextField();
        f1.CiptakanJButton();
    }
}


Running Program





3.6 POST TEST
Buat program kalkulator dengan tampilan seperti gambar berikut :



Sintaks program
package modul_07;
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();
    //JtextArea text2 = new JTextArea();
    //JtextArea text3 = 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();
    }   
}                      


Running Program

22 * 3 = 66




BAB IV
PENUTUP


4.1   Kesimpulan
Java GUI adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan komponen-komponen yangtidak bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan user menggunakan program yangdibuat tersebut.Dalam Java, terdapat dua paket yang dapat digunakan untuk mengembangkan program-program GUI, yaitu AWT dan Swing. AWT adalah istilah bagi sekumpulan objek GUI yang dibawa oleh Java diawal kemunculannya ketika masih mengusung nama Java (Bukan Java 2). Secara umum bisa dikatakan bentuk dari objek-objek AWT akan mengikuti bentuk default yang dibawa oleh sistem operasi, misalnyaWINDOWS. Swing adalah sebutan bagi objek visual yang dibawa Java 2. Objek-objek Swing merupakan pengembangan dari objek AWT. Objek Swing memiliki desain yang berbeda dibandingkan dengan desain default dari sistem operasi. Dengan kata lain objek Swing adalah objek visual yang mengusung teknologi Java murni.


DAFTAR PUSTAKA

Komentar

Postingan populer dari blog ini

Laporan Praktikum Bahasa Pemrograman 1 - Modul 6

Laporan Praktikum Bahasa Pemrograman1 - Modul 1

Laporan Praktikum Bahasa Pemrograman 1 - Modul 9