wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Desain Dan Analisa Algoritma

Total questions: 100

Worksheet time: 1hrs 15mins

Name
Class
Date
1.
Algoritma adalah urutan langkah-langkah penyelesaian masalah secara sistematis. Sebuah algoritma tidak saja harus benar, tetapi juga harus?
a)
Efisien
b)
Sederhana
c)
Murah
d)
Banyak
e)
komplit
2.
Berikut merupakan keadaan dari kompleksitas waktu, kecuali?
a)
Best case
b)
Lower case
c)
Worst case
d)
Average case
e)
sum case
3.
Manakah yang memiliki kompleksitas waktu terbaik?
a)

O(n!)

b)

O(n)

c)

O(2^n)

d)

O(log n)

e)

O(nn!)

4.
Diketahui T1(n) = O(n) dan T2(n) = O(n), maka nilai dari T1(n) + T2(n) adalah?
a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n^2)

e)

O(/n)

5.
Kompleksitas waktu algoritma Bubble Sort jika dinyatakan dalam big OH adalah?
a)

O(log n)

b)

O(n)

c)

O(n log n)

d)

O(n^2)

e)

O(/n)

6.
Algoritma mana yang memiliki kompleksitas waktu terbaik?
a)

Bubble Sort

b)

Quick Sort

c)

Binary Search

d)

Linear Search

e)

Late Search

7.
Terdapat 7 buah data dalam array. Jika menggunakan Binary Search. Maksimal berapa kali perulangan yang dilakukan?
a)

3 kali

b)

4 kali

c)

5 kali

d)

6 kali

e)

7 kali

8.

Manakah pernyataan algoritma yang tidak benar

a)

Algoritma harus disusun secara logis

b)

Algoritma harus disusun secara sistematis

c)

Algoritma harus mempunyai berbagai macam makna

d)

Algoritma memiliki langkah yang jelas

e)

Algoritma memiliki hasil yang benar

9.

Algoritma dapat disajikan menggunakan cara, kecuali

a)

Menggunakan pseodocode

b)

Menggunakan bahasa rahasia

c)

Menggunakan bahasa sehari-hari

d)

Menggunakan flowchart

e)

Menggunakan diagram alur

10.

sebuah kode yang digunakan untuk menulis sebuah algoritma dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu.


berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma.


menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma.

a)

Pseudocode

b)

Flowchart

c)

Struktur Gambar

d)

Algoritma

e)

Bahasa umum

11.

Algoritma apa yang ada di samping

a)

Bubble Sort

b)

Binary Search

c)

Selection Sort

d)

Linear Search

12.

Apa hasil dari algoritma disamping

a)

5, 1, 4, 2, 8

b)

8, 5, 4, 2, 1

c)

1, 2, 4, 5, 8

d)

4, 5, 8, 1, 2

13.

Berapa kompleksitas waktu dari algoritma disamping

a)

O(n^2)

b)

O(N)

c)

O(1) 

d)

O(N2)

14.

Dibawah ini kelebihan QuickSort, kecuali

a)

Secara umum memiliki kompleksitas O(n log n)

b)

Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori

c)

Pada penerapan secara rekursif (memanggil dirinya sendiri)

d)

Melakukan proses langsung pada input (in-place)

15.

Bubble Sort merupakan salah satu metode pengurutan dengan menggunakan prinsip

a)

Pembagian dan Penaklukan

b)

Pemilihan dan Penempatan

c)

Penukaran dan Perbandingan

d)

Penggabungan dan Pemisahan

16.

Bubble Sort secara efektif menggunakan elemen dalam

a)

Urutan Menurun

b)

Urutan Acak

c)

Urutan Alfanumerik

d)

Urutan Menaik

17.

Bubble Sort merupakan salah satu algoritma pengurutan yang termasuk ke dalam kategori

a)

Divide and Conquer

b)

Greedy

c)

Dynamic Programming

d)

Brute Force

18.

Berapakah jumlah perbandingan yang dilakukan oleh Bubble Sort untuk mengurutkan serangkaian bilangan dengan n elemen?

a)

n

b)

n-1

c)

n^2

d)

(n^2)/2

19.

Berikut ini adalah representasi pseudocode dari Bubble Sort. Manakah yang merupakan implementasi yang benar

a)

b)

c)

d)

e)

20.

Bubble Sort memiliki kompleksitas waktu rata-rata sebesar

a)

O(1)

b)

O(n)

c)

O(n log n)

d)

O(n^2)

e)

O(log n)

21.

Kompleksitas waktu terbaik untuk algoritma yang memiliki waktu eksekusi tetap, tidak bergantung pada ukuran input, adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

22.

Algoritma dengan kompleksitas waktu terbaik O(n log n) biasanya digunakan dalam

a)

Sorting (pengurutan)

b)

Searching (pencarian)

c)

Insertion (penyisipan)

d)

Deletion (penghapusan)

e)

Merging (penggabungan)

23.

Kompleksitas waktu terburuk untuk algoritma yang memiliki waktu eksekusi yang meningkat secara eksponensial seiring dengan ukuran input adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(2^n)

24.

Kompleksitas waktu dari algoritma Bubble Sort adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

25.

Kompleksitas waktu terbaik untuk algoritma yang memiliki waktu eksekusi yang meningkat secara linear seiring dengan ukuran input adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

26.

Kompleksitas waktu terburuk dari algoritma Binary Search adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

27.

Kompleksitas waktu terbaik dari algoritma Quick Sort adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

28.

Kompleksitas waktu terburuk dari algoritma Selection Sort adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

29.

Kompleksitas waktu terburuk dari algoritma Merge Sort adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

30.

Kompleksitas waktu terburuk dari algoritma Linear Search adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

31.

Struktur data yang digunakan untuk menyimpan elemen dengan prinsip "First-In-First-Out" (FIFO) adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Hash Table

32.

Struktur data yang menggunakan konsep "Last-In-First-Out" (LIFO) adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Hash Table

33.

Struktur data yang terdiri dari simpul-simpul yang saling terhubung adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Hash Table

34.

Struktur data yang memungkinkan penyimpanan data dalam bentuk hierarki adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Hash Table

35.

Struktur data yang memungkinkan pencarian dan pengambilan data dengan kecepatan konstan adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Array

e)

Hash Table

36.

Struktur data yang paling sesuai untuk implementasi algoritma pencarian biner adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Array

37.

Struktur data yang menggunakan konsep "parent-child relationship" adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Hash Table

38.

Struktur data yang efisien untuk mengakses data dengan indeks adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Array

e)

Hash Table

39.

Struktur data yang digunakan untuk implementasi algoritma Depth-First Search (DFS) adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Hash Table

40.

Struktur data yang digunakan untuk implementasi algoritma Merge Sort adalah

a)

Stack

b)

Queue

c)

Linked List

d)

Tree

e)

Array

41.

Dalam struktur data Array, indeks pertama elemen adalah

a)

0

b)

1

c)

-1

d)

10

e)

Tergantung pada implementasi

42.

Berapa jumlah elemen dalam Array berukuran 10

a)

5

b)

10

c)

11

d)

Tergantung pada implementasi

e)

Tidak dapat ditentukan

43.

Operasi yang digunakan untuk mengakses elemen dalam Array berdasarkan indeks adalah

a)

Insertion

b)

Deletion

c)

Update

d)

Search

e)

Access

44.

Dalam struktur data Array, proses penambahan elemen baru ke dalam Array yang penuh disebut

a)

Insertion

b)

Deletion

c)

Update

d)

Overflow

e)

Underflow

45.

Dalam struktur data Array, proses penghapusan elemen dari Array kosong disebut

a)

Insertion

b)

Deletion

c)

Update

d)

Overflow

e)

Underflow

46.

Berapa jumlah elemen dalam Array setelah menghapus satu elemen dari Array berukuran 8

a)

7

b)

8

c)

9

d)

Tergantung pada implementasi

e)

Tidak dapat ditentukan

47.

Dalam struktur data Array, operasi yang mengganti nilai elemen pada indeks tertentu disebut

a)

Insertion

b)

Deletion

c)

Update

d)

Overflow

e)

Underflow

48.

Berapa jumlah elemen maksimum yang dapat disimpan dalam Array berukuran 15

a)

5

b)

10

c)

15

d)

16

e)

Tergantung pada implementasi

49.

Dalam struktur data Array, operasi yang menghapus elemen pada indeks tertentu disebut

a)

Insertion

b)

Deletion

c)

Update

d)

Overflow

e)

Underflow

50.

Berapa indeks terakhir dalam Array berukuran 20

a)

18

b)

19

c)

20

d)

Tergantung pada implementasi

e)

Tidak dapat ditentukan

51.

Dalam binary search, data harus diurutkan secara

a)

Acak

b)

Ascending

c)

Descending

d)

Terbalik

e)

Tidak Harus Diurutkan

52.

Berapa langkah maksimum yang diperlukan oleh binary search untuk mencari elemen di dalam array dengan 128 elemen

a)

6

b)

7

c)

8

d)

9

e)

10

53.

Binary search memiliki kompleksitas waktu terbaik sebesar

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

e)

O(n^2)

54.

Binary search dapat diterapkan pada struktur data apa saja

a)

Array

b)

Linked List

c)

Stack

d)

Queue

e)

Semua jawaban benar

55.

Binary search digunakan untuk mencari elemen dalam array dengan kompleksitas waktu

a)

Konstan

b)

Linier

c)

Logaritmik

d)

Kuadratik

e)

Eksponensial

56.

Apakah binary search hanya berlaku untuk array dengan ukuran genap

a)

Ya

b)

Tidak

c)

Tergantung implmentasi

d)

Tergantung panjang elemen

e)

Tergantung penggunaan array

57.

Jika array tidak terurut, binary search akan memberikan hasil yang

a)

Akurat

b)

Tidak akurat

c)

Error

d)

Tergantung pada implementasi

e)

Tidak dapat ditentukan

58.

Binary search bekerja dengan mencari nilai tengah pada setiap iterasi. Nilai tengah ini digunakan untuk

a)

Menghapus setengah data yang tersisa

b)

Menambah setengah data yang tersisa

c)

Mengurangi jumlah data yang tersisa menjadi 1

d)

Tidak ada hubungannya dengan pengurangan data

e)

Tidak ada jawaban yang benar

59.

Jika elemen yang dicari tidak ada dalam array yang diurutkan, binary search akan mengembalikan

a)

Nilai -1

b)

Nilai 0

c)

Nilai terbesar dalam array

d)

Nilai terkecil dalam array

e)

Tidak ada jawaban yang benar

60.

Apakah binary search efisien untuk mencari elemen di dalam linked list

a)

Ya

b)

Tidak

c)

Tergantung implementasi

d)

Tergantung penggunaan aplikasi

e)

Tergantung panjang elemen

61.

Manakah dari algoritma sorting berikut yang menggunakan konsep Divide and Conquer

a)

Bubble Sort

b)

Insertion Sort

c)

Quick Sort

d)

Selection Sort

e)

Merge Sort

62.

Pivot dalam algoritma Quick Sort adalah

a)

Elemen pertama dalam array

b)

Elemen terakhir dalam array

c)

Elemen tengah dalam array

d)

Elemen acak dalam array

e)

Pivot dapat dipilih secara acak

63.

Berapa jumlah langkah maksimum yang diperlukan oleh algoritma Quick Sort untuk mengurutkan array dengan 10 elemen

a)

5

b)

10

c)

15

d)

25

e)

Tergantung pada elemen array

64.

Manakah dari pernyataan berikut yang benar mengenai algoritma Quick Sort

a)

Quick Sort adalah algoritma stabil

b)

Quick Sort selalu memiliki kompleksitas waktu terbaik O(1)

c)

Quick Sort selalu memiliki kompleksitas waktu terburuk O(n^2)

d)

Quick Sort dapat mengurutkan array dengan kecepatan konstan

e)

Quick Sort membagi array menjadi dua bagian dengan pivot sebagai pemisah

65.

Manakah dari pernyataan berikut yang salah mengenai algoritma Quick Sort

a)

Quick Sort bekerja dengan cara memilih pivot, mempartisi array, dan melakukan rekursi pada setiap bagian

b)

Quick Sort adalah algoritma in-place

c)

Quick Sort memiliki kompleksitas waktu rata-rata O(n log n)

d)

Quick Sort menggunakan teknik Bubble Sort

e)

Quick Sort dapat mengurutkan array dengan cepat

66.

Apakah Quick Sort stabil

a)

Ya, Quick Sort adalah algoritma stabil

b)

Tidak, Quick Sort tidak dapat menjaga urutan relatif elemen-elemen yang sama

c)

Tergantung pada implementasi Quick Sort

d)

Quick Sort hanya stabil untuk array dengan ukuran genap

e)

Quick Sort hanya stabil untuk array dengan ukuran ganjil

67.

Quick Sort lebih cepat daripada Merge Sort jika

a)

Array yang diurutkan sudah terurut secara descending

b)

Array yang diurutkan sudah terurut secara ascending

c)

Array yang diurutkan memiliki elemen unik

d)

Array yang diurutkan memiliki banyak elemen duplikat

e)

Tidak ada perbedaan kecepatan antara Quick Sort dan Merge Sort

68.

Berapa jumlah pembandingan maksimum yang dapat terjadi dalam algoritma Quick Sort pada array dengan 8 elemen

a)

7

b)

15

c)

31

d)

63

e)

Tergantung pada elemen array

69.

Apakah Quick Sort termasuk dalam algoritma stable sort

a)

Ya

b)

Tidak

c)

Tergantung pada implementasi Quick Sort

d)

Quick Sort hanya stabil untuk array dengan ukuran genap

e)

Quick Sort hanya stabil untuk array dengan ukuran ganjil

70.

Manakah dari pernyataan berikut yang benar mengenai algoritma Quick Sort

a)

Quick Sort memiliki kompleksitas waktu terbaik O(1)

b)

Quick Sort memiliki kompleksitas waktu terburuk O(n log n)

c)

Quick Sort dapat mengurutkan array dengan kecepatan konstan

d)

Quick Sort bekerja dengan cara memilih pivot dan mengurutkan elemen-elemen yang lebih kecil dan lebih besar daripada pivot

e)

Quick Sort menggunakan teknik Insertion Sort

71.

Linear Search juga dikenal sebagai

a)

Binary Search

b)

Sequential Search

c)

Hash Search

d)

Tree Search

e)

Quick Search

72.

Berapakah kompleksitas waktu terburuk dari Linear Search

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n^2)

e)

O(n log n)

73.

Linear Search efisien untuk pencarian pada

a)

Array yang sudah terurut secara menaik

b)

Array yang sudah terurut secara menurun

c)

Array yang memiliki elemen unik

d)

Array dengan ukuran yang sangat besar

e)

Tidak ada kondisi tertentu

74.

Berapakah jumlah pembandingan maksimum yang dapat terjadi dalam Linear Search pada array dengan 10 elemen

a)

5

b)

10

c)

15

d)

20

e)

Tergantung pada elemen array

75.

Linear Search merupakan algoritma pencarian

a)

Divide and Conquer

b)

Greedy

c)

Dynamic Programming

d)

Incremental

e)

Tidak ada yang benar

76.

Manakah dari pernyataan berikut yang benar mengenai Linear Search

a)

Linear Search memiliki kompleksitas waktu terburuk O(1)

b)

Linear Search selalu efisien untuk semua ukuran array

c)

Linear Search menggunakan teknik rekursi dalam pencarian

d)

Linear Search hanya dapat digunakan pada array yang sudah terurut

e)

Linear Search melakukan pembandingan secara berpasangan

77.

Berapakah indeks pertama dari elemen yang ditemukan saat menggunakan Linear Search

a)

0

b)

1

c)

-1

d)

Tergantung pada implementasi Linear Search

e)

Tidak ada aturan yang pasti

78.

Linear Search lebih efisien daripada Binary Search jika

a)

Array yang diurutkan secara menurun

b)

Array yang diurutkan secara menaik

c)

Array memiliki elemen unik

d)

Array memiliki elemen duplikat

e)

Tidak ada perbedaan efisiensi antara Linear Search dan Binary Search

79.

Linear Search dapat digunakan pada struktur data apa saja

a)

Array

b)

Linked List

c)

Tree

d)

Hash Table

e)

Semua jawaban benar

80.

Berapakah kompleksitas waktu rata-rata dari Linear Search

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n^2)

e)

O(n log n)

81.

Manakah dari berikut ini yang merupakan keuntungan dari penggunaan Linked List

a)

Akses langsung ke elemen acak

b)

Efisiensi penyimpanan yang tinggi

c)

Pencarian elemen dengan waktu konstan

d)

Kemudahan penghapusan dan penyisipan elemen

e)

Tidak ada jawaban yang benar

82.

Pada Linked List, setiap elemen disebut

a)

Node

b)

Pointer

c)

Index

d)

Array

e)

Reference

83.

Berapakah kompleksitas waktu untuk mencari elemen tertentu dalam Linked List secara terurut

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n^2)

e)

O(n log n)

84.

Linked List dapat digunakan untuk mengimplementasikan struktur data

a)

Stack

b)

Queue

c)

Tree

d)

Hash Table

e)

Semua jawaban benar

85.

Manakah dari berikut ini yang merupakan kelemahan dari Linked List

a)

Kesulitan dalam mengakses elemen acak

b)

Memerlukan alokasi memori tambahan untuk pointer

c)

Membutuhkan pengurutan sebelum pencarian

d)

Memiliki batasan ukuran maksimum

e)

Tidak ada jawaban yang benar

86.

Linked List dapat digunakan untuk mengimplementasikan

a)

Struktur data yang linear

b)

Struktur data yang hierarkis

c)

Struktur data yang berurutan

d)

Struktur data yang terurut secara acak

e)

Semua jawaban benar

87.

Manakah dari berikut ini yang merupakan keuntungan dari penggunaan Doubly Linked List

a)

Kemampuan untuk mengakses elemen acak dengan cepat

b)

Efisiensi penyimpanan yang tinggi

c)

Kemampuan untuk melakukan traversal mundur

d)

Mudah diimplementasikan

e)

Tidak ada jawaban yang benar

88.

Berapakah kompleksitas waktu untuk mengakses elemen pertama dalam Linked List

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n^2)

e)

O(n log n)

89.

Linked List dapat digunakan untuk mengimplementasikan

a)

Struktur data yang berurutan secara acak

b)

Struktur data yang terurut menaik

c)

Struktur data yang terurut menurun

d)

Struktur data yang memiliki nilai acak

e)

Semua jawaban benar

90.

Pada Linked List, head berfungsi untuk

a)

Menunjukkan elemen terakhir dalam list

b)

Menunjukkan elemen pertama dalam list

c)

Menunjukkan elemen tengah dalam list

d)

Menyimpan nilai kunci yang dicari

e)

Tidak ada jawaban yang benar

91.

Graph terdiri dari dua komponen utama, yaitu

a)

Node dan Edge

b)

Stack dan Queue

c)

Heap dan Linked List

d)

Array dan Pointer

e)

Hash Table dan Tree

92.

Graph yang memiliki arah pada setiap edge disebut

a)

Directed Graph

b)

Undirected Graph

c)

Weighted Graph

d)

Bipartite Graph

e)

Connected Graph

93.

Dalam representasi Graph menggunakan adjacency matrix, kompleksitas waktu untuk mencari apakah dua node terhubung adalah

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n^2)

e)

O(n log n)

94.

Graph yang tidak memiliki siklus disebut

a)

Directed Acyclic Graph (DAG)

b)

Undirected Graph

c)

Weighted Graph

d)

Bipartite Graph

e)

Connected Graph

95.

Berapakah jumlah maksimum edge pada Graph berarah dengan n node

a)

n

b)

n - 1

c)

n(n-1)/2

d)

n^2

e)

Tidak ada jawaban yang benar

96.

Manakah dari berikut ini yang merupakan metode traversal pada Graph yang menggunakan pendekatan depth-first

a)

Depth-First Search (DFS)

b)

Breadth-First Search (BFS)

c)

Dijkstra's Algorithm

d)

Prim's Algorithm

e)

Tidak ada jawaban yang benar

97.

Graph yang setiap node-nya terhubung dengan semua node lainnya disebut

a)

Directed Graph

b)

Undirected Graph

c)

Weighted Graph

d)

Bipartite Graph

e)

Complete Graph

98.

Manakah dari berikut ini yang merupakan metode traversal pada Graph yang mencari lintasan terpendek antara dua node

a)

Depth-First Search (DFS)

b)

Breadth-First Search (BFS)

c)

Dijkstra's Algorithm

d)

Prim's Algorithm

e)

Tidak ada jawaban yang benar

99.

Graph yang setiap node-nya terhubung dengan minimal satu node lainnya disebut

a)

Directed Graph

b)

Undirected Graph

c)

Weighted Graph

d)

Bipartite Graph

e)

Connected Graph

100.

Manakah dari berikut ini yang merupakan metode traversal pada Graph yang mencari Minimum Spanning Tree (MST)

a)

Depth-First Search (DFS)

b)

Breadth-First Search (BFS)

c)

Dijkstra's Algorithm

d)

Prim's Algorithm

e)

Tidak ada jawaban yang benar