BAB Argument Command-Line dan System Properties

dokumen-dokumen yang mirip
PRAKTIKUM 7 DASAR INPUT OUTPUT

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

PRAKTIKUM 8 FILE INPUT OUTPUT

PEMROGRAMAN JARINGAN MODUL 3 STREAM

BAB 5 Mendapatkan Input dari Keyboard

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

BAB 5 Mendapatkan Input dari Keyboard

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

I/O (Input dan Output)

Bahasa Pemrograman :: Dasar Pemrograman Java

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

BAB 2 INPUT DARI KEYBOARD

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA

2 TIPE DATA DAN VARIABEL

1.Tujuan. 2. Latar Belakang. Tahu tipe-tipe stream yang umum digunakan Menggunakan class File dan methodnya

Pemrograman Dasar P E M R O G R A M A N T E R S T R U K T U R I N P U T / O U T P U T

BAB II VARIABEL DAN TIPE DATA

Pertemuan 7 File pada Java

Modul Praktikum Pemrograman

JAVA BASIC PROGRAMMING Joobshet

Pemrograman Fery Updi,M.Kom

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Modul 3 Flow Control dan Input

//PROGRAM " tidak dapat dibaca")); import java.io.file; Date tanggal = new Date(); import java.io.ioexception;

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

Pertemuan ke-1 STREAM DAN IO. A. TUJUAN : Mampu mengimplementasikan kelas-kelas untuk menangani aliran data.

SUMBER BELAJAR PENUNJANG PLPG

Cara Membaca File Text di JAVA

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Struktur Kontrol Pemrograman Java : PERCABANGAN

Materi kuliah I/O & FILE. Ir. Roedi Goernida, MT.

Badiyanto, S.Kom., M.Kom. PBO java

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

A. TUJUAN PEMBELAJARAN

Percabangan & Perulangan

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Pertemuan 2 Struktur Kontrol Percabangan

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

BAB 8 Argumen dari Command-line

CompileError - The method write(int) in the type FileOutputStream is not applicable for

PERTEMUAN I PENGENALAN JAVA

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

Introduction To Stream

Bahasa Pemrograman 2.

NASKAH UTAMA ULANGAN AKHIR SEMESTER GANJIL TAHUN PELAJARAN 2013/2014

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

PERTEMUAN 3 OBJEK DAN CLASS

PEMROGRAMAN JAVA : STREAM DAN FILE

BAB III SEKUENSIAL 3.1. Kompetensi Dasar 3.2. Perintah Masukan a. Scanner

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

PEMROGRAMAN BERORIENTASI OBJEK

PEMAHAMAN DASAR DASAR JAVA

BAB 8 Argumen dari Command-line

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Nama Lengkap : Muiz Lidinillah NIM :

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

Pemrograman Jaringan 4. Java IO

I/O Streams. Oleh Kholid Fathoni

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

IOSTREAM bagian 2. Kholid Fathoni

PENGENALAN JAVA (2)

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

Struktur Data II. Bekerja Dengan Form.

PRAKTIKUM 17 MENANGANI EXCEPTION

Modul Praktikum 3 Pemograman Berorientasi Objek

PEMOGRAMAN JAVA. Yoannita. Tipe Data (ii) : Array Exception Handling

Dasar Pemrograman Java

PEMROGRAMAN BERORIENTASI OBJEK

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

Pertemuan 3 Struktur Perulangan pada Java

SILABUS MATA KULIAH PEMROGRAMAN JAVA

Java Application. Menampilkan Tulisan

A. TUJUAN PEMBELAJARAN

Objek Stream, Akses File & Exception Handling

Web Programming. Pengenalan PHP

PERCOBAAN 6 EXCEPTION

BAB 3 STRUKTURE PROGRAM JAVA

Java Application. Aplikasi: Menampilkan Tulisan

Pertemuan 4 Array pada Java

Operator, Statement kondisional, dan Iterasi pada Java

Variabel dan Tipe data Javascript

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

MODUL 2 STRUKTUR KONTROL

BAB 6. Struktur Kontrol

BAB 1 KONSEP DASAR JAVA

Pemrograman JAVA INPUT-OUTPUT

Pemrograman Socket menggunakan TCP

Transkripsi:

BAB 5 Aplikasi Berbasis Teks 5.1 Tujuan Pembahasan kali ini akan menitikberatkan pada bahasan penggunaan argument command-line. Selebihnya, Anda akan mempelajari mengenai penggunaan streams untuk mendapatkan nilai input dari user pada saat runtime, sekaligus dalam proses manipulasi file. Pada akhir pembahasan, diharapkan pembaca dapat : 1. Mendapatkan input dari command-line 2. Mengetahui cara untuk memanipulasi properties dari sistem 3. Membaca standart input 4. Membaca dan menulis file 5.2 Argument Command-Line dan System Properties Seperti yang telah Anda ketahui pada pembahasan sebelumnya, JAVA mengijinkan user untuk memasukkan data dari command-line. Sebagai contoh, untuk meneruskan argument 1 dan 2 kepada program Java bernama Calculate, anda dapat menuliskan baris berikut pada command prompt java Calculate 1 2 Pada contoh berikut ini, data 1 disimpan pada variabel args[0], begitu pula dengan data 2 yang disimpan pada args[1]. Sehingga, tujuan dari deklarasi String args[] sebagai sebuah parameter pada method utama menjadi jelas. Selain melewatkan argument menuju method utama, Anda juga dapat memanipulasi system properties dari command-line. System properties hampir menyamai environment variables, namun tidak memiliki ketergantungan pada spesifikasi platform yang digunakan. Sebuah property secara sederhana berupa pemetaan antara property name dan value yang dimilikinya. Hal ini ditunjukkan pada Java dalam class Properties. Class System menyediakan sebuah method untuk menentukan system properties yang digunakan, method getproperties yang menghasilkan sebuah object Properties. Class yang sama juga menyediakan method getproperty yang memiliki dua buah bentuk. Pengenalan Pemrograman 2 1

public static String getproperty(string key) Bentuk ini menghasilkan nilai String dari System Properties yang ditunjukkan oleh key yang ditentukan. Jika hasil menunjukkan nilai null, berarti tidak terdapat property dengan key yang ditentukan. public static String getproperty(string key, String def) Bentuk ini juga menghasilkan nilai String dari System Properties sesuai key yang ditentukan. Akan menghasilkan nilai def, sebuah nilai default, jika tidak terdapat property dengan key yang sesuai. Tabel 1.1: getproperty() method dari class System Kita tidak dapat cukup berhenti pada detail dari system properties, namun dilanjutkan dengan memanipulasi system properties yang digunakan. Jika Anda tertarik mempelajari lebih lanjut tentang system properties, Anda dapat menelusuri dokumentasi API yang disediakan. Anda dapat menggunakan argument opsional D pada perintah Java dalam command-line untuk menambahkan property baru. java -D<name>=value Sebagai contoh, untuk mengatur system property dengan nama user.home bernilai phillipines, gunakan perintah berikut : java -Duser.home=philippines Untuk menampilkan daftar system properties yang tersedia pada sistem Anda, gunakan method getproperties seperti yang ditunjukkan sebagai berikut : System.getProperties().list(System.out); 5.3 Membaca Standard Input Dibandingkan dengan mendapatkan masukan user dari command-line, sebagian user lebih memilih untuk memasukkan data bilamana diminta oleh program pada saat eksekusi. Satu cara dalam melakukan hal ini adalah dengan menggunakan stream. Sebuah stream adalah abstraksi dari sebuah file atau sebuah perangkat yang mengijinkan beberapa set item untuk dibaca atau ditulis. Streams terhubung dengan physical devices seperti keyboards, consoles dan files. Terdapat dua bentuk umum dari streams, byte streams dan character streams. Byte streams digunakan pada data biner, sedangkan character streams digunakan pada karakter Unicode. System.in dan System.out adalah dua contoh dari byte streams yang digunakan Pengenalan Pemrograman 2 2

dalam Java. Contoh pertama mereferensikan pada keyboard, kemudian contoh kedua mereferensikan pada console. Untuk membaca karakter dari keyboard, Anda dapat menggunakan byte stream System.in yang terdapat pada object BufferedReader. Baris berikut menunjukkan bagaimana untuk melakukan hal tersebut : Method read dari object BufferedReader selanjutnya digunakan untuk membaca nilai input dari perangkat input. ch=(int)br.read(); //method read menghasilkan nilai integer Cobalah contoh kode berikut : class FavoriteCharacter { System.out.println("Hi, what's your favorite character?"); char favchar; favchar = (char) br.read(); System.out.println(favChar + " is a good choice!"); Jika Anda lebih memilih untuk membaca keseluruhan baris daripada membaca satu karakter tiap waktu, gunakan method readline : str = br.readline(); Berikut ini sebuah program yang hampir menyerupai contoh sebelumnya, namun membaca keseluruhan string, bukan satu karakter. class GreetUser { System.out.println("Hi, what's your name?"); String name; Pengenalan Pemrograman 2 3

name = br.readline(); System.out.println("Nice to meet you, " + name + "! :)"); Pada saat menggunakan streams, jangan lupa untuk mengimport package java.io seperti yang ditunjukkan dibawah ini : Satu hal lagi yang perlu untuk diingat, pembacaan dari streams dapat menyebabkan terjadinya exception. Jangan lupa untuk menangani exception tersebut menggunakan perintah try-catch atau dengan mengindikasikan exception pada klausa throws dalam method. 5.4 Menangani File Pada beberapa kasus, masukan data disimpan pada sebuah file. Selanjutnya, terdapat beberapa cara jika Anda ingin menyimpan output dari program pada sebuah file. Pada sistem terkomputerisasi, data dari Siswa yang dapat digunakan sebagai input oleh sistem umumnya tersimpan pada sebuah file terpisah. Kemudian, salah satu kemungkinan output dari sistem adalah informasi tentang mata pelajaran yang diikuti oleh siswa. Sekali lagi, output dalam hal ini dapat disimpan dalam sebuah file. Seperti yang terlihat pada aplikasi, terdapat suatu kebutuhan untuk membaca dan menulis sebuah file. Anda akan mempelajari tentang file input dan output pada bagian ini. 5.4.1 Membaca sebuah File Untuk membaca sebuah file, Anda dapat menggunakan class FileInputStream. Berikut ini adalah salah satu constructor dari class tersebut : FileInputStream(String filename) Constructor tersebut membuat sebuah koneksi terhadap file dimana nama dari file tersebut ditunjukkan sebagai sebuah argument. Exception berupa FileNotFoundException akan muncul jika file tidak ditemukan atau tidak dapat dibuka dan kemudian dibaca. Setelah membuat sebuah input stream, Anda kemudian dapat menggunakannya untuk membaca sebuah file dengan menggunakan method read. Method read menghasilkan sebuah nilai integer, dan akan menunjukkan nilai 1 jika telah mencapai batas akhir file. Pengenalan Pemrograman 2 4

Berikut ini contohnya : class ReadFile { System.out.println("What is the name of the file to read from?"); String filename; filename = br.readline(); System.out.println("Now reading from " + filename + "..."); FileInputStream fis = null; fis = new FileInputStream(filename); catch (FileNotFoundException ex) { System.out.println("File not found."); char data; int temp; do { temp = fis.read(); data = (char) temp; if (temp!= -1) { System.out.print(data); while (temp!= -1); catch (IOException ex) { System.out.println("Problem in reading from the file."); 5.4.2 Menulis sebuah file Untuk menuliskan sebuah file, Anda dapat menggunakan class FileOutputStream. Berikut ini salah satu constructor yang dapat Anda gunakan. FileOutputStream(String filename) Pengenalan Pemrograman 2 5

Contructor tersebut menyediakan jalur output stream terhadap sebuah file yang akan ditulis. Sebuah Exception berupa FileNotFoundException akan muncul jika file yang dimaksud tidak dapat dibuka untuk ditulis. Jika output stream telah dibuat, Anda dapat menggunakannya untuk menulis file yang dituju menggunakan method write. Method tersebut menggunakan penandaan sebagai berikut : void write(int b) Parameter b mereferensikan data yang akan dituliskan pada file sesuai dengan hasil output stream. Program berikut menunjukkan contoh penulisan terhadap file : class WriteFile { System.out.println("What is the name of the file to be written to?"); String filename; filename = br.readline(); System.out.println("Enter data to write to " + filename + "..."); System.out.println("Type q$ to end."); FileOutputStream fos = null; fos = new FileOutputStream(filename); catch (FileNotFoundException ex) { System.out.println("File cannot be opened for writing."); boolean done = false; int data; do { data = br.read(); if ((char)data == 'q') { data = br.read(); if ((char)data == '$') { done = true; else { fos.write('q'); fos.write(data); else { fos.write(data); while (!done); catch (IOException ex) { System.out.println("Problem in reading from the file."); Pengenalan Pemrograman 2 6

5.5 Latihan 5.5.1 Spasi menjadi Underscore ( _ ) Buatlah sebuah program yang memuat dua String sebagai argument, sumber dan nama file tujuan. Kemudian, baca file sumber dan tuliskan isi dari file tersebut terhadap file tujuan, seluruh spasi yang ada ( ) diubah menjadi underscore ( _ ). Pengenalan Pemrograman 2 7