Selasa, 07 April 2015

Program Pencarian dan Nilai Ekstrem

  • Nama : Program Pencarian dan Nilai Ektrem
  • Bahasa : Pascal
  • Software : Free Pascal IDE
  • Deskripsi : Program ini menggunakan terdiri dari 4 submenu dan menu keluar. Submenu pertama yaitu input data, sebelum menginput data user diminta memasukkan berapa jumlah data yang ingin diinputkan. Submenu kedua yaitu lihat data, disini user bisa melihat data yang telah diinputkan pada submenu input data. Submenu ketiga yaitu cari data, disini pencarian menggunakan sequensial search, user akan menginputkan data yang ingin dicari kemudian jika data ditemukan maka program akan mengoutputkan pada indeks berapa data tersebut ditemukan. Dan yang terakhir adalah submenu nilai ekstrem, disini program akan mengoutputkan nilai maksimum dan minimum dari data yang telah diinputkan.
  • Screenshot :
Gambar 1. Menu awal
Gambar 2. Penginputan jumlah data
Gambar 3. Penginputan isi data
Gambar 4. Submenu lihat data
Gambar 5. Submenu cari data
Gambar 6. Jika data ditemukan
Gambar 7. Jika data tidak ditemukan
Gambar 8. Submenu nilai ekstrem
  • Source Code :
uses crt;
var
  nilai   :array[1..50] of integer;
  pil     :char;
  a,n,i,j :byte;
  x       :integer;

procedure input;
  begin
    clrscr;
    writeln('>> Input Data <<');
    writeln;
    write  ('Jumlah data : ');readln(n);
    for a:=1 to n do
      begin
        write('  Nilai ke-',a,'  : ');readln(nilai[a]);
      end;
  end;
procedure lihat;
  begin
    clrscr;
    writeln('>> Lihat Data <<');
    writeln;
    for a:=1 to n do
      writeln('Nilai ke-',a,'  : ',nilai[a]);
    readkey;
  end;
procedure cari;
  begin
    clrscr;
    writeln('>> Cari Data <<');
    writeln;
    write  ('Input nama : ');readln(x);
    writeln;
    a:=1;
    while (a<n) and (nilai[a]<>x) do
      a:=a+1;
    if nilai[a]=x then
      i:=a else
      i:=0;
    if i<>0 then
      writeln('Nilai ',x,' ditemukan pada indeks ke-',i) else
      writeln('Nilai ',x,' tidak ditemukan');
    readkey;
  end;
procedure ekstrem;
  begin
    clrscr;
    writeln('>> Nilai Ekstrem <<');
    writeln;
    i:=1;j:=1;
    for a:=2 to n do
      begin
        if nilai[a]>nilai[i] then
          i:=a else
          if nilai[a]<nilai[j] then
            j:=a;
      end;
    writeln('Nilai maksimum  : ',nilai[i]);
    writeln('Nilai minimum   : ',nilai[j]);
    readkey;
  end;

begin
  repeat
    clrscr;
    writeln('>> Menu <<');
    writeln;
    writeln('[1] Input Data');
    writeln('[2] Lihat Data');
    writeln('[3] Cari Data');
    writeln('[4] Nilai Ekstrem');
    writeln('[0] Keluar');
    writeln;
    write  ('Pilihan : ');pil:=upcase(readkey);
    case pil of
      '1':input;
      '2':lihat;
      '3':cari;
      '4':ekstrem;
    end;
  until
    pil='0';
end.

0 komentar:

Posting Komentar