Sunday, April 8, 2012

SORT AND SEARCH FILE


·         Definisi Pengurutan File
Setelah satu kebutuhan dalam sistern informasi adalah kesanggupan komputer dalam menyortir data. Record-record dari file transaksi harus disusun dalarn urutan tertentu  untuk membantu pengupdatean sequential master file secara efisien. Juga di dalarn pembuatan laporan, umunya record-record disusun dalam urutan tertentu untuk mendapatkan laporan yang mudah dibaca.
Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.

·         Jenis Pengurutan File

Dalam sistem penyortiran ini dikenal dua  metode yaitu metode              sort internal dan metode sort eksternal. Perbebedaan yang mendasar dari kedua metode ini adalah pada metode sort internal, semua record yang akan diproses dimuat ke dalam memori komputer lalu diproses sort (sortir ). Sedangkan pada metode sort eksternal record- record diproses tidak semuanya dapat dimuat ke dalarn memori komputer, karena keterbatasan memri komputer. Metode           sort eksternal di dalam penerapannya nanti, menggunakan pula metode          sort internal.
Contoh,
Sebuah file berisi 2000 record harus disortir ke dalam memori yang hanya, dapat menampung 5000 record sekaligus. Untuk itu dugunakan metode sort ekstemal. Langkah awal dalam penyortiran ini adalah record-record dibagi kedalam beberapa file agar dapat ditampung sekaligus di memori komputer, lalu masing-­masing bagian disortir internal. Bagian-bagian file yang telah tersortir ini disebut sorted sublist. Kita kenal, sorted sublist 1 (record 1- 1000) dan sorted sublist 2 (record 1001-2000). Setelah itu kedua sorted sublist ini (atau disebut juga Run) digabung (merge) sehingga didapat file gabungan (merge file)yang record-recordnyatelah disortir (lihat gambar 1).



Kita simpulkan,langkah-langkah metode sort eksternal ini adalah
a.         Internal sort, dimana file dibagi menjadi beberapa bagian file kemudian disortir.
b.        Merge, dimana bagian-bagian file ini (sorted sublist) digabung menjadi satu atau lebih file gabungan. File-file gabungan ini kemudian digabung lagi sampai akhirnya didapatkan sebuah file gabungan yang berisi semua record-record yang telah tersortir.
c.         Cutput, dimana menyalin file gabungan yang telah tersortir kemediun storage terakhir.

Faktor-faktor yang mempengaruhi metode eksternal sort antara lain:
a.       Jumlah record yang akan disortir.
b.      Ukuran record (panjang record).
c.       Jumlah storage yang digunakan.
d.      Kapasitas internal memori.
e.       Distribusi nilai key dalam input file.

Teknik sort/merge file ini berbeda satu dengan yang lainnya dalam hal:
a.       Metode sort internal yang digunakan.
b.      Jumlah main memori yang disediakan untuk sort internal.
c.       Distribusi dari sorted sublist di secondary storage menjadi satu atau lebih file gabungan dalam satu langkah gabungan (merge pass).

macam-macam teknik sort/merge file ini adalah:
a.    Natural Merge File
b.    Balance Merge File
c.    Polypase Merge File
d.   Cascade Merge File

·         Definisi Pencarian File
Pencarian file adalah sebuah operasi untuk mencari informasi atau file tentang semua item yang jatuh dalam kategori tertentu,penggalian informasi untuk item manapun di mana informasi yang dicatat memenuhi kriteria tertentu, dan menentukan apakah ada atau tidak ada pola tertentu dari informasi mana saja di file. Dalam melakukan pencarian ada teknik pencarian atau pelacakan.Dimana teknik pencarian adalah suatu teknik atau cara yang dilakukan untuk mencari solusi dari suatu permasalahan dengan sekumpulan kemungkinan yang ada. Empat kriteria yang dapat  digunakan untuk mengukur perfomansi teknik pencarian :
1.    Completeness artinya apakah teknik yang digunakan akan menjamin penemuan solusi jika solusinya memang ada
2.    Time complexity artinya berapa lama waktu yang diperlukan
3.    Space complexity artinya berapa banyak memori yang diperlukan
4.    Optimality artinya apakah teknik yang digunakan akan menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda

·         Jenis Pencarian File
Dalam melakukan pencarian  ada dua jenis pencarian file, yaitu pencarian buta (blind search) dan Pencarian terbimbing (heuristic search)
A.    Pencarian buta (blind search)

             Pencarian buta merupakan sekumpulan prosedur yang digunakan dalam melacak ruang keadaan. Pencarian berlangsung sampai solusi terakhir ditemukan. Idenya adalah menguji seluruh kemungkinan yang ada untuk menemukan solusi.
Jenis-jenis Pencarian buta (blind search) :
1.      Pencarian melebar pertama (Breadth – First Search)
 Breadth – First Search Semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan.
Keuntungan :
·         tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik
·         jika ada 1 solusi, maka breadth – first search akan menemukannya,jika ada lebih dari 1 solusi, maka solusi minimum akan ditemukan.
·         Kesimpulan : complete dan optimal

Kelemahan :
·         membutuhkan memori yang banyak, karena harus menyimpan semua simpul yang pernah dibangkitkan. Hal ini harus dilakukan agar BFS dapat melakukan penelusuran simpul-simpul sampai di level bawah
·         membutuhkan waktu yang cukup lama

2.      Pencarian mendalam pertama (Depth – First Search)
Depth – First Search pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan padasimpul sebelah kanan dan simpul sebelah kiri dapat dihapus dari memory. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi.


Keuntungan :
·         membutuhkan memori relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan
·         Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan, jadi jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya dengan cepat ->  waktu cepat
Kelemahan :
·         Memungkinkan tidak ditemukannya tujuan yang diharapkan, karena jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga) -> tidak complete karena tidak ada jaminan menemukan solusi
·         Hanya mendapat 1 solusi pada setiap pencarian, karena jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik -> tidak optimal.

B. Pencarian terbimbing (heuristic search)
            Kata heuristic berasal dari bahasa Yunani heuriskein dari kata dasar eureka atau heurika yang berarti mengungkap atau menemukan. Dalam Artificial Intelligence, heuristic diperkenalkan sebagai suatu teknik yang meningkatkan efisiensi proses pencarian, yang dimungkinkan dengan mengorbankan kelengkapan.Menggunakan heuristic kita berharap mendapatkan solusi yang baik dari masalah yang sulit.
Pencarian terbimbing (heuristic search) adalah yaitu terdapatnya informasi awal yang digunakan dalam proses pencarian. Pencarian buta (blind search) tidak selalu dapat diterapkan dengan baik, disebabkan karena waktu aksesnya yang cukup lama & besarnya memori yang diperlukan. Untuk masalah dengan ruang masalah yang besar, teknik pencarian buta (blind search) bukan teknik yang baik untuk digunakan karena keterbatasan kecepatan komputer dan memori.
Dengan adanya teknik heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar. Fungsi dari teknik heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan. Contoh aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine. Ada empat jenis pencarian terbimbing (heuristic search) :
1.   Pembangkitan dan pengujian (Generate and Test)
Teknik ini merupakan gabungan dari DFS dan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal. Dimana nilai pengujian berupa jawaban “ya” atau “tidak”.
2.      Pendakian Bukit (Hill Climbing)
Hampir sama dengan teknik Generate and Test dimana roses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baik nilai terkaan yang diambil terhadap kesalahan-kesalahan lainnya yang mungkin.
3.      Pencarian terbaik pertama (Best First Search)
Teknik Best First Search merupakan kombinasi dari teknik depth first search dan breadth first search dengan mengambil kelebihan dari kedua teknik tersebut. Hill climbing tidak diperbolehkan untuk kembali ke node pada lebih rendah meskipun node tersebut memiliki nilai heuristic lebih baik. Pada best first search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika ternyata node di level lebih tinggi memiliki nilai heuristic lebih buruk.
4.   Branch and Bound Search
v  Membentuk antrian satu-elemen, sampai jalur pertama adalah antrian berakhir pada node tujuan atau antrian kosong
v  Hapus jalur pertama dari antrian, kemudian membuat jalur baru dengan memperpanjang jalan pertama untuk semua dari node terminal
v   Menolak semua path baru dengan loop
v  Jika ada tambahkan jalur baru yang tersisa ke antrian
v  Urutkan seluruh antrian dengan panjang lintasan yang paling dekat di depan
v   Jika node tujuan ditemukan, berarti berhasil, jika tidak ditemukan berarti gagal





0 comments:

Post a Comment