MODULPRAKTIKUM
MengenaliRuangLingkup PemrogramanAnda
Versi1.3
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 :
Versi 1.3
1|Page
4.
Latihan
Menggunakan NetBeans, membuat class dengan nama : [NamaAnda]. Hasil dari program yang harus tampil dilayar :
Versi 1.3
2|Page
PENGENALAN PEMROGRAMAN 1
MODULPRAKTIKUM
DasarDasarPemrograman
Versi1.4
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
Versi 1.4
1|Page
Versi 1.4
2|Page
Versi 1.4
3|Page
Versi 1.4
4|Page
Versi 1.4
5|Page
Contoh 2 :
Versi 1.4
6|Page
Versi 1.4
7|Page
Versi 1.4
8|Page
Versi 1.4
9|Page
4.
Latihan
Versi 1.4
10 | P a g e
Versi 1.4
11 | P a g e
PENGENALAN PEMROGRAMAN 1
MODULPRAKTIKUM
MendapatkanInputDari Keyboard
Versi1.4
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
3.
Percobaan
Versi 1.4
2|Page
Versi 1.4
3|Page
Versi 1.4
4|Page
4.
Latihan
Versi 1.4
5|Page
PENGENALAN PEMROGRAMAN 1
MODULPRAKTIKUM
StrukturKontrol
Versi1.4
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 dieksekusi Menggunakan statement percabangan (break, continue, return) yang digunakan untuk mengatur redirection dari program untuk melakukan pengulangan pada blok kode yang akan
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
3.
Percobaan
Versi 1.4
2|Page
Versi 1.4
3|Page
Versi 1.4
4|Page
Versi 1.4
5|Page
Percobaan 8 While:
Versi 1.4
6|Page
Versi 1.4
7|Page
Versi 1.4
8|Page
Versi 1.4
9|Page
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.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
MODULPRAKTIKUM
JAVAArray
Versi1.3
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 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
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
Versi 1.3
2|Page
4.
Latihan
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
String entry = {{"Florence", "735-1234", "Manila"}, {"Joyce", "983-3333", "Quezon City"}, {"Becca", "456-3322", "Manila"}};
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
MODULPRAKTIKUM
ArgumentDariCommand Line
Versi1.4
1.
Tujuan
Mengetahui dan menjelaskan mengenai argumen command-line Mendapatkan command-line Mempelajari bagaimana memberikan argumen kedalam program pada NetBeans input dari user dengan menggunakan argumen
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
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
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
Versi 1.4
3|Page
Versi 1.4
4|Page
Versi 1.4
5|Page
6. Run program
Versi 1.4
6|Page
4.
Latihan
java
Hello
world
that
is
all
Hello world
Versi 1.4
7|Page
java
ArithmeticOperation
20
Versi 1.4
8|Page
PENGENALAN PEMROGRAMAN 1
MODULPRAKTIKUM
BekerjaDengan JAVAClassLibrary
Versi1.4
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 Properties type of transmission manufacturer color Lion Weight turning braking accelerating roaring Behavior
Versi 1.4
1|Page
3. Percobaan
Percobaan 1 Pass By Value:
Versi 1.4
2|Page
Versi 1.4
3|Page
Versi 1.4
4|Page
Versi 1.4
5|Page
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
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
Versi 1.4
7|Page
PENGENALAN PEMROGRAMAN 1
MODULPRAKTIKUM
MembuatClassSendiri
Versi1.4
Modul Praktikum Membuat Class Sendiri 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 tersebut diimplementasikan - Menandakan bahwa Anda harus memberikan nilai pasti pada bagian ini - Indikasi bagian optional
<description> []
Versi 1.4
1|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
3. Percobaan
Percobaan 1 Membuat Class Student Record:
Versi 1.4
2|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
3|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
4|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
5|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
6|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
7|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Percobaan 4 Membuat Class Student Record Example yang telah
dimodifikasi :
Versi 1.4
8|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Percobaan 5 Package :
Versi 1.4
9|Page
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
10 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
11 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
12 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
13 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Percobaan 10 Constructor:
Versi 1.4
14 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
15 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
16 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
17 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Versi 1.4
18 | P a g e
Modul Praktikum Membuat Class Sendiri 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.
Versi 1.4
19 | P a g e
Modul Praktikum Membuat Class Sendiri Modul Praktikum Membuat Class Sendiri
Attribut Nama Alamat Nomor Telepon Alamat E-Mail Deskripsi Nama Lengkap perseorangan Alamat Lengkap Nomor telepon personal Alamat E-Mail personal
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. 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
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:
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
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
Modul Praktikum Penanganan Pesan Exception 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:
Versi 1.3
1|Page
Modul Praktikum Penanganan Pesan Exception 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...
Versi 1.3
2|Page
PENGENALAN PEMROGRAMAN 2
MODULPRAKTIKUM
ReviewKonsepDasar DalamJAVA
Versi1.3
Modul Praktikum Review Konsep Dasar dalam Java Modul Praktikum Review Konsep Dasar
1. Tujuan
class object atribut method konstruktor dengan jelas tentang konsep lanjutan berorientasi object dan
Mengetahui package
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:
Versi 1.3
2|Page
Modul Praktikum Review Konsep Dasar dalam Java Modul Praktikum Review Konsep Dasar
Versi 1.3
3|Page
Modul Praktikum Review Konsep Dasar dalam Java Modul Praktikum Review Konsep Dasar
Versi 1.3
4|Page
Modul Praktikum Review Konsep Dasar dalam Java Modul Praktikum Review Konsep Dasar
Percobaan 7 Package :
Versi 1.3
5|Page
Modul Praktikum Review Konsep Dasar dalam Java Modul Praktikum Review Konsep Dasar
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 :
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 :
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 1 2 3 4 5 1 2 3 4 5
4 6 8 10 9 12 15 16 20 25
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.
Versi 1.3
13 | P a g e
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
MODULPRAKTIKUM
ExceptionDanAssertions
Versi1.3
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
Versi 1.3
2|Page
Versi 1.3
3|Page
Versi 1.3
4|Page
Versi 1.3
5|Page
Versi 1.3
6|Page
Percobaan 10 : Assertions
Versi 1.3
7|Page
Versi 1.3
8|Page
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.
Versi 1.3
9|Page
PENGENALAN PEMROGRAMAN 2
MODULPRAKTIKUM
TourDariPackage java.lang
Versi1.3
1. Tujuan
Menggunakan class-class Java yang telah ada
2. Percobaan
Percobaan 1 : Demo Method - Method dari Class Math
Versi 1.3
1|Page
Versi 1.3
2|Page
Versi 1.3
3|Page
Versi 1.3
4|Page
Versi 1.3
5|Page
Versi 1.3
6|Page
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: 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
MODULPRAKTIKUM
AplikasiBerbasisText
Versi1.3
1.
Tujuan
Mendapatkan input dari command-line Mengetahui cara untuk memanipulasi properties dari sistem Membaca standart input Membaca dan menulis file
2.
Percobaan
Versi 1.3
1|Page
Versi 1.3
2|Page
Versi 1.3
3|Page
Versi 1.3
4|Page
3.
Latihan
Versi 1.3
5|Page
PENGENALAN PEMROGRAMAN 2
MODULPRAKTIKUM
AbstractWindowingToolkit danSwing
Versi1.3
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.
Versi 1.3
1|Page
3.
Percobaan
Versi 1.3
2|Page
Versi 1.3
3|Page
Versi 1.3
4|Page
Versi 1.3
5|Page
Versi 1.3
8|Page
Versi 1.3
9|Page
Versi 1.3
10 | P a g e
Versi 1.3
11 | P a g e
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.
Versi 1.3
12 | P a g e
PENGENALAN PEMROGRAMAN 2
MODULPRAKTIKUM
GUIEventHandling
Versi1.3
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 anonymous class
inner
dan
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.
Versi 1.3
1|Page
3.
Percobaan
Versi 1.3
2|Page
Versi 1.3
3|Page
Versi 1.3
4|Page
Versi 1.3
5|Page
Versi 1.3
6|Page
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.
Versi 1.3
7|Page
PENGENALAN PEMROGRAMAN 2
MODULPRAKTIKUM
Thread
Versi1.3
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.
Versi 1.3
1|Page
3.
Percobaan
Versi 1.3
3|Page
Versi 1.3
4|Page
Versi 1.3
5|Page
Versi 1.3
6|Page
Versi 1.3
7|Page
Versi 1.3
8|Page
Versi 1.3
9|Page
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!.
Versi 1.3
10 | P a g e
PENGENALAN PEMROGRAMAN 2
MODULPRAKTIKUM
Jaringan
Versi1.3
1.
Tujuan
Mengerti konsep dasar jaringan IP address protokol ports client/server socket