Using Using Using Using Namespace Class Static Void
Using Using Using Using Namespace Class Static Void
namespace ConsoleApplication1 { class Program { static void implclassinheritance() { Console.Clear(); Console.WriteLine("INPUT DATA GAJI"); Console.WriteLine("============================"); Console.WriteLine("JABATAN (1. MANAGER 2. STAFF (Pilih 1 atau 2) byte jabatan = byte.Parse(Console.ReadLine()); if (jabatan == 1) { datamanager(); } else if (jabatan == 2) { datastaff(); } else { Console.WriteLine("Masukkan angkan 1 atau 2"); } } static void datamanager() { manager pegawai = new manager(); Console.Write("N I P : "); pegawai.nip = Console.ReadLine(); Console.Write("NAMA : "); pegawai.nama = Console.ReadLine(); Console.Write("DEPARTEMEN : "); pegawai.departemen = Console.ReadLine(); Console.Write("GAJI : "); pegawai.gaji = int.Parse(Console.ReadLine()); Console.Write("TNJ JABATAN : "); pegawai.tnjjabatan = int.Parse(Console.ReadLine()); Console.Write("TNJ TRANSPORT: "); pegawai.tnjtransport = int.Parse(Console.ReadLine()); Console.Write("PINJAMAN : "); pegawai.pinjaman = int.Parse(Console.ReadLine()); pegawai.hitungtotal(); Console.WriteLine("ASTEK : {0}",pegawai.astek); Console.WriteLine("PENDAPATAN : {0}",pegawai.pendapatan); Console.WriteLine("POTONGAN : {0}",pegawai.potongan); Console.WriteLine("TOTAL : {0}",pegawai.total); Console.ReadLine(); } static void datastaff() { karyawan pegawai = new karyawan(); Console.Write("N I P : "); pegawai.nip = Console.ReadLine(); Console.Write("NAMA : "); pegawai.nama = Console.ReadLine(); Console.Write("DEPARTEMEN : "); pegawai.departemen = Console.ReadLine(); Console.Write("GAJI : "); pegawai.gaji = int.Parse(Console.ReadLine()); pegawai.hitungtotal(); Console.WriteLine("ASTEK : {0}",pegawai.astek); Console.WriteLine("PENDAPATAN : {0}",pegawai.pendapatan); Console.WriteLine("POTONGAN : {0}",pegawai.potongan); Console.WriteLine("TOTAL : {0}",pegawai.total); Console.ReadLine(); } static void implclasinterface() { Console.Clear(); Console.WriteLine("HITUNG PERSEGI PANJANG "); Console.WriteLine("====================== "); persegipanjang bidangku = new persegipanjang();
: ");
Console.Write("PANJANG BIDANG : "); bidangku.panjang = int.Parse(Console.ReadLine()); Console.Write("LEBAR BIDANG : "); bidangku.lebar = int.Parse(Console.ReadLine()); bidangku.hitungluas(); bidangku.hitungkeliling(); Console.WriteLine("LUAS BIDANG : {0}", bidangku.luas); Console.WriteLine("KELILING BIDANG : {0}", bidangku.keliling); Console.ReadLine(); } static void Main(string[] args) { Console.WriteLine("==============================================================="); Console.WriteLine(" MENU UTAMA "); Console.WriteLine("==============================================================="); Console.WriteLine("1. Implementasi Class, Inheritance, Virtual dan Override Method"); Console.WriteLine("2. Implementasi kolaborasi inheritance dengan interface"); Console.WriteLine("==============================================================="); Console.Write("Pilih 1 atau 2 : "); byte pilih = byte.Parse(Console.ReadLine()); switch(pilih) { case 1: implclassinheritance(); break; case 2: implclasinterface(); break; default: Console.WriteLine("Input 1 atau 2 saja"); break; } } } // Implementasi Class, Inheritance, Virtual dan override method class karyawan { string v_nip, v_nama, v_departemen; protected int v_gaji, v_pendapatan, v_astek, v_potongan, v_total; public string nip { get { return v_nip; } set { v_nip = value; } } public string nama { get { return v_nama; } set { v_nama = value; } } public string departemen { get { return v_departemen; } set { v_departemen = value; } } public int gaji { get { return v_gaji; } set { v_gaji = value; } } public int pendapatan { get { return v_pendapatan; } } public int potongan { get { return v_potongan; } } public int total { get { return v_total; } } public int astek { get { return v_astek; } } protected void hitungastek()
{ v_astek = v_gaji * 2 / 100; } public virtual void hitungtotal() { hitungastek(); v_pendapatan = v_gaji; v_potongan = v_astek; v_total = v_pendapatan - v_potongan; } } class manager:karyawan { int v_tnjjabatan, v_tnjtransport, v_pinjaman; public int tnjjabatan { get { return v_tnjjabatan;} set { v_tnjjabatan = value;} } public int tnjtransport { get { return v_tnjtransport; } set { v_tnjtransport=value;} } public int pinjaman { get { return v_pinjaman; } set { v_pinjaman=value;} } public override void hitungtotal() { base.hitungtotal(); hitungastek(); v_pendapatan = v_gaji + v_tnjjabatan + v_tnjtransport; v_potongan = v_astek + v_pinjaman; v_total = v_pendapatan - v_potongan; } } // Implementasi Interface interface Infbidang { void hitungluas(); void hitungkeliling(); } class bidang { protected int v_keliling, v_luas; public int keliling { get { return v_keliling; } } public int luas { get { return v_luas; } } } class segiempat:bidang,Infbidang { int v_sisi; public int sisi { get { return v_sisi; } set { v_sisi = value; } } public void hitungluas() { v_luas = v_sisi * v_sisi; } public void hitungkeliling() { v_keliling = 4 * v_sisi; } } class persegipanjang:bidang,Infbidang { int v_panjang, v_lebar; public int panjang
{ get { return v_panjang; } set { v_panjang = value; } } public int lebar { get { return v_lebar; } set { v_lebar=value;} } public void hitungluas() { v_luas = v_panjang*v_lebar; } public void hitungkeliling() { v_keliling = 2 * (v_panjang+v_lebar); } } }