ALGORITMA

advertisement
Algoritma & Pemrograman 2
I. ALGORITMA
Definisi Algoritma
Prosedur
: himpunan hingga instruksi, yg bersifat diskrit dan jelas,
serta dapat dijalankan secara mekanik.
Secara mekanik maksudnya dapat dibuat program
komputer.
Semi- Algoritma
: adalah prosedur yang mampu menghasilkan pemecahan
atau solusi masalah, bila solusi memang ada, dan
kemudian berhenti.
Algoritma
: - semi algoritma yang mampu mendeteksi tidak adanya
solusi, bila solusi memang tidak ada, dan mampu
untuk berhenti.
- suatu susunan langkah-langkah instruksi untuk
menyelesaikan masalah.
Contoh :
Masalah :
Tentukan akar kuadrat dari suatu bilangan bulat positif ! (akarnya
bilangan bulat positif)
Penyelesaiannya :
Semi algoritmanya :
1. Baca bilangan bulat positif y
2. Nyatakan nilai q = 0
3. Hitung p = q x q
4. Jika p = y maka q adalah akarnya, lalu berhenti
5. Q ditambah 1
6. Kembali ke langkah 3
Dari semi algoritma di atas, jika dijalankan
Untuk nilai y = 4, prosesnya adalah :
1. y = 4
2. q = 0
3. p = 0
4. p = y  0 = 4 ? (salah)
5. q = 1
6. kembali ke langkah 3
Halaman : 1
Algoritma & Pemrograman 2
3. p = 1
4. p = y  1 = 4 ? (salah)
5. q = 2
6. kembali ke langkah 3
3. p = 4
4. p = y  4 = 4 ? (benar)
5. berarti q = 2 adalah akarnya.
6. Proses berakhir.
Untuk nilai y = 5, maka prosesnya adalah :
1. y = 5
2. q = 0
3. p = 0
4. p = y  0 = 5 ? (salah)
5. q = 1
6. kembali ke 3
3. p = 1
4. p = y  4 = 5 ? (salah)
5. q = 3
6. kembali ke langkah 3
3. p = 9
4. p = y  9 = 5 ? (salah)
5. q = 3
6. kembali ke 3
……
…..
dan seterusnya
Proses tersebut tidak akan pernah berhenti, karena untuk masalah nilai y = 5 tidak
mempunyai solusi.
Urutan dari barisan langkah-lamgkah tersebut di atas (semi algoritma) dapat diubah
menjadi algoritma. Dengan demikian proses akan berhenti atau berakhir baik dalam
keadaan ada solusi maupun tidak ada solusi. Hal ini cukup dilakukan dengan penambahan
satu instruksi di antara langkah ke-4 dan ke-5. Sehingga algoritmanya adalah :
1.
2.
3.
4.
5.
6.
7.
Baca bilangan bulat positif y
Nyatakan nilai q = 0
Hitung p = q x q
Jika p = y maka q adalah akarnya, lalu berhenti
Jika p > y maka y tidak punya akar, lalu benrhenti
Q ditambah 1
Kembali ke langkah 3
Halaman : 2
Algoritma & Pemrograman 2
Dari algoritma di atas, jika dijalankan untuk nilai :
y = 4, prosesnya adalah :
1. y = 4
2. q = 0
3. p = 0
4. 0 = 4 ? (salah)
5. 0 > 4 ? (salah)
6. q = 1
7. kembali ke 3
3. p = 1
4. 1 = 4 ? (salah)
5. 1 > 4 ? (salah)
6. q = 2
7. kembali ke langkah 3
7. p = 4
8. 4 = 4 ? (benar)
berarti q = 2 adalah akarnya.
Proses berakhir.
Untuk y = 5, prosesnya adalah :
1. y = 5
2. q = 0
3. p = 0
4. 0 = 5 ? (salah)
5. 0 > 5 ? (salah)
6. q = 1
7. kembali ke langkah 3
3. p = 1
4. 1 = 5 ? (salah)
5. 1 > 5 ? (salah)
6. q = 2
7. kembali ke langkah 3
3. p = 4
4. 4 = 5 ? (salah)
5 .5 ? (salah)
6. q = 3
7. kembali ke langkah 3
8. p = 9
9. 9 = 5 ? (salah)
10. 9 > 5 ? (benar)
Halaman : 3
Algoritma & Pemrograman 2
11. berarti tidak punya akar.
Proses berhenti
Sifat-sifat Algoritma :
1. Banyaknya langkah instruksi yang hingga :
Banyaknya instruksi atau langkah haruslah berhingga, jika tidak demikian, proses
yang dilakukan akan memerlukan waktu yang relatif lebih lama dan diperoleh hasil
yang tidak diperlukan atau tidak berhubungan dengan masalah yang ada. Bahkan akan
memungkinkan proses berlangsung terus walaupun solusi yang diharapkan sudah
diperoleh.
2. Harus jelas :
Penulisan dari setiap langkah yang terdapat didalam sebuah algoritma harus memiliki
arti yang khusus dan spesifik, karena penulisan langkah bagi komputer berbeda
dengan penulisan langkah bagi manusia.
3. Batasan dari rangkaian proses :
Rangkaian proses yang berisi langkah-langkah dari suatu algoritma yang akan
dilaksanakan harus ditetapkan dengan pasti.
4. Batasan dari input dan output :
Input merupakan data yang dimasukkan ke dalam algoritma. Input tersebut harus
sesuai dengan jenis algoritma yang bersangkutan. Output merupakan hasil yang
dikeluarkan oleh komputer sebagai hasil dari pelaksanaan program.
5. Efektivitas :
Instruksi dari sebuah algoritma dapat memerintahkan komputer agar hanya
melaksanakan penugasan yang mampu dilaksanakannya saja. Komputer tidak dapat
melaksanakan instruksi, jika informasinya tidak lengkap, atau jika hasil dari
pelaksanaan perintah tidak diberi batasan yang jelas.
6. Batasan ruang lingkup :
Sebuah algoritma adalah diperuntukkan bagi suatu masalah tertentu.
Contoh 1.
Masalah :
Tentukan bilangan terbesar diantara 3 bilangan bulat yang diberikan.
Algoritma :
1. Baca (sebagai input) bilangan yang pertama, sebut sebagai NUM1
2. Baca (sebagai input) bilangan yang kedua, sebut sebagai NUM2
3. Bandingkan NUM1 dengan NUM2, kita ambil yang lebih besar, jika kedua bilangan
tersebut sama besarnya, kita ambil NUM1, dan sebut bilangan tersebut BESAR.
4. Baca (sebagai input) bilangan yang ketiga, sebut sebagai NUM3
Halaman : 4
Algoritma & Pemrograman 2
5. Bandingkan BESAR dengan NUM3 dan pilih yang lebih besar, jika keduanya sama
besar, pilih BESAR, dan sebut bilangan tersebut BESAR
6. Keluarkan, sebagai output, BESAR
7. Selesai
Contoh 2.
Berikut ini perluasan dari masalah pada contoh 1.
Masalah :
Tentukan bilangan terbesar diantara N buah bilangan yang duberikan, dengan N
lebih besar dari 2.
Algoritma :
1. Input (masukkan) N
2. Input (masukkan) bilangan yang pertama , sebut sebagai NUM1
3. Input (masukkan) bilangan yang kedua ,sebut sebagai BESAR
4. Buatlah pencacah atau counter untuk menghitung banyaknya bilangan yang sudah
dibaca, sebut pencacah tersebut HITUNG. Istilah sebagai harga awal dari HITUNG
adalah 2.
5. Bandingkan NUM1 dengan BESAR, jika NUM1 lebih besar dari pada BESAR,
tempatkan BESAR = NUM1.
6. Jika HITUNG sama dengan N, output adalah BESAR, kemudian berhenti
7. Jika HITUNG tidak sama dengan N, tambahkan 1 pada nilai HITUNG. Masukkan
bilangan berikutnya sebut NUM1. Kemudian laksanakan lagi langkah ke- 5 ini.
DIAGRAM ALUR (FLOWCHART)
Diagram alur dapat menunjukkan secara jelas arus pengendalian algoritma, dengan
memberikan gambaran berupa simbol-simbol yang masing-masing memiliki fungsi dan
arti.
Contoh beberapa simbol flowchart :
Processing
Garis alur
Decision
Input / Output
Terminal
Penghubung
Halaman : 5
Algoritma & Pemrograman 2
START
INPUT N
INPUT NUM1, BESAR
SET HITUNG = 2
YES
NUM1 > BESAR
NO
SET BESAR = NUM1
HITUNG = N
OUTPUT
BESAR
INCREMENT HITUNG
BY 1
STOP
INPUT
NUM1
Halaman : 6
Download