10
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).

PENGERTIAN ALGORITMA DAN PEMROGRAMAN

Embed Size (px)

DESCRIPTION

pengertian algoritma,notasi algoritma

Citation preview

Page 1: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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.

Page 2: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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.

Page 3: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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

Page 4: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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

Page 5: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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

Page 6: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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.

Page 7: PENGERTIAN ALGORITMA DAN PEMROGRAMAN

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