Algoritma
ALGORITMA
Pengertian Algoritma
Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah, ada syarat
kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Konsep algoritma
sering kali disetarakan dengan sebuah resep. Sebuah resep biasanya memiliki
daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan dan bagaimana
hasil dari urutan pengerjaan tersebut. Apabila bahan yang digunakan tidak
tertera (tidak tersedia) maka resep tersebut tidak akan dapat dikerjakan.
Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang
diharapkan tidak akan dapat diperoleh. Algoritma yang berbeda dapat diterapkan
pada suatu masalah dengan syarat yang sama. Tingkat kerumitan dari suatu
algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma
tersebut untuk menyelesaikan masalah. Umumnya, algoritma yang dapat
menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat
kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk
menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.
Perhatikan algoritma sederhana berikut.
Contoh Algoritma menghitung luas
segitiga.
1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop
Algoritma di atas
adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma
ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya
satu kali.Sekilas algoritma di atas benar, namun apabila dicermati maka
algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan
pada nilai data untuk alas dan tinggi. Bagaimana jika nilai data alas atau
tinggi adalah bilangan 0 atau bilangan negatif ? Tentunya hasil yang keluar
menjadi tidak sesuai dengan yang diharapkan. Dalam kasus seperti ini kita perlu
menambahkan langkah untuk memastikan nilai alas dan tinggi memenuhi syarat,
misalnya dengan melakukan pengecekan pada input yang masuk. Apabila input nilai
alas dan tinggi kurang dari 0 maka program tidak akan dijalankan. Sehingga
algoritma di atas dapat dirubah menjadi seperti contoh berikut.
Contoh Hasil perbaikan algoritma
perhitungan luas segitiga.
1. Start
2. Baca data alas dan tinggi.
3. Periksa data alas dan tinggi, jika
nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4
jika tidak maka stop
4. Luas adalah alas kali tinggi kali 0.5
5. Tampilkan Luas
6. Stop
Dari penjelasan di atas
dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus
benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma
memberikan hasil yang benar. Cara Penulisan Algoritma
Ada tiga cara penulisan
algoritma, yaitu
: Structured English (SE) SE merupakan alat yang cukup baik untuk menggambarkan
suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat
memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai
Structured Indonesian (SI). Algoritma Karena dasarnya adalah bahasa sehari-hari,
maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan
dikomunikasikan kepada pemakaiperangkat lunak.
Pseudocode
Pseudocode mirip dengan
SE. Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo
berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode
program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode
program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang
sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis
bahasa PASCAL merupakan pseudocode yang sering digunakan. Kadang-kadang orang
menyebut pseudocode sebagai PASCAL-LIKE algoritma. Apabila Contoh ditulis
dalam pseudocode berbasis bahasa BASIC akan tampak seperti pada contoh
Contoh 5.12. Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contohtampak bahwa
algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan
PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing
menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode
seperti di atas maka proses penterjemahan dari algoritma ke kode program
menjadi lebih mudah.
Flowchart
Flowchart atau bagan
alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu
program secara logika. Flowchart merupakan alat yang banyak digunakan untuk
menggambarkan algoritma dalam bentu notasi-notasi tertentu. Secara lebih detil
bagian ini akan dibahas pada bagian berikutnya. Pada flowchart ada beberapa
simbol penting yang digunakan untuk membuat algoritma Notasi ini disebut
Terminator yang berarti digunakan untuk menunjukkan awal dan akhir suatu
algoritma Notasi ini disebut Data yang digunakan untuk mewakili data input atau
output atau menyatakan operasi pemasukan data dan pencetakan hasil. Notasi ini
disebut Process yang digunakan untuk mewakili suatu proses. Notasi ini disebut
Decision yang digunakan untuk suatu pemilihan, penyeleksian kondisi di dalam
suatu program Notasi ini disebut Preparation yang digunakan untuk memberi nilai
awal, nilai akhir, penambahan/pengurangan bagi suatu variable counter. Notasi
ini disebut Predefined Process yang digunakan untuk menunjukkan suatu operasi
yang rinciannya ditunjukkan ditempat lain (prosedur, sub-prosedur, fungsi)
Notasi ini disebut Connector yang digunakan untuk menunjukkan sambungan dari flowchart
yang terputus di halaman yang sama atau haraman berikutnya. Notasi ini disebut
Arrow yang digunakan untuk menunjukkan arus data atau aliran data dari proses
satu ke proses lainnya. Simbol-simbol yang digunakan dalam flowchart. Program
Flowchart dapat terdiri dari dua macam, yaitu bagan alir logika program
(program logic flowchart) dan bagan alir program komputer terinci (detailed
computer program flowchart). Bagan alir logika program digunakan untuk
menggambarkan tiap-tiap langkah di dalam program komputer secara logika dan
biasanya dipersiapkan oleh seorang analis system. Sedangkan bagan alir program
komputer terinci digunakan untuk menggambarkan instruksi- instruksi program
komputer secara terinci dan biasanya dipersiapkan oleh seorang programmer.
Struktur Algoritma
Berurutan
Ada tiga struktur dasar
yang digunakan dalam membuat algoritma yaitu struktur berurutan (sequencing),
struktur pemilihan/keputusan/percabangan (branching) dan struktur pengulangan
(looping). Sebuah algoritma biasanya akan menggabungkan ketiga buah struktur
ini untuk menyelesaikan masalah. Pada bagian ini kita akan bahas lebih dulu
struktur algoritma berurutan. Struktur berurutan dapat kita samakan dengan
mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan
seperti tampak pada Mobil tersebut akan melewati kilometer demi kilometer jalan
sampai tujuan tercapai.
Struktur berurutan
terdiri satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan
sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah
instruksi sebelumnya selesai dieksekusi. Urutan instruksi menentukan keadaan
akhir dari algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga
berubah. Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuan-ketentuan
sebagai berikut:
- Tiap
instruksi dikerjakan satu persatu
- Tiap
instruksi dilaksanakan tepat sekali, tidak ada yang diulang
- Urutan
instruksi yang dilaksanakan pemroses sama dengan urutan
- Aksi
sebagaimana yang tertulis di dalam algoritmanya
0 Comments:
Posting Komentar