Top Banner
PENGENALAN PEMROGRAMAN 1 MODUL PRAKTIKUM Mengenali Ruang Lingkup Pemrograman Anda Versi 1.3 JAVA EDUCATION NETWORK INDONESIA
187

Java Programming Lengkap From JENI

May 29, 2017

Download

Documents

Dion Prayoga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Mengenali Ruang LingkupPemrograman Anda  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 2: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum Mengenali Lingkup Pemrograman Anda

1. 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

2. 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 :

Page 3: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

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.

Page 4: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Dasar‐Dasar Pemrograman Versi 1.4 

JAVA EDUCATION NETWORK INDONESIA

Page 5: Java Programming Lengkap From JENI

Versi 1.4 1 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

1. 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

2. 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 :

Page 6: Java Programming Lengkap From JENI

Versi 1.4 2 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 2 Penggunaan Operator Aritmatika :

Page 7: Java Programming Lengkap From JENI

Versi 1.4 3 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 3 Penggunaan Operator Relasi:

Page 8: Java Programming Lengkap From JENI

Versi 1.4 4 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 4 Penggunaan Operator Logika dan Boolean AND:

Percobaan 5 Penggunaan Operator Logika dan Boolean OR:

Page 9: Java Programming Lengkap From JENI

Versi 1.4 5 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 6 Penggunaan Operator Logika Eksklusive OR:

Percobaan 7 Penggunaan Operator Logika NOT:

Page 10: Java Programming Lengkap From JENI

Versi 1.4 6 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 8 Penggunaan Operator Kondisi (?:):

Contoh 1 :

Contoh 2 :

Page 11: Java Programming Lengkap From JENI

Versi 1.4 7 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 9 Penggunaan Variable:

Percobaan 10 Tipe Data dan Assignment :

Page 12: Java Programming Lengkap From JENI

Versi 1.4 8 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 11 Operator:

Page 13: Java Programming Lengkap From JENI

Versi 1.4 9 | P a g e

Modul Praktikum Dasar-Dasar Pemrograman

Percobaan 12 operator decrement – increment :

Page 14: Java Programming Lengkap From JENI

Versi 1.4 10 | P a g e

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.

Variable name Data tipe Initial value

number integer 10

letter character a

result boolean true

str String hello

Page 15: Java Programming Lengkap From JENI

Versi 1.4 11 | 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 masing-masing tiga angka tersebut adalah 10, 20 dan 45. Tampilan Output yang diharapkan adalah,

number 1 = 10 number 2 = 20 number 3 = 45 Average is = 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++

Page 16: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Mendapatkan Input Dari Keyboard  Versi 1.4 

JAVA EDUCATION NETWORK INDONESIA

Page 17: Java Programming Lengkap From JENI

Versi 1.4 1 | P a g e

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.

Page 18: Java Programming Lengkap From JENI

Versi 1.4 2 | P a g e

Modul Praktikum Mendapatkan Input Dari Keyboard

3. Percobaan

Percobaan 1 Menggunakan class BufferedReader:

Page 19: Java Programming Lengkap From JENI

Versi 1.4 3 | P a g e

Modul Praktikum Mendapatkan Input Dari Keyboard

Percobaan 2 Menggunakan JOptionPane:

Page 20: Java Programming Lengkap From JENI

Versi 1.4 4 | P a g e

Modul Praktikum Mendapatkan Input Dari Keyboard

Percobaan 3 Input Dari Keyboard :

Percobaan 4 Input Dari Keyboard (JOptionPane) :

Page 21: Java Programming Lengkap From JENI

Versi 1.4 5 | P a g e

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

Page 22: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Struktur Kontrol  Versi 1.4 

JAVA EDUCATION NETWORK INDONESIA

Page 23: Java Programming Lengkap From JENI

Versi 1.4 1 | P a g e

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

dieksekusi

• Menggunakan statement percabangan (break, continue, return) yang

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.

Page 24: Java Programming Lengkap From JENI

Versi 1.4 2 | P a g e

Modul Praktikum Struktur Kontrol

3. Percobaan

Percobaan 1 Statement if:

Percobaan 2 Statement switch:

Page 25: Java Programming Lengkap From JENI

Versi 1.4 3 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 3 Statement break:

Percobaan 4 Labeled break statement:

Page 26: Java Programming Lengkap From JENI

Versi 1.4 4 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 5 Continue statement:

Percobaan 6 Labeled statement continue:

Page 27: Java Programming Lengkap From JENI

Versi 1.4 5 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 7 While:

Page 28: Java Programming Lengkap From JENI

Versi 1.4 6 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 8 While:

Page 29: Java Programming Lengkap From JENI

Versi 1.4 7 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 9 For:

Page 30: Java Programming Lengkap From JENI

Versi 1.4 8 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 10 Nested For:

Page 31: Java Programming Lengkap From JENI

Versi 1.4 9 | P a g e

Modul Praktikum Struktur Kontrol

Percobaan 11 Do-While:

Page 32: Java Programming Lengkap From JENI

Versi 1.4 10 | P a g e

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.

Page 33: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

JAVA Array  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 34: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum Java Array

1. Tujuan • Mendeklarasikan dan membuat array • Mengakses elemen-elemen didalam array • Menentukan jumlah element didalam sebuah array • Mendeklarasikan dan membuat array multidimensi

2. 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 identifier-nya.

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.

Page 35: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

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:

Page 36: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

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 do-while dan for-loop)Using a while-loop.

Page 37: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

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

Page 38: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Argument Dari Command‐Line  Versi 1.4 

JAVA EDUCATION NETWORK INDONESIA

Page 39: Java Programming Lengkap From JENI

Versi 1.4 1 | P a g e

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:

Page 40: Java Programming Lengkap From JENI

Versi 1.4 2 | P a g e

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.

Page 41: Java Programming Lengkap From JENI

Versi 1.4 3 | P a g e

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:

Page 42: Java Programming Lengkap From JENI

Versi 1.4 4 | P a g e

Modul Praktikum Argumen dari Commandline

Percobaan 2 Contoh Program pada Netbeans:

Langkah-langkah

1. Klik pada daerah yang dilingkari

Page 43: Java Programming Lengkap From JENI

Versi 1.4 5 | P a g e

Modul Praktikum Argumen dari Commandline

2. Click kanan pada CommandLineExample, kemudian pilih Properties :

3. Dialog Project Properties akan muncul

Page 44: Java Programming Lengkap From JENI

Versi 1.4 6 | P a g e

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

Page 45: Java Programming Lengkap From JENI

Versi 1.4 7 | P a g e

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

Page 46: Java Programming Lengkap From JENI

Versi 1.4 8 | P a g e

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

Page 47: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Bekerja Dengan  JAVA Class Library  Versi 1.4 

JAVA EDUCATION NETWORK INDONESIA

Page 48: Java Programming Lengkap From JENI

Versi 1.4 1 | P a g e

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 Properties Behavior

Car type of transmission

manufacturer

color

turning

braking

accelerating

Lion Weight roaring

Page 49: Java Programming Lengkap From JENI

Versi 1.4 2 | P a g e

Modul Praktikum Bekerja dengan Java Class Library

Object Properties Behavior

Color

hungry or not hungry

tamed or wild

sleeping

hunting

3. Percobaan

Percobaan 1 Pass By Value:

Percobaan 2 Pass by reference :

Page 50: Java Programming Lengkap From JENI

Versi 1.4 3 | P a g e

Modul Praktikum Bekerja dengan Java Class Library

Percobaan 3 Perbandingan Object :

Page 51: Java Programming Lengkap From JENI

Versi 1.4 4 | P a g e

Modul Praktikum Bekerja dengan Java Class Library

Percobaan 4 Pemanggilan method menggunakan parameter:

Page 52: Java Programming Lengkap From JENI

Versi 1.4 5 | P a g e

Modul Praktikum Bekerja dengan Java Class Library

Percobaan 5 Method dengan Return Value :

Page 53: Java Programming Lengkap From JENI

Versi 1.4 6 | P a g e

Modul Praktikum Bekerja dengan Java Class Library

4. Latihan 4.1 Mendefinisikan Istilah

Dengan kata-kata Anda sendiri, definisikan istilah-istilah berikut ini :

1. Class 2. Object 3. Instantiate 4. Instance Variable 5. Instance Method 6. Class Variables atau static member variables 7. 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 strValue = "100";

int 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.

Page 54: Java Programming Lengkap From JENI

Versi 1.4 7 | P a g e

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.

Page 55: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM 

Membuat Class Sendiri  Versi 1.4 

JAVA EDUCATION NETWORK INDONESIA

Page 56: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 1 | P a g e

Modul Praktikum Membuat Class 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 tersebutdiimplementasikan

<description> - Menandakan bahwa Anda harus memberikan nilai pasti pada bagian ini

[] - Indikasi bagian optional

Page 57: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 2 | P a g e

Modul Praktikum Membuat Class Sendiri

3. Percobaan

Percobaan 1 Membuat Class Student Record:

Page 58: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 3 | P a g e

Modul Praktikum Membuat Class Sendiri

Page 59: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 4 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 2 Membuat Class Student Record Example :

Page 60: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 5 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 3 Membuat Class Student Record yang telah dimodifikasi:

Page 61: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 6 | P a g e

Modul Praktikum Membuat Class Sendiri

Page 62: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 7 | P a g e

Modul Praktikum Membuat Class Sendiri

Page 63: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 8 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 4 Membuat Class Student Record Example yang telah

dimodifikasi :

Page 64: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 9 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 5 Package :

Percobaan 6 Modifier Public :

Page 65: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 10 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 7 Modifier Private:

Page 66: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 11 | P a g e

Modul Praktikum Membuat Class Sendiri

Page 67: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 12 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 8 Method Accessor dan Method Mutator:

Page 68: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 13 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 9 Method Accessor dan Method Mutator:

Page 69: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 14 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 10 Constructor:

Page 70: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 15 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 11 Constructor Default:

Page 71: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 16 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 12 Constructor Overloading:

Page 72: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 17 | P a g e

Modul Praktikum Membuat Class Sendiri

Percobaan 13 Method Overloading:

Page 73: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 18 | P a g e

Modul Praktikum Membuat Class Sendiri

Page 74: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 19 | P a g e

Modul Praktikum Membuat Class 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.

Page 75: Java Programming Lengkap From JENI

Modul Praktikum Membuat Class Sendiri

Versi 1.4 20 | P a g e

Modul Praktikum Membuat Class 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 :

• Menyediakan accessor dan mutator method terhadap seluruh atribut • Constructor

4.1 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. Memasukkan data 2. Menghapus data 3. Menampilkan seluruh data 4. Update data

Page 76: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM

Pewarisan, Polymorphism Dan Interface Versi 1.4

JAVA EDUCATION NETWORK INDONESIA

Page 77: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 1

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

Page 78: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 2

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 :

Page 79: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 3

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Page 80: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 4

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Page 81: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 5

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Percobaan 2 Superclass dan Subclass :

Page 82: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 6

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Page 83: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 7

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Percobaan 3 Polimorphisme :

Page 84: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 8

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Page 85: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 9

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Percobaan 4 Enkapsulasi:

Page 86: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 10

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Page 87: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 11

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Page 88: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 12

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Percobaan 5 Menampilkan Abstract Class:

Page 89: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 13

Modul Praktikum Pewarisan, Polymorphisme, dan Interface

Percobaan 6 Interface:

Relation.java bertindak sebagai interface

Page 90: Java Programming Lengkap From JENI

Modul Praktikum Pewarisan, Polimorfisme, dan Interface

Versi 1.4 Page | 14

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.

Page 91: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 1

MODUL PRAKTIKUM

Penanganan Event Handling Versi 1.3

JAVA EDUCATION NETWORK INDONESIA

Page 92: Java Programming Lengkap From JENI

Modul Praktikum Penanganan Pesan Exception

Versi 1.3 1 | P a g e

Modul Praktikum Penanganan Event 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:

Page 93: Java Programming Lengkap From JENI

Modul Praktikum Penanganan Pesan Exception

Versi 1.3 2 | P a g e

Modul Praktikum Penanganan Event 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.

Page 94: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Review Konsep Dasar  Dalam JAVA  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 95: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 1 | P a g e

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.

Page 96: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 2 | P a g e

Modul Praktikum Review Konsep Dasar

3. Percobaan

Percobaan 1 Class SuperHero:

Percobaan 2 Class Atribut Demo :

Page 97: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 3 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 3 Class method Demo:

Percobaan 4 Class Construstor Demo :

Page 98: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 4 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 5 Instantiate sebuah Class:

Percobaan 6 Mengakses sebuah object :

Page 99: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 5 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 7 Package :

Percobaan 8 Class Enkapsulasi :

Page 100: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 6 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 9 Class Override Demo :

Page 101: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 7 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 10 Class Abstract dan method :

Page 102: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 8 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 11 Class Interface Demo :

Percobaan 12 Kata Kunci This :

Page 103: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 9 | P a g e

Modul Praktikum Review Konsep Dasar Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 9 | P a g e

Modul Praktikum Review Konsep Dasar

Page 104: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 10 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 13 Kata Kunci Super :

Percobaan 14 Kata Kunci Static :

Page 105: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 11 | P a g e

Modul Praktikum Review Konsep Dasar

Page 106: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 12 | P a g e

Modul Praktikum Review Konsep Dasar

Percobaan 15 Outer Class :

Page 107: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 13 | P a g e

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 5

1 1

2 2 4

3 3 6 9

4 4 8 12 16

5 5 10 15 20 25

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

Page 108: Java Programming Lengkap From JENI

Modul Praktikum Review Konsep Dasar dalam Java

Versi 1.3 14 | P a g e

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.

Page 109: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Exception Dan Assertions  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 110: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 1 | P a g e

Modul Praktikum 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

Page 111: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 2 | P a g e

Modul Praktikum Exception dan Assertions

Percobaan 1 : Menangkap Exception

Percobaan 2 : Multiple Catch

Berikan argument :

• Tidak Ada argument, • 1 • 0

Page 112: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 3 | P a g e

Modul Praktikum Exception dan Assertions

Percobaan 3 : Nested Try

Berikan argument :

• Tidak Ada argument,

• 15

• 15 3

• 15 0

Page 113: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 4 | P a g e

Modul Praktikum Exception dan Assertions

Percobaan 4 : Nested Try dengan Method

Berikan argument :

• Tidak Ada argument,

• 15

• 15 3

• 15 0

Page 114: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 5 | P a g e

Modul Praktikum Exception dan Assertions

Percobaan 5 : Demo Keyword Finally

Percobaan 6 : Demo Keyword throw

Page 115: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 6 | P a g e

Modul Praktikum Exception dan Assertions

Percobaan 7 : Demo Keyword throws

Percobaan 8 : Multiplecatch Exception ERROR

Page 116: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 7 | P a g e

Modul Praktikum Exception dan Assertions

Percobaan 9 : User Defined Exception

Percobaan 10 : Assertions

Page 117: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 8 | P a g e

Modul Praktikum Exception dan Assertions

Perintah Kompilasi dan eksekusi :

javac –source 1.4 AgeAssert.java java –enableassertions AgeAssert ‘arguments’

Page 118: Java Programming Lengkap From JENI

Modul Praktikum Exception & Assertions

Versi 1.3 9 | P a g e

Modul Praktikum 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 :

* ***

***** *** *

Page 119: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Tour Dari Package  java.lang  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 120: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 1 | P a g e

Modul Praktikum Tour Package 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

Page 121: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 2 | P a g e

Modul Praktikum Tour Package Java.lang

Modul Praktikum Tour Package Java.lang

Percobaan 2 : String Constructor DemoPercobaan 2 : String Constructor Demo

Page 122: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 3 | P a g e

Modul Praktikum Tour Package Java.lang

Modul Praktikum Tour Package Java.lang

Percobaan 3 : Demo Method Class StringPercobaan 3 : Demo Method Class String

Page 123: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 4 | P a g e

Modul Praktikum Tour Package Java.lang

Modul Praktikum Tour Package Java.lang

Percobaan 4 : Demo Method Class String BufferPercobaan 4 : Demo Method Class String Buffer

Percobaan 5 : Class Boolean Wrapper

Page 124: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 5 | P a g e

Modul Praktikum Tour Package Java.lang

Modul Praktikum Tour Package Java.lang

Percobaan 6 : Class Runtime – Membuka Registry EditorPercobaan 6 : Class Runtime – Membuka Registry Editor

Page 125: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 6 | P a g e

Modul Praktikum Tour Package Java.lang

Modul Praktikum Tour Package Java.lang

Percobaan 7 : Demo Class SystemPercobaan 7 : Demo Class System

Page 126: Java Programming Lengkap From JENI

Modul Praktikum Tour java.lang Package

Versi 1.3 7 | P a g e

Modul Praktikum Tour Package 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.

Page 127: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Aplikasi Berbasis Text  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 128: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum Text Based Application

1. Tujuan

• Mendapatkan input dari command-line • Mengetahui cara untuk memanipulasi properties dari sistem • Membaca standart input • Membaca dan menulis file

2. Percobaan Percobaan 1 : Standart Input – Membaca Karakter

Page 129: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

Modul Praktikum Text Based Application

Percobaan 2 : Membaca Keseluruhan String

Page 130: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum Text Based Application

Percobaan 3 : Membaca File

Page 131: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

Modul Praktikum Text Based Application

Percobaan 4 : Menulis File

Page 132: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

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 (‘ _ ‘).

Page 133: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Abstract Windowing Toolkit dan Swing  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 134: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum AWT & Swing

1. Tujuan • 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.

2. 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.

Page 135: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

Modul Praktikum AWT & Swing

3. Percobaan

Percobaan 1 Menampilkan Frame :

Page 136: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum AWT & Swing

Percobaan 2 Menampilkan Panel :

Page 137: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

Modul Praktikum AWT & Swing

Percobaan 3 Menampilkan Frame Control :

Page 138: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

Modul Praktikum AWT & Swing

Page 139: Java Programming Lengkap From JENI

Versi 1.3 6 | P a g e

Modul Praktikum AWT & Swing

Percobaan 4 Menampilkan Flow Layout Demo:

Percobaan 5 Menampilkan Border Layout Demo:

Page 140: Java Programming Lengkap From JENI

Versi 1.3 7 | P a g e

Modul Praktikum AWT & Swing

Percobaan 6 Menampilkan Grid Layout Demo:

Page 141: Java Programming Lengkap From JENI

Versi 1.3 8 | P a g e

Modul Praktikum AWT & Swing

Percobaan 7 Menampilkan Complex Layout:

Page 142: Java Programming Lengkap From JENI

Versi 1.3 9 | P a g e

Modul Praktikum AWT & Swing

Percobaan 8 Menampilkan Swing Demo:

Page 143: Java Programming Lengkap From JENI

Versi 1.3 10 | P a g e

Modul Praktikum AWT & Swing

Percobaan 9 Menampilkan JOption Demo:

Page 144: Java Programming Lengkap From JENI

Versi 1.3 11 | P a g e

Modul Praktikum AWT & Swing

Page 145: Java Programming Lengkap From JENI

Versi 1.3 12 | 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

Page 146: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

GUI Event Handling  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 147: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum GUI Event Handling

1. Tujuan • 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 inner dan

anonymous class

2. 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.

Page 148: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

Modul Praktikum GUI Event Handling

3. Percobaan

Percobaan 1 Mouse Event Demo :

Page 149: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum GUI Event Handling

Percobaan 2 Close Frame :

Page 150: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

Modul Praktikum GUI Event Handling

Percobaan 3 Close Frame dengan Command Listener tertentu :

Page 151: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

Modul Praktikum GUI Event Handling

Percobaan 4 Close Frame dengan Inner Class:

Page 152: Java Programming Lengkap From JENI

Versi 1.3 6 | P a g e

Modul Praktikum GUI Event Handling

Percobaan 5 Anonymous Inner class:

Page 153: Java Programming Lengkap From JENI

Versi 1.3 7 | P a g e

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

Page 154: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Thread  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 155: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum Threads

1. Tujuan • 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

2. 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.

Page 156: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

Modul Praktikum Threads

3. Percobaan

Percobaan 1 Counter Down Demo :

Percobaan 2 Menulis Object Threads sebanyak 100 x :

Page 157: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum Threads

Percobaan 3 Implementasi interface Runnable :

Page 158: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

Modul Praktikum Threads

Percobaan 4 Contoh penggunaan method Join:

Page 159: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

Modul Praktikum Threads

Percobaan 5 Mencetak String tanpa sinkronisasi:

Page 160: Java Programming Lengkap From JENI

Versi 1.3 6 | P a g e

Modul Praktikum Threads

Percobaan 6 Sinkronisasi pertama:

Page 161: Java Programming Lengkap From JENI

Versi 1.3 7 | P a g e

Modul Praktikum Threads

Percobaan 7 Sinkronisasi kedua:

Page 162: Java Programming Lengkap From JENI

Versi 1.3 8 | P a g e

Modul Praktikum Threads

Percobaan 8 Produser-Consumer Test:

Page 163: Java Programming Lengkap From JENI

Versi 1.3 9 | P a g e

Modul Praktikum Threads

Percobaan 9 Produser-Consumer Test Modifikasi:

Page 164: Java Programming Lengkap From JENI

Versi 1.3 10 | P a g e

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 perger

akan string

Page 165: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Jaringan  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 166: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

Modul Praktikum Jaringan

1. Tujuan • Mengerti konsep dasar jaringan

• IP address • protokol • ports • client/server • socket

• Membuat aplikasi menggunakan paket jaringan Java

ServerSocket Socket MulticastSocket DatagramPacket

2. 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:

Page 167: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

Modul Praktikum Jaringan

Page 168: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum Jaringan

Percobaan 2 Koneksi Client:

Page 169: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

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!

...

Page 170: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

Modul Praktikum Jaringan

Page 171: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

Applet  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 172: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

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.

Page 173: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

Modul Praktikum Applet

3. Percobaan

Percobaan 1 String Hello World :

Percobaan 2 Life Cycle Demo:

Page 174: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum Applet

Percobaan 3 Menampilkan ShowStatus :

Page 175: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

Modul Praktikum Applet

Percobaan 4 Memainkan file audio:

Page 176: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

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.

Page 177: Java Programming Lengkap From JENI

PENGENALAN PEMROGRAMAN 2

MODUL PRAKTIKUM 

I/O Stream Lanjutan  Versi 1.3 

JAVA EDUCATION NETWORK INDONESIA

Page 178: Java Programming Lengkap From JENI

Versi 1.3 1 | P a g e

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 class-class 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

Page 179: Java Programming Lengkap From JENI

Versi 1.3 2 | P a g e

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:

Page 180: Java Programming Lengkap From JENI

Versi 1.3 3 | P a g e

Modul Praktikum Stream I/O Lanjut

Versi 1.3 3 | P a g e

Modul Praktikum Stream I/O Lanjut

Page 181: Java Programming Lengkap From JENI

Versi 1.3 4 | P a g e

Modul Praktikum Stream I/O Lanjut

Percobaan 2 File Terkopi:

Page 182: Java Programming Lengkap From JENI

Versi 1.3 5 | P a g e

Modul Praktikum Stream I/O Lanjut

Percobaan 3 File Terkopi :

Page 183: Java Programming Lengkap From JENI

Versi 1.3 6 | P a g e

Modul Praktikum Stream I/O Lanjut

Percobaan 4 File Terkopi:

Page 184: Java Programming Lengkap From JENI

Versi 1.3 7 | P a g e

Modul Praktikum Stream I/O Lanjut

Percobaan 5 Character Dari File tercetak:

Page 185: Java Programming Lengkap From JENI

Versi 1.3 8 | P a g e

Modul Praktikum Stream I/O Lanjut

Percobaan 6 Terbentuk File Boolean.ser:

Page 186: Java Programming Lengkap From JENI

Versi 1.3 9 | P a g e

Modul Praktikum Stream I/O Lanjut

Percobaan 7 Unserialized Boolean:

Page 187: Java Programming Lengkap From JENI

Versi 1.3 10 | P a g e

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