PENGERTIAN DASAR LOGIKA DAN ALGORITMA
Sejarah Algoritma
Asal
kata Algoritma berasal
dari nama Abu
Ja’far Mohammed Ibn
Musa al-Khowarizmi, ilmuan Persia
yang menulis kitab
al jabr w’al-muqabala
(rules of restoration
and reduction) sekitar tahun 825
M
A.
Algoritma
è
Urutan langkah-langkah untuk
memecahkan masalah
è
Urutan logis pengambilan putusan
untuk memcahkan masalah
urutan
langkah logis, berarti algoritma harus mengikuti
suatu urutan tertentu,
tidak boleh melompat-lompat.
è
Alur pemikiran dalam menyelesaikan
suatu pekerjaan yang dituangkan secara tertulis.
Alur pikiran yang artinya algoritma seseorang
dapat berbeda dari algoritma orang lain.
tertulis, yang artinya dapat
berupa kalimat, gambar,
atau tabel tertentu.
Dalam bidang komputer,
algoritma sangat diperlukan
dalam menyelesaikan berbagai
masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma
yang dirancang
baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan
tidak efisien.
|
Note:
Algoritma Di butuhkan untuk memerintah computer mengambil langkah-langkah tertentu untuk menyelesaikan masalah
Algoritma à Pemrograman à Program
Agar algoritma
dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program
(melalui proses pemrograman).
|
Penulisan
Algoritma :
1. Menggunakan bahasa natural
(Bahasa manusia: Indonesia, Inggris)
Kelemahannya masih sering
membingungkan (ambigu) / sulit dipahami.
2. Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma
panjang
3. Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh
orang yang belum tahu pemrograman
B.
Tahap Analisa Algoritma
1.
Bagaimana
merencanakan algoritma
Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas
lingkaran,
dengan data yang diketahui adalah diameter
lingkaran.
Rumus :
∏ . r2
dengan Phi =
3.14 atau 22/7.
2.
Bagaimana
menyatakan suatu algoritma (menulis algoritma)
suatu cara penulisan algoritma
agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman
pemrograman tertentu.

Program
Flowchart
Yaitu bagan yang menggambarkan urutan logika
dari suatu prosedur pemecahan masalah.
Simbol yang digunakan :
: menunjukkan awal dan akhir dari
program
: memberikan niai awal
pada suatu variabel atau counter
: menunjukkan pengolahan
aritmatika dan pemindahan data
: menunjukkan proses input
atau output
: untuk mewakili operasi
perbandingan logika
: proses yang ditulis
sebagai sub program, yaitu prosedur/ fungsi
: penghubung pada halaman yang
sama
: penghubung pada halaman yang berbeda
Contoh :

3.
Bagaimana
validitas suatu algoritma
4.
Bagaimana
menganalisa suatu algoritma
5.
Bagaimana
menguji program dari suatu algoritma
Studi
Kasus :
Buatlah
Algoritma untuk memilih bilangan terbesar dari 3 buah bilangan ?
§ Dengan
Bahasa Natural
1.
Ambil
bilangan pertama dan set maks sama dengan bilangan pertama
2.
Ambil
bilangan kedua dan bandingkan dengan maks
3.
Apa bila
bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua
4.
Ambil
blangan ketiga dan bandingan dengan maks
5.
Apabila
bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga
6.
Variabel
maks berisi bilangan terbesar. Tampilkan hasilnya
§ Dengan
Flowchart

§ Dengan
Pseudo-code
Maks ←bilangan pertama
if (maks < bilangan kedua)
maks←bilangan kedua
if (maks < bilangan ketiga)
maks
← bilangan ketiga
C.
Tahap Proses Uji Algoritma
1. Pengujian Tahap Debuging
Untuk
mengecek kesalahan program, Baik sintaksis maupun logika.
2. Pengujian tahap profiling.
Untuk
menentukan waktu tempuh dan banyak nya memori program yang digunakan.
D. Analisis Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat
dilihat dari:
1.
Waktu
Tempuh dari Suatu Algoritma
2.
Jumlah
memori yang digunakan
E.
Sifat-sifat Algoritma
Aspek Penting Algoritma :
1.
Finite à algoritma harus berhenti setelah mengerjakan sejumlah
langkah terbatas
2.
Definite à setiap langkah didefinisikan secara tepat, tidak boleh membingungkan (ambigu)
3.
Input à sebuah algoritma memiliki nol/lebh input
sebelum dijalankan
4.
Output à algoritma memiliki satu/lebih output, yanng
biasanya bergantung kepada input
5.
Effectiveà setiap algoritma diharapkan memiliki sifat
efektif. (setiap langkah harus sederhana
dan sehingga dapat
dikerjakan dalam waktu yang masuk akal)
1.
Sequence Process à instruksi dikerjakan secara berurutan satu
persatu dimulai dari langkah pertama sampai terakhir.
2.
Selection Process à instruksi pemilihan proses (percabangan), sehingga apabila memenuhi persyaratan
tertentu maka instruksi akan dikerjakan.
Contoh : jika pembayaran tunai diberi diskon
10%
Jika dilakukan secara redit maka diskon 0 %.
(dalam
pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif
instruksi.
3.
Iteration Process à suatu instruksi yang dikerjakan
berulang-ulang selama beberapa kali selama masih memenuhi suatu kondisi.
Tugas
:
Buatlah
algoritma (dengan bahasa natural):
1.
Menampilkan
bilangan ganjil dari 1 sampai dengan 10.
2.
Menghitung
jumlah deret : 1 + 2 + 3 + 4 + .... + N
N = jumlah maksimum suatu nilai yang
dimasukkan.
Tidak ada komentar:
Posting Komentar