loading...
iklan tautan
struktur dan organisasi data
Data didefinisikan sebagai “the plural of datum,” (http://www.webopedia.com/TERM/D/data.html). Karena sudah bermakna plural (jamak), maka tidak boleh lagi kita mengucap atau menulis “data-data,” “kumpulan data,” dan sejenisnya.
Bagi manusia, data dapat merupakan segala sesuatu (stimulus) yang dapat ditangkap oleh indera manusia. Berbeda dengan manusia, data bagi komputer adalah segala sesuatu yang dapat dilambangkan, dikodekan, atau didigitalisasikan ke dalam lambang-lambang atau kode-kode yang dimengerti oleh komputer.
Data is information that has been translated into a form that is more convenient to move or process. Relative to today's computers and transmission media, data is information converted into binary digital form.
UKURAN DATA di KOMPUTER
Bagian terkecil data di komputer disebut dengan bit, singkatan dari binary digit. Bit adalah ada-tidaknya arus listrik yang melalui rangkaian digitalnya. Bila ada, maka akan dilambangkan dengan ”on” atau “1” sedangkan bila tidak ada, akan dilambangkan dengan off atau “0”.
A bit refers to a digit in the binary numeral system (base 2). For example, the number 10010111 is 8 bits long. Binary digits are almost always used as the basic unit of information storage and communication in digital computing and digital information theory. (http://en.wikipedia.org/wiki/Bit)
Kumpulan dari bit adalah byte :
A byte is a collection of bits, originally variable in size but now almost always eight bits. Eight-bit bytes, also known as octets, can represent 256 values (28 values, 0 - 255). A four-bit quantity is known as a nibble, and can represent 16 values (24 values, 0 - 15).
"Word" is a term for a slightly larger group of bits, but it has no standard size. It represents the size of one register in a Computer-CPU. In the IA-32 architecture, 16 bits are called a "word" (with 32 bits being a double word or dword), but other architectures have word sizes of 8, 32, 64, 80 or others.(http://en.wikipedia.org/wiki/Bit)
Kumpulan dari byte adalah field atau attribute atau entities :
In computing, attributes are entities that define properties of objects or elements, i.e. they are parameters of objects. Attributes usually consist of name and value.
Contoh : nama atribut (name) = NPM, nilainya (value) = “10105697”
nama atribut (name) = GAJI, nilainya (value) = 2000000
Kumpulan dari byte adalah record atau tuple :
Records are composed of fields, each of which contains one item of information. A set of records constitutes a file. For example, a personnel file might contain records that have three fields: a name field, an address field, and a phone number field.
Kumpulan dari record adalah file, atau table, atau entity set, atau object, atau data store :
A collection of data or information that has a name, called the filename. Almost all information stored in a computer must be in a file. There are many different types of files: data files, text files, program files, directory files, and so on. Different types of files store different types of information. For example, program files store programs, whereas text files store text.
Secara sederhana dapat dikatakan bahwa segala sesuatu yang disimpan ke dalam komputer (terutama di memori sekundernya) disebut dengan file. Setiap file memiliki nama file dan extensionnya, misalkan, nama filenya adalah CATAT.DOC (DOC sebagai nama extension yang menandakan bahwa file tersebut berisi dokumen atau file berjenis dokumen).
A file is a collection of information that a computer uses. It is always in a particular format. For example, if you created a Microsoft Word document, the file is saved so that Microsoft Word can read it and open it. Often files cannot be opened to read, they are simply data files the computer and techno-weenies understand, but we cannot. Files are made up of the filename, and the extension.
Beberapa jenis file lain :
image file (extension : JPG, BMP, GIF, MIX, MPT, NRG, PAC, PCD, PDA, SG, dsb.)
video file (extension : ASX, MMM, MMP, MOV, MVA, NAP, QT, QTM, RM, SCM, dsb)
text file (extension : ASC, TXT, DOX, LJ, LWD, MSW, NB, OLI, OTX, PC, STQ, dsb.)
audio file (extension : AUD, MDL, MID, MJF, MP3, NXT, PCM, RMI, SD, SHN, UL, dsb.)
program file (extension : COM, CPP, PAS, COB, PRG, BAS, QBS, FOR, UPI, WFP, dsb.)
batch file (extension : BAT, BCH, BTM, CMD, CMM, ESH, WBT, WBF, dsb.)
document file (extension : DOC, DOB, LL3, MCW, PUB, PWD, SAM, WP, WPD, dsb.)
executable file (extension : CAC, EXE, FMX, FRM, MEX, NTR, NTS, OPO, TRS, dsb.)
library file (extension : A, LIB, LDL, LDF, MLB, PBL, PLB, PVL, QLB, SDL, TLB, dsb.)
report file( extension : DRC, FRG, MAR, PSR, QRP, REP, FRT, FRX, REX, RPT, dsb.)
history file (extension : HST, LCS, dsb.)
dump file (extension : DMP, FZB, FZF, FZV, SDS, SDX, dsb.).
dan berbagai jenis file lainnya.
Adapun istilah seperti work file adalah file yang sedang dibuka untuk dilakukan proses terhadapnya. Istilah input file adalah file yang digunakan sebagai input (data) dari suatu proses yang sedang dikerjakan, dan output file adalah file yang digunakan sebagai penampung dari hasil suatu pemrosesan. Output file dapat berupa data file maupun dokumen (hasil cetakan printer). Bisa saja terjadi, sebuah file merupakan work file sekaligus input dan output file.
Kumpulan dari file(dan file adalah kumpulan record) adalah database (basis data) :
A database is a collection of logically related data designed to meet the information needs of one or more users. A possible definition is that a database is a collection of records stored in a computer in a systematic way, so that a computer program can consult it to answer questions.
Kumpulan dari database adalah databank :
A collection of databases, whereby integrity of data, organized by a database-management system (DBMS) program, is maintained by controlling access to the application programs by the users. (http://www.allwords.com/word-databank.html)
DATA FILE
Data file terdiri atas 2 jenis, yakni : (1) master file, dan (2) transaction file. Mari kita tinjau perbedaan dari kedua jenis data file tersebut. Jika ditinjau dari segi perubahan isi dataya (data value), maka master file relatif lebih jarang berubah ketimbang transaction file. Contoh isi dari file MAHASISWA akan relatif lebih lama berubah jika dibanding isi dari file KRS (Kartu Rencana Studi).
Jika ditinjau dari klasifikasi data, maka master file termasuk jenis (kelompok) data tetap (yang isinya relatif jarang berubah), sedangkan transaction file masuk ke jenis (kelompok) data tidak tetap (isinya relatif sering berubah, contoh KRS), dan masuk ke jenis kelompok data yang bertambah menurut waktu (contoh Transkrip Nilai).
Master file adalah :
A collection of records pertaining to one of the main subjects of an information system, such as customers, employees, products and vendors. Master files contain descriptive data, such as name and address, as well as summary information, such as amount due and year-to-date sales.
Secara nyatanya, master file adalah file atau objek yang harus ada di suatu enterprise (unit usaha atau unit kegiatan) yang apabila tidak ada objek tersebut, maka unit usaha tersebut tidak akan berjalan sebagaimana fungsinya. Sebagai contoh, unit usaha yang kita amati adalah sebuah SEKOLAH. Pertanyaannya adalah : objek-objek apa yang harus ada di sekolah sehingga sekolah tersebut dapat berjalan sebagai mana mestinya ?.
Tentu jawabannya :
1. Harus ada SISWAnya;
2. Harus ada GURUnya;
3. Harus ada MATA PELAJARANnya;
4. Harus ada TATA-TERTIBnya;
5. Harus ada UANG-SEKOLAHnya;
dan sebagainya.
Tanpa siswa, bagaimana mungkin sekolah itu dapat menjalankan fungsinya ?, tanpa guru demikian juga, dan seterusnya. Catatan-catatan (di dalam komputer disebut dengan data file) mengenai SISWA, GURU, dan sebagainya dimasukkan ke dalam kategori master file (berkas induk).
Sedangkan transaction file adalah catatan-catatan mengenai transaksi yang terjadi di dalam enterprise tersebut. Bisa jadi, transaction file adalah saling berelasinya atau berhubungnya satu atau lebih master file, dan transaction file dapat digunakan untuk mengupdate master file.
Transaction file bisa juga didefinisikan sebagai :
A collection of transaction records. The data in transaction files is used to update the master files, which contain the data about the subjects of the organization (customers, employees, vendors, etc.). Transaction files also serve as audit trails and history for the organization. Where before they were transferred to offline storage after some period of time, they are increasingly being kept online for routine analyses.
Catatan-catatan yang termasuk dalam transaction file di dalam sekolah antara lain :
1. ABSENSI
2. NILAI
3. TAGIHAN UANG SEKOLAH
4. PEMBAYARAN UANG SEKOLAH
5. RAPORT
6. Dan sebagainya
HUBUNGAN MASTER FILE dan TRANSACTION FILE
Pada intinya, tidak ada data yang tetap (tidak berubah). Baik master file maupun transaction file sama-sama akan mengalami perubahan, tinggal seberapa banyak frekuensi perubahan tersebut tergantung dari si penggunanya.
Master file dibagi menjadi dua jenis yakni reference master file dan dynamic master file. Reference master file adalah master file yang ketika terjadi transaksi isi datanya (data value) tidak ada yang mengalami perubahan. Sedangkan dynamic master file adalah master file yang ketika terjadi transaksi tidak ada isinya yang mengalami perubahan.
Contoh, di enterprise perpustakaan, terjadi transaksi “Anggota meminjam buku.” ANGGOTA dan BUKU adalah dua master file (karena perpustakaan tidak akan berfungsi jika tidak ada anggota dan/ atau buku), sedangkan MEMINJAM adalah file transaksi yang akan digunakan untuk mencatat hal-hal yang perlu dicatat, seperti tanggal pinjam, tanggal kembali, dsb.). Ketika peminjaman itu terjadi, isi data ANGGOTA tidak akan ada yang berubah (apakah seorang anggota yang semula bernama Ali, setelah meminjamn buku akan menjadi Badu ?, tentu tidak). Karenanya file ANGGOTA masuk ke dalam kategori reference master file.
Apakah ada yang berubah dari file BUKU ketika transaksi itu terjadi ?. Tentu ada, karena di file BUKU ada data yang mencatat tentang jumlah buku yang tersedia di perpustakaan (STOK). Setiap transaksi peminjaman terjadi, maka stok akan berkurang, dan setiap ada ada transaksi pengembalian, stok akan bertambah. Karenanya, file BUKU masuk ke dalam katagori dynamic master file.
PENENTUAN FIELD (ATRIBUT) di DALAM SEBUAH FILE
Kita harus berhati-hati dalam penentuan pemberian atribut-atribut yang dibutuhkan di dalam sebuah file. Atribut adalah karakteristik-karakteristik yang merupakan bagian dari suatu file. Misalkan, file MAHASISWA, apa saja atributnya ?.
Tentu saja, atribut-atribut dari mahasiswa bisa berupa : NPM, NAMA, KELAS, TINGGI BADAN, BERAT BADAN, WARNA KULIT, ALAMAT RUMAH, NOMOR HP, dan sebagainya.
Tapi, tentu saja kita harus memilih atribut-atribut yang diperlukan saja (dibutuhkan dalam proses), sehingga tinggal NPM, NAMA, KELAS, ALAMAT RUMAH, dan bisa saja NOMOR HP. Sedangkan sisanya, seperti TINGGI BADAN tidak diperlukan karena tidak akan diproses.
Agar memudahkan penjelasan, maka master file akan digambarkan dengan lambang kotak persegi, transaction file digambarkan dengan diamond, dan atribut (field) akan digambarkan dengan elips. Perhatikan gambar berikut ini :
Manakah atribut(-atribut) yang bukan merupakan atribut dari file MATA KULIAH di atas ?. Kita reka-reka isi setiap atributnya, misalkan :
KD_MK = “KD-10121”
NM_MK = “Pancasila”
SKS = 2
NM_DOSEN = “Drs. A. Muchji, MM”
KELAS = “2KA03”
Tentu saja yang tidak boleh adalah NM_DOSEN dan KELAS karena mata kuliah “Pancasila” bukan hanya diajar oleh “Drs. A. Muchji, MM” dan bukan hanya untuk kelas “2KA03” saja. Nama dosen adalah atribut dari DOSEN, dan kelas adalah atribut dari MAHASISWA.
Berikut gambaran mengenai keterhubungan antara MAHASISWA dan MATA KULIAH beserta transaction file-nya.
Secara sederhana, transaksi di atas dapat dibaca : “Mahasiswa (bertransaksi) mengambil mata kuliah, akibat transaksi tersebut, maka mahasiswa (akan) mendapat nilai.”
Secara sederhana, transaksi di atas dapat dibaca : “Mahasiswa (bertransaksi) mengambil mata kuliah, akibat transaksi tersebut, maka mahasiswa (akan) mendapat nilai.”
PROGRAM FILE (FILE PROGRAM)
File program adalah file yang berisi instruksi-instruksi yang akan dijalankan oleh komputer. Instruksi-instruksi itu utamanya ditulis dengan bahasa pemograman (programming language), misalkan C++, Cobol, Pascal, Fortran, dan sebagainya.
Sistem komputerisasi (misalkan sistem administrasi penjualan barang), terdiri atas program-program komputer yang saling terhubung sehingga seluruh kebutuhan akan informasi penjualan barang oleh para user dapat diperoleh dari sistem komputerisasi tersebut.
Files program apa saja yang dibutuhkan oleh sebuah sistem ?, tentu harus dianalisis (dipelajari) dari kebutuhan-kebutuhan para user. Jika kita pandang sebuah file data, maka mungkin saja kita (akan) butuh untuk :
a) memasukkan, menambah, atau menyisipkan data ke dalam file data tersebut;
b) menghapus record dari file data tersebut;
c) mengubah isi (data value) dari file data tersebut;
d) mencari isi (data value) dari suatu field dalam file data tersebut;
e) mengurutkan file data tersebut berdasarkan field yang dipilih;
f) dan sebagainya.
Tentu saja, setiap keinginan kita itu harus dilakukan dengan menuliskan perintah kepada komputer.
Kita juga mungkin akan butuh laporan (report) yang dapat berupa :
a) laporan penjualan harian, mingguan, bulanan, dan tahunan;
b) laporan kondisi stok barang;
c) laporan pemesanan barang ke distributor;
d) laporan piutang ke distributor;
e) dan sebagainya.
Atau, mungkin juga kita akan butuh :
a) informasi mengenai harga jual suatu barang;
b) nama distributor dari suatu barang;
c) pelanggan yang paling sering bertransaksi;
d) dan sebagainya.
Jadi, suatu sistem komputerisasi akan membutuhkan ratusan (bahkan bisa ribuan) program, tergantung besar-kecilnya ruang-lingkup sistem yang ditangani. Itulah, perlunya membentuk kelompok (jaringan kerja) bagi orang-orang yang berkecimpung di dalam pembuatan sistem komputerisasi.
LATIHAN
Pandang sebuah toko bahan bangunan “PD. MAJU ZAYA” sebagai enterprise-nya.
1. Buatlah master file apa saja (dan tentukan mana yang termasuk dynamic dan mana yang reference dari master file tersebut) yang dibutuhkan;
2. Buatlah transaction file apa saja yang dibutuhkan;
3. Apa saja atribut yang dibutuhkan untuk mengkarakteristikkan suatu file BARANG yang ada di toko bahan bangunan tersebut ?. Analisislah hingga tidak ada atribut yang tertinggal yang dapat mengakibatkan hilangnya informasi terhadap suatu barang tersebut.
4. Jika Anda memiliki software house yang menangani pembuatan sistem komputerisasi, analisislah, (file) program-program apa saja yang dibutuhkan hingga semua informasi yang dibutuhkan user dapat ditangani oleh sistem yang akan Anda buat tersebut ?.
Catatan tambahan :
1 kilobyte (kB) | 210 | byte |
1 megabyte (MB) | 220 | byte |
1 gigabyte (GB) | 230 | byte |
1 terabyte (TB) | 240 | byte |
1 petabyte (PB) | 250 | byte |
1 exabyte (EB) | 260 | byte |
1 zettabyte (ZB) | 270 | byte |
1 yottabyte (YB) | 280 | byte |
Catatan Kuliah Kelas 2KA03 & 2KA07
Media Penyimpan File
(Mata kuliah Struktur & Organisasi Data 1)
Dosen : Bambang Wahyudi, SKom., MMSI
PENDAHULUAN
File (komputer) yang sudah kita buat, tentu harus kita simpan agar kelak dapat dipergunakan lagi. Ada berbagai media penyimpanan yang ada di pasaran saat ini. Mana yang akan dipilih, tentu harus disesuaikan dengan kebutuhan kita (pengguna).
Di komputer, ada dua jenis (istilah) memori (penyimpan file), yakni memori utama atau memori internal (disebut juga main memory, atau primary storage), dan yang kedua adalah memori sekunder atau memori eksternal (disebut juga dengan secondary memory atau external storage).
MAIN MEMORY
Memori utama komputer adalah memori yang dipasangkan dengan central processing unit (CPU) di dalam (motherboard) komputer, dan dikenal dengan istilah random access memory (RAM). Memori utama komputer tersebut berhubungan langsung dengan CPU melalui “memory bus (address bus)” dan “data bus.”
Memori utama tersebut termasuk jenis volatile memory, yaitu memori yang bersifat sementara, artinya, jika komputer dimatikan, maka seluruh ingatan (data)nya akan hilang. Namun demikian, seluruh data atau informasi yang akan disimpan ke memori sekunder atau akan diolah, semua melalui memori utama ini.
Dalam perkembangannya, RAM memiliki varian yang cukup banyak, berikut contoh variannya:
- Video DRAM (VRAM)
- Fast Page Mode DRAM (FPM)
- Window RAM (WRAM)
- Extended Data Out (EDO) DRAM
- Burst EDO (BEDO) DRAM
- Multibank DRAM (MDRAM)
- Synchronous Graphics RAM (SGRAM)
- Synchronous Dynamic RAM (SDRAM)
- Direct Rambus DRAM (DRDRAM)
- Double Data Rate (DDR) SDRAM
- Quad Data Rate (QDR) SDRAM
- Pseudostatic RAM (PSRAM)
- 1T DRAM
Memori utama sebenarnya adalah bagian dari primary storage. Primary storage memiliki tiga bagian utama, yakni : (1) processor registers, (2) cache memory, dan (3) main memory.
- Processor registers are internal to the central processing unit. Registers contain information that the arithmetic and logic unit needs to carry out the current instruction. They are technically the fastest of all forms of computer storage, being switching transistors integrated on the CPU's silicon chip, and functioning as electronic "flip-flops".
- Cache memory is a special type of internal memory used by many central processing units to increase their performance or "throughput". Some of the information in the main memory is duplicated in the cache memory, which is slightly slower but of much greater capacity than the processor registers, and faster but much smaller than main memory. Multi-level cache memory is also commonly used - "primary cache" being smallest, fastest and closest to the processing device; "secondary cache" being larger and slower, but still faster and much smaller than main memory.
- Main memory contains the programs that are currently being run and the data the programs are operating on. The arithmetic and logic unit can very quickly transfer information between a processor register and locations in main storage, also known as a "memory addresses".
SECONDARY MEMORY
Memori sekunder komputer sering juga disebut dengan “mass-storage” (penyimpanan data yang sangat luas/ massal), karena, jika dibanding dengan memori utama, kapasitas memori sekunder jauh lebih besar. Misalkan, memori utama 64 megabyte (MB), memori sekundernya bisa 64 gigabyte (GB).
Dalam hal kecepatan transfer datanya, memori sekunder jauh lebih lambat dari memori utama. Contoh memori sekunder yang saat ini banyak digunakan adalah hard disk.
“The time taken to access a given byte of information stored on a hard disk is typically a few thousandths of a second, or milliseconds. By contrast, the time taken to access a given byte of information stored in random access memory is measured in thousand-millionths of a second, or nanoseconds.”
(http://www.en.wikipedia\Magnetic_tape_files\Computer_memory.htm
Memori sekunder bersifat non volatile memory, artinya, data tetap akan tersimpan dalam jangka waktu lama meskipun komputer dimatikan. Memori sekunder juga bisa dibagi jenisnya berdasarkan bisa dipindah-pindah atau tidak bisa dipindah-pindah dari read/ write head perlengkapan medianya. Sebagai contoh, hard disk merupakan media penyimpanan yang tidak dapat dipindah-pindah, sedangkan disket merupakan media pnyimpanan yang dapat dipindah-pindah. Proses perekaman data dapat dilakukan ke media penyimpanan yang bersifat mekanik, magnetik, maupun optik.
Berikut contoh-contoh media penyimpanan (memori) sekunder :
- Flash memory/memory card (solid state semiconductor memory)
- CompactFlash I and II
- SONY Memory stick (Std/Duo/Pro/MagicGate versions)
- Secure Digital
- MMC
- SmartMedia
- xD-Picture Card
- USB Keydrive (also known as a "thumb drive")
- Solid state disk
- Magnetic bubble memory
- Disk storage (flat, round, circularly-spinning object)
- Optical disc such as CD-ROM, CD-R, CD-RW, DVD, DVD-R, DVD-RW, DVD+R, DVD+RW, DVD-RAM, Blu-ray, Laserdisc, Minidisc
- Hard disk (magnetic)
- Holographic
- Floppy disk, ZIP disk (removable) (magnetic)
- Gramophone record (used for distributing some 1980s home computer programs) (mechanical)
- Tape storage (long, thin, flexible, linearly moving bands)
- Magnetic tape (a tape passing one or more read/write/erase heads)
- Paper tape (mechanical)
- Paper card storage
- Punched card (mechanical)
Perkembangan komputer (baik hardware maupun softwarenya) demikian pesat. Perhatikan saja perkembangan disket (floppy disk) berikut ini :
Floppy disk format | Year introduced | Formatted Storage capacity (binary kilobytes if not stated) | Marketed capacity¹ |
8-inch - IBM 23FD (read-only) | 1969 | 81.664 kilobytes | ← |
8-inch - Memorex 650 | 1972 | 175.000 kilobytes | 1.5 megabits unformatted |
8-inch - SSSD IBM 33FD / Shugart 901 | 1973 | 256.256 kilobytes | 3.1 megabits unformatted |
8-inch - DSSD IBM 43FD / Shugart 850 | 1976 | 512.512 kilobytes | 6.2 megabits unformatted |
5¼-inch (35 track) | 1976 | 89.6 | 110 kB |
8-inch DSDD IBM 53FD / Shugart 850 | 1977 | 1200 | 1.2 MB |
5¼-inch DD | 1978 | 360 | 360 kB |
3½-inch HP single sided | 1982 | 280 | 264 kB |
3-inch | 1982 | 360] | ← |
3½-inch (DD at release) | 1984 | 720 | 720 kB |
5¼-inch QD | 1984 | 1200 | 1.2 MB |
3-inch DD | 1984 | 720 | ← |
3-inch Mitsumi Quick Disk | 1985 | 128 to 256 | ← |
2-inch | 1985 | 720 | ← |
5¼-inch Perpendicular | 1986 | 100 MiB | ← |
3½-inch HD | 1987 | 1440 | 1.44 MB |
3½-inch ED | 1991 | 2880 | 2.88 MB |
3½-inch LS-120 | 1996 | 120.375 MiB | 120 MB |
3½-inch LS-240 | 1997 | 240.75 MiB | 240 MB |
3½-inch HiFD | 1998/99 | 150/200 MiB | 150/200 MB |
Singkatan: DD = Double Density; QD = Quad Density; HD = High Density, ED = Extended Density; LS = Laser Servo; HiFD = High capacity Floppy Disk SS = Single Sided; DS = Double Sided |
Catatan : Megabits <> Megabytes
Selain dua jenis memori di atas, ada juga yang membagi memori menjadi memori ketiga (tertiary storage), dan memori tidak terhubung (off-line storage) berikut ini :
“Tertiary storage is a system where a robotic arm will "mount" (connect) or "dismount" off-line mass storage media according to the computer operating system's demands. Tertiary storage is used in the realms of enterprise storage and scientific computing on large computer systems and business computer networks, and is something a typical personal computer user never sees firsthand.
Off-line storage is a system where the storage medium can be easily removed from the storage device. Off-line storage is used for data transfer and archival purposes. In modern computers, floppy disks, optical discs and flash memory devices including "USB drives" are commonly used for off-line mass storage purposes. "Hot-pluggable" USB hard disks are also available. Off-line storage devices used in the past include magnetic tapes in many different sizes and formats, and removeable Winchester disk drums”.
Catatan Kuliah Kelas 2KA03 & 2KA07
File Organization
(Mata kuliah Struktur & Organisasi Data 1)
Dosen : Bambang Wahyudi, SKom., MMSI
PENDAHULUAN
Data yang akan disimpan ke media penyimpanan komputer harus diatur, ditata, dikelola, atau diorganisasi. Pengorganisasian data disesuaikan dengan penggunaan (pengaksesan) data tersebut nantinya, atau dengan jenis media penyimpanannya.
Ada 4 jenis organisasi file, yakni (1) sequential, (2) relative atau random atau index, (3) index sequential, dan (4) multi key.
ORGANISASI FILE SEQUENTIAL
Data yang dimasukkan ke dalam file yang diorganisasi secara sequential akan dimasukkan secara serial (urut dari record pertama, kedua, dan seterusnya), baik data tersebut dimasukkan secara urut abjad dari salah satu fieldnya, maupun tidak.
“The records in a Sequential file are organized serially, one after another, but the records in the file may be ordered or unordered. The serial organization of the file and whether the file is ordered or unordered has a significant baring on how we process the records in the file and what kind of processing we can do.”
Misalkan, data pertama yang dimasukkan adalah “Budi,” kedua “Ani,” dan ketiga “Aan,” maka urutan berdasarkan nomor recordnya adalah :
1 Budi
2 Ani
3 Aan
PENAMBAHAN DATA
Penambahan data (record) pada file yang telah diorganisasikan secara sequential dilakukan di akhir record (menempati nomor record baru yang terakhir). Pada contoh di atas, bila ditambahkan data “Ali,” maka data tersebut berada di nomor record 4, setelah file tadi dibuka untuk perluasan (extend).
“To add records to an unordered Sequential File the file must be opened for EXTEND. Opening a file for EXTEND, positions the Next Record Pointer (NRP) at the end of the file, so that when records are written to the file, they are appended to the en”..
Andaikan, data semua (contoh di atas), dimasukkan secara urut abjad nama, maka urutan recordnya menjadi :
1 Aan
2 Ani
3 Budi
Lalu, bagaimana bila kita akan menambahkan “Ali” ?. Karena penambahan data itu harus urut (ordered), maka kata “penambahan data” menjadi “penyisipan data.” Hal ini tidak dapat dilakukan secara langsung karena prinsip penambahan data secara sequential adalah di akhir record.
Tentunya, kita harus membuat program lagi dan memerlukan file data baru agar letak dari “Ali” bisa sesuai dengan urutannya.
“To add records to an ordered file a major consideration is to preserve the ordering. This means that the record must be inserted into the file in the correct position. It can't just be added to the end of the file as it can with unordered files.As with all changes to ordered Sequential files we can't just insert the records into the existing file. To insert records into the file we have to create a new file that contains the inserted records”.
PENGHAPUSAN DATA
Untuk penghapusan data (record), prosedurnya sama, baik untuk sequential file yang terurut maupun yang tidak terurut, yaitu memerlukan file baru sebagai penampungnya. Misalkan, akan kita hapus data “Ani.”
Catatan Kuliah Kelas 2KA03 & 2KA07
Teknik Pengalamatan
(Mata kuliah Struktur & Organisasi Data 1)
Dosen : Bambang Wahyudi, SKom., MMSI
PENDAHULUAN
Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana.
Untuk media penyimpanan yang bersifat sequential access storage device (SASD) seperti kaset (magnetic tape), alamat tersebut tidak terlalu dipusingkan karena pasti data disimpan secara berurutan (sequential/ consecutive) mulai dari depan hingga ke akhir bagian dari pita kaset. Begitu juga dengan data yang diorganisasi secara sequential, di alamat manapun data disimpan, data akan tetap diakses secara berurutan pula, mulai dari record pertama hingga ke record terakhir.
Lain halnya dengan data yang diorganisasi secara relative yang disimpan di media penyimpanan yang bersifat direct access storage device (DASD), karena data yang akan diraih kembali, dituju langsung ke alamatnya tanpa melalui records lainnya (belum tentu dimulai dari data yang paling awal disimpan), maka alamat memori memegang peranan penting. Untuk itu, di catatan ini akan diterangkan beberapa cara melakukan penempatan data di memori agar kelak dapat diraih kembali dengan tepat, yang diberi judul “Teknik Pengalamatan.”
Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software). Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
Ada 3 teknik dasar untuk pengalamatan, yakni 1. Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing), 2. Pencarian Tabel (directory look-up), dan 3. Kalkulasi (calculating).
TEKNIK PEMETAAN LANGSUNG
1. PENGALAMATAN MUTLAK
Pandang, kita memiliki data teman-teman sekelas kita yang akan kita masukkan ke dalam memori (misal hard disk), data tersebut berjumlah 50 orang yang masing-masing terdiri atas atribut-atribut : NPM, NAMA, dan ALAMAT_RUMAH.
Jika data tersebut kita masukkan dengan organisasi file sequential, maka jika kita mencari data NPM = ‘10105787’ yang namanya ‘ALI’ dan beralamat di ‘Jl. Margonda No. 100, Depok’, maka pencarian akan dilakukan mulai dari record pertama (data pertama yang dimasukkan), dan seterusnya menuju ke record terakhir sampai ketemu data yang dicari tersebut.
Lain halnya jika data tersebut dimasukkan dengan organisasi file relative, maka data tersebut akan didapat secara langsung dari record yang dituju. Tentu, untuk langsung mendapatkan record yang dituju ada ‘sesuatu’ yang disebut dengan kunci atribut (key field). Kunci atribut itulah yang dikelola sedemikian rupa sehingga ‘kita’ bisa tahu dimana record tersebut disimpan.
Untuk teknik pengalamatan ‘alamat mutlak’ ini, kita tidak terlalu mempermasalahkan kunci atribut karena kita diminta langsung menuliskan di mana alamat record yang akan kita masukkan. Jika kita menggunakan hard disk atau magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1) cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder), permukaan (surface), dan record, sedangkan bila kita menggunakan sector addressing, maka kita harus menetapkan nomor-nomor dari sektor (sector), lintasan (track), dan permukaan (surface). Teknik ini mudah dalam pemetaan (pemberian) alamat memorinya. Sulitnya pada pengambilan (retrieve) data kembali, jika data yang kita masukkan banyak, kita bisa lupa di mana alamat record tertentu, misalkan apakah kita ingat nomor record dari data NPM = ‘10105787’ yang namanya ‘ALI’ dan beralamat di ‘Jl. Margonda No. 100, Depok’ ?, apakah kita harus menghafal selamanya alamat-alamat tersebut ?. Pelajari keuntungan dan kerugian lainnya.
Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.
2. PENGALAMATAN RELATIF
Teknik ini menjadikan atribut kunci sebagai alamat memorinya, jadi, data dari NPM dijadikan bertipe numeric(integer) dan dijadikan alamat dari record yang bersangkutan. Cara ini memang sangat efektif untuk menemukan kembali record yang sudah disimpan, tetapi sangat boros penggunaan memorinya. Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak digunakan karena nilai dari NPM tidak ada yang kecil. Pelajari keuntungan dan kerugian lainnya.Teknik ini termasuk dalam katagori address space dependent.
TEKNIK PENCARIAN TABEL
Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NPM) yang telah disorting (diurut) dan alamat memorinya.
Jadi, sewaktu dilakukan pencarian data, tabel yang pertama dibaca adalah tabel INDEX itu, setelah ditemukan atribut kuncinya, maka data alamat yang ada di sana digunakan untuk meraih alamat record dari data (berkas/ file/ tabel) yang sebenarnya. Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.
TEKNIK KALKULASI ALAMAT
Kalau pada teknik pencarian tabel kita harus menyediakan ruang memori untuk menyimpan tabel INDEX-nya, maka pada teknik ini tidak diperlukan hal itu. Yang dilakukan di sini adalah membuat hitungan sedemikian rupa sehingga dengan memasukkan kunci atribut record-nya, alamatnya sudah dapat diketahui. Tinggal masalahnya, bagaimana membuat hitungan dari kunci atribut itu sehingga hasilnya bisa efisien (dalam penggunaan memori) dan tidak berbenturan nilainya (menggunakan alamat yang sama).
Misal, untuk data si ALI di atas yang memiliki NPM = ‘10105787’, di mana akan kita letakkan ?. Bila yang kita lakukan adalah perhitungan : INT(VAL(NPM)/1000000) maka haslinya adalah 10, dengan demikian data si ALI akan disimpan di alamat 10. Tapi, apakah alamat 10 itu tidak akan digunakan oleh data lain dengan perhitungan yang sama ?, ternyata tidak. Untuk data si BADU yang NPMnya ’10105656’ juga di alamat tersebut, dan ternyata masih banyak juga yang ’rebutan’ untuk menempati alamat tersebut jika dilakukan dengan perhitungan seperti di atas.
Perhitungan (kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash. Bisa juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).
Fungsi hash dikatakan baik bila memiliki kalkulasi yang sederhana dan memiliki kelas ekivalen (synonim) yang kecil, atau sederhananya, memiliki kalkulasi yang mudah tetapi memiliki benturan alamat yang sedikit.
Ada beberapa cara untuk mengatasi benturan (collision) penggunaan alamat seperti di atas, antara lain : scatter diagram techniques, randomizing techniques, key to address transformation methods, direct addressing techniques, hash tables methods, dan hashing. Di sini, kita hanya membahas mengenai hashing. 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).
PENDEKATAN MASALAH BENTURAN (COLLISION)
Hampir semua teknik akan mengalami benturan dalam penggunaan alamat memorinya. Ada beberapa teknik untuk menyelesaikannya, yaitu linear probing dan separate overflow.
LINEAR PROBING
Metode ini dilakukan dengan cara : apabila hasil perhitungan key baru ternyata sama dengan hasil perhitungan key sebelumnya, maka dengan menambahkan hasil perhitungan tersebut dengan satu (per satu) (secara linear) sampai ke alamat memori yang masih kosong, ia akan menempati alamat tersebut.
Misal, hasil perhitungan adalah 300 sedangkan di alamat 300 sudah ada yang menempati, maka data baru akan menempati alamat 301, bila alamat tersebut juga sudah ada yang menempati, maka ia akan menempati alamat 302, dan seterusnya bertambah satu-satu hingga ke alamat yang masih kosong (belum ditempati). Hal semacam ini disebut dengan open addressing.
Begitu juga ketika data tersebut dipanggil kembali, maka jika tidak ketemu di home address-nya (hasil perhitungan awalnya), maka akan ditambahkan dengan satu per satu hingga di alamat tertentu yang recordnya memiliki nilai key sama dengan nilai key yang dicari.
DOUBLE HASHING
Dari namanya dapat diketahui bahwa double hashing adalah menjalankan fungsi hash yang kedua terhadap hasil fungsi hash yang pertama jika masih terjadi collision. Penempatan data dapat dilakukan di primary area atau home address-nya (hasil perhitungan sebenarnya, nilai interval yang mungkin dapat dijangkau dengan perhitungannya), atau di separate overflow area (area yang disediakan untuk menampung data yang berbenturan/ di luar area yang masuk dalam interval nilai perhitungannya).
Double hashing lebih baik dari linear probing pada faktor muat tinggi (lebih dari 0,8), dan sama baik pada faktor muat 0,5. Double hashing memiliki synonim (hasil perhitungan yang sama/ terjadi collision) berpencar sedangkan linear probing mengelompok pada faktor muat kurang dari 0,5.
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 data yang berada di separate overflow area mulai dari awal alamatnya hingga ketemu data yang dicarinya.
BUCKET ADDRESSING
Cara lain untuk menghindari benturan adalah pembuatan blok-blok memori. Misalkan, setiap 10 record akan kita tempatkan di dalam satu blok (bucket). Jika blok tersebut sudah penuh, maka dibuka kembali blok-blok lain. Perhitungan penempatan record ke dalam blok dapat dilakukan dengan teknik yang mirip dengan teknik-teknik sebelumnya. Begitu juga dengan pengambilan data kembali (retrieve) dilakukan dengan teknik-teknik yang sama dengan sebelumnya.
Istilah prime memory (memori yang ditempati oleh record yang sesuai dengan hasil perhitungannya) dan separate overflow (memori yang menampung record yang hasil perhitungannya berbenturan sehingga tidak bisa ditempatkan di memori sebenarnya) dipakai juga di sini. Istilahnya menjadi : primary bucket dan overflow bucket.
FILE ORGANIZATION : INDEX SEQUENTIAL
Selain organisasi berkas sequential dan relative yang telah dibahas sebelumnya, berikut akan dibahas mengenai organisasi berkas index sequential. Contoh sederhana dari organisasi ini adalah susunan data yang ada di sebuah buku kamus. Kita bisa mengakses buku kamus tersebut secara sequential (berurutan), maupun melalui index (daftar isi)nya. Jadi, file organization index sequential adalah file yang disusun sedemikian rupa sehingga dapat diakses secara sequential maupun secara direct (langsung), atau kombinasi keduanya, direct dan sequential.
Ada dua pendekatan dasar dalam menyusun organisasi berkas semacam ini, yaitu (1) blok index dan data, dan (2) prime dan overflow data area. Untuk cara pertama, kita menyusun data dengan lebih memperhatikan ke data yang bersifat logik, bukan fisik. Jadi, data dan index diorganisasikan ke dalam blok-blok. Blok-blok index (daftar isi dalam buku kamus) diorganisasi secara sequential (consecutive) dan bertingkat-tingkat (misal setiap blok hanya berisi 4 record index yang berisi key field dan pointer). Setiap tingkat akan menuju ke blok data (misal setiap blok hanya berisi 5 record data) di tingkat selanjutnya dan seterusnya menuju ke blok data yang akan mendapatkan record yang dicari secara direct (lihat skema di buku referensi hal. 60).
Bila dilakukan penyisipan data dan blok tertentu (tempat data baru itu) sudah penuh (tidak ada tempat kosong/ padding lagi), maka akan dilakukan reorganisasi blok dengan membentuk blok baru.Tentu, mungkin saja perubahan ini akan berdampak pada isi blok index-nya.
Pendekatan kedua adalah dengan lebih memperhatikan aspek karakteristik dari hardware (fisik) alat penyimpanan datanya. Biasanya disimpan di hard disk yang memiliki cylinder dan track. Caranya hampir sama dengan cara di pendekatan pertama, hanya di sini lebih ditekankan pada aspek fisik. Jadi, yang bertingkat-tingkat adalah cylender-nya dan blok datanya ditulis secara consecutive di setiap track (misalkan 1 cylinder berisi 4 track, nomor 0 sampai 3). Index (pencarian data) tertinggi disebut dengan master index, dari master index berturut-turut menuju ke blok-blok index tingkat berikutnya hingga meraih record data yang berada di track-nya.
Bila dilakukan penyisipan data dan track tertentu (tempat data baru itu) sudah penuh (tidak ada tempat kosong/ padding lagi), maka akan dilakukan reorganisasi track dengan membentuk track baru.Tentu, track baru itu di luar prime data file-nya, yaitu di overflow data area-nya.
FILE ORGANIZATION : MULTI KEY
Selain organisasi berkas sequential, relative, dan index sequential yang telah dibahas sebelumnya, berikut akan dibahas mengenai organisasi berkas multi key. Inti dari organisasi berkas ini adalah, sebuah berkas (file) harus dapat diakses secara langsung (direct) dari berbagai kunci atribut (key field) yang ditentukan.
Misalkan file MAHASISWA yang berisi biodata mahasiswa, harus bisa dicari record data seorang mahasiswa berdasarkan NPMnya, atau NAMAnya atau mungkin ALAMATnya. Organisasi berkas seperti ini sangat diperlukan karena berbagai user akan membutuhkan data yang sama dengan cara pandang yang berbeda. Sayangnya, jarang software database yang bisa melakukan hal ini (menyediakan fasilitas pengorganisasian berkasnya secara multi key).
Ada banyak cara untuk mengorganisasi berkas semacam ini, misalkan dengan cara (1) inversion, dan (2) multi-list. Cara inversion mirip dengan organisasi relative yang satu tabel index-nya berisi key field yang terurut dan sebuah pointer yang menunjuk ke alamat di mana data disimpan. Bedanya, karena di sini dibutuhkan banyak kunci, maka di tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
Cara kedua (multi-list) hampir sama dengan cara pertama, yaitu dibuat tabel index yang terurut key field-nya dan penunjuk ke nomor record (pertama) datanya, hanya di setiap record ditambahkan pointer (penunjuk) ke record-record berikutnya sesuai urutan key field yang ditentukannya. Tentu penunjuk itu akan berubah datanya bila akses dilakukan dengan key field lainnya.
SORT dan MERGE FILE
Banyak kebutuhan agar data harus diurut (sort), yang paling sederhana adalah ketika kita akan mencetak absensi mahasiswa. Jika data dicetak tanpa diurut, maka akan dibutuhkan waktu yang lebih lama bagi mahasiswa untuk mencari datanya di lembar absensinya. Padahal, sewaktu memasukkan data ke komputer dulu, kecil kemungkinan data diurut terlebih dulu secara manual karena data calon mahasiswa yang membayar uang kuliah dan menjadi mahasiswa juga tidak urut abjad.
Sortir yang dilakukan di komputer jaman sekarang umumnya cukup dilakukan di dalam memori utama komputer (internal sort), sedangkan pada masa lalu, sortir dilakukan sebagian-sebagian dengan bantuan memori sekunder (sebagai penampung sementara) sebelum akhirnya semua akan (di-merge) dan direkam ke memori sekunder itu.
Faktor-faktor yang mempengaruhi metode eksternal sort adalah : (1) jumlah record yang akan akan disortir, (2) ukuran (panjang) record, (3) jumlah storage yang digunakan, (4) kapasitas memori internal, dan (5) distribusi nilai key dalam input file. Berbagai macam teknik sort/ merge file adalah (a) natural merge, (2) balanced merge, (3) polyphase merge, dan (4) cascade merge.
NATURAL MERGE
M-natural merge adalah sebanyak m input file yang akan disortir/ merge untuk menghasilkan 1 buah output file yang sudah terurut. Contoh, untuk mengurut 6000 record data tetapi memori utama komputernya hanya dapat menampung 2000 record, maka file tersebut akan dijadikan 3 input file (3-way natural merge) yang akhirnya kembali disimpan menjadi sebuah output file yang sudah terurut.
BALANCE MERGE
Balance merge hampir sama dengan natural merge, namun kondisi awalnya adalah banyaknya input file seimbang dengan banyaknya output file (m-way balance merge berarti m-input file dan m-output file), meskipun pada akhirnya tidak demikian.
POLYPHASE MERGE
Polyphase merge merupakan teknik perbaikan dari balance merge dengan cara memanfaatkan file yang nganggur (idle) ketika dilakukan merge. Pada m-polyphase merge digunakan 2m-1 input file dan 1 output file.
CASCADE MERGE
Cascade merge merupakan teknik merge yang selalu mengurangi 1 file input pada setiap tahapnya. Jadi, jika digunakan m-way cascade merge, maka file input yang digunakan adalah 2m-1, kemudian 2m-2, 2m-3, dan seterusnya hingga bernilai 2 input file.
{Contoh-contoh skemanya dapat dilihat di buku referensi halaman 86 sampai 91}.
BEBERAPA ISTILAH DALAM SISTEM OPERASI
YANG TERKAIT DENGAN SISTEM BERKAS
Kita (programmer) tidak dapat berbuat apa-apa tanpa adanya sistem operasi di komputer. Sistem operasi membantu kita untuk mengontrol alat-alat (devices) komputer agar bekerja dengan baik. Misalkan, kita minta ”SAVE” data atau ”WRITE” data kita ke disket, maka sistem operasi akan membuka jalur transportasi (pathway) data dari hard disk ke memori utama dan dilanjutkan ke disket. Bukan itu saja, jika kita minta ”PRINT” maka sistem operasi mengaktifkan printer dan melakukan ”READ” data yang akan dicetak dari alat penyimpanannya dan kembali ”mengangkut” data tersebut hingga akhirnya ke printer, dan sebagainya.
Beberapa istilah dalam sistem operasi antara lain :
(1) Supervisor I/O : adalah bagian dari sistem operasi yang mengontrol peralatan input/ output (I/O) komputer
(2) File manager : adalah bagian dari sistem operasi yang bertugas untuk mengatur pemberkasan di dalam alat-alat penyimpanan data di komputer.
(3) Device manager : adalah bagian dari sistem operasi yang bertugas untuk mengatur alat-alat (piranti-piranti) yang ada di dalam konfigurasi komputernya.
(4) I/O channel : adalah prosesor yang telah diprogram untuk mengakses peralatan yang dibutuhkan dan mengontrol jalur data.
(5) Selector channel : mengatur aliran data antara memori utama dengan peralatan lain seperti disk (peralatan dengan kecepatan tinggi).
(6) Multiplexer channel : mengatur aliran data antara memori utama dengan peralatan-peralatan lain seperti printer, magnetic tape, dsb. (peralatan dengan kecepatan rendah).
(7) Block multiplexer channel : mengatur aliran data ke berbagai peralatan.
(8) Dedicated device : peralatan yang hanya dapat digunakan oleh seorang pemakai dalam satu saat.
(9) Shared device : peralatan yang bisa digunakan oleh satu atau lebih pemakai dalam satu saat (waktu yang bersamaan)
(10) Spooling : dukungan peralatan virtual I/O yang biasanya digunakan di komputer multiuser. Misalkan 10 orang user akan mencetak ke sebuah printer dalam waktu bersamaan, maka spooling dapat menampung antrean mana urutan yang akan dicetak terlebih dulu dan mana yang kemudian.
(11) Buffer : adalah bagian dari CPU yang bertugas untuk menampung data sementara dari dan/ atau ke main memory. Contoh, ketika kita ’membakar (burn)’ CD data, maka data yang ada di disk akan ditampung ke buffer terlebih dulu sebelum ditulis ke CD.
(12) Single buffering : (buffer tunggal), jika kita memiliki data sebesar 1MB yang akan dicetak dan buffer hanya dapat menampung 256KB, maka data 1MB tersebut diletakkan ke buffer sebesar 256KB dulu, baru dicetak hingga selesai 256KB itu, kemudian data diambil kembali untuk mengisi buffer itu, dan seterusnya.
(13). Anticipatory buffering : pada (12) ada waktu tunggu antara pencetakan isi buffer hingga buffer kosong dengan pengisian kembali buffer itu. Karenanya, sistem kontrol I/O dibuat sedemikian rupa sehingga sebelum buffer sampai benar-benar kosong sudah dimuat lagi dengan data yang baru.
(14) Double buffering : (buffer ganda), digunakan untuk meniadakan waktu tunggu seperti di single buffer, karena, ketika isi dari buffer 1 dicetak, buffer 2 diisi data. Ketika buffer 1 selesai dicetak, maka ia akan diisi data, sementara isi buffer 2 mulai dicetak. Demikian seterusnya.
(15) Multiple buffering : untuk mengantisipasi kemungkinan pengisian buffer kalah cepat dengan pengosongan buffer sehingga diharapkan tidak ada waktu tunggu yang kemungkinan masih ada di (14).
Tambahan istilah :
(1) completely inverted file adalah file yang memiliki index inversi untuk setiap fieldnya
(2) partialy inverted file adalah file yang minimal satu fieldnya memiliki index inversi
(3) primary key adalah atribut (field) yang dipilih untuk menentukan struktur storage pada organisasi file multi key, adapun key lainnya disebut dengan secondary key.
(4) head switching : waktu yang dibutuhkan untuk head dari hard disk ke track dan permukaan yang tepat.
(5) seek time : waktu yang digunakan untuk menggerakkan tangkai penghubung head dari hard disk ke posisi silinder yang tepat.
(6) parity check : sebuah track dalam tape yang digunakan untuk menyimpan kesalahan data
(7) hit ratio : perbandingan antara banyaknya record yang akan diakses dengan banyaknya record dalam sebuah file. Semakin tinggi nilainya, semakin baik sequential digunakan.
loading...
0 Response to "STRUKTUR DATA"
Posting Komentar