Dasar-dasar Algoritma Pemrograman
Dasar-dasar Algoritma Pemrograman
Asal kata Algoritma berasal dari nama Abu
Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis
kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M.
Algoritma adalah urutan langkah logis
tertentu untuk memecahkan suatu masalah. Hal ini ditekankan padaah. Hal
ini ditekankan adala urutan langkah logis, yang berarti algoritma harus
mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu
pekerjaan yang dituangkan secara tertulis. Hal pertama yang ditekankan
adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda
dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis,
yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Definisi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Contoh; Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana
A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru.
Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi
larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
Algoritma TUKAR ISI BEJANA di atas tidak
menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil
pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana,
diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara,
misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang
benar adalah sebagai berikut :
Algoritma Tukar Isi Bejana
Diberikan dua buah bejana A dan B, bejana
A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru.
Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi
larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
- Tuangkan larutan dari bejana A ke dalam bejana C.
- Tuangkan larutan dari bejana B ke dalam bejana A.
- Tuangkan larutan dari bejana C ke dalam bejana B.
Ciri Penting Algoritma
- Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
- Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
- Algoritma memiliki nol atau lebih masukkan.
- Algoritma memiliki nol atau lebih keluaran.
- Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman dapat dikategorikan dalam :
- Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
- Bahasa tingkat menengah[MLL] : Assembly
- Bahasa tingkat rendah [LLL] : Machine Code
Dari berbagai bahasa pemrograman cara
memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output
yang sama. Program yang ditulis dalam bahasa pemrograman akan
diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.
- Interpreter; Menterjemahkan baris per baris instruksi [Bahasa Basic]
- Compiler; Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
Belajar memprogram adalah belajar tentang
metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman
adalah belajar memakai suatu bahasa, aturan tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk
membuat program yang ditulis dalam bahasa itu saja.
Penulisan algoritma tidak tergantung dari
spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya.
Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat
diterjemahkan ke dalam berbagai bahasa pemrograman
NOTASI ALGORITMA NARASI
Contoh; Algoritma Kelulusan_mhs
Diberikan nama dan nilai mahasiswa, jika
nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut
dinyatakan lulus. jika nilai lebih kecil dari 60 maka dinyatakan tidak
lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan
NOTASI ALGORITMA PSEUDOCODE
Contoh; Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika
nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut
dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
NOTASI ALGORITMA FLOWCHART
Aturan Penulisan Algoritma;
Judul algoritma;Bagian
yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang
algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang
dilakukan oleh algoritma tersebut.
Deklarasi; Bagian untuk
mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut
dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
Deskripsi; Bagian ini
berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan
menggunakan notasi yang akan dijelaskan selanjutnya.
Notasi Algoritma dan Aturan Penulisan Teks Algoritma
Notasi Algoritma
Dalam
suatu penulisan algoritma terkadang kita sulit untuk mengerti dan
memahami maksud dari algoritma tersebut. Selain itu juga kita sulit
untuk menuliskan algoritmanya. Untuk itu agar mempermudahnya dapat
dilakukan notasi – notasi algoritma. Notasi algoritma merupakan
rancangan penyelesaian masalah (algoritma) yang dituliskan ke dalam
notasi (cara penulisan khusus).
Notasi algoritma yang sering dijumpai ada 3 macam yaitu :
- Notasi deskriptif, yaitu dengan cara menuliskan langkah-langkah penyelesaian masalah dengan kalimat-kalimat yang jelas dan deskriptif disertai dengan urutan (nomor urut) yang jelas. Selain itu juga Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
- Notasi bagan alir (flow chart), yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk geometri seperti persegi panjang, jajaran genjang, lingkaran dan sebagainya. Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.
- Notasi pseudo-code, yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman tingkat tinggi seperti Pascal. Banyak notasi pseudo-code yang digunakan oleh para ahli komputer dan berbeda-beda sehingga tidak ada aturan baku dalam penulisan pseudo-code ini, tetapi yang paling banyak digunakan dalam algoritma pemrograman adalah yang mendekati bahasa pascal. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman.
Aturan Penulisan Teks Algoritma
Teks
algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan
mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan
teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma
sendiri. Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke
alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu
berkoresponden dengan notasi bahasa pemrograman secara umum. Pada
dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul
(header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian
dapat diberi komentar untuk memperjelas maksud teks yang dituliskan.
Komentar biasanya ditulis menggunakan kurung kurawal.
1) 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 akan dilakukan oleh
algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan
singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan
di bawah nama algoritma sering dinamakan juga spesifikasi algoritma.
Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
2) Deklarasi
Di
dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan
semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa
nama tetapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.
3) Deskripsi
Deskripsi
adalah bagian terpenting dari struktur algoritma. Bagian ini berisi
uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini
dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap
langkah algoritma dibaca dari langkah paling atas hingga langkah paling
bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
— Algoritma
berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut
dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti,
karena memang tidak ada notasi baku dalam penulisan algoritma.
— Agar
notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman,
maka sebaiknya notasi algoritma tersebut berkorespnden dengan notasi
bahasa pemrograman secara umum.
— Judul
adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks tersebut adalah
program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan
spesifikasi singkat dari teks algoritma tersebut. Nama algoritma
sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh
algoritma tersebut.
— Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
— Nama type
— Nama konstanta
— Nama variabel
— Nama fungsi
— Nama prosedur
— Algoritma
adalah bagian inti dari suatu algoritma yang berisi instruksi atau
pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam
pemrograman procedural dapat berupa :
◦ Instruksi dasar seperti input/output, assignment
◦ Sequence (runtutan)
◦ Analisa kasus
◦ Perulangan
— Setiap
langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi
penulisan menentuan urutan langkah pelaksanaan perintah.
0 komentar: