Kelompok 3 Sistem Berkas [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MAKALAH SISTEM BERKAS ORGANISASI BERKAS RELATIF



KELOMPOK 3:    



FARHAN SYAH RIDOTILLAH FATHONI YAHYA GAGAS CAHYA GUMELAR HARI WIDODO



191011401057 191011401094 191011401025 191011401072



Fakultas Teknik – Teknik Informatika



Universitas Pamulang Jl. Raya Puspitek, Buaran, Kec. Pamulang, Kota Tangerang Selatan, Banten



i



DAFTAR ISI DAFTAR ISI.............................................................................................................................................1 BAB I......................................................................................................................................................2 Pendahuluan.........................................................................................................................................2 A.   Latar belakang.............................................................................................................................2 BAB II.....................................................................................................................................................3 ISI...........................................................................................................................................................3 a.



PENGERTIAN BERKAS RELATIF...............................................................................................3



b.



PENGERTIAN COLLISION........................................................................................................5



c.



PENDEKATAN TERHADAP MASALAH COLLISION DALAM SISTEM BERKAS.............................5



d.



Synonim Chaining..................................................................................................................8



f.



Perbandingan antara metode chaining dan open addressing..............................................13



g.



Keuntungan dan kerugian dari sebuah hashing...................................................................15



BAB III..................................................................................................................................................18 Penutup...............................................................................................................................................18 DAFTAR PUSTAKA................................................................................................................................19



1



BAB I Pendahuluan A.   Latar belakang Kemajuan Teknologi Informasi (TI) saat ini berkembang sangat pesat sesuai dengan tuntutan zaman yang membutuhkan kemudahan-kemudahan dalam menjalankan aktivitas kehidupan, termasuk akses untuk mendapatkan informasi dengan efisien. Biasanya informasi ini diakses serta diproses menggunakan komputer. Komputer pada saat ini merupakan perangkat yang vital dalam kebutuhan mengakses informasi, yang juga merupakan tulang punggung dalam dunia teknologi informasi.



Dalam suatu komputer, informasi (data) yang disimpan akan memiliki key address agar dapat disimpan ke memory. Akan tetapi bila key data tersebut sama, maka akan terjadi tabrakan (collision) dan pemecahan collision yang dikenal dengan collision resolution. Dalam makalah yang kami susun, kami menitikberatkan perngertian Collision dan penyelesaian Collision.



2



BAB II ISI a. PENGERTIAN BERKAS RELATIF Suatu cara yang efektif dalam mengorganisasi sekumpulan record yang membutuhkan akses sebuah record dengan cepat adalah organisasi berkas relatif. Dalam berkas relatif ada hubungan antara key yang dipakai untuk mengidentifikasi record dengan lokasi record dalam penyimpanan sekunder. Urutan record secara logik tidak ada hubungannya dengan urutan secara fisik. Record tidak perlu tersortir secara fisik menurut nilai key.



Gambar 1 : organisasi file relative



Bagaimana record yang ke-N dapat ditemukan ?? . Dalam hal ini, perlu kita buat hubungan yang akan menerjemahkan antara NILAI KEY dan ADDRESS. 3



Hubungan ini dinyatakan sebagai R, yang merupakan fungsi pemetaan. R(NILAI KEY) ---> ADDRESS Dari nilai key ke address dalam penyimpanan sekunder.



PROSES Pada waktu sebuah record ditulis ke dalam berkas relatif, fungsi pemetaan R digunakan untuk menerjemahkan NILAI KEY dari record menjadadi ADDRESS, dimana record tersebut disimpan. Begitu pula pada waktu akan me-retrieve record dengan nilai key tertentu, fungsi pemetaan R digunakan terhadap nilai key tersebut, untuk menerjemahkan nilai key itu menjadi sebuah address dalam penyimpanan sekunder, dimana record tersebut ditemukan. Organisasi berkas relatif ini tidak menguntungkan bila penyimpanan sekundernya berupa media SASD seperti magnetic tape. Berkas relatif harus disimpan dalam media DASD seperti magnetic disk atau drum. Juga dimungkinkan untuk mengakses record-record dalam berkas relatif secara consecutive, tetapi perlu diketahui bahwa nilai key tidak terurut secara logik. Contoh Record dalam gambar 1, diretrieve secara consecutive; COW, ZEBRA, … , APE, EEL, DOG, … , CAT, BAT Karena kemampuan mengakses record tertentu secara cepat, maka organisasi berkas relatif paling sering digunakan dalam proses interactive. Contoh Sebuah on-line sistem perbankan yang mempunyai sebuah master file dan sebuah transaksi file. Field account number dipakai sebagai nilai key untuk kedua berkas tersebut. Pada saat nilai key account number dimasukan kedalam transaksi, nilai key tersebut akan meretrieve secara langsung record yang ada pada master file.  Jika trans-type = ‘I’, maka balance account akan ditampilkan dilayar. Jika trans-type = ‘C’ atau ‘D’, maka record-record dari master file customer account akan dimodifikasi dengan amount dan date yang ada ditransaction file, dimana account number yang menentukan lokasi record dalam berkas tersebut. 4



Catatan : - Kita tidak perlu mengakses semua record master file, cukup mengakses langsung record yang dikehendaki. - Record dari berkas relatif dapat diupdate langsung tanpa perlu merekam kembali semua record. - Keuntungan dari berkas relatif ini adalah kemampuan mengakses record secara langsung, sebuah record dapat diretrieve, insert, modifikasi atau didelete, tanpa mempengaruhi record lain dalam berkas yang sama. Ada 3 teknik dasar yang digunakan untuk menyatakan fungsi pemetaan R, dimana R(nilai key) address 1. Direct mapping (pemetaan langsung) 2. Directory look up (pencarian tabel) 3. Calculation (kalkulasi)



b. PENGERTIAN COLLISION Dikatakan terjadi collision (tabrakan) jika dua buah keys dipetakan pada sebuah sel. Collision bisa terjadi saat melakukan insertion (penyisipan/pemasukan data). Collision juga dapat terjadi saat penyimpanan data dengan menggunakan hashing, maka hubungan korespondensi satu-satu (perkawanan) antara record key dengan alamat record akan hilang. Karena hashing mengubah data tersebut, key data tersebar secara acak dan jauh meskipun memiliki jenis akar data yang mirip. Karena data tersebut dipecah dengan cara hashing, maka selalu ada kemungkinan dimana terdapat 2 buah atau lebih record yang berbeda dengan key berbeda namun memiliki home address yang sama = collision (tabrakan).



c. PENDEKATAN TERHADAP MASALAH COLLISION DALAM SISTEM BERKAS 



COLLISION  :: Key yang berbeda dapat berada dalam lokasi/indeks yang sama Hal ini disebut  collision  :: key yang ber-collising disebut  synonyms.  :: Usaha / prosedur untuk memecahkan masalah yang timbul akibat collision disebut collision resolution







Collision Resolution  Collision resolution merupakan proses untuk menangani kejadian dua atau lebih 5



key di-hash ke alamat yang sama.  Cara yang dilakukan jika terjadi collision adalah mencari lokasi yang kosong dalam tabel Hash  secara terurut.  Cara lainnya adalah dengan menggunakan fungsi Hash yang lain untuk mencari lokasi kosong tersebut.  



Pendekatan terhadap masalah Collision  1. Open Addressing Menemukan address yang bukan home address untuk K2 dalam berkas relatif.   Contoh :                      K1 = 1      K2 = 1                       R1           R2 



2. Separate Overflow Menemukan address untuk K2 diluar dari primary area dalam  berkas relatif, yaitu di overflow area yang dipakai hanya untuk menyimpan record-record yang tak dapat disimpan di home addressnya. Contoh : 



  Teknik untuk mengatasi collision :   1. Linier Probing, yang merupakan teknik open addresing. Merupakan sebuah proses pencarian secara sequential/linear  dari home address sampai lokasi yang kosong.



6



Contoh linier probing  Ukuran tabel = 11 dan file berisi 8 record dengan nilai kunci sebagai berikut:12,21,68,32,56,77 Maka alamat awal hash dengan metode pembagian sisa: (12 mod 11)+1=1+1=2; simpan 12 dilokasi 2 (21 mod 11)+1=10+1=11; simpan 21 dilokasi 11 (68 mod 11)+1=2+1=3; simpan 68 dilokasi 3 (32 mod 11)+1=10+1=11; diuji (probe) di dilokasi 11; terjadi kolisi sehingga: (11 mod 11)+1=0+1=1; simpan 32 dilokasi 1 (56 mod 11)+1=1+1=2; diuji (probe) di dilokasi 2; terjadi kolisi sehingga:   (2 mod 11)+1=2+1=3; diuji di lokasi 3; terjadi kolisi sehingga:   (3 mod 11)+1=3+1=4; simpan 56 dilokasi 4 (77 mod 11)+1=0+1=1; diuji di lokasi 1; terjadi kolisi sehingga:   (1 mod 11)+1=1+1=2; diuji di lokasi 2; terjadi kolisi sehingga:    (2 mod 11)+1=2+1=3; diuji di lokasi 3; terjadi kolisi sehingga:   (3 mod 11)+1=3+1=4; diuji di lokasi 4; terjadi kolisi sehingga:   (4 mod 11)+1=4+1=5; simpan 77 di lokasi 5 Maka hashing dengan metode pembagian sisa dengan linear probing: 



  2.Linear Quotient (metode bagi hasil secara linier)  Ukuran tabel = 11 dan file berisi 8 record dengan nilai kunci sebagai berikut: 12,21,68,32,56,77 Maka alamat awal hash dengan metode pembagian sisa: (12 mod 11)+1=1+1=2; simpan 12 dilokasi 2 (21 mod 11)+1=10+1=11; simpan 21 dilokasi 11 (68 mod 11)+1=2+1=3; simpan 68 dilokasi 3 (32 mod 11)+1=10+1=11; diuji (probe) di dilokasi 11; terjadi kolisi (q=2)->32:11=2 sisa 10  // jika q=0 maka di set menjadi q=1     ((11+2) mod 11)+1=2+1=3; diuji di lokasi 3; terjadi kolisi (q=1)    ((3+1) mod 11)+1=4+1=5; simpan 32 dilokasi 5 



7



(56 mod 11)+1=1+1=2; diuji (probe) di dilokasi 2; terjadi kolisi (q=5)->56:11=5 sisa 1    ((2+5) mod 11)+1=4+1=5; simpan 56 dilokasi 5 (q=1)     ..........  (77 mod 11)+1=0+1=1; simpan 77 dilokasi 1  Maka hashing dengan metode pembagian sisa dengan linear probing: 



d. Synonim Chaining Synonim chaining adalah suatu rangkaian pointer yang menghubungkan (link) antara satu alamat dengan alamat lain yang berada di separate overflow area. Hal ini dilakukan untuk mempercepat akses di area tersebut. Jadi, jika hasil perhitungan ternyata datanya bukan yang data dicari, maka akan di-link ke data yang berada di separate overflow area mulai dari awal alamatnya hingga ditemukan data yang dicari. Pendekatan pemecahan collision yang mengakses synonim dengan fasilitas link list untuk record-recordnya dalam kelas ekivalen. Adapun link list record-record dengan home address yang sama tak akan mengurangi jumlah collision, tetapi akan mengurangi waktu akses untuk me-retrieve record-record yang tak ada di home addressnya. Kelebihan dari metode chaining ini chaining ini adalah proses penghapusan yang relarif mudah dan penambahan ukuran tabel hash bisa ditunda untuk waktu yang lebih lama karena penurunan kinerjanya berbanding lurus meskipun seluruh lokasi pada table sudah penuh. Bahkan, penambahan ukuran tabel bias saja tidak perlu dilakukan sama sekali karena penurunan kinerjanya yang linier. Misalnya, table yang berisi record sebanyak dua kali lipat kapasitas yang direkomendasikan hanya akan lebih lambat dua kali lipat dibanding yang berisi sebanyak kapasitas yang direkomendasikan . Contoh 1 : KEY



HOME ADDRESS



ACTUAL ADDRESS



ADAMS



20



20



BATES



21



21



COLL



20



22



DEAN



21



23



8



EVANS



24



24



FLINT



20



25



Dapat digambarkan sebagai berikut : ADAMS



BATES



COLL



DEAN



EVANS



FLINT



20



21



22



23



24



25



Contoh 2 : KEY



HOME ADDRESS



ACTUAL ADDRESS



Brown



19



19



Black



15



15



Pink



16



16



Red



15



17



Green



17



18



White



17



20



Dapat digambarkan sebagai berikut :



Black



Pink



Red



Green



Brown



White



15



16



17



18



19



20



Keunggulan metode chaining dibanding open addressing: ·         Lebih mudah diimplementasikan dengan efektif dan hanya membutuhkan struktur data dasar. ·         Metode chaining tidak rawan terhadap data-data yang berkumpul di daerah tertentu. Metode open addressing membutuhkan algoritma hash yang lebih baik untuk menghindari pengumpulan data di sekitar lokasi tertentu. 9



·         Performa menurun secara linier. Meskipun semakin banyak record yang dimasukkan maka semakin panjang senarai berantai, tabel hash tidak akan penuh dan tidak akan menimbulkan peningkatan waktu pencarian record yang tibatiba meningkat yang terjadi bila menggunakan metode open addressing. ·         Jika record yang dimasukkan panjang, memori yang digunakan akan lebih sedikit dibandingkan dengan metode open addressing. Untuk ukuran record yang kecil, keunggulan metode open addressing dibandingkan dengan chaining diantaranya : ·         Ruang yang digunakan lebih efisien karena tidak perlu menyimpan pointer atau mengalokasi tempat tambahan di luar tabel hash. ·         Tidak ada waktu tambahan untuk pengalokasian memori karena metode open addressing tidak memerlukan pengalokasian memori. ·         Tidak memerlukan pointer.



e. Bucket Addressing Pendekatan lain dalam mengatasi collision adalah hash ke dalam block atau bucket yang dapat memberikan tempat sejumlah record. Contoh : Sebuah berkas relative mempunyai relative address space dari 0 sampai M dan sebuah bucket berukuran B record, address space akan terdiri dari B(M+1) record. Jika file terdiri dari N record, maka : N Factor Muat =    B(M + 1) B record dapat semuanya di hash kedalam relitf address yang sama tanpa menyebabkan collision. Pada saat sebuah bucket penuh, beberapa tempat baru harus ditemukan untuk record tersebut. Pendekatan dari masalah bucket penuh pada dasarnya sama dengan pendekatan untuk mengatasi collision dengan record addressing. 10



Jika open addressing dipakai, space dicari untuk bucket berikutnya (misal dengan linear probing) atau dalam bucket lainnya (misalnya dengan double hashing). Jika teknik separate overflow yang dipakai, record baru ditempatkan dalam suatu himpunan bucket yang dirancang khusu untuk tempat record yang tak dapat ditampung pada bucket primer.Bucket ini disebut bucket overflow. Record-record yang disimpan dalam sebuah bucket dapat dikelola dalam : –        Dapat disipkan dalam urutan berdasarkan penempatannya di bucket –        Dapat dipertahankan urutan nilai key-nya. Bucket addressing ini umum dipakai. Ukuran dari sebuah bucket dapat ditentukan oleh ukuran track atau sector dalam DASD. Ukuran bucket umumnya sama dengan ukuran block untuk file. Satu keuntungan penting dari penggunaan bucket yang dapat menampung banyak record ini adalah record dengan panjang yang berbeda dapat dipakai. Contoh : HOME



KEY



ADDRESS



Green



30



Hall



30



Jenks



32



King



33



Land



33



Mark



33



Nutt



33



                                 Dapat digambarkan sebagai berikut : BUCKET ADDRESS



BUCKET CONTENT



11



30



Green



Hall



...



31 32



Jenks



33



King



... Land



Marks



...



 Contoh 1: HOME



KEY



ADDRESS



John



10



Geek



15



Nerd



16



Herp



16



Derp



17



Troll



17



Zen



17



Bien



18



Yaoming



19



                                 Dapat digambarkan sebagai berikut : BUCKET



BUCKET CONTENT



ADDRESS 10



John



...



Geek



...



11 12 13 14 15



12



16



Nerd



Herp



...



17



Derp



Troll



18



Bien



...



19



Yaoming



...



Zen



...



20



f.  Perbandingan antara metode chaining dan open addressing Keunggulan metode chaining dibanding open addressing: 1. Lebih mudah diimplementasikan dengan efektif dan hanya membutuhkan struktur data dasar. 2. Metode chaining tidak rawan terhadap data-data yang berkumpul di daerah tertentu. Metode open addressing membutuhkan algoritma hash yang lebih baik untuk menghindari pengumpulan data di sekitar lokasi tertentu. 



3. Performa menurun secara linier. Meskipun semakin banyak record yang dimasukkan maka semakin panjang senarai berantai, tabel hash tidak akan penuh dan tidak akan menimbulkan peningkatan waktu pencarian record  yang tibatiba meningkat yang terjadi bila menggunakan metode open addressing. 4. Jika record yang dimasukkan panjang, memori yang digunakan akan lebih sedikit dibandingkan dengan metode open addressing.  Perbandingan waktu yang diperlukan untuk melakukan pencarian. Saat tabel mencapai 80% terisi, kinerja pada linear probing(open addressing)menurun drastis. Untuk ukuran record yang kecil, keunggulan metode open addressing dibandingkan dengan chaining diantaranya 



 Ruang yang digunakan lebih efisien karena tidak perlu menyimpan pointer atau



mengalokasi  tempat tambahan di luar tabel hash. 



 Tidak ada waktu tambahan untuk pengalokasian memori karena metode open



addressing tidak memerlukan pengalokasian memori.



13







Tidak memerlukan pointer. Sebenarnya, penggunaan algoritma apapun pada



tabel hash biasanya cukup cepat, dan persentase kalkulasi yang dilakukan pada tabel hash rendah. Penggunaan memori juga jarang berlebihan. Oleh karena itu, pada kebanyakan kasus, perbedaan antar algoritma ini tidak signifikan. •> Metode-metode lain Selain metode-metode yang sudah disebutkan di atas, ada juga beberapa metode lain diantaranya : 1. Coalesced hashing Gabungan dari chaining  dan openaddressing. Coalesced hashing menghubungkan ke tabel itu sendiri. Seperti open addressing, metode ini memiliki keunggulan pada penggunaan tempat dan cache dibanding metode chaining. Seperti chaining, metode ini menghasilkan lokasi penyimpanan yang lebih menyebar, tetapi pada metode ini record yang disimpan tidak  mungkin lebih banyak daripada ruang yang disediakan tabel. 2. Perfect hashing Jika record yang akan digunakan sudah diketahui sebelumnya, dan jumlahnya tidak melebihi jumlah ruang pada tabel hash, perfect hashing bisa digunakan untuk membuat tabel hash  yang sempurna, tanpa ada bentrokan. 3. Probabilistic hashing Kemungkinan solusi paling sederhana untuk mengatasi bentrokan adalah dengan mengganti record yang sudah disimpan dengan record yang baru, atau membuang record yang baru akan dimasukkan. Hal ini bisa berdampak tidak ditemukannya record  pada saat pencarian. Metode ini digunakan untuk keperluan tertentu saja. 4. Robin Hood hashing Salah satu variasi dari resolusi bentrokan double hashing. Ide dasarnya adalah sebuahrecord yang sudah dimasukkan bisa digantikan dengan record yang baru jika nilai pencariannya (probe count  – bertambah setiap menemukan termpat yang sudah terisi) lebih besar daripada nilai pencarian dari record yang sudah dimasukkan. Efeknya adalah mengurangi kasus terburuk waktu yang diperlukan untuk pencarian.



14



g. Keuntungan dan kerugian dari sebuah hashing Keuntungan pemakaian Hashing : • Nilai key yang sebenarnya dapat dipakai karena diterjemahkan kedalam sebuah alamat. • Nilai key adalah address space independent bila berkas direorganisasi, fungsi hash berubah tetapi nilai key tetap. Kelemahannya : • Membutuhkan waktu proses dalam mengimplementasikan fungsi hash. • Membutuhkan waktu proses dan akses I/O dalam mengatasi benturan. Hashing dapat digunakan bersama-sama dengan pencarian tabel. Penampilan fungsi hash bergantung pada : • Distribusi nilai key yang dipakai • Banyaknya nilai key yang dipakai relatif terhadap ukuran dari ruang alamat. • Banyaknya record yang dapat disimpan pada alamat tertentu tanpa menyebabkan benturan. • Teknik yang dipakai untuk mengatasi benturan



Beberapa fungsi hash yang umum digunakan : • Division Remainder • Pada division remainder, alamat relatif dari suatu nilai key merupakan sisa dari hasil pembagian nilai key tersebut dengan suatu bilangan yang disebut sebagai bilangan pembagi. Contoh : Bila DIV adalah pembagi, KEY adalah nilai key dan ADDR adalah alamat relatif, maka dalam bahasa Pascal, fungsi R(NILAI KEY) ---> ADDRESS dapat di implementasikan : ADDR := KEY MOD DIV Dalam bahasa COBOL : DIVIDE KEY BY DIV GIVING TEMP REMAINDER ADDR Sisa pembagian (Sebagai hasil dari fungsi MOD pada Pascal), dapat dijabarkan sebagai berikut : ADDR := KEY - DIV * TEMP 15



ADDR Harus merupakan bilangan integer. -----------------------------------------Banyak faktor yang harus dipertimbangkan dalam pemilihan pembagi : • Jangkauan dari nilai key yang dihasilkan dari opersi KEY MOD DIV adalah 0 sampai DIV1. Nilai dari DIV menentukan ukuran "relatif address space". Jika diketahui berkas relatif terdiri dari N record dan dianggap hanya satu record dapat disimpan dalam sebuah alamat relatif, maka akan didapat DIV > N. • Pembagi harus diseleksi untuk mengurangi benturan. Penyelidikan menunjukkan bahwa pembagi yang berupa bilangan genap akan cenderung jelek, terutama dengan nilai key-nya yang dominan ganjil. • Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan bilangan prima. Tetapi riset lain dari V.Y.Lum, menyatakan pembagi yang bukan bilangan prima akan memberikan hasil yang sama baik seperti bilangan prima. • Menurut pendapatnya, bukan bilangan prima yang mempunyai faktor prima kurang dari 20 akan dapat memberikan jaminan penampilan yang lebih baik. • Walaupun kita telah menentukan pembagi dengan baik untuk mengatasi benturan, bila ruang alamat dari berkas relatif mendekati penuh, maka peluang terjadinya benturan akan meningkat.



Untuk mengukur kepenuhan berkas relatif digunakan Load Factor (Faktor Muat). Load Factor =  banyak record dalam berkas max. banyak record dalam berkas Biasanya load factor yang sering digunakan adalah 0.7 atau 0.8. Jika load factor lebih besar dari 0.7 atau 0.8 maka berkas tersebut harus diperbesar dan direorganisasi. Jadi jika kita ingin menyimpan sebanyak n record pada suatu berkas dan load factor adalah 0.8, maka max. banyak record pada berkas adalah 1.25 n.



Contoh : 16



Kita ingin membuat berkas yang terdiri dari 4000 record.  Load Factor (Faktor muat) = 0.8 maka max. banyak record pada berkas :  (1.25) n = (1.25) . 4000 = 5000 Bilangan pembagi : 5003 123456789 _________ 5003 = 24676 sisa 2761 + 1 alamat relatif  987654321 = 197412 sisa 2085 + 1 _________ 5003 



17



BAB III Penutup A.   Kesimpulan



            Dalam penympanan data di komputer dapat terjadi collision yang disebabkan oleh samanya alamat (address). Penyelesaiannya atau Collision Resolution dari masalah ini adalah dengan menggunakan metode Open Addressing, Synonim Chaining, Bucket Addressing. Dan tujuan dari metode-metode ini adalah agar tidak terjadinya kehilangan data dan tidak dapat dipanggil lagi.



18



DAFTAR PUSTAKA https://artgus16.blogspot.com/2017/01/pendekatan-terhadap-masalah-collision.html http://pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html http://luqmanh-fst10.web.unair.ac.id/artikel_detail-69903-kegiatan%20akademik-pengertian %20Hash.html http://www.google.com/url? sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CFsQFjAJ&url=http%3A%2F %2Ftarjianto.files.wordpress.com%2F2010%2F02%2Ftugas-akhir-sistem-berkas-hash-filedan-multiringfile.pdf&ei=cwhfVJu0I8OhugT8voLAAw&usg=AFQjCNHtxKh6pgKYsY_fpRCJRbCcifeO nw&sig2=RONz3NGSt1rPfnukh02Tow http://www.indirpan.wapsite.me/Materi%20UNPAM/Sistem%20Berkas/Organisasi %20Berkas%20Relatif



19