0% menganggap dokumen ini bermanfaat (0 suara)
327 tayangan2 halaman

Soal Uts 2011

Teks tersebut merupakan soal ujian tengah semester mata kuliah Strategi Algoritma yang terdiri dari 5 soal yang mencakup topik algoritma greedy, divide and conquer, BFS, dan DFS. Soal tersebut meminta mahasiswa untuk merancang algoritma, menjelaskan strateginya, dan mengestimasi kompleksitas waktu untuk menyelesaikan masalah-masalah yang diajukan.

Diunggah oleh

Ade Fajri
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
327 tayangan2 halaman

Soal Uts 2011

Teks tersebut merupakan soal ujian tengah semester mata kuliah Strategi Algoritma yang terdiri dari 5 soal yang mencakup topik algoritma greedy, divide and conquer, BFS, dan DFS. Soal tersebut meminta mahasiswa untuk merancang algoritma, menjelaskan strateginya, dan mengestimasi kompleksitas waktu untuk menyelesaikan masalah-masalah yang diajukan.

Diunggah oleh

Ade Fajri
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 2

Program Studi Teknik Informatika

Sekolah Teknik Elektro dan Informatika


Institut Teknologi Bandung

Ujian Tengah Semester IF3051 Strategi Algoritma


Senin, 19 Oktober 2011
Waktu: 120 menit
Dosen: Rinaldi Munir & Ayu Purwarianti

Bagian A (Soal dari Dr. Rinaldi Munir)


1. (Greedy) Misalkan kita menempuh perjalanan sejauh 100 km, dimulai dari titik 0 dan berakhir pada
kilometer 100. Di sepanjang jalan terdapat SPBU pada jarak 10, 25, 30, 40, 50, 75, dan 80 km dari titik awal.
Tangki bensin pada awalnya hanya cukup untuk berjalan sejauh 30 km. Bagaimana kita menempuh tempat
pemberhentian agar kita berhenti sesedikit mungkin?
(a) Bagaimana penyelesaian dengan algoritma Brute Force? Jelaskan!
(b) Bagaimana penyelesaian dengan algoritma Greedy? Jelaskan!
(c) Perkirakan kompleksitas algoritmanya (brute force dan greedy) jika jumlah SPBU adalah n. (20)

2. (Greedy) Misalkan terdapat 7 mata kuliah yang dijadwalkan ujiannya sebagai berikut: 1) Kalkulus (jam 7.00
– 9.00), Fisika Dasar (13.00 – 15.00), Kimia Dasar (9.00 – 11.00), Bahasa Inggris (8.00 – 10.00), Bahasa
Indonesia (13.00-16.00), Kewirausahaan (10.00-12.00), dan Agama (13.00 -15.00). Bagaimana cara
menjadwalkan semua ujian tersebut sehingga menggunakan ruangan kelas sesedikit mungkin? Dalam
menjawab soal ini tuliskan strategi greedy yang dipakai, kemudian perkirakan kompleksitas waktu
algoritmanya jika terdapat n mata kuliah. (15)

3. (Divide and Conquer) Misalkan anda mempunyai array A[1..n] yang telah berisi n elemen integer. Elemen
mayoritas di dalam A adalah elemen yang terdapat pada lebih dari n/2 posisi (jadi, jika n = 6 atau n = 7,
elemen mayoritas terdapat pada paling sedikit 4 posisi). Rancanglah algoritma divide and conquer (tidak
dalam bentuk pseudo-code, tapi dalam bentuk uraian deskriptif) untuk menemukan elemen mayoritas di
dalam A (atau menentukan tidak terdapat elemen mayoritas). Jelaskan algoritma anda dengan contoh sebuah
array berukuran 8 elemen. Selanjutnya, perkirakan kompleksitas algoritmanya dalam hubungan rekursif
(misalnya T(n) = bT(n/p) + h(n)), lalu selesaikan T(n) tersebut. (20)

Bagian B (Soal dari Dr. Ayu Purwarianti)

4. (Soal BFS) Buatlah pohon penelusuran untuk pencarian situs dengan crawling yang menggunakan
algoritma BFS yang menerima masukan berupa URL Seed (URL awal), kedalaman pencarian serta kata
kunci yang diharapkan. Untuk setiap URL yang dikunjungi, sistem akan menelusuri setiap OUTLINK yang
ada pada URL tersebut. Jika sebuah OUTLINK sudah pernah ada pada pohon yang dibangkitkan, maka
OUTLINK tersebut tidak akan ditelusuri. Namun jika belum ada, maka OUTLINK akan diambil untuk
dilihat apakah sudah memenuhi kedalaman yang diinginkan user. Jika nilai kedalaman masih lebih kecil,
maka URL yang sedang dilihat akan ditelusuri lagi OUTLINKnya. Selain masukannya berupa URL Seed dan
kedalaman pencarian, user juga memasukkan daftar kata kunci untuk melihat apakah URL yang sedang
ditelusuri sesuai dengan situs yang diinginkan user. Sebagai contoh, jika user memasukkan kata kunci
berupa “beasiswa” dan URL yang diperiksa memiliki kata kunci “beasiswa” maka URL akan dimasukkan
sebagai dokumen yang dicari user. Pohon penelusuran akan berhenti ketika semua URL yang ada pada queue
sudah semuanya diperiksa. (25)

1
Asumsi yang digunakan adalah sebagai berikut:

- Input:
o URL Seed: www.itb.ac.id
o Kedalaman: 3
o kata kunci: beasiswa kuliah
- Data

id URL OUTLINK Kata kunci


D1 www.itb.ac.id www.itb.ac.id/fakultas; ITB kuliah
www.itb.ac.id/penelitian;
www.dikti.org; www.itb.ac.id/beasiswa
D2 www.itb.ac.id/fakultas www.itb.ac.id; stei.itb.ac.id; fti.itb.ac.id Fakultas ITB
D3 www.itb.ac.id/penelitian www.itb.ac.id; www.dikti.org; stei.itb.ac.id; Penelitian ITB
fti.itb.ac.id
D4 www.dikti.org www.dikti.org/universitas; Direktorat Pendidikan tinggi
www.dikti.org/beasiswa Indonesia
D5 www.itb.ac.id/beasiswa www.itb.ac.id Beasiswa kuliah ITB
D6 Stei.itb.ac.id www.itb.ac.id; stei.itb.ac.id/prodi; STEI ITB
stei.itb.ac.id/pasca
D7 fti.itb.ac.id www.itb.ac.id; fti.itb.ac.id/prodi; FTI ITB
fti.itb.ac.id/pasca
D8 www.dikti.org/universitas; www.itb.ac.id; www.ui.ac.id; www.its.ac.id Perguruan tinggi Indonesia
D9 www.dikti.org/beasiswa www.dikti.org Beasiswa S1 S2 S3
D10 stei.itb.ac.id/prodi www.itb.ac.id; if.itb.ac.id; el.itb.ac.id Program Studi STEI
D11 stei.itb.ac.id/pasca www.itb.ac.id; if.itb.ac.id; el.itb.ac.id Pasca Sarjana STEI
D12 if.itb.ac.id www.itb.ac.id; stei.itb.ac.id; Teknik Informatika STEI ITB
if.itb.ac.id/beasiswa
D13 el.itb.ac.id www.itb.ac.id; stei.itb.ac.id; Teknik Elektro STEI ITB
D14 If.itb.ac.id/beasiswa Stei.itb.ac.id Beasiswa kuliah

5. (Soal DFS) Buatlah sebuah pohon penelusuran (hingga mendapatkan 1 solusi) untuk menyelesaikan
masalah penjadwalan kelas menggunakan DFS backtracking dengan asumsi sebagai berikut:
- Jumlah ruangan ada 2 (R1 dan R2)
- Waktu yang dapat digunakan adalah jam 5 sampai jam 9 malam (jam 5-7 dan jam 7-9)
- Hari yang dapat digunakan adalah hari Sabtu dan Minggu
- Jumlah mata kuliah adalah 2 mata kuliah 4 sks (MK1, MK2) dan 4 mata kuliah 2 sks (MK3, MK4, MK5, MK6). MK1,
MK3 dan MK4 adalah untuk mahasiswa tingkat 1. MK2, MK5 dan MK6 adalah untuk mahasiswa tingkat 2.

Dalam menetapkan jadwal kuliah, perlu diperhatikan bahwa kuliah 4 sks tidak dapat dilaksanakan pada hari
yang sama, harus dibagi 2 jam per hari. Selain itu, mata kuliah utk angkatan yang sama tidak boleh
dilaksanakan dalam waktu yang sama sebagai contoh MK1 dan MK3 tidak boleh dilakukan pada hari dan
jam yang sama. (20)

Anda mungkin juga menyukai