Tugas Kelompok ke-1 (Minggu3 / Sesi4) Essay 1. Jelaskan perbedaan antara Object cout dengan Object cin, serta berikan contohnya Jawaban Cout itu untuk menampilkan data, sedangkan cin itu untuk menginput data. Contoh nya seperti : cout << “Masukkan Panjang balok : “; cin >> panjang; 2. Jelaskan tujuan dari Data member dan Member function? Jawaban Data member umumnya diberikan visibility private atau protected untuk mencegah akses langsung dari luar class. Itu adalah aturan (rule) dalam konsep OOP Encapsulation tujuannya untuk data/information hiding. Member function adalah deklarasi/definisi fungsi dalam class. Kita dapat memasukan deklarasi fungsi saja dalam bentuk function prototype dan definisi fungsinya diimplementasikan diluar class. Ini sangat dianjurkan supaya pembuatan class menjadi lebih terlihat rapi dan mudah di maintain. Penulisan definisi member function diluar class menggunakan scope resolution (::). 3. Apa yang dimaksud dengan Function overloading dan Function overriding, serta berikan contohnya Function Overloading berfungsi untuk membuat fleksibilitas saat penggunaan function. sebelumnya diberitahukan bahwa ketika kita memberikan argument, kita harus mengikuti aturan yang telah ditetapkan oleh function parameter ( kita harus memberikan argument dengan menyesuaikan tipe data dan urutan dari function parameter ). function yang memiliki fitur overloading, memberikan kemudahan dengan kemungkinkan untuk memberikan argument secara fleksibel sesuai keadaan dan kebutuhkan. Contoh nya seperti #include <iostream> #include <string> using namespace std; void cetak(double x); void cetak(string x); int main(){ cetak(9.2); cetak("Test Cpp"); cetak(1); COMP6618–Object Oriented Programming cetak("C/C++"); return 0; } void cetak(double x){ cout<<"double x = "<<x<<endl; } void cetak(string x){ cout<<"string x = "<<x<<endl; } Function overriding adalah sebuah fitur dalam “inheritance pada C++” dimana kita dimungkinkan untuk membuat function yang sama persis di dalam derived class seperti function yang ada pada base class. Hal ini seperti membuat versi function baru di dalam derived class, untuk menggantikan peran function yang ada pada base class. Contoh programnya sepertinya #include <iostream> using namespace std; class baseClass { public: virtual void perkenalan(){ //Overridden Function cout<<"Hallo saya Function dari base class"; } }; class derivedClass: public baseClass{ public: void perkenalan() { //Overriding Function cout<<"Hallo saya Function dari derived Class"; } }; int main() { derivedClass a; a.perkenalan(); return 0; } Kasus Sebuah “Toko XYZ” menjual berbagai macam buah-buahan. Buatlah simulasi pemesanan yang dilakukan oleh “Toko XYZ” dengan ketentuan sebagai berikut : Tampilkan daftar pemesanan beserta harga dari tiap barang dengan ketentuan sebagai berikut: COMP6618–Object Oriented Programming o o o o o Apel per 1 Kg Rp. 25.000 Melon per 1 Kg = Rp. 15.000,Semangka per 1 Kg = Rp. 10.000,Mangga per 1 Kg = Rp. 10.000,Jeruk per 1 Kg = Rp. 8.000,- Input masing – masing jumlah barang yang ingin dipesan oleh pelanggan berdasarkan list buah yang akan dibeli Tampilkan rincian pemesanan customer sesuai dengan data yang sudah diinput beserta Total harga tiap barang dan Total pembelian. o Total harga tiap barang = jumlah barang * harga masing – masing barang. o Total bayar = hasil penjumlahan dari semua Total harga tiap barang Tampilkan status discount. Jika total belanja lebih dari Rp 100.000 maka akan diberikan discont sebesar 10%, jika tidak maka 0%. Tampilan Input Selamat datang di Toko XYZ Daftar Pemesanan, isi dengan [0] jika tidak ingin melakukan pemesanan. Apel Rp. 25.000 : Melon Rp. 15.000,: Semangka Rp. 10.000,: Mangga Rp. 10.000,: Jeruk Rp. 8.000,: Tampilan Output Selamat datang di Toko XYZ Daftar Pemesanan, isi dengan [0] jika tidak ingin melakukan pemesanan. Apel Rp. 25.000 : 3 Kg Melon Rp. 15.000,: 2 Kg Semangka Rp. 10.000,: 1 Kg Mangga Rp. 10.000,: 2 Kg Jeruk Rp. 8.000,: 0 Kg Rincian Pembelian Apel : 3 Melon : 2 Semangka : 1 Mangga : 2 Jeruk : 0 = = = = = Rp 75.000 Rp 30.000 Rp 10.000 Rp 20.000 Rp 0 COMP6618–Object Oriented Programming Total harga Discount 10% Total bayar : : : Rp 135.000 yes Rp 121.500 -=Selamat Mengerjakan=- Refrensi https://www.belajarcpp.com/tutorial/cpp/function-overriding https://www.belajarcpp.com/tutorial/cpp/function-overloading/ https://oopcpp.wordpress.com/2017/03/01/data-member-dan-member-function/ https://bluescoding.blogspot.com/2019/07/perbedaan-stdcout-dan-cout.html COMP6618–Object Oriented Programming