Anda di halaman 1dari 11

Pemrograman Berorientasi Obyek (B)

LAB03: Kelas dan Objek


Dosen: Adhatus Solichah A.
Durasi sesi lab: 100 menit
Tujuan:
- Mahasiswa memahami konsep kelas dan objek.
- Mahasiswa mampu membuat implementasi struktur kelas, atribut (data), fungsi (setter,
getter), konstruktor, destruktor dan interface dalam bahasa C++
Prasyarat:
LAB01, LAB02
Software yang diperlukan:
IDE Dev-C++.
Latihan:
Latihan 1: Mendefinisikan Kelas
Latihan 2: Membuat fungsi: Setter dan Getter
Latihan 3: Konstruktor
Latihan 4: Membuat Kelas di File Terpisah
Latihan 5: Memisahkan Interface dengan Implementasi
Latihan 6: Destruktor
Soal
Mahasiswa sangat dianjurkan untuk mengetik kode program sendiri agar lebih paham.

Sesi Lab 3: Kelas dan Objek

Latihan 1: Mendefinisikan Kelas


1.
2.
3.
4.
5.

Buatlah Project baru dengan memilih menu File| New | Project atau dengan
.
Isi nama project dengan Lab03_01.
Pilih Console Application | OK
Buat file C++ baru (.cpp) dan beri nama Lab03_01.cpp.
Setelah code editor muncul. Tulis kode program pada Gambar 1 pada editor Anda.

Gambar 1. Kode program Lab03_01.cpp

6. Compile dan eksekusi program (F9).


7. Apakah perbedaan objek c1 dan c2? Observasilah mengapa output program demikian?

Sesi Lab 3: Kelas dan Objek

Latihan 2: Membuat fungsi: Setter dan Getter


1. Buat project baru dengan nama Lab03_02.
2. Buat source file dengan nama Lab03_02.cpp.
3. Setelah code editor muncul. Tulis kode program pada Gambar 2 yang berisi struktur
kelas Cylinder dengan tambahan fungsi setter dan getter.

Gambar 2. Kode program Kelas Cylinder Lab03_02.cpp

4. Tambahkan fungsi main pada Gambar 3 setelah struktur Kelas Cylinder.

Sesi Lab 3: Kelas dan Objek

Gambar 3. Kode program main Lab03_02.cpp

5. Compile dan eksekusi program (F9).


6. Observasi program tsb, apakah perbedaan objek c1 dan c2?.

Sesi Lab 3: Kelas dan Objek

Latihan 3: Konstruktor
1. Buat project baru dengan nama Lab03_03.
2. Buat source file dengan nama Lab03_03.cpp.
3. Setelah code editor muncul. Tulis kode program berikut pada editor Anda

Sesi Lab 3: Kelas dan Objek

4. Compile dan eksekusi program (F9).


5. Observasi program tsb, proses instansiasi objek c1 dan c2 menggunakan konstruktor yang
mana?

Sesi Lab 3: Kelas dan Objek

Latihan 4: Membuat Kelas di File Terpisah


1. Buat project baru dengan nama Lab03_04.
2. Buat sebuah header file dengan namaCylinder.h.
3. Setelah editor Cylinder.h muncul. Tulis preprocessor wrapper berikut pada editor Anda.

4. Tambahkan struktur Kelas Cylinder (dari latihan Lab03_03) ke dalam preprocessor wrapper
di atas (Letakkan kode program setelah #define dan sebelum #endif).
5. Buat source file baru, dan beri nama main.cpp.
6. Isikan kode program pada Gambar 4 ke dalam file main.cpp.

Gambar 4. Kode program main.cpp

7.
8.
9.
10.

Compile dan eksekusi program (F9).


Apakah fungsi preprocessor wrapper pada program di atas?
Apakah perbedaan include pustaka menggunakan < > dengan menggunakan ?
Observasi program tsb, lakukan eksperimen dengan menggunakan kode program anda
sendiri.

Sesi Lab 3: Kelas dan Objek

Latihan 5: Memisahkan Interface dengan Implementasi


1. Buat project baru dengan nama Lab03_05.
2. Buat sebuah header file dengan namaCylinder.h.
3. Tulis Struktur Kelas Cylinder ke dalam file Cylinder.h (Berisi deklarasi variable dan
deklarasi fungsi-fungsi yang ada dalam kelas).

Gambar 5. Struktur Kelas Cylinder

4. Buat sebuah source file dengan namaCylinder.cpp.


5. Tuliskan kode program berikut ke dalam file Cylinder.cpp

Sesi Lab 3: Kelas dan Objek

6. Compile dan eksekusi program (F9).


7. Observasi program tsb, lakukan eksperimen dengan menggunakan kode program anda
sendiri.

Sesi Lab 3: Kelas dan Objek

Latihan 6: Destruktor
1. Buat project baru dengan nama Lab03_06.
2. Buat source file dengan nama Lab03_06.cpp.
3. Setelah code editor muncul. Tulis kode program berikut pada editor Anda.

Gambar 6. Kode program Lab03_06.cpp

4. Compile dan eksekusi program (F9).


5. Observasi kode program Anda dan cobalah bereksperimen dengan kode program Anda.

Sesi Lab 3: Kelas dan Objek

10

Soal
Sebuah robot memiliki nama, dan lokasi dia berada. Robot memiliki kemampuan untuk
bergerak. Buatlah implementasi Kelas Robot dengan rincian sbb:

Atribut (private): nama (string), koordinat_x (int), koordinat_y (int).


Fungsi (public): Bergerak, Set Nama
Setter (public): Mengeset posisi robot (koordinat x dan y).
Getter (public): Menampilkan posisi robot saat ini.
Konstruktor: Mengeset nama dan lokasi. Lokasi awal robot (koordinat x dan y) tidak
boleh negatif, default: berada pada koordinat x=0 dan koordinat y=0.
Pisahkan implementasi dengan interface (buat Robot.h dan Robot.cpp).
Gunakan preprocessor wrapper dalam library Robot (Robot.h).

Buatlah dua buat objek dan tunjukkan posisi awal dan posisi akhir setelah robot bergerak.
Simpan dalam project: Lab03_robot.

Petunjuk Pengumpulan Sesi Lab.

Kompres semua source file (.cpp), project (.dev), dan library (.h) (.exe tidak perlu
dikumpulkan) pada latihan 1 s.d. 6 dan soal dalam bentuk zip. Beri nama
LAB_kelas_[sesi lab ke]_NRP. Contoh LAB_B_3_5112100123.
Perhatian: penamaan file tidak sesuai format TIDAK DINILAI. Harap diperhatikan.
Upload jawaban sesi lab ke: elearning (PBO B).
Sistem elearning disetting hanya sekali upload. Pastikan semua file benar dan
lengkap.
Paling lambat: Minggu, 24 November 2013 pukul 23.55.

Stay Calm and Enjoy

Sesi Lab 3: Kelas dan Objek

11

Anda mungkin juga menyukai