LAPORAN PRAKTIKUM (JAVA) ANALISIS DAN PBO (PEMROGRAMAN BERBASIS OBJEK) Oleh : Ferdy Balaati 521 411 057 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI GORONTALO 2013 MODUL I PENGENALAN BAHASA JAVA 1.1 TUJUAN a. Pada modul ini akan dibahas secara singkat tentang sejarah JAVA. b. Bab ini juga akan sedikit menyinggung tentang fase – fase dalam program JAVA. 1.2 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 : Gambar 1. Fase-fase eksekusi program java Laporan Praktikum (JAVA) | Analsis Dan PBO 1 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.3 KEGIATAN 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 Laporan Praktikum (JAVA) | Analsis Dan PBO 2 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 process completed Laporan Praktikum (JAVA) | Analsis Dan PBO 3 i. Lalu klik menu build execute atau klik icon execute, amati hasilnya 1.4 TUGAS a. Buatlah aplikasi java untuk menampilkan output seperti berikut; b. Buatlah aplikasi baru untuk menampilkan data mahasiswa yang terdiri dari : NIM : ………………………………… Nama : ………………………………… Jurusan : ………………………………… Jenjang : ………………………………… c. Buatlah daftar kesalahan yang mungkin Anda temukan ketika memulai menulis program dengan Jcreator Laporan Praktikum (JAVA) | Analsis Dan PBO 4 TUGAS PRAKTIKUM I PENGENALAN BAHASA JAVA a. Aplikasi java untuk menampilkan data mahasiswa menggunakan Netbeans 7.2.1 Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Percobaan1; /** * * @author Ferdy */ public class JavaApplication2 { public static void main(String[] args){ System.out.println("NIM : 521 411 057"); System.out.println("NAMA : FERDY BALAATI"); System.out.println("JURUSAN : TEKNIK ELEKTRO"); System.out.println("JEJANG : S1 TEKNIK ELEKTRO"); } } Output Program Gambar 01. Output aplikasi java untuk menampilkan data mahasiswa Laporan Praktikum (JAVA) | Analsis Dan PBO 5 MODUL II PERNYATAAN, EKSPRESI, TIPE DATA DAN VARIABEL 2.1 TUJUAN a. Memahami konsep Pernyataan, ekspresi, tipe data dan variabel b. Mengembangkan program java sederhana menggunakan tipe data dan variabel 2.2 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.3 PRAKTEK a. Buatlah aplikasi baru, selanjutnya masukan kode program berikut : public class DefaultValue{ static boolean b; static char c; static byte bt; static short s; static int i; static long l; static float f; static double d; Laporan Praktikum (JAVA) | Analsis Dan PBO 6 public static void main(String args[]){ System.out.println("Default value b : " + b); System.out.println("Default value c : " + c); System.out.println("Default value bt : " + bt); System.out.println("Default value s : " + s); System.out.println("Default value i : " + i); System.out.println("Default value l : " + l); System.out.println("Default value f : " + f); System.out.println("Default value d : " + d); } } Lalu berikan nilai pada masing-masing variable. b. 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 ); } c. 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; ……………………………………………………… } } Laporan Praktikum (JAVA) | Analsis Dan PBO 7 2.4 TUGAS Buatlah program untuk menhitung rumus : a. Luas persegi panjang b. Kelilingpersegi panjang c. Luas lingkaran d. Keliling lingkaran e. Luas segitiga Laporan Praktikum (JAVA) | Analsis Dan PBO 8 TUGAS PRAKTIKUM II PERNYATAAN, EKSPRESI, TIPE DATA DAN VARIABEL a. Luas dan Keliling Persegi Panjang Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Percobaan2; /** * * @author Ferdy */ import java.io.*; class persegipanjang { public static void main(String arg[]) throws IOException{ double p=0,l=0; String str; BufferedReader Get=new BufferedReader(new InputStreamReader(System.in)); persegipanjang segi=new persegipanjang(); System.out.println("Menghitung Luas & Keliling Persegi Panjang"); System.out.print("Input Panjang :"); str=Get.readLine(); p=Integer.parseInt(str); System.out.print("Input Lebar :"); str=Get.readLine(); l=Integer.parseInt(str); System.out.println("Luas : "+segi.hitungluas(p,l)); System.out.println("Keliling : "+segi.hitungkeliling(p,l)); } double hitungluas(double p, double l){ double luas; luas=p*l; return (luas); } double hitungkeliling(double p, double l){ double keliling; keliling=2*p+2*l; return (keliling); } } Laporan Praktikum (JAVA) | Analsis Dan PBO 9 Output Program Gambar 02. Output Program Penghitung Luas Persegi Panjang b. Luas dan Keliling Lingkaran Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Percobaan2; /** * * @author Ferdy */ import java.util.*; public class luaslingkaran { public static void main(String[] args) { Scanner input = new Scanner(System.in); double phi = 3.14; double r, luas,keliling; System.out.println("Program Luas Lingkaran\n"); System.out.print("Masukkan Panjang Jari-jari : "); r = input.nextDouble(); luas = 0.5 * phi * r * r; keliling = 2 * phi * r; Laporan Praktikum (JAVA) | Analsis Dan PBO 10 System.out.print("Luas Lingkaran = " + (int)luas + " \nKeliling lingkaran = "+ (int)keliling); } } Output Program Gambar 03. Output Program Penghitung Keliling Persegi Panjang c. Luas Segitiga Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Percobaan2; /** * * @author Ferdy */ import java.util.Scanner; public class Segitiga { public static void main(String []args){ { Scanner masukan = new Scanner(System.in); System.out.print("Masukkan Alas = "); int alas = masukan.nextInt(); System.out.print("Masukkan Tinggi = "); int t = masukan.nextInt(); int luas = (alas*t)/2; System.out.println("Luas Segitiga Adalah : "+luas); } Laporan Praktikum (JAVA) | Analsis Dan PBO 11 } } Output Program Gambar 04. Output Program Penghitung Luas Lingkaran Laporan Praktikum (JAVA) | Analsis Dan PBO 12 MODUL III OPERATOR 3.1 TUJUAN a. Memahami konsep dan jenis-jenis operator b. Mampu mengimplemntasikan konsep operator dalam program 3.2 DASAR TEORI Operator adalah simbol dan karakter khusus (matematika) yang digunakan dalam suatuekspresi. Contoh: int x = 3; int y = x; int z = x * y; boolean status = true;. Dalam Java, adabeberapa tipe operator. Ada operator arithmatika, operator relasi, operator logika, danoperator kondisi. Operator ini mengikuti macam-macam prioritas yang pasti jadi compilernyaakan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operatoryang dipakai bersama-sama dalam satu pernyataan. Dari sisi operator dasar aritmatika, java juga terdiri atas operator unary increment (++) danoperator unary decrement (--). operator increment dan decrement menambah dan 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 diaditambahkan. Sebagai contoh, int i = 10, int j = 3; int k = 0; k = ++j + i; //akan menghasilkan k = 4+10 = 14 Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yanglama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana diaditambahkan. Sebagai contoh, int i = 10, int j = 3; int k = 0; Laporan Praktikum (JAVA) | Analsis Dan PBO 13 k = j++ + i; //akan menghasilkan k = 3+10 = 13 Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilainilaitersebut.Hasilkeluarannyaberupanilaibooleanyaitutrueataufalse.Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilaiboolean.Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), ||(logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logikaNOT). Pernyataan dasar untuk operasi logika adalah : x1 op x2 Dimanax1, x2dapat menjadi pernyataan boolean.Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkanselanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasiyang mungkin dari x1 dan x2. Operator kondisi ?: adalah operator ternary. Hal ini berarti bahwa operator ini digunakandalam tiga bentuk pernyataan condisional argumen yang digunakan bersamasama. Strukturpernyataan yang menggunakan operator kondisi adalah, exp1?exp2:exp3 Dimana nilaiexp1adalah suatu pernyataan boolean yang memiliki hasil yang salah satunyaharus berupa nilai true atau false. Jika exp1 bernilai true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3 merupakan hasil operasinya. 3.3 PRAKTEK a. Lengkapi kode program berikut untuk menghasilkan output yang benar : Penjumlahan.java int x, y, z; x = 42; y = x++; //tampilkan x, y saat ini z = ++x; //tampilkan x, z saat ini Pengurangan.java int x, y, z; x = 42; y = x--; //tampilkan x, y saat ini z = --x; //tampilkan x, z saat ini Laporan Praktikum (JAVA) | Analsis Dan PBO 14 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 values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" k = " + 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 } } Laporan Praktikum (JAVA) | Analsis Dan PBO 15 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.4 TUGAS a. Diberikan tabel dibawah ini, deklarasikan variabel yang terdapat didalamnya dengan tipe data yang sesuai dan berikan nilai inisialisasi. Tampilkan hasil outputnya yaitu namavariabel dan nilainya. Nama variable Tipe data Nilai awal Angka Huruf Hasil Str integer character boolean string 20 d True hai Berikut ini merupakan tampilan yang diharapkan sebagai hasil eksekusi program, Laporan Praktikum (JAVA) | Analsis Dan PBO 16 angka = 10 huruf = d hasil = true str = hai b. Buatlah program yang menghasilkan output nilai rata-ratadari tiga angka. Nilai darimasing-masing tiga angka tersebut adalah 10, 5 dan 75. Tampilan Output yangdiharapkan adalah, angka 1 = 10 angka 2 = 30 angka 3 = 75 Average is = 30 Laporan Praktikum (JAVA) | Analsis Dan PBO 17 TUGAS PRAKTIKUM III OPERATOR a. Diberikan tabel dibawah ini, deklarasikan variabel yang terdapat didalamnya dengan tipe data yang sesuai dan berikan nilai inisialisasi. Tampilkan hasil outputnya yaitu namavariabel dan nilainya. Nama variabel angka huruf hasil str Tipe data integer character boolean string Nilai awal 20 d True hai Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Percobaan3; /** * * @author Ferdy */ public class TipeData { public static void main(String[] args){ int angka; char Huruf; String Str; boolean hasil; angka = 20; Huruf = 'D'; Str = "Hai"; hasil = true; System.out.println ("angka :" + angka); System.out.println ("huruf : " + Huruf); System.out.println ("str : " + Str); System.out.println ("hasil : " + hasil); Output Program Laporan Praktikum (JAVA) | Analsis Dan PBO 18 Gambar 07. Output Program Variable dan Tipe Data b. Program yang menghasilkan output nilai rata-ratadari tiga angka. Nilai darimasingmasing tiga angka tersebut adalah 10, 5 dan 75. Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Percobaan3; /** * * @author Ferdy */ public class NilaiRatarata { public static int nilaiRata(int a, int b, int c){ int hasil; hasil = a + b + c; return hasil; } public static void main(String[] args){ int a = 10; int b = 30; int c = 75; int hasil; hasil = nilaiRata(a, b, c)/3; System.out.println("Nilai a : " + a); System.out.println("Nilai b : " + b); System.out.println("Nilai c : " + c); System.out.println("Nilai Rata-Rata : " + hasil); } } Laporan Praktikum (JAVA) | Analsis Dan PBO 19 Output Program Gambar 08. Output Program Penghitung nilai rata-rata Laporan Praktikum (JAVA) | Analsis Dan PBO 20 MODUL IV STRUKTUR KONTROL 4.1 TUJUAN a. Menggunakan struktur kontrol keputusan (if, else, switch) yang digunakan untukmemilih blok kode yang akan dieksekusi b. Menggunakan struktur kontrol pengulangan (while, do-while, for) yang digunakanuntuk melakukan pengulangan pada blok kode yang akan dieksekusi 4.2 DASAR TEORI a. struktur control seleksi Struktur kontrol keputusan adalah statement dari Java yang mengijinkan user untuk memilihdan mengeksekusi blok kode dan mengabaikan blok kode yang lain. Statement-ifmenentukan sebuah statement (atau blok kode) yang akan dieksekusi jika dan hanya jikapersyaratan boolean (boolean statement) bernilai true. Sedangkan Statement if-elsedigunakan apabila kita ingin mengeksekusi sebuah statement dengan kondisi true danstatement 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 yangberagam. Bentuk statement switch switch( switch_expression ){ case case_selector1: statement1; // statement2; //block 1 . . . // break; case case_selector2: statement1; // statement2; //block 2 Laporan Praktikum (JAVA) | Analsis Dan PBO 21 . . . // break; ... default: statement1; // statement2; //block n . . . // break; } dimana, switch_expression adalah persyaratan integer atau characterdan 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 mengeksekusiblok code berulang-ulang dalam kurun nilai tertentu. Ada tiga macam jenis struktur kontrolpengulangan yaitu while, do-while, dan for-loops. Statement while loop adalah statement atau blok statement yang diulang-ulang sampaimencapai kondisi yang cocok. Bentuk statement while, while( boolean_expression ){ statement1; statement2; ... } Statement di dalam while loop akan dieksekusi berulang-ulang selama boolean_expressionbernilai true.Do-while loop mirip dengan while-loop. Statement di dalam do-while loop akan dieksekusibeberapa kali selama kondisi bernilai true. Perbedaan antara while dan do-while loopadalah 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 pengecekankondisi dari boolean_expression. Jika nilai tersebut belum mencapai nilai Laporan Praktikum (JAVA) | Analsis Dan PBO 22 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.3 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){ Laporan Praktikum (JAVA) | Analsis Dan PBO 23 case 100: System.out.println( "Excellent!" ); break; case 90: 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); Laporan Praktikum (JAVA) | Analsis Dan PBO 24 int i = 0; while( i < 10 ){ System.out.print(i); i++; } 4.4 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 yangtidak sesuai berikan output “angka yang dimasukkan tidak sesuai”. 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 versiprogram ini menggunakan while-loop, do-while dan for-loop. Laporan Praktikum (JAVA) | Analsis Dan PBO 25 TUGAS PRAKTIKUM IV STRUKTUR KONTROL 1. Membuat output berupa kata yang sesuai dengan angka yang di inputkan. a. Menggunakan Statement If-Else Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum4; import java.io.*; /** * * @author Ferdy */ public class elseif { public static void main(String[] args) throws IOException{ double angka = 0; String str; BufferedReader Get=new BufferedReader(new InputStreamReader(System.in)); elseif baru = new elseif(); System.out.print("Masukkan Angka : "); str=Get.readLine(); angka = Integer.parseInt(str); if (angka == 0){ System.out.println("Angka yang dimasukkan tidak sesuai"); } else if (angka <= 10){ System.out.println("Angka yang dimasukkan sesuai"); } else if (angka >= 10){ System.out.println("Angka yang dimasukkan tidak sesuai"); }else{ System.out.println("Angka yang dimasukkan tidak sesuai"); } } } Laporan Praktikum (JAVA) | Analsis Dan PBO 26 Output Program Jika Pernyataan Benar Gambar 09. Output Program Jika Pernyataan Benar Jika Pernyataan Salah Gambar 10. Output Program Jika Pernyataan Salah b. Menggunakan Statement Switch Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum4; import java.io.*; /** * * @author Ferdy */ public class menggunakanswitch { public static void main(String[] args) throws IOException{ Laporan Praktikum (JAVA) | Analsis Dan PBO 27 int angka = 0; String str; BufferedReader Get=new BufferedReader(new InputStreamReader(System.in)); menggunakanswitch segi = new menggunakanswitch(); System.out.print("Masukkan Angka : "); str=Get.readLine(); angka = Integer.parseInt(str); switch (angka){ case 0: System.out.println("Angka yang dimasukkan tidak sesuai "); break; case 1: System.out.println("Angka yang dimasukkan sesuai "); break; case 2: System.out.println("Angka yang dimasukkan sesuai "); break; case 3: System.out.println("Angka yang dimasukkan sesuai "); break; case 4: System.out.println("Angka yang dimasukkan sesuai "); break; case 5: System.out.println("Angka yang dimasukkan sesuai "); break; case 6: System.out.println("Angka yang dimasukkan sesuai "); break; case 7: System.out.println("Angka yang dimasukkan sesuai "); break; case 8: System.out.println("Angka yang dimasukkan sesuai "); break; case 9: System.out.println("Angka yang dimasukkan sesuai "); break; case 10: System.out.println("Angka yang dimasukkan sesuai "); break; default : System.out.println("Angka yang dimasukkan tidak sesuai ");break; } } } Output Program Jika Input Sesuai Gambar 10. Output Program Jika Input Sesuai Laporan Praktikum (JAVA) | Analsis Dan PBO 28 Jika Input Tidak Sesuai Gambar 11. Output Program Jika Input Tidak Sesuai 2. Program untuk mencetak output secara berulang Code Program : a. While-Loop /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum4; /** * * @author Ferdy */ public class perulangan1 { public static void main(String[] args){ int cetak = 0; while (cetak <= 100){ System.out.println("Ferdy"); cetak++; } } } b. Do-While /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum4; Laporan Praktikum (JAVA) | Analsis Dan PBO 29 /** * * @author Ferdy */ public class perulangan2 { public static void main(String[] args){ int cetak = 0; do{ System.out.println("Ferdy"); cetak++; }while(cetak <= 100); } } c. For-Loop /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum4; /** * * @author toshiba */ public class perulangan3 { public static void main(String[] args){ for(int cetak = 1; cetak <=100; cetak++){ System.out.println("Ferdy"); } } } Laporan Praktikum (JAVA) | Analsis Dan PBO 30 MODUL V MENDEFINISKAN DAN MEMANGGIL CLASS DAN METHOD 5.1 TUJUAN a. Mendefinisikan class dan method dalam java b. Memanggil class dengan java c. Mengimplementasikan dalam program 5.2 DASAR TEORI Dalam pendefinisian class, dituliskan : dimana : <modifier> class <name> { <attributeDeclaration>* <constructorDeclaration>* <methodDeclaration>* } <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 kitatelah mengidentifikasikan tujuan dari pembuatan kelas, maka dapat dilakukan pemberiannama yang sesuai. Nama yang tepat pada class ini adalah StudentRecord. Untuk mendefinisikan class, kita tuliskan : dimana, public class StudentRecord { //area penulisan kode selanjutnya } Public - Classini dapat diakses dari luar package Class - Keyword yang digunakan di pembuatan class Java StudentRecord - Identifier yang menjelaskan class Method adalah implementasi dari bagaimana bekerjanya sebuah class. Method melakukan: a. Manipulasi data b. Perhitungan matematika c. Memonitor kejadian dari suatu event Laporan Praktikum (JAVA) | Analsis Dan PBO 31 5.3 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(); } } Laporan Praktikum (JAVA) | Analsis Dan PBO 32 e. 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); } } f. 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.4 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 Laporan Praktikum (JAVA) | Analsis Dan PBO 33 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) Laporan Praktikum (JAVA) | Analsis Dan PBO 34 TUGAS PRAKTIKUM V MENDEFINISKAN DAN MEMANGGIL CLASS DAN METHOD 1. Mengembangkan Class Mobil2. Code Program : a. Class MobilLengkap /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum5; /** * * @author Ferdy */ public class MobilLengkap { String warna; int tahunProduksi; void printMobil(){ System.out.println("Warna: " + warna); System.out.println("Tahun: " + tahunProduksi); } void hidupkanMobil(){ System.out.println("Status Hidup"); } void matikanMobil(){ System.out.println("Status Mati"); } void ubahGigi(){ System.out.println("Ubah Gigi"); } } b. Class MobilLengkapBeraksi /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum5; Laporan Praktikum (JAVA) | Analsis Dan PBO 35 /** * * @author Ferdy */ public class mobilLengkapBeraksi { public static void main(String[] args){ // Membuat object MobilLengkap mobilku = new MobilLengkap(); /* memanggil atribut dan memberi nilai */ mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; mobilku.printMobil(); mobilku.hidupkanMobil(); mobilku.matikanMobil(); mobilku.ubahGigi(); } } Output Program Gambar 12. Output Program Class MobilLengkapBeraksi 2. Class Matematika berisi method menggunakan 2 parameter Code Program : a. Class Matematika /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum5; /** * * @author Ferdy */ Laporan Praktikum (JAVA) | Analsis Dan PBO 36 public class matematika { String operasi; int x,y,hasil; double hasil2; void penjumlahan (){ x = 20; y = 20; hasil = x+y; System.out.println("Penjumlahan :"+x+"+"+y+" = "+hasil); } void pengurangan (){ x = 10; y = 5; hasil = x-y; System.out.println("Penguragan :"+x+"-"+y+" = "+hasil); } void perkalian (){ x = 10; y = 20; hasil = x*y; System.out.println("Perkalian :"+x+"x"+y+" = "+hasil); } void pembagian (){ x = 21; y = 2; double hasil2 = (double) x/y; System.out.println("Pembagian :"+x+"/"+y+" = "+hasil2+"(float or double)"); } } b. Class Matematika Beraksi /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum5; /** * * @author Ferdy */ public class matematikaBeraksi { Laporan Praktikum (JAVA) | Analsis Dan PBO 37 public static void main(String[] args){ // Membuat object matematika operasi = new matematika(); /* memanggil atribut dan memberi nilai */ operasi.penjumlahan(); operasi.pengurangan(); operasi.perkalian(); operasi.pembagian(); } } Output Program Gambar 13. Output Program Class MatematikaBeraksi Laporan Praktikum (JAVA) | Analsis Dan PBO 38 MODUL VI PEWARISAN (INHERITANCE) 6.1 TUJUAN a. Mendefinisikan superclasses dan subclasses b. Override method dari superclasses c. Mengimplementasikan konsep pewarisan 6.2 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. 6.3 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); Laporan Praktikum (JAVA) | Analsis Dan PBO 39 } 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); } } 6.4 TUGAS Buat class MobilBMW yang merupakan inherit dari class MobilLengkap a. Tambahkan method nontonTV() yang menampilkan tulisan di layar : TV dihidupkan TV mencari channel TV menampilkan gambar b. Buat class MobilBMWBeraksi yang memanggil method nontonTV, hidupkanMobil, matikanMobil, ubahGigi Laporan Praktikum (JAVA) | Analsis Dan PBO 40 TUGAS PRAKTIKUM VI PEWARISAN (INHERITANCE) 1. Code Program : a. Class mobilBMW /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum6; /** * * @author Ferdy */ public class mobilBMW { void nontonTV(){ System.out.println("TV dihidupkan"); System.out.println("TV mencari channel"); System.out.println("TV menampilkan gambar"); } } b. Class mobilBMWBeraksi /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum5; /** * * @author Ferdy */ public class mobilBMWBeraksi { public static void main(String[] args){ // Membuat object MobilLengkap mobilku = new MobilLengkap(); mobilBMW mobilmu = new mobilBMW(); /* memanggil atpublicribut dan memberi nilai */ mobilmu.nontonTV(); mobilku.hidupkanMobil(); mobilku.matikanMobil(); mobilku.ubahGigi(); }} Laporan Praktikum (JAVA) | Analsis Dan PBO 41 2. Output Program Gambar 14. Output Program Class mobilBMWBeraksi Laporan Praktikum (JAVA) | Analsis Dan PBO 42 MODUL VII POLIMORFISME (POLYMORPHISM) 7.1 TUJUAN a. Memahami konsep Polimorfisme b. Mengimplementasikan konsep Polimorfisme dalam program 7.2 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(); } } Laporan Praktikum (JAVA) | Analsis Dan PBO 43 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){ ... } } 7.3 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); } } Laporan Praktikum (JAVA) | Analsis Dan PBO 44 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); } } 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); } } 7.4 TUGAS a. Kembangkan class Matematika dan MatematikaBeraksi b. Lakukan overloading pada Method yang ada (pertambahan, pengurangan, perkalian, pembagian) . Method baru adalah bertipe data double (pecahan) dan memiliki 3 parameter c. Uji di kelas MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7, 14.2 Misalnya: pertambahan(12.5, 28.7, 14.2) Laporan Praktikum (JAVA) | Analsis Dan PBO 45 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); } ... } Laporan Praktikum (JAVA) | Analsis Dan PBO 46 TUGAS PRAKTIKUM VII POLIMORFISME (POLYMORPHISM) a. Mengenmbangkan Class matematika dan Class Matematika Beraksi Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum7; /** * * @author Ferdy */ public class matematika { /* * To change this template, choose Tools | Templates * and open the template in the editor. */ int hasilPertambahan1, hasilPertambahan2; int hasilPengurangan1, hasilPengurangan2; int hasilPerkalian1, hasilPerkalian2; int hasilPembagian1, hasilPembagian2; public void penjumlahan (int a, int b){ a = 20; b = 15; hasilPertambahan1 = a+b; System.out.println("Penjumlahan :" + hasilPertambahan1); } public void penjumlahan2 (double a, double b, double c){ a = 20.7; b = 5.5; c = 10.8; double hasilPertambahan2 = (double) (a + b + c); System.out.println("Penjumlahan (20.7, 5.5, 10.8) :" + hasilPertambahan2); } public void pengurangan (int a, int b){ a = 64; b = 14; hasilPengurangan1= a-b; System.out.println("Penguragan :" + hasilPengurangan1); } Laporan Praktikum (JAVA) | Analsis Dan PBO 47 public void pengurangan2 (double a, double b, double c){ a = 50.6; b = 20.7; c = 12.3; double hasilPengurangan2= (double) (a-b-c); System.out.println("Penguragan (50.6, 20.7, 12.3) :" + hasilPengurangan2); } public void perkalian (int a, int b){ a = 10; b = 20; hasilPerkalian1 = a*b; System.out.println("Perkalian :"+ hasilPerkalian1); } public void perkalian2 (double a, double b, double c){ a = 10.7; b = 20.5; c = 6.5; double hasilPerkalian2 = (double) (a*b*c); System.out.println("Perkalian (10.7, 20.5, 6.5):"+ hasilPerkalian2); } public void pembagian (double a, double b){ a = 21; b = 2; double hasilPembagian1 = (double) (a/b); System.out.println("Pembagian :"+ hasilPembagian1); } public void pembagian2 (double a, double b, double c){ a = 67.7; b = 2.8; c = 3.0; double hasilPembagian2 = (double) (a/b); System.out.println("Pembagian (67.7, 2.8, 3.0):"+ hasilPembagian2); } } b. Uji Class MatematikaBeraksi dengan parameter pecahan Code Program : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum7; Laporan Praktikum (JAVA) | Analsis Dan PBO 48 /** * * @author Ferdy */ public class matematikaBeraksi { public static void main(String[] args){ // Membuat object matematika operasi2 = new matematika(); /* memanggil atribut dan memberi nilai */ operasi2.penjumlahan2(20.7, 5.5, 10.8); operasi2.pengurangan2(50.6, 20.7, 12.3); operasi2.perkalian2(10.7, 20.5, 6.5); operasi2.pembagian2(67.7, 2.8, 3.0); } } Output Program : Gambar 15. Output Program Class matematikaBeraksi dengan parameter pecahan Laporan Praktikum (JAVA) | Analsis Dan PBO 49 MODUL VIII PENGKAPSULAN (ENCAPSULASI) 8.1 TUJUAN a. Memahami dan menggunakan dengan benar hak akses public, protected dan private b. Memahami kegunaan pengaturan hak akses dalam pengembangan aplikasi. 8.2 DASAR TEORI Pilar terakhir dari 3 pilar Pemrograman Berorientasi Objek adalah pengkapsulan, dimana pengembang software dapat menyembunyikan detail suatu objek. Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket. sedangkan private hanya boleh diakses oleh kelasnya sendiri. Perhatikan kelas manusia dibawah ini : /* Disimpan dalam file “manusia.java” */ class manusia { public String nama; public manusia(String n) { this.nama = n; } public String tampilkanNama() { return nama; } public void makan() { System.out.println("Nyam... nyam... nyam..."); } public void kerja() { System.out.println("Kerja... kerjaaa..."); } private void bunuhDiri() { System.out.println("Dor…bruk..."); } } Pue adalah objek bentukan dari kelas manusia Laporan Praktikum (JAVA) | Analsis Dan PBO 50 /* Disimpan dalam file “Pue.java” */ class Pue { public static void main(String arg[]) { manusia Pue = new manusia("Pue"); System.out.println("Nama = "+ Pue.tampilkanNama()); Pue.makan(); } } Apa yang terjadi jika hak akses private diakses oleh kelas lain? 8.3 PRAKTEK DAN TUGAS a. Kompile dan jalankan kelas manusia dan andi! b. Ubah hak akses makan dari public menjadi protected dan ulangi praktikum nomor a! Apa yang terjadi? Jelaskan! c. Tambahkan pada kelas andi untuk memanggil metodh bunuh diri, ulangi praktikum no a. Apa yang terjadi? Jelaskan! Laporan Praktikum (JAVA) | Analsis Dan PBO 51 TUGAS PRAKTIKUM VIII PENGKAPSULAN (ENCAPSULASI) a. Compile Class manusia dan andi. Code Program Class manusia : /** * * @author Ferdy */ public class manusia { public String nama; public manusia(String a) { this.nama = a; } public String tampilkanNama() { return nama; } public void makan() { System.out.println("Nyam…. Nyammm…") } public void kerja() { System.out.println("Kerja"); } private void bunuhDiri() { System.out.println("Greekkk….. :p"); } } Code Program Class andi : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum8; /** * * @author Ferdy Laporan Praktikum (JAVA) | Analsis Dan PBO 52 */ public class andi { public static void main(String arg[]) { manusia andi = new manusia("Andi"); System.out.println("Nama = "+ andi.tampilkanNama()); andi.makan(); } } Output Program : Gambar 16. Class manusia dan andi setelah di compile b. Perubahan akses dari pubic menjadi protected Code Program Class manusia : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum8; /** * * @author Ferdy */ public class manusia { public String nama; public manusia(String a) { this.nama = a; } public String tampilkanNama() { return nama; } Laporan Praktikum (JAVA) | Analsis Dan PBO 53 protected void makan() { System.out.println("Nyam... nyam...."); } public void kerja() { System.out.println("Kerja"); } private void bunuhDiri() { System.out.println("Greeekkk :p"); } } Output Program : Gambar 17. Output program stelah diganti method makan dari public menjadi protected Penjelasan Karena hak akses protected hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket. Karna method masih dalam satu paket package maka mthod masih bisa dia akses pada Class andi dan tidak ada perubahan pada outputya. c. Menambahkan pemanggilan method bunuh diri pada Class andi. Code Program Class andi : /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package praktikum8; /** * * @author toshiba */ public class andi { Laporan Praktikum (JAVA) | Analsis Dan PBO 54 public static void main(String arg[]) { manusia andi = new manusia("Andi"); System.out.println("Nama = "+ andi.tampilkanNama()); andi.makan(); andi.bunuhDiri(); } } Output Program : Gambar 18. Output program setelah di tambahkan method bunuhDiri. Penjelasan Karena method private hanya boleh diakses oleh kelasnya sendiri. Maka Class andi tidak bisa mengakses method private bunuhDiri yang ada pada class manusia. Laporan Praktikum (JAVA) | Analsis Dan PBO 55 MODUL IX PACKAGE dan INTERFACE 9.1 TUJUAN a. memahami definisi dan konsep Package dan Interface b. mampu mengimplementasikan dalam program 9.2 DASAR TEORI Package adalah koleksi dari beberapa class dan interface yang berhubungan, danmenyediakan 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.3 PRAKTEK a. buatlah program java dengan nama Kudede.java seperti berikut package kelasku; public class Kudede{ public void info(){ System.out.println(“Kelas Kudede”); } } b. buat file Siwu.java dengan struktur seperti berikut package kelasku; public class Siwu{ public void info(){ System.out.println(“Kelas Siwu”); } } c. Buatlah program dengan nama PaketBeraksi.java seperti berikut: import kelasku.Kudede; import kelasku.Siwu; public class PaketBeraksi{ public static void main(String[] args){ Kudede objectKudede = new Kudede(); Laporan Praktikum (JAVA) | Analsis Dan PBO 56 objectKudede.info(); Siwu objectSiwu = new Siwu(); objectSiwu.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");} } 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(); Laporan Praktikum (JAVA) | Analsis Dan PBO 57 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.4 TUGAS a. Kembangkan class Budi dan Joko b. Buat method matakuliah() menampilkan mata kuliah yang diajar Kudede dan Siwu 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) Laporan Praktikum (JAVA) | Analsis Dan PBO 58 TUGAS PRAKTIKUM IX PACKAGE dan INTERFACE a. Mengembangkan Class budi dan joko dengan menambahkan method matakuliah yang di ajar kudede dan siwu dan mempaketkan 2 class dalam satu package dosen. Code Program Class Budi /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package dosen; /** * * @author Ferdy */ public class budi { public void matakuliah(){ System.out.println("Mata Kuliah Kalkulus"); System.out.println("Mata Kuliah Matematika Teknik"); System.out.println("Mata Kuliah Gambar Teknik"); System.out.println("Mata Kuliah Menejemen Industri"); } } Code Program Class Joko package dosen; /** * * @author toshiba */ public class joko { public void matakuliah(){ System.out.println("Mata Kuliah Bahasa Indonesia"); System.out.println("Mata Kuliah Bahasa Inggris"); System.out.println("Mata Kuliah Fisika Dasar"); System.out.println("Mata Kuliah Agama"); } } b. Class Dosen Beraksi yang menjalankan method yang ada dalam kedua class budi dan joko. Code Program Laporan Praktikum (JAVA) | Analsis Dan PBO 59 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package dosen; import dosen.budi; import dosen.joko; /** * * @author toshiba */ public class dosenBeraksi { public static void main(String arg[]){ budi objekDosen1 = new budi(); joko objekDosen2 = new joko(); System.out.println("Dosen : Kudede"); System.out.println("----------------------------"); objekDosen1.matakuliah(); System.out.println(""); System.out.println("Dosen : Siwu"); System.out.println("----------------------------"); objekDosen2.matakuliah(); } } Output Program : Gambar 19. Output program Class dosenBeraksi Laporan Praktikum (JAVA) | Analsis Dan PBO 60 Referensi : 1. Gata W. Asyiknya Mengenan JAVA. ELEX MEDIA KOMPUTINDO. 2012 2. Kusdiawan W. Modul Praktikum Pemrograman Berorientasi Object. 3. Hartono, P. ST, Modul PraktikumPemrograman Berorientasi ObjekVersi 1.0. 2003. Laporan Praktikum (JAVA) | Analsis Dan PBO 61