A. PENGERTIAN ALGORITMA
DAN PEMROGRAMAN
Para
ahli sejarah matematika menemukan asal kata Algorism yang
berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad
Ibnu Musa Al Khuwarizmi. Al- Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang
berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku
pemugaran dan pengurangan” (The book of restoration and
reduction). Dari judul buku itu kita juga memperoleh akar kata
“Aljabar” (Algebra). Perubahan kata dariAlgorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan denganArithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah
menjadi hal yang biasa. Maka lambat laun kata Algorithmberangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan
makna kata.
Menurut
Rinaldi Munir, algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis. Menurut KBBI Algoritma adalah urutan logis pengambilan keputusan
untuk pemecahan masalah. Jadi, Berdasarkan dua pengertian algoritma di atas,
dapat disimpulkan bahwa algoritma merupakan suatu istilah yang luas, dan masih
banyak lagi pengertian – pengertian tentang algoritma. Algoritma tidak hanya
berkaitan dengan dunia komputer akan teapi algoritma juga berlaku dalam
kehidupan sehari-hari.
Beberapa
contoh sederhana mengenai algoritma yang dapat kita ditemui dalam
kehidupan sehari – hari misalnya:
1. Memasak
mie instant.
Prosesnya adalah
sebagai berikut:
1. Memanaskan
air.
2. Membuka
pembungkus mie instant.
3. Memasukkan
mie ke dalam air mendidih.
4. Taruh
bumbu di piring.
5. Angkat
mie jika sudah masak.
6. Campurkan
mie dengan bumbu yang sudah ada di piring.
7. Mie
siap disajikan.
2. Menelepon.
Prosesnya adalah
sebagai berikut:
1. Angkat
telepon.
2. Tekan
nomor teleponnya yang dituju.
· Jika
diangkat maka mulai berbicara setelah selesai tutup teleponnya.
· Jika
tidak diangkat, maka tutup teleponnya.
Selain
contoh diatas masih banyak lagi contoh – contoh sederhana mengenai
algoritma yang dapat kita jumpai dalam kehidupan sehari – hari.
Setiap
manusia punya pola pikir yang berbeda antara manusia yang satu dengan manusia
yang lain, oleh karena itu dalam memecahkan suatu masalah ataupun juga algoritma dengan
hasil yang berbeda. Algortma dikatakan benar atau baik apabila dapat
menyelesaikan suatu masah.
Pemograman
berasal dari kata program yang berarti serangkaian instruksi yang ditulis untuk
melakukan suatu fungsi spesifik pada komputer,
sedangkan pemograman adalah segala kegiatan pembuatan program menggunakan
komputer. Komputer membutuhkan keberadaan program agar bisa menjalankan
fungsinya sebagai komputer. Selain itu terdapat istilah bahasa pemograman
yang berarti bahasa yang digunakan dalam pembuatan program
komputer. Oleh sebab itu berdasarkan pengertian algoritma dan
pemograman maka dapat disimpulkan bahwa program merupakan hasil dari
penerapan-penerapan algoritma.
Bahasa
Pemrograman merupakan notasi yang dipergunakan
untuk mendeskripsikan proses komputasidalam
format yang dapat dibaca oleh komputer dan juga manusia. Proses komputasi pada
umumnya didefinisikan secara formal menggunakan konsep matematika dari Mesin
Turing (model
komputasi teoritis yang ditemukan oleh Alan Turing). Sebenarnya bahasa
pemrograman dirancang sebagai media untuk memfasilitasi komunikasi antara
manusia dengan komputer.
Sebuah
bahasa pemrograman disebut Turing Complete jika
dapat dipergunakan untuk mendeskripsikan semua komputasi yang dapat dilakukan
Mesin Turing, yaitu memiliki variableinteger dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi,
danpernyataan
iterasi didefinisikan secara formal menggunakan konsep
matematika dari Mesin
Turing.
B. TIPE-TIPE ALGORITMA
BERDASARKAN FORMAT PENULISAN
Penulisan
algoritma tidak ter-ikat pada suatu aturan
tertentu, tetapi harus jelas maksudnya dari suatu penulisan algoritma untuk
tiap langkah algoritmanya. Notasi algoritma bukan merupakan notasi bahasa
pemograman, namun notasi ini dapat diterjemahkan kedalam berbagai bahasa
pemograman. Algoritma dapat dinotasikan dalam beberapa cara,
yaitu:
1. Untaian Kalimat Deskriptif (Natural)
Algoritma
bertipe deskriptif maksudnya ialah algoritma yang ditulis
dalam bahasa manusia seperti bahasa Indonesia atau bahasa Ingris dan
dalam bentuk kalimat. Notasi ini cocok digunakan untuk algoritma yang
pendek, namun untuk notasinya yang panjang, notasi ini kurang efektif
digunakan dan juga pengkonversian notasi algoritma ke notasi bahasa pemrograman
menjadi cenderung relatif sukar.
2. Pseudocode
Pseudocode berasal dari kata
pseudo dan code . Pseudo berarti imitasi dan code
ber-arti kode yang dihubungkan dengan instruksi yang ditulis dalam bahasa
komputer atau kode bahasa pemograman. Pseudocode digunakan untuk
menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa
pemrogramannya.
3. Flow Chart (Diagram Alir)
Diagram
alir atau flow chart adalah bagan menggambarkan urutan langkah-langkah kegiatan atauprogram mulai dari awal sampai akhir dengan
menggunakan simbol atau gambar tertentu dan dan garis alir. Simbol-simbol
yang mewakili fungsi-fungsi langkah program dan garis alir (flow
lines) yang menunjukkan urutan dari simbol-simbol yang akan
dikerjakan. Flowchart lebih baik digunakan dibandingkan
dengan menggunakan pseudocode. Jumlah simbol yang digunakan dalam flowchart
sedikit, karena itu lebih sederhana dan lebih mudah dipelajari.
Dalam
pembuatan flowchart program tidak ada rumus atau patokan
yang bersifat mutlak,
karena flowchart
merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan
komputersehingga flowchart yang dihasilkan dapat
bervariasi antara satu pemrogram dengan yang lainnya.
Simbol
- simbol Flow chart
Contoh Flow chart untuk menentukan bilangan terkecil
C. TEKS ALGORITMA
Teks algoritma merupakan penjelasan atau
deskripsi langkah-langkah dari penyelesaian masalah yang tersusun secara
sistematis. Langkah-langkah tersebut tidak memiliki standar yang baku seperti
pada bahasa pemrograman tetapi langkah-langkah tersebut mudah di mengerti
oleh si pembacanya.Agar teks
algoritma yang dibuat mudah di translasikan ke bahasa pemrograman tertentu maka sebaiknya
langkah-langkah dari teks algoritma yang dibuat berkoresponden dengan
perintah-perintah bahasa pemrograman. Teks algoritma disusun
atas tiga bagian atau blok yaitu; bagian judul agoritma (header), bagian
deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar yang
biasanya dituliskan menggunakan kurung kurawal.
· Judul Algoritma
Judul
algoritma merupakan bagian dari teks algoritma yang terdiri atas nama algoritma
dan
penjelasan tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akandilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat atau tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
penjelasan tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akandilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat atau tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
Contoh
:
Program Luas_Kubus
←
{Judul Algoritma}
{ Menghitung luas kubus
untuk ukuran sisi yang dibaca dari piranti masukan lalu
mencetak hasilnya
kepiranti keluaran} ← {Spesifikasi
Algoritma}
· Deklarasi
Deklarasi
atau disebut juga Kamus, deklarasi adalah bagian teks algoritma sebagai tempat
untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama
tersebut dapat berupa nama type, nama konstanta, nama variabel, nama
fungsi, dan nama prosedur. Semua nama tersebut baru dapat dipakai di dalam
algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan
sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut.
Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian
nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian
nama fungsi dilakukan sekaligus dengan domain atau range serta spesifikasinya.
Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada)
dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final
State” dan proses yang dilakukan).
Contoh :
Kamus
{Nama type, hanya untuk
type yang bukan type dasar}
type jam :
<hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu “hh”
sebagai
jam. “mm” sebagai menit
dan “ss” sebagai detik}
{Nama konstanta, harus
menyebutkan type dan nilai }
constant phi
: real = 3,14159
constant nama
: string = ‘Alex’
constant benar
: boolean = true
{Nama Informasi,
menyebutkan type}
x,y
: integer {suatu nilai yang bertype bilangan bulat}
NMax
: real {nilai maksimum yang bertype bilangan real}
Nama
: string {suatu nilai yang merupakan kumpulan character}
P
: point {suatu nilai pada bidang kartesian}
Cari
: Boolean {suatu nilai logika}
{Nama fungsi, menyebutkan
domain dan range}
function RealToInt
(x:real) → integer
{mengubah harga x yang
bertype real menjadi harga ekivalen yang bertype integer}
{Nama prosedur,
menyebutkan “IS” initial state, “FS” final state dan proses}
procedure tukar
(input/output x,y : real)
{ IS x dan y terdefinisi,
x = a dan y = b
FS x = b dan y = a
Proses : menukar isi
informasi bilangan x dan y }
· Deskripsi
Deskripsi
atau sering disebut juga algoritma. Deskripsi adalah bagian inti dari suatu
algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan.
Komponen-komponen teks algoritma dalam pemrograman yaitu: instruksi dasar
seperti input/output, assignment , sequence (runtutan), analisa kasus,
perulangan.Setiap langkah algoritma dibaca dari langkah paling atas hingga
langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh :
Algoritma
input (c,d)
{menerima
masukan 2 bilangan c dan d}
if c <
d then {operasi
kondisional}
e ← a + b
{e
di assignment oleh nilai a dan b}
else
e ← a – b
output (e)
{hasil keluaran berupa bilangan e}
D. STRUKTUR DASAR
ALGORITMA
Sebuah
algoritma dapat dibangun dari tiga buah struktur dasar yang membentuk
konstruksi suatu algoritma. Struktur-struktur dasar tersebut ialah:
· Runtunan
(sequence)
Pada
struktur sekuensial instruksi dikerjakan secara berurutan baris perbaris mulai
dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan.
Pada struktur ini Tiap instruksi dikerjakan satu per satu.
· Pemilihan
(selection)
Struktur
seleksi adalah instruksi yang dipakai untuk memilih satu aksi
dari beberapa kemungkinan aksi berdasarkan suatu syarat.
· Pengulangan
(repetition)
Struktur
perulangan adalah instruksi yang dapat mengulang sederetan instruksi secara
berulang-ulang sesuai persyaratan yang ditetapkan. Struktur instruksi
perulangan pada dasarnya terdiri atas :
•
Kondisi perulangan, yaitu suatu kondisi yang harus dipenuhi agar perulangan
dapat terjadi.
•
Badan atau body perulangan, yaitu deretan instruksi yang akan diulang-ulang
pelaksanaannya.
•
Pencacah (counter) perulangan, yaitu suatu variabel yang nilainya harus berubah
agar perulangan dapat terjadi dan pada akhirnya membatasi jumlah perulangan
yang dapatdilaksanakan.
DAFTAR PUSTAKA
Chipp. (2009, 11
March). Algoritma dan Pemrograman Dengan C++. Diperoleh
15 januari 2013, from http://ilmukomputer.org/2009/03/11/algoritma-dan-pemrograman-dengan-c/
Hannan. (2010,
12 Juni). Pengertian Pemrograman. Diperoleh
15 januari 2013, fromhttp://hannan.h08.alumni.ipb.ac.id/
Wirman. (2009, 3 march). Algoritma Pemrograman Dengan Menggunakan C++.Diperoleh
15 januari 2013, from http://ilmukomputer.org/wp-content/uploads/2009/03/wirman-algoritma
Hariyanto. (2009). Algoritma Dan Pemrograman. Diperoleh 15 januari
2013, from
http://hariyanto.staff.jak-stik.ac.id/?en_algoritma-dan-pemrograman,20
Anonim. (2012, 13
December). Algoritma. Diperoleh 15
januari 2013, fromhttp://id.wikipedia.org/wiki/Algoritma/
Anonim. (2012, 13
December). Pemrograman. Diperoleh 15
januari 2013, fromhttp://id.wikipedia.org/wiki/Pemrograman
Anonim. (2009, 19
Juni). Algoritma
dan Pemrograman. Diperoleh
15 januari 2013, frorm http://www.nusinau.com/algoritma-dan-pemrograman/
PENGANTAR ALGORITMA DAN
PROGRAM. Diperoleh
15 januari 2013, from
Source: http://pelollipop.blogspot.co.id/2014/02/contoh-makalah-algoritma-dan-pemograman_5969.html
0 komentar:
Posting Komentar