Top Banner

of 21

Modul Prak Tik Ump Bo

Oct 15, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • MODUL PRAKTIKUM

    PEMROGRAMAN BERORIENTASI OBJEK

    EK 3212

    Tim Penyusun:

    Heri Wijayanto,ST., MT. NIP: 19750612 2000 03 1001

    I.B.K. Widiartha, S.T., M.T. NIP: 19700514 1999 03 1002

    Ir. Sri Endang Anjarwani, M.Kom NIP: 19660403 2006 04 2001

    Budi Irmawati, S.Kom., M.T. NIP: 19721019 1999 03 2 001

    L a b o r a t o r i u m K o m p u t e r

    J u r u s a n T e k n i k E l e k t r o

    F a k u l t a s T e k n i k

    Universitas Mataram

    2 0 1 2

  • Modul Praktikum Pemrograman Berorientasi Objek 2

    Ketentuan Umum

    Praktikum ini merupakan matakuliah wajib untuk Mahasiswa Jurusan Teknik

    Elektro konsentrasi komputer informatika.

    Praktikum ini merupakan kelanjutan dari matakuliah Pemrograman Berbasis

    Obyek (PBO) dengan kode matakuliah EK3105 dengan bobot 2 SKS.

    Sehingga tiap praktikan diwajibkan telah mengambil matakuliah PBO

    tersebut.

    Bahasa pemrograman yang digunakan dalam praktikum ini adalah bahasa

    pemrograman JAVA.

    Tidak diperkenankan menggunakan IDE visual seperti Netbeans.

    Setiap praktikan membuat program dan laporan sendiri

  • Modul Praktikum Pemrograman Berorientasi Objek 3

    MODUL 1

    CLASS dan OBJECT

    1. TUJUAN

    1. Mahasiswa dapat mendeklarasikan struktur class dalam java.

    2. Mahasiswa dapat membedakan pemrograman terstruktur dan berbasis

    obyek. Tergantung pada cara pandang permasalahan dari pemrogram.

    3. Mahasiswa mengetahui cara deklarasi, instansiasi inisialisasi dan

    mengakses class.

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Apakah perbedaan antara pemrograman terstruktur dan berbasis

    obyek?

    Apakah yang dimaksud dengan obyek dalam dunia pemrograman?

    Apakah yang dimaksud dengan class?

    Bagaimana membuat sebuah class?

    Bagaimana menggunakan sebuah obyek?

    Bagaimana mendeklarasikan obyek?

    Bagaimana menginstasiasi obyek?

    Apa yang terjadi dalam memori komputer setelah obyek diinstasiasi?

    Sebuatkan dua langkah cara menginisialisasi obyek!

    Bagaimana menggunakan method/fungsi sebuah obyek?

    Bagaimana mengakses data dari sebuah obyek?

    3. TUGAS PENDAHULUAN

    Melakukan installasi bahasa pemrograman Java.

    Mengetahui lokasi download master JDK

    Mengetahui setting path aplikasi JDK

  • Modul Praktikum Pemrograman Berorientasi Objek 4

    Kenali lingkungan pengembangan aplikasi dalam bahasa Java.

    Membuat source code program dalam java

    Mengkompilasi program

    Menjalankan program

    Melakukan debugging

    4. LANGKAH KERJA

    1. Buat program mencari luas dan keliling persegi, segitiga, dan

    lingkaran dalam bentuk terstruktur.

    2. Buatlah sebuah obyek penghitung luas dan keliling seperti langkah 1

    tetapi dengan paradigma obyek.

    3. Bandingkan antara pemrograman tersetruktur dengan yang berbasis

    obyek

    4. Cetak source code dan hasil running program dalam modul ini.

    5. Buat analisa hasil praktikum

    6. Rumuskan kesimpulan

  • Modul Praktikum Pemrograman Berorientasi Objek 5

    MODUL 2

    METHOD dan DATA

    1. TUJUAN

    1. Mahasiswa memahami penggunaan method dan data dalam sebuah

    class.

    2. Mahasiswa memahami pembuatan berbagai variasi bentuk method

    3. Mahasiswa memahami berbagai tipe data yang didukung

    4. Mahasiswa dapat membedakan antara obyek dan variabel primitive

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Sebutkan beberapa data primitive?

    Bagaimana membuat sebuah method?

    Bagaimana memasukkan argument dalam sebuah method?

    Bagaimana mengakses return value dari sebuah method?

    Jelaskan sebuah obyek dapat juga dikatakan sebagai sebuah tipe data?

    Bagaimana mengakses method atau data dalam satu class?

    Bagaimana mengakses method atau data dari class berbeda?

    3. TUGAS PENDAHULUAN

    Buatlah sebuah class yang berisi

    Penggunaan tipe-tipe data primitive

    Method-method sebagai berikut :

    o void namaMethod();

    o int namaMethod();

    o void namaMethod(char c);

    o float namaMethod(int a, int b);

  • Modul Praktikum Pemrograman Berorientasi Objek 6

    4. LANGKAH KERJA

    1. Sebuah program bernama translator memiliki berbagai fungsi untuk

    menterjemahkan bahasa Ingris ke bahasa Indonesia, atau sebaliknya.

    2. Rencanakan beberapa obyek dalam program tersebut dengan data dan

    fungsi-fungsinya menggunakan UML. (Notasi terlampir dan buat

    program yang sederhana saja)

    3. Buatlah programnya, lakukan kompilasi

    4. Cetak sorce code dan hasil running program dalam modul ini.

    5. Buat analisa hasil praktikum.

    6. Rumuskan kesimpulan.

  • Modul Praktikum Pemrograman Berorientasi Objek 7

    MODUL 3

    CONSTRUCTOR

    1. TUJUAN

    1. Mahasiswa memahami penggunaan konstruktor dalam OOP.

    2. Mahasiswa memahami penggunaan overloading

    3. Mahasiswa memahami penggunaan overloading konstruktor

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Apakah yang dimaksud dengan constructor?

    Apakah manfaat dari constructor dalam sebuah class?

    Bagaimana membuat contruktor?

    Apabila sebuah class tidak dituliskan constructornya, apa yang terjadi?

    Apakah perbedaan constructor dengan method biasa dalam sebuah

    class?

    .

    3. TUGAS PENDAHULUAN

    Buatlah sebuah class dengan berbagai bentuk constructor.

    class X{

    X(){ }

    X(int a){}

    .

    Gunakan masing-masing constructor tersebut dan bandingkan

    perbedaannya.

    4. LANGKAH KERJA

    1. Buatlah Obyek Mahasiswa. Obyek mahasiswa tersebut oleh obyek

    yang lain dapat dikonstruksi secara default (tanpa nama dan tanpa

    nim), tambahkan beberapa konstruktor lain dari obyek mahasiswa ini.

    2. Buat Obyek Matakuliah dengan berbagai konstruktornya.

  • Modul Praktikum Pemrograman Berorientasi Objek 8

    3. Buatlah program untuk Instansiasi beberapa 10 obyek mahasiswa,

    setiap mahasiswa menginstansiasi 10 obyek matakuliah.

    Kuliah k1 = new Kuliah(PBO);

    Mahasiswa x1 = new Mahasiswa(nim,nama,k1);

    4. Lipatgandakan jumlah obyek yang diinstansiasi dari 10 mahasiswa

    menjadi 20, 40, 80, 160 dst. Lakukan juga langkah ini untuk

    matakuliah. Sampai memori komputer overload (Gunakan

    perulangan).

    5. Cetak hasil running program.

    6. Cetak sorce code dan hasil running program dalam modul ini.

    7. Konstruksikan sebuah class yang terdiri dari:

    a. variabel : String nama

    b. fungsi : cetakNama()

    setNama()

    Bentuk sebuah objek A dari class tersebut dan tentukan nilai variabel

    nama.

    Bentuk sebuah objek B dari class yang sama, kemudian buat objek

    tersebut sama dengan objek A.

    Rubah nilai variabel nama pada objek B, kemudian tampilkan nilai

    variabel nama pada objek A.

    8. Jelaskan apa yang terjadi dalam memori.

    9. Rumuskan kesimpulan

  • Modul Praktikum Pemrograman Berorientasi Objek 9

    MODUL 4

    OVERLOADING

    1. TUJUAN

    1. Mahasiswa memahami penggunaan overloading

    2. Mahasiswa memahami penggunaan overloading konstruktor

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Apakah yang dimaksud dengan overloading?

    Apakah manfaat overloading?

    Sebutkan contoh penggunaan overloading?

    Sebutkan contoh penggunaan overloading constructor?.

    3. TUGAS PENDAHULUAN

    Buatlah sebuah obyek bernama komparator

    Buatlah obyek kubus

    Buatlah obyek lingkaran

    Dalam class komparator buat beberapa method yang overloading, class

    ini dapat membandingkan String, integer, char, Luas lingkaran, isi

    kubus, dan lain-lain.

    4. LANGKAH KERJA

    1. Setelah tugas pendahuluan berjalan dengan baik, Uji method-method

    overloading tersebut dalam sebuah program.

    2. Bandingkan program diatas dengan sebuah program yang tidak

    menggunakan overloading.

    3. Bandingkan program pada tugas pendahuluan dengan overloading

    yang dilakukan di constructor/overloading constructor.

    4. Rencanakan sebuah obyek yang memperlihatkan penggunaan

    oveloading konstruktor dan overloading method secara tepat

  • Modul Praktikum Pemrograman Berorientasi Objek 10

    5. Uji jalannya program pada langkah kempat

    6. Buatlah beberapa alasan yang mendukung rencana dari langkah

    percobaan yang keempat diatas.

    7. Cetak sorce code dan hasil running program dalam modul ini.

    8. Buat analisa hasil praktikum secara keseluruhan dalam modul

    overloading ini.

    9. Rumuskan kesimpulan

  • Modul Praktikum Pemrograman Berorientasi Objek 11

    MODUL 5

    ENCAPSULATION

    1. TUJUAN

    1. Mahasiswa dapat memahami konsep pemodulan, penyembunyian

    kerumitan dan implementasinya.

    2. Mahasiswa dapat menerapkan berbagai modifier encapsulation secara

    tepat dalam program.

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Apakah yang dimaksud dengan encapsulation?

    Menggapa diperlukan encapsulation?

    Sebutkan dan jelaskan modifier yang dipakai dalam encapsulation

    yaitu public, default, protected dan private!

    Apakah pengaruhnya dalam stabilitas program jika semua data dan

    method di-public-kan?

    Apakah pengaruhnya dalam keamanan program jika semua data dan

    method di-public-kan?

    Jelaskan manfaat encapsulation ini dalam hal mempermudah

    pemrograman!

    3. TUGAS PENDAHULUAN

    1. Buatlah sebuah class untuk menggambarkan obyek pembanding

    seperti pada modul overloading.

    2. Gunakan modifier encapsulation yang tepat dalam percobaan kali ini

    setepat mungkin.

    4. LANGKAH KERJA

  • Modul Praktikum Pemrograman Berorientasi Objek 12

    1. Uji hasil program yang dibuat dalam tugas pendahuluan diatas

    sehingga memperlihatkan fungsi encapsulation.

    2. Dari contoh program diatas jelaskan menggapa aspek kemudahan,

    keamanan, stabilitas program dapat dicapai!

    3. Contohkan efek yang terjadi dalam sebuah program dan running

    program jika satu atau dua method atau data dari percobaan ini

    digunakan modifier yang tidak tepat.

    4. Cetak source code hasil running program.

    5. Buat analisa hasil praktikum.

    6. Rumuskan kesimpulan.

  • Modul Praktikum Pemrograman Berorientasi Objek 13

    MODUL 6

    INHERITANCE dan OVERRIDING

    1. TUJUAN

    1. Mahasiswa memahami dan bisa mengimplementasikan konsep

    penurunan sifat.

    2. Mahasiswa memahami dan bisa mengimplementasikan secara tepat

    overriding.

    3. Mahasisawa memahami perbedaan overriding dan overloading?

    4. Mahasiswa memahami penggunaan abstract class.

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Apakah manfaat penurunan/inheritance?

    Bagaimana melakukan penuruanan?

    Apakah yang dimaksud dengan overriding?

    Apakah perbedaan overriding dengan overloading?

    Jelaskan menggapa penurunan ini dapat mempermdah pemrograman?

    Apakah yang dimaksud dengan abstract class?

    Apakah manfaat abstract class?

    Apakah perbeaan abstract ckass dengan class biasa?

    3. TUGAS PENDAHULUAN

    1. Turunkan class translator yang dibuat pada percobaan modul ke 2

    sehingga memiliki kemampuan untuk membandingkan dua buah kata.

    2. Buat Overriding method dalam class turunan translator ini.

    3. Ubah struktur class dengan membuat class abstract diatas class

    translator

  • Modul Praktikum Pemrograman Berorientasi Objek 14

    4. Turunkan class abstract tersebut menjadi translator bahasa yang lain,

    misalnya bahasa Sasak-Indonesia atau yang lain

    4. LANGKAH KERJA

    1. Buat bagan struktur class dalam UML

    2. Ujilah hasil percobaan pada tugas pendahuluan.

    3. Cetak source code dan hasil running program.

    4. Buat analisa hasil praktikum.

    5. Rumuskan kesimpulan.

  • Modul Praktikum Pemrograman Berorientasi Objek 15

    MODUL 7

    POLIMORFISME

    1. TUJUAN

    1. Mahasiswa paham konsep polymorphisme dalam OOP dan bisa

    mengimplementasikannya.

    2. Mahasiswa dapat menerapkan polimorphisme dalam pemrograman

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Apakah yang dimaksud dengan polimorphisme?

    Jelaskan manfaat dari polimorphisme?

    Apakah yang dimaksud dengan casting?

    Berilah beberapa contoh polimorphisme dalam library Java.

    3. TUGAS PENDAHULUAN

    Buatlah class-class abstract dalam UML:

    Hewan, Orang, Kendaraan.

    Hewan diturunkan menjadi : Kucing, Ikan dan Burung

    Orang diturunkan menjadi : Koki dan Pedagang

    Kendaraan dirutunkan menjadi : Bus, Cidomo, Sepeda

    Hubugan:

    Koki bisa memasak Hewan

    Pedangang bisa menjual Hewan

    Pedaganng bisa menjual Kendaraan

    4. LANGKAH KERJA

    1. Buatlah program yang mengimplementasikan permasalahan seperti

    dalam Tugas Pendahuluan.

    2. Lakukan proses casting sehingga terlihat konsep polimorphisme dalam

    program anda, sebelum dimasak oleh Koki berbagai hewan di casting

  • Modul Praktikum Pemrograman Berorientasi Objek 16

    dahulu menjadi class Hewan. Lakukan langkah ini untuk Kendaraan

    yang akan dijual oleh Pedagang

    3. Cetak source code dan hasil running program.

    4. Buat analisa hasil praktikum.

    5. Rumuskan kesimpulan.

  • Modul Praktikum Pemrograman Berorientasi Objek 17

    MODUL 8

    MULTI INHERITANCE

    1. TUJUAN

    Mahasiswa memahami dan bisa mengimplementasikan konsep penurunan

    sifat dari beberapa class induk dengan menggunakan interface.

    2. DASAR TEORI

    Jawablah pertanyaan-pertanyaan dibawah ini sebagai dasar teori yang

    dimasukkan dalam laporan.

    Bagaimana mengaplikasikan multipleinheritance dalam java

    Kenapa penurunan dari banyak class sebenarnya harus dihindari,

    kalaupun harus dilakukan dalam Java harus menggunakan interface,

    jelaskan?

    Apakah perbedaan anatara interfece dengan class abstract

    Berilah/carilah contoh penggunaan interface dalam library Java API!

    3. TUGAS PENDAHULUAN

    1. Modifikasi program dalam modul 7 dengan menggunakan interface

    2. Buat rancangan anda dalam UML

    4. LANGKAH KERJA

    1. Buatlah program hasil rancangan anda di Tugas Pendahuluan modul

    ini

    2. Uji Program.

    3. Cetak source code dan hasil running program.

    4. Buatlah program lain yang memanfaatkan interface seperti dalam tugas

    pendahuluan untuk implementasi yang berbeda.

    5. Buat analisa hasil praktikum.

    6. Rumuskan kesimpulan.

  • Modul Praktikum Pemrograman Berorientasi Objek 18

    LAMPIRAN INSTALLASI JAVA DEVELOPMENT KIT

  • Modul Praktikum Pemrograman Berorientasi Objek 19

  • Modul Praktikum Pemrograman Berorientasi Objek 20

    LAMPIRAN II

    Penggambaran class dengan UML (Unified Modeling Language)

    Dalam subbab ini hanya akan menjelaskan class diagram dan hanya yang

    diperlukan saja. Berbagai symbol yang digunakan adalah sebagai berikut:

    Gambar L2.1 Notasi Class

    Gambar L2.2 Pewarisan

    Nama_Class

    NamaAtribut1 : TipeData1=NilaiDefault1 NamaAtribut2 : TipeData2=NilaiDefault2 NamaAtributN : TipeData1=NilaiDefaultN

    NamaMethod1(DaftarArgumen1) : TipeHasil1 NamaMethod2(DaftarArgumen2) : TipeHasil2

    NamaMethodN(DaftarArgumenN) : TipeHasilN

    Responsibilities

    Hewan

    Sapi Ayam

  • Modul Praktikum Pemrograman Berorientasi Objek 21

    Gambar L2.3 Asosiasi

    Hewan Koki memasak

    Hewan Pedagang Menjual