bahan kuliah algor2-pertemuan 4

Upload: yunus-aji-abethusa

Post on 07-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    1/16

    Algoritma &Pemrograman 2

    Operator Overloading

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    2/16

    Pengantar Overloading

    Jika terdapat ekspresi aritmetika seperti 2 + 4 yang merupakan penjumlahan bilangan bulat 2(operand) dengan 4 (operand) yang akan

    menghasilkan 6. Bagaimana apabila kedua operand tersebut adalah

    sekotak apel dan sekotak jeruk Berapa hasil penjumlahan kedua objek tersebut

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    3/16

    OPERATOR OVERLOADING

    !emungkinkan penulisan suatu "ungsi yangmende"inisikan kembali suatu operatorstandar sehingga operator tersebut

    memiliki "ungsi # kegunaan yg sama (ataudapat berbeda) seperti operator standar.

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    4/16

    OPERATOR OVERLOADING

    Sehingga, hasil penjumlahan antara objek

    sekotak apel dan sekotak jeruk dgn

    menggunakan operator overloading “+”

    adalah tergantung dari definisi yg ditetapkan. yaitu kegunaan dan fungsi dari operator

    overloading “+” tersebut.

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    5/16

    Tujuan Overloading

    !emudahkan operasi terhadap data$khususnya yg melibatkan objek.

    penggunaan overloading operator yg tidakla%im harus dihindari.

    !isalnya$ jangan menggunakan tandaoperator &' untuk menyatakan operasi

    penjumlahan$ krn dpt menyebabkan salahpemahaman.

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    6/16

    Non Overloading

    da beberapa operator standar yang tidakdapat dijadikan operator overloading$ diantaranya* Operator jangkauan resolusi  ** Operator kondisi  * Operator si%eo"  si%eo" Operator seleksi seara langsung  . Operator seleksi pointer ke anggota lass  .,

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    7/16

    Bentuk umum overloadingterhada oerator

    tipe operator simbol_operator (kelas obyek)

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    8/16

    !ontoh Oerator Overloading

    1. #include

    2. #include

    3. class Buah

    4.

    !. pri"ate int apel$%.  int &eruk$

    '. public

    . Buah (int &um_apel *+ int &um_&eruk *)$

    ,. "oid in-o_Buah()$1*. Buah operator (Buah b2)$

    11. /$

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    9/16

    !ontoh Oerator Overloading

    12. BuahBuah(int &um_apel+int &um_&eruk)

    13.

    14. apel &um_apel$

    1!. &eruk &um_&eruk$

    1%. /

    1'. "oid Buahin-o_Buah()

    1.

    1,. cout

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    10/16

    !ontoh Oerator Overloading

    22.Buah Buahoperator (Buah b2)

    23.

    24. Buah tmp$ obyek sementara

    2!. tmp.apel apel b2.apel$

    2%. tmp.&eruk &eruk b2.&eruk$

    2'. return (tmp)$

    2./

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    11/16

    !ontoh Oerator Overloading

    2,. "oid main()

    3*. 31. Buah buah1(2*+!)$

    32. Buah buah2(12+4)$

    33. Buah buah3$

    34. buah3 buah1 buah2$

    3!. cout

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    12/16

    Overloading thd" Oerator#nar$ Operator -nary* Operator yg melibatkan operand saja. Ber"ungsi u/ menambahkan atau mengurangkan

    nilai dari suatu variabel. 0ontoh Operator -nary* &++

    &''

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    13/16

    !ontoh Overloading Oerator #nar$

    1. #include

    2. #include

    3. class Buah

    4.

    !. pri"ate

    %. int apel$'. int &eruk$

    . public

    ,. Buah(int &um_apel *+ int &um_&eruk*)$

    1*. "oid in-o_Buah()$

    11. "oid operator ()$

    12. "oid operator ()$

    13. /$

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    14/16

    !ontoh Overloading Oerator #nar$

    14. BuahBuah(int &um_apel+ int &um_&eruk)

    1!.

    1%. apel &um_apel$

    1'. &eruk &um_&eruk$

    1. /

    1,. "oid Buahin-o_Buah()

    2*.

    21. cout

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    15/16

    !ontoh Overloading Oerator #nar$

    24. "oid Buah operator ()

    2!.

    2%. apel$

    2'. &eruk$

    2. /

    2,. "oid Buah operator ()

    3*.

    31. apel$

    32. &eruk$

    33. /

  • 8/18/2019 Bahan Kuliah Algor2-Pertemuan 4

    16/16

    !ontoh Overloading Oerator #nar$

    34. "oid main()

    3!.

    3%. Buah paket (2*+!)$

    3'. cout