You are on page 1of 7

LAPORAN RENCANA ALGORITMA DAN PEMROGRAMAN II

NAMA NIM MODUL

: ALEXANDRO EKA PUTRA : DBC 113 059 : III

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA 2014

MODUL IV RELASI KELAS I. TUJUAN Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu membuat berbagai jenis antara kelas. II. DASAR TEORI Jenis Relasi antar kelas terdiri dari pewarisan, agregasi, asosiasi. Pewarisan merupakan hubungan antar satu kelas dengan kelas yang lain dalam suatu hirarki kelas induk dan kelas turunan. Superclass (kelas dasar atau kelas induk) merupakan kelas yang lebih general dalam relasi is-a. Subclass (kelas turunan atau kelas anak) merupakan kelas yang lebih spesifik dalam relasi is-a. Objek yang dikelompokkan dalam subclass memiliki atribut dan prilaku kelas induk, dan juga attribute dan prilaku tambahan. Kita mengatakan subclass mewarisi suatu superclass (atau juga bisa dikatakan sebuah subclass turunan dari suatu superclass). Agregasi merupakan hubungan antar kelas yang menyatakan suatu kelas merupakan bagian dari kelas yang lain atau hubungan antar kelas yang menyatakan suatu kelas memiliki kelas lain [sebagai attribute]. Agregasi merupakan relasi has a. Contoh: Mobil memiliki mesin Fakultas terdiri atas jurusan Rumah memiliki dapur

Mobil, Fakultas, dan Rumah dinyatakan sebagai kelas agregat. Mesin, Jurusan, dan Dapur ,merupakan kelas penyusun. Kardinalitas menyatakan jumlah objek penyusun yang terlibat dalam pembentukan relasi agregasi. Suatu kelas Agregat dibentuk dari beberapa (disimbolkan dengan*) objek Kelas Penyusun.

Asosiasi menggambarkan hubungan struktur antar kelas. Setiap kelas memiliki kedudukan yang sama (tidak merupakan bagian dari kelas lain). Pada saat merancang relasi antar kelas, ada dua hal yang perlu diperhatikan yaitu beberapa objek yang terlibat dari masing-masing kelas yang ber-relasi dan apakah relasi besifat wajib (mandatory) atau opsional. III. LANGKAH KERJA 1. Buatlah program seperti di bawah ini! agregasi.cpp #include <iostream.h> #include <stdlib.h>

class Titik { private: float sbX, sbY; public: Titik() { sbX = sbY = 0.0f; }

Titik(float x, float y) { sbX = x; sbY = y; }

void posisiTitik() {

cout<< "[" << sbX << ", " << sbY << "]" << endl; } };

class Lingkaran { private: float jejari; Titik titikPusat; public: Lingkaran(float j) { jejari = j; } Lingkaran(float x, float y, float j):titikPusat(x,y) { jejari = j; } void cetakLingkaran() { cout<< "Titik pusat : " ; titikPusat.posisiTitik(); cout<< "Jari-jari : " << jejari << endl; } };

int main() {

Lingkaran L1(3.0); Lingkaran L2(3.0, 4.0, 5.0); L1.cetakLingkaran(); L2.cetakLingkaran(); } 2. Buatlah program seperti di bawah ini! asosiasi.cpp #include <iostream.h> #include <stdlib.h>

class MataKuliah { private: char* kodeMK; char* namaMK; int sksMK; public: MataKuliah(char* kode, char* nm, int sks) { kodeMK = kode; namaMK = nm; sksMK = sks; }

void cetakMK() { cout<< kodeMK << " : " << namaMK << " : " << sksMK

<<endl; } };

class Dosen { private: char* NPP; char* Nama; MataKuliah* mk; int indeks;

public: Dosen(char* noPeg, char* nm) { NPP = noPeg; Nama = nm; indeks = 0; } void tambahMK (MataKuliah matakuliah) { mk[indeks] = matakuliah; indeks++; } void cetakInformasi() { cout<< Nama << " Mengajar : " << endl;

for (int i=0; i<5; i++) mk[i].cetakMK(); } };

int main() { Dosen dsn("P001", "Steve Owen"); MataKuliah mk1("MK001", "PBO", 3); MataKuliah mk2("MK002", "Struktur Data", 3); MataKuliah mk3("MK003", "R Perangkat Lunak", 3); MataKuliah mk4("MK004", "Analisis Algoritma", 2); MataKuliah mk5("MK005", "Sistem Operasi", 3);

dsn.tambahMK(mk1); dsn.tambahMK(mk2); dsn.tambahMK(mk3); dsn.tambahMK(mk4); dsn.tambahMK(mk5); dsn.cetakInformasi(); }

You might also like