PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program...
-
Upload
nguyendung -
Category
Documents
-
view
318 -
download
2
Transcript of PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program...
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, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi 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 atau lebih
dengan tanda { komentar } untuk satu baris atau lebih
Variable dan Konstanta Var nama_identifier : tipe_variable; 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}
Blaise Pascal(1623-1662)
Tipe data dalam Pascal Integer
digunakan untuk bilangan bulat Real
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,
interface, string, packed string
Boolean I = Max
<> Tidak sama dengan simple, class, class reference, interface, string, packed string
Boolean X <> Y
< Lebih kecil dari simple, string, packed string, PChar
Boolean X < Y
> Lebih besar dari simple, string, packed string, PChar
Boolean Len > 0
<= Kurang dari sama dengan simple, string, packed string, PChar
Boolean Cnt <= I
>= 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 Delphiprogram Luas_Lingkaran;uses
crt;var luas, diameter, radius : real;begin diameter := 5; radius := diameter/2; luas := pi * sqr(radius); writeln('Luas lingkaran: ', luas); readln;end.
program Luas_Lingkaran;uses
Forms;var luas, diameter, radius : real;begin diameter := 5; radius := diameter/2; luas := pi * sqr(radius); writeln('Luas lingkaran: ', luas); readln;end.
program latihan1;uses Forms;var msk : integer;begin write('Berapakah umur Anda? '); readln(msk); writeln('Baru ',msk,' tahun, hebat sekali!'); readln;end.
KONTROL PROGRAM
Struktur IF… THEN
IF <kondisi> THENBegin
{stetemen yang dijalankan};end;
KONTROL PROGRAM Struktur IF… THEN .. ELSE
IF <kondisi> THENbegin {stetemen yang dijalankan};end // tanpa titik koma (;)ELSE IF <kondisi> THENbegin {statemen 2 yang dijalankan};end // tanpa titik koma (;)ELSEbegin {statemen 3 yang dijalankan};end ; // dengan titik koma
program latihan2;uses Forms;
var msk : integer;begin 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: begin {statemen 1 yang dijalankan}
end;nilai_variable: begin
{statemen 2 yang dijalankan} end;
else // tanpa titik dua (:) begin
{statemen 3 yang dijalankan} end;
end;
program latihan3;uses Forms;
var msk : char;begin 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;begin 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_nilaiEnd;
program latihan5;uses Forms;
var I : char;begin I := ‘ '; while (I <> 'q') do begin write('Ketik suatu nilai: '); readln(I); end; readlnend.
PERULANGAN
Struktur FOR …. TO … DO
For <variable_ulang:=nilai_awal> To <nilai akhir> DoBegin {statemen yang diulang}End;
program latihan6;uses Forms;
var count : integer;
begin for count := 1 to 10 do writeln('Hello '); readlnend.
program latihan6a;uses Forms;
var count : integer;
begin for count := 10 downto 1 do writeln('Hello '); readlnend.
Break
program latihan7;uses Forms;var I : char;begin I := ' '; while TRUE do begin write('Ketik suatu nilai: '); readln(I); if (I = 'q') or (I = 'Q') then break; end; readlnend.
continueprogram latihan8;uses Forms;var I : char; count : integer;begin I := ' '; for count := 1 to 100 do begin 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;
begin repeat write('Ketik suatu nilai: '); readln(I); if (I = 'q') then Exit; until FALSE; readln;end.
PROCEDURE
program latihan12;uses Forms;
begin writeln(' | | '); writeln('----------'); writeln(' | | '); writeln('----------'); writeln(' | | '); readln;end.
program latihan13;uses Forms;procedure CetakVertikal;begin writeln(' | | ');end;procedure CetakHorizontal;begin writeln('----------');end;begin CetakVertikal; CetakHorizontal; CetakVertikal; CetakHorizontal; CetakVertikal; readln;end.
PROCEDURE – varibel passprogram latihan14;uses Forms;var number : integer;
procedure CetakVertikal (BrpKali : integer);var I : integer;begin for I := 1 to BrpKali do writeln(' | | ');end;
begin 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);begin hasil := bilangan * bilangan;end;
var msk, jwb : real;begin 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;begin kwadrat := bilangan * bilangan;end;
var msk : real;begin writeln('Ketik bilangan yang akan dikwadratkan : '); readln(msk); writeln(msk,' dikwadratkan menjadi ', kwadrat(msk)); readln;end.