Kuis dan TM 1 Flashcards

1
Q

3 kriteria evaluasi bahasa pemrograman?

A

Readability, Writability and Reliability

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

Contoh bahasa pemrograman hybrid?

A

Java or Perl

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

Karakteristik dari sistem implementasi compile?

A

translasi lambat eksekusi cepat

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

JVM bukan bahasa interpret, contoh bahasa pure interpreter?

A

Perl, Lisp, JavaScript

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

Exception Handling adalah kemampuan untuk menangani?

A

Run time error

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

fitur-fitur bahasa imperative? kecuali?

A

a. variable memodelkan memori
b. iterasi berbentuk repetisi
c. assignment didasarkan pada piping

kecuali: alokasi/dealokasi secara dinamis

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

fitur-fitur dari reliability? kecuali?

A

a. type checking
b. exception handling
c. aliasing

kecuali: data abstracting

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

bahasa yang pertama kali menggunakan windowing system dan mouse pointing?

A

SmallTalk

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

pionir bahasa functional?

A

LISP

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

konsep block structured pertama kali dikenalkan pada bahasa?

A

Algol 60

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

fitur dari bahasa Algol 60? Kecuali?

A

a. block structured
b. passing parameter (by value and by reference)
c. recursive procedure

kecuali: heap dynamic array

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

bahasa paling orthogonal?

A

Algol 68

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

contoh bahasa OOP yang diturunkan dari Pascal?

A

Delphi

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

Opsi yang mengindikasikan Delphi kurang kompleks dibanding c++?

A

parameterized class

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

programmer pertama di dunia?

A

Augusta Ada Byron atau Ada Lovelace

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

bahasa deklaratif?

A

LISP dan Prolog

17
Q

ketua tim perancang bahasa Java?

A

James Gosling

18
Q

Fasilitas makro pertama kali dikenalkan oleh bahasa?

A

Fortran

19
Q

Karakteristik dasar OOP?

A

ADT, Inheritance dan Dynamic Binding

20
Q

Storage deallocation dilakukan secara?

A

eksplisit di C++, implisit di Java

21
Q

Multiple Inheritance?

A

berlaku di C++, tidak di Java

22
Q

komponen dari structured programming? kecuali?

A

a. structured theory
b. top down design
c. modular programming

kecuali: bottom up design

23
Q

bahasa yang pertama kali mengimplementasikan konsep data abstraction?

A

Simula 67

24
Q

fitur-fitur OOD? kecuali?

A

a. data abstraction
b. inheritance
c. dynamic method binding

kecuali: structured programming

25
Q

metodologi pemrograman paling akhir dikembangkan di bahasa imperative?

A

object oriented design

26
Q

Java dirancang untuk aplikasi produk konsumen. seperti?

A

Radio

27
Q

Compound assignment operator? eg: +=

A

Algol 68

28
Q

Apa yang kamu ketahui tentang FORTRAN?

A

dikembangkan oleh IBM pada tahun 1950 untuk penerapan scientific dan engineering. FORTRAN merupakan bahasa yang didesain khusus untuk perhitungan angka dan komputasi ilmiah. Sehingga dijuluki “lingua franca of the computing world” oleh Alan Perlis.

29
Q

Apa itu Imperative?

A

adalah bahasa pemrograman yang didesain untuk arsitektur komputer von Neumann sehingga dapat berjalan dengan efisien.

30
Q

Komponen dasar dari OOP?

A

Abstract Data Types (ADT) memiliki konsep dimana menyembunyikan informasi pada suatu tipe data terhadap user dari kompleksitasnya. Contohnya: create(stack), subprogram dari create() untuk menginisialisasikan stack baru tanpa perlu diketahui secara detail oleh user proses-prosesnya.

Inheritance, dengan inheritance software developer dapat melakukan modifikasi dari abstract data type. Karena dengan melakukan inherit dari sebuah abstract data type, dapat melakukan modifikasi atau menambahkan isi datanya.

Dynamic Binding merupakan proses untuk memanggil spesifik method pada saat runtime. Method tersebut baru diketahui pada saat runtime.

31
Q

Apa itu Aliasing?

A

Aliasing adalah cara untuk memiliki lebih dari satu nama yang digunakan untuk mengakses ke satu memori atau variable. Ada kerugian yang bisa terjadi jika menggunakan Aliasing, yaitu menyangkut readability dan reliability. Karena Aliasing membuat program lebih sulit untuk dibaca / diverifikasi dan satu variable yang nilainya berubah berpengaruh terhadap variable lain yang telah dilakukan Aliasing.

32
Q

Alasan-alasan mengapa Java lebih aman daripada bahasa C++:

A

Karena program yang dibuat dengan bahasa Java dijalankan dalam Java Virutal Machine (JVM) sehingga mencegah program untuk memanipulasi isi memori. Contohnya terjadi Buffer Overflow.

Melakukan verifikasi pada bytecode sebelum dijalankan. Sehingga membuat program tidak menjalankan instruksi sembarangan.

33
Q

Alasan mengapa Java tidak mengenal multiple inheritance:

A

Karena Multiple Inheritance jarang digunakan dan membuat bahasa Java lebih sederhana tanpa adanya multiple inheritance.

34
Q

Alasan Java paling banyak digunakan diberbagai aplikasi:

A

Karena bahasa Java lebih aman dibandingkan c++ untuk membuat aplikasi. Bahasa Java lebih sederhana dan dapat diandalkan sehingga banyak digunakan software developer dan sering digunakan untuk membuat aplikasi dalam perangkat elektronik.

35
Q

apa yang kamu ketahui tentang von neumann computer architecture?

A

von Neumann computer architecture adalah sebuah desain dari sistem komputer dimana pada dasarnya terdapat 3 unsur yang berbeda yaitu unit pemrosesan, unit input / output, dan unit penyimpanan. setiap unitnya dihubungkan melalui bus.
Unit pemrosesan / processing unit dapat dibagi menjadi subunits yaitu Arithmetic Logic Unit (ALU) yang bertugas untuk komputasi aritmatika ketika menjalankan program dan Control Unit untuk mengatur jalannya data melalui prosessor.
Unit input / output bertugas dalam hal menerima input dari keyboard atau menampilkan data ke monitor.
Unit penyimpanan / storage unit menyimpan atau mengambil data yang dibutuhkan komputer.

36
Q

apa von Neumann bottleneck?

A

von Neumann bottleneck adalah keterbatasan antara CPU dan memori yang dikarenakan oleh arsitektur standar dari suatu komputer. von Neumann bottleneck terjadi karena waktu yang dihabiskan lebih banyak dalam memindahkan data antara CPU dan memori dibanding waktu untuk mengoperasikannya.
Pendekatan yang dilakukan untuk mengatasi von Neumann bottleneck yaitu:
Caching, data yang sering digunakan disimpan dalam memori cache supaya lebih cepat diakses.
Multithreading, mengatur banyak proses-proses secara bersamaan dalam thread yang berbeda.
RAM dengan jenis baru, dengan RAM jenis baru yang lebih cepat dan efisien dapat mengurangi von Neumann bottleneck.

37
Q

bottleneck dari a pure interpreter

A

bottleneck of a pure interpreter terjadi pada saat decoding statement / proses untuk menerjemahkan setiap code yang akan dijalankan. Karena program yang interpreted lebih lambat dibanding program yang di compile.

38
Q

Apa itu scripting language?

A

Scripting language adalah bahasa pemrograman yang biasanya di interpret daripada di compile. Bahasa pemrograman pada umumnya harus dikonversikan ke file executable dulu sebelum dijalankan, berbeda dengan scripting language dimana langsung dijalankan dengan interpreter. Scripting language sering digunakan untuk memberikan fitur-fitur tambahan pada website, contohnya bahasa JavaScript atau PHP.

39
Q

Perbedaan JavaScript dan PHP

A

JavaScript umumnya dijalankan langsung pada client-side seperti memvalidasi form, memunculkan / menyembunyikan element-element website, animasi dan lain-lain. Sedangkan PHP umumnya dijalankan pada server-side, yaitu pada saat user mengakses url .php, PHP akan dijalankan di server dan mengembalikan data yang telah diproses ke user. PHP biasa digunakan dengan MYSQL untuk menyimpan atau mengedit data.