I. PENDAHULUAN
I.I. WAKTU TANGGAP SMBDR
Waktu tanggap (time response) dari Sistem Manajemen Basis Data Relasional [SMBDR] relatif lambat. Bahkan lebih lambat lagi, bila SMBDR digunakan oleh beberapa pcmakai sekaligus (multi-usen). Degradasi waktu tanggap tersebut, sebagai akibat dari ketidak sesuaian antara karakteristik SMIIDR dcngan sistem komputer yang umum digunakan.
Beberapa prerbcdaan karakteristik tersebut, adalah :
- l. Konsep proses pada prosesor (termasuk mikro komputcr) didasarkan pada operasi numerik, yang biasa discbut sebagai "Numerical Processor". Pada sisi lain, SMBDR melakukan operasi teks, dapat disebut sebagai "Text Processor". Sebagai akibat dari pcrbedzran ini, operasi pada SMBDR tidak dikenal scbagai operasi primitif. Dengan dcmikian operasi teks harus terlebih dahulu ditransformasi menjadi operasi numerik.
- 2. Metoda akses (pencarian) memori sekunder dan memori utama tidak didasarkan atas semantik dari data, tetapi dilakukan dengan menggunakan alamat llsik data. Hal ini menimbulkan kesulitan pada akses data pada memori, yang selanjutnya berakibat pada opcrasi Masukan / Keluaran yang relatif dominan.
1.2. USAIIA UNTUK MEMPERBAIKI WAKTU TANGGAP SMBDR
Beberapa penelitian yang sedang dilaksanakan (merupakan topik penelitian yang dominan saat ini dalam mpek Basis Data, disamping Sistem Manajemen Basis Data Terdistribusi), dimaksudkan untuk memperbaiki kedua kelemahan tersebut diatin. Beberapa alternatif pendekatan yang sedang dilakukan adalah penerapan ISTA 88] :
1. IntelLigent Secondary Storage Device Contoh: CASSM, RAP, RARES
2. Data lJase Filter on VO channel Contoh.' CAPS, SURE, VERSO
3. Multi procassor Data Basc Computer Contoh; MICRONET. XDMS. EDC
4. Tcxt Proce.ssors
Contoh ; GESCAN, EURITKA
-5. Associative Memory System
Contoh: LOGIC MEMORY. ASP. STARAN
I3. IIIPOTESA DASAR
Sesuai dengan prinsip dan konsep basis data model relasi, pemrosesan transaksi dilaksanakan dengan terlebih dahulu menjabarkannya dalam bentuk deretan (struktur pohon) oi)erratorelasi (unary : projection, selection, dan binary: produk kartasian, join, quotient, natural join, union, pengurangan, interseksi). Dengan adanya beberapa operator yang tidak saling bergantungan secara langsung (mis.: operator relasi pada daun struktur pohon), dibuat satu hipotesa sebagai berikut :
operator relasi dari traksaksi dapat dieksekusi secara paralel (paralel processing), jika setiap operator relasi dari transaksi didefinisikan sebagai satu proses. Dampak positif yang dapat diharapkan, adalah perbaikan waktu tanggap (time response) dari eksekusi transaksi termaksud [SIT 85]. Tergantung dari struktur transaksi, beberapa operator (sebagai terjemahan dari transaksi) dapat dieksekusi secara tidak bergantungan.
Dida;arkan pada hipotesa ini, semua operator dari satu transaksi (khususnya operator yang tidak saling bergantungan) dapat dicksckusi secara paralel dengan memanfaatkan sistem operasi multi-programming, atau lebih baik lagi, dengan sistem komputer yang dibangun dengan pemroses banyak (multi processor).
I.4, ALTERNATIF PERBAIKAN & KRITERIA I.AIN
Uji-coba dan analisis telah dilaksanakan, yang dimaksudkan untuk lebih memperbaiki waktu tanggap (sebagai objektif akhir), yang didasarkan atas hipotesa tersebut diatas. Aktifitas awal yang telah dilakukan, adalah mendefinisikan ketidak tergantungan antara operator relasi pada transaksi (untuk itu, didefinisikan operator bebas, kelompok operator bebas dan derajat kebetrasan), dan kemudian mencoba (dengan implementasi) eksekusi secara paralel semua operator yang tidak bergantungan (operator bebas), dengan memanfaatkan sistem operasi multi programming. Hasil dari penelitian tersebut adalah merupakan pokok bahasan pada tulisan ini.
Dengan hasil positif yang didapatkan dari penelitian tersebut diatas, maka prinsip eksekusi paralel yang dimaksudkan juga diperluas, dengan menerapkan konsep multi processor yang dibangun dari mikro komputer (penelitian lanjutan, yang tidak dibahas dalam tulisan ini). Untuk pendekatan terakhir ini, dilakukan dengan mengantisipasi kriteria tambahan yang dititik beratkan dari faktor biaya, yaitu :
Menggunakan perangkat keras yang sudah umum dikenal, dan dapat digunakan dengan investasi yang relatif murah.
Sebagai kesimpulan, akan dijelaskan hasil dan kendala yang dihadapi, beserta evaluasi untuk pengembangan lebih lanjut.
II. TRANSAKSI PADA BASIS DATA
Transaksi pada ba;is data adalah merupakan pcnjabaran dari kebutuhan akan pengakscsan basis data. Transaksi bia;anya dijabarkan dalam sintaks tertentu (tcrgantung dari SMBD), dan diaktifkan secara sendiri, atau diintcgrasikan dalam bahasa pemrograman (host language).
Beberapa sintaks transaksi pada SMBDR yang sudah dikenal [ULI- 88], antara lain A1 gcbric languagc, Structurc Qucry l-anguagc i SQL (pada saat ini seqrra dc-facto dianggap sebagai standard untuk klassifikaii non-proceduralanguage), Query By Lxample IQBEI, QUEry l-anguage (QUEL), dll. Kescluruhan sintaks yang discbutkan diatas, sccara prinsip menekankan karakteristik "user-friendly", dan sccara kcseluruhan dapat dianggap sama,,jika dilihat dari sisi pemrosesan s€cara intemal pada SMBDR yang dimaksudkan.
Sebagaimana disebutkan diatis, perbedaan hanya terletak pada sintaks, kata kunci yang digunakan, cara penjabaran ketrutuhan (SQL, QUEL, dil. rlengan kalimat, scdangkan QIJI: dengan tabel, dan Algebric l-anguage dengan mengunakan simbol operator rclasi), dan lainlain perbedaan, yang pada dasamya dimaksudkan untuk lebih memberikan kemudahan bagi pemakai. Scluruh sintaks yang disebutkan diatas termasuk dalam kelompok non procedural.
III. PENJAI}ARAN TRANSAKSI DENGAN OPERATOR ITEI.ASI
Pada pemmsesannya, seluruh sintaks yang disebutkan terdahulu [sccara intcmal] dijabarkan dalam bentuk struktur pohon dari operator relasi untuk transaksi, dengan kodifikasi yang disesuikan dengan kebutuhan proses.
Berikut ini adalah contoh penjabarannya, sedangkan untuk mendukung pemahaman terhadap strutur pohon, maka deskripsi basis data yang digunakan sebagai contoh, dijelaskan pada l.ampiran-1.
Contoh-l:
SQL : SELECT SNAME, ITEM, PRICE FROM SUPPLIERS, ORDERS WHERE NAME ='Ali Baba'AND SUPPLIERS.ITEM = ORDERS.I.|LM
Arti : Tuliskan semua SNAME, ITEM & PRICE dari setiap produk yang dipesan oleh pemesan bemama 'Ali Baba'.
Penjabaran dengan struktur pohon operator relasi adalah seperti pada Gambar-l.
Contoh-2:
SQL : SELECT MEMBER_CODE, NAME FROM MEMBERS WIfiRE 10 <= SELECT SUM(QUANNTD FROM ORDERS WHERE MEMBER CODE = MEMBERS
Arti: Tuliskan semua MEMBER_CODE dan NAME dari pemesan, yang mempunyai pesanan lebih besar atau sama dengan 10 unit.
Penjabaran dengan struktur pohon operator relasi adalah seperti pada Gambar-2.

Gambar-1 Struktur Pohon Transaksi Contoh-1
IV. OPERATOR BEBAS, KELOMPOK OPERATOR BEBAS SERTA DER,dIAT KEBEBASAN
Iv.l. OPERATOR BEBAS [SrT 85 ]
- Operator bebas (pengertian bebas adalah relatif terhadap operator relasi lainnya dalam satu transaksi) adalah operator relasi, dimana hasil (output) dan masukan (input) dari operator termaksud tidak menentukan eksekusi dari operator lainnya.
Pada Gambar-2, operator projeksi 03 disebut sebagai operator bebas, relatif terhadap 04 maupun 05.
IV.2. KELOMPOK OPERATOR BEBAS [BUT 87]
Kelompok operator bebas adalah merupakan kumpulan dari beberapa operator relasi pada satu transaksi, dimana definisi Operator bebas dipenuhi oleh sesama operator relasi tersebut.

Gambar-2 Struktur Pohon Transaksi Contoh-2
Pada Gambar-2, maka kumpulan operator relasi O3 dan O4 adalah satu kelompok operator bebas. Sedangkan O3 dan O5 adalah kelompok operator bebas lain. Dengan demikian, pada Contoh-2, terdapat dua kelompok operator bebas. Untuk lebih mempermudah pemahaman, akan digunakan contoh transaksi teoritis, dengan struktur pohon seperti pada Gambar-3.
Pada Gambar-3, terdapat beberapa kelompok operator bebas (untuk mempermudah representasi, maka kelompok operator bebas dinyatakan dengan "panah dua arah"), yaitu:

Gambar-3 Struktur Pohon Transaksi
- 1. \(0\underline{3} \text{ dan } 0\underline{4} (0\underline{3} \longleftrightarrow 0\underline{4})\)
- 2. \(04 \text{ dan } 05 (04 \longleftrightarrow 05)\)
- 3. \(0\underline{3}, 0\underline{6} \text{ dan } 0\underline{7}\)atau: 3.1. \(0\underline{3} \text{ dan } 0\underline{6} (0\underline{3} \longleftrightarrow 0\underline{6})\), 3.2. \(0\underline{3} \text{ dan } 0\underline{7} (0\underline{3} \longleftrightarrow 0\underline{7})\), 3.3. \(0\underline{6} \text{ dan } 0\underline{7} (0\underline{6} \longleftrightarrow 0\underline{7})\),
05, 06 dan 07 atau : 5.1. \(\overline{05}\) dan 06 (05 \(\longleftrightarrow\) 06)
5.2. \(0\overline{5}\) dan \(0\overline{7}\) \((0\overline{5} \longleftrightarrow 0\overline{7})\)5.3. \(0\underline{6}\) dan \(0\overline{7}\) \((0\underline{6} \longleftrightarrow 0\overline{7})\)
Jika dilakukan optimasi, maka akan didapatkan kelompok operator bebas berikut:
\(\text{[rumus tidak dapat ditampilkan dengan baik — lihat PDF asli]}\)
IV.3. DERAJAT KEBEBASAN [BUT 87]
- Derajat kebebasan dari operator bebas adalah tingkat prioritas eksekusi operator bebas, relatif terhadap semua operator relasi pada transaksi.
- Derajat kebebasan suatu operator bebas ditentukan berdasarkan tingkatan (level) operator bebas tersebut pada struktur pohon operator relasi.
Pada Gambar-3, maka:
: mempunyai derajat kebebasan 3 03, 04
O5, O6, O7: mempunyai derajat kebebasan 4
V. EKSEKUSI OPERATOR BEBAS & KELOMPOK OPERATOR BEBAS
V.1. EKSEKUSI SECARA BERURUTAN (SEKUENSIAL)
Prinsip eksekusi kumpulan operator relasi yang merupakan penjabaran dari transaksi pada SMBDR dilakukan secara berurutan (sequential), meskipun SMBDR termaksud dioperasikan pada sistem operasi yang mendukung proses paralel (seperti multi-task). Dengan demikian, waktu eksekusi (waktu tanggap) untuk satu transaksi tertentu, adalah merupakan akkumulasi waktu tanggap eksekusi setiap operator relasi yang dimaksudkan sebagai penjabaran transaksi. Untuk Gambar-3, secara teoritis waktu tanggap transaksi (ts) adalah:
\[ts = \sum_{i=1}^{7} t\underline{o}_i\]
dimana: toi: waktu eksekusi untuk operator relasi Oi
V.2. EKSEKUSI SECARA PARALEL
Dengan menerapkan definisi operator bebas dan kelompok operator bebas, maka eksekusi operator relasi secara paralel akan dapat diterapkan, dengan prinsip sebagai berikut:
- Seluruh operator relasi yang didefinisikan dalam satu kelompok operator bebas (misalnya : Of, dengan 04 dari Gambar-3) dapat dieksekusi secara bersama (paralel) dan tidak saling bergantungan satu sama lainnya.
- Prioritas pemilihan operator bebas yang akan dieksekusi, ditentukan berdasarkan derajat kebebasan dari setiap operator bebas. Operator bebas dengan derajat kebebasan paling besar akan mendapat prioritas pertama (hal ini adalah merupakan pcnjabaran prinsip urutan (sequence) dari struktur pohon.
- Eksekusi operator relasi dimulai dari level (tingkatan) yang paling tinggi (untuk Gambar-3, maka dimulai dari level 4, level 3 dan seterusnya sampai dengan level 1).
- Setiap operator relasi dianggap sebagai satu proses. Pada eksekusi sekuensial, seluruh operator reiasi dari transaksi dianggap sebagai satu proses.
Berdasarkan prinsip ini, maka waktu eksekusi transaksi untuk Gambar-3 secara paralel (tD secara teoritis akan lebih kecildari tg atau tp < tq.
Secara teorjtis, besamya tp akan ditentukan oleh beberapa hal berikut :
- 1. Jumlah proses yang dapat aktif secara bersama (paralel). Hal ini ditentukan oleh kapasitas sistem komputer yang digunakan.
- 2. Jumlab operator bebas pada setiap saat.
- 3. Waktu eksekusi terbesar dari setiap operator bebas yang terdapat pada satu kelompok operator bebas.
- 4. Waktu tanggap adalah sama dengan waktu untuk eksekusi seluruh operator relasi yang berada pada jalur terpanjang (alur pada pohon transaksi adalah mulai dari akar pohon transaksi, sampai dengan daun pohon transaksi).
Secara praktis, hal tenebut diatas masih perlu dikoreksi, dengan beberapa beban (overhead) berikut :
- 1. Waktu yang dibutuhkan untuk pengendalian (sinkronisasi) prcses yang paralel (manajemen untuk proses yang paralel).
- 2. Karena transaksi pada SMBDR biasanya melibatkan data dengan volume yang relatif besag maka ada kecenderungan bahwa pemrosesan secara paralel akan menuntut penggunaan memod sekunder (untuk penyimpanan sementara) relatif lebih besar daripada eksekusi secara berurutan. Hal ini akan mengakibatkan naiknya beban (overhead) dari aktifitas Masukan / Keluaran.
V.3. ALGORITMA PENGENDALIAN EKSEKUSI PARALEL
Algoritma pengendalian eksekusi secara paralel dimaksudkan untuk mengendalikan pengaktifan proses untuk setiap operator relasi, agar terdapat sinkronisasi, sesuai dengan urutannya pada pohon transaksi.
Beberapa strategi yang mungkin diterapkan sebagai prinsip algoritma pengendali eksekusi paralel telah dibahas dan dianalisa secara rinci, yaitu penggunaan satu variabel bersama dan dua variabel bersama dengan beberapa alternatif algoritmanya [BUT 87]. Berikut ini dijelaskan salah satunya, untuk memberikan gambaran tentang pemecahan yang mungkin diterapkan.
Untuk penyimpanan data pengendalian proses paralel, digunakan satu tabel (dengan 4 arrays), yaitu :
- KONDISI: jumlah operator (proses) yang ditunggu, untuk menyatakan kondisi pengaktifan operator tersebut.
0: tidak ada proses yang ditunggu
n: terdapat n proses yang harus ditunggu
*: proses sudah aktif
- PROSES: Proses yang dimaksudkan
- DERAJAT: Derajat kebebasan proses, relatif terhadap struktur pohon yang dimaksudkan. Hal ini dapat diinterpretasikan sebagai tingkat (level) operator relasi yang dimaksudkan pada pohon transaksi.
- POINTER: Pointer yang menuju ke proses yang menunggu.
Untuk Gambar-3, tabel yang sesuai adalah sebagai berikut:
| No. | K | P | D | PN | |||
|---|---|---|---|---|---|---|---|
| 1 2 3 4 5 6 7 | 0 0 0 1 2 2 1 | 5 6 7 3 4 2 | 4 4 4 3 3 2 1 | 4 5 5 6 6 7 - | PN | : | kondisi proses (operator) derajat kebebasan pointer |
t. Algoritma pengaktifan proses (AKTIF) :
PROSEDIIR AKTIF (aktif secara permanen)
BILA processor tersedia MAKA
Cari proses Px dengan K = 0 dan D paling besar
Untuk Px, maka
I( = * (identifikasi bahwa proses sudah aktif;
Akti{kan proses Px
SELESAI
AKHIR PROSEDUR AKTIF:
2. Algoritma modifikasi tabel (MOD_TABEL) :
PROSEDUR MOD_TABEL (Untuk optimasi processor, maka prosedur tersebut hanya aktif, jika ada proses yang sudah selesai).
BILA ada proses Px sudah selesai MAKA
m = PN dari Px
PN dari Px = 0
K dari baris ke-m dikurangi satu
(Km = Klq- 1)
SELESAI
AKHIR PROSEDUR MOD TABEL:
VI. IIASIL IMPLEMENTASI PADA SISTEM OPERASI MULTI.PROGRAMMING
Implementasi dari prinsip yang telah dijelaskan sebelumnya (eksekusi operator relasi secara paralel) telah dilakukan, dan telah diuji-coba dengan berbagai keterbatasan yang ada.
Uji-coba dilakukan dengan dua cara, yaitu eksekusi secara sekuensial dan eksekusi secara paralel, dengan menggunakan data dan metoda eksekusi masing-masing operator yang sama untuk kedua cara eksekusi. Dengan demikian, secara garis besar bahwa perbedaan waktu tanggap untuk transaksi yang sama, hanya akan timbul sebagai akibat dari :
- 1. Beban (overhead) pengendalian eksekusi paralel (hanya untuk eksekusi secara paralel)
- 2. Beban (overhead) aktifitas Masukan / Keluaran yang timbul sebagai akjbat keterbatasan memon uuma.
- 3. Jumlah kanal Masukan / Keluaran yang tersedia untuk eksekusi secara paralel.
VI.I. FASILTTAS KOMPUTER
Sistem komputer yang digunakan adalah :
- Processor :PDP lll44 - Sistem Operasi: XEND(
- Pemrograman : C-language
- Kanal VO : 2 unit - Disk :2 unit
VI.2. BASIS DATA & TRANSAKSI
Basis Data yang digunakan sebagai contoh dalam pelaksanaan uji-coba adalah basis data PERSONALIA yang terdiri dari 10 relasi. Struktur dan contoh data disertakan pada I-ampiran-1.
Transaksi untuk basis data termaksud didefinisikan secara khusrs (dengan kode). Hal ini dilakukan untuk menghindari semaksimal mungkin adanya beban (overhead) kompilasi transaksi. Pada lampiran-2, disertakan 6 transaksi yang digunakan pada uji-coba.
VI3. HASIL UJI.COBA
Dalam pelaksanaan uji-coba, kondisi yang diterapkan adalah sebagai berikut :
- 1. Pada saat percobaan, sistem komputer tidak digunakan untuk proses yang lain.
- 2. Jumlah tupple yang digunakan dalam uji-coba adalah 1000 dan 10.000. Hal ini dipenuhi dengan data dummy.
- 3. Pengamatan dilakukan terhadap waktu : waktu mulai eksekusi serta saat hasil akhir eksekusi didapatkan. Dengan demikian, dalam waktu yang diamati telah tcrqakup seluruh beban (overhead) nyata yang digunakan dalam rangka eksekusi transaksi.
Untuk kondisi tersebut, didapatkan hasil sesuai dengan isi tabel- 1 (untuk lfiX) tupple) dan tabel-Z (untuk 10.m0 tupple). Untuk informasi lebih rinci, lihat IBUT 87].
| EKSEKUSIPARALEL | ||||||
|---|---|---|---|---|---|---|
| TRANSAKSI | LKSEKUSI SEKUENSIAL | l disk | 2 disk | |||
| waktu | reduksi | waktu | reduksi | |||
| T1 | 9,20 | 14,80 | 40,87 Vo | |||
| T2 | 28,00 | 36,33 | -29,75 Vo | |||
| T3 | 15,33 | 17,38 | -13,37 Vo | 15,60 | -L,76 Vo | |
Tabel-l : Wakt,-,langgap (delik) untuk 1000lupple :
Tabel-2 : Waktu tanggap (detik) untuk 10.000 tupple :
| EKSEKUSIPARALEL | ||||||
|---|---|---|---|---|---|---|
| TRANSAKSI | EKSEKUSI SEKUENSIAL | l disk | 2 disk | |||
| waktu | reduksi | waktu | reduksi | |||
| T1 | 10,33 | 68,80 | +0,75 Vo | |||
| 't2 | 306,00 | 328,00 | -7,I9 Vo | 355,00 | -t6,o1.70 | |
| 13 | r92,50 | 181,50 | +5,7L Vo | l7'7,55 | + 7,19 Vo | |
| T4 | 254,50 | 241,50 | +5,1,1 Vo | 234,m | + 8,06 Vo | |
| T5 | 1967,50 | 1818,0 | +7,6O % | l744,OO | +11,36 Vo | |
| T6 | 538,00 | 529,00 | + 1,67 Vo | |||
VI.4. EVALUASI IIASIL UJI.COI}A
Dari hasil uji-coba (disertakan pada Tabel-l dan Tabel-2) terlihat bcberapa hal yang penting, dan beberapa keanehan :
- 1. Waktu tanggap eksekusi paralel dengan 1000 tuppie ternyata lebih bcsar dari waktu tanggap eksekusi sekuensial. Sebaliknya, untuk 10.000 tupple, maka keadaan akan terbalik. Dari uji-coba ini dapat dinyatakan bahwa :
- Pada prinsipnya, perbaikan waktu tanggap dapat terjadi dengan melakukan eksekusi paralel, meskipun secara nyata hal ini tidak terlihat pada uji-coba dengan 1000 tupple.
- beban (overhead) pengendalian eksekusi paralel adalah lebih besar dari perbaikan waktu tanggap untuk 1000 tupple.
- 2. Reduksi waktu tanggap ternyata lebih baik jika menggunakan dua disk dan dua kanal. Dengan demikian dapat dinyatakan bahwa, jika jumlah kanal dan disk membesar, maka waktu tanggap akan makin membaik (tentunya ini berlaku, jika transaksi yang dimaksudkan menggunakan banyak relasi).
- J . Waktu eksekusi T4 secara paralel temyata lebih baik dari eksekusi sekuensial. Hal ini tidak mungkin, karena pada T4 tidak terdapat operator bebas. Seharusnya, waktu eksekusi secara paralel akan lebih besar dari waktu eksekusi secara sekuensial, karena adanya beban (overhead) pengendalian eksekusi paralel.
- 4. Sesuai'dengan transaksi dan lingkungan uji-coba, maka reduksi waktu tanggap maksimum yang dapat dicapai adalah 11,36 %. Hal ini dapat diamati dari eksekusi paralel untuk transaksi T5 (menggunakan 2 disk). Dengan reduksi hanya II,36 Vo, berarti beban (overhead) untuk pengendalian eksekusi paralel relatif cukup dominan di dalam waktu tanggap.
- 5. Mengingat keterbatasan fasilitas yang dapat digunakan, khususnya yang berkaitan dengan sistem operasi, beberapa hasil uji-coba tidak dapat dijelaskan (misalnya hasil uji-coba dari transaksi T2). Kemungkinan, hal ini terjadi sebagai akibat dari tidak idealnya kondisi percobaan. Jika akan dianalisa, seharusnya hal ini akan dapat dijawab dengan mempertimbangkan beberapa aspek dari sisi sistem operasi, yaitu :
- strategi pengelolaan sumber (resource) oleh sistem operasi
- operasi masukan/keluaran (I/O)
- memori primer dan strategi pengalokasian untuk setiap proses pada eksekusi paralel.
- Reduksi waktu tanggap akan membaik, jika struktur pohon dari transaksi memiliki banyak cabang dan seimbang. Hal ini didukung oleh makin banyaknya jumlah operator bebas.
VII. KESIMPUI,AN
Masalah yang dibahas dalam tulisan ini berangkat dari suatu hipotesa. Dari analisa teoiitis terhadap ide yang dimaksudkan pada hipotesa, telah dijelaskan bahwa hipotesa tersebut benar, dengan dikembangkannya definisi operator bebas, kelompok operator bebas dan derajat kebebasan.
Berbagai aspek yang mengakibatkan meningkatnya kompleksita; persoalan dalam rangka implementasi (uji-coba) juga telah dibahas, walaupun belum mencakup seluruh aspek, khrsusnya dari sisi sistem operasi (pengelolaan eksekusi paralel). Sebagai dampak langsung dari kompleksitas tersebut, adanya beberapa hasil pengamatan yang belum dapat dijelaskan secara tuntas.
Dengan keterbatasan yang disebutkan diatas, hasil uji-coba sctidak-tidaknya secar-a global sudah dapat digunakan sebagai dasar untuk menyatakan kebcnaran hipotesa y:,,rig disebutkan di awal tulisan ini. yaitu :
- : Operatr. l:, dari transaksi pada basis data model relasi dapat dieksekusi secara paralei, or'1F;ii ir'snganggap bahwa setiap operator relasi adalah satu proses.
- . Eksekusi uiajrirlr relasi dari transaksi secara paralel akan memperbaiki waktu tanggap.
Berbagai ha.i rri.rsir dianggap menjadi grnghalang dari kcberhasilan uji-coba (minimal, belum memberikan rcrJuksi waktrl tanp.g:ii) vang relatif baik, ktrususnya pada eksekusi untuk jumlah lupple yarrii l*rnata.;). iiai ini ter-.jl<ii scbagai ;,rk:ibat keterb,atasan dari berbagai sisi.
Dua hal pcnting;.i; ;;1*.1i. inr yang sangli bcrpcran dalam mcningkirtkan reduksi waktu tanggap, yaitu :
- l. Mcningkatkan deru_;ai iraf:lelisme pada proccssor. IIal ini mungkin dilakukan dengi,r pengembangan nrErixla optimasi transaksi, sehingga struktur pohon opcrator relasi dapai diusahakan agar semal$imal mungkin bercabang banyak dan seimbang. Struktur pohon oflerator relasi seperti ini akan berarti memperpendek jalur operator relasi dan sekaligus meningkatkan jumlah op€rator bebas.
- 2. Meningkatkan derajat paralclisme pada aktifitas (opcrasi) Masukan,' Keluaran.
Reduksj waktu tanggap maksimum (teoritis) yang dapat dicapai dcngan peningkal.an pada dua hal terscbut diao.as, adalah mendekati prosentase beban Masukan / Keluaran pada SMBIIR pada umumnya, yang berkisar antara 60 - 80 % IDON 8,5j .
Untuk tujuan peningkatan reduksi waktu tanggap yang dimaksudkan diata;, beberapa hal yang rnasih perlu dikembangkan lebih lanjut, antara lain :
- 1,. Optimrsi algoritma yang digunakan, yang berkaitan dengan eksekusi setiap operaior relasi, khususnya yang menyangkut pengendalian eksekusi secara paralel.
- 2. Pengembangan metoda optimasi transaksi, sehingga struktur pohon operator relasr dapat diusahakan agar semaksimal mungkin bercabang banyak dan seimbang.
- 3. Melaksanakan uji coba pada sistem komputer yang memberikan kelcluasaan lebih besar dalam bal kemungkinan konfigurasi perangkat keras dan sistem operasi yang dapat digunakan.
UCAPAN TERIMA KASIII
Keberhasilan uji-coba eksekusi paralel operator relasi yang dijelaskan pada tulisan ini tidak lepas dari ketersediaan komputer yang dimiliki oleh PT.INTI, dan peran Sdr.Ir.Manonton Butafuutar dalam pengembangan berbagai program yang digunakan untuk uji-coba. Untuk jtu, penulis mengucapkan terima kasih atas dukungann;'a.
DAI-IAR PUSTAKA
- [BLr-T87] Butarbutar, M., EKSEKUSI PARALEL OPERA1OR REIASI SMBDll, Tugas akhir program S-1, Jurusan Teknik Informatika ITB, Bandung, Pebruari 1987.
- [DON85] Donovan, J.J. & Stuart, E.M., OPERATING SYSTEM, Mc.Graw-Hill, Tokyo, 1985.
- lSIT85l Sitohang,B., EKSEKUSI OPERATOR RELASI RDBMS PADA SISTEM OPERASI MULTI-PROGRAMMING, KKN - IPKIN, Jakarta, September 1985.
- [STA 88] Stanley, Y.W. Su, DATABASE COMPUTERS : Principles, Architectures & Techniques, Mc.Graw-Hill, 1988.
- [ULL82] Ullman, J.D., PRINCIPLES OFDATABASE SYSTEMS, Computer Science Press, Maryland, L982.
- [ULL 88] Ullman, J.D., DATABASE AND KNOWLEDGE BASE SYSTEM, Volume I, Computer Science Press, Maryland, 1988.
Lamplran- |
STRUKTUR BASIS DATA
l. Model E-R
2. Skema loglk :
PEG (N!P. NAI1A, UtlUR)
JEN( KJEN, I,L,EN)
JUR( KJUR, NJUR)
BHS( KBHS. NEHS)
ISTRI ( NIT, PEK)
KANTOR(KTOR. NTOR)
PEND( NIP. KJEN- KJUR)
PEGBI.IS( NIP- KBHS, KET)
PETRI( NIP- NIT)
PETOR( NIP. KTOR- T6L)
Lamptran-1
3. Contoh Data:
PEG
| NIP | NAMA | UMUR |
|---|---|---|
| 8701 | Ali | 40 |
| 8702 | Budi | 30 |
| 8703 | Charles | 27 |
| 8704 | Daniel | 25 |
| 8705 | Efendi | 29 |
JEN
| KJEN | NJEN |
|---|---|
| KR | Kursus |
| so | Diploma |
| S1 | Sarjana |
| $2 | Master |
| $3 | Doktor |
JUR
| KJUR | NJUR |
|---|---|
| 1F | Informatika |
| EL | Elektro |
| MA | Matematika |
| BI | Biologi |
| TA | Tambang |
BHS
| KBHS | NBHS |
|---|---|
| 16 | inggris |
| PR | Perancis |
| JR | Jerman |
| JP | Jepang |
| BL | Belanda |
ISTRI
| NIT | PEK |
|---|---|
| Ani | PT. Ganesha |
| Tuti | PT. Ganesha |
| Betty | Ikut Suami |
| Ati | PT. Ganesha |
| Susi | PT. Dago |
| Nelly | Ikut Suami |
| Teti | PT. Dago |
KANTOR
| KTOR | NTOR |
|---|---|
| JK | Jakarta |
| BD | Bandung |
| MD | Meden |
| SB | Surabaya |
| SM | Semarang |
PEND
| NIP | KJEN | KJUR |
|---|---|---|
| 8701 | S1 | ВІ |
| 8701 | $2 | MA |
| 8701 | $3 | IF. |
| 8702 | $1 | EL. |
| 8702 | $2 | 1F |
| 8703 | S1 | TA |
| 8703 | $2 | ΙF |
| 8704 | S1 | 1F |
| 8705 | S1 | 1F |
| 8705 | $1 | IF |
PE68HS
| NIP | KBHS | KET |
| 8701 | 16 | Α |
| 8701 | PR | A |
| 8701 | JR | P |
| 8702 | 16 | P |
| 8702 | PR | A |
| 8703 | 16 | Р |
| 8703 | PR | Α |
| 8704 | IG | A |
| 8705 | IG | Р |
PETRI
| NIP | NIT |
|---|---|
| 8701 | Teti |
| 8702 | Ani |
| 8702 | Tuti |
| 8702 | Betty |
| 8703 | Susi |
| 8704 | Ati |
| 8705 | Nelly |
I-AMPIRAN.2
.T'RANSAKSI UJI-COBA
1. Transaksi Tl
lv{akna : Dapatkan d;rta pnbadi pegawai dcngan MP adalah 8701.
2. Transaksi T2
Makna : Dapatkan NII'darr Nz\MA pegawai yang memenuhi syarat berikut : kode jurusan adalah ili. kode jenjang 51, dan umur lebih kecil dari 30.
3. Transaksi'f3
Makna : Dapatkan NIP pcgawai yang memenuhi syarat berikut : nama jurusan adalah Informatika, dengan jenjang S1, dan pemah bekeqa di Bandung.
4. Transaksi T4
Makna : Dapatkan data pribadi, pendidikan, penguasaan bahasa, istri, kantor dan jcnjnag pendidikan dari pegawai dengan NIP adalah 8704.
5. TransaksiT5
Makna : Siapa saja pegawai (NIP) yang tercatat pada relasi PEG, PEND, PEGBHS, PETRI, dan PETOR. Daftarkan kode kantor, bahasa dan jenjang pendidikannya.
6. TransaksiT6
Makna : Dapatkan data pnbadi dan pendidikan dari pegawai bernama ALI.

pipa = 7 file = 2 deskriptor file = 16
Keterangan:
- *Angka di samping permenyatakan jumlah record file
- *Angka di samping —— menyatakan jumlah record melalui pipa
- *Angka di kiri atas kotak menyatakan nomor operator
- *Angka dikanan atas kotak menyatakan jumlah operasi M/K.
Struktur Pohon Transaksi T1
- *Angka di samping ——— menyatakan jumlah record file
- *Angka di samping —— menyatakan jumlah record melalui pipa
- *Angka di kiri atas kotak menyatakan nomor operator
- *Angka dikanan atas kotak menyatakan jumlah operasi M/K.
Struktur Pohon Transaksi T2

Struktur Pohon Transaksi T3

Struktur Pohon Transaksi T4
Struktur Pohon Transaksi T5

Struktur Pohon Transaksl T6
