You are on page 1of 5

[BAB 1] PENGENALAN ALGORITMA Algoritma adalah langkah-langkah atau urutan proses untuk mencapai sesuatu.

Pada dasarnya, algoritma tidak hanya berkaitan dengan ilmu komputer. Sebagai contoh, langkaglangkah 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 : Code:
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 Code:


program tampil_nama IS : user menginputkan nama FS : nama inputan user ditampilkan kamus nama : string algoritma input(nama) output(nama)

terjemahan dalam pascal Code:


program tampil_nama; uses crt; var nama : string; begin write('masukan nama : '); readln(nama); writeln('nama anda : ', nama); readln; end.

sekarang mari kita bahas tiap bagian :

[-] 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 tementemen 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. yaitu menukar isi dari 2 buah variabel. Code:
misalkan kita memiliki 2 variabel, variabel a dan variabel b. bagaimana cara untuk menukar nilai variabel tersebut sehingga a akan diisi nilai b dan b akan diisi nilai a

Spoiler for jawaban: buat yang dak ngerti, bayangkan variabel sebagai gelas. nah kita punya 2 gelas. gelas 1 isinya kopi terus gelas 2 isinya teh. gimana caranya biar gelas 1 isinya teh terus gelas 2 isinya kopi. mudahnya kita butuh gelas 1 lagi, kita sebut gelas 3. adapun langkahnya : - kita pindahkan isi gelas 1 ke gelas 3, jadi gelas 1 kosong gelas 3 isi kopi

- pindahkan isi gelas 2 ke gelas 1, jadi gelas 1 teh, gelas 2 kosong, gelas 3 kopi -terakhir pindahkan isi gelas 3 ke gelas 2, jadi gelas 2 akan berisi kopi dan gelas 1 berisi teh mudah bukan ?? trus nulisin algoritmanya gimana ?? Code:
program tukar_nilai IS : ada 2 variabel, a dan b yang memiliki nilai berupa integer FS : nilai a dan b tertukar kamus a,b : byte temp : byte algoritma input(a,b) temp <- a a <- b b <- temp output(a,b)

temp <- a artinya kita mengisi temp dengan a, dalam pemrograman istilahnya assigment solusi dalam pascal Code:
program tukar_bilangan; uses crt; var a,b : byte; temp : byte; begin readln(a); readln(b); temp := a; a := b; b := temp; writeln('a = ',a,' dan b = ',b); readln; end.

itu contoh permasalahan klasik. kasus tersebut bisa dikembangkan menjadi permasalahan yang lebih menarik. Code:
misalkan a dan b bernilai angka bulat. bagaimana cara kita menukar nilai kedua bilangan tersebut tanpa menggunakan variabel bantuan

You might also like