Anda di halaman 1dari 11

Membuat paper topik algoritma sequential search atau linear search

pertemuan 10
tugas terstruktur
D
I
S
U
S
U
N
OLEH
NAMA KELOMPOK 1
Irma Herdiyanti Telaumbanua 1913462165
Febriyanto Giawa 1913462161
Arnindi 19134621
Andre Noventus Manurung 1913462150
Dita 19134621
Nova Elis Simanjuntak 1913462170
Semi 19134621
Christine aulia 1913462147
Ardi Muslim Hakim 1913462152
Realis 19134621
Aldina Nuriyati 1913462147

PRODI D3 PEREKAM MEDIS DAN INFORMASI KESEHATAN


UNIVERSITAS IMELDA MEDAN
T.A. 2020/2021
KATA PENGANTAR

            Puji dan syukur penulis panjatkan kehadirat Allah SWT karena dengan rahmat  dan

hidayah-Nya sehingga penulis dapat membuat makalah dengan judul ”SEARCHING

 ARRAY”.

          Makalah ini bertujuan untuk memenuhi tugas mata kuliah STRUKTUR DATA yang


diberikan oleh asisten mata kuliah yang bersangkutan.

Pada kesempatan ini penulis tak lupa mengucapkan terima kasih kepada semua pihak
khususnya kepada asisten mata kuliah Struktur Data dan rekan-rekan  yang telah membantu
dalam proses penyelesaian makalah ini.

 Akhirnya, dengan segala kerendahan hati penulis sampaikan bahwa setiap manusia tidak
luput dari kesalahan dan kekhilafan. Oleh karena itu, penulis senantiasa mengharapkan kritik
dan saran yang konstruktif sehingga penulis dapat berkarya yang lebih baik lagi pada masa
yang akan ating.

Semoga bermanfaat

Medan, 29 Desember 2020
Pendahuluan
Latar Belakang
Dalam ilmu logika dan algoritma sering kali menemui masalah tentang bagaimana
mendapatkan suatu data dalam kumpulan data. Dalam keperluannya untuk mencari data,
terdapat beragam algoritma pencarian(search algoritm). Algoritma sendiri merupakan
“algoritma yang menerima sebuah argumen ‘a’ dan mencoba untuk menemukan sebuah
rekaman yang memiliki kunci ‘a’. Pencarian dapat dilakukan terhadap data yang secara
keseluruhan berada dalam memory komputer ataupun yang berada dalam penyimpanan
ekternal (hardisk). Pencarian yang dilakukan terhadap data yang berada dalam komputer di
kenal dengan pencarian internal sedangkan pencarian yang dilakukan pada media
penyimpanan eksternal disebut pencarian ekternal. Pencarian internal meliputi Pencarian
sekuensial (sequential search) dan pencarian biner (binary search).

b.     Rumusan masalah

Berdasarkan penjelasan di dalam latar belakang diatas dapat difokuskan beberapa


permasalahan :

1.      Apa defenisi dari Searching?

2.      Bagaimana cara pencarian data dari Searching?

3.      Bagaimana metode pencarian data pada Searching?

4.      Bagaimana contoh algoritma dari setiap metode searching?

Tujuan dan manfaat


1.      Mengkaji metode Searching Linier sequential sebagai program dalam menyelesaikan
pencarian   berurutan.
2.      Penggunaan Metode Searching Linier Sequential dalam  menyelesaikan masalah-masalah
yang ada.
Pembahasan
1.   Defenisi Searching

            Searching atau pencarian data adalah proses yang sering dilakukan dalam pengolahan
data. Proses ini dilakukan jika user atau pengguna ingin mencari suatu nilai apakah tersimpan
dalam suatu data atau tidak.  Dalam pencarian data juga terdapat beberapa jenis algoritma,
tujuan dari adanya banyak algoritma yang di temukan adalah karena memiliki keuntungan-
keuntungan tersendiri, seperti lebih cepatnya bila mengolah data yang jumlahnya lebih dari
juta data, ada yang lebih efisien dengan jumlah kurang dari jutaan. serta ada pula yang tidak
perlu untuk mengurutkan data terlebih dahulu, tetapi memakan waktu lebih lama.

Proses pencarian adalah menemukan harga (data) tertentu di dalam sekumpulan harga yang
bertipe sama (tipe dasar atau tipe bentukan). SEARCHING Contoh: Untuk menghapus
(mengubah) harga tertentu di dalam kumpulannya, langkah pertama yang dilakukan adalah
mencari apakah harga tersebut terdapat di dalam kumpulan yang dimaksud. Jika ada, harga
tersebut dapat dihapus atau diubah nilainya. Dengan cara yang sama untuk penyisipan, jika
data sudah ada, dan mempertahankan tidak ada duplikasi data, maka data tersebut tidak
disisipkan, dan jika belum ada disisipkan.

2.    Pencarian Data Searching

ÿ       Pencarian terbagi Dua :

a. Pencarian Internal adalah pencarian terhadap sekumpulan data yang disimpan di


dalam memori utama, struktur penyimpanan data yang umum adalah berupa larik atau
tabel (array);
b. Pencarian Eksternal adalah pencarian terhadap sekumpulan data yang disimpan di
dalam memori sekunder seperti tape atau disk, struktur penyimpanan data berupa
arsip (file).

ÿ       Data searching (pencarian data) meliputi;                  

a. FETCH (pencarian lokasi posisi record dan  pembacaan rekaman )


b. NEXT ( memperoleh rekaman berikutnya dan membaca seluruh record dalam
berkas Algoritma searching sangat erat hubungannya dengan sistem berkas )

3.   Metode Pencarian Data


a.     Sequential Searching

Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling
sederhana. Teknik searching ini dibuat dengan cara melakukan pengecek’an 1 persatu, yaitu
antara data yang di cari dengan kumpulan data yang di miliki, Keuntungan metode ini adalah
kita tidak perlu mengurutkan data yang ada, bila mencari data pada kumpulan data yang tidak
urut hanya terdapat metode ini yang dapat di lakukan.

ÿ       Prinsip pencarian: Data yang ada dibandingkan satu per satu secara berurutan dengan
yang dicari sampai data tersebut ditemukan atau tidak ditemukan.   Pada kasus yang paling
buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula.

ÿ       Algoritma Sequential Searching

a. i←0
b. ditemukan ← false
c. Selama (tidak ditemukan) dan (i <= N) kerjakan baris 4
d. Jika (Data[i] = x) maka ditemukan ← true, jika tidak i ← i + 1

5. Jika (ditemukan) maka i adalah indeks dari data yang dicari, jika tidak data    tidak
ditemukan.

b.     Binary Searching

ÿ       Syarat pencarian: data sudah urut, jika data belum urut pencarian tidak dapat
dilakukan. Teknik ini hanya dapat digunakan hanya pada kumpulan data yang sudah di
urutkan, karena teknik ini melakukan pencarian dengan mencari data pada index yang tengah,
apakah lebih besar/lebih kecil/sama dengan. bila hasil sama dengan maka nilai yang di cari
telah di temukan. bila lebih kecil/lebih besar maka akan di buang setengah data dari yang
salah, dan mencari dari indeks yang tengah dari sisanya. demikian samapi data ditemukan
atau tidak di temukan. Contoh: Misalnya saat ingin mencari suatu kata dalam kamus.  Mula-
mula diambil :

a. posisi awal 0 dan posisi akhir = N - 1,


b. kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) /
2.
c. Kemudian data yang dicari dibandingkan dengan data tengah.
d. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama
dengan posisi tengah –1.
e. Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama
dengan posisi tengah + 1. Demikian seterusnya sampai data tengah sama
dengan yang dicari.

ÿ       Algoritma Binary Searching


a. L←0
b. R←N–1
c. Ditemukan ← false
d. Selama (L <= R) dan (tidak ditemukan) kerjakan baris 5 sampai dgn 8
e. m ← (L + R) / 2
f. Jika (Data[m] = x) maka ditemukan ← true
g. Jika (x < Data[m]) maka R ← m – 1
h. Jika (x > Data[m]) maka L ← m + 1
i. Jika (ditemukan) maka m adalah indeks dari data yang dicari, jika tidak data
tidak ditemukan.

       4.      Contoh Algoritma dari  Metode Searching

ÿ       Sequential Search

Merupakan proses membandingkan setiap elemen satu per satu secara beruntun dari elemen
pertama sampai ditemukan atau sampai elemen terakhir.

ÿ       Sentinel Search

Sentinel adalah tanda/batas akhir pencarian. Sentinel dapat diletakkan di sebelum elemen
pertama (pencarian mundur), maupun ditaruh di sesudah elemen terakhir (pencarian maju).
Dengan metode ini, data yang dicari selalu ada. Yang menentukan data yang sebenarnya ada
pada tabel atau tidak adalah posisi hasil pencarian. Jika data ditemukan di posisi sebelum
elemen pertama (pencarian mundur), atau posisi pencarian lebih satu dari jumlah data pada
tabel, maka data tidak ditemukan. Karena yang ditemukan itu adalah sentinel. Sedangkan jika
posisinya selain itu, maka data ditemukan

ÿ       Binary Search

Pencarian bagi dua adalah metode pencarian yang diterapkan pada sekumpulan data yang
sudah terurut baik menaik maupun menurun. Maksud dari metode ini adalah mempersingkat
waktu pencarian data pada tabel.

Sequential Search adalah proses membandingkan setiap elemen larik satu per satu secara
beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh
elemen sudah diperiksa. Algoritma pencarian secara linear digunakan untuk mencari sebuah
nilai pada tabel sembarang. Ada dua macam cara pencarian pada tabel. Algoritma ini
mempunyai dua jenis metode yaitu dengan boolean dan tanpa boolean. Algoritma pencairan
secara linear melakukan pengulangan sebanyak 1 kali untuk kasus terbaik (value sama
dengan elemen pertama dalam tabel) dan Nmax kali untuk kasus terburuk. Sehingga
algoritma ini mempunyai kompleksitas algoritma O(n).
Proses pencarian data dengan metode ini cukup sederhana dan mudah dipahami. Dalam
pencarian ini proses dilakukan dengan cara mencocokan data yang akan dicari dengan semua
data yang ada dalam kelompok data. Proses pencarian data dilakukan dengan cara
mencocokan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses
pencocokan data dilakukan secara berurut satu demi satu dimulai dari data ke-1 hingga data
pada ururtan terakhir. Jika data yang dicari mempunyai harga yang sama dengan data yang
ada dalam kelompok data, berarti data telah ditemukan. Tetapi jika data yang dicari tidak ada
yang cocok dengan data-data dalam sekelompok data, berarti data tersebut tidak ada dalam
sekelompok data. Selanjutnya kita tinggal menampilkan hasil yang diperoleh tersebut.
Ilustrasi Metode Linier Search :
Misalnya terdapat array satu dimensi sebagai berikut:
8 10 12 6 7 1 50 100
     0                1              2               3              4                5                6                   7           
index

Value
              Kemudian program akan meminta data yang akan dicari, misalnya 6 (x = 6).
Iterasi :
            6 = 8 (tidak!)
            6 = 10 (tidak!)
            6 = 6 (Ya!) => output : “Ada” pada index ke-2
Jika sampai data terakhir tidak ditemukan data yang sama maka output : “ data yang dicari
tidak ada”.
Best case : jika data yang dicari terletak di depan sehingga waktu yang dibutuhkan minimal.
Worst case : jika data yang dicari terletak di akhir sehingga waktu yang dibutuhkan
maksimal.
Contoh :
            DATA = 5 6 9 2 8 1 7 4
            bestcase ketika x = 5
            worstcase ketika x = 4
            *x = key/data yang dicari
Contoh Program dalam Bahasa Pemograman Pascal
program search_aditya;
uses crt;
const
  nmin = 1;
  nmax = 100;
type
  arrint = array [nmin..nmax] of integer;
var
  x      : integer;
  tabint : arrint;
  n,i    : integer;
  indeks : integer;
  function seqsearch1(xx : integer): integer;
  var i : integer;
  begin
    i := 1;
    while ((i xx)) do
      i:=i+1;
      if tabint[i] = xx then
        seqsearch1:=i
        else
        seqsearch1:=0;
  end;
begin
  clrscr;
  write('input banyaknya index array = '); readln(n);
  for i:=1 to n do
    begin
      write('Tabint[',i,'] = '); readln(tabint[i]);
    end;
  write('Nilai yang dicari = '); readln(x);
  indeks:=seqsearch1(x);
  if indeks <> 0 then
    write(x,' ditemukan pada indeks ke-',indeks)
    else
    write(x,' tidak ditemukan');
  writeln;
    readln;
end.
Tanpilan ketika di jalankan sbb :
Penutup

Kami ucapkan puji syukur kehadirat Tuhan Yang Maha Esa, karena berkat limpahan rahmat,
petunjuk dan karunia-NYA kami dapat menyelesaikan makalah ini dengan baik.
Kami berharap makalah yang kami susun dapat bermanfaat bagi  kita semua dan tidak lupa
kami mengucapkan terima kasih kepada Ibu Ulfa sebagai Dosen Struktur Data dan teman-
teman S3Q. Kami mohon maaf apabila ada yang tidak berkenan dalam makalah ini.
Kesimpulan
1.      Algoritma pencarian berurutan digunakan untuk mencari data pada sekumpulan data atau
rekaman yang masih acak.
2.      Algoritma pencarian biner digunakan untuk mencari data pada sekumpulan data atau rekaman
yang sudah dalam keadaan terurut.
3.      Pencarian Internal adalah pencarian terhadap sekumpulan data yang disimpan di dalam memori
utama, struktur penyimpanan data yang umum adalah berupa larik atau tabel (array)
4.      Pencarian Eksternal adalah pencarian terhadap sekumpulan data yang disimpan di dalam
memori sekunder seperti tape atau disk, struktur penyimpanan data berupa arsip (file)
5.      Pencarian Beruntun Pencarian Beruntun (Sequential Search)(Sequential Search) Pencarian
beruntun adalah proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari
elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa
6.      Pencarian Beruntun dengan Sentinel Yang dimaksud dengan sentinel adalah elemen fiktif yang
sengaja ditambahkan sesudah elemen terakhir larik.
DAFTAR PUSTAKA
·         Aho, Alfred V. and Jeffrey D. Ullman [1983]. Data Structures and Algorithms.     Addison-
Wesley, Reading, Massachusetts.
·         Stephens, Rod [1998]. Ready-to-Run Visual Basic Algorithms. John Wiley &
Sons, New York. 
· http://SORTINGANDSEARCHING/TeknikSortingdanTeknikSearchingABAndikafismaBlog.htm
·         http://SORTING AND SEARCHING/SORTING dalam struktur data.htm
·         htttp://SORTINGANDSEARCHING/MAKALAH-ANALISA-ALGORITMA.htm

Anda mungkin juga menyukai