Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth, algoritma mempunyai lima ciri penting yang meliputi:
- Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah proses.
- Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda.
- Input (masukan), algoritma memiliki nol atau lebih data masukan (input).
- Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output).
- Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar.
- Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu.
- Tidak tergantung pada suatu bahasa pemrograman tertentu.
- Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
- Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari.
Seperti telah dijelaskan di sub bab sebelumnya bahwa penyusun atau struktur dasar algoritma adalah langkah-langkah. Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Berikut adalah penjelasan dari tiga struktur tersebut :
- Runtunan (sequence)
Contoh lain dari runtunan aksi adalah algoritma penukaran dua bilangan bulat,yaitu:
- Deklarasikan A, B, dan C sebagai bilangan bulat
- Masukkan nilai A dan B
- Masukkan nilai A ke dalam C
- Masukkan nilai B ke dalam A
- Masukkan nilai C ke dalam B
2. Pemilihan (selection)
Kadangkala terdapat suatu kejadian yang baru akan dikerjakan jika suatu kondisi tertentu telah terpenuhi. Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan.
Contoh kasus pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini:
- Masukkan bilangan sebagai sebuah bilangan bulat
- Bagi bilangan dengan angka 2, simpan nilai sisa pembagian dalam variabel sisa
- Jika nilai sisa sama dengan 0 maka kerjakan langkah 4:
- Tampilkan ”GENAP” ke layar
- Jika nilai sisa tidak sama dengan 0 maka kerjakan langkah 6
- Tampilkan ”GANJIL” ke layar
- Selesai.
3. Pengulangan (repetition)
Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah.Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia. Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan di bahasa pemrograman yaitu for…, while()..., do...while(), repeat....until, for...downto...do, for...to...do dan lain-lain. Sebagai contoh adalah menampilkan huruf tertentu sebanyak n kali ke layar sebagai berikut:
- Deklarasikan variabel huruf untuk menyimpan karakter yang akan ditampilkan.
- Deklarasikan variabel n untuk menyimpan banyaknya perulangan
- Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah dilakukan.
- Masukkan sebuah karakter dan simpan dalam variabel huruf
- Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variabel n
- Set nilai counter dengan 0
- Tampilkan huruf ke layar
- Lakukan penambahan counter dengan 1
- Jika nilai counter<n, kerjakan langkah 6
- Jika nilai counter = n selesai
Tidak ada komentar:
Posting Komentar