Modul Praktikum Membuat Class Sendiri

advertisement
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Mengenali Ruang Lingkup
Pemrograman Anda Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Mengenali Lingkup Pemrograman Anda
1.
•
•
•
2.
Tujuan
Membuat program Java menggunakan text editor dan console dalam linux (Ubuntu
Dapper)
Membedakan antara syntax-error dan runtime-error
Membuat program Java menggunakan NetBeans
Latar Belakang
Dalam sesi ini, kita akan membahas tentang bagaimana menulis, meng-compile
dan menjalankan(run) program Java. Terdapat 2 cara dalam melakukannya, yang
pertama menggunakan console dan text editor. Sedangkan cara kedua adalah dengan
menggunakan NetBeans yang merupakan Integrated Development Environment atau
yang disebut IDE. IDE adalah sebuah peralatan dalam pemrograman yang diintegrasikan
ke dalam aplikasi software yang mendukung pembangunan GUI, text atau penulisan
kode, compiler dan debugger.
Tutorial ini menggunakan Ubuntu Dapper sebagai sistem operasinya. Sebelum
menggunakan tutorial ini, pastikan bahwa telah menginstal Java dan NetBeans dalam
sistem yang anda gunakan. Untuk instruksi dalam bagaimana cara menginstal Java dan
NetBeans, dapat dilihat pada Appendix A. Untuk versi Windows Xp dalam sesi ini, dapat
dilihat pada Appendix B.
Sebelum membahas lebih detail, pada awalnya akan kita lihat program Java
pertama yang akan anda tulis.
3.
Percobaan
Percobaan 1 HelloWorld :
Versi 1.3
1|Page
Modul Praktikum Mengenali Lingkup Pemrograman Anda
4.
Latihan
4.1 Hello World!
Menggunakan NetBeans, membuat class dengan nama : [NamaAnda]. Hasil dari program
yang harus tampil dilayar :
Welcome to Java Programming [NamaAnda]!!!
4.2 The Tree
Menggunakan NetBeans, membuat class dengan nama : TheTree. Hasil dari program yang
harus tampil dilayar :
I think that I shall never see,
a poem as lovely as a tree.
A tree whose hungry mouth is pressed
Against the Earth’s sweet flowing breast.
Versi 1.3
2|Page
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Dasar‐Dasar Pemrograman
Versi 1.4 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Dasar-Dasar Pemrograman
1.
2.
Tujuan
•
Mengidentifikasi bagian dasar dari program java
•
Membedakan mana yang termasuk ke dalam java literals, tipe data dasar, tipe
variabel, pengidentifikasian dan operator.
•
Mengembangkan program java sederhana menggunakan konsep pembelajaran pada
bab ini.
•
Menganalisa program java pertama
Latar Belakang
Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman
java. Kita akan memulai dengan mencoba menjelaskan bagian dasar dari program
Hello.java yang telah diperkenalkan pada bab sebelumnya. Kita juga akan mendiskusikan
beberapa pedoman cara menulis script atau petunjuk penulisan kode dalam penulisan
program lebih efektif dan mudah dibaca.
3.
Percobaan
Percobaan 1 Menampilkan Data Variabel :
Versi 1.4
1|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 2 Penggunaan Operator Aritmatika :
Versi 1.4
2|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 3 Penggunaan Operator Relasi:
Versi 1.4
3|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 4 Penggunaan Operator Logika dan Boolean AND:
Percobaan 5 Penggunaan Operator Logika dan Boolean OR:
Versi 1.4
4|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 6 Penggunaan Operator Logika Eksklusive OR:
Percobaan 7 Penggunaan Operator Logika NOT:
Versi 1.4
5|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 8 Penggunaan Operator Kondisi (?:):
Contoh 1 :
Contoh 2 :
Versi 1.4
6|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 9 Penggunaan Variable:
Percobaan 10 Tipe Data dan Assignment :
Versi 1.4
7|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 11 Operator:
Versi 1.4
8|Page
Modul Praktikum Dasar-Dasar Pemrograman
Percobaan 12 operator decrement – increment :
Versi 1.4
9|Page
Modul Praktikum Dasar-Dasar Pemrograman
4.
Latihan
4.1 Mendeklarasikan dan mencetak variabel
Diberikan tabel dibawah ini, deklarasikan variabel yang terdapat didalamnya dengan tipe
data yang sesuai dan berikan nilai inisialisasi. Tampilkan hasil outputnya yaitu nama
variabel dan nilainya.
Versi 1.4
Variable name
Data tipe
Initial value
number
integer
10
letter
character
a
result
boolean
true
str
String
hello
10 | P a g e
Modul Praktikum Dasar-Dasar Pemrograman
Berikut ini merupakan tampilan yang diharapkan sebagai hasil eksekusi program,
Number = 10
letter = a
result = true
str = hello
4.2 Mendapatkan nilai rata-rata dari tiga angka
Buatlah program yang menghasilkan output nilai rata-ratadari tiga angka. Nilai dari masingmasing tiga angka tersebut adalah 10, 20 dan 45. Tampilan Output yang diharapkan
adalah,
number 1 =
number 2 =
number 3 =
Average is
10
20
45
= 25
4.3 Menampilkan nilai terbesar
Diberikan tiga angka, tuliskan program yang menghasilkan output angka dengan nilai
terbesar diantara tiga angka tersebut. Gunakan operator kondisi ?: yang telah kita pelajari
sebelumnya (HINT: Anda akan perlu menggunakan dua set operator ?: untuk
memecahkan permasalahan ini). Sebagai contoh , diberikan angka 10, 23 dan 5, Program
anda akan menghasilkan output,
number 1 = 10
number 2 = 23
number 3 = 5
Nilai tertingginya adalah angka = 23
4.4 Operator precedence
Diberikan pernyataan berikut ini, tulis kembali soal tersebut dengan menambahkan tanda
kurung pada urutan sesuai dengan bagaimana pernyataan tersebut akan dievaluasi.
1. a / b ^ c ^ d – e + f – g * h + i
2. 3 * 10 *2 / 15 – 2 + 4 ^ 2 ^ 2
3. r ^ s * t / u – v + w ^ x – y++
Versi 1.4
11 | P a g e
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Mendapatkan Input Dari Keyboard Versi 1.4 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Mendapatkan Input Dari Keyboard
1.
Tujuan
•
•
•
Membuat program Java yang interaktif yang bisa mendapatkan input dari
keyboard
Menggunakan kelas BufferedReader untuk mendapatkan input dari keyboard
melalui layar console
Menggunakan kelas JOptionPane untuk mendapatkan input dari keyboard
melalui GUI
2.
Latar Belakang
Kita sudah mempelajari konsep mendasar pada Java dan menulis beberapa
program sederhana. Sekarang kita akan mencoba membuat program kita lebih
interaktif dengan menggunakan input dari keyboard. Pada bab ini, kita akan
mempelajari dua cara memberikan input, yang pertama adalah menggunakan
kelas BufferedReader dan melalui GUI (Graphical User Interface) dengan
menggunakan kelas JOptionPane.
Versi 1.4
1|Page
Modul Praktikum Mendapatkan Input Dari Keyboard
3.
Percobaan
Percobaan 1 Menggunakan class BufferedReader:
Versi 1.4
2|Page
Modul Praktikum Mendapatkan Input Dari Keyboard
Percobaan 2 Menggunakan JOptionPane:
Versi 1.4
3|Page
Modul Praktikum Mendapatkan Input Dari Keyboard
Percobaan 3 Input Dari Keyboard :
Percobaan 4 Input Dari Keyboard (JOptionPane) :
Versi 1.4
4|Page
Modul Praktikum Mendapatkan Input Dari Keyboard
4.
Latihan
4.1 Kata Terakhir (versi BufferedReader)
Menggunakan BufferedReader, tanyakan tiga kata dari user dan tampilkan output dari input
user tersebut ke layar. Contoh,
Enter word1:Goodbye
Enter word2:and
Enter word3:Hello
Goodbye and Hello
4.2 Kata Terakhir (versi JOptionPane)
Menggunakan JOptionPane, tanyakan tiga kata dari user dan tampilkan output dari input
user tersebut ke layar. Contoh
Gambar 1: Input Pertama
Gambar 2: Input Kedua
Gambar 3: Menampilkan Pesan
Versi 1.4
5|Page
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Struktur Kontrol Versi 1.4 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Struktur Kontrol
1.
Tujuan
• Menggunakan struktur kontrol keputusan (if, else, switch) yang digunakan
untuk memilih blok kode yang akan dieksekusi
• Menggunakan struktur kontrol pengulangan (while, do-while, for) yang
digunakan
untuk
melakukan
pengulangan
pada
blok
kode
yang
akan
return)
yang
dieksekusi
• Menggunakan
statement
percabangan
(break,
continue,
digunakan untuk mengatur redirection dari program
2.
Latar Belakang
Pada bab sebelumnya, kita sudah mendapatkan contah dari program
sequential, dimana statement dieksekusi setelah statement sebelumnya dengan
urutan tertentu. Pada bagian ini, kita mempelajari tentang struktur kontrol yang
bertujuan agar kita dapat menentukan urutan statement yang akan dieksekusi.
Struktur kontrol keputusan adalah statement dari Java yang mengijinkan user
untuk memilih dan mengeksekusi blok kode dan mengabaikan blok kode yang
lain.
Versi 1.4
1|Page
Modul Praktikum Struktur Kontrol
3.
Percobaan
Percobaan 1 Statement if:
Percobaan 2 Statement switch:
Versi 1.4
2|Page
Modul Praktikum Struktur Kontrol
Percobaan 3 Statement break:
Percobaan 4 Labeled break statement:
Versi 1.4
3|Page
Modul Praktikum Struktur Kontrol
Percobaan 5 Continue statement:
Percobaan 6 Labeled statement continue:
Versi 1.4
4|Page
Modul Praktikum Struktur Kontrol
Percobaan 7 While:
Versi 1.4
5|Page
Modul Praktikum Struktur Kontrol
Percobaan 8 While:
Versi 1.4
6|Page
Modul Praktikum Struktur Kontrol
Percobaan 9 For:
Versi 1.4
7|Page
Modul Praktikum Struktur Kontrol
Percobaan 10 Nested For:
Versi 1.4
8|Page
Modul Praktikum Struktur Kontrol
Percobaan 11 Do-While:
Versi 1.4
9|Page
Modul Praktikum Struktur Kontrol
4.
Latihan
4.1 Nilai
Ambil tiga nilai ujian dari user dan hitung nilai rata-rata dari nilai tersebut. Berikan
output rata-rata dari tiga ujian. Berikan juga smiley face pada output jika nilai rata-rata
lebih besar atau sama dengan 60, selain itu beri output :-(.
1. Gunakan BufferedReader untuk mendapat input dari user, dan System.out untuk
output hasilnya.
2. Gunakan JOptionPane untuk mendapat input dari user dan output hasilnya.
4.2 Membaca Bilangan
Ambil sebuah angka sebagai input dari user, dan outputnya berupa kata yang sesuai
dengan angka. Angka yang dimasukkan antara 1-10. Jika user memasukkan nilai yang
tidak sesuai berikan output “Invalid number”.
1. Gunakan statement if-else untuk menyelesaikan
2. Gunakan statement switch untuk menyelesaikan
4.3 Cetak Seratus Kali
Buat sebuah program yang mencetak nama Anda selama seratus kali. Buat tiga versi
program ini menggunakan while loop, do while dan for-loop.
4.4 Perpangkatan
Hitung pangkat sebuah nilai berdasarkan angka dan nilai pangkatnya. Buat tiga versi
dari program ini menggunakan while loop, do-while dan for-loop.
Versi 1.4
10 | P a g e
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM JAVA Array Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Java Array
1.
Tujuan
•
•
•
•
2.
Mendeklarasikan dan membuat array
Mengakses elemen-elemen didalam array
Menentukan jumlah element didalam sebuah array
Mendeklarasikan dan membuat array multidimensi
Latar Belakang
Pada bagian ini, kita akan mendiskusikan mengenai array dalam Java.
Pertama, kita akan mendefinisikan apa yang dimaksud dengan array, kemudian
kita juga akan mendefinisikan bagaimana mendeklarasikannya dan
menggunakannya dalam Java.
Dibagian sebelumnya, kita telah mendiskusikan bagaimana cara
pendeklarasian berbagai macam variabel dengan menggunakan tipe data
primitif. Dalam pendeklarasian variabel, kita sering menggunakan sebuah tipe
data beserta nama variabel atau identifier yang unik, dimana untuk
menggunakan variabel tersebut, kita akan memanggil dengan nama identifiernya.
Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang
memiliki identifier yang berbeda untuk tiap variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Seperti yang dapat Anda perhatikan pada contoh diatas, hanya untuk
menginisialisasi dan menggunakan variabel terutama pada saat variabel-variabel
tersebut memiliki tujuan yang sama, dirasa sangat membingungkan. Di Java
maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk
menggunakan satu variabel yang dapat menyimpan sebuah data list dan
kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang
disebut sebagai array.
Versi 1.3
1|Page
Modul Praktikum Java Array
Sebuah array akan menyimpan beberapa item data yang memiliki tipe
data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai
menjadi beberapa slot. Bayangkanlah array adalah sebuah variabel – sebuah
lokasi memori tertentu yang memiliki satu nama sebagai identifier, akan tetapi ia
dapat menyimpan lebih dari sebuah value.
3.
Percobaan
Percobaan 1 Pengaksesan element array:
Percobaan 2 Panjang Array:
Versi 1.3
2|Page
Modul Praktikum Java Array
Percobaan 3 Array Multidimensi:
Percobaan 4 Menggunakan Array args pada Method main:
4.
Latihan
4.1 Hari dalam seminggu
Buatlah sebuah String array yang akan menginisialisasi 7 hari dalam seminggu. Sebagai
contoh,
String days[] = {“Monday”, “Tuesday”….};
Gunakan while-loop, kemudian print semua nilai dari array (Gunakan juga untuk dowhile dan for-loop)Using a while-loop.
Versi 1.3
3|Page
Modul Praktikum Java Array
4.2 Nomor terbesar
Gunakanlah BufferedReader dan JoptionPane, tanyakan kepada user untuk 10 nomor.
Kemudian gunakan array untuk menyimpan 10 nomor tersebut. Tampilkan kepada
user, input terbesar yang telah diberikan user.
4.3 Buku Alamat
Berikut ini adalah array multidimensi yang menyatakan isi dari sebuah buku alamat:
String entry = {{"Florence", "735-1234", "Manila"},
{"Joyce", "983-3333", "Quezon City"},
{"Becca", "456-3322", "Manila"}};
Cetak buku alamat tersebut dalam format berikut ini:
Name : Florence
Tel. #
: 735-1234
Address
: Manila
Name : Joyce
Tel. #
: 983-3333
Address
: Quezon City
Name : Becca
Tel. #
: 456-3322
Address
: Manila
Versi 1.3
4|Page
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Argument Dari Command‐
Line Versi 1.4 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Argumen dari Commandline
1.
Tujuan
•
Mengetahui dan menjelaskan mengenai argumen command-line
•
Mendapatkan
input
dari
user
dengan
menggunakan
argumen
command-line
•
Mempelajari bagaimana memberikan argumen kedalam program pada
NetBeans
2.
Latar Belakang
Pada bagian ini, kita akan mempelajari bagaimana untuk memproses sebuah
input dari command-line dengan menggunakan argumen yang diberikan kepada
program Java.
Sebuah aplikasi Java dapat menerima berbagai argumen dari command-line.
Argumen dari command line memberikan kesempatan bagi user untuk
mempengaruhi operasi dari sebuah aplikasi dalam sekali invokasi. User
memasukkan argumen command line pada saat meng-invoke aplikasi dan
memberikan spesifikasi kepada aplikasi tersebut setelah nama kelas untuk
dijalankan.
Sebagai contoh, apabila Anda memiliki sebuah aplikasi Java dengan nama
Sort, yang akan mengurutkan lima nomor, Anda dapat menjalankannya seperti
berikut ini:
Versi 1.4
1|Page
Modul Praktikum Argumen dari Commandline
Perhatikan bahwa sebuah argumen akan dipisahkan oleh spasi. Di bahasa Java,
apabila Anda akan memanggil sebuah aplikasi, sebuah runtime system akan
memberikan argumen command-line ke main method lewat array dari String,
dimana tiap String dalam array terdiri dari sebuah argumen commmand-line.
Perhatikan deklarasi dari main method,
public static void main( String[] args )
Argumen yang diberikan kepada program Anda akan disimpan kedalam sebuah
array String dengan identifier args.
Pada contoh sebelumnya, argumen dari command-line yang akan diberikan
kepada aplikasi sort command adalah lima buah String yaitu “5”,”4”,”3”,”2”, dan
“1”. Anda dapat mengetahaui berapa banyak argumen dari command-line dengan
cara melihat panjang dari attribute array.
Versi 1.4
2|Page
Modul Praktikum Argumen dari Commandline
Sebagai contoh,
int numberOfArgs = args.length;
Jika program Anda membutuhkan support sebuah argumen command-line
yang numeric. Anda harus mengkonversi String argumen tersebut untuk
merepresantasikan sebuah nomor, misalnya “34” menjadi sebuah nomor. Kode
dibawah ini adalah sebuah potongan untuk mengkonversi sebuah argumen
command-line menjadi integer.
int firstArg = 0;
if (args.length > 0){
firstArg = Integer.parseInt(args[0]);
}
parseInt akan mendapatkan NumberFormatException (ERROR) jika format args[0]
tidak valid (bukan sebuah nomor).
3.
Percobaan
Percobaan 1 Contoh program pada Command Line:
Versi 1.4
3|Page
Modul Praktikum Argumen dari Commandline
Percobaan 2 Contoh Program pada Netbeans:
Langkah-langkah
1. Klik pada daerah yang dilingkari
Versi 1.4
4|Page
Modul Praktikum Argumen dari Commandline
2. Click kanan pada CommandLineExample, kemudian pilih Properties :
3. Dialog Project Properties akan muncul
Versi 1.4
5|Page
Modul Praktikum Argumen dari Commandline
4. click Run
5. Dalam textbox argumen, ketik argumen 5 4 3 2 1. Kemudian tekan click OK.
6. Run program
Versi 1.4
6|Page
Modul Praktikum Argumen dari Commandline
Percobaan 3 Command Line :
4.
Latihan
4.1 Mencetak Argument
Dapatkan input dari user dengan menggunakan argument command line dan cetak
semua argumen ke layar. Sebagai contoh, jika user memasukkan
java
Hello
world
that
is
all
program Anda haruslah mencetak
Hello
world
Versi 1.4
7|Page
Modul Praktikum Argumen dari Commandline
that
is
all
4.2 Operasi Aritmatik
Dapatkan dua buah bilangan yang diinputkan user dari command line dengan
argumen command line,kemudian cetak hasil penjumlahannya, hasil
pengurangannya, hasil perkalian, dan juga hasil pembagiannya.
java
ArithmeticOperation
20
4
program anda akan mencetak
sum = 24
difference = 16
product = 80
quotient = 5
Versi 1.4
8|Page
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Bekerja Dengan JAVA Class Library Versi 1.4 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Bekerja dengan Java Class Library
1. Tujuan
•
menjelaskan OOP dan beberapa konsepnya
•
perbedaan antara class dan object
•
pebedaan antara instance variables/method dan class (static) variable/method
•
menjelaskan method apa dan bagaimana memanggil method parameter
•
mengidentifikasi beberapa jangkauan dari sebuah variable
•
memilih tipe data primitive dan object
•
membandingkan objects dan menjabarkan class dari objects.
2. Latar Belakang
Pada sesi ini, kita akan mengantarkan beberapa konsep dasar dari Object-Oriented
objcts, dan Programming (OOP). Selanjutnya kita akan membahas konsep dari classes dan
bagaimana menggunakan class dan anggotanya. Perubahan dan pemilihan object juga
akan dibahas. Sekarang, kita akan focus dalam menggunakan class yang telah dijabarkan
dalam Java Class library, kita akan membahas nanti tentang bagaimana membikin class
anda sendiri.
OOP berputar pada konsep dari object sebagai dasar element dari program anda.
Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek
disekitar kita, seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh
sifat / attributnya dan tingkah lakunya.
Contohnya, objek sebuah mobil mempunyai sifat tipe transmisi, warna dan
manufaktur. Mempunyai kelakuan berbelok, mengerem dan berakselerasi. Dengan cara
yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa.
Coba perhatikan table dibawah ini sebagai contoh perbandingan :
Object
Car
Lion
Versi 1.4
Properties
Behavior
type of transmission
turning
manufacturer
braking
color
accelerating
Weight
roaring
1|Page
Modul Praktikum Bekerja dengan Java Class Library
Object
Properties
Behavior
Color
sleeping
hungry or not hungry
hunting
tamed or wild
3. Percobaan
Percobaan 1 Pass By Value:
Percobaan 2 Pass by reference :
Versi 1.4
2|Page
Modul Praktikum Bekerja dengan Java Class Library
Percobaan 3 Perbandingan Object :
Versi 1.4
3|Page
Modul Praktikum Bekerja dengan Java Class Library
Percobaan 4 Pemanggilan method menggunakan parameter:
Versi 1.4
4|Page
Modul Praktikum Bekerja dengan Java Class Library
Percobaan 5 Method dengan Return Value :
Versi 1.4
5|Page
Modul Praktikum Bekerja dengan Java Class Library
4. Latihan
4.1 Mendefinisikan Istilah
Dengan kata-kata Anda sendiri, definisikan istilah-istilah berikut ini :
1.
2.
3.
4.
5.
6.
7.
Class
Object
Instantiate
Instance Variable
Instance Method
Class Variables atau static member variables
Constructor
4.2 Java Scavanger Hunt
Pipoy adalah suatu anggota baru dalam bahasa pemrograman Java. Dia hanya
memperdengarkan bahwa telah ada APIs siap pakai dalam Java yang salah satunya dapat
digunakan dalam program mereka, dan ia ingin sekali untuk mengusahakan mereka keluar.
Masalahnya adalah, Pipoy tidak memiliki copy dari dokumentasi Java, dan dia juga tidak
memiliki acces internet, jadi tidak ada jalan untuknya untuk menunjukkan Java APIs.
Tugas Anda adalah untuk membantu Pipoy memperhatikan APIs (Application Programming
Interface). Anda harus menyebutkan class dimana seharusnya method berada, deklarasi
method dan penggunaan contoh yang dinyatakan method.
Sebagai contoh, jika Pipoy ingin untuk mengetahui method yang mengknversisebuah String
ke integer,jawaban Anda seharusnya menjadi:
Class: Integer
Method Declaration: public static int parseInt( String value )
Sample Usage:
String
int
strValue = "100";
value = Integer.parseInt( strValue );
yakinkan bahwa snippet dari kode yang Anda tulis dalam contoh Anda menggunakan
compiles dan memberi output jawaban yang benar, jadi tidak membingungkan Pipoy.
(Hint: Semua methods adalah dalam java.lang package). Dalam kasus dimana Anda
dapat menemukan lebih banyak methods yang dapat menyelesaikan tugas, berikan hanya
satu.
Versi 1.4
6|Page
Modul Praktikum Bekerja dengan Java Class Library
Sekarang mari memulai pencarian!
1. Perhatikan sebuah method yang diuji jika String pasti diakhiri suffix yang pasti. Sebagai
contoh, jika diberikan string "Hello", Method harus mengembalikan nilai true suffix yang
diberikan adalah "lo", dan false jika suffix yang diberikan adalah "alp".
2. Perhatikan untuk method yang mengenali character yang mewakili sebuah digit yang
spesifik dalam radix khusus. Sebagai contoh, jika input digit adalah 15, dan the radix
adalah 16, method akan mengembalikan Character F, sejak F adalah representasi
hexadecimal untuk angka 15 (berbasis 10).
3. Perhatikan untuk method yang mengakhiri running Java Virtual Machine yang sedang
berjalan
4. Perhatikan untuk method yang memperoleh lantai dari sebuah nilai double. Sebagai
contoh, jika Saya input a 3.13, method harus mengembalikan nilai 3.
5. Perhatikan untuk method yang mengenali jika character yang dipakai adalah sebuah
digit. Sebagai contoh, jika Saya input '3', dia akan mengembalikan nilai true.
Versi 1.4
7|Page
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM Membuat Class Sendiri Versi 1.4 JAVA EDUCATION NETWORK INDONESIA
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
1. Tujuan
•
•
•
•
•
•
Membuat kelas mereka sendiri
Mendeklarasikan atribut dan method pada class
Menggunakan referensi this untuk mengakses instance data
Membuat dan memanggil overloaded method
Mengimport dan membuat package
Menggunakan access modifiers untuk mengendalikan akses terhadap class
member
2. Latar Belakang
Setelah kita mempelajari penggunaan class dari Java Class Library, kita akan
mempelajari bagaimana menuliskan sebuah class sendiri. Pada bagian ini, untuk
mempermudah pemahaman pembuatan class, kita akan membuat contoh class
dimana akan ditambahkan beberapa data dan fungsi – fungsi lain.
Kita akan membuat class yang mengandung informasi dari Siswa dan operasi
– operasi yang dibutuhkan pada record siswa.
Beberapa hal yang perlu diperhatikan pada syntax yang digunakan pada bab
ini dan bagian lainnya :
*
- Menandakan bahwa terjadi lebih dari satu kejadian dimana elemen tersebut
diimplementasikan
<description>
- Menandakan bahwa Anda harus memberikan nilai pasti pada bagian ini
[]
- Indikasi bagian optional
Versi 1.4
1|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
3. Percobaan
Percobaan 1 Membuat Class Student Record:
Versi 1.4
2|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Versi 1.4
3|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 2 Membuat Class Student Record Example :
Versi 1.4
4|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 3 Membuat Class Student Record yang telah dimodifikasi:
Versi 1.4
5|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Versi 1.4
6|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Versi 1.4
7|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 4 Membuat Class Student Record Example yang telah
dimodifikasi :
Versi 1.4
8|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 5 Package :
Percobaan 6 Modifier Public :
Versi 1.4
9|Page
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 7 Modifier Private:
Versi 1.4
10 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Versi 1.4
11 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 8 Method Accessor dan Method Mutator:
Versi 1.4
12 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 9 Method Accessor dan Method Mutator:
Versi 1.4
13 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 10 Constructor:
Versi 1.4
14 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 11 Constructor Default:
Versi 1.4
15 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 12 Constructor Overloading:
Versi 1.4
16 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 13 Method Overloading:
Versi 1.4
17 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Versi 1.4
18 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Percobaan 14 Method Overloading:
4. Latihan
4.1
Entry Buku Alamat
Tugas Anda adalah membuat sebuah class yang memuat data-data pada buku
alamat. Tabel berikut mendefinisikan informasi yang dimiliki oleh buku alamat.
Versi 1.4
19 | P a g e
Modul
ModulPraktikum
PraktikumMembuat
MembuatClass
ClassSendiri
Sendiri
Attribut
Deskripsi
Nama
Nama Lengkap perseorangan
Alamat
Alamat Lengkap
Nomor Telepon
Nomor telepon personal
Alamat E-Mail
Alamat E-Mail personal
Tabel 1: Atribut dan Deskripsi Atribut
Buat implementasi dari method sebagai berikut :
•
•
4.1
Menyediakan accessor dan mutator method terhadap seluruh atribut
Constructor
Buku Alamat
Buat sebuah class buku alamat yang dapat menampung 100 data. Gunakan class
yang telah dibuat pada nomor pertama. Anda harus mengimplementasikan method
berikut pada buku alamat :
1.
2.
3.
4.
Memasukkan data
Menghapus data
Menampilkan seluruh data
Update data
Versi 1.4
20 | P a g e
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM
Pewarisan, Polymorphism
Dan Interface
Versi 1.4
JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
1. Tujuan
•
Mendefinisikan superclasses dan subclasses
•
Override method dari superclasses
•
Membuat method final dan class final
2. Latar Belakang
Dalam bagian ini, kita akan membicarakan bagaimana suatu class dapat mewariskan
sifat dari class yang sudah ada. Class ini dinamakan subclass dan induk class dinamakan
superclass. Kita juga akan membicarakan sifat khusus dari Java dimana kita dapat secara
otomatis memakai method yand tepat untuk setiap object tanpa memperhatikan asal
dari subclass object. Sifat ini dinamakan polimorfisme. Pada akhirnya, kita akan
mendiskusikan tentang interface yang membantu mengurangi penulisan program.
Dalam Java, semua class, termasuk class yang membangun Java API, adalah
subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini.
Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass.
Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai
subclass dari class tersebut.
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena
suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis
diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya
sekali dan mereka dapat digunakan oleh semua subclass. Subclass hanya butuh
mengimplementasikan perbedaannya sendiri dan induknya.
Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau
constant ). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method
tanpa tubuh.
Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat
dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam
Versi 1.4
Page | 1
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa
interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat
memanggil method interface dan versi yang tepat dari method yang akan dieksekusi
tergantung dari tipe object yang melewati pemanggil method interface.
Sekarang, class induk Person dan subclass Student dari contoh sebelumnya, kita
tambahkan subclass lain dari Person yaitu Employee. Di bawah ini adalah hierarkinya,
Person
Student
Employee
Dalam Java, kita dapat membuat referensi yang merupakan tipe dari superclass ke
sebuah object dari subclass tersebut.
Kemampuan dari referensi untuk mengubah sifat menurut object apa yang dijadikan
acuan dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses
yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis
menunjuk method yang tepat untuk menggunakannya ke particular object berdasar
subclass yang termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba
melalui referensi ke method. Misalkan kita punya method statis printInformation yang
mengakibatkan object Person sebagai referensi, kita dapat me-referensi dari tipe
Employee dan tipe Student ke method ini selama itu masih subclass dari class Person.
3. Percobaan
Percobaan 1 Mendefinisikan Subclass dan Superclass :
Versi 1.4
Page | 2
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Versi 1.4
Page | 3
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Versi 1.4
Page | 4
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Percobaan 2 Superclass dan Subclass :
Versi 1.4
Page | 5
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Versi 1.4
Page | 6
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Percobaan 3 Polimorphisme :
Versi 1.4
Page | 7
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Versi 1.4
Page | 8
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Percobaan 4 Enkapsulasi:
Versi 1.4
Page | 9
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Versi 1.4
Page | 10
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Versi 1.4
Page | 11
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Percobaan 5 Menampilkan Abstract Class:
Versi 1.4
Page | 12
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
Percobaan 6 Interface:
Relation.java Î bertindak sebagai interface
Versi 1.4
Page | 13
Modul Praktikum Pewarisan, Polimorfisme, dan Interface
Modul Praktikum Pewarisan, Polymorphisme, dan Interface
4. Latihan
4.1
Extend StudentRecord
Dalam latihan ini, kita ingin untuk membuat catatan siswa yang lebih khusus yang berisi
informasi tambahan tentang pengetahuan komputer siswa. Tugasnya adalah meng-extend
class StudentRecord yang mengimplementasikan pelajaran sebelumnya. Cobalah untuk
meng-override beberapa method yang ada dalam superclass StudentRecord, jika Anda
benar-benar membutuhkannya.
4.2
Bentuk Abstract Class
Cobalah untuk membuat class abstract yang dinamai Shape dengan method abstract
getArea() dan getName(). Tulis dua subclasses-nya yaitu Circle dan Square. Anda dapat
menambahkan method tambahan ke dalam subclasses jika diinginkan.
Versi 1.4
Page | 14
PENGENALAN PEMROGRAMAN 1
MODUL PRAKTIKUM
Penanganan Event Handling
Versi 1.3
JAVA EDUCATION NETWORK INDONESIA
Modul
ModulPraktikum
PraktikumPenanganan
PenangananPesan
EventException
Handling
1. Tujuan
•
•
Mendefinisikan exception
Menangani exception menggunakan blok try-catch-finally
2. Latar Belakang
Dalam bagian ini, kita akan mempelajari teknik yang dipakai dalam Java dalam
menangani kondisi yang tidak biasa dalam menjalankan operasi normal dalam program.
Teknik ini dinamakan exception handling.
Exception adalah sebuah peristiwa yang menjalankan alur proses normal pada
program. Peristiwa ini biasanya berupa kesalahan(error) dari beberapa bentuk. Ini
disebabkan program kita berakhir tidak normal.
Beberapa contoh dari exception yang Anda mungkin jumpai pada latihan-latihan
sebelumnya adalah: exception ArrayIndexOutOfBounds, yang terjadi jika kita mencoba
mengakses elemen array yang tidak ada, atau NumberFormatException, yang terjadi ketika
kita mencoba melalui parameter bukan angka dalam method Integer.parseInt.
Untuk menangani exception dalam Java, kita gunakan blok try-catch-finally. Apa yang kita
lakukan dalam program kita adalah kita menempatkan pernyataan yang mungkin
menghasilkan exception dalam blok ini.
3. Percobaan
Percobaan 1 Menangani Exception handling:
Versi 1.3
1|Page
Modul
ModulPraktikum
PraktikumPenanganan
PenangananPesan
EventException
Handling
4. Latihan
4.1 Menangkap Exception 1
Diberikan kode berikut:
public class TestExceptions{
public static void main( String[] args ){
for( int i=0; true; i++ ){
System.out.println("args["+i+"]="+
args[i]);
}
}
}
Compile dan jalankan program TestExceptions. Keluarannya akan tampak seperti ini:
javac TestExceptions one two three
args[0]=one
args[1]=two
args[2]=three
Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 3
at TestExceptions.main(1.java:4)
Ubah program TestExceptions untuk menangani exception, keluaran program setelah
ditangkap exception-nya akan seperti ini:
javac TestExceptions one two three
args[0]=one
args[1]=two
args[2]=three
Exception caught:
java.lang.ArrayIndexOutOfBoundsException: 3
Quiting...
4.2 Menangkap Exception 2
Melakukan percobaan pada beberapa program yang telah Anda tulis adalah hal yang baik
sebelum menghadapi exception. Karena pada program di atas Anda tidak menangkap
exception, maka eksekusi dengan mudahnya berhenti mengeksekusi program Anda.
Kembali kepada program diatas dan gunakan penanganan exception.
Versi 1.3
2|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Review Konsep Dasar Dalam JAVA Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
1. Tujuan
•
•
Mengetahui dan menggunakan konsep dasar beorientasi object.
•
class
•
object
•
atribut
•
method
•
konstruktor
Mengetahui
dengan
jelas
tentang
konsep
lanjutan
berorientasi
object
dan
menggunakannya dengan baik
•
package
•
enkapsulasi
•
abstraksi
•
pewarisan
•
polimorfisme
•
interface
•
Mengetahui dengan jelas penggunaan kata kunci this, super, final dan static
•
Membedakan antara method overloading dan method overridding
2. Latar Belakang
Sebelum melangkah pada fitur-fitur menarik yang ada pada Java, mari kita meninjau
beberapa hal yang telah Anda pelajari pada pelajaran pemograman pertama Anda.
Pelajaran ini menyajikan diskusi tentang perbedaan konsep-konsep berorientasi object
dalam Java.
Desain berorientasi object adalah sebuah teknik yang memfokuskan desain pada
object dan class berdasarkan pada skenario dunia nyata. Hal ini menegaskan
keadaan(state), behaviour dan interaksi dari object. Selain itu juga menyediakan manfaat
akan kebebasan pengembangan, meningkatkan kualitas, mempermudah pemeliharaan,
mempertinggi kemampuan dalam modifikasi dan meningkatkan penggunaan kembali
software.
Versi 1.3
1|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
3. Percobaan
Percobaan 1 Class SuperHero:
Percobaan 2 Class Atribut Demo :
Versi 1.3
2|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 3 Class method Demo:
Percobaan 4 Class Construstor Demo :
Versi 1.3
3|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 5 Instantiate sebuah Class:
Percobaan 6 Mengakses sebuah object :
Versi 1.3
4|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 7 Package :
Percobaan 8 Class Enkapsulasi :
Versi 1.3
5|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 9 Class Override Demo :
Versi 1.3
6|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 10 Class Abstract dan method :
Versi 1.3
7|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 11 Class Interface Demo :
Percobaan 12 Kata Kunci This :
Versi 1.3
8|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Versi 1.3
9|Page
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 13 Kata Kunci Super :
Percobaan 14 Kata Kunci Static :
Versi 1.3
10 | P a g e
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Versi 1.3
11 | P a g e
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
Percobaan 15 Outer Class :
Versi 1.3
12 | P a g e
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
4. Latihan
4.1 Tabel Perkalian
Tulis program yang mempunyai masukkan size dari user dan mencetak tabel perkalian
dengan size yang ditetapkan.
Size untuk tabel perkalian : 5
Tabel perkalian dari size 5:
1
2
3
4
1
1
2
2
4
3
3
6
9
4
4
8
12
16
5
5
10
15
20
4.2 Greatest Common Factor(GCF)
Tulis sebuah program yang mempunyai tiga integer dan menghitung nilai GCF dari tiga
angka. GCF adalah angka terbesar yang secara rata dibagi ke semua angka yang diberikan.
Input 1: 25
Input 1: 1
Input 1: 9
Input 2: 15
Input 2: 2
Input 2: 27
Input 3: 35
Input 3: 3
Input 3: 12
GCF: 5
GCF: 1
GCF: 3
Versi 1.3
13 | P a g e
5
25
Modul Praktikum Review Konsep Dasar dalam Java
Modul Praktikum Review Konsep Dasar
4.3 Shape
Buatlah class Shape. class memiliki dua field String: name dan size. class mempunyai
method printShapeInfo, dimana hanya mengeluarkan nilai name dan field size dari object
Shape. Juga memiliki method printShapeName dan printShapeSize, dimana mencetak nama
dan size dari object, berturut-turut.
Menggunakan pewarisan, buat class Square dengan field yang sama dan method seperti itu
dari class Shape. Class ini mempunyai dua tambahan field integer: length dan width.
Method printShapeLength dan printShapeWidth yang mencetak panjang dan lebar object
yang juga termasuk dalam class ini. Anda juga harus meng-override printShapeInfo untuk
mencetak keluaran field tambahan dalam subclass juga.
4.4 Binatang
Buatlah interface Animal yang mempunyai tiga method:eat dan move. Semua method ini
tidak punya argumen atau nilai return. Method ini hanya mengeluarkan bagaimana object
Animal makan dan bergerak. Sebagai contoh, seekor kelinci memakan wortel dan bergerak
dengan melompat. Buat class Fish dan Bear yang menggunakan interface Animal. Terserah
kepada Anda bagaimana menggunakan method eat dan move.
Versi 1.3
14 | P a g e
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Exception Dan Assertions Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
1. Tujuan
•
•
•
•
•
•
•
Menangani exception dengan menggunakan try, catch dan finally
Membedakan penggunaan antara throw dengan throws
Menggunakan exception class yang berbeda – beda
Membedakan antara checked exceptions dan unchecked exceptions
Membuat exception class tersendiri
Menjelaskan keunggulan penggunaan assertions
Menggunakan assertions
2. Latar Belakang
Bugs dan error dalam sebuah program sangat sering muncul meskipun program
tersebut dibuat oleh programmer berkemampuan tinggi. Untuk menghindari
pemborosan waktu pada proses error-checking, Java menyediakan mekanisme
penanganan exception.
Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi
saat runtime, menyebabkan gangguan pada alur eksekusi program. Terdapat
beberapa tipe error yang dapat muncul. Sebagai contoh adalah error pembagian 0,
mengakses elemen di luar jangkauan sebuah array, input yang tidak benar dan
membuka file yang tidak ada.
Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak langsung,
dari sebuah root class Throwable. Kemudian, dalam class ini terdapat dua kategori
umum : Error class dan Exception class.
Exception class menunjukkan kondisi yang dapat diterima oleh user program.
Umumnya hal tersebut disebabkan oleh beberapa kesalahan pada kode program.
Contoh dari exceptions adalah pembagian oleh 0 dan error di luar jangkauan array.
Error class digunakan oleh Java run-time untuk menangani error yang muncul pada
saat dijalankan. Secara umum hal ini di luar control user karena kemunculannya
disebabkan oleh run-time environment. Sebagai contoh adalah out of memory dan
harddisk crash.
3. Percobaan
Versi 1.3
1|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Percobaan 1 : Menangkap Exception
Percobaan 2 : Multiple Catch
Berikan argument :
• Tidak Ada argument,
• 1
• 0
Versi 1.3
2|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Percobaan 3 : Nested Try
Berikan argument :
•
Tidak Ada argument,
•
15
•
15
3
•
15
0
Versi 1.3
3|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Percobaan 4 : Nested Try dengan Method
Berikan argument :
•
Tidak Ada argument,
•
15
•
15
3
•
15
0
Versi 1.3
4|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Percobaan 5 : Demo Keyword Finally
Percobaan 6 : Demo Keyword throw
Versi 1.3
5|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Percobaan 7 : Demo Keyword throws
Percobaan 8 : Multiplecatch Exception ERROR
Versi 1.3
6|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Percobaan 9 : User Defined Exception
Percobaan 10 : Assertions
Versi 1.3
7|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
Perintah Kompilasi dan eksekusi :
javac –source 1.4 AgeAssert.java
java –enableassertions AgeAssert ‘arguments’
Versi 1.3
8|Page
Modul
Assertions
ModulPraktikum
PraktikumException
Exception&dan
Assertions
4. Latihan
4.1 Heksadesimal ke Desimal
Tentukan sebuah angka heksadesimal sebagai input. Konversi angka tersebut
menjadi bilangan desimal. Tentukan exception class Anda sendiri dan lakukan
penanganan jika input dari user bukan berupa bilangan heksadesimal.
4.2 Menampilkan Sebuah Berlian
Tentukan nilai integer positif sebagai input. Tampilkan sebuah berlian
menggunaakan karakter asterisk (*) sesuai angka yang diinput oleh user. Jika user
memasukkan bilangan integer negatif, gunakan assertions untuk menanganinya.
Sebagai contoh, jika user memasukkan integer bernilai 3, program Anda harus
menampilkan sebuah berlian sesuai bentuk berikut :
*
***
*****
***
*
Versi 1.3
9|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Tour Dari Package java.lang Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
1. Tujuan
Menggunakan class-class Java yang telah ada
•
Math
•
String
•
StringBuffer
•
Wrapper
•
Process
•
System
2. Percobaan
Percobaan 1 : Demo Method - Method dari Class Math
Versi 1.3
1|Page
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
Percobaan 2 : String Constructor Demo
Versi 1.3
2|Page
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
Percobaan 3 : Demo Method Class String
Versi 1.3
3|Page
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
Percobaan 4 : Demo Method Class String Buffer
Percobaan 5 : Class Boolean Wrapper
Versi 1.3
4|Page
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
Percobaan 6 : Class Runtime – Membuka Registry Editor
Versi 1.3
5|Page
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
Percobaan 7 : Demo Class System
Versi 1.3
6|Page
Modul
ModulPraktikum
PraktikumTour
Tourjava.lang
PackagePackage
Java.lang
3. Latihan
Evaluasi Ekspresi
Menggunakan method-method class built-in Math, buatlah sebuah program yang menggunakan
nilai double x sebagai inputan dan evaluasilah nilai mutlak dari ekspresi yang mengikuti.
x2 * cos(45derajat) + akar(e), e adalah angka Euler.
Input:
10
Output: 72.35939938935488
Input:
11
Output: 87.20864179427238
Palindrome
Palindrome adalah sebuah string yang membaca sama ketika mengarah ke depan atau
sebaliknya. Beberapa contoh dari palindrome : hannah, ana, and bib. Menggunakan String atau
class StringBuffer, buatlah sebuah program yang menggunakan satu string sebagai inputan
dan tentukan jika ini sebuah palindrome atau bukan.
Notepad
Menggunakan class Process and Runtime, bukalah aplikasi notepad dari program java.
Versi 1.3
7|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Aplikasi Berbasis Text Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Text Based Application
1.
Tujuan
•
•
•
•
2.
Mendapatkan input dari command-line
Mengetahui cara untuk memanipulasi properties dari sistem
Membaca standart input
Membaca dan menulis file
Percobaan
Percobaan 1 : Standart Input – Membaca Karakter
Versi 1.3
1|Page
Modul Praktikum Text Based Application
Percobaan 2 : Membaca Keseluruhan String
Versi 1.3
2|Page
Modul Praktikum Text Based Application
Percobaan 3 : Membaca File
Versi 1.3
3|Page
Modul Praktikum Text Based Application
Percobaan 4 : Menulis File
Versi 1.3
4|Page
Modul Praktikum Text Based Application
3.
Latihan
3.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 (‘ _
‘).
Versi 1.3
5|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Abstract Windowing Toolkit dan Swing Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum AWT & Swing
1.
Tujuan
•
•
•
•
•
•
2.
Memahami persamaan dan perbedaan antara AWT dan Swing
Perbedaan antara komponen dan kontainer.
Mendesain aplikasi GUI menggunakan AWT.
Mendesain aplikasi GUI menggunakan Swing.
Menjelaskan tentang flow layout, border layout, dan grid layout dalam komponen
GUI
Membuat tampilan yang komplek dalam mendesain aplikasi GUI.
Latar Belakang
Tanpa mempelajari tentang grapichal user interface (GUI) API, Anda masih
tetap bisa membuat suatu program. Tetapi, program Anda akan kelihatan tidak
menarik dan tidak nyaman digunakan bagi para user. Memiliki GUI yang baik dapat
memberi efek pada penggunaan aplikasi. Java menyediakan banyak tool seperti
Abstract Windowing Toolkit dan Swing untuk mengembangkan aplikasi GUI yang
interaktif.
The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK,
yang termasuk dalam koleksi dari API dimana dapat mempermudah pengembangan
aplikasi JAVA GUI. JFC termasuk diantara 5 bagian utama dari API yaitu AWT dan
Swing. Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag and
Drop. Semua itu membantu developer dalam mendesain dan mengimplementasikan
aplikasi dengan visualisasi yang lebih baik.
AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam
membuat aplikasi Java dan applet. Anda akan mempelajari applet pada bab
berikutnya. Tidak seperti beberapa komponen AWT yang menggunakan native code,
keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing
menyediakan
implementasi platform-independent dimana aplikasi yang
dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang
dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun
dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT.
Kesimpulannya, komponen AWT dapat digunakan bersama dengan komponen Swing.
Versi 1.3
1|Page
Modul Praktikum AWT & Swing
3.
Percobaan
Percobaan 1 Menampilkan Frame :
Versi 1.3
2|Page
Modul Praktikum AWT & Swing
Percobaan 2 Menampilkan Panel :
Versi 1.3
3|Page
Modul Praktikum AWT & Swing
Percobaan 3 Menampilkan Frame Control :
Versi 1.3
4|Page
Modul Praktikum AWT & Swing
Versi 1.3
5|Page
Modul Praktikum AWT & Swing
Percobaan 4 Menampilkan Flow Layout Demo:
Percobaan 5 Menampilkan Border Layout Demo:
Versi 1.3
6|Page
Modul Praktikum AWT & Swing
Percobaan 6 Menampilkan Grid Layout Demo:
Versi 1.3
7|Page
Modul Praktikum AWT & Swing
Percobaan 7 Menampilkan Complex Layout:
Versi 1.3
8|Page
Modul Praktikum AWT & Swing
Percobaan 8 Menampilkan Swing Demo:
Versi 1.3
9|Page
Modul Praktikum AWT & Swing
Percobaan 9 Menampilkan JOption Demo:
Versi 1.3
10 | P a g e
Modul Praktikum AWT & Swing
Versi 1.3
11 | P a g e
Modul Praktikum AWT & Swing
4.
Latihan
Buatlah tampilan GUI untuk program tic-tac-toe. Papannya terdiri dari enam kotak. Ingatlah
bahwa Anda akan menambahkan kode ini pada tahap akhir untuk mengatasi interaksi antar
pengguna. Jadi, desainlah papan Anda dengan benar. Pastikanlah Anda memilih komponen
yang pantas untuk papan tersebut. Keluarkan semua sisi artistik Anda. Anda dapat
menggunakan AWT atau Swing untuk latihan ini.
Gambar 1.5.1: papan Tic-Tac-Toe
Versi 1.3
12 | P a g e
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM GUI Event Handling Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum GUI Event Handling
1.
Tujuan
•
•
•
•
•
2.
Menerangkan komponen-komponen delegation event model
Mengerti bagaimana delegation event model bekerja
Menciptakan aplikasi GUI yang berinteraksi dengan user
Mendiskusikan manfaat dari class-class adapter
Mendiskusikan keuntungan-keuntungan dari menggunakan
anonymous class
inner
dan
Latar Belakang
Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered
ketika user berinteraksi dengan aplikasi GUI Anda. Setelah menyelesaikan modul
ini, Anda akan dapat mengembangkan aplikasi GUI yang dapat merespon interaksi
user.
Delegasi event model menguraikan bagaimana program Anda dapat merespon
interaksi dari user. Untuk memahami model, mari kita pelajari pertama-tama
melalui tiga komponen utamanya.
1. Event Source
The event source mengacu pada komponen GUI yang meng-generate event.
Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah
tombol.
2. Event Listener/Handler
The event listener menerima berita dari event-event dan proses-proses interaksi
user. Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan
sebuah informasi yang berguna untuk user.
3. Event Object
Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen
GUI), sebuah object event diciptakan. Object berisi semua informasi yang perlu
tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah
terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk
kategori yang berbeda dari user action. Sebuah event object mempunyai tipe
data mengenai salah satu class ini.
Versi 1.3
1|Page
Modul Praktikum GUI Event Handling
3.
Percobaan
Percobaan 1 Mouse Event Demo :
Versi 1.3
2|Page
Modul Praktikum GUI Event Handling
Percobaan 2 Close Frame :
Versi 1.3
3|Page
Modul Praktikum GUI Event Handling
Percobaan 3 Close Frame dengan Command Listener tertentu :
Versi 1.3
4|Page
Modul Praktikum GUI Event Handling
Percobaan 4 Close Frame dengan Inner Class:
Versi 1.3
5|Page
Modul Praktikum GUI Event Handling
Percobaan 5 Anonymous Inner class:
Versi 1.3
6|Page
Modul Praktikum GUI Event Handling
4.
Latihan
4.1 Tic-Tac-Toe
Extend program papan Tic-Tac-Toe yang telah Anda kembangkan sebelumnya dan
tambahkan event handlers ke kode tersebut untuk membuat program berfungsi penuh.
Permainan Tic-Tac-Toe dimainkan dengan dua pemain. Pemain mengambil giliran
mengubah. Setiap giliran, pemain dapat memilih kotak pada papan. Ketika kotak dipilih,
kotak ditandai oleh simbol pemain (O dan X biasanya digunakan sebagai simbol). Pemain
yang sukses menaklukkan 3 kotak membentuk garis horisontal, vertikal, atau diagonal,
memenangkan permainan. Permainan akan berakhir ketika pemain menang atau ketika
semua kotak telah terisi.
Gambar 8.2 : Program Tic-Tac-Toe
Versi 1.3
7|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Thread Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Threads
1.
Tujuan
•
•
•
•
•
•
•
•
2.
Mendefiniskan threads
Mengerti perbedaan state dalam threads
Mengerti konsep prioritas dalam threads
Mengetahui bagaimana menggunakan method didalam class Thread
Membuat sendiri sebuah thread
Menggunakan sinkronisasi pada thread yang bekerja bersama-sama dan
saling bergantung satu dengan yang lainya
Memungkinkan thread untuk dapat berkomunikasi dengan thread lain yang
sedang berjalan
Mengerti dan menggunakan kemampuan concurency
Latar Belakang
Pada bab-bab sebelumnya Anda terbiasa untuk membuat program yang
berururutan/sekuensial. Sebuah program sekuensial berarti sebuah program yang
hanya memiliki satu aliran eksekusi. Setiap eksekusi, ia memiliki sebuah titik awal
eksekusi, kemudian sebuah sekuen eksekusi, dan kemudian berakhir. Selama
runtime, pasti hanya satu proses yang telah dieksekusi. Bagaimanapun juga, di
dunia nyata, pasti dibutuhkan sesuatu yang dapat mengatur proses yang terjadi
dan berjalan bersama-sama.Oleh karena itu, thread hadir untuk menjadi solusi
dalam mengatasi permasalahan tersebut.Sebuah thread merupakan sebuah
pengontrol aliran program. Untuk lebih mudahnya, bayangkanlah thread sebagai
sebuah proses yang akan dieksekusi didalam sebuah program tertentu.
Penggunaan sistem operasi modern saat ini telah mendukung kemampuan untuk
menjalankan beberapa program. Misalnya, pada saat Anda mengetik sebuah
dokumen di komputer Anda dengan menggunakan text editor, dalam waktu yang
bersamaan Anda juga dapat mendengarkan musik, dan surfing lewat internet di PC
Anda. Sistem operasi yang telah terinstal dalam computer Anda itulah yang
memperbolehkan Anda untuk menjalankan multitaskting. Seperti itu juga sebuah
program (ibaratkan di PC Anda), ia juga dapat mengeksekusi beberapa proses
secara bersama-sama(ibaratkan beberapa aplikasi berbeda yang bekerja pada PC
Anda). Sebuah contoh aplikasi adalah HotJava browser yang memperbolehkan Anda
untuk browsing terhadap suatu page, bersamaan dengan mendownload object yang
lain, misalnya gambar, memainkan animasi, dan juga file audio pada saat yang
bersamaan.
Versi 1.3
1|Page
Modul Praktikum Threads
3.
Percobaan
Percobaan 1 Counter Down Demo :
Percobaan 2 Menulis Object Threads sebanyak 100 x :
Versi 1.3
2|Page
Modul Praktikum Threads
Percobaan 3 Implementasi interface Runnable :
Versi 1.3
3|Page
Modul Praktikum Threads
Percobaan 4 Contoh penggunaan method Join:
Versi 1.3
4|Page
Modul Praktikum Threads
Percobaan 5 Mencetak String tanpa sinkronisasi:
Versi 1.3
5|Page
Modul Praktikum Threads
Percobaan 6 Sinkronisasi pertama:
Versi 1.3
6|Page
Modul Praktikum Threads
Percobaan 7 Sinkronisasi kedua:
Versi 1.3
7|Page
Modul Praktikum Threads
Percobaan 8 Produser-Consumer Test:
Versi 1.3
8|Page
Modul Praktikum Threads
Percobaan 9 Produser-Consumer Test Modifikasi:
Versi 1.3
9|Page
Modul Praktikum Threads
4.
Latihan
4.1 Banner
Dengan menggunakan AWT atau Swing, buatlah sebuah banner sederhana yang
akan mencetak string yang dituliskan oleh user. String ini akan ditampilkan secara terus
menerus dan program Anda harus memberikan ilustrasi bahwa string tersebut bergerak
dari kiri ke kanan. Untuk memastikan bahwa proses perpindahannya tidak terlalu
cepat, Anda sebaiknya menggunakan method sleep dari class Thread.
Berikut ini adalah sebuah contoh dimana Anda menuliskan ”Your name here!”.
Gambar 1.6.1: Contoh pergerakan string
Versi 1.3
10 | P a g e
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Jaringan Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Jaringan
1.
•
Tujuan
Mengerti konsep dasar jaringan
•
•
•
•
•
•
Membuat aplikasi menggunakan paket jaringan Java
µ
µ
µ
µ
2.
IP address
protokol
ports
client/server
socket
ServerSocket
Socket
MulticastSocket
DatagramPacket
Latar Belakang
Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang
mengerjakan berbagai pekerjaan melalui jaringan. Ini adalah suatu cita-cita pembuatan Java
yang menjadi salah satu kekuatan Java sejak dibuat dengan internet di dalam cita-cita.
Sebelum mempelajari tentang jaringan dalam Java. Pertama-tama anda akan diperkenalkan
kepada beberapa konsep dasar jaringan.
Jika sebelumnya anda suda mengetahui, internet adalah jaringan global dengan
berbagai jenis komputer yang berbeda yang tersambung dalam berbagai jalan. Walaupun
terdapat perbedaan dalam software dan hardware yang disambung bersama, hal tersebut
sangatlah bagus dimana internet masih berfungsi. Hal ini memungkinkan karena standar
komunikasi memiliki ketetapan dan juga keselarasan. Standar ini menjamin kesesuaian dan
kekuatan komunikasi diantara luasnya sistem pada internet.
3.
Percobaan
Percobaan 1 Koneksi Server:
Versi 1.3
1|Page
Modul Praktikum Jaringan
Versi 1.3
2|Page
Modul Praktikum Jaringan
Percobaan 2 Koneksi Client:
Versi 1.3
3|Page
Modul Praktikum Jaringan
4.
Latihan
4.1 Trivia Server
Buatlah sebuah server yang berisi satu set pertanyaan yang mudah. Secara sederhana,
akan ada sekitar 5-10 pertanyaan.
Client yang terhubung ke server mengirim sebuah permintaan untuk sebuah pertanyaan
atau jawaban sebuah pertanyaan, Client mengirim pesan “permintaan”. Untuk jawaban dari
sebuah pertanyaan, client mengirim pesan “jawaban”. Ketika menerima pesan
“permintaan”, secara acak server akan memilih satu pertanyaan dari koleksi yang ada. Dia
mengirimkan pertanyaan yang dipilih sesuai dengan nomor yang bersangkutan kepada
client.
Ketika server menerima pesan “jawaban” dari client, dia menginformasikan user bahwa user
perlu mengirimkan jawaban sesuai dengan nomor pertanyaan kepada server. Jawaban itu
harus dalam format <no pertanyaan>#<jawaban Anda>.
Berikut adalah contoh skenario :
Client: "permintaan"
Server: "3#Siapa pembuat Java?"
Client: "jawaban"
Server: "Berikan jawabanmu dengan format: <nomor pertanyaanr>#<jawaban Anda>"
Client: "3#James Gosling"
Server: Kerja yang bagus!
...
Versi 1.3
4|Page
Modul Praktikum Jaringan
Versi 1.3
5|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM Applet Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Applet
1.
Tujuan
µ mendefinisikan apa yang dimaksud dengan applet
µ Membentuk applet anda sendiri
µ Mengetahui siklus yang terdapat pada applet
•
•
•
•
init
start
stop
destroy
µ menggunakan methods applet yang lain
•
paint
•
showStatus
•
Methods untuk memainkan sebuah audio clip
µ Memahami html tag pada applet
2.
Latar Belakang
Applets adalah satu dari fitur yang paling menarik dalam java. Applet merupakan
program yang Anda jalankan melalui web browser. Anda akan belajar tentang membentuk
applet pada pembelajaran ini.
Sebuah applet adalah tipe yang spesial dari program java yang dieksekusi melalui
internet. Secara khusus berjalan pada suatu web browser seperti Netscape Navigator,
Mozilla, atau Microsoft Internet Explorer. Bagaimanapun, jika dibandingkan dengan aplikasi
Java yang normal, tidak diijinkan mengakses applet pada komputer yang mana dijalankan
untuk alasan keamanan. Applet ini cukup terbatas jika dibandingkan dengan aplikasi java.
Pada module ini, Anda akan mempelajari tentang membuat applet menggunakan
AWT.
Versi 1.3
1|Page
Modul Praktikum Applet
3.
Percobaan
Percobaan 1 String Hello World :
Percobaan 2 Life Cycle Demo:
Versi 1.3
2|Page
Modul Praktikum Applet
Percobaan 3 Menampilkan ShowStatus :
Versi 1.3
3|Page
Modul Praktikum Applet
Percobaan 4 Memainkan file audio:
Versi 1.3
4|Page
Modul Praktikum Applet
Percobaan 5 Menampilkan String HelloWorld dengan parameter:
4.
Latihan
Tic-Tac-Toe Applet satu-player
Buat game satu-player Tic-Tac-Toe. User memainkannya melawan komputer. Untuk setiap
giliran, pemain harus menggeser kotak dari papan. Sekali sebuah kotak terpilih, kotak
tersebut ditandai oleh symbol pemain (O dan X yang selalu digunakan sebagai simbol).
pemain yang berhasil mengatasi 3 kotak membentuk baris horizontal, vertical atau diagonal
memenangkan game ini. Game ini berakhir ketika pemain menang atau ketika semua kotak
sudah berhasil dibentuk. Desain dan gerakan komputer seakan-akan user akan
memenangkan pertandingan melawan komputer.
Versi 1.3
5|Page
PENGENALAN PEMROGRAMAN 2
MODUL PRAKTIKUM I/O Stream Lanjutan Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
Modul Praktikum Stream I/O Lanjut
1.
Tujuan
• Tahu tipe-tipe stream yang umum digunakan
• Menggunakan class File dan methodnya
• Karakter dan Stream byte
• Input dan Output Streams
• Node dan Filter Streams
• Menggunakan class-class Input/Output yang berbeda
• Reader
• Writer
• InputStream
• OutputStream
• Memahami konsep dari stream chaining
• Mendefinisikan serialisasi
• Memahami penggunaan dari kata kunci transient
• Menulis dan membaca dari sebuah object stream
2.
Latar Belakang
Dalam module sebelumnya, Anda telah mempelajari bagaimana untuk mendapatkan
input user dan memanipulasi file-file menggunakan strea. Kini Anda akan mempelajari lebih
banyak tentang stream dan class-class stream yang lain.
Tipe-Tipe Stream yang Umum Digunakan
Stream Karakter dan Byte
Seperti yang elah disebutkan sebelumnya, secara umum ada dua tipe dari
stream, yaitu stream karakter dan byte. Kita hanya mengulang perbedaan
mendasar antara keduanya. Stream byte adalah abstraksi file atau alat untuk
data biner sedangkan stream karakter adalah untuk karakter Unicode.
Class InputStream adalah abstraksi class root untuk semua input stream byte
sedangkan class OutputStream adalah class root abstraksi dari semua output
stream byte. Untuk stream karakter, superclasss yang sesuai dari semua
class-class secara berturut-turut
adalah class Reader dan the Writer. Kedua class-class ini adalah abstraksi classclass untuk membaca dan menulis stream karakter.
Input dan Output Stream
Stream juga dikategorikan berdasarkan apakah mereka digunakan untuk
membaca atau menulis stream.Walaupun ini sudah cukup nyata, izinkan saya
untuk mendefinisikan tipe stream ini. Anda diijinan untuk membaca dari input
stream tapi tidak menulisnya. Di lain pihak, Anda diijinkan untuk menulis
output streams tapi tidak membacanya. Class InputStream dan class Reader
adalah superclass-superclass dari semua input stream. Class OutputStream dan
class Writer adalah class-class root dari semua output stream. Input stream
Versi 1.3
1|Page
Modul Praktikum Stream I/O Lanjut
juga dikenal sebagai stream sumber (source stream) sejak kita memperoleh
informasi dari stream ini. sementara itu output stream disebut juga stream
hasil(sink stream).
Node dan Stream Filter
Kini package java.io membedakan antara node dan stream filter. Sebuah
stream node adalah sebuah stream dengan fungsi dasar berupa fungsi
membaca atau menulis dari sebuah lokasi khusus seperti pada disk atau dari
jaringan. Tipe-tipe dari stream node terdiri atas file, memory dan jalur data.
Stream filter, di lain pihak, diletakkan pada layer stream node diantara
threads atau proses untuk menyediakan fungsi tambahan yang tidak dapat
ditemukan dalam stream node oleh stream node itu sendiri. Penambahan
lapisan pada sebuah stream node disebut dengan stream chaining. Sesi ini
berturut-turut mempunyai sebuah tujuan dariclass-class stream yang
berbeda. Untuk melengkapi daftar dari class-class ini, silahkan melihat
dokumentasi Java's API.
3.
Percobaan
Percobaan 1 Informasi File atau Folder:
Versi 1.3
2|Page
Modul Praktikum Stream I/O Lanjut
Versi 1.3
3|Page
Modul Praktikum Stream I/O Lanjut
Percobaan 2 File Terkopi:
Versi 1.3
4|Page
Modul Praktikum Stream I/O Lanjut
Percobaan 3 File Terkopi :
Versi 1.3
5|Page
Modul Praktikum Stream I/O Lanjut
Percobaan 4 File Terkopi:
Versi 1.3
6|Page
Modul Praktikum Stream I/O Lanjut
Percobaan 5 Character Dari File tercetak:
Versi 1.3
7|Page
Modul Praktikum Stream I/O Lanjut
Percobaan 6 Terbentuk File Boolean.ser:
Versi 1.3
8|Page
Modul Praktikum Stream I/O Lanjut
Percobaan 7 Unserialized Boolean:
Versi 1.3
9|Page
Modul Praktikum Stream I/O Lanjut
4.
Latihan
4.1.Enkripsi Sederhana
Baca dari sebuah file khusus oleh user dan encrypt isi file menggunakan teknik
penggeseran yang sederhana. Juga, tanyakan pada user untuk menginput ukuran
pergeseran. Output dari pesan yang telah di encrypt pada file yang lain yang memiliki
nama yang juga dibuat oleh user sendiri.
Sebagai contoh,
Ukuran pergeseran: 1
Pesan yang dibaca dari file: Hello
Pesan ter-encrypt: Ifmmp
Versi 1.3
10 | P a g e
Download