• Tidak ada hasil yang ditemukan

Bab ini berisi analisa hasil dari imlementasi yang telah dibuat pada bab sebelumnya.

BAB VI. KESIMPULAN DAN SARAN Bab ini berisi kesimpulan dan saran.

BAB II

LANDASAN TEORI

2.1 Pembahasan tentang Management Transaksi

Transaksi adalah sebuah tindakan atau serangkaian tindakan, dilakukan oleh single user atau program aplikasi, yang membaca atau mengubah isi dari database.

Terdapat 4 hal dasar yang harus dimiliki semua transaksi, yaitu:

1. Atomicity. Sebuah transaksi adalah sebuah unit yang tidak dapat dibagi lagi sehingga dapat melakukan seluruhnya atau tidak melakukan apapun. Ini merupakan tanggung jawab dari subsystem recovery dari DBMS untuk memastikan ke’atom’annya.

2. Consistency. Sebuah transaksi harus mentransformasikan satu keadaan konsisten ke keadaan konsisten lainnya. Ini merupakan tanggung jawab dari DBMS dan pengembang aplikasi untuk memastikan kekonsistenannya.

3. Isolation. Transaksi secara bebas mengeksekusi yang lainnya. Dengan kata lain, sebagian transaksi yang tidak lengkap akan mengakibatkan transaksi yang lain menjadi tidak visible.Ini merupakan tanggung jawab dari subsistem concurrency control untuk memastikan isolasi.

4. Durability. Setelah DBMS memberitahu pengguna bahwa transaksi telah selesai dengan sukses, maka efeknya tetap bertahan bahkan jika system mengalami crash sebelum semua perubahannya direfleksikan pada disk.

Ini merupakan tanggung jawab dari recovery subsystem untuk memastikan durability.

Berikut Gambar2.1 merupakan digram transisi sebuah transaksi:

ACTIVE PARTIALLY COMMITED FAILED COMMITTED ABORTED Begin transaction abort abort End transaction commit

Gambar 2.1 Diagram Transisi Transaksi Dalam diagram transisi terdapat 5 keadaan yaitu:

1. ACTIVE (aktif)

2. PARTIALLY COMMITTED (sebagian dilaksanakan) • terjadi setelah perintah terakhir dieksekusi

• pada saat ini, mungkin ditemukan transaksi melanggar

serializability atau melanggar integrity constraint, maka transaksi harus dibatalkan. Transaksi demikian akan menuju FAILED (keadaan gagal) dan harus dibatalkan

• jika transaksi sukses, beberapa update dapat disimpan secara aman dan transaksi menuju ke keadaan COMMITTED.

3. COMMITTED (dilaksanakan) 4. FAILED (gagal)

• Terjadi jika transakasi tidak dapat dilaksanakan atau transaksi dibatalkan pada saat ACTIVE (keadan aktif).

• Kondisi ini terjadi jika user membatalkan transaksi atau protocol concurrency control membatalkan transaksi untuk memastikan serialibility.

5. ABORTED (dibatalkan)

2.2 Pembahasan tentang Concurrency control

Concurrency control adalah proses pengelolaan operasi-operasi yang berjalan bersamaan dalam database dengan tidak saling mengganggu satu sama lain.

2.2.1. Kebutuhan Concurrency control

Kebutuhan concurrency control dalam managemen transaksi untuk multiuser menjadi penting, mengingat sistem untuk multiuser memungkinkan terjadinya akses bersama terhadap sebuah database. Akses bersama relatif mudah jika seluruh user hanya membaca data, sehingga tidak ada yang melakukan interfensi satu dengan lainnya. Akan tetapi, pada saat dua atau lebih user mengakses database secara simultan dan paling sedikit satu user melakukan update, maka akan terjadi interfensi yang dapat mengakibatkan ketidakkonsistenan data pada database.

2.2.2. Masalah yang Muncul dalam Akses Bersama dan Hasil yang Diharapkan

Terdapat beberapa masalah yang dapat terjadi yang disebabkan oleh akses bersama oleh multiuser, yaitu:

1. Lost update problem (Masalah hilangnya data yang diupdate) : Sebuah transakasi yang melakukan update, namun pada waktu interfal yang bersamaan proses update tersebut ditimpa oleh transaksi lain.

2. Uncommitted dependency problem / dirty read (masalah kebergantungan terhadap transaksi yang belum commit) : Sebuah transaksi dibiarkan untuk melihat hasil transaksi intermediate (menengah) dari transaksi lain sebelum dilakukan commit.

3. Inconsistent analysis problem (masalah analisa yang tidak konsisten) : Sebuah transaksi membaca beberapa nilai dari database tetapi transaksi kedua melakukan update terhadap sebagian dari beberapa nilai tersebut selama proses eksekusi yang pertama.

4. Nonrepeatabel (atau fuzzy) read : Sebuah transaksi T membaca ulang data item yang sebelumnya telah dibaca, sementara itu transaksi lain melakukan modifikasi. Sehingga T akan menerima 2 buah nilai yang berbeda untuk data item yang sama.

5. Phantom read : Transaksi T mengeksekusi sebuah query yang menerima sekumpulan tuple dari sebuah relasi dengan predikat tertentu, melakukan eksekusi ulang query pada waktu berikutnya tetapi menemukan kembali sekumpulan tuple tambahan (phantom) yang disisipkan oleh transaksi lain

pada waktu tertentu. Untuk menangani masalah-masalah tersebut di atas, diperlukan kontrol yang baik untuk menjamin konkurensi data dan konsistensi data.

• Konkurensi data berarti bahwa banyak user yang dapat mengakses data pada waktu yang bersamaan

• Konsistensi data berarti bahwa masing-masing user dapat melihat tampilan data yang konsisten, termasuk jika terdapat perubahan yang dilakukan oleh transaksi oleh user lain.

Kontrol yang baik dalam database terhadap eksekusi dari transaksi yang dijalankan bersamaan yaitu jika transaksi yang dieksekusi bersama tersebut menghasilkan hasil yang sama seperti jika transakasi-transaksi yang ada dieksekusi secara serial (transaksi dijalankan sendiri-sendiri, tanpa ada sela, menjamin konsistensi data). Hal ini dinamakan serializability.

Serializability, yang merupakan parameter keberhasilan dalam concurrency control ini dapat dicapai dengan menggunakan macam-macam level isolasi pada transaksi (transaction isolation levels), mekanisme locking pada data, dan timestamp.

Level Isolasi. Level isolasi mengontrol tingkat dimana transaksi tertentu terbuka terhadap tindakan transaksi lain yang melakukan eksekusi secara bersama. Dengan memilih satu dari empat kemungkinan pengaturan level isolasi, user dapat memperoleh penanganan konkurensi yang peka terhadap perubahan uncommitted oleh transaksi lain.

Plilihan level isolasi adalah READ UNCOMITTED, READ COMMITTED,

REPEATABEL READ dan SERIALIZABLE. Berikut merupakan tabel level isolasi

transaksi menurut ANSI/ISO SQL standard (SQL92) terhadap penanganan 3 masalah yang ditemukan dalam akses bersama.

Isolation level

Dirty Read Nonrepeatabel

Read

Phantom Read

Read

uncommitted

Mungkin Mungkin Mungkin Read

committed

Tidak Mungkin Mungkin Repeatabel

read

Tidak Tidak Mungkin Serializable Tidak Tidak Tidak

Tabel 2.1 Level Isolasi Transaksi menurut SQL92

Level isolasi SERIALIZABLE secara umum merupakan yang paling aman dan direkomendasikan untuk kebanyakan transaksi. Akan tetapi, beberapa transaksi dapat bekerja dengan level isolasi lebih rendah, dan sejumlah kecil lock yang diminta dapat memberikan konstribusi untuk meningkatkan performa sistem.

Metode Locking. Locking adalah sebuah prosedur yang digunakan untuk melakukan kontrol pada akses bersama pada data. Pada saat satu transaksi melakukan akses ke dalam database, sebuah lock akan menyebabkan pelarangan akses ke dalam transaksi untuk mencegah hasil yang tidak konsisten. Terdapat 2 jenis lock, yaitu Shared Lock, dan Executive Lock. Jika sebuah transaksi memiliki shared lock pada sebuah data item, maka transaksi tersebut dapat melakukan pembacaan terhadap sebuah item tetapi

tidak dapat melakukan update. Sedangkan jika sebuah transaksi yang memiliki executive lock pada sebuah data item dapat melakukan pembacaan maupun update item tersebut.

Namun dalam mekanisme locking, deadlock bisa terjadi. Deadlock adalah sebuah jalan buntu yang merupakan hasil dari dua atau lebih transaksi yang saling menuggu lock yang akan dilepaskan yang dipegang oleh transaksi yang lainnya.

Metode Timestamp. Timestamp adalah sebuah identitas yang unik yang dibuat oleh DBMS yang menunjukkan adanya waktu starting yang relativ dari sebuah transaksi. Metode ini agak berbeda dengan metode locking. Tidak ada locking, dan tidak ada deadlock. Metode locking pada umunya mencegah konflik dengan cara membuat transaksi yang lain menunggu. Dalam metode timestamp, tidak ada menunggu, transaksi yang mengalami konflik secara sederhana dirollback dan re-start.

2.3 Concurrency control dalam Oracle

Dalam menangani akses bersama, Oracle menggunakan protokol Multiversion-Read Consistency yang menjamin user melihat data yang konsisten yang diminta. Jika user lain mengubah data utama selama proses eksekusi query, Oracle menjaga sebuah versi dari data sebagaimana adanya data tersebut pada waktu query dimulai. Jika terdapat transaksi uncommitted dalam progress ketika query dimulai, Oracle meyakinkan bahwa query ini tidak melihat perubahan yang dibuat oleh transaksi ini. Oracle juga tidak menempatkan beberapa lock pada data

untuk operasi baca, yang artinya bahwa sebuah operasi baca tidak pernah memblok sebuah operasi tulis.

2.3.1. Multiversion Read Consistency

Implementasi dari protocol Multiversion Read Consistency yang akan dibahas meliputi Rollback segment, Serial Change Number (SCN) dan Lock.

Rollback Segment, merupakan struktur dalam dalam database Oracle digunakan untuk menyimpan informasi undo, ketika transaksi sedang mengubah data dalam blok, Oracle pertama-tama menulis tampilan data sebelumnya ke Rollback segment. Sebagai tambahan untuk mendukung Multiversion Read Consistency, Rollback segment juga digunakan untuk meng-undo sebuah transaksi. Oracle juga memelihara satu atau lebih Redo-Logs, yang merekam semua transaksi yang terjadi dan digunakan untuk me-recover database pada saat terjadi kesalahan dalam system. • System Change Number (SCN), digunakan untuk memelihara order

kronologis yang tepat dalam operasi. Oracle menjaga SCN. SCN adalah sebuah pemikiran tentang timestamp yang merekam order yang didalamnya operasi terjadi. Oracle menyimpan SCN dalam Redo-Log untuk me-redo transaksi dalam urutan yang tepat. Oracle menggunakan SCN untuk menentukan versi sebuah item data yang mana harus digunakan dalam sebuah transaksi. Oracle juga menggunakan SCN untuk menentukan kapan untuk memberikan informasi dari Rollback Segment.

Lock. Locking terjadi untuk semua statement SQL jadi seorang user tidak pernah membutuhkan untuk me-lock resource-resource yang ada secara tegas, meskipun Oracle menyediakan sebuah mekanisme untuk memperbolehkan seorang user untuk mendapat lock secara manual atau untuk mengubah default locking. Default mekanisme locking, men-lock data pada level terendah dari yang dibatasi untuk menjamin integritas ketika memperbolehkan tingkat tertinggi dari concurrency. Oracle menyimpan informasi row-locking selama blok data actual dimana baris tersebut disimpan. Sebagimana Oracle menyimpan lock pada baris selama blok data, Oracle tidak pernah meningkatkan lock.

Oracle support tipe-tipe dari lock, meliputi:

DDL locks- digunakan untuk memproteksi objek skema, seperti definisi dari tabel dan view.

DML locks – digunakan untuk memproteksi pokok data, sebagai contoh lock pada tabel memprotek seluruh tabel dan baris lock pada baris.

Internal locks- digunakan untuk memproteksi struktur data yang dishare. • Internal latches- digunakan untuk memproteksi kamus data entri, file- file

data, tabelspace dan rollback segment.

Distributed lock- digunakan untuk memprotek data dalam sebuah lingkungan distribusi dan atau parallel server

PCM locks- Parallel cache management (PCM) lock digunakan untuk memproteksi buffer cache dalam sebuah lingkungan parallel server.

Oracle mengenal 2 level konsistensi baca, yaitu statement-level read consistency (konsistensi baca level statement) dan transaction-level read consistency (konsistensi baca level transaksi).

1. Konsistensi Baca Level-Statement (Statement-Level Read Consistency) Oracle secara otomatis senantiasa menyelanggarakan konsistensi baca pada level statemen. Hal ini menjamin setiap data yang dikembalikan oleh sebuah query berasal dari sebuah titik tunggal (single point) dalam waktu dimana query tersebut dimulai. Oleh karena itu, sebuah query tidak pernah melihat data kotor/dirty read maupun setiap perubahan yang dilakukan oleh transaksi lain yang commit selama query tersebut dieksekusi. Hasilnya yaitu hanya data yang commit sebelum query mulai yang dapat dilihat oleh query. Query tersebut tidak melihat perubahan commit setelah eksekusi statement mulai. Sebuah hasil yang konsisten dibangun untuk setiap query, menjamin kekonsistenan data, dan dalam hal ini tidak memerlukan aksi apapun dari user. Statement-statement SQL seperti SELECT, INSERT, UPDATE, dan DELETE menggunakan sebuah query untuk menetapkan data mana yang akan dipengaruhi. SELECT statement merupakan sebuah query explicit dan dapat mempunyai query bersarang atau operasi join. Sebuah statement INSERT dapat menggunakan beberapa query bersarang. UPDATE dan DELETE statement dapat mengggunakan klausa WHERE atau subquery-subquery untuk menghasilkan hanya beberapa baris dalam sebuah tabel lebih daripada semua baris.

Beberapa query yang digunakan oleh INSERT, UPDATE dan DELETE statement dijamin menghasilkan set hasil yang konsisten. Query dalam

operasi-operasi hanya melihat data yang telah ada sebelum operasi-operasi mulai untuk membuat perubahan.

2. Konsistensi Baca Level-Transaksi (Transaction-Level Read Consistency)

Konsistensi baca Level-Transaksi ini berjalan di sebuah transaksi yang berjalan menggunakan jenis isolation level serializable. Semua data mengakses gambaran suatu keadaan dari database seperti pada saat sebuah transaksi mulai. Hal ini berarti data yang dilihat oleh semua query pada transaksi yang sama merupakan konsisten dengan pasti pada sebuah titik tunggal (single point) dalam waktu, kecuali jika beberapa query dibuat oleh sebuah transaksi serializable melihat perubahan yang dibuat transaksi tersebut. Konsistensi baca level-transaksi menghasilkan pembacaan yang repeatabel dan tidak membuka sebuah query untuk masalah phantom.

2.3.2. Macam-macam Level Isolasi Oracle

Oracle menyediakan 3 level isolasi yaitu READ COMMITTED,

SERIALIZABLE dan READ ONLY. Oracle hanya mengimplementasikan 2 dari 4

level isolasi yang didefenisikan dalam ISO SQL Standar.

READ COMMMITTED. Serialisasi didukung pada level isolasi ini

didukung pada statement level (itu adalah default level isolasi), yang mana setiap statement didalam transaksi hanya melihat data yang telah di committed sebelum statement (bukan transaksi) dimulai. Ini berarti bahwa data mungkin diubah oleh transaksi lain selama eksekusi dari statement

yang sama didalam transaksi yang sama, mengijinkan non-repeatabel dan phantom.

SERIALIZABLE. Serialisasi didukung pada transaksi level jadi, setiap

statement didalam sebuah transaksi melihat hanya data yang telah di-committed sebelum transaksi dimulai.

READ ONLY. Transaksi READ ONLY melihat hanya data yang committed

sebelum transaksi dimulai.

READ COMMMITTED dan SERIALIZABLE menggunakan row-level locking dan

keduanya menunggu jika sebuah transaksi mencoba untuk mengubah sebuah baris yang diupdate oleh sebuah transaksi yang uncommitted. Jika transaksi yang dibloking commit, dan melepaskan setiap lock, kemudian dengan mode READ

COMMITTED, transaksi menunggu berproses dengan updatenya. Bagaimanapun juga, dengan mode SERIALIZABLE sebuah error bisa mengindikasikan operasi tersebut tidak bisa diserialisasikan.

Level isolasi dapat diset di Oracle, dengan memilih salah satu dari level isolasi yang akan dipakai pada awal transaksi dimulai. Seperti:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

SET TRANSACTION READ ONLY;

Dapat juga menggunakan perintah ALTER SESSION untuk mengeset level isolasi pada transaksi untuk semua subsequent transaksi, seperti:

ALTER SESSION SET ISOLATION_LEVEL SERIALIZABLE;

2.3.3. Deteksi Deadlock

Oracle secara otomatis mendeteksi dan menangani deadlock dengan cara me-rollback satu dari perintah yang terdapat dalam deadlock. Sebuah pesan dikembalikan pada sebuah transaksi yang memiliki perintah yang di-rollback.

2.4 Database Oracle 10g

Oracle 10g adalah software databse terbaru dari perusahaan database terkenal didunia Oracle Corp. Oracle merupakan salah satu software database ORDBMS (Object Relational Database Management System). Beberapa kelebihan utama dari Oracle 10g:

1. Mendukung penuh RDBMS

2. Mempunyai fasilitas administrasi database yang memudahkan user mengatur database dengan tampilan GUI yang memuaskan

3. Mendukung penuh aplikasi Internet dan Windows.

Selain itu, Oracle 10g mempunyai fitur baru dibandingkan pendahulunya, antara lain:

1. Automatic Storage Management. Automatic Storage Management memungkinkan pembuatan pembuatan sebuah kelompok disk dari sekumpulan peranti disk.

2. Instalasi komponen terpisah. Beberapa komponen saat ini tidak diinstal pada media instalasi database Oracle.

3. Enkripsi password database. Password setiap user yang mencoba remote login ke Oracle Database 10g release 1 (10.1) otomatis dienkripsi sebelum dikirim ke remote.

4. Data Pump Import dan Export. Oracle menggunakan fasilitas impor dan ekspor yang lebih cepat untuk transfer file.

5. Large Page Support. Large page support menyediakan peningkatan kecepatan kinerja untuk penggunaan memori yang berjalan di Windows Server 2003.

6. Oracle Data Provide for .NET. Fasilitas Oracle Data Provider for .NET (ODP.NET) 10g release 1 (10.1) termasuk berikut:

Mendukung Oracle grids (teknologi Grid Computing).

Mendukung tipe data baru di database, yaitu BINARY_FLOAT dan BINARY_DOUBLE.

Mendukung Oracle homes yang banyak.

Mendukung schemea-based XML Type di database.

7. Oracle Enterprise Manager Database Control. Oracle Enterprise Manager Database Control diinstal pada home yang sama sebagai database dan mendukung instance standalone Oracle Containers for Java (OC4J).

Database Oracle 10g dapat diakses oleh multiuser secara bersamaan. Oracle 10g juga dapat diakses dengan mudah dengan adanya fasilitas ODBC (Open Database Connectivity) yang dapat diakses oleh banyak program seperti vb.net, java, dll.

2. 5 Pemrograman Database dengan Oracle PL/SQL

Procedural Language/SQL (PL/SQL) dibutuhkan untuk mengekstrak informasi atau mengaksiplasikan perubahan ke database secara pemrograman. Hal ini karena PL/SQL mendukung manipulasi data dan kontrol transaksi yang tidak dapat dilakukan oleh SQL. Perbedaan SQL dengan PL/SQL ialah PL/SQL bukan unit transaksi. Fungsi commit, savepoint, dan roolback independent terhadap blok, tapi perintah tersebut dapat diaktifkan di dalam blok. PL/SQL tidak mendukung Data Definition Language (DDL) dan Data Control Language(DCL).

Blok dari PL/SQL yang umum ialah:

Berikut ini tipe data pada PL/SQL:

Tabel 2.2 berikut merupakan tipe-tipe data dalam Oracle PL/SQL :

Tipe Variabel Penjelasan Contoh

VARCHAR2 Variable-length Character string

Name VARCHAR2(35);

CHAR Fixed-lebgth character

string

Middle_init VARCHAR2(1);

DATE Tanggal Middle_init

VARCHAR2(1); declare -- optional begin -- mandatory -- statement PL/SQL exception -- optional

-- pernyataan error handling end;

NUMBER Floating, fixed, atau bilangan bulat

Birth_date DATE;

LONG Long text hingga 32760

bytes

Price NUMBER(4);

BINARY_INTEGER Bilangan bulat Comment LONG;

INTEGER Bilangan bulat Counter

BINARY_INTEGER;

INT Bilangan bulat Counter INTEGER;

SMALLINT Bilangan bulat Counter INT;

DEC Floating point Counter SMALLINT;

DECIMAL Floating point Price DEC;

DOUBLE Floating point Price DOUBLE;

PRECISION Floating point Price PRECISION;

NUMERIC Floating point Price NUMERIC;

REAL Floating point Price REAL;

BOOLEAN True atau false is_customer BOOLEAN;

LOB Large object Product_image LOB;

Tabel 2.2 Berbagai Tipe Data PL/SQL

Tabel 2.3 berikut ini merupakan operator-operator dalam PL/SQL: Simbol Arti

+ Addition operator

- Subtraction/negation operator

/ Division operator

= Relational operator

@ Remote access indicator

; Statement terminator

<> Relational operator

!= Relational operator

|| Concatenation operator

-- Single line comment indicator /* Beginning comment delimiter */ Ending comment delimiter

:= Assignment operator

Tabel 2.3 Berbagai Operator PL/SQL 2.5.1 Mengambil Data di PL/SQL

Untuk mengakses data di PL/SQL, digunakan variable sebagai penampung data sementara. Contoh:

declare

emp_rec emp%rowtype; begin

select * into emp_rec

from emp

where empno = &employee_number;

dbms_output.put_line (‘nama pegawai’ || emp_rec.ename); end;

2.5.2 Memasukkan Data Menggunakan PL/SQL

Fungsi insert into nama_tabel values (…) digunakan untuk memasukkan data. Contoh berikut ini akan memasukkan data di 3 kolom yang telah ditentukan. Single quote (kutip 1) digunakan jika data bertipe string.

begin

insert into emp (emp, ename, job, deptno) values (777, ‘Saftian’,’DBA’, 10);

end;

2.5.3 Meng-update dan Menghapus Data

Untuk meng-update data, digunakan fungsi update nama_tabel set nama_kolom sebagai berikut:

declare

v_sal_increase emp.sal%type:=200; begin

update emp set sal = sal+v_sal_increase where job = ‘ANALYST’

end;

2.5.4 Konvensi Nama

Nama fungi yang ada di Oracle tidak dapat digunakan sebagai variable. Nama variable diusahakan tidak berbenturan dengan nama kolom. Contoh berikut menampilkan kesalahan penggunaan nama variable dan kolom.

2.5.5 Mengontrol Transaksi DECLARE orderdate ord.orderdate%TYPE; shipdate ord.shipdate%TYPE; ordid ord.ordid%TYPE := 601; BEGIN

SELECT orderdate, shipdate INTO orderdate, shipdate

FROM ord

WHERE ordid = ordid; END;

SQL> / DECLARE *

ERROR at line 1:

ORA-01422: exact fetch returns more than requested number of rows ORA-06512: at line 6

Fungsi commit digunakan untuk menyukseskan transaksi, sedangkan fungsi rollback digunakan untuk menggagalkan transaksi. Secara default commit sudah aktif, jadi tidak perlu menggunakan fungsi commit jika ingin menyukseskan transaksi. Perintah rollback hanya dapat mengembalikan isi tabel ke kondisi saat perintah commit terakhir kecuali jika perintah savepoint digunakan sehingga perintah rollback dapat mengembalikan isi tabel ke kondisi savepoint yang telah ditentukan. Savepoint berfungsi untuk memberikan rentang update pada data sehingga kita dapat me-rollback perubahan data ke titik tertentu.

Contoh:

SQL> update kategori set penjelasan=’PL/SQL ; where no_kategori=1’;

Lalu berikan perintah:

SQL> commit;

Data di atas akan benar-benar berubah, tetapi jika perintah rollback dijalankan sebelum commit seperti berikut:

SQL> rollback;

Maka data akan dibalikkan ke data awal. Untuk membuat perantara perubahan data digunakan savepoint, seperti:

SQL> savepoint kategori_update;

Jika perintah rollback dieksekusikan to kategori_update, maka isi penjelasan no_kategori akan kembali ke kondisi savepoint yang telah ditentukan.

2.6 Aplikasi Database C#.NET 2.6.1 Mengenal C#.NET

Microsoft Visual Studio .NET ialah perangkat pengembangan multibahasa yang menyeluruh untuk membangun secara cepat dan memadukan XML Web service dan aplikasi yang secara dramatis meningkatkan produktifitas. Visual Studio. NET didesain dengan integrasi yang menggunakan standar Internet dan protocol seperti XML dan SOAP (Simple Object Access Protocol).

2.6.2 Teknologi ADO.NET

ADO.NET ialah teknologi akses data universal terbaru, arsitekturnya mirip ADO, tapi mempunyai banyak kelebihan dibandingkan pendahulunya. ADO.NET berdasarkan prinsip tanpa koneksi (connectionless principle) yang didesain untuk mempermudah batasan koneksi yang dulunya harus diperhatikan ketika membuat aplikasi terdistribusi. Aplikasi hanya terhubung ke database untuk beberapa saat

Dokumen terkait