LAPORAN TUGAS MINGGUAN III PEMBUATAN KALKULATOR ( MENGHITUNG TOTAL TRANSAKSI) BERBASIS JAVA Oleh : Kamal Najib (1142202) IF - A STMIK “AMIKBANDUNG” BANDUNG 2012 BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan yang sangat cepat di bidang teknologi informasi memberikan pengaruh yang sangat besar pada berbagai aspek kehidupan manusia. Pengaruh yang paling nyata terlihat pada terjadinya perubahan mendasar terhadap cara orang melakukan komputasi. Saat ini orang - orang dapat dengan mudah menggunakan berbagai jenis teknologi dan aplikasi – aplikasi canggih untuk mempermudah kinerjanya. Penulis sebagai seorang mahasiswi Teknik Informatika yang mempelajari salah satu bahasa pemrograman yaitu pemrograman java, dan kebetulan ditugaskan untuk membuat sebuah aplikasi,maka akan mencoba untuk membuat aplikasi untuk mempermudah menghitung keliling dan volume balok. 1.2 Ruang Lingkup Masalah Setiap apapun yang akan kita ciptakan pasti ada beberapa masalah. Pada kali ini ada beberapa masalah yang penulis hadapi daam pembuatan aplikaasi ini, yaitu : Bagaimana menghitung total harga dengan menggunakan tombol button “proses”. Bagaiman hasil isian bisa direset dengan menggunakan tombol button “ulangi”. Bagaiman tampilan bisa di close (exit) dengan menggunakan tombol button “selesai”. Bagaimana syntac yang ada pada java class bisa dipanggil dari java frame dengan menggunakan model MVC. 1.2 Rumusan Masalah 1. 2. 3. 4. Pada setiap masalah pasti ada penyelesaiannya, pada saat ini penulis memilikii penyelesaian masalah sebagai berikut : Agar tombol button “hitung”, “reset”, “exit” bisa beroperasi saat di klik, maka penulis memasukkan syntac atau coding pada button tersebut. Adapun coding tersebut akan diuraikan pada pembahasan selannjutnya. Begitupun dengan coding untuk memanggil variabel di java class. BAB II LANDASAN TEORI Di dalam pengerjaan Aplikasi menghitung volume bola dan kubus digunakan beberapa software tool (program). Dalam tahap pembuatan aplikasi digunakan program JAVA sebagai pembuatan aplikasi dari segi tampilan dan scripting dan menggunakan NETBEANS sebagai software pengola bahasa pemrograman java tersebut . 2.1 JAVA Sebuah Bahasa Pemrograman Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Gambar 2.1 Logo Java Java adalah bahasa pemrograman yang berorientasi Object Properties (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. 2.2 NETBEANS Netbeans adalah salah satu produk sun microsystem, Inc dimana dalam aplikasi ini netbeans digunakan sebagai editor. Dengan Adanya Netbeans maka pada saat kita akan membangun aplikasi kita bisa langsung menentukan design yang akan di buat, dan hasilnya akan sama saat aplikasi dii jalankan.Berikut adalah tampilan netbeans 7.0.1 Gambar 2.2 Logo NetBeans Menggunakan NetBeans Sekarang kita mencoba mengerjakan program kita dengan menggunakan NetBeans : Langkah 1 : Membuka NetBeans Klik dua kali shortcut yang ada di desktop, atau dengan klik start > program files-> NetBeans-> NetBeans IDE. Setelah Anda membuka NetBeans IDE, Anda akan melihat graphical user interface (GUI) seperti yang ditunjukkan dibawah ini. Gambar 2.2.1 Window Setelah Membuka NetBeans Langkah 2: Membuat sebuah Project Pertama, mari kita buat sebuah project. Klik pada File->New Project. Setelah melakukannya, akan ditampilkan kotak dialog project yang baru. Kemudian klik pada Java Application dan klik tombol NEXT. Gambar 2.2.2 Memilih Tipe Project Sekarang, dialog aplikasi yang baru akan ditampilkan. Gambar 2.2.3 Mengatur Informasi Project Cobalah untuk mengubah lokasi aplikasi, dengan mengklik pada tombol BROWSE. Kemudian dialog lokasi project akan muncul. Klik dua kali pada home folder Anda. Yang terakhir, pada textfield Create Main Class, tulislah Hello sebagai nama kelas utama, dan kemudian klik tombol FINISH. Gambar 2.2.6 Window setelah Mengatur Lokasi Project Langkah 3 : Menulis dalam Program Anda Sebelum menulis program Anda, pertama akan dijelaskan mengenai jendela utama setelah membuat project. Seperti ditunjukkan di bawah, secara otomatis NetBeans membuat kode dasar untuk program Java Anda. Anda dapat menambah pernyataan – pernyataan Anda pada kode yang telah di-generate. Pada sisi kiri jendela, Anda dapat melihat daftar folder dan file yang dihasilkan NetBeans setelah membuat sebuah project. Semua ini dapat Anda temukan dalam folder MYJAVAPROGRAMS Anda, dimana Anda menetapkan lokasi project tersebut. Langkah 4 : Mengkompilasi Program Anda Sekarang, untuk mengkompilasi program Anda, klik pada Build->Buid Main Project, atau Anda juga dapat menggunakan tombol shortcut untuk mengkompilasi kode Anda. Gambar 2.2.9 Mengkompilasi Program Jika tidak terdapat error pada program Anda, Anda dapat melihat pesan sukses build pada jendela yang dihasilkan. Gambar 2.2.10 Tampilan Setelah sukses melakukan compile Langkah 5 : Menjalankan Program Anda Untuk menjalankan program Anda, klik pada Run->Run Main Project, atau Anda juga dapat menggunakan tombol shortcut untuk menjalankan program Anda. Gambar 2.2.11 Menjalankan dengan NetBeans Hasil dari program Anda ditampilkan pada jendela. Gambar 2.2.12 Tampilan Setelah Sukses Menjalankan Program BAB III ANALISIS Dalam pembuatan Aplikasi menghitung volume bola dan kubus berbasis java ini, penulis mengunakan beberapa tools dan hardware sebagai pendukung dalam pembuatannya aplikasi ini. Dalam merancang aplikasi ini, spesifikasi software yang digunakan adalah Sistem Operasi : Windows 7 Bahasa Pemrograman : Java DBMS : Database : IDE : NetBeans Report : - Sedangakan spesifikasi hardware yang digunakan: Processor : Intel Pentium processor T4400 Memory : 1024 Mb Harddisk : 320 GB VGA Card : Onboard BAB IV IMPLEMENTASI Bab ini akan memaparkan tampilan – tampilan form pada aplikasi yang telah rampung diselesaikan. Ini tampilan dari percobaan aplikasi ini,juka di klik tombol Hitung maka akan muncul hasil dari Total dengan mengisikan Harga dan Quontity terlebih dahulu, Ini hasil percobaan jika di kilik tombol Ulangi maka angka yang di masukan dan hasil dari perhitungan akan terhapus. Adapun listing program Kalkulator Menghitung Total Transaksi: package java_3; public class Transaksi extends javax.swing.JFrame { /** Creates new form Transaksi */ private Jual j = new Jual(); public Transaksi() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @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(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); jTextField3 = new javax.swing.JTextField(); jTextField4 = new javax.swing.JTextField(); jTextField5 = new javax.swing.JTextField(); jToggleButton1 = new javax.swing.JToggleButton(); jToggleButton2 = new javax.swing.JToggleButton(); jToggleButton3 = new javax.swing.JToggleButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); addWindowListener(new java.awt.event.WindowAdapter() { public void windowActivated(java.awt.event.WindowEvent evt) { formWindowActivated(evt); } }); jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 12)); jLabel1.setText("Kode Barang"); jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 12)); jLabel2.setText("Nama Barang"); jLabel3.setFont(new java.awt.Font("Times New Roman", 0, 12)); jLabel3.setText("Harga"); jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 12)); jLabel4.setText("Quontity"); jLabel5.setFont(new java.awt.Font("Times New Roman", 0, 12)); jLabel5.setText("Total"); jTextField1.setFont(new java.awt.Font("Times New Roman", 0, 12)); jTextField2.setFont(new java.awt.Font("Times New Roman", 0, 12)); jTextField3.setFont(new java.awt.Font("Times New Roman", 0, 12)); jTextField4.setFont(new java.awt.Font("Times New Roman", 0, 12)); jTextField5.setFont(new java.awt.Font("Times New Roman", 0, 12)); jToggleButton1.setFont(new java.awt.Font("Times New Roman", 0, 12)); jToggleButton1.setMnemonic('T'); jToggleButton1.setText("Hitung"); jToggleButton1.setToolTipText("Klik untuk menghitung"); jToggleButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jToggleButton1ActionPerformed(evt); } }); jToggleButton2.setFont(new java.awt.Font("Times New Roman", 0, 12)); jToggleButton2.setMnemonic('R'); jToggleButton2.setText("Reset"); jToggleButton2.setToolTipText("Klik untu menghapus"); jToggleButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jToggleButton2ActionPerformed(evt); } }); jToggleButton3.setFont(new java.awt.Font("Times New Roman", 0, 12)); jToggleButton3.setMnemonic('E'); jToggleButton3.setText("Exit"); jToggleButton3.setToolTipText("Klik untuk keluar"); jToggleButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jToggleButton3ActionPerformed(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() .addGap(29, 29, 29) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel3) .addComponent(jLabel4) .addComponent(jLabel5)) .addGap(70, 70, 70) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 76, Short.MAX_VALUE) .addComponent(jTextField2) .addComponent(jTextField3) .addComponent(jTextField4) .addComponent(jTextField5)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 58, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jToggleButton2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jToggleButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jToggleButton3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(49, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(19, 19, 19) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jToggleButton1)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(28, 28, 28) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(27, 27, 27) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(26, 26, 26) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(layout.createSequentialGroup() .addGap(55, 55, 55) .addComponent(jToggleButton2))) .addGap(27, 27, 27) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jToggleButton3)) .addContainerGap(67, Short.MAX_VALUE)) ); pack(); }// </editor-fold> private void formWindowActivated(java.awt.event.WindowEvent evt) { jTextField1.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField2.setText(""); jTextField5.setText(""); jTextField1.requestFocus(); } private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) { j.setHarga(Integer.parseInt(jTextField3.getText())); j.setQty(Integer.parseInt(jTextField4.getText())); jTextField5.setText(j.getTotal()+""); } private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField2.setText(""); jTextField5.setText(""); jTextField1.requestFocus(); } private void jToggleButton3ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } /** * @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(Transaksi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Transaksi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Transaksi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Transaksi.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 Transaksi().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.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField4; private javax.swing.JTextField jTextField5; private javax.swing.JToggleButton jToggleButton1; private javax.swing.JToggleButton jToggleButton2; private javax.swing.JToggleButton jToggleButton3; // End of variables declaration }