Minggu, 13 Mei 2012

Bab III Overloading

,
Bab 3

Polimorphisme  Overloading

Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk.
Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda. Pada dasarnya ada 2 tipe polymorphism, yaitu:
1 . Static atau trivial merupakan, function overloading
     (penggunaan kembali nama fungi yang sama tapi dgn argumen yang berbeda) 
     yang terbagi dalam 3 signature yaitu:
     - Jenis Array
     - Letak Array
     - Type Array
     Contoh function overloading :
     void tambah (int a, int b);
     void tambah(float d, float c);
2 . Dynamic atau true, Merupakan function overriding 
     (sebuah fungsi dalam class turunan yang memiliki nama, return type argumen function yang sama 
     dengan fungsi dalam class induk). Menggunakan virtual method.

     Pure Virtual Method (tanpa function body)
     contoh : virtual void jalan() = 0;
     Squasi Virtual Method (ada function body)
     contoh : virtual void info() {;} 

Keuntungan Pemograman dengan menggunakan Polymorphism adalah :
• Kita dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan membuat kelas kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas.

• kita dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak memberikan implementasidari metode-metode yang ada.Hal ini berguna jika kita ingin membuat semacam template kelas,kelas semacam ini disebut kelas abstrak karena behaviournya masih abstrak dan belum diimplementasikan.subkelas-subkelas dari kelas semacam ini yang disebut kelas konkret,mengimplementasikan behaviuor abstrak tersebut sesuai dengan kebutuhan masing-masing.

• Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang sudah ada,sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya, namun tetap bisa menambahkan attribute dan atau method unik dari class itu sendiri. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.

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.
lebih Jelasnya Overloading secara singkat :
  • Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
  • Nilai Yang Di Return Harus memiliki Tipe yang sama
  • Overload merupakan pendefinisian ulang suatu metode dalam class yang sama. Syarat overload yaitu nama metode dan tipe parameter harus berbeda dalam class yang sama.
Bahasa Program C#

Overloading
using System;

namespace Bab3_1
{
class beli
{
public void  barang()
{
Console.WriteLine(".......... OOP2 Sekuterabi.blogspot.com ..........");
Console.WriteLine("-----------  BAB III.Overload Method   -----------");
Console.WriteLine();
Console.WriteLine();
}
public void  barang(byte jumlah,int harga)
{
Console.WriteLine("Harga = {0}",harga);
Console.WriteLine("Jumlah yang di beli = {0}",jumlah);
}
public int barang (int harga,byte jumlah)
{
return jumlah*harga;
}
}
class program
{
public static void Main(string[] args)
{     
beli nie = new beli();
byte jumlah;
int harga = 0;
int total;
nie.barang();
Console.Write("Jumlah yang di beli = ");
jumlah = Convert.ToByte(Console.ReadLine()); Console.Write("Harga barang = ");
harga = Convert.ToInt32(Console.ReadLine());
total = nie.barang(harga,jumlah);
Console.WriteLine("Total yang harus dibayar = {0}",total);
Console.WriteLine();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}

Bahasa Program Java

package overload;
import java.util.Scanner;
class beli
{
    public void  barang()
    {

       System.out.println(".......... OOP2 Sekuterabi.blogspot.com ..........");
       System.out.println("-----------  BAB III.Overload Method   -----------");
       System.out.println();
    }

    public void  barang(byte jumlah,int harga)
    {

        System.out.println("Harga = {0}"+harga);
        System.out.println("Jumlah yang di beli = {0}"+jumlah);
    }

    public int barang (int harga,byte jumlah)
    {
        return jumlah*harga;

    }
}
public class Main {
    public static Scanner input=new Scanner(System.in);
    public static void main(String[] args) {

        beli nie = new beli();

        byte jumlah;
        int harga = 0;
        int total;
        nie.barang();
        System.out.print("Jumlah yang di beli = ");
        jumlah = input.nextByte();
        System.out.print("Harga barang = ");
        harga = input.nextInt();
        total = nie.barang(harga,jumlah);
        System.out.println("Total yang harus dibayar = "+total);

    }

}
 
Bahasa Program C++
using namespace std;
class beli
{
public:void  barang()
{
cout<<".......... OOP2 Sekuterabi.blogspot.com .........."<<endl;
cout<<"-----------  BAB III.Overload Method   -----------"<<endl;
cout<<endl;
}
public: void  barang(long jumlah,int harga)
{
 cout<<"Berapa Motor yang dibeli= "<<harga<<endl;
 cout<<"Harga satuan Motor= "<<jumlah<<endl;
}
public: int barang (int harga,long jumlah)
{
return jumlah*harga;
}
};
int main()
{
    beli nie;
    long jumlah;
    int harga = 0;
    int total;

    nie.barang();
    cout<<"Berapa Motor yang dibeli = ";
    cin>>jumlah;

    cout<<"Harga Satuan Motor Yang Harus Dibayar = ";
    cin>>harga;

    total = nie.barang(harga,jumlah);

    cout<<"Total yang harus dibayar = Rp. "<<total<<endl;
    cout<<endl;
    return 0;
}

0 komentar to “Bab III Overloading”

Posting Komentar