Anda di halaman 1dari 7

Laporan Praktikum Teknik Pemrograman : Inheritance

Nama : M. Imam Fauzan


NIM : 141524012

Deskripsi Kasus
Kasus yang saya adalah Member di Suatu tempat Kursus. Seorang member di
suatu tempat kursus umumnya memiliki nama, kode ruangan kursus, jadwal
kursus. Tempat kursus juga biasanya ada yang memberikan fasilitas konsumsi
kepada membernya.
Tempat kursus yang saya buat disini terdiri dari dua jenis member yaitu regular
dan premium. Member regular berhak mendapatkan kesempatan try out dalam
satu hari. Member premium memiliki keuntungan lain yaitu berhak mendapatkan
hari konsultasi, hari kursus tambahan , dan minuman sebagai pelengkap
konsumsi. Member premium tidak bisa mendapatkan kesempatan tryout.

Screenshoot dan Class Diagram

Gambar 1 Screenshoot Program

Gambar 2 Class Diagram

Source Code
using System;

using
using
using
using

System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace Inheritance_
{
class Program
{
static void Main(string[] args)
{
RegularMember Imam = new RegularMember("Imam", "A1101", "Roti Goreng",
"Senin", "Kamis");
Console.WriteLine("Nama : {0}\nKode Ruangan : {1} ", Imam.Name,Imam.Room);
Imam.displayJadwal();
Console.WriteLine("Konsumsi yang di dapat : {0}\n", Imam.getKonsumsi());
PremiumMember Fauzan = new PremiumMember("Fauzan", "A202", "Pizza",
"Selasa", "Sabtu", "Kamis", "Teh Botol");
Console.WriteLine("Nama : {0}\nKode Ruangan : {1} ", Fauzan.Name,
Fauzan.Room);
Fauzan.displayJadwal();
Console.WriteLine("Konsumsi yang di dapat : {0}", Fauzan.getKonsumsi());
Console.ReadKey();
}
}
}
Source Code 1 Main Program

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace Inheritance_
{
//base class
class CourseMember
{
protected string name;
protected string room;
protected string snack;
protected string day;
public CourseMember(string nama, string kodeRuangan, string makanan, string hari)
{
name = nama;
room = kodeRuangan;
snack = makanan;
day = hari;
}
public string Name
{
get { return name; }

set { name = value; }


}
public string Room
{
get { return room; }
set { room = value; }
}
public string Snack
{
get { return snack; }
set { snack = value; }
}
public string Day
{
get { return day; }
set { day= value; }
}
public virtual string getKonsumsi()
{ //virtual method
return Snack;
}
public virtual void displayJadwal()
{//virtual method
Console.WriteLine("Jadwal Kursus");
Console.WriteLine(day);
}

}
}
Source Code 2 Class CourseMember , base class

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace Inheritance_
{
class RegularMember : CourseMember
{
private string tryOutDay;
public RegularMember(string nama, string kodeRuangan, string makanan, string
hari,string tryout) : base(nama,kodeRuangan,makanan,hari)
{
tryOutDay = tryout;
}
public string tryout

{
get { return tryOutDay ;}
set { tryOutDay = value ; }
}
public override void displayJadwal()
{//override method
Console.WriteLine("Jadwal Kursus");
Console.WriteLine("Hari Kursus : {0}",day);
Console.WriteLine("Hari Try Out : {0}", tryout);
}
}
}
Source Code 3 Class RegularMember : derrived class

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace Inheritance_
{
class PremiumMember : CourseMember
{
private string konsultasi;
private string tambahan;
private string drink;
public PremiumMember(string nama, string kodeRuangan, string makanan, string hari,
string konsul, string haritambahan, string minuman) :
base(nama, kodeRuangan, makanan, hari)
{
konsultasi = konsul;
tambahan = haritambahan;
drink = minuman;
}
public string Konsultasi
{
get { return konsultasi; }
set { konsultasi = value; }
}
public string Tambahan
{
get { return tambahan; }
set { tambahan = value; }
}
public string Drink
{
get { return drink; }
set { drink = value; }
}

public override void displayJadwal()


{//override method
Console.WriteLine("Jadwal Kursus");
Console.WriteLine("Hari Kursus : {0} ", day);
Console.WriteLine("Hari Tambahan : {0} ", tambahan);
Console.WriteLine("Hari Konsultasi : {0} ", konsultasi);
}
public override string getKonsumsi()
{//override method
return snack+","+drink;
}

}
}
Source Code 4 Class Premium Member : derrived class

Penjelasan Penerapan Inheritance


Base Class
Base class pada program yang saya buat terdapat pada class CourseMember
seperti source code yang sudah dicantumkan di atas

Derivved Class
Derivved class teridiri dari dua yaitu :

RegularMember
PremiumMember

Virtual Method
Di dalam base class terdapat 2 virtual method yaitu :

getKonsumsi()
displayJadwal()
public virtual string getKonsumsi()
{
return Snack;
}
public virtual void displayJadwal()
{
Console.WriteLine("Jadwal Kursus");
Console.WriteLine(day);
}
Source Code 5 Virtual Method

Kedua method diatas dijadikan sebagai virtual karena property konsumsi dan
jadwal yang dihasilkan oleh derrived class nantinya akan berbeda.

Override Method
Terdapat override method di masing-masing derrived class, diantaranya :

method displayJadwal di Class RegularMember

public override void displayJadwal()


{//override method
Console.WriteLine("Jadwal Kursus");
Console.WriteLine("Hari Kursus : {0}",day);
Console.WriteLine("Hari Try Out : {0}", tryout);
}
Source Code 6 Override method dalam class RegularMember

Method displayJadwal dijadikan sebagai override method di dalam class


RegularMember karena jadwal yang dihasilkan oleh class ini ditambah
oleh property tryout.

method displayJadwal di Class Premium Member


public override void displayJadwal()
{//override method
Console.WriteLine("Jadwal Kursus");
Console.WriteLine("Hari Kursus : {0} ", day);
Console.WriteLine("Hari Tambahan : {0} ", tambahan);
Console.WriteLine("Hari Konsultasi : {0} ", konsultasi);
}
Source Code 7 Override Method di Class PremiumMember

Method displayJadwal dijadikan sebagai override method di dalam class


PremiumMember karena jadwal yang dihasilkan oleh class ini ditambah
oleh property tambahan dan konsultasi.

method getKonsumsi di Class PremiumMember


public override string getKonsumsi()
{//override method
return snack+","+drink;
}
Source Code 8 Override method di class PremiumMember

Method getKonsumsi dijadikan sebagai override method di dalam class


PremiumMember karena
konsumsi
yang dihasilkan oleh class ini
ditambah oleh property drink.

Anda mungkin juga menyukai