3 Jul 2012

Struktur Data

PROGRAM SEARCHING
BAB  I
PENDAHULUAN

A.          Latar Belakang

Pada pembuatan makalah kali ini kami akan membahas tentang Pencarian (Searching),dengan metode Sequential Searching. Sequential Search (pencarian beruntun) menggunakan prinsip sebagai berikut,data yang ada di bandingkan satu persatu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak di temukan.

Pencarian (searching) merupakan proses fundamental dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Data dapat disimpan secara temporer dalam memori utama atau disimpan secara permanen di dalam memori sekunder (tape atau disk). Didalam memori utama , struktur penyimpanan data yang umum adalah brupa larik atau tabel(array), sedangkan di dalam memori sekunder berupa arsip (file). Algoritma pencarian yang akan dibicarakan dimulai dengan algoritma pencarian yang paling sederhana yaitu pencarian beruntun atau Sequential Search.

B.          Tujuan
a)     Mahasiswa dapat memahami salah satu metode algoritma pencarian (Sequential Search).
b)    Mahasiswa dapat membuat algoritma dan program dalam bahasa pascal dengan metode Sequential Searching.

 
BAB  II
DASAR TEORI

Pencarian (searching) merupakan proses fundamental dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Search algoritma adalah algoritma yang menerima argument A dan mencoba untuk  mencari record  yang  mana keynya adalah A.

Algoritma bisa mengembalikan nilai record, atau pointer ke record. Reord sendiri adalah tipe data yang terdiri atas kumpulan variabel disebut field. Sequensial search (penelusuran sequensial) yaitu proses mengunjungi melalui suatu pohon dengan cara setiap simpul di kunjungi hanya satu kali yang disebut dengan tree transversal / kunjungan pohon.

Data dapat disimpan secara temporer dalam memori utama atau disimpan secara permanen di dalam memori sekunder (tape atau disk). Di dalam memori utama, struktur penyimpanan data yang umum adalah berupa larik atau tabel (array), sedangkan di dalam memori sekunder berupa aesip (file).

Aktivitas yang berkaitan dengan pengolahan data ini sering di dahului dengan proses pencarian. Sebagai contoh, untuk mengubah (update) data tertentu, langkah pertama yang harus dilakukan adalah mencari keberadaan data tersebut di dalam kumpulannya. Aktivitas yang awal sama juga dilakukan pada proses penambahan (insert) data yang baru. Proses penambahan data dimulai dengan mencari apakah data yang ditambahkan sudah terdapat di dalam kumpulan. Jika sudah dan mengasumsikan tidak boleh ada duplikasi data,maka data tersebut tidak perlu di tambahkan, tetapi jika belum ada, maka tambahkan.

Algoritma pencarian yang akan dibicarakan adalah algoritma pencarian yang paling sederhana yaitu pencarian beruntun atau sequential search.
ü Metode pencarian beruntun (sequential search)

Konsep yang digunakan dalam metode ini adalah membandingkan data-data yang ada dalam kumpulan tersebut, mulai dari elemn pertama sampai elemen di temukan, atau sampai element terakhir.


BAB III
PEMBAHASAN

Dalam makalah ini kami akan membahas diantaranya :
a.     Membuat algoritma pencarian data karyawan dengan menggunakan metode sequential search.
b.     Membuat program pencarian data karyawan dengan menggunakan bahasa pemrograman pascal.

Ø    Algoritma pencarian data karyawan dengan menggunakan metode sequential search.
1.                 Pencarian nama karyawan menggunakan pascal
2.                 Masukkan data = nama karyawan
3.                 Set variabel ketemu (boolean) dengan data awal = false
4.                 Set variabel 1 (longint) dengan data awal = 1
5.                 Proses variabel i sampai data ke-n, dengan proses perulangan
6.                 Jika nama ke-n sudah sama dengan data input,set variabel ketemu dengan data = true
7.                 Jika variabel ketemu sudah bernilai benar, maka tuliskan keterangan ‘data ditemukan’ dilayar.
8.                 Jika sampai data ke-n tidak ada data yang cocok, dan variabel ketemu masih berisi data = false, maka tuliskan keterangan ‘data tidak ditemukan’ dilayar
9.                 selesai


Penulisan Program Bahasa Pascal
“PROGRAM PENCARIAN DATA KARYAWAN”

uses crt;
          type kerja =record
          gol:string;
          gaji:longint;
          end;
          kar=array[1..50] of kerja;

var
          karyawan : kar;
          i,j,jum : byte;
          ya : boolean;
          pil : char;

procedure isi(var x:kar);
begin
      i:=0;
      ya:=true;
         repeat
         begin
             i:=i+1;
             writeln (‘--------------------------------------------------‘);
             writeln (‘isi data karyawan ke-‘,i:4);
             writeln (‘--------------------------------------------------‘);
                 with x[i] do
                 begin
                     write (‘golongan:’); readln (gol);
                     write (‘nama karyawan:’); readln (nama);
                     write (‘gaji karyawan: ‘); readln (gaji);
                         writeln (‘-----------------------------------------------‘);
                     end;
                 write (‘tambah data? (y/t):’); readln(pil);
                 if pil <>’y’ then ya:=false;
                 writeln;
             end;
             until(‘ya=false’);
         jum:=i;
         end;

procedure sorting (var x:kar);
      var
         urut : kerja;

begin
      writeln (‘sorting menurut gaji’);
         for i:=1 to jum-1 do
         begin
             for j:=i+1 to jum do
             begin
                 if x[i].gaji>x[j].gaji then begin
                 urut:=x[i];x[i]:=x[j];x[j]:=urut;end;
             end;
         end;
      end;

procedure cari (var x:kar);
      var
         ketemu : boolean;
         cari : string;
      begin
writeln (‘pencarian karyawan’);
      write (‘nama karyawan:’);readln(cari);
      ketemu:=false;
         for i:= 1 to jum do
         begin
             if x[i].nama=cari then ketemu:=true;
         end;
      if ketemu then
writeln (‘karyawan yang bernama (‘,dicari,’) ada dalam perusahaan kami’);
      else
      writeln (‘maaf tidak ada karyawan yang bernama (‘,cari,’) dalam perusaan    kami’);
end;

procedure tampil(var x:kar);
begin
      writeln;
      writeln (‘data karyawan’);
      writeln (‘------------------------------------------------------‘)
      writeln (‘------------------------------------------------------‘)
for i:=1 to jum do
writeln (‘|’,i:5,’|’,x[i].gol:10,’|’,x[i].nama:10,’|’,x[i].gaji:12,’|’);
writeln (‘-------------------------------------------------‘);
end;
begin
      writeln (‘PROGRAM DATA KARYAWAN PT.COKOLATE Tbk.’);
      writeln;
isi (karyawan);
write (‘tekan enter untuk melihat data’);readln;
tampil (karyawan);
sorting (karyawan);
tampil (karyawan);
write (‘tekan enter untuk mencari karyawan’);readln;
cari (karyawan);readln;
end.

Tidak ada komentar:

Posting Komentar