Algoritma adalah langkah-langkah atau urutan proses untuk mencapai sesuatu. Pada dasarnya, algoritma tidak hanya berkaitan dengan ilmu komputer. Sebagai contoh, langkag-langkah untuk memasak mie bisa dikatakan sebagai algoritma memasak mie
Dalam ilmu komputer, proses logis yang dilakukan secara berurutan untuk memecahkan sebuah permasalahan dengan bantuan komputer. Algoritma mengajarkan kita untuk mencari solusi terbaik dari setiap masalah yang ingin dipecahkan. Sedangkan bahasa pemrograman hanyalah sarana untuk menerjemahkan algoritma tersebut sehingga bisa dimengerti oleh komputer.
struktur algoritma secara umum :
nama program
initial state (is) : kondisi sebelum eksekusi program
final state (fs) : kondisi yang ingin dicapai
kamus : variabel yang dibutuhkan dalam program
algoritma : isi algoritma
contoh penulisan algoritma :
program tampil_nama
IS : user menginputkan nama
FS : nama inputan user ditampilkan
kamus
nama : string
algoritma
input(nama)
output(nama)
terjemahan dalam pascal :
program tampil_nama;
uses crt;
var
nama : string;
begin
write('masukan nama : '); readln(nama);
writeln('nama anda : ', nama);
readln;
end.
tiap tiap bagian nya, sbb :
[-] nama program
digunakan untuk menjelaskan atau memberi keterangan program apa sih yang kita buat. jadi buat memudahkan kita (dokumentasi). terus kalo dak diisi gimana ?? ya dak apa2. selama temen-temen inget tu program buat apa.
[-] IS dan FS
memberikan gambaran bagaimana sih program itu jalannya. kalo dalam pemrograman biasanya dibuat jadi bentuk komentar. penting dak ?? jawabannya tergantung. kalo program yang agan buat masih dalam skala kecil, ya dak masalah dak diisi. nah, kalo programnya kompleks plus gunain banyak fungsi ama prosedur, baru bermasalah kalo dak diisi silakan coba sendiri aja ntar apa masalahnya
[-] kamus
untuk tempat deklarasiin variabel yang dibutuin. buat yang baru belajar, biasakan mendeklarasikan variabel di awal, walau ada beberapa bahasa yang memungkinkan pendeklarasian variabel dimana aja. tujuannya, ya biar program agan rapi trus dak pusing (ini berlaku buat yang baru belajar, kalo udah expert mah terserah aja).
hal yang paling penting dalam pendeklarasian variabel adalah tipe dari variabel tersebut. selama ini mungkin kita tahu kalo bilangan bulan kita bilang bertipe integer, tapi integer pun ada banyak jenis, misalnya ada byte, word, long ingt, integer, dll. terus apa bedanya ??
bedanya adalah kemampuan untuk menyimpan nilai yang bisa direpresentasikan. Bingung ???
ini maksudnya :
tipe byte merepresentasikan bilangan 0-255, jadi kalo agan masukin angka 300, tidak akan bisa disimpan karena angka tertingginya 255. nilai yang lebih dari 255 ini akan diulang lg dari 0 jadi 256=0, 257=1, dst. 300 akan menjadi 44.
terus kalo udah tau apa gunanya ?? pertama buat nangkal error program. kayak contoh di atas, kita maunya mroses bilangan ampe 1000 tapi malah tipenya byte. yang kedua, menghemat memori. misalnya kita cuman butuh nilai yang kurang dari 100, biasanya buat menu, kita pake tipe integer (max value = 32767), itu mubasir. padahal byte aja udah cukup.
kemudian penamaan variabel juga perlu diperhatikan, usahakan nama variabel sesuai dengan fungsi variabel. misal kita buat variabel namanya "nama" tapi isinya ternyata umur. buat yang baru belajar, usahakan memberikan penamaan variabel yang baik and konstan, biar dak pusing sendiri
berikut adalah tipe variabel yang ada dalam pascal :
a. Bilangan bulat
ini dipake buat merepresentasikan bilangan bulat. operasi yang bisa dilakukan adalah semua operasi aritmatik kecuali pembagian, maksudnya integer : integer = real. jangan pernah manyimpan hasil pembagian integer di dalam integer
adapun jenis-jenisnya :
- Byte = 0 s/d +255
- Shortint = -128 s/d +127
- integer = -32768 s/d 32767
- Word = 0 s/d 65535
- Longint = -2147483648 s/d 2147483647
b. Bilangan real
dipake buat nyimpen bilangan yang ada koma-komanya (pecahan)
c. char
dipake buat nyimpen 1 karakter. kalo karakternya banyak, bisa disimpen di string. jadi string itu kumpulan dari beberapa char
d. boolean
dipake buat nyimpen nilai bener salah (true/false)
e. array atau tabel
dipake buat nyimpen banyak nilai. modelnya kayak laci-laci. penjelasan lebih lanjutnya ntar.
itu contoh beberapa variabel yang ada dalam pascal. buat bahasa pemrograman lain, variabelnya lain juga. silakan temen-temen cari tau sendiri (tanya mbah gogel).
selain variabel, ada juga yang namanya constanta. sesuai namanya, kalau constanta nilainya tetap, tidak berubah. berbeda dengan variabel yang nilainya bisa berubah-rubah.
[-] algoritma
disini kita menulis bagaimana sih langkah-langkah yang dilakukan buat mecahin masalah kita. hal yang perlu diperhatikan, compiler mekeksekusi syntax itu baris perbaris. jadi biasakan berpikir secara sistematis dan terurut.
demikian penjelasan mengenai struktur algoritma secara umum...
biar lebih mantab belajarnya kita langsung coba ke studi kasus aja ya.
ini dalah contoh kasus klasik dalam pemrograman.
[-] nama program
digunakan untuk menjelaskan atau memberi keterangan program apa sih yang kita buat. jadi buat memudahkan kita (dokumentasi). terus kalo dak diisi gimana ?? ya dak apa2. selama temen-temen inget tu program buat apa.
[-] IS dan FS
memberikan gambaran bagaimana sih program itu jalannya. kalo dalam pemrograman biasanya dibuat jadi bentuk komentar. penting dak ?? jawabannya tergantung. kalo program yang agan buat masih dalam skala kecil, ya dak masalah dak diisi. nah, kalo programnya kompleks plus gunain banyak fungsi ama prosedur, baru bermasalah kalo dak diisi silakan coba sendiri aja ntar apa masalahnya
[-] kamus
untuk tempat deklarasiin variabel yang dibutuin. buat yang baru belajar, biasakan mendeklarasikan variabel di awal, walau ada beberapa bahasa yang memungkinkan pendeklarasian variabel dimana aja. tujuannya, ya biar program agan rapi trus dak pusing (ini berlaku buat yang baru belajar, kalo udah expert mah terserah aja).
hal yang paling penting dalam pendeklarasian variabel adalah tipe dari variabel tersebut. selama ini mungkin kita tahu kalo bilangan bulan kita bilang bertipe integer, tapi integer pun ada banyak jenis, misalnya ada byte, word, long ingt, integer, dll. terus apa bedanya ??
bedanya adalah kemampuan untuk menyimpan nilai yang bisa direpresentasikan. Bingung ???
ini maksudnya :
tipe byte merepresentasikan bilangan 0-255, jadi kalo agan masukin angka 300, tidak akan bisa disimpan karena angka tertingginya 255. nilai yang lebih dari 255 ini akan diulang lg dari 0 jadi 256=0, 257=1, dst. 300 akan menjadi 44.
terus kalo udah tau apa gunanya ?? pertama buat nangkal error program. kayak contoh di atas, kita maunya mroses bilangan ampe 1000 tapi malah tipenya byte. yang kedua, menghemat memori. misalnya kita cuman butuh nilai yang kurang dari 100, biasanya buat menu, kita pake tipe integer (max value = 32767), itu mubasir. padahal byte aja udah cukup.
kemudian penamaan variabel juga perlu diperhatikan, usahakan nama variabel sesuai dengan fungsi variabel. misal kita buat variabel namanya "nama" tapi isinya ternyata umur. buat yang baru belajar, usahakan memberikan penamaan variabel yang baik and konstan, biar dak pusing sendiri
berikut adalah tipe variabel yang ada dalam pascal :
a. Bilangan bulat
ini dipake buat merepresentasikan bilangan bulat. operasi yang bisa dilakukan adalah semua operasi aritmatik kecuali pembagian, maksudnya integer : integer = real. jangan pernah manyimpan hasil pembagian integer di dalam integer
adapun jenis-jenisnya :
- Byte = 0 s/d +255
- Shortint = -128 s/d +127
- integer = -32768 s/d 32767
- Word = 0 s/d 65535
- Longint = -2147483648 s/d 2147483647
b. Bilangan real
dipake buat nyimpen bilangan yang ada koma-komanya (pecahan)
c. char
dipake buat nyimpen 1 karakter. kalo karakternya banyak, bisa disimpen di string. jadi string itu kumpulan dari beberapa char
d. boolean
dipake buat nyimpen nilai bener salah (true/false)
e. array atau tabel
dipake buat nyimpen banyak nilai. modelnya kayak laci-laci. penjelasan lebih lanjutnya ntar.
itu contoh beberapa variabel yang ada dalam pascal. buat bahasa pemrograman lain, variabelnya lain juga. silakan temen-temen cari tau sendiri (tanya mbah gogel).
selain variabel, ada juga yang namanya constanta. sesuai namanya, kalau constanta nilainya tetap, tidak berubah. berbeda dengan variabel yang nilainya bisa berubah-rubah.
[-] algoritma
disini kita menulis bagaimana sih langkah-langkah yang dilakukan buat mecahin masalah kita. hal yang perlu diperhatikan, compiler mekeksekusi syntax itu baris perbaris. jadi biasakan berpikir secara sistematis dan terurut.
demikian penjelasan mengenai struktur algoritma secara umum...
SUMBER