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

35
PENGANTAR ALGORITMA DAN PEMROGRAMAN

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

Page 1: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

PENGANTAR ALGORITMA DAN PEMROGRAMAN

Page 2: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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)

Page 3: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 4: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 5: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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

Page 6: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

Penulisan algoritma

Ditulis dalam bentuk flowchart.

: untuk awal/akhir program

: untuk memberikan inialisasi

: untuk input/output

: untuk proses

: untuk percabangan

Page 7: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

Flowchart: Luas lingkaran

Page 8: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 9: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

Bahasa pemrograman

High level Pascal dan Visual Pascal (Delphi) Basic dan Visual Basic Fortran

Midle level Bahasa C

Low level Bahasa Assembly

Page 10: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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)

Page 11: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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

Page 12: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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

Page 13: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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

Page 14: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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

Page 15: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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;

Page 16: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 17: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

program latihan1;uses Forms;var msk : integer;begin write('Berapakah umur Anda? '); readln(msk); writeln('Baru ',msk,' tahun, hebat sekali!'); readln;end.

Page 18: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

KONTROL PROGRAM

Struktur IF… THEN

IF <kondisi> THENBegin

{stetemen yang dijalankan};end;

Page 19: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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

Page 20: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 21: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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;

Page 22: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 23: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

PERULANGAN

Struktur REPEAT … UNTIL

Variable_ulang:=nilai_awal;Repeat

{bagian yang diulang} variable_ulang:=variable_ulang + suatu_nilai;

until <kondisi>;

Page 24: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

program latihan4;uses Forms;

var I : char;begin repeat write('Ketik suatu nilai: '); readln(I); until (I = 'q') or (I = 'Q'); readln;end.

Page 25: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

PERULANGAN

Struktur WHILE … DO

Variable_ulang:=nilai_awal;While <kondisi> DO

Begin {statemen yang diulang} variable_ukang:=variable_ulang + suatu_nilaiEnd;

Page 26: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

program latihan5;uses Forms;

var I : char;begin I := ‘ '; while (I <> 'q') do begin write('Ketik suatu nilai: '); readln(I); end; readlnend.

Page 27: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

PERULANGAN

Struktur FOR …. TO … DO

For <variable_ulang:=nilai_awal> To <nilai akhir> DoBegin {statemen yang diulang}End;

Page 28: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 29: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 30: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 31: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 32: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 33: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 34: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.

Page 35: PENGANTAR ALGORITMA DAN PEMROGRAMAN · menghitung luas lingkaran: ... Turbo Pascal Delphi program Luas_Lingkaran; uses crt; var luas, ... program Luas_Lingkaran; uses Forms; var

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.