You are on page 1of 20

LAPORAN pemrograman dekstop java

PERTEMUAN KE 1 DAN 2



Disusun Oleh :
Nama : Mohamad Hanafi
Nim : 095410134
Jurusan : TEKNIK INFORMATIKA

LABOROTARIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM
YOGYAKARTA
2011


PERTEMUAN KE-1
PENGGUNAAN KOMPONEN DASAR

A. PEMBAHASAN
IDE Neatbeans memilki editor untuk file java yang berbasiskan teks ataupun GUI(Graphical User
Interface). Editor teks itu disebut Source Editor. Editor GUI telah kita kenal yaitu yang disebut GUI
builder.

Ada bermacam-macam proyek dan file java yang dapat dibuat di dalam Neatbeans. Kita dapat
melihat berbagai macam pilihanya dengan menjalankan menu File|Project dan File|New.

Neatbeans sebagai IDE ditujukan untuk memudakan pemrograman java. Dalam neatbean
pemrograman dilakukan berbasiskan virsual dan event-drivent. Untuk membuat dialog atau user
interface tudak diperkukan untuk membuat teks program baris perbaris secara manual melainkan
cukup memilih dengan melakukan klik pada component pallete dan teks program akan di generete
secara otomatis.

Suatu user interface mempunyai bentuk dasar yang sederhana yaitu tempat untuk mengisikan
sesuatu, yang dapat diwakili oleh class JtextField. Tlisan sebagai penjelas informasi yang dapat
diwakili oleh class Jlabel dan suatu tombol untuk memeberi kesempatan user melakukan
pemrosesan yang dapat diwakili oleh class Jbotton.

Di dalam netbeans, semua perancangan dan pemrograman dilakukan didalam kerangka sebuah
proyek. Proyek netbeans merupakan sekumpulan file yang dikelompokkan di dalam satu kesatuan,
pada umumnya sebuah proyek, beserta file-file isinya, akan ditempatkan di dalam satu direktori.
Meskipun dmikian ada juga proyek yang dapat menangani file-file yang terpisah direktorinya.
Apakah file-file ini disatukan atau terpisah direktorinya, tergantung dari jenis proyeknya. Ada jenis
proyek standar dan ada proyek bebas(free-from). Proyek standar memakai skrip Ant (otomatis
dibuat oleh neatbeans), sedangkan proyek free-form memakai skrip Ant yang dapat diibuat sendiri.

Praktek dalam praktikum :
Pada langkah awal praktikum yaitu membuat class pada neatbeans terlebih dahulu seperti pada yang
ada dibawah ini :

Setelah mendeklarasikan pada class yang telah dibuat maka pada klass yang telah kita buat tadi yang
ada disebelah kiri pada neatbaens klik new lalu cari Jfrom maka akan muncul seperti dibawah ini :


Maka akan dibukakkan jendela Jfrom:

Dalam tabel Class Name kita disuruh mangisikan pada tabel tersebut terserah namanya tapi dalam
praktikum yang telah dibahas dalam pertemuan ke satu diberi nama fHitung.

Setelah diklik finish maka jendela Jfrom akan ditampilkan sesuai dengan gambar idatas dalam
printout diatas sudah saya masukin atau sudah saya buat cara untuk membuat pada from diatas
adalah menggunakan label dan untuk mengisikan yang kosong dalam arti sebagai outputan untuk
diisi oleh user atau prgrammernya maka dibutuhkan Text Field untuk mencari label dan Text field
ada disebelah kanan pada jendela pallet.

Didalam jedela editor, terbuka form di dalam ragam (view) Design. Perhatikan ada dua tab didalam
jendela editor, yaitu tab source dan tab design. Tab source merupakan source Editor, sedangkan tab
Design merupakan GUI builder.
Ditampilkan juga jendela Inspector, Pallete, dan Properties.
Jendela Inspector merupakan representasi dari form dalam bentuk struktural hierarkis. Jendela ini
berisikan daftar semua komponen yang ada didalam aplikasi, baik yang visual ataupun non-visual.
GUI builder dan Inspector selalu sinkron. Artinya jika kita melakukan klik untuk memilih sebuah
komponen didalam GUI builder, otomatis komponen yang bersangkutanakan dipilih juga didalam
jendela Inspector. Demikian juga sebaliknya.

Jendela pallete menampilkan daftar komponen java yang dapat dipilih untuk diletakkan didalam
kontainer dari form. Lakukan Scroll kebawah dalam jendela ini maka akan terlihat beberapa
kelompok komponen. Defaultnya adalah swing(JFC)/Swing), AWT dan Beans(javaBeans).
Jendela propertis memiliki tab, yaitu Propertis, Events,dan Code. Tab Events menampilkan daftar
event dari komponen. Tab code menampilkan daftar properti yang mengontrol kode java yang
dihasilkan untuk java Bean.

package pmodul1;
import java.text.*;
pada penlisan format program diatas digunakan untuk penulisan angka dengan pemisah ribuan
yang ditulis dibawahnya package pmodul1;kemudian kembali ke tampilan desain Form agar
saat ditekan tombol hitung terjadi proses seperti skenario ,aka menuliskan kode program

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
float jumlah = Float.parseFloat(txtHarga.getText())*
Float.parseFloat(txtQTY.getText());
Program tersebut adalah untuk mendeklarikan harga yang dimasukkan dalam program dan
mendeklarasikan QTY yang dimasukkan oleh user atau programmer maka akan dideklarasikan dalam
program ini
txtTotal.setText(Float.toString(jumlah));
DecimalFormat angka = new DecimalFormat("###,###");
lblTotal.setText("TOTAL : Rp. "+angka.format(jumlah));
}
Sedangkan program ini untuk mendeklarasikan semua yang diinputkan dalam compiler program
maka akan dihitung dalam program ini yang dalam kurung yang berisi ("TOTAL : Rp.
"+angka.format(jumlah)); ini untuk menampilkan hasil akhir setelah semua yang
diinputkan oleh seorang programmer/user.
Program diatas adalah isi dari skenario batton Hitung
Seperti pada tampilan dibah ini :


Sedangkan dalam program keluar adalah sebagai berikut:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
JOptionPane.showMessageDialog(this,
"Terima kasih sudah membeli"+
txtNamaBarang.getText());
deklarasi dalam program tersebut adalah menjelaskan kepada user untuk memberi tahu bahwa ada
ucapan terima kasih sudah membeli apabila dalam program tersebut diklik tombol keluar
System.exit(0);
}
Pada program ini yaitu untuk menutup form pada hasil output dari program yang dijalankan
Seperti pada gambar dibawah ini:



B. KESIMPULAN
Di dalam semua dialog yang ditampilkan oleh program dekstop lebih telitilah dalam mengotak-atik
isinya agar seorang user atau Programmer tidak bingung untuk menginputkan isi dalam program
yang dijalankan atau di run dan apabila telah membuka jForm pada saat bersamaan maka jFrom
tersebut akan error programnya lebih baik apabila akan membuka jForm satu persatu saja atau yang
tidak digunakan sebaiknya di tutup saja.

C. TUGAS
package tmodul1;
import java.text.*;

public class fkuadrat extends javax.swing.JFrame {

public fkuadrat() {
initComponents();
}
private void initComponents() {

jLabel1 = new javax.swing.JLabel();
txtAsal = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
txtTujuan = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
txtAngkaAwal = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
txtHasilKuadrat = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();


setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setText("Asal");

txtAsal.setHorizontalAlignment(javax.swing.JTextField.LEFT);

jLabel2.setText("Tujuan");


txtTujuan.setHorizontalAlignment(javax.swing.JTextField.LEFT);
txtTujuan.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
txtTujuanActionPerformed(evt);
}
});

jLabel3.setText("Angka Awal");


txtAngkaAwal.setHorizontalAlignment(javax.swing.JTextField.RIGHT);

jLabel4.setText("Hasill Kuadrat");


txtHasilKuadrat.setHorizontalAlignment(javax.swing.JTextField.RIGHT)
;

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

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

org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEAD
ING)
.add(jLabel1)
.add(jLabel2)
.add(jLabel3)
.add(jLabel4))
.add(30, 30, 30)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEAD
ING)
.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAI
LING, false)

.add(org.jdesktop.layout.GroupLayout.LEADING, txtHasilKuadrat)

.add(org.jdesktop.layout.GroupLayout.LEADING, txtAngkaAwal,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE))
.add(18, 18, 18)
.add(jButton2))
.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAI
LING, false)

.add(org.jdesktop.layout.GroupLayout.LEADING, txtTujuan)

.add(org.jdesktop.layout.GroupLayout.LEADING, txtAsal,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE))
.add(18, 18, 18)
.add(jButton1)))
.addContainerGap(44, Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASE
LINE)
.add(jLabel1)
.add(txtAsal,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton1))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASE
LINE)
.add(jLabel2)
.add(txtTujuan,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(56, 56, 56)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASE
LINE)
.add(jLabel3)
.add(txtAngkaAwal,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton2))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASE
LINE)
.add(jLabel4)
.add(txtHasilKuadrat,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addContainerGap(137, Short.MAX_VALUE))
);

pack();
}

private void txtTujuanActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
String a = txtAsal.getText();
txtTujuan.setText((a));
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
float hasil = Float.parseFloat(txtAngkaAwal.getText())*
Float.parseFloat(txtAngkaAwal.getText());
txtHasilKuadrat.setText(Float.toString(hasil));
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new fkuadrat().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JTextField txtAngkaAwal;
private javax.swing.JTextField txtAsal;
private javax.swing.JTextField txtHasilKuadrat;
private javax.swing.JTextField txtTujuan;
// End of variables declaration

}
Hasil dari Tugas tersebut adalah:


















PERTEMUAN KE-2
KOMPONEN PEMILIHAN 1

A. PEMBAHASAN
checkBox adalah komponen yang biasa digunakan untuk memilih pilihan daridua kemungkinan,
biasanya berupa jawaban ya atau tidak.
RadioButton merupakan suatu kelompok pilihan, pilihan bisa dua atau lebih akan tetapi dalam satu
kelompok tersebut hanya diperkenankan untuk memilih satu pilihan saja.
Dalam Swing, CheckBox bisa dibuat menggunakan Class JcheckBox, sedangkan untuk radio button
dibutuhkan dua Class yaitu JradioButton untuk pembuatan radiobutton dan ButtonGroup untuk
mengelompokkan beberapa radiobutton ke dalam satu grup.


Untuk pembuatan hasil output tersebut untuk pemuatan Soto,Sate,Es Jeruk dan EsTeh yang
diperlukan adalah menggunakan CheckBox sedangkan dalam tabel Quantity yaitu menggunakan
textField dan untuk hitung dan kosongkan yaitu menggunakan Button untuk Rp.0 dan cara bayar
yang diluar kotak yaitu menggunakan Label untuk yang didalam tabel menggunakan Panel dan di
dalam tabel kan ada pilihan yaitu menggunakan Radiobutton.

public fwarung() {
initComponents();
rdgCaraBayar.add(rdoCash);
rdgCaraBayar.add(rdoBCA);
rdgCaraBayar.add(rdoMandiri);
}
Dalam program tersebut yaitu untuk menampilkan atau mengganti label yang sebelumnya ditulis
dengan cara bayar apabila user memilih salah satu maka dalam label cara bayar akan berubah sesuai
dengan user memilihnya .

private void chkSotoActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if (chkSoto.isSelected()){
txtSoto.setEditable(true);
txtSoto.setText("1");
}else{
txtSoto.setEditable(false);
txtSoto.setText("0");
}
}
private void chkSateActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if (chkSate.isSelected()){
txtSate.setEditable(true);
txtSate.setText("1");
}else{
txtSate.setEditable(false);
txtSate.setText("0");
}
}
private void chkEsJerukActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
if (chkEsJeruk.isSelected()){
txtEsJeruk.setEditable(true);
txtEsJeruk.setText("1");
}else{
txtEsJeruk.setEditable(false);
txtEsJeruk.setText("0");
}

}
private void chkEsTehActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if (chkEsTeh.isSelected()){
txtEsTeh.setEditable(true);
txtEsTeh.setText("1");
apabila dalam menu esteh,es jeruk,soto dan sate di pilih atau diberi tanda centang maka program
akan membaca true yang berarti benar dan didalam kotak chk es teh akan terisi secara otomatis 1
}else{
txtEsTeh.setEditable(false);
txtEsTeh.setText("0");
}
}
Apabila tidak diedit maka program akan mengisi secara default 0.

Deklarasi diatas yaitu apabila dalam menu soto ,sate,Es jeruk dan Es Teh diberi tanda centang maka
dalam Quantity akan menghasilkan angka 1 dan apabila centangnya dihilangin maka dalam Quantity
tersebut akan menghasilkan nilai 0 atau tidak bisa diedit dalam kotak Quantity.
hasil outputnya :


private void btnHitungActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
boolean lDataOke = true;
untuk lDataOke diberi tipe data boolean yaitu true
if (chkSoto.isSelected() && txtSoto.getText()== null)
lDataOke = false;
if (chkSate.isSelected() && txtSate.getText()== null)
lDataOke = false;
if (chkEsJeruk.isSelected() && txtEsJeruk.getText()== null)
lDataOke = false;
if (chkEsTeh.isSelected() && txtEsTeh.getText()== null)
lDataOke = false;
deklarasi untuk mengisi kotak dalam Quantity apabila tidak diisi maka program akan error sebaiknya
kalau tidak diisi maka dilakukan pencentangan pada menunya centang 2 kali maka isi kolom tersebut
akan kosong sehingga dalam program tersebut membaca bahwa menu yang disediakan tidak
dipesan maka program berjalan dengan lancar kenapa bisa error? Karena dalam menu tersebut
sudah disediakan programnya maka apabila user tidak memesan maka dilakukan centangan 2 x pada
satu tempat menu maka program akan membaca bahwa menu tersebut tidak dipesan.

if (!lDataOke){
JOptionPane.showMessageDialog(this,"Data Dilengkapi
dahulu");
Apabila dalam program tersebut menu yang disediakan tidak di centang semua dalam kata lain tidak
ada yang mesan maka dari sinilah program menanggulangi masalah tersebut maka akan
memunculkan pesan seperti berikut ini :


}else{
int nSoto = Integer.parseInt(txtSoto.getText());
int nSate = Integer.parseInt(txtSate.getText());
int nEsJeruk = Integer.parseInt(txtEsJeruk.getText());
int nEsTeh = Integer.parseInt(txtEsTeh.getText());
deklarasi tersebut yaitu untuk memudahkan buat variabel baru yang dimana variabel ini akan
dilakukan untuk program menghitung program selanjutnya.

int nTotal = (5000*nSoto)+
(10000*nSate)+(2000*nEsJeruk)+(1500*nEsTeh);
lblTotal.setText("Rp. "+nTotal);
disinlah deklarasi diatas untuk dipanggil kembali dalam menghitung sesuai harga menu perporsinya.

if (rdoCash.isSelected())
lblCaraBayar.setText(rdoCash.getActionCommand());
if (rdoBCA.isSelected())
lblCaraBayar.setText(rdoBCA.getActionCommand());
if (rdoMandiri.isSelected())
lblCaraBayar.setText(rdoMandiri.getActionCommand());
}
}
Deklarasi tersebut yaitu apabila dalam menghitung pada program maka cara bayar yang dipilih oleh
user atau programmer akan mengubah label cara bayar yang ada di bawah sesuai dengan
memilihnya user/programmer.
Seperti pada tampilan berikut ini :

private void btnKosongActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
chkSoto.setSelected(false);
chkSate.setSelected(false);
chkEsJeruk.setSelected(false);
chkEsTeh.setSelected(false);
txtSoto.setText("0");
txtSate.setText("0");
txtEsJeruk.setText("0");
txtEsTeh.setText("0");
txtSoto.setEditable(false);
txtSate.setEditable(false);
txtEsJeruk.setEditable(false);
txtEsTeh.setEditable(false);
rdoCash.setSelected(true);
lblTotal.setText("Rp. 0");
lblCaraBayar.setText("Cara Bayar");
}
Yaitu mendeklarsikan apabila dalam Button kosongkan maka isi dari menu-menu tersebut akan
dikosongkan secara keseluruhan:


Pada latihan :
Yang pertama yaitu mengubah label cara bayar dengan diganti dengan UANG CASH


Dalam program tersebut dituliskan dengan seperti berikut :
public fwarung() {
initComponents();
rdgCaraBayar.add(rdoCash);
rdgCaraBayar.add(rdoBCA);
rdgCaraBayar.add(rdoMandiri);
lblCaraBayar.setText("UANG CASH");
}
Dalam latihan yang kedua yaitu apabila dalam menu cara bayar diklik maka dalam label cara bayar
akan berubah seperti berikut ini ;






B. KESIMPULAN
kita tidak akan mengubah label dalam bentuk output yang dikeluarkan oleh program yang kita
lakukan adalah mengubah program yang ada di form yang mana yang akan kita rubah sesui dengan
tombol atau label yang akan kita rubah. Tujuan dari program ini hanyalah sebagai sarana untuk
menunjukkan berbagai fitur source Editor dan pada aspek pemrogramannya.
C. TUGAS
private void rdoPriaActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if (rdoPria.isSelected()){
lblPasangan.setEditable(true);
lblPasangan.setText("Nama Istri");
}else{
lblPasangan.setEditable(false);
lblPasangan.setText("");
}
}
private void rdoWanitaActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
if (rdoWanita.isSelected()){
lblPasangan.setEditable(true);
lblPasangan.setText("Nama Suami");
}else{
lblPasangan.setEditable(false);
lblPasangan.setText("");
}
}

private void
chkMenikahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (chkMenikah.isSelected()){
txtJumAnak.setEditable(true);
txtJumAnak.setText("");
}else{
txtJumAnak.setEditable(false);
txtJumAnak.setText("0");
}
}

private void
btnHitungGajiTotalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int nGajiPokok = Integer.parseInt(txtGajiPokok.getText());
int nJumAnak = Integer.parseInt(txtJumAnak.getText());
//int nGajiTotal = Integer.parseInt(txtGajiTotal.getText());

if(nJumAnak >= 3){
float nTotal = nGajiPokok + ((nGajiPokok * 0.1F * 3));
txtGajiTotal.setText("Rp. "+nTotal);
if(nJumAnak < 3){
float ntotal = nGajiPokok + ((nGajiPokok * 0.1F *
nJumAnak));
txtGajiTotal.setText("Rp. "+ntotal);
}
}


}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new tugas_modul2().setVisible(true);
}
});
}
Hasil outputnya :

D. LISTING
terlampir

You might also like