Maju Mundur Organisasi Berkas

Slides:



Advertisements
Presentasi serupa
ALGORITMA 3 April Pseudocode Flowchart #3 STIKOM.
Advertisements

Pencarian ( Searching)
Pencarian Rekaman pada Berkas
Metode Alokasi Berkas.
STRUKTUR DASAR ALGORITMA
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Senarai Berantai Dua Arah
Searching.
PENGURUTAN (SORTING).
Pencarian Biner.
ORGANISASI BERKAS PRIMER
MANAJEMEN KOLISI.
ORGANISASI BERKAS.
Organisasi Berkas Langsung dan Metode Hashing
SPESIFIKASI PROSES Materi Pertemuan 9.
PENCARIAN (SEARCHING)
ORGANISASI FILE INDEKS SEKUENSIAL
Rahmady Liyantanto liyantanto.wordpress.com S1 Teknik Informatika Universitas Trunojoyo Struktur Data.
LARIK (ARRAY).
Record (Rekaman) Nurdiansah PTIK 09 UNM.
STRUKTUR PEMILIHAN (KONTROL PROGRAM) Minggu III - 40 menit
Pemprograman Terstruktur 1
Metode Perancangan Program
MODEL DATA LANJUTAN Varian Entitas
CS1023 Pemrograman Komputer Lecture 20 Array / Tabel [2]
METODE ALOKASI BERKAS DISUSUN OLEH : KELOMPOK 8 1.MUHAMMAD MEIVMART TAMYIZA( ) 2.WISNU ADI NUGRAHA( )
ORGANISASI BERKAS PRIMER
Pertemuan 11 STRUKTUR SEARCHING.
Pengenalan Type Data Type data dapat dikelompokkan menjadi 2
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
KUG1A3 Algoritma& Pemrograman
Struktur Keputusan pada Structure English dan Pseudocode
ORGANISASI BERKAS SEKUENSIAL
ORGANISASI BERKAS PRIMER
ORGANISASI BERKAS SEKUENSIAL berINDEKS
Dasar Algoritma dan Pemrograman
Sistem Berkas Materi 7,8 MANAJEMEN KOLISI.
CS1023 Pemrograman Komputer
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Algoritma.
Sistem Berkas Sesi 10 dan 11 MANAJEMEN KOLISI.
Pencarian pada Array Tim PHKI Modul Dasar Pemrograman
STRUKTUR DASAR ALGORITMA
ORGANISASI BERKAS SEKUENSIAL
Struktur Kendali Sri nurhayati, mt.
STRUKTUR DASAR ALGORITMA
STRUKTUR DATA (HASHING).
Organisasi Berkas Langsung dan Metode Hashing
PENGURUTAN (SORTING).
ORGANISASI BERKAS SEKUENSIAL berINDEKS
PENCARIAN INTERPOLASI
Pengenalan Type Data Type data dapat dikelompokkan menjadi 2
Pseudo-code.
Organisasi Berkas Langsung
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
ORGANISASI BERKAS SEQUENTIAL
TIPE DATA.
Pemograman Terstruktur
Fungsi Hashing Abdul Haris,S.Kom.
Berkas Sekuensial.
ORGANISASI BERKAS SEKUENSIAL berINDEKS
PENYELEKSIAN KONDISI.
Algoritma dan Struktur Data
Pencarian (searching)
Sistem Berkas 2. ORGANISASI FILE.
ORGANISASI BERKAS PRIMER & SEKUNDER
CS1023 Pemrograman Komputer
STRUKTUR DATA (HASHING).
Sistem Berkas Materi 9 dan 10
Transcript presentasi:

Maju Mundur Organisasi Berkas Organisasi Berkas Sekuensial Rekaman disimpan di dalam file secara beruntun berdasarkan waktu pemasukannya (rekaman yang masuk lebih dulu memiliki indeks / alamat yang lebih kecil dari yang dimasukkan kemudian) Organisasi Berkas Langsung Rekaman disimpan tidak secara beruntun, namun pada alamat yang didasarkan pada kunci rekaman Organisasi Berkas Sekuensial Berindeks Rekaman disimpan secara beruntun namun ditambahkan dengan adanya indeks yang akan mempermudah penemuan rekaman kembali

Organisasi Berkas Sekuensial Maju Mundur Organisasi Berkas Sekuensial Rekaman disimpan pada alamat-alamat di file secara beruntun Rekaman yang masuk terlebih dulu akan disimpan di alamat yang lebih kecil daripada rekaman yang masuk sesudahnya Untuk menemukan sebuah rekaman harus dilakukan proses pencarian terlebih dahulu Cara ini sangat fleksibel dan paling menghemat ruangan penyimpan, karena ukuran file dapat disesuaikan dengan banyaknya rekaman yang tersimpan dan dapat mengembang dengan mudah jika ada rekaman baru

Organisasi Berkas Sekuensial Dalam berkas sekuensial, rekaman yang ke i+1 akan diletakkan tepat sesudah rekaman ke i, contoh : Akses Sesuai dengan namanya ,berkas sekuensial sangat cocok untuk akses yang sekuensial, misal dalam aplikasi dimana sebagian besar atau semua rekaman akan diproses. Sebagai contoh adalah membuat daftar semua mahasiswa dalam sebuah Jurusan. Berkas sekuensial juga dapat diproses secara tunggal dan langsung, jika diketahui subskripnya. 1 2 3 ……... i i+1 i+2 …… N-1 n

Dibawah ini contoh berkas rekaman mahasiswa urut “Nomor Mahasiswa” : Pencarian secara sekuensial memproses rekaman-rekaman dalam berkas sesuai urutan keberadaan rekaman-rekaman tersebut sampai ditemukan rekaman yang diinginkan atau semua rekaman terbaca. Sebagai contoh, rekaman-rekaman berkas mahasiswa diurutkan untuk mendapatkan pengurutan yang linier berdasar pada nilai kunci rekaman, baik secara alphabetis (huruf) ataupun numeris (angka) Medan Data Medan berisi nilai dasar yang membentuk sebuah rekaman. Isi sebuah medan bergantung pada atribut yang dimiliki oleh individu pemilik rekaman. Rekaman yang disimpan dalam berkas pada umumnya memiliki medan yang berfungsi khusus yaitu sebagai identitas rekaman yang memiliki sifat pembeda baik internal maupun eksternal. Rekaman Data Rekaman Mahasiswa Berkas Data Sebuah berkas merupakan koleksi dari rekaman-rekaman yang sama, yang diletakkan dalam peralatan penyimpan data komputer. Sebuah berkas akan memiliki nama yang dikenal dengan sistem operasi. Dibawah ini contoh berkas rekaman mahasiswa urut “Nomor Mahasiswa” : Medan ke-1 Medan ke-2 …………. Medan ke-n Nama Mahasiswa Nomor Fakultas Jurusan Dosen Pembimbing SPP Data-lain

Nama Mahasiswa Nomor Fakultas Jurusan Dosen Pembimbing SPP Data lain Komarudin 0101 Teknik Kimia Tri,Ir 400.000 Dewi Sartika 0110 Sipil Siswanto,ST 500.000 Suci Hartati 0124 Arsitektur Suwandi,Ir Budiani 0154 Elektro Mursih,Ir 550.000 Zainah 0160 Mudji,ST Soni 0167 Geologi Sungkono,Ir 450.000 Susana 0215 Widayat,Ir Akhmad Nurdi 0235 Geodesi Yatman, Ir Ida Arini 0453 Heru,ST Triyanto 0976 Nuryani,ST

TENGAH := [(AWAL+AKHIR)/2] Flowchart utk pencarian biner Mulai AWAL = 1 AKHIR = N AWAL : AKHIR > Rekaman Tidak ditemukan ≤ TENGAH := [(AWAL+AKHIR)/2] Kunci(cari): Kunci (tengah) < = AKHIR = TENGAH -1 Rekaman ditemukan > Selesai AWAL = TENGAH +1

Proc pencarian_biner /* n buah rekaman diurutkan menaik menurut kunci rekaman */ AWAL :=1 Akhir := n While AWAL ≤ AKHIR do tengah := [ (awal+akhir)/2] if kunci (cari) = kunci (tengah) then pencarian berakhir. else if kunci(cari) > kunci (tengah) then AWAL := TENGAH + 1 else AKHIR := TENGAH – 1 end rekaman tidak ditemukan end pencarian_biner

Kunci1 < kunci2 < kunci3 < ……. Kunci I < …… Kunci n Kolom “Nomor mahasiswa” menunjukkan nilai yang urut dari kecil ke besar, atau Pencarian Biner untuk sebuah berkas dengan rekaman yang telah diurutkan jumlah probe yang diperlukan untuk membaca sebuah rekaman dapat diusahakan untuk diperkecil dengan menggunakan teknik pencarian biner. Jika kuncicari < Kuncitengah, maka bagian berkas mulai dari Kuncitengah sampai akhir berkas dieliminasi. Sebaliknya jika kuncicari > Kuncitengah maka bagian berkas mulai dari depan sampai dengan Kuncitengah dieleminasi. Pada contoh pertama berikut ini akan dicari rekaman dengan kunci 49. Bilangan yang dicetak tebal menunjukkan rekaman yang sedang dibandingkan dan tanda kurung membatasi bagian berkas yang tersisa yang masih harus diperbandingkan. Tanda [ untuk AWAL dan tanda ] untuk AKHIR. 1 2 3 4 5 6 7 8 9 [21 25 28 33 38 39 48 49 69] 21 25 28 33 38 [39 48 49 69] 21 25 28 33 38 39 48 [49 69] Kunci1 < kunci2 < kunci3 < ……. Kunci I < …… Kunci n

TENGAH1 = [(1 + 9) / 2 ] = 5 Kcari : K tengah1 49 > 38 AWAL = TENGAH1 + 1 = 6 TENGAH2 = [(6 + 9) / 2 ] = 7 Kcari : K tengah2 49 > 48 AWAL = TENGAH21 + 1 = 8 TENGAH3 = [ (8 + 9 ) / 2 ] = 8 Kcari : K tengah2 49 = 49 Ketemu, Probe = 3

Organisasi Berkas Langsung Maju Mundur Organisasi Berkas Langsung Dengan organisasi berkas langsung, untuk menemukan suatu rekaman tidak melalui proses pencarian, namun bisa langsung menuju alamat yang ditempati rekaman Pada awalnya, untuk tujuan tersebut maka digunakan cara dengan menyimpan rekaman pada alamat yang sama dengan nilai kunci rekaman tersebut Contohnya : rekaman dengan kunci 100 akan disimpan di alamat 100 Sehingga untuk menemukan sebuah rekaman cukup melihat nilai kunci dan menuju ke alamat yang ditunjuk oleh kunci rekaman tersebut Contoh : untuk membaca rekaman dengan kunci 55 langsung saja menuju alamat 55

Kerugian Korespondensi Satu-Satu Maju Mundur Kerugian Korespondensi Satu-Satu Dengan menerjemahkan langsung dari kunci rekaman ke alamat rekaman, maka akan berlaku suatu hubungan korespondensi satu-satu antara kunci dengan alamat rekaman Hal ini menyebabkan harus disediakannya ruang yang sangat besar untuk menampung setiap kemungkinan nilai kunci yang ada Contohnya : untuk menyimpan data PNS yang kuncinya adalah NIP (terdiri dari 9 digit) dibutuhkan sebanyak satu milyar alamat, karena kemungkinan yang dapat muncul dari kode 9 digit adalah mulai dari angka 000000000 hingga 999999999)

Kerugian Korespondensi Satu-Satu Maju Mundur Kerugian Korespondensi Satu-Satu Selain itu dari cara korespondensi satu-satu juga akan mengakibatkan banyaknya pemborosan ruang penyimpan, atau terjadi banyak alamat yang tidak dipergunakan alias kosong Contohnya : Kode NIP diawali dengan tiga digit kode departemen, yang tidak mungkin ada kode departemen 000. Sehingga alamat 000000000 sampai 000999999 (sebanyak sejuta alamat) tidak akan terpakai karena tidak ada rekaman dengan NIP di antara range tersebut

Pencarian Interpolasi Berbeda dengan pencarian biner yang memilih posisi rekaman yang akan diperbandingkan berikutnya sebagai tepat berada ditengah sisa berkas yang belum diperiksa. Pencarian interpolasi tidak mencari posisi TENGAH seperti halnya algoritma pencarian biner, melainkan menentukan posisi berikutnya, dengan menggunakan algoritma sebagai berikut : Proc pencarian_interpolasi /* n buah rekaman dalam berkas diurutkan menaik menurut kunci rekaman */ AWAL := 1 Akhir := n while AWAL ≤ AKHIR do BERIKUT := if kunci (cari) = kunci (berikut) then pencarian berakhir. else if kunci (cari) > kunci (berikut) then AWAL := berikut + 1 else AKHIR := berikut – 1 End Rekaman tidak ditemukan End pencarian_biner

Untuk rekaman dengan susunan sebagai berikut, berapa probe untuk menemukan rekaman dengan kunci 49 bila digunakan pencarian interpolasi. 1 2 3 4 5 6 7 8 9 [21 25 28 33 38 39 48 49 69] 21 25 28 33 38 39 [48 49 69] Perhitungan : BERIKUT1 := = 5,6666 , dibulatkan 6 Kcari : Kberikut = 49 > 39 AWAL = BERIKUT1 + 1 = 6 + 1 = 7 BERIKUT2 = Kcari : Kberikut2 = 49 = 49 ketemu, probe 2