Rabu, 25 Juni 2008

Kisi-kisi UAS Konsep Bahasa Pemprograman IT 2007

Halo.. besok kita ujian KBP nih... pgn share kisi2 ah... semoga bermanfaat yah !!


"Kisi-kisi dari bapak Subandijo 02 PNT + kisi-kisi dari senior-senior"

  1. PG - > ada di kuis
  2. Essay

· Exception handling in C++

· Concurrency task Vs Ordinary subprogram

· OOPL definition

· Javascript Object

  1. Coding

· Overloding sub program & parameterized ADT

· Concurenncy semaphore

Dibawah ini saya coba membahas di bagian ESSAY dan Coding.

Untuk Pilihan ganda berikut rangkuman tugas dan TM dari subandijo dari pert 7-13.

http://www.4shared.com/file/52657766/b79dddda/Jawaban_Kuis_dan_TM_1-_13.html

1. Exception handling in C++

a) Exception handling adalah Sebuah proses special untuk menangani sebuah exception. Exception adalah suatu proses di luar kebiasaan di dalam suatu programming language mungkin terdapat suatu kesalahan ataupun tidak, yang perlu ditangani oleh sebuah proses special.

b) Pengertian dari Try Catch dan Throw

· Try() adalah sebuah blok program yang terdiri dari program statements yang mana akan melempar sebuah exception ketika di jalankan. Setiap blok try mungkin mempunyai beberapa blok catch utk menangkap spesifik exception misalkan berupa NULL pointer, aritmatik overflow, dll.

· Catch() adalah blok yang terdiri dari statement untuk menangani exception yang dilempar dari Try().

· Throw [expression] merupakan suatu statement untuk melempar suatu expression ketika suatu event di dalam blok terjadi.

c) Kondisi Unhandled exception in C++

o Jika tidak ada handler yang ditemukan didalam blok try, maka di cari ke blok try yg paling dekat.

o Jika tidak ada handler ditemuka di dalam method maka exception menyebar ke method’s caller.

o Jika tidak ada handler ditemuka sampai ke main(), maka program terminated.

2. Concurrency (Task vs Ordinary subprogram)

· Task adalah suatu program unit yang dapat dijalankan bersama-sama dengan program unit yang lain.

· Perbedaan Task dengan ordinary sub program

/*In English : (silahkan definisikan sndr2 ~_~)

-A task may be implicitly started

-When a program unit starts the execution of a task, it is not necessarily suspended

-When a task’s execution is completed, control may not return to the caller */

i. Task memungkinkan dijalankan secara implicit.

ii. Ketika program unit menjalankan sebuah eksekusi dari task, itu tidak perlu dihentikan.

iii. Ketika eksekusi task selesai, control tidak kembali ke pemanggil.

3. OOPL definition

Definisi dari class, class instances, base class and derive class, method, message, message protocol

  • ADTs are called classes
  • Class instances are called objects
  • A class that inherits is a derived class or a subclass
  • Subprograms that define operations on objects are called methods
  • Calls to methods are called messages
  • The entire collection of methods of an object is called its message protocol or message interface

/* Translate dari penulis ~_~

  • Class adalah panggilan dari ADTs
  • Class instances nama lain dari objects.
  • Derive class adalah class yang inherits(mewarisi).
  • Methods adalah subprogram yang menerapkan operasi pada object
  • Messages adalah panggilan ke method.
  • Message protocol adalah Seluruh kolesi method dari object.

*/

4. Javascript

· Karakteristik umum (general characteristics) dari JavaScript

i. Sedikit lebih mirip dengan java (Serupa dengan java hanya dalam penggunaan syntax yang sama)

ii. Dynamic typing

iii. Tdk ada class ato pemwarisan atau polumorphism

iv. Variable dapat mengacu pada object atau dapat akses langsung primitive values

· object model dari JavaScript

1. Object mempunyai koleksi properties yaitu data properties atau method properties

2. Muncul sebagai hashes, internally dan externally

3. Daftar dari property atau value pairs

4. Properties dapat ditambah atau didelete secara dinamik

5. Object kosong dapat di buat dengan baru dan dipanggil ke constructor for object.

6. Mengacu ke properties adalah dengan notasi titik.

· Evaluasi javascript

i. Effective dalam apa yg di desigh untuk dijadikan scripting language

ii. Tidak mencukupi untuk development skala besar

iii. Tidak ada kemampuan encapsulation class

Program besar tidak dapat di atur secara efektif

iv. Tidak ada pewarisan

Penggunaan ulang akan menjadi sangat rumit

5. Overloding sub program & parameterized ADT

· Code overloaded subprogram :

void abc( float b = 0.0 );

void abc();

abc(); /* call is ambiguous; may lead to compilation error */

· Code Parameterized ADTs:

template

class stackie { // < - - stackie

stackie (int size) { // < - - stackie lagi

stk_ptr = new int [size];

max_len = size - 1;

top = -1;

};

}

stackie stk(100);

6. Concurenncy semaphore

i. Wait Semaphore :

wait(aSemaphore)

if aSemaphore’s counter > 0 then

decrement aSemaphore’s counter

else

put the caller in aSemaphore’s queue

attempt to transfer control to a ready task

-- if the task ready queue is empty,

-- deadlock occurs

end

ii. Release Semaphore :

release(aSemaphore)

if aSemaphore’s queue is empty then

increment aSemaphore’s counter

else

put the calling task in the task ready queue

transfer control to a task from aSemaphore’s queue

end

Salam Binusian !!

Cheers 02 PNT !!