Program Studi Teknik Informatika Jurusan Teknik Elektro Politeknik Negeri Semarang 2013

Oleh Bagus Dwipa

774 KB 4 tayangan 0 unduhan
 
Bagikan artikel

Transkrip Program Studi Teknik Informatika Jurusan Teknik Elektro Politeknik Negeri Semarang 2013

JOBSHEET 1 Konsep Pemrograman Berorientasi Objek Disusun untuk memenuhi tugas mata kuliah Pemrograman Berorientasi Objek Oleh : Bagus Dwipa M. 3.34.12.0.04 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI SEMARANG 2013 1 BAB 1 Konsep Pemrograman Berorientasi Objek (Pengampu : Bp. Sukamto, S.Kom, M.T.) I. Tujuan Instruksional Khusus Setelah Menyelesaikan praktek ini mahasiswa dapat : 1. Menyebutkan dan menjelaskan karakteristik pemrograman berorientasi objek 2. Menjelaskan perbedaan objek dan kelas 3. Membuat diagram objek dan kelas 4. Menjelaskan tentang instance variabel dan metode 5. Membuat kelas dalam Java 6. Menerapkan konsep pemrograman berorientasi objek kedalam program Java II. Persyaratan / Kebutuhan Sistem Komputer Persyaratan / kebutuhan sistem untuk menjalankan program Java adalah sebagai berikut : 1. Processor P-II atau yang lebih tinggi, 2. Ram minimal 32 Mbyte, 3. Free space harddisk minimal 200 Mbyte, 4. Mouse ( Serial / PS2 ), 5. Sistem Operasi : a. Minimal Windows 98 ( disarankan versi Windows yang lebih tinggi), b. Linux. III. Dasar Teori Konsep pemrograman berorientasi objek Pemrograman Berorientasi Objek (PBO) atau Object Oriented Programming (OOP) adalah merupakan inti (core) dari bahasa Java, yang bukan bersifat opsional. Konstruksi dari pemrograman Java selalu berbasis pada OOP. OOP ini merupakan sebuah teknik 2 pemrograman yang bertujuan untuk mengurangi kompleksitas suatu program, agar lebih sederhana dan mudah. Karakteristik OOP Elemen dasar dari object-oriented programming adalah abstraksi (abstraction). Secara alami manusia dalam melihat atau mengidentifikasi suatu benda berdasarkan pada pandangan abstraksi. Pandangan abstraksi ini hanya melihat pada bentuk dan fungsi umumnya. Selain abstraksi ada beberapa metode untuk menentukan karakteritik dalam pendekatan berorientasi objek, yaitu: Identifikasi Yaitu bahwa data yang diukur mempunyai nilai/sifat tertentu secara individual, yang membedakan entitas satu dengan entitas lainnya disebut objek. Objek dalam OOP sering disebut sebagai instance dari sebuah kelas yang merupakan anggota dari kelas yang mempunyai sifat yang khusus sesuai dengan kelasnya. Sebagai contoh identifkasi terhadap objek binatang:sapi, kerbau, ular dan buaya. Klasifikasi Adalah suatu kegiatan mengumpulkan data (atribut/variabel) dan metode/perilaku (operasi) dari suatu objek yang mempunyai struktur data yang sama kedalam satu grup yang disebut kelas (class). Objek dan Kelas Pada pemrograman berorientasi objek, yang disebut objek (objects) adalah instant dari sebuah kelas (class), kelas terdiri dari variabel/atribut dan fungsi/metode yang dibungkus dengan mekanisme pembungkusan kelas. Enkapsulasi (encapsulation) Enkapsulasi adalah merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Enkapsulasi ini mencegah dan melindungi kode dan data dari akses dari kode lain, yaitu dengan cara penyembunyian informasi (information/data hiding), dimana variable/data tidak dapat diakses oleh metode/fungsi diluar kelas. Mekanisme utamanya setiap variable yang digunakan didalam kelas biasanya bersifat private. 3 Penurunan Kelas (inheritance) Inheritance adalah proses penciptaan kelas baru dari kelas sebelumnya, yang disebut kelas turunan (derived classs/child class) atau subkelas. Kelas turunan akan mewarisi semua data/atribut dan metode dari kelas induknya (base class/parent class/superclass). Polymorphism Polymorphism (berasal dari bahasa yunani yang artinya adalah “macam-macam bentuk “many forms” adalah sebuah konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda. Metode overloading adalah salah satu cara penerapan dalam konsep polimorfisme. Kelas (class) dan Objek (object) Pada pemrograman berorientasi objek, yang disebut objek adalah instant dari sebuah kelas. Kelas terdiri dari variable/data dan metode yang dibungkus dengan mekanisme pembungkusan kelas. Ketika mendefinisikan kelas, berarti juga mendeklarasikan dan menentukan data dan metode yang mengoperasikan/memanipulasi data tersebut. Sebuah kelas yang sederhana hanya berisi sebuah data dan metode. Sebagai contoh kita akan menghitung luas dari objek persegi panjang, maka dengan menggunakan diagram objek, akan dihasilkan bentuk diagram seperti di bawah ini. Kelas persegi l p instance variabel HitungLuas( ) instance metode 4 Objek Gambar 2.1 Diagram objek dan kelas persegi Mendeklarasikan kelas Sebuah kelas dideklarasikan dengan menggunakan kata kunci class. kelas ini merupakan objek template yang berisi spesifikasi umum dari suatu objek. Bentuk umum dari sintak class adalah sebagai berikut: class namakelas { tipe variable; //instance-variable1; namametode-1(parameter)// instance metode { //kode program } namametode-2(parameter)// instance metode { // kode program } } 5 Data atau variabel yang dideklarasikan dalam kelas disebut sebagai instance variables. Metode (methode) merupakan bagian dari kode program yang dibuat untuk melaksanakan tugas/fungsi tertentu. Mendeklarasikan sebuah objek Pada saat kita membuat sebuah kelas (objek template), maka kita juga membuat tipe data baru. Tipe ini bisa digunakan untuk mendeklarasikan objek sesungguhnya. Untuk menggunakan tipe variable ini kita harus: 1. Mendeklarasikan tipe variabel kelas 2. Membuat copy terhadap variable tersebut secara fisik, dengan menggunakan operator new. Operator ini secara dinamis mengalokasikan memori untuk objek dan membuat referensi ke objek Man. Perhatikan statemen berikut ini untuk mendeklarasikan objek. persegi persegipanjang1 = new persegi ( ); Mendeklarasikan metode Pada intinya sebuah kelas terdiri dari instance variabel dan metode (methode). Metode adalah merupakan bagian dari kode program yang dibuat untuk melaksanakan tugas/fungsi tertentu. Suatu metode yang tidak mengembalikan nilai harus bertipe void. Sedang metode yang mengembalikan nilai digunakan statemen return value, dimana value adalah nilai yang dikembalikan. Tipe Acces Modifier Tipe public Kata kunci public adalah sebuah access specifier/modifier, dimana mengijinkan programmer untuk mengontrol visibility dari variabel,metode dan class.. Ketika sebuah class member dimulai dengan public, maka member itu dapat diakses oleh kode diluar class dimana itu dideklarasikan. Tipe private Kebalikan dari public adalah private, dimana mencegah dari penggunaan oleh kode diluar kelasnya. Variable atau metode dengan tipe private tidak dapat diakses oleh objek lainnya. 6 Tipe static Manfaat dari penggunaan static adalah bahwa metode atau variable tersebut dapat diakses tanpa harus membuat sebuah instance dari sebuah kelas (objek). Metode static dapat diakses dengan menyebutkan nama kelas diikuti titik (.) lalu nama metode. Tipe non-static Tipe non-static hanya dapat dipanggil pada sebuah objek. Metode ini bersifat default, artinya jika sebuah metode tidak didefinisikan static, maka otomatis akan bersifat non-static. Sebagai contoh lihat potongan kode program berikut ini. persegipanjang.HitungLuas( ); objek metode bertipe non-static Metode HitungLuas( ) tersebut dipanggil pada sebuah objek persegipanjang, tidak bisa dipanggil tanpa melalui sebuah objek, seperti berikut ini. HitungLuas( ); IV. Langkah Kerja Jalankan JCreator, buat file baru java dan ketikkan kode program berikut : 1. Buat program menggunakan metode dan parameter. //DENGAN MENGGUNAKAN METODE DAN PARAMETER class Man { //claas hanya membuat objek template //instance variabel String nama; double gapok; int masakerja; //metode pengembalian nilai int hitung_gaji() { return gapok*masakerja; 7 } // Sets dimension Man void setDim(String nm, double g, int mk ) { Nama=nm; gapok=g; masakerja=Mk; } } class KaryawanMetodeParameter { public static void main(String[] args) { Man KaryawanKu = new Man();//membuat objek sesungguhnya Man KaryawanMu = new Man(); //membuat objek sesungguhnya double gaji; //nilai instance variabel-1 // penetapan nilai awal KaryawanKu.setDim("Eko,1000,10); gaji=KaryawanKu.hitung_gaji(); System.out.println("Karyawan Ku:"+KaryawanKu.nama); System.out.println("Gajinya:"+gaji); //nilai instance variabel-2 KaryawanMu.setDim("Dwi",2000,10); gaji=KaryawanMu.hitung_gaji(); System.out.println("Karyawan Mu:"+KaryawanMu.nama); System.out.println("Gajinya:"+gaji); } } 8 2. Sebagai contoh di bawah ini diberikan sebuah program menggunakan konsruktor tanpa parameter. class Man { String nama; double gapok; int masakerja; // konstruktor tanpa parameter Man() { System.out.println("Konstruksi dari Man"); nama="Eko"; gapok=1000; 9 masakerja=10.5; } double hitung_gaji(); { return gapok*masakerja; } } class KonstruktorKu { public static void main(String args[]) { Man KaryawanKu = new Man() Man KaryawanMu = new Man() double gaji; gaji = KaryawanKu.hitung_gaji(); System.out.println("Volume is " + gaji); gaji = KaryawanMu.hitung_gaji(); System.out.println("Volume is " + gaji); } } 10 3. Penerapan parameter ke konstruktor class Man { String nama; double gapok; int masakerja; Man(String nm, double g, int mk) // konstruktur Man. { nama=nm; gapok=g; masakerja=mk; } 11 // metode untuk menghitung gaji dan me-return double hitung_gaji() { return gapok*masakerja; } } class KonstruktorParameter { public static void main(String args[]) { // deklarasi, allokasi, dan inisialisasi objek Man KaryawanKu = new Man(“eko”,10000,10); Man KaryawanMu = new Man(“Dwi”,20000,10); double gaji; //ambil gaji dari KaryawanKu gaji = KaryawanKu.hitung_gaji(); System.out.println("Gaji Karyawanku " + gaji); // ambil gaji dari KaryawanMu gaji = KaryawanMu.hitung_gaji(); System.out.println("Gaji Karyawanmu" + gaji); } } 12 4. Program Simpan program Java di atas. 5. Eksekusi program Java Pertama dengan mengklik Tool  Compile Program Java. Lalu Tool  Menjalankan Program Java. 6. Buat analisa terhadap proses program tersebut sebelum dijalankan dan pada saat dijalankan terhadap parameter dan argument yang digunakan.. V. Pertanyaan 1. Jelaskan apa yang dimaksud dengan pemrograman berorientasi objek a. Pemrograman berorientasi objek (PBO) atau Object Oriented Programming (OOP) adalah merupakan inti (core) dari bahasa Java, yang bukan bersifat opsional. Konstruksi dari pemrograman Java selalu berbasis pada OOP. OOP 13 ini merupakan sebuah teknik pemrograman yang bertujuan untuk mengurangi kompleksitas suatu program, agar lebih sederhana dan mudah. 2. Sebutkan karakteristik pemrograman berorientasi objek a. Idetifikasi, yaitu bahwa data yang diukur mempunyai nilai/sifat tertentu secara individual, yang membedakan entitas satu dengan entitas lainnya disebut objek. Objek dalam OOP sering disebut sebagai instance dari sebuah kelas yang merupakan anggota dari kelas yang mempunyai sifat khusus sesuai dengan kelasnya. b. Klasifikasi, adalah suatu kegiatan mengumpulkan data (atribut/variable) dan metode/perilaku (operasi) dari suatu objek yang mempunyai struktur data yang sama ke dalam satu grup yang disebut kelas (class) c. Objek dan Kelas i. Objek adalah instant dari sebuah kelas (class) ii. Kelas terdiri dari variable/atribut dan fungsi/metode yang dibungkus dengan mekanisme pembungkusan kelas d. Enkapsulasi, adalah merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Enkapsulasi ini mencegah dan melindungi kode dan data dari akses dari kode lain, yaitu dengan cara penyembunyian informasi (information/data hiding), dimana variable/data tidak dapat diakses oleh metode/fungsi diluar kelas. Mekanisme utamanya setiap variable yang digunakan didalam kelas biasanya bersifat private. e. Penurunan Kelas (inheritance), adalah proses penciptaan kelas baru dari kelas sebelumnya, yang disebut kelas turunan (derived classs/child class) atau subkelas. Kelas turunan akan mewarisi semua data/atribut dan metode dari kelas induknya (base class/parent class/superclass). f. Polymorphism, Polymorphism (berasal dari bahasa yunani yang artinya adalah “macam-macam bentuk “many forms” adalah sebuah konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda. Metode overloading adalah salah satu cara penerapan dalam konsep polimorfisme. 3. Jelaskan apa yang dimaksud objek dan kelas dalam OOP. a. Objek, adalah instant dari sebuh kelas b. Kelas, Kelas terdiri dari variable/data dan metode yang dibungkus dengan mekanisme pembungkusan kelas. Ketika mendefinisikan kelas, berarti juga 14 mendeklarasikan dan menentukan data dan metode yang mengoperasikan/memanipulasi data tersebut. Sebuah kelas yang sederhana hanya berisi sebuah data dan metode. 4. Jelaskan apa yang dimaskud enheritance, polymorfism dan encapsulation a. Enheritance, adalah proses penciptaan kelas baru dari kelas sebelumnya, yang disebut kelas turunan (derived classs/child class) atau subkelas. Kelas turunan akan mewarisi semua data/atribut dan metode dari kelas induknya (base class/parent class/superclass). b. Polymorfism, Polymorphism (berasal dari bahasa yunani yang artinya adalah “macam-macam bentuk “many forms” adalah sebuah konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda. Metode overloading adalah salah satu cara penerapan dalam konsep polimorfisme. c. Encapsulation, adalah merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Enkapsulasi ini mencegah dan melindungi kode dan data dari akses dari kode lain, yaitu dengan cara penyembunyian informasi (information/data hiding), dimana variable/data tidak dapat diakses oleh metode/fungsi diluar kelas. Mekanisme utamanya setiap variable yang digunakan didalam kelas biasanya bersifat private. 5. Buat sebuah diagram objek untuk menjelaskan sifat inheritance dalam OOP Diagram objek yang menjelaskan sistem inheritance dalam OOP Super class Hewan Sub class Bertelur Ayam 6. Sebutkan dan jelaskan tipe acces modifier. a. Tipe public, Kata kunci public adalah sebuah access specifier/modifier, dimana mengijinkan programmer untuk mengontrol variabel,metode dan class.. Ketika sebuah visibility dari class member dimulai dengan public, maka member itu dapat diakses oleh kode diluar class dimana itu dideklarasikan. 15 b. Tipe private, Kebalikan dari public adalah private, dimana mencegah dari penggunaan oleh kode diluar kelasnya. Variable atau metode dengan tipe private tidak dapat diakses oleh objek lainnya. c. Tipe static, Manfaat dari penggunaan static adalah bahwa metode atau variable tersebut dapat diakses tanpa harus membuat sebuah instance dari sebuah kelas (objek). Metode static dapat diakses dengan menyebutkan nama kelas diikuti titik (.) lalu nama metode. d. Tipe non-static, Tipe non-static hanya dapat dipanggil pada sebuah objek. Metode ini bersifat default, artinya jika sebuah metode tidak didefinisikan static, maka otomatis akan bersifat non-static. 7. Sebuah sepeda motor, mempunyai kecepatan 50 Km per jam, dan konsumsi BBM yang digunakan 40 Km per liter. Jika sepeda motor tersebut digunakan 15 jam berapa jarak yang dapat ditempuh oleh kendaraan tersebut dan berapa liter BBM yang digunakan public class motor4 { public static void main(String[] args) { int kec , jarak , lama; float konbbm , bbm; kec = 50; bbm = 40; lama = 15; System.out.println("lama perjalanan yang digunakan sepeda motor = "+lama+" jam"); jarak = kec * lama ; konbbm = jarak / bbm; System.out.println("Jarak Yang ditempuh sepeda motor = "+jarak+" KM"); System.out.println("Konsumsi BBM sebesar = "+konbbm+" liter"); } } 16 8. Jelaskan tiga tahapan pelewatan nilai melalui parameter dalam metode inisialisasi variabel, membuat metode berparameter, pemanggilan metode berparameter. 9. Buat program untuk menghitung gaji karyawan, dimana gaji total= (gaji pokok * masakerja) + bonus. bonus dihitung dengan ketentuan, sebagai berikut:  pegawai Gol III bonus= 10% * gaji pokok  pegawai Gol II bonus= 15% * gaji pokok  pegawai Gol I bonus= 20% * gaji pokok class Golongan { 17 String nama; double gapok; int masakerja; double bonus; Golongan(String nm, double g, int mk, double bns) //Konstruktor Man { nama=nm; gapok=g; masakerja=mk; bonus=bns; } //metode untuk menghitung gaji dan me-return double hitung_gaji() { return (gapok*masakerja)+(gapok*bonus); } } class Soal9 { public static void main(String args[]) { //deklarasi, alokasi dan inisialisasi objek Golongan Gol1=new Golongan("Eko", 10000, 10, 0.2); Golongan Gol2=new Golongan("Dwi", 10000, 10, 0.15); Golongan Gol3=new Golongan("Tri", 10000, 10, 0.01); double gaji; //ambil gaji untuk golongan 1 gaji=Gol1.hitung_gaji(); System.out.println("Gaji Golongan I :"+gaji); //ambil gaji untuk golongan 2 gaji=Gol2.hitung_gaji(); System.out.println("Gaji Golongan II :"+gaji); 18 //ambil gaji untuk golongan 3 gaji=Gol3.hitung_gaji(); System.out.println("Gaji Golongan III :"+gaji); } } VI. Kesimpulan Pemrograman Berorientasi Objek (PBO) atau Object Oriented Programming (OOP) adalah merupakan inti (core) dari bahasa Java, yang bukan bersifat opsional. OOP sendiri merupakan sebuah teknik pemrograman yang bertujuan untuk mengurangi kompleksitas suatu program, agar lebih sederhana dan mudah. 19 Elemen dasar dari object-oriented programming adalah abstraksi (abstraction). Selain abstraksi ada beberapa metode untuk menentukan karakteritik dalam pendekatan berorientasi objek, yaitu: Identifikasi, Klasifikasi, Objek dan Kelas, Enkapsulasi (encapsulation), Penurunan Kelas (inheritance), Polymorphism, dan juga Kelas (class) dan Objek (object). 20

Judul: Program Studi Teknik Informatika Jurusan Teknik Elektro Politeknik Negeri Semarang 2013

Oleh: Bagus Dwipa

Ikuti kami