paris

paris
paris

Selasa, 08 Oktober 2013

Rangkuman OOP di c# nama nia rahayu(123214008) tugas struktur data dan algoritma



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;
Method:
Adalah implementasi dalam class yang menyediakan informasi tambahan yang class tidak dapat menanganinya sendiri.
Contoh :
1.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespacemethod
{
    classProgram
    {
        privatestaticvoidtulis()
        {
            Console.WriteLine("method kesatu");
        }
        privatestaticvoidgaris()
        {
            Console.WriteLine("--------------------------");
        }
        publicstaticvoidMain(string[] args)
        {
            nama();
            nim();
            norek();
            asal();
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

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:
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: