You are on page 1of 33

Konsep

Pemograman
Notes:

Name : Wahyu
Nim : 2103113577
Pengulangan x

MY NOTE

JENIS JENIS PERULANGAN


1. Pengulangan Terbatas (Definite Loop)
Jumlah pengulangan terhadap suatu instruksi
algoritma/program di defenisikan dengan jelas

2. Pengulangan Tidak Terbatas (Indefinite


Loop)
Jumlah pengulangan terhadap suatu instruksi
algoritma/program di atur berdasarkan kondisi

MY NOTE

PENGULANGAN TERBATAS (DEFINITE LOOP)


Menggunakan Pernyataan " For " yang mana pernyataan " For
" merupakan pengulangan tanpa kondisi yang mana instruksi
instruksi yang terletak dalam badan pengulangan diulangi
sebanyak nilai yang di dispesifikan. terdapat 2 model yaitu
menaik dan menurun

MY NOTE
STRUKTUR FOR
for( initialization; condition; update )
statement;

initialization: digunakan untuk memberikan inisialisasi


terhadap variabel pengendali pengulangan tipe data adalah
bilangan bulat atau karakter.
condition: dipakai sebagai kondisi untuk keluar dari
pengulangan.
update: dipakai untuk mengupdate nilai variabel
pengendali pengulangan.
Pengulangan x

PERULANGAN FOR CMD.EXE


1 public class Main { 0
2 public static void main(String[] args) { 1
3 for ( int i = 0; i < 5; i++ ){ 2
4 System.out.println(i); 3
5 } 4
6 }
7 }

MY NOTE

Pengulangan Tidak Terbatas (Indefinite


LOOP)
Perulangan menggunakan pernyataan while dan do while.
Kedua perulangan tersebut melakukan pengulangan
berdasarkan kondisi. Instruksi-instruksi yang terletak dalam
badan pengulangan diulangi selama kondisi bernilai benar
(true)

MY NOTE

STRUKTUR WHILE
while( condition )
statement;

statement dilaksanakan berulangkali selama kondisi bernilai


true
Agar pengulangan berhenti kondisi diberikan nilai false,
maka dalam badan pengulangan harus ada instruksi yang
melakukan update terhadap nilai kondisi
Pengulangan x

PERULANGAN WHILE CMD.EXE


1 public class Main { 0
2 public static void main(String[] args) { 1
3 int i = 0; 2
4 while (i < 5) { 3
5 System.out.println(i); 4
6 i++;
7 }}}

MY NOTE

STRUKTUR DO WHILE
do
statement;
while( condition )

Statement dilaksanakan berulangkali selama kondisi bernilai


true
Agar pengulangan berhenti kondisi diberikan nilai false,
maka dalam badan pengulangan harus ada instruksi yang
melakukan update terhadap nilai kondisi

PERULANGAN DO WHILE CMD.EXE


1 public class Main { 0
2 public static void main(String[] args) { 1
3 int i = 0; 2
4 do { 3
5 System.out.println(i); 4
6 i++;
7 } while (i < 5);
8 }}
Pengulangan x

Komparasi while dengan do ... while

MY NOTE MY NOTE

While Do...While
1. Kondisi pengulangan 1. Kondisi pengulangan
diuji diawal diuji diawal
2. Jika kondisi salah maka 2. Jika kondisi salah maka
instruksiinstruksi instruksiinstruksi
algoritma/program tidak algoritma/program tidak
akan pernah diulang akan pernah diulang

MY NOTE

INSTRUKSI TAMBAHAN DALAM PENGULANGAN


1. Instruksi break
Instruksi break menghentikan (terminasi) pengulangan
meskipun kondisi/batas pengulangan masih bernilai benar
while ( kondisi ) {
break;
} statement-x

Statement break berfungsi untuk menghentikan pengulangan


2. Instruksi continue
Instruksi continue melewati nilai yang ditetapkan dan
melanjutkan pengulangan sampai kondisi/batas pengulangan
bernilai salah
while ( kondisi ) {
break;
} statement-x

Pernyataan continue berfungsi untuk melewatkan nilai


update kondisi pengulangan dan selanjutnya kembali
mengeksekusi nilai update berikutnya.
Pengulangan x

MY NOTE

NESTED LOOP
Pengulangan bersarang maksudnya adalah dalam badan
pengulangan terdapat konstruksi pengulangan yang lain. Pada
beberapa aplikasi nyata banyak diterapkan nested loop.
Contohnya ialah Aplikasi sorting

NESTED LOOP CMD.EXE


1 public class Main { *
2 public static void main(String[] args) { * *
3 for ( int i=1; i<=5; i++ ){ //Outer * * *
4 for ( int j=1; j<=i; j++ ){ //inner * * * *
5 System.out.print("* "); * * * * *
6 } System.out.println();
7 }
8 }
9 }
METHOD x

MY NOTE
METODE
Metode digunakan untuk pemecahan program menjadi
beberapa bagian yang lebih kecil Disebut juga modul atau
sub-program
Keuntungan menggunakan metode:
1. Penerapan teknik “divide and conquer” membagi masalah
menjadi sub-masalah untuk diselesaikan
2. Penerapan teknik “reusability” metode yang sudah ada
dapat digunakan kembali
3. Menghindari penulisan kode yang sama berulang
4. Memudahkan dalam melacak kesalahan

MY NOTE

MODUL PROGRAM DI JAVA


1. Modul-modul di Java:
Methods
Classes
2. Java API (Application Programming Interface) atau Java
Class Library menyediakan beberapa modul
3. Programmer bisa membuat modul metode yang
didefenisikan programmer
PRINSIP KERJA METODE
1. Metode:
Method call  Mengerjakan tugas (invoke) dengan
pemanggilan metode
Caller  Menerima hasil ()
2. Similar to a boss (caller) asking a worker (method call)
to complete a task
3. Disebut fungsi atau prosedur pada bahasa pemrograman
lain
METHOD x

MY NOTE

DEKLARASI METODE
modifier returnType nameOfMethod (Parameter List) {
// method body
}

public static int luas(int p, int l) {


return p * l;
}

modifier: Ini mendefinisikan jenis akses metode dan


opsional untuk digunakan.
returnType: Metode dapat mengembalikan nilai.
nameOfMethod: Ini adalah nama metode. Tanda tangan
metode terdiri dari nama metode dan daftar parameter.
Parameter List: Daftar parameter, itu adalah jenis, urutan,
dan jumlah parameter dari suatu metode. Ini opsional,
metode mungkin berisi parameter nol.
method body: Badan metode mendefinisikan apa yang
dilakukan metode dengan pernyataan.

PEMANGGILAN METODE
Metode adalah blok kode yang hanya berjalan ketika
dipanggil. Kamu dapat meneruskan data, yang dikenal sebagai
parameter, ke dalam metode. Metode juga digunakan untuk
melakukan tindakan tertentu, dan mereka juga dikenal sebagai
fungsi.

nameOfMethod (Parameter List);

luas (3,4);
METHOD x

METHOD
1 public class Main {
2 public static int luasSegitiga (int a, int t) {
3 return a * t / 2;
4 }
5
6 public static void main(String[] args) {
7 System.out.println(luasSegitiga(2, 5));
8 }
9 }

CMD.EXE

MY NOTE

RUANG LINGKUP VARIABEL


Nama-nama konstanta, variabel dan tipe yang dideklarasikan
di dalam metode hanya dikenal di dalam metode saja. Nama-
nama tersebut lingkupnya (scope) lokal. Berdasarkan metode
fungsiMinimum, maka variabel min disebut varibel lokal.
Sedangkan variabel yang dideklarasikan dalam program utama
seperti a,b,c disebut variabel global
Mana yang lebih baik variabel lokal atau global?
Bila variabel digunakan diseluruh bagian program, maka
deklarasikan variabel secara global
Jika hanya digunakan pada metode saja maka gunakan
variabel lokal
Penggunaan variabel lokal dapat meminimumkan usaha
pelacakan kesalahan akibat nama variabel
METHOD x

MY NOTE

TIPE PARAMETER
Parameter adalah media pertukaran data antara metode dan
titik dimana ia dipanggil. Parameter terbagi menjadi dua ada
parameter aktual dan parameter formal. Parameter yang
disertakan dalam pemanggilan disebut parameter aktual dan
Parameter yang dituliskan pada deklarasi metode disebut
parameter formal

MY NOTE

METODE OVERLOADING
Beberapa metode dengan nama yang sama disebut metode
overloading.Set parameter yang berbeda untuk setiap metode
Jumlah parameter
Jenis parameter

METHOD OVERLOADING
1 public class Main {
2 static int plusMethod(int x, int y) {
3 return x + y;
4 } static double plusMethod(double x, double y) {
5 return x + y;
6 } public static void main(String[] args) {
7 int myNum1 = plusMethod(8, 5);
8 double myNum2 = plusMethod(4.3, 6.26);
9 System.out.println("int: " + myNum1);
10 System.out.println("double: " + myNum2);
11 }}

CMD.EXE

int: 13
double: 10.559999999999999
ARRAY x

MY NOTE

KONSEP ARRAY
Array adalah sebuah variabel atau konstanta yang bisa
menyimpan banyak data dalam satu variabel. Array
menggunakan indeks untuk memudahkan akses terhadap data
yang disimpannya.Indeks array selalu dimulai dari 0, 1, 2,..
dst.dan perlu diketahui juga, Setiap item dalam array disebut
elemen , dan setiap elemen diakses dengan indeks. indeks
tidak selalu dalam bentuk angka. Bisa juga karakter atau teks.
Setiap variabel/ konstanta mempunyai tipe data :
1. int = bilangan bulat
2. double = bilangan real
3. char = karakter
4. boolean = true and false
Dilihat dari dimensinya array dapat dibagi menjadi array
dimensi satu, array dimensi dua dan array dimensi banyak.
Dalam operasional, manipulasi array umumnya menggunakan
pernyataan pengulangan.

MY NOTE

OPERASI ARRAY
Nilai di masing-masing posisi elemen dapat diambil dan nilai
dapat disimpan tanpa melewati posisi-posisi lain. Setiap
elemen array dapat diakses melalui indeks. Indeks array
dimulai dari 0. Terdapat dua tipe operasi, yaitu:
1. Operasi terhadap satu elemen/posisi dari array
2. Operasi terhadap array sebagai keseluruhan
OPERASI SATU ELEMEN ARRAY
Dua operasi paling dasar terhadap satu elemen/posisi
adalah
1. Penyimpanan nilai elemen ke posisi tertentu di array
A[10] = 78  berarti penyimpanan nilai 78 ke variabel
array A di indeks ke-10
2. Pengambilan nilai elemen dari posisi tertentu di array
C = A[10]  berarti mengambil isi array A indeks ke-10
dan menyalin ke variabel C
ARRAY x

MY NOTE

ARRAY DIMENSI SATU


Secara lojik array dapat dibayangkan sebagai sekumpulan
kotak yang terurut (vertikal atau horizontal). Tiap kotak pada
array A diberi indeks integer 0, 1, 2, ...,7.Tiap elemen array
ditulis dengan notasi: A[0], A[1], A[2], ..., A[7]
DEKLARASI ARRAY DIMENSI SATU
tipe nama_array[]; //cara pertama
tipe [] nama_array; //cara kedua
tipe [] nama_array = new tipe [banyak_array]; //cara ketiga
tipe = menyatakan tipe data elemen array (mis. int, char).
nama_array = nama variabel array.
banyak_array = batas atau ukuran array-nya.

CONTOH ARRAY CARA 1 CMD.EXE


1 public class Main { 1
2 public static void main(String[] args) { 2
3 //isi elemen array 3
4 int[] num = {1, 2, 3, 4}; 4
5 //menampilkan data ke layar
6 for (int i : num) {
7 System.out.println(i);
8 }}}

CONTOH ARRAY CARA 2 CMD.EXE


1 public class Main { 9
2 public static void main(String[] args) { 8
3 int[] a = new int[4]; 7
4 //isi elemen array 6
5 a[0]=9; a[1]=8; a[2]=7; a[3]=6;
6 //menampilkan data ke layar
7 for (int i : num) {
8 System.out.println(i);
9 }}}
ARRAY x

MY NOTE

TIPE STRING (KATA ATAU KALIMAT)


String merupakan kumpulan (array) dari karakter. Untuk
membedakan dengan tipe data numerik maka penulisan data
string diawali dan diakhiri tanda petik ganda.

CONTOH ARRAY CARA 1 CMD.EXE


1 public class Main { 1
2 public static void main(String[] args) { 2
3 int[][] a = { {1, 2, 3, 4}, {5, 6, 7} }; 3
4 for (int i = 0; i < a.length; ++i) { 4
5 for(int j = 0; j < a[i].length; ++j) { 5
6 System.out.println(a[i][j]); 6
7 } 7
8 }}}}

MY NOTE

ARRAY DIMENSI BANYAK (MULTIDIMENSI)


Array multidimensi diimplementasikan sebagai array yang
terletak di dalam array. Array multidimensi dideklarasikan
dengan menambahkan jumlah tanda kurung setelah nama
array.
Bentuk umum deklarasi array dimensi tiga:
tipe nama_array[ukuran1][ukuran2][ukuran3];

Contoh mendeklarasi array 3 x 3 x 3


int angka[][][] = new int[3][3][3];
STRING x

MY NOTE

KONSTRUKSI STRING
String di java direpresentasikan dengan class bukan array
character seperti C dan C++. Terdapat dua class:

java.lang.String //string konstan (immutable)


java.lang.StringBuffer //string mutable

MY NOTE

STRING MUTABLE (DAPAT DIMODIFIKASI)


Menggunakan StringBuffer dan StringBuilder
StringBuilder : lebih cepat tapi tidak bisa disinkronisasi
StringBuffer : thread safety (recommended)

MY NOTE
STRUKTUR STRINGBUFFER (APPEND() METHOD)
public StringBuilder append(String str)
str Ini adalah string.

STRINGBUFFER (APPEND() METHOD)


1 public class Main {
2 public static void main(String[] args) {
3 StringBuffer sb = new StringBuffer("sistem");
4 sb.append(" informasi");
5 System.out.println(sb);
6 }}

CMD.EXE
sistem informasi
STRING x

MY NOTE
STRUKTUR STRINGBUFFER (REVERSE() METHOD)
public StringBuffer reverse()

STRINGBUFFER (REVERSE() METHOD)


1 public class Main {
2 public static void main(String[] args) {
3 StringBuffer buffer = new StringBuffer("Sistem Informasi");
4 buffer.reverse();
5 System.out.println(buffer);
6 }}

CMD.EXE
isamrofnI metsiS

MY NOTE
STRUKTUR STRINGBUFFER (DELETE() METHOD)
public StringBuffer delete(int start, int end);
start Ini adalah indeks awal, inklusif.
end Ini adalah indeks akhir, eksklusif.

STRINGBUFFER (DELETE() METHOD)


1 public class Main {
2 public static void main(String[] args) {
3 StringBuffer sbf = new StringBuffer("sistemInformasi");
4 sbf.delete(8, 11); // Deleting char from index 8 to 11
5 System.out.println(sbf);
6 }}

CMD.EXE
sistemInmasi
STRING x

MY NOTE
STRUKTUR STRINGBUFFER (INSERT() METHOD)
public StringBuffer reverse()

STRINGBUFFER (INSERT() METHOD)


1 public class Main {
2 public static void main(String[] args) {
3 StringBuffer sb = new StringBuffer("abcdefghijk");
4 sb.insert(3, "123");
5 System.out.println(sb);
6 }}

CMD.EXE
abc123defghijk

MY NOTE
STRUKTUR STRINGBUFFER (REPLACE() METHOD)
public StringBuffer replace(int start, int end, String str)
mulai Indeks awal, inklusif.
end Indeks akhir, eksklusif.
str String yang akan menggantikan konten sebelumnya.

STRINGBUFFER (REPLACE() METHOD)


1 public class Main {
2 public static void main(String[] args) {
3 StringBuffer sb = new StringBuffer("abcdefghijk");
4 sb.replace(3, 8, "ZARA");
5 System.out.println(sb);
6 }}

CMD.EXE
abcZARAijk
STRING x

MY NOTE
PUBLIC STRINGBUFFER LENGTH()
public StringBuffer length()

STRINGBUFFER LENGTH()
1 public class Main {
2 public static void main(String[] args) {
3 StringBuffer sb = new StringBuffer("Sistem Informasi");
4 System.out.println(sb.length());
5 }}

CMD.EXE
16

MY NOTE
STRUKTUR STRINGBUFFER (CONCAT() METHOD)
public String concat(String another)

STRINGBUFFER (CONCAT() METHOD)


1 public class Main {
2 public static void main(String[] args) {
3 String s1="Sistem "; String s2="Informasi";
4 String s3=s1.concat(s2);
5 System.out.println(s3);
6 }}

CMD.EXE
Sistem Informasi
CLASS & OBJECT x

MY NOTE

CLASS
Class merupakan suatu “Blueprint” atau “Cetakan” untuk
menciptakan suatu instance dari object. Class juga merupakan
grup suatu object dengan kemiripan attributes/properties,
behavior dan relasi ke object lain. Contoh :Class Person,
Vehicle, Tree, Fruit dan lainnya.
CLASS
Object adalah instance dari class secara umum
merepresentasikan (template) sebuah object, sebuah instance
adalah representasi nyata dari class itu sendiri.•Object
mempunyai atribut (state) dan perilaku (behaviour)
Contoh : Dari Class Fruit kita dapat membuat object Mangga,
Pisang, Apel, dan lainnya.
Object Samsung atribut: jenis, warna, dimensi dll
perilaku: berdering, menerima pesan dll

MY NOTE

METHOD DAN ATRIBUT


Konsep class dan object pada dunia nyata mempunyai
kemiripan dalam konsep class dan object di bahasa java.
Setiap program di java dibentuk oleh class. Class
menciptakan object-object. Atribut object adalah data
(variabel). Perilaku object adalah method
CLASS DIAGRAM
Class menggambarkan keadaan (atribut/properti) suatu
sistem, sekaligus menawarkan layanan untuk memanipulasi
keadaan tersebut (method). Class diagram menggambarkan
struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, pewarisan,
asosiasi, dan lain-lain. Class memiliki tiga area pokok :
1. Nama
2. Atribut
3. Method
CLASS & OBJECT x

MY NOTE
CLASS DIAGRAM
Atribut dan metoda dapat memiliki salah satu sifat berikut :
1. Private, tidak dapat dipanggil dari luar class yang
bersangkutan
2. Protected, hanya dapat dipanggil oleh class yang
bersangkutan dan anak-anak yang mewarisinya
3. Public, dapat dipanggil oleh siapa saja

eklarasi instance variable diawali dengan keyword private


(private String courseName; ).
1. Keyword private atau public disebut access modifier.
2. Variables atau methods yang dideklarasikan dengan
access modifier public dapat diakses baik dari dalam atau
luar class
3. Variables atau methods yang dideklarasikan dengan
access modifier private hanya dapat diakses pada class
tersebut
4. Oleh karena itu variabel courseName hanya dapat
digunakan dalam methods setCourseName,
getCourseName and displayMessage dari class
GradeBook

CLASS DECLARATION WITH ONE METHOD

1 public class GradeBook{


2 public void displayMessage(){
3 System.out.println("Welcome to the Grade Book!");
4 } // end method displayMessage
5 public static void main(String args[]){ =
6 GradeBook myGradeBook = new GradeBook();
7 myGradeBook.displayMessage();
8 }}

CMD.EXE
Welcome to the Grade Book!
CLASS & OBJECT x

DECLARATION A METHOD WITH A PARAMETER

1 public class GradeBook{


2 public void displayMessage(String kata){
3 System.out.println(kata);
4 }}
5 public class GradeBookTest {
6 public static void main(String args[]){
7 GradeBook myGradeBook = new GradeBook();
8 myGradeBook.displayMessage("Sistem Informasi");
9 }}

CMD.EXE
Sistem Informasi
GRAFIK x

MY NOTE

JAVA GRAFIK
Java, Grafik adalah struktur data yang menyimpan data
tertentu. Konsep graf telah dicuri dari matematika yang
memenuhi kebutuhan bidang ilmu komputer. Ini mewakili
jaringan yang menghubungkan beberapa titik satu sama lain.
TERMINALOGI GRAFIK
Vertex Edge Weight Weight

MY NOTE

C
C LL A
ASSS
S F
FOON
NTT

Nama huruf
Monospace, SansSerif, Serif, dll.

Nama huruf
Monospace, SansSerif, Serif, dll.

Nama huruf
Monospace, SansSerif, Serif, dll.
GRAFIK x

MY NOTE
METODE UTUK MENGGAMBAR
Metode untuk menggambar yaitu :
1. Menggambar garis
Public void drawLine(int x1, int y1, int x2, int, y2)
2. Menggambar persegi panjang (rectangle)
Public void drawRect(int x, Int y, int lebar, int tinggi)
Public void drawRoundRect (int x, int y, int lebar,
3. int tinggi, int arcWidth, int arcHeight)
Public void fill3DRect(int x, int y, int lebar, int tinggi
,Boolean b) =>Tida dimensi persegi panjang
4. Menggambar solid rectangle
Public void fillRect(int x, int y, int lebar, int tinggi)
Public void clearRect(int x, int y, lebar, int tinggi)
Public void fillRoundRect(int x, int y, int lebar, int
tinggi, int arcWidth, int arcHeight)
5. Menggambar oval
Public void drawOval(int x, int y, int lebar, int tinggi)
Public void fillOval(int x, int y, int lebar, int tinggi)

MY NOTE

KONSTRUKSI FONT MEMILIKI 3 ARGUMEN


1. font nama (public Font(string name, int style, int size))
monospaced, times Newroman, serif, dll.
2. font style (public int getStyle( ) )
(public final static int PLAIN/BOLD/ITALIC)
3. Font.PLAIN, Font.BOLD, Font ITALIC font size (public int
getSize( ))
Ukurannya 1/72 inci
GRAFIK x

MY NOTE

KONSTRUKSI FONT MEMILIKI 3 ARGUMEN


1. public void drawPolygon(int xPoints[], int yPoints[], int
points )
2. Public void drawPolyline(int xPoints[], int yPoints[], int
points )
3. public void drawPolygon( Polygon p )
4. public void fillPolygon( int xPoints[], int yPoints[], int
points )
5. public void fillPolygon( Polygon p )
6. public Polygon( int xValues[], int yValues[], int
numberOfPoints )

MY NOTE
JAVA API 2D
1. java.awt
2. java.awt.image
3. java.awt.color
4. java.awt.font.geom
5. java.awt.print
6. java.awt.image.renderable
7. Menggunakan kelas java.awt.Graphics2D
8. Memperpanjang kelas java.awt.Graphics

MY NOTE

JAVA 2D BENTUK
1. Ellipse2D.Double
2. Rectangle2D.Double
3. RoundRectangle2D.Double
4. Arc3D.Double
5. Lines2D.Double
ERROR HANDLING x

MY NOTE

EXCEPTIONS
Exceptions (pengecualian/ tidak normal/ abnormal/ error).
Exceptions adalah masalah atau error pada suatu kejadian/
peristiwa (event). Exceptions pada program komputer
terjadi ketika alur normal program diinterupsi/terganggu
dan program dihentikan secara tidak normal. Exceptions ini
tidak diinginkan sehingga harus ditangani/dicarikan
solusi.

Sebuah exceptions pada program dapat terjadi karena


beberapa hal, misalnya
1. User salah masukkan data (type, length, etc...)
2. File yang dibutuhkan tidak ditemukan.
3. Jaringan komunikasi bermasalah atau disconnected pada
saat
4. berkomunikasi.
5. Tidak cukup memory untuk menjalankan JVM

Beberapa dari errors tersebut disebabkan :


1. user error
2. programmer error
3. physical resources

MY NOTE
3 KATEGORI EXCEPTIONS
1. Checked exceptions (exception pada compile time)
2. Unchecked exceptions / runtime exceptions (exception
pada execution time)
3. Errors (tidak ada exceptions, error/masalah terjadi diluar
kontrol user maupun programmer)
ERROR HANDLING x

MY NOTE

CHECKED EXCEPTIONS
Exceptions yang terjadi pada waktu kompilasi program
(compile time). Exceptions ini tidak bisa diabaikan
Programmer harus menanganinya atau mencarikan solusi
Misalnya, jika kita menggunakan FileReader class yang
membaca sebuah file. Ternyata file yang akan dibaca tidak
ada, maka FileNotFoundException akan muncul. Compiler
akan memunculkan exception tersebut dan meminta
programmer untuk menangani exception tersebut (error
handling)

CHECKED EXCEPTIONS

1
import java.io.file ;
2
import java.io.FileReader ;
3
public class FileNotFound_Demo {
4
public static void main ( String args []) {
5
File file = new File ( " E :// file . text " ) ;
6
FileReader fr = new FileReader ( file ) ;
7
}
8
}
9

CMD.EXE
shell > javac FilenotFound_Demo . java
FilenotFound_Demo . java :8: error : unreported
exception
FileNotFoundException ;
must be caught or declared to be thrown
FileReader fr = new FileReader ( file ) ;
^
1 error
ERROR HANDLING x

MY NOTE

UNCHECKED EXCEPTIONS
Exceptions ketika runtime (Runtime Exceptions). Terjadi
ketika eksekusi program. Bisa terjadi karena logic errors
atau salah penggunaan API. Runtime exception ini diabaikan
ketika kompilasi (compile)

UNCHECKED EXCEPTIONS

1 public class Unchecked_Demo {


2 public static void main ( String args []) {
3 int num []={1 ,2 ,3 ,4};
4 System.out.println (num [5]) ;
5 }
6 }

CMD.EXE
Exception in thread " main "
java.lang.ArrayIndexOutOfBoundsException : 5
at Exceptions . Unchecked_Demo.main (
Unchecked_Demo.java :8)
ERROR HANDLING x

MY NOTE

UNCHECKED EXCEPTIONS
Exceptions ketika runtime (Runtime Exceptions). Terjadi
ketika eksekusi program. Bisa terjadi karena logic errors
atau salah penggunaan API. Runtime exception ini diabaikan
ketika kompilasi (compile)
UNCHECKED EXCEPTION CLASS DEFAULT DI JAVA

CHECKED EXCEPTION CLASS DEFAULT DI JAVA

METHOD DARI CLASS EXCEPTIONS


ERROR HANDLING x

MY NOTE

JAVA EXCEPTION KEYWORDS

MENANGKAP/CATCHING EXCEPTIONS (FORMAT)


try {
// Protected code
} catch ( ExcetptionName e1 ) {
// Catch block
}

CATATAN PENTING!
Sebuah klausa catch tidak bisa ada tanpa diikuti klausa try
Tidak wajib menggunakan klausa finally saat ada klausa
try/catch. Klausa try mesti diikuti klausa catch ataupun
klausa finally setiap code tidak boleh ada di antara klausa
try, catch dan finally blocks.
ERROR HANDLING x

MY NOTE
USER-DEFINED EXCEPTIONS (EXCEPTION BUATAN
SENDIRI)
Kita bisa membuat exceptions sendiri di Java dengan
memperhatikan hal-hal sebagai berikut :
1. Exceptions yang dibuat haruslah sebagai anak dari class
Throwable.
2. Checked exception yang ingin kita buat haruslah extend
dari class/kelas Exception.
3. Sedangkan Unchecked exception haruslah extend dari
class RuntimeException.

USER-DEFINED EXCEPTIONS (FORMAT)


class MyException extends Exception {
}

USER-DEFINED EXCEPTIONS

1 // File Name InsufficientFundsException.java


2 import java . io .*;
3 public class InsufficientFundsException extends Exception {
4 private double amount ;
5 public InsufficientFundsException ( double amount ) {
6 this.amount = amount ;
7 } public double getAmount () {
8 return amount ;
9 }
10 }
I/O x

MY NOTE
INPUT/OUTPUT
Java (java.io package) menyediakan hampir semua class yang
kita butuhkan untuk melakukan operasi input dan output.
Input dan output dianggap sebagai streams yang
mrepresentasikan sumber inputan dan tujuan keluaran atau
output. Stream pada java.io package mendukung beberapa
type data seperti primitives, object, karakter local
(localized character), dst.

MY NOTE

STREAM
Sebuah stream didefinisikan sebagai sebuah urutan data (a
sequence of data) Ada 2 jenis stream :
1. InPutStream = Stream yang digunakan untuk membaca
data dari sebuah sumber.
2. OutPutStream = Stream yang digunakan untuk menulis
data pada sebuah tujuan atau destinasi.

MY NOTE
BYTE STREAMS
Java Byte Streams digunakan untuk melakukan operasi input
dan output dalam rentang 8-bit bytes. FileInputStream dan
FileOutPutStream adalah 2 class yang paling sering
digunakan untuk bytes stream. Walaupun beberapa class
yang lainnya berhubungan dengan bytes
stream.
I/O x

BYTE STREAMS

1 public class main{


2 public static void main ( String args []) throws IOException {
3 FileInputStream in = null ;
4 FileOutputStream out = null ;
5 try {
6 in = new FileInputStream ( " input . txt " ) ;
7 out = new FileOutputStream ( " output . txt " ) ;
8 int c ;
9 while (( c = in.read () ) != -1) { out.write ( c ) ; }
10 } finally {
11 if ( in != null ) { in.close () ; }
12 if ( out != null ) { out.close () ; }
13 }}}

MY NOTE

CHARACTER STREAMS
input dan output dalam rencatang 16-bit bytes.
menggunakan class fileReader dan FileWriter

STANDARD STREAMS
semua bahasa pemrograman mendukung standard I/O dimana
user memasukkan input dari keyboard dan mengeluarkannya
di layar komputer.di Java :
1. Standard Input = Untuk mengisi data ke dalam program
(biasanya dari keyboard) dan direpresentasikan sebagai
System.in
2. Standard Output = Untuk menampilkan hasil atau output
ke layar komputer dan direpresentasikan sebagai
System.out
3. Standard Error = Untuk menampilkan error pada program
user dan direpresentasikan sebagai System.err
I/O x

MY NOTE

FILEINPUTSTREAM
Stream yang digunakan untuk membaca data dari files. objek
dapat dibuat dengan keyword new. memiliki beberapa
constructor.
InputStream f = new FileInputStream ( "C:/java/hello" ) ;
konstruktor di atas mengambil nama file sebagai sebuah
string dan menjadikannya sebagai sebuah input stream objek
untuk dibaca.
File f = new File ( " C :/ java / hello " ) ;
InputStream f = new FileInputStream ( f ) ;
konstruktor di atas pertama membuat file objek, kemudian
membaca file object tersebut sebagai sebuah input stream.

BYTEARRAYINPUTSTREAM DAN
DATAINPUTSTREAM
ByteArrayInputStream mengizinkan sebuah buufer di dalam
memory untuk digunakan sebagai InputStream. Sumber input
ByteArrayInputStream adalah byte array
ByteArrayInputStream bInput = ByteArrayInputStream (x) ;

DataInputStream digunakan pada DataOutputStream dan bisa


digunakan untuk membaca data primitives
InputStream in = DataInputStream ( InputStream in ) ;

FILEOUTPUTSTREAM
FileOutputStream digunakan untuk membuat file dan
menulisinya Stream tersebut akan membuat file (jika file
sebelumnya tidak ada) sebelum membuka file tersebut
sebagai output.
OutputStream f = new FileOutputStream ( "C:/java/helo"
) ;
I/O x

MY NOTE
FILE NAVIGATION DAN I/O
1. File Class = Class yang mereprentasikan files dan
directory pathnames dalam bentuk abstract. Class ini
digunakan untuk membuat files dan directory, juga
pencarian files, penghapusan files, dsb.
2. FileReader Class = Class yang digunakan untuk membaca
stream of characters. Ia merupakan anak dari class
InputStreamReader.
3. FileWriter Class = Anak dari class OutputStreamWriter.
Class ini digunakan untuk menulis streams of characters.

MY NOTE
DIRECTORIES/FOLDER DI JAVA
Directory adalah sebuah file yang berisi daftar file lain atau
directory lain.
Ada dua method dari class File dalam membuat directories:
1. mkdir() = method yang membuat sebuah directory. method
ini mengambalikan nilai true jika sukses, false jika gagal
membuat directory.
2. mkdirs() = method yang membuat sebuah directory
sekaligus semua induk atau parents dari directory
tersebut.
Untuk menampilkan semua file maupun directory di dalam
sebuahdirectory, java menyediakan method list() dari class
File

You might also like