JUDUL
Semarang B.Eng, M.Komp
Nama : Dwi Kurniawan Tanggal : 1 Mei 2020
Kelas : LT -2B Coding Program Semester : 4
No.Absen: 07 Searching Data Paraf:
Matkul : Komputasi Teknik Listrik
Berikut ini adalah Deskripsi coding pascal dari Program Sequential Search Harga
Barang Elektronik.
Berdasarkan tugas membuat flowchart minggu lalu.
Disini saya akan menjelaskan langkah-langkah perstatement disertai dengan gambar dari
program yang telah saya buat,
1. Pertama-tama menuliskan judul program yang akan dibuat, disini saya memberi judul:
program Sequenctial_Search_Harga_Barang_Elektronik;
2. Setelah menuliskan judul program selanjutnya adalah mendeklarasikan variable dan type
data array,
Variable yang di gunakan dalam program ini adalah :
L = {array data}
B = {Nama Barang}
MB = {Merek Barang}
HB = {Harga Barang}
P = {Pajak}
HT = {Harga Total}
i = {indeks Larik}
n = {banyaknya elemen Larik}
x = {nilai dicari}
idx = {variabel searching}
variable yang telah disebutkan diatas nantinya akan berfungsi sebagai inisialisasi dari input.
L : larikint;
B :string;
MB: string;
HB: integer;
P: integer;
HT:integer;
i : integer;
n : integer;
x : integer;
idx : integer;
3. Selanjutnya adalah memasukan nilai n yakni berapa banyak barang yang akan didata pada
program,
begin
clrscr;
write('Berapa Banyak Barang : '); readln(n);
writeln;
Kemudian adalah memasukan nilai dari input dengan menggunakan perintah Procedure yang
berfungsi sebagai subprogram terpisah, dengan menggunakan procedure suatu program yang
rumit akan terbagi menjadi bagian-bagian yang sederhana,
Input yang dimasukan dalam program ini adalah Nama Barang(B) , Merek Barang(MB), Harga
Barang (HB), Pajak (P)
Dari nilai input tersebut program akan memproses untuk dikalkulasi sehingga diperoleh nilai
output yakni Harga Total (HT)
Harga Total (HT) = Harga Barang (HB) + Pajak (P) Pada tahap ini program akan melakukan
proses looping sebanyak n sampai semua input dan output terpenuhi.
procedure bacaLarik(var L:larikInt; n : integer);
var
i : integer;
begin
for i := 1 to n do
begin
writeln('Barang ke=[',i,']');
write('Nama Barang=');readln(B);
write('Merek Barang=');readln(MB);
write(‘Harga Barang=Rp.’);readln(HB);
write(‘Pajak=');readln(P);
HT:=HB+P;
writeln(‘Total Harga=Rp.');readln(HT);
writeln;
end;
end;
4. Langkah selanjutnya adalah membuat perintah Procedure cetak indeks array (larik) yang
nanti berfungsi sebagai output dari proses searching data, pada tahap ini terjadi looping
sebanyak n
procedure cetakLarik(L:larikInt; n : integer);
var
i : integer;
begin
for i := 1 to n do
begin
writeln(L[i]);
end;
end;
6. Tahap berikutnya adalah memasukan nilai X yang akan dicari dan mencetak output dari hasil
proses searching, seperti yang telah dijabarkan pada procedure sequential search (langkah
nomer 5) jika X tidak sesuai dengan indeks array larik maka pada Hasil Pencarian program
akan mencetak keterangan ‘Tidak Ditemukan!’ sebaliknya jika nilai x sesuai dengan indeks
larik maka program akan mencetak ‘ Barang Ditemukan Pada Data ke-sekian’
write('Masukkan Jumlah Harga Yang Dicari: '); readln(x);
writeln;
writeln(' Hasil Pencarian ');
seqSearch2(L, n, x, idx);
if idx = -1 then
writeln('Tidak ditemukan!')
else
writeln(x, ' ditemukan pada jurusan ke-', idx);
repeat until keypressed;
readln;
end.
7. Program Searcing telah SELESAI
for i := 1 to n do
begin writeln(L[i]);
end;
end;
end;
if L[i] = x then
idx := i
else
idx := -1;
end;
begin
clrscr;
write('Berapa Banyak Barang : '); readln(n);
writeln;
BacaLarik(L,n);
write('Masukkan Jumlah Harga Yang Dicari: '); readln(x);
writeln;
writeln(' Hasil Pencarian ');
seqSearch2(L, n, x, idx);
if idx = -1 then
writeln('Barang Tidak Ditemukan!')
else
writeln('Barang Ditemukan Pada Data ke-', idx);