Politeknik Elektronika Negeri Surabaya

dokumen-dokumen yang mirip
B. DASAR TEORI MENGENAL OBJEK & CLASS

B. DASAR TEORI MENGENAL OBJEK & CLASS

Deklarasi atribut dapat dilakukan dengan sintaks sebagai berikut:

PRAKTIKUM 2 PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM 2 PEMROGRAMAN BERORIENTASI OBJEK

Praktikum 6 Class Design (Encapsulation)

Pengenalan pemrograman berorientasi obyek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Praktikum 7. Dasar-dasar OOP di Java

Dasar-Dasar OOP di Java

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

Dasar-Dasar OOP di Java

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik

Membuat dan Menggunakan Class

INTERAKSI ANTAR OBJECT

Bab 8. Dasar-Dasar OOP

Pemrograman Berorientasi. Class dan Obyek 2

Praktikum 3 Konsep Class, Attribute dan Method

Pengenalan pemrograman berorientasi iobyek

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

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Enkapsulasi. Politeknik Elektronika Negeri Surabaya. Enkapsulasi. public void Info() { System.out.println( Saya siswa PENS );

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

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

JOBSHEET 3 CLASS DAN OBJEK

MODUL 1. Class, Object, Constructor dan Method

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

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

Percobaan 5 Paket dan Import, Interface

Pemrograman Lanjut Review Class dan Object PTIIK

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

PERTEMUAN 3 OBJEK DAN CLASS

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Class & Object 2. Imam Fahrur Rozi

Pemrograman Berorientasi Objek

Dasar Pemrograman Java

subclass class manapun private default protected public package yang sama

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Modul Praktikum Bahasa Pemrograman 1

Polymorphism. Oleh : Agus Priyanto, M.Kom

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Bahasa Pemrograman 2.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

PEMROGRAMAN BERORIENTASI OBJEK

2 Class dan Object (1)

Inheritance dan Kata Kunci static

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

SUMBER BELAJAR PENUNJANG PLPG

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

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

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

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

public class B extends A {... }

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

IKG2I4 / Software Project I

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

PRAKTIKUM OBJECT ORIENTED PROGRAMING

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

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

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Inheritance (Pewarisan) Pengertian dasar inheritance

Bahasa Pemrograman :: Inheritance

Java Application. Menampilkan Tulisan

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

Java Application. Aplikasi: Menampilkan Tulisan

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

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

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

CLASS, METHOD DAN MODIFIER

PEMROGRAMAN BERORIENTASI OBJEK

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

BAB VII. CLASS DAN OBJECT

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

Pemrograman Berbasis Objek Inheritance

BAB 3 CLASS DAN OBJECT. Tujuan:

PRAKTIKUM 5 PAKET, IMPORT DAN INTERFACE

Tipe data primitif adalah tipe data dasar yang dikenali oleh Java dan bukan merupakan class. Tipe data primitif ini dapat dikenali dengan ciri

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

MODUL 1 PENGENALAN OOP

MODUL 1 PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK(PBO) KELAS DAN OBJEK. TGL PRAKTIKUM : 24 September 2012 :ACHMAD FAJAR NORULLAH NRP :

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman :: Polimorfism and Abstraction

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

UNIVERSITAS GUNADARMA

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

Inheritance. Topik 5/17/2013

Array Pendeklarasian Array

Transkripsi:

PRAKTIKUM 2 PEMBUATAN CLASS DAN OBJEK A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep Class dan Objek 2. Mampu mengubah konsep Objek di dunia nyata menjadi objek dalam pemrograman. 3. Memahami cara membuat class. 4. Memahami cara mengakses data member dan method dari class. B. DASAR TEORI Class Untuk mempelajari pemrograman Java terdapat beberapa hal yang harus dipelajari. Diantaranya adalah konsep class (kelas) dan obyek. Hal yang penting diketahui sehubungan dengan kelas dalam Java adalah mendeklarasikan sebuah kelas, membuat sebuah obyek, mendeklarasikan suatu atribut, mendeklarasikan suatu method dan mengakses anggota suatu obyek. Class adalah template/blueprint/cetakan untuk membuat obyek. Class harus berasal dari entitas atau konsep dunia nyata. Obyek adalah hasil instansiasi dari sebuah kelas. Atribut atau variabel adalah identitas unik yang dimiliki dan melekat pada sebuah kelas. Method adalah fungsi atau tingkah laku atau kemampuan yang dimiliki oleh sebuah kelas untuk pengaksesan atribut atau tugas tertentu. Contoh kelas adalah : Mahasiswa, Vehicle, Tree, Fruit, Mobil, dan lain-lain. Dalam koding Java, untuk mendeklarasikan kelas Mahasiswa adalah sebagai berikut: class Mahasiswa(){ // variabel // method Class merupakan sebuah prototipe yang mendefinisikan variabel-variabel serta methodmethod secara umum. Dalam sebuah aplikasi, bisa terdiri dari hanya satu kelas ataupun beberapa kelas yang memiliki karakter atau kegunaan sendiri-sendiri. 11

Sebuah file sumber di Java disimpan dengan ekstensi.java. Sebuah file sumber dapat terdiri dari beberapa kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas. Nama file sumber harus disimpan dengan nama yang sama dengan deklarasi nama kelas dalam program, misalnya Mahasiswa.java. Setelah dilakukan kompilasi maka pada Java akan dihasilkan sebuah file.class yang berisi bytecode dari setiap kelas. Jika sebuah file terdiri dari dua kelas maka setelah dikompilasi akan dihasilkan dua buah file.class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi. Jadi komponen penyusun sebuah kelas ada dua bagian yaitu: 1. Variabel/properti/atribut Variabel adalah karateristik berupa data yang dimiliki oleh sebuah kelas. Dibagian ini dapat dideklarasikan atribut-atribut yang dibutuhkan kelas untuk menyelesaikan permasalahan. Sebagai contoh perhatikan kode dibawah ini: String nama; 2. Method Method merupakan tingkah laku atau kemampuan atau fungsi yang dimiliki oleh sebuah kelas. Method ini bisa berbentuk prosedur maupun fungsi. Contoh penulisannya perhatikan kode dibawah ini: void daftarulang(){ System.out.println( Mahasiswa sedang daftar ulang ); Bila ditulis secara lengkap class Mahasiswa yang telang dibuat tadi, maka akan menjadi: class Mahasiswa(){ String nama; void daftarulang(){ System.out.println( Mahasiswa sedang daftar ulang ); Format pendeklarasian class, variabel, dan method a) Deklarasi class dapat dilakukan dengan sintaks sebagai berikut: <modifier> class <nama_class> { [deklarasi_atribut] [deklarasi_konstruktor] [deklarasi_metode] 12

Contoh deklarasi class Siswa: b) Deklarasi atribut dapat dilakukan dengan sintaks sebagai berikut: <modifier> <tipe> <nama_atribut> ; Contoh: public int nrp; public String nama; c) Deklarasi method dapat dilakukan dengan sintaks sebagai berikut: <modifier> <return_type> <nama_metode> ([daftar_argumen]) { [<statement>] Contoh: public int nrp; public String nama; public void info() { System.out.println( Ini siswa PENS ); Mengakses properti class Properti milik kelas adalah variabel dan method. Untuk dapat mengakses properti milik kelas maka harus dibuat sebuah obyek terlebih dahulu. Untuk membuat sebuah obyek terdapat tiga bagian yaitu : Deklarasi : mendeklarasikan variable obyek Membuat Obyek dengan menggunakan keyword new Inisialisasi : Operator new diikuti dengan konstruktor, untuk menginisialisasi obyek baru. Contoh untuk mendeklarasikan variable obyek adalah Point originone; Selanjutnya membuat dan mengiinisialisasi obyek dengan cara: originone = new Point(23, 94); 13

obyek: Berikut ini adalah contoh pengaksesan anggota-anggota dari class Siswa melalui sebuah public static void main(string args[]) { Siswa it=new Siswa(); it.nrp=5; it.nama= Andi ; it.info(); Selanjutnya akan diberikan contoh sebuah class Siswa dan sebuah class lagi yang menggunakan class Siswa yaitu class Test. Class Siswa memiliki sebuah instance variabel yang bernama nrp, dan satu buah method yang bernama setnrp yang tidak memiliki return value sehingga dideklarasikan sebagai void. Method setnrp memiliki satu argumen atau parameter bernama i. Selanjutnya class Test memiliki main method yang berisi pembuatan sebuah obyek bernama anak. Selanjutnya obyek anak memanggil method setnrp dengan mengirimkan angka 5 yang digunakan untuk mengeset variabel nrp. Selanjutnya nilai nrp akan ditampilkan ke layar sengan memanngil method System.out.println(). int nrp; public void setnrp(int i) { nrp=i; public class Test { public static void main(string args[]) { Siswa anak=new Siswa(); anak.setnrp(5); System.out.println(anak.nrp); Ilustrasi hubungan antara class dan obyek dapat dilihat pada Gambar 1.1. Dimisalkan terdapat class bernama Student yang memiliki dua buah instance variabel yaitu name dan rollno. Serta dua buah method yaitu setname() dan setrollno(). Dari class Student tersebut maka dapat dibuat beberapa obyek. Dalam contoh ini dibuat 4 buah obyek yang masing-masing memiliki dan menyimpan variabelnya sendiri yaitu Jenna dengan rool No R005, John dengan rool No R010, Maria dengan rool No R029 dan James dengan rool No R009. 14

Gambar 1.1 Hubungan class dan obyek Diambil dari http://www.c4learn.com/java/java-class-concept/ Konstruktor Selain variabel dan method ada satu hal lagi yang dimiliki oleh sebuah kelas, yaitu konstruktor. Konstruktor ini adalah bagian program yang dipanggil pertama kali oleh program saat terjadi pembuatan obyek. Karena dipanggil pertama kali ketika obyek dibuat maka biasanya konstruktor digunakan untuk menginisialisasi variabel-variabel yang dimiliki oleh sebuah obyek. Konstruktor harus memiliki nama yang sama dengan nama kelas. Konstruktor ini dipanggil pada saat proses instalasi kelas menjadi obyek. Kegunaan konstruktor adalah mengalokasikan ruang bagi sebuah kelas dalam obyek, memberikan nilai awal terhadap anggota data suatu obyek, membentuk tugas-tugas umum lainya. Perlu diketahui bahwa konstruktor tidak mempunyai nilai balik (bahkan tanpa void). Jadi konstruktor mempunyai ciri yaitu : 1. mempunyai nama yang sama dengan nama class 2. tidak mempunyai return type (seperti void, int, double dll) 3. memiliki argumen sebanyak 0..n Contoh konstruktor: private int nrp; private String nama; 15

public Siswa(int n, String m) { nrp=n; nama=m; Jika tidak menuliskan kode konstruktor, maka secara otomatis kompiler akan menambahkan sebuah default constructor. Default constructor tidak memiliki argument dan tidak memiliki statement dalam body nya. Default constructor memiliki akses modifier yang sama dengan deklarasi kelasnya. Contoh konstruktor default adalah sebagai berikut: public class Siswa{ public Siswa(){ Sekali saja non default constrctor dibuat/ditulis secara eksplisit, maka default konstruktor akan hilang. Contoh non default constructor: public class Siswa{ String nama; public Siswa(int n){ this.mana = n; Suatu class dapat mempunyai lebih dari 1 konstruktor dengan syarat daftar parameternya tidak boleh ada yang sama. Hal ini disebut dengan overloading konstruktor. Contoh : private int nrp; private String nama; public Siswa(String m) { nrp=0; nama= ; public Siswa(int n, String m) { nrp=n; nama=m; C. TUGAS PENDAHULUAN Membuat review mengenai Class dan Objek dan beri contoh 1 membuat class dan objek. 16

D. PERCOBAAN Percobaan 1 : Mengakses data member suatu class. Amati program dibawah ini: int nrp; public void setnrp(int i) { nrp=i; public class Test { public static void main(string args[]) { Siswa anak=new Siswa(); anak.nrp = 5 ; System.out.println(anak.nrp); Percobaan 2 : Mengakses method suatu class. Amati program dibawah ini: int nrp; public void setnrp(int i) { nrp=i; public class Test { public static void main(string args[]) { Siswa anak=new Siswa(); anak.setnrp(5); System.out.println(anak.nrp); Percobaan 3 : Mengakses method suatu class. Amati program dibawah ini: int nrp; String nama; public void setnrp(int i) { nrp=i; public void setnama(string i) { 17

nama=i; public class Test { public static void main(string args[]) { Siswa anak=new Siswa(); anak.setnrp(5); anak.setnama( Budi ); System.out.println(anak.nrp); System.out.println(anak.nama); Percobaan 4 : Membuat Class dan Konstruktor dengan parameter. class Puppy{ int puppyage; public Puppy(String name){ // This constructor has one parameter, name. System.out.println("Passed Name is :" + name ); public setage( int age ){ puppyage = age; public getage( ){ System.out.println("Puppy's age is :" + puppyage ); return puppyage; public static void main(string []args){ Puppy mypuppy = new Puppy( "tommy" ); mypuppy.setage( 2 ); mypuppy.getage( ); System.out.println("Variable Value :" + mypuppy.puppyage ); Percobaan 5 : Membuat class Point dan menghitung jarak antara dua Point. Buatlah fungsi utama untuk membuat dua Point dan menghitung jarak antara dua Point tersebut! class Point { public double x, y; Point(double x_value, double y_value) { x = x_value; y = y_value; 18

public void clear() { this.x = 0; this.y = 0; public double distance(point that) { double xdiff = x - that.x; double ydiff = y - that.y; return Math.sqrt(xDiff * xdiff + ydiff * ydiff); Percobaan 6 : Membuat array objek class Account{ int a; int b; public void setdata(int c,int d){ a=c; b=d; public void showdata(){ System.out.println("Value of a ="+a); System.out.println("Value of b ="+b); class ObjectArray{ public static void main(string args[]){ Account obj[] = new Account[2] ; obj[0] = new Account(); obj[1] = new Account(); obj[0].setdata(1,2); obj[1].setdata(3,4); System.out.println("For Array Element 0"); obj[0].showdata(); System.out.println("For Array Element 1"); obj[1].showdata(); E. LATIHAN Latihan1 : Mengimplementasikan UML class diagram dalam program untuk class Tabungan 19

TABUNGAN - saldo : int + Tabungan(initsaldo : int) + getsaldo() : int + simpanuang(jumlah : int) + ambiluang(jumlah : int) : boolean Gambar 2.4 Class Tabungan Transformasikan class diagram diatas ke dalam bentuk program? Jalankan file TesTugas1.class. Jika tampilan di layar tampak seperti dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda dan lakukan hal yang sama seperti diatas. Saldo awal : 5000 Jumlah uang yang disimpan : 3000 Jumlah uang yang diambil : 6000 Jumlah uang yang disimpan : 3500 Jumlah uang yang diambil : 4000 Jumlah uang yang diambil : 1600 Jumlah uang yang disimpan : 2000 Saldo sekarang = 3500 ok ok gagal Latihan 2 : Menambahkan pada class Tabungan method transfer(). - saldo : int TABUNGAN + Tabungan(initsaldo : int) + getsaldo() : int + simpanuang(jumlah : int) + ambiluang(jumlah : int) : boolean +transfer(tab:tabungan,jumlah:int):boolean Gambar 2.4 Class Tabungan dengan tambahan method transfer() 20

Latihan 3 : Buatlah class Lingkaran yang didalamnya terdapat variabel jari-jari. Buatlah method untuk menghitung luas dan keliling lingkaran. Selanjutnya buatlah sebuah obyek Lingkaran. Obyek lingkaran 1 dengan jari-jari 5. Obyek lingkaran 2 dengan jari-jari 7.5. Obyek lingkaran 3 dengan jari-jari random. Hitung luas dan keliling lingkaran dari tiap obyek. Latihan 4 : Melanjutkan dari latihan 3. Buatlah class Lingkaran yang didalamnya terdapat variabel jari-jari dan Point untuk titik pusat. Tambahkan method pada class Lingkaran public boolean bersinggungan(lingkaran lingkaran){ mengembalikan nilai true jika bersinggungan dan bernilai false jika tidak bersinggungan. Selanjutnya buatlah sebuah obyek Lingkaran. Obyek lingkaran 1 dengan jari-jari 2 dan titik pusat (2,2) Obyek lingkaran 2 dengan jari-jari 1 dan titik pusat (7,1) Obyek lingkaran 3 dengan jari-jari 1.5 dan titik pusat (4,1.5). Dari 3 obyek tersebut, manakah obyek lingkaran yang bersinggungan? F. LAPORAN RESMI Kerjakan hasil percobaan(d) dan latihan(e) di atas dan tambahkan analisa. 21