pemrograman jaringan 2010 pertemuan 3: pemrograman i/o file · buat program menggunakan i/o obyek...

41
Pemrograman Jaringan 2010 Pertemuan 3: Pemrograman I/O File Husni [email protected] husni.trunojoyo.ac.id komputasi.wordpress.com

Upload: phamdan

Post on 15-Mar-2019

232 views

Category:

Documents


3 download

TRANSCRIPT

Pemrograman Jaringan 2010

Pertemuan 3:

Pemrograman I/O FileHusni

[email protected]

komputasi.wordpress.com

Class String

Class String

String: Contoh-contoh

● "Welcome". toLowerCase() : string baru, welcome. ● "Welcome". toUpperCase() : string baru, WELCOME. ● " Welcome". trim(): string baru, Welcome. ● "Welcome". replace('e', 'A') : string baru, WAlcomA.● "Welcome". replaceFirst("e", "A") : string baru,

WAlcome. ● "Welcome". replaceAll("e", "A") : string baru,

WAlcomA.

String: Contoh-contoh

● "Welcome to Java".indexOf('W') : 0.● "Welcome to Java".indexOf('o') : 4. ● "Welcome to Java".indexOf('o', 5) : 9. ● Welcome to Java".indexOf("come") : 3. ● "Welcome to Java".indexOf("Java", 5) : 11.● "Welcome to Java".indexOf("java", 5) : -1.

● "Welcome to Java".lastIndexOf('W') : 0. ● "Welcome to Java".lastIndexOf('o') : 9. ● "Welcome to Java".lastIndexOf('o', 5) : 4. ● "Welcome to Java".lastIndexOf("come") : 3. ● "Welcome to Java".lastIndexOf("Java", 5) : -1. ● "Welcome to Java".lastIndexOf("java", 5) : -1.

Contoh: StringProcessingDemo

Contoh: StringProcessingDemo

Argumen Command-Line

• Compile & Eksekusi program berikut!

java Calculator 10 + 14

Class File

• Class File dimaksudkan untuk menyediakan suatu abstraksi yang berurusan dengan banyak kompleksitas machine-dependent dari nama path dan file dalam suatu bentuk machine-independent.

• Class File mengandung metode untuk mendapatkan properti file dan untuk me-rename, men-delete file.

• Class File tidak mengandung metode untuk membaca dan menulis isi file.

Contoh: TestFileClass

Text I/O: PrintWriter

§ Obyek File mengenkapsulasi properti dari suatu file atau path. Tetapi tidak memiliki metode untuk membaca/ menulis data dari/ke suatu file.

§ Untuk mengerjakan I/O, perlu dibuat obyek menggunakan class I/O Java yang tepat. Obyek tersebut harus berisi metode untuk membaca/menulis data dari/ke file.

§ Class java.io.PrintWriter dapat digunakan untuk menulis data ke file teks.

§ Buat obyek PrintWriter untuk file teks:

PrintWriter output = new PrintWriter(filename);

§ Jalankan metode print, println dan printf pada obyek PrintWriter untuk menulis data ke file.

Class PrintWriter

Contoh: WriteData

Text I/O: Scanner

§ Class java.util.Scanner digunakan untuk membaca nilai strings dan primitive dari console.

§ Scanner memecah inputnya ke dalam token-token yang diakhiri dengan karakter whitespace. Untuk membaca dari keyboard, buat suatu Scanner bagi System.in:

Scanner input = new Scanner(System.in);

§ Bagaimana membaca dari file? Buat Scanner untuk suatu file:

Scanner input = new Scanner(new File(filename));

Class Scanner

Contoh: ScannerDemo (console)

Contoh: ReadData

Penanganan I/O di Java

Text I/O vs. Binary I/O

I/O teks memerlukan encoding dan decoding (a) sedangkan I/O biner (b)

Class I/O Biner

InputStream & OutputStream

InputStream & OutputStream

Class IOException

• Hampir semua class I/O men-throw java.io.IOException

• Deklasikan java.io.IOException untuk dithrow dalam metode atau menempatkan kode dalam blok try-catch

DataInputStream & DataOutputStream

● DataInputStream membaca byte dari stream dan mengubahnya ke dalam nilai tipe primitif yang tepat atau string

● DataOutputStream mengkonversi nilai tipe primitif atau string ke dalam byte dan mengeluarkan byte tersebut ke stream.

● DataInputStream meng-extends FilterInputStream dan meng-implements interface DataInput

● DataOutputStream meng-extends FilterOutputStream dan meng-implements interface DataOutput.

Class DataInputStream

Class DataOutputStream

Contoh: TestDataStream

Class InputStream

Class OutputStream

Apa yang dihasilkan program ini?

I/O Obyek

● DataInputStream /DataOutputStream memungkinkan kita mengerjakan I/O terhadap nilai tipe primitif dan string

● ObjectInputStream /ObjectOutputStream memungkinkan kita mengerjakan I/O terhadap obyek, selain untuk nilai tipe primitif dan string

● Karena ObjectInputStream /ObjectOutputStream mengandung semua fungsi dari DataInputStream /DataOutputStream, kita dapat mengganti DataInputStream /DataOutputStream dengan ObjectInputStream /ObjectOutputStream.

I/O Obyek

● ObjectInputStream meng-extends InputStream dan meng-implements ObjectInput dan ObjectStreamConstants.

● ObjectInput merupakan subinterface dari DataInput.

● ObjectStreamConstants mengandung konstanta untuk mendukung ObjectInputStream/ObjectOutputStream.

● ObjectOutputStream meng-extends OutputStream dan meng-implements ObjectOutput dan ObjectStreamConstants

● ObjectOutput adalah subinterface dari DataOutput

Class ObjectInputStream

Class ObjectOutputStream

Contoh: TestObjectOutputStream

Contoh: TestObjectInputStream

Tugas Kelompok

● Buat program menggunakan I/O Obyek● Program dapat menambahkan, mengedit dan

menghapus data obyek.● Data obyek berisi NIM, Nama, No.HP dan Email● Program boleh berbasis Teks atau GUI● Waktu 1 minggu. Dikumpulkan hardcopy berisi:

Source code (setiap baris kode harus diberikan komentar di atasnya) dan 3 contoh output!