Anda di halaman 1dari 2

Nama : Pramuditya Pamoedjie for i := 1 to n do

NPM : 22402034 begin


Kelas : SI-XLW41/22 writeln('Mahasiswa ke-', i);
writeln('NIM : ', dataMhs[i].nim);
Coding dengan Pascal: writeln('Nama : ', dataMhs[i].nama);
writeln('Nilai : ', dataMhs[i].nilai);
end;
program TugasSearching; end;

uses crt; // Procedure cari berdasarkan NIM


procedure cariNim();
const var
max = 100; nim, i: integer;
ketemu: boolean;
type begin
mahasiswa = record write('Masukkan NIM yang dicari: ');
nim: integer; readln(nim);
nama: string; ketemu := false;
nilai: real; i := 1;
end; while (not ketemu) and (i <= n) do
begin
var if dataMhs[i].nim = nim then
dataMhs: array [1..max] of mahasiswa; begin
n: integer; ketemu := true;
pil: integer; writeln('Data ditemukan pada indeks ke-', i);
end;
// Procedure input data i := i + 1;
procedure isiData(); end;
var
i: integer; if not ketemu then
begin writeln('Data tidak ditemukan');
write('Banyak data mahasiswa: '); end;
readln(n);
for i := 1 to n do // Procedure cari berdasarkan nilai
begin procedure cariNilai();
writeln('Data mahasiswa ke-', i); var
write('NIM : '); nilai: real;
readln(dataMhs[i].nim); i: integer;
write('Nama : '); begin
readln(dataMhs[i].nama); write('Masukkan nilai yang dicari: ');
write('Nilai : '); readln(nilai);
readln(dataMhs[i].nilai);
end; for i := 1 to n do
end; begin
if dataMhs[i].nilai = nilai then
// Procedure tampil data begin
procedure tampilData(); writeln('Data ditemukan pada indeks ke-', i);
var exit; // berhenti jika sudah ketemu
i: integer; end;
begin end;
writeln('DATA MAHASISWA');
writeln('Data tidak ditemukan'); writeln('1. Isi Data');
end; writeln('2. Cari Berdasarkan NIM');
writeln('3. Cari Berdasarkan Nilai');
// Procedure cari berdasarkan indeks writeln('4. Cari Berdasarkan Indeks');
procedure cariIndeks(); writeln('5. Tampil Urut NIM');
var writeln('0. Keluar');
idx: integer; write('Pilihan: ');
begin readln(pil);
write('Masukkan indeks yang dicari: ');
readln(idx); case pil of
1: isiData();
if (idx >= 1) and (idx <= n) then 2: cariNim();
begin 3: cariNilai();
writeln('Data indeks ke-', idx, ':'); 4: cariIndeks();
writeln('NIM : ', dataMhs[idx].nim); 5:
writeln('Nama : ', dataMhs[idx].nama); begin
writeln('Nilai : ', dataMhs[idx].nilai); urutNim();
end tampilData();
else end;
writeln('Indeks tidak valid'); 0: writeln('Terima kasih telah menggunakan
end; program ini.');
else writeln('Pilihan tidak valid!');
// Procedure sorting berdasarkan NIM end;
procedure urutNim();
var if pil <> 0 then
i, j, min: integer; begin
t: mahasiswa; writeln('Tekan Enter untuk melanjutkan...');
begin readln;
for i := 1 to n - 1 do end;
begin until pil = 0;
min := i; end.
for j := i + 1 to n do
begin
if dataMhs[j].nim < dataMhs[min].nim then
min := j;
end;

t := dataMhs[i];
dataMhs[i] := dataMhs[min];
dataMhs[min] := t;
end;
end;

begin
n := 0;

repeat
clrscr;

// Menu pilihan
writeln('MENU');

Anda mungkin juga menyukai