documentgo

29
go! go! go! semangat!!!!!! Selasa, 08 Oktober 2013 Rangkuman tentang OOP pada C# Object Oriented Progamming  1. Class, Atribut, dan Object  A. Class Dalam object oriented programming kita mulai mengenal adanya class & object. Secara umum, Class adalah penggambaran dari sebuah object atau benda,sifat objek, dan juga apa yang  bisa dilakukan o leh objek tersebut. Class digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Class merupakan bagian dari program, yang memiliki semua atribut- atribut seperti halnya yang dimiliki oleh program biasa, akan tetapi class tidak bersifat “Main” atau utama, sehingga sebuah class tidak akan bisa dirun dan dieksekusi tanpa menggunakan main class, atau class utama. Pada pemrograman struktural kita menaruh kodingan kita pada main class sehingga kita langsung bisa mengkompile dan mengeksekusi program kita tersebut, dimana  pada pemrograman berorientasi object sekarang ini kita akan mulai menggunakan class untuk menaruh program kita, sehingga program kita dapat digunakan kembali dan dipadukan dengan  program-program lain oleh orang lain. Ketika menggunakan class, kita tidak dapat menyamakannya seperti saat kita memprogram dengan basis pemrograman struktural. Class disini hanya bersifat sebagai cetakan atau “blueprint” dari program yang kita buat, untuk dapat mengeksekusi sebuah class kita harus melakukan “instansiasi” yaitu membuat sebuah object dari class yang telah kita buat. Untuk lebih mudahnya kita ibaratkan sebuah class adalah sebuah cetakan roti dan roti adalah sebuah object dimana proses pembuatan roti disebut sebagai instansiasi. Dalam hal ini sama halnya seperti cetakan roti, sebuah class juga bisa digunakan berkali kali untuk membuat sebuah object, dimana satu object dengan yang lainnya tidaklah memiliki keterkaitan meskipun berasal dari kelas yang sama. Dalam pembuatan suatu class kita bisa jadikan satu file dengan main class atau juga bisa kita pisahkan menjadi file sendiri. Dimana dalam menaruh program kita di class tersebut, kita tidak bisa sembarang menaruh dalam class tersebut, melainkan kita harus membuat fungsi- fungsi, yang nantinya akan bisa kita eksekusi melalui instance object yang telah kita buat. 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

Upload: arisprasetyo

Post on 14-Oct-2015

2 views

Category:

Documents


0 download

DESCRIPTION

r

TRANSCRIPT

  • 5/24/2018 go

    1/29

    go! go! go! semangat!!!!!!

    Selasa, 08 Oktober 2013

    Rangkuman tentang OOP pada C#

    Object Oriented Progamming

    1. Class, Atribut, dan Object

    A. Class

    Dalam object oriented programming kita mulai mengenal adanya class & object. Secara

    umum, Class adalah penggambaran dari sebuah object atau benda,sifat objek, dan juga apa yang

    bisa dilakukan oleh objek tersebut. Class digunakan untuk membuat objek, dan berperan sebagai

    tipe data dari objek. Class merupakan bagian dari program, yang memiliki semua atribut- atribut

    seperti halnya yang dimiliki oleh program biasa, akan tetapi class tidak bersifat Main atau

    utama, sehingga sebuah class tidak akan bisa dirun dan dieksekusi tanpa menggunakan main

    class, atau class utama. Pada pemrograman struktural kita menaruh kodingan kita pada main

    class sehingga kita langsung bisa mengkompile dan mengeksekusi program kita tersebut, dimana

    pada pemrograman berorientasi object sekarang ini kita akan mulai menggunakan class untuk

    menaruh program kita, sehingga program kita dapat digunakan kembali dan dipadukan dengan

    program-program lain oleh orang lain.

    Ketika menggunakan class, kita tidak dapat menyamakannya seperti saat kita memprogramdengan basis pemrograman struktural. Class disini hanya bersifat sebagai cetakan atau

    blueprint dari program yang kita buat, untuk dapat mengeksekusi sebuah class kita harus

    melakukan instansiasi yaitu membuat sebuah object dari class yang telah kita buat. Untuk lebih

    mudahnya kita ibaratkan sebuah class adalah sebuah cetakan roti dan roti adalah sebuah object

    dimana proses pembuatan roti disebut sebagai instansiasi. Dalam hal ini sama halnya seperti

    cetakan roti, sebuah class juga bisa digunakan berkali kali untuk membuat sebuah object, dimana

    satu object dengan yang lainnya tidaklah memiliki keterkaitan meskipun berasal dari kelas yang

    sama. Dalam pembuatan suatu class kita bisa jadikan satu file dengan main class atau juga bisa

    kita pisahkan menjadi file sendiri. Dimana dalam menaruh program kita di class tersebut, kita

    tidak bisa sembarang menaruh dalam class tersebut, melainkan kita harus membuat fungsi-

    fungsi, yang nantinya akan bisa kita eksekusi melalui instance object yang telah kita buat.

    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

    http://dhiaheka.blogspot.com/http://dhiaheka.blogspot.com/
  • 5/24/2018 go

    2/29

    kita anggap berbagai alat transportasi tersebut sebagai suatu class. Maka motor tentunya

    mempunyai nomor 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.

    Elemen Pada Class

    Class pada C# terdiri dari :

    Instance Variable / Field : atribut / hal-hal yang akan dimiliki oleh objek dari class tersebut.

    Method : aksi / tindakan yang dapat dilakukan oleh objek dari class tersebut.

    Method digunakan untuk merubah state pada field.

    Untuk lebih jelasnya perhatikan contoh dibawah ini :

    using System;

    namespace Test

    {

    class Program

    {

    static void Main(string[] args)

    {

    Penjumlahan p = new Penjumlahan(5, 9);Penjumlahan q = new Penjumlahan(7, 9);

    Console.WriteLine(p.hitungPenjumlahan());

    Console.WriteLine(q.hitungPenjumlahan());

    }

    }

  • 5/24/2018 go

    3/29

    class Penjumlahan

    {

    int a;

    int b;

    public Penjumlahan(int a, int b)

    {

    this.a = a;

    this.b = b;

    }

    public int hitungPenjumlahan()

    {

    return a + b;

    }

    }

    }

    Dalam contoh tersebut Penjumlahan adalah suatu class yang memiliki constructor(fungsi

    yang pertama kali dieksekusi ketika class diinstansiasi) yang membutuhkan passing 2 variable

    integer. Dimana dalam class tersebut juga terdapat Method untuk menjumlahkan dua bilangan

    yang telah dipassing pada constructor tersebut.

    Keterangan dari contoh tersebut adalah:

    Class Penjumlahan adalah pendefinisian nama class public Penjumlahan(int a, int b) merupakan

    constructor dari class penjumlahan tersebut int hitungPenjumlahan() merupakan method yang

    digunakan untuk menjumlahkan dua variabel integer yang telah dipassingkan pada constructor

    tadi Penjumlahan p = new Penjumlahan(5,9) proses instansiasi dari class penjumlahan yang

    membentuk object p, dimana object p mengacu pada struktur yang ada dalam class penjumlahan.

    Keyword new adalah keyword yang digunakan untuk menginstansiasi sebuah object dari sebuah

    class dimana berikutnya diikuti oleh construcor dari class tersebut.

    Operator this adalah operator yang digunakan untuk mengakses variabel yang paling global dari

    suatu class jika terdapat dua variabel yang memilki nama yang sama dam scope yang berbeda. Operator (.) dot adalah operator yang digunakan untuk mengakses atribut atribut yang terdapat

    didalam class yang telah diinstansiasi tersebut.

    Didalam contoh tersebut akan menghasilkan dua output yang berbeda yaitu 14 & 16,

    meskipun berasal dari class yang sama akan tetapi dalam contoh tersebut terdapat dua object

    yang berbeda. Hal ini membuktikan bahwa tidak ada keterkaitan pada satu object dengan object

    lainnya meski berasal dari class yang sama.

  • 5/24/2018 go

    4/29

    B. Atribut

    Atributmerupakan nilai data yang terdapat pada suatu object yang berasal dari class.

    Atribut merepresentasikan karakteristik dari suatu object. Penerapan didalam program, atribut

    adalah variabel.

    Penamaan atribut diawali dengan huruf kecil. Jika nama atribut lebih dari 2 kata, maka

    huruf awal kata kedua dst diawali dengan huruf besar dan penulisan tetap disambung.

    Contoh:

    public String nama;public String mataKuliah;

    C. Method

    Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu

    object. Method didefinisikan pada class akan tetapi dipanggil melalui object. Metode

    menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi

    yang dapat dilakukan objek sepanjang hidupnya. Method diimplementasikan didalam class dan

    menyediakan informasi tambahan yang mana class tidak dapat menangani sendiri. Method juga

    merupakan sarana bagi programmer untuk memecah program kompleks menjadi bagian yang

    kecil-kecil,sehingga nantinya dapat digunakan berulang-ulang. Contoh pada object

    manggaterdapat method ambilRasa , kupasKulit dll.

    Method dapat dibagi menjadi 2, yaitu: fungsi dan prosedur.

    Fungsiadalah bagian atau sub dari program yang mempunyai algoritma tertentu dalammenyelesaikan suatu masalah dengan mengembalikan hasil.

    Proseduradalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam

    menyelesaikan suatu masalah tanpa mengembalikan suatu nilai hasil.

    Secara umum pada konsep Object Oriented Programming, Function lebih dikenal dengan

    istilah Method, dimana merupakan suatu bagian dari Object yang mendefinisikan apa yang bisa

    Object tersebut lakukan. Setiap method menghasilkan suatu nilai dengan tipe data tertentu yang

    dinamai Return Type. Apabila terdapat suatu fungsi yang tidak menghasilkan suatu nilai apapun

    maka bagian return type ini diganti dengan void. Penamaan method mengikuti kaidah penamaan

    seperti pada penamaan variabel. Bagian parameter pada method diisi dengan parameter-

    parameter fungsi yang diperlukan. Passing Parameter dilakukan dengan cara pass by value dan

    pass by reference.Dengan analogi tersebut, otomatis beberapa hal umum seperti local variable,

    pemanggilan method, pendefinisian return value type, dsb adalah sama.

    Metode memiliki 4 (empat) bagian dasar :

    1. Nama metode

  • 5/24/2018 go

    5/29

    2. Tipe Objek atau tipe primitive yang dikembalikan metode.

    3. Daftar parameter.

    4. Badan atau isi metode.

    Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri. Dengan kata

    lain, nama metode tersebut=metode lain dalam program.

    Macammacam Method:

    Method void

    Method void adalah bagian atau sub dari program yang mempunyai algoritma tertentu

    dalam menyelesaikan suatu masalah tanpa mengembalikan suatu nilai hasil. Secara umum

    method dalam java adalah sebuah fungsi.

    Method Function

    Method Function adalah bagian atau sub dari program yang mempunyai algoritma tertentudalam menyelesaikan suatu masalah dengan mengembalikan hasil.

    Method dasar ada dua jenis yaitu getter() dan setter().

    Method getteradalah untuk mengambil informasi isi attribut dalam suatu class.

    Method setteradalah untuk memberikan isi attribut dalam suatu class.

    2. Object

    A. Pengertian Object

    Object merupakan suatu bentuk nyata dari class, object ini memiliki Attribute (Properties)

    dan memiliki Method (Behavior). 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.

    B. Perbedaan Class dan Object

    Jika anda ingin membangun rumah Class adalah blueprint / gambar (berisi spesifikasi

    lengkap dari rumah yang akan dibuat, ukuran, jumlah, dll). Sedangkan object adalah bentuk fisik/ rumah yang dibangun berdasarkan blueprint / class yang sudah ada, biasa disebut instan class /

    object.

  • 5/24/2018 go

    6/29

    Ilustrasi gambar

    Contoh perbedaan Class dan Object

    Class: Manusia

    Attribute: Berat Badan, Tinggi Badan, Jenis Kelamin

    Method: Bernafas, Makan, Minum, Bekerja, Belajar, Tidur

    Object: Budi

    Attribute: 75 kg, 175 cm, Pria

    Method: Bernafas, Makan, Minum, Bekerja, Belajar, Tidur

    Dapat dilihat perbedaan antar Class dan Object, dimana Class merupakan abstraksinya dan

    Object adalah bentuk nyata (instance) dari Class yang sudah mempunyai nilai.

    3. Cara Membuat Object

    Object Oriented Programming (OOP)atau yang lebih dikenal dengan pemrograman berorientasi

    objek adalah suatu teknik baru dalam dunia pemrograman. Salah satunya bahasa pemrograman C#. Untuk

    lebih memahami pengertian class pada pemrograman C# rekan dapat membaca atau mendownload

    postingan terdahulu tentangObject Oriented Programming using C#, berikut ini adalah contoh

    programnya:

    1. Buat project baru, dan pilih Console Application.

    http://www.galih-afm.com/search/label/OOPhttp://www.galih-afm.com/search/label/OOPhttp://www.galih-afm.com/2012/07/e-book-object-oriented-programming_11.htmlhttp://www.galih-afm.com/2012/07/e-book-object-oriented-programming_11.htmlhttp://www.galih-afm.com/2012/07/e-book-object-oriented-programming_11.htmlhttp://www.galih-afm.com/2012/07/e-book-object-oriented-programming_11.htmlhttp://www.galih-afm.com/search/label/OOP
  • 5/24/2018 go

    7/29

    2. Untuk membuat sebuah kelas baru, klik pada nama project anda yang terdapat pada jendela Solution

    Explorer. Kemudian klik kanan, pilih menu Add Class.

    3. Maka akan muncul jendela Add New Item. Pada nama class baru yang akan dibuat,

    masukkan nama kendaraan.cs.

  • 5/24/2018 go

    8/29

    4. Kemudian kita Add. Maka akan tampil unit class baru dengan nama kendaraan. Selanjutnya kita

    tuliskan listing dibawah ini pada unit kendaraan tersebut.

    Contoh Program:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ConsoleApplication1

    {

    class Kendaraan

    {

    public string NoKendaraan;

    public string Merk;

    public int kecepatan;

    }

    }

    Kemudian, tuliskan pula listing program dibawah ini pada unit utama aplikasi yang kita

    buat.

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ConsoleApplication1

  • 5/24/2018 go

    9/29

    {

    class Program

    {

    static void Main(string[] args)

    {

    Kendaraan Motor = new Kendaraan();

    Motor.Merk = "YAMAHA";

    Motor.kecepatan = 110;

    Motor.NoKendaraan = "Z 8882AA";

    Console.WriteLine("Motor: " + Motor.Merk + " Mempunyai

    Kecepatan " + Motor.kecepatan + " Km/Jam, Nomor Plat " +

    Motor.NoKendaraan);

    Console.ReadLine();

    }

    }}

    RUN. Dan inilah tampilan output dari program di atas.

    Jika Anda mengikuti langkah-langkah di atas, pertama kali rekan-rekan akan diminta untuk

    membuat sebuah class bernama kendaraan. File kendaraan.cs adalah file class yang akan

    dipergunakan juga pada program utama, yaitu program.cs.

    4. KonstruktorKonstruktor adalah method yang secara langsung/otomatis dieksekusi ketika object itu

    dipanggil. Untuk membuat konstruktor, nama method haruslah sama dengan nama Class-nya

    ,tidak ada kata kunci void atau pun nilai kembalian(return value) dan dapat diberi modifier akses

    (public, protected, default, private). Konstruktor digunakan untuk inisialisasi variabel ketika

    membuat instan class / objek baru. Sebenarnya setiap kali anda membuat instant class / objek

    baru maka konstruktor dijalankan. Jika anda tidak mendefinisikan konstruktor secara eksplisit

    maka tetap dianggap membuat konstruktor kosong. Konstruktor juga dapat di-overload (anda

  • 5/24/2018 go

    10/29

    dapat membuat konstruktor lebih dari satu asal parameternya jumlahnya beda atau tipe datanya

    beda). Kontruktor 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.

    Fungsi dari Konstruktor:

    Mengalokasikan sebuah objek saat program dieksekusi.

    Memberikan nilai awal sebagai inisialisasi dari semua atribut yang perlu diinisialisasi.

    Mengerjakan proses-proses yang diperlukan saat sebuah objek dibuat.

    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.

    Sedangkan pengertian Destruktor adalah (penghancur atau pelenyap) yang secara otomatis

    akan dijalankan pada saat berakhirnya objek. Syarat dari konstruktor dan destruktor adalah

    namanya harus sama dengan nama Class nya,,khusus konstruktor boleh mempunyai banyak

    bentuk (maksudnya dlm satu Class boleh ada lebih dari satu konstruktor) yang di bedakan

    dengan parameternya.

    Contoh program:

    class Program

    {

    public static void Main(string[] args)

    {Konstruk kon = new Konstruk();

    kon.Show();

    Console.WriteLine();

    Console.Write("Press any key to continue . . . ");

    Console.ReadKey(true);

    }

    }

    class Konstruk{

    public int A,B;

    public Konstruk() //

  • 5/24/2018 go

    11/29

    Console.WriteLine();

    Console.WriteLine();

    Console.WriteLine();

    //inisialisasi

    A = B = 10;

    }~Konstruk() //

  • 5/24/2018 go

    12/29

    Umumnya atribut yang menggambarkan sifat objek diberi akses private. Hal ini dilakukan untuk

    melindungi validitas data dan keperluan error handling. Karena itulah, ditambahkan fungsi

    accessor dan/atau modifier untuk setiap atribut private. Fungsi accessor atau yang sering disebut

    fungsi getter dibuat untuk mengambil properti kelas tanpa bisa mengubahnya. Jadi fungsi

    accessor ini tipe datanya sama seperti atribut yang akan diambil nilainya, dan isinya hanya return

    value dari atribut yang bersangkutan saja. Sedangkan fungsi modifier atau yang disebut setter

    dibuat untuk mengubah nilai atribut kelas. Tentunya, dengan disertai error handling dan batasan

    lain didalamnya. sehingga atribut kelas tetap bisa diubah namun terkontrol dan tepat. Sama

    halnya dengan fungsi yang tidak selalu diberi akses public, atribut juga tidak harus dan tidak

    selalu diberi akses private, public, atau protected.

    C. Protected

    Protected merupakan access modifier yang hanya akan muncul jika ada lebih dari 1 kelas

    dalam suatu soalus permasalahan dan ada kelas yang mendapat pewarisan sifat(inheritance) darikelas lain. Jadi, dengan memberi akses protected, suatu atribut dan/atau fungsi bisa diakses

    penuh dari kelas turunan(child).

    D. Perbedaan Public, Private dan Protected

    Public: anggota pribadi dari kelas dasar hanya dapat diakses oleh anggota yang kelas dasar.

    Private: anggota publik dari kelas dasar dapat diakses oleh anggota yang kelas dasar,anggota

    kelas turunan serta anggota yang berada di luar kelas dasar dan kelas turunan.

    Protected: anggota dilindungi dari kelas dasar dapat diakses oleh anggota kelas

    dasarserta anggota kelas turunan.

    Perbedaan public, private, protected, dan tanpa penentu akses pada variabel :

    public : variabel dapat di akses pada semua kelas yang menggunakan kelas yang berisi variabel

    tersebut.

    Private : Hanya dapat diakses oleh metode2 dalam kelas itu sendiri.

    Protected : Variabel instan dapat diakses pada kelas sendiri dan subkelasnya.

    Tanpa Penentu akses : variabel dapat diakses oleh kelas yang berada dalam package yang

    sama. Perbedaan public, private, protected, dan tanpa penentu akses pada metode :

    Public : Metode dapat diakses oleh sembarang kelas.

    Private : Hanya dapat diakses pada metode2 dalam kelas yang sama.

  • 5/24/2018 go

    13/29

    Protected : Metode dapat diakses pada kelas sendiri dan pada subkelasnya.

    6. Karakteristik OOP dan Contohnya

    A. Inheritance

    Pengertian Inheritance (Penurunan/Pewarisan) ini merupakan ciri khas dari oop yang tidak terdapatdalam pemrograman prosedural gaya lama. Inheritance adalah turunan atau pewarisan suatu class ke

    class baru dengan mewakili semua function yang ada di class utama (parent class). Inheritance sering

    sekali digunakan di dalam pemrograman berorientasi objek atau OOP. Dengan kata lain, class utama

    (parent class) dengan classes turunannya berhubungan satu sama lain. Inheritanceatau pewarisan pada

    pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada

    kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode

    tambahan yang merupakan sifat khusus kelas yang menjadi turunannya.Inherintance adalah salah satu

    bentuk penggunaan kembali perangkat lunak dimana suatu kelas baru dibuat dari kelas yang sudah ada

    sebelumnya dengan memakai variabel data method dari kelas yang sudah ada, serta menambah

    atribut/pelaku yang baru, kelas baru otomatis memiliki variabel atau fungsi yang dimiliki kelas asal.

    Tujuannya yaitu membentuk obyek baru yang memiliki sifat sama dengan obyek yang sudah ada

    sebelumnya.

    Keuntungan Inheritance:

    Saat anda ingin membuat class baru, dan ternyata pada class lain telah ada code yang ingin

    anda gunakan, maka anda tinggal meng-extend class lain tersebut.

    tidak perlu mengutak atik kode kelas yang membutuhkan tambahan atribut atau metode saja,

    karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas dasarnya. Kelas

    dasar akan mewariskan semua atribut dan kodenya kecuali konstruktor dan destruktor yang

    memiliki izin aksespublicdanprotectedke kelas turunannya dengan izin akses yang sama dengan

    pada kelas dasar.

    Ketika sebuah kelas turunan dibuat objeknya saat eksekusi, maka secara implisit konstruktor

    kelas dasar dipanggil terlebih dahulu baru kemudian konstruktor kelas turunan dijalankan. Begitu

    juga saat objek dimusnahkan maka secara destruktor kelas turunan akan dijalankan baru

    kemudian destruktor kelas dasar dijalankan.

    Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class

    induk.

    Memudahkan dan Mempercepat pemprogramman , mengurangi Code

    Sample inheritance dalam C#.Net

    Contoh yang sangat sederhana dengan mengambil Class Manusia sebagai contoh, perhatikan penjelasan

    di bawah ini:

  • 5/24/2018 go

    14/29

    Class: Manusia

    Attribute: Berat Badan, Tinggi Badan, Jenis Kelamin

    Method: Bernafas, Makan, Minum, Bekerja, Belajar, Tidur

    Class ini dapat diwariskan menjadi SubClass Dosen dan SubClass Mahasiswa. Dan kedua SubClass

    tersebut dapat memiliki Attribute dan Method tambahan seperti pada contoh di bawah ini:

    SubClass: Dosen

    Attribute: Berat Badan, Tinggi Badan, Jenis Kelamin, NIP, Kemampuan

    (Skill), Gelar

    Method: Bernafas, Makan, Minum, Bekerja, Belajar, Tidur, Mengajar

    SubClass: MahasiswaAttribute: Berat Badan, Tinggi Badan, Jenis Kelamin, NIM, Kemampuan

    (Skill)

    Method: Bernafas, Makan, Minum, Bekerja, Belajar, Tidur

    Contoh syntax inheritance pada c#:1:publicclassWindow2: {3: //objek konstruktor4: publicWindow(inttop, intleft)

    5: {6: this.top = top;7: this.left = left;8: }9:10: // simulasi menggambar pada windows11: publicvoidDrawWindow()12: {13: Console.WriteLine("Drawing Window at {0}, {1}",14: top, left);15: }16:17: //variabel didefinisikan private sehingga18: //tidak dapat digunakan pada kelas turunannya19: privateinttop;20: privateintleft;21: }22:23: // ListBox diturunkan dari class Window24: publicclassListBox : Window25: {26: // menambahkan parameter pada konstruktor

  • 5/24/2018 go

    15/29

    27: publicListBox(inttop, intleft, stringtheContents) :28: base(top, left) // call base constructor29: {30: mListBoxContents = theContents;31: }32:

    33: // new version (new keyword) karena34: // pada method di kelas turunan dirubah isinya35: publicnewvoidDrawWindow()36: {37: base.DrawWindow(); // memanggil dari base class38: Console.WriteLine("Writing string to the listbox: {0}",39: mListBoxContents);40: }41: privatestringmListBoxContents; // member variabel baru42: }43:44: publicclassTester45: {46: publicstaticvoidMain()47: {48: // membuat instan class baru49: Window w = newWindow(5, 10);50: w.DrawWindow();51:52: // membuat instan dari class turunan53: ListBox lb = newListBox(20, 30, "Hello world");54: lb.DrawWindow();55: }56: }

    B. PolymorphismePolymorphism berarti banyak bentuk, maksudnya adalah suatu obyek dapat memiliki

    berbagai bentuk, sebagai obyek dari Classnya sendiri atau obyect dari Superclassnya.

    Polymorphism merupakan kemampuan suatu method untuk bekerja dengan lebih dari satu tipe

    argumen atau 2 object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu

    cara yang unik. Contoh, saya melatih anjing saya dengan perintah untuk menggonggong dan juga

    saya melatih kuda untuk merespon perintah saya untuk meringkik. Saya lakukan latihan untuk

    merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing

    dan kuda akan merespon dengan gonggongan atau ringkikan.Polymorphism itu sendiri terbagi dua yaitu: Overloadingdan Overiding

    Overloading: adalah pemakaian beberapa methods ataupun properties dengan nama yang sama,

    tetapi memiliki daftar parameter/argument yang berbeda. Perbedaan yang dimaksud adalah beda

    jumlah parameter, beda tipe data, atau beda keduanya (jumlah parameter dan tipe data). Methods

    ataupun properties yang hanya beda return value (nilai balik) tidak bisa dikatakan sebagai

    overloading. Keyword yang dipakai adalah Overloads. Jika dalam satu class, keyword ini

  • 5/24/2018 go

    16/29

    bersifat optional artinya kita tidak harus menambahkan keyword Overloads ketika

    mendefinisikan beberapa methods ataupun properties yang menerapkan konsep overloading.

    Apabila kita tetap ingin memakainya, maka keyword Overloads harus digunakan di semua

    methods ataupun properties tadi. Apabila beda class, keyword Overloads ini harus digunakan.

    Misalnya method menghitung Luas:

    HitungLuas (int panjang, int lebar)

    Method ini digunakan untuk menghitung luas persegi

    HitungLuas (int alas, int tinggi)

    Method ini digunakan untuk menghitung luas segitiga

    Overriding: kemampuan class turunan untuk memodifikasi methods atau properties dari class

    induk. Dengan overriding kita bisa membuat implementasi baru pada methods atau properties di

    class turunan yang berbeda dengan methods atau properties yang ada pada class induk.

    Perbedaan utama antara Overloading dengan Overriding adalah pada pemakaianparameter. Pada overloading kita bisa mengubah parameter, sedangkan pada overriding kita

    tidak boleh mengubah parameter.

    Ada beberapa keyword yang bisa dipakai di overriding, antara lain:

    Keyword Overridable

    Keyword ini digunakan pada methods atau properties di class induk yang menandakan bahwa

    methods atau properties tadi bisa di-override pada class turunan.

    Keyword Overrides

    Keyword ini digunakan pada class turunan yang menandakan bahwa methods atau properties tadi

    meng-override methods atau properties yang ada di class induk.

    Keyword Not Overridable

    Keyword ini digunakan pada methods atau properties di suatu class yang menandakan bahwa

    methods atau properties tadi tidak bisa di-override pada class turunan.

    Keyword MustOverride

    Keyword ini digunakan untuk mendeklarasikan abstract methods atau abstract properties. Hanya

    ada deklarasi header di sini, tanpa ada pendefinisian implementasi. Class yang mempunyai

    abstract methods atau abstract properties harus didefinisikan juga sebagai abstract class dengan

    keyword MustInherit.Aspek kedua yang tidak kalah penting dari inheritance adalah polymorhism, poly berarti

    banyak dan morph berarti bentuk, jadi polymorphism dapat berarti dapat menggunakan banyak

    bentuk tanpa harus mengacu details yang sama. Anda dapat mengimplementasikan

    polymorphism dengan dua cara yaitu:

    Membuat virtualmethod pada base class (class induk)

  • 5/24/2018 go

    17/29

    Membuat class turunan yang mempunyai method dengan keywordoverrideyang mengganti isi

    dari method dengan keyword virtualyang ada pada base class-nya.

    Penggunaan prinsip polymorphism dapat dilihat pada contoh program dibawah ini.

    contoh syntax polymorphisme :

    1:publicclassWindow2: {3: //deklarasi konstruktor dengan dua parameter4: publicWindow(inttop, intleft)5: {6: this.top = top;7: this.left = left;8: }9:10: //method untuk draw window11: publicvirtualvoidDrawWindow()12: {

    13: Console.WriteLine("Window: drawing Window at {0}, {1}",14: top, left);15: }16:17: //member variabel dideklarasikan protected18: //berarti dapat diakses dari class turunannya19: protectedinttop;20: protectedintleft;21:22: } // end Window23:24: // class ListBox diturunkan dari class Window

    25: publicclassListBox : Window26: {27: //konstruktor yang menmanggil konstruktor dari base class nya28: publicListBox(inttop,intleft,stringcontents): base(top, left)29: {30: listBoxContents = contents;31: }32:33: //method yang di override dari base class-nya34: //karena mempunyai implementasi yang berbeda35: publicoverridevoidDrawWindow()36: {37: base.DrawWindow(); // invoke the base method38: Console.WriteLine("Writing string to the listbox: {0}",39: listBoxContents);40: }41:42: privatestringlistBoxContents; // member variabel baru43: } // end ListBox44:45: publicclassButton : Window46: {

  • 5/24/2018 go

    18/29

    47: publicButton(48: inttop,49: intleft)50: : base(top, left)51: { }52:

    53: // an overridden version (note keyword) because in the54: // derived method we change the behavior55: publicoverridevoidDrawWindow()56: {57: Console.WriteLine("Drawing a button at {0}, {1}\n",58: top, left);59: }60: } // end Button61:62: publicclassTester63: {64: staticvoidMain()65: {66: Window win = newWindow(1, 2);67: ListBox lb = newListBox(3, 4, "Stand alone list box");68: Button b = newButton(5, 6);69: win.DrawWindow();70: lb.DrawWindow();71: b.DrawWindow();72:73: Window[] winArray = newWindow[3];74: winArray[0] = newWindow(1, 2);75: winArray[1] = newListBox(3, 4, "List box in array");76: winArray[2] = newButton(5, 6);77:78: for(inti = 0; i < 3; i++)79: {80: winArray[i].DrawWindow();81: } // end for82: } // end Main83: } // end Tester

    Jika dijalankan akan diperoleh output sebagai berikut:

    1:Window: drawing Window at 1, 22:Window: drawing Window at 3, 43:Writing stringto the listbox: Stand alone list box4:Drawing a button at 5, 65:6:Window: drawing Window at 1, 27:Window: drawing Window at 3, 48:Writing stringto the listbox: List box inarray9:Drawing a button at 5, 6

    C. Encapsulation

  • 5/24/2018 go

    19/29

    Encapsulationmerupakan suatu cara pembungkusan data dan method yang menyusun

    suatu kelas sehingga kelas dapat dipandang sebagai suatu modul dan cara bagaimana

    menyembunyikan informasi detail dari suatu class (information hiding) dengan tujuan untuk

    menghindari interferensi dan menyederhanakan penggunaan sistem itu sendiri. Dalam

    OOP, Enkapsulasi sangat penting untuk keamanan serta menghindari kesalahan

    permrograman,pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak

    dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi

    sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-

    waktu, sekaligus menjaga program tersebut. maksudnya secara lebih jelas agar memastikan agar

    object hanya dapat di ubah oleh object yang mendapat ijin untuk mengubahnya , bila tidak

    memiliki ijin maka tidak dapat mengubahnya atau membacanya.

    Dua hal yang mendasar dalam encapsulasi yakni :

    Information hiding.Kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung

    dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang

    diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah public. Kita

    dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat

    diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol private ketika

    mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

    Interface to access data.

    Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada

    generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik

    tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena

    didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran

    generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula

    dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala

    atau tidak.

    Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses

    ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan

    program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.Contoh syntax encapsulation pada c#:

    using System;

    namespace Test

    {

    class Program

  • 5/24/2018 go

    20/29

    {

    static void Main(string[] args)

    {

    Penjumlahan p = new Penjumlahan(5, 9);

    Penjumlahan q = new Penjumlahan(7, 9);

    Console.WriteLine(p.hitungPenjumlahan());

    Console.WriteLine(q.hitungPenjumlahan());

    }

    }

    class Penjumlahan

    {

    private int a;

    private int b;

    public Penjumlahan(int a, int b)

    {

    this.a = a;

    this.b = b;

    }

    public int hitungPenjumlahan()

    {

    return getA() + getB();

    }

    public int getA()

    {

    return a;

    }

    public void setA(int a)

    {this.a = a;

    }

    public int getB()

    {

    return b;

  • 5/24/2018 go

    21/29

    }

    public void setB(int b)

    {

    this.b = b;

    }

    }

    }

    Dalam contoh sebelumnya variable a dan b tidak memiliki access modifier, sehingga

    dianggap public oleh C#, sekarang kita meletakan access modifier private pada variable tersebut

    sehingga varibel tersebut tidak dapat dengan bebas diakses dari luar class, sehingga untuk

    merubah variable tersebut kita memerlukan Method yang bernama mutator yaitu public int

    getA() & public int getB() yang mereturn nilai a dan b. Dan untuk dapat mendapatkan /

    mengetahui nilai dari a & b kita menggunakan Method yang bernama Accessor yaitu public void

    setA(int a) & public void setB(int b) dimana Method tersebut akan meng-assign nilai a dengan

    nilai a baru yang kita passingkan pada variable tersebut. Encapsulation ini berfungsi untuk

    membatasi akses pada variable-varibel yang ada didalam class secara bebas dari luar class,

    sehingga kita dapat membuat program yang lebih efektif dan efisien.

    D. AbstractionAbstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses

    olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayanisebagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan perubahan

    keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan

    bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan

    beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. Abstraction ini

    merupakan cara kita melihat suatu sistem secara sederhana dimana sistem tersebut terdiri dari

    subsistem-subsistem yang saling berhubungan satu sama lainnya. Abstraction 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.

    Pada Obyek Motor terdiri dari Sistem Kemudi, Sistem Pengereman, Sistem Pembakaran,

    Sistem Pengapian. Pada Sistem Pembakaran terdiri dari Subsistem Energi, Subsistem Udara,

    Subsistem Bahan Bakar. Kita memandang bahwa Obyek Motor terdiri dari Banyak Sistem dan

    Subsistem yang saling berhubungan.

    http://id.wikipedia.org/w/index.php?title=Abstraksi_%28ilmu_komputer%29&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Abstraksi_%28ilmu_komputer%29&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Abstraksi_%28ilmu_komputer%29&action=edit&redlink=1
  • 5/24/2018 go

    22/29

    E. Aggregation

    Aggregation adalah kondisi ketika objectberisi gabungan dari object-object yang

    berbeda dan bekerja bersama. Contoh mesin pemotong rumput terdiri dari object roda, objects

    mesin, object pisau dll. Object mesinpun merupakan gabungan dari berbagai object. Kemampuan

    untuk menggunakan aggregation dalam OOP adalah satu feature yang powerful yang

    memungkinkan model menjadi akurat.

    7. Overloading

    Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut

    dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter

    mesti berbeda atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat

    mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.

    Untuk lebih Jelasnya Overloading secara singkat :

    Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda

    Nilai Yang Di Return Harus memiliki Tipe yang sama

    Sample Overloading pada function TaxCalc pada C#.Net :

    >>>OverloadingC#12345678910111213

    14151617181920212223

    namespace csharp_polymorpism{

    public class KelilingSegi{

    public double sisiA;public double sisiB;public double sisiC;//Constuctor satupublic void Keliling (double a){

    this.sisiA=a;this.sisiB=1;this.sisiC=1;

    }

    //Constuctor duapublic void Keliling (double a, double b){this.sisiA=a;this.sisiB=b;this.sisiC=1;}//Constuctor tigapublic void Keliling (double a, double b, double c){

    this.sisiA=a;this.sisiB=b;

  • 5/24/2018 go

    23/29

    2425262728293031323334353637383940414243

    44454647484950515253

    this.sisiC=c;}

    }class Program{

    public static void Main(string[] args){

    KelilingSegi tampil = new KelilingSegi();KelilingSegi tampil_dua = new KelilingSegi();KelilingSegi tampil_tiga = new KelilingSegi();Console.WriteLine("Tampil Constructor Pertama");tampil.Keliling(10);Console.WriteLine("Sisi A = "+tampil.sisiA);Console.WriteLine("Sisi B = "+tampil.sisiB);Console.WriteLine("Sisi C = "+tampil.sisiC);Console.WriteLine("Tampil Constructor Kedua");tampil_dua.Keliling(10, 11);Console.WriteLine("Sisi A = "+tampil_dua.sisiA);Console.WriteLine("Sisi B = "+tampil_dua.sisiB);Console.WriteLine("Sisi C = "+tampil_dua.sisiC);

    Console.WriteLine("Tampil Constructor Ketiga");tampil_tiga.Keliling(10, 11, 12);Console.WriteLine("Sisi A = "+tampil_tiga.sisiA);Console.WriteLine("Sisi B = "+tampil_tiga.sisiB);Console.WriteLine("Sisi C = "+tampil_tiga.sisiC);Console.Write("Press any key to continue . . . ");Console.ReadKey(true);

    }}}

    Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita

    bilang memodifikasi atau memperluas data dan method pada kelas induk.Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya. Contoh

    Overriding pada C#.Net:

    >>>Overiding C#1234567891011121314151617

    namespace csharp_overiding{class first{public void show(){Console.WriteLine("Keterangan ini ditampilkan oleh class first");}}class second : first {public void show1(){Console.WriteLine("Keterangan ini ditampilkan oleh class dua");}}class Program {

  • 5/24/2018 go

    24/29

    1819202122232425262728

    public static void Main(string[] args){first satu = new first();satu.show();second dua = new second();dua.show1();Console.Write("Press any key to continue . . . ");Console.ReadKey(true);}}}

    Outputnya adalah:

    *8. Membuat Program Hitung Mata Kuliah Mahasiswa

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

    namespacekonversiNilaiMahasiswa{

    classNilai_Mahasiswa {

    //atributprivatedoublentugas;privatedoublenpartisipasi;privatedoublenuts;privatedoublenuas;privatestringnhuruf;

    privatedoublenakhir;

    publicdouble_ntugas{

    get{ returnntugas; }set{ ntugas = value; }

    }publicdouble_npartisipasi{

    get{ returnnpartisipasi; }

  • 5/24/2018 go

    25/29

    set{ npartisipasi = value; }}publicdouble_nuts{

    get{ returnnuts; }set{ nuts = value; }

    }publicdouble_nuas{

    get{ returnnuas; }set{ nuas = value; }

    }publicdoubleHitungNilaiAkhir(doublentugas, doublenpartisipasi,double

    nuts,doublenuas){

    return0.3 * ntugas + 0.2 * npartisipasi + 0.3 * nuts + 0.2 * nuas; }publicstringkonversiHuruf(doublena){

    stringnh = "";

    if(na > 85 && na 80 && na 75 && na 70 && na 65 && na 60 && na 55 && na 50 && na 40 && na

  • 5/24/2018 go

    26/29

    {nh = "E";

    }returnnh;

    }

    publicvoidtampil(){

    Console.WriteLine("Menghitung Nilai Mata Kuliah Mahasiswa");Console.WriteLine("" );Console.Write("Nilai Tugas = ");ntugas = double.Parse(Console.ReadLine());Console.Write("Nilai Partisipasi = ");npartisipasi = double.Parse(Console.ReadLine());Console.Write("Nilai UTS = ");nuts = double.Parse(Console.ReadLine());Console.Write("Nilai UAS = ");nuas = double.Parse(Console.ReadLine());Console.WriteLine("-----------------------------------------------");nakhir =HitungNilaiAkhir(ntugas,npartisipasi,nuts,nuas);

    Console.WriteLine("Nilai Akhir = "+ nakhir);Console.WriteLine("-----------------------------------------------");nhuruf = konversiHuruf(nakhir);Console.Write("nilai huruf = "+ nhuruf);

    }}

    }

    usingSystem;using System.Collections.Generic;usingSystem.Linq;usingSystem.Text;

    namespacekonversiNilaiMahasiswa{

    classProgram{

    staticvoidMain(string[] args){

    Nilai_Mahasiswanl1 = newNilai_Mahasiswa();nl1.tampil();

    Console.ReadKey();

    }

    }}

    Outputnya adalah:

  • 5/24/2018 go

    27/29

    Referensi:

    http://zegyjib.wordpress.com/matkul/oop2/oop2-polymorphism-c-java-c/http://ansapena.wordpress.com/

    http://suryodesign.wordpress.com/2009/04/22/pengertian-overloading-overriding-inheritance-encapsulation/http://calonpresident.blogspot.com/2012/01/construktor-dan-destruktor.html

    http://erickkurniawan.wordpress.com/2008/06/20/object-oriented-programming-in-c-part3/

    Diposkan olehDhiah Eka di17.53

    Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest

    1 komentar:

    http://zegyjib.wordpress.com/matkul/oop2/oop2-polymorphism-c-java-c/http://zegyjib.wordpress.com/matkul/oop2/oop2-polymorphism-c-java-c/http://ansapena.wordpress.com/http://ansapena.wordpress.com/http://suryodesign.wordpress.com/2009/04/22/pengertian-overloading-overriding-inheritance-encapsulation/http://suryodesign.wordpress.com/2009/04/22/pengertian-overloading-overriding-inheritance-encapsulation/http://suryodesign.wordpress.com/2009/04/22/pengertian-overloading-overriding-inheritance-encapsulation/http://calonpresident.blogspot.com/2012/01/construktor-dan-destruktor.htmlhttp://calonpresident.blogspot.com/2012/01/construktor-dan-destruktor.htmlhttp://erickkurniawan.wordpress.com/2008/06/20/object-oriented-programming-in-c-part3/http://erickkurniawan.wordpress.com/2008/06/20/object-oriented-programming-in-c-part3/https://plus.google.com/115240445727599042819https://plus.google.com/115240445727599042819http://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.htmlhttp://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.htmlhttp://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.htmlhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=emailhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=twitterhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=pinteresthttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=pinteresthttp://2.bp.blogspot.com/-XPDilHT97jE/UlTbjDBTIvI/AAAAAAAAABg/ObBWbtH2k6g/s1600/Output+No.8.JPGhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=pinteresthttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=twitterhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=twitterhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=emailhttp://www.blogger.com/share-post.g?blogID=5339120971193399568&postID=8046047590528543907&target=emailhttp://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.htmlhttps://plus.google.com/115240445727599042819http://erickkurniawan.wordpress.com/2008/06/20/object-oriented-programming-in-c-part3/http://calonpresident.blogspot.com/2012/01/construktor-dan-destruktor.htmlhttp://suryodesign.wordpress.com/2009/04/22/pengertian-overloading-overriding-inheritance-encapsulation/http://suryodesign.wordpress.com/2009/04/22/pengertian-overloading-overriding-inheritance-encapsulation/http://ansapena.wordpress.com/http://zegyjib.wordpress.com/matkul/oop2/oop2-polymorphism-c-java-c/
  • 5/24/2018 go

    28/29

    1.

    Ali Nur Ikhsan13 Mei 2014 06.41

    Isi Blognya keren & Bermanfaat,namun buat tampilannya kurang sinkron... jadi membuat

    pembaca kurang nyaman dalam membacanya

    harusnya antara tulisan & Background warna harus berbeda seperti kalau bg warna birumaka tulisanya putih/kuning biar bisa mbaca.... :)

    Balas

    Muat yang lain...

    Posting LamaBerandaLangganan:Poskan Komentar (Atom)

    Arsip Blog

    2013(5)o Oktober(1)

    http://www.blogger.com/profile/02217819169901637840http://www.blogger.com/profile/02217819169901637840http://www.blogger.com/profile/02217819169901637840http://dhiaheka.blogspot.com/2013/05/link-tugas-bahasa-pemrograman_3455.htmlhttp://dhiaheka.blogspot.com/http://dhiaheka.blogspot.com/http://dhiaheka.blogspot.com/http://dhiaheka.blogspot.com/feeds/8046047590528543907/comments/defaulthttp://dhiaheka.blogspot.com/feeds/8046047590528543907/comments/defaulthttp://dhiaheka.blogspot.com/feeds/8046047590528543907/comments/defaulthttp://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://dhiaheka.blogspot.com/feeds/8046047590528543907/comments/defaulthttp://dhiaheka.blogspot.com/http://dhiaheka.blogspot.com/2013/05/link-tugas-bahasa-pemrograman_3455.htmlhttp://www.blogger.com/profile/02217819169901637840http://www.blogger.com/profile/02217819169901637840
  • 5/24/2018 go

    29/29

    Rangkuman tentang OOP pada C#o Mei(4)

    2012(13)

    Mengenai Saya

    Dhiah Eka

    Lihat profil lengkapku

    Template Ethereal. Gambar template olehmerrymoonmary.Diberdayakan olehBlogger.

    http://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.htmlhttp://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.htmlhttp://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/https://plus.google.com/115240445727599042819https://plus.google.com/115240445727599042819https://plus.google.com/115240445727599042819http://www.istockphoto.com/googleimages.php?id=5721536&platform=blogger&langregion=inhttp://www.istockphoto.com/googleimages.php?id=5721536&platform=blogger&langregion=inhttp://www.istockphoto.com/googleimages.php?id=5721536&platform=blogger&langregion=inhttp://www.blogger.com/http://www.blogger.com/http://www.blogger.com/https://plus.google.com/115240445727599042819http://www.blogger.com/http://www.istockphoto.com/googleimages.php?id=5721536&platform=blogger&langregion=inhttps://plus.google.com/115240445727599042819https://plus.google.com/115240445727599042819http://void%280%29/http://void%280%29/http://void%280%29/http://void%280%29/http://dhiaheka.blogspot.com/2013/10/rangkuman-tentang-oop-pada-c_9015.html