Database Xampp

download Database Xampp

of 6

Transcript of Database Xampp

  • 7/30/2019 Database Xampp

    1/6

    Nama : Eddy Gandhi G

    XAMPP, INNODB & HEAP

    Mata pelajaran : DataBase

    Tanggal : 16 Januari 2011 Kelas : 3 TKJ A

    SMK B 1 Cimahi Pemateri : Bu kingkin & Bpk Yogas

    XAMPP

    XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan

    menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP

    dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis

    untuk anda atau auto konfigurasi. Versi XAMPP yang ada saat ini adalah Versi 1.4.14 atau yang

    terbarunya anda bisa download pada http://www.apachefriends.org/en/xampp-window.html.

    Software XAMPP versi ini terdiri atas:

    a. Apache versi 2.0.54

    b. MySQL versi 4.1.12

    c. PHP versi 5.0.4

    d. phpMyAdmin versi 2.6.2-p11 dan lain-lain

    XAMPP dikembangkan dari sebuah tim proyek bernama Apache Friends, yang terdiri dari Tim Inti (Core

    Team), Tim Pengembang (Development Team) & Tim Dukungan (Support Team)

    XAMPP adalah singkatan yang masing-masing hurufnya adalah :

    X

    X : Program ini dapat dijalankan dibanyak sistem operasi, seperti Windows, Linux, Mac OS, dan Solaris.

    A

    A : Apache, merupakan aplikasi web server. Tugas utama Apache adalah menghasilkan halaman web

    yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. jika

    diperlukan juga berdasarkan kode PHP yang dituliskan,maka dapat saja suatu database diakses terlebih

    dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan

    M

    M : MySQL, merupakan aplikasi database server. Perkembangannya disebut SQL yang merupakan

    kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang digunakan untuk

    mengolah database. MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya.

    Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah, dan menghapus data yang berada

    dalam database.

    P

    P : PHP, bahasa pemrograman web Bahasa pemrograman PHP merupakan bahasa pemrograman untuk

    membuat web yang bersifatserver-side scripting. PHP memungkinkan kita untuk membuat halaman web

    yang bersifat dinamis. Sistem manajemen basis data yang sering digunakan bersama PHP adalah

    http://id.wikipedia.org/wiki/Windowshttp://id.wikipedia.org/wiki/Linuxhttp://id.wikipedia.org/wiki/Mac_OShttp://id.wikipedia.org/wiki/Solarishttp://id.wikipedia.org/wiki/Webhttp://id.wikipedia.org/wiki/Serverhttp://id.wikipedia.org/wiki/Kodehttp://id.wikipedia.org/wiki/Databasehttp://id.wikipedia.org/wiki/MySQLhttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/MySQLhttp://id.wikipedia.org/wiki/Databasehttp://id.wikipedia.org/wiki/Kodehttp://id.wikipedia.org/wiki/Serverhttp://id.wikipedia.org/wiki/Webhttp://id.wikipedia.org/wiki/Solarishttp://id.wikipedia.org/wiki/Mac_OShttp://id.wikipedia.org/wiki/Linuxhttp://id.wikipedia.org/wiki/Windows
  • 7/30/2019 Database Xampp

    2/6

    MySQl. namun PHP juga mendukung sistem manajement database Oracle, Microsoft

    Access,Interbase, d-base, PostgreSQL, dan sebagainya

    P

    P : Perl, bahasa pemrograman.

    Mengenal bagian XAMPP yang biasa digunakan pada umumnya

    htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti

    berkas PHP, HTML dan skrip lain.

    phpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer. Untuk

    membukanya, buka browserlalu ketikkan alamat http://localhost/phpMyAdmin, maka akan muncul

    halaman phpMyAdmin.

    Kontrol Panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti menghentikan

    (stop) layanan, ataupun memulai (start).

    INNODB

    Dalam database Referential Integrity diperlukan untuk memastikan bahwa data yang kita masukkan

    didalam tabel anak yang beralasi foreign key dengan tabel induk benar-benar ada didalam tabel induk. Di

    MySQL kita dikenal ada beberapa jenis engine yang bisa digunakan sesuai kebutuhan kita dan masing-

    masing engine memiliki kelebihan dan kekurangan sendiri-sendiri. InnoDB adalah salah satu

    mesin(engine) di MySQL yang mulai muncul di versi 3.23.29. Dengan InnoDB kita bisa menerapkan

    Foreign key dan referential integrity, termasuk juga cascaded delete dan update yang tidak bisadilakukan di engine MyISAM (mesin default nya).

    Untuk dapat menggunakan mesin InnoDB, pastikan dahulu bahwa mesin InnoDB di MySQL Anda

    tersupport dan tidak dalam keadaan DISABLED. Untuk mengetahui mesin apa saja yang disupport oleh

    MySQL Anda, lakukan perintah di bawah ini:

    mysql> SHOW ENGINES;

    ++-++

    | Engine | Support | Comment

    ++-++

    | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance

    | InnoDB | DISABLED | Supports transactions, row-level locking, and foreign keys

    | BerkeleyDB | NO | Supports transactions and page-level locking

    .

    ++++

    http://id.wikipedia.org/wiki/Oraclehttp://id.wikipedia.org/wiki/Microsoft_Accesshttp://id.wikipedia.org/wiki/Microsoft_Accesshttp://id.wikipedia.org/w/index.php?title=Interbase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=D-base&action=edit&redlink=1http://id.wikipedia.org/wiki/PostgreSQLhttp://id.wikipedia.org/wiki/PHPhttp://id.wikipedia.org/wiki/HTMLhttp://id.wikipedia.org/wiki/Scripthttp://id.wikipedia.org/wiki/Browserhttp://localhost/phpMyAdminhttp://localhost/phpMyAdminhttp://id.wikipedia.org/wiki/Browserhttp://id.wikipedia.org/wiki/Scripthttp://id.wikipedia.org/wiki/HTMLhttp://id.wikipedia.org/wiki/PHPhttp://id.wikipedia.org/wiki/PostgreSQLhttp://id.wikipedia.org/w/index.php?title=D-base&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Interbase&action=edit&redlink=1http://id.wikipedia.org/wiki/Microsoft_Accesshttp://id.wikipedia.org/wiki/Microsoft_Accesshttp://id.wikipedia.org/wiki/Oracle
  • 7/30/2019 Database Xampp

    3/6

    12 rows in set (0.00 sec)

    Dari hasil perintah show engines, kita dapat mengetahui mesin mana yang disupport oleh database

    MySQL kita. Pada hasil di atas, mesin InnoDB dalam keadaan DISABLED yang artinya, mesin InnoDB

    disupport tapi dalam keadaan DISABLED. Untuk dapat menggunakannya kita harus men-enable terlebih

    dahulu. Untuk meng-enable mesin InnoDB, lakukan tahap-tahap berikut(saya menggunakan MySQL

    5.0.51b-community-nt-log MySQL Community Edition (GPL) bawaan sewaktu menginstall AppServ

    v2.5.10):

    Buka file my.ini yang terdapat dalam folder instalasi MySQL (C:AppServMySQL di tempat saya).

    Cari baris yang berisi skip-innodb (di tempat saya pada line 183)

    Tambahkan tanda sharp (#) di depan skip-innodb

    -> #skip-innodb

    tanda # digunakan untuk mendisable baris tersebut sehingga tidak dieksekusi.

    Simpan file my.ini

    Restart service MySQL Anda.

    Setelah Anda melakukan restart service MySQL, jalankan lagi perintah show engines pada command

    promt.

    mysql> SHOW ENGINES;

    ++-++

    | Engine | Support | Comment

    ++-++

    | InnoDB | YES | Supports transactions, row-level locking, and foreign keys

    | BerkeleyDB | NO | Supports transactions and page-level locking

    ++++

    12 rows in set (0.00 sec)

    Mesin InnoDB sudah siap digunakan!

    Sebagai percobaan, kita dapat melakukan:

  • 7/30/2019 Database Xampp

    4/6

    C:>mysql -u root -pdaniel

    Welcome to the MySQL monitor. Commands end with ; or g.

    Your MySQL connection id is 4

    Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)

    Type help; or h for help. Type c to clear the buffer.

    mysql> CREATE DATABASE coba;

    Query OK, 1 row affected (0.02 sec)

    mysql> USE coba

    Database changed

    mysql> CREATE TABLE induk (

    -> i_id INT NOT NULL,

    -> PRIMARY KEY(i_id)

    -> ) ENGINE = INNODB;

    Query OK, 0 rows affected (0.00 sec)

    mysql> CREATE TABLE anak (

    -> i_id INT NOT NULL,

    -> a_id INT NOT NULL,

    -> PRIMARY KEY (i_id, a_id),

    -> FOREIGN KEY (i_id) REFERENCES induk (i_id)

    -> ON DELETE CASCADE

    -> ON UPDATE CASCADE

    -> ) ENGINE = INNODB;

    Query OK, 0 rows affected (0.02 sec)

    mysql> INSERT INTO induk(i_id) VALUES (1),(2);

    Query OK, 2 rows affected (0.00 sec)

    Records: 2 Duplicates: 0 Warnings: 0

    mysql> SELECT * FROM induk;

    ++

    | i_id |

    ++

    | 1 |

  • 7/30/2019 Database Xampp

    5/6

    | 2 |

    ++

    2 rows in set (0.00 sec)

    mysql> INSERT INTO anak(i_id,a_id) VALUES (1,1),(1,2);Query OK, 2 rows affected (0.02 sec)

    Records: 2 Duplicates: 0 Warnings: 0

    mysql> INSERT INTO anak(i_id,a_id) VALUES (2,1),(2,2);

    Query OK, 2 rows affected (0.00 sec)

    Records: 2 Duplicates: 0 Warnings: 0

    mysql> SELECT * FROM anak;

    +++| i_id | a_id |

    +++

    | 1 | 1 |

    | 1 | 2 |

    | 2 | 1 |

    | 2 | 2 |

    +++

    4 rows in set (0.00 sec)

    mysql> INSERT INTO anak(i_id,a_id) VALUES (3,1),(3,2);

    ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`coba/anak`,

    CONSTRAINT `anak_ibfk_1` FOREIGN KEY (`i_id`) REFERENCES `induk` (`i_id`) ON DELETE

    CASCADE ON UPDATE CASCADE)

    mysql> SELECT * FROM anak;

    +++

    | i_id | a_id |

    +++

    | 1 | 1 |

    | 1 | 2 |

    | 2 | 1 |

    | 2 | 2 |

  • 7/30/2019 Database Xampp

    6/6

    +++

    4 rows in set (0.00 sec)

    HEAP

    Heap adalah sebuah binary tree dengan ketentuan sebagai berikut :

    Tree harus complete binary tree

    - Semua level tree mempunyai simpul maksimum kecuali pada level terakhir.

    - Pada level terakhir, node tersusun dari kiri ke kanan tanpa ada yang dilewati.

    Perbandingan nilai suatu node dengan nilai node child-nya mempunyai ketentuan berdasarkan jenisheap, diantaranya :

    - Max Heap mempunyai ketentuan bahwa nilai suatu node lebih besar atau samadengan (

    >= ) dari nilai childnya.

    - Min Heap mempunyai ketentuan bahwa nilai suatu node lebih kecil atau samadengan (