MODUL PRAKTIKUM PEMROGRAMAN JAVA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK DUTA BANGSA SURAKARTA
Modul Praktikum Pemrograman Java
MODUL I PENGENALAN BAHASA JAVA 1.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 1.2 KOMPETENSI DASAR Memahami Sejarah JAVA dan fase-fase dalam program JAVA 1.3 TUJUAN a. Pada bab ini akan dibahas secara singkat tentang sejarah JAVA. b. Bab ini juga akan sedikit menyinggung tentang fase – fase dalam program JAVA. 1.4 INDIKATOR - Mahasiswa dapat menjelaskan Sejarah JAVA - Mahasiswa dapat menjelaskan dan membuat fase-fase program JAVA 1.4 DASAR TEORI Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus oada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. Aplikasi dengan teknologi Java secara umum adalah aplikasi serbt a guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas – kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java. Aliran proses kompilasi dan eksekusi sebuah program java digambarkan dalam fase–fase Pemrograman JAVA berikut:
STMIK Duta Bangsa Surakarta | 2
Modul Praktikum Pemrograman Java
Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java. Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari adalah berupa berkas bytecode dengan ekstensi .class.
1.5 PRAKTEK a. aktifkan program jCreator dengan cara klik start|All Programs|JCreatorLE|JCreatorLE b. klik File|New File c. arahkan directory tempat menyimpan file d. ketik nama project pada name misalnya “Halo”
e. klik Finish maka akan ditampilkan IDE JCreator seperti berikut
File View
Execute
Compile File
Code Editor
Package View
General Output
STMIK Duta Bangsa Surakarta | 3
Modul Praktikum Pemrograman Java
f. lalu ketik kode programberikut, pada code editor
public class Halo{ public static void main(String args[]){ System.out.println("Halo Java"); } }
g. Klik menu build compile file atau klik icon compile file h. Cek dan perbaiki kesalahan yang terjadi bila tidak ada kesalahan akan tampil keterangan proses completed i.
Lalu klik menu build execute atau klik icon execute, amati hasilnya
1.6 TUGAS a. Buatlah
li
ij
il
i
i
b. Buatlah aplikasi baru untuk menampilkan data mahasiswa yang terdiri dari : NPM : xxxxx Nama : xxxxx Jurusan : xxxxx Jenjang : xxxxx c. Buatlah daftar kesalahan yang mungkin Anda temukan ketika memulai menulis program dengan JCreator
STMIK Duta Bangsa Surakarta | 4
Modul Praktikum Pemrograman Java
MODUL II PERNYATAAN, EKSPRESI, TIPE DATA DAN VARIABEL 2.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 2.2 KOMPETENSI DASAR - Pernyataan (Statement), Expresi, Type Data dan Variable
2.3 TUJUAN a. Memahami konsep Pernyataan, ekspresi, tipe data dan variable b. Mengembangkan program java sederhana menggunakan tipe data dan variabel
2.4 INDIKATOR Mahasiswa Mampu menjelaskan dan membuat program menggunakan pernyataan,expresi, tipe data dan variable
2.5 DASAR TEORI Pernyataan adalah perintah yang menyebabkan sesuatu terjadi dan merepresentasikan aksi tunggal dalam program Java. Contoh: int tahunProduksi; Setiap pernyataan ditutup oleh karakter semicolon (;). Pernyataan dikelompokkan dengan tanda pembuka ({) dan penutup (}). Kelompok ini disebut blok atau blok pernyataan. Ekspresi adalah pernyataan yang dapat menghasilkan suatu nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value). Nilai balik bisa berupa bilangan, boolean, atau objek. Method tanpa nilai balik biasanya menggunakan keyword void. Contoh: hasilBagi = a / b; Variabel Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai). Nilai variabel dapat diubah di pernyataan manapun di dalam program.
Mendeklarasikan variabel: tipe namaVariabel1 [, namaVariabel2]. Contoh: int hasilKali; String namaSiswa, namaGuru, namaAdmin; Bahasa pemrograman java mendefinisikan delapan tipe data primitif. Mereka diantaranya adalah, boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long (integral), double and float (floating point). 2.6 PRAKTEK 1. Buatlah aplikasi baru, selanjutnya masukan kode program berikut : public class static static static static static public
DefaultValue{ boolean b; char c; byte bt; short s; int i; static long l; static float f; static double d; static void main(String args[]){
STMIK Duta Bangsa Surakarta | 5
Modul Praktikum Pemrograman Java
System.out.println("Default System.out.println("Default System.out.println("Default System.out.println("Default System.out.println("Default System.out.println("Default System.out.println("Default System.out.println("Default }
value value value value value value value value
b : " + b); c : " + c); bt : " + bt); s : " + s); i : " + i); l : " + l); f : " + f); d : " + d);
}
Lalu berikan nilai pada masing-masing variable. 2. Buat program aplikasi untuk kode program berikut: public class Karakter{ public static void main(String[] args){ char karakter1=88, karakter2='X', karakter3='Y'; System.out.println("Karakter 1: " + karakter1); System.out.println("Karakter 2: " + karakter2); System.out.println("Karakter 3: " + karakter3); } } public class OutputVariable { public static void main( String[] args ){ int value = 10; char x; x = ‘A’; System.out.println( value ); System.out.println( “The value of x=“ + x ); } }
3. Lengkapi kode program berikut untuk membuat aplikasi menghitung bunga : public class contvar{ public static void main(String[] args){ ……………………………………………………… pokok = 20000; sukubunga = 0.10; bunga = pokok * sukubunga; pokok = pokok + bunga; ……………………………………………………… } }
2.7 TUGAS Buatlah program untuk menhitung rumus : a. Luas persegi panjang b. Luas segitiga c. Luas lingkaran STMIK Duta Bangsa Surakarta | 6
Modul Praktikum Pemrograman Java
MODUL III OP E R A T O R 3.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 3.2 KOMPETENSI DASAR Konsep dan Jenis Operator 3.3 TUJUAN a. Memahami konsep dan jenis-jenis operator b. Mampu mengimplemntasikan konsep operator dalam program 3.4 INDIKATOR - Mampu menjelaskan Konsep dan Jenis Operator - Mampu membuat program menggunakan berbagai operator 3.5 DASAR TEORI Operator adalah simbol dan karakter khusus (matematika) yang digunakan dalam suatu ekspresi. Contoh: int x = 3; int y = x; int z = x * y; boolean status = true;. Dalam Java, ada beberapa tipe operator. Ada operator arithmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti macam-macam prioritas yang pasti jadi compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Dari sisi operator dasar aritmatika, java juga terdiri atas operator unary increment (++) dan operator unary decrement (--). operator increment dan decrement menambah dah mengurangi nilai yang tersimpan dalm bentuk variabel angka terhadap nilai 1. Sebagai contoh pernyataan: count = count + 1; //increment nilai count dengan nilai 1 pernyataan tersebut ekivalen dengan, count++; Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand. Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau didecrement oleh nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana dia ditambahkan. Sebagai contoh, int i = 10, int j = 3; int k = 0; k = ++j + i; //akan menghasilkan k = 4+10 = 14 STMIK Duta Bangsa Surakarta | 7
Modul Praktikum Pemrograman Java
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia ditambahkan. Sebagai contoh, int i = 10, int j = 3; int k = 0; k = j++ + i; //akan menghasilkan k = 3+10 = 13 Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilainilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false. Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean.Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT). Pernyataan dasar untuk operasi logika adalah : x1 op x2 Dimana x1, x2 dapat menjadi pernyataan boolean.Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang mungkin dari x1 dan x2.
Operator kondisi ?: adalah operator ternary. Hal ini berarti bahwa operator ini digunakan dalam tiga bentuk pernyataan condisional argumen yang digunakan bersama-sama. Struktur pernyataan yang menggunakan operator kondisi adalah, exp1?exp2:exp3 Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya harus berupa nilai true atau false. Jika exp1 bernilai true, exp2 merupakan hasil operasi . Jika bernilai false, kemudian exp3 merupakan hasil operasinya. 3.6 PRAKTEK a. lengkapi kode program berikut untuk menghasilkan output yang benar :
Penambahan.java int x, y, z; x = 42; y = x++; //tampilkan x, y saat ini z = ++x; //tampilkan x, z saat ini
STMIK Duta Bangsa Surakarta | 8
Modul Praktikum Pemrograman Java
Pengurangan.java int x, y, z; x = 42; y = x--; //tampilkan x, y saat ini z = --x; //tampilkan x, z saat ini
b. Buatlah program untuk operator pembandingan seperti berikut: public class RelasiDemo { public static void main(String[] args) { int i = 37; int j = 42; int k = 42; System.out.println("Variable System.out.println(" i = " + System.out.println(" j = " + System.out.println(" k = " +
values..."); i); j); k);
//lebih besar dari System.out.println("Greater than..."); System.out.println(" i > j = " + (i > j)); //false System.out.println(" j > i = " + (j > i)); //true System.out.println(" k > j = " + (k > j)); //false //lebih besar atau sama dengan System.out.println("Greater than or equal to..."); System.out.println(" i >= j = " + (i >= j)); //false System.out.println(" j >= i = " + (j >= i)); //true System.out.println(" k >= j = " + (k >= j)); //true //lebih kecil dari System.out.println("Less than..."); System.out.println(" i < j = " + (i < j)); //true System.out.println(" j < i = " + (j < i)); //false System.out.println(" k < j = " + (k < j)); //false //lebih kecil atau sama dengan System.out.println("Less than or equal to..."); System.out.println(" i <= j = " + (i <= j)); //true System.out.println(" j <= i = " + (j <= i)); //false System.out.println(" k <= j = " + (k <= j)); //true //sama dengan System.out.println("Equal to..."); System.out.println(" i == j = " + (i == j)); //false System.out.println(" k == j = " + (k == j)); //true //tidak sama dengan System.out.println("Not equal to..."); System.out.println(" i != j = " + (i != j)); //true System.out.println(" k != j = " + (k != j)); //false } }
STMIK Duta Bangsa Surakarta | 9
Modul Praktikum Pemrograman Java
C. buatlah program untuk public class TestAND{ public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //demonstrasi && test = (i > 10) && (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); //demonstrasi & test = (i > 10) & (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); } }
d. Buatlah program untuk public class kondisiOperator { public static void main( String[] args ){ String status = ""; int grade = 80; //mendapatkan status pelajar status = (grade >= 60)?"Passed":"Fail"; //print status System.out.println( status ); } }
3.7 TUGAS a. 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.
Berikut ini merupakan tampilan yang diharapkan sebagai hasil eksekusi program, Number = 10 letter = a result = true str = hello
b. 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 = number 2 = number 3 = Average is
10 20 45 = 25
STMIK Duta Bangsa Surakarta | 10
Modul Praktikum Pemrograman Java
MODUL IV STRUKTUR KONTROL 4.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 4.2 KOMPETENSI DASAR Struktur Kontrol meliputi Percabangan dan Perulangan 4.3 TUJUAN a. Menggunakan struktur kontrol keputusan (if, else, switch) yang digunakan untuk memilih blok kode yang akan dieksekusi b. Menggunakan struktur kontrol pengulangan (while, do-while, for) yang digunakan untuk melakukan pengulangan pada blok kode yang akan dieksekusi 4.4 INDIKATOR - Mampu menjelaskan struktur kontrol percabangan/keputusan dan control pengualangan - Mampu membuat program menggunakan control percabangan/keputusan dan control pengulangan 4.5 DASAR TEORI a. struktur control seleksi Struktur kontrol keputusan adalah statement dari Java yang mengijinkan user untuk memilih dan mengeksekusi blok kode dan mengabaikan blok kode yang lain. Statement-if menentukan sebuah statement (atau blok kode) yang akan dieksekusi jika dan hanya jika persyaratan boolean (boolean statement) bernilai true. Sedangkan Statement if-else digunakan apabila kita ingin mengeksekusi sebuah statement dengan kondisi true dan statement yang lain dengan kondisi false. Bentuk dari statement if, if( boolean_expression ) statement; atau if( boolean_expression ) statement1; else statement2;
dimana, boolean_expression adalah sebuah persyaratan boolean (boolean statement) atau boolean variabel. Cara lain untuk membuat percabangan adalah dengan menggunakan kata kunci switch. Dengan menggunakan switch kita bisa melakukan percabangan dengan persyaratan yang beragam. Bentuk statement switch switch( switch_expression ){ case case_selector1: statement1; // statement2; //block 1
STMIK Duta Bangsa Surakarta | 11
Modul Praktikum Pemrograman Java
. . . // break; case case_selector2: statement1; // statement2; //block 2 . . . // break; . . . default: statement1; // statement2; //block n . . . // break; }
dimana, switch_expression adalah persyaratan integer atau character dan case_selector1, case_selector2 dan seterusnya adalah konstanta nilai integer yang unique (unik). b. Struktur Kontrol Perulangan Struktur kontrol pengulangan adalah statement dari Java dimana kita bisa mengeksekusi blok code berulang-ulang dalam kurun nilai tertentu. Ada tiga macam jenis struktur kontrol pengulangan yaitu while, do-while, dan for-loops. Statement while loop adalah statement atau blok statement yang diulang-ulang sampai mencapai kondisi yang cocok. Bentuk statement while, while( boolean_expression ){ statement1; statement2; . . . }
Statement di dalam while loop akan dieksekusi berulang-ulang selama boolean_expression bernilai true. Do-while loop mirip dengan while-loop. Statement di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai true.
Perbedaan antara while dan do-while loop
adalah dimana statement di dalam do-while loop dieksekusi sedikitnya satu kali.
Bentuk
statement do-while, do{ statement1; statement2; . . . }while( boolean_expression );
Statement di dalam do-while loop akan dieksekusi pertama kali, dan dilakukan pengecekan STMIK Duta Bangsa Surakarta | 12
Modul Praktikum Pemrograman Java
kondisi dari boolean_expression. Jika nilai tersebut belum mencapai nilai yang diinginkan, statement akan dieksekusi lagi. Seperti pada struktur pengulangan sebelumnya yaitu melakukan pengulangan eksekusi code beberapa kali. Bentuk dari for loop, for (InitializationExpression; LoopCondition; StepExpression){ statement1; statement2; . . . } dimana,
InitializationExpression – inisialisasi dari variabel loop. LoopCondition - membandingkan variabel loop pada nilai batas. StepExpression - melakukan update pada variabel loop.
4.6 PRAKTEK a. buatlah program berikut dengan statement IF public class GradeIf { public static void main( String[] args ) { double grade = 92.0; if( grade >= 90 ){ System.out.println( "Excellent!" ); } else if( (grade < 90) && (grade >= 80)){ System.out.println("Good job!" ); } else if( (grade < 80) && (grade >= 60)){ System.out.println("Study harder!" ); } else{ System.out.println("Sorry, you failed."); } } }
b. buatlah program berikut dengan switch public class GradeSwitch { public static void main( String[] args ) { int grade = 90; switch(grade){ case 100: System.out.println( "Excellent!" ); break; case 90:
STMIK Duta Bangsa Surakarta | 13
Modul Praktikum Pemrograman Java
System.out.println("Good job!" ); break; case 80: System.out.println("Study harder!" ); break; default: System.out.println("Sorry, you failed."); } } } class SwitchDemo { public static void main(String[] args) { int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; default: System.out.println("Invalid month.");break; } } }
c. Lengkapilah kode program berikut int i = 4; while ( i > 0 ){ System.out.print(i); i--; } int x = 0; do { System.out.println(x); x++; }while (x<10);
int i = 0; while( i < 10 ){ System.out.print(i); i++; }
STMIK Duta Bangsa Surakarta | 14
Modul Praktikum Pemrograman Java
4.7 TUGAS 1. 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”. a. Gunakan statement if-else untuk menyelesaikan b. Gunakan statement switch untuk menyelesaikan 2. Buat sebuah program yang mencetak nama Anda selama seratus kali. Buat tiga versi program ini menggunakan while loop, do while dan for-loop.
STMIK Duta Bangsa Surakarta | 15
Modul Praktikum Pemrograman Java
MODUL V MENDEFINISKAN DAN MEMANGGIL CLASS DAN METHOD 5.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 5.2 KOMPETENSI DASAR Konsep dan Implementasi Class dan Method 5.3 TUJUAN a. mendefinisikan class dan method dalam java b. memanggil class dengan java c. mengimplementasikan dalam program 5.4 INDIKATOR - Mampu menjelaskan konsep Class dan Method - Mampu membuat program menggunakan Class dan Java 5.5 DASAR TEORI Dalam pendefinisian class, dituliskan : <modifier> class
{ * * <methodDeclaration>* }
dimana : <modifier> adalah sebuah access modifier, yang dapat dikombinasikan dengan tipe modifier lain.
Pada bagian ini, kita akan membuat sebuah class yang berisi record dari siswa. Jika kita telah mengidentifikasikan tujuan dari pembuatan kelas, maka dapat dilakukan pemberian nama yang sesuai. Nama yang tepat pada class ini adalah StudentRecord. Untuk mendefinisikan class, kita tuliskan : public class StudentRecord { //area penulisan kode selanjutnya }
dimana, Public Class StudentRecord
-
Class ini dapat diakses dari luar package Keyword yang digunakan di pembuatan class Java Identifier yang menjelaskan class
Method adalah implementasi dari bagaimana bekerjanya sebuah class. Method melakukan: 1. Manipulasi data 2. Perhitungan matematika 3. Memonitor kejadian dari suatu event STMIK Duta Bangsa Surakarta | 16
Modul Praktikum Pemrograman Java
5.7 PRAKTEK a. Buatlah sebuah file bernama Mobil.java dengan kode sebagai berikut: class Mobil { String warna; int tahunProduksi; } b. Buatlah file java beri nama MobilBeraksi.java dengan kode sebagai berikut : public class MobilBeraksi{ public static void main(String[] args){ // Membuat object Mobil mobilku = new Mobil();
/* memanggil atribut dan memberi nilai */ mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; System.out.println("Warna: " + mobilku.warna); System.out.println("Tahun: " + mobilku.tahunProduksi); } }
c. Buatlah file java beri nama Mobil2.java dengan kode sebagai berikut : class Mobil2{ String warna; int tahunProduksi; void printMobil(){ System.out.println("Warna: " + warna); System.out.println("Tahun: " + tahunProduksi); } }
d. Buatlah file java beri nama Mobil2Beraksi.java dengan kode sebagai berikut : public class Mobil2Beraksi{ public static void main(String[] args){ // Membuat object Mobil2 mobilku = new Mobil2(); /* memanggil atribut dan memberi nilai */ mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; mobilku.printMobil(); } }
STMIK Duta Bangsa Surakarta | 17
Modul Praktikum Pemrograman Java
f. Buatlah file java beri nama Sepeda.java dengan kode sebagai berikut : class Sepeda{ int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir; System.out.println(" Gir:" + gir); } void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println(" Kecepatan:" + kecepatan); } }
g. Buatlah file java beri nama SepedaBeraksi.java dengan kode sebagai berikut : public class SepedaBeraksi{ public static void main(String[] args) { // Membuat object Sepeda sepedaku = new Sepeda(); //memanggil atribut dan memberi nilai sepedaku.kecepatan=10; sepedaku.gir=2; // Memanggil method dan menunjuk nilai parameter sepedaku.tambahKecepatan(30); sepedaku.ubahGir(3); }
} 5.7 TUGAS 1. a. Kembangkan Class Mobil2 b. Ubah nama classs menjadi MobilLengkap dan masukkan method: hidupkanMobil() matikanMobil() ubahGigi() c. Isi masing2 method dengan tampilan status menggunakan System.out.println() d. Panggil method-method diatas dari MobilLengkapBeraksi 2. a. Buat Class bernama Matematika, yang berisi method dengan dua parameter: pertambahan pengurangan perkalian pembagian b. Buat Class bernama MatematikaBeraksi, yg mengeksekusi method dan menampilkan: Pertambahan: 20 + 20 = 40 Pengurangan: 10-5 = 5 Perkalian: 10x20 = 200 Pembagian: 21/2 = 10.5 (float or double) STMIK Duta Bangsa Surakarta | 18
Modul Praktikum Pemrograman Java
MODUL VI OPERASI I/O STREAM 6.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 6.2 KOMPETENSI DASAR Masukkan/ Input 6.3 TUJUAN a. Mendapatkan input dari comman-line b. Membaca standart input c. implementasi dalam program 6.4 INDIKATOR - Mampu menjelaskan syntax input dari command-line - Mampu membuat program menggunakan input command-line 6.5 DASAR TEORI Dibandingkan dengan mendapatkan masukan user dari command-line, sebagian user lebih memilih untuk memasukkan data bilamana diminta oleh program pada saat eksekusi. Satu cara dalam melakukan hal ini adalah dengan menggunakan stream. Sebuah stream adalah abstraksi dari sebuah file atau sebuah perangkat yang mengijinkan beberapa set item untuk dibaca atau ditulisi. Streams terhubung dengan physical devices seperti keyboards, consoles dan files. Terdapat dua bentuk umum dari streams, byte streams dan character streams. Byte streams digunakan pada data biner, sedangkan character streams digunakan pada karakter Unicode. System.in dan System.out adalah dua contoh dari byte streams yang digunakan dalam Java. Contoh pertama mereferensikan pada keyboard, kemudian contoh kedua mereferensikan pada console. Untuk membaca karakter dari keyboard, Anda dapat menggunakan byte stream System.in yang terdapat pada object BufferedReader. Baris berikut menunjukkan bagaimana untuk melakukan hal tersebut : BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Method read dari object BufferedReader selanjutnya digunakan untuk membaca nilai input dari perangkat input. ch=(int)br.read(); //method read menghasilkan nilai integer
Jika Anda lebih memilih untuk membaca keseluruhan baris daripada membaca satu karakter tiap waktu, gunakan method readLine : str = br.readLine();
Stream Standard 1. System.in: menangani pembacaan dari keyboard (standard input) 2. System.out: mengirimkan keluaran ke layar (standard output) 3. System.err: mengirimkan kesalahan (standard error) Perintah sederhana untuk memasukkan data dari keyboard adalah membaca sebagai karakter. Penggunaannya memerlukan blok try-catch (akan dibahas pada bagian eksepsi) STMIK Duta Bangsa Surakarta | 19
Modul Praktikum Pemrograman Java
Contoh: char karakter; karakter = System.in.read(); Untuk mudahnya, gunakan class InputKeyboard.java untuk menerima masukkan data dari keyboard.
6.6 PRAKTEK a. buatlah program dengan nama InputKeyboard.java, seperti berikut import java.io.*; public class InputKeyboard{ public static String inputString(){ int karakter; String str ="“; boolean selesai = false; while(!selesai){ try{ karakter = System.in.read(); if(karakter<0||(char)karakter =='\n')selesai = true; else if ((char) karakter != '\r') str = str + (char) karakter; }catch(java.io.IOException e){ System.err.println("Ada kesalahan"); selesai = true; } } return str; } }
b. lalu buat program dengan nama SalamKenal.java, seperti berikut import java.io.*; public class SalamKenal{ public static void main( String[] args ){ System.out.print("Masukkan Nama Anda: "); String name = InputKeyboard.inputString(); System.out.println("Halo, Salam Kenal " + name +"!"); } }
c. buatlah program dengan nama KonversiData.java, seperti berikut public class KonversiData{ public static void main(String[] args){ String dataString; System.out.println("Masukkan sebuah bilangan bulat:" ); dataString = InputKeyboard.inputString(); int dataBulat = Integer.valueOf(dataString).intValue(); System.out.println("Masukkan sebuah bilangan pecahan:" );
STMIK Duta Bangsa Surakarta | 20
Modul Praktikum Pemrograman Java
dataString = InputKeyboard.inputString(); double dataPecahan = Double.valueOf(dataString).doubleValue(); System.out.println("Bilangan Bulat:" + dataBulat); System.out.println("Bilangan Pecahan:" + dataPecahan); } }
6.7 TUGAS a. diketahui program untuk menghitung luas segitiga sebagai berikut: public class LuasSegitiga { public static void main(String[] args) { int panjang = 17; int tinggi = 11; double luas; luas = ((double)(panjang*tinggi))/2; System.out.println("Luas Segitiga : " + luas); } }
Ubah class LuasSegitiga dengan nilai panjang dan tinggi dimasukkan oleh user lewat prompt b. dengan contoh program pada tugas (a) diatas buat program untuk menghitung luas persegi panjang dan luas lingkaran.
STMIK Duta Bangsa Surakarta | 21
Modul Praktikum Pemrograman Java
MODUL VII PEWARISAN (INHERITANCE) 7.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 7.2 KOMPETENSI DASAR - SuperClasses dan Subclasses - Pewarisan Class 7.3 TUJUAN a. Mendefinisikan superclasses dan subclasses b. Override method dari superclasses c. Mengimplementasikan konsep pewarisan 7.4 INDIKATOR - Mampu menjelaskan superclasses dan subclasses - Mampu membuat program dengan Override method dari superclasses - Mampu membuat program dengan konsep pewarisan 7.5 DASAR TEORI 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. 7.6 PRAKTEK a. buatlah program dengan nama Sepeda.java seperti berikut: class Sepeda{ int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir; System.out.println("Gir:" + gir); }
STMIK Duta Bangsa Surakarta | 22
Modul Praktikum Pemrograman Java
void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); } }
b. buatlah program dengan nama SepedaGunung.java seperti berikut: class SepedaGunung extends Sepeda { int setSadel; public void setSadel(int nilaiSadel) { setSadel = nilaiSadel; System.out.println(“Tinggi Sadel:”+setSadel); } }
c. buatlah program dengan nama SepedaGunungBeraksi.java seperti berikut: class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat object SepedaGunung sepedaku = new sepedaGunung(); // Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); } }
7.7 TUGAS Buat class MobilBMWyang merupakan inherit dari class MobilLengkap a. b. c. d. e.
Tambahkan method nontonTV() yang menampilkan tulisan di layar: TV dihidupkan TV mencari channel TV menampilkan gambar Buat class MobilBMWBeraksi yang memanggil method nontonTV, hidupkanMobil, matikanMobil, ubahGigi
STMIK Duta Bangsa Surakarta | 23
Modul Praktikum Pemrograman Java
MODUL VIII POLIMORFISME (POLYMORPHISM) 8.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 8.2 KOMPETENSI DASAR - Konsep Polimorfisme 8.3 TUJUAN a. Memahami konsep Polimorfisme b. Mengimplementasikan konsep Polimorfisme dalam program 8.4 INDIKATOR - Mampu menjelaskan konsep Polmorfisme - Mampu membuat program menggunakan Polimorfisme 8.5 DASAR TEORI Polymorphism: Suatu object dapat memiliki berbagai bentuk, sebagai object dari classnya sendiri atau object dari superclassnya 1. Overloading: Penggunaan satu nama untuk beberapa method yang berbeda parameter 2. Overriding: Terjadi ketika deklarasi method subclass sama dengan method dari superclassnya Contoh Polimorfisme - overriding: class Mobil { String warna; int tahunProduksi; public Mobil(String warna, int tahunProduksi){ this.warna = warna; this.tahunProduksi = tahunProduksi; } public Mobil(){ } void info(){ System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunProduksi); } } public class MobilKonstruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil(“Merah”, 2003); mobilku.info(); Mobil mobilmu = new Mobil(); mobilmu.info(); } }
STMIK Duta Bangsa Surakarta | 24
Modul Praktikum Pemrograman Java
Output programnya :
Contoh lain Overloading: class Lingkaran{ public buatLingkaran(int diameter){ ... } public buatLingkaran(int diameter, int x, int y){ ... } public buatLingkaran(int diameter, int x, int y, int warna, String namaLingkaran){ ... } } 8.6 PRAKTEK a. Buatlah file program dengan nama Sepeda.java seperti berikut: class Sepeda{ int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir; System.out.println("Gir:" + gir); } void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); } }
b. Buatlah file program dengan nama SepedaGunung.java seperti berikut: class SepedaGunung extends Sepeda { int setSadel; void ubahGir(int pertambahanGir) { gir= 2*(gir+ pertambahanGir ); System.out.println("Gir:" + gir); } }
STMIK Duta Bangsa Surakarta | 25
Modul Praktikum Pemrograman Java
c. Buatlah file program dengan nama SepedaGunungBeraksi.java seperti berikut: class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat object SepedaGunung sepedaku = new sepedaGunung(); // Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); } }
8.7 TUGAS a. Kembangkan class Matematika dan MatematikaBeraksi b. Lakukan overloading pada Method yang ada (pertambahan, pengurangan, perkalian, c. pembagian) . Method baru adalah bertipe data double (pecahan) dan memiliki 3 parameter d. Uji di kelas MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7, 14.2 e. Misalnya: pertambahan(12.5, 28.7, 14.2) Matematika.java class Matematika{ int hasilPertambahan1, hasilPertambahan2; public void pertambahan (int a, int b){ hasilPertambahan1 = a + b; System.out.println(“hasil:” + hasilPertambahan1); } public void pertambahan (double a, double b, double c){ hasilPertambahan2 = a + b + c; System.out.println(“hasil:” + hasilPertambahan2); ... }
STMIK Duta Bangsa Surakarta | 26
Modul Praktikum Pemrograman Java
MODUL IX PACKAGE dan INTERFACE 9.1 STANDAR KOMPETENSI Mahasiswa dapat Mengerti Ciri dan Konsep Dasar dari Pemrograman Berbasis Objek serta Mampu Menerapkannya Untuk Membuat Berbagai Software 9.2 KOMPETENSI DASAR - Konsep Package dan Interface 9.3 TUJUAN a. memahami definisi dan konsep Package dan Interface b. mampu mengimplementasikan dalam program 9.4 INDIKATOR - Mampu menjelaskan konsep Package dan Interface - Mampu membuat program menggunakan Package dan Interface 9.5 DASAR TEORI Package adalah koleksi dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi akses dan pengelolaan namespace. Satu package adalah satu subfolder di file system. Package sangat berguna untuk mengorganisir file dalam suatu project atau library. Nama package menggunakan lowercase, Keyword: package name; Interface digunakan apabila kita ingin menentukan apa yang harus dilakukan oleh suatu class tapi tidak menentukan bagaimana cara untuk melakukannya. Interface sebenarnya sama dengan class, tapi hanya memiliki deklarasi method tanpa implementasi. 9.6 PRAKTEK a. buatlah program java dengan nama Budi.java seperti berikut package kelasku; public class Budi{
public void info(){ System.out.println(“Kelas Budi”); } }
STMIK Duta Bangsa Surakarta | 27
Modul Praktikum Pemrograman Java
b. buat file Joko.java dengan struktur seperti berikut package kelasku; public class Joko{ public void info(){ System.out.println(“Kelas Joko”); } }
c. Buatlah program dengan nama PaketBeraksi.java seperti berikut: import kelasku.Budi; import kelasku.Joko;
public class PaketBeraksi{ public static void main(String[] args){ Budi objectBudi = new Budi(); objectBudi.info(); Joko objectJoko = new Joko(); objectJoko.info(); } }
d. buatlah program dengan nama InterfaceBeraksi.java seperti berikut interface IntLampu{ public static final int KeadaanHidup=1; public static final int KeadaanMati=0;
public abstract void hidupkan(); public abstract void matikan(); } class Lampu implements IntLampu{ int statusLampu=0;
public void hidupkan(){ if (this.statusLampu == KeadaanMati){ this.statusLampu = KeadaanHidup; System.out.println("Hidupkan Lampu! --> Lampu Hidup"); }else{ System.out.println("Hidupkan Lampu! --> Lampu Sudah Hidup Kok");} }
STMIK Duta Bangsa Surakarta | 28
Modul Praktikum Pemrograman Java
public void matikan(){ if (this.statusLampu == KeadaanHidup){ this.statusLampu = KeadaanMati; System.out.println("Matikan Lampu! -> Lampu Mati"); }else{ System.out.println("Matikan Lampu! --> Lampu Sudah Mati Kok"); }}} public class InterfaceBeraksi{ public static void main(String[] args){ Lampu
lampuKamar = new Lampu();
System.out.println("Status Lampu Saat Ini: Mati");
lampuKamar.hidupkan(); //Hidupkan Lampu lampuKamar.matikan(); //Matikan Lampu lampuKamar.matikan(); //Matikan Lampu lampuKamar.hidupkan(); //Hidupkan Lampu lampuKamar.hidupkan(); //Hidupkan Lampu } }
9.7 TUGAS 1. Package a. Kembangkan class Budi dan Joko b. Buat method matakuliah() menampilkan mata kuliah yang diajar Budi dan Joko c. Paketkan kedua class tadi dalam satu Package bernama dosen (gunakan keyword: package) d. Buat Class DosenBeraksi yang menjalankan method yang ada di kedua Class tadi (gunakan keyword: import
STMIK Duta Bangsa Surakarta | 29