kuliah 1- teks algoritma(revisi)
TRANSCRIPT
TEKS ALGORITMA
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
APAKAH PERBEDAAN ALGORITMA DAN PEMROGRAMAN?
Algoritma merupakan solusi detail secara prosedural dari suatu persoalan dalam notasi algoritmik .
Program merupakan program komputer dalam suatu bahasa pemrograman yang tersedia di dunia.
5
6
Terdiri atas tiga bagian
Judul (header)
Kamus
Algoritma
7
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
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
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”
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
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
13
Definisi
Bagian teks algoritma tempat mendefinisikan:
Nama type
Nama konstanta
Nama informasi (nama variabel)
Nama prosedur, sekaligus spesifikasi
Nama fungsi, sekaligus spesifikasi
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}
16
Definisi
Bagian teks algoritma yang berisi
instruksi atau pemanggilan aksi yang
telah didefinisikan
18
Definisi:
Pola representasi suatu data dalam komputer
Kegunaan:
Mendefinisikan objek yang akan diprogram
Type dasar
Type enumerasi
Type bentukan
20
Type dasar
Bilangan logika/boolean
Bilangan bulat
Bilangan riil
Karakter
21
22
23
25
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.
27
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
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
30
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
32
Type nama_type : < elemen_1 : type_1,
elemen_2 : type_2,
elemen_3 : type_3,
……………………>
33
Type point menyatakan absis & ordinat
real pada sumbu kartesian
Notasi algoritmik
Type point: < x: real, {absis}
y: real {ordinat}
>
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}
35
Type JAM menyatakan representasi JAM
dalam notasi HH:MM:SS
HH bernilai [0..23]
MM bernilai [0..59]
SS bernilai [0..59]
36
Type JAM : < HH: integer[0..23], {jam}
MM: integer[0..59], {menit}
SS: integer[0..59] {detik}
>
Notasi algoritmik
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}
38
type Jam : integer[7..17]
type Dosen : string
type Matakuliah : string
type Kelas : string
Type JADWAL merepresentasikan sistem penjadwalan di IT Telkom
39
type JADWAL : < J: Jam,
D: Dosen,
Mk: Matakuliah,
K: Kelas >
Notasi Algoritmik
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