Praktikum KPLBO Interaksi Objek II

dokumen-dokumen yang mirip
Praktikum KPLBO Kelas dan Objek II

Praktikum KPLBO Class dan Object I

Praktikum KPLBO Relasi Objek I

Praktikum KPLBO Collection I

Praktikum KPLBO Final Object Concept I

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

PEWARISAN D E W I S A R T I K A, M. K O M

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

Praktikum 6 Class Design (Encapsulation)

subclass class manapun private default protected public package yang sama

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

Dasar-Dasar OOP di Java

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Pemrograman Berorientasi. Class dan Obyek 2

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

BAB 5 INTERAKSI OBJEK. Tujuan:

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

INTERAKSI ANTAR OBJECT

Membuat dan Menggunakan Class

2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else

LAPORAN RESMI INHERITANCE

Praktikum KPLBO Collection II

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Dasar-Dasar OOP di Java

PEMROGRAMAN BERORIENTASI OBJEK

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

PEMROGRAMAN BERORIENTASI OBJEK

BAB 3 CLASS DAN OBJECT. Tujuan:

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

UML (Unified Modelling Language)

I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.

Struktur Kontrol Pemrograman Java : PERCABANGAN

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

Modul II Object Oriented Programming

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Politeknik Elektronika Negeri Surabaya

MODUL 1. Class, Object, Constructor dan Method

MODUL 1 PENGENALAN OOP

PRAKTIKUM 2 PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Tipe Data Floating Point Tipe data yng digunakan untuk menampung bilangan desimal

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

BAB 6 INHERITANCE Tujuan:

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Modul 2. [access specifier] [tipe data] [nama variabel];

Praktikum 7. Dasar-dasar OOP di Java

MODUL III ARRAYLIST TUGAS PENDAHULUAN

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Jobsheet 09. Overloading and Overriding Method

Polymorphism. Oleh : Agus Priyanto, M.Kom

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Praktikum 3 Konsep Class, Attribute dan Method

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

A. TUJUAN PEMBELAJARAN 1. Memahami konsep package dan import 2. Menggunakan kata kunci this

Class & Object 2. Imam Fahrur Rozi

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

[Lanjutan] Nurochman

Bahasa Pemrograman 2.

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Pemrograman Lanjut Review Class dan Object PTIIK

PEMROGRAMAN BERORIENTASI OBJEK

MINGGU VII : RELASI ANTAR KELAS

PERTEMUAN 3 OBJEK DAN CLASS

Bab 8. Dasar-Dasar OOP

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

Projek Kelompok 4. //tipe array nama array={nilai elemen 1,...,elemen N}; Fajar[] a = {new Fajar("Hallo"), new Fajar("Apa"), new Fajar("Kabar")};

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

JOBSHEET 3 CLASS DAN OBJEK

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

Inheritance dan Kata Kunci static

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

ENKAPSULASI Data Hiding

Pemrograman Berorientasi. Polimorfisme dan Binding

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

Pemrograman Berbasis Objek. Enkapsulasi. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Modul Praktikum 3 Pemograman Berorientasi Objek

Paket dan Interface. Nur Hasanah, M.Cs

Pemrograman Berorientasi Objek INHERITANCE

Pemrograman Berbasis Objek Inheritance

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

Method / Fungsi / Sub Program

Algoritma dan Pemrograman FUNGSI

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

Pengenalan pemrograman berorientasi obyek

Java Application. Aplikasi: Menampilkan Tulisan

Transkripsi:

Praktikum KPLBO Interaksi Objek II Oleh : Ade Sukendar [ade.sukendar@unpas.ac.id] Laboratorium Jurusan Teknik Informatika Universitas Pasundan 2014

Latihan 1 : Latihan pertama ini akan melibatkan empat kelas yaitu kelas Mahasiswa, Matakuliah, Nilai dan kelas untuk eksekusi MatakuliahMain. Latihan ini bertujuan untuk memperlihatkan perhitungan nilai matakuliah yang akan diakses di kelas Mahasiswa. Kelas MatakuliahMain akan menampilkan deskripsi nilai dari kelas Mahasiswa. Relasi antar kelas sebagai berikut : - Kelas Mahasiswa mempunyai akses ke kelas Matakuliah (tidak sebaliknya) - Kelas Matakuliah mempunyai akses ke kelas Nilai (tidak sebaliknya) - Kelas MatakuliahMain akan memanggil kelas Mahasiswa dan Matakuliah untuk dieksekusi methodnya dan memperlihatkan hasil eksekusinya. Berikut kelas diagram dari penjelasan diatas seperti dibawah ini : Buatlah kelas Transkrip seperti dibawah ini : Mahasiswa.java package p6.a; @author Ade Sukendar @version 1.3 @since 22/2/2014 public class Mahasiswa { private String nomormahasiswa; private String nama; private String jurusan; private MataKuliah matakuliah = new MataKuliah(); Konstruktor public Mahasiswa() { public Mahasiswa(String nomormahasiswa, String nama) { setnomormahasiswa(nomormahasiswa); setnama(nama); 2

public Mahasiswa(String nomormahasiswa, String nama, String jurusan) { setnomormahasiswa(nomormahasiswa); setnama(nama); setjurusan(jurusan); Fungsional public String keteranganmatakuliah() { String desc = "NRP : "+ nomormahasiswa+ "\n"+ "Nama : "+ nama+ "\n"+ "Matakuliah : "+ matakuliah.getnama()+ "\n"+ "Total Nilai : "+ matakuliah.hitungnilai(); return desc; Method Setter & Getter disembunyikan Implementasi method ini harus tetap dibuat Method I/O Buatlah kelas MataKuliah seperti dibawah ini : MataKuliah.java package p6.a; @author Ade Sukendar @version 1.2 @since 22/2/2014 public class MataKuliah { private String kode; private String nama; private int sks; private Nilai nilaimk = new Nilai(); Konstruktor public MataKuliah() { public MataKuliah(String kode, String nama, int sks) { setkode(kode); setnama(nama); setsks(sks); Function public double hitungnilai() { return nilaimk.hitung(); public void setnilaimatakuliah(double nilaitugas, double nilaikuis, double nilaiuts, double nilaiuas, double nilaipraktikum) { nilaimk.setnilaitugas(nilaitugas); 3

nilaimk.setnilaikuis(nilaikuis); nilaimk.setnilaiuts(nilaiuts); nilaimk.setnilaiuas(nilaiuas); nilaimk.setnilaipraktikum(nilaipraktikum); Method Setter & Getter disembunyikan Implementasi method ini harus tetap dibuat Buatlah kelas Nilai seperti dibawah ini : Nilai.java package p6.a; public class Nilai { private double nilaitugas; private double nilaikuis; private double nilaiuts; private double nilaiuas; private double nilaipraktikum; Konstruktor public Nilai() { public Nilai(double nilaitugas, double nilaikuis, double nilaiuts, double nilaiuas, double nilaipraktikum) { setnilaitugas(nilaitugas); setnilaikuis(nilaikuis); setnilaiuts(nilaiuts); setnilaiuas(nilaiuas); setnilaipraktikum(nilaipraktikum); Method Setter & Getter disembunyikan Implementasi method ini harus tetap dibuat Fungsional public double hitung() { double ntugas = getnilaitugas()0.1; //10% double nkuis = getnilaikuis()0.1; //10% double nuts = getnilaiuts()0.2; //20% double nuas = getnilaiuas()0.3; //30% double nprak = getnilaipraktikum()0.3; //30% return ntugas+nkuis+nuts+nuas+nprak; 4

Buatlah kelas MatakuliahMain seperti dibawah ini : MatakuliahMain.java package p6.a; @author Ade Sukendar @version 1.1 @since 1/3/2014 public class MatakuliahMain { public static void main(string[] args) { Mahasiswa mhs = new Mahasiswa("123040100", "Asep Supriatna"); MataKuliah matkul = new MataKuliah("IT405", "KPLBO", 3); matkul.setnilaimatakuliah(80, 90, 60, 55, 70); mhs.setmatakuliah(matkul); System.out.println(mhs.keteranganMataKuliah()); Running, kemudian amati yang terjadi!!! Latihan 2 : Latihan kedua adalah melanjutkan dari latihan yang pertama dengan menambahkan kode program untuk kelas MatakuliahMain. Kelas MatakuliahMain ditambahkan kode program sesuai dengan spesifikasi tersebut : - Tambahkan inputan dari keyboard untuk identitas mahasiswa dan komponen nilai matakuliah - Tambahkan sebuah fungsi/method untuk menampilkan indeks nilai berdasarkan total nilai yang telah dihitung. Ouput program seperti dibawah ini : NRP : 123040100 Nama : Asep Supriatna Matakuliah : KPLBO Total Nilai : 66.5 Indeks : B 5

Latihan 3 : Latihan ketiga bertujuan untuk penggunaan konsep overloading (method dan konstruktor) dan penggunaan this untuk pemanggilan konstruktor. Kelas yang digunakan adalah kelas yang telah dibuat di latihan pertama, namun dengan sedikit perubahan. Amati perubahan kelas yang telah dibuat di kelas diagram di bawah ini : Buatlah kelas Mahasiswa seperti dibawah ini : Mahasiswa.java package p6.c; @author Ade Sukendar @version 1.3 @since 22/2/2014 public class Mahasiswa { private String nomormahasiswa; private String nama; private String jurusan; private Nilai nilai = new Nilai(); Konstruktor public Mahasiswa() { // memanggil konstruktor 3 parameter this("", "", ""); public Mahasiswa(String nomormahasiswa, String nama) { setnomormahasiswa(nomormahasiswa); setnama(nama); public Mahasiswa(String nomormahasiswa, String nama, String jurusan) { // memanggil konstruktor dua parameter this(nomormahasiswa, nama); 6

setjurusan(jurusan); Method ini adalah contoh method overloading -method hitungnilai yang pertama tanpa parameter -method hitungnilai yang kedua dengan parameter public String hitungnilai() { String desc = "NRP : "+ nomormahasiswa+ "\n"+ "Nama : "+ nama+ "\n"+ "Nilai UTS : "+ nilai.getnilaiuts()+ "\n"+ "Nilai UAS : "+ nilai.getnilaiuas()+ "\n"+ "Nilai : "+ nilai.hitung(); return desc; public String hitungnilai(double procuts, double procuas) { String desc = "NRP : "+ nomormahasiswa+ "\n"+ "Nama : "+ nama+ "\n"+ "Nilai UTS : "+ nilai.getnilaiuts()+ "\n"+ "Nilai UAS : "+ nilai.getnilaiuas()+ "\n"+ "Nilai : "+ nilai.hitung(procuts, procuas); return desc; Method Setter & Getter disembunyikan Implementasi method ini harus tetap dibuat Buatlah kelas Nilai seperti dibawah ini : Nilai.java package p6.c; @author Ade Sukendar @version 1 @since 22/2/2014 public class Nilai { private double nilaiuts; private double nilaiuas; Konstruktor public Nilai() { // memanggil konstruktor dua parameter this(0.0, 0.0); public Nilai(double nilaiuts, double nilaiuas) { setnilaiuts(nilaiuts); setnilaiuas(nilaiuas); Method ini adalah contoh method overloading -method hitung yang pertama tanpa parameter -method hitung yang kedua dengan parameter public double hitung() { // default prosentase nilai uts 40% dan uas 60% return hitung(0.4, 0.6); 7

public double hitung(double prosuts, double prosuas) { double nuts = getnilaiuts()prosuts; double nuas = getnilaiuas()prosuas; return nuts+nuas; Method Setter & Getter disembunyikan Implementasi method ini harus tetap dibuat Buatlah kelas NilaiMahasiswaMain seperti dibawah ini : NilaiMahasiswaMain.java package p6.c; public class NilaiMahasiswaMain { public static void main(string[] args) { Mahasiswa mhs = new Mahasiswa("123040100", "Asep Supriatna"); Nilai nilai = new Nilai(60, 80); mhs.setnilai(nilai); // method hitungnilai tanpa parameter System.out.println(mhs.hitungNilai()); // prosentase default uts 40% dan uas 60% System.out.println(); // method hitungnilai dengan parameter, uts 30% dan uas 70% System.out.println(mhs.hitungNilai(0.3,0.7)); Running, kemudian amati yang terjadi!!! Latihan 4 : Latihan keempat bertujuan untuk menerapkan modifier hak akses (public & private) ke dalam properti kelas. Ketikkan kelas dibawah ini yang disimpan dalam paket yang berbeda : package p6.d.paket1; public class X { private int x1; int x2; public X() { private X(int x1) { this.x1 = x1; public void setx1(int x1) { this.x1 = x1; 8

public int getx1() { return x1; private int getx2() { return x2; package p6.d.paket2; public class XMain { public static void main(string[] args) { X x = new X(4); x.x2 = 5; System.out.println(x.getX2()); System.out.println(x.setX1(5)); System.out.println(x.getX1()); Running, kemudian amati yang terjadi!!! Tunjukkan dan jelaskan letak kesalahan kode program di kelas XMain! Jika sudah paham kesalahan program diatas cobalah untuk diperbaiki baik itu kelas X maupun XMain mengikuti aturan pemrograman berorientasi objek! Apabila kelas X dan XMain dimasukkan ke dalam paket yang sama, jelaskan apa yang terjadi! 9