Final TM ESSAY Flashcards

1
Q

Pengertian Abstract data type

A

Abstract data type adalah sebuah enkapsulasi yang didalamnya terdapat representasi data
dari satu tipe data dan subprogram yang menyediakan operasi pada tipe data tersebut.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pengertian Inheritance

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Pengertian Dynamic binding

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Potongan Program Abstract data type dan Inheritance

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Sebutkan event tracing model dari eksekusi pada Prolog dalam konteks Logic Programming Language!

A
  1. call, terjadi pada saat percobaan pertama untuk menyelesaikan sebuah goal.
  2. exit, terjadi pada saat suatu goal telah terselesaikan.
  3. redo, terjadi pada saat untuk kembali mencoba menyelesaikan ulang sebuah goal.
  4. fail, terjadi pada saat gagal menyelesaikan sebuah goal.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Pengertian Exception Handling

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pengertian Event Handler

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Potongan program Exception Handling

A
#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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pengertian Monitors

A

Monitors adalah konsep dimana semua operasi sinkronisasi pada shared data dikumpulkan ke dalam satu program unit tunggal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Pengertian Message Passing

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Potongan program Dynamic bind

A
#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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly