II.2
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 pemograman disebut dengan program.
Sedangkan pemograman adalah kegiatan mengkonversi algoritma ke dalam
bahasa pemograman. Bahasa pemograman atau bahasa komputer adalah teknik
komunikasi standar untuk memerintah komputer. Bahasa pemograman adalah
II.3
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.
2.2 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 pemograman, karena itu program dalam notasi algoritma tidak
dapat dijalankan oleh komputer. Notasi algoritma bukan notasi bahasa
pemograman, sehingga siapapun dapat membuat notasi algoritma yang berbeda.
Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai
bahasa pemograman. 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
II.4
2.3 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 pemograman 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.
II.5
2.4 Defenisi 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 pemograman cenderung relatif sukar.
Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu
flowchart :
Tabel II.1 Simbol – simbol Pada Flowchart
SIMBOL NAMA FUNGSI
TERMINATOR Permulaan/akhir program
GARIS ALIR
(FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian
harga awal
PROSES
Proses perhitungan/proses
pengolahan data
INPUT/OUTPUT
DATA
Proses input/output data,
parameter, informasi
II.6
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
II.7
Contoh Flowchart:
Flowchart_Menghitung Luas Persegi Panjang
Gambar II.1 flowchat Menghitung Luas Persegi Panjang
Mulai
Selesai
Baca
nilai
panjang
Baca
nilai
lebar
Hasil=panjang * lebar
Tampilkan
nilai Hasil
II.8
2.5 Defenisi 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.
Contoh notasi pseudocode adalah sebagai berikut:
Algoritma_Menghitung_Luas_Persegi_Panjang
DEKLARASI:
Panjang : integer
Lebar : integer
Luas : integer
II.9
DESKRIPSI:
read (Panjang)
read (Lebar)
Luas Panjang * Lebar
write (Luas)
Aturan penulisan algoritma dalam notasi pseudocode.
Dalam pseudocode algoritma terbagi atas 3 bagian, yaitu :
2.6 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:
2.7. Algoritma Luas Persegi Panjang
{ Menghitung luas persegi panjang. Algoritma menerima masukan
panjang dan lebar, menghitung luas, lalu mencetak luas persegi panjang ke
piranti keluaran }
Keterangan:
Algoritma Luas_Persegi panjang merupakan judul algoritma, sedangkan
yang di dalama kurung kurawal ({ }) merupakan spesifikasi atau penjelasan
singkat tentang algoritma luas persegi panjang.
II.10
2.8Deklarasi
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 menampungdata hasil penghitunganluas}
2.9 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.
II.11
Contoh deskripsi:
DESKRIPSI
read (Panjang)
read (Lebar)
Luas Panjang * Lebar
write (Luas)
Keterangan:
Lambang berarti penugasan atau penginputan

2.sd 13

  • 1.
    II.2 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 pemograman disebut dengan program. Sedangkan pemograman adalah kegiatan mengkonversi algoritma ke dalam bahasa pemograman. Bahasa pemograman atau bahasa komputer adalah teknik komunikasi standar untuk memerintah komputer. Bahasa pemograman adalah
  • 2.
    II.3 suatu set aturansintaks 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. 2.2 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 pemograman, karena itu program dalam notasi algoritma tidak dapat dijalankan oleh komputer. Notasi algoritma bukan notasi bahasa pemograman, sehingga siapapun dapat membuat notasi algoritma yang berbeda. Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa pemograman. 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
  • 3.
    II.4 2.3 Notasi Alami Penulisanalgoritma 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 pemograman 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.
  • 4.
    II.5 2.4 Defenisi 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 pemograman cenderung relatif sukar. Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart : Tabel II.1 Simbol – simbol Pada Flowchart SIMBOL NAMA FUNGSI TERMINATOR Permulaan/akhir program GARIS ALIR (FLOW LINE) Arah aliran program PREPARATION Proses inisialisasi/pemberian harga awal PROSES Proses perhitungan/proses pengolahan data INPUT/OUTPUT DATA Proses input/output data, parameter, informasi
  • 5.
    II.6 PREDEFINED PROCESS (SUB PROGRAM) Permulaan subprogram/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
  • 6.
    II.7 Contoh Flowchart: Flowchart_Menghitung LuasPersegi Panjang Gambar II.1 flowchat Menghitung Luas Persegi Panjang Mulai Selesai Baca nilai panjang Baca nilai lebar Hasil=panjang * lebar Tampilkan nilai Hasil
  • 7.
    II.8 2.5 Defenisi Pseudocode Pseudo-codeadalah 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. Contoh notasi pseudocode adalah sebagai berikut: Algoritma_Menghitung_Luas_Persegi_Panjang DEKLARASI: Panjang : integer Lebar : integer Luas : integer
  • 8.
    II.9 DESKRIPSI: read (Panjang) read (Lebar) LuasPanjang * Lebar write (Luas) Aturan penulisan algoritma dalam notasi pseudocode. Dalam pseudocode algoritma terbagi atas 3 bagian, yaitu : 2.6 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: 2.7. Algoritma Luas Persegi Panjang { Menghitung luas persegi panjang. Algoritma menerima masukan panjang dan lebar, menghitung luas, lalu mencetak luas persegi panjang ke piranti keluaran } Keterangan: Algoritma Luas_Persegi panjang merupakan judul algoritma, sedangkan yang di dalama kurung kurawal ({ }) merupakan spesifikasi atau penjelasan singkat tentang algoritma luas persegi panjang.
  • 9.
    II.10 2.8Deklarasi Bagian deklarasai bergunauntuk 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 menampungdata hasil penghitunganluas} 2.9 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.
  • 10.
    II.11 Contoh deskripsi: DESKRIPSI read (Panjang) read(Lebar) Luas Panjang * Lebar write (Luas) Keterangan: Lambang berarti penugasan atau penginputan