Rabu, 30 Desember 2009

Sumber Tugas ISD

http://id.wikipedia.org/wiki/Pulau_Komodo

http://www.dephut.go.id/index.php?q=id/node/3936

http://ferylife.blogspot.com/2009/11/taman-nasional-komodo.html

http://id.wikipedia.org/wiki/Batik

http://id.wikipedia.org/wiki/Batik#Cara_pembuatan

http://id.wikipedia.org/wiki/Batik#Sejarah_teknik_batik

http://id.wikipedia.org/wiki/Batik#Referensi

http://www.batikmarkets.com/

http://www.batikmarkets.com/batik.php

http://article.linggageni.com/?tag=buketan&lang=id

http://batikpekalongan.wordpress.com/2007/11/08/batik-tiga-negeri/

Sejarah teknik batik

Seni pewarnaan kain dengan teknik pencegahan pewarnaan menggunakan malam adalah salah satu bentuk seni kuno. Penemuan di Mesir menunjukkan bahwa teknik ini telah dikenal semenjak abad ke-4 SM, dengan diketemukannya kain pembungkus mumi yang juga dilapisi malam untuk membentuk pola. Di Asia, teknik serupa batik juga diterapkan di Tiongkoksemasa Dinasti T'ang (618-907) serta di India dan Jepang semasa Periode Nara (645-794). DiAfrika, teknik seperti batik dikenal oleh Suku Yoruba di Nigeria, serta Suku Soninke dan Wolofdi Senegal. Di Indonesia, batik dipercaya sudah ada semenjak zaman Majapahit, dan menjadi sangat populer akhir abad XVIII atau awal abad XIX. Batik yang dihasilkan ialah semuanya batik tulis sampai awal abad XX dan batik cap baru dikenal setelah Perang Dunia Iatau sekitar tahun 1920-an.

Walaupun kata "batik" berasal dari bahasa Jawa, kehadiran batik di Jawa sendiri tidaklah tercatat. G.P. Rouffaer berpendapat bahwa tehnik batik ini kemungkinan diperkenalkan dari India atau Srilangka pada abad ke-6 atau ke-7.Di sisi lain, J.L.A. Brandes (arkeolog Belanda) dan F.A. Sutjipto (arkeolog Indonesia) percaya bahwa tradisi batik adalah asli dari daerah sepertiToraja, Flores, Halmahera, dan Papua. Perlu dicatat bahwa wilayah tersebut bukanlah area yang dipengaruhi oleh Hinduisme tetapi diketahui memiliki tradisi kuna membuat batik.

Tekstil batik dari Niya (Cekungan Tarim), Tiongkok

G.P. Rouffaer juga melaporkan bahwa pola gringsing sudah dikenal sejak abad ke-12 di Kediri, Jawa Timur. Dia menyimpulkan bahwa pola seperti ini hanya bisa dibentuk dengan menggunakan alat canting, sehingga ia berpendapat bahwa canting ditemukan di Jawa pada masa sekitar itu.[4]

Legenda dalam literatur Melayu abad ke-17, Sulalatus Salatin menceritakan Laksamana Hang Nadim yang diperintahkan oleh Sultan Mahmuduntuk berlayar ke India agar mendapatkan 140 lembar kain serasah dengan pola 40 jenis bunga pada setiap lembarnya. Karena tidak mampu memenuhi perintah itu, dia membuat sendiri kain-kain itu. Namun sayangnya kapalnya karam dalam perjalanan pulang dan hanya mampu membawa empat lembar sehingga membuat sang Sultan kecewa. Oleh beberapa penafsir, serasah itu ditafsirkan sebagai batik.

Dalam literatur Eropa, teknik batik ini pertama kali diceritakan dalam buku History of Java (London, 1817) tulisan Sir Thomas Stamford Raffles. Ia pernah menjadi Gubernur Inggris di Jawa semasa Napoleon menduduki Belanda. Pada 1873 seorang saudagar Belanda Van Rijekevorselmemberikan selembar batik yang diperolehnya saat berkunjung ke Indonesia ke Museum Etnik di Rotterdam dan pada awal abad ke-19 itulah batik mulai mencapai masa keemasannya. Sewaktu dipamerkan di Exposition Universelle di Paris pada tahun 1900, batik Indonesia memukau publik dan seniman.

Semenjak industrialisasi dan globalisasi, yang memperkenalkan teknik otomatisasi, batik jenis baru muncul, dikenal sebagai batik cap dan batik cetak, sementara batik tradisional yang diproduksi dengan teknik tulisan tangan menggunakan canting dan malam disebut batik tulis. Pada saat yang sama imigran dari Indonesia ke Persekutuan Malaya juga membawa Budaya batik

Pahlawan wanita R.A. Kartinidan suaminya memakai rok batik. Batik motif parang yang dipakai Kartini adalah pola untuk para bangsawan

Batik adalah kerajinan yang memiliki nilai seni tinggi dan telah menjadi bagian dari budaya Indonesia (khususnya Jawa) sejak lama. Perempuan-perempuan Jawa di masa lampau menjadikan keterampilan mereka dalam membatik sebagai mata pencaharian, sehingga di masa lalu pekerjaan membatik adalah pekerjaan eksklusif perempuan sampai ditemukannya "Batik Cap" yang memungkinkan masuknya laki-laki ke dalam bidang ini. Ada beberapa pengecualian bagi fenomena ini, yaitu batik pesisir yang memiliki garis maskulin seperti yang bisa dilihat pada corak "Mega Mendung", dimana di beberapa daerah pesisir pekerjaan membatik adalah lazim bagi kaum lelaki.

Tradisi membatik pada mulanya merupakan tradisi yang turun temurun, sehingga kadang kala suatu motif dapat dikenali berasal dari batik keluarga tertentu. Beberapa motif batik dapat menunjukkan status seseorang. Bahkan sampai saat ini, beberapa motif batik tadisional hanya dipakai oleh keluarga keratonYogyakarta dan Surakarta.


Batik Cirebon bermotif mahluk laut

Batik merupakan warisan nenek moyang Indonesia ( Jawa ) yang sampai saat ini masih ada. Batik juga pertama kali diperkenalkan kepada dunia oleh Presiden Soeharto, yang pada waktu itu memakai batik pada Konferensi PBB.

Batik dipakai untuk membungkus seluruh tubuh oleh penari TariBedhoyo Ketawang di keraton jawa.

Pulau Komodo


Pulau Komodo adalah sebuah pulau yang terletak di Kepulauan Nusa Tenggara. Pulau Komodo dikenal sebagai habitat asli hewan komodo. Pulau ini juga merupakan kawasan Taman Nasional Komodo yang dikelola oleh Pemerintah Pusat. Pulau Komodo berada di sebelah barat Pulau Sumbawa, yang dipisahkan oleh Selat Sape.

Secara administratif, pulau ini termasuk wilayah Kecamatan Komodo, Kabupaten Manggarai Barat, Provinsi Nusa Tenggara Timur, Indonesia. Pulau Komodo merupakan ujung paling barat Provinsi Nusa Tenggara Timur, berbatasan dengan Provinsi Nusa Tenggara Barat.

Di Pulau Komodo, hewan komodo hidup dan berkembang biak dengan baik. Hingga Agustus 2009, di pulau ini terdapat sekitar 1300 ekor komodo. Ditambah dengan pulau lain, seperti Pulau Rinca dan dan Gili Motang, jumlah mereka keseluruhan mencapai sekitar 2500 ekor. Ada pula sekitar 100 ekor komodo di Cagar Alam Wae Wuul di daratan Pulau Flores tapi tidak termasuk wilayah Taman Nasional Komodo.

Selain komodo, pulau ini juga menyimpan eksotisme flora yang beragam kayu sepang yang oleh warga sekitar digunakan sebagi obat dan bahan pewarna pakaian, pohon nitak ini atau sterculia oblongata di yakini berguna sebagai obat dan bijinya gurih dan enak seperti kacang polong.

Jumat, 06 November 2009

Group Decision Support System (GDSS)

Oleh:
Deddy Tri Prasetyo
17109153
4 KA 18


Group Decision Support System – GDSS


Definisi SPK (Sistem Penunjang Keputusan):
Suatu sistem berbasis komputer yang menyediakan informasi pemecahan masalah maupun kemampuan komunikasi dalam memecahkan masalah.

Definisi GDSS :
Sistem Pendukung Keputusan kelompok yang berusaha memperbaiki komunikasi di antara para anggota kelompok dengan menyediakan lingkungan yang mendukung dan mendukung para pengambil keputusan dengan menyediakan perangkat lunak GDSS yang disebut groupware.

Pembahasan :
Contoh pertama atau aplikasi untuk sebuah groupware adalah GDSS, yang adalah singkatan G roup D ecision S upport S ystem. Ada semacam sistem GDS didukung oleh Fakultas Management di Universitas kami. Semacam ini sama-sama waktu-tempat konferensi yang berorientasi pada pertemuan bisnis dan pengambilan keputusan.
The GDSS dimulai awalnya dari Sistem Informasi Manajemen di University of Arizona. Beberapa jenis masalah selalu diamati yang berkaitan lebih banyak dengan pertemuan besar dibandingkan dengan pertemuan-pertemuan kecil. Dengan pertemuan besar kita maksud pertemuan dengan biasanya lebih dari 15 peserta, tetapi dapat pergi lebih jauh bahwa, misalnya 40 atau bahkan 50. Beberapa masalah yang diidentifikasi adalah:
• memakan waktu;
• dominasi atas pertemuan dan
• kejujuran dan partisipasi.
Yang lebih rinci tentang masalah ini dapat ditemukan di sini. Namun, penting untuk menyadari bahwa kita tidak karena itu mencoba untuk mengatakan bahwa pertemuan kecil tidak memiliki masalah di atas ini; masalah-masalah ini yang disebutkan ada dalam setiap jenis rapat, tapi kami hanya mencoba menekankan bahwa mereka lebih sering ditemukan dalam pertemuan-pertemuan besar. Rapat ukuran kecil cenderung lebih mudah dikontrol daripada pertemuan besar.
Dalam lingkungan GDSS, biasanya ada sebuah ruangan besar dengan sesuatu seperti 40 kursi, yang berarti bahwa 40 orang bisa pada pertemuan pada suatu waktu. Ada tidak hanya 40 kursi, tetapi juga 40 mikrokomputer. Hal ini memungkinkan setiap peserta untuk memiliki penggunaan satu komputer mikro selama pertemuan. Alasan mengapa masing-masing peserta membutuhkan komputer mikro tergantung pada bagaimana GDSS bekerja.
Dalam GDSS, dengan perangkat lunak komputer khusus, fasilitator dari setiap pertemuan akan membuat agenda pertama rapat, yang akan diproyeksikan ke layar besar bahwa setiap orang dapat melihat. Kemudian para peserta akan tipe secara bersamaan dalam ide-ide dari topik diskusi pada mikrokomputer individu di samping mereka. Kemudian komputer akan menyortir ide-ide, dan kemudian para peserta akan memilih atau komentar pada ide-ide yang mereka sukai atau mereka tidak suka. Dalam perjalanan dari seluruh pertemuan, GDSS toko, mengkategorikan dan mencetak keluar semua ide, komentar dan menghitung suara, sehingga masing-masing peserta rapat akan mendapatkan ringkasan dari pertemuan ketika berakhir.
Apa istimewanya GDSS adalah bahwa hal itu memungkinkan peserta rapat untuk secara bersamaan "berbicara", ketika jenis komputer dan mengirimkan ide-ide untuk masing-masing terminal, semua pada waktu yang sama. Yang menyelamatkan sejumlah besar waktu, karena semua ini dapat dilakukan secara elektronik dan bukan secara manual, dan waktu yang disimpan akan memungkinkan para peserta untuk menghabiskan waktu lebih banyak memanipulasi dan mengekspresikan ide-ide mereka. Ini akibatnya dapat meningkatkan produktivitas dan efisiensi kelompok. Memakan waktu yang manfaat juga memiliki bonus tambahan: ketika produktivitas dan efisiensi dalam rapat meningkat, kemungkinan bahwa semangat tim dapat dikonsolidasikan, sehingga menghasilkan peningkatan kekuatan mengikat di antara anggota tim.
Selain itu, di bawah ini GDSS, tak seorang pun dapat mendominasi pertemuan. Hal ini karena fitur lain GDSS. GDSS menyediakan skema anonim, sehingga apa pun yang Anda ketik di terminal (yaitu pendapat anda) akan dilindungi. Dalam keadaan ini, tidak ada yang benar-benar tahu siapa yang mengetik apa. Karena itu, tak seorang pun dapat mendominasi pertemuan. Dalam kasus terburuk, kita dapat mengatakan "beberapa ide" yang mendominasi pertemuan, tapi ini baik-baik saja karena ini adalah sebagai Sebenarnya tujuan dari suatu GDSS: untuk membantu peserta rapat menyuarakan pendapat mereka dari pola pikir yang berorientasi ide. Sebagai contoh, hanya karena Anda memiliki prasangka buruk terhadap orang A tidak berarti bahwa Anda akan menolak gagasan yang diusulkan dalam rapat, karena Anda tidak tahu siapa yang mengusulkan gagasan itu!!
Selain itu, skema anonimitas ini juga akan membantu anggota tim mereka yang malu untuk menyuarakan pendapat. Dan dengan anonimitas, orang-orang cenderung lebih jujur, sama seperti yang Anda akan mengatakan lebih banyak dan lebih jujur pada formulir evaluasi profesor jika Anda tahu apa yang Anda tulis tidak akan mempengaruhi nilai akhir Anda pada kursus. Hal ini, tentu saja, adalah karena Anda tahu Anda tidak perlu khawatir tentang konsekuensi.
Namun, apakah ini anonimitas itu baik atau tidak dapat menjadi sangat kontroversial. Keberhasilan pertemuan didukung oleh GDSS sangat tergantung pada perilaku para peserta.


Sistem Pendukung Keputusan Berkelompok:
- Konsep GDSS (Group Decision Support System), merupakan sistem berbasis computer yang mendukung kelompok-kelompok orang yang terlibat dalam suatu tugas bersama dan menyediakan interface bagi suatu lingkungan yang digunakan bersama. Istilah lainnya : GSS (group support system), CSCW (computer support cooperative work), CCWS (Computerized collaborative work support), EMS (electronic meeting system). Perangkat lunak yang digunakan disebut groupware.
- GDSS berkontribusi memecahkan masalah.
Komunikasi yang lebih baik memungkinkan keputusan yang lebih baik. GDSS berkontribusi memecahkan masalah dengan menyediakan suatu pengaturan yang mendukung komunikasi.

Pengaturan Lingkungan GDSS:
Ruang Keputusan, merupakan pengaturan untuk rapat kelompok kecil secara tatap muka. Ruangan tersebut medukung komunikasi melalui kombinasi perabot, peralatan dan tata letak.
Jaringan Keputusan Setempat (LAN), jika kelompok kecil tidak mungkin bertemu secara tatap muka, maka para anggota dapat berinteraksi melalui jaringan. Pertemuan Legislatif, jika kelompok terlalu besar untuk ruang keputusan, maka pertemuan legislative diperlukan. Konferensi Bermedia Komputer, beberapa aplikasi kantor virtual memungkinkan komunikasi antara kelompok-kelompok besar dengan anggota yang tersebar secara geografis.

JENIS GDSS:

a) sistem pengelolaan koneksi:
- Menyediakan mekanisme fisik melalui mana orang-orang yang terlibat dalam suatu keputusan dapat berkomunikasi.
- Misalnya: WAN arsitektur.
b) manajemen komunikasi:
- Meningkatkan arus informasi melalui fasilitas untuk menyimpan, reply, forward dll.
- Misalnya paket surat elektronik dan grup diskusi.
c) sistem manajemen konten.
- Memberikan kecerdasan dalam proses routing - sistem mengetahui di mana dokumen pergi
setelah pengguna saat ini berakhir dengan itu, atau di mana pesan harus pergi sekali
itu dimasukkan.
- Misalnya keputusan sistem konferensi.
d) proses manajemen
- Mengingat isi informasi dalam aliran dalam memutuskan apa yang harus
hubungannya dengan manajemen.


Keuntungan GDSS:
• Anonimitas - mengusir rasa takut yang menyebabkan keputusan yang lebih baik dari berbagai pengambil keputusan hierarki
• Parallel Komunikasi - menghilangkan memonopoli memberikan peningkatan partisipasi, keputusan yang lebih baik
• Pencatatan otomatis - tidak perlu mencatat, mereka secara otomatis dicatat
• Kemampuan untuk rapat virtual - hanya perlu perangkat keras, perangkat lunak dan orang-orang yang terhubung
• Portabilitas - Dapat dibentuk untuk menjadi portable ke laptop
• Potensi global - Orang bisa terhubung di seluruh dunia
• Tidak perlu untuk guru komputer - meskipun beberapa pengalaman dasar adalah suatu keharusan

Kekurangan GDSS:
• Biaya-biaya infrastruktur untuk menyediakan perangkat keras dan perangkat lunak / kamar / konektivitas jaringan bisa sangat mahal.
• Keamanan - terutama benar ketika perusahaan sewa fasilitas untuk GDSS; juga, fasilitator mungkin tingkat yang lebih rendah karyawan yang dapat membocorkan informasi kepada rekan.
• Kegagalan teknis - daya yang hilang, kehilangan konektivitas, sangat bergantung pada bandwidth dan LAN / WAN infrastruktur - baik sistem setup harus meminimalkan risiko ini.
• Keyboard Keterampilan - dikurangi partisipasi dapat mengakibatkan karena frustrasi.
• Pelatihan - kurva belajar hadir bagi pengguna, bervariasi dengan situasi.
• Persepsi pesan - kurangnya komunikasi verbal bisa mengakibatkan salah tafsir.

Kemiripan Antara GDSS dan DSS:
• Keduanya menggunakan model, data dan perangkat lunak yang user-friendly
• Keduanya interaktif dengan "bagaimana-jika" kemampuan
• Keduanya menggunakan data internal dan eksternal
• Keduanya memungkinkan pembuat keputusan untuk mengambil peran aktif
• Keduanya memiliki sistem fleksibel
• Keduanya memiliki output grafis

Implikasi masa depan GDSS:
• Mengintegrasikan ke dalam kerangka kerja perusahaan yang ada.
• GDSS membawa perubahan yang harus dikelola.
• GDSS akan menggabungkan Artificial Intelligence and Expert Systems - software akan "belajar" dan membantu pengguna membuat keputusan yang lebih baik.
• Penurunan biaya akan memungkinkan banyak organisasi untuk menggunakan GDSS.
• Meningkatkan pelaksanaan GDSS dengan pelanggan.
• Suara Pelanggan kebutuhan mereka dalam lingkungan yang tidak mengancam.


KOMPRESI DATA PADA ORACLE 9i

KOMPRESI DATA PADA ORACLE 9i

1. Pendahuluan

Beberapa Sistem Informasi yang berbasis Sistem Pendukung Keputusan, sebagian besar mereka membutuhkan banyak sekali tablespace untuk datanya. Dalam perkembangan sistem tersebut, kebutuhan akan discspace juga semakin banyak. Sekarang ini, data warehousing yang menggunakan data mencapai terrabytes data sudah mulai bermunculan. Untuk membantu mengatasi isu yang berkembang seperti itu, ada feature baru di dalam Oracle 9i yang diperkenalkan tentang Kompresi Tabelspace. Dengan feature tersebut, tablespace untuk data dapat dikurangi dan performance dari database dapat ditingkatkan.

Feature dari Oracle 9i ini bekerja dengan mengeliminasi data-data terduplikasi yang ditemukan dalam tabel-tabel pada database. Kompresi ini bekerja pada level database blok. Ketika database terdefinisikan secara terkompres, maka database tersebut akan memesan space pada tiap blok database untuk menyimpan satu dari beberapa kemunculan data yang sama pada blok tersebut. Space ini dinamakan tabel simbol. Data yang tertata untuk kompresi tersebut disimpan hanya pada tabel simbol dan bukan pada baris-baris database tersebut sendiri. Ini berarti bahwa, akan ada satu atau lebih pointer yang muncul untuk menunjukkan data sebenarnya pada tabel simbol, disamping data itu sendiri.

Hasil lain dari tabel kompresi ini adalah sebuah transparasi untuk user dan para pengembang aplikasi. Pada pengembang mampu mengakses tabel-tabel terkompres tersebut tanpa menghiraukan kondisinya (terkompres atau tidak), sehingga query-query SQL tidak perlu berubah ketika sudah didefinisikan diawal pembuatan tabel. Tabel terkompres ini didefinisikan oleh pada administrator atau perancang database, dengan melibatkan sedikit pengembang maupun pemakai.

2. Pembuatan Tabel Terkompres

Untuk membuat tabel terkompres, dibutuhkan kata kunci yang itu COMPRESS ketika akan membuat tabel (CREATE TABLE). Kata kunci tersebut menunjukkan bahwa database pada Oracle akan langsung terformat secara kompres sebisa mungkin. Misalnya:

CREATE TABLE MAHASISWA (

NO_MHS VARCHAR2(8) NOT NULL,

NAMA VARCHAR2(50) NOT NULL,

TGL_LAHIR DATE NOT NULL,

KD_ASAL VARCHAR2(3) NOT NULL

)

COMPRESS

;

Atau dapat juga dideklarasikan pada sebuah tabel yang sudah terbuat, menggunakan kata kunci ALTER, misalnya:

ALTER TABLE MAHASISWA COMPRESS;

Untuk melihat apakah tabel yang dibuat terkompresi atau tidak, dapat dilihat melalui kamus data tabel yaitu USER_TABLES pada kolom COMPRESSION.

SELECT TABLE_NAME, COMPRESSION FROM

USER_TABLES;

TABLE_NAME COMPRESSION

------------------ -----------

MAHASISWA_TEMP DISABLED

MAHASISWA ENABLED

Atribut kompres dapat juga didefinisikan pada level tablespace, baik ketika pembuatan tablespace baru (CREATE TABLESPACE) maupun memodifikasi tablespace yang sudah ada (ALTER TABLESPACE). Atribut COMPRESS mempunyai properti semacam parameter penyimpanan. Maksudnya, ketika sebuah tabel didefinisikan pada sebuah tablespace, maka tabel tersebut akan mempunyai properti yang sama seperti tablespace tersebut. Untuk melihat sebuah tablespace terkompresi atau tidak, dapat dilihat pada kamus data DBA_TABLESPACES kolom DEF_TAB_COMPRESSION.

SELECT TABLESPACE_NAME,

DEF_TAB_COMPRESSION

FROM DBA_TABLESPACES;

TABLESPACE_NAME DEF_TAB_COMPRESSION

--------------- -------------------

DATA_MHS DISABLED

INDEX_MHS DISABLED

Walaupun seperti itu, tabel juga masih dapat dimodifikasi kondisinya tanpa menghiraukan kondisi tablespace-nya, seperti perintah sebelumnya.

3. Input Data pada Tabel Terkompresi

Ketika sebuah tabel didefinisikan terkompres, sebenarnya belum terjadi sebuah kompresi data sampai diinputkan data ke dalam tabel tersebut. Perintah atau kata kunci yang disebutkan atau dilakukan diatas hanya memodifikasi pada level kamus data. Lebih jauh lagi, untuk memastikan bahwa data benar-benar terkompres, dibutuhkan sebuah metode yang tepat dalam memasukkan atau menyisipkan data ke dalam tabel. Kompresi data hanya terjadi ketika sejumlah data yang sangat besar diinputkan ke dalam tabel melalui satu dari empat proses berikut:

a. Langsung melalui SQL*Loader

b. Serial INSERT menggunakan APPEND

c. Paralel INSERT

d. Melalui perintah CREATE TABLE ... AS SELECT

Cara yang pertama, yaitu melalui SQL*Loader, merupakan cara yang paling baik untuk mengisikan data ke dalam sebuah tabel jika data yang tersedia adalah file yang berukuran kecil.

$sqlldr IRVING/IRVING@DBMHS

control=mahasiswa.ctl direct=true

Jika data yang akan diisikan terdapat pada sebuah tabel yang sedang dipakai, maka metode kedua dan ketiga dapat dipakai. Sebagai contoh, anggap saja input data terdapat pada tabel tak terkompres yang sedang dipakai, yaitu MAHASISWA. Menggunakan metode serial INSERT, perintah yang dapat dituliskan yaitu:

INSERT /*+ APPEND */

INTO MAHASISWA_TEMP

SELECT * FROM MAHASISWA;

Atau dapat menggunakan metode paralel INSERT untuk mentransfer data ke dalam tabel yang terkompres.

ALTER SESSION ENABLE PARALLEL DML;

INSERT /*+PARALLEL(MAHASISWA_TEMP,4)*/

INTO MAHASISWA_TEMP

SELECT * FROM MAHASISWA;

Akan tetapi, jika metode paralel INSERT digunakan, maka langkah sebelumnya yang harus dilakukan adalah dengan mengaktifkan pararel DML untuk session tersebut, menggunakan perintah ALTER SESSION ENABLE PARALLEL DML.

Jika input data berupa file berukuran kecil, dapat digunakan sebuah eksternal tabel, yang kemudian isikan data ke dalam tabel yang sudah terkompres seperti halnya ketika data ada di dalam tabel yang sedang dipakai.

Dapat juga digunakan perintah CREATE TABLE ... AS SELECT untuk membuat tabel yang terkompres dan mengisikan data kedalamnya dalam sekali perintah.

CREATE TABLE MAHASISWA_TEMP

COMPRESS

AS SELECT * FROM MAHASISWA;

Jika metode-metode yang tadi dijelaskan tidak digunakan, maka data yang terdapat di dalam tabel tetap akan dalam kondisi tak terkompres, walaupun tabel yang didefinisikan adalah tabel terkompres. Misalnya saja, jika menggunakan path SQL*Loader yang lama, atau perintah INSERT yang biasa, data tidak akan terkompres.

4. Penggunaan Tabel Terkompres

Penentuan bilamana sebuah tabel akan dikompres atau tidak, tergantung dari aplikasi yang akan dibangun, tetapi selalu direkomendasikan kompresi. Seperti yang telah dijelaskan sebelumnya, data yang terdapat pada tabel terkompresi akan terkompresi jika melalui salah satu dari empat metode tersebut. Jika data diisikan tanpa menggunakan metode tersebut makan akan tetap tak terkompresi.

Pada sistem OLTP (Online Transaction Processing), data biasanya diisikan secara reguler. Sebagai hasilnya, tabel-tabel yang dibuat tidak akan mengkompresi data-datanya. Tabel terkompresi akan bekerja dengan baikpada tabel-tabel yang beratribut ‘read-only’ tetapi sering dibaca. Misalnya data-data yang terdapat pada data warehousing merupakan kandidat terkuat untuk dikompres.

Lebih jauh lagi, mengupdate data pada tabel yang terkompresi mungkin membutuhkan baris-baris untuk tidak dikompres, yang ini merupakan kontradiksi dari pengertian kompresi data. Maka dari itu, tabel-tabel yang membutuhkan untuk selalu diupdate secara konsisten tidak bisa dibuat secara terkompresi.

Pada akhirnya, harus dipikirkan bagaimana pengaruh dari penghapusan kolom dalam penggunaan tabel terkompresi. Ketika terjadi penghapusan data pada tabel terkompres, database akan mengkosongkan sejumlah space yang sedang dipakai oleh kolom dalam blok database. Space kosong tersebut dapat digunakan kembali pada pengisian data dilain waktu. Akan tetapi, ketika sebuah baris kembali diisi melalui cara konvensional, maka tidak akan terkompres lagi, bukan memasuki baris yang sudah dibebaskan sebelumnya (pada baris terkompres). Penggunaan DELETE dan INSERT dalam jumlah yang banyak akan menyebabkan terjadinya fragmentasi dan akhirnya akan membuang lebih banyak space dibandingkan dengan penggunaan kompresi tabel.

5. Pengkompresan Tabel yang Belum Terkompres

Jika tabel-tabel yang ada merupakan tabel yang belum terkompresi, perintah ALTER TABLE

... MOVE dapat digunakan untuk mengkompresnya. Misalnya, pada tabel SALES_HISTORY_TEMP dapat dikompres dengan cara:

ALTER TABLE MAHASISWA_TEMP

MOVE COMPRESS;

Atau juga perintah tersebut bisa digunakan untuk menghilangkan kondisi kompresi sebuah tabel.

ALTER TABLE MAHASISWA_TEMP

MOVE NOCOMPRESS;

Yang perlu diperhatikan adalah penggunaan perintah tersebut membutuhkan sebuah penguncian secara EXCLUSIVE pada tabel, dimana akan mencegah suatu operasi DML ketika perintah tersebut dieksekusi. Masalah ini juga dapat dihindari menggunakan Online Table Redefinition yang merupakan feature dari Oracle 9i.

6. Pengkompresan Sebuah VIEW

VIEW merupakan perwujudan dari sebuah query yang sangat panjang. VIEW juga dapat dikompres sama seperti halnya dengan tabel. Caranya:

CREATE MATERIALIZED VIEW ASAL_MAHASISWA

COMPRESS

AS SELECT M.NO_MHS, M.NAMA, K.NAMA_KOTA

FROM MAHASISWA M, KOTA K

WHERE M.KD_ASAL = K.KD_ASAL;

Sebuah VIEW yang didasarkan penggabungan beberapa tabel merupakan kandidat kuat untuk dilakukan sebuah pengkompresan, terutama pada VIEW yang jarang terjadi duplikasi item data. Kompresi sebuah VIEW dapat juga dilakukan dengan perintah ALTER MATERIALIZED VIEW.

ALTER MATERIALIZED VIEW ASAL_MAHASISWA

COMPRESS;

Ketika perintah ini digunakan, perhatikan bahwa kompresi hanya akan terjadi pada waktu VIEW tersebut di refresh kembali.

7. Pengkompresan Tabel yang Terpartisi

Untuk kompresi sebuah tabel yang terpartisi, ada banyak sekali pilihan untuk melakukannya. Maksudnya, kompresi bisa dilakukan pada level tabel atau juga pada level partisi. Misalnya, pada Listing 1 (Lampiran). Pembuatan tabel tersebut membentuk empat partisi. Ketika pernyataan COMPRESS diberikan, maka secara otomatis empat partisi tersebut akan terkompres. Dengan demikian, adanya keuntungan ini (kompresi pada level partisi), dapat digunakan sebagai pilihan untuk mengkompres sebagian partisi dan lainnya tetap tak terkompres. Contoh pada Listing 2 menunjukkan bagaimana melakukan kompresi pada level partisi

Pada Listing 2, tabel SALES_Q1_03 dan SALES_Q2_03 sudah terkompresi, dan dua yang lainnya tidak terkompresi. Perhatikan bahwa atribut kompresi untuk level partisi diberikan mengesampingkan definisi dari tabel-tabel unutk partisi tersebut. Jika atribut kompresi tidak diberikan untuk sebuah partisi, maka partisi akan mewarisi kondisi dari definisi level tabel. Juga pada Listing 2, ketika atribut kompresi tidak diberikan pada SALES_Q3_03 dan SALES_Q4_03, maka kedua partisi tersebut akan tetap dalam kondisi NOCOMPRESS, mengikuti kondisi definisi tabel.

Tabel yang terpartisi memberikan keuntungan yang lain ketika dalam kondisi terkompress. Salah satunya adalah kemampuan memisahkan operasi-operasi DML kedalam partisi yang terpisah dari read-only data. Contohnya, pada Listing 2, data sales terpartisi melalui SALE_DATE, semacam tiap bagian pada sales history yang partisinya terpisah. Pada conoh ini, data sales Q1 dan Q2 2003 tidak dapat dimodifikasi, oleh karenanya diletakkan dalam partisi SALES_Q1_03 dan SALES_Q2_03. Data sales pada Q3 dan Q4 masih bisa dimodifikasi, karena masih dalam kondisi tidak terkompres.

Jika pada bagian akhir dari Q3 2003, data pada SALES_Q3_03 menjadi read-only, partisi ini dapat dikompres menggunakan perintah ALTER TABLE ... MOVE PARTITION. Untuk melihat kondisi partisi yang terkompres atau tidak, dapat digunakan perintah USER_TAB_PARTITIONS pada kamus data.

8. Pengujian dan Pembahasan

Alasan terbesar untuk menggunakan tabel terkompres adalah meningkatkan efisiensi penyimpanan. Sebuah tabel dengan kondisi terkompres akan memakan jauh lebih sedikit space dibandingkan dengan yang tidak terkompres. Untuk mengilustrasikannya, akan dicoba sebuah pengujian menggunakan dua tabel, MAHASISWA sebagai tabel tak terkompres, dan MAHASISWA_TEMP sebagai yang terkompres. Data sejumlah dua juta baris pada sebuah file berukuran kecil diisikan ke tabel ini melalui SQL*Loader. Ternyata setelah data semua dimasukkan, pada tabel yang terkompres hanya membutuhkan space separuh dari tabel yang terkompres. Hasil analisis ditunjukkan pada Listing 3 (Lampiran). Selain daripada itu, selain mengefisiensikan space penyimpanan, kompresi ini akan meningkatkan performance. Query pada tabel yang terkompres mampu diselesaikan oleh I/O lebih cepat, karena blok yang ada hanya sedikit. Untuk mengujinya, digunakan sebuah query pada kedua tabel tersebut, dan dilakukan pengecekan langkah per langkah (SQLTRACE/TKPROF). Analisis ditunjukkan pada Listing 4 (Lampiran). Hasilnya, query pada tabel terkompres menunjukkan operasi logical dan physical yang lebih sedikit dan juga lebih cepat.

9. Kesimpulan

Kompresi tabel yang diperkenal oleh Oracle 9i ini, sangat baik sekali digunakan, terutama untuk mengefisiensikan space penyimpanan dan meningkatkan performance dari query yang dibuat, walaupun untuk pemasukan data ke dalam tabel terkompres akan membutuhkan waktu lebih lama daripada tabel yang tidak terkompres. Ini dikarenakan operasi-operasi yang terjadi selama proses kompresi ketika data dimasukkan.

LAMPIRAN

Listing 1: Kompresi semua Partisi

CREATE TABLE MAHASISWA (

NO_MHS VARCHAR2(8) NOT NULL,

NAMA VARCHAR2(50) NOT NULL,

TGL_LAHIR DATE NOT NULL,

KD_ASAL VARCHAR2(3) NOT NULL

)

COMPRESS

PARTITION BY RANGE (TGL_LAHIR) (

PARTITION PERTAMA

VALUES LESS THAN (TO_DATE('01-APR-1980','DD-MON-YYYY')),

PARTITION KEDUA

VALUES LESS THAN (TO_DATE('01-JUN-1981','DD-MON-YYYY')),

PARTITION KETIGA

VALUES LESS THAN (TO_DATE('01-OCT-1982','DD-MON-YYYY')),

PARTITION KEEMPAT

VALUES LESS THAN (TO_DATE('01-JAN-1983','DD-MON-YYYY'))

)

;

Listing 2: Kompresi sebagian Partisi

CREATE TABLE MAHASISWA (

NO_MHS VARCHAR2(8) NOT NULL,

NAMA VARCHAR2(50) NOT NULL,

TGL_LAHIR DATE NOT NULL,

KD_ASAL VARCHAR2(3) NOT NULL

)

COMPRESS

PARTITION BY RANGE (TGL_LAHIR) (

PARTITION PERTAMA

VALUES LESS THAN (TO_DATE('01-APR-1980','DD-MON-YYYY')) COMPRESS,

PARTITION KEDUA

VALUES LESS THAN (TO_DATE('01-JUN-1981','DD-MON-YYYY')) COMPRESS,

PARTITION KETIGA

VALUES LESS THAN (TO_DATE('01-OCT-1982','DD-MON-YYYY')),

PARTITION KEEMPAT

VALUES LESS THAN (TO_DATE('01-JAN-1983','DD-MON-YYYY'))

)

;

Listing 3: Analisa Efisiensi Penyimpanan

ANALYZE TABLE MAHASISWA COMPUTE STATISTICS;

ANALYZE TABLE MAHASISWA_TEMP COMPUTE STATISTICS;

SELECT TABLE_NAME, BLOCKS, NUM_ROWS, COMPRESSION

FROM USER_TABLES

WHERE TABLE_NAME LIKE 'MAHA%';

TABLE_NAME BLOCKS NUM_ROWS COMPRESSION

------------------ ------ -------- -----------

MAHASISWA 12137 1000000 DISABLED

MAHASISWA_TEMP 6188 1000000 ENABLED

Listing 4: Perbandingan Query Tabel terkompres dan tak Terkompres

Hasil TKPROF pada Tabel tak terkompresi:

SELECT SALE_DATE, COUNT(*) FROM MAHASISWA GROUP BY KD_ASAL;

call count cpu elapsed disk query current rows

------- ------ ---- ------- ----- ---------- ---------- -----

Parse 1 0.00 0.01 0 0 0 0

Execute 1 0.00 0.00 0 0 0 0

Fetch 2 5.22 13.76 10560 12148 0 1

------- ------ ---- ------- ----- ---------- ---------- -----

total 4 5.22 13.78 10560 12148 0 1

Hasil TKPROF pada Tabel terkompresi:

SELECT SALE_DATE, COUNT(*) FROM MAHASISWA_TEMP GROUP BY KD_ASAL;

call count cpu elapsed disk query current rows

------- ------ ---- ------- ----- ---------- ---------- -----

Parse 1 0.00 0.00 0 0 0 0

Execute 1 0.00 0.00 0 0 0 0

Fetch 2 5.27 7.20 6082 6091 0 1

------- ------ ---- ------- ----- ---------- ---------- -----

total 4 5.27 7.20 6082 6091 0 1