PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program...

Post on 18-Jul-2019

318 views 2 download

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.