Selasa, 08 Oktober 2013

OOP(Object Oriented Programming)_Struktur Data dan Algoritma

1.      A. Class:  merupakan penggambaran dari sebuah object atau benda,sifat objek, dan juga apa yang bisa dilakukan oleh objek tersebut.
         Sebagai contoh adalah pengambaran yang real dalam kehidupan kita adalah tentang dunia transportasi. Tentunya kita semua  mengetahui bahwa sangatlah banyak jenis alat transportasi yang ada seperti motor, mobil,pesawat terbang,kapal laut, dan lain sebagainya.Kemudian marilah kita anggap berbagai alat transportasi tersebut sebagai  suatu class. Maka motor tentunya mempunyai no polisi,tahun pembuatan,merk dll, demikian juga dengan alat transportasi yang lainnya, oleh karenanya hal ini bisa disebut sebagai properties. Selanjutnya motor itu sendiri bisa berjalan maju, berjalan mundur,belok kiri, belok kanan yang mana kegiatan ini disebut method.
·         contoh:
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
B. Attribute: merupakan  segala  sesuatu  yang melekat  pada Object.  Didalam  penerapan  didalam program, atribut adalah Variabel.
C. Method: sarana bagi programmer untuk memecah program kompleks menjadi bagian yang kecil-kecil,sehingga nantinya dapat digunakan berulang-ulang. Contoh : pada object mangga : terdapat method ambil Rasa , kupas Kulit dll. Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.

2.      Object
Object  adalah merupakan suatu bentuk dari class. Kalau kita mengikuti analogi di atas, maka object dari class Hewan adalah Burung, Kambing, Ayam, Kuda.. Mereka adalah contoh dari class Hewan. Semua dari mereka adalah Hewan  yang mempunyai nama, kaki, Jenis makanan dst. Dan bisa berlari, bersuara, berkembang biak dll.

o   contoh :
public class Peliharaanmu{
public static void main(String[] args){
Hewan punyaku=new Hewan();
punyaku.hewanku();
}
}
3.      Konstruktor
Kontruktor  merupakan  suatu  method  yang  akan  memberikan  nilai  awal  pada  saat  suatu  objek  dibuat.  Pada  saat  program  dijalankan, konstruktor  akan  langsung memberikan  nilai  awal pada saat perintah new, membuat suatu objek
Pada saat kita bekerja dengan konstruktor, hal mendasar yang perlu diperhatikan, yaitu :
1.    Nama konstruktor sama dengan nama Class.
2.    Tidak ada return type yang diberikan kedalam konstruktor Signature.
3.    Tidak ada return stetement, didalam tubuh konstruktor.

4.      Private

5.         Karakteristik OOP dan contohnya:
            A. Inheritance: Inherintence atau pewarisan adalah merupakan konsep dimana suatu object memiliki sejumlah perilaku yang dimiliki oleh object lain dalam suatu hirarki tertentu.
Hal ini memungkinkan satu kelas (sub-class) harus didasarkan atas yang lain (kelas super) dan mewarisi semua fungsi secara otomatis. Kode tambahan kemudian dapat ditambahkan untuk membuat versi yang lebih khusus dari kelas. Dalam contoh kendaraan, sub-kelas untuk mobil atau motor dapat dibuat. Masing-masing masih akan memiliki semua perilaku kendaraan tetapi dapat menambahkan metode khusus dan properti.
Beberapa bahasa pemrograman memungkinkan untuk multiple inheritance mana sub-kelas yang berasal dari dua atau lebih super-kelas. C # tidak mengizinkan ini, tetapi tidak memungkinkan kelas untuk mengimplementasikan beberapa interface. Sebuah antarmuka mendefinisikan kontrak untuk metode dan properti dari kelas yang mengimplementasikan hal itu. Namun, tidak mencakup fungsi yang sebenarnya.

B. Polymorphisme: Polymorphism adalah konsep dimana beberapa object dapat memiliki metode yang sama dengan aksi yang berbeda. Hal ini mengakibatkan adanya kemampuan untuk sebuah objek untuk mengubah perilakunya sesuai dengan bagaimana itu digunakan. Dimana kelas obyek mewarisi dari kelas super atau mengimplementasikan satu atau lebih interface , dapat disebut dengan kelas atau interface nama-nama. Jadi jika kita memiliki metode yang mengharapkan sebuah objek dari tipe 'kendaraan' untuk diteruskan sebagai parameter, kita dapat melewati setiap kendaraan, mobil atau motor objek untuk metode yang meskipun tipe data mungkin secara teknis berbeda.
Dalam Polymorphism suatu object bisa bertindak lain terhadap message/method yang sama. Misalkan kita punya satu class hewan dan diturunkan menjadi dua class hewan berkaki dua dan hewan berkaki empat. Ketika hewan berkaki dua melakukan method makan maka yang dilakukan adalah makan dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia akan menggunakan mulutnya. Keduanya melakukan aksi yang sama yaitu makan akan tetapi perlakuannya lain.
C.   Encapsulation: Encapsuation adalah penyatuan antara proses-proses yang terjadi dan sejumlah data yang dikelola kedalam suatu bentuk kelompok tertentu. Pengelompokan tersebut adalah dengan dibentuknya suatu object secara abstrak (abstraction). Akibatnya, obyek dapat bekerja sama dalam banyak hal dalam sistem. Dalam beberapa situasi, kelas dan objek dapat erat bersama-sama untuk menyediakan fungsionalitas yang lebih kompleks. Dalam contoh mobil, roda, panel, mesin, gearbox, dll dapat dianggap sebagai kelas individu. Untuk membuat mobil sekelasnya, perlumenghubungkan semua benda-benda bersama, mungkin dapat menambahkan fungsionalitas lebih lanjut. Kerja internal masing-masing kelas yang tidak penting karena enkapsulasi sebagai komunikasi antara obyek masih melalui lewat pesan ke antarmuka publik mereka.
Encapsulation mengemas suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam hal ini, misal siswa (suatu object) sedang menulis (method). Maka detail dari tentang cara siswa itu menulis (bagaimana otot tangan itu  bekerja untuk menulis, bagaimana sistem saraf pusat  memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya melihat si siswa sedang menulis.
Contoh :
class Siswa
{
String nama;
String nim;
void isiData ( String namaku,String nimku )
{
nama = namaku;
nim = nimku;
}
String ambilNama()
{
return nama;
}
String ambilNim()
{
return nim;
}
}
public class Mahasiswa
{
public static void main ( String [] args)
{
Siswa mahasiswa_itn = new Siswa(); //membuat variable instant
mahasiswa_itn.isiData(“Dina Damayanti”,”0412585″);
System.out.println( “Nama : ” + mahasiswa_itn.ambilNama());
System.out.println( “Nim : ” + mahasiswa_itn.ambilNim());
}
}
D.   Absraction: Pesawat yang telah dicontohkan masuk dalam kelas kendaraan, kelas kendaraan merupakan contoh abstraction.Abstraction adalah proses yang mewakili versi yang disederhanakan dari objek dunia nyata dalam kelas dan objek. Hal ini berarti dalam pengembangan perangkat lunak seorang programmer akan menggunakan atau menciptakan sejumlah object dimana object tersebut akan ada dan berperilaku pada sistem.
E.    Aggregation: 
5.  Over loading: Overloading adalah suatu cara membuat lebih dari constructor pada suatu class. Supaya pengaksesan constructor tersebut lancar, maka sebagai pembedanya adalah tipe parameter dan atau jumlah parameternya.
6.    membuat program oop untuk hitung nilai mata kuliah dan konversinya.
namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
//Isi data Mahasiswa Satu
Mahasiswa mhs1 = newMahasiswa();
mhs1.Nama = “Sismantoro”;
mhs1.Nim = “12.12.0036″;
mhs1.Jurusan = “Sistem Informasi”;
mhs1.Tgl_lahir = DateTime.Parse(“1992-04-02″);
mhs1.Nilai_algoritma = “90″;
mhs1.Nilai_pbo = “86″;
mhs1.Nilai_spbd = “89″;
mhs1.Ipk = 3.25;
//Menampilkan Profil Mahasiswa Satu
mhs1.tampilProfilNonVrble();
mhs1.menghitung_Jumlah_NilaiNonVariable();
mhs1.menhitungRataRataNonVariable();
Console.WriteLine(“\n”);
//Isi data Mhs Kedua
Mahasiswa mhs2 = newMahasiswa();
mhs2.Nama = “Laurendra”;
mhs2.Nim = “12.12.3636″;
mhs2.Jurusan = “Sistem Informasi”;
mhs2.Tgl_lahir = DateTime.Parse(“1994-04-02″);
mhs2.Nilai_algoritma = “95″;
mhs2.Nilai_pbo = “98″;
mhs2.Nilai_spbd = “78″;
mhs2.Ipk = 3.45;
//Menampilkan Profil Mahasiswa Kedua
mhs2.tampilProfil(mhs2);
mhs2.menghitung_Jumlah_Nilai(mhs2);
mhs2.menhitungRataRata(mhs2);
Console.WriteLine(“\n”);
//Isi data Mhs Ketiga
Mahasiswa mhs3 = newMahasiswa(“12.12.0063″, “Eka Putri Pertiwi”,
“Sistem Informasi”,DateTime.Parse(“1993-12-18″), 3.53, “97″, “88″, “93″);
//Menampilkan Profil Mahasiswa Ketiga
mhs3.tampilProfil(mhs3);
mhs3.menghitung_Jumlah_Nilai(mhs3);
mhs3.menhitungRataRata(mhs3);
Console.WriteLine(“\n”);
Console.WriteLine(“###############################”);
Console.Read();
}
}
}
Tampilan Untuk Class Mahasiswa (Class Child)
namespace ConsoleApplication1
{
classMahasiswa
{
//Daftar Field
string nim, nama,jurusan, nilai_algoritma, nilai_spbd, nilai_pbo; 
publicstring Nilai_pbo
{
get { return nilai_pbo; }
set { nilai_pbo = value; }
}
publicstring Nilai_spbd
{
get { return nilai_spbd; }
set { nilai_spbd = value; }
}
publicstring Nilai_algoritma
{
get { return nilai_algoritma; }
set { nilai_algoritma = value; }
}
publicstring Jurusan
{
get { return jurusan; }
set { jurusan = value; }
}
publicstring Nama
{
get { return nama; }
set { nama = value; }
}

publicstring Nim
{
get { return nim; }
set { nim = value; }
}
DateTime tgl_lahir;
publicDateTime Tgl_lahir
{
get { return tgl_lahir; }
set { tgl_lahir = value; }
}
double ipk;
publicdouble Ipk
{
get { return ipk; }
set { ipk = value; }
}
//tampilan umum Constructor
public Mahasiswa()
{
}
//Constructor Tugas tambahan…DI aplikasikan untuk mahasiswa Ketiga di class utama
public Mahasiswa(string nim, string nama, string Jurusan,
DateTime tglLahir, double ipk, string nilai_algoritma, string nilai_spbd, string nilai_pbo)
{
this.nilai_algoritma = nilai_algoritma;
this.nilai_spbd = nilai_spbd;
this.nilai_pbo = nilai_pbo;
this.nim = nim;
this.nama = nama;
jurusan = Jurusan;
tgl_lahir = tglLahir;
this.ipk = ipk;
}
//overloading Constructor dari tugas di atas
public Mahasiswa(string nim, string nama, string jurusan,
DateTime tgl_lahir, double ipk)
{
this.nim = nim;
this.nama = nama;
this.jurusan = jurusan;
this.tgl_lahir = tgl_lahir;
this.ipk = ipk;
}
//Method Untuk Menampilkan Profil dan Nilai mata kuliah
//(Diaplikasikan untuk mahasiswa kedua dan ketida di class utama)
publicvoid tampilProfil(Mahasiswa mhs)
{
Console.WriteLine(“”);
Console.WriteLine(mhs.nim);
Console.WriteLine(mhs.nama);
Console.WriteLine(mhs.jurusan);
Console.WriteLine(mhs.tgl_lahir);
Console.WriteLine(mhs.ipk);
Console.WriteLine(“Nilai Algoritma\t\t= “+mhs.nilai_algoritma);
Console.WriteLine(“Nila spbd \t\t= “+mhs.nilai_spbd);
Console.WriteLine(“Nilai pbo \t\t= “+mhs.nilai_pbo);
}
//Method ‘tidak’ menggunakan variable
//(Digunakan untuk mhs pertama pada class utama)
publicvoid tampilProfilNonVrble()
{
Console.WriteLine(“”);
Console.WriteLine(“########################################”);
Console.WriteLine(nim);
Console.WriteLine(nama);
Console.WriteLine(jurusan);
Console.WriteLine(tgl_lahir);
Console.WriteLine(ipk);
Console.WriteLine(“Nilai Algoritma\t\t= ” + nilai_algoritma);
Console.WriteLine(“Nilai spbd \t\t= ” + nilai_spbd);
Console.WriteLine(“Nilai pbo \t\t= ” + nilai_pbo);
}
//Method Menampilkan hanya Nilai Makul
// (Method ini tidak diaplikasikan, tapi bisa di panggil pada class utama)
publicvoid aksesnilai()
{
Console.WriteLine(nim);
Console.WriteLine(nilai_spbd);
Console.WriteLine(nilai_algoritma);
Console.WriteLine(nilai_pbo);
}
//Method untuk menghitung Nilai Rata-rata dari nilai mata kuliah
//(Diaplikasikan pada mhs kedua dan ketida)
publicvoid menhitungRataRata(Mahasiswa mhs)
{
int algo, pbo, spbd;
algo = int.Parse(mhs.nilai_algoritma);
pbo = int.Parse(mhs.nilai_pbo);
spbd = int.Parse(mhs.nilai_spbd);
double hasil = (algo + pbo + spbd) / 3;
Console.Write(“Nilai Rata-rata adalah \t= “+hasil);
}
//Method untuk menghitung Nilai Rata-rata Tanpa variable
//(Diaplikasikan pada mhs pertama)
publicvoid menhitungRataRataNonVariable()
{
int algo, pbo, spbd;
algo = int.Parse(nilai_algoritma);
pbo = int.Parse(nilai_pbo);
spbd = int.Parse(nilai_spbd);
double hasil = (algo + pbo + spbd) / 3;
Console.Write(“Nilai Rata-rata adalah \t= ” + hasil);
}
//Method Menghitung jumlah Nilai
//(Diaplikasikan pada mhs kedua dan ketida)
publicvoid menghitung_Jumlah_Nilai(Mahasiswa mhs)
{
int algo, pbo, spbd;
algo = int.Parse(mhs.nilai_algoritma);
pbo = int.Parse(mhs.nilai_pbo);
spbd = int.Parse(mhs.nilai_spbd);
int hasil = algo + pbo + spbd;
Console.WriteLine(“”);
Console.WriteLine(“Jumlah Nilainya adalah \t= “+hasil);
}
//Method Mengitung Jumlah Nilai Tanpa Variabl
//(Diaplikasikan pada mhs pertama)
publicvoid menghitung_Jumlah_NilaiNonVariable()
{
int algo, pbo, spbd;
algo = int.Parse(nilai_algoritma);
pbo = int.Parse(nilai_pbo);
spbd = int.Parse(nilai_spbd);
int hasil = algo + pbo + spbd;
Console.WriteLine(“”);
Console.WriteLine(“Jumlah Nilainya adalah \t= ” + hasil);
}
}
}



1.      A. Class:  merupakan penggambaran dari sebuah object atau benda,sifat objek, dan juga apa yang bisa dilakukan oleh objek tersebut.
         Sebagai contoh adalah pengambaran yang real dalam kehidupan kita adalah tentang dunia transportasi. Tentunya kita semua  mengetahui bahwa sangatlah banyak jenis alat transportasi yang ada seperti motor, mobil,pesawat terbang,kapal laut, dan lain sebagainya.Kemudian marilah kita anggap berbagai alat transportasi tersebut sebagai  suatu class. Maka motor tentunya mempunyai no polisi,tahun pembuatan,merk dll, demikian juga dengan alat transportasi yang lainnya, oleh karenanya hal ini bisa disebut sebagai properties. Selanjutnya motor itu sendiri bisa berjalan maju, berjalan mundur,belok kiri, belok kanan yang mana kegiatan ini disebut method.
·         contoh:
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
B. Attribute: merupakan  segala  sesuatu  yang melekat  pada Object.  Didalam  penerapan  didalam program, atribut adalah Variabel.
C. Method: sarana bagi programmer untuk memecah program kompleks menjadi bagian yang kecil-kecil,sehingga nantinya dapat digunakan berulang-ulang. Contoh : pada object mangga : terdapat method ambil Rasa , kupas Kulit dll. Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.

2.      Object
Object  adalah merupakan suatu bentuk dari class. Kalau kita mengikuti analogi di atas, maka object dari class Hewan adalah Burung, Kambing, Ayam, Kuda.. Mereka adalah contoh dari class Hewan. Semua dari mereka adalah Hewan  yang mempunyai nama, kaki, Jenis makanan dst. Dan bisa berlari, bersuara, berkembang biak dll.

o   contoh :
public class Peliharaanmu{
public static void main(String[] args){
Hewan punyaku=new Hewan();
punyaku.hewanku();
}
}
3.      Konstruktor
Kontruktor  merupakan  suatu  method  yang  akan  memberikan  nilai  awal  pada  saat  suatu  objek  dibuat.  Pada  saat  program  dijalankan, konstruktor  akan  langsung memberikan  nilai  awal pada saat perintah new, membuat suatu objek
Pada saat kita bekerja dengan konstruktor, hal mendasar yang perlu diperhatikan, yaitu :
1.    Nama konstruktor sama dengan nama Class.
2.    Tidak ada return type yang diberikan kedalam konstruktor Signature.
3.    Tidak ada return stetement, didalam tubuh konstruktor.

4.      Private

5.         Karakteristik OOP dan contohnya:
            A. Inheritance: Inherintence atau pewarisan adalah merupakan konsep dimana suatu object memiliki sejumlah perilaku yang dimiliki oleh object lain dalam suatu hirarki tertentu.
Hal ini memungkinkan satu kelas (sub-class) harus didasarkan atas yang lain (kelas super) dan mewarisi semua fungsi secara otomatis. Kode tambahan kemudian dapat ditambahkan untuk membuat versi yang lebih khusus dari kelas. Dalam contoh kendaraan, sub-kelas untuk mobil atau motor dapat dibuat. Masing-masing masih akan memiliki semua perilaku kendaraan tetapi dapat menambahkan metode khusus dan properti.
Beberapa bahasa pemrograman memungkinkan untuk multiple inheritance mana sub-kelas yang berasal dari dua atau lebih super-kelas. C # tidak mengizinkan ini, tetapi tidak memungkinkan kelas untuk mengimplementasikan beberapa interface. Sebuah antarmuka mendefinisikan kontrak untuk metode dan properti dari kelas yang mengimplementasikan hal itu. Namun, tidak mencakup fungsi yang sebenarnya.

B. Polymorphisme: Polymorphism adalah konsep dimana beberapa object dapat memiliki metode yang sama dengan aksi yang berbeda. Hal ini mengakibatkan adanya kemampuan untuk sebuah objek untuk mengubah perilakunya sesuai dengan bagaimana itu digunakan. Dimana kelas obyek mewarisi dari kelas super atau mengimplementasikan satu atau lebih interface , dapat disebut dengan kelas atau interface nama-nama. Jadi jika kita memiliki metode yang mengharapkan sebuah objek dari tipe 'kendaraan' untuk diteruskan sebagai parameter, kita dapat melewati setiap kendaraan, mobil atau motor objek untuk metode yang meskipun tipe data mungkin secara teknis berbeda.
Dalam Polymorphism suatu object bisa bertindak lain terhadap message/method yang sama. Misalkan kita punya satu class hewan dan diturunkan menjadi dua class hewan berkaki dua dan hewan berkaki empat. Ketika hewan berkaki dua melakukan method makan maka yang dilakukan adalah makan dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia akan menggunakan mulutnya. Keduanya melakukan aksi yang sama yaitu makan akan tetapi perlakuannya lain.
C.   Encapsulation: Encapsuation adalah penyatuan antara proses-proses yang terjadi dan sejumlah data yang dikelola kedalam suatu bentuk kelompok tertentu. Pengelompokan tersebut adalah dengan dibentuknya suatu object secara abstrak (abstraction). Akibatnya, obyek dapat bekerja sama dalam banyak hal dalam sistem. Dalam beberapa situasi, kelas dan objek dapat erat bersama-sama untuk menyediakan fungsionalitas yang lebih kompleks. Dalam contoh mobil, roda, panel, mesin, gearbox, dll dapat dianggap sebagai kelas individu. Untuk membuat mobil sekelasnya, perlumenghubungkan semua benda-benda bersama, mungkin dapat menambahkan fungsionalitas lebih lanjut. Kerja internal masing-masing kelas yang tidak penting karena enkapsulasi sebagai komunikasi antara obyek masih melalui lewat pesan ke antarmuka publik mereka.
Encapsulation mengemas suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam hal ini, misal siswa (suatu object) sedang menulis (method). Maka detail dari tentang cara siswa itu menulis (bagaimana otot tangan itu  bekerja untuk menulis, bagaimana sistem saraf pusat  memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya melihat si siswa sedang menulis.
Contoh :
class Siswa
{
String nama;
String nim;
void isiData ( String namaku,String nimku )
{
nama = namaku;
nim = nimku;
}
String ambilNama()
{
return nama;
}
String ambilNim()
{
return nim;
}
}
public class Mahasiswa
{
public static void main ( String [] args)
{
Siswa mahasiswa_itn = new Siswa(); //membuat variable instant
mahasiswa_itn.isiData(“Dina Damayanti”,”0412585″);
System.out.println( “Nama : ” + mahasiswa_itn.ambilNama());
System.out.println( “Nim : ” + mahasiswa_itn.ambilNim());
}
}
D.   Absraction: Pesawat yang telah dicontohkan masuk dalam kelas kendaraan, kelas kendaraan merupakan contoh abstraction.Abstraction adalah proses yang mewakili versi yang disederhanakan dari objek dunia nyata dalam kelas dan objek. Hal ini berarti dalam pengembangan perangkat lunak seorang programmer akan menggunakan atau menciptakan sejumlah object dimana object tersebut akan ada dan berperilaku pada sistem.
E.    Aggregation: 
5.  Over loading: Overloading adalah suatu cara membuat lebih dari constructor pada suatu class. Supaya pengaksesan constructor tersebut lancar, maka sebagai pembedanya adalah tipe parameter dan atau jumlah parameternya.
6.    membuat program oop untuk hitung nilai mata kuliah dan konversinya.
namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
//Isi data Mahasiswa Satu
Mahasiswa mhs1 = newMahasiswa();
mhs1.Nama = “Sismantoro”;
mhs1.Nim = “12.12.0036″;
mhs1.Jurusan = “Sistem Informasi”;
mhs1.Tgl_lahir = DateTime.Parse(“1992-04-02″);
mhs1.Nilai_algoritma = “90″;
mhs1.Nilai_pbo = “86″;
mhs1.Nilai_spbd = “89″;
mhs1.Ipk = 3.25;
//Menampilkan Profil Mahasiswa Satu
mhs1.tampilProfilNonVrble();
mhs1.menghitung_Jumlah_NilaiNonVariable();
mhs1.menhitungRataRataNonVariable();
Console.WriteLine(“\n”);
//Isi data Mhs Kedua
Mahasiswa mhs2 = newMahasiswa();
mhs2.Nama = “Laurendra”;
mhs2.Nim = “12.12.3636″;
mhs2.Jurusan = “Sistem Informasi”;
mhs2.Tgl_lahir = DateTime.Parse(“1994-04-02″);
mhs2.Nilai_algoritma = “95″;
mhs2.Nilai_pbo = “98″;
mhs2.Nilai_spbd = “78″;
mhs2.Ipk = 3.45;
//Menampilkan Profil Mahasiswa Kedua
mhs2.tampilProfil(mhs2);
mhs2.menghitung_Jumlah_Nilai(mhs2);
mhs2.menhitungRataRata(mhs2);
Console.WriteLine(“\n”);
//Isi data Mhs Ketiga
Mahasiswa mhs3 = newMahasiswa(“12.12.0063″, “Eka Putri Pertiwi”,
“Sistem Informasi”,DateTime.Parse(“1993-12-18″), 3.53, “97″, “88″, “93″);
//Menampilkan Profil Mahasiswa Ketiga
mhs3.tampilProfil(mhs3);
mhs3.menghitung_Jumlah_Nilai(mhs3);
mhs3.menhitungRataRata(mhs3);
Console.WriteLine(“\n”);
Console.WriteLine(“###############################”);
Console.Read();
}
}
}
Tampilan Untuk Class Mahasiswa (Class Child)
namespace ConsoleApplication1
{
classMahasiswa
{
//Daftar Field
string nim, nama,jurusan, nilai_algoritma, nilai_spbd, nilai_pbo; 
publicstring Nilai_pbo
{
get { return nilai_pbo; }
set { nilai_pbo = value; }
}
publicstring Nilai_spbd
{
get { return nilai_spbd; }
set { nilai_spbd = value; }
}
publicstring Nilai_algoritma
{
get { return nilai_algoritma; }
set { nilai_algoritma = value; }
}
publicstring Jurusan
{
get { return jurusan; }
set { jurusan = value; }
}
publicstring Nama
{
get { return nama; }
set { nama = value; }
}

publicstring Nim
{
get { return nim; }
set { nim = value; }
}
DateTime tgl_lahir;
publicDateTime Tgl_lahir
{
get { return tgl_lahir; }
set { tgl_lahir = value; }
}
double ipk;
publicdouble Ipk
{
get { return ipk; }
set { ipk = value; }
}
//tampilan umum Constructor
public Mahasiswa()
{
}
//Constructor Tugas tambahan…DI aplikasikan untuk mahasiswa Ketiga di class utama
public Mahasiswa(string nim, string nama, string Jurusan,
DateTime tglLahir, double ipk, string nilai_algoritma, string nilai_spbd, string nilai_pbo)
{
this.nilai_algoritma = nilai_algoritma;
this.nilai_spbd = nilai_spbd;
this.nilai_pbo = nilai_pbo;
this.nim = nim;
this.nama = nama;
jurusan = Jurusan;
tgl_lahir = tglLahir;
this.ipk = ipk;
}
//overloading Constructor dari tugas di atas
public Mahasiswa(string nim, string nama, string jurusan,
DateTime tgl_lahir, double ipk)
{
this.nim = nim;
this.nama = nama;
this.jurusan = jurusan;
this.tgl_lahir = tgl_lahir;
this.ipk = ipk;
}
//Method Untuk Menampilkan Profil dan Nilai mata kuliah
//(Diaplikasikan untuk mahasiswa kedua dan ketida di class utama)
publicvoid tampilProfil(Mahasiswa mhs)
{
Console.WriteLine(“”);
Console.WriteLine(mhs.nim);
Console.WriteLine(mhs.nama);
Console.WriteLine(mhs.jurusan);
Console.WriteLine(mhs.tgl_lahir);
Console.WriteLine(mhs.ipk);
Console.WriteLine(“Nilai Algoritma\t\t= “+mhs.nilai_algoritma);
Console.WriteLine(“Nila spbd \t\t= “+mhs.nilai_spbd);
Console.WriteLine(“Nilai pbo \t\t= “+mhs.nilai_pbo);
}
//Method ‘tidak’ menggunakan variable
//(Digunakan untuk mhs pertama pada class utama)
publicvoid tampilProfilNonVrble()
{
Console.WriteLine(“”);
Console.WriteLine(“########################################”);
Console.WriteLine(nim);
Console.WriteLine(nama);
Console.WriteLine(jurusan);
Console.WriteLine(tgl_lahir);
Console.WriteLine(ipk);
Console.WriteLine(“Nilai Algoritma\t\t= ” + nilai_algoritma);
Console.WriteLine(“Nilai spbd \t\t= ” + nilai_spbd);
Console.WriteLine(“Nilai pbo \t\t= ” + nilai_pbo);
}
//Method Menampilkan hanya Nilai Makul
// (Method ini tidak diaplikasikan, tapi bisa di panggil pada class utama)
publicvoid aksesnilai()
{
Console.WriteLine(nim);
Console.WriteLine(nilai_spbd);
Console.WriteLine(nilai_algoritma);
Console.WriteLine(nilai_pbo);
}
//Method untuk menghitung Nilai Rata-rata dari nilai mata kuliah
//(Diaplikasikan pada mhs kedua dan ketida)
publicvoid menhitungRataRata(Mahasiswa mhs)
{
int algo, pbo, spbd;
algo = int.Parse(mhs.nilai_algoritma);
pbo = int.Parse(mhs.nilai_pbo);
spbd = int.Parse(mhs.nilai_spbd);
double hasil = (algo + pbo + spbd) / 3;
Console.Write(“Nilai Rata-rata adalah \t= “+hasil);
}
//Method untuk menghitung Nilai Rata-rata Tanpa variable
//(Diaplikasikan pada mhs pertama)
publicvoid menhitungRataRataNonVariable()
{
int algo, pbo, spbd;
algo = int.Parse(nilai_algoritma);
pbo = int.Parse(nilai_pbo);
spbd = int.Parse(nilai_spbd);
double hasil = (algo + pbo + spbd) / 3;
Console.Write(“Nilai Rata-rata adalah \t= ” + hasil);
}
//Method Menghitung jumlah Nilai
//(Diaplikasikan pada mhs kedua dan ketida)
publicvoid menghitung_Jumlah_Nilai(Mahasiswa mhs)
{
int algo, pbo, spbd;
algo = int.Parse(mhs.nilai_algoritma);
pbo = int.Parse(mhs.nilai_pbo);
spbd = int.Parse(mhs.nilai_spbd);
int hasil = algo + pbo + spbd;
Console.WriteLine(“”);
Console.WriteLine(“Jumlah Nilainya adalah \t= “+hasil);
}
//Method Mengitung Jumlah Nilai Tanpa Variabl
//(Diaplikasikan pada mhs pertama)
publicvoid menghitung_Jumlah_NilaiNonVariable()
{
int algo, pbo, spbd;
algo = int.Parse(nilai_algoritma);
pbo = int.Parse(nilai_pbo);
spbd = int.Parse(nilai_spbd);
int hasil = algo + pbo + spbd;
Console.WriteLine(“”);
Console.WriteLine(“Jumlah Nilainya adalah \t= ” + hasil);
}
}
}