Algoritma adalah susunan
langkah-langkah sistematis dan logis dalam pemecahan suatu masalah. Ada 3 cara
dalam menyusun algoritma yaitu: (1) Dengan merumuskan langkah-langkah pemecahan
masalah melalui kalimat yang tersetruktur (tersusun secara logis); (2)
Menggabungkan kalimat dengan penggalan statements yang ada di suatu bahasa
pemrograman (mis : Pascal ). Biasa disebut Pseudo code (mirip kode/perintah
pemrograman); dan (3) Menggunakan diagram alir (flowchart). Algoritma adalah
merupakan jantung ilmu komputer atau informatika. Program adalah merupakan
perwujudan atau implementasi dari algoritma. Program ditulis dalam salah satu
bahasa pemrograman. Kegiatan menulis program disebut pemrograman (programming).
A. PENDAHULUAN
Sejarah kata Algoritma
berasal dari nama seorang ahli matematika bangsa Arab yaitu Abu Ja'far Muhammad
ibnu Musa al-Khuwarizmi. Al-Khuwarizmi dibaca oleh orang Barat menjadi
Algorism. Perubahan kata algorism menjadi algorithm karena kata algorism sering
dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm.
Lambat laun kata algorithm dipakai sebagai metode perhitungan (komputasi)
secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia kata
algorithm diserap menjadi algoritma. Definisi Algoritma adalah : Susunan
langkah-langkah sistematis dan logis dalam pemecahan suatu masalah.
Ada 3 cara dalam menyusun
algoritma yaitu :
1.
Algoritma cara ke-1 :
Dengan merumuskan langkah-langkah
pemecahan masalah melalui kalimat yang tersetruktur (tersusun secara logis).
Contoh:
Ada persoalan sbb : Dua buah gelas
misalkan gelas A berisi air warna merah dan gelas B berisi air
warna biru. Permasalahannya adalah bagaimana
mempertukarkan isi kedua gelas A dan B sehingga gelas
A berisi air warna biru dan gelas B berisi air warna merah. Buatlah
algoritmanya.
Jawab:
Langkah-langkahnya
sbb:
1. Sediakan satu gelas kosong misalkan C
2. Tuangkan isi gelas A ke gelas C
3. Tuangkan isi gelas B ke gelas A
4. Tuangkan isi gelas C ke gelas B
5. Selesai
{Program : URUT.PAS}
PROGRAM URUT_DATA;
USES CRT;
VAR D,X,Z : BYTE;
T : LONGINT;
R : REAL;
DATA : ARRAY[1..5] OF BYTE;
BEGIN
CLRSCR;
T:=0;
FOR D:=1 TO 5 DO
BEGIN
Write('DATA KE
',D,' : '); ReadLn(DATA[d]);
T:=T+Data[d];
END;
WriteLn;
Write('Data sebelum
diurut : ');
FOR D:= 1 TO 5 DO
Write(Data[d]:3);
{ -- URUT DATA ---}
FOR D:= 1 TO 4 DO
BEGIN
FOR X:= D+1 TO 5 DO
BEGIN
IF DATA[d]
> DATA[x] THEN
BEGIN
Z:=DATA[d];
DATA[d] := DATA[x];
DATA[x] := Z;
END;
END;
END;
WriteLn;
WriteLn;
Write('DATA SETELAH DIURUT
: ');
FOR D:=1 TO 5 DO
WRITE(DATA[d]:3);
WRITELN;
WRITELN('TOTAL : ',T);
R:=T/D;
WRITELN('RATA : ',R:10:2);
READLN;
END.
2. Algoritma cara ke-2 :
Menggabungkan kalimat dengan penggalan statements
yang ada di suatu bahasa pemrograman (mis : Pascal ). Biasa disebut Pseudo code (mirip
kode/perintah pemrograman)
Contoh
: Algoritma untuk konversi bilangan berbasis-10 menjadi bilangan berbasis-2.
1. INPUT a { a adalah bilangan bebasis 10}
Hit = 1 { hit adalah indeks untuk menyimpan
sisa hasil bagi }
2. DO WHILE a>0
sb = sisa bagi a
dengan 2
bil(hit) = sb
hit = hit + 1
a = hasil pembagian a dengan 2
ENDDO
3.
DO WHILE hit > 0
cetak bil(hit);
hit = hit + 1
ENDDO
3. Algoritma cara ke-3 :
Menggunakan
diagram alir (flowchart).
Lambang lambang flowchart secara umum
Contoh: flowchart hitung
luas lingkaran :
a.
Algoritma merupakan jantung
Ilmu Informatika
Algoritma
adalah merupakan jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi
algoritma. Namun jangan beranggapan algoritma selalu
identik dengan ilmu komputer saja. Cara membuat kue
atau masakan yang dinyatakan dalam resep masakan,
itu juga merupakan algoritma. Ibu-ibu yang mencoba resep masakan tersebut akan
membaca satu persatu langkah pembuatannya, lalu
mengerjakan proses (melakukan aksi) sesuai yang
ia baca. Secara umum, pihak yang mengerjakan proses disebut pemroses
(processor). Pemroses dapat berupa manusia,
komputer, robot, alat mekanik, alat elektronik dll. Melaksanakan algoritma
berarti mengerjakan langkah-langkah yang tertulis
dalam algoritma tersebut.
b. Mekanisme Pelaksanaan Algoritma
Agar algoritma dapat dilaksanakan dalam
komputer maka algoritma harus di ubah ke notasi bahasa pemrograman sehingga disebut program. Jadi program
adalah merupakan perwujudan atau implementasi
dari algoritma. Program ditulis dalam salah satu bahasa pemrograman. Kegiatan
menulis program disebut pemrograman(programming).
Orang yang menulis program disebut pemrogram
(programmer). Tiap langkah di dalam program disebut pernyataan atau instruksi.
Jadi program adalah : "Sederetan
instruksi yang sistematis dan logis yang menggunakan sintaks tertentu untuk menyelesaikan permasalahan".
Secara garis besar komputer tersusun
atas 4 komponen utama yaitu :
1. Input device (piranti masukan)
2. Output device (piranti keluaran)
3. Unit pemroses utama (Central Processing Unit )
4. Memory (piranti penyimpan sementara)
Perbedaan
belajar Memprogram dengan Belajar Bahasa Pemrograman
Ø Belajar memprogram adalah belajar tentang metodologi pemecahan
masalah, kemudian menuangkannya
kedalam suatu notasi yang mudah dipahami. Belajar algoritma sama dengan belajar memprogram.
Ø Belajar bahasa pemrograman adalah belajar memakai suatu bahasa,
aturan dan tata bahasanya, instruksi-instruksinya, cara pengoreasian
compiler-nya. Belajar bahasa program contohnya adalah belajar Turbo- Pascal.
c.
Pemrograman Prosedural.
Bahasa pemrograman yang menerapkan konsep prosedural
didalam penulisan programnya misalnya adalah T.Pascal. Teknik pemrograman
prosedural adalah : program di bagi menjadi beberapa bagian program yang lebih
kecil yang disebut modul atau sub program atau rutin atau procedure atau
function. Bagian-bagian program kecil ini nantinya di kontrol atau dikendalikan
dari program utama (main program). Setiap sub program dapat di panggil
berkali-kali dari program utama.
B. ATURAN PENULISAN TEKS ALGORITMA
Agar algoritma mudah ditranslasikan ke
dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritmik tersebut berkoresponden dengan notasi
bahasa pemrograman secara umum. Misalkan kita
menulis perintah :
tulis
nilai x dan y
dalam
notasi algoritmik ditulis menjadi : write(x,y)
Tabel notasi algoritmik
NO
|
Notasi Biasa
|
Notasi Algoritmik
|
Notasi T.Pascal
|
1
|
masukan
nilai x
|
readln(x)
|
ReadLn(x);
|
2
|
isikan
nilai 5 kedalam x
|
x5
|
X:=5;
|
3
|
isikan
nilai x kedalam min
|
min x
|
Min:=x;
|
4
|
tambahkan
nilai 1 ke X itulah X
|
xx+1
|
X:=x+1;
|
5
|
tulis
nilai x dan y
|
write(x,y)
|
Write(x,y);
|
6
|
jika a
lebih besar dari b maka
|
if a>b
then
|
If a>b
Then
|
Aturan
diatas tidak baku, hanya penyesuaian dengan bahasa pemrograman Turbo Pascal.
Pada
dasarnya teks algoritma tersusun dari 3 bagian (blok) yaitu :
1. Kepala Algoritma atau judul (header)
2. Bagian deklarasi.
3. Bagian deskripsi (uraian) algoritma.
Ø Header atau kepala algoritma bagian yang terdiri dari nama
algoritma dan penjelasan singkat (spesifikasi) tentang algoritma tersebut. Penjelasan
di apit tanda kurung kurawal { - }.
Ø Deklarasi merupakan bagian untuk mendefinisikan semua nama yang
dipakai dalam algoritma. Nama dapat berupa nama peubah, tetapan, tipe,
prosedur, fungsi, dll.
Ø Deskripsi merupakan bagian yang menjelaskan atau menguraikan
langkah-langkah penyelesaian masalah. Uraian ditulis baris perbaris sesuai
urutan yang harus dikerjakan secara sistematis.
C. TIPE, NAMA, DAN NILAI PENGENAL
Pada
umumnya, program komputer bekerja dengan memanipulasi objek(data) di dalam
memori. Objek yang akan diprogram
bermacam-macam jenis atau tipenya, misalnya nilai numerik,
karakter, string dan rekaman (record). Suatu tipe
menyatakan pola penyajian data dalam komputer. Tipe data dapat dikelompokan
menjadi atas dua macam: tipe data dasar dan tipe tipe bentukan. Tipe dasar
adalah tipe yang dapat langsung dipakai, sedangkan tipe bentukan dibentuk dari
tipe dasar. Suatu tipe diacu dari namanya. Nilai-nilai yang dicakup oleh tipe
tersebut dinyatakan di dalam ranah (domain) nilai.
a. Tipe Dasar
Ø Bilangan
Logika
Ø Bil
Bulat
Ø Bil
Riil
Ø Karakter
b. Tipe
Bentukan
Ø String.
Ø Tipe dasar yang diberi nama tipe baru.
Ø Rekaman (record).
c. Tipe dasar yang diberi nama tipe baru :
Kita dapat memberi nama baru untuk tipe
dasar dengan kata kunci type ranah nilai, tetapan dan
operasi sama seperti tipe dasar aslinya.
d.
Rekaman
Rekaman disusun oleh satu atau lebih
field. Tiap field menyimpan data dari tipe dasar tertentu atau
tipe bentukan yang sudah didefinisikan. Nama rekaman
ditentukan oleh pemrogram sendiri.
e.
Nama
Setiap objek diberi nama agar objek
tersebut mudah diindentifikasi dari objek lainnya. Dalam
algoritma nama dipakai sebagai pengindentifikasi
"sesuatu" dan pemrogram mengacu "sesuatu" itu melalui namanya. Karena itu tiap nama haruslah unik (tidak
sama). Didalam algoritma "sesuatu" yang
diberi nama itu dapat berupa :
1. Label
Label
merupakan pengenal baris. Suatu baris dalam program diberi nama/pengenal. Label
ini
diberikan pada baris tertentu biasanya untuk
instruksi percabangan.
2. Peubah (variabel)
Variabel adalah alamat memory yang
diberi nama sebagai tempat penyimpan data/informasi dan
isi variabel dapat diubah.
3. Tetapan (constanta)
Sama dengan variabel tetapi isinya tetap
(tidak bisa diubah) selama pelaksanaan program.
4. Tipe bentukan. Nama tipe
bentukan diberikan oleh pemrogram.
5. Fungsi (function).
6. Prosedur (procedure).
f. Nilai
1. Pengisian
nilai ke dalam nama peubah
Nilai adalah besaran dari tipe data yang sudah
dikenal. Nilai dapat berupa isi yang disimpan oleh nama peubah (variabel) atau
nama tetapan(constanata), atau hasil dari perhitungan atau nilai yang dikirim
oleh fungsi lain.
2. Ekspresi
Transformasi nilai(data)
menjadi keluaran(informasi) melalui suatu proses perhitungan
dinyatakan dalam suatu ekspresi. Ekspresi terdiri
dari operand dan operator. Operand adalah nilai
yang dioperasikan, operator adalah lambang untuk operasi. Ada tiga macam
ekspresi yaitu :
Ø Ekspresi Aritmatik menggunakan opearator aritmatika.
Ø Ekspresi Relational (ekspresi perbandingan yang menghasilkan nilai
boolean)
Ø Ekspresi Relational menggunakan operator (not, and, or, xor ).
Ekpresi ini menghasilkan nilai boolean (True atau False).
Ø Ekspresi String
-
Menuliskan Nilai kepiranti
keluaran (output device)
D. STRUKTUR DASAR ALGORITMA
1.
Proses, Instruksi dan Aksi
Tiap
langkah instruksi mengerjakan suatu tindakan (aksi). Bila suatu aksi
dilaksanakan,
maka sejumlah operasi yang
bersesuaian dengan aksi itu dikerjakan oleh pemroses.
2.
Struktur Dasar Algoritma
Konstruksi algoritma dibangun atas 3
konstruksi dasar yaitu :
Ø Runtunan aksi
Ø Pemilihan aksi
Ø Pengulangan aksi
3.
Runtunan Aksi (Squence)
Proses pelaksanaan instruksi dikerjakan beruntun
dari urutan istruksi pertama, instruksi kedua, instruksi ketiga dan seterusnya
hingga berakhir atau berhenti karna ada kesalahan isntruksi. Urutan instruksi
menentukan keadaan akhir dari algoritma. Bila urutannya diubah maka kemungkinan
hasil akhir juga berubah.
Komentar
Posting Komentar