Rangkuman OOP di c#
1.
Class
Class
adalah cetak biru dari suatu objek riil
di dunia. Penerapan objek riil direpresentasikan dalam bentuk class. Misalnya
objek mahasiswa. Mahasiswa merupakan objek dari dunia nyata dan dapat
dipresentasikan ke dalam suatu class mahasiswa:
Contoh:
|
classProgram
{
privatestaticvoidtulis()
{
Console.WriteLine("method
pertama");
}
}
|
Atribut:
Adalah
suatu pengenalan untuk menyimpan suatu data.
contohnya: String Nim; Int angka;
contohnya: String Nim; Int angka;
Method:
Adalah
implementasi dalam class yang menyediakan informasi tambahan yang class tidak
dapat menanganinya sendiri.
|
Contoh :
|
2.
Objek
Objek
mahasiswa mempunyai ciri-ciri khusus yang dimiliki oleh mahasiswa. Misalnya
nomor induk mahasiswa(nim),nama,mail dan sebagainya. Ciri-ciri khusus mahasiswa
yang menjadi identitas utama sebagai objek mahasiswa dan bukan objek dosen. Di
dalam mempresentasikan ciri-cirri khusus di dalam class mahasiswa disebut
atribut atau variabel.
3.
Cara membuat objek
Fungsi
objek mahasiswa memiliki beberapa fungsi khusus untuk mendiskripsikan
mahasiswa. Misalanya mahasiswa menjawab soal,bertanya, mendapatkan nilai suatu
ujian mata kuliah dan sebagainya. Fungsi adalah urutan instruksi terurut yang
harus menghasilkan suatu nilai (retrurn
value).
Objek
mahasiswa memiliki beberapa prosedur khusus untuk mendiskripsikan mahasiswa.
Misalanya mahasiswa mencetak kartu ujian.Prosedur adalah urutan intruksi
terurut. Prosedur dikatakan fungsi yang tidak manghasilkan suatu nilai. Di
dalam programing OOPdipresentasikan sebagai fungsi dengan keyword “void”.
|
Contoh : membuat objek class persegipanjang
PP.l1 = new PP ();
|
4.
Konstruktor
Konstruktor
adalah fungsi khusus yang sama dengan nama class dan tidak mempunyai nilai
balik atau return value. Kegunaan utama adalah untuk mendefinisikan suatau
objek dari class. Secara default, konstrukto tidak ber-parameter. Class
mahasiswa dapat terdiri dari bebrapa konstruktor antar lain konstruktor tudak
ber-parameter, ber-parameter nim dan nam dan atau beberapa kombinasi yang lain
dari parameter.
5.
Acces modifier ( private,protected, dan public)
Acces
modifier ada 3 jenis yang umum:
1.
Private, akses terbatas pada class itu sendiri
2.
Protected, akses terbatas pada class itu sendiri
atau dapat diturunkan ke class turunannya dan berganti akses ke private.
3.
Public, akses tidak terbatas pada dan dari luar
bebas mengakses ke class tersebut.
6.
Karakteristik OOP
Salah
satu dari pemrograman bersifat objek adalah bagaiman menyembunyikan ciri
karakteristik (variabel) yang dimiliki oleh class (enkapsulasi). Salah satu
penyembunyian karakteristik adalah dengan menggunakan “Property” sehingga user
dibatasi untuk mengakses ciri khas class melalui “Property”. Property
dimaksudkan untuk menyediakan metode get atau set terhadap variabel tertentu.
User akan mengakses variabel tersebut melalui “Property”.
1.
Inherritance (Pewaris)
Adalah kemampuan class untuk menurunkan
sifat-sifat ke class turunannya. Class turunannya hanya satu class kecuali
interface.
Contohnya:
|
using System.Text;
namespace inhertance
{
class Class1
{
public class induk
{
protected int nim;
public induk()
{
nim=123214008;
}
}
public class Turunan:induk
{
public Turunan()
{
Console.WriteLine("NIM:
{0}",nim);
}
public static void Main (string[]args)
{
Turunan turunan = new turunan ();
Console.ReadKey();
}
}
}
|
2.
Polymorphisme
Polymorphisme adalah bagian dari
inheritance. Karena ada dua aspek yang paling penting pada inhertance:
·
Code rouse, sebagai contoh ketika anda membuat
class ListBox maka dapat menggunakan logic yang sudah dibuat pada class window.
·
Polymorphisme, poly yang berarti banyak dan morp
berarti bentuk jadi polymorphisme berarti banyak bentuk tanpa harus mengacu
details yang sama.
Contohnya:
publicclass BaseClass {
publicvoid DoWork() { } public int WorkField; public int WorkProperty {
get { return 0; } }
}
publicclass DerivedClass : BaseClass {
publicnewvoid DoWork() { } publicnew int WorkField; publicnew int WorkProperty {
get { return 0; } }
}
|
3.
Encapsulation
Adalah konsep yang selama ini sering anda
dengar pada OOP informasi dalam sebuah class sehingga user yang menggunakan
class tersebut tidak perlu tahu detailnya, hanya cukup mengetahui method dan
property apa saja yang ada dalam class tersebut beserta kegunaannya.
Encapsulation sering disebut sebagai menyembunyikan informasi.
4.
Abstraction
Adalah class yang belum lengkap
strukturnya. Class ini blum dapat menciptakan objek, dala artian baru class
setengah jadi. Yang belum jadi adalah fungsi-fungsi. Sehingga harus override di
Turunan classnya.override adalah penulisan ulang fungsi di Turunan classnya.
Turunan class hanya dapat diturunkan dari satu class induk.
Contohnya:
|
using System;
namespace Bab7 {
public abstract
class AbstractClass {
protected int nim;
public abstract void
setNIM( int nim); {
}
public class
AbstractTurunan : AbstractClass {
public override void
setNIM( int nim) {
this .nim = nim;
}
public int getNIM()
{
return nim;
}
public static void
Main( string [] args) {
AbstractTurunan at =
new AbstractTurunan ();
at.setNIM(1999);
Console .WriteLine(
"NIM: {0}" , at.getNIM());
}
}
}
|
5.
Aggregation
Adalah membuat fungsi baru dengan mengambil
class-class lain dan menggabungkannya ke dalam class baru. Memasang class baru
untuk introperabilitas dengan kode lain.
Contohnya:
Kami memiliki kelas ‘dog’ dengan metode
:’makan’,’berjalan’,’berlari’,’play’.
Dan memiliki kelas ,kucing’ dengan metode :
‘ makan’,’barjalan’,’meloncat’,’play’.
jadi:
jadi:
|
class Cat
has Dog; Eat = Dog.Eat; Walk = Dog.Walk; Play = Dog.Play; Purr; end;
|
7.
Overloading
Adalah
metode yang berhubungan dengan statis mengetik bahasa pemrograman yang
menegakkan memeriksa jenis dalam pemanggilan fungsi. Overloading hanya membuat
sejumlah metode yang berbeda yang kebetulan memiliki nama yang sama. Hal ini di
selesaikan pada waktu kompilasi yang metode ini gunakan.
Overoading
ini merupakan fitur yang ditemukan dalam berbagi bahasa pemrograman. Yang
mungkin menciptakan beberapa metode. Hal ini hanya didefinisikan sebagai
kemampuan dari satu fungsi untuk melakukan tugas yang berbeda.
Contohnya:
# Include
/ / Volume kubus int Volume (int s) { kembali s * s * s;
}
/ / Volume silinder Volume ganda (double r, int h) { kembali 3.14 * r * r * static_cast <ganda> (h);
}
/ / Volume berbentuk kubus yang Volume panjang (l panjang, int b, int h) { kembali l * b * h;
}
int main () { std :: cout << Volume (10);
std :: cout << Volume (2,5, 8);
std :: cout << Volume (100, 75, 15);
} |
8.
Membuat program menghitung nilai mk dan
konversinya:
|
namespace ConsoleApplication5
{
class Program
{
static
void Main(string[]
args)
{
double
ntugas, nuts, npart, nuas, nakhir;
Console.WriteLine("menghitung Nilai Mata Kuliah mahaiswa");
Console.WriteLine("--------------------------------------------");
Console.Write("nilai patisipasi
= ");
npart = double.Parse(Console.ReadLine());
Console.Write("nilai UTS
= ");
nuts = double.Parse(Console.ReadLine());
Console.Write("nilai Tugas
= ");
ntugas = double.Parse(Console.ReadLine());
Console.Write("nilai UAS
= ");
nuas = double.Parse(Console.ReadLine());
Console.WriteLine("------------------------------------");
nakhir =
hitungNilaiAkhir(npart,ntugas,nuts,nuas);
Console.Write("Nilai akhir
= " + nakhir);
Console.WriteLine();
Console.Write("Nilai Huruf
= " + konversiHuruf(nakhir));
Console.ReadKey();
}
public
static double
hitungNilaiAkhir(double np, double nt, double
nuts, double nuas)
{
return
0.3 * np + 0.2 * nt + 0.3 * nuas + 0.2 * nuts;
}
public
static string
konversiHuruf(double na)
{
string
nh = "" ;
if
(na > 85 && na <= 100)
{
nh = "A";
}
if
(na > 80 && na <= 85)
{
nh = "A-";
}
if
(na > 75 && na <= 80)
{
nh = "B+";
}
if(na
> 70 && na <= 75)
{
nh = "B";
}
if (na > 65 && na <= 70)
{
nh = "B-";
}
if
(na > 60 && na <= 65)
{
nh = "C+";
}
if
(na > 55 && na <= 60)
{
nh = "C";
}
if
(na > 50 && na <= 55)
{
nh = "C-";
}
if
(na > 40 && na <= 50)
{
nh = "D";
}
if
(na <= 40)
{
nh = "E";
}
return
nh;
}
}
|
Dengan
hasil seperti gambar di bawah ini: