Laporan Praktikum Bahasa Pemrograman 1 - Modul 8



MAKALAH
GRAPHICAL USER INTERFACE (2)
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 (2).”
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, 22 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 NETBEANS ……………………….….……………….…………………
            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 Netbeans
Netbeans adalah salah satu editor java yang sangat membantu dalam membuat program aplikasi menggunakan bahasa java, hal ini dikarenakan Netbeans sudah menyediakan IDE berbentuk visual.
            Dalam perancangan tampilan antar muka program Netbeans menyediakan palette yang berisi komponen-komponen yang akan digunakan dalam pembuatan aplikasi java berbasis GUI. Atribut dari tiap komponen yang ada pada jendela palette dapat dengan mudah disetting dari jendela Properties.

2.2 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.3 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.4 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_08;
public class Latihan_01 extends javax.swing.JFrame {

    public Latihan_01() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        jTextField3 = new javax.swing.JTextField();
        jToggleButton1 = new javax.swing.JToggleButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("NIM");

        jLabel2.setText("Nama");

        jLabel3.setText("Program Studi");

        jToggleButton1.setText("Proses");
        jToggleButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jToggleButton1MouseClicked(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(114, 114, 114)
                        .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 226, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3)
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jToggleButton1)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 226, Short.MAX_VALUE)
                                .addComponent(jTextField3)))))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(3, 3, 3)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(3, 3, 3)))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(3, 3, 3)))
                .addGap(27, 27, 27)
                .addComponent(jToggleButton1)
                .addContainerGap(28, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                       

    private void jToggleButton1MouseClicked(java.awt.event.MouseEvent evt) {                                           
        // TODO add your handling code here:
        jTextField1.setText("20160910015");
        jTextField2.setText("Fitri Nurhayati");
        jTextField3.setText("Sistem Informasi");
    }                                          

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Latihan_01.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Latihan_01().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JToggleButton jToggleButton1;
    // End of variables declaration                  
}

Running Program



3.6 POST TEST
Buat program kalkulator dengan tampilan seperti gambar berikut







Sintaks program
public class kalkulator extends javax.swing.JFrame {
    double jml,bil1,bil2,hasil;
    String opr;
   
    public kalkulator() {
        initComponents();
        setLayout (null);
        setTitle("Calculator");
        setVisible(true);
    }
   

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jButton6 = new javax.swing.JButton();
        jButton7 = new javax.swing.JButton();
        jButton8 = new javax.swing.JButton();
        jButton9 = new javax.swing.JButton();
        jButton10 = new javax.swing.JButton();
        jButton11 = new javax.swing.JButton();
        jButton12 = new javax.swing.JButton();
        jButton13 = new javax.swing.JButton();
        jButton14 = new javax.swing.JButton();
        jButton15 = new javax.swing.JButton();
        jButton16 = new javax.swing.JButton();
        jButton17 = new javax.swing.JButton();
        jButton18 = new javax.swing.JButton();
        jButton19 = new javax.swing.JButton();
        jButton20 = new javax.swing.JButton();
        jButton21 = new javax.swing.JButton();
        jButton22 = new javax.swing.JButton();
        jButton23 = new javax.swing.JButton();
        jButton24 = new javax.swing.JButton();
        jButton25 = new javax.swing.JButton();
        jButton26 = new javax.swing.JButton();
        jButton27 = new javax.swing.JButton();
        jButton28 = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();

        jLabel1.setText("jLabel1");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTextField1.setFont(new java.awt.Font("Calibri", 0, 20)); // NOI18N
        jTextField1.setHorizontalAlignment(javax.swing.JTextField.RIGHT);

        jButton1.setText("MC");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("MR");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jButton3.setText("MS");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setText("M+");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        jButton5.setText("M-");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });

        jButton6.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
        jButton6.setText("←");
        jButton6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton6ActionPerformed(evt);
            }
        });

        jButton7.setText("CE");
        jButton7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton7ActionPerformed(evt);
            }
        });

        jButton8.setText("C");
        jButton8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton8ActionPerformed(evt);
            }
        });

        jButton9.setText("±");
        jButton9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton9ActionPerformed(evt);
            }
        });

        jButton10.setText("√");
        jButton10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton10ActionPerformed(evt);
            }
        });

        jButton11.setText("7");
        jButton11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton11ActionPerformed(evt);
            }
        });

        jButton12.setText("8");
        jButton12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton12ActionPerformed(evt);
            }
        });

        jButton13.setText("9");
        jButton13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton13ActionPerformed(evt);
            }
        });

        jButton14.setText("/");
        jButton14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton14ActionPerformed(evt);
            }
        });

        jButton15.setText("%");
        jButton15.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton15ActionPerformed(evt);
            }
        });

        jButton16.setText("4");
        jButton16.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton16ActionPerformed(evt);
            }
        });

        jButton17.setText("5");
        jButton17.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton17ActionPerformed(evt);
            }
        });

        jButton18.setText("6");
        jButton18.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton18ActionPerformed(evt);
            }
        });

        jButton19.setText("*");
        jButton19.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton19ActionPerformed(evt);
            }
        });

        jButton20.setText("1/x");
        jButton20.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton20ActionPerformed(evt);
            }
        });

        jButton21.setText("1");
        jButton21.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton21ActionPerformed(evt);
            }
        });

        jButton22.setText("2");
        jButton22.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton22ActionPerformed(evt);
            }
        });

        jButton23.setText("3");
        jButton23.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton23ActionPerformed(evt);
            }
        });

        jButton24.setText("-");
        jButton24.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton24ActionPerformed(evt);
            }
        });

        jButton25.setText("0");
        jButton25.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton25ActionPerformed(evt);
            }
        });

        jButton26.setText(".");
        jButton26.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton26ActionPerformed(evt);
            }
        });

        jButton27.setText("+");
        jButton27.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton27ActionPerformed(evt);
            }
        });

        jButton28.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
        jButton28.setText("=");
        jButton28.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton28ActionPerformed(evt);
            }
        });

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel2.setText("View");

        jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel3.setText("Edit");

        jLabel4.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel4.setText("Help");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField1)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(jButton21, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                                    .addComponent(jButton16, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jButton11, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                                    .addComponent(jButton6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jButton7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jButton12, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                                    .addComponent(jButton17, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                                    .addComponent(jButton22, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)))
                            .addComponent(jButton25, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jButton26, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                            .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton13, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                            .addComponent(jButton18, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                            .addComponent(jButton23, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton14, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                            .addComponent(jButton19, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                            .addComponent(jButton24, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
                            .addComponent(jButton27, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jButton20)
                                .addGap(0, 0, Short.MAX_VALUE))
                            .addComponent(jButton28, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jLabel4)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(4, 4, 4)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2)
                    .addComponent(jButton3)
                    .addComponent(jButton4)
                    .addComponent(jButton5))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton7)
                        .addComponent(jButton8)
                        .addComponent(jButton9)
                        .addComponent(jButton10))
                    .addComponent(jButton6))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton11)
                    .addComponent(jButton12)
                    .addComponent(jButton13)
                    .addComponent(jButton14)
                    .addComponent(jButton15))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton16)
                    .addComponent(jButton17)
                    .addComponent(jButton18)
                    .addComponent(jButton19)
                    .addComponent(jButton20))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButton21)
                            .addComponent(jButton22)
                            .addComponent(jButton23)
                            .addComponent(jButton24))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButton25)
                            .addComponent(jButton26)
                            .addComponent(jButton27)))
                    .addComponent(jButton28, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                       

    private void jButton21ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jTextField1.setText(jTextField1.getText()+jButton21.getText()); 
    }                                        

    private void jButton25ActionPerformed(java.awt.event.ActionEvent evt) {                                          
         jTextField1.setText(jTextField1.getText()+jButton25.getText()); 
    }                                        

    private void jButton22ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jTextField1.setText(jTextField1.getText()+jButton22.getText()); 
    }                                        

    private void jButton23ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jTextField1.setText(jTextField1.getText()+jButton23.getText()); 
    }                                        

    private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jTextField1.setText(jTextField1.getText()+jButton16.getText()); 
    }                                        

    private void jButton17ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jTextField1.setText(jTextField1.getText()+jButton17.getText()); 
    }                                        

    private void jButton18ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextField1.setText(jTextField1.getText()+jButton18.getText()); 
    }                                        

    private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        jTextField1.setText(jTextField1.getText()+jButton11.getText()); 
    }                                        

    private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {                                          
         jTextField1.setText(jTextField1.getText()+jButton12.getText()); 
    }                                        

    private void jButton13ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jTextField1.setText(jTextField1.getText()+jButton13.getText()); 
    }                                        

    private void jButton27ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        bil1 = Double.parseDouble(jTextField1.getText());
        opr="+";
        jTextField1.setText("");
    }                                        

    private void jButton28ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        if(opr=="+"){
            bil2= Double.parseDouble(jTextField1.getText());
            jml=bil1+bil2;
            jTextField1.setText(String.valueOf(jml));
        }
        else if(opr=="-"){
            bil2= Double.parseDouble(jTextField1.getText());
            jml=bil1-bil2;
            jTextField1.setText(String.valueOf(jml));
        }
        else if(opr=="*"){
            bil2= Double.parseDouble(jTextField1.getText());
            jml=bil1*bil2;
            jTextField1.setText(String.valueOf(jml));
        }
        else if(opr=="/"){
            bil2= Double.parseDouble(jTextField1.getText());
            jml=bil1/bil2;
            jTextField1.setText(String.valueOf(jml));
        }
    }                                        

    private void jButton24ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        bil1 = Double.parseDouble(jTextField1.getText());
        opr = "-";
        jTextField1.setText("");
    }                                         

    private void jButton19ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        bil1 = Double.parseDouble(jTextField1.getText());
        opr = "*";
        jTextField1.setText("");
    }                                         

    private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        bil1 = Double.parseDouble(jTextField1.getText());
        opr = "/";
        jTextField1.setText("");
    }                                        

    private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        bil1 = Double.parseDouble(jTextField1.getText());
        hasil = Math.sqrt(bil1);
        jTextField1.setText(String.valueOf(hasil));
    }                                        

    private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        bil1 = Double.parseDouble(jTextField1.getText());
        hasil = bil1 / 100;
        jTextField1.setText(String.valueOf(hasil));
    }                                        

    private void jButton26ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        bil1 = Double.parseDouble(jTextField1.getText());
        opr += ".";
        jTextField1.setText(bil1+"");
    }                                        

    private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        jTextField1.setText("");
        bil1=0.0;
        bil2=0.0;
        jml=0.0;
        opr="";
    }                                       

    private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            bil1 = 0.0;
            jTextField1.setText("");
    }                                       

    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            StringBuilder strB = new StringBuilder(jTextField1.getText());
            strB.deleteCharAt(jTextField1.getText().length() - 1);
            String backspace = strB.toString();
            jTextField1.setText(backspace);
    }                                       

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            bil1 = 0.0;
            bil2 = 0.0;
            hasil = 0.0;
            jTextField1.setText("");
    }                                       

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            jTextField1.setText(hasil+"");
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            bil1 =  Double.parseDouble(jTextField1.getText());
            hasil = bil1;
            jTextField1.setText(String.valueOf(hasil+""));
    }                                       

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            bil1 = Double.parseDouble(jTextField1.getText());
            hasil += bil1;
            jTextField1.setText("");
    }                                       

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            bil1 = Double.parseDouble(jTextField1.getText());
            hasil -= bil1;
            jTextField1.setText("");
    }                                       

    private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            bil1 = Double.parseDouble(jTextField1.getText());
            hasil = bil1 - (bil1*2);         
            jTextField1.setText(String.valueOf(hasil));
    }                                       

    private void jButton20ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            bil1 = Double.parseDouble(jTextField1.getText());
            hasil = 1 / bil1;
            jTextField1.setText(String.valueOf(hasil));
    }                                         

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(kalkulator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(kalkulator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(kalkulator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(kalkulator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new kalkulator().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton10;
    private javax.swing.JButton jButton11;
    private javax.swing.JButton jButton12;
    private javax.swing.JButton jButton13;
    private javax.swing.JButton jButton14;
    private javax.swing.JButton jButton15;
    private javax.swing.JButton jButton16;
    private javax.swing.JButton jButton17;
    private javax.swing.JButton jButton18;
    private javax.swing.JButton jButton19;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton20;
    private javax.swing.JButton jButton21;
    private javax.swing.JButton jButton22;
    private javax.swing.JButton jButton23;
    private javax.swing.JButton jButton24;
    private javax.swing.JButton jButton25;
    private javax.swing.JButton jButton26;
    private javax.swing.JButton jButton27;
    private javax.swing.JButton jButton28;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton6;
    private javax.swing.JButton jButton7;
    private javax.swing.JButton jButton8;
    private javax.swing.JButton jButton9;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration                  
}


Running Program
180 / 2 = 90










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