searching dan shorting

12
STRUKTUR DATA Searching

Upload: riyan007

Post on 08-Nov-2015

215 views

Category:

Documents


2 download

DESCRIPTION

Struktur Diskrit Search and Sorting

TRANSCRIPT

  • STRUKTUR DATA

    Searching

  • Pencarian (Searching)

    Pencarian data sering juga disebut table look-up atau storage and retrieval information adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam memori komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.

  • Algoritma Pencarian (Searching Algorithm)

    :: algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut.

    Metode pencarian dapat dilakukan dengan dua cara: Pencarian Internal (internal searching)

    => Semua rekaman yang diketahui berada dalam memori komputer Pencarian Eksternal (external searching)

    => Tidak semua rekaman yang diketahui disimpan dalam memori komputer, tetapi ada sebagian yang tersimpan di luar memori, misal pita atau cakram magnetis.

  • Algoritma Pencarian (Searching Algorithm)

    Selain metode, pencarian juga dikelompokkan menjadi: Pencarian Statis (static searching)

    => Rekaman yang diketahui dianggap tetap. Pencarian Dinamis (dynamic searching)

    => Rekaman yang diketahui dapat berubah-ubah yang disebabkan oleh penambahan atau penghapusan suatu rekaman.

  • Teknik Pencarian (search techniques)

    Ada dua macam teknik pencarian (search techniques) yaitu:

    Pencarian Linier atau Pencarian Berurutan (Sequential Searching)

    Pencarian Biner (Binary Search)

  • Linier Search atau Sequential Search

    :: Merupakan metode pencarian data di dalam suatu struktur data linier dengan cara membaca setiap data satu persatu.

    Metode ini tidak beda dengan proses untuk menampilkan seluruh data.

    Suatu deret data dapat disimpan dalam bentuk array maupun linked list.

  • Algoritma Sequential Search

    i 0 Ditemukan false Selama (tidak ditemukan) dan (i < N) kerjakan baris 4 Jika (Data[i] = key) maka

    ketemu true

    jika tidak

    i i + 1 Jika (ditemukan) maka

    i adalah indeks dari data yang dicari

    jika tidak

    data tidak ditemukan

  • Contoh

    6 8 4 9 10 7 1 100

    0 1 2 3 4 5 6 7 indeks

    Kemudian program akan meminta data yang akan dicari, misal 9

    Iterasi :

    9 = 6 (tidak!)

    9 = 8 (tidak!)

    9 = 4 (tidak!)

    9 = 9 (Ya!) => output: 3 (index)

  • Binary Search

    :: Merupakan metode pencarian pada sebuah struktur data linier yang sudah terurut. Dalam hal ini, tidak semua data yang dibaca, namun cukup dengan membandingkan data yang ada di tengah dari suatu range.

    Analogi dari binary search dapat dianalogikan dengan metode pencarian suatu kata di dalam kamus.

  • Algoritma Binary Search

    1. Data diambil dari posisi 1 sampai posisi akhir N2. Kemudian cari posisi data tengah dengan rumus: (posisi

    awal + posisi akhir) / 23. Kemudian data yang dicari dibandingkan dengan data

    yang di tengah, apakah sama atau lebih kecil, atau lebih besar?

    4. Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1

    5. Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah 1

    6. Jika data sama, berarti ketemu.

  • Contoh

    Misalnya data yang dicari 190 1 2 3 4 5 6 7 83 10 11 12 13 19 29 33 35A B CKarena 19 > 13 (data tengah), maka: awal = tengah + 1

    0 1 2 3 4 5 6 7 83 10 11 12 13 19 29 33 35

    A B CKarena 19 < 29 (data tengah), maka: akhir = tengah 1

    0 1 2 3 4 5 6 7 83 10 11 12 13 19 29 33 35

    A=B=CKarena 19 = 19 (data tengah), maka KETEMU!

  • Pustaka

    Lafore, Robert. 2003. Data Structures and Algorithms in Java, Second Edition. Sams Publishing.

    Sartaj, Sahni. Data Structures & Algorithms. Presentation L20-24.

    Mitchell Waite. Data Structures & Algorithms in Java. SAMS. 2001.

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12