Logika dan Algoritma

PENGERTIAN DASAR

Logika pertama kali diperkenalkan oleh Aristoteles (384-322 SM).

Algoritma  diperkenalkan oleh ahli matematika yaitu Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Seorang ilmuan Persia yang menulis kitab al jabr w’al muqabala (rules of restoration and reduction) sekitar tahun 825 M.

Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa.
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah – langkah dalam algoritma harus logis dan bernilai benar atau salah.
Definisi Logika
  1. Penalaran atau bentuk Pemikiran,
  2. Ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berpikir valid menurut aturan yang berlaku.
 lebih tepatnya Logika harus Efektif dan Efisien.

Definisi Algoritma
  1. Langkah-langkah untuk mencari solusi dari masalah,
  2. Suatu prosedur yang merupakan suatu langkah-langkah yang berintegrasi,
  3. Suatu  metode untuk menyelesaikan suatu masalah.
Tahapan Penyelesaian Masalah


Kriteria Pemilihan Algoritma

1. Ada Output,
2. Efektifitas dan Efesiensi,
3. Jumlah Langkahnya Berhingga,
4. Berakhir, ( SEMI ALGORITMA )
5. Terstruktur.

Sifat-sifat Algoritma
  1. Tidak menggunakan simbol-simbol dari bahasa pemrograman tertentu
  2. Tidak bergantung pada suatu bahasa pemrograman
  3. Notasi-notasi dapat digunakan untuk seluruh bahasa apapun
  4. Algoritma dapar merepresentasikan suatu kejadian secara logis dan dapat diterapkan dikehidupan sehari-hari
  5. Banyaknya instruksi harus berhingga
  6. Instruksi harus jelas
  7. Proses harus jelas dan mempunyai batasan
  8. Input dan output
  9. Efektifitas
  10. Adanya batasan ruang lingkup
Struktur Dasar Algoritma
  1. Runtunan (Sequence)
  2. Pemilihan atau Percabangan (Selection)
  3. Perulangan (Looping)
contohnya sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yg di Input :

Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A
  1. Dinyatakan Nilai B adalah 0,
  2. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B,
  3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop.
  4. Jika tidak, maka Nilai B akan bertambah 1,
  5. Kembali ke langkah pada No. 3
Tahap Analisa Algoritma
  1. Bagaimana merencanakan suatu algoritma.
  2. Bagaimana menyatakan suatu algoritma
a. Dengan bahasa semu (pseudocode).

Contoh :
Untuk menghitung Luas Segi tiga :
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas =( Alas * Tinggi ) / 2
4. Cetak Luas

b. Dengan diagram alur atau flowchart,
Contoh :

Simbol dan Kegunaan Flow Chart

c. Dengan Statement program / penggalan
Program

Contoh (menggunakan C++):

cin >> Alas ; //untuk input data
cin >> Tinggi;
Luas = (Alas * Tinggi)/2 ; // proses
cout << Luas; //untuk output data


     3. Bagaimana validitas suatu algoritma.
     4. Bagaimana Menganalisa suatu Algoritma.
     5. Bagaimana Menguji Program dari suatu Algoritma.


Tahap Proses Uji Algoritma :

a. Fase Debugging
yaitu fase dari proses program eksekusi yang akan melakukan koreksi terhadap kesalahan.

b. Fase Profilling
yaitu fase yang akan bekerja jika program tersebut sudah benar (telah melewati fase debugging).

Analisis Suatu Algoritma

(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat pada :

a. Waktu Tempuh (Running Time) dr suatu Algortima.

Hal-hal yg dpt m empengaruhi drpd waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator

b. Jumlah Memori Yang Digunakan.

Komentar

Postingan populer dari blog ini

PROGRAM C++ UNTUK MENCARI LUAS SEGITIGA, PERSEGI PANJANG, DAN BUJUR SANGKAR