Sabtu, 19 Mei 2012

OOP 2 Modul 2


ENCAPSULATION

Pengertian Encapsulation adalah proses pengelompokan Filed dan method dengan memberikan hak akses kepada Filed dan method sehingga Filed hanya dapat di akses melalui method accessor.

Berikut ini keuntungan dari prinsip encapsulation : 

  •  Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari program.
  • Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul tersebut. 
  • Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik hanya akan berinteraksi dengan bagian program melalui variable input dan output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi kemungkinan bug.
Berikut adalah contoh dari program C#, C++ dan Java.
  • Program C#

using System;

namespace oop
{
    class perkalian
    {
        int nilai1, nilai2;
        
        public int wnilai1
        {
            set{nilai1 = value;}
            get{return nilai1;}
        }
        public int wnilai2
        {
            set{nilai2 = value;}
            get{return nilai2;}
        }
        public void nilai(string data1, string data2)
        {
            Console.WriteLine(data1, nilai1);
            Console.WriteLine(data2, nilai2);
        }
        public void hasil(string alldata)
        {
            Console.WriteLine(alldata, nilai1*nilai2);
        }
        
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("!!==============!!");
            Console.WriteLine("!! Tugas OOP 2  !!");
            Console.WriteLine("!!==============!!");
            Console.WriteLine();
            
            int x = 5;
            int y = 10;
            
            perkalian encapsulation = new perkalian();
            encapsulation.wnilai1 = x;
            encapsulation.wnilai2 = y;
            
            Console.WriteLine();
            encapsulation.nilai("Data Pertama = {0}", "Data kedua = {0}");
            encapsulation.hasil("Hasil Perkalian adalah = {0}");
            
            Console.WriteLine();
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}


Hasil seperti dibawah ini :
  • Program C++

#include <cstdlib>
#include <iostream>

using namespace std;

class hitung
{
 private : int a;
 private : int b;
 public : void setA (int e)
 {
 a=e;
 }
 public : int getA()
 {
 return a;
 }
 public : void setB (int w)
 {
 b=w;
 }
 public : int getB()
 {
 return b;
 }
 public : int hasilbagi()
 {
 return getA()*getB();
 }
};
int main(int argc, char *argv[])
{
 hitung h;
 int a,b;
 cout<<"Masukan Nilai Pertama = ";
 cin>>a;
 cout<<endl;
 h.setA(a);
 cout<<"Masukan Nilai Kedua = ";
 cin>>b;
 cout<<endl;
 h.setB(b);
 cout<<"Maka Hasil Perkalian Diatas = "<<h.hasilbagi()<<endl;
 cout<<endl;
 system("PAUSE");
 return EXIT_SUCCESS;
}


Hasil seperti dibawah ini :
  • Program Java

package oop;
public class perkalian
{
    int nilai,nilai1,nilai2,kali1;
    public void setkali1(int X)
    {
        this.nilai1 = X;
    }

    public int getkali1()
    {
        return kali1;
    }

    public void setkali2(int Y)
    {
        this.nilai2 = Y;
    }

    public int getkali2()
    {
        return nilai2;
    }

    public void nilai(String data1, String data2)
    {
        System.out.println(data1+getkali1());
        System.out.println(data2+getkali2());
    }

     public void hasil(String alldata)
    {
         System.out.println(alldata+(getkali1()*getkali2()));
    }


    public static void main(String[] args)
    {
           int X = 1;
           int Y = 10;

           perkalian encapsulation = new perkalian();
           encapsulation.setkali1(X);
           encapsulation.setkali2(Y);
           encapsulation.nilai("Nilai Pertama = ", "Nilai Kedua = ");
           encapsulation.hasil("Maka Hasil Dari Perkalian Diatas Adalah = ");
    }


}


Hasil seperti dibawah ini :


Tidak ada komentar:

Posting Komentar