• Tidak ada hasil yang ditemukan

Adam Mukharil Bachtiar English Class Informatics Engineering 2011

N/A
N/A
Protected

Academic year: 2019

Membagikan "Adam Mukharil Bachtiar English Class Informatics Engineering 2011"

Copied!
71
0
0

Teks penuh

(1)

Adam Mukharil Bachtiar

English Class

Informatics Engineering 2011

Algorithms and Programming

(2)

Steps of the Day

Let’s Start

Modular

Programming

Procedure

Function

(3)

Modular Programming

(4)

Backg

round

of

Modular

Pr

ogr

ammin

g

Make a program to solve all problems in your

(5)
(6)

Thinkin

g

in Modu

lar

Pr

ogr

ammin

g

Breakdown

a big problem

into

several small

problems

. Small Problems can be

(7)

Thinking in Modular

Programming

Main Program

Sub Pr

ogr

am

1

Sub Pr

ogr

am

2

Sub Pr

ogr

am

(8)

Wha

t

is Modular

Pr

ogr

ammin

g

(9)

Bene

fits of Modular

Pr

ogr

ammin

g

Eliminate

repetition of same syntax

in program or algorithm.

Can find

syntax error

easily.

(10)

Types of Looping Structure

Pr

ocedur

e

Functi

(11)

Procedure

(12)

Wha

t

is Pr

ocedur

e

Instruction block

that was made specially to

(13)

Ex

ample

of Pr

ocedur

e

(Slee

p Pr

ocedur

e)

Brush your teeth

Go to bed

Pray

Cover your body with bedcover

Count the sheep (if you are insomnia)

Start to dream

Wake up (if you are not death)

(14)

Format of Procedure (Algorithm Notation)

Procedure NamaProsedur

(Parameter jika ada)

{I.S.: Keadaan awal sebelum prosedur dijalankan}

{F.S.: Keadaan akhir sesudah prosedur dijalankan}

Kamus:

{Variabel, konstanta, tipe buatan lokal}

Algoritma:

{Badan Prosedur, Berisi instruksi}

(15)

Format of Procedure (Pascal Notation)

procedure NamaProsedur

(Parameter jika ada)

;

{Variabel, konstanta, tipe buatan}

begin

{Badan Prosedur, Berisi instruksi}

(16)
(17)

Example of Procedure (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 12 13 Procedure HitungLuasPersegi

{I.S: Diinputkan sisi oleh pengguna}

{F.S: Menampilkan hasil perhitungan luas persegi di layar}

Kamus: sisi:integer luas:integer Algoritma: input(sisi)

luas sisi * sisi

output(‘Luas Persegi = ‘,luas)

(18)

Example of Procedure (Pascal)

1 2 3 4 5 6 7 8 9 10 11 12 13 procedure HitungLuasPersegi; var sisi:integer; luas:integer; begin

write(‘Masukan sisi : ‘);readln(sisi);

luas sisi * sisi;

writeln(‘Luas Persegi = ‘,luas);

write(‘Tekan sembarang tombol untuk keluar...’);

readkey();

(19)

Call the Pr

ocedur

e

(20)

Format of Calling Procedure (Algorithm)

NamaProsedur

Atau

(21)

Format of Calling Procedure (Algorithm)

NamaProsedur;

Atau

(22)
(23)

Example of Calling Procedure (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 12 Algoritma PanggilHitungLuasPersegi

{I.S: Diinputkan sebuah bilangan oleh pengguna}

{F.S: Memanggil prosedur sebanyak bilangan}

Kamus:

i,bil:integer {kamus global}

procedure HitungLuasPersegi {Cukup Headernya saja}

Algoritma:

input(bil)

for i 1 to bil do

HitungLuasPersegi {memanggil prosedur}

(24)

Example of Calling Procedure (Pascal)

1 2 3 4 5 6 7 8 9 10 11 12 13 program PanggilHitungLuasPersegi; uses crt; var bil:integer;

{Prosedur HitungLuasPersegi kamu diletakkan di sini}

begin

write(‘Masukan bilangan = ‘);readln(bil);

for i 1 to bil do

HitungLuasPersegi; {memanggil prosedur} {Baris penutup jangan sampai lupa!!!}

(25)

T

yp

es of V

ariable

Global Variable

(26)

Global

V

ariable

(27)

Loc

al

V

ariable

Varible that

was known only by its owner

. This

variable was declared inside procedure or

(28)

Local Variable (Algorithm Notation)

Procedure NamaProsedur

(Parameter jika ada)

{I.S.: Keadaan awal sebelum prosedur dijalankan}

{F.S.: Keadaan akhir sesudah prosedur dijalankan}

Kamus:

{Identifier lokal diletakkan di sini}

Algoritma:

{Badan Prosedur, Berisi instruksi}

EndProcedure

(29)

Global Variable (Algorithm Notation)

Algoritma judul_algoritma

{I.S.: diisi keadaan yang terjadi di awal algoritma}

{F.S.: diisi keadaan yang terjadi di akhir algoritma}

Kamus/Deklarasi:

{Identifier global diletakkan di sini}

Algoritma/Deskripsi:

(30)

Local and Global Variable (Pascal Notation)

program nama_program; var

{identifier global di sini}

procedure nama_prosedur (parameter jika ada);

var

{identifier lokal di sini}

begin end; begin

(31)
(32)

Wha

t

is P

ar

ame

ter

Variable that allow us to have

more than just

ordinary communication

to procedure or

(33)

T

yp

es of P

ar

ame

ter

Input Parameter

Output Parameter

Input/Output Paramete

r

: means parameter by value

(34)
(35)

Input Parameter (Algorithm Notation)

Procedure NamaProsedur

(Input NamaVariabel:TipeData)

{I.S.: Keadaan awal sebelum prosedur dijalankan}

{F.S.: Keadaan akhir sesudah prosedur dijalankan}

Kamus:

{Identifier lokal diletakkan di sini}

Algoritma:

{Badan Prosedur, Berisi instruksi}

(36)

Calling Input Parameter (Algorithm Notation)

Algoritma NamaProsedur

{I.S.: Keadaan awal sebelum algoritma dijalankan} {F.S.: Keadaan akhir sesudah algoritma dijalankan}

Kamus:

{Identifier global diletakkan di sini}

Procedure NamaProsedur (Input NamaVariabel:TipeData)

Algoritma:

NamaProsedur(NamaVariabel) {pemanggilan prosedur}

EndProcedure

(37)

Input Parameter (Pascal Notation)

program nama_program; var

{identifier global di sini}

procedure nama_prosedur (variabel:tipedata);

var

{identifier lokal di sini} begin

end; Begin

nama_prosedur(variabel);{pemanggilan prosedur}

(38)
(39)

Example of Input Parameter (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 12

Procedure Persegi(Input sisi:integer)

{I.S: Menerima input berupa sisi}

{F.S: Menampilkan luas dan keliling persegi}

Kamus:

luas,keliling:integer

Algoritma:

luas sisi * sisi

keliling 4 * sisi

output(luas,keliling)

(40)

Example of Calling Input Parameter (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 Algoritma PanggilHitungLuasPersegi

{I.S: Diinputkan sisi oleh pengguna}

{F.S: Memanggil prosedur persegi}

Kamus:

sisi:integer

procedure Persegi(Input sisi:integer)

Algoritma:

input(sisi)

(41)

Example of Input Parameter (Pascal)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 program HitungPersegi; uses crt; var sisi:integer; procedure persegi(sisi:integer); var luas,keliling:integer; begin

luas := sisi * sisi;

keliling := 4 * sisi;

(42)

Example of Input Parameter (Pascal)

15 16 17 18 19 20 21 22 23 24

writeln(‘Keliling persegi : ‘,keliling);

end;

begin

write(‘Masukan sisi persegi= ‘);readln(sisi);

persegi(sisi);

writeln();

write(‘Tekan sembarang tombol untuk menutup...’);

readkey();

(43)
(44)

Output Parameter (Algorithm Notation)

Procedure NamaProsedur

(Output NamaVariabel:TipeData)

{I.S.: Keadaan awal sebelum prosedur dijalankan}

{F.S.: Keadaan akhir sesudah prosedur dijalankan}

Kamus:

{Identifier lokal diletakkan di sini}

Algoritma:

{Badan Prosedur, Berisi instruksi}

(45)

Calling Output Parameter (Algorithm Notation)

Algoritma NamaProsedur

{I.S.: Keadaan awal sebelum algoritma dijalankan} {F.S.: Keadaan akhir sesudah algoritma dijalankan}

Kamus:

{Identifier global diletakkan di sini}

Procedure NamaProsedur (Output NamaVariabel:TipeData)

Algoritma:

NamaProsedur(NamaVariabel) {pemanggilan prosedur}

(46)

Output Parameter (Pascal Notation)

program nama_program; var

{identifier global di sini}

procedure nama_prosedur (var variabel:tipedata);

var

{identifier lokal di sini} begin

end; Begin

nama_prosedur(variabel);{pemanggilan prosedur}

(47)
(48)

Example of Output Parameter (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 12

Procedure Persegi(Output luas,keliling:integer)

{I.S: Meminta input sisi dari pengguna}

{F.S: Mengirimkan nilai luas dan keliling persegi}

Kamus:

sisi:integer

Algoritma:

input(sisi)

luas sisi * sisi

keliling 4 * sisi

(49)

Example of Calling Output Parameter (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 Algoritma PanggilHitungLuasPersegi

{I.S: Memanggil prosedur persegi}

{F.S: Menampilkan nilai dari prosedur persegi}

Kamus:

luas,keliling:integer

Procedure Persegi(Output luas,keliling:integer)

Algoritma:

Persegi(luas,keliling)

(50)

Example of Output Parameter (Pascal)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 program HitungPersegi; uses crt; var luas,keliling:integer;

procedure persegi(var luas,keliling:integer);

var

sisi:integer;

begin

write(‘Masukan sisi persegi= ‘);readln(sisi);

luas := sisi * sisi;

(51)

Example of Output Parameter (Pascal)

15 16 17 18 19 20 21 22 23 24 end; begin persegi(luas,keliling);

writeln(‘Keliling persegi : ‘,keliling);

writeln(‘Luas Persegi : ‘,luas);

writeln();

write(‘Tekan sembarang tombol untuk menutup...’);

readkey();

(52)
(53)

Input/Output Parameter (Algorithm Notation)

Procedure NamaProsedur

(I/O NamaVariabel:TipeData)

{I.S.: Keadaan awal sebelum prosedur dijalankan}

{F.S.: Keadaan akhir sesudah prosedur dijalankan}

Kamus:

{Identifier lokal diletakkan di sini}

Algoritma:

{Badan Prosedur, Berisi instruksi}

(54)

Calling Input/Output Parameter (Algorithm Notation)

Algoritma NamaProsedur

{I.S.: Keadaan awal sebelum algoritma dijalankan} {F.S.: Keadaan akhir sesudah algoritma dijalankan}

Kamus:

{Identifier global diletakkan di sini}

Procedure NamaProsedur (I/O NamaVariabel:TipeData)

Algoritma:

NamaProsedur(NamaVariabel) {pemanggilan prosedur}

(55)

Input/Ouput Parameter (Pascal Notation)

program nama_program; var

{identifier global di sini}

procedure nama_prosedur (var variabel:tipedata);

var

{identifier lokal di sini} begin

end; Begin

nama_prosedur(variabel);{pemanggilan prosedur}

(56)
(57)

Example of Input/Output Parameter (Algorithm)

1 2 3 4 5 6 7 8 9 10 11

Procedure Persegi(I/O sisi:integer,Output luas,keliling:integer)

{I.S: Menerima input sisi}

{F.S: Mengirimkan nilai sisi, luas, dan keliling persegi}

Kamus:

Algoritma:

luas sisi * sisi

keliling 4 * sisi

sisi sisi + 1; {lihat apa yang terjadi}

(58)

Example of Calling Output Parameter (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 12 Algoritma PanggilHitungLuasPersegi

{I.S: Memanggil prosedur persegi}

{F.S: Menampilkan nilai dari prosedur persegi}

Kamus:

sisi,luas,keliling:integer

Procedure Persegi(I/O sisi:integer,Output luas,keliling:integer)

Algoritma:

input(sisi)

Persegi(sisi,luas,keliling)

(59)

Example of Input/Output Parameter (Pascal)

1 2 3 4 5 6 7 8 9 10 11 12 program HitungPersegi; uses crt; var luas,keliling:integer;

procedure persegi(sisi:integer;var luas,keliling:integer);

begin

luas := sisi * sisi;

keliling := 4 * sisi;

sisi := sisi + 1; {Lihat apa yang terjadi}

(60)

Example of Input/Output Parameter (Pascal)

13 14 15 16 17 18 19 20 21 22 begin

write(‘Masukan sisi persegi= ‘);readln(sisi);

persegi(sisi,luas,keliling);

writeln(‘Keliling persegi : ‘,keliling);

writeln(‘Luas Persegi : ‘,luas);

writeln(‘Sisi persegi : ‘,sisi);

writeln();

write(‘Tekan sembarang tombol untuk menutup...’);

readkey();

(61)

Function

(62)

Wha

t

is F

unction

Instruction block

that was made specially to

do

specific job

and

return a value

. Such as:

(63)

Diff

er

ence Be

tw

een

Pr

ocedur

e

and

Functio

n

Procedure

was not made to return a value

(only

do specific job) but function

was made to return

(64)

Format of Function (Algorithm Notation)

FUnction NamaFungsi

(Parameter jika ada)

tipefungsi

{I.S.: Keadaan awal sebelum fungsi dijalankan}

{F.S.: Keadaan akhir sesudah fungsi dijalankan}

Kamus:

{Variabel, konstanta, tipe buatan lokal}

Algoritma:

{Badan fungsi, Berisi instruksi}

return VALUE {tipenya sama dengan tipe fungsi}

(65)

Format of Procedure (Pascal Notation)

function NamaFungsi (Parameter jika ada):tipefungsi;

{Variabel, konstanta, tipe buatan}

begin

{Badan Fungsi, Berisi instruksi}

(66)
(67)

Example of Function (Algorithm)

1 2 3 4 5 6 7 8 9

Function LuasPersegi(Input sisi:integer)  integer

{I.S: Menerima input berupa sisi}

{F.S: Menampilkan luas dan keliling persegi}

Kamus:

Algoritma:

return sisi * sisi

(68)

Example of Function (Algorithm)

1 2 3 4 5 6 7 8 9 10 11 12 Algoritma PanggilLuasPersegi

{I.S: Diinputkan sisi oleh pengguna}

{F.S: Menampilkan nilai fungsi luas persegi}

Kamus:

sisi,luas:integer

Function LuasPersegi(Input sisi:integer) integer

Algoritma:

input(sisi)

(69)

Example of Function (Pascal)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 program HitungPersegi; uses crt; var sisi,luas:integer; function LuasPersegi(sisi:integer):integer; begin

LuasPersegi := sisi * sisi;

end;

begin

write(‘Masukan sisi persegi= ‘);readln(sisi);

(70)

Example of Function (Pascal)

15

16

17

18

19

write(‘Luas persegi : ‘,luas);

writeln();

write(‘Tekan sembarang tombol untuk menutup...’);

readkey();

(71)

Contact Person:

Adam Mukharil Bachtiar Informatics Engineering UNIKOM Jalan Dipati Ukur Nomor. 112-114 Bandung 40132 Email: [email protected]

Blog: http://adfbipotter.wordpress.com

Referensi

Dokumen terkait

Dari hasil penelitian menunjukkan bahwa laki-laki yang menikah dengan sesama etnis menunjukkan penyesuaian pernikahannya lebih tinggi dari laki-laki yang menikah dengan

Refraktif Hasil Analisis Data Subjek S 4 kualitas sedang. Hal tersebut terlihat dari hasil wawancara S 4.2.4 Menghubungkan setiap informasi dengan pengetahuan sebelumnya

Penelitian ini bertujuan untuk mendeskripsikan: 1) keterampilan berbicara yang dilihat dari faktor kebahasaan dan nonkebahasaan 2) implementasi model

2) Sugesti, yaitu dorongan untuk mengikuti atau menerima sikap orang lain tanpa proses pemikiran yang dalam untuk melakukan sesuatu tindakan. Berlangsungnya sugesti

Berdasarkan rumusan masalah diatas, tujuan penelitian ini adalah untuk mengetahui kesalahan apa yang dilakukan siswa dalam menyelesaikan soal tipe Hots (Higher Order

Para ulama ushul fikih menetapkan bahwa rukun Qiyas itu aada empat, yaitu ashl (wadah hukum yang ditetapkan melalui nash atau ijma’) far’u (kasus yang akan ditentukan

Setelah dilakukan studi dan pencarian literatur, berikut ini adalah beberapa kajian terdahulu perihal tema yang bersinggungan dengan perdagangan internasional, pertumbuhan ekonomi

Begitu pula dengan hasil observasi siswa menunjukkan adanya peningkatan pada tanggung jawab, kerjasama dan kedisiplinan saat pembelajaran dengan memperoleh nilai