wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

STRUKTUR DATA (QUIZ FINAL)

Total questions: 15

Worksheet time: 12mins

Name
Class
Date
1.

[a|*p] --> [b|*p] --> [c|*p] --> [d|null]

dari node diatas manakah node yang dikenal dengan istilah tail

a)

[a|*p]

b)

[b|*p]

c)

[a|Null]

d)

[c|Null]

e)

[d|Null]

2.

[a|*p] --> [b|*p] --> [c|*p] --> [d|Null]

dari node diatas manakah node yang dikenal dengan istilah head

a)

[a|*p]

b)

[b|*p]

c)

[a|Null]

d)

[c|Null]

e)

[d|Null]

3.

deklarasi struct yang benar adalah

a)

void struct {

int x;

int y;

};

b)

struct Motor {

string noRangka;

string noPol;

};Motor1,Motor2;

c)

struct Motor {

string noRangka;

string noPol;

}Motor1,Motor2;

d)

struct Motor {

string noRangka;

string noPol;

};main Motor1,Motor2;

4.

a.

int* ptr = new int;

*ptr = 10;


b.

char* ptr = new char;

*ptr = xb001xb;

c.

float* ptr = new float;

*ptr = 3.14;

d.

double* ptr = new double[5];

ptr[0] = 10.5;

Manakah dari perintah di atas yang benar dalam alokasi memori dan penetapan nilai?

a)

Semua perintah benar.

b)

Hanya perintah a yang benar.

c)

Hanya perintah b yang benar.

d)

Hanya perintah a dan c yang benar.

5.

struct Dosen {

    string nama, alamat;

    int NIP;

    Dosen *P;

    };

Dosen *simpul1;

yang manakah perintah yang tepat untuk melakukan alokasi memori dinamis di C++ menggunakan operator new

a)

simpul1 dosen();

b)

simpul1 Dosen();

c)

simpul1 new dosen();

d)

simpul1 new Dosen();

6.

struct Dosen {

    string nama, alamat;

    int NIP;

  Dosen *P;

    };
Dosen *simpul1;

untuk mengakses field NIP dalam node untuk diisi digunakan perintah

a)

simpul1->NIP = 123456789;

b)

simpul1->NIP = 123;

c)

cout << "NIP: " << simpul1->NIP << endl;

d)

Error

7.

Pernyataan yang tepat untuk stack(LIFO) adalah

a. Terakhir masuk pertama keluar

b. Pertama masuk pertama keluar

c. Terakhir masuk Terakhir Keluar

d. Pertama masuk terakhir keluar

a)

a dan b

b)

b dan c

c)

a dan d

d)

b dan d

e)

c dan d

8.

Pernyataan yang tepat untuk Queue(FIFO) adalah

a. Terakhir masuk pertama keluar

b. Pertama masuk pertama keluar

c. Terakhir masuk Terakhir Keluar

d. Pertama masuk terakhir keluar

a)

a dan b

b)

b dan c

c)

a dan d

d)

b dan d

e)

c dan d

9.

jika

int maksimal = 5;

int top = 0;

logika yang dipakai untuk menyatakan fungsi isEmpty(); yang tepat adalah

a)

bool isFull()

{

  if( top == maksimal ){

    return true;

  }else{

    return false;

  }

}

b)

char isFull()

{

  if( top == maksimal ){

    return true;

  }else{

    return false;

  }

}

c)

bool isFull()

{

  if( top == 0 ){

    return true;

  }else{

    return false;

  }

}

d)

int isFull()

{

  if( top = maksimal ){

    return true;

  }else{

    return false;

  }

}

10.

jika

int maksimal = 5;

int top = 0;

logika yang dipakai untuk menyatakan fungsi isEmpty(); yang tepat adalah

a)

char isEmpty()

{

  if( top == 0 ){

    return true;

  }else{

    return false;

  }

}

b)

bool isEmpty()

{

  if( maksimal == top ){

    return true;

  }else{

    return false;

  }

}

c)

bool isEmpty()

{

  if( top == maksimal ){

    return true;

  }else{

    return false;

  }

}

d)

bool isEmpty()

{

  if( top == 0 ){

    return true;

  }else{

    return false;

  }

}

11.

bagaimana cara mengetahui ukuran memori dari tipe data pada mesin yang digunakan

a)

cout<<"Ukuran char "<<siseOf(char)<<"Byte";

b)

cout<<"Ukuran char "<<sizeOf(char)<<"Byte";

c)

cout<<"Ukuran char "<<siseof(char)<<"Byte";

d)

cout<<"Ukuran char "<<sizeof(char)<<"Byte";

12.

char *Alamat_X, X;

X = ‘J’;

Alamat_X = &X;

Nilai variabel Alamat_X adalah

a)

J

b)

X

c)

Alamat_X

d)

alamat dari variabel X

13.

[a|*p] --> [b|*p] --> [c|*p] --> [d|null]

1 2 3 4

jika saya ingin menambah node setelah head manakah pernyataan program yang benar

(asumsikan jawaban dibawah berada dalam fungsi addfirst();)

a)

baru = new Node();

baru->data = data;

baru->next = head->next;

head->next = baru;

b)

baru = new Node();

baru->data = data;

  baru->next = head;

  head = tail;

c)

baru = new Node();

baru->data = data;

  baru->next = head;

  head = head;

d)

baru = new Node();

baru->data = data;

  baru->next = head;

  newNode = head;

e)

baru = new Node();

baru->data = data;

  baru->next = head;

  head = next;

14.

[a|*p] --> [b|*p] --> [c|*p] --> [d|null]

1 2 3 4

jika saya ingin menambah node sebelum head manakah pernyataan program yang benar

(asumsikan jawaban dibawah berada dalam fungsi addBeforeHead();)

a)

baru = new Node();

baru->data = data;

baru->next = head;

newHead = baru;

b)

baru = new Node();

baru->data = data;

  baru->next = head;

  head = tail;

c)

baru = new Node();

baru->data = data;

  baru->next = head;

  head = head;

d)

baru = new Node();

baru->data = data;

baru->next = head;

head = baru;

e)

baru = new Node();

baru->data = data;

  baru->next = head;

  head = next;

15.

[a|*p] --> [b|*p] --> [c|*p] --> [d|null]

1 2 3 4

jika saya ingin menghapus head ( [a|*p] ) manakah pernyataan program yang benar

(asumsikan jawaban dibawah berada dalam fungsi removeFirst();)

a)

  del = head;

  head = head->tail;

  delete del;

b)

  del = head;

  tail =tail->next;

  delete del;

c)

  del = head;

  head = tail->next;

  delete head;

d)

  del = head;

  head = head->next;

  delete del;

e)

  del = head;

  head = head->tail;

  delete tail;