Upload
aziz-moeslim
View
10.157
Download
2
Embed Size (px)
DESCRIPTION
pengertian algoritma,notasi algoritma
Citation preview
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
Menurut kamus besar bahasa indonesia terbitan balai pustaka tahun 1988, “algoritma
adalah urutan logis pengambilan putusan untuk pemecahan masalah”.
Menurut Microsoft Book-shelf, “algoritma adalah urutan langkah berhingga untuk
memecahkan masalah logika atau matematika”.
Berdasarkan defenisi-defenisi tersebut maka dapat disimpulkan, “algoritma adalah
urutan langkah-langkah logis yang berhingga yang digunakan untuk memecahkan
masalah”.
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.
Menurut Donald E. Knuth dalam bukunya yang berjudul “the art of computer
programming”, algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah. Suatu program
yang tidak pernah berhenti adalah program yang berisi algoritma yang salah.
2. Setiap langkah harus didefenisikan dengan tepat dan tidak berarti-dua (ambigu).
3. Algoritma memiliki nol atau lebih masukan (input). Masukan adalah besaran yang
diberikan kepada algoritma sebelum algoritma mulai bekerja.
4. Algoritma mempunyai nol atau lebih keluaran (output). Keluaran ialah besaran
yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (efektif). Setiap langkah harus sederhana sehingga dapat
dikerjakan dalam sejumlah waktu yang masuk akal.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi algoritma. Namun demikian, jangan
beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan
sehari-haripun banyak proses yang digambarkan dalam suatu algoritma.
Realisasi algoritma dalam bahasa pemrograman disebut dengan program. Sedangkan
pemrograman adalah kegiatan mengkonversi algoritma ke dalam bahasa pemrograman.
Bahasa pemrograman atau bahasa komputer adalah teknik komunikasi standar untuk
memerintah komputer. Bahasa pemrograman adalah suatu set aturan sintaks dan semantik
yang dipakai untuk mendefinisikan program komputer. Suatu bahasa memungkinkan
seorang programmer secara persis menentukan data yang mana akan diolah oleh
komputer, bagaimana data ini akan disimpan/diteruskan, dan langkah apa secara persis
yang akan diambil dalam berbagai situasi.
NOTASI ALGORITMA
Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin
membuat suatu pogram, karena dalam notasi algoritma inilah terdapat instruksi atau
langkah-langkah suatu program. Notasi algoritma bukan notasi bahasa pemrograman,
karena itu program dalam notasi algoritma tidak dapat dijalankan oleh komputer. Notasi
algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi
algoritma yang berbeda.
Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa
pemrograman. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan
dimengerti. Di bawah ini ada 3 notasi yang umum digunakan dalam penulisan algoritma,
yaitu :
1. Notasi Alami
2. Flowchart / Diagram Alur
3. Pseudocode
a. 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.
Contoh:
Algoritma_Menghitung_Luas_Persegi_Panjang
Langkah 1: Baca nilai panjang.
Langkah 2: Baca nilai lebar.
Langkah 3: Kalikan nilai panjang dengan nilai lebar dan berikan nilainya ke hasil.
Langkah 4: Tampilkan nilai hasil.
b. Flowchart / Diagram Alir
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam
suatu program, yang menyatakan arah alur program tersebut. 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.
Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :
SIMBOL NAMA FUNGSI
TERMINATOR Permulaan/akhir program
GARIS ALIR
(FLOW LINE)Arah aliran program
PREPARATIONProses inisialisasi/pemberian harga
awal
PROSESProses perhitungan/proses
pengolahan data
INPUT/OUTPUT
DATA
Proses input/output data,
parameter, informasi
PREDEFINED
PROCESS
(SUB PROGRAM)
Permulaan sub program/proses
menjalankan sub program
DECISION
Perbandingan pernyataan,
penyeleksian data yang
memberikan pilihan untuk langkah
selanjutnya
ON PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada satu
halaman
OFF PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada
halaman berbeda
Contoh Flowchart:
Flowchart_Menghitung_Luas_Persegi_Panjang
c. Pseudocode
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 Pseudocode dapat diterima asalkan perintahnya tidak membingungkan pembaca.
Keuntungan menggunakan notasi Pseudocode adalah kemudahan mentranslasi ke notasi
bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudocode dengan
notasi bahasa pemrograman. Sehingga Pseudocode cocok untuk algoritma yang rumit.
Mulai
Selesai
Baca nilai
panjang
Baca nilai lebar
Hasil=panjang * lebar
Tampilkan nilai Hasil
Contoh notasi pseudocode adalah sebagai berikut:
Algoritma_Menghitung_Luas_Persegi_Panjang
DEKLARASI:
Panjang : integer
Lebar : integer
Luas : integer
DESKRIPSI:
read (Panjang)
read (Lebar)
Luas Panjang * Lebar
write (Luas)
Aturan penulisan algoritma dalam notasi pseudocode.
Dalam pseudocode algoritma terbagi atas 3 bagian, yaitu :
a. Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat namun
cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.
Contoh judul algoritma:
Algoritma LUAS_PERSEGIPANJANG
{ Menghitung luas persegi panjang. Algoritma menerima masukan panjang
dan lebar, menghitung luas, lalu mencetak luas persegi panjang ke piranti
keluaran }
Keterangan:
Algoritma LUAS_PERSEGIPANJANG merupakan judul algoritma, sedangkan
yang di dalama kurung kurawal ({ }) merupakan spesifikasi atau penjelasan
singkat tentang algoritma luas persegi panjang.
b. Deklarasi
Bagian deklarasai berguna untuk mendefenisikan semua nama yang dipakai
dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah
(variable), nama tipe, nama prosedur, dan nama fungsi.
Contoh deklarasi:
DEKLARASI
{ nama peubah (variable) }
p : integer { tempat menampung data panjang }
l : integer { tempat menampung data lebar }
L : integer { tempat menampung data hasil penghitungan luas }
c. Deskripsi
Deskripsi merupakan bagian inti dari suatu algoritma. Bagian ini berisi uraian
langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dalam
notasi yang akan di jelaskan pada bab selanjutnya. Misalnya notasi write
digunakan untuk mencetak data/informasi, notasi read digunakan untuk membaca
data, dan lain sebagainya. Setiap langkah algoritma dibaca dari “atas” ke
“bawah”. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh deskripsi:
DESKRIPSI
read (Panjang)
read (Lebar)
Luas Panjang * Lebar
write (Luas)
Keterangan:
Lambang berarti penugasan atau penginputan