Anda di halaman 1dari 4

Tugas Logika&Algoritma II 1

procedure Isi_Data ( I/O Data : penjualan , output jenis_barang : integer )


{ I.S :
{ F.S :
Deklarasi
i : integer
Deskripsi
output (‘----------------------------------------------------------------‘)
output (‘Kode Barang ! Nama Barang ! Harga Satuan ! Diskon ’)
output (‘----------------------------------------------------------------‘)
output (‘ PK ! Pakaian ! Rp.50000 ! 12,5% ‘)
output (‘ SP ! Sepatu ! Rp.85000 ! 2,5% ‘)
output (‘ TS ! Tas ! Rp.70000 ! 5% ‘)
output (‘----------------------------------------------------------------‘)
input (jenis_barang)
for i  1 to jenis_barang do
input (Data[i].kode_barang, Data[i].jumlah)
endfor
endprocedure

procedure Barang ( input jenis_barang:integer , I/O Data : penjualan )


{ I.S : Jenis dan kode barang sudah terdefinisi}
{ F.S : Menghasilkan nama barang dan harga satuan dari array penjualan}
Deklarasi
i : integer
Deskripsi
for i  1 to jenis_barang do
depend on ( Data[i].kode_barang )

(Data[i].kode_barang = ‘PK’ ) : Data[i].nama_barang  ‘Pakaian’


Data[i].harga_satuan  50000

(Data[i].kode_barang = ‘SP’ ) : Data[i].nama_barang  ‘Sepatu’


Data[i].harga_satuan  85000

(Data[i].kode_barang = ‘TS’ ) : Data[i].nama_barang  ‘Tas’


Data[i].harga_satuan  70000

endepend

if (((Data[i].kode_barang  ‘PK’)|| (Data[i].kode_barang  ‘SP’))||


(Data[i].kode_barang  ‘TS’))
then
output (‘Invalid Kode’)
else
output (Data[i].kode_barang)
endif
endfor
endprocedure

Freddy Munandar 10704086


Tugas Logika&Algoritma II 2

procedure Hitung ( input jenis_barang : integer , I/O Data : penjualan )


{ I.S :
{ F.S : Menghasilkan harga total dan diskon dari array penjualan }
Deklarasi
i : integer
Deskripsi
for i  1 to jenis_barang do
Data[i].harga_total  Data[i].harga_satuan* Data[i].jumlah
if (Data[i].jumlah3)
depend on ( Data[i].kode_barang )

(Data[i].kode_barang = ‘PK’ ) : Data[i].Diskon  0.125*Data[i].harga_total

(Data[i].kode_barang = ‘SP’ ) : Data[i].Diskon  12.5*Data[i].harga_total

(Data[i].kode_barang = ‘TS’ ) : Data[i].Diskon  0.5*Data[i].harga_total

endepend
else
Data[i].Diskon  0
endif
endfor
endprocedure

function total ( input jenis_barang : integer , I/O Data : penjualan )  real


{ I.S : Jenis barang, nama barang, harga satuan, jumlah dan diskon telah terdefinisi }
{ F.S : Menghasilkan total harga dari array penjualan }
Deklarasi
i : integer
Deskripsi
for i  1 to jenis_barang do
total_harga  Data[i].harga_total - Data[i].Diskon
endfor
endprocedure

Freddy Munandar 10704086


Tugas Logika&Algoritma II 3

procedure tampil ( input jenis_barang : integer , I/O Data : penjualan )


{ I.S :
{ F.S :
Deklarasi
i : integer
function total ( input jenis_barang : integer , I/O Data : penjualan )  real
Deskripsi
output (‘----------------------------------------------------------------‘)
output (‘Kode Barang! Nama Barang ! Harga Satuan ! Diskon ’)
output (‘----------------------------------------------------------------‘)
output (‘ PK ! Pakaian ! Rp.50000 ! 12,5% ‘)
output (‘ SP ! Sepatu ! Rp.85000 ! 2,5% ‘)
output (‘ TS ! Tas ! Rp.70000 ! 5% ‘)
output (‘----------------------------------------------------------------‘)
output (‘Jenis Barang : ‘,jenis_barang)

for i  1 to jenis_barang do
output (‘Kode Barang ke ‘, i ,’ :’ , Data[i].kode_barang )
output (‘Nama Barang :’ , Data[i].nama_barang )
output (‘Jumlah :’ , Data[i].jumlah )
output (‘Harga Satuan :’ , Data[i].harga_satuan)
output (‘Harga Total :’ , Data[i].harga_total )
output (‘Diskon :’ , Data[i].Diskon )
endfor
output (‘Total Harga Seluruh Barang : ‘,total_harga )
endprocedure

procedure menu ( output pilihan : integer )


{ I.S :
{ F.S :
Deklarasi

Deskripsi
Output (‘ Menu Pilihan ‘)
Output (‘ -------------- ‘)
Output (‘ 1. Isi Data ‘)
Output (‘ 2. Hitung Data ‘)
Output (‘ 3. Tampil Data ‘)
Output (‘ 4. Keluar ‘)
Output (‘ -------------- ‘)
endprocedure

Freddy Munandar 10704086


Tugas Logika&Algoritma II 4

Algoritma Utama
{ Menghitung_Hasil_Penjualan }
{ I.S : Diberikan sejumlah nilai }
{ F.S : Menampilkan jenis barang, kode barang, nama barang, jumlah, harga satuan, harga
total dan total keseluruhan dari sejumlah penjualan }
Deklarasi
procedure Isi_Data ( I/O Data : penjualan , output jenis_barang : integer )
procedure Barang ( input jenis_barang:integer , I/O Data : penjualan )
procedure Hitung ( input jenis_barang : integer , I/O Data : penjualan )
function total ( input jenis_barang : integer , I/O Data : penjualan )  real
procedure tampil ( input jenis_barang : integer , I/O Data : penjualan )
procedure menu ( output pilihan : integer )

const
range1 = 1
range2 = 100
type
barang = record
< kode_barang, nama_barang : string,
jumlah, harga_satuan : integer,
harga_total, Diskon : real >
endrecord

penjualan = array [range1 .. range2] of barang


Data : penjualan
Pilihan, i :integer
Deskripsi
Repeat
menu ( pilihan )
depend on (pilihan)
(pilihan = 1) : Isi_data(jenis_barang, Data)
(pilihan = 2) : Barang(jenis_barang,Data),Hitung(jenis_barang ,Data)
,total(jenis_barang, Data)
(pilihan = 3) : tampil(jenis_barang, Data)
enddepend
until (pilihan = 4)

Freddy Munandar 10704086

Anda mungkin juga menyukai