Materi Minggu #6 Pemrograman Objek
March 7, 2012 in Genap 2011-2012, Pemrograman IV
Inheritance
Inheritance adalah adalah kemampuan sebuah class dalam pembuatan kelas yang lain dengan membawa property atau method yang ada didalamnya. Misalnya class Manager dibuat dari class Pegawai, atau class Kendaraan dapat membuat class yang lain misalnya class RodaEmpat.Berikut ini adalah latihan dalam proses inheritance dari class Pegawai yang terdiri dari class Pegawai_Kontrak.
Dalam class Pegawai terdiri dari Property – Nama, Jabatan
Dalam class Pegawai_Kontrak property yang dimiliki sama dengan class Pegawai tetapi terdapat tambahan property yaitu Masa Kontrak. Berikut ini adalah contoh program tentang inheritance pada class.
using System;
using System.Collections.Generic; using System.Linq; using System.Text; namespace Praktikum_Inheritance { class Pegawai { private string namaku = “”; private string jabatanku = “”; public string Nama { get { return namaku; } set { namaku = value; } } public string Jabatan { get { return jabatanku; } set { jabatanku = value; } } public override string ToString() { return “Nama : ” + Nama + ” ; Jabatan: ” + Jabatan; } static void Main(string[] args) { Pegawai peg = new Pegawai(); peg.Nama = “Dani”; peg.Jabatan = “Supervisor”; Console.WriteLine(“Pegawawi Baru –> {0}”, peg); Console.ReadLine(); } class Pegawai_Kontrak : Pegawai { private int masa_kontrakku = 0; public int Masa_Kontrak { get { return masa_kontrakku; } set { masa_kontrakku = value; } } public override string ToString() { return “Nama : ” + Nama + ” ; Jabatan: ” + Jabatan + ” ; Masa Kontrak: ” + Masa_Kontrak + ” tahun”; } static void Main(string[] args) { Pegawai_Kontrak peg = new Pegawai_Kontrak(); peg.Nama = “Dani”; peg.Jabatan = “Supervisor”; peg.Masa_Kontrak = 2; Console.WriteLine(“Pegawawi Kontrak Baru –> {0}”, peg); Console.ReadLine(); } } } } |
Latihan:
- Class Guru mempunyai class inheritance yaitu WaliKelas dan GuruMP. Class Guru mempunyai property sebagai berikut:
- Nama
- Jabatan à berisi data WaliKelas atau GuruMP
- Status à berisi data Tetap atau Honorer
- Class WaliKelas mempunyai property tambahan yaitu KelasWali sedangkan class GuruMP mempunyai Property tambahan yaitu MataPelajaran
- Buatlah program yang berisi class Guru, WaliKelas dan GuruMP
Tugas Pra UTS: (dikumpulkan dan dipresentasikan pada minggu ke 7 )
Buatlah program yang diminta sesuai dengan uraian kasus berikut:Sebuah perusahaam yang bergerak dibidang perdagangan mempunyai pegawai yang berstatus kontrak dan tetap. Adapun struktur organisasi dari perusahaan tersebut terdiri dari:
- Direktur
- Manager Pemasaran
- Manager Personalia
- Manager Akunting
- Staff Personalia
- Staff Pemasaran
- Staff Akunting
- Administrasi Umum
- Buatlah class dan class inheritance yang diperlukan untuk kasus tersebut
- Tentukan properti dari masing-masing class dan class inheritance
- Buatkan layar masukan data pegawai yang terdiri dari dialog seperti berikut ini:
- Nama Pegawai : ………….
- Status: …………….
- Jabatan: …………..
- Bagian:…………….
March 1, 2012 in Genap 2011-2012, Pemrograman IV
Materi
Materi yang akan dipelajari hari ini adalah tentang Method dalam Class. Berikut ini adalah contoh program dengan class yang mempunyai satu method Contoh ini adalah pemilihan menu dal;am penulisan buku alamat yaitu ambil pilihan:
class MenuMethod
{
public static void Main()
{
string pilihanku;
MenuMethod om = new MenuMethod();
do
{
pilihanku = om.ambilPilihan();
// buat keputusan berdasarkan pilihan pengguna
switch (pilihanku)
{
case “B”:
case “b”:
Console.WriteLine(“Anda memilih menu menambah alamat baru.”);
break;
case “H”:
case “h”:
Console.WriteLine(“Anda memilih menu menghapus sebuah alamat”);
break;
case “U”:
case “u”:
Console.WriteLine(“Anda memilih menu mengubah sebuah alamat.”);
break;
case “T”:
case “t”:
Console.WriteLine(“Anda memilih menu menampilkan alamat”);
break;
case “K”:
case “k”:
Console.WriteLine(“Selamat tinggal”);
break;
default:
Console.WriteLine(“{0} bukan pilihan yang diperkenankan”, pilihanku);
break;
}
Console.WriteLine();
Console.Write(“tekan tombol Enter untuk melanjutkan…”);
Console.ReadLine();
Console.WriteLine();
} while (pilihanku != “K” && pilihanku != “k”); // kondisi untuk keluar dari menu
}
string ambilPilihan()
{
string pilihanku;
// Mencetak menu ke layar
Console.WriteLine(“Buku Alamat\n”);
Console.WriteLine(“B – Tambah Alamat Baru”);
Console.WriteLine(“H – Hapus Sebuah Alamat”);
Console.WriteLine(“U – Ubah Sebuah Alamat”);
Console.WriteLine(“T – Tampilkan Alamat”);
Console.WriteLine(“K – Keluar\n”);
Console.Write(“Pilihan (B, H, U, T atau K): “);
// menampilkan pilihan pengguna
pilihanku = Console.ReadLine();
Console.WriteLine();
return pilihanku;
}
}
pada contoh berikutnya class tersebut diubah menjadi punya beberapa method antara lain:
1. ambilPilihan –> method ini tidak punya parameter input
2. buatKeputusan –> method ini mempunyai satu parameter input
3. tambahAlamat –> method ini mempunyai parameter referensi
4. hapusAlamat –> method ini mempunyai parameter input
5. ubahAlamat –> method ini mempunya parameter keluaran/output
6. tampilkanAlamat –> method ini mempunyai paramater input
sebelumnya sebuah class alamat dibuat yang terdiri dua properti kosong nama dan alamat
berikut ini adalah kode programnnya.
class Alamat
{
public string nama;
public string alamat;
}
class MethodParams
{
public static void Main()
{
string pilihanku;
MethodParams mp = new MethodParams();
do
{
// tampilkan menu dan masukan pilihan
pilihanku = mp.ambilPilihan();
// buat keputusan berdasarkan pilihan
mp.buatKeputusan(pilihanku);
// buat jeda untuk melihat keluaran
Console.Write(“tekan tombol Enter untuk melanjutkan…”);
Console.ReadLine();
Console.WriteLine();
} while (pilihanku != “K” && pilihanku != “k”); // tekan tombol k/K untuk keluar dari menu
}
// tampilkan menu dan masukan pilihan
string ambilPilihan()
{
string pilihanku;
// Cetak menu
Console.WriteLine(“Buku Alamatku\n”);
Console.WriteLine(“B – Tambahkan Alamat Baru”);
Console.WriteLine(“H – Hapuskan Alamat”);
Console.WriteLine(“U – Ubahlah Alamat”);
Console.WriteLine(“T – Tampilkan Alamat”);
Console.WriteLine(“K – Keluar\n”);
Console.WriteLine(“Pilihan (S,B,H,U,T atau K): “);
// tampilkan pilihan pengguna
pilihanku = Console.ReadLine();
return pilihanku;
}
// buat keputusan
void buatKeputusan(string pilihanku)
{
Alamat addr = new Alamat();
switch (pilihanku)
{
case “B”:
case “b”:
addr.nama = “Joe”;
addr.alamat = “C# Station”;
this.tambahAlamat(ref addr);
break;
case “H”:
case “h”:
addr.nama = “Robert”;
this.hapusAlamat(addr.nama);
break;
case “U”:
case “u”:
addr.nama = “Matt”;
this.ubahAlamat(out addr);
Console.WriteLine(“Namanya sekarang {0}.”, addr.nama);
break;
case “T”:
case “t”:
this.tampilkanAlamat(“Cheryl”, “Joe”, “Matt”, “Robert”);
break;
case “K”:
case “k”:
Console.WriteLine(“Selamat tinggal”);
break;
default:
Console.WriteLine(“{0} bukan pilihan yang diperkenankan”, pilihanku);
break;
}
}
// sisipkan sebuah Alamat
void tambahAlamat(ref Alamat addr)
{
Console.WriteLine(“Nama: {0}, Alamat: {1} ditambahkan.”, addr.nama, addr.alamat);
}
// hapus sebuah Alamat
void hapusAlamat(string nama)
{
Console.WriteLine(“anda akan menghapus alamat {0}.”, nama);
}
// change an Alamat
void ubahAlamat(out Alamat addr)
{
addr = new Alamat();
addr.nama = “Joe”;
addr.alamat = “C# Station”;
}
// tampilkan
void tampilkanAlamat(params string[] Namas)
{
foreach (string Nama in Namas)
{
Console.WriteLine(“Nama: {0}”, Nama);
}
}
}
}
Praktikum
Tulis ulang program tersebut dan perhatikan outputnya.LATIHAN DAN TUGAS
Buatlah sebuah program yang terdiri dari sebuah menu pilihan untuk menghitung bangun, adapun menu pilihan tersebut adalah sebagai berikut:- Menghitung luas Segitiga
- Menghitung luas Segiempat
- Menghitung luas Lingkaran
- Menghitung keliling Segitiga
- Menghitung keliling Segiempat
- Menghitung keliling Lingkaran
- menuPilihan –> yang menampilkan pilihan menu menghitung luas dan keliling bangun
- ambilKeputusan –> yang melakukan pemilihan menu berdasarkan masukan dari user
- hitungLSegitiga –> didalamnya terdapat mekanisme mengambil input dari user, menghitung luasnya dan menampilkan hasilnya
- hitungLSegiempat –> sama seperti no. 3
- hitungLLingkaran –> sama seperti no. 3
- hitungKSegitiga –> sama seperti no.3
- hitungKSegiempat –> sama seperti no. 3
- hitung KLingkaran –> sama seperti no 3
Tidak ada komentar:
Posting Komentar