(6 NOMOR SOAL)
1. Sebutkan dan beri penjelasan mengenai hal-hal yang perlu diperhatikan dalam
pembuatan suatu algoritma selain aspek kebenaran kerja algoritma.
2. Mengapa kita perlu mengetahui kapan terjadinya best-case dan worst-case dari suatu
algoritma?
3. Lihat kembali buku "Introduction to the design & analysis of algorithms" edisi ketiga,
tulisan Anany Levitin. Lihat tabel 2.2 halaman 85.
Berdasarkan tabel tersebut, tentukan kelas efisiensi kerja algoritma apabila untuk data
berjumlah n, diperlukan kerja:
A) O(n) = 2n + 10
B) O(n) = ⅓ n3
C) O(n) = 0.5 (n2 + n)
4. Jika terdapat x yang merupakan variabel dengan tipe data floating-point. Buat
algoritma untuk menghitung y = x31, dimana nilai y diperoleh dengan melakukan proses
perkalian tidak lebih dari 7 kali proses perkalian.
5. Salah satu pengembangan teori GRAF adalah Travelling Salesman Problem (TSP).
Jelaskan apakah yang dimaksud dengan Travelling Salesman Problem (TSP).
0 1 2 3 4 5 6 7
0 0 47 34 72 41 23 6 59
1 47 0 57 21 46 30 60 17
2 34 57 0 55 8 15 35 42
3 72 21 55 0 65 10 49 34
4 41 46 8 65 0 50 27 8
5 23 30 15 10 50 0 61 48
6 6 60 35 49 27 61 0 9
7 59 17 42 34 8 48 9 0
A) Buat program sederhana untuk memperoleh jalur terbaik yang harus dilalui
Salesman berdasarkan data yang diberikan (Tidak harus paling optimal).
B) Tampilkan rute yang dipilih beserta total beban / jarak tempuh.
C) Beri penjelasan mengenai cara kerja algoritma utama yang digunakan untuk
memperoleh rute tersebut.
1.
Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman
secara umum. Tulisan (notasi) algoritma yang mendekati perintah bahasa pemrograman
disebut dengan pseudocode.
Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam
notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh
komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke
dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis
program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang
menjalannya.
Algoritma sebenarnya digunakan untuk membantu mengkonversikan suatu
permasalahan ke bahasa pemrograman.
Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh
komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada
beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:
a) Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan
bahasa pemrograman apabila tidak semua bahasa pemrograman
membutuhkannya.
b) Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat
pemilihan tipe data.
c) Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing
memiliki kelebihan dan kekurangan yang berbeda.
d) Aturan sintaksis
Pada saat menuliskan program, programmer terikat dengan aturan sintaksis
dalam bahasa pemrograman yang akan digunakan.
e) Tampilan hasil
Pada saat membuat algoritma tidak dipikirkan tampilan hasil yang akan
disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi
program.
f) Cara pengoperasian compiler atau interpreter.