
TYPE : dalam bahasa C ini di sebut sebagai Struct sedangkan di Bahasa pascal ini i sebut record
PRIMITIF : dalam konteaks prosedural, di terjemahkan menjadi fungsi/ prosedur
contoh algoritma ADT
Judul_Program Tiket_Konser
Kamus:
type tiketKonser: < nama_konser : string,
kode_konser : string,
jadwal_konser : string,
tipe_kelas : string,
harga_tiket : string,
quota : integer >
T : array [1..4] of tiketKonser
type datapembeli: < nama_pembeli : string,
kode_pembelian : string,
kode_undian : string >
D : array [1..9999] datapembeli
jumlah_pembeli : integer
pilihan : integer;
kode : string;
procedure lihatKonser()
procedure beliTiket()
function buatKodePembelian( T : tiketKonser) -> string
function carikode( kodekonser : string) -> string
function buatKodeUndian (T : tiketKonser) -> string
Procedure detailtiket( input a : integer)
Algoritma:
T[1].nama_konser <- "Didi Kempot Show"
T[1].kode_konser <- "A1"
T[1].jadwal_konser <- "31 Februari 2013 - pukul 25.00"
T[1].tipe_kelas <- "Festival"
T[1].harga_tiket <- "Rp 500.000,-"
T[1].quota <- 999
T[2].nama_konser <- "Didi Kempot Show"
T[2].kode_konser <- "A2"
T[2].jadwal_konser <- "31 Februari 2013 - pukul 25.00"
T[2].tipe_kelas <- "Tribun"
T[2].harga_tiket <- "Rp 300.000,-"
T[2].quota <- 666
T[3].nama_konser <- "Mbah Surip Resurrection"
T[3].kode_konser <- "B1"
T[3].jadwal_konser <- "30 Februari 2013 - pukul 23.00"
T[3].tipe_kelas <- "Festival"
T[3].harga_tiket <- "Rp 700.000,-"
T[3].quota <- 1313
T[4].nama_konser <- "Mbah Surip Resurrection"
T[4].kode_konser <- "B2"
T[4].jadwal_konser <- "30 Februari 2013 - pukul 23.00"
T[4].tipe_kelas <- "Tribun"
T[4].harga_tiket <- "Rp 400.000,-"
T[4].quota <- 444
Output("1. Lihat konser")
Output("2. Beli tiket")
Output("3. Cari kode")
Output("4. Lihat detail tiket yang sudah dibeli")
Output("Masukkan pilihan")
Input(pilihan)
if (pilihan = 1) then
lihatKonser()
else
if (pilihan = 2) then
beliTiket()
else
if (pilihan = 3) then
Output("Inputkan kode yang dicari")
Input(kode)
Output( carikode(kode) );
else
if (pilihan = 4) then
Output(
else
Output("Pilihan tidak ada! Silakan coba kembali")
PROCEDURE lihatKonser()
Kamus lokal: -
Algoritma:
i transversal [1..4]
Output(T[i].nama_konser)
Output(T[i].kode_konser)
Output(T[i].jadwal_konser)
Output(T[i].tipe_kelas)
Output(T[i].harga_tiket)
Output(T[i].quota <- 444)
PROCEDURE beliTiket()
Kamus lokal:
nama, kode : string
kodeBeli : string
kodeUndian : string
x : integer
Algoritma:
Output("Masukkan nama")
Input(nama)
Output("Masukkan kode konser : ")
Input(kode)
i transversal[1..4]
T[i].quota <- T[i].quota-1
x <- i
jumlah_pembeli <- jumlah_pembeli+1
detailtiket(x)
kodeBeli <- buatKodePembelian( T[x] )
kodeUndian <- BuatKodeUndian( T[x] )
Output("Kode pembelian anda adalah ", kodeBeli)
Output("Kode undian anda adalah ", kodeUndian)
D[jumlah_pembeli].nama_pembeli <- nama
D[jumlah_pembeli].kode_pembeli <- kodeBeli
D[jumlah_pembeli].kode_undian <- kodeUndian
FUNCTION buatKodePembelian( T : tiketKonser) -> string
Kamus lokal:
a, b, c : string
Algoritma:
a <- T.kode_konser
b <- T.tipe_kelas
c <- intToStr(T.quota+1)
-> (a,b,c)
FUNCTION carikode( kodekonser : string) -> string
Algoritma :
i transversal[1..4]
if (kodekonser = T[i].kode_konser) then
-> ("T[i].nama_konser")
FUNCTION BuatKodeUndian ( T: TiketKonser) -> string
Kamus local:
a,b,c,d, : string
a,b,c,d, : string
Algoritma:
a <- T.tipe_kelas
b <-T.kode_konser
c <- kode_pembelian
d <- intToStr(T.qouta+1)
-> (a,b,c,d)
PROCEDURE detailtiket( input a : integer)
Algoritma :
Output("Anda telah memesan tiket dengan detail sebagai berikut")
Output(T[a].nama_konser)
Output(T[a].kode_konser)
Output(T[a].jadwal_konser)
Output(T[a].tipe_kelas)
Tidak ada komentar:
Posting Komentar