• Tidak ada hasil yang ditemukan

Data management

N/A
N/A
Protected

Academic year: 2017

Membagikan "Data management"

Copied!
82
0
0

Teks penuh

(1)

UNIKOM (2010)

Disusun Oleh : Andri Heryandi, M.T. (andri@unikom.ac.id)

(2)

Jenis aplikasi

2

 Ada 2 jenis aplikasi yang biasa dibuat, yaitu

 Aplikasi database berbasis desktop

Dibangun dengan Delphi, Java, C++, Visual Basic, dll

 Aplikasi database berbasis web

(3)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi Berbasis Desktop

3

Aplikasi contoh akan dibangun menggunakan Delphi

(4)

MEMBUAT KONEKSI KE

SERVER DATABASE

(5)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi Berbasis Desktop

5

 Tempatkan komponen AdoConnection (ada di

(6)

Aplikasi Berbasis Desktop

6

 Klik AdoConnection, pilih properti ConnectionString

(7)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi Berbasis Desktop

7

(8)

Aplikasi Berbasis Desktop

8

(9)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi Berbasis Desktop

9

(10)

Aplikasi Berbasis Desktop

10

 Atur konfigurasi seperti pada gambar di bawah ini. IP Server:Port Listener/NamaDatabaseServer

(11)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi Berbasis Desktop

11

 Klik tombol “Test connection”

 Jika berhasil akan menampilkan layar seperti pada

gambar di bawah ini.

(12)

Aplikasi Berbasis Desktop

12

 Atur property Connected dari ADOConnection

(13)

UNIKOM (2010)

Disusun Oleh : Andri Heryandi, M.T. (andri@unikom.ac.id)

MENAMPILKAN DATA

(14)

Menampilkan Data

14

 Tempatkan sebuah ADOQuery (ada di component

palette ADO) pada form

 Klik ADOQuery1 untuk mengatur propertinya  Ganti property Name menjadi QTabungan

(15)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Menampilkan Data

15

 Isilah properti SQL dengan

(16)

Menampilkan Data

16

 Aturlah property Active dari QTabungan menjadi

(17)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Menampilkan Data

17

 Tempatkan sebuah DataSource (ada di component

palette Data Access)

 Atur property Name menjadi DSTabungan

(18)

Menampilkan Data

18

 Tempatkan sebuah DBGrid (ada di component palette

Data Controls)

(19)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Menampilkan Data

19

 Lakukan hal yang sama untuk menampilkan tabel

TblTransaksi. Atur properti sebagai berikut :

 Komponen AdoQuery

CONNECTION : ADOConnection1NAME : QTransaksi

SQL : SELECT * FROM TblTransaksiActive : TRUE

 Komponen DataSource

(20)

Menampilkan Data

(21)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Menampilkan Data

21

 Membuat Tombol Refresh Data Tabungan

 Tempatkan sebuah Tombol di atas dbgrid Tabungan  Ganti Caption : Refresh

(22)

Menampilkan Data

22

 Membuat Tombol Refresh Data Transaksi

 Tempatkan sebuah Tombol di atas dbgrid Transaksi  Ganti Caption : Refresh

(23)

UNIKOM (2010)

Disusun Oleh : Andri Heryandi, M.T. (andri@unikom.ac.id)

MEMANGGIL STORED

PROCEDURE

(24)

Memanggil Stored Procedure

24

 Tempatkan sebuah ADOStoredProc

 Isi property CONNECTION : ADOConnection1  Ganti property NAME : TambahTabungan

 Isi property PROCEDURENAME : TambahTabungan

(25)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Memanggil Stored Procedure

25

 Untuk melihat parameter yang dibutuhkan, klik

property Parameters.

(26)

Memanggil Stored Procedure

26

 Buatlah tempat untuk pengisian data tabungan baru,

misalnya :

 Tempatkan sebuah GroupBox, ganti Caption : Tambah

Tabungan

 Tempatkan 3 Label dan 3 TextBox dan 1 Button

 TextBox1 diberi nama ENama  TextBox2 diberi nama EKota  TextBox3 diberi nama ESaldo  Untuk label sesuaikan captionnya

(27)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Memanggil Stored Procedure

27

 Isilah event OnClick pada Button1 dengan

procedure TForm1.Button1Click(Sender: TObject); begin

(28)

Memanggil Stored Procedure

28

 Ulangi langkah-langkah memanggil stored

(29)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Memanggil Stored Procedure

29

 Isilah event OnClick pada Button Transaksi Cash

procedure TForm1.Button3Click(Sender: TObject); begin

With TransaksiCash.Parameters do begin

ParamByName('pNoRek').Value:=ECashNoRek.Text; ParamByName('pBesar').Value:=ECashBesar.Text; end;

TransaksiCash.ExecProc;

(30)

Memanggil Stored Procedure

30

 Isilah event OnClick pada Button Transaksi Transfer

procedure TForm1.Button4Click(Sender: TObject); begin

With TransaksiTransfer.Parameters do begin ParamByName('pNoRek1').Value:=ETransferNoRek1.Text; ParamByName('pNoRek2').Value:=ETransferNoRek2.Text; ParamByName('pBesar').Value:=ETransferBesar.Text; end; TransaksiTransfer.ExecProc;

(31)

UNIKOM (2010)

Disusun Oleh : Andri Heryandi, M.T. (andri@unikom.ac.id)

MEMBUAT APLIKASI

WEB DENGAN

(32)

Aplikasi berbasis web

2

Dalam perkuliahan ini akan dicontohkan pembuatan aplikasi berbasis web menggunakan PHP

 Syarat :

 Web Server : Apache, IIS

(33)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi berbasis web

3

 Konfigurasi PHP

 Edit file php.ini. Biasanya file ini berada pada folder

PHP.

 Cari “extension=php_oci8.dll”

 Hilangkan tanda titik koma (;) pada awal barisnya.  Simpan konfigurasi PHP-nya.

(34)

Aplikasi berbasis web (ora1.php)

4

 Buat file php untuk mengakses database. Simpan

dalam folder webnya (biasanya dalam folder htdocs atau www).

<?php

$c = oci_connect('username', 'password',

'localhost:1521/dbora.serverora.com'); $s = oci_parse($c, 'select * from TblTabungan');

oci_execute($s);

while ($res = oci_fetch_array($s, OCI_ASSOC)) { echo $res['NOREK'] .' - '.$res['NAMA']. "<br>"; }

(35)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi berbasis web (ora1.php)

5

(36)

Aplikasi berbasis web (ora2.php)

6

<?php

$c = oci_connect('username', 'password',

'localhost:1521/dbora.serverora.com'); $s = oci_parse($c, 'select * from TblTabungan');

oci_execute($s);

while ($res = oci_fetch_row($s)) {

echo $res[0] .' - '.$res[1]. "<br>"; }

(37)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Aplikasi berbasis web (ora1.php)

7

(38)

Aplikasi berbasis web (ora3.php)

8

<?php

$c = oci_connect('db97025', 'db97025',

'localhost:1521/dbora.serverora.com'); $s = oci_parse($c,"BEGIN

TambahTabungan(:nama,:kota,:saldo); END;"); $nama='Test Nama'; // boleh dari form $kota='Test Kota'; // boleh dari form $saldo=25555; // boleh diambil dari form oci_bind_by_name($s,':nama',$nama);

oci_bind_by_name($s,':kota',$kota); oci_bind_by_name($s,':saldo',$saldo); $res=oci_execute($s);

if($res)

echo "Tabungan berhasil disimpan<br>"; else

(39)

UNIKOM (2010)

Disusun Oleh : Andri Heryandi, M.T. (andri@unikom.ac.id)

DATABASE

(40)

Definisi Transaction

2

 Sebuah unit logik dari suatu pekerjaan yang terdiri

dari 1 atau banyak statement SQL

 Merupakan sebuah unit yang atomic, sehingga

hanya ada 2 kemungkinan yang terjadi yaitu :  Data ter-commit (semua perubahan data tersimpan

secara permanen )

(41)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Contoh Kasus

3

 Transaksi transfer antar rekening. Ada 3 SQL yang

harus dieksekusi yaitu :

 Menyimpan data transaksi ke tabel transaksi (INSERT)  Melakukan pengurangan saldo ke rekening pengirim

(UPDATE)

 Melakukan penambahan saldo ke rekening penerima

(UPDATE)

 Semua SQL harus tereksekusi semua atau

(42)

Statement dalam Transaksi

4

 COMMIT : Melakukan penyimpanan perubahan

data.

 ROLLBACK : Melakukan pembatalan perubahan

data.

 SAVEPOINT : Memberi tanda suatu posisi

perubahan data.

 ROLLBACK TO savepoint : Melakukan pembatalan

(43)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Awal Transaksi

5

 Suatu transaksi database diawali dengan adanya

pemanggilan statement Data Manipulation Language (DML) seperti

(44)

Akhir Transaksi

6

 Transaksi berakhir ketika terjadi salah satu hal berikut :

 Pemanggilan statement COMMIT  Pemanggilan statement ROLLBACK

 Pemanggilan statement Data Definition Language (DDL)

seperti CREATE, ALTER, DROP. Hal ini akan mengakibatkan COMMIT.

 Keluar dari SQL*PLUS secara normal. Hal ini akan

mengakibatkan COMMIT

 Keluar dari SQL*PLUS secara abnormal atau kegagalan

(45)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Kondisi Data Sebelum

COMMIT/ROLLBACK

7

 Perubahan data dapat dikembalikan (restore) ke

kondisi sebelum DML pertama dieksekusi (commit terakhir).

 User yang login akan dapat melihat data hasil

perubahan, tetapi user lain tidak.

 Jika user melakukan DML terhadap baris data,

(46)

Kondisi data setelah COMMIT

8

 Semua perubahan data tersimpan secara

permanen.

 Semua SAVEPOINT dihapus

 Semua lock dilepas. Sehingga user lain dapat

(47)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Kondisi data setelah ROLLBACK

9

 Semua perubahan data dibatalkan. Data kembali

ke kondisi sebelum awal transaksi.

(48)

Demo Transaksi

10

 Login ke oracle

 Buat sebuah tabel. Misalnya tabel Rekening

CREATE TABLE rekening(

NoRek INTEGER PRIMARY KEY, Nama VARCHAR(10),

(49)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi

11

 Beri beberapa contoh data

INSERT INTO rekening VALUES(1,'Ade',1000); INSERT INTO rekening VALUES(2,'Badra',2000); INSERT INTO rekening VALUES(3,'Cecep',3000); COMMIT;

(50)

Demo Transaksi

12

 Buka 2 koneksi ke database dengan cara membuka

(51)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi

13

 Eksekusi SQL pada kedua SQL*PLUS.

(52)

Demo Transaksi

14

(53)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (1)

15

Mendemonstrasikan transaksi database dimana suatu perubahan data yang dilakukan oleh seorang user tidak dapat diakses oleh user lain sebelum melakukan

(54)

Demo Transaksi (1)

16

 Lakukan penambahan data baru pada SQLPlus 1

INSERT INTO rekening

(55)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (1)

17

(56)

Demo Transaksi (1)

18

 Eksekusi SQL pada kedua SQL*PLUS.

(57)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (1)

19

(58)

Demo Transaksi (1)

20

 Lakukan COMMIT di koneksi pertama.

(59)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (1)

21

(60)

Demo Transaksi (1)

22

 Eksekusi SQL pada kedua SQL*PLUS.

(61)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (1)

23

Setelah COMMIT pada koneksi 1, maka semua perubahan yang telah dilakukan jadi dapat dilihat oleh user lain. Semua koneksi

(62)

Demo Transaksi (2)

24

Mendemonstrasikan transaksi database dimana suatu perubahan data yang dilakukan oleh seorang user

akan mengunci (lock) baris-baris yang berubah

(63)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

25

 Lakukan update pada koneksi 1.

(64)

Demo Transaksi (2)

26

(65)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

27

 Eksekusi SQL berikut di kedua koneksi.

(66)

Demo Transaksi (2)

28

(67)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

29

 Eksekusi SQL berikut di kedua koneksi kedua yang

akan mengupdate data pada baris yang dikunci.

UPDATE rekening

(68)

Demo Transaksi (2)

30

User ke-dua akan menunggu sampai baris yang dikunci

(69)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

31

 Lakukan COMMIT di koneksi pertama.

(70)

Demo Transaksi (2)

32

(71)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

33

 Eksekusi SQL berikut di kedua koneksi.

(72)

Demo Transaksi (2)

34

(73)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

35

 Lakukan COMMIT di koneksi kedua.

(74)

Demo Transaksi (2)

36

(75)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

37

 Eksekusi SQL berikut di kedua koneksi.

(76)

Demo Transaksi (2)

38

(77)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (3)

39

(78)

Demo Transaksi (2)

40

 Eksekusi SQL berikut pada koneksi 1

INSERT INTO rekening

VALUES(6,'Ferdi',6000); SAVEPOINT SP1;

DELETE FROM rekening WHERE NoRek<5; SAVEPOINT SP2;

1

2

3

4

Penyisipan data baru dengan nomor rekening 6

Titik aman SP1. Setelah data ditambah 1 baris

Hapus data yang nomor rekening < 5

Titik aman SP2. Setelah

(79)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

41

 Eksekusi SQL berikut pada koneksi 1

(80)

Demo Transaksi (2)

42

 Eksekusi SQL berikut pada koneksi 1

(81)

Oracle-academy@unikom oleh : Andri Heryandi, M.T. (2010)

Demo Transaksi (2)

43

 Eksekusi SQL berikut pada koneksi 1

(82)

Demo Transaksi (2)

44

 Eksekusi SQL berikut pada koneksi 1

ROLLBACK;

Referensi

Garis besar

Dokumen terkait

Pemberian kompos Tandan Kosong Kelapa Sawit (TKKS) dengan dosis 30 ton/ha dapat memberikan pertumbuhan bibi kelapa sawit di main-nursery pada medium Subsoil

1 MENDESKRIPSIKAN DATA Secara Grafik Bab II 2 Tipe Data Data Kategori Numerik Diskrit Kontinu Contoh:  Status pernikahan  Agama  Warna Mata Contoh:  Jumlah anak

Ketika observasi dapat diidentifikasi dengan metode univariat, bivariat, dan multivariate sebagai data outlier yang mungkin, peneliti harus memilih observasi yang

The following data were collected from all eligible pa- tients’ case records: age, gender, nationality, ethnicity (based on tribal name and area of origin), past or current history

Sistem otomasi gerak las MIG yang dikembangkan menunjukkan pergerakan yang cukup bagus dan dapat mendukung upaya penelitian di bidang pengelasan.. Kata kunci :

Untuk proporsi suspek TB Odd Ratio pada batas kepercayaan 95% = 6.06 – 11.47 dapat disimpul- kan Model Jejaring Penanganan TB Paru Dokter Praktek Swasta dan Pemerintah

Kegiatan pengabdian yang dilakukan adalah pelatihan pembuatan media flipbook bagi guru SMA Muhammadiyah se-DKI Jakarta. Mitra kegiatan pengabdian yang dilakukan adalah Dikdasmen PWM

Perancangan perangkat terdiri dari smartphone android sebagai penggunaan aplikasi android yang juga berfungsi sebagai transmitter,module bluetooth HC 05 untuk