Professional Documents
Culture Documents
Algol Struk Data INTRO
Algol Struk Data INTRO
marimin@indo.net.id
1
ALGORITMA PEMROGRAMAN KOMPUTER
2
ALGORITMA TUKAR–ISI-BEJANA
isi kedua bejana itu sedemikian rupa sehingga bejana A berisi larutan
DESKRIPSI:
3
LATIHAN 1 : Algoritma menghadiri acara di Jakarta
DESKRIPSI:
1.
2.
3.
DESKRIPSI:
1.
2.
3.
4
Model Matematik Tipe Data Abstrak Struktur Data
(TDA)
5
ALGORITMA DAN KOMPUTER
Algoritma
translasi
Kompilasi
• Pemrograman Deklaratif
• Pemrograman Konkuren
7
ATURAN PENULISAN TEKS ALGORITMA
• Pseudocode
• Teks algoritma
- Kepala
- Deklarasi
- Deskripsi Algoritma
8
• Translasi Teks ke Program
- Deklarasi:
- Deskripsi:
9
ALGORITMA DAN FLOWCHART
Tipe flowchart :
- System Flow-chart
- Detail Flow-chart
10
Contoh flowchart:
Mulai
Baca Data
Hitung Penerimaan
Tidak Sudah
Semua
Ya
Stop
Spesifikasi Sistem
Perancangan Sistem
tidak cukup
ya
Selesai
13
Deklarasi
Deklarasi adalah bagian untuk mendefinisikan semua nama yang
dipakai di dalam algoritma tersebut, dapat berupa nama tetapan,
nama peubah, nama tipe, nama prosedur dan fungsi.
Contoh:
Deklarasi
{Nama tetapan}
const Npeg = 100 (jumlah pegawai)
const phi = 3.14 (nilai )
{Nama peubah}
Type titik : record (koordinat titik dibidang cartesian)
< x : integer
y : integer
14
>
Deskripsi
Deskripsi merupakan bagian inti suatu algoritma yang berisikan
langkah-langkah penyelesaian masalah
Contoh:
Deskripsi:
read (a,d)
if c < d then
ea+b
else
ea-b
endif
write (e)
15
Konstanta dan Variabel
Deklarasi Konstanta
Konstanta di deklarasikan pada awal Pragram sebelum Begin-End
Untuk Mendeklarasikannya Harus diawali dengan kata Baku Const
Bentuk Umum
Const
NamaKonstanta1 = NilaiKonstanta1;
NamaKonstanta2 = NilaiKonstanta2;
………….
NamaKonstantaN = NilaiKonstantaN;
Contoh :
Const
pi = 3.14;
Radius = 25.6;
LuasLingkaran = pi*Radius;
Maximum = 100;
JumlahMhs = 15256;
Simbol = ‘***’;
NamaPT = ‘P.T. XYZ’;
16
Konstanta Bertipe
Bentuk Umum
Const
NamaKonstanta1: Tipe1 = NilaiKonstanta1
NamaKonstanta2: Tipe2 = NilaiKonstanta2
…………………..
NamaKonstantaN:TipeN = NilaiKonstantaN
Contoh
Const
BanyakData : byte=250;
JumlahMahasiswa : integer = 15000;
JudulHalaman : string[25] = ‘Pendapatan Tahunan’;
CheckPosisi : boolean = true;
17
Variabel
Tipe Data Sederhana :
Bentuk Umum Integer
Var Boolean
NamaVariabel1, NamaVariabel2 Real
……….. Karakter
NamaVariabel1N: TipeData1; String
………..
NamaVariabelNN : TipeDataN;
Contoh
Var Defaultnya = 256
Nilai1, Nilai2, Nilai3 : byte;
Nama : string[30];
JmlData : interger;
18
ALGORITMA EUCLIDEAN
model tersebut.
sekumpulan variabel, yang bisa terdiri atas beberapa tipe data, dan
20
DATA DASAR (PRIMITIF)
• Bilangan Bulat
• Bilangan Riil
• Karakter
21
BILANGAN LOGIKA
- Nama tipe untuk bilangan logik adalah boolean
- Ranah nilai True dan False
- Operasi : Not, and, or, xor
A B A and B A or B A xor B
22
Boolean
23
BILANGAN BULAT
- Nama tipe untuk bilangan bulat adalah integer
- Operasi
a. Operasi Aritmetika: +, -, *, div, mod
Contoh: 20 div 5 = 4
10 mod 3 = 1
b. Operasi Perbandingan: <, <, >, >, =,
24
Integer
Tipe data Integer adalah tipe data yang nilainya merupakan bilangan
Bulat
25
BILANGAN RIIL
- Nama tipe untuk bilangan riil adalah real
- Operasi
a. Operasi Aritmetika: +, -, *, /
b. Operasi Perbandingan: <, <, >, >, =,
26
Real
27
KARAKTER
- Nama tipe untuk karakter adalah char
- Ranah nilai semua huruf didalam alfabet, angka desimal, tanda baca,
operator numerik dan karakter-karakter khusus seperti $, #, @, ^, ~ dan
lain-lain.
28
TIPE DATA KOMPOSIT
Adalah tipe data baru yang elemennya disebutkan satu per satu
Bentuk Umum
Type
<NamaType> = (elemen1, elemen2, …, elemenN)
Contoh
Type
Hari = (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu);
Var HariKerja = Hari;
Begin
……
For HariKerja :=Senin to Sabtu do
(Mengerjakan Statement perulangan)
End.
30
• Latihan : Susun algoritma
1. Eucledian
2. Penyusunan data
3. Pemilihan data
4. Pengulangan kalimat
31
PEMILIHAN
a. Satu Kasus
- Notasi algoritmik yang digunakan : IF - THEN
- Struktur
if <kondisi> then
aksi
endif 32
Contoh:
if x > 100 then
Xx+1
endif
b. Dua Kasus
- Notasi algoritmik yang digunakan : IF – THEN – ELSE
- Struktur
if <kondisi> then
aksi1
else
aksi2
endif
33
Contoh:
if a > 0 then
write (‘bilangan positif’)
else
write (‘bilangan bukan positif’)
endif
c. Tiga Kasus atau lebih
- Struktur
34
if <kondisi1> then
aksi1
else
if <kondisi2> then
aksi2
else
if <kondisi3> then
aksi3
endif
endif
endif
35
Contoh:
Algoritma jenis_bilangan
Deklarasi:
bil : integer
Deskripsi:
read (bil)
if bil > 0 then
write (‘bilangan positif’)
else
if bil < 0 then
write (‘bilangan negatif’)
else
if bil = 0
write (‘nol’)
endif
endif
36
endif
c. Struktur CASE
- Struktur case
Case (nama)
<konsidi1> : aksi1
<kondisi2> : aksi2
<kondisi3> : aksi3
.
.
.
<kondisiN> : aksiN
[otherwise aksiX]
endcase 37
Contoh:
Algoritma kata_untuk_angka
Deklarasi:
A : integer {angka yang dibaca}
Deskripsi:
read (A)
case A
A = 1 : write (‘satu’)
A = 2 : write (‘dua’)
A = 3 : write (‘tiga’)
A = 4 : write (‘empat’)
endcase
38
STRUKTUR PENGULANGAN
1. While-do
2. Repeat-Until
3. For
39
1. Struktur While-Do
while <kondisi> do
aksi
endwhile
40
Contoh :
Algoritma Jumlah_Deret
DEKLARASI
N : integer {banyaknya suku deret, nilainya positif}
angka : integer {suku deret}
jumlah : integer {jumlah deret}
DESKRIPSI
read (N) {banyaknya suku deret}
Jumlah 0 {inisialisasi jumlah deret}
angka 1 {suku deret}
while angka < N do
jumlah jumlah + angka {jumlah deret sekarang}
angka angka + 1 (suku deret berikutnya}
endwhile
{angka > N } {kondisi setelah pengulangan berhenti}
write (jumlah) 41
2. Struktur Repeat - until
repeat
uksi
until <kondisi>
42
Contoh :
Algoritma Jumlah_Deret
DEKLARASI
N : integer {banyaknya suku deret, nilainya positif}
angka : integer {suku deret}
jumlah : integer {jumlah deret}
DESKRIPSI
read (N) {banyaknya suku deret}
Jumlah 0 {inisialisasi jumlah deret}
angka 1 {suku deret}
repeat
jumlah jumlah + angka {jumlah deret sekarang}
angka angka + 1 (suku deret berikutnya}
until angka > N
write (jumlah)
43
3. Struktur For
44
Contoh :
Algoritma Jumlah_Deret
DEKLARASI
N : integer {banyaknya suku deret, nilainya positif}
angka : integer {suku deret}
jumlah : integer {jumlah deret}
DESKRIPSI
read (N) {banyaknya suku deret}
Jumlah 0 {inisialisasi jumlah deret}
for angka 1 to N
jumlah jumlah + angka {jumlah deret sekarang}
endfor
write (jumlah)
45
• Latihan :semua algoritma
1. Eucliden
2. Penyusunan data
3. Pemilihan data
4. Pengulangan kalimat
46
TRANSLASI DARI TEKS ALGORITMA
KE TEKS PROGRAM
DEKLARASI
X : integer {peubah data bilangan bulat}
N : integer {banyaknya data bilangan bulat, N >0}
K : integer {pencacah jumlah pengulangan}
Jumlah : integer {jumlah seluruh data bilangan bulat}
rata : real {rata-rata data bilangan bulat}
47
DESKRIPSI
read (N) {baca banyaknya data}
k 1 {mulai dari data pertama}
jumlah 0
while k < N do
read (0)
jumlah jumlah + x
k k + 1 {cacah pengulangan selanjutnya}
endwhile
{k > N}
rata jumlah/N {rata-rata data bilangan bulat}
write (rata)
48