Tahapan Analisa Algoritma
1. Bagaimana merencakan suatu algoritma:
Menentukan beberapa model atau desain
sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan
mungkin. Dengan demikian, akan banyak terdapat variasi desain atau
model yang dapat diambil yang terbaik.
2. Bagaimana menyatakan suatu algoritma
Menentukan model suatu algoritma yang
digunakan sehingga dapat membuat barisan langkah secara berurutan guna
mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar
dapat digunakan dengan cara:
- Dengan Bahasa
semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari,
tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada
contoh-contoh sebelumnya(Contoh prosedur berikirm surat)
Contoh:
1. Untuk mengitung Luas Segitiga:
2. Masukan Nilai Alas
3. Masukan Nilai Tinggi
4. Hitung Luas = (Alas * Tinggi)/2
5. Cetak Luas
- Dengan diagram alur atau flowchart: yaitu dengan
membuat suatu penulisan atau penyajian algoritma berupa diagram yang
menggambarkan susunan alur logika dari suatu permasalahan
Contoh:
-
Dengan Statement Program/Penggalan Program
Contoh:
1. Read
Alas
2. Read
Tinggi
3. Luas=(Alas*Tinggi)/2
4. Write(luas)
3. Bagaimana
validitas suatu algoritma
Yakni
jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang
didapat merupakan penyelesaian suatu masalah dan bukannya membuat
masalah baru.
4. Bagaimana
menganalisa suatu algoritma
Caranya
melihat running time atau waktu tempuh yang digunakan dalam
menyelesaikan masalah serta jumlah memori yang digunakan dalam
penyelesaian masalah tersebut.
5. Bagaimana
menguji program dari suatu algoritma
Yaitu
dengan cara menyajikannya dalam salah satu bahasa pemrogramana,
misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses,
uji program oleh komputer akan melalui beberapa tahap yaitu:
1. Fase
Debugging, yaitu fase dari suatu proses program eksekusi yang
akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni
adalah error atau salah dalam penulisan program baik logika maupun
sintaksnya.
2. Fase
Profilling, yaitu fase yang akan bekerja jika program tersebut
sudah benar atau telah melalui proses pada fase debugging. Fase ini
bekerja untuk melihat dan mengukur waktu tempuh atau running time yang
diperlukan serta jumlah memori/storage yang digunakan dalam
menyelesaikan suatu algoritma.
ANALISIS
SUATU ALGORITMA
(Untuk melihat faktor
efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan
terhadap suatu algoritma dengan melihat pada:
- Waktu
tempu(Running Time) dari suatu algoritma: adalah satuan waktu
yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan
suatu masalah.
Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:
1. Banyaknya
langkah: Makin banyak langkah atau instruksi yang digunakan
dalam menyelesaikan masalah, maka makin lama waktu tempuh yang
dibutuhkan dalam proses tersebut
2. Besar
dan jenis input data: Besar dan jenis input data pada suatu
algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi.
Jika jenis data adalah tingkat ketelitian tunggal(Single precision),
maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan
tingkat ketelitian ganda(double precesion)
3. Jenis
operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang
digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar
atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau
pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan
atau pengurangan.
4. Komputer
dan kompilator: hal terakhir yang mempengaruhi waktu tempuh
suatu proses algoritma adalah komputer dan kompilatornya, walaupun
sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan
algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh
yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat
bergantung pada kemampuan komputer yang tentunya harus sesuai dengan
jumlah program atau langkah yang diperlukan oleh algoritma, begitu juga
dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat
dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan
seterusnya
- Jumlah
Memori Yang digunakan: banyaknya langkah yang digunakan dan
jenis variabel data yang dipakai dalam suatu algoritma akan sangat
mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat
memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama
proses berlangsung hingga proses selesai dikerjakan. Dengan demikian,
dapat disiapkan storage yang memadai agar proses suatu algoritma
berjalan tanpa ada hambatan atau kekurangan memori.
Sifat-Sifat
Algoritma
- Banyaknya
langkah instruksi harus berhingga: pelaksanaan sebuah
algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan
melalui sejumlah langkah operasional yang berhingga. Jika tidak
demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma
tersebut dapat menghasilkan suatu solusi yang baik.
- Langkah
atau instruksi harus jelas: artinya bahwa penulisa setiap
langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang
khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah
untuk komputer(program/pemrograman) dengan penulisan langkah bagi
manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang
terdiri atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram
alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan
algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti
oleh komputer itu sendiri(bahasa pemrograman).
- Proses
harus jelas dan mempunyai batasan: rangkaian suatu proses yang
berisi langkah-langkah instruksi dari suatu algoritma yang akan
dilaksanakn harus ditetapkan dengna jelas, baik dan pasti sebab sebuah
algoritma harus memiliki instruksi dasar tertentu dimana setiap
instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses
data yang akan dimasukkan dalam sebuah komputer. Dengan demikian,
sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan
proses yang akan dilaksanakan oleh komputer.
- Input
dan Output harus mempunyai batasan: input merupakan data yang
dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh
komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis
dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil
yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk
kepentingan user yang merupakan pihak diluar komputer. Algoritma harus
menghasilkan output karena merupaka solusi yang diharapkan dari suatu
masalah yang timbul.
-
Efektifitas: instruksi yang diberikan pada komputer agar hanya
menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang
dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi
dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang
diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.
- Adanya
batasan ruang lingkup, sebuah algoritma yang baik adalah hanya
ditujukan bagi suatu masalah tertentu saja. Susunana input harus
ditentukan lebih dulu sebab susunan tersebut enentukan sifat umum dari
algoritma yang bersangkutan.
No comments:
Post a Comment