Pengenalan Algoritma

Last Updated on Friday, 5 March 2010 01:30 Written by edy winarno Friday, 5 March 2010 01:30 Algoritma Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism, yang berarti proses pengerjaan arithmatika (penghitungan) dengan menggunakan angka Arab : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar WalMuqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Pada abad pertengahan perhitungan dengan abacus menggunakan algorism, sehingga algorism lebih dikenal sebagai algiros (painfull) + arithmos (number). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma. Algoritma merupakan basic semua pemrograman komputer. Arti modern algoritma : sebagai resep, proses, metode, teknik, prosedure, routine. Menurut Donald E Knuth algoritma harus memenuhi persyaratan; 1). Finiteness Algoritma harus berakhir (terminate) setelah melakukan sejumlah langkah proses 2). Definiteness Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda (ambiguous). Karena itu maka sebetulnya cara paling tepat untuk menuliskan algoritma adalah dengan menggunkan formal language (bahasa pemrograman komputer). 3). Input Setiap algoritma memerlukan data sebagai masukan untuk diolah. Algoritma yang tidak memerlukan masukan apa-apa sebetulnya tidak begitu bermanfaat karena jumlah kasus yang dapat diselesaikan juga terbatas. 4). Output Setiap algoritma memberikan satu atau beberapa hasil keluaran. 5). Effectiveness Langkah-langkah algoritma dikerjakan dalam waktu yang wajar. Sebagai basis pemrograman komputer, algoritma mendeskripsikankan urutan langkah-langkah

dan sebagainya. 7)    Menjalankan program (run) untuk diuji kebenarannya dengan menggunakan berbagai data 8)    Memperbaiki kesalahan (debugging dan testing) Apabila hasilnya salah. Ulangi langkah yang sesuai. 2)    Membuat model Yang dimaksud model adalah bentuk matematis yang dapat digunakan untuk memecahkan masalah. 9)    Mendokumentasi program bila sudah benar. jika ada kesalahan maka kembali ke tahap empat. misalnya apakah harus dilakukan pengurutan terhadap data. atau salah menentukan model. 5)    Mengubah source code menjadi executable code melalui proses compiling. kesalahan mungkin terjadi saat konversi rancangan algoritma menjadi program.yang diperlukan untuk pemecahan masalah (penyelesaian persoalan). 1)    selalu memiliki terminasi/langkah akhir 2)    setiap langkah dinyatakan secara jelas dan tegas 3)    setiap langkah sederhana. 1)    Mendefinisikan masalah Masalah yang ingin dipecahkan harus jelas lingkupnya. atau salah rancang algoritma. bagaimana rincian prosesnya. Metode Searching dalam Algoritma dan Pemrograman . apakah menggunakan perhitungan kombinatorik. apa keluarannya. 3)    Merancang algoritma (berupa flowchart/pseudocode) Apa maksudnya. atau salah mendefinisikan masalah. mungkin dengan satu atau tanpa input. 6)    Memeriksa hasil compiling. dan lain-lainnya 4)    Menulis program Ubah algoritma menjadi program (source code) dalam bahasa pemrograman tertentu. sehingga kinerjanya sehubungan dengan waktu yang effisien/bisa diterima akal 4)    memberikan hasil (output). Proses Pemrograman Proses pemecahan masalah dengan algoritma tertentu hingga menjadi program dapat dibagi dalam sembilan tahap. yang memiliki ciri-ciri sebagai berikut.

-   Organisasi fisis berkas sequential dapat dilakukan secara linked list (daftar berantai).3 Indexed Sequential –   Pendekatan paling populer untuk mengatasi kerugian berkas sequential -   Rekaman-rekaman diorganisasikan dalam urutan berdasar pada suatu medan kunci -   Dua hal ditambahkan yakni : suatu berkas index untuk mendukung akses secara random. –   Panjang medan dan rekaman berbeda-beda. -   Cocok untuk media simpan pita magnetis (tape). juga disk -   Untuk aplikasi interaktif yang melibatkan query atau update suatu rekaman. 8 March 2010 01:39 Data searching (pencarian data) meliputi : FETCH :     –       pencarian lokasi rekaman -   pembacaan rekaman NEXT : –   memperoleh rekaman berikutnya -   membaca seluruh rekaman dalam berkas Algoritma searching sangat erat hubungannya dengan : sistem berkas (organisasi berkas). -   Dapat disimpan secara sequential sederhana dalam blok-blok. 1.2 Sequential –   Paling banyak dijumpai –   Format data untuk rekaman tetap -   Semua rekaman panjangnya sama. sehingga tiap medan (field) menggambarkan dirinya sendiri sehubungan dengan nama medan dan nilainya. -   Rekaman disimpan dalam urutan kunci alfabetis atau numeris. -   Kunci sifatnya tunggal (unique) è identifikasi rekaman. -   Bila seluruh berkas atau sebagian besar berkas dapat dibawa ke pengingat utama pada waktu tertentu. Karena organisasi berkas pile tidak berstruktur. Organisasi berkas semacam ini hanya dilakukan pada saat pengumpulan dan penyimpanan data sebelum diproses atau data sulit diorganisasikan. panjang medan yang sama dengan order tertentu. Tiap blok pada disk berisi pointer (penunjuk) ke blok berikutnya. maka akses rekaman sukar dan makan waktu lama. seluruh berka harus dilacak. 9 March 2010 09:32 Written by edy winarno Monday. Satu atau lebih rekaman disimpan dalam tiap blok secara fisis. dan bila ingin mendapatkan semua rekaman yang diinginkan yang mempunyai medan/nilainya tertentu. -   Digunakan untuk aplikasi batch. pelacakan yang efisien dimungkinkan. -   Tiap rekaman terdiri dari satu data penuh –   Maksud pile untuk mengumpulkan massa data dan menyelamatkannya. -   Berkas pelimpahan untuk limpahan rekaman . terdiri dari cacah medan yang sama.Last Updated on Tuesday. Macam organisasi berkas: -        Pile -        Sequential -        Indexed sequential -        Indexed -        Hashed (= direct) 1 Macam Organisasi Berkas 1. -   Nama medan dan panjang setiap medan è atribut struktur berkas -   Atribut khusus (biasanya medan pertama dalam tiap rekaman) è kunci.1 Pile Sifat-sifat organisasi berkas dalam bentuk pile adalah: –   Data terkumpul/tersusun sesuai dengan kedatangannya. -   Akses secara sequential untuk menemukan medan yang sesuai dengan kunci. –   Rekaman mungkin mempunyai medan (field) yang berbeda atau mungkin serupa namun berbeda ordernya. -   Optimum bila melibatkan proses dari semua rekaman (misal aplikasi billing atau gaji). dan berkas pelimpahan. -   Nilai kunci untuk setiap rekaman yang berbeda selalu berbeda. 1. Sehingga bila ingin mendapatkan suatu rekaman yang suatu medannya berisi suatu nilai tertentu harus mengamati setiap rekaman dalam pile sampai rekaman yang dimaksud ditemukan. unjuk kerjanya jelek. -   Index memberikan kemampuan untuk mencari rekaman yang diinginkan secara cepat.

(rekaman yang disisipkan). Bagan Searching Index Sequential ( Index Tunggal) Bagan Searching Index Sequential ( Index Ganda) 1.4 Indexed -   Tak ada konsep sequential dan kunci tunggal. dan partial index (index parsial) untuk entri rekaman dimana medan berada. -   Digunakan dua tipe index. . -   Cocok pada media disk. yakni : exhaustive index (index lengkap) untuk pintu masuk (entri) setiap rekaman dalam berkas utama. -   Panjang rekaman dapat bervariasi. -   Sangat mempersingkat waktu akses rekaman yang diinginkan. -   Berkas index terdiri dari dua medan yaitu medan kunci dan pointer. -   Banyak digunakan pada sistem dimana aliran waktu sangat kritis dan data yang jarang diproses secara lengkap (misal pada sistem pemesanan tiket pesawat dan sistem inventarisasi). -   Berkas index berstruktur sequential -   Yang diakses berkas index untuk mencari medan yang sama (cocok) dengan kunci lalu pointernya untuk penunjuk pada akses berkas utamanya secara langsung. -   Rekaman hanya diakses lewat indexnya. -   Untuk meningkatkan efisiensi akses dilakukan dengan index ganda.

rekaman yang diorganisasikan serial dengan kunci.kadang diperlukan gabungan dua medan atau lebih yang disebut kunci berderet.Teknik Pengalamatan dalam Algoritma dan Pemrograman Last Updated on Friday. Keduanya dipakai sebagai kunci. Kunci harus unik. Ini disebut kunci utama atau penciri (identifier). Seperti halnya pembagian . karena kunci itu dipakai untuk menentukan di mana rekaman harus diambil dari unit berkas dan untukk melacak rekaman itu dari berkasnya. Perangkat ini disebut kunci. Misalnya barang yang sudah dibeli mempunyai nomer penyalur dan nomer pemakai yang berbeda. Metode ini sangat lambat dan hanya mungkin digunakan dalam operasi pemrosesan kelompok yang memakai berkas serial. Untuk membentuk suatu kunci yang unik kadang. Teknik 1 : Pemayaran Berkas (Scanning the file) Cara yang paling sederhana untuk pengambilan rekaman adlah memayar berkas dengan memeriksa kunci setiap rekaman.rekaman dalam suatu berkas nalari diciri (diidentifikasi) oleh perangkat nomer yang unik atau kelompok karakter yang unik. rekaman. lalu bagaiman komputer mengambil rekaman atau kunci itu? Ada berbagai teknik pengalamatan rekaman.kunci ruas yang kecil. biasanya menempati medan yang panjangnya tetap dalam masingmasing rekaman. Misalnya kunci rekaman yang dicari Ks. Berkas itu dalam urutan kunci utama yang menanjak (ascending). 12 March 2010 09:00 Written by edy winarno Friday. tidak perlu setiap rekaman dibaca pada waktu memayar berkas.rekaman berisi lebih dari satu kunci. seperti pita. Persoalan dari pengalamatan berkas adalah: diberikan kunci utama. Teknik 2 : Pencarian Ruas (Block Search) Pada rekaman. maka pencarian dimulai dari kunci. di mana setiap rekaman mau tidak mau harus dibaca. (concatenated key) Dalam beberapa berkas. 12 March 2010 08:53 Teknik Pengalamatan Rekaman.

karena menghabiskan banyak waktu. Proses pencarian baru akan dilakukan pada ruas yang mengandung rekaman yang diminta. Metode tersebut hanya dipakai untuk menudingsuatu rinci dalam area yang kecil setelah teknik-teknik yang lain menemukan area yang ditempatinya. log Nf – 1 lebih kecil daipada  . Untuk harga Nf (jumlah rekaman dalam berkas) yang besar. maka rekaman. . Nf adalah jumlah rekaman daklam berkas. Ruas pencarian terdiri atas 100 rekaman. Rata-rata ada 100 rekaman yang diperiksa sehingga ditemukan rekaman yang diminta. Titik tengah yang dituju akan bergeser untuk menyesuaikan penambahan itu. Maka akan diketahui bahwa kunci yang dicari letaknya dibelahan yang mana. Misalnya ada 10. tanpa harus menggeser ke samping ( proses ini merupakan operasi yang janggal dan memakan waktu). Teknik 3. yang berarti seluruh berkas ada 10. Kemudian menuju ketengah-tengah belahan itu lagi .Kadang.rentetan pada bab sebelumnya. Sepaerti diketahui rentetan terdiri atas rekaman-rekaman yang disatukan dengan pointer.rekaman dari ruas yang baru saja diloncati diperiksa (dipayar) sampai ditemukan rekaman dengan kunci Ks. Pencarian biner bermanfaat untuk pencarian rinci-rinci dalam memori utama atau simpanan tingkat padat (misalnya hard disk ). Kemudian pencarian diteruskan dengan menelusuri pointer-pointer. tetapi dalam bentuk pohon biner dengan pointer-pointer. Teknik 4 . Berkas diperiksa rata-rata kurang lebih      (log 2 Nf -1 ) kali. Kemudian pada index inilah dilakukan pembagian ruas-ruas pencarian.Proses ini diulangi terus menerus.0002 rekaman . Pencarian biner umumnya tidak tepat untuk pencarian pada piranti simpanan masup langsung.000 rekaman dalam suatu berkas. Lalu membandingkan kunci rekaman yang ditengah-tengah itu dengan kunci yang dicari. Pemayaran cakram atau alur drum dapat dibuat bersamaan dengan waktu rotasi dan karena itu bermanfaat. Keuntungan bentuk pencarian ini adalah bahwa rekaman – rekaman baru dapat disisipkan ke dalam berkas . karena komputer tidak mempunyai peralatan untuk mengatur pencarian itu. Pencarian Biner ( Binary Search ) Pencarian biner pertama-tama menuju ketengah-tengah area yang mengandung rekaman yang diminta. Jenis khusus dari pencarian biner adalah rinci-rinci yang dicari tidak disusun berurutan. Dalam praktek tidak ada pencarian ruas yang rekamannya sampai 10. Pencarian biner tidak dapat dipakai untuk pencarian pada rentetan. Pencarian biner lebih baik dilakukan pada index-index berkas daripada langsung mencari berkasnya sendiri. ukuran ruas yang optimum adalah NB = . sehingga sulit untuk menentukan titik tengahnya. Berkas Serial Berindex Pada umumnya pemayaran atau pencarian berkas-berkas untuk mendapatkan suatu rinci terlalu banyak memakan waktu. Pada pemeriksaan kalau ditemukan rekaman yang kuncinya pertama kalau kali lebih besar dari Ks.kadang cara ini disebut pencarian loncatan (skiipsearch). Dalam hal ini diperlukan index yang mewakili seluruh rekaman.000.

biasanya digunakan tabel yang disebut index . dan index kartu itu memberikan nomor katalog.rekaman yang tersimpan dalam silinder itu. umumnya index tidak berisi acuan untuk setiap rekaman. Teknik 5 : Berkas Tak Berurutan Berindex (Indexed Nonsequential Files) Berkas yang tak berurutan dapat diberi index seperti halnya berkas berurutan. Index sekunder adalah index yangmengunakan kunci yang tidak unik. tetapi cukup satuan acuan untuk ruas.rekaman. Mode lokasi VIA dari CODASYL memakai teknik ini.segmen dari iondex tingkat lebih rendah dapat diedarkan di antara rekaman.rekaman data yang bersangkutan Pada area berkas yang diwakili satu index. Index kadang. Pada berkas cakram biasanya mempunyai satu alur index untuk setiap silinder.hubungan dalam struktur jaring atau stuktur pohon. tetapi dibuthkan ruangan untuk menyimpan index itu. segmen.Apabila berkas mempunyai kunci yang berurutan. karena harus berisi satu entry untuk satu rekaman.ruas rekaman dibandingkan dengan pengacuan pada rekaman individu sangant banyak mengurangi ukuran indek. memberikan hubungan. maka komputer harus mencari index. tapi dapat mewakili sejumlah rekaman. yang berisi acuan – acuan untuk rekaman. Pengacuan ruas. yang analog dengan alamat relatifdari letak buku itu pada ra Apabila berkas mempunyai kunci yang berurutan. dan sebagai keluaran memberikan informasiyang membantu pengambilan rekaman dengan cepat. Berkas serial berindex merupakan bentuk yang paling umum dari pengalamatan berkas. di mana rekaman itulah yang memiliki harga-harga atribut tersebut.kadang disebut sebagai penuntun (directory) yang memberikan informasi tentang pertalianantara rekaman. Cara ini dapat menghemat banyak sekali waktu. Masukan pada tabel adalah kunci rekaman yang dicari. Lagi pula. Suatu index didefinisikan sebagai suatu tabel di mana beroperasi dengan prosedur yang menerima informasi tentang harga-harga atribet tertentu sebagai masukan. sebagai contoh. Index utama adalah index yang menggunakan ciri rekaman (kunci utama) sebagai masukan dan memberikan informasi tentang lokasi fisis dari rekaman sebagai keluara. Tetapi memerlukan index yang jauh lebih banyak. Walaupun demikian index seringkali terlalu besar untuk dicari dalam keseluruhannya. danhasil operasi pencarian tabel adalah alamat relatif atau alamat sesungguhnya dari rekaman itu pada unit berkas. Pemakai mencari nama buku yang dia perludi dalam index kartu. Hal ini mirip dengan penggunaan indek kartu dalam perpustakaan. harus berisi alamat lengkap tertentu (atau alamat relatip). Untuk menghemat waktu pencarian. Apabila suatu index dipakai untuk pengelamatan berkas. sedangkan suatu index pada .ruas rekaman. dilakukan pencarian dengan metode pencarian ruas atau pencarian biner maupun pemayaran. bukan mencari berkas itu. dan dengan demikian diperlukan suatu index untuk sejumlah index.

kunci yang paling sering dipakai biasanya yang diurutkan.rekaman. Dalam hal ini pencarian dalam berkas dapat menggunakan metode pencarian ruas ataupun pemayaran dan pencarian biner. Apabila nomor katalog yang dipegangnya berada dalam batasan itu. lalu karena buku-buku dalan rak selalu bergeser tempatnya. Alasannya dipakai alamat simbul ialah kalau alamat fisis yang dipakai. Dua kunci dipakai dalam indek kartu. lalu pemakai mencari.rekaman.cari buku tersebut dalam rak itu. Untuk berkas yang berkunci banyak. Pemakai membandingkan nomor katalog yang telah diperoleh dengan batasan nomor pada jajaran itu. Index pada suatu kunci yang bukan utama dapat menunjukkan kunci utama dari rekaman sebagai keluarannya. Kunci utama ini kemudian digunakan untuk pengembilan rekaman dengan pengalamatan yang lain. Kedua kunci ini tidak dipakai untuk pengurutan buku. Analog dengan pencarian Index dalam berkas. tetapi . yakni judul buku dan nama pengarang. Apabila pemakai telah menemukan nomor katalog dari buku yang diinginkannya. Sedang kunci tak berurutan. Penambahan rekaman baru dan penghapusan rekaman lama selalu menggeser lokasi rekaman. maka kunci yang lain tidak akan terurutkan. satu entry untuk setiap rekaman.buku pada rak. kitadapat menemukan kunci utamanya. Apabila kunci yang satu diurutkan. Berkas berurutan berindex jauh lebih ekonomis. Buku. misalnya judul buku adalah kunci utama. Analogi index kartu perpustakaan lebih tepat untuk berkas berurutan berindex. index untuk kunci berurutan mempunyai satu entry per ruas. Alasan utama tetap digunakanya berkas tak berurutan ialah bahwa harus dialamatkan lebih dari satu kunci.kadang memakai simbul daripada alamat sungguh. karena urutan karakter tingkat tinggidari alamat berturut-turut biasanya sama. karena ruang index jauh lebih sedikit dan waktu pencarian lebih cepat. Tetapi memberikan pada nomor katalog yang dapat dianggap sebagai alamat relatif atau alamat simbul. Metode dengan menggunakan alamat simbul lebih lambat daripada alamat fisis. Oleh karena itu harus ada suatu entri untuk setiap buku dalam kedua index it. Analog dengan index induk pada suatu index silinder dam kemudian pada index alur. sedang nama pengarangbukan kunci utama. lalu dia mencari pada jajaran-jajaran rak (lemarilemari rak). Apabila lebih dari satu kunci digunakan dalan rekaman. Lalu dicocokkan batasan nomor pada tiap rak dalam jajaran itu. Setelah menemukan rak yang memuat buku tersebut .masing jajaran rak biasanya terdapat tanda nomor permulaan dan nomor akhir katalog dari buku.buku itu disusun dalam urutan dengan nomor katalog.buku dalam jajaran itu. APNI. Misalnya APNA. Dengan alasan yang sama berkas tak berurutan berindex juga kadang. Dengan kunci nama pengarang. Analogi dengan index perpustakaan. karena masup cepat dimungkinkan oleh index berurutan pendek. Dalam hal ini APN sama semua. dan seterusnya. Suatu index dapat dipakai untuk tiap kunci.berkas berurutan dapat memotong alamat yang dikandungnya.rak. Index perpustakaan tidak menunjukkan lokasi fisis dari buku pada raknya. maka index perpustakaan harus sering diperbarui/ diubah. Masing. APNE. berarti buku yang dicari berada dalam jajaran itu. APNK.

buku itu tak berurutan. pengalamatan simbul menunjuk manfaatnya.pada berkas yang rekaman. Nomor. Sebagai contoh. alamat berkas dari rekaman dapat dicetak pada buku tabungan langganan bank. maka pemeliharaannya memerlukan waktu banyak.nomor barang dari suatu pabrik tidak dapat diubah untuk menyesuaikan komputer karena nomor. Mode lokasi DIRECT dari CODASYL memakai teknik ini. Jawabandalam pesanan teletip diterima. maka buku barudapat diletakkan pada posisi terakhir dengan nomor urut katalog yang terakhir. Teknik 7 : Alogaritma Untuk Konversi Kunci Penggunaan algoritma untuk mengbah kunci ke dalam alamat. Alasan lain untuk penggunaan susunan rekaman tak berurutan adalah bahwa berkas itu sangaty lincah dan penyisipan penghapusan ke dalam berkas yang berurutan akan terlalu sulit dan terlalu makan waktu. Teknik 6 : Pengalamatan Alamat Setara Kunci (Key. karena kunci. sejumlah buku harus digeser. nomor penerbangan dan tanggal penerbangan. maka harus mencakup nomor acuan mesin. Kadang. Teknik ini biasanya mempunyai kerugian karena tidak memenuhi barkas dengan sempurna. pendekatan langsung ini tidak dimungkikan.Equals.kunci tidak diubah menjadi satu himpunan alamat yang kontinu.metode ini dapat menghasilkan perangkat pengalamatan yang tercepat dan tidak diperlukan pencarian berkasatau operasi index. perusahaan penerbangan mempunyai 150 nomor penerbangan. Tetapi tidak setiap . Ada celah.rekamannya sering berubah posisinya. Cara pemecahan persoalan pengalamatan yang paling sederhana aialah dalam transaksi input. biasanya pesan itu mancakup nomor acuan mesin dari rekaman penumpang. tapitapi nomor katalognya berurutan.Pola ini termasuk pengalamatan langsung. Sebagai contoh. hampir secepat dengan teknik alamat setara kunci  (teknik 6).Address) Berbagai metode pengubahan kunci langsung ke dalam suatu alamat berkas dipakai. Tidak semua aplikasi yang tidak menerapkannya. misalnya tentang penegasan pemesanan. karenasetiap kali ditambahkan buku baru. sehingga rekaman penumpang itu segera ditemukan. Apabilabuku yang disimpan dalam rak diurutkan menurut abjadnya.nomor itu mempunyai arti yang penting bagi perusahaan tersebut. Alamat pada beberapa apilkasi dapat dihitung dari penciri entiti seperti lokasi jalan. memiliki alamatsama dengan kunci supaya pengambilannya sederhana. Kalau buku.celahnya.kadang nomor acuan mesin dapat digunakan dalam transaksi input tanpa membutuhkan nomor konsumen ataupun nomor barang.Dlam banyak aplikasi. Tetapi metode ini adalah sederhana dan cepat untuk aplikasi yang dapat menerapkannya. Apabila komputer pemesan perusahaan penerbangan mengirimkan pesan teletip pada perusahaanpenerbangan yang lain. Penggunaan metode. Algoritma memakai nomor penerbangan dan tanggal untuk menghitung alamat berkas.

rekaman yang dibicarakan. yang terletak dalam interval l sampai N. Kerugian dari pola ini pengalamatan langsung yakni kelakuannya. produk ke. beberapa alamat yang dihasilkannya tidak memuat rekaman. Mode lokasi CALC dari CODASYL memakai teknik ini.masing distributor menangani 200 produk. suatu perusahaan mempunyai banyak distributor. Rekaman yang diberikan adalah tentang penjualan setiap produk untuk setiap distributor dalam setiap distributor dalam setiap minggu untuk tahun ini.ubah.C dapat dihitung dengan rumus: (A -1) × 200 × 52 × 100 + (B− 1) × 52 × 100 + (C − 1) × 100 + 1.kadang disebut pengacakan (randomizing) atau pengadukan (scrambling). Sebagai contoh. maka alamat byte relatif dari rekaman untuk distributor keA. karena berhubungan dengansuatu area di mana suatu grup rekaman disimpan yang disebut sebagai bucket (keranjang). Dalam hal ini pengalamatan langsung tidak dapat berjalan. maka cocok untuk perhitungan alamat berkas. Untuk menghilangkan sifat kekakuan ini pengalamatan langsung biasanya diselesaikan dalam dua tingkat. Apabila panjang rekaman 100 byte. kadang. . Apabila rekaman. Suatu program akan mengubah alamat relatif ini ke dalam sebuah alamat mesin. Apabila ada sisa ruang dalam bucket itu.kadang disebut pocket (saku) atau slot..rekaman disimpan ditentukan sebagai berikut: 1. dan bilangan ini dipakai untuk menentuksn di man rinci tersebut disimpan.penerbangan terbang pada setiap hari. lokasi dalam mana rekaman. karena berkas berkembang atau dipindahkan pada suatu unit yang lain atau berkas digabungkan atau dimodifikasi. Dalam teknik ini kunci rinci diubah menjadi suatu bilangan hampir acak. 2. n. Masing. Kunci dari rekaman diubah menjadi suatu bilangan hampir acak. Sepaerti diketahui bahwa alamt mesin dpat berubah. Teknik 8 : Gabungan (Hashing) Suatu bentuk yang bermanfaat dan akurat dari teknik perhitungan alamat disebut gabungan atau kadang. Bilangan hampir acak itu dapat berhubungan dengan alamat di mana suatu rekaman disimpan. Tingkat pertama mengubah kunci menjadi suatu bilangan urut. Jumalah rekaman nalari yang dapat disimpan dalam area ini disebut kapasitas bucket.B. maka bilangan. Cara ini . Bilangan n diubah menjadi alamt dari bucket itu dibaca. dan minggu ke. maka rekaman nalari dapat disimpan ke dalam bucket itu.rekaman membentuk suatu matrik. karena itu.bilangan urut yang dipakai tingkat kedua dapat dimodifikasi dengan mudah untuk menyesuaikan perubahan alamat mesin tersebut. Tingkat kedua mengubah bilangan urut itu menjadi alamt mesin. Apabila pada permulaan.lebih ekonomis. dan harus dipilih satu yang sesuai dengan himpunan kunci dari rekaman. Apabila alamat mesin rekaman berbah. di mana N adalah jumlah bucket yang dapat dipakai untuk simpanan. berkas hendak diamati. 3. Banyak algoritma gabungan memungkinkan operasi ini.

Banyak Berkas dapat mencapai kerapatan packing 80%atau 90% dan tidak ada ruang yang diperlukan untuk index.kadang perlu membaca lebih dari satu bucket luapan. Banyak rekaman dapat diperoleh dengansatu pencarian.sifat acak dari algoritma. maka metode pencarian adalah sama dengan di atas . 3. 4. yaitu: 1. yaitu pada bucket luapan. Teknik ini tidak akan mencapai kerapatan packing 100%. Apabila bucket luapan (overflow). .n. Apabika rekaman yang diminta tiadak ada dalam bucket luapan dibaca dan di. karena adanya sifat. Bucket dicari untuk mendapatkan rekaman nalari yng diminta.search. Ini dapat   sebagai urutan berikut. dengan menggunakan algoritma yang sama. Apabila rekaman.rekaman hendak dibaca dari berkas. Bilangan n itu diubah menjadi alamat dari bucket ke. Kunci dari rekaman yang akan dicari. yaitu n. diubah menjadi suatu bilangan hampir acak. dan dan rekaman fisis di dalamnya dibaca.4. atau dapat sebagai suatu bucket pada area yang terpisah yang duihubungkan dengan pointer. Jarang diperlukan pencarian ketiga atau keempat. Kadang. 2. tetapi ada yang memerlukan pencarian dalam satu detik.