Sabtu, 14 Maret 2009

LOGIKA ALGORITMA(Dasar)

Algoritma adalah langkah2 yang dipergunakan untuk memecahkan suatu masalah.
Menurut Versi lain:
Algoritma adalah Sejumlah Procedure yang mentransformasi input menjadi sebuah Output.
SebuahAlgoritma dikatakan benar jika untuk setiap input (masukannya) menghasilkan Output yang benar pula.
Bisa dikatakan Algoritma adalah Jantungnya Informatika khususnya dalam hal Programming.
Beberapa permasalahan yang dapat dipecahkan Algoritma
1. Proyek pemetaan Gen Manusia perlu mengidentifikasikan lebih dari100ribu Gen dalam DNA manusia dan menentukan 3Milyar pasang kromosom yang dapat membentuk DNA manusia.Data yang didapat disimpan dalam Database dan dianalisis.setiap langkah pemetaan memerlukan Algoritma yang dapat mengefisiensikan waktu dan resource yang dibutuhkan.
2. Berbagai macam Informasi tersedia di Internet.jika kita membutuhkan sebuah Informasi tertentu,tentu kita ingin agar informasi tersebut tersedia dengan cepat dan lengkap.untuk itu diperlukan algoritma yang dapat mengatur dan memanipulasi data yang berjumlah besar agar pengmbilan Informasi dapat dilakukan dengan cepat(dalam hal penentuan rute yang dilalui oleh data dalam pencarian halaman Web dimana informasi yang dibutuhkan berada).

Mungkin muncul pertanyaan dibenak kita,”Mengapa Memerlukan Algoritma???”Karena kecepatan CPU dan kapasitas memory yang terbatas,sehingga penggunaanya perlu diatur seefisien mungkin.
Contoh Kasus:
Komputer A dapat mengeksekusi 1Milyar intruksi/detik menjalankan Algoritma Insertion Sort.Misalkan Programmer telah membuat program seefisien mungkin sehingga mengasilkan waktu komputasi:
2n2(c1=2).
Komputer B dapat Mengeksekusi 10 juta instruksi/detik dan menjalankan Algoritma merge sort.misalkan program yang dijalankan tidak seefisien program pada Komputer A dan menggunakan bahasa pemrograman yang High Level,sehingga menghasilkan waktu komputasi 50 n lg n(c2=50).
Untuk Menurutkan 1 juta Bilangan,Komputer A membutuhkan waktu:

Waktu 2.(1069)2 instruksi=2000 detik
109instruksi/detik

Sedangkan Komputer B membutuhkan waktu:

Waktu 50.(106)lg106 instruksi=100 detik
107 instruksi/detik
Meskipun Komputer A Secara Spesifikasi 100x lebih cepat dari pada komputer B,tetapi dengan menggunakan Algoritma yang pertumbuhan fungsinya lambat,komputer B berjalan 20x lebih cepat dari pada komputer A.
Misalkan jumlah data yang diurutkan menjadi 10juta bilangan maka Komputer A akan selesai menghitung dalm 2,3 hari sedangkan komputer B kurang dari 20 menit.








LANGKAH-LANGKAH PEMBUATAN ALGORITMA
Berikut Ilustrasinya:

Masalah



Model


Algoritma



Program



Eksekusi



Hasil










Contoh:Mencari Akar:
MenggunakanDiagramAlur/FlowChart














*Menggunakan Psedocode(Bahasa sehari-hari)
*Baca Variable A
*Tentukan B=0
*C=B*B
*Jika C=A maka End(berhenti)
*Jika C <>A maka B+1 kembali ke C=B*B

*Menggunakan Statement Program(Penggalan Program)
*Read A
*B=0
*C=B*B
*If C=A then End; else B+1 goto C=B*B

Ada 2 macam keasalahan Program
1.error SynthaxDikarenakan kesalahan dalam penulisan Code.
2.error Logicdikarenakan kesalahan Logika/Algoritma nya.
Misal anda membuat Program untuk menghitung luas segi tiga(Dalam Delphi):
Error Syntax
Var
Alas,Tinggi,hasil:Integer;
Begin
Alas:=5;
Tinggi:=4
Hasil:=0.5*Alas*Tinggi;
Edit1.Text:=IntToStr(Hasil);
End;
(Kesalahan pada Tinggi:=4 tidak ada “;”)error Syntax

Error Logic
Var
Alas,Tinggi,hasil:Integer;
Begin
Alas:=5;
Tinggi:=4;
Hasil:=Alas*Tinggi;
Edit1.Text:=IntToStr(Hasil);
End;
(Program memang akan berjalan tapi hasilnya salah!!)Error Logic
Semoga Bermanfaat:
Download:Versi pdf

2 comments:

Posting Komentar

Katakan Sesuatu