Operasi Teks, String, Stream & Baca Tulis File dengan Java

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (Project)
Advertisements

OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan.
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
Dasar-Dasar Pemrograman
Pemrograman Berorientasi Obyek
Flow Control & Exception Handling
OOP Java 04 Array & String.
String Yuliana Setiowati.
STRING Pemrograman Object Oriented dengan JAVA Teknik Informatika-UMM.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Struktur Kode Aplikasi Java (1)
Class String dan StringBuffer
Pemrograman Berorientasi Objek 1
Bekerja dengan Java class library
Algoritma & Pemrograman 1
Dasar pemrograman.
STREAM.
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Manipulasi String dengan Kelas String dan StringBuffer
Basic Class Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 3 Tahun : 2008 Versi : 1/0.
03 Elemen Dasar Bahasa Java
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Java array.
String & Penanganan Pertemuan Ke-6.
Reference Data Type (Class)
Input/output dan Kelas File
File Stream.
JAVA ARRAY.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Aplikasi berbasis teks
S. Indriani Lestariningati, M.T
Array & Array List Disusun Oleh: Reza Budiawan Untuk:
Java array.
Dasar pemrograman java
Algoritma & pemrograman 1B
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
Input/output dan Kelas File
Java array.
PEMROGRAMAN BERBASIS JARINGAN
Kelas-kelas Dasar di Java
KELAS STRING DAN INNER CLASS
STRING Pertemuan 8.
Java array.
Struktur Dasar Pemrograman Java
KELAS STRING DAN INNER CLASS
Tipe Data, Variabel, dan Operator
As’ad Djamalilleil Elemen Dasar Java As’ad Djamalilleil
PEMROGRAMAN DASAR kelas xi
Review Materi Java Fundamental
Pemrograman Berorientasi Objek
Tipe Data, Variabel, dan Operator
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Java array.
PEMROGRAMAN JAVA.
Aplikasi Berbasis Teks
Dasar Bahasa Java.
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
Pemrograman Terstruktur
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Konsep Bahasa Pemrograman I Konsep OOP
Java array.
Tipe Data, Variabel, dan Operator
Java array.
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Struktur Dasar Pemrograman Java
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Transcript presentasi:

Operasi Teks, String, Stream & Baca Tulis File dengan Java Pemrograman Berorientasi Obyek Operasi Teks, String, Stream & Baca Tulis File dengan Java

String String adalah deretan dari karakter. Pada Java String merupakan sebuah object. Java menyediakan class String, StringBuffer dan StringTokenizer untuk menyimpan dan memroses string.

Method-method yang sering digunakan +String() +String(value: String) +String(value: char[]) +charAt(index: int): char +compareTo(anotherString: String): int +compareToIgnoreCase(anotherString: String): int +concat(anotherString: String): String +endsWith(suffix: String): boolean +equals(anotherString: String): boolean +equalsIgnoreCase(anotherString: String): boolean +indexOf(ch: int): int +indexOf(ch: int, fromIndex: int): int +indexOf(str: String): int +indexOf(str: String, fromIndex: int): int +intern(): String +regionMatches(toffset: int, other: String, offset: int, len: int): boolean +length(): int +replace(oldChar: char, newChar: char): String +startsWith(prefix: String): boolean +subString(beginIndex: int): String +subString(beginIndex: int, endIndex: int): String +toCharArray(): char[] +toLowerCase(): String +toString(): String +toUpperCase(): String +trim(): String +copyValueOf(data: char[]): String +valueOf(c: char): String +valueOf(data: char[]): String +valueOf(d: double): String +valueOf(f: float): String +valueOf(i: int): String +valueOf(l: long): String

String String merupakan object yang dienkapsulasi dalam class String (java.lang.String). Parameter yang digunakan pada method println(String s) merupakan string literal. Compiler Java mengubah string literal menjadi sebuah object string dan meneruskannya kepada println. Operasi-operasi dalam String: - Membuat dan menginisialisasi String - Membandingkan String - Menggabungkan String - Mengakses karakter pada String

Membuat String String dapat dibuat dari sebuah nilai String atau sebuah array dari karakter. Deklarasi pembuatan String dari sebuah String literal menggunakan sintak: String new String = new String(stringLiteral); Argumen stringLiteral merupakan deretan karakter yang diapit oleh tanda petik ganda (“…”). Misal untuk membuat sebuah object String bernama pesan untuk string literal “Belajar Java!”: String pesan = new String(“Belajar Java!”); Atau notasi shorthand untuk membuat string: String pesan = “Belajar Java!”;

…. String juga dapat dibuat dari array karakter. char[] charArray = {‘B’, ‘e’, ‘l’, ‘a’, ‘j’, ‘a’, ‘r’, ‘ ’,’J’, ‘a’, ‘v’, ‘a’}; String pesan = new String(charArray);

Panjang String dan mendapatkan karakter tunggal Kita mendapatkan panjang dari sebuah string dengan memanggil method length(). Misalnya, pesan.length() menghasilkan panjang dari string pesan. Method s.charAt(index) dapat digunakan untuk mendapatkan karakter tertentu pada string s, dimana index bernilai dari 0 sampai s.length()-1. Berdasar contoh sebelumnya pemanggilan method pesan.charAt(0) mengembalikan sebuah karakter ’B’ dan pesan.charAt(10) menghasilkan ’v’. Sedangkan pesan.length() bernilai 12.

Menggabungkan String Method concat() digunakan untuk menggabungkan dua string: String s3 = s1.concat(s2); Java juga menyediakan cara yang mudah untuk menggabungkan string dengan menggunakan tanda tambah (+), misal: String s4 = pesan + “ dan “ + “HTML!”; Maka string s4 berisi “Belajar Java dan HTML!”. Apabila kita menggunakan tanda tambah (+) untuk menggabungkan sebuah angka dengan string pada method println, maka angka tersebut dikonversi menjadi string terlebih dahulu sebelum digabungkan.

Mengutip String String merupakan class yang immutable (tidak dapat berubah). Setelah sebuah string tercipta, maka nilainya tidak dapat dimodifikasi. Misalnya, kita tidak dapat mengganti “Java” pada pesan menjadi “HTML”. Jadi yang dapat kita lakukan jika kita ingin mengubah string pesan dengan memberikan nilai baru kepada pesan: Pesan = “Belajar HTML”;

… Sebagai alternatif, kita dapat mengutip substring dari sebuah string menggunakan method substring pada kelas String yang mempunyai 2 versi: public String substring(int beginIndex, int endIndex) Menghasilkan sebuah string baru yang merupakan substring dari string tersebut. Substring dimulai pada beginIndex yang ditentukan dan berakhir pada karakter pada endIndex-1. Maka panjang dari substring adalah endIndex-beginIndex. Misalnya: String pesan = “Belajar Java”.substring(0,8) + “HTML”;

… public String substring(int beginIndex) Menghasilkan sebuah string baru yang merupakan substring dari string tersebut. Substring dimulai pada beginIndex yang ditentukan hingga akhir dari string.

Membandingkan String Operator == hanya akan mengecek apakah string1 dan string2 menunjuk kepada obyek yang sama; namun tidak akan memberitahu apakah string1 dan string2 mempunyai isi yang sama, meskipun berbeda object.

… Method equals() digunakan untuk membandingkan kesamaan isi dari object. Misalnya, kita membandingkan isi kedua string:

… Method compareTo() juga dapat digunakan untuk membandingkan dua buah string: s1.compareTo(s2); Method compareTo() akan menghasilkan nilai 0 jika s1 sama dengan s2, dan akan bernilai kurang dari 0 apabila s1 secara leksikograpikal kurang dari s2 dan bernilai lebih dari 0 apabila s1 secara leksikograpikal lebih dari s2. Class String juga menyediakan method equalsIgnoreCase() yang mengabaikan perbedaan huruf besar atau kecil saat membandingkan string dan regionMatches() untuk membandingkan bagian / potongan dari dua string.

Kita juga dapat menggunakan str Kita juga dapat menggunakan str.startsWith(prefix) untuk mengecek apakah string str dimulai dengan prefix tertentu dan str.endsWith(suffix) untuk mengecek apakah string str diakhiri dengan sufix tertentu.

Mengkonversi String String dapat dikonversi menjadi string yang baru dengan method toLowerCase menjadi huruf kecil semua, toUpperCase menjadi huruf besar semua, trim menghilangkan karakter blank pada akhir kedua string dan replace(oldChar, newChar) yang mengganti sebuah karakter pada string dengan karakter baru yang ditentukan.

Mencari sebuah karakter atau substring pada String Untuk menemukan sebuah karakter atau substring pada sebuah string digunakan method indexOf. Empat jenis overloading pada method indexOf didefinisikan untuk kelas String: public int indexOf(int ch) Menghasilkan index dari karakter pertama pada string yang sesuai dengan karakter yang ditentukan pada ch. Akan bernilai -1 jika karakter yang dicari tidak ditemukan pada string. public int indexOf(int ch, int fromIndex) Menghasilkan index dari karakter pertama dalam string dimulai dari karakter pada fromIndex yang sesuai dengan karakter yang ditentukan pada ch. Akan bernilai -1 jika karakter yang dicari tidak ditemukan pada string.

… public int indexOf(String str) Menghasilkan index dari karakter pertama dari substring pada string yang sesuai, yang ditentukan pada str. Akan bernilai -1 jika karakter yang dicari tidak ditemukan pada string. public int indexOf(String str, int fromIndex) Menghasilkan index dari karakter pertama dari substring dalam string dimulai dari karakter pada fromIndex yang sesuai dengan string yang ditentukan pada str. Akan bernilai -1 jika karakter yang dicari tidak ditemukan pada string.

Contoh:

Konversi antara String dan Array String bukan array, tetapi string dapat diubah menjadi sebuah array dan sebaliknya. Untuk mengkonversi sebuah string menjadi array dari karakter digunakan method toCharArray. Misalnya, pernyataan berikut mengubah string ‘Java’ menjadi array: char[] charArray = “Java”.toCharArray(); Maka charArray[0] adalah ‘J’ dan charArray[3] adalah ‘a’. Untuk mengkonversi array dari karakter menjadi sebuah string dapat menggunakan konstruktor String(char[]) atau method valueOf(char[]). String str = new String(new char[]{‘J’, ‘a’, ‘v’, ‘a’}); String str = String.valueOf(new char[]{‘J’, ‘a’, ‘v’, ‘a’});

Konversi karakter dan angka menjadi String Method valueOf dapat digunakan untuk mengkonversi array dari karakter menjadi sebuah string. Terdapat beberapa versi overloading dari method valueOf yang dapat dipakai untuk mengkonversi karakter dan angka menjadi string, dengan tipe argumen yang berbeda-beda: char, double, long, int dan float. Misalnya, untuk mengubah sebuah nilai double menjadi string dipakai String.valueOf(5.44) yang menghasilkan sebuah string yang berisi karakter-karakter ‘5’, ’.’, ’4’ dan ’4’. Dan sebaliknya untuk mengubah sebuah string numerik menjadi angka dipakai Double.parseDouble(str) atau Int.parseInt(str) menghasilkan nilai double atau int.

Class Character Java menyediakan sebuah class pembungkus untuk setiap tipe data primitif. Kelas-kelas tersebut ialah Character, Boolean, Byte, Short, Integer, Long, Float, dan Double untuk char, boolean, byte, short, int, long, float, dan double. Semua class tersebut berada di package java.lang dan menjadikan nilai data primitif dapat diperlakukan sebagai object. Class Character mempunyai sebuah constructor dan lebih dari 30 method untuk memanipulasi sebuah karakter.

… +Character(value: char) +charValue(): char +compareTo(anotherCharacter: Character): int +equals(anotherCharacter: Character): boolean +isDigit(ch: char): boolean +isLetter(ch: char): boolean +isLetterOrDigit(ch: char): boolean +isLowerCase(ch: char): boolean +isUpperCase(ch: char): boolean +toLowerCase(ch: char): char +toUpperCase(ch: char): char

… Object Character dapat dibuat dari sebuah nilai char, misalnya: Character character = new Character(‘a’); Kebanyakan method pada class Character adalah static method. Method isDigit(char ch) bernilai true jika karakternya sebuah angka. Method isLetter(charch) bernilai true jika karakternya sebuah huruf. Method isLetterorDigit(char ch) bernilai true jika karakternya sebuah huruf atau angka. Method isLowerCase(char ch) bernilai true jika karakternya berhuruf kecil. Method isUpperCase(char ch) bernilai true jika karakternya berhuruf besar. Method toLowerCase(char ch) menghasilkan karakter berhuruf kecil, dan Method toUpperCase(char ch) menghasilkan karakter berhuruf besar.

Class StringBuffer Class StringBuffer merupakan alternatif dari class String. StringBuffer lebih fleksibel daripada String. Kita dapat menambahkan, menyisipkan dan membubuhkan isi baru terhadap sebuah buffer string, dibandingkan dengan nilai string yang selalu tetap ketika dibuat. Class StringBuffer menyediakan 3 buah constructor: public StringBuffer() Membuat sebuah buffer string kosong (tidak ada karakter di dalamnya) dan kapasitas awal 16 karakter. public StringBuffer(int length) Membuat sebuah buffer string kosong (tidak ada karakter di dalamnya) dan kapasitas awal ditentukan pada argumen length.

… public StringBuffer(String string) Membuat sebuah buffer string untuk argumen string dan kapasitas awal 16 karakter ditambah dengan panjang dari argumen string tersebut.

Class StringBuffer mempunyai lebih dari 30 method untuk mengelola buffer dan memodifikasi string pada buffer: +append(data: char[]): StringBuffer +append(data: char[], offset: int, len: int): StringBuffer +append(v: aPrimitiveType): StringBuffer +append(str: String): StringBuffer +capacity(): int +charAt(index: int): char +delete(startIndex: int, endIndex: int): StringBuffer +deleteCharAt(index: int): StringBuffer +insert(index: int, data: char[], offset: int, len: int): StringBuffer +insert(offset: int, data: char[]): StringBuffer +insert(offset: int, b: aPrimitiveType): StringBuffer +insert(offset: int, str: String): StringBuffer +length(): int +replace(startIndex: int, endIndex: int, str: String): StringBuffer +reverse(): StringBuffer +setCharAt(index: int, ch: char): void +setLength(newLength: int): void +subString(start: int): StringBuffer +subString(start: int, end: int): StringBuffer

… Class StringBuffer menyediakan beberapa method yang di-overloading untuk membubuhkan boolean, char, char array, double, float, int, long dan String pada sebuah buffer string. StringBuffer strBuf = new StringBuffer(); strBuf.append(“Belajar”); strBuf.append(“ ”); strBuf.append(“Java”); Untuk menyisipkan string baru dapat dipakai: strBuf.insert(8, “HTML dan ”); Maka strBuf berisi “Belajar HTML dan Java”.

Class StringTokenizer Class lain yang berguna untuk pemrosesan string ialah java.util.StringTokenizer. Class ini dipakai untuk membagi string menjadi potongan-potongan sehingga informasi yang terkandung dapat diterima kembali dan diproses. Misalnya, untuk mendapatkan semua kata pada string “Saya senang belajar Java di FTI”, kita dapat membuat sebuah instansiasi dari kelas StringTokenizer untuk string tersebut dan mendapatkan setiap kata pada string itu menggunakan method pada kelas StringTokenizer.

+countTokens(): int +hasMoreTokens(): boolean +nextToken(): String +nextTokens(delim: String): String Class StringTokenizer mengenali setiap kata dengan menentukan sekumpulan karakter sebagai delimiter / pembatas ketika membentuk sebuah object StringTokenizer. Delimiter yang akan membagi sebuah string menjadi potongan-potongan yang disebut tokens.

Class StringTokenizer mempunyai 3 constructor: public StringTokenizer(String s, String delim, boolean returnTokens) Membentuk sebuah StringTokenizer untuk sebuah string s dengan delimiter tertentu. Jika returnTokens bernilai true, delimiter akan dikembalikan sebagai sebuah token. public StringTokenizer(String s, String delim) Membentuk sebuah StringTokenizer untuk sebuah string s dengan delimiter tertentu delim, yang bukan merupakan sebuah token. public StringTokenizer(String s) Membentuk sebuah StringTokenizer untuk sebuah string s dengan delimiter default “ \t\n\r” (spasi, tab, pergantian garis baru / new line & carriage return) dan delimiter bukan merupakan sebuah token.

Method hasMoreToken() bernilai true jika terdapat token yang tersisa pada string. Method nextToken() menghasilkan token selanjutnya pada string, sedangkan nextToken(String delim) menghasilkan token selanjutnya pada string setelah menempatkan delimiter / pembatas yaitu delim. Method countTokens() bernilai jumlah token yang terdapat pada string tokenizer.

Contoh 1.1

Latihan Modifikasi Contoh Program 1.1 sebelumnya untuk mengubah String (kalimat) menjadi format TitleCase (Huruf pertama setiap kata adalah huruf kapital dan sisanya huruf kecil). Output:

Stream Stream adalah proses untuk membaca data dari suatu sumber atau menulis data ke suatu tujuan. class stream ini berada paket java.io jadi untuk menggunakan harus diimpor terlebih dahulu. Hirarki kelas stream:

Class InputStream Class InputStream merupakan class abstrak yang menjadi dasar bagi semua class yang berhubungan dengan pembacaan data dari suatu sumber. Method-method yang sering dipakai: int available()  Metode ini mengembalikan jumlah data yang telah tersedia untuk dibaca. void close().  Method untuk menutup stream. int read()  Method untuk membaca sebuah byte data, nilai data yang dikembalikan.

Class OutputStream Class OutputStream merupakan class abstra k yang menjadi dasar untuk semua stream keluaran. Method-methodnya: void clear()  Method untuk menutup stream keluaran. void flush()  Method ini memaksa penulisan. void write(int b)  Method untuk menuliskan byte b ke stream keluaran. Class ByteArrayOutputStream merupakan class yang digunakan untuk mengirimkan keluaran ke suatu array dengan elemen bertipe byte.

Operasi File Masukan Class FileInputStream digunakan untuk membaca data dari suatu file. Class SequenceInputStream digunakan untuk menggabungkan dua buah stream masukan atau lebih menjadi sebuah stream masukan. Class DataInputStream digunakan untuk membaca data yang memiliki format khusus ke stream masukan. Class BufferedInputStream adalah class yang digunakan untuk membuat stream masukan berpenyangga. Tujuan penyanggaan ini adalah untuk membuat pembacaan data pada file dilakukan secara efisien.

Operasi File Keluaran Class FileOutputStream digunakan untuk menulis keluaran ke suatu berkas. Class DataOuputStream digunakan untuk menuliskan berbagai tipe data ke stream keluaran dalam berbagai format yang tak bergantung pada mesin. Class BufferedOutputStream adalah class yang digunakan untuk membuat stream keluaran berpenyangga. Tujuan penyanggaan agar penulisan ke file dapat dilakukan secara efisien.

Contoh Program 2.1 Buat sebuah file .txt dengan isi terserah Anda lalu simpan dalam drive komputer Anda. Buat program Java untuk memanggil file txt tersebut dan menampilkan isi teksnya. Kodingnya:

Cara 2 membaca File

Tugas Kelas Modifikasi program Title Case sebelumnya sehingga dapat mengubah inputan berupa kalimat ke bentuk TitleCase dan menyimpannya dalam sebuah file .txt

See You Next Week