Tugas Mata Kuliah
Tugas Mata Kuliah
Disusun oleh:
Muhammad Abdul Rohman Sidik
10121122
Teknik Informatika 3 / IF3
Salah satu aspek terpenting dari sebuah program adalah membuat algoritma yang
berjalan dengan baik dan efisien. Untuk dapat membuat Algorima yang baik, Berikut
langkah-langkah dalam mendesain algorima, yaitu:
1. Memahami Jenis Masalah
2. Memutuskan Perihal :
a. Exact/Approcimate
b. Struktur Data
c. Teknik Desain Algoritma
3. Desain Algoritma
4. Pembuktian Kebenaran Algoritma
5. Menganalisis Kualitas Algoritma
6. Membuat Coding Program
Langkah – langkah diatas adalah langkah - langkah untuk mendesain algoritma yang
berjalan dengan baik dan efisien .
a. Pengurutan (Sorting)
Inti masalah: Menyusun ulang hal-hal yang terdapat pada daftar dengan
urutan menaik/menurun.
Tantangan dari pemecahan masalah pengurutan ini :
Jika bentuk data adalah record maka kita butuh sebuah key
Terdapat beberapa algoritma pengurutan
Ada beberapa algoritma pengurutan :
b. Pencarian (Searching)
Inti masalah : Menemukan suatu nilai dari sekumpulan nilai yang ada.
Jangkauan algoritma : Algoritma sekuensial atau binary search (efisien
tapi penggunaan terbatas).
Tantangan dari pemecahan masalah pencarian ini :
Kumpulan data yang sangat besar.
Update: add, edit, delete.
Algoritma pencarian bisa dibedakan menjadi 2 :
Uninformed Search (Pencarian Tanpa Informasi)
Informed Search (Pencarian Dengan Informasi)
c. Pemrosesan String
Inti masalah : Pencocokan string (pencarian kata dalam suatu teks)
Jangkauan algoritma: Algoritma untuk text string, binary string,dan gene
sequences.
d. Graph
Inti masalah : Penelusuran graph, pencarian jarak terpendek, sorting
topologic pada graph dengan ujung berarah.
Tantangan dari pemecahan masalah graph ini :
Travelling Salesman Problem.
Pewarnaan graph.
e. Kombinatorik
Inti masalah : Menemukan suatu objek kombinatorik (permutasi,
kombinasi, atau subset) yang memiliki batasan-batasan tertentu dan
memiliki property yang diinginkan.
Tantangan dari pemecahan masalah kombinatorik ini :
Sejumlah objek kombinatorik tertentu tumbuh dengan cepat seiring
perkembangan ukuran masalah.
Tidak diketahui algoritma eksak untuk menyelesaikan masalah
tersebut dalam waktu yang diinginkan.
f. Geometrik
Inti masalah : membangun bentuk geometrik dengan menggunakan titik,
garis, dan polygon, dan lainnya.
Tantangan dari pemecahan masalah geometrik ini :
Aplikasi komputer grafik, robot, dan tomography.
Closest-pair.
Convex-full.
2. Memutuskan Perihal
Disini kita harus memutuskan beberapa point yang dapat membantu kita untuk
nantinya dapat merancang algoritma.
a. Exact/Approcimate
Dalam hal ini kita harus menentukan algoritma yang akan kita buat itu bersifat
Exact(Pasti) hanya ada 1 solusi atau Approcimate(hampiran) mempunyai banyak
solusi.
b. Struktur Data
Sudah pasti dalam membuat algoritma kita harus mencari struktut data yang baik
untuk memecahkan masalah yang akan diselesaikan.
c. Teknik Desain Algoritma
Tentukan teknik/stretegi yang baik, untuk menghasilkan algoritma yang baik dan
efisien.
3. Desain Algoritma
Kita tentukan kita akan mendesain algoritma kita dengan metode apa. Ada 3
metode yang umum digunakan :
a. Deskriptif
b. FlowCart
c. PseudoCode