Pengertian Algoritma - SMK Negeri 2 Sumedang

advertisement
Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika.
Dalam kehidupan sehari-hari sebenarnya kita juga menggunakan algoritma untuk melakukan
sesuatu. Sebagai contoh untuk menulis surat diperlukan langkah-langkah sebagai berikut :
1.
2.
3.
4.
5.
Mempersiapkan kertas dan amplop
Mempersiapkan alat tulis
Mulai menulis
Memasukkan kertas ke dalam amplop
Pergi ke kantor pos untuk mengeposkan surat tersebut.
Langkah-langkah dari nomor 1 sampai dengan nomor 5 di atas itulah yang disebut dengan
algoritma. Jadi sebenarnya kita menggunakan algoritma baik dengan sadar maupun tanpa kita
sadar.
Sebelum mebahas lebih jauh, mari terlebih dahulu kita pahami pengertian-pengertian dan konsep
dasar seperti di bawah ini:
Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk
memecahkan masalah.
Flowchart : (Diagram alur) adalah urutan instruksi-instruksi program yang digambarkan dalam
bentuk suatu diagram.
Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer)
untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran/output yang
diharapkan.
Bahasa pemrograman : program yang berisikan instruksi-instruksi yang dimengerti oleh
komputer. Ada 2 klasifikasi dalam bahasa pemrograman, yaitu;
1. Low level language/bahasa tingkat rendah yang berorientasi pada mesin, contohnya: bahasa
mesin/machine language dan bahasa rakitan/assembly language.
2. High level language/bahasa tingkat tinggi adalah bahasa pemrograman yang berorientasi pada
manusia. Contohnya : BASIC, PASCAL, COBOL, FORTRAN, C.
Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh
sederetan langkah instruksi yang logis.
Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma
harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar
atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.
Sebagai contoh, tinjau persoalan mempertukarkan isi dua bejana, A dan B. Bejana A berisi larutan
yang berwarna merah, sedangkan bejana B berisi air berwarna biru. Kita ingin mempertukarkan isi
kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi
larutan berwarna merah. Untuk mempertukarkan isi dua bejana, kita memerlukan sebuah bejana
tambahan yang diperlukan sebagai tempat penampungan sementara. Sebut bejana tambahan
tersebut bejana C. Dengan menggunakan bejana bantu C ini, algoritma mempertukarkan isi dua
buah bejana yang benar adalah sebagai berikut ini:
Deskripsi Algoritma Tukar Isi Bejana:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
Dengan cara tersebut maka bejana A berisi larutan berwarna biru dan bejana B berisi larutan
berwarna merah.
Oke…seteleh deskripsi tersebut mari kita langsung masuk ke materinya…..
Seperti disebutkan diatas, bahwa algoritma adalah urutan langkah-langkah atau instruksi-instruksi
yang harus dilaksanakan untuk memecahkan masalah. Algoritma ini dituliskan dalam sebuah
notasi yang disebut Notasi Algoritma. Notasi algoritma merupakan hal dasar yang harus
diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma
inilah terdapat kerangka-kerangka suatu program. Ciri notasi algoritma yang baik yaitu dapat
diterjemahkan ke dalam berbagai bahasa pemrograman. Hal yang penting mengenai notasi
tersebut adalah mudah dibaca dan dimengerti. Meskipun demikian untuk menghindari kekeliriuan,
ketaatan terhadap notasi perlu diperhatikan. Di bawah ini ada 3 notasi yang umum digunakan
dalam penulisan algoritma, yaitu :
1. Notasi Alami
2. Flowchart/Diagram Alur
3. Pseudo-Code (seperti kode)
1. NOTASI ALAMI
Penulisan algoritma dengan notasi alami adalah dengan cara menuliskan instruksi-instuksi yang
harus dilaksanakan untuk memecahkan masalah dalam bentuk untaian kalimat deskriptif.
Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang
gamblang. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya,
sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini bagus untuk
algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak
efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung
relative sukar.
2. FLOWCHART / DIAGRAM ALUR
Ada 2 jenis Flowchart :
1. flowchart sistem, adalah suatu gambar yang menjelaskan :
-
file-file yang diproses oleh program
-
jenis piranti yang digunakan oleh file
-
operasi terhadap file (masukan ataupun keluaran).
2. flowchart program (biasa disebut flowchart saja), adalah suatu gambar yang menjelaskan
urutan :
-
Pembacaan data
-
Pemrosesan data
-
Pengambilan keputusan terhadap data
-
Penyajian hasil pemrosesan data
Nah….yang kita bahas disini adalah flowchart program atau biasa disebut flowchart saja.
Flowchart/Diagram Alur popular pada awal-awal era pemrograman dengan komputer (terutama
dengan bahasa Basic, Fortran, dan Cobol). Diagram alur lebih menggambarkan aliran instruksi di
dalam program secara visual dibanding memperlihatkan struktur program. Notasi diagram alur
lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak cocok digunakan
karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke
bahasa pemrograman cenderung relatif sukar.
Simbol-simbol pada flowchart
Untuk mulai/akhir:
Simbol ini dinamakan terminator, digunakan untuk menyatakan MULAI
(START) dan SELESAI (END) suatu algoritma.
Untuk input:
Manual input merupakan KOTAK MASUKAN yang digunakan untuk membaca
data yang diberikan oleh usernya. Jadi user mengimput suatu harga/variable/nilai.
Data merupakan KOTAK DATA yang digunakan untuk membaca dan
menampilkan data. Contoh aplikasinya yaitu jika kita ingin kita ingin mengetahui saldo tabungan
kita pada mesin ATM, ATM hanya tinggal membaca data yang ada.
Untuk proses:
Proses merupakan KOTAK PENUGASAN untuk melakukan perhitungan
matematika yang hasilnya diberikan sebagai suatu variable.
Decision merupakan KOTAK KEPUTUSAN untuk memutuskan arah atau
percabangan yang diambil sesuai dengan kondisi yang saat itu terjadi. Hanya ada 2 keputusan
yaitu BENAR atau SALAH.
Untuk output:
Kotak ini selain untuk input, digunakan juga untuk output. Digunakan untuk
menampilkan data.
Dokumen merupakan KOTAK KELUARAN untuk menampilkan / mencetak /
menyimpan hasil(keluaran).
Simbol-simbol lain yang digunakan antara lain:
Simbol Aliran Panah.
Connector merupakan SIMBOL PENGHUBUNG, untuk penghubung bila diagram alur
terputus tapi masih dalam halaman yang sama.
Off-page connector merupakan SIMBOL PENGHUBUNG, untuk penghubung bila
diagram alur terputus disebabkan misalnya oleh pergantian halaman (tak cukup digambar 1
halaman).
3. PSEUDO-CODE
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi,
khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip
untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan
sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma,
indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudo-code dapat
diterima asalakan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi
Pseudo-code adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat
korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman. Sehingga Pseudocode cocok untuk algoritma yang rumit.
CONTOH KASUS
Buatlah algoritma untuk menghitung luas persegi panjang dengan ketiga notasi algoritma diatas?
Jawab.
1. Notasi Alami
- Dapatkan nilai panjang
- Dapatkan nilai lebar
- Kalikan nilai panjang dengan nilai lebar dan berikan nilainya kehasil
- Tampilkan nilai hasil
2. Flowchart
3. Pseudo-code
p, l, ls : numeric
begin
read (p, l)
ls : p x l
print (ls)
end.
Download