SlideShare a Scribd company logo
1 of 12
Download to read offline
PEMROGRAMAN JAVA LANJUT 
II - 1 
PRAKTIKUM II 
JAVA IO 
1. Tujuan 
Siswa dapat memahami penggunaan kelas-kelas untuk IO (Input Output) 
pada pemrograman Java. 
2. Praktikum 
2.1. Penunjang 
Java IO 
IO merupakan singkatan dari Input Output. Input melibatkan masukan data 
dari peralatan input, sedangkan output akan menampilkan data kepada 
pengguna. Java mendukung mekanisme input output di dalam package 
java.io dan java.nio. Kelas-kelas Java IO berdasarkan suatu hirarki kelas. 
Kelas dasar memiliki fungsi umum. Sedangkan kelas-kelas di bawahnya 
atau subkelas menambahkan fungsi yang lebih khusus. 
Java.io mempunyai 2 kategori utama yaitu kelas untuk menangani sistem 
file dan kelas untuk membaca dan menulis stream data. Kategori yang 
kedua terbagi lagi menjadi kelas untuk menangani byte stream dan kelas 
untuk menangani character stream. 
File 
Kelas File merepresentasikan suatu file ataupun direktori dalam sistem file 
melalui pathname. 
– Pathname 
• Unix: /usr/java/bin/javac 
• Windows: c:javabinjavac
PEMROGRAMAN JAVA LANJUT 
II - 2 
– Path representation 
• UNIX: /bin:/usr/bin:/usr/local/bin 
• Windows: c:bin;c:javabin 
Field, constructor dan method kelas File dapat dilihat pada dokumen Java 
API pada bagian java.io.File 
InputStream 
InputStream merupakan abstrak kelas untuk membaca byte stream. 
InputStream memiliki banyak subkelas yang memiliki fungsi yang lebih 
spesifik. Penjelasan lanjut, lihat dokumen Java API pada bagian 
java.io.InputStream. 
OutputStream 
OutputStream merupakan abstrak kelas untuk menulis byte stream. 
OutputStream memiliki banyak subkelas yang memiliki fungsi yang lebih 
spesifik. Penjelasan lanjut, lihat dokumen Java API pada bagian 
java.io.OutputStream. 
Reader 
Reader merupakan abstrak kelas untuk membaca character stream. 
Reader memiliki banyak subkelas yang memiliki fungsi yang lebih spesifik. 
Penjelasan lanjut, lihat dokumen Java API pada bagian java.io.Reader. 
Writer 
Writer merupakan abstrak kelas untuk menulis character stream. Writer 
memiliki banyak subkelas yang memiliki fungsi yang lebih spesifik. Penjelasan 
lanjut, lihat dokumen Java API pada bagian java.io.Writer. 
Serialization 
Serialization adalah fasilitas untuk menulis objek ke dalam stream (termasuk 
keadaannya) dan mencapainya kemudian sama persis. Java
PEMROGRAMAN JAVA LANJUT 
II - 3 
menyediakan interface Serializable. Kelas yang mensupportnya 
ObjectInputStream dan ObjectOutputStream. 
2.2. Latihan 
1. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi untuk mengecek separator pada OS yang digunakan 
import java.io.*; 
public class FileS { 
public static void main(String[] arg) { 
System.out.println(File.separator+" - "+ 
File.separatorChar+" - "+ 
File.pathSeparator+" - "+ 
File.pathSeparatorChar); 
} 
} 
2. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi untuk membuat satu file teks dan menulisnya 
import java.io.*; 
public class FileTest1 
{ 
public static void main(String args[]) throws IOException 
{ 
PrintWriter output = new PrintWriter(new File("test1.txt")); 
output.println("Hello World in one line!"); 
output.close();
PEMROGRAMAN JAVA LANJUT 
II - 4 
} 
} 
3. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi untuk mencoba method pada kelas File 
import java.io.*; 
import java.util.*; 
public class FileMethod 
{ 
public static void main(String[] args) throws IOException 
{ 
String filename; 
Scanner input = new Scanner(System.in); 
System.out.print("Masukkan nama file atau direktori"); 
System.out.print(" atau tekan <Enter> untuk keluar:"); 
filename = input.nextLine(); 
while(!filename.equals("")) //menguji bukan <ENTER> 
{ 
File fileDir = new File(filename); 
if(!fileDir.exists()) 
{ 
System.out.println("Nama file tidak ada"); 
break; 
} 
System.out.print(filename+ " adalah suatu "); 
if(fileDir.isFile()) 
System.out.println("file.");
PEMROGRAMAN JAVA LANJUT 
II - 5 
else 
System.out.println("direktori."); 
System.out.print("File/direktori ini "); 
if(!fileDir.canRead()) 
System.out.print("tidak "); 
System.out.println("dapat dibaca."); 
System.out.print("File/direktori ini "); 
if(!fileDir.canWrite()) 
System.out.print("tidak "); 
System.out.println("dapat ditulis."); 
if(fileDir.isDirectory()) 
{ 
System.out.println("Isi:"); 
String[] fileList = fileDir.list(); 
//tampilkan isi direktori 
for(int i=0; i<fileList.length; i++) 
System.out.println(" "+ fileList[i]); 
} 
else 
{ 
System.out.print("Ukuran file: "); 
System.out.println(fileDir.length()+ " bytes."); 
} 
System.out.print("Masukkan nama file atau direktori"); 
System.out.print(" atau tekan <Enter> untuk keluar:"); 
filename = input.nextLine(); 
}
PEMROGRAMAN JAVA LANJUT 
II - 6 
input.close(); 
} 
} 
Uji coba program di atas dengan memasukkan nama file atau nama 
direktori. 
4. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi untuk mengcopy file 
import java.io.*; 
import java.util.*; 
public class Copy 
{ 
public static void main(String[] args) throws IOException 
{ 
//cek kedua nama file sudah diinput 
if(args.length < 2) 
{ 
System.out.println("Anda harus memasukkan dua nama file."); 
System.out.println("Syntax:"); 
System.out.println(" java Copy <sumber> <tujuan>"); 
return; 
} 
Scanner sumber = new Scanner(new File(args[0])); 
PrintWriter tujuan = new PrintWriter(new File(args[1])); 
String input; 
while(sumber.hasNext()) 
{
PEMROGRAMAN JAVA LANJUT 
II - 7 
input = sumber.nextLine(); 
tujuan.println(input); 
} 
sumber.close(); 
tujuan.close(); 
} 
} 
5. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi penggunaan OutputStream 
import java.io.*; 
public class SysOut{ 
public static void main(String[] args) throws Exception { 
OutputStream stdout = System.out; 
stdout.write(104); // h 
stdout.write(101); // e 
stdout.write(108); // l 
stdout.write(108); // l 
stdout.write(111); // o 
stdout.write(10); // n 
stdout.flush(); 
} 
} 
6. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi penggunaan InputStream
PEMROGRAMAN JAVA LANJUT 
II - 8 
import java.io.*; 
public class SysIn{ 
public static void main(String[] args){ 
byte []b = new byte[10]; 
InputStream stdin = System.in; 
try { 
int len = stdin.read(b); 
for (int i=0;i<len;i++) 
System.out.write(b[i]); 
System.out.flush(); 
} catch ( IOException e) { 
e.printStackTrace(); 
} 
} 
} 
7. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi penggunaan InputStream dan method available 
import java.io.*; 
public class SysInAvailable{ 
public static void main(String[] args){ 
InputStream stdin = System.in; 
try { 
byte []b = new byte[stdin.available()]; 
int len = stdin.read(b);
PEMROGRAMAN JAVA LANJUT 
II - 9 
for (int i=0;i<len;i++) 
System.out.write(b[i]); 
System.out.flush(); 
} catch ( IOException e) { 
e.printStackTrace(); 
} 
} 
} 
8. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi menggunakan InputStreamReader 
import java.io.*; 
public class InputReader{ 
public static void main(String[] args){ 
InputStreamReader is = new InputStreamReader(System.in); 
try { 
char c; 
for (int i=0;i<10;i++) { 
c = (char) is.read(); 
System.out.write(c); 
} 
System.out.flush(); 
} catch ( IOException e) { 
e.printStackTrace(); 
} 
} 
}
PEMROGRAMAN JAVA LANJUT 
II - 10 
9. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian 
pahami dan berikan penjelasan dari program tersebut. 
//Aplikasi penggunaan serializable 
import java.io.*; 
public class Serialise 
{ 
public static void main(String[] args) 
throws IOException, ClassNotFoundException 
{ 
ObjectOutputStream outStream = new 
ObjectOutputStream(new FileOutputStream("personil.txt")); 
Personnel[] staff = { 
new Personnel(123456, "Smith", "John"), 
new Personnel(234567, "Jones", "Sally Ann"), 
new Personnel(999999, "Black", "James Paul") 
}; 
for(int i=0; i<staff.length; i++) 
outStream.writeObject(staff[i]); 
outStream.close(); 
ObjectInputStream inStream = new ObjectInputStream(new 
FileInputStream("personil.txt")); 
int staffCount = 0; 
try{ 
do{ 
Personnel person = 
(Personnel)inStream.readObject(); 
staffCount++;
PEMROGRAMAN JAVA LANJUT 
II - 11 
System.out.println("nStaff member "+ 
staffCount); 
System.out.println("Payroll number: "+ 
person.getPayNum()); 
System.out.println("Surname: "+ 
person.getSurname()); 
System.out.println("First name: "+ 
person.getFirstNames()); 
}while(true); 
} 
catch(EOFException e){ 
System.out.println("nn***End of file***n"); 
inStream.close(); 
} 
} 
} 
class Personnel implements Serializable 
{ 
private long payrollNum; 
private String surname; 
private String firstNames; 
public Personnel(long payNum, String sName, String fName) 
{ 
payrollNum = payNum; 
surname = sName; 
firstNames = fName; 
}
PEMROGRAMAN JAVA LANJUT 
II - 12 
public long getPayNum() 
{ 
return payrollNum; 
} 
public String getSurname() 
{ 
return surname; 
} 
public String getFirstNames() 
{ 
return firstNames; 
} 
public void setSurname(String sName) 
{ 
surname = sName; 
} 
} 
3. Tugas 
1) Ubahlah latihan 2, sehingga nama file berasal dari input pengguna 
(gunakan kelas Scanner). Data yang perlu dimasukkan ke dalam file 
adalah nilai matematika dari 10 orang pelajar, nilai terbesar, nilai terkecil 
dan rata-rata nilai tersebut.

More Related Content

What's hot

Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010eddie Ismantoe
 
STATISTIKA-Pengujian hipotesis
STATISTIKA-Pengujian hipotesisSTATISTIKA-Pengujian hipotesis
STATISTIKA-Pengujian hipotesisYousuf Kurniawan
 
Keseimbangan pendapatan nasional_ekonomi
Keseimbangan pendapatan nasional_ekonomiKeseimbangan pendapatan nasional_ekonomi
Keseimbangan pendapatan nasional_ekonomiYasmin Pambudi Putri
 
Soal latihan kalkulus fungsi
Soal latihan kalkulus fungsiSoal latihan kalkulus fungsi
Soal latihan kalkulus fungsiTika S
 
Distribusi hipergeometrik
Distribusi hipergeometrikDistribusi hipergeometrik
Distribusi hipergeometrikEman Mendrofa
 
Visual basic materi pembelajaran dasar
Visual basic materi pembelajaran dasarVisual basic materi pembelajaran dasar
Visual basic materi pembelajaran dasarmuhammad nainuridho
 
MAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTINGMAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTINGHanny Maharani
 
File1 soal contoh binomial dan poisson
File1 soal contoh binomial dan poissonFile1 soal contoh binomial dan poisson
File1 soal contoh binomial dan poissonIr. Zakaria, M.M
 
Arsitektur komputer paralel
Arsitektur komputer paralelArsitektur komputer paralel
Arsitektur komputer paraleledjimel
 
Aljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritAljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritriyana fairuz kholisa
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sqlLela Warni
 
Persoalan interpolasi Polinom
Persoalan interpolasi PolinomPersoalan interpolasi Polinom
Persoalan interpolasi Polinomsur kuati
 

What's hot (20)

Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
STATISTIKA-Pengujian hipotesis
STATISTIKA-Pengujian hipotesisSTATISTIKA-Pengujian hipotesis
STATISTIKA-Pengujian hipotesis
 
Keseimbangan pendapatan nasional_ekonomi
Keseimbangan pendapatan nasional_ekonomiKeseimbangan pendapatan nasional_ekonomi
Keseimbangan pendapatan nasional_ekonomi
 
Soal latihan kalkulus fungsi
Soal latihan kalkulus fungsiSoal latihan kalkulus fungsi
Soal latihan kalkulus fungsi
 
dasar-dasar algoritma
dasar-dasar algoritmadasar-dasar algoritma
dasar-dasar algoritma
 
Ciri – ciri slide yang baik
Ciri – ciri slide yang baikCiri – ciri slide yang baik
Ciri – ciri slide yang baik
 
Distribusi hipergeometrik
Distribusi hipergeometrikDistribusi hipergeometrik
Distribusi hipergeometrik
 
Visual basic materi pembelajaran dasar
Visual basic materi pembelajaran dasarVisual basic materi pembelajaran dasar
Visual basic materi pembelajaran dasar
 
MAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTINGMAKALAH CLOUD COMPUTING
MAKALAH CLOUD COMPUTING
 
File1 soal contoh binomial dan poisson
File1 soal contoh binomial dan poissonFile1 soal contoh binomial dan poisson
File1 soal contoh binomial dan poisson
 
Arsitektur komputer paralel
Arsitektur komputer paralelArsitektur komputer paralel
Arsitektur komputer paralel
 
4. metode transportasi
4. metode transportasi4. metode transportasi
4. metode transportasi
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
Aljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritAljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskrit
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
02.logika
02.logika02.logika
02.logika
 
Persoalan interpolasi Polinom
Persoalan interpolasi PolinomPersoalan interpolasi Polinom
Persoalan interpolasi Polinom
 
Teknik sampling
Teknik samplingTeknik sampling
Teknik sampling
 
Use skenario
Use skenarioUse skenario
Use skenario
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 

Similar to Modul belajar java I/O (Input/Ouptut)

Jeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis TeksJeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis TeksIndividual Consultants
 
2 file dan directory
2  file dan directory2  file dan directory
2 file dan directoryFajar Baskoro
 
Laporan1
Laporan1Laporan1
Laporan1Sa Lam
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
01.06 Java SE_getting user input
01.06 Java SE_getting user input01.06 Java SE_getting user input
01.06 Java SE_getting user inputJefri Fahrian
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
Chapter 10. Operasi IO.ppt
Chapter 10. Operasi IO.pptChapter 10. Operasi IO.ppt
Chapter 10. Operasi IO.pptTashidFafri1
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxPEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxBBXSQUAD
 
10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdf10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdfJurnal IT
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamentalLaode ADB Ali
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Asnita Meydelia C K
 

Similar to Modul belajar java I/O (Input/Ouptut) (20)

PBO Pratikum 1
PBO Pratikum 1PBO Pratikum 1
PBO Pratikum 1
 
Java
JavaJava
Java
 
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis TeksJeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
 
Prak 1
Prak 1Prak 1
Prak 1
 
2 file dan directory
2  file dan directory2  file dan directory
2 file dan directory
 
Ii java input ouput
Ii   java input ouputIi   java input ouput
Ii java input ouput
 
Laporan1
Laporan1Laporan1
Laporan1
 
Jeni Intro2 Bab12 Stream Io Lanjut
Jeni Intro2 Bab12 Stream Io LanjutJeni Intro2 Bab12 Stream Io Lanjut
Jeni Intro2 Bab12 Stream Io Lanjut
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
01.06 Java SE_getting user input
01.06 Java SE_getting user input01.06 Java SE_getting user input
01.06 Java SE_getting user input
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Chapter 10. Operasi IO.ppt
Chapter 10. Operasi IO.pptChapter 10. Operasi IO.ppt
Chapter 10. Operasi IO.ppt
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxPEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
 
Modul pbo baru
Modul pbo baruModul pbo baru
Modul pbo baru
 
10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdf10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdf
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamental
 
Laporan i
Laporan iLaporan i
Laporan i
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamental
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"
 

More from stephan EL'wiin Shaarawy

Modul praktikum dasar dasar pemrograman java
Modul  praktikum dasar dasar pemrograman javaModul  praktikum dasar dasar pemrograman java
Modul praktikum dasar dasar pemrograman javastephan EL'wiin Shaarawy
 
Tutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linuxTutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linuxstephan EL'wiin Shaarawy
 
Teknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronikaTeknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronikastephan EL'wiin Shaarawy
 
Pelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakatPelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakatstephan EL'wiin Shaarawy
 
Sejarah Nabi Muhammad SAW hijrah ke yatsrib
Sejarah Nabi  Muhammad SAW hijrah ke yatsribSejarah Nabi  Muhammad SAW hijrah ke yatsrib
Sejarah Nabi Muhammad SAW hijrah ke yatsribstephan EL'wiin Shaarawy
 

More from stephan EL'wiin Shaarawy (20)

Simulasi Dns Server di ubuntu server
Simulasi Dns Server di ubuntu serverSimulasi Dns Server di ubuntu server
Simulasi Dns Server di ubuntu server
 
Modul belajar tentang wireless
Modul belajar tentang wirelessModul belajar tentang wireless
Modul belajar tentang wireless
 
Netbeans gui tutorial
Netbeans gui tutorialNetbeans gui tutorial
Netbeans gui tutorial
 
Tutorial membuat form dalam netbeans
Tutorial membuat form dalam netbeansTutorial membuat form dalam netbeans
Tutorial membuat form dalam netbeans
 
Modul praktikum dasar dasar pemrograman java
Modul  praktikum dasar dasar pemrograman javaModul  praktikum dasar dasar pemrograman java
Modul praktikum dasar dasar pemrograman java
 
Tutorial connecting access netbeans
Tutorial connecting access netbeansTutorial connecting access netbeans
Tutorial connecting access netbeans
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
 
ebook Java desktop application
ebook Java desktop applicationebook Java desktop application
ebook Java desktop application
 
Full Buku sakti belajar hacker
Full Buku sakti belajar hackerFull Buku sakti belajar hacker
Full Buku sakti belajar hacker
 
Tutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linuxTutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linux
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
Teknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronikaTeknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronika
 
matriks inverse dalam kriptografi
matriks inverse dalam kriptografimatriks inverse dalam kriptografi
matriks inverse dalam kriptografi
 
Mengenal sistem Pada komputer
Mengenal sistem Pada komputer Mengenal sistem Pada komputer
Mengenal sistem Pada komputer
 
Mengenal komponen-Komponen elektronika
Mengenal komponen-Komponen elektronikaMengenal komponen-Komponen elektronika
Mengenal komponen-Komponen elektronika
 
Pelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakatPelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakat
 
Modul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox ProModul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox Pro
 
Makalah al islam
Makalah al islamMakalah al islam
Makalah al islam
 
Sejarah Nabi Muhammad SAW hijrah ke yatsrib
Sejarah Nabi  Muhammad SAW hijrah ke yatsribSejarah Nabi  Muhammad SAW hijrah ke yatsrib
Sejarah Nabi Muhammad SAW hijrah ke yatsrib
 
Kisah Nabi Isa. AS
Kisah Nabi Isa. ASKisah Nabi Isa. AS
Kisah Nabi Isa. AS
 

Modul belajar java I/O (Input/Ouptut)

  • 1. PEMROGRAMAN JAVA LANJUT II - 1 PRAKTIKUM II JAVA IO 1. Tujuan Siswa dapat memahami penggunaan kelas-kelas untuk IO (Input Output) pada pemrograman Java. 2. Praktikum 2.1. Penunjang Java IO IO merupakan singkatan dari Input Output. Input melibatkan masukan data dari peralatan input, sedangkan output akan menampilkan data kepada pengguna. Java mendukung mekanisme input output di dalam package java.io dan java.nio. Kelas-kelas Java IO berdasarkan suatu hirarki kelas. Kelas dasar memiliki fungsi umum. Sedangkan kelas-kelas di bawahnya atau subkelas menambahkan fungsi yang lebih khusus. Java.io mempunyai 2 kategori utama yaitu kelas untuk menangani sistem file dan kelas untuk membaca dan menulis stream data. Kategori yang kedua terbagi lagi menjadi kelas untuk menangani byte stream dan kelas untuk menangani character stream. File Kelas File merepresentasikan suatu file ataupun direktori dalam sistem file melalui pathname. – Pathname • Unix: /usr/java/bin/javac • Windows: c:javabinjavac
  • 2. PEMROGRAMAN JAVA LANJUT II - 2 – Path representation • UNIX: /bin:/usr/bin:/usr/local/bin • Windows: c:bin;c:javabin Field, constructor dan method kelas File dapat dilihat pada dokumen Java API pada bagian java.io.File InputStream InputStream merupakan abstrak kelas untuk membaca byte stream. InputStream memiliki banyak subkelas yang memiliki fungsi yang lebih spesifik. Penjelasan lanjut, lihat dokumen Java API pada bagian java.io.InputStream. OutputStream OutputStream merupakan abstrak kelas untuk menulis byte stream. OutputStream memiliki banyak subkelas yang memiliki fungsi yang lebih spesifik. Penjelasan lanjut, lihat dokumen Java API pada bagian java.io.OutputStream. Reader Reader merupakan abstrak kelas untuk membaca character stream. Reader memiliki banyak subkelas yang memiliki fungsi yang lebih spesifik. Penjelasan lanjut, lihat dokumen Java API pada bagian java.io.Reader. Writer Writer merupakan abstrak kelas untuk menulis character stream. Writer memiliki banyak subkelas yang memiliki fungsi yang lebih spesifik. Penjelasan lanjut, lihat dokumen Java API pada bagian java.io.Writer. Serialization Serialization adalah fasilitas untuk menulis objek ke dalam stream (termasuk keadaannya) dan mencapainya kemudian sama persis. Java
  • 3. PEMROGRAMAN JAVA LANJUT II - 3 menyediakan interface Serializable. Kelas yang mensupportnya ObjectInputStream dan ObjectOutputStream. 2.2. Latihan 1. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi untuk mengecek separator pada OS yang digunakan import java.io.*; public class FileS { public static void main(String[] arg) { System.out.println(File.separator+" - "+ File.separatorChar+" - "+ File.pathSeparator+" - "+ File.pathSeparatorChar); } } 2. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi untuk membuat satu file teks dan menulisnya import java.io.*; public class FileTest1 { public static void main(String args[]) throws IOException { PrintWriter output = new PrintWriter(new File("test1.txt")); output.println("Hello World in one line!"); output.close();
  • 4. PEMROGRAMAN JAVA LANJUT II - 4 } } 3. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi untuk mencoba method pada kelas File import java.io.*; import java.util.*; public class FileMethod { public static void main(String[] args) throws IOException { String filename; Scanner input = new Scanner(System.in); System.out.print("Masukkan nama file atau direktori"); System.out.print(" atau tekan <Enter> untuk keluar:"); filename = input.nextLine(); while(!filename.equals("")) //menguji bukan <ENTER> { File fileDir = new File(filename); if(!fileDir.exists()) { System.out.println("Nama file tidak ada"); break; } System.out.print(filename+ " adalah suatu "); if(fileDir.isFile()) System.out.println("file.");
  • 5. PEMROGRAMAN JAVA LANJUT II - 5 else System.out.println("direktori."); System.out.print("File/direktori ini "); if(!fileDir.canRead()) System.out.print("tidak "); System.out.println("dapat dibaca."); System.out.print("File/direktori ini "); if(!fileDir.canWrite()) System.out.print("tidak "); System.out.println("dapat ditulis."); if(fileDir.isDirectory()) { System.out.println("Isi:"); String[] fileList = fileDir.list(); //tampilkan isi direktori for(int i=0; i<fileList.length; i++) System.out.println(" "+ fileList[i]); } else { System.out.print("Ukuran file: "); System.out.println(fileDir.length()+ " bytes."); } System.out.print("Masukkan nama file atau direktori"); System.out.print(" atau tekan <Enter> untuk keluar:"); filename = input.nextLine(); }
  • 6. PEMROGRAMAN JAVA LANJUT II - 6 input.close(); } } Uji coba program di atas dengan memasukkan nama file atau nama direktori. 4. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi untuk mengcopy file import java.io.*; import java.util.*; public class Copy { public static void main(String[] args) throws IOException { //cek kedua nama file sudah diinput if(args.length < 2) { System.out.println("Anda harus memasukkan dua nama file."); System.out.println("Syntax:"); System.out.println(" java Copy <sumber> <tujuan>"); return; } Scanner sumber = new Scanner(new File(args[0])); PrintWriter tujuan = new PrintWriter(new File(args[1])); String input; while(sumber.hasNext()) {
  • 7. PEMROGRAMAN JAVA LANJUT II - 7 input = sumber.nextLine(); tujuan.println(input); } sumber.close(); tujuan.close(); } } 5. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi penggunaan OutputStream import java.io.*; public class SysOut{ public static void main(String[] args) throws Exception { OutputStream stdout = System.out; stdout.write(104); // h stdout.write(101); // e stdout.write(108); // l stdout.write(108); // l stdout.write(111); // o stdout.write(10); // n stdout.flush(); } } 6. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi penggunaan InputStream
  • 8. PEMROGRAMAN JAVA LANJUT II - 8 import java.io.*; public class SysIn{ public static void main(String[] args){ byte []b = new byte[10]; InputStream stdin = System.in; try { int len = stdin.read(b); for (int i=0;i<len;i++) System.out.write(b[i]); System.out.flush(); } catch ( IOException e) { e.printStackTrace(); } } } 7. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi penggunaan InputStream dan method available import java.io.*; public class SysInAvailable{ public static void main(String[] args){ InputStream stdin = System.in; try { byte []b = new byte[stdin.available()]; int len = stdin.read(b);
  • 9. PEMROGRAMAN JAVA LANJUT II - 9 for (int i=0;i<len;i++) System.out.write(b[i]); System.out.flush(); } catch ( IOException e) { e.printStackTrace(); } } } 8. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi menggunakan InputStreamReader import java.io.*; public class InputReader{ public static void main(String[] args){ InputStreamReader is = new InputStreamReader(System.in); try { char c; for (int i=0;i<10;i++) { c = (char) is.read(); System.out.write(c); } System.out.flush(); } catch ( IOException e) { e.printStackTrace(); } } }
  • 10. PEMROGRAMAN JAVA LANJUT II - 10 9. Kerjakan contoh program di bawah ini, perhatikan hasilnya kemudian pahami dan berikan penjelasan dari program tersebut. //Aplikasi penggunaan serializable import java.io.*; public class Serialise { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectOutputStream outStream = new ObjectOutputStream(new FileOutputStream("personil.txt")); Personnel[] staff = { new Personnel(123456, "Smith", "John"), new Personnel(234567, "Jones", "Sally Ann"), new Personnel(999999, "Black", "James Paul") }; for(int i=0; i<staff.length; i++) outStream.writeObject(staff[i]); outStream.close(); ObjectInputStream inStream = new ObjectInputStream(new FileInputStream("personil.txt")); int staffCount = 0; try{ do{ Personnel person = (Personnel)inStream.readObject(); staffCount++;
  • 11. PEMROGRAMAN JAVA LANJUT II - 11 System.out.println("nStaff member "+ staffCount); System.out.println("Payroll number: "+ person.getPayNum()); System.out.println("Surname: "+ person.getSurname()); System.out.println("First name: "+ person.getFirstNames()); }while(true); } catch(EOFException e){ System.out.println("nn***End of file***n"); inStream.close(); } } } class Personnel implements Serializable { private long payrollNum; private String surname; private String firstNames; public Personnel(long payNum, String sName, String fName) { payrollNum = payNum; surname = sName; firstNames = fName; }
  • 12. PEMROGRAMAN JAVA LANJUT II - 12 public long getPayNum() { return payrollNum; } public String getSurname() { return surname; } public String getFirstNames() { return firstNames; } public void setSurname(String sName) { surname = sName; } } 3. Tugas 1) Ubahlah latihan 2, sehingga nama file berasal dari input pengguna (gunakan kelas Scanner). Data yang perlu dimasukkan ke dalam file adalah nilai matematika dari 10 orang pelajar, nilai terbesar, nilai terkecil dan rata-rata nilai tersebut.