0% menganggap dokumen ini bermanfaat (0 suara)
356 tayangan23 halaman

Modul Pbo

Modul ini membahas tentang pemrograman berorientasi objek dengan Java. Terdiri dari pengenalan Java, konsep dasar seperti class dan object, variabel, method, array, dan tugas-tugas praktikum seperti menghitung nilai siswa dan membuat program berdasarkan class diagram. Mahasiswa diajak mempelajari teori dan langsung mencoba contoh program sebelum mengerjakan tugas.

Diunggah oleh

fendyxcyber
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
356 tayangan23 halaman

Modul Pbo

Modul ini membahas tentang pemrograman berorientasi objek dengan Java. Terdiri dari pengenalan Java, konsep dasar seperti class dan object, variabel, method, array, dan tugas-tugas praktikum seperti menghitung nilai siswa dan membuat program berdasarkan class diagram. Mahasiswa diajak mempelajari teori dan langsung mencoba contoh program sebelum mengerjakan tugas.

Diunggah oleh

fendyxcyber
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 23

MODUL PRAKTIKUM PBO PEMROGRAMAN BERORIENTASI OBJEK DENGAN JAVA

Sekolah Tinggi Manajemen Informatika dan Komputer HIMSYA SEMARANG


Tugas: karno efendi

INTRODUCTION JAVA
1. TUJUAN
Mahasiswa mampu :

Membuat class Hello world dengan java menggunakan command-prompt dan GUI Melakukan konfigurasi path pada komputer Memahami argument command line

2. ALAT YANG DIGUNAKAN


Compiler Java (JDK), JRE Editor Java (Netbeans)

3. PROSEDUR PRAKTIKUM
1. Latihan 1 : Melakukan instalasi J2SDK, kemudian melakukan konfigurasi path pada computer. (Sesuai dengan arahan instruktur) Tugas : Tuliskan langkah per-langkah konfigurasi path pada kolom dibawah ini!

2.

Latihan 2 : Buka text editor pada computer (ex. Notepad), tuliskan kode program dibawah ini dengan menggunakan text editor. public class Hello { public static void main(String[] args){ System.out.println("Hello World!!!"); } } Simpan dengan nama Hello.java pada drive-D computer anda. Buka command-prompt, masuk ke drive-D. Tuliskan perintah berikut ini :

javac Hello.java Jika tidak ada error, lanjutkan dengan menuliskan perintah : java Hello

Tugas : Tuliskan output dari class Hello.java setelah dijalankan!

Jelaskan perbedaan perintah javac dan java untuk menjalankan program java pada command prompt!

3.

Latihan 3 : Melakukan instalasi IDE (sesuai dengan arahan instruktur). Mengenal fitur-fitur IDE terutama editor, perintah untuk compile dan run. Tugas : Buatlah class menggunakan IDE. Berikan printscreen output yang dihasilkan dan jelaskan dengan singkat kelebihan IDE dibandingkan menggunakan text editor dan command prompt (sesuai dengan pengalaman anda sendiri)! Hello seperti yang ada pada Latihan 2, tetapi dengan

4.

Latihan 4 : Argument Command-Line Tugas : Dapatkan input dari user dengan menggunakan argument command line dan cetak semua argument ke layar. Sebagai contoh, jika user memasukan input sbb :

Maka program dapat mencetak :

5.

Latihan 5 : Membuat program GUI sederhana dengan Java Tugas : Tampilkan kata Hello world pada text area ketika tombol di-klik!

4. TUJUAN
Mahasiswa memahami konsep dasar pemrograman Java Mahasiswa memahami tipe data dasar dan variable, tipe data, dan operator yang terdapat di dalam bahasa Pemrograman Java Mahasiswa memahami dan mengimplementasikan percabangan dan control flow yang terdapat di dalam bahasa Pemrograman Java Mahasiswa mampu memahami dan mengimplementasikan konsep array di java

5. ALAT YANG DIGUNAKAN


Compiler Java (JDK) Editor Java (Netbeans)

6. DASAR TEORI
Berkaitan dengan konsep dasar Pemrograman Java, tipe data, operator, variable, percabangan, control flow, dan array.

7. PROSEDUR PELAKSANAAN
Tutorial. Input dan ouput dasar dalam pemrograman Java Variabel dan tipe data dasar dalam pemrograman Java

Implementasi control flow (looping dan branching) di dalam program. Mahasiswa mengerjakan soal-soal latihan berdasarkan topik-topik yang ada di dalam tutorial. Mahasiswa mengerjakan soal tugas praktikum. Mahasiswa mendemokan tugas praktikum ke asisten Mahasiswa membuat laporan dari hasil praktikum

8. LATIHAN
1. Program array sederhana untuk tipe data int dan char. Dengan cara instansiasi dan inisialisasi yang berbeda.

public class SimpleArray { public static void main(String[] args) { int angka[] = new int[10]; //deklarasi & instansiasi

//inisialisasi array angka for(int i=1;i<10;i++) angka[i]=i; //pengaksesan array angka for(int i=1;i<10;i++) System.out.print(angka[i]);

System.out.println();

char huruf[] = {'a','b','c','d','e','f'}; //deklarasi, instansiasi, inisialisasi for(int i=0;i<huruf.length;i++) //penggunaan length untuk panjang array System.out.print(huruf[i]); //pengaksesan array huruf } }

2. Program untuk menampilkan text secara berulang sesuai dengan masukkan angka dari user dengan menggunakan class scanner.
import java.util.Scanner;

public class UlangNama {

public static void main(String[] args) { Scanner scan = new Scanner(System.in);

System.out.print("Masukkan angka: "); int angka = scan.nextInt(); for(int i=0;i<angka;i++) System.out.println("Aku Cinta JAVA"); } }

3. Program untuk menampilkan bintang * dengan bentuk tertentu


public static void main(String[] args) { for(int i=0;i<5;i++) { for(int j=0;j<=i;j++) System.out.print("*"); System.out.println(); } } }

4. Jalankan program pada latihan 1,2,3 kemudian lakukan analisa untuk memahami struktur array, pengkondisian dan perulangan. 5. Lakukan modifikasi pada program nomor 1. Buat panjang elemen array bersifat dinamis dengan cara memasukan input dari keyboard. (Gunakan class scanner) Ketik program dibawah ini, jika ada kesalahan ketika compile dan runtime, betulkan! Program 1 ( simpan dengan nama : TestGreeting.java)

Program 2 ( simpan dengan nama : Test2.java)

Program 3 ( simpan dengan nama : Test3.java)

Program 4 ( simpan dengan nama : Test4.java)

9. Program berikut mengilustrasikan bagaimana cara mendeklarasikan dan memberi nilai (inisialisasi) pada variabel dengan tipe data int, float, boolean, char, dan String.

10. Default value tiap tipe data

11. Program untuk menampilkan bilangan basis 8. Jalankan program dibawah ini kemudian ganti angka 0 didepan angka menjadi 0x, apa yang terjadi?

12. Menggunakan unicode

13. Program type casting/ primitif conversion. Jalankan program dibawah ini kemudian coba lakukan konversi dari int ke short, apa yang terjadi? (analisa hasilnya)

6. TUGAS PRAKTIKUM
1. Perhatikan table berikut ini :

Tabel diatas berisi data nilai siswa. Setiap siswa memiliki tiga nilai : tugas rumah (Homework average), kuis (exam average), dan ujian akhir (final exam). Masing-masing nilai memiliki prosentase sbb : tugas rumah (45%), kuis (35%), dan ujian akhir (20%). Nilai akhir adalah penjumlahan dari ketiga nilai diatas setelah dikalikan prosentasenya masing-masing. Tugas anda (berkelompok) adalah : 1. menghitung nilai akhir untuk setiap siswa (ada 15 siswa) 2. mengubah nilai akhir menjadi nilai huruf dengan aturan sbb : > 80 =A

75 80

= B+

70 74,9= B 60 69 = C+

55 59,9 = C 40 54,9 = D < 40 =E

3. Hitung rata-rata nilai akhir keseluruhan siswa. Kemudian buatlah dua pengelompokkan berdasarkan nilai rata-rata dibandingkan nilai akhir setiap siswa. Jika nilai siswa < rata-rata, maka pesan = Belajar lebih giat lagi Jika nilai siswa >= rata-rata, maka pesan = Pertahankan prestasimu

Petunjuk : Gunakan array untuk menyimpan data-data tersebut.

14. TUJUAN
Mahasiswa mampu : 1. Mendeklarasikan class beserta member class 2. Mengakses member class 3. Memberikan nilai/inisialisasi class dengan menggunakan constructor 4. Membaca class diagram dan membuat program dari class diagram

15. ALAT YANG DIGUNAKAN


Compiler Java (JDK) Editor Java (Netbeans)

16.DASAR TEORI
CLASS & OBJECT Class adalah blueprint/cetakan dari object yang dibentuk. Sedangkan object adalah hasil instansiasi/bentukan dari sebuah class. Dengan kata lain satu class dapat membentuk object sampai tak terhingga. Syntax class :

contoh :

class Sepeda{

//data-field : int speed; //method : void ubahGear() {

} public static void main(String[] args) { System.out.println(ini adalah main method); } }

Syntax pembuatan object :

contoh :

Sepeda.bike = new Sepeda(); //perintah untuk membuat object yang mengacu ke class Sepeda.

Variabel

Syntax pengaksesan field :

contoh : bike.speed; //perintah untuk mengakses variabel speed melalui object speed.

Method Syntax deklarasi :

Return type berhubungan dengan nilai yang akan dikembalikan oleh method (return value) ketika proses invoking/pemanggilan. Return type bisa berupa tipe data primitif maupun tipe reference. Method yang tidak memiliki return value memiliki return type void. Method yang memiliki return value memiliki statement return didalam blok-nya. Parameter adalah variabel yang akan menangkap argument yang dikirim ketika proses invoking method. Aturan penulisan parameter sama seperti deklarasi variabel. Ditulis diantara tanda ( dan) pada method signature. Parameter bersifat optional. Method bisa memiliki parameter kosong. Untuk method yang memiliki lebih dari satu parameter penulisannya dipisahkan dengan tanda koma (,)

Syntax pengaksesan method :

contoh : bike.ubahGear();

PASS by Value Mengirimkan value/nilai ke parameter method

PASS by REFERENCE Mengirimkan alamat memori/referensi ke parameter method

Method Overload Sebuah class dapat memiliki beberapa method dengan nama yang sama. Pembeda antara method-method tersebut adalah parameter.

Method Accessor digunakan untuk membaca value (variabel) dari class. ditulis dengan menggunakan sintaks berikut:

get<NameOfInstanceVariable> dapat me-return value.

Method Mutator digunakan untuk menulis atau mengubah value (variabel) dari class. Ditulis dengan menggunakan sintaks berikut: set<NameOfInstanceVariable>

MODIFIER Digunakan untuk mengatur hak akses class dan member class. Terdiri dari access modifier : public, private, protected, dan no modifier. dan modifier jenis lain: static, final, abstract, dll.

CONSTRUCTOR Digunakan untuk memberikan inisialisasi pada object. Syntax constructor sama seperti method namun tidak memiliki return value. Nama constructor harus sama dengan nama class. Contoh :

Pengaksesan constructor :

Contoh pengaksesan constructor : Pengaksesan constructor tanpa parameter : Mahasiswa maba = new Mahasiswa(); Pengaksesan constructor dengan 1 parameter : Mahasiswa maba = new Mahasiswa(Santi); Pengaksesan constructor dengan 2 parameter : Mahasiswa maba = new Mahasiswa(1234,Santi);

OverLoad Constructor Sebuah class dapat memiliki lebih dari satu constructor. Pembeda constructor overloading tersebut adalah parameter.

17. PROSEDUR PELAKSANAAN


Prosedur pelaksanaan praktikum adalah sebagai berikut : 1. 2. 3. 4. Mahasiswa mencoba latihan yang ada pada modul praktikum Mahasiswa menganalisa hasil dari program pada latihan yang telah dijalankan Mahasiswa mengerjakan tugas yang diberikan Mahasiswa membuat laporan dari tugas yang telah dikerjakan (dilengkapi dengan Hasil praktikum dan kesimpulan). 5. Upload laporan melalui e-labit.umm.ac.id 6. Mahasiswa mendemonstrasikan program yang telah dikerjakan 7. Asisten/dosen menilai pekerjaan mahasiswa

18. LATIHAN

19. TUGAS PRAKTIKUM


Gambar 1. Class diagram

Petunjuk : perhatikan gambar 1 diatas untuk mengerjakan tugas berikut secara berkelompok! 7.1 Buatlah Sebuah class yang merepresentasikan diagram Data Siswa pada gambar 1 diatas. Lengkapi member class dengan memahami penjelasan berikut : Deklarasikan seluruh atribut/variable yang ada pada diagram tersebut. Sesuaikan juga tipe data untuk masing-masing variable sesuai dengan keterangan yang ada pada diagram. Method add() : tambahkan 1 parameter pada method add() dengan nama nomor bertipe byte. Parameter ini digunakan untuk inisialisasi nilai ke variable no pendaftaran. Selanjutnya tambahkan statement pada body method untuk menampilkan pesan ke layar sebagai berikut : No pendaftaran = *XXXX+, nama = *XXXX+ telah terdaftar. Dimana XXXX adalah nilai hasil pengaksesan variable. Tuliskan konstruktor pada class, dimana konstruktor akan melakukan inisialisasi seluruh variable kecuali no pendaftaran.

7.2 Buatlah Sebuah class yang merepresentasikan diagram Hasil Seleksi pada gambar 1

diatas. Lengkapi member class dengan memahami penjelasan berikut : Deklarasikan ketiga variable sesuai dengan tipe data yang diberikan. Method add() : [sesuaikan dengan tugas nomor 1] namun tambahkan 1 parameter lagi bernama pilihKelas bertipe String untuk inisialisasi nilai ke variable pemilihan kelas. Jadi method ini memiliki 2 parameter. Selanjutnya tambahkan statement pada body method untuk menampilkan pesan ke layar sebagai berikut : No pendaftaran = *XXXX+, nama = *XXXX+, pilihan kelas = *XXXX+. Dimana XXXX adalah nilai hasil pengaksesan variable. Method update() : jadikan return type-nya adalah string. Selanjutnya tambahkan 1 parameter bernama tanggal bertipe string. Pada body method tuliskan statement untuk menampilkan pesan ke layar sebagai berikut : Data telah ter-update. Jadikan variable tanggal sebagai return value. Method select() : tambahkan 1 parameter bernama status bertipe Boolean. Pada body method tuliskan percabangan untuk mengecek nilai variable status. Jika status=true maka tampilkan pesan Nama = *XXXX+ lulus seleksi. Jika status=0 tampilkan pesan Nama = *XXXX+ tidak lulus seleksi. Dimana XXXX adalah nilai hasil pengaksesan variable nama.

7.3 Buatlah Sebuah class yang merepresentasikan diagram Registrasi siswa pada gambar 1 diatas. Lengkapi member class dengan memahami penjelasan berikut : Deklarasikan kedua variable sesuai dengan tipe data yang diberikan. Tambahkan konstruktor pada class, dimana konstruktor digunakan untuk memberikan nilai default pada variable Kelas dengan nilai 1 (dimana nilai variable kelas yang dapat diberikan nantinya adalah dari nilai 1 sampai 6) sedangkan nilai default dari variable daftar ulang adalah 0000. Method add() : Tuliskan statement pada body method untuk menampilkan pesan sebagai berikut No pendaftaran = *XXXX+ telah melakukan daftar ulang untuk kelas *XXXX+. Dimana XXXX adalah nilai hasil pengaksesan variable. Method edit() : tambahkan 2 parameter bernama kelas dan no pendaftaran, dimana masing-masing parameter memiliki tipe byte dan string. Parameter kelas digunakan untuk inisialisasi variable kelas, sedangkan variable no pendaftaran digunakan untuk inisialisasi variable daftar ulang. Berikan return value berupa true. Sesuaikan sendiri return-type yang ditambahkan pada deklarasi method.

Soal Latihan : 1. Class TrafficLight berikut adalah simulasi dari lampu lalu lintas. Coba lakukan setting pada TrafficLight tsb dengan menyalakan lampu merah sebanyak 5 kali, selanjutnya lampu kuning dinyalakan 2 kali, diakhiri dengan menyalakan lampu hijau 10 kali. Petunjuk : Pada main method lakukan instansiasi obyek yang mengacu ke class TrafficLight. Untuk akses ketiga lampu dapat dilakukan melalui method turnLight().

public class TrafficLight{ boolean bred,bgreen,byellow; void turnLight(int color){ bred=bgreen=byellow=false; switch(color){ case 0: //merah bred = true; break; case 1: //hijau bgreen = true; break; case 2: //kuning byellow = true; break; } } public static void main(String args[]) { // instansiasi obyek ... } }

. Tuliskan output dari kode program berikut :


class Point{ int x=1,y=1; void getXY(int x, int y){ x = this.x - x; y = this.y + y; System.out.println(x); System.out.println(y); } public static void main(String args[]){ Point titik = new Point(); titik.getXY(2,3); } }

. overload constractor perhatikan kode program berikut :

class Employee{ String nama; Employee(){ System.out.println("Default constructor"); } Employee(String n){ this.nama = n; System.out.println("constructor dengan 1 parameter"); } void getDetails(){ System.out.println(nama); } public static void main(String args[]) { //Add some code here .... } }

a. lakukan pemanggilan constructor yang memiliki satu parameter melalui obyeknya. b. lakukan overload constructor, tambahkan constructor dengan 3 parameter, yaitu : nama, jabatan, dan nomor induk pegawai. Kemudian lakukan pemanggilan constructor tersebut melalui obyeknya. 4. Tuliskan output yang dihasilkan dari runtime kode program berikut ini :
public class Employee{ Employee() { System.out.println("Konstruktor Employee() dijalankan"); } } class Manager extends Employee{ Manager() { System.out.println("Konstruktor Manager() dijalankan"); } public static void main(String args[]){ Manager e = new Manager(); } }

5. Contoh Override method

public class Point{ int x=2,y=4; int deltaX = 1, deltaY = 1; int getX() { return x+deltaX; } int getY() { return y+deltaY; } class Shape extends Point{ int x=5, y=7; int testSuper() { System.out.println("(x,y) = " + x + ", " + y); 6. Method accessor & mutator System.out.println("(super.x,super.y) = " + super.x + Dari program berikut tentukan yang mana termasuk method accessor dan mutator, ", kode " + super.y); sebutkan dan berikan alasannya. System.out.println(); System.out.println("getX() = " + getX()); = " + super.getX()); public classSystem.out.println("super.getX() Karyawan{ return 0; // instance variabel }private String nama; int getX() private double gaji; { void setNama(String nm){ return nama =this.x; nm; } } int voidgetY() setGaji(double gj){ { gaji = gj; return this.y; } } String getNama(){ public static return void nama;main(String args[]) {} shp = new Shape().testSuper(); doubleShape getGaji(){ } return gaji; } } }

Tugas Praktikum :

1. Buatlah program dengan membaca diagram class berikut ini :

Keterangan : Class Account merupakan superclass dari class Customer Variabel : firstname : menyimpan nama depan customer lastname : menyimpan nama belakang customer

Method : getBalance : untuk mendapatkan nilai saldo saat ini. deposit : untuk menambah jumlah saldo sejumlah value yang dikirim pada parameter. Jika saldo berjumlah Rp. 500.000,- atau kelipatannya maka otomatis akan mendapatkan bunga sebesar 0.5% dari jumlah saldo. withdraw : untuk mengurangi jumlah saldo sejumlah value yang dikirim pada parameter. Untuk penarikan diatas Rp. 2.000.000,- akan dikenai biaya Rp. 15.000,getFirstname : untuk mendapatkan nama depan dari customer getLastname : untuk mendapatkan nama belakang dari customer getAccount : method accesor untuk variabel account setAccount : method mutator untuk variabel account perintah : a. buatlah main method pada class account. Buat akun untuk beberapa nasabah berikut : Firstname LastName Saldo awal Saldo awal+Bunga Saldo terakhir Joko Kusumo 1.000.000 ? ? Indah Septiarini 350.000 ? ? Sujarwo Adiwijoyo 5.250.000 ? ? Muhammad Hasan 50.000 ? ? b. Nasabah bernama Joko menabung sebesar 1.750.000, kemudian melakukan pengambilan sebesar 2.000.000 c. Nasabah bernama Indah menabung sebesar 150.000, dan mengambil uang sebesar 500.000 d. Nasabah bernama Sujarwo mengambil uang sebesar 6.000.000 e. Nasabah bernama Muhammad mengambil uang sebesar 500.000 petunjuk : tambahkan perintah untuk mengecek saldo nasabah. Jika saldo tidak cukup, maka tampilkan pesan peringatan. 2. Interface Buatlah sebuah interface dengan nama Pet yang memiliki 3 method yaitu : getName() : memiliki returnType bertipe string setName(String name) : memiliki 1 parameter bertipe string Play() : tidak memiliki returnType Lebih jelasnya perhatikan class diagram dibawah ini :

Perintah : implemetasikan interface tersebut ke Class MyPet. Tambahkan private variabel bernama name pada class tersebut. Hasil overriding dari method play() diisi dengan perintah cetak kelayar <name> sedang berguling-guling, lucu!.

Anda mungkin juga menyukai