You are on page 1of 10

LAPORAN PRAKTIKUM

PEMROGRAMAN DESKTOP
MODUL 5 & 6

DI SUSUN OLEH
NAMA :
Ihsan Hari
Nugroho
NIM :
095610091

Di susun oleh
Nama :
Ihsan
Hari Nugroho
Nim : 095610091

LABORATORIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM
YOGYAKARTA
2010

PERTEMUAN KE – 5
PENGELOLAAN FILE TEXT
PEMBAHASAN

Pada praktikum ke -5 ini kita akan membahas tentang pengelolaan file text, dan dalam
menampilkan pemilihan berkas dapat digunakan Class JFileChosser yamg mempunyai fungsi
sebagai penampil dialog modal yang secara default memuat pemilih berkas.
Langkah pertama dalam praktikum ini kita membuat class yang kita beri nama fNotes, dan
agar class fNotes bias dijalankan saat program diRun untuk pertama kali maka perlu kita
tambahkan program berikut pada class main java’nya :

public class Main {


public static void main(String[] args) {
new fNotes().setVisible(true);
}
}
Program di atas berfungsi untuk menjadikan form fNotes akan dijalankan pada saat project
diRun pertama kali.
Lankah kedua kita masuk ke dalam mendesign form dari fNotes, design sebagai berikut :

Dan komponen – komponen yang kita gunakan adalah sebagai berikut :


Dan juga pada packagenya kita harus mengimport beberapa class yang dibutuhkan pada
fNOtes ini yaitu :
package modul5;
import javax.swing.*;
import java.io.*;
import javax.swing.filechooser.FileFilter;
Langkah berikutnya adalah membuat method dan class baru pada bagian paling bawah dari
source fNotes.java yaitu :
private void msg(String pesan){
JOptionPane.showMessageDialog(this, pesan,"Informasi",
JOptionPane.INFORMATION_MESSAGE);}
Program diatas adalah untuk memudahkan dalam menampilkan pesan dan juga untuk
memunculkan pesan dengan tombol OK.

Berikutnya lanjut dibawahnya menambahkan method okToReplace :


private boolean okToReplace(){
return (JOptionPane.showConfirmDialog(this,
"File"+file.getName()+"Sudah Ada\n"+
"Akan Ditimpa ?",
"Peringatan",JOptionPane.YES_NO_OPTION)==0);
}
Program diatas berguna untuk menampilkan pertanyaan “File sudah ada akan ditimpa?”
Jika pilihan mengembalikan 0 (Yes) berarti true atau benar.

Berikutnya menambahkan method lagi yaitu :


private void SimpanFile() {
PrintWriter pw = null;
try {
pw = new PrintWriter (new BufferedWriter (new FileWriter (file)));
} catch (IOException e) {
msg ("Gagal Simpan File :"+ file.getName ());
return;
}
pw.print(editor.getText());
pw.close();
}
Program diatas untuk melakukan penyimpanan File yang sedang dibuka dan juga jika
berhasil simpan akan memunculkan nama file dan variable fileBaru menjadi False.
Berikutnya menambahkan method lagi yaitu :
public class jenisFile extends FileFilter {
private String[] s;
public jenisFile (String [] sArg){
s = sArg;
}
Program diatas adalah menentukan jenis file apa yang akan ditampilkan, diatas ini jenis file
String yang ditentukan.
public boolean accept(File fArg){
if (fArg.isDirectory())
return true;
diatas menjelaskan bahwa jika extension dari file tersebut sesuai dengan syarat, maka file
akan ditampilkan.
for (int i = 0;i< s.length; ++i)
if
(fArg.getName().toLowerCase().indexOf(s[i].toLowerCase())>0)
return true;
return false;
}
public String getDescription(){
String tmp ="";
for (int i=0;i < s.length;i++)
tmp+= "*" + s[i] + " ";
return tmp;
}
}
Program diatas ini berfungsi untuk melakukan filter pada file apa saja yang dapat dibuka atau
ditampilkan.

Berikutnya menyiapakan variable baru yaitu JFileChosser, seperti pada program dibawah ini :
public class fNotes extends javax.swing.JFrame {
JFileChooser fc;
File file;
boolean fileBaru;
final String[] EXT ={".csv"};
final String[] EXT2 = {".txt",".java"};
public fNotes() {
di atas adalah program untuk memilih atau menentukan jenis file yang akan ditampilkan,
yaitu jenis file “csv” dan jenis file “txt.java”.
initComponents();
this.setTitle("Untlited - NOTES");
menentukan saat diawal aplikasi Judul sama dengan “Untlited – NOTES”.
fc = new JFileChooser();
fc.addChoosableFileFilter(new jenisFile(EXT));
fc.addChoosableFileFilter(new jenisFile(EXT2));
fc.setAcceptAllFileFilterUsed(false);
fileBaru = true;
}
Diatas ini menjelaskan bahwa Filter bawaan yang “All File” di”sable”kan dan juga variable
file baru diinisialisasi dengan TRUE.
Dan sekarang kita masuk pada perintah – perintah untuk tiap tombol button yang terdapat
pada fNotes. Yang pertama adalah perintah untuk tombol New..
Yaitu sebagai berikut :
private void btnNewActionPerformed(java.awt.event.ActionEvent evt) {
editor.setText(" ");
editor.requestFocus();
this.setTitle(" Untlited - NOTES");
fileBaru = true;
}
Maksud dari perintah diataws adalah jika tombol New ditekan maka program awal akan
bernama Untlited – NOTES dan akan ada lembaran baru untuk user atau pemakai bias
mengetik file baru.

Hasil outputnya adalah sebagai berikut :

Yang berikutnya adalah perintah untuk tombol Save As..


Yaitu sebagai berikut :
private void btnSaveAsActionPerformed(java.awt.event.ActionEvent evt) {
if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION){
file = fc.getSelectedFile();
if (!file.exists() || okToReplace())
SimpanFile();
}
}
Maksud dari program diatas apabila tombol Save As ditekan akan menampilkan sebuah
frame yang akan menunjukan dimana akan kita simpan file kita yang baru tadi dengan kita
bias memberi nama file tersebut dengan nama yang baru dan kita juga bisa bebas memilih
dimana lokasi untuk menyimpannya.
Hasil outputnya adalah sebagai berikut :
Yang berikutnya adalah perintah untuk tombol Save..
Yaitu sebagai berikut :
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (fileBaru)
btnSaveAs.doClick();
else
SimpanFile();
}
Program diatas bermaksud apabila terdapat file baru maka picu tombol Save As untuk event
klik namun jika bukan Janis file yang baru dapat disimpan dengan langsung save saja.
Hasil output sebagai berikut :

Berikutnya adalah tombol perintah untuk tombol Open…


yaitu sebagai berikut :
private void btnOpenActionPerformed(java.awt.event.ActionEvent evt) {
int hasil = fc.showOpenDialog(this);
if (hasil == JFileChooser.APPROVE_OPTION){
file = fc.getSelectedFile();
try {
editor.read(new FileInputStream(file),null);
} catch (IOException e) {
msg ("Gagal Buka File :"+file.getName());
return;
}
}
this.setTitle(file.getName()+"-NOTES");
fileBaru=false;
}
Maksud dari program di atas adalah apabila tombol Open ditekan maka program akan
menampilkan beberapa tujuan folder yang bias dipilih untuk kita mencari atau membuka
kembali file yang telah kita simpan.
Hasil outputnya adalah :

Berikutnya adalah tombol perintah untuk tombol Keluar…


yaitu sebagai berikut :
private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
Maksud dari program tersebut adalah jika tombol keluar ditekan maka program fNotes akan
Ditutup atau close dan tidak akan menampilkan apa – apa karena system exitnya bernilai 0.

LATIHAN

Memodifikasi program agar bisa digunakan untuk membuka file : config.sys dan win.ini dan
perubahan program yang dilakukan adalah sebagai berikut :
JFileChooser fc;
File file;
boolean fileBaru;
final String[] EXT ={".csv"};
final String[] EXT2 = {".txt",".java"};
final String[] EXT3 = {".config",".sys"};
final String[] EXT4 = {".win",".ini"};
public fNotes() {
initComponents();
this.setTitle("Untlited - NOTES");
fc = new JFileChooser();
fc.addChoosableFileFilter(new jenisFile(EXT));
fc.addChoosableFileFilter(new jenisFile(EXT2));
fc.addChoosableFileFilter(new jenisFile(EXT3));
fc.addChoosableFileFilter(new jenisFile(EXT4));
fc.setAcceptAllFileFilterUsed(false);
fileBaru = true;
}
Dan hasil outputnya adalah sebagai berikut :
TUGAS

1. Persamaan dan perbedaan antara Class dibawah ini adalah :


- JTextArea
- JTextPane
- JEditorPane

2. Cara untuk membuat OpenDialog dengan JFileChosser dengan hanya memilih


Directory saja (tanpa file) adalah :

KESIMPULAN

Kesimpulan dari praktikum diatas adalah

LISTING

Terlampir…
PERTEMUAN KE – 6
APLIKASI IMAGE VIEWER
PEMBAHASAN