Label

Struktur Data (10) Data Mining (5) Etika Profesi (5) Nilai (3) PDK (2) SIM (2)

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.


This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.


This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.



This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.


Tampilkan postingan dengan label Struktur Data. Tampilkan semua postingan
Tampilkan postingan dengan label Struktur Data. Tampilkan semua postingan

Senin, 15 Juli 2019

Ujian Tengah Semester Struktur Data


Soal :

  1. 15, 2, 77, 45, 23, 1, 56, 80, 44, 90, 33, 47, 14, 3, 10

Dari soal tersebut, lakukan teknik pensortiran dengan menggunakan teknik Bubble short/ Exchange sort.

  1. Contoh Data:

0          1          2          3          4          5          6          7          8
3          9          11        12        15        17        23        31        35

Cari data 11  dengan menggunakan teknik Binary Search!

  1. Cari kunci 041 dengan menggunakan teknik interpolation search!

Searching


Searching
      Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengan cara searching.
      Searching adalah pencarian data dengan cara menelusuri data-data tersebut. 
      Tempat pencarian data dapat berupa array dalam memori, bisa juga pada file pada external storage.

Tehnik Searching
      Sequential Search
      Binary Search
      Interpolation Search

Sequential Search
      Adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.
      Kemungkinan terbaik (best case) adalah jika data yang dicari terletak di indeks array terdepan (elemen array pertama) sehingga waktu yang dibutuhkan untuk pencarian data sangat sebentar (minimal).
      Kemungkinan terburuk (worst case) adalah jika data yang dicari terletak di indeks array terakhir (elemen array terakhir) sehingga waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal).

      Misalnya terdapat array satu dimensi sebagai berikut:


      Kemudian program akan meminta data yang akan dicari, misalnya 6.
      Jika ada maka akan ditampilkan tulisan “ADA”, sedangkan jika tidak ada maka akan ditampilkan tulisan “TIDAK ADA”.
      Pencarian = data + 1



Sequencial Search : Data tidak perlu diurut.
Jika data sama dengan data yang dicari maka pencarian stop atau berhenti.

Contoh :         

Data yang cari  = 7
Jawab :            A[0]                 = 3                   (“TIDAK ADA”), cari lagi    
                         A[0] + 1         = A[1}             = 7       (“ADA”), STOP

Data yang di cari = 4
Jawab :            A[0]                = 3                   (“TIDAK ADA”), cari lagi
                         A[0] + 1         = A[1]             = 7       (“TIDAK ADA”), cari lagi
                        A[1] + 1          = A[2]             = 1       (“TIDAK ADA”), cari lagi
                        A[2] + 1          = A[3]             = 4       (“ADA”), STOP

Note : setiap pencarian data selalu ditambah 1


Binary Search
      Data yang ada harus diurutkan terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian.
      Adalah teknik pencarian data dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian.

      Prinsip pencarian biner adalah:
     Data diambil dari posisi 1 sampai posisi akhir N
     Kemudian cari posisi data tengah dengan rumus: (posisi awal (A) + posisi akhir (C)) / 2
     Kemudian data yang dicari dibandingkan dengan data yang di tengah (B), apakah sama atau lebih kecil, atau lebih besar?
     Jika data yg dicari lebih besar dari B, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1
     Jika data yg dicari lebih lebih kecil dari B, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah – 1
     Jika data sama, berarti ketemu.

Contoh Data:
0                      1          2          3          4          5          6          7          8
3                      9          11        12        15        17        23        31        35

Cari data 17 ??

Awal (A)         = 0
Tengah (B) = (A + C) / 2        = (0 + 8) / 2     = 4
Akhir (C)         = 8

0                      1          2          3          4          5          6          7          8
3                      9          11        12        15        17        23        31        35
A                                                         B                                             C

0                      1          2          3          4          5          6          7          8
3                      9          11        12        15        17        23        31        35
A                                                         B                                             C

Karena data yang dicari > dari B,
maka:   awal     (A) = B + 1 = 4 + 1 = 5
                                                                                                           
0                      1          2          3          4          5          6          7          8
3                      9          11        12        15        17        23        31        35
                                                                        A         B                    C

0                      1          2          3          4          5          6          7          8
3                      9          11        12        15        17        23        31        35
                                                                        A         B                     C

Karena data yang dicari < dari B,
maka:   akhir     (C) = B - 1 = 6 - 1 = 5
0                      1          2          3          4          5          6          7          8
3                      9          11        12        15        17        23        31        35
                                                                  A=B=C

Karena 17 = 17 (data tengah), maka KETEMU!

Interpolation Search
      Teknik ini dilakukan pada data yang sudah terurut berdasarkan kunci tertentu
      Teknik searching ini dilakukan dengan perkiraan letak data.
      Rumus posisi relatif kunci pencarian dihitung dengan rumus:
 

      Jika data[posisi] > data yg dicari, high = pos – 1
      Jika data[posisi] < data yg dicari, low = pos + 1

  

Cari kunci 088 dan 060??

      Apakah terdapat kunci 088?
      Kunci : 088
      Low     : 0
      High    : 7

                                 

      Kunci [6] = 088, data ditemukan : Visual Basic 2005

      Kunci : 060
      Low     : 0
      High    : 7
      Posisi   = ((060 - 025) / (096 - 025)) * 7
                                    = (35 / 71) * 7
                                    = 0,49 * 7
                                    = 3,43
                                    = 3

      Kunci [3] = 056 ( 056 < 060, data tidak ditemukan), maka teruskan
      Low = 3 + 1 = 4
      Ternyata Kunci[4] adalah 063 yang lebih besar daripada 060.
      Berarti tidak ada kunci 060.