Minggu, 04 April 2010

Teknik2 yang ada pada kalkulasi alamat :

Teknik2 yang ada pada kalkulasi alamat :
Pada teknik pencarian tabel kita harus menyediakan suatu ruang memori untuk menyimpan tabel INDEX-nya, maka pada teknik ini tidak diperlukan hal itu. Hal yang dilakukan adalah membuat suatu hitungan sedemikian rupa sehingga dapat dengan memasukkan kunci atribut record-nya, alamatnya sudah dapat diketahui. Hanya tinggal masalahnya, bagaimana harus membuat hitungan dari kunci atribut tesebut sehingga dapat diketahui hasilnya apa bisa efisien (dalam penggunaan memori) dan tidak berbenturan dengan nilainya (menggunakan alamat yang sama).
Contohnya untuk data si Halim di atas yang memiliki NIM = ‘10106797’, di mana akan letakkan ?. Bila yang dilakukan adalah perhitungan : INT(VAL(NIM)/1000000) maka haslinya adalah 10, dengan demikian data Halim akan disimpan di alamat 10. Tapi, apakah alamat 10 itu tidak dapat digunakan oleh data lain dengan perhitungan yang sama dan harus berbeda ?, ternyata tidak. Untuk data Danar yang NPMnya ’10104646’ yang juga di alamat tersebut, dan ternyata masih banyak juga yang menjadi ’rebutan’ untuk menempati alamat tersebut jika dilakukan dengan perhitungan seperti pada contoh di atas.
Perhitungan (kalkulasi) pada terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash. Dapat juga fungsi hash digabungkan dan digunakan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan menggunakan satu jenis (fungsi hash saja atau pencarian dengan tabel saja).
Teknik-teknik yang ada pada kalkulasi alamat :
1.Scatter Storage Technique adalah Sebuah metode dan aparatus untuk melakukan penyimpanan dan pengambilan dalam suatu sistem penyimpanan informasi yang diungkapkan menggunakan teknik hashing. Untuk mencegah kontaminasi dari media penyimpanan dengan secara otomatis berakhir catatan, teknik pengumpulan sampah digunakan yang menghapus semua berakhir catatan di lingkungan dari penyelidikan ke dalam sistem storge data.. Lebih khususnya, masing-masing probe untuk penyisipan, pengambilan atau penghapusan merekam adalah kesempatan untuk mencari seluruh rangkaian catatan ditemukan untuk catatan berakhir dan kemudian menghapusnya dan menutup rantai.Koleksi ini sampah secara otomatis menghapus catatan kontaminasi berakhir di sekitar probe, sehingga secara otomatis decontaminating ruang penyimpanan.. Karena tidak ada kontaminasi jangka panjang dapat membangun dalam sistem ini, akan sangat berguna untuk basis data yang besar yang banyak digunakan dan yang memerlukan akses cepat disediakan oleh hashing.

2. Randomizing Technique; Meskipun secara historis "teknik pengacakan" manual (seperti menyeret kartu, gambar potongan kertas dari tas, memintal roulette wheel) yang umum, saat ini teknik otomatis sebagian besar digunakan. . Seperti kedua memilih sampel acak dan permutasi acak dapat dikurangi menjadi hanya memilih nomor acak, nomor acak generasi sekarang metode yang paling umum digunakan, baik hardware nomor acak generator dan nomor acak generator-pseudo .
metode pengacakan Non-algoritmik meliputi:
• Casting Yarrow batang (untuk I Ching )
• Lempar dadu
• Menggambar sedotan
• Shuffling cards Mengocok kartu
• Roulette wheels Roulette roda
• Menggambar potongan kertas atau bola dari kantong
• " Lottery mesin "

3. Key to Address Trnsformation Methods adalah Teknik yang digunakan dalam teori mengoreksi kesalahan-kode ini diterapkan untuk menyelesaikan masalah menangani file besar. This novel approach to the file addressing problem is illustrated with a specific design to show feasibility. Pendekatan baru ini ke file menangani masalah digambarkan dengan desain khusus untuk menunjukkan kelayakan.

4. Direct Addressing TechniqueDirect Addressing;Pengalamatan langsung sangat bernama karena nilai yang akan disimpan dalam memori diperoleh secara langsung mengambilnya dari lokasi memori lain. Sebagai contoh:
MOV A,30h MOV A, 30h
Instruksi ini akan membaca data dari alamat RAM Internal 30 (hexidecimal) dan menyimpannya dalam Akumulator.
Pengalamatan langsung umumnya cepat karena, meskipun nilai yang akan isnt dimuat termasuk dalam instruksi tersebut, maka dengan cepat diakses karena disimpan di RAM Internal 8051s. Hal ini juga jauh lebih fleksibel daripada Segera Mengatasi karena nilai yang akan diambil adalah apa saja yang ditemukan di alamat yang diberikan - yang mungkin variabel.
Juga, penting untuk dicatat bahwa bila menggunakan pengalamatan langsung suatu instruksi yang merujuk ke alamat antara 00h dan 7Fh mengacu pada memori internal. Setiap instruksi yang merujuk ke alamat antara 80h dan FFh merujuk ke register kontrol SFR yang mengendalikan mikrokontroler 8051 itu sendiri.
Pertanyaan jelas yang mungkin timbul adalah, "Jika langsung menangani sebuah alamat dari 80h sampai FFh mengacu pada SFRs, bagaimana saya bisa mengakses bagian atas 128 byte Internal RAM yang tersedia pada 8052?". Sebagaimana dinyatakan, jika Anda langsung merujuk pada alamat 80h melalui FFh Anda akan mengacu pada suatu SFR. Namun, Anda dapat mengakses 8052s atas 128 byte RAM dengan menggunakan mode pengalamatan berikutnya, "tidak langsung berbicara."
5. Hash Tabel Methods adalah merupakan struktur data yang menggunakan fungsi hash untuk efisien peta pengidentifikasi tertentu atau kunci (misalnya, nama-nama orang) untuk dihubungkan nilai (misalnya, nomor telepon mereka). Fungsi dari hash digunakan untuk mengubah kunci ke indeks (hash) dari array elemen (dalam slot atau ember) dimana nilai yang sesuai yang akan dicari. Dalam banyak situasi, tabel hash ternyata lebih efisien daripada pohon pencarian atau lainnya tabel struktur lookup. Untuk alasan ini, mereka banyak digunakan di berbagai jenis komputer perangkat lunak , terutama untuk array asosiatif , pengindeksan database , cache , dan set . Keuntungan 1 Keuntungan utama dari tabel hash atas struktur tabel data lainnya adalah kecepatan. Keuntungan ini lebih jelas ketika jumlah entri yang besar (ribuan atau lebih). tabel Hash dapat sangat efisien ketika jumlah maksimum entri dapat diprediksi dari sebelumnya, sehingga ember array dapat dialokasikan sekali dengan ukuran optimal dan tidak pernah diubah ukurannya. 2. Jika himpunan pasangan kunci-nilai adalah tetap dan dikenal lebih dulu sehingga insersi dan penghapusan tidak diijinkan, yang dapat mengurangi biaya rata-rata lookup pilihan hati-hati dari fungsi hash, ember ukuran meja, dan struktur data internal. Secara khusus, satu mungkin dapat menyusun fungsi hash yang tabrakan-bebas, atau bahkan sempurna. Kerugian 1. Untuk aplikasi pengolahan string tertentu, seperti spell-checking , tabel hash mungkin kurang efisien daripada mencoba , automata terbatas , atau array Judy . Juga, jika setiap tombol diwakili oleh sejumlah kecil bit yang cukup, maka, bukan sebuah tabel hash, yang dapat menggunakan tombol langsung sebagai indeks ke array nilai. 2. Meskipun rata-rata biaya per operasi adalah konstan dan cukup kecil, dengan biaya operasi tunggal dapat cukup tinggi. Secara khusus, jika tabel hash menggunakan ukuran dinamis , penyisipan atau penghapusan operasi yang memerlukan waktu sebanding dengan jumlah entri.Hal ini dapat di katakan kelemahan yang serius secara real-time atau aplikasi interaktif. 3. Hash tabel dalam pameran umumnya miskin pemukiman referensi -yaitu, data yang akan diakses didistribusikan tampaknya secara acak di memori. Hal ini Karena tabel hash menyebabkan pola akses berupa melompat-lompat, ini dapat memicu cache mikroprosesor yang menyebabkan penundaan yang lama. struktur data seperti array, mencari dengan pencarian linear , akan lebih cepat jika meja relatif kecil dan tombol yang integer atau string singkat lainnya. 4. Tabel Hash menjadi sangat tidak efisien bila ada banyak tabrakan. Sementara itu hash distribusi yang tidak merata sangat tidak mungkin muncul secara kebetulan, seorang dengan pengetahuan dari fungsi hash mungkin dapat memberikan informasi untuk hash yang menciptakan perilaku-kasus terburuk dengan menyebabkan tabrakan yang berlebihan, yang mengakibatkan kinerja yang sangat buruk yaitu, sebuah serangan penolakan layanan . Dalam aplikasi kritis, baik universal hashing dapat digunakan atau struktur data dengan jaminan terburuk lebih baik mungkin lebih disukai.

6. Hashing adalah transformasi dari sebuah string karakter s menjadi nilai lebih pendek panjang biasanya tetap atau kunci yang mewakili string asli. Hashing digunakan untuk indeks dan mengambil item dalam suatu database karena lebih cepat untuk menemukan item yang menggunakan kunci lebih pendek daripada hashed menemukannya menggunakan nilai asli. Hal ini juga digunakan dalam berbagai enkripsi algoritma.
Sebagai contoh sederhana dari penggunaan hashing dalam database, sekelompok orang bisa diatur dalam database seperti ini:
Abernathy, Sara Epperdingle, Roscoe Moore, Wilfred Smith, David (and many more sorted into alphabetical order) Abernathy, Sara Epperdingle, Roscoe Moore, Wilfred Smith, David (dan banyak lagi disortir ke dalam urutan abjad)
Masing-masing nama-nama ini akan menjadi kunci dalam database untuk data orang itu. Mekanisme pencarian database pertama-tama harus mulai mencari karakter-karakter oleh seluruh nama untuk pertandingan sampai menemukan yang cocok (atau memerintah entri lain keluar). Tapi kalau masing-masing nama-nama itu hashed, ada kemungkinan (tergantung pada jumlah nama dalam database) untuk membuat kunci empat digit yang unik untuk setiap nama. For example: Sebagai contoh:
7864 Abernathy, Sara 9802 Epperdingle, Roscoe 1990 Moore, Wilfred 8822 Smith, David (and so forth) 7864 Abernathy, 9802 Sara Epperdingle, Roscoe 1990 Moore, 8822 Wilfred Smith, David (dan sebagainya)
Sebuah pencarian untuk nama apapun pertama akan terdiri dari komputasi nilai hash (hash yang sama dengan menggunakan fungsi yang digunakan untuk menyimpan item tersebut) dan kemudian membandingkan untuk pertandingan menggunakan nilai tersebut. Ini akan, secara umum, akan lebih cepat untuk menemukan sebuah pertandingan di empat digit, masing-masing hanya memiliki 10 kemungkinan, dari melintasi panjang nilai yang tak terduga di mana masing-masing karakter memiliki 26 kemungkinan. The hashing algoritma disebut fungsi hash (dan mungkin istilah itu berasal dari ide bahwa nilai hash yang dihasilkan dapat dianggap sebagai "terlibat" versi nilai diwakili). Selain pengambilan data yang lebih cepat, hashing juga digunakan untuk mengenkripsi dan mendekripsi tanda tangan digital (digunakan untuk proses otentikasi pengirim dan penerima pesan). Itu tanda tangan digital berubah dengan fungsi hash dan kemudian kedua nilai hash (dikenal sebagai pesan-digest) dan tanda tangan dikirim dalam transmisi yang terpisah ke penerima. Menggunakan fungsi hash yang sama seperti pengirim, penerima berasal pesan-digest dari tanda tangan dan membandingkannya dengan pesan-digest juga diterima. Mereka harus sama.
Fungsi hash digunakan untuk indeks nilai asli atau kunci dan kemudian digunakan kemudian setiap kali data yang terkait dengan nilai atau tombol yang akan diambil. Dengan demikian, hashing selalu operasi satu arah. Tidak perlu untuk "balik" fungsi hash dengan menganalisis nilai-nilai hash. Bahkan, fungsi hash yang ideal tidak dapat diturunkan dengan analisis tersebut. Sebuah fungsi hash yang baik juga tidak harus menghasilkan nilai hash yang sama dari dua input yang berbeda. Jika tidak, ini dikenal sebagai tabrakan. Sebuah fungsi hash yang menawarkan risiko yang sangat rendah tumbukan dapat dianggap diterima.
Berikut adalah beberapa fungsi hash yang relatif sederhana yang telah digunakan:
 Metode divisi-sisa: Ukuran jumlah item dalam tabel diperkirakan. Angka itu kemudian digunakan sebagai pembagi ke setiap nilai asli atau tombol untuk mengambil hasil bagi dan sisa sebuah. Sisanya adalah nilai hash (Karena metode ini bertanggung jawab untuk menghasilkan jumlah tumbukan, mekanisme pencarian harus mampu mengenali tabrakan dan menawarkan mekanisme pencarian alternatif.)
 Folding: Metode ini membagi nilai asli (digit dalam kasus ini) menjadi beberapa bagian, menambahkan bagian-bagian bersama-sama, dan kemudian menggunakan empat digit terakhir (atau beberapa nomor sewenang-wenang lainnya digit yang akan bekerja) sebagai nilai hash atau tombol.
 Radix transformation: Apabila nilai atau kunci digital, alas nomor (atau akar) dapat diubah sehingga dalam urutan yang berbeda digit. (Sebagai contoh, nomor kunci desimal dapat diubah menjadi heksadesimal nomor kunci) High-order digit dapat dibuang untuk menyesuaikan nilai hash dengan panjang yang seragam..
 Digit rearrangement: ini hanya mengambil bagian dari nilai asli atau utama seperti angka di posisi 3 sampai 6, membalikkan pesanan mereka, dan kemudian menggunakan bahwa urutan angka sebagai nilai hash atau tombol.
Sebuah fungsi hash yang bekerja dengan baik untuk penyimpanan database dan pencarian mungkin tidak bekerja sebagai untuk tujuan kriptografi atau pengecekan error. Ada beberapa fungsi hash yang terkenal yang digunakan dalam kriptografi. Ini termasuk pesan-digest fungsi hash MD2 , MD4 , dan MD5 , hashing digunakan untuk tanda tangan digital ke nilai yang lebih pendek disebut pesan-mencerna, dan Secure Hash Algorithm (SHA), algoritma standar, yang membuat seorang yang lebih besar (60 - bit) pesan mencerna dan serupa dengan MD4.

Tidak ada komentar:

Posting Komentar