Final TM ESSAY Flashcards
Pengertian Abstract data type
Abstract data type adalah sebuah enkapsulasi yang didalamnya terdapat representasi data
dari satu tipe data dan subprogram yang menyediakan operasi pada tipe data tersebut.
Pengertian Inheritance
Inheritance adalah suatu teknik untuk mendefinisikan sebuah kelas baru yang dapat memiliki properti dari kelas lain, sehingga dapat memudahkan untuk membuat dan mengatur sebuah aplikasi.
Pengertian Dynamic binding
Dynamic Binding adalah sebuah fitur pada bahasa pemrograman dimana tipe dari sebuah variable tidak dispesifikasikan oleh declaration statement. Tetapi variable tersebut ditentukan tipe nya pada saat di assign sebuah nilai dalam assignment statement yang terjadi pada saat runtime.
Potongan Program Abstract data type dan Inheritance
include
using namespace std;
class Vehicle { public: void setAcceleration(double a) { acceleration = a; } double getAcceleration() const { return acceleration; }
protected:
double acceleration;
};
class Car: public Vehicle { public: void accelerate() const { cout << "Car Accelerating" << endl; } void decelerate() const { cout << "Car Decelerating" << endl; }
void drive() const { cout << "Car Driving" << endl; }
}; int main() { Car myCar;
myCar.accelerate(); myCar.setAcceleration(100.0); cout << myCar.getAcceleration() << endl; return 0; }
Pada screenshot diatas merupakan implementasi dari Abstract data type dan Inheritance menggunakan bahasa C++. Berikut kesimpulan dari program diatas:
1. Abstract data type: Dari baris kode ke-5 sampai baris ke-21 merupakan abstract data type
karena representasi data dan programnya disembunyikan tanpa harus mengetahui secara
detail implementasinya.
2. Inheritance: Pada baris ke-14 merupakan proses dari Inheritance, yaitu class Car: public
Vehicle. Dimana pengertiannya bahwa kelas Car memiliki properti yang dimiliki oleh kelas Vehicle.
Sebutkan event tracing model dari eksekusi pada Prolog dalam konteks Logic Programming Language!
- call, terjadi pada saat percobaan pertama untuk menyelesaikan sebuah goal.
- exit, terjadi pada saat suatu goal telah terselesaikan.
- redo, terjadi pada saat untuk kembali mencoba menyelesaikan ulang sebuah goal.
- fail, terjadi pada saat gagal menyelesaikan sebuah goal.
Pengertian Exception Handling
Exception handling merupakan suatu proses untuk menangani hal yang tidak wajar atau error yang terjadi sehingga perlu di handle secara khusus. bagian yang menghandle ini disebut exception handler.
Pengertian Event Handler
Event handler merupakan bagian kode yang memproses tindakan seperti pengetikan dari keyboard atau pergerakan mouse. Dalam konteks Website, event handler membuat konten web menjadi dinamis yang umumnya dengan metode JavaScript.
Potongan program Exception Handling
#include using namespace std;
double pembagian(int a, int b) { if( b == 0 ) { throw "Tidak dapat membagi dengan bilangan 0 (NOL)"; } return (a/b); }
int main () { int a = 10; int b = 0; double c = 0;
try { c = pembagian(a, b); cout << c << endl; }catch (const char* psn) { cerr << psn << endl; }
return 0;
}
Penjelasan: Potongan program diatas merupakan contoh dari Exception Handling, dimana program tersebut bertujuan untuk menghandle terjadinya error karena pembagian dengan angka NOL (0). Seandainya dalam suatu program tidak memiliki implementasi Exception Handling maka akan terjadinya error dan program tidak bisa dilanjutkan. Berbeda dengan program yang memiliki fitur Exception Handling dimana error tersebut dapat ditangani tanpa terjadinya error, seperti memberitahukan kepada user langsung bahwa “Tidak dapat membagi dengan bilangan 0 (NOL)” dan program masih berjalan normal.
Pengertian Monitors
Monitors adalah konsep dimana semua operasi sinkronisasi pada shared data dikumpulkan ke dalam satu program unit tunggal.
Pengertian Message Passing
Message Passing adalah teknik yang digunakan untuk mengatasi masalah ketika apa yang harus dilakukan pada saat banyak permintaan secara bersamaan oleh task lain untuk berkomunikasi dengan task yang diberikan.
Potongan program Dynamic bind
#include using namespace std;
int Add(int nX, int nY) { return nX + nY; }
int main() { int (*pFcn)(int, int) = Add; cout << pFcn(5, 3) << endl; // menjumlahkan 5 + 3
return 0; }
Pada screenshot diatas merupakan implementasi dari Dynamic Binding menggunakan C++. Pada baris ke-11, merupaka proses binding ke function Add() sehingga pada saat runtime baru diketahui nilai dari pengoperasian dari function Add() tersebut. Dimana sesuai contoh program diatas 5 + 3 akan menghasilkan nilai 8.