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 :
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