PENGANTAR ALGORITMA DAN PEMROGRAMAN
Asal kata Algoritma Algorism atau Algorithm berarti proses menghitung. Al-Khuwarizmi dalam buku berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran dan pengurangan (The book of restoration and reduction). Al Khuwarizmi (780-850 M)
ALGORITMA Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Algoritma adalah jantung ilmu komputer atau informatika. Algoritma tersebut ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
PROGRAM KOMPUTER Program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer. Komputer hanyalah salah suatu pemroses. Pemroses artinya melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut. Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses.
Penulisan algoritma Ditulis dalam bahasa natural, misalnya Algoritma untuk menghitung luas lingkaran: Step 1: memberi nilai π=3,14 Step 2: memasukkan nilai diameter D Step 3: menghitung luas A= π * (D/2)2 Step 4: menampilkan hasil
Penulisan algoritma Ditulis dalam bentuk flowchart. : untuk awal/akhir program : untuk memberikan inialisasi : untuk input/output : untuk proses : untuk percabangan
Flowchart: Luas lingkaran
BELAJAR PEMROGRAMAN Memprogram: belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Bahasa pemrograman: belajar memakai suatu bahasa, tata bahasanya, instruksiinstruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksiinstruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
Bahasa pemrograman High level Pascal dan Visual Pascal (Delphi) Basic dan Visual Basic Fortran Midle level Bahasa C Low level Bahasa Assembly
Unsur-unsur dasar PASCAL Komentar dengan tanda (* komentar *) untuk satu baris (1623-1662) atau lebih dengan tanda { komentar } untuk satu baris atau lebih Variable dan Konstanta Var nama_identifier : tipe_variable; Blaise Pascal Const nama_identifier = nilai_konstanta; Contoh Var a: integer {a adalah variable untuk data dengan tipe bilangan bulat} Const b=10; {b adalah suatu konstanta yang bernilai 10}
Tipe data dalam Pascal Integer Real digunakan untuk bilangan bulat digunakan untuk bilangan dengan angka desimal String digunakan untuk sederetan karakter Array digunakan untuk larik data yang sejenis
operator aritmatik Operator Operasi Tipe Data Tipe hasil Contoh + penambahan integer, real integer, real X + Y pengurangan integer, real integer, real Result - 1 * perkalian integer, real integer, real P * InterestRate / pembagian integer, real real X / 2 div Pembagian bulat integer integer Total div UnitSize mod sisa integer integer Y mod 6 + (unary) sign identity integer, real integer, real +7 (unary) sign negation integer, real integer, real -X
operator relasi Operator Operasi Tipe Data Tipe hasil Contoh = Sama dengan simple, class, class reference, Boolean I = Max interface, string, packed string <> Tidak sama dengan simple, class, class reference, Boolean X <> Y interface, string, packed string < Lebih kecil dari simple, string, packed string, Boolean X < Y PChar > Lebih besar dari simple, string, packed string, Boolean Len > 0 PChar <= Kurang dari sama dengan simple, string, packed string, Boolean Cnt <= I PChar >= Lebih dari sama dengan simple, string, packed string, PChar Boolean I >= 1
operator logika Operator Operasi Tipe Data Tipe hasil Contoh not tidak integer integer not X and dan integer integer X and Y or atau integer integer X or Y xor Exlusive OR integer integer X xor Y shl Geser kiri integer integer X shl 2 shr Geser kanan integer integer Y shl I
Operator Boolean Operator Operasi Tipe Data Tipe hasil Contoh not Tidak Boolean Boolean not (C in MySet) and Dan Boolean Boolean Done and (Total > 0) or atau Boolean Boolean A or B xor exclusive OR Boolean Boolean A xor B operator assigment (:= ) nama_variable:=ekspresi; contoh a:= 25; s:= v * t;
Latihan Turbo Pascal program Luas_Lingkaran; uses crt; var luas, diameter, radius : real; diameter := 5; radius := diameter/2; luas := pi * sqr(radius); writeln('luas lingkaran: ', luas); readln; end. Delphi program Luas_Lingkaran; uses Forms; var luas, diameter, radius : real; diameter := 5; radius := diameter/2; luas := pi * sqr(radius); writeln('luas lingkaran: ', luas); readln; end.
program latihan1; uses Forms; var msk : integer; write('berapakah umur Anda? '); readln(msk); writeln('baru ',msk,' tahun, hebat sekali!'); readln; end.
KONTROL PROGRAM Struktur IF THEN IF <kondisi> THEN Begin {stetemen yang dijalankan}; end;
KONTROL PROGRAM Struktur IF THEN.. ELSE IF <kondisi> THEN {stetemen yang dijalankan}; end // tanpa titik koma (;) ELSE IF <kondisi> THEN {statemen 2 yang dijalankan}; end // tanpa titik koma (;) ELSE {statemen 3 yang dijalankan}; end ; // dengan titik koma
program latihan2; uses Forms; var msk : integer; write('berapakah umur Anda? '); readln(msk); if (msk<1) or (msk>130) then writeln('anda salah memasukkan!') else writeln('baru ',msk,' tahun, hebat sekali!'); readln; end.
KONTROL PROGRAM Struktur CASE OF Variable_pilih; CASE <variable_pilih> OF nilai_variable: {statemen 1 yang dijalankan} end; nilai_variable: {statemen 2 yang dijalankan} end; else // tanpa titik dua (:) {statemen 3 yang dijalankan} end; end;
program latihan3; uses Forms; var msk : char; readln(msk); case msk of 'a' : writeln('itu adalah huruf a kecil'); 'z','z' : writeln('itu adalah huruf z kecil atau Z besar') else writeln('itu huruf selain a, z atau Z'); end; readln; end.
PERULANGAN Struktur REPEAT UNTIL Variable_ulang:=nilai_awal; Repeat {bagian yang diulang} variable_ulang:=variable_ulang + suatu_nilai; until <kondisi>;
program latihan4; uses Forms; var I : char; repeat write('ketik suatu nilai: '); readln(i); until (I = 'q') or (I = 'Q'); readln; end.
PERULANGAN Struktur WHILE DO Variable_ulang:=nilai_awal; While <kondisi> DO Begin {statemen yang diulang} variable_ukang:=variable_ulang + suatu_nilai End;
program latihan5; uses Forms; var I : char; I := '; while (I <> 'q') do write('ketik suatu nilai: '); readln(i); end; readln end.
PERULANGAN Struktur FOR. TO DO For <variable_ulang:=nilai_awal> To <nilai akhir> Do Begin End; {statemen yang diulang}
program latihan6; uses Forms; var count : integer; for count := 1 to 10 do writeln('hello '); readln end. program latihan6a; uses Forms; var count : integer; for count := 10 downto 1 do writeln('hello '); readln end.
Break program latihan7; uses Forms; var I : char; I := ' '; while TRUE do write('ketik suatu nilai: '); readln(i); if (I = 'q') or (I = 'Q') then break; end; readln end.
continue program latihan8; uses Forms; var I : char; count : integer; I := ' '; for count := 1 to 100 do write('ketik suatu nilai: '); readln(i); if (I = 'q') or (I = 'Q') then continue; writeln('ini hanya dieksekusi jika anda tidak mengetik q atau Q') end; readln; end.
Exit program latihan9; uses Forms; var I : char; repeat write('ketik suatu nilai: '); readln(i); if (I = 'q') then Exit; until FALSE; readln; end.
PROCEDURE program latihan12; uses Forms; writeln(' '); writeln('----------'); writeln(' '); writeln('----------'); writeln(' '); readln; end. program latihan13; uses Forms; procedure CetakVertikal; writeln(' '); end; procedure CetakHorizontal; writeln('----------'); end; CetakVertikal; CetakHorizontal; CetakVertikal; CetakHorizontal; CetakVertikal; readln; end.
PROCEDURE varibel pass program latihan14; uses Forms; var number : integer; procedure CetakVertikal (BrpKali : integer); var I : integer; for I := 1 to BrpKali do writeln(' '); end; writeln('berapa kali garis vertikal ingin dicetak? '); readln(number); CetakVertikal(number); readln; end.
PROCEDURE - FUNCTION program latihan15; uses Forms; procedure kwadrat(bilangan : real; var hasil : real); hasil := bilangan * bilangan; end; var msk, jwb : real; writeln('ketik bilangan yang akan dikwadratkan : '); readln(msk); kwadrat(msk, jwb); writeln(msk,' dikwadratkan menjadi ', jwb); readln; end.
FUNCTION program latihan16; uses Forms; function kwadrat(bilangan : real) : real; kwadrat := bilangan * bilangan; end; var msk : real; writeln('ketik bilangan yang akan dikwadratkan : '); readln(msk); writeln(msk,' dikwadratkan menjadi ', kwadrat(msk)); readln; end.