kuliah 1- teks algoritma(revisi)

40
TEKS ALGORITMA

Upload: rosy-kiey

Post on 09-Aug-2015

34 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Kuliah 1- Teks Algoritma(Revisi)

TEKS ALGORITMA

Page 2: Kuliah 1- Teks Algoritma(Revisi)

Algoritma : sederetan aksi yang harus dikerjakan dengan urutan tertentu.

Algoritma dapat terdiri dari suatu pola tingkah laku, dinyatakan dalam aksi primitif

Contoh algoritma : ◦ Petunjuk memasak telur dadar,

◦ Resep-resep kue

◦ Aturan pakai suatu alat elektronik

Page 3: Kuliah 1- Teks Algoritma(Revisi)

APAKAH PERBEDAAN ALGORITMA DAN PEMROGRAMAN?

Page 4: Kuliah 1- Teks Algoritma(Revisi)

Algoritma merupakan solusi detail secara prosedural dari suatu persoalan dalam notasi algoritmik .

Program merupakan program komputer dalam suatu bahasa pemrograman yang tersedia di dunia.

Page 5: Kuliah 1- Teks Algoritma(Revisi)

5

Page 6: Kuliah 1- Teks Algoritma(Revisi)

6

Terdiri atas tiga bagian

Judul (header)

Kamus

Algoritma

Page 7: Kuliah 1- Teks Algoritma(Revisi)

7

Page 8: Kuliah 1- Teks Algoritma(Revisi)

8

- Pada setiap bagian akan didefinisikan & dituliskan NAMA atau komentar

- Komentar dituliskan diantara tanda kurung kurawal.

- Teks yang dituliskan diluar tanda kurung kurawal adalah teks algoritma

Teks Algoritmik mengandung nama

Page 9: Kuliah 1- Teks Algoritma(Revisi)

Nama merupakan sesuatu yang dipakai sebagai identifikasi : ◦ Modul program, algoritma, skema program, dll

◦ Fungsi

◦ Prosedur

◦ Type

◦ Tempat penyimpanan ( misalkan nama variabel isi bisa berubah-ubah)

◦ Konstanta nilainya tetap dan tidak berubah-ubah

Page 10: Kuliah 1- Teks Algoritma(Revisi)

10

1. Dalam bahasa pemrograman, setiap nama mempunyai aturan penulisan. Pada teks algoritma tidak ada aturan ketat.

2. Pemilihan nama harus interpretatif, tidak menimbulkan kerancuan, jika singkat harus disertai penjelasan.

contoh: x-y akan membingungkan sebab mungkin “x minus y”

Page 11: Kuliah 1- Teks Algoritma(Revisi)

11

3. Nama merupakan satu kesatuan leksikal, maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain)

4. Semua nama dalam program harus unik, artinya suatu nama hanya didefinisikan satu kali saja

5. Semua nama yang dipakai dalam teks algoritma harus sudah didefinisikan pada salah satu bagian teks algoritma

Page 12: Kuliah 1- Teks Algoritma(Revisi)

12

- Merupakan Bagian teks algoritma tempat mendefinisikan apakah teks tsb adalah program, prosedur, fungsi, atau modul

- Setelah judul, tuliskan spesifikasi singkat

dari teks algoritma. - Bagian judul identik dengan judul buku dan

intisari pada suatu teks ilmiah dalam suatu makalah berbahasa Indonesia

Page 13: Kuliah 1- Teks Algoritma(Revisi)

13

Definisi

Bagian teks algoritma tempat mendefinisikan:

Nama type

Nama konstanta

Nama informasi (nama variabel)

Nama prosedur, sekaligus spesifikasi

Nama fungsi, sekaligus spesifikasi

Page 14: Kuliah 1- Teks Algoritma(Revisi)
Page 15: Kuliah 1- Teks Algoritma(Revisi)

KAMUS {nama type , hanya untuk type yang bukan type dasar} Type Point : < X : real, Y : real> { koordinat pada sumbu kartesian} {nama konstanta, harus menyebutkan type dan nilai} Constant PI : real = 3.14159 Constant Ka : character = „K‟ Constant factor : integer = 3 Constant Benar : boolean = true {nama informasi, menyebutkan type} Nmax : integer {jumlah maksimum elemen tabel} Found : boolean {hasil pencarian, true bila ketemu} P : point {posisi pena pada bidang kartesian} CC : character {current character} {spesifikasi fungsi, menyebutkan nama fungsi, domain dan range}

Function RealtoInt (i: real) integer {mengkonversi harga i yang bertype real menjadi harga ekivalen yang bertype

integer} {spesifikasi procedur} Procedure INISIALISASI {I.S. Sembarang F.S. Semua nama global dalam kamus terdefinisi nilainya Proses: menginisialisasi semua nama informasi global}

Page 16: Kuliah 1- Teks Algoritma(Revisi)

16

Definisi

Bagian teks algoritma yang berisi

instruksi atau pemanggilan aksi yang

telah didefinisikan

Page 17: Kuliah 1- Teks Algoritma(Revisi)
Page 18: Kuliah 1- Teks Algoritma(Revisi)

18

Definisi:

Pola representasi suatu data dalam komputer

Kegunaan:

Mendefinisikan objek yang akan diprogram

Page 19: Kuliah 1- Teks Algoritma(Revisi)

Type dasar

Type enumerasi

Type bentukan

Page 20: Kuliah 1- Teks Algoritma(Revisi)

20

Type dasar

Bilangan logika/boolean

Bilangan bulat

Bilangan riil

Karakter

Page 21: Kuliah 1- Teks Algoritma(Revisi)

21

Page 22: Kuliah 1- Teks Algoritma(Revisi)

22

Page 23: Kuliah 1- Teks Algoritma(Revisi)

23

Page 24: Kuliah 1- Teks Algoritma(Revisi)
Page 25: Kuliah 1- Teks Algoritma(Revisi)

25

Page 26: Kuliah 1- Teks Algoritma(Revisi)

26

Karakter :

Merupakan data tunggal yang mewakili semua

huruf, simbol baca, dan juga simbol angka yang

tidak dapat dioperasikan secara matematis. Misal

: ‘A’, ‘a’, ‘?’, ‘!’, dst.

Jangkauan meliputi semua karakter dalam kode

ASCII, atau yang tertera pada setiap tombol

keyboard.

Page 27: Kuliah 1- Teks Algoritma(Revisi)

27

Page 28: Kuliah 1- Teks Algoritma(Revisi)

28

Type yang definisi domainnya tidak dilakukan menurut suatu aturan (by

definition) melainkan dengan melakukan “enumerasi” atau menyebut satu per

satu nilai anggotanya

Type

Enumerasi

Page 29: Kuliah 1- Teks Algoritma(Revisi)

29

Pada type enumerasi dikenal cara akses suatu nilai anggota melalui katakunci

Last, yaitu anggota nilai yang terakhir

First, yaitu anggota nilai yang pertama

Successor(elemen) yaitu anggota nilai yang

berikutnya dari elemen

Predesesor(elemen) yaitu anggota nilai yang

sebelumnya dari elemen

Page 30: Kuliah 1- Teks Algoritma(Revisi)

30

Page 31: Kuliah 1- Teks Algoritma(Revisi)

31

Suatu TYPE yang dibentuk (dan diberi nama) dari beberapa komponen bertype tertentu, jadi merupakan kumpulan elemen bertype

dasar atau bertype yang sudah dikenal

Type

bentukan

Page 32: Kuliah 1- Teks Algoritma(Revisi)

32

Type nama_type : < elemen_1 : type_1,

elemen_2 : type_2,

elemen_3 : type_3,

……………………>

Page 33: Kuliah 1- Teks Algoritma(Revisi)

33

Type point menyatakan absis & ordinat

real pada sumbu kartesian

Notasi algoritmik

Type point: < x: real, {absis}

y: real {ordinat}

>

Page 34: Kuliah 1- Teks Algoritma(Revisi)

34

Deklarasi variabel P

P : point { artinya P adalah sebuah point }

Cara mengacu elemen P

P.x {menghasilkan nilai absis bernilai real}

P.y {menghasilkan nilai ordinat bernilai real}

Page 35: Kuliah 1- Teks Algoritma(Revisi)

35

Type JAM menyatakan representasi JAM

dalam notasi HH:MM:SS

HH bernilai [0..23]

MM bernilai [0..59]

SS bernilai [0..59]

Page 36: Kuliah 1- Teks Algoritma(Revisi)

36

Type JAM : < HH: integer[0..23], {jam}

MM: integer[0..59], {menit}

SS: integer[0..59] {detik}

>

Notasi algoritmik

Page 37: Kuliah 1- Teks Algoritma(Revisi)

37

Deklarasi variabel J

Cara mengacu elemen J

J: JAM {artinya: J adalah sebuah JAM}

J.HH {menghasilkan nilai bagian jam}

J.MM {menghasilkan nilai bagian menit}

J.SS {menghasilkan nilai bagian detik}

Page 38: Kuliah 1- Teks Algoritma(Revisi)

38

type Jam : integer[7..17]

type Dosen : string

type Matakuliah : string

type Kelas : string

Type JADWAL merepresentasikan sistem penjadwalan di IT Telkom

Page 39: Kuliah 1- Teks Algoritma(Revisi)

39

type JADWAL : < J: Jam,

D: Dosen,

Mk: Matakuliah,

K: Kelas >

Notasi Algoritmik

Page 40: Kuliah 1- Teks Algoritma(Revisi)

40

Jadwal_kuliah: JADWAL

Jadwal_kuliah.J

Jadwal_kuliah.D

Jadwal_kuliah.MK

Jadwal_kuliah.K

Jika dideklarasikan sebuah

NAMA Jadwal_kuliah

Cara mengacu elemen di

JADWAL