SlideShare a Scribd company logo
1 of 32
Download to read offline
Sistem Basis Data 1 (K82)                                                        1

                                KONSEP DASAR

Pendahuluan

Sistem berkas atau pengarsipan adalah :
Suatu system untuk mengetahui bagaimana cara menyimpan data dari file tertentu
dan organisasi file yang digunakan.

System akses :
Cara untuk mengambil informasi dari suatu file

Organisasi file :
Teknik yang digunakan untuk menggambarkan dan menyimpan pada file

Istilah – istilah dasar

•   Entitas
    Sekumpulan obyek yang mempunyai karakteristik sama dan bisa dibedakan
    dari lainnya. Obyek dapat berupa barang, orang, tempat atau suatu kejadian
    Missal : pegawai, mobil, nilai dsb

•   Atribut
    Deskripsi data yang bisa mengidentifikasikan entitas
    Missal : entitas mobil adalah no. mobil merk mobil, wrna mobil dsb

•   Field
    Lokasi penyimpanan untuk salah satu elemen data atribut

•   Record
    Kumpulan dari field yang berhubungan satu sama lain

•   File
    Kumpulan dari record yang menggambarkan himpunan entitas

•   Basis data
    Kumpulan file yang digunakan oleh program aplikasi serta membentuk
    hubungan tertentu di antara record-record di file-file tersebut

•   Key
       o Elemen record yang dipakai untuk menemukan record tersebut pada
         waktu akses
       o Jenis-jenis key:
Sistem Basis Data 1 (K82)      2
               Primary key
               Secondary key
               Candidate key
               Alternate key
               Composite key
               Foreign key
Sistem Basis Data 1 (K82)                                                           3

•   Primary key
       o Field yang mengidentifikasikan   sebuah record dalam file
       o Bersifat unik
                         NIM              NAMA        UMUR
                         0222500250       TUTI        21
         PRIMARY         0222300023       WATI        20
         KEY             0144500024       ALE         24

•   Secondary key
       o Field yang mengidentifikasikan sebuah record dalam file
       o Tidak bersifat unik


                           NIM            NAMA        UMUR
        SECONDARY          0222500250     TUTI        21
        KEY                0222300023     WATI        20
                           0144500024     ALE         24

•   Candidate key
       o Field-field yang bisa dipilih (dipakai) menjadi primary key

                            CANDIDATE KEY

              NIM           NAMA        NO_KWITANSI      JUMLAH
              0222500250    TUTI        789              50000
              0222300023    WATI        254              60000
              0144500024    ALE         365              80000

•   Composite key
      o Primary key yang dibentuk dari beberapa field
        COMPOSITE
        KEY
                           HARI          RUANG       MATA KULIAH
                           SELASA        322         LOGIKA MATEMATIKA
                           SELASA        321         PANCASILA
                           SELASA        333         KEWARGANEGARAAN

•  Foreign key
      o Field yang bukan    key, tetapi adalah key pada file yang lain
KD_MK MATAKULIAH            SKS KD_DOSEN              KD_DOSEN NAMA
N18      MANAJEMEN          2       D231              D232           Warsono, Drs
P25      PASCAL             4       D453              D453           R. Faisal
K1A      INTERNET           2       -                 D812           Tri Darmadi

PRIMARY KEY                                            PRIMARY KEY
                                   FOREIGN KEY
Sistem Basis Data 1 (K82)                                                        4
FILE
o File diletakkan di penyimpan sekunder.
o File mempunyai nama

Karakteristik umum file
1. Persitence
   Bertahan lama yaitu kemampuan untuk dapat diakses di masa datang.
2. Sharability
   Dapat digunakan bersama oleh beragam pemakai dan program
3. Size
   File mempuyai ukuran yang relative besar

Operasi pada file / berkas

Berdasarkan model proses
1. batch
   suatu proses yang dilakuakn secara kelompok atau grup

2. iterative
   suatu proses yang dilakukan secara satu per satu yaitu record per record

Berdasarkan Model operasi :
1. Create
   Pembuatan berkas dengan cara membuat struktur berkas lebih dahulu,
   kemudian record-record dimuat ke dalam berkas tersebut

2. Up-date
   Pengubahan isi dari berkas diperlukan untuk menjaga berkas tetap up to date
   (diperbaharui)
   Ada 3 bagian dalam proses up date :
       o Insert / Penyisipan atau penambahan record
       o Modify / Perbaikan field
       o Delete / Penghapusan record

3. Retrieval
   Pengaksesan sebuah berkas untuk tujuan mendapatkan informasi
   Menurut ada tidaknya persyaratan, retrieval dibagi menjadi
       o Comphrehensive retrieval
          Proses untuk mendapatkan informasi dari semua record dalam berkas
          Missal : display all, list nama alamat

       o Selective retrieval
         Mendapatkan informasi dari record-record tertentu berdasarkan
         persyaratan tertentu
         Missal : list for program studi == ‘TI’


4. Maintenance
   Perubahan yang dibuat terhadap berkas dengan tujuan memperbaiki program
   dalam mengakses berkas tersebut. Ada dua cara yaitu :
       o Restructuring
          Perubahan struktur berkas
          Misalnya : panjang field diubah
                     Penambahan field baru

       o Reorganizing
         Perubahan organisasi berkas dari organisasi yang satu menjadi
         organisasi berkas yang lain
         Misalnya :
               dari organisasi berkas sequential menjadi berkas sequential
               diindeks
               dari langsung (direct) menjadi sequential (berurutan)
Sistem Basis Data 1 (K82)                                                          5

RECORD
Ukuran record biasa dinyatakan dalam byte

Jenis record menurut panjangnya :
1. Fixed length record
   Semua field di record mempunyai panjang yang tetap
   Kelebihan        : tidak rumit dalam pemrograman
   Kekurangan       : harus disediakan ukuran terbesar yang diperlukan

2. variable length record
   Field-field di record mempunyai panjang berbeda-beda
   Kelebihan          : hemat tempat
   Kekurangan         : rumit dalam permrogaman

•   Record View
       o External View
                  Bentuk record yang terlihat oleh user
                  Disebut juga logical record
       o Internal View
                  Bentuk record secara fisik di dalam media penyimpanan
                  Disebut juga physical record
•   Data transfer
       o Perpindahan data antara primar storage dengan secondary storage

              PRIMARY             DATA            SECONDARY
              STORAGE                             STORAGE


        o Tidak hanya memindahkan 1 (satu) logical record, tetapi 1 (satu) block
        o 1 block bisa > 1 record
        o block disebut juga physical record

                                     STORAGE
                                       MEDIA


              PRIMARY                                          SECONDARY
                                     DATA AREA                 STORAGE
              STORAGE


    •   Input Buffer
           o Tempat 1 block disimpan didalam memory
    •   Output Buffer
           o Tempat 1 block yang akan direkam ke storage media
    •   Data Area
           o Tempat 1 logical record yang akan diproses

LOGICAL FILE STRUCTURE
  • Adalah:
        o Organisasi file
        o External View
        o Kumpulan logical record
        o Pandangan user tentang bagaimana kumpulan logical record
            terorganisir

PHYSICAL FILE STRUCTURE
  • Adalah:
        o Internal View
        o Kumpulan physical record
        o Letak / susunan physical record pada secondary storage
Sistem Basis Data 1 (K82)                                                6
JENIS FILE (Berdasarkan fungsinya):
         o MASTER FILE
         o TRANSACTION FILE
         o REPORT FILE
         o WORK FILE
         o PROGRAM FILE
         o TEXT FILE

   •   MASTER FILE
         o Adalah:
               • Berisi data statis
               • Data tentang satu sisi dari organisasi
                    PELANGGAN          PERSEDIAAN BARANG
                    PEGAWAI            NILAI
                    MAHASISWA          MATAKULIAH
               • Berisi data historis
               • Isinya relatif permanen
   •   TRANSACTION FILE
         o Adalah:
               • Berisi data yang akan mengupdate master file
               • Berisi kejadian atau perubahan terhadap sesuatu, yang
                   statusnya tersimpan dalam master file

   •   REPORT FILE
          o Adalah:
               • Berisi data yang bentuknya telah disesuaikan untuk
                   kepentingan user
               • Data yang akan ditampilkan pada monitor
               • Data yang akan dicetak
               • Dihasilkan oleh:
                      • Report writer
                      • Application program

   •   WORK FILE
         o Adalah:
               • Temporary file
               • File sementara
               • File kerja
               • Berisi sesuatu yang tidak permanen
               • Isinya hanya dipakai sesaat saja
               • Untuk memindahkan data dari satu program ke program yang
                 lain

   •   PROGRAM FILE
         o Adalah:
              • Berisi perintah untuk memproses data
              • Bisa berisi perintah dalam:
                    • High Level Language
                    • Low Level Language
                    • Machine Language
                    • Job Control Language
              • Perintah bisa berbentuk:
                    • Source Code
                    • Hasil Kompilasi
                    • Hasil proses lainnya

   •   TEXT FILE
          o Berisi:
                • ALPHANUMERIC & GRAPHIC DATA
          o Berasal dari program text editor
          o Hanya dapat diproses oleh program text editor
Sistem Basis Data 1 (K82)                                                      7



                       PERANGKAT PENYIMPAN SEKUNDER
                         (SECONDARY STORAGE DEVICE)


Operasi dan mekanisme kerja perangkkat sekunder sangat berpengaruh terhadap
kinerja struktur file

Media penyimpanan informasi di system computer dibagi menjadi 2 tipe utama :
      Penyimpan primer
      Ciri-ciri :
          o Kecepatan akses tinggi
          o Harganya relative mahal
          o Kapasitas relative kecil
          o Volatile

       Penyimpan sekunder
       Cirri-ciri :
           o Kecepatan akses rendah
           o Harganya relative murah
           o Kapasitas relative besar
           o Non-volatile

Macam penyimpan sekuder :
  Contoh media penyimpan mekanis
      o Kartu IBM/Hollerith
      o Pita kertas berlubang
  Sifat umum perangkat ini adalah sangat lambat, dan sudah tidak digunakan
  lagi untuk penyimpanan data


o Magnetic tape
  Panjangnya beratus meter dan digulung. Informasi dikodekan karakter per
  karakter.




CIRI – CIRI MAGNETIC TAPE
   o tape masuk ke dalamkeluarga SASD (sequential access storage device)
       sehingga Hanya dapat diproses secara sequential, yaitu Sebuah record
       hanya dapat diakses setelah semua record didepannya diakses
   o Hanya bisa mempunyai struktur file sequential
   o Sebuah record tidak dapat diupdate ditempatnya


   •   Karakteristik
          o Media
                  Terbuat dari mylar
                  Berlapis oksida logam
          o Lebar 0.5 inchi
Sistem Basis Data 1 (K82)                                               8
         o Panjang
                   200 feet s/d 6400 feet pada sebuah reel
         o Density
                   800 BPI
                   1600 BPI
                   6250 BPI

         o Daerah perekaman dibatasi oleh
           LOAD POINT MARK




                                             END OF REEL MARK
         o Terbagi menjadi 9 track
                 8 track untuk data bit
                 1 track untuk parity bit

                    0
                          1
                                 2
                                       3                            DATA
  TRACK                                       4                     BIT
                                       5
                                 6
                          7
                                                                     PARITY
                    8
                                                                     BIT
         o Parity bit  satu bit yang dipakai untuk error checking
         o Data direkam secara EBCDIC
Sistem Basis Data 1 (K82)                                             9

                            0
                            0
                            0
                            0              DATA
  TRACK                     0              BIT
                            1
                            0
                            1
                            1                  PARITY BIT

                                                   FRAME

Keuntungan magnetic tape:
         o Harganya murah, simpannya besar
      Kerugian magnetic tape:
         o Aksesnya terbatas hanya 1 jenis akses

PARITY BIT
     Satu bit yang ditambahkan oleh sistem
     Konsep parity ada dua:
     1. Odd Parity
     2. Even Parity
     Odd Parity:
         o Jumlah bit yang on (berisi 1) dalam 1 frame harus ganjil
     Even Parity:
         o Jumlah bit yang on (berisi 1) dalam 1 frame harus genap
     Contoh:
     ODD PARITY                       EVEN PARITY
               1                                  1
               1                                  1
               1                                  0
               0                                  0
               0                                  0
               0                                  0
               1                                  1
               1                                  1
               1                                  0
Sistem Basis Data 1 (K82)                                                      10

      Jenis Parity
         o Vertical Parity Bit
                   1 bit parity pada tiap frame
         o Longitudinal parity bit
                   1 frame pada akhir tiap block




                   1 BLOCK                   LONGITUDINAL PARITY BIT

 INTERRECORD GAP
      Data hanya ditulis (dibaca) kalau tape bergerak dengan kecepatan tertentu
      / normal
kecepatan
            write & read
      start                stop


                                                            panjang pita
      Hanya berlaku 1 bock
      Panjang 1 IRG dengan IRG yang lain selalu sama
      Adalah:
         o Daerah pita yang tidak ditulis (dibaca) disebut IRG (Inter Record
            Gap)


            PHYSICAL        IRG PHYSICAL      IRG    PHYSICAL      IRG
            RECORD-1            RECORD-2             RECORD-3


           Block
         o Panjang IRG selalu sama

CARA PEREKAMAN
  Panjang magnetic tape yang dipakai untuk merekam 1 block tergantung pada:
      o PANJANG LOGICAL RECORD
      o BLOCKING FACTOR
      o DENSITY
  Panjang logical record dinyatakan dalam satuan: BYTE / CHARACTER
  Blocking factor adalah nilai yang menyatakan 1 block terdiri atas beberapa
  logical record
  Density, tergantung jenis magnetic tapenya: 800/1600/6250 BPI



Contoh 1:
      Panjang magnetic tape untuk merekam 1 block bila:
          o Record length              : 80 character
          o Blocking factor    : 10 logical record
          o Density            : 1600 BPI
          o IRG                : 0.6 inch

      Adalah:
            = 0.6 +       10 x 80 inch
                           1600
             = 1.1 inch


            PHYSICAL        IRG PHYSICAL      IRG    PHYSICAL      IRG
Sistem Basis Data 1 (K82)                                                         11
           RECORD-1                  RECORD-2            RECORD-3

                    start                                stop

              KEBUTUHAN PITA MAGNETIC UNTUK MEREKAM 1 BLOCK


Rumus:                                      IRG   = INTER RECORD GAP
     IRG +        BF X      RL              BF    = BLOCKING FACTOR
                    D                       RL    = RECORD LENGTH
                                            D     = DENSITY


Contoh 2:
o Panjang tape untuk merekam 1000 logical record bila:
      o RL : 200 byte
      o BF : 8
      o D    : 800 BPI (bit per inch)
      o IRG : 0.6 inch

      Adalah:
            =     1000 ( 0.6 + 8 x 200 ) inch
                   8            800
              = 125 ( 0.6 + 2 )
              = 325 inch    27.08 feet ( 1 feet = 12 inch )     panjangnya pita




RUMUS
o Menghitung panjang pita yang dipakai:

          N ( IRG + BF X RL )
          BF          D

N     =   Banyak record
BF    =   Blocking Factor
IRG   =   Inter Record Gap
RL    =   Record Length
D     =   Density

Contoh 3:
      Density                =   1600 Byte Per inchi
      Panjang Tape           =   3600 feet
      Kapasitas simpan       =   1600 * 12 * 3600
                             =   69 120 000 byte         = 67500 KB
Nb : 1 feet = 12 inchi


Waktu akses pada magnetic tape

Waktu untuk memindahkan              = panjang gap + panjang record
1 record (dalam detik)                    kecepatan transfer data
Waktu untuk memindahkan              = panjang gap + BFR * panjang record
1 record (dalam detik)                    kecepatan transfer data

contoh:
Sistem Basis Data 1 (K82)                                                      12
 Catatan sebuah file yang mempunyai 100.000 record, dimana sebuah record
 berukuran 160 byte, kecepatan transfer data 200.000 karakter/detik
 Kerapatan media 1600 byte per inchi. Inter record Gap 0.6
 blocking factor = 10
 Maka waktu yang digunakan untuk membaca: 1 record,1 file,1 blok
 Jawab:
 1 inchi = 1600 byte,                   maka 0.6 inchi = ……. byte/karakter
 1600 byte * 0.6 inchi = 960 byte,      maka 0.6 inchi = 960 byte/karakter

 Waktu untuk melewati IRG = 960/ 200.000 = 0.0048 detik
 Waktu akses per 1 record        = 960 + 160 / 200.000 = 0.0056 detik
 Waktu akses seluruh record/file = 0.0056 * 100.000   = 560 detik = 9.3 menit

 Waktu akses per 1 block        = 960 + ( 10 * 160 ) / 200.000 = 0.0128 detik




 o MAGNETIC DISK
   o Masuk ke dalam keluarga DASD(Direct Access Storage Device) sehingga
     akses terhadap record dapat secara direct, yaitu Sebuah record dapat
     diakses secara langsung (direct), melalui address sehingga waktu
     pengaksesan relative rendah dan transfer data berkeceptan tinggi

    o Magnetic disk terbuat dari sejumlah plat/cakram. Permukaan tiap cakram
      (atas/bawah) terbuat dari bahan besi yang mudah dimagnetisasi.


                                                              PLAT /
HEAD R /W                                                     CAKRAM




    Perekaman data
          Pada disk magnetic kode on dan off direpresentasikan oleh kedudukan
          elemen magnetiknya.
          Dengan mengimbas permukaan disk dengan magnet (yang ada pada
          head), kedudukan elemen magnet berubah. Artinya kode on bisa diganti
          off dan sebaliknya.
          Lubang-lubang di permukaan disk merepresentasikan data yang
          tersusun dalam suatu jalur yang disebut track. Data disimpan dalam
          track yang berbentuk konsentris (lingkaran penuh)
          Tiap track dibagi menjadi sector-sektor (blok).
          Magnetic disk diorganisasikan menjadi siliner-silinder.
          Silinder adalah track-track yang sama pada permukaan-permukaan pada
          cakram-cakram yang berbeda.
Sistem Basis Data 1 (K82)                                                    13
         Tiap permukaan terdapat head yang ditumpuk secara vertical.


                                                          SEKTOR


                                                             TRACK




    CYLINDER



   Kapasitas Disk
         Kapasitas track        = sector per track X byte per sector
         Kapasitas cylinder     = track per cylinder X kapasitas track
         Kapasitas drive        = jumlah cylinder X kapasitas cylinder

      Contoh 1:
      Tentukan kapasitas simpanan magnetic disk dengan ketentuan sbb:
                  Permukaan = 10
                  Track/permukaan = 400
                  Sector/track = 16
                  Setiap sector/track mampu menyimpan = 512 byte
            Jawab:
                  Kapasitas     = 10 * 400 * 16 * 512
                                = 32 768 000 byte




   Contoh 2:
   Jika banyak record sebanyak 20.000, panjang tiap record adalah 256 byte
   Jika sebuah drive mempunyai ketentuan :
          Byte per sector       = 512
          Sector per track      = 40
          Track per cylinder    = 11
          Jumlah cylinder       = 1331

   Berapa banyak cylinder yang diperlukan untuk meyimpan data di atas :

   Jawab :
   1 record        = 256 byte
   1 sector        = 512 byte
Sistem Basis Data 1 (K82)                                                       14
   1 sector        =      2 record
   10.000 sector = 20.000 record

   1 cylinder dapat menyimpan : 40 X 11 = 440 sector
   sehingga untuk 10.000 sector diperlukan : 10.000 / 440 =22.7 cylinder


ACCESS TIME:
  o Adalah:
        o Waktu yang dibutuhkan untuk mengakses (mendapatkan) data dari
            dalam disk
  o Terdiri dari:
     o SEEK TIME
            o Waktu yang dibutuhkan untuk menempatkan R/W head pada
               cylinder yang diinginkan
            o Dinyatakan dengan notasi S dalam satuan milisecond

      o HEAD-SWITCHING TIME
          o Waktu yang dibutuhkan untuk mengaktifkan R/W head yang
             diperlukan

      o LATENCY TIME (Rotational Latency)
           o Waktu yang dibutuhkan untuk menunggu sampai data berada di
             bawah R/W head
           o Disebut juga    ROTATIONAL DELAY

      o TRANSFER TIME
          o Waktu yang dibutuhkan untuk memindahkan data dari memory
             ke disk atau sebaliknya




   o Optical Disk
       o Dibuat dari serangkaian bintik-bintik spiral dalam satu permukaan
           flat.
       o Dibaca dan ditulis dengan sinar laser
       o Menyimpan informasi mirip dengan piringan hitam, informasi yang
           terdiri dari kode-kode on dan off direpresentasikan dengan lubang-
           lubang pada permukaan disk
       o Contoh :         CD ROM      (CD read only memory)
                          CD R        (CD Recordable)
                          CD RW       (CD Rewriteable)
Sistem Basis Data 1 (K82)                                                    15
ORGANISASI DATA
File diorganisasikan secara logic sebagai barisan record.

FILE PERFORMANCE PARAMETER
   o Adalah:
         o Parameter untuk menilai performance (unjuk kerja) sebuah file
   o Gunanya:
         o Untuk membandingkan
                 Kelebihan
                 Kekurangan
           Organisasi file yang satu terhadap lainnya

1. RECORD    SIZE
        o     Besar (panjang) sebuah record
        o     Tiap record berisi data yang diperlukan
        o     Data diperinci dalam sejumlah field
        o     Tiap file akan berbeda dari file lainnya pada:
                  i. Jumlah field pada tiap record
                 ii. Besar (panjang) record
           o Kemampuan menyiapkan / menyediakan panjang record seperti yang
              dibutuhkan ikut menentukan peformance sebuah file
           o Contoh :       NIM           : 10 Byte
                            Nama          : 25 Byte
                            Alamat        : 45 Byte
                            ==============
                            Total         : 80 Byte

2. FETCH A RECORD
      o Mengambil (mendapatkan) sebuah record
      o Untuk bisa dimanfaatkan, data dari dalam file harus dipindahkan ke
        memor
      o Fetch terdiri dari 2 langkah:
               o Mencari lokasi data
               o Membaca record tersebut

3. GET THE NEXT RECORD
     o Mendapatkan record berikutnya
     o Kalau fetch    retrieve berdasarkan key
     o Get the next record     retrieve berdasarkan struktur file
     o Successor record     record berikutnya
     o Predecessor record     record sebelumnya

4. INSERT A RECORD
      o Menambah sebuah record
      o Menulis kedalam file lebih rumit dari membaca isi file
      o Insert berarti menambahkan sebuah data baru ke dalam file
      o Insert pada ujung akhir sebuah file, hanyalah menambah banyaknya
        data
        Waktu yang dibutuhkan kecil

       1      2       3       4      5       6      7       8       9   …
       A      B       C       D      E       F      …       …       …   …

           INSERT X PADA AKHIR RECORD

       1      2       3       4      5       6       7      8       9   …
       A      B       C       D      E       F       X      …       …   …


      o Insert ditengah file mengakibatkan pergeseran ataupun perubahan
        struktur data yang tidak sederhana
Sistem Basis Data 1 (K82)                                                     16

      1      2       3      4        5      6      7      8      9     …
      A      B       C      D        E      F      …      …      …     …

          INSERT X PADA RECORD KE 3

      1      2       3      4     5      6     7     8           9     …
      A      B       X      C     D      E     F     …           …     …
                            RECORD KE-3 DST BERGESER


5. DELETE A RECORD
      o Menghapus sebuah record
      o Kebalikan dari insert
      o Mencari lokasi data & menghapus isinya, agar bisa dipakai oleh data
        yang lain
      o Setelah itu dilakukan pergeseran ataupun pengaturan struktur data
        kembali

      1      2       3      4     5         6      7      8      9     …
      A      B       C      D    E          F      …      …      …     …
                             HAPUS

          BILA RECORD D DIHAPUS, MAKA AKAN TERJADI PEMBACAAN DAN
          PENULISAN ULANG RECORD E, F, DST

      1      2       3      4        5     6       7      8      9     …
      A      B       C      E        F     …       …      …      …     …




      o Kadangkala delete dilakukan dengan hanya memberi tanda saja
        (tombstone / flag), tanpa dilakukan penghapusan ataupun pengaturan
        struktur datanya

      1      2       3      4     5         6     7       8      9     …
      A      B       C      D     E         F     …       …      …     …
                              HAPUS

      1      2       3      4        5      6      7      8       9    …
      A      B       C      *        E      F      …      …      …     …
                                record yang sudah dihapus “Delete”
6. MODIFY A RECORD
     o Mengubah sebuah record
     o Data lama & data baru digabung dalam record yang sudah ada
     o Kalau modify sampai mengubah ukuran record, maka:
           o Record lama harus dihapus
           o Record baru dituliskan pada tempat yang mencukupi

7. READ THE ENTIRE FILE
      o Membaca isi seluruh file
      o Kadangkala sebuah aplikasi perlu membaca isi seluruh file

8. REORGANIZE THE FILE
     o Menata ulang (mengatur kembali) file
     o Sebaiknya dilakukan secara periodik
     o Adalah:
Sistem Basis Data 1 (K82)                                                      17
               o Menghapus data yang didelete
               o Membuang data yang tidak terpakai
               o Memakai daerah kosong untuk data yang baru
      o Sangat diperlukan bila konsep deletenya memakai tombstone (flag)
      o Sangat dianjurkan terhadap file yang banyak di insert & atau di delete

ORGANISASI FILE

Agar dapat mengacu pada record-record yang diinginkan pada suatu file maka file-
filenya dibentuk dalam aturan-aturan atau organisasi yang teratur dan konsisten.
Ada bermacam organisasi dari file yang secara umum dikelompokkan ke dalam
system pengorganisasian file dasar sebagi berikut :
1. Pile file
2. sequential file
3. index sequential file
4. multiple index file
5. direct file
6. multiring file




Pile File
Adalah:
• Bukan file komputer, tetapi file manual
• Bentuk kumpulan data sebelum diproses
• Dimana data sulit untuk diorganisir
• Data dikumpulkan urut berdasarkan kedatangan
• Tidak dianalisa, dikategorikan ataupun diatur agar sesuai dengan sesuatu field
   atau record size
• Bentuk record mungkin saja variable length dan elemen data bisa tidak sama

No.record       NIP              Nama            Tgl-lahir        Pekerjaan
1               0017081          Ali Ahmad       09-09-1950       -----------
2               0017201          Umar            20-12-1960       Marketing

Maka dalam Pile record-record akan disimpan sebagai berikut :

Nim=0017081;Nama=Ali Ahmad;tgl-lahir=09-09-1950
Record –1

Nim=0017021;Nama=Umar;tgl-lahir=20-12-1960;Pekerjaan=Marketing
Record –2

Gambaran secara Umum :




Manfaat:
• Data tersusun secara kronologis
• Mudah dimanfaatkan, data yang datang langsung disimpan ke dalam file tanpa
  proses apapun
• Mudah dibuat (dicreate), tapi report untuk mencari sesuatu dari dalamnya
• Kumpulan data manual biasanya adalah sebuah pile file
Sistem Basis Data 1 (K82)                                                       18
• Sebagai perbandingan dengan bentuk-bentuk file komputer lainnya

Performance
1. Record Size
   • Isi file ditentukan oleh 2 hal:
      • Menyimpan data yang dibutuhkan
      • Data yang belum disimpan tidak perlu mendapat perhatian sama sekali



2. Fetch a record
   • Waktu pencarian bisa sangat lama
   • Data mungkin berada dimana saja di dalam file
   • Sangat dianjurkan untuk membagi file dalam block-block
   • Pencarian dilakukan per block
   • Tetapi tidak tertutup kemungkinan data baru ditemukan pada block yang
      terakhir

3. Get the next record
   • Karena data tidak diurutkan, maka successor record mungkin berada
      dimana saja
   • Sehingga pencarian harus dilakukan pada seluruh file
   • Sangat dianjurkan untuk memanfaatkan pembagian dalam block seperti
      pada fetch

4. Insert a record
   • Bisa dilakukan dengan sangat cepat, karena file tidak terstruktur
   • Data bisa diinsert di bagian file yang manapun

5. Delete a record
   • Record yang akan didelete bisa berada dimana saja di dalam file
   • Pencarian akan bisa memakan waktu yang lama karena bentuk file yang
      tidak terstruktur

6. Modify a record
   • Record yang akan dimodify dalam kondisi yang sama seperti yang akan di
     delete
   • Yaitu bisa berada dimana saja di dalam file
   • Sehingga pencarian data bisa berlangsung sangat lama

7. Read the entire file
   • Kegiatan ini dapat dilaksanakan dengan sangat mudah
   • Karena tinggal membaca satu-persatu sesuai dengan kronologis susunan
      datanya

8. Reorganize the file
   • Bila delete pada file dilakukan dengan menggunakan tombstone, maka
      reorganize perlu dilakukan secara periodik
   • Agar file menjadi lebih ramping, sehingga proses pencarian data bisa
      berlangsung lebih cepat
   • Kadang reorganisasi pile file diperlukan untuk menata ulang susunan data
      secara kronologis
Sistem Basis Data 1 (K82)                                                           19
SEQUENTIAL FILE

Adalah:
• File dengan data yang tersusun dalam suatu urutan tertentu
• Tiap record mempunyai field yang sama & dengan susunan yang sama
• Bentuk file terlihat menyerupai tabel

Struktur file
• Untuk memungkinkan record tersusun secara urut perlu ditentukan key dari
   tiap record
• Satu atau beberapa atribut akan menjadi key atribut
• Pengurutan record dapat dilakukan berdasarkan primary keynya
• Pembacaan secara serial (satu persatu) sesuai dengan urutan keynya disebut
   pembacaan secara sequential

Nip                          Nama                          Pekerjaan
000021                       Abu Bakar                     Manajer
000032                       Fatimah                       Sekretaris
000042                       Asma                          Presiden direktur

Keterbatasan:
• Bentuk record harus fixed length
• Sehingga efisien dalam tempat (storage) tetapi kurang fleksibel
• Update tidak mudah dilakukan, memakai pola transaksi – old master file – new
   master file
• Kalau kedalam record ingin ditambahkan atribut maka seluruh file harus
   direorganisasi
• Seringkali pada sebuah file sequential disediakan tempat untuk penambahan
   atribut

Kegunaan:
• Banyak dipakai pada metoda batch processing
• Kalau beberapa file ingin digabungkan, maka tiap file harus diurutkan dalam
   pola pengurutan yang sama

Performance
1. Record Size
   • Bentuk record fixed length
   • Besar alokasi storage yang dibutuhkan ditentukan oleh:
      • Jumlah atribut dalam sebuah record
      • Banyak record yang disimpan

2. Fetch a record
   • Biasanya dengan memakai cara serial search (sequential reading) dari awal
      file

   •   Sequential file bisa disimpan pada:
       • Sequential Access Storage Device (Magnetic Tape)
       • Direct Access Storage Device (Magnetic Disk)

   •   Pada Direct Access Device, sequential file dapat diakses secara direct
   •   Direct access hanya dapat dilakukan pada atribut yang dipakai untuk
       mengurutkan file

          Sequential search
          • Pembacaan record per record dari awal

          Binary search
          • Fetch ditengah-tengah file
          • Kalau key dari file lebih kecil dari yang dicari fetch ke tengah sisa file
             dibawahnya
Sistem Basis Data 1 (K82)                                                         20
         • Kalau key dari file lebih besar dari yang dicari fetch ketengah sisa file
            diatasnya

          Probbing
          • Fetch pada sebuah posisi yang diperkirakan
          • Dilanjutkan dengan sequential search

3. Get the next record
   • Record berikutnya dapat langsung diakses
   • Karena seringkali berada pada block yang sama

4. Insert a record
   • Insert berarti menyisipkan sebuah record sesuai dengan posisi dari primary
      key
   • Insert sangat mudah kalau hanya menambahkan sebuah record pada akhir
      file
   • Kalau insert ke tengah file, harus dipakai metoda batch update

5. Delete a record
   • Menggunakan metoda batch update
   • Key dari record-record yang akan di delete dikumpulkan dahulu pada
      transaction file

6. Modify a record
   • Menggunakan metoda batch update
   • Bila nilai key tetap, maka field yang berubah akan dituliskan langsung pada
     tempatnya
   • Bila nilai key berubah pada primary key, maka kegiatannya adalah delete
     yang lama lalu insert yang baru Read the entire file

7. Read the entire file
   • Dilakukan dengan sequential search
   • Pembacaan file dilakukan sesuai dengan urutan fisik file (key bisa urut /
      bisa tidak urut)

8. Reorganize the file
   • Membentuk file baru (batch update)
   • Kedua file (master file & transaction file) harus diurutkan pada urutan yang
      sama
Sistem Basis Data 1 (K82)                                                    21
INDEX FILE
     File index digunakan untuk menemukan lokasi record yang dicari dengan
     cepat
     Terdiri dari :
              o Index block Number
              o Key Attribut
              o Record Number (TID = Tuple Indentifier)

Master File
Record Nim                          Nama
Number
   1      0211500032                Fathimah
   2      0211500054                Ali
  Dst     ………
 101      0211500143                Nida
 102      0211500150                Asih
  Dst     ………..                     ………
 201      0222300032                Ahmad
 202      0222300054                Ummi
  dst     ……..
 301      0222500234                Dani
 302      0222500240                Tika
  Dst     ………..                     ………
 401      0222500434                Dito
 402      0222500450                Titi
  Dst     ………..                     ………
 501      0233500002                Budi
 502      0233500004                Ina
  Dst     ………..                     ………
 601      0244500032                Dina
 602      0244500034                Ani
  Dst     ………..                     ………

INDEX FILE–NYA SEBAGAI BERIKUT :

Index Block #    KEY                        REC #
                 0211500032                 1
      A          0211500054                 2

                 0211500143                 101
      B          0211500150                 102

                 0222300032                 201
      C          0222300054                 202

                 0222500234                 301
      D          0222500240                 302

                 0222500434                 401
      E          0222500450                 402

                 0233500002                 501
       F         0233500004                 502

                 0244500032                 601
      G          0244500034                 602
Sistem Basis Data 1 (K82)                                                     22
Untuk mencari index block dengan cepat dibuat index level kedua sebagai berikut :

Index Block #              KEY                    INDEX BLOCK #
                        0211500032                      A
                        0211500143                      B
                        0222300032                      C
      M                 0222500234                      D
                        0222500434                      E
                        0233500002                      F
                        0244500032                      G


Terdapat 2 tipe pengacuan indeks
      o Block Anchor
         Indeks tidak menunjuk langsung ke record tetapi ke block yang memuat
         record
         Indeks memuat record pertama dari tiap block
         Contoh

Index Block #              KEY                    INDEX BLOCK #
                        0211500032                      A
                        0211500143                      B
                        0222300032                      C
      M                 0222500234                      D
                        0222500434                      E
                        0233500002                      F
                        0244500032                      G

      o Record Anchor
        Indeks menunjuk ke record

Data Utama

No. Record       NIM     Nama               Alamat
     1     0011500043|Muhammad Hanafi|Petukangan Utara
     2     0222500056|Ali|Ciledug
     3     0033500021|Fitriana Sari| Petukangan Selatan
     4     0022500026|Budi Firmansyah|Cipulir
     5     0244500023|Titi|Cipondoh
     6     0122500035|Abdullah Nashih Ulwan|Tanah Abang
     7     0022500254|Ade|Kebayoran Lama
     8     0322500221|Muhammad Reza Pahlevi|Kebayoran Baru
Record Nim                         Nama
Number
   1     0211500032                Fathimah
   2     0211500054                Ali
  Dst    ………
 101     0211500143                Nida
 102     0211500150                Asih
  Dst    ………..                     ………
 201     0222300032                Ahmad
 202     0222300054                Ummi
  dst    ……..
 301     0222500234                Dani
 302     0222500240                Tika
  Dst    ………..                     ………
 401     0222500434                Dito
 402     0222500450                Titi
  Dst    ………..                     ………
 501     0233500002                Budi
Sistem Basis Data 1 (K82)                 23
  502   0233500004                 Ina
  Dst   ………..                      ………
  601   0244500032                 Dina
  602   0244500034                 Ani
  Dst   ………..                      ………

Index file
Misal Berdasarkan nama

          Key               Record #
Ali                            2
Ani                           602
Asih                          102
Budi                          501
Dani                          301
Dina                          601
Dito                          401
Dst…                          Dst..
Sistem Basis Data 1 (K82)                                                24
 INDEXED SEQUENTIAL FILE
 Adalah:
 • Organisasi file yang mempunyai semua keunggulan dari sequential file
 • Tetapi kemampuan aksesnya jauh lebih baik
 • Ada 2 hal yang ditambahkan yaitu
    • Index: untuk mendapatkan cara akses yang lebih baik
    • Overflow area: untuk mengatasi masalah dalam penambahan data (insert)
 • Komponen:
       • Sequential file (main file)
       • Index
       • Overflow Area

 •       Main file:
         • Berisi data / record – record yang membentuk file
         • Data tersusun seperti pada sequential file

 •       Index:
         • Berisi alamat dari tiap record yang ada didalam main file (seperti daftar isi)
         • Index dipakai untuk memungkinkan dilakukan fetch terhadap record
            tertentu, dengan cara:
            • Alamat dari record yang akan difetch dicari di dalam index
            • Dengan alamat tersebut data dibaca dari dalam main file
         • Salah satu konsep index yang dipakai adalah:
            memanfaatkan Block Anchor

 •       Overflow Area
         • Menyimpan record tambahan, yang diisi pada waktu dilakukan insert
         • Mirip dengan apa yang disebut transaction file, tetapi diintegrasikan
            menjadi satu dalam konsep index-sequential file
         • Lokasi record ditunjukkan dengan pointer dari predecessornya

                  KEY      BLOCK ID
               013-20-14      1
               104-13-82      2            Record      No. ktp        Nama            Overflow
                                           Number                                     pointer
               ---            ---          11.1        013-20-14      Hadi
               END                         11.2        015-23-51      Ari             112.1
               MASTER       INDEX          11.3        019-88-79      Nani
                                           XXXXX       XXXXXXXX       XXXXXXX         XXXXX
BLOCK ID            KEY    BLOCK ID        12.1        021-13-21      Nita
               013-20-14      11           12.2        027-55-07      Agus
               021-13-21      12           XXXXX       XXXXXXXX       XXXXXXX         XXXXX
     1
               045-62-57      13           13.1        045-62-57      Nanda
               ----          ----          13.2        049-20-73      Tuti
                                           XXXXX       XXXXXXXX       XXXXXXX         XXXXX
               104-13-82      21           21.1        104-13-82      Wiyogo
     2         132-52-93      22           21.2        108-84-66      Arjuno
               183-08-29      23           XXXXX       XXXXXXXX       XXXXXXX         XXXXX
               ---            ---          22.1        132-52-93      Hakim
               END                         XXXXX       XXXXXXXX       XXXXXXX         XXXXX
               INDEX                       23.1        183-08-29      Garuda          231.1
                                           23.2        186-08-30      Arini
                                           23.3        192-20-41      Baruna
                                           XXXXX       XXXXXXXX       XXXXXXX         XXXXX
                                                       SEQUENTIAL
                                                       FILE
                                                                                      O-CHAIN-P
                                            112.1      016-78-01    HERMAN
                                            112.2      017-09-73    JIRAN             11.3
                                            XXXXX      XXXXXXXX     XXXXXXX           XXXXX
                                            231.1      184-29-80    FARID
                                            231.2      185-51-38    SAMIN             23.2
                                                       OVERFLOW AREA
Sistem Basis Data 1 (K82)                                                 25
• Untuk meminimalkan jumlah overflow pointer yang dipakai digunakan metoda
   push-through
   • Record baru ditempatkan sesudah predecessornya
   • Successor record digeser mendekati ujung block
   • Record pada ujung block digeser ke overflow area

             INSERT            085      039       025

             MAIN FILE         017      017       017      017
                               061      061       039      025
                               103      085       061      039
                                        103       085      061

             OVERFLOW                             103      085
             AREA
                                                           103

Kegunaan index sequential file
• Bentuk file yang paling banyak dipakai
• Dipakai bila file ingin selalu dalam kondisi up to date
• Sebuah record dapat di insert atau di retrieve secara langsung melalui indexnya
• Sangat sesuai untuk proses secara on-line
• Bisa juga diakses secara sequential

Kelemahan index sequential file
• Seach/pencarian hanya bisa melalui sebuah key saja, yaitu key yang
   mengurutkan file

Performance
1. Record Size
   • Berbentuk fixed length record
   • Ukuran file relatif tetap, karena insert memakai overflow area
   • Ukuran file baru berubah setelah dilakukan reorganisasi
      • Overflow area digabungkan dengan main file
      • Overflow area akan kosong
      • Main file akan bertambah besar

2. Fetch a record
   • Index dimanfaatkan untuk menemukan sebuah record
   • Dicari dari index yang paling atas, menurun ke index dibawahnya sampai
      akhirnya ke main file
   • Bila pernah dilakukan insert, pencarian akan dilanjutkan ke overflow area
      untuk mencari record yang telah di geser (push)

3. Get the next record
   • Successor record cukup dicari secara serial dari predecessornya, tanpa
      memanfaatkan index

4. Insert a record
   • Menambah record berarti memperpanjang overflow chain, karena metoda
      push through
   • Record baru akan selalu ditempatkan urut dengan record sebelumnya
   • Tiap kali insert akan mengakibatkan terjadi read & rewrite dari pointer-
      pointer
   • Index tidak berpengaruh terhadap index
   • Ada 3 cara yaitu
      a. separate file, record baru disimpan pada file terpisah (kurang efisien)
      b. Free space in every block, ruang kosong yang akan terisi bila ada record
                                  baru
      c. Free space in every silinder, ruang kosong pada akhir setiap silinder
Sistem Basis Data 1 (K82)                                                       26
5. Delete a record
   • Delete pemakai tombstone
   • Data pada pointer & index tetap ada

6. Modify a record
   • Dilakukan dengan langkah fetch & rewrite
   • Karena record baru bisa dituliskan pada tempat record lama berada

7. Read the entire file
   • Dapat dilakukan dengan memakai salah satu dari 2 cara dibawah ini:
      1. Secara serial dengan mengikuti alur urutan data (termasuk ke overflow
         area)
      2. Secara sequential membaca isi main file dahulu baru membaca isi
         overflow area

8. Reorganize the file
   • Overflow area digabungkan ke main file
   • Main file mendapat ukuran yang baru
   • Overflow area kembali kosong
   • Index berubah isinya sesuai dengan data terbaru
   • Dilakukan dengan pembacaan serial melalui main file


Multiple Indexed file
Adalah:
• Disebut juga multiple indexed file
• Mempunyai lebih dari sebuah index
• Tiap atribut (bahkan semua atribut) mempunyai index)
• Tiap index diperlakukan sama
   • Tiap index adalah record anchored
   • Tidak ada konsep primary-attribute
   • File tidak tersusun berdasarkan primary index
• Tidak ada pengaturan overflow-chain
   • Insert langsung ke dalam main file
   • Tiap kali insert semua index harus diupdate
• Hanya bisa diakses melalui indexnya
• Bisa diakses melalui index yang mana saja
• Record bisa berbentuk variable length

Struktur file pada indexed file
• Index bisa sebanyak atribut yang ada
• Index bahkan bisa lebih banyak dari jumlah atribut yang ada, kalau dibentuk
   combined index
• Index berisi alamat dari tiap record yang terkait
• Tidak ada urutan data pada primary file, karena system akan menempatkan
   data berdasarkan besar kebutuhan tempat
• Tidak ada batasan panjang record
• Bisa berbentuk variable length record
• Successor record dicari melalui record

Data Utama

No. Record         NIM     Nama               Alamat
     1       0011500043|Muhammad Hanafi|Petukangan Utara
     2       0222500056|Ali|Ciledug
     3       0033500021|Fitriana Sari| Petukangan Selatan
     4       0022500026|Budi Firmansyah|Cipulir
     5       0244500023|Titi|Cipondoh
     6       0122500035|Abdullah Nashih Ulwan|Tanah Abang
     7       0022500254|Ade|Kebayoran Lama
     8       0322500221|Muhammad Reza Pahlevi|Kebayoran Baru
Sistem Basis Data 1 (K82)                                                    27

Index file
Misal Berdasarkan nama

            Key              Record #
Abdullah Nashih Ulwan           6
Ade                             7
Ali                             2
Budi Firmasyah                  4
Fitriana Sari                   3
Muhammad Hanafi                 1
Muhammad Reza Pahlevi           8
Titi                            5


Kegunaan indexed file
• Banyak dipakai bila kecepatan akses sangat dibutuhkan
• File jarang diakses secara serial
• Data dapat diakses dengan struktur yang berbeda tanpa perlu dilakukan
   reorganisasi (karena bisa mempunyai banyak record)
• Sangat cocok untuk format data yang dinamis

Performance

1. Record size
   • Bisa berbentuk variable length
   • Atribut record secara umum bisa berbentuk sparse
   • Besar keseluruhan file sangat ditentukan oleh banyaknya index yang dibuat

2. Fetch a record
   • Dilakukan melalui index
   • Mirip dengan indexed sequential, hanya tidak ada pencarian ke overflow
      area
   • Bila index bisa ditempatkan pada satu cylinder, maka penelusurannya tidak
      memerlukan seek time

3. Get the next record
   • Tidak bisa dilakukan melalui struktur file
   • Dilakukan melalui index

4. Insert a record
   • Record ditempatkan dimana saja pada daerah yang kosong
   • Semua index yang terkait akan di update

5. Delete a record
   • Tidak dengan menghilangkan/menghapus record yang didelete
   • Tidak melepaskan semua index yang terkait dengan record tersebut

6. Modify a record
   • Dilakukan dengan cara:
     • Mencari lokasi yang akan berubah
     • Mengubah isi record
     • Mengubah semua index yang terkait dengan perubahan tersebut

7. Read the entire file
   • File tidak diharapkan untuk sering dibaca seluruh isinya
   • Karena lokasi record yang tidak beraturan
   • Harus dilakukan dengan memanfaatkan index lengkap yang ada
Sistem Basis Data 1 (K82)                                                  28
8. Reorganize the file
   • Tidak perlu dilakukan secara periodik
   • Lebih kepada pemanfaatan kembali daerah-daerah kosong akibat delete a
      record



Hashed File
Adalah:
• Memakai perhitungan matematis untuk menemukan alamat dari sebuah record
• Memanfaatkan kemampuan disk unit dapat mengakses tiap block yang
   diketahui alamatnya
• Agar dapat dilakukan direct access, key dari record dipakai sebagai alamat di
   dalam file

Komponen Hashed File:
• File Space
  • Terbagi dalam slot-slot
  • Tiap slot menyimpan sebuah record

•   Rumus
    • Menghasilkan slot address, dihitung berdasarkan key dari sebuah record

Overview Hashed File
• Berbasis kemampuan direct access ke dalam file dengan memanfaatkan relatif
   address
• Relatif address adalah:
   • Sebuah record dapat ditemukan hanya dengan memanggilnya lewat nomor
      urut record di dalam file
• Masalahnya adalah:
   • Membuat rumus untuk mengubah key dari sebuah record menjadi nomor
      urut (KAT -> Key To Address Transformation)
• KAT (Key To Address Transformation) :
   • Tujuannya untuk menghasilkan slot number yang berbeda bagi tiap record
   • Dengan cara mengubah key menjadi relative address
   • Hambatan KAT:
      • Key umumnya sesuatu yang bersifat natural (NIM / No_KTP /
          No_Pegawai / dll)
      • Natural Key biasanya panjang (NIM = 10 digit)
   • Persyaratan KAT:
      • Ukuran Key harus diperpendek agar sesuai dengan slot address (relative
          address)
      • Slot address yang dihasilkan harus unix
   • Algoritma untuk membuat KAT sangat banyak
   • Contoh:
                     NIM             NAMA        SLOT ADDRESS
              0011500001        BUDIMAN                1
              0011500002        HERMAN                 2
              -                 -                      -
              -                 -                      -
              0011500105        ACHMAD                105
              0011500106        ENDANG                106
              0011500107        SEPHIA                107

•   Fungsi hash yang umum digunakan
    • Division Remainder (pembagian sisa)
    • Truncation (pemenggalan)
    • Folding ( Lipatan)
    • Multiplication (perkalian)
    • Mid Square
Sistem Basis Data 1 (K82)                                                29
Teknik Hashing Division Remainder (pembagian sisa)
 - Metode hashing paling sederhana dengan membagi 1 nilai kunci dengan
     ukuran tabel
 - Diimplementasikan dengan syntax programming MOD (sisa pembagian)
 - Bagi programming yang tidak memungkinkan index dari 0 maka ditambah 1
 - Contoh 1 :      jika ukuran tabel 11 dan nilai kunci 648
                   F(648) = 648 mod 11 = 10
                   Maka nilai 648 disimpan di lokasi 10
 - Contoh 2 :      Sebuah file = 4 record dengan nilai kunci 12,19,68,38
                   ukuran tabel 11
                   F(12) = 12 mod 11 = 1       F(19) = 19 mod 11 = 8
                   F(68) = 68 mod 11 = 2       F(38) = 38 mod 11 = 5

              Index              0   1    2    3   4     5      6   7   8    9
              NIlai Kunci            12   68             38             19

Teknik Hashing Truncation (pemenggalan)
 - melakukan pemenggalan sejumlah digit yang pertama atau yang terakhir
    dari sejumlah digit
 - Keuntungan, capat dan mudah dalam implementasinya
 - Kerugian, terbatasnya ukuran ruang alamat
 - Contoh 1:       Jika fungsi F menghapus 6 digit akhir dari digit 123456789
                   Maka f(123456789) = 123
              Nb : hash memetakan nomor 123456789 ke alamat 123

Teknik Hashing Folding ( Lipatan)
 - Nilai kunci dibagi menjadi beberapa bagian, masing-masing memiliki jumlah
    digit yang sama (kecuali bagian awal atau akhir). Bagian-bagian ini kemudian
    dilipat antara satu bagian dengan bagian lain. Hasil penjumlahan setelah
    dilipat dan digit dengan orde paling tinggi dipenggal menjadi alamat relative
 - Contoh 1:         Nilai kunci 253456718, target alamat relative menggunakan 4
    digit
                     Nilai kunci dibagi menjadi 4 digit
             Jawab:

                                     2 5345    6718
                       2
                       5345
                       8176               (urutan terbalik !)
                    -------- +
                     15521

                    digit dengan order tinggi dihilangkan menjadi 5521

 -   Contoh 2:     Nilai kunci 123456 dibagi menjadi 2 bagian
             Jawab:          123                      123
                    456                       654
                      ------ +   atau         ----- +
                       579                            777

Teknik Hashing Multiplication (pekalian)
 - Membagi sebuah kunci dan menjumlah bagian-bagiannya (seperti teknik
    folding), bagian dari salah kunci dipilih untuk dikalikan. Hasilnya atau satu
    bagian yang dipenggal merupakan alamat relatif dari record yang akan
    dilokasikan
 - Contoh 1:        NIM = 9922500266
               Jawab:      992 * 266 = 263872           dipenggal menjadi 2638
                           Maka data NIM 9922500266 disimpan di alamat 2638
Sistem Basis Data 1 (K82)                                                       30
Teknik Hashing Mid Square
 - Nilai kunci dikuadratkan, tentukan digit yang akan dikutip dari tengah
 - Contoh 1:        Diambil dari kanan, mulai posisi ke 6 sebanyak 6 digit
                   Nilai Kunci      Kunci dipangkatkan         Alamat
                                                               relatif
                   9122500266        83220011103170070756 031700
                   0322501001          104006895646002001 956460

Collision:
• Kadangkala KAT (Key To Address Transformation) akan menghasilkan slot
    address yang sama untuk 2 atau lebih key yang berbeda.
• Akibatnya 2 atau lebih record yang berbeda akan mempunyai slot address yang
    sama
• Kondisi diatas disebut Collision
• Metoda mengatasi collision:
    • Open addressing
        • Linear search
        • Re-randomization
    • Overflow area
Linear Search
• Slot dikelompokkan ke dalam bucket, 1 bucket sama dengan 1 block
• Dengan dimanfaatkannya bucket, jumlah relative address berkurang
• Bucket kadang disebut juga sebagai Cluster
• Bila sebuah record akan direkam maka:
    • Ditempatkan kedalam bucket sesuai dengan bucket addressnya
    • Ketika terjadi collision, record tetap ditempatkan sesuai dengan bucket
        addressnya tetapi pada next sequential block

Re-randomization:
• Tidak memanfaatkan bucket (cluster)
• Tetapi menempatkan record yang collision pada sembarang tempat di dalam
   file
• Dengan membuat KAT yang bertingkat-tingkat
• Sebuah record direkam kedalam slot sesuai dengan relative addressnya
   (diperoleh dari KAT)
• Bila terjadi collision, KAT tingkat berikutnya akan dipakai untuk mencari tempat
   kosong di dalam file
• Setiap terjadi collision, KAT tingkat berikutnya akan dimanfaatkan

Overflow area:
• Mempersiapkan file terpisah (overflow file)
• Memanfaatkan overflow-chain untuk penghubung (seperti pada indexed
   sequential file)
• Tidak dipakai pola bucket (cluster)
• Membutuhkan seek tersendiri, tetapi tidak ada sequential search ke dalam
   bucket
• Kesulitannya adalah:
   • Menyediakan overflow file yang mencukupi
   • Karena collision tidak bisa diduga kapan terjadi & berapa kali terjadi

Kegunaan Hashed File
• Banyak dipakai untuk file-file berbentuk:
   • Directory
   • Tabel (Harga / barang)
   • Jadwal kegiatan
   • Daftar (nama/alamat)
   • dll
• File dengan ukuran record yang pendek & fixed
• Dapat diakses dengan cepat
• Hanya diakses berdasarkan 1 key
• Tidak pernah diakses secara serial
Sistem Basis Data 1 (K82)                                                  31
Performance
1. Record Size
   • Fixed length record
   • Besar tempat yang dibutuhkan untuk tiap record adalah sama seperti pada
      indexed sequential file
2. Fetch a record
   • Record ditemukan berdasarkan relative address
   • Kalau pernah terjadi collision, fetch dilanjutkan ke tempat record
      sebenarnya berada (tergantung metoda penanganan collision)
3. Get the next record
   • Tidak dikenal cara serial access
   • Selalu seperti fetch a record

4. Insert a record
   • Slot yang akan diisi harus diperiksa apakah:
      • Kosong
      • Berisi record dengan key yang sama
      • Berisi record dengan key yang lain (collision)

5. Delete a record
   • Dengan memanfaatkan tombstone
   • Bila dipergunakan overflow area:
      • Overflow-chain akan diatur ulang
      • Atau slot akan diberi tanda kosong
   • Bila dipergunakan open addressing:
      • Tidak bisa sekedar slot diberi tanda kosong
      • Harus dimungkinkan untuk tetap mendapat record-record yang collision

6. Modify a record
   • Dilakukan secara fetch & rewrite pada tempat yang sama
   • Kalau key berubah maka langkahnya adalah insert & modify
7. Read the entire file
   • Tidak bisa dilakukan serial search
   • Hanya bisa dengan membaca seluruh slot yang disiapkan, melalui KAT
   • Walaupun akan termasuk membaca semua slot yang masih kosong

8. Reorganize the file
   • Diperlukan bila total record telah mengisi semua slot dan tidak ada tempat
      lagi untuk bertambah
   • Dibutuhkan tempat baru yang lebih besar
   • KAT perlu diubah atau diperbaiki
   • Reorganisasi juga diperlukan jika banyak record yang telah didelete (delete
      akan berakibat memperpanjang / memperlama pencarian sebuah record)


MULTIRING FILE
Adalah:
• Berorientasi ke proses yang efisien untuk subset (kumpulan record)
• Subset berisi grup record yang memiliki atribut yang sama
• Banyak dimanfaatkan dalam system database
• Sejumlah subset dari record terkait satu dengan lainnya oleh pointer-pointer
• Jalur kait antar subset menggambarkan urutan anggota dari subset tersebut
• Sebuah record bisa menjadi anggota dari beberapa subset
• Tiap subset mempunyai Header Record (Header) yaitu record yang merupakan
   tempat sebuah subset terkait
• Header berisi semua keterangan tentang anggota subsetnya
• Header record sendiri bisa juga terkelompok dalam sebuah subset
• Salah satu jenis kait yang dipakai adalah RING
• RING adalah:
   • Dimana anggota subset yang pertama dan terakhir sama-sama terkait pada
      header record
• Ring dapat disusun bertingkat-tingkat
Sistem Basis Data 1 (K82)                                                  32
• Sehingga anggota dari sebuah subset dapat menjadi header record bagi subset
   tingkat dibawahnya

Struktur file
• Isi dan ukuran sebuah record sangat tergantung pada subset mana record
   tersebut terkelompok
• Tiap record mempunyai sejumlah pointer yang menyatakan ke ring mana saja
   record tersebut terkait
• Tiap ring (subset) mempunyai header
• Header adalah: entry point & atau anggota ring lainnya
• Cara penelusuran:
   • Ring dimasuki melalui header
   • Anggota ring ditelusuri satu persatu sampai ketemu
   • Bila penelusuran kembali mencapai header berarti satu ring telah selesai
       ditelusuri
Performance
1. Record Size
   • Bisa mempunyai berbagai bentuk record di dalam sebuah file
   • Atribut sebuah record dapat berada di dalam record tersebut, atau dapat
       ditelusuri berdasarkan pointer yang ada
   • Sebuah pointer di dalam record dapat menjadi pengganti dari sejumlah
       atribut pada record tersebut

2. Fetch a record
   • Untuk bisa mencapai sebuah record (yang terdapat di dalam ring) selalu
      harus melalui headernya
   • Sebuah ring hanya bisa dimasuki melalui entering pointnya

3. Get the next record
   • Dilakukan dengan menelusuri ring yang terkait
   • Next record tergantung atribut apa yang terkait
4. Insert a record
   • Dilakukan dengan:
      • Mengarahkan semua pointer dari predecessor record ke record baru
      • Memindahkan semua nilai/isi pointer dari predecessor record ke record
          baru

5. Delete a record
   • Kebalikan dari insert:
      • Melepaskan semua pointer dari predecessor record & semua pointer ke
          successor record
      • Mengarahkan semua pointer dari predecessor record ke successor
          record

6. Modify a record
   • Dilakukan dengan cara fetch & rewrite, bila hanya merubah isi record
   • Hanya ring yang terkait saja yang di update
   • Bila merubah urutan record, dilakukan seperti pada pelaksanaan insert

7. Read the entire file
   • Dilakukan dengan:
      • Pembacaan secara serial mengikuti semua kemungkinan hubungan yang
         ada
      • Menelusuri ring demi ring
      • Bertingkat-tingkat, sampai seluruh record

8. Reorganize the file
   • Secara normal tidak diperlukan reorganisasi
   • Bila merubah file sebuah record, maka hanya ring & record yang terkait saja
      yang perlu diproses

More Related Content

What's hot

Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUILaporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Shofura Kamal
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)
Joel Marobo
 
Riset operasional
Riset operasionalRiset operasional
Riset operasional
Henry Guns
 
4 rekursi
4 rekursi4 rekursi
4 rekursi
Yu Nita
 
Soal matstat ngagel+jawabannya
Soal matstat ngagel+jawabannyaSoal matstat ngagel+jawabannya
Soal matstat ngagel+jawabannya
Kana Outlier
 
Sistem informasi-pelayan-jasa-servis-motor
Sistem informasi-pelayan-jasa-servis-motorSistem informasi-pelayan-jasa-servis-motor
Sistem informasi-pelayan-jasa-servis-motor
Agung Apriyadi
 

What's hot (20)

Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Normalisasi slip gaji
Normalisasi slip gajiNormalisasi slip gaji
Normalisasi slip gaji
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
 
Scheduling - Sistem Operasi (Kelompok 3)
Scheduling - Sistem Operasi (Kelompok 3)Scheduling - Sistem Operasi (Kelompok 3)
Scheduling - Sistem Operasi (Kelompok 3)
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUILaporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)
 
Use skenario
Use skenarioUse skenario
Use skenario
 
Riset operasional
Riset operasionalRiset operasional
Riset operasional
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
linear programming metode simplex
linear programming metode simplexlinear programming metode simplex
linear programming metode simplex
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Database rumah sakit
Database rumah sakitDatabase rumah sakit
Database rumah sakit
 
4 rekursi
4 rekursi4 rekursi
4 rekursi
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 
Soal matstat ngagel+jawabannya
Soal matstat ngagel+jawabannyaSoal matstat ngagel+jawabannya
Soal matstat ngagel+jawabannya
 
Service Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi InformasiService Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi Informasi
 
Pti08 rantai pasok
Pti08 rantai pasokPti08 rantai pasok
Pti08 rantai pasok
 
Sistem informasi-pelayan-jasa-servis-motor
Sistem informasi-pelayan-jasa-servis-motorSistem informasi-pelayan-jasa-servis-motor
Sistem informasi-pelayan-jasa-servis-motor
 

Similar to Sistem Basis Data 1

Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.pptSlide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
NikoEstradiyanto1
 
HIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptx
HIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptxHIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptx
HIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptx
DaffaOfficial2
 

Similar to Sistem Basis Data 1 (20)

Ferli Apriadi - Manajemen File
Ferli Apriadi - Manajemen FileFerli Apriadi - Manajemen File
Ferli Apriadi - Manajemen File
 
20182-31-C31040204-A-K-2.pdf
20182-31-C31040204-A-K-2.pdf20182-31-C31040204-A-K-2.pdf
20182-31-C31040204-A-K-2.pdf
 
Sisber1
Sisber1Sisber1
Sisber1
 
Bernis Sagita - Manajemen File
Bernis Sagita - Manajemen FileBernis Sagita - Manajemen File
Bernis Sagita - Manajemen File
 
Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)
 
4.basis data
4.basis data4.basis data
4.basis data
 
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.pptSlide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
 
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.pptSlide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
 
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.pptSlide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
Slide-INF106-Pertemuan-1-Pengantar-Sistem-Basis-Data.ppt
 
Slide-INF106-INF106-Slide-01.ppt
Slide-INF106-INF106-Slide-01.pptSlide-INF106-INF106-Slide-01.ppt
Slide-INF106-INF106-Slide-01.ppt
 
HIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptx
HIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptxHIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptx
HIRARKI ELEMEN PENYIMPANAN DATA KONSEP DASAR PENYIMPANAN DATA_KELOMPOK 7.pptx
 
Kuliah i sbd
Kuliah i sbdKuliah i sbd
Kuliah i sbd
 
1._Pengantar_BasisData_.ppt
1._Pengantar_BasisData_.ppt1._Pengantar_BasisData_.ppt
1._Pengantar_BasisData_.ppt
 
Pertemuan-3-Pengantar-Sistem-Basis-Data.ppt
Pertemuan-3-Pengantar-Sistem-Basis-Data.pptPertemuan-3-Pengantar-Sistem-Basis-Data.ppt
Pertemuan-3-Pengantar-Sistem-Basis-Data.ppt
 
Pertemuan ke 10
Pertemuan ke 10Pertemuan ke 10
Pertemuan ke 10
 
Modul5ppt
Modul5pptModul5ppt
Modul5ppt
 
Power poin modul 5
Power poin modul 5Power poin modul 5
Power poin modul 5
 
Manajemen file
Manajemen fileManajemen file
Manajemen file
 
Sister 010 - file service
Sister   010 - file serviceSister   010 - file service
Sister 010 - file service
 
Perwakilan keperluan pangkalan data
Perwakilan keperluan pangkalan dataPerwakilan keperluan pangkalan data
Perwakilan keperluan pangkalan data
 

More from Mrirfan

Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
Mrirfan
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04     Software  Testing  Techniques  2Pertemuan 04     Software  Testing  Techniques  2
Pertemuan 04 Software Testing Techniques 2
Mrirfan
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04     Software  Testing  TechniquesPertemuan 04     Software  Testing  Techniques
Pertemuan 04 Software Testing Techniques
Mrirfan
 
Pertemuan 06 Black Box Testing
Pertemuan 06     Black Box TestingPertemuan 06     Black Box Testing
Pertemuan 06 Black Box Testing
Mrirfan
 
Ratnasuhartiniunairbab4
Ratnasuhartiniunairbab4Ratnasuhartiniunairbab4
Ratnasuhartiniunairbab4
Mrirfan
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04    Software Testing Techniques  2Pertemuan 04    Software Testing Techniques  2
Pertemuan 04 Software Testing Techniques 2
Mrirfan
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04    Software Testing TechniquesPertemuan 04    Software Testing Techniques
Pertemuan 04 Software Testing Techniques
Mrirfan
 
Mkpl Pertemuan5
Mkpl Pertemuan5Mkpl Pertemuan5
Mkpl Pertemuan5
Mrirfan
 
Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
Mrirfan
 

More from Mrirfan (20)

Teori Etika Keperawatan
Teori Etika KeperawatanTeori Etika Keperawatan
Teori Etika Keperawatan
 
Pengertian Etika
Pengertian EtikaPengertian Etika
Pengertian Etika
 
Pertemuan 06 Black Box Testing
Pertemuan 06      Black Box  TestingPertemuan 06      Black Box  Testing
Pertemuan 06 Black Box Testing
 
M K P L Pertemuan5
M K P L  Pertemuan5M K P L  Pertemuan5
M K P L Pertemuan5
 
Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04     Software  Testing  Techniques  2Pertemuan 04     Software  Testing  Techniques  2
Pertemuan 04 Software Testing Techniques 2
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04     Software  Testing  TechniquesPertemuan 04     Software  Testing  Techniques
Pertemuan 04 Software Testing Techniques
 
Pertemuan 06 Black Box Testing
Pertemuan 06     Black Box TestingPertemuan 06     Black Box Testing
Pertemuan 06 Black Box Testing
 
Ratnasuhartiniunairbab4
Ratnasuhartiniunairbab4Ratnasuhartiniunairbab4
Ratnasuhartiniunairbab4
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04    Software Testing Techniques  2Pertemuan 04    Software Testing Techniques  2
Pertemuan 04 Software Testing Techniques 2
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04    Software Testing TechniquesPertemuan 04    Software Testing Techniques
Pertemuan 04 Software Testing Techniques
 
Mkpl Pertemuan5
Mkpl Pertemuan5Mkpl Pertemuan5
Mkpl Pertemuan5
 
Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat Lunak
 
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjStrategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
 
Kel2 Data Warehouse
Kel2 Data WarehouseKel2 Data Warehouse
Kel2 Data Warehouse
 
Kel2 Data Warehouse 2
Kel2 Data Warehouse 2Kel2 Data Warehouse 2
Kel2 Data Warehouse 2
 
2 Basic Principal Of Utp Installation
2 Basic Principal Of Utp Installation2 Basic Principal Of Utp Installation
2 Basic Principal Of Utp Installation
 
1 Introduction To Premises Cabling System
1 Introduction To Premises Cabling System1 Introduction To Premises Cabling System
1 Introduction To Premises Cabling System
 
Modul 16 Perc7 Bluetooth
Modul 16 Perc7 BluetoothModul 16 Perc7 Bluetooth
Modul 16 Perc7 Bluetooth
 

Recently uploaded

PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
dpp11tya
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNS
dheaprs
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 

Recently uploaded (20)

MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNS
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesia
 
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi  Profil Pelajar Pancasila.pdfaksi nyata sosialisasi  Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 

Sistem Basis Data 1

  • 1. Sistem Basis Data 1 (K82) 1 KONSEP DASAR Pendahuluan Sistem berkas atau pengarsipan adalah : Suatu system untuk mengetahui bagaimana cara menyimpan data dari file tertentu dan organisasi file yang digunakan. System akses : Cara untuk mengambil informasi dari suatu file Organisasi file : Teknik yang digunakan untuk menggambarkan dan menyimpan pada file Istilah – istilah dasar • Entitas Sekumpulan obyek yang mempunyai karakteristik sama dan bisa dibedakan dari lainnya. Obyek dapat berupa barang, orang, tempat atau suatu kejadian Missal : pegawai, mobil, nilai dsb • Atribut Deskripsi data yang bisa mengidentifikasikan entitas Missal : entitas mobil adalah no. mobil merk mobil, wrna mobil dsb • Field Lokasi penyimpanan untuk salah satu elemen data atribut • Record Kumpulan dari field yang berhubungan satu sama lain • File Kumpulan dari record yang menggambarkan himpunan entitas • Basis data Kumpulan file yang digunakan oleh program aplikasi serta membentuk hubungan tertentu di antara record-record di file-file tersebut • Key o Elemen record yang dipakai untuk menemukan record tersebut pada waktu akses o Jenis-jenis key:
  • 2. Sistem Basis Data 1 (K82) 2 Primary key Secondary key Candidate key Alternate key Composite key Foreign key
  • 3. Sistem Basis Data 1 (K82) 3 • Primary key o Field yang mengidentifikasikan sebuah record dalam file o Bersifat unik NIM NAMA UMUR 0222500250 TUTI 21 PRIMARY 0222300023 WATI 20 KEY 0144500024 ALE 24 • Secondary key o Field yang mengidentifikasikan sebuah record dalam file o Tidak bersifat unik NIM NAMA UMUR SECONDARY 0222500250 TUTI 21 KEY 0222300023 WATI 20 0144500024 ALE 24 • Candidate key o Field-field yang bisa dipilih (dipakai) menjadi primary key CANDIDATE KEY NIM NAMA NO_KWITANSI JUMLAH 0222500250 TUTI 789 50000 0222300023 WATI 254 60000 0144500024 ALE 365 80000 • Composite key o Primary key yang dibentuk dari beberapa field COMPOSITE KEY HARI RUANG MATA KULIAH SELASA 322 LOGIKA MATEMATIKA SELASA 321 PANCASILA SELASA 333 KEWARGANEGARAAN • Foreign key o Field yang bukan key, tetapi adalah key pada file yang lain KD_MK MATAKULIAH SKS KD_DOSEN KD_DOSEN NAMA N18 MANAJEMEN 2 D231 D232 Warsono, Drs P25 PASCAL 4 D453 D453 R. Faisal K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY
  • 4. Sistem Basis Data 1 (K82) 4 FILE o File diletakkan di penyimpan sekunder. o File mempunyai nama Karakteristik umum file 1. Persitence Bertahan lama yaitu kemampuan untuk dapat diakses di masa datang. 2. Sharability Dapat digunakan bersama oleh beragam pemakai dan program 3. Size File mempuyai ukuran yang relative besar Operasi pada file / berkas Berdasarkan model proses 1. batch suatu proses yang dilakuakn secara kelompok atau grup 2. iterative suatu proses yang dilakukan secara satu per satu yaitu record per record Berdasarkan Model operasi : 1. Create Pembuatan berkas dengan cara membuat struktur berkas lebih dahulu, kemudian record-record dimuat ke dalam berkas tersebut 2. Up-date Pengubahan isi dari berkas diperlukan untuk menjaga berkas tetap up to date (diperbaharui) Ada 3 bagian dalam proses up date : o Insert / Penyisipan atau penambahan record o Modify / Perbaikan field o Delete / Penghapusan record 3. Retrieval Pengaksesan sebuah berkas untuk tujuan mendapatkan informasi Menurut ada tidaknya persyaratan, retrieval dibagi menjadi o Comphrehensive retrieval Proses untuk mendapatkan informasi dari semua record dalam berkas Missal : display all, list nama alamat o Selective retrieval Mendapatkan informasi dari record-record tertentu berdasarkan persyaratan tertentu Missal : list for program studi == ‘TI’ 4. Maintenance Perubahan yang dibuat terhadap berkas dengan tujuan memperbaiki program dalam mengakses berkas tersebut. Ada dua cara yaitu : o Restructuring Perubahan struktur berkas Misalnya : panjang field diubah Penambahan field baru o Reorganizing Perubahan organisasi berkas dari organisasi yang satu menjadi organisasi berkas yang lain Misalnya : dari organisasi berkas sequential menjadi berkas sequential diindeks dari langsung (direct) menjadi sequential (berurutan)
  • 5. Sistem Basis Data 1 (K82) 5 RECORD Ukuran record biasa dinyatakan dalam byte Jenis record menurut panjangnya : 1. Fixed length record Semua field di record mempunyai panjang yang tetap Kelebihan : tidak rumit dalam pemrograman Kekurangan : harus disediakan ukuran terbesar yang diperlukan 2. variable length record Field-field di record mempunyai panjang berbeda-beda Kelebihan : hemat tempat Kekurangan : rumit dalam permrogaman • Record View o External View Bentuk record yang terlihat oleh user Disebut juga logical record o Internal View Bentuk record secara fisik di dalam media penyimpanan Disebut juga physical record • Data transfer o Perpindahan data antara primar storage dengan secondary storage PRIMARY DATA SECONDARY STORAGE STORAGE o Tidak hanya memindahkan 1 (satu) logical record, tetapi 1 (satu) block o 1 block bisa > 1 record o block disebut juga physical record STORAGE MEDIA PRIMARY SECONDARY DATA AREA STORAGE STORAGE • Input Buffer o Tempat 1 block disimpan didalam memory • Output Buffer o Tempat 1 block yang akan direkam ke storage media • Data Area o Tempat 1 logical record yang akan diproses LOGICAL FILE STRUCTURE • Adalah: o Organisasi file o External View o Kumpulan logical record o Pandangan user tentang bagaimana kumpulan logical record terorganisir PHYSICAL FILE STRUCTURE • Adalah: o Internal View o Kumpulan physical record o Letak / susunan physical record pada secondary storage
  • 6. Sistem Basis Data 1 (K82) 6 JENIS FILE (Berdasarkan fungsinya): o MASTER FILE o TRANSACTION FILE o REPORT FILE o WORK FILE o PROGRAM FILE o TEXT FILE • MASTER FILE o Adalah: • Berisi data statis • Data tentang satu sisi dari organisasi PELANGGAN PERSEDIAAN BARANG PEGAWAI NILAI MAHASISWA MATAKULIAH • Berisi data historis • Isinya relatif permanen • TRANSACTION FILE o Adalah: • Berisi data yang akan mengupdate master file • Berisi kejadian atau perubahan terhadap sesuatu, yang statusnya tersimpan dalam master file • REPORT FILE o Adalah: • Berisi data yang bentuknya telah disesuaikan untuk kepentingan user • Data yang akan ditampilkan pada monitor • Data yang akan dicetak • Dihasilkan oleh: • Report writer • Application program • WORK FILE o Adalah: • Temporary file • File sementara • File kerja • Berisi sesuatu yang tidak permanen • Isinya hanya dipakai sesaat saja • Untuk memindahkan data dari satu program ke program yang lain • PROGRAM FILE o Adalah: • Berisi perintah untuk memproses data • Bisa berisi perintah dalam: • High Level Language • Low Level Language • Machine Language • Job Control Language • Perintah bisa berbentuk: • Source Code • Hasil Kompilasi • Hasil proses lainnya • TEXT FILE o Berisi: • ALPHANUMERIC & GRAPHIC DATA o Berasal dari program text editor o Hanya dapat diproses oleh program text editor
  • 7. Sistem Basis Data 1 (K82) 7 PERANGKAT PENYIMPAN SEKUNDER (SECONDARY STORAGE DEVICE) Operasi dan mekanisme kerja perangkkat sekunder sangat berpengaruh terhadap kinerja struktur file Media penyimpanan informasi di system computer dibagi menjadi 2 tipe utama : Penyimpan primer Ciri-ciri : o Kecepatan akses tinggi o Harganya relative mahal o Kapasitas relative kecil o Volatile Penyimpan sekunder Cirri-ciri : o Kecepatan akses rendah o Harganya relative murah o Kapasitas relative besar o Non-volatile Macam penyimpan sekuder : Contoh media penyimpan mekanis o Kartu IBM/Hollerith o Pita kertas berlubang Sifat umum perangkat ini adalah sangat lambat, dan sudah tidak digunakan lagi untuk penyimpanan data o Magnetic tape Panjangnya beratus meter dan digulung. Informasi dikodekan karakter per karakter. CIRI – CIRI MAGNETIC TAPE o tape masuk ke dalamkeluarga SASD (sequential access storage device) sehingga Hanya dapat diproses secara sequential, yaitu Sebuah record hanya dapat diakses setelah semua record didepannya diakses o Hanya bisa mempunyai struktur file sequential o Sebuah record tidak dapat diupdate ditempatnya • Karakteristik o Media Terbuat dari mylar Berlapis oksida logam o Lebar 0.5 inchi
  • 8. Sistem Basis Data 1 (K82) 8 o Panjang 200 feet s/d 6400 feet pada sebuah reel o Density 800 BPI 1600 BPI 6250 BPI o Daerah perekaman dibatasi oleh LOAD POINT MARK END OF REEL MARK o Terbagi menjadi 9 track 8 track untuk data bit 1 track untuk parity bit 0 1 2 3 DATA TRACK 4 BIT 5 6 7 PARITY 8 BIT o Parity bit satu bit yang dipakai untuk error checking o Data direkam secara EBCDIC
  • 9. Sistem Basis Data 1 (K82) 9 0 0 0 0 DATA TRACK 0 BIT 1 0 1 1 PARITY BIT FRAME Keuntungan magnetic tape: o Harganya murah, simpannya besar Kerugian magnetic tape: o Aksesnya terbatas hanya 1 jenis akses PARITY BIT Satu bit yang ditambahkan oleh sistem Konsep parity ada dua: 1. Odd Parity 2. Even Parity Odd Parity: o Jumlah bit yang on (berisi 1) dalam 1 frame harus ganjil Even Parity: o Jumlah bit yang on (berisi 1) dalam 1 frame harus genap Contoh: ODD PARITY EVEN PARITY 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0
  • 10. Sistem Basis Data 1 (K82) 10 Jenis Parity o Vertical Parity Bit 1 bit parity pada tiap frame o Longitudinal parity bit 1 frame pada akhir tiap block 1 BLOCK LONGITUDINAL PARITY BIT INTERRECORD GAP Data hanya ditulis (dibaca) kalau tape bergerak dengan kecepatan tertentu / normal kecepatan write & read start stop panjang pita Hanya berlaku 1 bock Panjang 1 IRG dengan IRG yang lain selalu sama Adalah: o Daerah pita yang tidak ditulis (dibaca) disebut IRG (Inter Record Gap) PHYSICAL IRG PHYSICAL IRG PHYSICAL IRG RECORD-1 RECORD-2 RECORD-3 Block o Panjang IRG selalu sama CARA PEREKAMAN Panjang magnetic tape yang dipakai untuk merekam 1 block tergantung pada: o PANJANG LOGICAL RECORD o BLOCKING FACTOR o DENSITY Panjang logical record dinyatakan dalam satuan: BYTE / CHARACTER Blocking factor adalah nilai yang menyatakan 1 block terdiri atas beberapa logical record Density, tergantung jenis magnetic tapenya: 800/1600/6250 BPI Contoh 1: Panjang magnetic tape untuk merekam 1 block bila: o Record length : 80 character o Blocking factor : 10 logical record o Density : 1600 BPI o IRG : 0.6 inch Adalah: = 0.6 + 10 x 80 inch 1600 = 1.1 inch PHYSICAL IRG PHYSICAL IRG PHYSICAL IRG
  • 11. Sistem Basis Data 1 (K82) 11 RECORD-1 RECORD-2 RECORD-3 start stop KEBUTUHAN PITA MAGNETIC UNTUK MEREKAM 1 BLOCK Rumus: IRG = INTER RECORD GAP IRG + BF X RL BF = BLOCKING FACTOR D RL = RECORD LENGTH D = DENSITY Contoh 2: o Panjang tape untuk merekam 1000 logical record bila: o RL : 200 byte o BF : 8 o D : 800 BPI (bit per inch) o IRG : 0.6 inch Adalah: = 1000 ( 0.6 + 8 x 200 ) inch 8 800 = 125 ( 0.6 + 2 ) = 325 inch 27.08 feet ( 1 feet = 12 inch ) panjangnya pita RUMUS o Menghitung panjang pita yang dipakai: N ( IRG + BF X RL ) BF D N = Banyak record BF = Blocking Factor IRG = Inter Record Gap RL = Record Length D = Density Contoh 3: Density = 1600 Byte Per inchi Panjang Tape = 3600 feet Kapasitas simpan = 1600 * 12 * 3600 = 69 120 000 byte = 67500 KB Nb : 1 feet = 12 inchi Waktu akses pada magnetic tape Waktu untuk memindahkan = panjang gap + panjang record 1 record (dalam detik) kecepatan transfer data Waktu untuk memindahkan = panjang gap + BFR * panjang record 1 record (dalam detik) kecepatan transfer data contoh:
  • 12. Sistem Basis Data 1 (K82) 12 Catatan sebuah file yang mempunyai 100.000 record, dimana sebuah record berukuran 160 byte, kecepatan transfer data 200.000 karakter/detik Kerapatan media 1600 byte per inchi. Inter record Gap 0.6 blocking factor = 10 Maka waktu yang digunakan untuk membaca: 1 record,1 file,1 blok Jawab: 1 inchi = 1600 byte, maka 0.6 inchi = ……. byte/karakter 1600 byte * 0.6 inchi = 960 byte, maka 0.6 inchi = 960 byte/karakter Waktu untuk melewati IRG = 960/ 200.000 = 0.0048 detik Waktu akses per 1 record = 960 + 160 / 200.000 = 0.0056 detik Waktu akses seluruh record/file = 0.0056 * 100.000 = 560 detik = 9.3 menit Waktu akses per 1 block = 960 + ( 10 * 160 ) / 200.000 = 0.0128 detik o MAGNETIC DISK o Masuk ke dalam keluarga DASD(Direct Access Storage Device) sehingga akses terhadap record dapat secara direct, yaitu Sebuah record dapat diakses secara langsung (direct), melalui address sehingga waktu pengaksesan relative rendah dan transfer data berkeceptan tinggi o Magnetic disk terbuat dari sejumlah plat/cakram. Permukaan tiap cakram (atas/bawah) terbuat dari bahan besi yang mudah dimagnetisasi. PLAT / HEAD R /W CAKRAM Perekaman data Pada disk magnetic kode on dan off direpresentasikan oleh kedudukan elemen magnetiknya. Dengan mengimbas permukaan disk dengan magnet (yang ada pada head), kedudukan elemen magnet berubah. Artinya kode on bisa diganti off dan sebaliknya. Lubang-lubang di permukaan disk merepresentasikan data yang tersusun dalam suatu jalur yang disebut track. Data disimpan dalam track yang berbentuk konsentris (lingkaran penuh) Tiap track dibagi menjadi sector-sektor (blok). Magnetic disk diorganisasikan menjadi siliner-silinder. Silinder adalah track-track yang sama pada permukaan-permukaan pada cakram-cakram yang berbeda.
  • 13. Sistem Basis Data 1 (K82) 13 Tiap permukaan terdapat head yang ditumpuk secara vertical. SEKTOR TRACK CYLINDER Kapasitas Disk Kapasitas track = sector per track X byte per sector Kapasitas cylinder = track per cylinder X kapasitas track Kapasitas drive = jumlah cylinder X kapasitas cylinder Contoh 1: Tentukan kapasitas simpanan magnetic disk dengan ketentuan sbb: Permukaan = 10 Track/permukaan = 400 Sector/track = 16 Setiap sector/track mampu menyimpan = 512 byte Jawab: Kapasitas = 10 * 400 * 16 * 512 = 32 768 000 byte Contoh 2: Jika banyak record sebanyak 20.000, panjang tiap record adalah 256 byte Jika sebuah drive mempunyai ketentuan : Byte per sector = 512 Sector per track = 40 Track per cylinder = 11 Jumlah cylinder = 1331 Berapa banyak cylinder yang diperlukan untuk meyimpan data di atas : Jawab : 1 record = 256 byte 1 sector = 512 byte
  • 14. Sistem Basis Data 1 (K82) 14 1 sector = 2 record 10.000 sector = 20.000 record 1 cylinder dapat menyimpan : 40 X 11 = 440 sector sehingga untuk 10.000 sector diperlukan : 10.000 / 440 =22.7 cylinder ACCESS TIME: o Adalah: o Waktu yang dibutuhkan untuk mengakses (mendapatkan) data dari dalam disk o Terdiri dari: o SEEK TIME o Waktu yang dibutuhkan untuk menempatkan R/W head pada cylinder yang diinginkan o Dinyatakan dengan notasi S dalam satuan milisecond o HEAD-SWITCHING TIME o Waktu yang dibutuhkan untuk mengaktifkan R/W head yang diperlukan o LATENCY TIME (Rotational Latency) o Waktu yang dibutuhkan untuk menunggu sampai data berada di bawah R/W head o Disebut juga ROTATIONAL DELAY o TRANSFER TIME o Waktu yang dibutuhkan untuk memindahkan data dari memory ke disk atau sebaliknya o Optical Disk o Dibuat dari serangkaian bintik-bintik spiral dalam satu permukaan flat. o Dibaca dan ditulis dengan sinar laser o Menyimpan informasi mirip dengan piringan hitam, informasi yang terdiri dari kode-kode on dan off direpresentasikan dengan lubang- lubang pada permukaan disk o Contoh : CD ROM (CD read only memory) CD R (CD Recordable) CD RW (CD Rewriteable)
  • 15. Sistem Basis Data 1 (K82) 15 ORGANISASI DATA File diorganisasikan secara logic sebagai barisan record. FILE PERFORMANCE PARAMETER o Adalah: o Parameter untuk menilai performance (unjuk kerja) sebuah file o Gunanya: o Untuk membandingkan Kelebihan Kekurangan Organisasi file yang satu terhadap lainnya 1. RECORD SIZE o Besar (panjang) sebuah record o Tiap record berisi data yang diperlukan o Data diperinci dalam sejumlah field o Tiap file akan berbeda dari file lainnya pada: i. Jumlah field pada tiap record ii. Besar (panjang) record o Kemampuan menyiapkan / menyediakan panjang record seperti yang dibutuhkan ikut menentukan peformance sebuah file o Contoh : NIM : 10 Byte Nama : 25 Byte Alamat : 45 Byte ============== Total : 80 Byte 2. FETCH A RECORD o Mengambil (mendapatkan) sebuah record o Untuk bisa dimanfaatkan, data dari dalam file harus dipindahkan ke memor o Fetch terdiri dari 2 langkah: o Mencari lokasi data o Membaca record tersebut 3. GET THE NEXT RECORD o Mendapatkan record berikutnya o Kalau fetch retrieve berdasarkan key o Get the next record retrieve berdasarkan struktur file o Successor record record berikutnya o Predecessor record record sebelumnya 4. INSERT A RECORD o Menambah sebuah record o Menulis kedalam file lebih rumit dari membaca isi file o Insert berarti menambahkan sebuah data baru ke dalam file o Insert pada ujung akhir sebuah file, hanyalah menambah banyaknya data Waktu yang dibutuhkan kecil 1 2 3 4 5 6 7 8 9 … A B C D E F … … … … INSERT X PADA AKHIR RECORD 1 2 3 4 5 6 7 8 9 … A B C D E F X … … … o Insert ditengah file mengakibatkan pergeseran ataupun perubahan struktur data yang tidak sederhana
  • 16. Sistem Basis Data 1 (K82) 16 1 2 3 4 5 6 7 8 9 … A B C D E F … … … … INSERT X PADA RECORD KE 3 1 2 3 4 5 6 7 8 9 … A B X C D E F … … … RECORD KE-3 DST BERGESER 5. DELETE A RECORD o Menghapus sebuah record o Kebalikan dari insert o Mencari lokasi data & menghapus isinya, agar bisa dipakai oleh data yang lain o Setelah itu dilakukan pergeseran ataupun pengaturan struktur data kembali 1 2 3 4 5 6 7 8 9 … A B C D E F … … … … HAPUS BILA RECORD D DIHAPUS, MAKA AKAN TERJADI PEMBACAAN DAN PENULISAN ULANG RECORD E, F, DST 1 2 3 4 5 6 7 8 9 … A B C E F … … … … … o Kadangkala delete dilakukan dengan hanya memberi tanda saja (tombstone / flag), tanpa dilakukan penghapusan ataupun pengaturan struktur datanya 1 2 3 4 5 6 7 8 9 … A B C D E F … … … … HAPUS 1 2 3 4 5 6 7 8 9 … A B C * E F … … … … record yang sudah dihapus “Delete” 6. MODIFY A RECORD o Mengubah sebuah record o Data lama & data baru digabung dalam record yang sudah ada o Kalau modify sampai mengubah ukuran record, maka: o Record lama harus dihapus o Record baru dituliskan pada tempat yang mencukupi 7. READ THE ENTIRE FILE o Membaca isi seluruh file o Kadangkala sebuah aplikasi perlu membaca isi seluruh file 8. REORGANIZE THE FILE o Menata ulang (mengatur kembali) file o Sebaiknya dilakukan secara periodik o Adalah:
  • 17. Sistem Basis Data 1 (K82) 17 o Menghapus data yang didelete o Membuang data yang tidak terpakai o Memakai daerah kosong untuk data yang baru o Sangat diperlukan bila konsep deletenya memakai tombstone (flag) o Sangat dianjurkan terhadap file yang banyak di insert & atau di delete ORGANISASI FILE Agar dapat mengacu pada record-record yang diinginkan pada suatu file maka file- filenya dibentuk dalam aturan-aturan atau organisasi yang teratur dan konsisten. Ada bermacam organisasi dari file yang secara umum dikelompokkan ke dalam system pengorganisasian file dasar sebagi berikut : 1. Pile file 2. sequential file 3. index sequential file 4. multiple index file 5. direct file 6. multiring file Pile File Adalah: • Bukan file komputer, tetapi file manual • Bentuk kumpulan data sebelum diproses • Dimana data sulit untuk diorganisir • Data dikumpulkan urut berdasarkan kedatangan • Tidak dianalisa, dikategorikan ataupun diatur agar sesuai dengan sesuatu field atau record size • Bentuk record mungkin saja variable length dan elemen data bisa tidak sama No.record NIP Nama Tgl-lahir Pekerjaan 1 0017081 Ali Ahmad 09-09-1950 ----------- 2 0017201 Umar 20-12-1960 Marketing Maka dalam Pile record-record akan disimpan sebagai berikut : Nim=0017081;Nama=Ali Ahmad;tgl-lahir=09-09-1950 Record –1 Nim=0017021;Nama=Umar;tgl-lahir=20-12-1960;Pekerjaan=Marketing Record –2 Gambaran secara Umum : Manfaat: • Data tersusun secara kronologis • Mudah dimanfaatkan, data yang datang langsung disimpan ke dalam file tanpa proses apapun • Mudah dibuat (dicreate), tapi report untuk mencari sesuatu dari dalamnya • Kumpulan data manual biasanya adalah sebuah pile file
  • 18. Sistem Basis Data 1 (K82) 18 • Sebagai perbandingan dengan bentuk-bentuk file komputer lainnya Performance 1. Record Size • Isi file ditentukan oleh 2 hal: • Menyimpan data yang dibutuhkan • Data yang belum disimpan tidak perlu mendapat perhatian sama sekali 2. Fetch a record • Waktu pencarian bisa sangat lama • Data mungkin berada dimana saja di dalam file • Sangat dianjurkan untuk membagi file dalam block-block • Pencarian dilakukan per block • Tetapi tidak tertutup kemungkinan data baru ditemukan pada block yang terakhir 3. Get the next record • Karena data tidak diurutkan, maka successor record mungkin berada dimana saja • Sehingga pencarian harus dilakukan pada seluruh file • Sangat dianjurkan untuk memanfaatkan pembagian dalam block seperti pada fetch 4. Insert a record • Bisa dilakukan dengan sangat cepat, karena file tidak terstruktur • Data bisa diinsert di bagian file yang manapun 5. Delete a record • Record yang akan didelete bisa berada dimana saja di dalam file • Pencarian akan bisa memakan waktu yang lama karena bentuk file yang tidak terstruktur 6. Modify a record • Record yang akan dimodify dalam kondisi yang sama seperti yang akan di delete • Yaitu bisa berada dimana saja di dalam file • Sehingga pencarian data bisa berlangsung sangat lama 7. Read the entire file • Kegiatan ini dapat dilaksanakan dengan sangat mudah • Karena tinggal membaca satu-persatu sesuai dengan kronologis susunan datanya 8. Reorganize the file • Bila delete pada file dilakukan dengan menggunakan tombstone, maka reorganize perlu dilakukan secara periodik • Agar file menjadi lebih ramping, sehingga proses pencarian data bisa berlangsung lebih cepat • Kadang reorganisasi pile file diperlukan untuk menata ulang susunan data secara kronologis
  • 19. Sistem Basis Data 1 (K82) 19 SEQUENTIAL FILE Adalah: • File dengan data yang tersusun dalam suatu urutan tertentu • Tiap record mempunyai field yang sama & dengan susunan yang sama • Bentuk file terlihat menyerupai tabel Struktur file • Untuk memungkinkan record tersusun secara urut perlu ditentukan key dari tiap record • Satu atau beberapa atribut akan menjadi key atribut • Pengurutan record dapat dilakukan berdasarkan primary keynya • Pembacaan secara serial (satu persatu) sesuai dengan urutan keynya disebut pembacaan secara sequential Nip Nama Pekerjaan 000021 Abu Bakar Manajer 000032 Fatimah Sekretaris 000042 Asma Presiden direktur Keterbatasan: • Bentuk record harus fixed length • Sehingga efisien dalam tempat (storage) tetapi kurang fleksibel • Update tidak mudah dilakukan, memakai pola transaksi – old master file – new master file • Kalau kedalam record ingin ditambahkan atribut maka seluruh file harus direorganisasi • Seringkali pada sebuah file sequential disediakan tempat untuk penambahan atribut Kegunaan: • Banyak dipakai pada metoda batch processing • Kalau beberapa file ingin digabungkan, maka tiap file harus diurutkan dalam pola pengurutan yang sama Performance 1. Record Size • Bentuk record fixed length • Besar alokasi storage yang dibutuhkan ditentukan oleh: • Jumlah atribut dalam sebuah record • Banyak record yang disimpan 2. Fetch a record • Biasanya dengan memakai cara serial search (sequential reading) dari awal file • Sequential file bisa disimpan pada: • Sequential Access Storage Device (Magnetic Tape) • Direct Access Storage Device (Magnetic Disk) • Pada Direct Access Device, sequential file dapat diakses secara direct • Direct access hanya dapat dilakukan pada atribut yang dipakai untuk mengurutkan file Sequential search • Pembacaan record per record dari awal Binary search • Fetch ditengah-tengah file • Kalau key dari file lebih kecil dari yang dicari fetch ke tengah sisa file dibawahnya
  • 20. Sistem Basis Data 1 (K82) 20 • Kalau key dari file lebih besar dari yang dicari fetch ketengah sisa file diatasnya Probbing • Fetch pada sebuah posisi yang diperkirakan • Dilanjutkan dengan sequential search 3. Get the next record • Record berikutnya dapat langsung diakses • Karena seringkali berada pada block yang sama 4. Insert a record • Insert berarti menyisipkan sebuah record sesuai dengan posisi dari primary key • Insert sangat mudah kalau hanya menambahkan sebuah record pada akhir file • Kalau insert ke tengah file, harus dipakai metoda batch update 5. Delete a record • Menggunakan metoda batch update • Key dari record-record yang akan di delete dikumpulkan dahulu pada transaction file 6. Modify a record • Menggunakan metoda batch update • Bila nilai key tetap, maka field yang berubah akan dituliskan langsung pada tempatnya • Bila nilai key berubah pada primary key, maka kegiatannya adalah delete yang lama lalu insert yang baru Read the entire file 7. Read the entire file • Dilakukan dengan sequential search • Pembacaan file dilakukan sesuai dengan urutan fisik file (key bisa urut / bisa tidak urut) 8. Reorganize the file • Membentuk file baru (batch update) • Kedua file (master file & transaction file) harus diurutkan pada urutan yang sama
  • 21. Sistem Basis Data 1 (K82) 21 INDEX FILE File index digunakan untuk menemukan lokasi record yang dicari dengan cepat Terdiri dari : o Index block Number o Key Attribut o Record Number (TID = Tuple Indentifier) Master File Record Nim Nama Number 1 0211500032 Fathimah 2 0211500054 Ali Dst ……… 101 0211500143 Nida 102 0211500150 Asih Dst ……….. ……… 201 0222300032 Ahmad 202 0222300054 Ummi dst …….. 301 0222500234 Dani 302 0222500240 Tika Dst ……….. ……… 401 0222500434 Dito 402 0222500450 Titi Dst ……….. ……… 501 0233500002 Budi 502 0233500004 Ina Dst ……….. ……… 601 0244500032 Dina 602 0244500034 Ani Dst ……….. ……… INDEX FILE–NYA SEBAGAI BERIKUT : Index Block # KEY REC # 0211500032 1 A 0211500054 2 0211500143 101 B 0211500150 102 0222300032 201 C 0222300054 202 0222500234 301 D 0222500240 302 0222500434 401 E 0222500450 402 0233500002 501 F 0233500004 502 0244500032 601 G 0244500034 602
  • 22. Sistem Basis Data 1 (K82) 22 Untuk mencari index block dengan cepat dibuat index level kedua sebagai berikut : Index Block # KEY INDEX BLOCK # 0211500032 A 0211500143 B 0222300032 C M 0222500234 D 0222500434 E 0233500002 F 0244500032 G Terdapat 2 tipe pengacuan indeks o Block Anchor Indeks tidak menunjuk langsung ke record tetapi ke block yang memuat record Indeks memuat record pertama dari tiap block Contoh Index Block # KEY INDEX BLOCK # 0211500032 A 0211500143 B 0222300032 C M 0222500234 D 0222500434 E 0233500002 F 0244500032 G o Record Anchor Indeks menunjuk ke record Data Utama No. Record NIM Nama Alamat 1 0011500043|Muhammad Hanafi|Petukangan Utara 2 0222500056|Ali|Ciledug 3 0033500021|Fitriana Sari| Petukangan Selatan 4 0022500026|Budi Firmansyah|Cipulir 5 0244500023|Titi|Cipondoh 6 0122500035|Abdullah Nashih Ulwan|Tanah Abang 7 0022500254|Ade|Kebayoran Lama 8 0322500221|Muhammad Reza Pahlevi|Kebayoran Baru Record Nim Nama Number 1 0211500032 Fathimah 2 0211500054 Ali Dst ……… 101 0211500143 Nida 102 0211500150 Asih Dst ……….. ……… 201 0222300032 Ahmad 202 0222300054 Ummi dst …….. 301 0222500234 Dani 302 0222500240 Tika Dst ……….. ……… 401 0222500434 Dito 402 0222500450 Titi Dst ……….. ……… 501 0233500002 Budi
  • 23. Sistem Basis Data 1 (K82) 23 502 0233500004 Ina Dst ……….. ……… 601 0244500032 Dina 602 0244500034 Ani Dst ……….. ……… Index file Misal Berdasarkan nama Key Record # Ali 2 Ani 602 Asih 102 Budi 501 Dani 301 Dina 601 Dito 401 Dst… Dst..
  • 24. Sistem Basis Data 1 (K82) 24 INDEXED SEQUENTIAL FILE Adalah: • Organisasi file yang mempunyai semua keunggulan dari sequential file • Tetapi kemampuan aksesnya jauh lebih baik • Ada 2 hal yang ditambahkan yaitu • Index: untuk mendapatkan cara akses yang lebih baik • Overflow area: untuk mengatasi masalah dalam penambahan data (insert) • Komponen: • Sequential file (main file) • Index • Overflow Area • Main file: • Berisi data / record – record yang membentuk file • Data tersusun seperti pada sequential file • Index: • Berisi alamat dari tiap record yang ada didalam main file (seperti daftar isi) • Index dipakai untuk memungkinkan dilakukan fetch terhadap record tertentu, dengan cara: • Alamat dari record yang akan difetch dicari di dalam index • Dengan alamat tersebut data dibaca dari dalam main file • Salah satu konsep index yang dipakai adalah: memanfaatkan Block Anchor • Overflow Area • Menyimpan record tambahan, yang diisi pada waktu dilakukan insert • Mirip dengan apa yang disebut transaction file, tetapi diintegrasikan menjadi satu dalam konsep index-sequential file • Lokasi record ditunjukkan dengan pointer dari predecessornya KEY BLOCK ID 013-20-14 1 104-13-82 2 Record No. ktp Nama Overflow Number pointer --- --- 11.1 013-20-14 Hadi END 11.2 015-23-51 Ari 112.1 MASTER INDEX 11.3 019-88-79 Nani XXXXX XXXXXXXX XXXXXXX XXXXX BLOCK ID KEY BLOCK ID 12.1 021-13-21 Nita 013-20-14 11 12.2 027-55-07 Agus 021-13-21 12 XXXXX XXXXXXXX XXXXXXX XXXXX 1 045-62-57 13 13.1 045-62-57 Nanda ---- ---- 13.2 049-20-73 Tuti XXXXX XXXXXXXX XXXXXXX XXXXX 104-13-82 21 21.1 104-13-82 Wiyogo 2 132-52-93 22 21.2 108-84-66 Arjuno 183-08-29 23 XXXXX XXXXXXXX XXXXXXX XXXXX --- --- 22.1 132-52-93 Hakim END XXXXX XXXXXXXX XXXXXXX XXXXX INDEX 23.1 183-08-29 Garuda 231.1 23.2 186-08-30 Arini 23.3 192-20-41 Baruna XXXXX XXXXXXXX XXXXXXX XXXXX SEQUENTIAL FILE O-CHAIN-P 112.1 016-78-01 HERMAN 112.2 017-09-73 JIRAN 11.3 XXXXX XXXXXXXX XXXXXXX XXXXX 231.1 184-29-80 FARID 231.2 185-51-38 SAMIN 23.2 OVERFLOW AREA
  • 25. Sistem Basis Data 1 (K82) 25 • Untuk meminimalkan jumlah overflow pointer yang dipakai digunakan metoda push-through • Record baru ditempatkan sesudah predecessornya • Successor record digeser mendekati ujung block • Record pada ujung block digeser ke overflow area INSERT 085 039 025 MAIN FILE 017 017 017 017 061 061 039 025 103 085 061 039 103 085 061 OVERFLOW 103 085 AREA 103 Kegunaan index sequential file • Bentuk file yang paling banyak dipakai • Dipakai bila file ingin selalu dalam kondisi up to date • Sebuah record dapat di insert atau di retrieve secara langsung melalui indexnya • Sangat sesuai untuk proses secara on-line • Bisa juga diakses secara sequential Kelemahan index sequential file • Seach/pencarian hanya bisa melalui sebuah key saja, yaitu key yang mengurutkan file Performance 1. Record Size • Berbentuk fixed length record • Ukuran file relatif tetap, karena insert memakai overflow area • Ukuran file baru berubah setelah dilakukan reorganisasi • Overflow area digabungkan dengan main file • Overflow area akan kosong • Main file akan bertambah besar 2. Fetch a record • Index dimanfaatkan untuk menemukan sebuah record • Dicari dari index yang paling atas, menurun ke index dibawahnya sampai akhirnya ke main file • Bila pernah dilakukan insert, pencarian akan dilanjutkan ke overflow area untuk mencari record yang telah di geser (push) 3. Get the next record • Successor record cukup dicari secara serial dari predecessornya, tanpa memanfaatkan index 4. Insert a record • Menambah record berarti memperpanjang overflow chain, karena metoda push through • Record baru akan selalu ditempatkan urut dengan record sebelumnya • Tiap kali insert akan mengakibatkan terjadi read & rewrite dari pointer- pointer • Index tidak berpengaruh terhadap index • Ada 3 cara yaitu a. separate file, record baru disimpan pada file terpisah (kurang efisien) b. Free space in every block, ruang kosong yang akan terisi bila ada record baru c. Free space in every silinder, ruang kosong pada akhir setiap silinder
  • 26. Sistem Basis Data 1 (K82) 26 5. Delete a record • Delete pemakai tombstone • Data pada pointer & index tetap ada 6. Modify a record • Dilakukan dengan langkah fetch & rewrite • Karena record baru bisa dituliskan pada tempat record lama berada 7. Read the entire file • Dapat dilakukan dengan memakai salah satu dari 2 cara dibawah ini: 1. Secara serial dengan mengikuti alur urutan data (termasuk ke overflow area) 2. Secara sequential membaca isi main file dahulu baru membaca isi overflow area 8. Reorganize the file • Overflow area digabungkan ke main file • Main file mendapat ukuran yang baru • Overflow area kembali kosong • Index berubah isinya sesuai dengan data terbaru • Dilakukan dengan pembacaan serial melalui main file Multiple Indexed file Adalah: • Disebut juga multiple indexed file • Mempunyai lebih dari sebuah index • Tiap atribut (bahkan semua atribut) mempunyai index) • Tiap index diperlakukan sama • Tiap index adalah record anchored • Tidak ada konsep primary-attribute • File tidak tersusun berdasarkan primary index • Tidak ada pengaturan overflow-chain • Insert langsung ke dalam main file • Tiap kali insert semua index harus diupdate • Hanya bisa diakses melalui indexnya • Bisa diakses melalui index yang mana saja • Record bisa berbentuk variable length Struktur file pada indexed file • Index bisa sebanyak atribut yang ada • Index bahkan bisa lebih banyak dari jumlah atribut yang ada, kalau dibentuk combined index • Index berisi alamat dari tiap record yang terkait • Tidak ada urutan data pada primary file, karena system akan menempatkan data berdasarkan besar kebutuhan tempat • Tidak ada batasan panjang record • Bisa berbentuk variable length record • Successor record dicari melalui record Data Utama No. Record NIM Nama Alamat 1 0011500043|Muhammad Hanafi|Petukangan Utara 2 0222500056|Ali|Ciledug 3 0033500021|Fitriana Sari| Petukangan Selatan 4 0022500026|Budi Firmansyah|Cipulir 5 0244500023|Titi|Cipondoh 6 0122500035|Abdullah Nashih Ulwan|Tanah Abang 7 0022500254|Ade|Kebayoran Lama 8 0322500221|Muhammad Reza Pahlevi|Kebayoran Baru
  • 27. Sistem Basis Data 1 (K82) 27 Index file Misal Berdasarkan nama Key Record # Abdullah Nashih Ulwan 6 Ade 7 Ali 2 Budi Firmasyah 4 Fitriana Sari 3 Muhammad Hanafi 1 Muhammad Reza Pahlevi 8 Titi 5 Kegunaan indexed file • Banyak dipakai bila kecepatan akses sangat dibutuhkan • File jarang diakses secara serial • Data dapat diakses dengan struktur yang berbeda tanpa perlu dilakukan reorganisasi (karena bisa mempunyai banyak record) • Sangat cocok untuk format data yang dinamis Performance 1. Record size • Bisa berbentuk variable length • Atribut record secara umum bisa berbentuk sparse • Besar keseluruhan file sangat ditentukan oleh banyaknya index yang dibuat 2. Fetch a record • Dilakukan melalui index • Mirip dengan indexed sequential, hanya tidak ada pencarian ke overflow area • Bila index bisa ditempatkan pada satu cylinder, maka penelusurannya tidak memerlukan seek time 3. Get the next record • Tidak bisa dilakukan melalui struktur file • Dilakukan melalui index 4. Insert a record • Record ditempatkan dimana saja pada daerah yang kosong • Semua index yang terkait akan di update 5. Delete a record • Tidak dengan menghilangkan/menghapus record yang didelete • Tidak melepaskan semua index yang terkait dengan record tersebut 6. Modify a record • Dilakukan dengan cara: • Mencari lokasi yang akan berubah • Mengubah isi record • Mengubah semua index yang terkait dengan perubahan tersebut 7. Read the entire file • File tidak diharapkan untuk sering dibaca seluruh isinya • Karena lokasi record yang tidak beraturan • Harus dilakukan dengan memanfaatkan index lengkap yang ada
  • 28. Sistem Basis Data 1 (K82) 28 8. Reorganize the file • Tidak perlu dilakukan secara periodik • Lebih kepada pemanfaatan kembali daerah-daerah kosong akibat delete a record Hashed File Adalah: • Memakai perhitungan matematis untuk menemukan alamat dari sebuah record • Memanfaatkan kemampuan disk unit dapat mengakses tiap block yang diketahui alamatnya • Agar dapat dilakukan direct access, key dari record dipakai sebagai alamat di dalam file Komponen Hashed File: • File Space • Terbagi dalam slot-slot • Tiap slot menyimpan sebuah record • Rumus • Menghasilkan slot address, dihitung berdasarkan key dari sebuah record Overview Hashed File • Berbasis kemampuan direct access ke dalam file dengan memanfaatkan relatif address • Relatif address adalah: • Sebuah record dapat ditemukan hanya dengan memanggilnya lewat nomor urut record di dalam file • Masalahnya adalah: • Membuat rumus untuk mengubah key dari sebuah record menjadi nomor urut (KAT -> Key To Address Transformation) • KAT (Key To Address Transformation) : • Tujuannya untuk menghasilkan slot number yang berbeda bagi tiap record • Dengan cara mengubah key menjadi relative address • Hambatan KAT: • Key umumnya sesuatu yang bersifat natural (NIM / No_KTP / No_Pegawai / dll) • Natural Key biasanya panjang (NIM = 10 digit) • Persyaratan KAT: • Ukuran Key harus diperpendek agar sesuai dengan slot address (relative address) • Slot address yang dihasilkan harus unix • Algoritma untuk membuat KAT sangat banyak • Contoh: NIM NAMA SLOT ADDRESS 0011500001 BUDIMAN 1 0011500002 HERMAN 2 - - - - - - 0011500105 ACHMAD 105 0011500106 ENDANG 106 0011500107 SEPHIA 107 • Fungsi hash yang umum digunakan • Division Remainder (pembagian sisa) • Truncation (pemenggalan) • Folding ( Lipatan) • Multiplication (perkalian) • Mid Square
  • 29. Sistem Basis Data 1 (K82) 29 Teknik Hashing Division Remainder (pembagian sisa) - Metode hashing paling sederhana dengan membagi 1 nilai kunci dengan ukuran tabel - Diimplementasikan dengan syntax programming MOD (sisa pembagian) - Bagi programming yang tidak memungkinkan index dari 0 maka ditambah 1 - Contoh 1 : jika ukuran tabel 11 dan nilai kunci 648 F(648) = 648 mod 11 = 10 Maka nilai 648 disimpan di lokasi 10 - Contoh 2 : Sebuah file = 4 record dengan nilai kunci 12,19,68,38 ukuran tabel 11 F(12) = 12 mod 11 = 1 F(19) = 19 mod 11 = 8 F(68) = 68 mod 11 = 2 F(38) = 38 mod 11 = 5 Index 0 1 2 3 4 5 6 7 8 9 NIlai Kunci 12 68 38 19 Teknik Hashing Truncation (pemenggalan) - melakukan pemenggalan sejumlah digit yang pertama atau yang terakhir dari sejumlah digit - Keuntungan, capat dan mudah dalam implementasinya - Kerugian, terbatasnya ukuran ruang alamat - Contoh 1: Jika fungsi F menghapus 6 digit akhir dari digit 123456789 Maka f(123456789) = 123 Nb : hash memetakan nomor 123456789 ke alamat 123 Teknik Hashing Folding ( Lipatan) - Nilai kunci dibagi menjadi beberapa bagian, masing-masing memiliki jumlah digit yang sama (kecuali bagian awal atau akhir). Bagian-bagian ini kemudian dilipat antara satu bagian dengan bagian lain. Hasil penjumlahan setelah dilipat dan digit dengan orde paling tinggi dipenggal menjadi alamat relative - Contoh 1: Nilai kunci 253456718, target alamat relative menggunakan 4 digit Nilai kunci dibagi menjadi 4 digit Jawab: 2 5345 6718 2 5345 8176 (urutan terbalik !) -------- + 15521 digit dengan order tinggi dihilangkan menjadi 5521 - Contoh 2: Nilai kunci 123456 dibagi menjadi 2 bagian Jawab: 123 123 456 654 ------ + atau ----- + 579 777 Teknik Hashing Multiplication (pekalian) - Membagi sebuah kunci dan menjumlah bagian-bagiannya (seperti teknik folding), bagian dari salah kunci dipilih untuk dikalikan. Hasilnya atau satu bagian yang dipenggal merupakan alamat relatif dari record yang akan dilokasikan - Contoh 1: NIM = 9922500266 Jawab: 992 * 266 = 263872 dipenggal menjadi 2638 Maka data NIM 9922500266 disimpan di alamat 2638
  • 30. Sistem Basis Data 1 (K82) 30 Teknik Hashing Mid Square - Nilai kunci dikuadratkan, tentukan digit yang akan dikutip dari tengah - Contoh 1: Diambil dari kanan, mulai posisi ke 6 sebanyak 6 digit Nilai Kunci Kunci dipangkatkan Alamat relatif 9122500266 83220011103170070756 031700 0322501001 104006895646002001 956460 Collision: • Kadangkala KAT (Key To Address Transformation) akan menghasilkan slot address yang sama untuk 2 atau lebih key yang berbeda. • Akibatnya 2 atau lebih record yang berbeda akan mempunyai slot address yang sama • Kondisi diatas disebut Collision • Metoda mengatasi collision: • Open addressing • Linear search • Re-randomization • Overflow area Linear Search • Slot dikelompokkan ke dalam bucket, 1 bucket sama dengan 1 block • Dengan dimanfaatkannya bucket, jumlah relative address berkurang • Bucket kadang disebut juga sebagai Cluster • Bila sebuah record akan direkam maka: • Ditempatkan kedalam bucket sesuai dengan bucket addressnya • Ketika terjadi collision, record tetap ditempatkan sesuai dengan bucket addressnya tetapi pada next sequential block Re-randomization: • Tidak memanfaatkan bucket (cluster) • Tetapi menempatkan record yang collision pada sembarang tempat di dalam file • Dengan membuat KAT yang bertingkat-tingkat • Sebuah record direkam kedalam slot sesuai dengan relative addressnya (diperoleh dari KAT) • Bila terjadi collision, KAT tingkat berikutnya akan dipakai untuk mencari tempat kosong di dalam file • Setiap terjadi collision, KAT tingkat berikutnya akan dimanfaatkan Overflow area: • Mempersiapkan file terpisah (overflow file) • Memanfaatkan overflow-chain untuk penghubung (seperti pada indexed sequential file) • Tidak dipakai pola bucket (cluster) • Membutuhkan seek tersendiri, tetapi tidak ada sequential search ke dalam bucket • Kesulitannya adalah: • Menyediakan overflow file yang mencukupi • Karena collision tidak bisa diduga kapan terjadi & berapa kali terjadi Kegunaan Hashed File • Banyak dipakai untuk file-file berbentuk: • Directory • Tabel (Harga / barang) • Jadwal kegiatan • Daftar (nama/alamat) • dll • File dengan ukuran record yang pendek & fixed • Dapat diakses dengan cepat • Hanya diakses berdasarkan 1 key • Tidak pernah diakses secara serial
  • 31. Sistem Basis Data 1 (K82) 31 Performance 1. Record Size • Fixed length record • Besar tempat yang dibutuhkan untuk tiap record adalah sama seperti pada indexed sequential file 2. Fetch a record • Record ditemukan berdasarkan relative address • Kalau pernah terjadi collision, fetch dilanjutkan ke tempat record sebenarnya berada (tergantung metoda penanganan collision) 3. Get the next record • Tidak dikenal cara serial access • Selalu seperti fetch a record 4. Insert a record • Slot yang akan diisi harus diperiksa apakah: • Kosong • Berisi record dengan key yang sama • Berisi record dengan key yang lain (collision) 5. Delete a record • Dengan memanfaatkan tombstone • Bila dipergunakan overflow area: • Overflow-chain akan diatur ulang • Atau slot akan diberi tanda kosong • Bila dipergunakan open addressing: • Tidak bisa sekedar slot diberi tanda kosong • Harus dimungkinkan untuk tetap mendapat record-record yang collision 6. Modify a record • Dilakukan secara fetch & rewrite pada tempat yang sama • Kalau key berubah maka langkahnya adalah insert & modify 7. Read the entire file • Tidak bisa dilakukan serial search • Hanya bisa dengan membaca seluruh slot yang disiapkan, melalui KAT • Walaupun akan termasuk membaca semua slot yang masih kosong 8. Reorganize the file • Diperlukan bila total record telah mengisi semua slot dan tidak ada tempat lagi untuk bertambah • Dibutuhkan tempat baru yang lebih besar • KAT perlu diubah atau diperbaiki • Reorganisasi juga diperlukan jika banyak record yang telah didelete (delete akan berakibat memperpanjang / memperlama pencarian sebuah record) MULTIRING FILE Adalah: • Berorientasi ke proses yang efisien untuk subset (kumpulan record) • Subset berisi grup record yang memiliki atribut yang sama • Banyak dimanfaatkan dalam system database • Sejumlah subset dari record terkait satu dengan lainnya oleh pointer-pointer • Jalur kait antar subset menggambarkan urutan anggota dari subset tersebut • Sebuah record bisa menjadi anggota dari beberapa subset • Tiap subset mempunyai Header Record (Header) yaitu record yang merupakan tempat sebuah subset terkait • Header berisi semua keterangan tentang anggota subsetnya • Header record sendiri bisa juga terkelompok dalam sebuah subset • Salah satu jenis kait yang dipakai adalah RING • RING adalah: • Dimana anggota subset yang pertama dan terakhir sama-sama terkait pada header record • Ring dapat disusun bertingkat-tingkat
  • 32. Sistem Basis Data 1 (K82) 32 • Sehingga anggota dari sebuah subset dapat menjadi header record bagi subset tingkat dibawahnya Struktur file • Isi dan ukuran sebuah record sangat tergantung pada subset mana record tersebut terkelompok • Tiap record mempunyai sejumlah pointer yang menyatakan ke ring mana saja record tersebut terkait • Tiap ring (subset) mempunyai header • Header adalah: entry point & atau anggota ring lainnya • Cara penelusuran: • Ring dimasuki melalui header • Anggota ring ditelusuri satu persatu sampai ketemu • Bila penelusuran kembali mencapai header berarti satu ring telah selesai ditelusuri Performance 1. Record Size • Bisa mempunyai berbagai bentuk record di dalam sebuah file • Atribut sebuah record dapat berada di dalam record tersebut, atau dapat ditelusuri berdasarkan pointer yang ada • Sebuah pointer di dalam record dapat menjadi pengganti dari sejumlah atribut pada record tersebut 2. Fetch a record • Untuk bisa mencapai sebuah record (yang terdapat di dalam ring) selalu harus melalui headernya • Sebuah ring hanya bisa dimasuki melalui entering pointnya 3. Get the next record • Dilakukan dengan menelusuri ring yang terkait • Next record tergantung atribut apa yang terkait 4. Insert a record • Dilakukan dengan: • Mengarahkan semua pointer dari predecessor record ke record baru • Memindahkan semua nilai/isi pointer dari predecessor record ke record baru 5. Delete a record • Kebalikan dari insert: • Melepaskan semua pointer dari predecessor record & semua pointer ke successor record • Mengarahkan semua pointer dari predecessor record ke successor record 6. Modify a record • Dilakukan dengan cara fetch & rewrite, bila hanya merubah isi record • Hanya ring yang terkait saja yang di update • Bila merubah urutan record, dilakukan seperti pada pelaksanaan insert 7. Read the entire file • Dilakukan dengan: • Pembacaan secara serial mengikuti semua kemungkinan hubungan yang ada • Menelusuri ring demi ring • Bertingkat-tingkat, sampai seluruh record 8. Reorganize the file • Secara normal tidak diperlukan reorganisasi • Bila merubah file sebuah record, maka hanya ring & record yang terkait saja yang perlu diproses