:::Kelompok:::
2IA05
Dimas Nugeroho (50408282)
Muhammad Iqbal (50408977)
Selviana Hayuningrum (50408778)
Widi Tri Cahyo (50408864)
Yendry Mailinda (50408880)
Teknik Kalkulasi Alamat
• Scatter Diagram Techniques
Scatter Diagram adalah alat untuk menentukan hubungan potensial antara dua set variabel yang berbeda, yaitu bagaimana perubahan satu variabel dengan variabel lain. Diagram ini hanya plot pasang data terkait dari dua variabel, yang biasanya dua variabel dalam proses menjadi mempelajari,. pencar Diagram tidak tepat menentukan hubungan antara kedua variabel tapi tidak menunjukkan apakah mereka berkorelasi atau tidak. Ini, dengan sendirinya, juga tidak memprediksi dan pengaruh hubungan sebab antara variabel-variabel ini.
Diagram pencar digunakan untuk: 1) cepat mengkonfirmasi hipotesis bahwa dua variabel tersebut berkorelasi; 2) memberikan gambaran grafis dari kekuatan hubungan antara dua variabel, dan 3) berfungsi sebagai langkah tindak lanjut untuk efek-penyebab analisis untuk menentukan apakah perubahan dalam menyebabkan diidentifikasi memang bisa menghasilkan perubahan diidentifikasi pengaruhnya.
Untuk membuat diagram pencar untuk dua variabel yang membutuhkan konfirmasi korelasi, langkah-langkah sederhana berikut biasanya diikuti :
1) mengumpulkan 50-100 pasang data untuk dua variabel dan tabulasi mereka;
2) menggambar-x dan y-sumbu diagram, seiring dengan skala yang meningkatkan ke kanan untuk sumbu x dan ke atas untuk sumbu-y;
3) menetapkan data untuk satu variabel dengan sumbu x-(variabel independen) dan data untuk variabel lain untuk sumbu y (variabel independen);
4) pasang plot data pada diagram pencar, mengepung (sebanyak yang diperlukan) semua titik data yang diulang.
Untuk membuat diagram pencar untuk dua variabel yang membutuhkan konfirmasi korelasi, langkah-langkah sederhana berikut biasanya diikuti:
Interpretasi diagram pencar yang dihasilkan adalah yang sederhana seperti melihat pola yang dibentuk oleh poin.. Jika titik data digambarkan pada diagram pencar adalah seluruh tempat tanpa pola dilihat apa pun, maka tidak ada korelasi sama sekali antara dua variabel dari diagram pencar. Sebuah contoh diagram pencar yang tidak menunjukkan korelasi ditunjukkan pada Gambar 1.
-Scatter Diagram menunjukkan tidak ada korelasi-
Ada korelasi positif antara dua set data jika kenaikan-nilai hasil x pada peningkatan nilai-y. Gambar 2a menunjukkan diagram pencar yang positif korelasi pameran. Perhatikan bahwa dalam korelasi tersebut, maka titik data merupakan garis diagonal bisa dilihat dengan jelas yang terjadi dari kiri bawah ke pojok kanan atas.
Hubungan dua variable dapat digambarkan dalam diagram berserak. Pada diagram ini variable independen digambarkan pada skala horisontal (skala X), sedang varible dependen digambarkan pada skala horsontal (skala Y). Selanjutnya pasangan 2 variable digambarkan pada giagram ini.
Apabila gambar titik-titik pada diagram itu menunjukkan suatu garis lurus, maka berarti ada hubungan sempurna antara variable yang satu dengan yang lainnya.
Beberapa hal yang perlu diperhatikan dalam menggambar garis pada diagram berserak adalah :
1.
1. garis yang digambar harus sedekat mungkin dengan semua titik yang ada di dalam diagram berserak.
2. Jumlah titik-titik yang berada pada masing-masing bagian garis yakni bagian atas dan bawah harus sama.
3. Garis itu harus digambar sedemikian rupa, sehingga titik yang berada di bagian atas dan bawah mempunya jarak yang sama.
Agar lebih jelas dalam pembahasan diagram berserak ini kita ambil contoh sebagai berikut:
Variable X dan Y
(iklan dan penjualan)
Variable X Variable Y
2
3
5
6
8
9 6
5
7
8
12
11
Dua variable tersebut dapat digambarkan dalam diagram berserak sebagai berikut :
Variable X digambarkan pada sumbu horisontal, sedang variable Y pada sumbu vertikal. Selanjutnya titik-titik pada diagram berserak merupakan Variable X da Y yang berpasangan dapat digambarkan denga mudah. Garis regeresi yang merupakan garis lurus digambarkan dengan metode bebas (free hands methode). Metode diagram berserak ini mempunyai kebaikan yaitu sederhana dan mudah, namum mempunyai kelemahan, karena garis regresi digambar dengan methode bebas, maka hasilnya sangat subjektive.
• Key To Address Transformation Methods
Teknik yang digunakan dalam teori mengoreksi kesalahan-kode ini diterapkan untuk menyelesaikan masalah menangani file besar. Teknik yang digunakan dalam teori mengoreksi kesalahan-kode ini diterapkan untuk menyelesaikan masalah menangani file besar. Pendekatan baru ini ke file menangani masalah digambarkan dengan desain khusus untuk menunjukkan kelayakan Pendekatan baru ini ke file menangani masalah digambarkan dengan desain khusus untuk menunjukkan kelayakan. . Efektivitas adalah lebih lanjut diilustrasikan dengan membandingkan hasil uji yang diperoleh dari simulasi perhitungan, yang menggunakan data khas, terhadap nilai-nilai dihitung dari model yang ideal. efektivitas adalah lebih lanjut diilustrasikan dengan membandingkan hasil uji yang diperoleh dari simulasi perhitungan, yang menggunakan data khas, terhadap nilai-nilai dihitung dari model yang ideal.
• Hash Tables Methods
Setiap elemen kunci / nilai pasangan disimpan dalam sebuah objek DictionaryEntry. tombol A tidak dapat apa-apa, tetapi memiliki nilai.
Objek yang digunakan sebagai kunci oleh Hashtable diminta untuk mengganti metode Object.GetHashCode (atau antarmuka IHashCodeProvider) dan metode Object.Equals. Pelaksanaan kedua metode dan interface harus menangani kasus sensitivitas dengan cara yang sama, jika tidak, itu Hashtable mungkin berperilaku tidak semestinya. Misalnya, saat membuat Hashtable, Anda harus menggunakan kelas CaseInsensitiveHashCodeProvider (atau implementasi IHashCodeProvider case-insensitive) dengan kelas CaseInsensitiveComparer (atau implementasi IComparer case-insensitive).
Selanjutnya, metode ini harus menghasilkan hasil yang sama saat dipanggil dengan parameter yang sama saat kunci ada di Hashtable. Sebuah alternatif adalah dengan menggunakan konstruktor Hashtable dengan parameter IEqualityComparer. Jika kesetaraan kunci hanya referensi kesetaraan, pelaksanaan warisan Object.GetHashCode dan Object.Equals sudah cukup.
Kunci obyek harus berubah sepanjang mereka digunakan sebagai kunci dalam Hashtable.
Ketika sebuah elemen akan ditambahkan ke Hashtable, elemen tersebut dimasukkan ke dalam ember berdasarkan kode hash kunci. lookup kemudian atas penggunaan kode kunci hash dari kunci untuk mencari hanya dalam satu ember tertentu, sehingga secara substansial mengurangi jumlah perbandingan kunci yang diperlukan untuk menemukan suatu elemen.
Faktor beban dari Hashtable menentukan rasio maksimum dari elemen ke ember. faktor beban yang lebih kecil menyebabkan lookup kali lebih cepat dengan biaya rata-rata konsumsi memori meningkat. Beban default faktor 1,0 umumnya memberikan keseimbangan terbaik antara kecepatan dan ukuran. A load factor yang berbeda juga dapat ditentukan ketika Hashtable dibuat.
Sebagai unsur ditambahkan ke Hashtable, faktor beban yang sebenarnya dari kenaikan Hashtable. Ketika load factor yang sebenarnya mencapai load factor yang ditentukan, jumlah ember di Hashtable secara otomatis meningkat ke bilangan prima terkecil yang lebih besar dari dua kali lipat jumlah saat ini ember Hashtable.
Setiap objek kunci dalam Hashtable harus menyediakan sendiri fungsi hash, yang dapat diakses dengan menelepon GetHash. Namun, setiap objek mengimplementasikan IHashCodeProvider dapat dikirimkan ke sebuah konstruktor Hashtable, dan bahwa fungsi hash digunakan untuk semua objek dalam tabel.
Kapasitas suatu Hashtable adalah jumlah elemen, Hashtable dapat terus. Sebagai elemen yang ditambahkan ke Hashtable, kapasitas meningkat secara otomatis diperlukan melalui realokasi.
Contoh :
VB :
For Each de as DictionaryEntry In myHashtable
...
Next de
Pernyataan foreach adalah pembungkus sekitar pencacah, yang hanya memungkinkan membaca, tidak menulis untuk, koleksi.
Karena serialisasi dan deserializing suatu pencacah untuk Hashtable dapat menyebabkan elemen menjadi mengatur kembali, tidak mungkin untuk melanjutkan pencacahan tanpa pemanggilan metode Reset.
Catatan!!
Karena kunci bisa diwariskan dan perilaku mereka berubah, keunikan absolut mereka tidak dapat dijamin oleh perbandingan menggunakan metode Hasil.
• Hashing
Metode Coalesced Hashing adalah metode yang dipergunakan untuk penanganan collision (mengatasi tabrakan) dengan menggunakan penunjuk untuk menghubungkan bagian-bagoan yang memiliki persamaan kunci.
Bila terjadi tubrukan, maka akan memakai alamat yang paling besar.
Contoh :
Lakukan metode coalesced hashing terhadap :
38, 51, 40, 61, 83, 24, 60
Jawab :
Lakukan hash dengan kunci mod 11 (mengapa 11? krn 11 adalah kapasitas berkas)
• Masukkan ke alamat
• Untuk membaca masing-masing rekaman 1x diperlukan rata-rata probe = 1,1
• probe total = 10
probe rata-rata = 10/9 = 1,1
Beberapa fungsi hash yang umum digunakan adalah : division remainder, mid square, dan folding.
DIVISION REMAINDER
Idenya adalah, membagi nilai key field dengan nilai tertentu, dan sisa pembagian tersebut dijadikan alamat relatifnya. Nilai tertentu itu terserah kita, ada yang membagi dengan bilangan prima, namun ada juga yang tidak.Yang jelas, tujuannya adalah agar alamat yang akan digunakan bisa berbeda sekecil mungkin (menghemat memori) dan menghindari benturan yang bakal terjadi.
Ada perhitungan faktor muat (load factor) yaitu, jika kita memiliki sejumlah record yang akan ditempatkan ke dalam memori, maka setidaknya kita harus menyediakan memori yang kapasitasnya melebihi dari jumlah record tersebut. Misalkan, kita memiliki 4000 record, maka sebaiknya kita memiliki memory space sebanyak 5000 alamat. Faktor muat dihitung dengan cara membagi jumlah record dalam file dengan jumlah maksimum record dalam file (alamat yang tersedia). Semakin besar nilai faktor muat maka semakin baik teknik ini digunakan. Faktor muat untuk contoh di atas adalah 4000/5000 = 0,8.
MID SQUARE
Teknik ini dilakukan dengan cara melakukan kuadratisasi nilai key field dan diambil nilai tengahnya sebanyak jumlah digit yang diinginkan. Misalkan, nilai key-nya = 123456790, setelah dikuadratkan hasilnya = 15241578997104100 dan diambil 4 digit di tengahnya, yaitu 8997. Jadi, alamat memori untuk data tersebut di 8997.
HASING BY FOLDING
Teknik ini dilakukan dengan cara ’melipat’ nilai dari kunci atribut sebanyak digit yang dibutuhkan (dari kanan), kemudian dijumlahkan. Nilai terbesar dari jumlah tersebut dibuang (jika melebihi digit yang dibutuhkan). Misalkan untuk nilai key 123456790, maka empat angka di belakang setelah dilipat menjadi 0976, angka tersebut ditambahkan dengan empat angka kedua (dari kanan) yaitu 2345 dan angka 1 paling kiri :
0976
2345
1
——– +
4321
Maka, alamat dari data tersebut adalah di 4321.
Berbagai teknik dalam penentuan penempatan data di memori (sekunder) komputer terus berkembang. Tentu saja karena data yang direkam biasanya selalu bersifat dinamis (bisa bertambah, berkurang, di-copy, di-sorting) dan sebagainya. Kedinamisan tersebut tentu saja bisa berpengaruh terhadap alamat-alamat yang sudah ditetapkan sebelumnya yang bersifat fixed size space atau memiliki ukuran alamat yang tetap (satu misalnya, jika kita meng-copy data tersebut yang semula di hard disk ke dalam disket, apakah alamat-alamat yang tersedia di disket sama dengan di hard disk ?, tentu tidak).
Teknik hash baru yang dikembangkan antara lain dynamic hashing, extendible hashing, dan virtual hashing. Tujuannya adalah agar alamat-alamat yang sudah ada tidak berubah meskipun data baru ditambahkan dengan cara membagi-bagi memori menjadi bagian-bagian tertentu yang disebut dengan blok atau bucket, bila sebuah record akan dimasukkan ke dalam bucket yang sudah penuh, maka bucket baru disediakan kembali.
Dynamic hashing memakai struktur indeks binary tree untuk menyimpan track dari bucket dan pointer untuk menuju ke record yang diinginkan. Extendible hashing menggunakan direction untuk menyimpan track dari bucket dan pointer untuk menuju ke record yang diinginkan. Sedangkan virtual hashing lebih luas lagi, termasuk di dalamnya dynamic hashing dan extendible hashing dan berbagai teknik indeks lainnya (yang tidak dibahas di sini).
Dalam ilmu komputer , sebuah tabel hash atau hash peta adalah 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 hash digunakan untuk mengubah kunci ke indeks (hash) dari array elemen (dalam slot atau ember) dimana nilai yang sesuai yang akan dicari.
Idealnya fungsi hash harus peta setiap tombol mungkin untuk indeks slot yang berbeda, tapi ideal ini jarang dicapai dalam praktek (kecuali tombol hash tetap; entri baru yaitu tidak pernah ditambahkan ke tabel setelah penciptaan). Kebanyakan desain tabel hash berasumsi bahwa hash tabrakan -pasang kunci yang berbeda dengan nilai hash yang sama-kejadian normal dan harus diakomodasi dalam beberapa cara.
Dalam tabel hash dimensioned-baik, biaya rata-rata (jumlah instruksi ) untuk setiap pencarian independen dari jumlah elemen yang tersimpan dalam tabel. Banyak desain tabel hash juga memungkinkan insersi sewenang-wenang dan penghapusan dari-nilai pasangan kunci, pada rata-rata konstan (memang, diamortisasi ) biaya per operasi.
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 .
Tabel Hash seharusnya tidak bingung dengan daftar hash dan pohon hash digunakan dalam kriptografi dan transmisi data .
• Randomizing Techniques
Teknik Mengatasi lihat cara data yang dirujuk dalam sebuah instruksi assembler. Ada tiga cara untuk melakukan ini. (Semua instruksi ditunjukkan sejauh ini telah digunakan pertama dua).
Immediate Addressing Segera Mengatasi
Instruksi berakhir dengan huruf "I" (MVI, ADI, SUI, IHK) menggunakan pengalamatan langsung, yang berarti bahwa angka (atau simbol) diacu dalam instruksi diambil untuk menjadi data aktual.
Sebagai contoh :
mvi A, 4 ;Copy the actual value "4" into Reg A MVI A, 4; Salin nilai sebenarnya "4" ke Reg A
Direct Addressing Direct Addressing
Semua instruksi lain yang diperlihatkan menggunakan pengalamatan langsung, yang berarti bahwa data yang direferensikan sebenarnya disimpan dalam struktur lain - baik sebuah register atau lokasi memori.
Sebagai contoh :
lda 0FFh ; Copy the data at FFh (not the value FFh) into Reg A LDA 0FFh; Salin data FFh (bukan nilai FFh) ke Reg A
mov B, A ; Copy the data in Reg A to Reg B mov B, A; Copy data dalam Reg Reg A ke B
Pengalamatan tidak langsung
Jenis ketiga membahas teknik yang diperlukan untuk pengolahan data yang lebih efisien dalam memori, secara khusus, untuk pengolahan array.
Sebagai contoh misalkan kita ingin masukan 10 nilai-nilai, dan menyimpannya di 10 lokasi memori yang berurutan, mulai dari 0F0h.
Kode berikut memberi kita mulai - khususnya memanfaatkan sebuah loop yang akan masukan nomor E 10. Pendaftaran akan digunakan sebagai loop counter.
mvi E, 10 ; Initialize loop counter MVI E, 10; loop Inisialisasi counter
LOOP: in 01h ; Keyboard input to register A LOOP: di 01h; masukan Keyboard untuk mendaftar A
sta TABLE ; Store to memory (TABLE) TABEL sta; Store untuk memori (TABEL)
dcr E ; Decrement the loop counter DCR E; penurunan loop counter
jnz LOOP ; If not zero, go back jnz LOOP; Jika tidak nol, kembali
hlt hlt
TABLE: .ds 10 TABEL: 10. Ds
Masalahnya di sini adalah bahwa setiap kali nilai input disimpan di TABEL, hal itu akan disimpan dalam byte pertama. Kita perlu cara untuk "bergerak maju" ke lokasi memori berikutnya.
Pengalamatan tidak langsung adalah solusi untuk masalah tersebut. Dengan tidak langsung menangani, register digunakan untuk menyimpan alamat memori, bukan data. Sejak register dapat bertambah, ini memberikan metode yang efektif bergerak melalui alamat memori berturut-turut (dan karena itu, array).
Ada beberapa instruksi yang menggunakan pengalamatan langsung:
Instruction Pengajaran Description Deskripsi
lxi lxi B, value B, nilai
lxi D, value lxi D, nilai Stores value (2 bytes) into register pair (B + C) or (D + E). Toko nilai (2 byte) menjadi Pasangan register (B + C) atau (D + E).
lxi B,01234h ;Copy 12 into Reg B lxi B, 01234h; Salin ke Reg B 12
; and 34 into Reg C ; Dan 34 ke C Reg
ldax ldax B B
ldax D ldax D Copy data from memory to register A, where memory address is stored in register pair (B + C) or (D + E) Salin data dari memori ke register A, di mana alamat memori disimpan dalam pasangan register (B + C) atau (D + E)
ldax B ;Copy data from address found in ldax B; Copy data dari alamat yang ditemukan
;Reg B+C to Reg A. ; Reg B + C untuk Reg A.
stax Stax B B
stax D Stax D Copy data from register A to memory, where memory address is stored in register pair (B + C) or (D + E) Salin data dari register A ke memori, di mana alamat memori disimpan dalam pasangan register (B + C) atau (D + E)
stax D ;Copy data from Reg A to memory Stax D; data dari Reg A Salin ke memori
;where address is in Reg D+E , Dimana alamat di Reg D + E
inx inx B B
inx D inx D Increment register pair (B + C) or (D + E). Kenaikan mendaftarkan pasangan (B + C) atau (D + E).
Note that this does not increment both registers; rather, it treats the register pair as a single 2-byte number, adding 1 to the right-most (low-order) bit. Catatan bahwa ini tidak selisih kedua register, melainkan memperlakukan pasangan mendaftar sebagai nomor 2-byte tunggal, menambahkan 1 ke paling kanan (orde-rendah) bit.
Dengan menggunakan petunjuk ini, contoh sebelumnya sekarang dapat dilaksanakan sepenuhnya.. Untuk melakukan hal ini, alamat dari array harus ditempatkan dalam register pasangan B + C, yang akan bertambah di dalam loop Catatan instruksi pengalamatan tidak langsung ditampilkan dalam warna merah:
lxi B, TABLE ; Address of TABLE to Reg pair (B+C) lxi B, Tabel; Alamat TABLE untuk memasangkan Reg (B + C)
mvi E, 10 ; Initialize loop counter MVI E, 10; loop Inisialisasi counter
LOOP: in 01h ; Keyboard input to Reg A LOOP: di 01h; masukan Keyboard Reg A
stax B ; [B+C] := A Stax B; [B + C]: = A
inx B ; BC := BC + 1 inx B; SM: = + 1 SM
dcr E ; Decrement the loop counter DCR E; penurunan loop counter
jnz LOOP ; If not zero, go back jnz LOOP; Jika tidak nol, kembali
hlt hlt
TABLE: .ds 10 TABEL: 10. Ds
SUM: .db 0 SUM:. Db 0
Setelah ini dilakukan, loop lain dapat digunakan untuk menambahkan 10 nilai dalam array:
lxi B, TABLE ; Address of TABLE to Reg pair (B+C) lxi B, Tabel; Alamat TABLE untuk memasangkan Reg (B + C)
mvi E, 10 ; Initialize loop counter MVI E, 10; loop Inisialisasi counter
mvi D, 0 ; Initialize sum MVI D, 0; Inisialisasi jumlah
LOOP: ldax B ; A := [B+C] LOOP: B ldax; A: = [B + C]
add D ; New sum in A menambahkan D; Baru jumlah dalam A
mov D, A ; Save new sum to D mov D, A; Simpan uang baru untuk D
inx B ; BC := BC + 1 (increment array address) inx B; SM: = SM + 1 (selisih alamat array)
dcr E ; Decrement the loop counter DCR E; penurunan loop counter
jnz LOOP ; If not zero, go back jnz LOOP; Jika tidak nol, kembali
FINISH: mov A, D ; Put sum in reg A FINISH: mov A, D; jumlah Masukkan reg A
sta SUM ; Store to SUM SUM sta; Store untuk SUM
hlt hlt
• Randomizing Techniques
Padasampelacak(random sampling) dikenaldenganistilahsimple random sampling, stratified random sampling, cluster sampling, systematic sampling, danarea sampling. Pada non probability sampling dikenal beberapa teknik, antara lain adalah convenience sampling, purposive sampling, quota sampling, snowball sampling.
Simple Random Sampling atauSampelAcakSederhana
- Susun“sampling frame”
- Tetapkanjumlahsampelyang akandiambil
- Tentukanalatpemilihansampel
- Pilihsampelsampaidenganjumlahterpenuhi
Jika analisis penelitiannya cenderung deskriptif dan bersifat umum. Perbedaan karakter yang mungkin ada pada setiap unsure atau elemen populasi tidak merupakan hal yang penting bagi rencana analisisnya.
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar