BAB 2 LANDASAN TEORI. mentah mengenai orang, tempat, kejadian dan hal-hal yang penting dalam

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 2 LANDASAN TEORI. mentah mengenai orang, tempat, kejadian dan hal-hal yang penting dalam"

Transkripsi

1 BAB 2 LANDASAN TEORI 2.1 Landasan Teori Umum Pengertian Data dan Informasi Menurut Whitten, Bentley, dan Dittman (2004, p27), data adalah fakta mentah mengenai orang, tempat, kejadian dan hal-hal yang penting dalam organisasi. Informasi adalah data yang telah diproses atau diorganisasi ulang menjadi bentuk yang berarti. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti ke penerima Pengertian Basis Data Menurut Ramakrishnan dan Gehrke (2005, p4), database adalah kumpulan data, secara khusus, menggambarkan aktivitas dari satu atau lebih organisasi yang berhubungan. Menurut Connolly dan Begg (2005, p15), database adalah kumpulan dari data yang berhubungan secara logika, dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi dalam organisasi Pengertian DBMS (Database Management System) Menurut Ramakrishnan dan Gehrke (2005, p4), Database Management System atau DBMS adalah perangkat lunak yang didesain untuk membantu dalam memelihara dan menggunakan koleksi data dalam jumlah yang besar. Penggunaan DBMS adalah untuk menyimpan data dalam file dan menulis aplikasi dengan kode khusus untuk mengaturnya. 9

2 10 Berdasarkan Ramakrishnan dan Gehrke (2005, p9), penggunaan DBMS untuk mengelola data memiliki beberapa keuntungan antara lain : - Data Independence : Program aplikasi secara ideal memberikan secara detail representasi data dan penyimpanannya, sedangkan DBMS menyediakan gambaran abstrak dari data dan menyembunyikan detail dari representasi data dan penyimpanannya. - Akses data yang efisien : DBMS menggunakan berbagai teknik-teknik untuk menyimpan dan mengembalikan data secara efisien. Fitur ini secara khusus penting jika data disimpan pada penyimpanan eksternal. - Integritas dan Keamanan Data : Jika data selalu diakses melalui DBMS, DBMS dapat menjalankan batasan untuk integritas data. Sebagai contoh, sebelum memasukkan data gaji untuk karyawan, DBMS dapat melakukan pemeriksaan apakah anggaran departemen mencukupinya. Selain itu, DBMS juga dapat menjalankan kontrol akses yang berwenang untuk penggunaan data bagi pengguna tertentu. - Administrasi Data : Ketika beberapa pengguna saling berbagi data dengan memusatkan pada administrasi data dapat menawarkan peningkatan yang signifikan. Tenaga profesional yang memahami sifat dasar data yang dikelola dan bagaimana kelompok yang berbeda dari pengguna yang menggunakan data tersebut, dapat bertanggungjawab untuk mengatur representasi data untuk meminimalkan redudansi dan tuning penyimpanan data yang baik. - Concurrent Access dan Crash Recovery : DBMS melakukan penjadwalan akses data secara bersamaan sehingga pengguna berpikir

3 11 bahwa data diakses hanya oleh satu pengguna pada waktu tertentu. Selanjutnya, DBMS melakukan proteksi pengguna dari efek kegagalan sistem. - Mengurangi waktu pengembangan aplikasi DBMS mendukung fungsi penting pada berbagai aplikasi yang mengakses data dalam DBMS. Hal ini berkaitan dengan antarmuka tingkat tinggi terhadap data, memberikan fasillitas pengembangan aplikasi secara cepat. Menurut Dawes, Bryla, Johnson, dan Weishan (2005, p3), Oracle Database 10g merupakan produk yang mengembangkan grid computing sebagai Database Management System dengan fitur manajemen secara otomatis untuk penyimpanan data dalam basis data, struktur memori selftuning untuk basis data tersebut dan penggunaan web-based untuk mengawasi dan mengatur arsitektur Oracle. Grid computing dikembangkan dengan tujuan proses bisnis yang dapat dijalankan melalui server individual yang berjalan pada aplikasi. Melalui cara ini, aplikasi tidak seutuhnya selalu mengakses server utama dan hal ini dapat mencegah penggunaan perangkat keras yang memuncak. Dengan perbandingan ini, maka Oracle Database 10g seolah dapat dijalankan pada beberapa server yang membuat efisiensi penggunaan sumber daya perangkat keras yang akan digunakan Pengertian SQL Menurut Connoly dan Begg (2005, p113), pengertian SQL adalah transformoriented language atau bahasa yang dirancang dengan penggunaan relasi untuk

4 12 mengubah masukan menjadi keluaran yang dibutuhkan. Sebagai sebuah bahasa, standar internasional SQL menetapkan 2 komponen pokok, yaitu : - Data Definition Language (DDL) untuk mendefisinikan struktur basis data dan akses kontrol data. - Data Manipulation Language (DML) untuk mengembalikan dan memperbarui data. SQL adalah bahasa yang relatif mudah dipelajari, antara lain : - SQL merupakan bahasa non-prosedural; tetapkan informasi apa yang dibutuhkan daripada bagaimana mendapatkan informasi tersebut. Dalam SQL, tidak perlu menetapkan metode untuk mengakses data. - Pada dasarnya, SQL adalah free-format, artinya bagian-bagian dari perintah SQL tidak harus diketikkan pada lokasi tertentu pada layar. - Struktur perintahnya terdiri dari kata-kata standar dalam bahasa inggris, antara lain CREATE TABEL, INSERT, SELECT. Gambar 2.1, 2.2, dan 2.3 menunjukkan beberapa contoh sintaks SQL yang sering digunakan : CREATE TABEL Staff(staffNo VARCHAR(5), lname VARCHAR(15), salary DECIMAL(7,2)); Gambar 2. 1 Contoh sintaks Create Table dalam SQL INSERT INTO Staff VALUES( SG16, Brown,8300); Gambar 2. 2 Contoh sintaks untuk menambah baris baru dalam SQL

5 13 SELECT staffno, lname, salary FROM Staff WHERE salary > 10000; Gambar 2. 3 Contoh sintaks untuk menampilkan baris dalam SQL - SQL dapat digunakan oleh pengguna dari berbagai kalangan, termasuk DBA (Database Administrator), management personnel, application developer dan end-user lainnya Data Definition Menurut Connoly dan Begg (2005, p168), Data Definition Language (DDL) memberikan izin untuk menciptakan dan menghapus objek basis data, misalnya skema, tabel, view, indeks dan domain. Gambar 2.4 menunjukkan perintah yang ada di dalam SQL untuk data definition language yaitu : CREATE SCHEMA DROP SCHEMA CREATE DOMAIN ALTER DOMAIN DROP DOMAIN CREATE TABEL ALTER TABEL DROP TABEL CREATE VIEW DROP VIEW Gambar 2. 4 Perintah utama dalam SQL untuk data definition language Perintah-perintah pada gambar 2.4 digunakan untuk menciptakan, mengubah dan menghapus struktur dalam konseptual skema. Sekalipun tidak tercakup dalam standar SQL, berikut ini adalah perintah SQL yang banyak disediakan oleh DBMS, yaitu : CREATE INDEX dan DROP INDEX

6 Data Manipulation Data manipulation di dalam SQL mencakup banyak hal mengenai query. Hal-hal yang akan dibahas disini adalah yang terkait dengan query secara umum, yaitu : 1. Penggunaan query dasar Menurut Connoly dan Begg (2005, p117), perintah yang digunakan dalam data manipulation adalah : SELECT : untuk menampilkan hasil query data dalam basis data INSERT : untuk memasukkan data ke dalam basis data UPDATE : untuk memperbarui data dalam basis data DELETE : untuk menghapus data dalam basis data Tujuan perintah SELECT adalah untuk mengembalikan nilai dan menampilkan data dari satu atau lebih tabel dalam basis data. Gambar 2.5 menunjukkan contoh penggunaan select statement dalam SQL : SELECT [DISTINCT ALL] {* [columnexpression [AS newname] [, ]} FROM TabelName [alias] [,..] [WHERE condition] [GROUP BY columnlist] [HAVING condition] [ORDER BY columnlist] Gambar 2. 5 Contoh penggunaan select statement dalam SQL *) Keterangan : SELECT : menetapkan kolom mana yang ingin ditampilkan pada keluaran. FROM : menetapkan tabel atau tabel-tabel yang digunakan.

7 15 WHERE : menyaring data yang ditampilkan berdasarkan kondisi tertentu. GROUP BY : membentuk kelompok berdasarkan nilai kolom yang diinginkan. HAVING : menyaring kelompok subjek dari kondisi tertentu. ORDER BY : menetapkan urutan untuk keluaran data. Perintah yang sangat baik kemampuannya dalam menampilkan relasi data adalah operasi Selection, Projection dan Join dalam perintah tunggal. - Selection Operasi selection bekerja pada relasi tunggal R dan mendefinisikan relasi yang hanya berisi tuple R yang memenuhi kondisi tertentu (predikat). Misalnya adalah mencari gaji pegawai yang lebih dari Predikat dapat dihasilkan dari operasi logika AND, OR dan NOT. - Projection Operasi projection bekerja pada relasi tunggal R dan mendefinisikan relasi yang berisi bagian secara vertikal dari R, mengambil nilai dari atribut yang ditentukan dan menghilangkan duplikasi. - Join Operasi join sama halnya dengan operasi cross-product yang melakukan pencarian data yang sama pada kolom yang berkaitan antara 2 tabel dalam query. Dalam memenuhi kondisi query tertentu, penggunaan operasi join lebih baik daripada operasi cross-product dalam efisiensi waktu dan pencarian yang dilakukan. Operasi join akan

8 16 mengkombinasikan dua relasi ke bentuk relasi yang baru, yang merupakan operasi dasar dalam relational algebra. Menurut Ramakrishnan dan Gehrke (2005, p107), ada beberapa bentuk dari join, yaitu : Condition Joins Penggunaan join yang paling umum adalah bentuk condition join, yang melakukan kondisi seleksi pada cross-product antara 2 relasi (R dan S). Gambar 2.6 menunjukkan ilustrasi dari penggunaan Condition Joins yaitu: σc (R X S) Gambar 2. 6 Ilustrasi gambar Condition Join Keterangan : c adalah kondisi berdasarkan hasil relasi R dan S dalam mencari data pada kolom yang berkaitan. Equijoin Operasi equijoin sama halnya ketika melakukan query dengan penggabungan relasi dengan mencari nilai data yang sama pada kolom yang berkaitan antara kedua relasi tersebut. Diilustrasikan dengan query : R.name1 = S.name2, dimana R dan S masingmasing adalah tabel untuk mencari nilai data yang sama pada kolom name1 pada tabel R dan kolom name2 pada tabel S. Natural Join Operasi natural join adalah operasi equijoin yang memiliki kesamaan dalam semua field yang memiliki nama yang sama

9 17 dalam tabel R dan tabel S. Dalam hal ini, kita dapat menghilangkan kondisi dalam operasi join karena akan menghasilkan dua field dengan nama yang sama. Dalam Oracle, perintah SQL akan dianalisis oleh Optimizer, yang akan menentukan langkah-langkah yang paling optimal dalam menjalankan perintah SQL. Berikut ini ada beberapa cara JOIN yang ada pada basis data ORACLE, yaitu : Nested Loop Nested Loop adalah sebuah JOIN yang efektif jika subset yang digabungkan berjumlah sedikit dan jika kondisi dalam perintah JOIN efisien untuk menggabungkan 2 tabel tersebut. Cara kerja Nested Loop adalah : 1. Optimizer menentukan sebuah tabel untuk dijadikan Outer Table. 2. Tabel yang tersisa dijadikan Inner Table. 3. Pada setiap baris yang terdapat pada Outer Table, Optimizer akan mengakses semua baris yang terdapat pada Inner Table dengan kondisi yang di spesifikasikan di dalam JOIN. Nested Loop akan dipilih Optimizer jika memenuhi 2 kondisi, yaitu : - Jumlah baris pada tabel sedikit. - Terdapat kondisi yang optimal untuk mengakses baris pada Inner Table.

10 18 Hash Joins Hash Joins biasanya digunakan untuk mengabungkan data-data yang berjumlah besar. Cara kerja Hash Joins adalah Optimizer membuat sebuah Hash Table berdasarkan predikat JOIN. Setiap tabel di Inner maupun Outer masing-masing dijadikan sebuah kode dengan Hash Function kemudian setiap kode Hash dari Inner akan dibandingkan dengan Hash Kode dari Outer. Apabila kode hash dari Inner dan Outer sama maka akan dilakukan proses pengecekan nilai dari kolom yang pada akhirnya akan dimasukkan ke dalam hasil jika nilai kolomnya sama. Sort Merge Joins Sort Merge Joins biasa digunakan untuk menggabungkan baris dari dua sumber yang tidak mempunyai hubungan. Biasanya Hash Joins mempunyai performa yang lebih baik dari pada Sort Merge Joins. Namun Sort Merge Joins akan bekerja lebih baik daripada Hash Join apabila terdapat kondisi sebagai berikut : - Baris-baris sudah diurutkan - Operasi Pengurutan tidak perlu untuk dilakukan. Sort Merge Join sangat berguna apabila kondisi JOIN diantara dua tabel bukan berbentuk kondisi sama namun mempunyai bentuk kondisi seperti <, <=, >, atau >=.

11 19 Cartesian Joins Sebuah Cartesian Joins digunakan ketika satu atau lebih tabel tidak mempunyai kondisi penggabungan terhadap tabel lainnya. Optimizer akan menggabungkan setiap baris di tabel pertama dengan setiap baris di tabel lainya untuk menghasilkan sebuah Cartesian Produk dari dua set tersebut. Outer Joins Outer Joins mempunyai proses dimana selain baris yang memenuhi kondisi JOIN yang dimasukkan ke dalam hasil. Outer Joins akan menambahkan baris yang tidak memenuhi kondisi JOIN namun digabung dengan nilai NULL. Terdapat 3 Jenis Outer Join yaitu : - Right Join Perintah Right Join akan mengembalikan baris-baris yang memenuhi kondisi JOIN dan juga baris di tabel kanan yang tidak memenuhi kondisi JOIN dengan ditambahkan NULL. - Left Join Perintah Left Join akan mengembalikan baris-baris yang memenuhi kondisi JOIN dan juga baris di tabel kiri yang tidak memenuhi kondisi JOIN dengan ditambahkan NULL. - Full Outer join Full Outer Join adalah sebuah JOIN yang berfungsi sebagai kombinasi dari Left Join dan Right Join dimana selain hasil

12 20 dari Inner Join dimasukkan ke dalam tabel hasil, baris-baris tabel yang tidak dimasukkan di dalam hasil akan di tambahkan dengan NULL dan dimasukkan ke dalam tabel hasil. Nested Loop Outer Join Operasi ini akan digunakan ketika sebuah Outer Join digunakan di antara 2 tabel dimana Outer Join akan mengembalikan baris di Outer Table meskipun tidak memenuhi kondisi JOIN. Hal ini menimbulkan 2 kondisi yaitu : - Jika baris di Inner Table memenuhi kondisi maka tambahkan kolom di Inner Table ke Outer Table dan tampilkan ke dalam hasil. - Jika baris di Inner Table tidak ada yang memenuhi kondisi dengan Outer Table maka tampilkan baris di Outer Table dengan semua kolom di Inner Table diganti dengan NULL. Sort Merge Outer Join Optimizer akan menggunakan Sort Merge untuk Outer Join apabila : - Jika penggunaan Nested Loop Join tidaklah optimal karena jumlah data yang besar dan tidak adanya kondisi JOIN yang cukup efisien. - Jika Optimizer menemukan bahwa penggunaan Sort Merge akan meningkatkan performa daripada Hash Join karena

13 21 operasi pengurutan pada Sort Merge tidak perlu untuk dilakukan lagi. Berikut ini adalah cara-cara bagaimana Optimizer menganalisis perintah JOIN yang akan dijalankan dalam query : Untuk mengeksekusi sebuah perintah JOIN maka Optimizer harus mengidentifikan beberapa hal, yaitu : 1. Cara akses perintah JOIN Untuk perintah-perintah yang sederhana, Optimizer harus menentukan cara mengakses yang paling optimal untuk mendapatkan data dari setiap tabel yang di- JOIN. 2. Metode JOIN Setiap ada perintah JOIN maka Optimizer akan menentukan metode JOIN mana yang paling tepat untuk digunakan, baik itu Nested Loop, Sort Merge, Cartesian atau Hash Joins. 3. Urutan Join Untuk mengeksekusi lebih dari 2 tabel maka Optimizer akan melakukan JOIN dua tabel terlebih dahulu. Hasil dari join 2 tabel tersebut akan di - JOIN - kan lagi terhadap tabel berikutnya sampai semua tabel selesai di JOIN. 2. Fungsi agregat di dalam query Dalam mengembalikan nilai data, dibutuhkan beberapa perhitungan dalam query, yang dinyatakan oleh fungsi agregat dalam perintah SQL. Berikut ini adalah beberapa fungsi agregat standar dalam SQL, yaitu :

14 22 a. COUNT Perintah COUNT digunakan untuk menghitung jumlah data dalam sebuah tabel. Gambar 2.7 menunjukkan contoh penggunaan count dalam SQL yang berfungsi untuk menghitung jumlah karyawan : b. SUM SELECT COUNT (*) FROM employees; Gambar 2. 7 Contoh penggunaan COUNT dalam SQL Perintah SUM digunakan untuk mengembalikan total nilai dari kolom yang ditetapkan. Gambar 2.8 menunjukkan contoh penggunaan SUM dalam SQL untuk menghitung jumlah dari seluruh gaji karyawan : c. AVG SELECT SUM (salary) FROM employees; Gambar 2. 8 Contoh penggunaan SUM dalam SQL Perintah AVG digunakan untuk mengembalikan rata-rata dari nilai kolom yang ditetapkan. Gambar 2.9 menunjukkan contoh dari perintah AVG untuk menghitung rata-rata dari gaji pegawai yang bekerja pada departemen tertentu : SELECT AVG (salary), department_name FROM employees a JOIN departments b ON a.department_id = b.department_id GROUP BY department_name; Gambar 2. 9 Contoh penggunaan AVG dalam SQL

15 23 d. MIN Perintah MIN digunakan untuk mengembalikan nilai terkecil dari kolom yang ditetapkan. Gambar 2.10 menunjukkan contoh perintah min untuk mencari nama dari pegawai yang mempunyai gaji paling kecil : SELECT first_name last_name FROM employees WHERE salary = ( SELECT MIN (salary) FROM employees ); e. MAX Gambar Contoh penggunaan MIN dalam SQL Perintah MAX digunakan untuk mengembalikan nilai yang terbesar dari kolom yang ditetapkan. Gambar 2.11 menunjukkan contoh perintah MAX untuk mencari nama dari pegawai yang mempunyai gaji paling besar : SELECT * FROM employees where salary = ( SELECT MAX (salary) FROM employees a JOIN departments b ON a.department_id=b.department_id WHERE department_name LIKE Administration ); Gambar Contoh penggunaan MAX dalam SQL 3. Penggunaan Subquery dalam Query Dalam perintah SQL yang kompleks, sering kali ditemukan adanya query di dalam query. Hal ini disebut dengan subquery atau sering disebut dengan inner perintah SELECT.

16 24 Ada 3 jenis subquery, yaitu : a. Scalar subquery mengembalikan masing-masing satu kolom dan satu baris sehingga merupakan nilai tunggal. Contohnya adalah ketika ingin mencari gaji terbesar dari semua pegawai yang ada. b. Row subquery akan mengembalikan satu baris dengan banyak kolom. Contohnya adalah ketika ingin membandingkan gaji terbesar dan gaji terkecil semua karyawan. c. Tabel subquery akan mengembalikan banyak kolom dan banyak baris. Berikut ini adalah beberapa penggunaan subquery yang umum ditemui : a. Subquery with equality Penggunaan subquery ini bertujuan untuk mencari data dengan kondisi yang disesuaikan dengan data yang ada pada tabel di dalam subquery. Umumnya digunakan untuk mencari nilai data pada tabel yang lain untuk menyesuaikan data yang ada. Gambar 2.12 menunjukkan contoh perintah SQL untuk mengambil data employees yang berada pada departemen Administration : SELECT * FROM employees WHERE department_id = ( SELECT department_id FROM departments WHERE department_name LIKE Administration ); Gambar Contoh penggunaan subquery dengan equality

17 25 b. Penggunaan subquery dengan fungsi agregat Ada beberapa aturan mengenai subquery dengan fungsi agregat, yaitu : ORDER BY tidak boleh digunakan di dalam subquery (sekalipun digunakan pada perintah SELECT paling yang luar). Perintah SELECT dalam subquery harus terdiri dari kolom tunggal, kecuali penggunaan EXISTS dalam subquery yang bersangkutan. Ketika subquery adalah salah satu antara dua operan yang terlibat dalam perbandingan, maka subquery harus diletakkan di bagian kanan dari perbandingan. Gambar 2.13 menunjukkan contoh penggunaan subquery dengan agregat : SELECT first_name last_name, salary FROM employees WHERE (SELECT AVG (salary) FROM employees) < salary Gambar Contoh penggunaan subquery dengan agregat 2.2 Landasan Teori Khusus Tuning Basis Data Ada berbagai cara yang dapat digunakan untuk melakukan tuning, salah satunya adalah tuning basis data. Berikut ini penjelasan singkat mengenai tuning basis data.

18 Pengertian Tuning Basis Data Menurut Ramakrishnan dan Gehrke (2005, p650), pengertian tuning basis data adalah peningkatan kinerja pada desain basis data secara fisikal yang mencakup relasi dan view sesuai dengan kebutuhan pengguna Tujuan Tuning Basis Data Tujuan dari tuning basis data adalah : 1. Mengurangi waktu respon dari sistem ke pengguna akhir. 2. Mengurangi sumber daya yang diperlukan untuk melakukan pengolahan data dalam basis data. Langkah umum untuk Tuning Basis Data Ada 3 cara untuk melakukan tuning basis data, yaitu : 1. Mengurangi waktu kerja dengan cara yang lebih efisien. Proses ini adalah dapat dilakukan dengan proses optimasi, yaitu mengganti sebuah query dengan query lain dengan fungsi sama namun dengan penggunaan sumber daya yang lebih sedikit dan waktu eksekusi yang lebih cepat. 2. Menyeimbangkan waktu kerja Sistem umumnya bekerja lebih berat pada waktu siang hari dibandingkan malam hari. Di siang hari, sistem melakukan pemrosesan transasi dan pekerjaan yang tidak terlalu penting dilakukan di malam hari (misalnya, proses backup). Oleh karena itu, perlu dilakukan pembagian tugas kerja untuk sistem pada waktu siang dan malam hari. Hal ini akan mengurangi sumber daya yang diperlukan untuk melakukan pekerjaan di siang hari.

19 27 3. Membuat waktu kerja secara pararel Query untuk mengakses data-data yang besar biasanya dapat dipararelkan. Hal ini sangat berguna untuk mengurangi waktu respon pada data-data yang jarang diakses secara bersamaan (Data Warehouse). Namun pada OLTP perlu diperhatikan dimana data-data tersebut memiliki waktu akses bersamaan yang sangat tinggi karena hal ini dapat meningkatkan penggunaan sumber daya yang selanjutnya akan meningkatkan waktu respon dari program Berbagai cara untuk meningkatkan kinerja dari Basis Data Oracle 1. Merubah desain basis data Kinerja sistem yang lambat biasanya disebabkan dari desain basis data yang kurang baik. Pada desain basis data biasanya seseorang akan melakukan normalisasi ke dalam bentuk 3NF. Bentuk 3NF ini membuat beberapa akses ke basis data menjadi kurang cepat yang dapat dioptimalkan dengan melakukan denormalisasi untuk meningkatkan kinerja dari pengaksesan basis data. 2. Melakukan SQL Tuning Pengalaman menunjukkan bahwa 80% dari permasalahan dari kinerja basis data dapat diselesaikan dengan penggunaan SQL yang optimal sehingga eksekusi query oleh server dapat berjalan dengan cepat dan tidak menghabiskan sumber daya.

20 28 3. Memory Tuning Dengan menempatkan ukuran buffer yang tepat (untuk waktu menunggu, buffer hit ratios, system swapping dan paging). Maka optimasi basis data dapat dilakukan dengan melakukan pin pada objek-objek yang besar dan sering digunakan ke dalam memory. Hal ini dulakukan untuk mencegah pemanggilan yang terlalu sering (karena bila objek tersebut tidak di-pin maka akan membutuhkan sumber daya komputer yang lebih untuk memasukkan memory). 4. Disk I/O Tuning File-file dalam basis data perlu untuk diukur dan ditempatkan secara tepat di dalam sebuah sistem. Hal ini digunakan untuk mempermudah akses ke dalam file tersebut dimana semakin sulit file tersebut diakses dan semakin besar ukuran file tersebut akan meningkatkan penggunaan sumber daya I/O. Hal yang harus diperhatikan adalah bagaiman kita mengatur tempat dari file-file basis data tersebut agar mudah diakses sehingga meningkatkan kemudahan akses ke dalam file tersebut yang pada akhirnya akan mengurangi penggunaan sumber daya I/O. 5. Menghilangkan Database Contention Database Contention berhubungan dengan database locks, latches dan wait event yang terjadi dalam basis data. Untuk menghilangkan Database Contetion, harus dipelajari tentang ketiga hal tersebut dan menentukan apakah ketiga hal tersebut dapat dihilangkan untuk meningkatkan kinerja dari basis data anda.

21 29 6. Mengoptimasi Sistem Operasi Memonitor dan melakukan optimasi CPU, I/O dan penggunaan memory sebagai contoh adalah mengoverclock CPU atau memberikan prioritas lebih kepada basiss data Oracle sehingga Oracle dapat menggunakan lebih banyak CPU atau memory untuk melakukan aktivitas di dalam basis data Average Active Session Active session merupakan jumlah dari sesi yang aktif (sedang melakukan pemanggilann ke dalam basis data atau tidak idle). Gambar 2.14 menunjukkan n 4 orang pengguna dimana setiap pengguna mengakses basis data pada waktu yang berbeda-beda. Pada bagian awal yang ditunjukkan pada gambar 2.14 hanyaa user 4 yang melakukan pemanggilan ke database lalu pada bagian kedua hanya user 4 dan 3 yang melakukan pemanggilan ke database dan pada bagian ketiga hanya user 4, 3 dan 1 yang melakukan pemanggilan n ke database sehingga dapat disimpulkan pada bagian awal hanya 1 active session (user 4) padaa bagian kedua terdapatt 2 active session dan pada bagian 3 terdapat 3 active session dan seterusnya. Gambar Pengertiann dari Active Session

22 30 Sebuah sesi pemanggilan ke basis data terdiri dari beberapa kegiatan yang secara umum dapat dikategorikan menjadi 3 hal yaitu : CPU, IO dan wait yang dapat dilihat pada gambar 2.15 berikut : Gambar Pembagian komponen dari sebuah sesi pemanggilan ke basis dataa Secara umum, Oracle akan menyimpan setiap sesi dalam kurun waktu per detik beserta aktivitas yang dilakukan oleh sesi tersebut yang dapat dilihat pada gambar 2.16 berikut : Gambar Ilustrasi aktivitas dari 4 sesi selamaa kurun waktu tertentu yang diambil oleh Oracle per detik

23 31 Untuk menggambarkan hal ini secara bentuk grafik maka Oracle secara langsung menggabungkan hasil tersebut ke dalam sebuah diagram batang seperti ditunjukkan pada gambar 2.17 berikut : \ Gambar Diagram batang untuk menggambarkan aktivitas dari sesi yang aktif Namun jika penggambaran setiap sesi inii dilakukan per detik maka gambar yang dihasilkan tidak dapat dibaca karena garis yang terlalu tipis seperti pada gambar 2.18 : Gambar Diagram Batang untuk menggambarkan aktivitas dari sesi yang aktif (per detik) Sehingga untuk menggambarkan hal ini dengan baik maka secaraa langsung Oracle akan mengambil beberapa sampel dan merata-rata nya untuk mendapatkan n sebuah Average Active Session yang mana hasilnya akan lebih mudah untuk dilihat seperti pada gambar 2.19

24 32 Gambar Diagram Batang dari Average Active Session (dirata-rata selama 15 detik) Pada oracle bentuk graph tersebut digambarkan seperti pada gambar 2.20 dimana diagram batang ini dapat dilihat dari Oracle Entreprise Manager pada Tab performance yang menggambarkan Average Active Session (rata- rata jumlah sesi yang aktif yang secara default di rata-rata dengan 15 detik) Gambar Gambar Average Active Session pada Oracle Entreprise Manager Dari gambar Active Average Session yang ditunjukkan oleh Oracle maka dapat dilihat bagaimana kinerja basis data dalam kurun waktu tertentu dimana pada gambar Active Average Session tersebut dapat terlihat dengan jelas pekerjaan apa yang paling banyak dilakukan oleh sesi tersebut.

25 Teknik SQL Tuning Pengertian SQL Tuning Menurut Immanuel Chan (2008, p11-1), SQL Tuning adalah sebuah proses optimasi dengan cara mengubah perintah-perintah SQL serta menentukan teknik indexing agar SQL tersebut bekerja secara optimal Langkah-langkah SQL Tuning Langkah pertama yang harus dilakukan untuk melakukan SQL Tuning adalah melakukan identifikasi terhadap High-Load SQL Statements. High-Load SQL Statements adalah query yang membebani server sehingga menyebabkan kinerja sebuah basis data menjadi lambat dan menghabiskan penggunaan sumber daya yang besar dari sistem. Sekalipun optimasi telah dilakukan pada basis data, namun penggunaan SQL yang tidak optimal akan menyebabkan performa basis data menurun. Melakukan identifikasi query ini merupakan aktivitas yang penting dari sebuah proses SQL Tuning, yang telah diotomatisasi dengan fitur ADDM (Automatic Database Diagnostic Monitor) pada Enterprise Manager Oracle 10g. Melakukan identifikasi High-Load SQL Statements merupakan sebuah aktivitas yang penting dari sebuah proses SQL tuning. Oracle 10 g telah melakukan otomatisasi hal ini dengan fitur ADDM (Automatic Database Diagnostic Monitor) atau dengan menggunakan Entreprise Manager untuk mencari High-Load SQL Statements tersebut. Ada 2 cara untuk melakukan identifikasi High-Load SQL Statements r, yaitu dengan menggunakan ADDM dan Top SQL.

26 34 a. Identifikasi High-Load SQL Statements dengan menggunakan ADDM Secara default, ADDM berjalan secara otomatis setiap jam dan melakukan analisa data yang dikumpulkan dari AWR (Automatic Workload Repository) untuk mengidentifikasi masalah pada kinerja basis data melalui snapshot. Dalam hal ini mencakup High-Load SQL Statements. Ketika terdapat masalah pada kinerja basis data, ADDM akan menampilkan permasalahan tersebut pada halaman ADDM dan memberikan rekomendasi untuk setiap masalah yang ditemukan. Sebagai contoh, ketika sebuah High- Load SQL Statements ditemukan, ADDM akan memberikan rekomendasi untuk menggunakan SQL Tuning Advisor untuk perintah SQL tersebut. a. Identifikasi High-Load SQL Statements dengan menggunakan Top SQL Selain menggunakan ADDM. Oracle juga menyediakan sebuah fitur untuk melihat High-Load SQL Statements. Fitur yang disediakan oleh Oracle ini adalah sebuah halaman Top Activity yang terdapat pada Entreprise Manager

27 35. Pada halaman ini kita dapat melihat High-Load SQL Statements, ditunjukkan pada gambar 2.21 berikut : Gambar Halaman Top Activity pada Enterprise Manager Pada Enterprise Manager, klik Top Activity yang terdapat di tab Performance. Halaman Top Activity menunjukkan aktivitas yang berjalan pada basis data selama periode 1 jam. Pada bagian Top Activity, akan tampil chart yang menggambarkan kinerja basis data yang diukur dari average active sessions. Chart ini menunjukkan rata-rata sesi yang aktif dengan penggolongan kategori dari aktivitas yang dilakukan oleh setiap sesi tersebut dengan keterangan indikator warna dari aktivitas yang terdapat pada sisi kanan chart tersebut. Pada sisi bawah chart terdapat bagian tabel top SQL yang berisi daftar query yang membebani server dari seluruh kategori. Untuk

28 36 melihat detail dari query tersebut, klik pada kolom SQL ID di tabel top SQL, akan muncul teks query detail masing-masing top SQL. Untuk melihat perintah SQL pada kategori tertentu, klik tombol kategori yang diinginkan, kemudian akan tampil chart dari Active Sessions yang menunjukkan aktivitas dan top SQL akan diperbarui sesuai dengan waktu refresh yang dipilih oleh pengguna Restukturisasi Perintah-Perintah SQL Menurut Immanuel Chan (2008, p11-7 s.d 11-17), berikut ini adalah beberapa teknik untuk mengoptimalkan query : - Gunakan Equijoin Sedapat mungkin gunakanlah equijoin, karena perintah equijoin pada kolom yang belum ditransformasikan akan meningkatkan performa basis data dan mempermudah proses tuning. - Gunakan kolom-kolom yang belum ditransformasikan di dalam klausa WHERE Selalu usahakan untuk menggunakan kolom yang belum ditransformasikan (tidak diberi fungsi seperti substr, to_char, to_number, dsb) pada klausa WHERE, seperti pada where clause pada gambar 2.22: WHERE a.order_no = b.order_no Gambar Contoh where clause dengan kolom yang belum ditransformasikan

29 37 dibandingkan dengan gambar 2.23 yaitu : WHERE TO_NUMBER (SUBSTR(a.order_no,INSTR (b.order_no, '.')-1)) =(SUBSTR (a.order_no,instr (b.order_no, '.')-1)) Gambar Contoh where clause dengan kolom yang ditransformasikan Adanya penggunaan fungsi SQL dalam klausa WHERE dapat membuat komputer menggunakan sumber daya lebih banyak untuk mengolah fungsi tersebut sehingga menyebabkan performa yang menurun karena selain butuh proses untuk menjalankan fungsi tersebut, indeks yang terdapat kolom tersebut tidak akan digunakan oleh optimizer. Jika ingin tetap menggunakan fungsi pada kolom dalam klausa WHERE dan indeks tetap digunakan maka gunakan indeks function-based agar optimizer tetap menggunakan indeks dalam proses eksekusi query tersebu. - Berhati-hatilah dengan tipe data baik secara eksplisit maupun implisit Oracle secara implisit memerlukan proses lebih apabila terdapat jika terdapat sebuah kondisi dimana terdapat perbandingan dari tipe data yang berbeda, dimana Oracle akan langsung mengkonversi tipe data tersebut menggunakan fungsi konversi, seperti contoh pada query gambar 2.24: AND charcol = numexpr Gambar Contoh klausa dimana terdapat implicit conversion Sekilas gambar 2.24 merupakan sintaks yang benar karena gambar 2.24 menggunakan kolom yang tidak diberi fungsi namun charcol mempunyai tipe data varchar dan numexpr mempunyai tipe data

30 38 numeric. Dalam hal ini, Oracle secara implisit akan mengubah query gambar 2.24 menjadi seperti query gambar 2.25: AND TO_NUMBER (charcol) = numexpr Gambar Implisit conversion yang dilakukan oleh Oracle Hal ini tentu saja dapat membuat indeks tidak digunakan oleh optimizer dan membutuhkan proses lebih untuk menjalankan fungsi konversi tersebut. - Jangan membuat SQL layaknya bahasa prosedural SQL bukanlah bahasa prosedural, jika sebuah SQL dibuat untuk berbagai tugas maka hasilnya akan kurang optimal untuk tugas tertentu. Oleh karena itu, lebih baik gunakanlah banyak perintah untuk setiap fungsi dibandingkan dengan sebuah perintah untuk banyak fungsi. Untuk query yang cukup kompleks, dapat menggunakan perintah yang kompleks menjadi lebih sederhana, seperti pada contoh query gambar 2.26: SELECT info FROM tabels WHERE... AND somecolumn BETWEEN DECODE (:loval, 'ALL', somecolumn, :loval) AND DECODE (:hival, 'ALL', somecolumn, :hival); Gambar Query yang kompleks dan menyebabkan indeks tidak terbaca Indeks pada kolom somecolumn tidak akan digunakan oleh Optimizer pada query gambar 2.26 karena ekspresi tersebut menggunakan kolom yang sama di kedua sisi BETWEEN. Jika ingin indeks dapat digunakan oleh Optimizer maka query tersebut dapat diganti dengan menggunakan

31 39 UNION ALL agar indeks dapat digunakan yaitu dengan query seperti pada gambar 2.27 : SELECT /* change this half of UNION ALL if other half changes */ info FROM tabels WHERE...AND somecolumn BETWEEN :loval AND :hival AND (:hival!= 'ALL' AND :loval!= 'ALL') UNION ALL SELECT /* Change this half of UNION ALL if other half changes. */ info FROM tabels WHERE...AND (:hival = 'ALL' OR :loval = 'ALL'); Gambar Query yang dioptimasi dengan menggunakan union all agar indeks dapat digunakan oleh optimizer - Penggunaan EXISTS dibandingkan IN untuk subquery Gunakan IN jika selective-predicate berada di dalam subquery dan gunakanlah EXISTS jika selective-predicate berada di dalam parent karena masing-masing penggunaan IN maupun EXISTS mempunyai keuntungannya masing-masing. Berikut ini contoh yang mendemonstrasikan keuntungan dari IN dan EXISTS. Kedua contoh ini menggunakan skema yang sama dengan karakteristik seperti berikut : Terdapat indeks yang unik di employees.employee_id Terdapat indeks di field orders.customer_id. Terdapat indeks di field employees.department_id. Tabel employee mempunyai baris Tabel order mempunyai baris Skema HR dan OE, keduanya dianalisa dengan COMPUTE Contoh 1 : penggunaan IN selective predicate berada di dalam subquery

32 40 Query ini bertujuan untuk mencari semua pekerja yang melayani pesanan pada id pelanggan 144 Gambar 2.28 menunjukan SQL untuk mencari hal tersebut jika menggunakan perintah EXISTS SELECT e.employee_id,e.first_name,e.last_name,e.salary FROM employees e WHERE EXISTS(SELECT 1 FROM orders o /* Note 1 */ WHERE e.employee_id = o.sales_rep_id /* Note 2 */ AND o.customer_id = 144); /* Note 3 */ Gambar SQL dengan pengunaan perintah EXISTS *) Keterangan : Note 1 Penggunaan EXISTS Note 2 Penggunaan EXISTS merupakan correlated-subquery Note 3 Baris ini menunjukkan bahwa di dalam correlated-subquery ini terdapat sebuah selective-query Tabel 2.1 Execution plan dengan penggunaan EXISTS ID OPERATION OPTIONS OBJECT_NAME OPT COST 0 SELECT STATEMENT CHO 1 FILTER 2 TABEL ACCESS FULL EMPLOYEES ANA TABEL ACCESS BY INDEX ROWID ORDERS ANA 3 4 INDEX SCAN ORD_CUSTOMER_IX ANA 1 Tabel 2.1 menunjukkan proses eksekusi (dari V$SQL_PLAN) untuk perintah pada gambar Proses eksekusi yang ditunjukkan pada table 2.1 memerlukan full-tabel scan dari tabel employees yang mana

33 41 menghasilkan banyak row dan kemudian setiap row tersebut difiltrasi dengan tabel order dengan menggunakan indeks. Gambar 2.29 menunjukkan contoh perintah SQL dengan menggunakan IN : SELECT e.employee_id,e.first_name,e.last_name,e.salary FROM employees e WHERE e.employee_id IN (SELECT o.sales_rep_id /* Note 1 */ FROM orders o WHERE o.customer_id = 144); /* Note 3 */ Gambar SQL dengan penggunaan perintah IN *) Keterangan : Note 3 Baris ini menunjukkan bahwa correlated-subquery yang mengandung seleksi yang tinggi dengan ditandai dengan sintaks customer_id = number Note 4 Baris ini menunjukkan bahwa digunakan IN. Subquery ini tidak lagi berkorelasi karena IN ini mengganti join di subquery. Tabel 2.2 Execution plan dengan penggunaan perintah IN ID OPERATION OPTIONS OBJECT_NAME OPT COST 0 SELECT STATEMENT CHO 1 NESTED_LOOPS 5 2 VIEW 3 3 SORT UNIQUE 3 4 TABEL ACCESS FULL ORDERS ANA 1 5 TABEL ACCESS BY INDEX ROWID EMPLOYEES ANA 1 6 INDEX UNIQUE SCAN EMP_EMP_ID_PK ANA

34 42 Tabel 2.2 menunjukkan execution plan (dari V$SQL_PLAN) untuk perintah pada gambar Optimizer menulis kembali subquery pada gambar 2.29 menjadi sebuah view yang kemudian di-join melalui indeks di tabel employees. Hasil ini menunjukkan bahwa penggunaan IN lebih cepat karena subquery-nya mengandung selective predicate sehingga hanya mengeluarkan beberapa employee_id dan beberapa employee_id tersebut digunakan untuk mengakses employee tabel melalui unique-index. Contoh 2 : menggunakan EXISTS selective predicate berada pada parent query Penggunaan EXISTS juga dapat menghasilkan query yang optimal. Contohnya jika terdapat sebuah query yang bertujuan untuk menampilkan semua karyawan yang mempunyai ID yang sama dengan ID perwakilan sales tertentu yang bekerja di departemen 80 dan pernah melayani pesanan pelanggan. Gambar 2.30 menunjukkan query dimana pengunaan IN tidaklah optimal: SELECT e.employee_id, e.first_name, e.last_name, e.department_id, e.salary FROM employees e WHERE e.department_id = 80 /*Note 5 AND e.job_id = 'SA_REP' /*Note 6 AND e.employee_id IN (SELECT o.sales_rep_id FROM orders o); /*Note 4 *) Keterangan : Gambar Query dengan penggunaan IN Note 4 Penggunaan IN menunjukkan bahwa subquery tidak

35 43 lagi berkorelasi karena penggunaan IN menggantikan join. Note 5 and 6 Menunjukkan selective-query. Tabel 2. 3 Execution plan dari pengunaan IN ID OPERATION OPTIONS OBJECT_NAME OPT COST 0 SELECT STATEMENT CHO 1 NESTED LOOPS VIEW SORT UNIQUE TABEL ACCESS FULL ORDERS ANA 40 5 TABEL ACCESS BY INDEXROWID EMPLOYEES ANA 1 6 INDEX UNIQUE SCAN EMP_EMP_ID_PK ANA Tabel 2.3 menunjukkan execution plan (dari V$SQL_PLAN) untuk perintah pada gambar Proses ini akan membuat optimizer membuat sebuah view yang berisi banyak employee_id karena tidak adanya selective-predicate dan kemudian akan dibandingkan dengan tabel employees melalui indeks yang unik. Gambar 2.31 menunjukan contoh query yang menggunakan EXISTS : SELECT e.employee_id, e.first_name, e.last_name, e.salary FROM employees e WHERE e.department_id = 80 /*Note 5*/ AND e.job_id = 'SA_REP' /*Note 6*/ AND EXISTS (SELECT 1 /*Note 1*/ FROM orders o WHERE e.employee_id =o.sales_rep_id); /*Note 2*/ Gambar Query dengan pengunaan EXISTS

36 44 *) Keterangan : Note 1 Baris ini menunjukkan penggunaan EXISTS. Note 2 Baris ini menunjukkan bahwa subquery ini merupakan correlated-subquery. Note 5 & 6 Baris ini menunjukkan selective-predicate di dalam query tersebut. Tabel 2. 4 Execution plan dari pengunaan EXISTS ID OPERATION OPTIONS OBJECT_NAME OPT COST 0 SELECT STATEMENT CHO 1 FILTER 2 TABEL ACCESS BY INDEX ROWID EMPLOYEES ANA 98 3 AND-EQUAL 4 INDEX RANGE SCAN EMP_JOB_IX ANA 5 INDEX RANGE SCAN EMP_DEPARTMENT_IX ANA 6 INDEX RANGE SCAN ORD_SALES_REP_IX ANA 8 Tabel 2.4 menunjukkan execution-plan (dari V$SQL_PLAN) untuk perintah SQL pada gambar Cost penggunaan EXISTS lebih kecil karena 2 buah indeks digunakan untuk mengurutkan parent query sehingga menghasilkan beberapa employee_id kemudian beberapa employee_id tersebut digunakan untuk mengakses tabel orders melalui indeks. - Mengatur cara akses dan JOIN melalui hints Kita dapat mengatur pilihan langkah JOIN, INDEX yang dipakai dan cara mengakses yang dilakukan oleh optimizer dengan cara menggunakan hints di perintah SQL. Contoh nya adalah hints /*+FULL */ untuk

37 45 memaksa optimizer menggunakan FULL TABEL SCAN meskipun terdapat indeks seperti pada query gambar 2.32 : SELECT /*+ FULL(e) */ e.ename FROM emp e WHERE e.job = 'CLERK'; Gambar Contoh pengunaan HINTS FULL - Hati-hati dalam menggunakan perintah JOIN Dalam query, perintah JOIN dapat menyebabkan efek yang signifikan terhadap performa. Sehingga penggunaan perintah JOIN haruslah sangat diperhatikan karena sebuah penggunaan JOIN yang tidak diperlukan akan menyebabkan performa menurun drastis. Untuk memenuhi tujuan performa, terdapat 3 aturan penting yaitu : Hindari FULL TABEL SCAN jika row bisa didapatkan melalui penggunaan indeks. Selalu gunakan indeks yang mengembalikan lebih sedikit baris. Sesuaikan urutan JOIN sehingga tabel yang paling jumlah barisnya paling sedikit akan dieksekusi paling awal oleh optimizer.

38 46 Gambar 2.33 menunjukkan bagaimana cara untuk mengoptimasi urutan JOIN : SELECT info FROM taba a, tabb b, tabc c WHERE a.acol BETWEEN 100 AND 200 AND b.bcol BETWEEN AND AND c.ccol BETWEEN AND AND a.key1 = b.key1 AND a.key2 = c.key2; Gambar Contoh perintah join yang dapat dikerjakan dengan berbagai kondisi Jumlah baris yang akan diperiksa dari tabel a ada 100, sedangkan tabel b dan tabel c mempunyai baris. Query dengan predikat yang demikian akan menghasilkan 2 hasil yang sangat jauh berbeda, yaitu : Kondisi pertama : Jika proses selective-query pertama kali dilakukan pada tabel b join dengan c, akan membutuhkan proses, sekalipun terdapat indeks. Hasilnya akan join dengan tabel a yang hanya mempunyai 100 baris, dengan ini akan membutuhkan 100 proses. Kondisi kedua : Jika tabel a di join - kan dengan tabel b terlebih dulu maka jumlah proses yang digunakan adalah 100 proses yang akan berjalan dengan cepat melalui penggunaan indeks. Kemudian 100 baris yang dihasilkan akan join dengan tabel c yang juga akan memerlukan 100 proses dan akan berjalan dengan cepat karena penggunaan indeks.

39 47 - Berhati hatilah dalam menggunakan view Dalam menggunakan view pastikan bahwa semua tabel yang digunakan di dalam view tersebut terpakai karena proses JOIN terhadap tabel yang tidak dipakai akan mengurangi performa. Apabila hal tersebut terjadi maka gunakanlah view baru daripada membuat sebuah view yang reusable namun dengan performa yang kurang baik. - Melakukan restrukturisasi indeks. Perfoma dapat ditingkatkan dengan cara melakukan restrukturisasi indeks yang dapat dilakukan dengan cara-cara sebagai berikut : 1. Menghapus nonselective indeks untuk mempercepat proses DML. 2. Memberi indeks pada bagian selective predicate pada query. 3. Cobalah untuk mengurutkan kolom yang terdapat di concatenated-index. 4. Menambahkan kolom ke dalam indeks untuk meningkatkan selectivity. - Mengubah dan menonaktifkan triggers dan constraint Semakin banyak trigger dan contraint yang digunakan maka performa sistem juga akan menurun sehingga penggunaan keduanya haruslah diperhatikan secara tepat.s - Melakukan restrukturisasi data Setelah melakukan restrukturisasi indeks dan perintah SQL, restukturisasi data dapat dilakukan dengan cara berikut : Hindari penggunaan GROUP BY di dalam perintah-perintah yang kritikal.

40 48 Cobalah untuk melakukan peninjauan kembali desain basis data yang ada, apakah desain basis data sudah optimal. Jika hasilnya adalah tidak, maka cobalah lakukan beberapa optimasi, misalnya melakukan proses denormalisasi. Gunakanlah partisi jika memungkinkan. - Menggabungkan multi-scan dengan perintah CASE Penggunaan agregasi dengan fungsi set yang bermacam-macam hanya untuk 1 set data sangat sering dijumpai pada query. Pengambilan 10 fungsi set dengan sintaks yang sama namun dengan kondisi yang berbeda (klausa WHERE) akan memerlukan proses 10 kali scan pada 10 query. Hal ini dapat dihilangkan dengan cara memindahkan kondisi WHERE di setiap scan ke dalam sebuah kolom dengan penggunaan perintah CASE untuk melakukan penyaringan data. Sebagai contoh pada query ini kita akan menghitung jumlah karyawan yang mendapatkan gaji lebih kecil dari 2000, diantara 2000 dan 4000 dan lebih dari 4000 setiap bulannya. Hal ini dapat dilakukan dengan 3 query (3 scan) yang berbeda seperti pada gambar 2.34, 2.35 dan 2.36 : SELECT COUNT (*) FROM employees WHERE salary < 2000; Gambar Query untuk mengambil jumlah karyawan yang gajinya lebih kecil dari 2000

41 49 SELECT COUNT (*) FROM employees WHERE salary BETWEEN 2000 AND 4000; Gambar Query untuk mengambil jumlah karyawan yang gajinya antara 2000 dan 4000 SELECT COUNT (*) FROM employees WHERE salary>4000; Gambar Query untuk mengambil jumlah karyawan yang gajinya lebih besar dari Query tersebut dapat diefisienkan dengan mengubah query tersebut menjadi sebuah single query dimana setiap hasil yang ingin didapatkan ditaruh didalam sebuah kolom dengan menggunakan CASE untuk kondisinya. Gambar 2.37 adalah contoh penggunaan CASE untuk menghilangkan multiple scan tersebut : SELECT COUNT (CASE WHEN salary < 2000 THEN 1 ELSE null END) count1, COUNT (CASE WHEN salary BETWEEN 2001 AND 4000 THEN 1 ELSE null END) count2, COUNT (CASE WHEN salary > 4000 THEN 1 ELSE null END) count3 FROM employees; Gambar Pengunaan CASE untuk menggabungkan MULTISCAN - Gunakan DML dengan klausa RETURNING Gunakanlah perintah INSERT, UPDATE, atau DELETE RETURNING untuk mengambil dan mengubah data dengan sekali panggil. Teknik ini

42 50 akan meningkatkan perfoma dengan cara mengurangi jumlah pemanggilan ke dalam basis data. - Cobalah menggabungkan beberapa perintah menjadi sebuah perintah yang sederhana. Contoh yang paling dasar dalam hal ini adalah perintah DELETE seperti pada gambar 2.38: BEGIN FOR pos_rec IN (SELECT * FROM order_positions WHERE order_id = :id) LOOP DELETE FROM order_positions WHERE order_id = pos_rec.order_id AND order_position =pos_rec.order_position; END LOOP; DELETE FROM orders WHERE order_id = :id; END; Gambar Penggunaan sintaks delete yang kurang optimal Perintah diatas akan melakukan penghapusan sebanyak 2 kali yaitu penghapusan data di dalam tabel order_positions kemudian penghapusan data di dalam tabel order. Hal ini tentu saja menghabiskan sumber daya karena perintah tersebut akan disampaikan ke dalam database sebanyak 2 kali. Perintah tersebut dapat diganti menjadi sebuah perintah dengan hanya menambahkan 1 buah constraint yaitu constraint cascade dimana hanya sebuah perintah delete saja yang digunakan yang secara otomatis akan mempercepat kerja dari proses delete ini Penggunaan Bind Variable Setiap kali sebuah query dikirim ke basis data, teks dari query tersebut akan diperiksa apakah teks dari query tersebut sudah pernah ada di

43 51 dalam shared pool. Jika tidak ada teks query yang sesuai dengan teks query yang ada di dalam shared pool, maka akan dilakukan hard parse. Sebaliknya, jika teks dari query tersebut sudah ada di dalam shared pool, maka akan dilakukan soft parse. Nilai variabel yang berbeda-beda pada query dapat membuat query tersebut dibaca secara berbeda, sehingga akan dilakukan hard parse. Oleh karena itu, penggunaan bind-variable pada teks query yang sama membuat query dapat digunakan kembali atau dibaca sama dengan query yang pernah dimasukkan sebelumnya. Hanya perubahan nilai dari bind-variable yang berubah-ubah. Tujuan dari penggunaan bind-variable untuk mengisi nilai variabel pada query adalah : Terlalu sering memasukkan teks query yang sama (hanya berbeda nilai variabel) hanyalah akan membuang banyak memori. Memasukkan teks query yang sama ke dalam shared pool akan membuat query tersebut secara cepat dieksekusi keluar dari shared pool tersebut. Melakukan parsing untuk query merupakan proses intensif yang membutuhkan sumber daya yang tidak kecil. Mengurangi jumlah hard-parse akan mengurangi jumlah penggunaan CPU Tuning dengan Indexing Pengertian Indeks Menurut Ramakrishnan dan Gehrke (2005, p276), indeks adalah struktur data yang mengatur record data pada disk untuk melakukan optimasi bermacam-macam operasi pencarian keterangan. Dengan menggunakan

44 52 indeks, kondisi pencarian pada record-record dapat dipermudah dengan field kunci pencarian. Cara lainnya adalah membuat indeks tambahan pada kumpulan data, masing-masing dengan kunci pencarian yang berbeda, untuk mempercepat operasi pencarian yang tidak didukung oleh organisasi file Teknik-teknik Indexing Menurut Immanuel Chan (2008, p2-11), ada berbagai tipe indexing yang dapat dilakukan, antara lain : - B-Tree Indexes Merupakan teknik indeks yang standar dengan keunggulan untuk primary key dan indeks dengan pemilihan selektif yang tinggi. Indeks dengan teknik B-tree ini dapat digunakan untuk mengembalikan data yang diurutkan berdasarkan indeks pada kolom. - Bitmap indexes Teknik ini cocok untuk data dengan kardinalitas yang minimum. Melalui kompresi data, teknik ini dapat menghasilkan row-id dalam jumlah yang besar dengan penggunaan I/O yang minimal. Kombinasi teknik indeks bitmap pada kolom yang tidak diseleksi dapat memberikan efisiensi penggunaan operasi AND dan OR dengan menghasilkan row-id dalam jumlah yang besar dan penggunaan I/O yang minimal. Teknik ini secara khusus efektif dalam query dengan perintah COUNT(). - Function-based Indexes Teknik ini dapat membuat akses melalui B-tree pada nilai yang diturunkan dari fungsi yang ada pada data dasar. Teknik ini memiliki

45 53 batasan dengan penggunaan NULL dan membutuhkan penggunaan optimasi query. Teknik function-based indexes ini secara khusus berguna ketika melakukan query pada kolom-kolom campuran untuk menghasilkan data yang diturunkan atau untuk menanggulangi batasan data yang disimpan dalam basis data. - Partitioned Indexed Indeks dengan partisi dapat dilakukan dengan 2 cara, yakin partisi indeks global dan partisi indeks secara lokal. Indeks global digambarkan dengan hubungan "one-too-many", dengan satu partisi indeks yang akan dipetakan ke banyak partisi tabel. Global indeks hanya dapat digunakan dengan partisi dengan jangkauan tertentu. Indeks lokal digambarkan dengan pemetaan hubungan "one-to-one" antara partisi indeks dan partisi tabel. Secara umum, indeks lokal mengijinkan pendekatan "divide and conquer" untuk menghasilkan eksekusi perintah SQL dengan cepat. Indeks terpartisi secara lokal Dengan menggunakan indeks yang terpartisi secara lokal, DBA dapat mengambil partisi tunggal dari tabel dan indeks secara "offline" untuk tujuan pemeliharaan (reorganisasi) tanpa mempengaruhi partisi tabel dan indeks lain. Dalam indeks partisi secara lokal, nilai kunci dan jumlah partisi indeks akan disesuaikan dengan partisi yang ada pada tabel dasar.

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System) 21 BAB 2 LANDASAN TEORI 2.1. Pengertian DBMS (Database Management System) Database Management System atau DBMS adalah perangkat lunak yang didesain untuk membantu dalam memelihara dan menggunakan koleksi

Lebih terperinci

Arsitektur Basis Data Oracle

Arsitektur Basis Data Oracle Arsitektur Basis Data Oracle Oracle pertama kali dicetuskan oleh Larry Elisson beserta dua temannya pada tahun 1977. Nama Oracle diambil dari proyek milik CIA di mana dia sebelumnya bekerja. (Wikipedia)

Lebih terperinci

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek. Perkenalan SQL Sebuah database adalah sekumpulan informasi yang disusun dengan baik. Untuk mengatur sebuah database, dibutuhkan sebuah Database Management System (DBMS). DBMS merupakan program untuk menyimpan,

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN EVALUASI DAN PENINGKATAN KINERJA SISTEM BASIS DATA SIDJP CORE Gambaran Umum Direktorat Jendral Pajak

BAB 3 ANALISIS DAN PERANCANGAN EVALUASI DAN PENINGKATAN KINERJA SISTEM BASIS DATA SIDJP CORE Gambaran Umum Direktorat Jendral Pajak BAB 3 ANALISIS DAN PERANCANGAN EVALUASI DAN PENINGKATAN KINERJA SISTEM BASIS DATA SIDJP CORE 3.1 Organisasi Direktorat Jenderal Pajak 3.1.1 Gambaran Umum Direktorat Jendral Pajak Direktorat Jenderal Pajak

Lebih terperinci

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR: Bab 3 Query Lanjutan POKOK BAHASAN: Subquery dan penggunaannya Subquery dengan banyak kolom Pairwise Comparison SubQuery NonPairwise Comparison SubQuery Penggunaan Query dalam Klausa FROM Ekspresi Scalar

Lebih terperinci

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel Sistem Basis Data 1 Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel 2 SQL SQL (Structured Query Language) Bahasa standar yang

Lebih terperinci

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language) SQL (Structure Query Language) S Q L SQL merupakan transform-oriented language dengan 2 komponen utama: DDL & DML Mendefinisikan bahasa yang disebut Structured English Query Language (SEQUEL) Standar ISO

Lebih terperinci

STRUCTURE QUERY LANGUAGE DDL & DML

STRUCTURE QUERY LANGUAGE DDL & DML STRUCTURE QUERY LANGUAGE DDL & DML OUTLINE Data Definiton Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL) Proses Pembangunan Database Perintah SQL DATA DEFINITION LANGUAGE (DDL)

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 18 : SubQuery Lanjutan Halaman

Lebih terperinci

Riyanto

Riyanto SQL (Structured Query Language) Riyanto mohriyan@gmail.com http://www.masto.co.cc Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan

Lebih terperinci

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN Bab 5 Database Trigger POKOK BAHASAN: Pembuatan dan Penggunaan Trigger Statement trigger Row Trigger Menggunakan Old dan New Qualifiers Klausa WHEN pada trigger Perintah-perintah umum pada Trigger TUJUAN

Lebih terperinci

RENCANA PEMBELAJARAN

RENCANA PEMBELAJARAN FRM/KUL/01/ Written by Checked by Approved by valid date Leon Andretti Abdillah, S.Kom.,MM Merry Agustina, M.M.,M.Kom M.Izman Herdiansyah, ST., MM., Ph.D Mata Kuliah : Praktikum Basis Data Semester :1

Lebih terperinci

TABLE JOIN SQL SERVER 2005

TABLE JOIN SQL SERVER 2005 i TABLE JOIN SQL SERVER 2005 Disusun untuk : Membuat Laporan Table Join SQL SERVER 2005 Oleh : CHOIRUL FADHOLANII NIM : 0931140068 POLITEKNIK NEGERI MALANG Tahun 2011 DAFTAR ISI 1 DAFTAR GAMBAR 2 1 1.

Lebih terperinci

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc. DATABASE - MySQL Muhammad Zen S. Hadi, ST. MSc. Objectives Tujuan: Memahami perintah-perintah dasar DDL dan DML Contents Database DBMS Relational model SQL MySQL MySQL yang support ke relational model

Lebih terperinci

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS Tatap MUka 3 SQL Query & Agregate Function Arif Basofi Topik Sintaks Dasar SQL Query Operasi Aritmatika dalam SQL SQL Fungsi Agregate dan Group SQL Joint Table S Q L - Pendahuluan Bahasa user yang meminta

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 9 : Manipulasi Data Halaman

Lebih terperinci

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PERTEMUAN 5 & 6 STRUCTURE QUERY LANGUAGE STRUCTURE QUERY LANGUAGE SQL adalah bahasa query baku untuk DBMS. SQL diambil sebagai bakuan sejak tahun 1992.

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya. BAB 12 : Pembuatan View Halaman

Lebih terperinci

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Basis Data Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Deletion Yang dapat dihapus (delete) hanyalah tuple bukan nilai ada suatu atribut tertentu. Dalam SQL, deletion

Lebih terperinci

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

PRAKTIKUM 5 SISTEM BASIS DATA JOIN Mochammad Yusa Sistem Basis Data 1 PRAKTIKUM 5 SISTEM BASIS DATA JOIN Praktikan Mengetahui Asisten Laboratorium NIM. NIM. A. TUJUAN Tujuan dari praktikum ini adalah: 1. Mampu menginputkan data dan record

Lebih terperinci

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML Objectives Tujuan: DATABASE - MySQL Memahami perintah-perintah dasar DDL dan DML Acep Irham Gufroni, M.Eng. Pemrograman Internet Teknik Informatika Univ. Siliwangi Database Constraints Database a collection

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya 5.1. Sasaran Dapat menulis statement

Lebih terperinci

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data Kompetensi Dasar Setelah mengikuti kegiatan proses belajar mengenai Pengenalan SQL, mahasiswa dapat mendefinisikan dan memanipulasi sistem basis data menggunakan bahasa SQL dengan tepat Tujuan Pembelajaran

Lebih terperinci

Optimasi Query. Optimasi Perintah SQL Informasi Jalur Akses Query Faktor-faktor yang berpengaruh terhadap kecepatan akses data

Optimasi Query. Optimasi Perintah SQL Informasi Jalur Akses Query Faktor-faktor yang berpengaruh terhadap kecepatan akses data Bab 4 Optimasi Query POKOK BAHASAN: Optimasi Perintah SQL Informasi Jalur Akses Query Faktor-faktor yang berpengaruh terhadap kecepatan akses data TUJUAN BELAJAR: Setelah mempelajari materi dalam bab ini,

Lebih terperinci

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa SISTEM BASIS DATA Oleh : Devie Rosa Anamisa Pengertian Sistem Basis Data Sistem Keterpaduan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk

Lebih terperinci

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA SUBQUERY-2 MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA dedyrw@tass.telkomuniversity.ac.id Sasaran Pembelajaran Mampu menulis multiple-column subquery Mampu menyelesaikan kasus menggunakan correlated

Lebih terperinci

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015 C H A P T E R 15 SQL Operasi DML Arif Basofi PENS 2015 Objectives Tujuan: Mengenal operasi perintah SQL dalam: - DML (Data Manipulation Language) [1] - DDL (Data Definition Language) [2] S Q L DML DML

Lebih terperinci

BAB 4 : Interaksi PL/SQL dengan Oracle Server

BAB 4 : Interaksi PL/SQL dengan Oracle Server Oracle9i : Program with PLSQL BAB 4 : Interaksi PLSQL dengan Oracle Server BAB 4 : Interaksi PLSQL dengan Oracle Server Tujuan Pembelajaran : Membuat SELECT Statement dalam PLSQL Membuat DML (Data Manipulation

Lebih terperinci

SISTEM BASIS DATA By Novareza Klifartha

SISTEM BASIS DATA By Novareza Klifartha SISTEM BASIS DATA By Novareza Klifartha Konsep Sistem Basis Data SISTEM sebuah keterpaduan yang terdiri atas sejumlah komponen fungsional dengan satuan fungsi / tugas tertentu, yang saling berhubungan

Lebih terperinci

Basis Data Relational

Basis Data Relational Basis Data Relational Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data

Lebih terperinci

Sub Query. Rosa Ariani Sukamto Blog: Website:

Sub Query. Rosa Ariani Sukamto   Blog:  Website: Sub Query Rosa Ariani Sukamto Email: rosa_if_itb_01@yahoo.com Blog: http://udinrosa.wordpress.com Website: http://www.gangsir.com Apaan Ya???? Query di dalam query Subquery diletakkan pada klausa WHERE

Lebih terperinci

Schema Objects. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

Schema Objects. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA Schema Objects MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA dedyrw@tass.telkomuniversity.ac.id Sasaran Memahami tujuan penciptaan index Mampu menciptakan index Mampu membedakan private & public

Lebih terperinci

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW PERTEMUAN 12 VIEW Tujuan Pembelajaran : Memahami definisi View Dapat membuat View Dapat Memanggil data melalui View Merubah definisi View Insert, Update, dan Delete data melalui View Menghapus (drop) view

Lebih terperinci

STRUCTURE QUERY LANGUAGE (SQL)

STRUCTURE QUERY LANGUAGE (SQL) STRUCTURE QUERY LANGUAGE (SQL) Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. SQL mempunyai kemampuan sebagai berikut : a. Query (memperoleh

Lebih terperinci

SISTEM BASIS DATA II S A N T I W I D I A N T I

SISTEM BASIS DATA II S A N T I W I D I A N T I SISTEM BASIS DATA II S A N T I W I D I A N T I SISTEM Definisi sebuah tatanan yang terdiri atas sejumlah komponen fungsional (dengan tugas/fungsi khusus) yang saling berhubungan dan secara bersama-sama

Lebih terperinci

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL SQL Basis Data 1 Apakah SQL? SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan

Lebih terperinci

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA DOSEN MATAKULIAH SISTEM MANAJEMEN BASIS DATA Dr. KHAMAMI HERUSUSANTO DISUSUN

Lebih terperinci

BERMAIN DATA DENGAN SQL SERVER

BERMAIN DATA DENGAN SQL SERVER BERMAIN DATA DENGAN SQL SERVER BERKENALAN DENGAN SQL SERVER DBMS merupakan suatu sistem perangkat lunak yang memungkinkan pengguna komputer untuk membuat, memelihara, mengontrol, serta mengakses data pada

Lebih terperinci

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE MODUL 4 Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE BAGIAN 1 QUERY SELECT Tujuan Pembelajaran : Mengetahui kemampuan dari

Lebih terperinci

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini: JOIN Dalam menampilkan sebuah data seringkali kita perlu menggunakan lebih dari 1 tabel, 2 tabel, bahkan lebih, karena data yang akan ditampilkan terletak pada beberapa tabel. Setiap tabel biasanya memiliki

Lebih terperinci

M0564-Pengantar Sistem Basisdata 12/ 1

M0564-Pengantar Sistem Basisdata 12/ 1 M0564-Pengantar Sistem Basisdata 12/ 1 SQL : DML (Continue) Query Multi-Table Dapat menggunakan subqueri asalkan kolom yang dihasilkan berasal dari tabel yang sama. Jika kolom yang dihasilkan berasal dari

Lebih terperinci

Modul 3 : Query Penggabungan Tabel

Modul 3 : Query Penggabungan Tabel Modul 3 : Query Penggabungan Tabel Tujuan Praktikum - Mahasiswa dapat membedakan perbedaan macam-macam join tabel. - Mahasiswa mampu melakukan query untuk join tabel. - Mahasiswa dapat membedakan union,

Lebih terperinci

INTERNET PROGRAMMING DATABASE

INTERNET PROGRAMMING DATABASE INTERNET PROGRAMMING DATABASE Muhmmad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Bahasan Sistem Database ER Diagram Database MySQL Internet Application Pendahuluan

Lebih terperinci

Perangkat Lunak Pengembangan Web

Perangkat Lunak Pengembangan Web Perangkat Lunak Pengembangan Web Pertemuan 5 Database I Program Diploma IPB - Aditya Wicaksono, SKomp 1 Apa itu SQL? Structured Query Language SQL adalah bahasa standar untuk mengakses database SQL memungkinkan

Lebih terperinci

Menggunakan Set Operators

Menggunakan Set Operators 7 Menggunakan Set Operators Tujuan Setelah menyelesaikan pelajaran ini, Anda akan dapat melakukan berikut ini : Menjelaskan set operators Menggunakan suatu set operator untuk mengkombinasikan beberapa

Lebih terperinci

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono INTEGRITAS BASIS DATA OLEH : Slamet Sn Wibowo Wicaksono Integrity Constraint (Batasan Integritas) Constraint (batasan) merupakan aturan yang diberikan pada suatu tabel agar data yang dimasukkan terjamin

Lebih terperinci

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan) PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers (Chap. 5 Ramakrishnan) Overview Structure Query Language (SQL) adalah bahasa database relasional komersial yang paling banyak digunakan. SQL

Lebih terperinci

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly)

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly) PERTEMUAN 10 SQL : Data Manipulation (Chap. 6 Conoly) TUJUAN DAN PENTINGNYA SQL SQL adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. SQL adalah sebuah bahasa permintaan

Lebih terperinci

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS C H A P T E R 15 SQL Operasi DML Objectives Tujuan: Mengenal operasi perintah SQL dalam: - DML (Data Manipulation Language) - DDL (Data Definition Language) S Q L DML DML (Data Manipulation Language) adalah

Lebih terperinci

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) A. Pengenalan SQL SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 10 1 3/11/2015 WEEK 10 Complex query (aggregate function): COUNT, MAX, MIN,

Lebih terperinci

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL Pengenalan Database Management System MySQL Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL 2 Jelaskan perbedaan antara data dengan informasi 3 Data vs.

Lebih terperinci

Basis Data Spasial Modul 2

Basis Data Spasial Modul 2 Basis Data Spasial Modul 2 Modul 2 Arsitektur DBMS Tabel Data Manipulation Language (DML) Data Definition Language (DDL) LATIHAN Data Base Management System (DBMS) Perangkat lunak (software) untuk mengelola

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1. Tinjauan Pustaka Pembuatan data warehouse telah banyak dilakukan oleh perusahaanperusahaan industri yang berorientasi profit. Data warehouse diharapkan mampu

Lebih terperinci

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG M O D U L S Q L SISTEM BASIS DATA 2 Disusun oleh : Siti Yuliyanti, ST SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG Jl. Brigjen Katamso No.92 Km 2.5 Tanjungpinang Kepulauan Riau November 24, 2010 SQL

Lebih terperinci

Dasar-dasar SQL Cosmas Haryawan Hal : 1/9 DASAR DASAR SQL (Structured Query Language) SQL adalah bahasa standar dalam basis data yang digunakan untuk melakukan manipulasi data. Standardisasi bahasa ini

Lebih terperinci

STRUCTURE QUERY LANGUAGE

STRUCTURE QUERY LANGUAGE STRUCTURE QUERY LANGUAGE Structure Query Language (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented

Lebih terperinci

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK MODUL 3 JOIN TABLE Tujuan Kompetensi Dasar yang ingin dicapai : 3.3 Menganalisis teknik penggabungan data dari beberapa tabel memahami inner join dalam penggabungan data dari beberapa tabel mengaplikasikan

Lebih terperinci

LINGKUNGAN BASIS DATA

LINGKUNGAN BASIS DATA LINGKUNGAN BASIS DATA TUJUAN PEMBELAJARAN Menjelaskan tingkat arsitektur basis data Menjelaskan komponen DBMS, fungsi DBMS serta bahasa yang digunakan dalam DBMS Menjelaskan perbedaan model data berbasis

Lebih terperinci

SQL Data Definition Language (DDL)

SQL Data Definition Language (DDL) Structured Query Language - DML (Pert. 12) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah 1 SQL Data Definition Language (DDL) Perintah DDL dalam SQL meliputi : CREATE

Lebih terperinci

MODUL 5 INTERNET PROGRAMMING : MySQL

MODUL 5 INTERNET PROGRAMMING : MySQL MODUL 5 INTERNET PROGRAMMING : MySQL A. Tujuan : 1. Memahami tentang sistem database 2. Memahami dasar-dasar MySQL. 3. Memahami relasi di MySQL B. Dasar Teori PENGENALAN DATABASE Basis Data: Himpunan kelompok

Lebih terperinci

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub Sistem Basis Data; Tutorial Konseptual Oleh : Yakub Edisi Pertama Cetakan Pertama, 2008 Hak Cipta 2008 pada penulis, Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian

Lebih terperinci

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

MODUL V DATA MANIPULATION LANGUAGE (DML) 1 MODUL V DATA MANIPULATION LANGUAGE (DML) 1 Tujuan : Praktikan dapat memahami dan mengisi tabel dalam database Praktikan dapat memahami dan memanipulasi data dalam database Tugas Pendahuluan Apa yang anda

Lebih terperinci

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE MODUL 3 View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE Tujuan Pembelajaran : Memahami definisi View Dapat membuat View Dapat Memanggil data melalui View Merubah definisi

Lebih terperinci

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number)); Five types of constraints exist within an Oracle database. Each type enforces a different rule. The types are: NOT NULL constraints UNIQUE constraints PRIMARY KEY constraints FOREIGN KEY constraints CHECK

Lebih terperinci

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 1 2 3 Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 4 Isilah konfigurasi instalasi yang akan dibuat. Oracle Home Location : biasanya terisi otomatis dgn drive yang paling banyak

Lebih terperinci

PERTEMUAN 9 MANIPULASI DATA

PERTEMUAN 9 MANIPULASI DATA PERTEMUAN 9 MANIPULASI DATA Tujuan Pembelajaran : Memahami Statement DML (Data Manipulation Language) Menyisipkan baris ke dalam table Merubah baris dalam table Menghapus baris dari table Mengontrol transaksi

Lebih terperinci

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs. Praktikum Basis Data By. Rita Wiryasaputra, ST., M. Cs. SQL: DDL (Data Definition Language) Create Database Create Table Create View Create Index Alter Database Alter Table Alter View Drop Database Drop

Lebih terperinci

DRAFT JUDUL : OPTIMALISASI COST DAN TIME DENGAN SQL TUNING PADA APLIKASI PROFIN

DRAFT JUDUL : OPTIMALISASI COST DAN TIME DENGAN SQL TUNING PADA APLIKASI PROFIN DRAFT JUDUL : OPTIMALISASI COST DAN TIME DENGAN SQL TUNING PADA APLIKASI PROFIN Alvian Osalindo Fransiskus Martin Suparto Darudiato Universitas Bina Nusantara ABSTRAK Salah satu tujuan dalam melakukan

Lebih terperinci

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel Konsep Dasar Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel Halaman 1 dari 12 Relasional Database dan RDBMS Sebelum membahas berbagai

Lebih terperinci

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) 1. Jenis-jenis deklarasi SQL Deklarasi atau perintah SQL dibagi menjadi DDL, dan DML berdasarkan kepada fungsinya. a. DDL (Data Definition Language) Merupakan perintah-perintah

Lebih terperinci

Macam - Macam Perintah Pada SQL

Macam - Macam Perintah Pada SQL Macam - Macam Perintah Pada SQL Secara umum SQL hanya memiliki 3 komponen penting, yang digunakan untuk mendefinisikan, memanipulasi serta sebagai pengontrol data yang ada pada sebuah database. Komponen

Lebih terperinci

B a s i s D a t a C H A P T E R SQL OPERASI JOIN. Arif Basofi PENS 2015

B a s i s D a t a C H A P T E R SQL OPERASI JOIN. Arif Basofi PENS 2015 C H A P T E R 14 SQL OPERASI JOIN Arif Basofi PENS 2015 Objectives Tujuan: Mengenal perintah SQL dengan operasi JOIN: - Equijoin (Inner Join atau Simple Join) - Non-Equijoin - Outer Join (Left Outer Join

Lebih terperinci

DESAIN DATABASE. Pertemuan 06 3 SKS

DESAIN DATABASE. Pertemuan 06 3 SKS Materi 1. Era Informasi 2. Strategi dan Peluang Yang Kompetitif 3. Database dan Database Warehouse 4. Desain Database 5. Sistem Pendukung Keputusan dan Sistem Cerdas 6. E-Commerce DESAIN DATABASE Pertemuan

Lebih terperinci

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE Syntax Syntax SQL Syntaks SQL terdiri dari DDL (Definition Data Language) dan DML (Data Manipulation Language). DDL merupakan bahasa yang mendefinisikan atau menjelaskan tentang data yang digunakan. Sedangkan

Lebih terperinci

Praktikum Basis Data 2017 TE UM

Praktikum Basis Data 2017 TE UM MODUL 3 SQL A. TUJUAN - Memahami SQL, komponen-komponen, dan penggunaannya. - Mengenal operasi-operasi DML menggunakan phpmyadmin. - Mampu melakukan operasi-operasi retrieve yang spesifik - Mampu penguraikan

Lebih terperinci

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL Pertemuan 10 BAHASA QUERY KOMERSIAL BAHASA QUERY KOMERSIAL STRUKTUR QUERY LANGUAGE (SQL) SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan

Lebih terperinci

Pemrograman Basis Data dan SQL

Pemrograman Basis Data dan SQL Pemrograman Basis Data dan SQL Genap 2015-2016 Alen Boby Hartanto, S alen.boby@mercubua INTRO omata Kuliah : Pemrograman Sistem Basis Data dan SQL osks : 3 ojenis : Mata Kuliah Wajib opertemuan : 14 Pertemuan

Lebih terperinci

MODUL 9 WEB PROGRAMMING : MySQL

MODUL 9 WEB PROGRAMMING : MySQL MODUL 9 WEB PROGRAMMING : MySQL Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. PENGENALAN DATABASE Basis Data: Himpunan kelompok

Lebih terperinci

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom PEMROSESAN QUERY Gentisya Tri Mardiani, S.Kom Pendahuluan Pemrosesan terhadap query di dalam suatu basis data dilakukan dengan menggunakan bahasa query (query language) Bahasa query formal basis data relasional

Lebih terperinci

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX ============================================================================== OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX Ridho Pamungkas Jurusan Sistem Informasi, Fakultas Teknik, UNIPMA,

Lebih terperinci

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Tahun 1987, American National Standards Institute (ANSI) dan International Standards Organization (ISO) membuat standar untuk SQL Tahun 1992, dibentuk versi baru

Lebih terperinci

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela Pertemuan 15-16 DDL INDIKATOR 1. Memahami object utama dari database 2. Membuat table 3. Memahami tipe data yang digunakan pada saat pendefinisian kolom pada table 4. Merubah definisi table 5. Drop, rename

Lebih terperinci

Data Manipulation Language (DML)

Data Manipulation Language (DML) Modul ke: Data Manipulation Language (DML) Pemrograman Basis Data & SQL Fakultas FASILKOM Alen Boby Hartanto, S.Kom,M.M. Program Studi Sistem Informasi Data Manipulation Language DML (Data Manipulation

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 11 : Constraint Halaman : 11-0

Lebih terperinci

BAB 1 PENDAHULUAN. penting. Hal yang paling dasar dari teknologi informasi adalah data. Data akan

BAB 1 PENDAHULUAN. penting. Hal yang paling dasar dari teknologi informasi adalah data. Data akan BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring dengan perkembangan teknologi informasi yang semakin pesat di zaman modern ini, peranan teknologi informasi dalam sebuah organisasi menjadi sangat penting.

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : 56505 / Sistem Basis Data Revisi 1 Satuan Kredit Semester : 3 SKS Tgl revisi : 01 September 2014 Jml Jam kuliah dalam seminggu

Lebih terperinci

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom VIEW & TABLE. Basis Data 2

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom VIEW & TABLE. Basis Data 2 Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom VIEW & TABLE Basis Data 2 View View View merupakan virtual table di mana isinya (kolom dan baris) didefinisikan dari suatu query (yang

Lebih terperinci

Rencana Pelaksanaan Pembelajaran

Rencana Pelaksanaan Pembelajaran : Basis Data PROGRAM STUDI : Teknik Informatika PERTEMUAN : 1 Kompetensi Dasar : Mahasiswa dapat melakukan instalasi MySQL (XAMPP) serta melakukan konfigurasi user 1. Mahasiswa mampu melakukan instalasi

Lebih terperinci

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Basis Data 1 Dasar SQL Query Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Tujuan Mengenal dan Memahami Struktur Dasar Perintah- Perintah SQL Query Database 2 SQL - Pendahuluan Bahasa user yang meminta

Lebih terperinci

PERTEMUAN 10 PEMBUATAN TABEL

PERTEMUAN 10 PEMBUATAN TABEL PERTEMUAN 10 PEMBUATAN TABEL Tujuan Pembelajaran : Memahami object utama dari database Membuat table Memahami tipe data yang digunakan pada saat pendefinisian kolom pada table Merubah definisi table Drop,

Lebih terperinci

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE MODUL 1 Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE BAGIAN 1 PEMBUATAN TABEL Tujuan Pembelajaran : Memahami

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4 GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4 Berlaku mulai : Genap/2007 JUDUL MATA KULIAH : STRUCTURE QUERY LANGUAGE II NOMOR KODE / SKS : 390103045

Lebih terperinci

MODUL 4 INTERNET PROGRAMMING DATABASE

MODUL 4 INTERNET PROGRAMMING DATABASE MODUL 4 INTERNET PROGRAMMING DATABASE A. Tujuan : 1. Memahami tentang penggunaan Ms. Access 2. Memahami tentang pembuatan tabel 3. Memahami tentang relasi antar tabel INTERNET PROGRAMMING PENS-ITS B. Dasar

Lebih terperinci

Pengantar Basis Data SISTEM BASIS DATA I. WAN H. Manihuruk, S.kom

Pengantar Basis Data SISTEM BASIS DATA I. WAN H. Manihuruk, S.kom Pengantar Basis Data SISTEM BASIS DATA I WAN H. Manihuruk, S.kom Outline Database DBMS Levels of Abstraction Data Models Database Language Database Kumpulan file / tabel / arsip yang saling berhubungan

Lebih terperinci

Lessons. 1. Definisi Basis Data. 2. Sistem Basis Data. 3. Komponen Sistem Basis Data. 4. Abstraksi Data. 5. Bahasa Basis Data

Lessons. 1. Definisi Basis Data. 2. Sistem Basis Data. 3. Komponen Sistem Basis Data. 4. Abstraksi Data. 5. Bahasa Basis Data Basis Data 1 Referensi Raghu Ramakrisnan, Gherke, Database Management System, 3rd Edition, McGraw-Hill, 2001. Ramez Elmasri, Sam Navathe, Fundamentals of Database Systems, 4rd Edition, Addison Wesley Publishing

Lebih terperinci

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA PENGANTAR SQL TINGKAT DASAR Basisdata atau database adalah kumpulan dari

Lebih terperinci

Structured Query Language

Structured Query Language Structured Query Language DML (Data Manipulation Language) 31 Mei 2006 2006, M. Ramadhan 1 Pendahuluan Yang akan dibahas: Data Manipulation Language (DML) Pernyataan SQL untuk: Menemukan kembali data dalam

Lebih terperinci

Yuafanda Kholfi Hartono

Yuafanda Kholfi Hartono Partitioning pada Oracle 11g Yuafanda Kholfi Hartono yuafanda@yahoo.com http://allofmyjourney.blogspot.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan

Lebih terperinci

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL PERINTAH SQL DAN INTERKONEKSI PHP-MySQL Muhammad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu PRODI TEKNIK TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 1 Konsep Dasar SQL Query 2 Bentuk SQL

Lebih terperinci