Your SlideShare is downloading. ×
Modul pbo baru
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Modul pbo baru

3,884
views

Published on

Modul Praktikum Pemrograman Berorientasi Objek (PBO) 2010 ^^

Modul Praktikum Pemrograman Berorientasi Objek (PBO) 2010 ^^

Published in: Technology, Education

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,884
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
161
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Buku PraktikumPemrograman Berorientasi ObjekUntuk Mahasiswa Jurusan Manajemen Informatika jenjang DiplomaProgram Studi Sistem InformasiOleh:Dwi Rosa Indah, ST Nama Mahasiswa :______________________________ Nim :______________________________Comlabs Fakultas Ilmu KomputerUniversitas Sriwijaya2011 1
  • 2. Modul 1 Instalasi JavaTujuan: • Agar Mahasiswa bisa menginstall program java .Prosedur menginstal java:1.Klik jdk-6u5-windows-i586-p.exe 2x akan muncul tampilan spt dibawah ini : Gambar 1. Tampilan Awal instal Java2.Setting Program java agar bisa disimpan diberbagai driveSetting My Computer klik Properties → Klik Advanced → Klik EnvironmentVariables. Gambar 2. Tampilan System Properties 2
  • 3. 3.Klik Path 2x pada bagian → pilih System Variables, Tambahkan dibagian variabelvalue dengan ; C:Program FilesJavajdk1.5.0_06(sesuai letak java diinstal) Gambar 3. Tampilan Edit System Variabel4. Menjalankan Program java dengan membuka cmd prompt. Gambar 4. Tampilan cmd prompt5. Mengetik program java di Notepad++ Gambar 5. Tampilan program java di Notepad ++ 3
  • 4. Modul 2 Dasar Program JavaTujuan: • Agar Mahasiswa bisa membuat program java yang sederhana. • Agar Mahasiswa bisa membuat program java dengan menggunakan penyeleksian kondisi dan perulangan.Teori Singkat : Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapatdijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanyaterfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai system operasidan bersifat open source.Bentuk Umum penulisan program java <modifier> class <nama kelas> { public static void main(String[] args) { .......... Pernyataan } }Catatan :1. Program Java yang Anda buat harus selalu diakhiri dengan ekstensi file .java.2. Nama File seharusnya sesuai/sama dengan nama class public nya. Sebagai contoh,jika nama class public Anda adalah Hello, Anda harus menyimpan file tersebut dengannama Hello.java. Java telah menyediakan keyword if....else dan switch untuk memfasilitasipenyeleksian kondisi.Bentuk umum penyeleksian : Satu Kasus Banyak Kasus switch if (kondisi) if (kondisi) switch(pilihan) {...pernyataan...} {...pernyataan...} { else else if(kondisi) case 1:{..pernyataan..} {...pernyataan...} {...pernyataan...} break; else case n: {..pernyataan..} {...pernyataan...} break ; default:{..pernyataan..} } 4
  • 5. Bila Anda diminta untuk melakukan seleksi sebanyak 500 orang mahasiswa, makadibutuhkan statement perulangan yang akan mengulangi proses sampai selesai.Terdapat pilihan perulangan dalam java yaitu for, while dan do...while.Bentuk umum perulangan : for While do...while for(kondisi) while(kondisi) do {...pernyataan...} {...pernyataan...} {...pernyataan...} while(kondisi);Prosedur LKP 1. Implementasi Java1. Buka Notepad ++2. Pilih File → New3. Ketikan program dibawah ini : 1 : public class TipeData { 2 : public static void main(String[ ] args) { 3 : int a =5; 4 : int b = (int)(27.5/5); 5 : float c = 5; 6 : float d = (float) 27/5; 7 : float e =5.12345; 8 : float f =(int)d+(int)e; 9 : char g = ‘K’; 10 : String h="AKU SUKA"; 11 : String i =h+" PEMROGRAMAN Java"; 12 : String j =i+"KEREN ABIS ^_^"+g; 13 : System.out.println("Nilai a="+a); 14 : System.out.println("Nilai b="+b); 15 : System.out.println("Nilai c="+c); 16 : System.out.println("Nilai d="+d); 17 : System.out.println("Nilai f="+f); 18 : System.out.println("Nilai g="+g); 19 : System.out.println("Nilai h="+h); 20 : System.out.println("Nilai i="+i); 21 : } 22 : }4. Simpan dengan nama TipeData(disamakan dengan nama kelas)5. Compile program tersebut dengan cara membuka cmd prompt, langkah-langkah sebagai berikut : 1. Ketikkan letak folder nya. G: 5
  • 6. 2. Ketikkan cd spasi nama_folder, Contoh : cd Lat_java 3. Untuk mengcompile, ketikkan javac spasi nama_file_java.java, Contoh : javac TipeData.java 4. Untuk menRun kan, ketikkan java spasi nama_file_java, Contoh : java TipeDataProsedur LKP 2: Program dengan Menggunkan Seleksi IF1. Buat file baru dengan cara Pilih File → New2. Lengkapi dan jalankan program berikut ini : (Lengkapi dengan menggunakan pena pada bagian yang kurang lengkap) 1: public class Grade { 2: public static void main( String[] args ) { 3: double grade = 92.0; 4: if grade >= 90 { 5: System.out.println( "Excellent!"); 6: } else if (grade < 90 && grade >= 80) { 7: System.out.println("Good job!"); 8: } else if (grade < 80) AND (grade >= 60) 9: System.out.println("Study harder!"); 10:} else { 11:System.out.println("Sorry, you failed."); 12:} 13:} 14:}3. Simpan dengan nama file disamakan dengan nama kelas4. Compile program tersebut di cmd promptTugas1. Buatlah program untuk menentukan total uang yang harus dibayar oleh pembelidengan ketentuan sebagai berikut: 6
  • 7. • Bila total belanja < 500.000 maka diskon 5%• Bila total belanja 500.000‐1000.000 maka diskon 10%• Bila total belanja >1000.000 maka diskon 15%Tugas dikerjakan dibawah ini dengan tulis tangan: 7
  • 8. Tanggal : Nilai : Paraf :2. Buatlah program untuk menghitung rata-rata nilai mahasiswa dari 10 mahasiswa.Dimana masing nilai dari ke sepuluh mahasiswa tersebut adalah90,80,70,90,89,70,90,78,100,50.Tugas dikerjakan dibawah ini dengan tulis tangan: 8
  • 9. Tanggal : Nilai : Paraf :3. Buatlah program java untuk membentuk bintang segitiga seperti gambar dibawah ini : * ** *** 9
  • 10. Tanggal : Nilai : Paraf : Modul 3 Class BufferedReder dan Class JOptionPaneTujuan : • Agar Mahasiswa mampu membuat program Java yang interaktif dengan menggunakan class BufferedReader dan Class JOptionePaneTeori Singkat : Kita sudah mempelajari konsep mendasar pada Java dan menulis beberapaprogram sederhana. Sekarang kita akan mencoba membuat program kita lebih interaktifdengan menggunakan input dari keyboard. Pada bab ini, kita akan mempelajari dua caramemberikan input, yang pertama adalah menggunakan kelas BufferedReader danmelalui GUI (Graphical User Interface) dengan menggunakan kelas JOptionPane.Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input darikeyboard dengan menggunakan class BufferedReader:1. Tambahkan di bagian paling atas code Anda: import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException;2. Tambahkan statement berikut:BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );3. Deklarasikan variabel String temporary untuk mendapatkan input, dan gunakanfungsi readLine() untuk mendapatkan input dari keyboard. Anda harus mengetikkannyadi dalam blok try-catch: Bentuk Umumnya try{ String temp = dataIn.readLine(); } catch( IOException e ){ 10
  • 11. System.out.println(“Error in getting input”); }Langkah-langkah yang diperlukan untuk mendapatkan input dari keyboard denganmenggunakan class JOptionPane:1. Tambahkan di bagian paling atas code Anda: import javax.swing.JOptionPane;Menjelaskan bahwa kita mengimpor class JoptionPane dari package javax.swing.Bisa juga ditulis seperti, import javax.swing.*;Pernyataan,name = JOptionPane.showInputDialog("Please enter your name");membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengansebuah pesan, sebuah textfield dan tombol OK seperti pada gambar. Hasil dari dialogtersebut adalah String dan disimpan ke dalam variabel name.Prosedur LKP1 : Menggunakan class BufferedReader:1. Buka Notepad ++2. Pilih File → New3. Ketikan Program dibawah ini : 1: import java.io.BufferedReader; 2: import java.io.IOException; 3: import java.io.InputStreamReader; 4: 5: public class GetInputFromKeyboard 6: { 7: public static void main( String[ ] args ){ 8: BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) ); 9: String[][] dataMhs = new String[5][3]; 10: System.out.print("Input Data Mahasiswa:"); 11: for(int i=0; i<dataMhs.length; i++) { 11: try{ 12: System.out.println("Data Ke-"+(i+1)); 13: System.out.print("NIM : "); 14: String input = dataIn.readLine(); 15: dataMhs[i][0] = input; 16: System.out.print("Nama : "); 17: input = dataIn.readLine(); 11
  • 12. 18: dataMhs[i][1] = input; 19: System.out.print("Umur : "); 20: input = dataIn.readLine(); 21: dataMhs[i][2] = input; 22: System.out.println(); 23: } catch (IOException e) { 24: System.out.println("Error in getting input"); 25: } 26: } 27: System.out.println("Tampilan Data Mahasiswa"); 28: System.out.println("======================="); 29: for(byte i=0; i<dataMhs.length; i++) { 30: System.out.println("Data Ke-"+(i+1)); 31: System.out.println("Nim : "+dataMhs[i][0]); 32: System.out.println("Nama : "+dataMhs[i][1]); 33: System.out.println("Umur : "+dataMhs[i][2]); 34: System.out.println(); 35: } 36: } 37: }4. Simpan dengan nama GetInputFromKeyboard (disamakan dengan nama kelas)5. Compile program tersebut dengan cara membuka cmd prompt.Prosedur LKP 2: Menggunakan class JoptionPane1. Buka Notepad ++2. Pilih File → New3. Ketikan Program dibawah ini : 1: import javax.swing.JOptionPane; 2: 3: public class Kuadran { 4: public static void main(String[] args) { 5: String X=""; 6: String Y=""; 7: X=JOptionPane.showInputDialog("Input nilai x: "); 8: Y=JOptionPane.showInputDialog("Input nilai y: "); 9:10: int x=Integer.parseInt(X);11: int y=Integer.parseInt(Y); 12
  • 13. 12:13: if((x>0)&&(y>0))14: { JOptionPane.showMessageDialog(null,"Berada pada kuadran I");}15: else if((x<0)&&(y>0))16: { JOptionPane.showMessageDialog(null,"Berada pada kuadran II"); }17: else if((x<0)&&(y<0))18: { JOptionPane.showMessageDialog(null,"Berada pada kuadran III"); }19: else if((x>0)&&(y<0))20: { JOptionPane.showMessageDialog(null,"Berada pada kuadran IV"); }21: }22: }4. Simpan dengan nama Kuadran(disamakan dengan nama kelas)5. Compile program tersebut dengan cara membuka cmd prompt.Tugas1. Kata Terakhir (versi BufferedReader)Menggunakan BufferedReader, tanyakan tiga kata dari user dan tampilkan output dariinput user tersebut ke layar. Contoh, Enter word1:Goodbye Enter word2:and Enter word3:Hello Goodbye and Hello2 Kata Terakhir (versi JOptionPane)Menggunakan JOptionPane, tanyakan tiga kata dari user dan tampilkan output dariinput user tersebut ke layar. Contoh 13
  • 14. Gambar 3: Menampilkan PesanGambar 2: Input KeduaGambar 1: Input PertamaTugas dikerjakan dibawah ini dengan tulis tangan: 14
  • 15. Tanggal : Nilai : Paraf :2. Ambil tiga nilai ujian dari user dan hitung nilai rata-rata dari nilai tersebut. Berikanoutput rata-rata dari tiga ujian. Berikan juga smiley face pada output jika nilai rata-ratalebih besar atau sama dengan 60, selain itu beri output :-(.Gunakan BufferedReader untuk mendapat input dari user, dan System.out untuk outputhasilnya. Dan Gunakan JOptionPane untuk mendapat input dari user dan outputhasilnya. 15
  • 16. Tanggal : Nilai : Paraf : Modul 4 EnkapsulasiTujuan : Agar mahasiswa mampu membuat class mereka sendiri dengan mendeklarasikan atribut dan method pada class dgn menggunakan referensi this untuk mengakses instance dataTeori Singkat :ClassClass merupakan model, cetak biru atau prototipe dari objek-objek. Objek merupakaninstan dari class. Class terdiri dari atribut dan method. Setiap objek yang diinstansiasidari class yang sama memiliki jenis atribut dan method yang sama.class dideklarasikan sebagai berikut:class NamaClass {//deklarasi atribut//deklarasi method} 16
  • 17. Keterangan:• Class merupakan kata kunci yang digunakan untuk mendeklarasikan suatu class.• NamaClass merupakan identifier, biasanya ditulis dengan diawali huruf besar untuk setiap kata dan tanpa spasi.• Atribut bisa berjumlah 0 atau lebih• Method bisa berjumlah 0 atau lebih.Deklarasi AtributDeklarasi atribut dapat dituliskan sebagai berikut: <modifier> <type> <name> [= <default_value>] ;Contoh:private String nim;atauprivate String nim = “00”;Deklarasi MethodDeklarasi method dapat dituliskan sebagai berikut: <modifier> <returnType> <name>(<parameter>*) { ...pernyataan... }Contoh:public void setNim (String newNim) {... pernyataan...}ataupublic String getNim() {... pernyataan...}Membuat ObjekUntuk membuat objek dari suatu class dapat dilakukan dengan cara sebagai berikut: NamaClass namaObjek = new NamaClass(); 17
  • 18. Contoh: Mahasiswa mhs1 = new Mahasiswa();Konstruktor Konstruktor merupakan method yang tidak memiliki return type yang memilikinama yang sama dengan nama classnya. Konstruktor berfungsi untuk melakukaninisialisasi terhadap atribut - atribut. Konstruktor tidak dapat dipanggil secara langsung namun akan dipanggilotomatis sesaat setelah objek dibuat dengan kata kunci new.Berikut ini deklarasi konstruktor: <modifier> <className> (<parameter>*) { .....pernyataan.... }Contoh:public Mahasiswa(), merupakan konstruktor tanpa parameterpublic Mahasiswa(String nim, String nama, String alamat), merupakan konstruktordengan parameter nim, nama dan alamat.Kata kunci “this”Penggunaan kata kunci “this” terdiri dari 2 macam:• Untuk mengakses atribut dari dalam classContoh:String nim;String nama;void setNim(String nim) {this.nim = nim;}Keterangan:“this.nim” mengacu pada atribut nim dari class Mahasiswa. Penggunaan this akanmenghilangkan kerancuan antara atribut nim dan parameter nim.• Untuk memanggil konstruktor dari konstruktor lain 18
  • 19. Contoh:String nim;String nama;String alamat;Mahasiswa(String nim, String nama) {this.nim = nim;this.nama = nama;}Mahasiswa(String nim, String nama, String alamat) {this(nim, nama); //memanggil konstruktor pertamathis.alamat = alamat;}Keterangan:“this(nim, nama)” berarti memanggil konstruktor “Mahasiswa(String nim, Stringnama)”. Hal ini sama artinya bila kita tuliskan “this.nim = nim” dan “this.nama =nama”.Prosedur LKP 1:Membuat Class Mahasiswa1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class dengan nama Mahasiswa 1: public class Mahasiswa 2: {4. Membuat atribut mahasiswa 3: private String nim; 4: private String nama; 5: private String alamat;5. Membuat method dari class mahasiswa, yang terdiri dari method sebagai berikut: • setNim(), berfungsi untuk mengeset data nim • setNama(), berfungsi untuk mengeset data nama • setAlamat(), berfungsi untuk mengeset data alamat • getNim(), berfungsi untuk membaca data nim 19
  • 20. • getNama(), berfungsi untuk membaca data nama • getAlamat(), berfungsi untuk membaca data alamat 6. public void setNim(String pNim) { 7. nim = pNim; 8. } 9. public void setNama(String pNama) { 10. nama = pNama; 11. } 12. public void setAlamat(String pAlamat) { 13. alamat = pAlamat; 14. } 15. public String getNim() { 16. return nim; 17. } 18. public String getNama() { 19. return nama; 20. } 21. public String getAlamat() { 22. return alamat; 23. } 24. }6. Simpan program di atas dengan nama file Mahasiswa.java7. Lalu Compile program tersebut dengan membuka cmd prompt. Ingat program diatas tidak dapat dieksekusi karena bukan class utama (main class). Class utama adalah class yang memiliki method “public static void main()”.8. Selanjutnya buat class utama yang menggunakan class Mahasiswa dengan membuka file baru pada notepad 1: class TestMahasiswa { 2: public static void main(String[] args) {9. Membuat objek dari suatu class. mhs1 dan mhs2 masing‐masing merupakan objek dari class Mahasiswa. Kata kunci new digunakan untuk memesan memori untuk objek yang dibuat. variabel mhs1 dan mhs2 disebut dengan variabel reference. 20
  • 21. 3: Mahasiswa mhs1 = new Mahasiswa(); 4: Mahasiswa mhs2 = new Mahasiswa();10. Mengakses atribut 5: mhs1.setNim("01"); 6: mhs1.setNama("Ahmad"); 7: mhs1.setAlamat("Budi"); 8: System.out.println("Nim dari mhs1 = " +mhs1.getNim()); 9: System.out.println("Nama dari mhs1 = " +mhs1.getNama()); 10:System.out.println("Alamat dari mhs1 = "+mhs1.getAlamat()); 11:mhs2.setNim("02"); 12:mhs2.setNama("Umar"); 13:mhs2.setAlamat("Sukamaju"); 14:System.out.println("Nim dari mhs2 = " +mhs2.getNim()); 15:System.out.println("Nama dari mhs2 = " +mhs2.getNama()); 16:System.out.println("Alamat dari mhs2 = "+mhs2.getAlamat()); 17: } 18:}11. Simpan program di atas dengan nama file TestMahasiswa.java12. Lalu Compile program tersebut di cmd prompt.Prosedur LKP 2:Menghitung Luas Persegi Panjang1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class dengan nama Luas Persegi Panjang 1: class PersegiPanjang 2: { 3: private int pj; 21
  • 22. 4: private int lb; 5: 6: public setPanjang(int pj) { 7: this.pj = pj; 8: } 9: 10: public void setLebar(int lb) { 11: lb = lb; 12: } 13: 14: public int getPanjang() { 15: return pj; 16: } 17: 18: public int getLebar() { 19: return lb; 20: } 21:}4. Disimpan dengan nama file PersegiPanjang.5. Compile program di atas di cmd prompt.6. Selanjutnya membuat class Utama dari class PersegiPanjang dengan membuka file baru di Notepad. 22
  • 23. 1: class TestPersegiPanjang { 2: public static void main(String[] args) { 3: PersegiPanjang p1 = new PersegiPanjang(); 4: PersegiPanjang p2 = new PersegiPanjang(); 5: 6: p1.setPanjang(10); 7: p1.setLebar(5); 8: 9: System.out.println("p1 panjangnya = "+p1.getPanjang()); 10: System.out.println("p1 lebarnya = "+p1.getLebar()); 11: System.out.println("Luas p1 adalah "+p1.hitungLuas()); 12: 13: p2.setPanjang(7); 14: p2.setLebar(3); 15: 16: System.out.println("p2 panjangnya = "+p2.getPanjang()); 17: System.out.println("p2 lebarnya = "+p2.getLebar()); 18: int luasP2 = p2.hitungLuas(); 19: System.out.println("Luas p2 adalah "+luasP2); 20: } 21:}7. Simpan program di atas dengan nama file TestPersegiPanjang.java8. Lalu Compile program tersebut di cmd prompt.Prosedur LKP 3: Modifikasi percobaan 1 dengan menambah Konstruktor overloading 23
  • 24. 1. Buat file baru2. Pilih File → New3. Membuat sebuah Class dengan nama Mahasiswa 1: public class MahasiswaModif 2: { 3: private String nim; 4: private String nama; 5: private String alamat;4. Membuat Kostruktor dengan nama yang sama dengan nama Class. public MahasiswaModif(), merupakan konstruktor tanpa parameter 6: public MahasiswaModif() { 7: this.nim = "N/A"; 8: this.nama = "noname"; 9: this.alamat = "unknown"; 10:}5. Membuat Konstruktor berparameter dengan parameter nim, nama,alamat 11:public MahasiswaModif (String nim, String nama, String alamat) { 12: this.nim = nim; 13: this.nama = nama; 14: this.alamat = alamat; 15:}6. Membuat Method 16:public void setNim(String pNim) { 17: nim = pNim; 18:} 19:public void setNama(String pNama) { 20: nama = pNama; 24
  • 25. 21:} 22:public void setAlamat(String pAlamat) { 23: alamat = pAlamat; 24:} 25:public String getNim() { 26: return nim; 27:} 28:public String getNama() { 29: return nama; 30:} 31:public String getAlamat() { 32: return alamat; 33:} 34:}7. Simpan dengan nama file MahasiswaModif8. Compile program diatas di cmd prompt9. Buat Class Utama dari Class MahasiswaModif dengan membuka file baru di notepad 1: class TestMahasiswaModif { 2: public static void main(String[] args) {10. Menginstansiasi konstruktor 3: Mahasiswa Modif mhs1 = new MahasiswaModif (); 4: Mahasiswa Modif mhs2 = new MahasiswaModif ("03", "Budi", "Sukamaju");11. Mengakses Atribut 5: System.out.println("Nim dari mhs1 = " +mhs1.getNim()); 6: System.out.println("Nama dari mhs1 = " +mhs1.getNama()); 7: System.out.println("Alamat dari mhs1 = "+mhs1.getAlamat()); 25
  • 26. 8: System.out.println("Nim dari mhs2 = " +mhs2.getNim()); 9: System.out.println("Nama dari mhs2 = " +mhs2.getNama()); 10:System.out.println("Alamat dari mhs2 = "+mhs2.getAlamat()); 11:} 12:}12. Simpan program di atas dengan nama file TestMahasiswaModif.java13. Lalu Compile program tersebut di cmd prompt.Prosedur LKP 4: Program Point dengan overloading method1. Buat file baru2. Pilih File → New3. Membuat sebuah Class dengan nama Point. Dengan memiliki 2 macam method distance yaitu distance dengan parameter objek titik juga dan yang kedua method distance dengan parameter koordinat x,y. 1: class Point { 2: int x, y; 3: Point(int x, int y) { 4: this.x = x; 5: this.y = y; 6: } 7: double distance(int x, int y) { 8: int dx = this.x - x; 9: int dy = this.y - y; 10:return Math.sqrt(dx*dx + dy*dy); 11:} 12:double distance(Point p) { 13:return distance(p.x, p.y); 14:} 26
  • 27. 15:}4. Compile program diatas di comand prompt5. Buat program kelas utama dengan nama TesPoint. 1: class TestPoint { 2: public static void main(String[] args) { 3: Point p1 = new Point(0, 0); 4: Point p2 = new Point(30, 40); 5: System.out.println("p1 = " +p1.x+ ", " +p1.y); 6: System.out.println("p2 = " +p2.x+ ", " +p2.y); 7: System.out.println("p1.distance(p2) = " +p1.distance(p2)); 8: System.out.println("p1.distance(60,80) = " +p1.distance(60,80)); 9: } 10:}6. Simpan Program tersebut dengan nama file TestPoint7. Compile program diatas di comand promptTugas1.Buatlah program untuk menghitung luas segitiga dengan konsep OOP dg ketentuansebagai berikut:• Data alas dan tinggi diinputkan• Objek segitiga dibuat dari class Segitiga• Class Segitiga memiliki atribut alas dan tinggi dan method setAlas, setTinggi, getAlas,getTinggi serta hitungLuas.Tugas dikerjakan dibawah ini dengan tulis tangan: 27
  • 28. 28
  • 29. Tanggal : Nilai : Paraf :2. Buatlah program dengan kasus yang mengandung overloading method 29
  • 30. Tanggal : Nilai : Paraf : 30
  • 31. Modul 6 InheretenceTujuan : 1Mahasiswa memahami dan mampu mengimplementasikan konsep inheritance, atrribut dan method public, private, dan protected dalam pemrograman.Teori Singkat : 2Inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. 3Semua class di dalam Java adalah merupakan subclass dari class super induk yang bernama Object.Bentuk Umum Inheretence : public class A { … } public class A extends Object { … }Adapun jenis‐jenis access control adalah sebagai berikut:• DefaultHanya class dalam package yang sama yang memiliki hak akses terhadap atribut danmethods dalam class. Jenis ini tidak memiliki kata kunci. Semua atribut dan methodyang tidak secara eksplisit dituliskan jenis access control‐nya maka dianggap default.• Private 31
  • 32. Mengijinkan pengaksesan atribut dan method hanya dari class dimana atribut danmethod berada.Contoh: private int panjang;• PublicMengijinkan seluruh atribut dan method untuk diakses baik dari dalam dan luar class.Contoh: public int panjang;• Protectedmengijinkan atribut dan method untuk diakses dari dalam class dan dari subclassnya.Contoh: protected int panjang;Penggunaan Kata Kunci Super. Kata kunci super dipakai untuk merujuk pada member dari parent class.Sebagaimana kata kunci this yang dipakai untuk merujuk pada member dari class itusendiri.• Format penulisannya adalah sebagai berikut : super.data_member super.function_member() //merujuk pada parent classProsedur LKP 1: class Coordinate2D yang merupakan koordinat 2 dimensi1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class induk dengan nama Coordinate2D 1: class Coordinate2D { 2: protected int x, y; 3: public Coordinate2D(int inX, int inY) { 4: x = inX; 5: y = inY; 6: } 7: public int getX() { 8: return x; 9: } 32
  • 33. 10:public int getY() {11:return y;12:}13:}4. Kemudian buat subclass dari class Coordinate2D bernama Coodinate3D, dengan membuka file baru pada notepad.1: class Coordinate3d extends Coordinate {2: protected int z;3: public Coordinate3d(int inX, int inY, int inZ) {4: super(inX, inY);5: z = inZ;6: }7: public int getZ() {8: return z;9: }10:}5. Buat Kelas Utama dengan nama TesCoordinate1: class TesCoordinate {2: public static void main(String[] args) {3: Coordinate2D myCoord = new Coordinate2D(5, 10);4: System.out.println("Nilai x dari myCoord = "+myCoord.getX());5: System.out.println("Nilai y dari myCoord = "+myCoord.getY());6:7: Coordinate3d myCoord = new Coordinate3d(5, 10, 15);8: System.out.println("Nilai x dari myCoord = " myCoord.getX());9: System.out.println("Nilai y dari myCoord = " myCoord.getY());10:System.out.println("Nilai z dari myCoord = " myCoord.getZ()); 33
  • 34. 11: 12:} 13:}6. Simpan ketiga program diatas dengan nama file sesuai dengan nama kelas.7. Compile ketiga program tersebut di Comand promptProsedur LKP 2: class Coordinate2D yang merupakan koordinat 2 dimensi1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class induk dengan nama Point 1: class Point { 2: private int x, y; 3: Point(int x, int y) { 4: this.x = x; 5: this.y = y; 6: } 7: double distance(int x, int y) { 8: int dx = this.x - x; 9: int dy = this.y - y; 10:return Math.sqrt(dx*dx + dy*dy); 11:} 12:double distance(Point p) { 13:return distance(p.x, p.y); 14:} 15:}4. Kemudian buat subclass dari class Point bernama Point3D, dengan membuka file baru pada notepad. 1: class Point3D extends Point { 34
  • 35. 2: int z;3: Point3D(int x, int y, int z) {4: super(x, y);5: this.z = z;6: }7: double distance(int x, int y, int z) {8: int dx = this.x - x;9: int dy = this.y - y;10:int dz = this.z - z;11:return Math.sqrt(dx*dx + dy*dy + dz*dz);12:}13:double distance(Point3D other) {14:return distance(other.x, other.y, other.z);15:}16:double distance(int x, int y) {17:double dx = (this.x / z) - x;18:double dy = (this.y / z) - y;19:return Math.sqrt(dx*dx + dy*dy);20:}21:}5. Buat Kelas Utama dengan nama TesPoint 35
  • 36. 1: class TesPoint { 2: public static void main(String[] args) { 3: Point3D p1 = new Point3D(30, 40, 10); 4: Point3D p2 = new Point3D(0, 0, 0); 5: Point p = new Point(4, 6); 6: System.out.println("p1 = " +p1.x+ ", " +p1.y+ ", "+p1.z); 7: System.out.println("p2 = " +p2.x+ ", " +p2.y+ ", "+p2.z); 8: System.out.println("p = " +p.x+ ", " +p.y); 9: System.out.println("p1.distance(p2) = "+p1.distance(p2)); 10:System.out.println("p1.distance(4,6) = "+p1.distance(4,6)); 11:System.out.println("p1.distance(p) = " +p1.distance(p)); 12:} 13:}6. Simpan ketiga program diatas dengan nama file sesuai dengan nama kelas.7. Compile ketiga program tersebut di Comand promptTugasBuatlah class Balok yang diturunkan dari class PersegiPanjang berikut! 1: public class PersegiPanjang { 2: double panjang; 3: double lebar; 4: public PersegiPanjang(double panjang, double lebar) { 5: this.panjang = panjang; 6: this.lebar = lebar; 7: } 8: double hitungLuas() { 9: return (panjang * lebar); 36
  • 37. 10:} 11:double getPanjang() { 12:return panjang; 13:} 14:double getLebar() { 15:return lebar; 16:} 17:}Pada class Balok lakukan overriding method hitungLuas() agar relevan untuk hitungluas Balok!Tugas dikerjakan dibawah ini dengan tulis tangan: 37
  • 38. Tanggal : Nilai : Paraf : Modul 7 PolimorfismeTujuan :1Mahasiswa mampu mengimplementasikan konsep polimorfisme seperti overiding, danabstract class dalam pemrograman.Teori Singkat : Salah satu pilar Pemrograman Berorientasi Objek adalah polymorfisme yaitukemampuan beberapa objek bertipe sama bereaksi secara berbeda terhadap “pesan”yang sama.Dalam Java, kita dapat membuat referensi yang merupakan tipe dari superclass kesebuah object dari subclass tersebut.Prosedur LKP 1: Implementasi Polimorfisme pada kelas Shape1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class induk dengan nama Shape 1: class Shape { 2: private String name; 3: Shape(String aName) { 38
  • 39. 4: name=aName; 5: } 6: public String getName() { 7: return name; 8: } 9: public float calculateArea() { 10:return 0.0f; 11:} 12:}4. Kemudian buat subclass dari Shape 1: class Circle extends Shape { 2: private int radius; 3: Circle(String aName) { 4: super(aName); 5: radius = 3; 6: } 7: public float calculateArea() { 8: float area; 9: area = (float) (3.14 * radius * radius); 10:return area; 11:} 12:}5. Kemudian buat subclass ke 2 dari Shape 39
  • 40. 1: class Square extends Shape { 2: private int side; 3: Square(String aName) { 4: super(aName); 5: side = 3; 6: } 7: public float calculateArea() { 8: int area; 9: area = side * side; 10:return area; 11:} 12:}6. Kemudian buat Kelas Utama dari Shape 1: class ShapeTest { 2: public static void main(String argv[]) { 3: Circle c = new Circle("Circle C"); 4: Square s = new Square("Square S"); 5: Shape shapeArray[] = {c, s}; 6: for (int i=0; i<shapeArray.length; i++) { 7: System.out.println("The area of " + shapeArray[i].getName()+ " is " + shapeArray[i].calculateArea()+" sq. cm.n"); 8: } 9: } 10:}7. Simpan ketiga program diatas dengan nama file sesuai dengan nama kelas.8. Compile ketiga program tersebut di Comand prompt 40
  • 41. Prosedur LKP 2: Implementasi Polimorfisme pada kelas Abstrak1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class induk dengan nama Karyawan1: import javax.swing.JOptionPane;2:3: public abstract class Karyawan4: {5: private String Nama;6: private String NIP;7:8: public Karyawan()9: {10: input_karyawan();11:}12:13:public abstract long tunjangan();14:15:public abstract long total_gaji();16:17:public void input_karyawan()18:{19:Nama = JOptionPane.showInputDialog("Masukkan nama Anda :");20:NIP = JOptionPane.showInputDialog("Masukkan NIP Anda :");21:this.Nama= Nama;22:this.NIP=NIP; 41
  • 42. 23:}24:25:public void tampil_karyawan()26:{27: JOptionPane.showMessageDialog(null,"Nama Anda :" +this.Nama+ "nNip Anda :" +this.NIP);28:}29:}4. Kemudian buat subclass dari Karyawan 1: import javax.swing.JOptionPane; 2: 3: public class Karyawan_Honor extends Karyawan 4: { 5: private long Gaji; 6: 7: public Karyawan_Honor() 8: { 9: input_KaryawanHonor(); 10: } 42
  • 43. 11:12: public void input_KaryawanHonor()13: {14: String gaji ="";15:16:gaji = JOptionPane.showInputDialog("Masukkan gaji pokok :");17:18: this.Gaji = Long.parseLong(gaji);19: }20:21: public long tunjangan()22: {23: return(0);24: }25:26: public long total_gaji()27: {28: return(Gaji + this.tunjangan());29: }30: public void tampil_karyawan_Honor()31: {32: super.tampil_karyawan();33: JOptionPane.showMessageDialog(null,"gaji :" +this.Gaji+ "nTunjangan yang diterima :" +this.tunjangan()+ "nTotal Gaji :" this.total_gaji(),"OutputKaryawanHonor",JOptionPane.PLAIN_MESSAGE);34: } 43
  • 44. 35:}5. Kemudian buat subclass ke 2 dari Karyawan 1: import javax.swing.JOptionPane; 2: 3: public class Karyawan_Tetap extends Karyawan 4: { 5: private long Gaji; 6: private long Anak; 7: 8: 9: public Karyawan_Tetap() 10: { 11: input_karyawantetap(); 12: } 13: 14: public void input_karyawantetap() 15: { 16: String gaji =""; 17: String anak=""; 18: 19: gaji = JOptionPane.showInputDialog("Masukkan gaji pokok :"); 20: anak = JOptionPane.showInputDialog("jumlah Anak :"); 21: 22: this.Gaji = Long.parseLong(gaji); 23: this.Anak = Long.parseLong(anak); 44
  • 45. 24: }25:26: public long tunjangan()27: {28: if(Anak<2)29: {30: return(20*Gaji/100);31: }32: else33: {34: return(35*Gaji/100);35: }36: }37:38: public long total_gaji()39: {40: return(Gaji + this.tunjangan());41: }42: public void tampil_karyawan_Tetap()43: {44: super.tampil_karyawan();45:JOptionPane.showMessageDialog(null,"gaji :" +this.Gaji+ "nJumlah Anak :" +this.Anak+ "nTunjangan yang diterima:" +this.tunjangan()+ "nTotal Gaji yang diterima:" +this.total_gaji(), "OutputKaryawanTetap",JOptionPane.PLAIN_MESSAGE); 45
  • 46. 46: } 47:}6. Kemudian buat Kelas Utama dari Karyawan 1: public class UtamaKaryawan{ 2: 3: public static void main(String[]args){ 4: Karyawan_Tetap Bank = new Karyawan_Tetap(); 5: Bank.tampil_karyawan_Tetap(); 6: Karyawan_Honor Bank1=new Karyawan_Honor(); 7: Bank1.tampil_karyawan_Honor(); 8: } 9: }7. Simpan ketiga program diatas dengan nama file sesuai dengan nama kelas.8. Compile ketiga program tersebut di Comand promptTugas1. Ubahlah class Shape pada percobaan A menjadi class abstract dan uji kembali class ShapeTest! 46
  • 47. 47
  • 48. Tanggal : Nilai : Paraf :2. Buatlah class Triangle yang merupakan subclass Shape pada percobaan A! 48
  • 49. Tanggal : Nilai : Paraf : 49
  • 50. Modul 8 InterfaceTujuan :2Mahasiswa mampu mengimplementasikan konsep polimorfisme seperti overiding, danabstract class dalam pemrograman.Teori Singkat : Interface adalah jenis khusus dari blok yang hanya berisi method signature(atauconstan). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan methodtanpa tubuh.Prosedur LKP 1: Implementasi Interface1. Buka Notepad ++2. Pilih File → New3. Membuat sebuah Class interface dengan nama Login 1: public interface Login { 2: public void setUser(String usr); 3: public void setPassword(String pwd); 4: public Boolean isValid(String usr,String ver_usr,String pwd,String ver_pwd); 5: }4. Kemudian buat class Operator 1: public class Operator { 2: protected String nama; 3: protected String kode; 4: 5: public Operator(String nama_op, String kode_op) { 6: this.nama = nama_op; 7: this.kode = kode_op; 8: } 50
  • 51. 9: 10: public Operator() { 11: nama = "user"; 12: kode = "1234"; 13: } 14: 15: public void setKode(String kode_op) { 16: this.kode = kode_op; 17: } 18: 19: public void setNama(String nama_op) { 20: this.nama = nama_op; 21: } 22: 23: public String getKode() { 24: return kode; 25: } 26: 27: public String getNama() { 28: return nama; 29: } 30: }5. Kemudian buat subclass dari Operator 51
  • 52. 1: public class Karyawan extends Operator implements Login{2:3: public Karyawan() {4: super("Lydia Annisa","59081003010");5: }6:7: public Karyawan(String nama, String kode){8: super(nama,kode);9: }10:11: public void setUser(String usr)12: {13: this.nama = usr;14: }15: public void setPassword(String pwd)16: {17: this.kode = pwd;18: }19: public Boolean isValid(String usr,String ver_usr,String pwd,String ver_pwd)20: {21: return (usr.compareTo(ver_usr)==0&&pwd.compareTo(ver_pwd)==0);22: }23: public void cari_usr(Karyawan[] K,int n,String usr)24: {25:26: int i =0;27: String pesan = "";28: Boolean ketemu = false; 52
  • 53. 29: 30: while((i<n)&&(!ketemu)) 31: { 32: if((K[i].getNama()).compareTo(usr)==0) 33: { 34: pesan = "DATA DITEMUKAN!n"; 35: pesan += "================n"; 36: pesan += "nama : "+K[i].getNama()+n; 37: pesan += "kode : "+K[i].getKode(); 38: 39: JOptionPane.showMessageDialog(null,pesan); 40: ketemu = true; 41: } 42: i++; 43: } 44: if(!ketemu) 45: { 46: JOptionPane.showMessageDialog(null,"DATA TIDAK DITEMUKAN!"); 47: } 48: } 49: }6. Kemudian buat Kelas Utama 1: public class Main { 2: public static void main(String[] args) { 3: // TODO code application logic here 4: Karyawan[] K; 5: String input_nama = ""; 6: String input_kode = ""; 53
  • 54. 7: String cari_nama = ""; 8: int i = 0; 9: int n = 5; 10: 11: K = new Karyawan[n]; 12: for(i=0;i<n;i++) 13: { 14: 15: input_nama = JOptionPane.showInputDialog("nama Mahasiswa "+(i+1)); 16: input_kode = JOptionPane.showInputDialog("nim mahasiswa "+(i+1)); 17: 18: K[i] = new Karyawan(input_nama,input_kode); 19: } 20: 21: cari_nama = JOptionPane.showInputDialog("masukkan nama yang ingin dicari "); 22: 23: K[0].cari_usr(K, n, cari_nama); 24: 25: } 26: 27: }7. Simpan ketiga program diatas dengan nama file sesuai dengan nama kelas.8. Compile ketiga program tersebut di Comand prompt.TugasBuatlah program untuk membandingkan nilai dengan menggunakan konsep interface 54
  • 55. Tanggal : Nilai : Paraf : 55