BAB 2 TINJAUAN PUSTAKA 2.1 Model Data

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1
Model Data
Untuk membangun suatu sistem aplikasi, basis data merupakan pemodelan keadaan
dari “Real word” atau dunia nyata. Upaya perancangan basis data dapat ditempuh
dengan membuat sebuah model dari awal sama sekali sampai dilakukan perbaikanperbaikan untuk mendapatkan sebuah model data yang lebih permanen dan lebih
mendekati pada keadaan yang sebenarnya.
Menurut SilberSchatz et al. (2002), model data adalah kumpulan perangkat
konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan
batasan data.
Model basis data relasional merupakan salah satu model basis data disamping
ada model basis data hirarki dan model basis data jaringan (network). Model basis
data relasional adalah model yang menggunakan kumpulan table yang masing-masing
tabelnya terdiri dari kumpulan baris/record dan atribut/field.
2.1.1 Basis Data Relasional
Basis data relasional adalah basis data yang setiap entitasnya disimpan kedalam tabeltabel. Basis data akan dipilah-pilah kedalam berbagai tabel 2 dimensi. Setiap table
terdiri atas lajur mendatar yang disebut baris data (row atau record) dan jalur vertikal
yang biasa disebut kolom (column atau field).
2.2
Entity Relationship Model
Dalam membuat sebuah Basis Data, hal pertama yang harus dilakukan adalah
mendesain tabel tabel yang akan digunakan untuk menyimpan data sesuai bisnis
proses yang kita inginkan. Proses konseptual adalah pandangan secara konsep
Universita Sumatera Utara
7
tentang basis data. Pandangan konseptual ini tentunya harus bisa diimplementasikan
kedalam bentuk tabel, karena basis data relasional hanya mengenal tabel.
ER adalah salah satu pemodelan basis data konseptual yang menggambarkan
basis data ke dalam bentuk Entitas-Entitas dan Relasi yang terjadi di antara entitas
entitasentitas yang ada(SilberSchatz,et
SilberSchatz,et al. 2002)
2002). Entitas diartikan sebagai ‘objek
objek’ didunia
nyata yang bisa dibedakan dengan ‘‘objek’ yang lain. Relasi diartikan sebagai
hubungan yang terjadi diantara satu entitas dengan entitas yang lainnya.
2.2.1 Entitas dan Himpunan Entitas
Definisi entitas adalah objek yang dirasa penting di sistem tersebut, yg bisa berupa :
–
Objek Konkrit
Contoh : Orang, Buku
–
Objek Abstrak
Contoh : Jadwal, Pinjaman, Tabungan
Bambangadalah salah satu contoh dari entitas. Sedangkan bambang, susi,
sumarno
arno merupakan himpunan
him
entitas orang. Dapat dikatakan
katakan bahwa Himpunan
Entitas (Entity Set) : Sekelompok entitas yang sejenis dan berada dalam lingkup yang
sama. Kumpulan entitas orang
oran dengan karakteristik mempunyai
unyai nim, prodi, dsb bisa
dikatakan
katakan merupakan himpunan entitas mahasiwa. Entitas menunjuk kepada pada
individu suatu objek sedangkan himpunan entitas menunjuk pada rumpun (family)
dari individu tersebut.
Gambar 2.1
2. Himpunan Entitas Mahasiswa
Universita Sumatera Utara
8
Sebuah entitas / himpunan entitas dapat di gambarkan / di notasikan dengan
sebuah gambar persegi panjang. Berikut merupakan contoh entitas mahasiwa, jadwal
dan pinjaman.
Gambar 2.2
2. Contoh Himpunan Entitas
Setiap entitas mempunyai atribut yang melekat pada entitas tersebut. Berikut
gambaran konseptual basis data (* entitas dan atribut) yang direfleksikan kedalam
bentuk fisik dari basis data (* tabel dan kolom).
Gambar 2.3
2. Gambaran Himpunan Entitas di Tabel
2.2.2
Atribut
Atribut merupakan gambaran karakteristik dari sebuah entitas atau himpunan entitas.
Contoh : atribut untuk himpunan entitas mahasiswa adalah nim, nama, alamat, ipk,
program studi, hobi,, dsb.Setiap
dsb.
atribut mempunyai domain value set yaitu batasan
batasan yg dibolehkan bagi suatu atribut.
2.2.3 Relasi
ER menggambarkan entitas-entitas
entitas entitas dengan atributnya yang saling berelasi.
Relasimenggambarkan
menggambarkan hubungan antara entitas satu dengan entitas yang lain sesuai
dengan proses bisnisnya. Notasi relasi
relasi didalam diagram ER digambarkan dengan
notasi belah ketupat.
Perhatikan contoh relasi antara mahasiswa dengan organisasi berikut.
Universita Sumatera Utara
9
Gambar 2.4
2. Relasi digambarkan dengan belah ketupat
Gambar di atas menunjukkan hubungan antara entitas mahasiswa dan entitas
organisasi. Relasi yang terjadi adalah relasi mempunyai, dimana mahasiwa
mempunyai organisasi. Entitas mahasiwa memiliki atribut nim, nama, alamat, prodi,
ipk,
dsb.
Sedangkan
entitas
organisasi
memiliki
atribut
kd_organisasi,
nama_organisasi, jenis_organisasi (* olahraga/kesenian/jurusan dsb).
2.2.3.1 Kardinalitas Relasi
Kardinalias relasi menggambarkan banyaknya jumlah maksimum entitas dapat
ber-relasi
relasi dengan entitas pada himpunann entitas yang lain. Pada himpunan relasi
biner, pemetaan kardinalitas relasi dapat berupa salah satu dari pilihan berikut :

Satu ke Satu
Gambar 2.5
2. Relasi dengan Kardinalitas 1 ke 1
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan
entitas A berpasangan dengan maksimal 1 entitas di himpunan entitas
B. Asumsi
si penulis akan membuat sebuah tugas yaitu menjadi
pj_cuci_piring. 1 Orang di tugaskan untuk menjadi pj_cuci_piring di
maksimal 1 hari. Begitupun juga jika di balik, pada 1 hari, maksimal 1
orang yang menjadi pj_cuci_piring. Dari A ke B kardinalitasnya
maksimal 1, dan dari B ke A kardinalitasnya maksimal 1. Oleh karena
ituu relasi ini berkardinalitas 1 ke 1.
Universita Sumatera Utara
10

Satu ke Banyak
Gambar 2.6 Relasi dengan Kardinalitas 1 ke Banyak
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan
entitas A berpasangan dengan banyak entitas di himpunan entitas B.
Asumsi yang berbeda di pakai ketika memandang relasi ini, 1 orang
bisa memperoleh pj_cuci_piring untuk > 1 hari. Tetapi 1 hari hanya di
pj-kan hanya untuk maksimal 1 orang. Dari A ke B kardinalitasnya
maksimal adalah banyak, dan dari B ke A kardinalitasnya maksimal 1.
Oleh karena itu relasi ini berkardinalitas 1 ke banyak.

Banyak ke Satu
Gambar 2.7 Relasi dengan Kardinalitas Banyak ke 1
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan
entitas A berpasangan dengan maksimal 1 entitas di himpunan entitas
B. Asumsikan bahwa untuk 1 hari pj_cuci_piring boleh di berikan pada
banyak orang, sedangkan 1 orang hanya di berikan tugas untuk menjadi
pj_cuci_piring sebanyak maksimal 1 hari. Dari A ke B kardinalitasnya
Universita Sumatera Utara
11
maksimal adalah 1, dan dari B ke A kardin
kardinalitasnya
alitasnya maksimal adalah
banyak. Oleh karena itu relasi ini berkardinalitas banyak ke 1.

Banyak ke Banyak
Gambar 2.8
2. Relasi dengan Kardinalitas Banyak ke Banyak
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan
entitas A berpasangan dengan maksimal banyak entitas di himpunan
entitas B. Asumsikan
A
sikan bahwa dalam 1 hari pj_cuci_piring bisa di
bebankan pada banyak orang dan 1 orang bisa di bebankan untuk
menjadi pj_cuci_piring lebih dari 1 hari. Dari A ke B kardinalitasnya
maksimal adalah banyak,
banyak, dan dari B ke A kardinalitasnya maksimal
adalah banyak. Oleh karena itu relasi ini berkardinalitas banyak ke
banyak.
2.2.4
Diagram ER
Merupakan diagram model konseptual untuk menggambarkan struktur logis dari
basisdata berbasis grafis.
Gambar 2.9 Contoh Diagram ER
Universita Sumatera Utara
12
Notasi yang digunakan di Diagram ER adalah :
o Garis
: Link yang menghubungkan atara Entitas
dengan
atribut,dan
dan entitas dengan relasi atau
entitas
2.3
o Elips dobel
:Menunjukkan atribut yang multivalued
o Elips garis terputus
:Menunjukkan atribut turunan
Konversi ER ke Tabel
T
2.3.1 Himpunan Entitas Lemah
Secara
ecara umum, Himpunan Entitas Lemah tidak memiliki primary key dan selalu
bergantung pada entitas lain. Notasi entitas lemah digambarkan dengan double persegi
panjang, sedangkan relasi untuk himpunan entitas lemah digambarkan dengan double
diamond. Diskriminator / key parsialadalah
parsial
atribut-atribut yang dapatt membedakan
membedak
entitas-entitas
entitas yang terdapat di himpunan entitas lemah. Diskriminator tidak sama
dengan primary key.. Konsep diskriminator hanya di pakai pada himpunan entitas
lemah. Primary key pada Himpunan Entitas lemah ada 2 yaitu primary key dari entitas
kuat yg berelasi dan diskriminator / key parsialnya.
Diskriminator di notasikan dengan garis bawah yang putus putus.
Gambar 2.10
2. Contoh Himpunan Entitas Lemah
Relasi di atas menggambarkan bahwa seorang pegawai mendapatkan fasilitas
tunjangan dari perusahaan tempat dia bekerja. Tunjangan dalam hal ini adalah entitas
lemah. Tunjangan sebagai entitas tidak bisa berdiri sendiri, tunjangan harus
bergantung pada entitas
as pegawai (* tidak akan ada tunjangan jika tidak ada pegawai).
Universita Sumatera Utara
13
Kardinalitas relasi yang terjadi pada himpunan entitas lemah biasanya
merupakan banyak ke 1 atau 1 ke banyak dengan kardinalitas 1 di himpunan entitas
yang lebih kuat.
2.3.2
Spesialisasi
Spesialisasi merupakan proses desain top-down dengan mendesain subgrouping
didalam didalam himpunan entitas yang berbeda dari himpunan entitas. Tujuan dari
spesialisasi adalah memberikan gambaran konseptual tentang perbedaan karakteristik
dari himpunan entitas
itas yang hampir serupa dengan konsep sub grouping /
pengelompokan.
Subgrouping di atas menjadi himpunan entias yang levelnya lebih rendah dan
memiliki atribut tersendiri yang tidak dimiliki pada level di atasnya. Atribut ini khas
dan merupakan pembeda dar
dari entitas di subgroup yang lain. IS A dinotasikan den
dengan
gambar segitiga berlabelIS
berlabelISA.
Sifat dari spesialisasi adalah inheritan atribut yaitu atribut pada level tinggi
secara otomatis akan di turunkan pada level di bawahnya.
Gambar 2.11 Contoh Spesialisasi
Contoh di atas menggambarkan bahwa entitas pegawai mempunyai 2
subgroup yaitu pegawai tetap dan pegawai honorer. Kedua entitas pegawai tetap dan
pegawai honorer sama sama mempunyai atribut turunan yaitu nama dan id_pegawai
dari entitas pegawai. Perbedaan dari pegawai tetap dan pegawai honorer terdapat di
atribut yang melekat pada subgroup-nya.
nya. Atribut besar tunjangan dan gaji perbulan
Universita Sumatera Utara
14
hanya terdapat di himpunan entitas pegawai tetap, sedangkan atribut upah per jam dan
jumlah jam kerja terdapat di himpunan entitas pegawai honorer.
2.4
Normalisasi
Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basis
data relasional yang tidak secara langsung berkaitan dengan model data, tetapi dengan
menerapkan sejumlah aturan dan criteria standar untuk menghasilkan stuktur tabel
yang normal.
Adapun bentuk normalisasi antara lain :

Bentuk normal tahap pertama (1st Normal Form/1NF)
Syaratnya jika sebuah tabel tidak memiliki atribut bernilai banyak
(multivalued attribut) atau dengan kata lain atribut yang atomik.

Bentuk normal tahap kedua (2nd Normal Form/2NF)
Syaratnya, memenuhi bentuk normal tingkat pertama, semua atribut yang
tidak termasuk dalam key primer memiliki ketergantungan fungsional
(KF) pada key primer yang utuh.

Bentuk normal tahap ketiga (3th Normal Form/3NF)
Syaratnya, memenuhi bentuk normal tingkat kedua. Tidak terdapat
ketergantungan fungsi transitif ( transitive functional dependency), yaitu
tidak terdapat ketergantungan fungsi antara atribut – atribut bukan kunci
ke atribut bukan kunci lainnya dalam tabel.
2.5
Optimasi Query
2.5.1 Konsep Dasar Optimasi Query
Menurut SilberSchatz et al. (2002) , query adalah sebuah pernyataan yang meminta
pengaksesan informasi. Query (permintaan) merupakan metode pengaksesan yang
paling sering digunakan. Dalam DBMS, query dinyatakan dalam SQL (Structured
Query Languange).
Dalam Database Management System (DBMS), query di proses melalui
tahapan berikut :
Universita Sumatera Utara
15
Gambar 2.12 Tahapan Pemrosesan Query
Sebuah query yang diekspresikan dalam sebuah bahasa query tingkat tinggi
seperti SQL mula-mula harus dibaca, diuraikan dan disahkan (parser and translator).
Query tersebut kemudian dibentuk menjadi sebuah struktur data yang biasa disebut
dengan query tree. Dan kemudian DBMS (Database management system) harus
merencanakan sebuah strategi eksekusi untuk mendapatkan kembali hasil dari query
dari file-file database.
Query Optimizer memeriksa semua ekspresi-ekspresi aljabar yang sama untuk
query yang diberikan dan memilih salah satu dari ekspresi tersebut yang terbaik yang
memiliki perkiraan termurah. Dengan kata lain, tugas dari query optimizer adalah
menghasilkan sebuah rencana eksekusi. Proses ini disebut dengan optimisasi query.
Output dari Optimizer adalah evaluation plan, yaitu urutan rencana proses eksekusi
query oleh DBMS. Optimasi query merupakan sebuah proses untuk memilih
evaluation plan yang terbaik untuk suatu query (Lewis, 2006). Query optimizer adalah
bagian dari DBMS yang melakukan fungsi optimasi query.
Ada beberapa tahapan dalam optimasi query, yaitu (Ramakrishnan, 1998) :
1.
Membangkitkan plan-plan alternatif yang akan dipilih sebagai evaluation
plan.
2.
Mengestimasi biaya eksekusi untuk setiap alternatif plan yang dihasilkan
pada tahap satu. Dari beberapa plan yang diperhitungkan, query optimizer
memilih satu plan optimal, yaitu plan dengan estimasi biaya terkecil.
Universita Sumatera Utara
16
Optimasi query dapat dikategorikan menjadi 2 bagian, antara lain :
1.
Cost Based Optimization
Pemilihan plan berdasarkan pada perkiraan biaya untuk setiap alternatif
plan. Optimizer akan memutuskan rencana eksekusi (execution plan )
mana yang terbaik dan paling efisien dengan mempertimbangkan pada
ketersediaan path aksesnya dan juga berdasar pada statistik informasi
untuk skema objek (tabel/indeks) yang di akses oleh sebuah sql statement.
Secara konsep, pendekatan cost-based terdiri atas 3 langkah berikut :
 Optimizer
membangkitkan
seperangkat
rencana eksekusi
yang
potensial untuk SQL Statement berdasar pada ketersediaan path dan
petunjuk tentang sql statement tersebut.
 Optimizer memperhitungkan cost pada tiap rencana eksekusi
berdasarkan statistik pada kamus data untuk distribusi data dan
karakteristik maupun informasi tentang penyimpanan dari tabel, indeks,
dan partisi yang di akses oleh sebuah sql statement.
 Optimizer membandingkan biaya setiap execution plan, dan kemudian
memilih plan dengan biaya paling rendah
Adapun beberapa catatan mengenai hal ini, yaitu :
 Cost dapat diartikan sebagai sebuah nilai resource yg dibutuhkan untuk
eksekusi sql statement dari beberapa execution plannya
 Optimizer menghitung cost dari tiap kemungkinan metode akses dan
urutan pen-joinan berdasar estimasi resource seperti CPU time,
memori,I/O untuk ekseskusi statement sql menggunakan plan
 Execution plan secara serial dengan cost besar butuh waktu eksekusi
lebih banyak daripada cost yg kecil
 Execution plan secara parallel, penggunaan resource tidak langsung
berpengaruh pada waktu yg dibutuhkan untuk eksekusi statement sql
Universita Sumatera Utara
17
2.
Rule Base Optimization
Pemilihan plan mengacu pada heuristic / petunjuk baku yang menentukan
prioritas eksekusi suatu operasi.
Pada dasarnya tujuan dari optimasi query menemukan jalan akses yang
termurah untuk meminimumkan total waktu pada saat proses sebuah query. Untuk
mencapai tujuan tersebut, maka diperlukan optimizer untuk melakukan analisa query
dan untuk melakukan pencarian jalan akses.
2.5.2 Metode Akses
Metode akses /access method adalah metode-metode yang dapat dilakukan untuk
mengakses tuple dalam suatu relasi. Sebuah metode akses dapat berupa file scan
ataupun indeks dengan kondisi seleksi tertentu (Ramakrishnan, 1998).
Indeks adalah suatu metoda pengaksesan file data dari disk dengan menyimpan
alamat entri data file tersebut pada file lain yang berukuran lebih kecil dan lebih cepat
diakses. Indeks yang biasanya dipakai adalah indeks B+Tree dan Hash. Indeks
B+Tree dapat menjadi metode akses untuk seleksi operator <, <=, =, !=, >=, atau >.
Indeks hash dapat menjadi metode akses untuk seleksi dengan operator =.
Selektivitas sebuah metode akses adalah jumlah block yang diambil dengan
menggunakan metode akses tersebut. Metode akses yang paling selektif adalah
metode akses yang mengambil block paling sedikit. Penggunaan metode akses yang
paling selektif akan meminimalkan biaya pengambilan data.
2.5.3 Perhitungan Cost Operasi Query
Cost dari operasi query dapat dihitung dengan menjumlahkan beberapa parameter,
antara lain : biaya pengaksesan disk dan waktu proses CPU. Pengaksesan disk
merupakan faktor terpenting. Hal ini dikarenakan pengaksesan disk memakan biaya
lebih besar dibandingkan operasi dalam memori utama. Pada tugas akhir ini parameter
yang digunakan hanya biaya pengaksesan disk dimana merupakan jumlah
pengambilan page dari disk ke memori.
Universita Sumatera Utara
18
Sintaks umum SQL adalah sebagai berikut :
SELECT
<daftar Attribute>
FROM
<daftar Tabel>
WHERE
<kondisi>
Dalam aljabar relasional, pernyataan SQL diatas terdiri atas beberapa operasi
yaitu projection, selection, dan join. Operasi select terdapat pada term-term klausa
WHERE. Operasi project terdapat pada daftar atribut list klausa SELECT. Operasi
join terdapat pada klausa FROM yang menyatakan daftar relasi lebih dari satu.
Kondisi join ditentukan dari term-term pada klausa WHERE.
1. Operasi Select
Operasi Select adalah operasi SQL yang digunakan untuk memilih sebuah
subset tuple-tuple dari sebuah relasi berdasarkan kondisi tertentu. Kondisi
tersebut terdapat dalam bentuk term-term pada klausa WHERE. Pada
umumnya, operasi select ditunjukkan oleh :
<kondisi pilihan>(R)
2. Operasi Project
Operasi Project adalah operasi SQL yang digunakan untuk memilih
atribut-atribut tertentu dari suatu relasi dan membuang atribut-atribut lainnya
yang tidak diperlukan. Pada umumnya operasi project ditunjukkan oleh :
π<daftar attribute>(R)
3. Operasi Join
Operasi
Join
adalah
operasi
SQL
yang
digunakan
untuk
mengkombinasikan hubungan tuple-tuple dari dua relasi dengan suatu kondisi
penggabungan tertentu.Pada umumnya operasi project pada dua relasi
R(A1,A2,…An) dan S(B1,B2,…Bm) ditunjukkan oleh :
R⋈<kondisi join> (S)
Universita Sumatera Utara
19
Dua relasi yang terlibat dibedakan menjadi relasi luar dan relasi dalam.
Untuk memudahkan, dalam left deep plan terdapat konversi yaitu sub plan kiri
(L) dianggap sebagai relasi luar dan sub plan kanan (R) dianggap sebagai
relasi dalam.
2.5.4 Pemrosesan Querypada Oracle 10g
Pada saat sebuah query diproses, Oracle server prosesakan memeriksa apakah blok
data yang dibutuhkan ada di database buffer cache. Jika blok yang dibutuhkan tidak
terdapat di database buffer cache, maka server process akan melakukan pembacaan
untuk mencari blok yang dibutuhkan di data file untuk kemudian meletakkan
salinannya di database buffer cache. Jika saat pemrosesan query berikutnya
memerlukan blok yang sama dengan query sebelumnya, maka pemrosesan query
tersebut tidak memerlukan pembacaan data ke file fisik. Blok data yang berada di
memory dan tidak sering diakses akan dikeluarkan dari database buffer cache.
2.5.5 Explain Plan
Explain plan adalah suatu perintah yang digunakan untuk menampilkan perintah
eksekusi suatu query.
Dengan memanfaatkan explain plan kita bisa melihat langkah eksekusi yang
diambil oleh oracle, sehingga kita bisa meningkatkan performansi query kita.
Optimizer mengambil informasi tentang objek dan tipe dari query yang dijalankan,
kemudian memberikan keputusan bagaimana suatu query akan dieksekusi.
Contoh dari explain plan :
EXPLAIN PLAN SET statement_id = 'example_plan1' FOR
SELECT full_name FROM per_all_people_f
WHERE UPPER(full_name) LIKE 'Pe%' ;
Plan
--------------------------------------------SELECT STATEMENT
TABLE ACCESS FULL PER_ALL_PEOPLE_F
Universita Sumatera Utara
20
Diatas menunjukan suatu contoh execution plan dari sebuah SELECT
statement. Tabel per_all_people_f diakses menggunakan full table scan.Seriap baris
dalam tabel per_all_people_f diakses, klausa WHERE clause dievaluasi untuk setiap
row.Kemudian
SELECT statement mengembalikan row yang memenuhi klausa
where.
2.6
RAID
2.6.1 Konsep RAID
Dalam media penyimpanan data, disk rentan akan kerusakan yang akan
mengakibatkan hilangnya data dan turunnya kinerja disk. Salah satu cara dalam
meningkatkan kinerja dan performansi disk adalah RAID. RAID singkatan dari
Random Array of Inexpensive Disk. Metodenya dengan membentuk suatu sistem
dari beberapa harddisk/drive sehingga terbentuk satu partisi dari beberapa harddisk,
dimana biasanya kita melakukan pembagian banyak partisi pada satu harddisk.
Kegunaan RAID adalah sebagai media perlindungan penyimpanan data sehingga
reliability data terjaga. RAID merupakan gabungan beberapa harddisk fisik ke dalam
sebuah unit logis penyimpanan, dengan menggunakan perangkat lunak atau perangkat
keras khusus.
Peningkatan Kehandalan dan Kinerja dari disk dapat dicapai melalui dua cara
(SilberSchatz,et al. 2002) :
1. Redudansi
Peningkatan kehandalan disk dapat dilakukan dengan redundansi, yaitu
menyimpan informasi tambahan yang dapat dipakai untuk membentuk kembali
informasi yang hilang jika suatu disk mengalami kegagalan.Salah satu teknik
untuk redundansi ini adalah dengan caramirroring atau shadowing, yaitu
dengan membuat duplikasi dari tiap - tiap disk. Jadi, sebuah disk logical terdiri
dari 2 disk physical, dan setiap penulisan dilakukan pada kedua disk, sehingga
jika salah satu disk gagal, data masih dapat diambil dari disk yang lainnya,
kecuali jika disk kedua gagal sebelum kegagalan pada disk pertama
diperbaiki.Pada cara ini, berarti diperlukan media penyimpanan yang dua kali
lebih besar daripada ukuran data sebenarnya. Akan tetapi, dengan cara ini
Universita Sumatera Utara
21
pengaksesan disk yang dilakukan untuk membaca dapat ditingkatkan dua kali
lipat dengan menggunakan RAID controller. Hal ini dikarenakan setengah dari
permintaan membaca dapat dikirim ke masing-masing disk.
2. Paralelisme
Peningkatan kinerja dapat dilakukan dengan mengakses banyak disk secara
paralel. Pada disk mirroring, di mana pengaksesan disk untuk membaca data
menjadi dua kali lipat karena permintaan dapat dilakukan pada kedua disk,
tetapi kecepatan transfer data pada setiap disk tetap sama. Kita dapat
meningkatkan kecepatan transfer ini dengan cara melakukan data striping ke
dalam beberapa disk. Data striping, yaitu menggunakan sekelompok disk
sebagai satu kesatuan unit penyimpanan, menyimpan bit data dari setiap byte
secara terpisah pada beberapa disk (paralel).
Adapun teknik-teknik yang digunakan dalam RAID sebagai berikut :
1. Teknik Stripping
Stripping merupakan teknik atau cara untuk pemecahan data ke beberapa disk.
Teknik ini meningkatkan performansi harddisk, dimana sekumpulan data dapat
dibaca dari beberapa harddisk pada satu waktu. Namun, apabila salah satu
harddisk mengalami kegagalan, maka harddisk lain pun tidak dapat berfungsi.
2. Teknik Mirroring
Mirroring merupakan teknik atau cara untuk penyalinan data ke lebih dari satu
harddisk. Teknik ini dapat meningkatkan proses pembacaan data, namun untuk
menulis kinerjanya lebih buruk karena data yang sama akan tertulis pada
beberapa harddisk yang tergabung dalam penggabungannya.
Universita Sumatera Utara
22
2.6.2 Standar Level
Untuk skema level standard tersusun atas beberapa level. Beberapa variasi
dikembangkan untuk non nested level dan nested level.
Berikut ini jenis-jenis dari RAID non-nested level :
1.
RAID 0
Dikenal
dengan
modus
stripping.Membutuhkan
minimal
2
harddisk.Sistemnya adalah menggabungkan kapasitas dari beberapa
harddisk.Sehingga secara logikal hanya "terlihat" sebuah harddisk dengan
kapasitas yang besar (jumlah kapasitas keseluruhan harddisk).
Pada awalnya, RAID 0, digunakan untuk membentuk sebuah partisi yang
sangat besar dari beberapa harddisk dengan biaya yang efisien.
Contoh: Peneliti membutuhkan suatu partisi dengan ukuran 2TB. Harga
sebuah harddisk berukuran 500GB adalah Rp.400.000,- sedangkan harga
harddisk berukuran 2TB adalah Rp.2.500.000,-. Maka peneliti dapat
membetuk suatu partisi berukuran 2TB dari 4 unit harddisk berukuran
500GB dengan menggunakan RAID 0. Tentunya skenario ini lebih murah
karena memakan biaya lebih murah: 4 x Rp.400.000,- = Rp.2.000.000,-.
Lebih murah daripada harus membeli harddisk yang berukuran 2TB.Oleh
sebab itu kenapa pada awalnya disebut redundant array of inexpensive
disk.
Data yang ditulis pada harddisk-harddisk tersebut terbagi-bagi menjadi
fragmen-fragmen.Dimana fragmen-fragmen tersebut disebar di seluruh
harddisk.Sehingga, jika salah satu harddisk mengalami kerusakan fisik,
maka data tidak dapat dibaca kembali.
Namun ada keuntungan dengan adanya fragmen-fragmen ini: kecepatan.
Data bisa diakses lebih cepat dengan RAID 0, karena saat komputer
membaca sebuah fragmen di satu harddisk, komputer juga dapat membaca
fragmen lain di harddisk lainnya.
Universita Sumatera Utara
23
Gambar 2.13 RAID 0
2.
RAID 1
Biasa disebut dengan modus mirroring.Membutuhkan minimal 2 harddisk.
Sistem ini memiliki kelebihan, yaitu menyalin isi sebuah harddisk ke
harddisk lain dengan tujuan: jika salah satu harddisk rusak secara fisik,
maka data tetap dapat diakses dari harddisk lainnya. Proses untuk
membaca data dapat dilakukan dengan setengah dari permintaan membaca
dikirim ke masing-masing disk (proses membaca data baik) atau membaca
data dilakukan dengan membaca dari kedua disk (proses membaca data
buruk). Hal ini tergantung kepada RAID Controllernya.
Contoh: Sebuah server memiliki 2 unit harddisk yang berkapasitas
masing-masing 500GB dan dikonfigurasi RAID 1. Setelah beberapa tahun,
salah satu harddisknya mengalami kerusakan fisik.Namun data pada
harddisk lainnya masih dapat dibaca, sehingga data masih dapat
diselamatkan selama bukan semua harddisk yang mengalami kerusakan
fisik secara bersamaan.
Gambar 2.14 RAID 1
Universita Sumatera Utara
24
3.
RAID 2
RAID 2, juga menggunakan sistem stripping. Namun ditambahkan tiga
harddisk lagi untuk pariti hamming, sehingga data menjadi lebih
handal.Karena itu, jumlah harddisk yang dibutuhkan adalah minimal 5
(n+3, n > 1).Ketiga harddisk terakhir digunakan untuk menyimpan
hamming code dari hasil perhitungan tiap bit-bit yang ada di harddisk
lainnya.
Contoh: Peneliti memiliki 5 buah harddisk (sebut saja harddisk A,B,C, D,
dan E) dengan ukuran yang sama, masing-masing 500GB. Jika
mengkonfigurasi keempat harddisk tersebut dengan RAID 2, maka
kapasitas yang didapat adalah: 2 x 500GB = 1TB (dari harddisk A dan B).
Sedangkan harddisk C, D, dan E tidak digunakan untuk penyimpanan
data, melainkan hanya untuk menyimpan informasi pariti hamming dari
dua harddisk lainnya: A dan B. Ketika terjadi kerusakan fisik pada salah
satu harddisk utama (A atau B), maka data tetap dapat dibaca dengan
memperhitungkan pariti kode hamming yang ada di harddisk C,D, E.
Gambar 2.15 RAID 2
4.
RAID 3
RAID 3, juga menggunakan sistem stripping. Namun hanya ditambahkan
sebuah harddisk lagi untuk parity.. Karena itu, jumlah harddisk yang
dibutuhkan adalah minimal 3 (n+1 ; n > 1). Harddisk terakhir digunakan
untuk menyimpan parity dari hasil perhitungan tiap bit-bit yang ada di
harddisk lainnya.
Contoh: Peneliti memiliki 4 harddisk (sebut saja harddisk A,B,C, dan D)
dengan ukuran yang sama, masing-masing 500GB. Jika mengkonfigurasi
Universita Sumatera Utara
25
keempat harddisk tersebut dengan RAID 3, maka kapasitas yang didapat
adalah: 3 x 500GB = 1,5TB. Sedangkan harddisk D tidak digunakan untuk
penyimpanan data, melainkan hanya untuk menyimpan informasi parity
dari ketiga harddisk lainnya: A, B, dan C. Ketika terjadi kerusakan fisik
pada salah satu harddisk utama (A, B, atau C), maka data tetap dapat
dibaca dengan memperhitungkan parity yang ada di harddisk D. Namun,
jika harddisk D yang mengalami kerusakan, maka data tetap dapat dibaca
dari ketiga harddisk lainnya.
Gambar 2.16 RAID 3
5.
RAID 4
Sama dengan sistem RAID 3, namun menggunakan parity dari tiap block
harddisk, bukan bit. Kebutuhan harddisk minimalnya juga sama, 3 (n+1 ;
n >1). Kelebihannya yaitu pembacaan data transaksi dan tingkat
perpindahan saat penggabungan proses baca sangat tinggi. Akan tetapi
data sulit dibentuk ulang jika terjadi kegagalan disk,serta penulisan data
transaksi dan tingkat perpindahan saat penggabungan proses tulis sangat
buruk.
Gambar 2.17 RAID 4
Universita Sumatera Utara
26
6.
RAID 5
RAID 5 pada dasarnya sama dengan RAID 4, namun dengan pariti yang
terdistribusi.
Yakni,
tidak
menggunakan
harddisk
khusus
untuk
menyimpan paritinya, namun paritinya tersebut disebar ke seluruh
harddisk. Kebutuhan harddisk minimalnya juga sama, 3 (n+1 ; n >1). Hal
ini dilakukan untuk mempercepat akses dan menghindari bottleneck yang
terjadi karena akses harddisk tidak terfokus kepada kumpulan harddisk
yang berisi data saja. Kekurangan dari RAID 5 adalah sulit untuk
membentuk kembali jika terjadi kegagalan disk.
Gambar 2.18 RAID 5
Universita Sumatera Utara
Download