Anda di halaman 1dari 17

LAPORAN pemrograman dekstop

PERTEMUAN KE 7 dan 8



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

LABOROTARIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM
YOGYAKARTA
2011


PERTEMUAN KE-7
MENU DAN MULTI FORM

A. PEMBAHASAN
Menu dalam suatu aplikasi memegang peranan sangat penting .Menu adah suatu media
untuk melakukan pemilihan atau menjalankan suatu proses dalam aplikasi .Pilihan diberikan
dari sebuah menu dapat dipilih oleh operator oleh sejumlah metode(disebut interface);
- Menekankan satu atau lebih tombol paa keybord atau mouse
- Menggunakan elektromekanis pointer seperti pena cahaya
- Menyentuh pada tampilan layar dengan jari
- Berbicara dengan system pengealan suara

Penggunaan umum menu adalahuntuk menyediakan akses mudah ke berbagai operasi
seperti menyimpan atau membuka file ,keluar dari program,atau memanipulasi
data..MenuPuldown adlah jenis yang biasanya digunakan dalam menu bar (biassanya disekat
bagian atas jendela atau layar ) yang paling sering untuk melakukan tindakan .
1 Class
VariableName
JMenuBar
JMenubar1
2 Class

VariableName
Text
Jmenu(sub dari JmenuBar,jadi otomatis
akan muncul saat pilih JMenuBar)
JMenu1
Menu
Sehingga akan muncul form seperti ini :


Script program yang ada di fBarang
private void btnTutupActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}
script diats digunakan untuk menutup aplikasi pada from fbarang sehingga ketika button
ditekan maka form fbarang akan tertutup /keluar dalam hal ini from tidak akan tertutup
semua hanya yang dikeluarkan yaitu pada fBarang sehingga aplikasi akan berakhir karena
tidak ada form yang ditampilkan.

Script pada menu barang
private void mnBarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fBarang(this,false).setVisible(true);
}
Script diatas adalah untuk memanggil form yang dibuat yang bernama fBarang dan script
tersebut utamanya yaitu apabila pada keluaran program tampilan barang dklik maka pada
tampilan menu utamanya(fMenuutama) tidak dapat dklik maka user harus menutup menu
barang terlebih dahulu. Apabila program yang (this,false) diganti dengan (this,true) maka pada
tampilan menu utama bisa digunakan untuk menu yang lainnya meskipun program barang
masih berjalan.
Maka tampilan hasilnya akan seperti ini :


private void mnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
Perintah diatas merupakan sourcode pada button keluar dimana system.exit(0)merupakan
perintah yang digunakan untuk menutup system secara keseluruhan. Output tampilan aplikasi
sederhana

public class Main {
public static void main(String[] args) {
// TODO code application logic here
new fMenuUtama().setVisible(true);
}
}
Perintah diatas merupakan perintah pada form main.java dimana perintah diatas digunakan
agar saat aplikasi dijalankan disemua programnya apabila dalam program ini dihilangkan maka
program yang ada di project tidak bisa berjalan bisa dikatakan ini adalah jantung dari program
maka yang keluar adalah form FmenuUtama yang keluar pertama kali.
LATIHAN :

Scrip latihan yaitu menu Help About
private void fAboutActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fAbout(this,true).setVisible(true);
}
Perintah diatas merupakan perintah ketika kita menekan menu help=>abaout kita tekan /pilih
maka scrip diatas akan mengaktifkan dan memunculkan form Fabout pada jendela window
dengan kata lain memanggil /menghubungkan form Fabout.
B. KESIMPULAN
Fungsi untuk menutup form digunakan perintah dispose(),sedangkan untuk menutup
aplikassi digunakan perintah system.exit(0). Untuk membuat menu pulldown pada system
digunakan komponen classs Jmenubar dan Jmenu. Modal form adalah form yang hanya
dibuka satu kali, jadi kita tidak dapat membuka form yang sama sebelum form yang pertama
selesai dilakukan. Modeless form adalah form yang dapat dibuka beberapa kali tanpa harus
menunggu form yang pertama selesai dilakukan.

C. TUGAS
1. Keuntungan kita menggunakan JDialog dibanding menggunakan JFrame pada saat kita
membuat fBarang adalah pada saat kita memanggil kelas tersebut, tampilan hanya akan
dapat langsung ditutup, tidak bisa di minimize, atau maximize jadinya akan menghemat
pemakaian sumber daya proses
2. Perbedaan System.exit(0) dengan dispose() adalah pada system.exit(0) akan menutup
aplikasi secara keseluruhan dan tidak dapat menjalankan perintah apapun .sedangkan
pada dispose() hanya akan menutup pada form tertentu yang saat itu dlam kedaan aktif
dan masih dapat menjalankan perintah lain setelah misal dalam memanggil form lain dsb.

TAMBAHAN
Source yang saya tampilkan Cuma source pada halaman pertama saja karena kalau
ditampilkan semua banyak sekali.....!!!!

Source program didalamnya
package tmodul7;

import javax.swing.JOptionPane;

/**
*
* @author MOHAMAD HANAFY
*/
public class mUtama extends javax.swing.JFrame {

private static void getwindows() {
throw new UnsupportedOperationException("Not yet implemented");
}

/** Creates new form mUtama */
public mUtama() {
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() {

jMenuBar2 = new javax.swing.JMenuBar();
jMenu5 = new javax.swing.JMenu();
jMenu6 = new javax.swing.JMenu();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu3 = new javax.swing.JMenu();
mnHitung = new javax.swing.JMenuItem();
mnWarung = new javax.swing.JMenuItem();
jMenu4 = new javax.swing.JMenu();
mnDaftar = new javax.swing.JMenuItem();
mnDialog = new javax.swing.JMenuItem();
mnNotes = new javax.swing.JMenuItem();
mnGambar = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
mnProfil = new javax.swing.JMenuItem();
mnKeluar = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();

jMenu5.setText("File");
jMenuBar2.add(jMenu5);

jMenu6.setText("Edit");
jMenuBar2.add(jMenu6);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Tampilan Menu Utama By Hanafi");

jLabel1.setFont(new java.awt.Font("Verdana", 1, 18)); // NOI18N
jLabel1.setText("INI ADALAH TAMPILAN MENU UTAMA");

jLabel2.setFont(new java.awt.Font("Verdana", 1, 18)); // NOI18N
jLabel2.setText("APABILA ANDA INGIN MELIHAT ISISNYA TINGGAL PILIH AJA");

jLabel3.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel3.setText("SUB MENU DI ATAS");

jLabel4.setFont(new java.awt.Font("Verdana", 1, 18)); // NOI18N
jLabel4.setText("OK...OK..OK...!!!!!");

jMenu1.setText("File");

jMenu3.setText("Aplikasi Hitung");

mnHitung.setText("From Hitung");
mnHitung.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnHitungActionPerformed(evt);
}
});
jMenu3.add(mnHitung);

mnWarung.setText("From Warung");
mnWarung.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnWarungActionPerformed(evt);
}
});
jMenu3.add(mnWarung);

jMenu1.add(jMenu3);

jMenu4.setText("Aplikasi Dekstop");

mnDaftar.setText("From Daftar");
mnDaftar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnDaftarActionPerformed(evt);
}
});
jMenu4.add(mnDaftar);

mnDialog.setText("From Dialog");
mnDialog.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnDialogActionPerformed(evt);
}
});
jMenu4.add(mnDialog);

mnNotes.setText("From Notes");
mnNotes.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnNotesActionPerformed(evt);
}
});
jMenu4.add(mnNotes);

mnGambar.setText("From Gambar");
mnGambar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnGambarActionPerformed(evt);
}
});
jMenu4.add(mnGambar);

jMenu1.add(jMenu4);

jMenuBar1.add(jMenu1);

jMenu2.setText("About");

mnProfil.setText("Profil");
mnProfil.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnProfilActionPerformed(evt);
}
});
jMenu2.add(mnProfil);

jMenuBar1.add(jMenu2);

mnKeluar.setText("Keluar");
mnKeluar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnKeluarActionPerformed(evt);
}
});

jMenuItem1.setText("Keluar semua form");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
mnKeluar.add(jMenuItem1);

jMenuBar1.add(mnKeluar);

setJMenuBar(jMenuBar1);

org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap(142, Short.MAX_VALUE)
.add(jLabel1)
.add(163, 163, 163))
.add(layout.createSequentialGroup()
.add(34, 34, 34)
.add(jLabel2))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap(249, Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabel4)
.add(jLabel3))
.add(257, 257, 257))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(44, 44, 44)
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(jLabel2)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(jLabel3)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel4)
.addContainerGap(116, Short.MAX_VALUE))
);

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

private void mnHitungActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fHitung(this,true).setVisible(true);
}

private void mnWarungActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fWarung(this,true).setVisible(true);
}

private void mnDaftarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fDaftar(this,true).setVisible(true);
}

private void mnDialogActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fDialog(this,true).setVisible(true);
}

private void mnNotesActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fNotes(this,true).setVisible(true);
}

private void mnGambarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fGambar(this,true).setVisible(true);
}

private void mnProfilActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fProfil(this,true).setVisible(true);
}

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Intjwb=JOptionPane.showConfirmDialog(this,"Yakinakan
Keluar?","konfirmasi",JOptionPane.YES_NO_OPTION);
if(jwb==0){
new mUtama().setVisible(false);
dispose();
}
else
mUtama.getwindows();
}

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

Untuk Aplikasi Hitung :
Tampilan From pada Hitung:



Untuk From pada Warung :


Untuk Aplikasi Dekstop
Untuk From pada Daftar :


Untuk From pada Dialog :







Untuk From pada Notes :




Untuk From pada Gambar :



Setelah kotak diberi nilai true atau dicentang maka gambar akan kellihatan normal :


Menu About Profil :



Menu Keluar :


D. LISTING
Terlampir












PERTEMUAN KE-8
APLIKASI SEDERHANA

A. PEMBAHASAN
Program Aplikasi dibuat dengan cara memudahkan user dalam menjalankan setiap
form/fitur yang ada dalam aplikasi tersebut,tetapi sering terjadi bahwa tidak semua user
diperbolehkan mengakses/membuka semua fitur yang ada dalam suatu aplikasi
.Pengaturan boleh tidaknya untuk membuka semua fitur atau bagian dari aplikasi
disebut dengan pengaturan hakakses user.Pada praktikum ini akan dibut pengaturan hak
akses yang paling dasar dengan memberikan nama dan password standart untuk masuk
kedalam aplikasi
Program yang ditentukan adalah tampilan seperti berikut:



Keterangan :
1 Class
VariableName
Text
JLabel
JLabel1
INI MENU UTAMA
2 Class
VariableName
Text
JButton
btnTutup
Tutup

private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
Sourcode diatas merupakan sourcode pada tombol keluar dari form Fpass dimana
system.exit(0) diatas digunakan untuk menutup seluruh aplikasi

Untuk form (fPass)
Dengan tampilan seperti berikut:


Keterangan :
1 Class
Variable Name
Text
:Jlabel
:Jlabel1
:User
2 Class
Variable Name
Text
:Jlabel
:Jlabel 2
:Password
3 Class
Variable Name
Text
:JtextField
:user

4 Class
Variable Name
Text
Echo Char
:JpasswordField
:pass
:
#
5 Class
Variable Name
Text
:Jbutton
:btnKeluar
:Keluar
6 Class
Variable Name
Text
:Jbutton
:btnLogin
:Login

private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String cUserBenar="stimik";
String cPassBenar="akakom";
String cUser=user.getText();
String cPass=String.valueOf(piss.getPassword());
if((cUserBenar.compareTo(cUserBenar)==0)&&
(cPass.compareTo(cPassBenar)==0)){
new fUtama().setVisible(true);
dispose();
}else {
JOptionPane.showMessageDialog(this,"user atau password yang anda masukan
salah");
user.setText("");
piss.setText("");
}
}
Perintah diatas merupakan perintah yang merupakan perintah untuk login dimana
username dan password telah diset dengan stimik yang dimasukan kedalam variable
CuserBenar dengan type data string,dan password telah diset akakom yang dimasukan
/disimpan dalam variable cPassBenar dengan type data string. User.getText merupakan
perintah yang digunakan untuk mengambil nilai dari komponen JtextField yang bernama
variable user kemudian dimasukan /disimpan kedalam variable cPass dengan type data
string.dari user dan password yang telah diset maka akan dibandingkan nilai dari cUser
dengan username yang telah diset dan disimpan dalam variable Cuserbenar dan
membandingkan nilai antara CPasss dengan nilai password yang telah diset dan disimpan
kedalam CpassBenar serta mengkovert kealam bentuk string.jika hasil yang dibandingkan
sama maka form fUtama akan aktif dan Form pass akan ditutup/disclose secara otomatis
dengan perintah dispose(),jika salah satu field password atau username belum diisi maka
akan menampilkan pesan user atau password masih kosong .tetapi jika kedua field sudah
diisi namumn nilai tidak sesuai dengan nilai user dan password yang telah diset maka
komponen Jtextfield (user)dan JpassswordField(pass) akan diset nilainya menjadi kosong.
Hasilnya :
Jika user yang dimasukkan benar maka form akan kembali kemenu utama :


Dan apabila password dan Usernya salah salah satu maupun keduannya maka akan
menampilkan pesan :



private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
Perintah diatas merupakan perintah pada button tutup pada Futama dimana
system.exit(0)merupakan perintah untuk menutup/menghentikan aplikasi secara
keseluruhan
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new fPass().setVisible(true);
}
});
}
Perintah diatas digunakan merupakan perintah pada main.java yang digunakan agar
program saat dijalankan maka form yang pertama kali muncul adalah form fPass.jika
setVisible kita buat false maka form fPass tidak akan keluar.
B. KESIMPULAN
Untuk membuat inputan password harus digunakan JpasswordField agar kerahasiaan
dapat terjamin dari pada menggunakan class JTextField.sedangkan inputan selain
password dapat menggunakan JtextField
Getpassword merupakan fungsi mengambil nilai dari class JPasssword sedangkan untuk
mengambil nilai dari class JTextField digunakan fungsi GetText
Dispose() digunakan untuk menutup aplikasi pada form tertentu dan masih dapat
menjalankan perintah lain,sedangkan fungsi system.exit(0) menutup seluruh program
aplikasi.
JPasswordField adalah komponen yang digunakan untuk menuliskan sebuah kata
sandi.Hasil tampilan karakter dalam JPassword tidak ditampilkan apa adanya tetapi
berupa symbol yang dapat kita atur sesuai dengan yang kita kehendaki.
C. TUGAS
1. Fungsi getText tidak dapat digunakan di dalam kelas JPasswordField karena get.Text
merupakan fungsi yang digunakan oleh komponen JtextField dan apa yang ada di
dalam ruang JPasswordField bukan merupakan teks biasa, akan tetapi semacam
kode yang dikonversi dari teks biasa, karena untuk bisa mengubahnya menjadi
bentuk teks biasa ( string ) maka kita harus mengkonversinya terlebih dahulu, dan
yang akan kita ambil adalah passwordnya ( getPassword ).
2. ValueOf merupakan fungsi yang digunakan untuk konversi nilai yang diambil dari
nilai dari Jpassword field menjadi string.
CompareTo adalah fungsi yang digunakan untuk membandingkan 2 string sama atau
tidak dengan memperhatikan besar kecilnya huruf string dari awal string sampai
akhir. Menghasilkan nilai 0 jika string pertama sama dengan string
kedua./membandingkan string pada komponen JpasswordField dengan string yang
dibuat sebagai pembandingnya.

D. LISTING
Terlampir