MySQL

Sabtu, 28 April 2012
Merupakan software sistem manajemen basis data SQL (bahasa Inggris: database
management system) atau DBMS yang multithread dan multi-user. MySQL AB membuat
MySQL tersedia sebagai software gratis dibawah lisensi GNU General Public License (GPL),
tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana
penggunaannya tidak cocok dengan penggunaan GPL. MySQL dimiliki dan disponsori oleh
sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas
semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan
MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius

1. Masuk ke MySQL

Untuk membuat koneksi ini ke server, kita membutuhkan program MySQL Client. Jika
kamu telah menginstal perangkat lunak MySQL server sendiri baik itu pada Windows
atau pada merek yang sama dengan Unix, kamu telah di instalkan program ini pada
tempat yang sama di tempat program server tadi di instal.
Pada Linux : default direktori /usr/local/mysql/bin sedangkan Windows, programnya
dikenal dengan mysql.exe dan terletak pada default direktori C:\mysql\bin
Apapun metode yang kamu pilih, apapun sistem operasi yang kamu gunakan, kamu
akan berakhir pada deretan perintah siap untuk menjalankan program MySQL Client
untuk koneksi ke server MySQL. Inilah yang harus kamu ketikkan
mysql -<hostname> -u<username> -p<database>
(-h hostname) – hostname atau alamat IP dari komputer yang mana server MySQL di
jalankan. Jika kamu menjalankan program klien pada komputer yang sama sebagai server,
kamu sebenarnya dapat meninggalkan –h.
(-u username) – Jika kamu MySQL server sendiri, ini akan seperti sebuah dasar atau
akarnya. Jika kamu menggunakan Web host’s MySQL servermu, ini seharusnya menjadi
MySQL username yang mereka berikan padamu.
(-p) – Memberitahukan klien untuk menawarkan kamu sebuah password. Pilihannya jika
tidak ada password yang di set pada basis data kamu.
(database) – Menspesifikasi basis data yang akan kamu mulai. Lagi-lagi, ini adalah
sebuah pilihan tetapi jika mengabaikan ini kamu akan menspesifikasi lagi basis data yang
mana yang akan kamu gunakan.
Contoh :
mysql –u bob –p bob

Jika kamu mengetikkan semuanya dengan benar, program MySQL Client akan
memperkenalkan programnya dan kemudian meneruskan kamu pada baris perintah
MySQL :
mysql>

2. Melihat Database

Kita bisa melihat daftar database yang ada di MySQL dengan mengetikkan baris
perintah berikut :
mysql> SHOW DATABASES;
MySQL akan menunjukkan list/daftar dari database pada server. Jika ini adalah
sebuah server baru (sebagai contoh : jika kamu menginstal server ini sendiri) daftarnya
harus kelihatan seperti ini :
-----------------------
| Database |
-----------------------
| mysql |
| test |
-----------------------
2 rows inset  (0.11sec)



3. Menghapus Database

Untuk menhapus database dapat dilakukan dengan men”dropping”nya, dan perintah
nya adalah :
mysql> drop database test;


4. Mengubah Password Admin
 

Setelah kita menginstall database MySQL di komputer kita, password admin defaultnya
adalah kosong dengan usernamenya ‘root’, Oleh karena itu kita harus mengubah
password admin untuk keamanan data. Berikut ini adalah cara mengubahnya :


mysqladmin -u root password new_password

Setelah itu kita masukkan password baru kita.
Untuk bisa masuk kedalam database mysql berikut langkahnya :

C \mysql\bin\mysql -u root -p
Enter password : new_password
Welcome to the MYSQL monitor. Commands end with ; or \g
Your MySQL connection id is 2 to server version :
4.0.20a
Type “help;” or “\h” for help. Type “\c” to clear the
buffer
mysql>



5. Membuat Database
 

Berikut ini adalah cara membuat sebuah database pada MySQL.
Sebagai latihan kita membuat database dengan nama “Mahasiswa_db”.
 

mysql> create database Mahasiswa_db;
Query OK,1 row affected (0.03sec)

Kita telah berhasil membuat database “Mahasiswa_db” dengan ditandai adanya
informasi Query OK. Perhatian jangan lupa titik koma (;) pada masing-masing
perintah.

6. Membuat User pada Database

Sekarang kita butuh untuk membuatjkan user pengguna pada database yang kita buat,
tujuannya kita bisa membatasi akses ke database “Mahasiswa_db” Berikut ini adalah
cara membuat user pengguna pada database “Mahasiswa_db”.
mysql> GRANT, SELECT, INSERT, UPDATE, DELETE
-> ON Mahasiswa_db.
-> TO Webuser@localhost;
Query OK,0 rows affected (0,0sec)

Kita telah membuatkan user pengguna database dengan nama webuser dan webuser
yang bisa akses ke database “Mahasiswa_db”.

7. Memilih Database

Memilih sebuah database yang cocok untuk proyek dan data yang akan digunakan.
Kita harus memberitahukan MySQL bahwa kita ingin menggunakannya. Lagi-lagi,
perintahnya tidak terlalu sulit untuk diingat :
mysql> USE Mahasiswa_db;
Sekarang kita menggunakan database Mahasiswa_db dan kita bisa menambahkan
beberapa tabel ke dalam database Mahasiswa_db.

8. Membuat Sebuah Table

Perintah-perintah SQL yang kita lihat sejauh ini sukup mudah dan simpel tapi semenjak
tabel menjadi begitu fleksibel, itupun membuat perintah menjadi sedikit lebih rumit
untuk membuat tabel tersebut. Bentuk dasar dari perintah itu adalah sebagai berikut :
mysql> CREATETABLE <tablename> (
-> <coloumn1.name> <col.1type> <col.1details>,
-> <coloumn1.name> <col.1type> <col.1details>,
-> …
-> );

Sebagai contoh kita akan membuat sebuah tabel yang akan menyimpan informasi
tentang mahasiswa sebagai berikut :
id, firstname, lastname, phone, city, state, dan zip
Berdasarkan pada informasi ini, marilah kita buat sebuah tabel yang akan menyimpan
semua data ini. Struktur dari tabel ini dapat dilihat seperti dibawah ini :

mysql> CREATE TABLE students (
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> firstname VARCHAR (30),
-> lastname VARCHAR (30),
-> phone VARCHAR (14),
-> city VARCHAR (50),
-> state VARCHAR (25),
-> zip VARCHAR (10),
-> );
Query OK,0 rows affected (0.04sec)


Keterangannya :
• Baris pertama menyatakan kita ingin membuat tabel baru yang dinamai
students.
• Baris kedua kita menginginkan sebuah kolom yang dinamai ID yang berisi
sebuah Integer (INT). Kolom ini tidak diperbolehkan untuk kosong (NOT NULL),
bersifat AUTO_INCREAMENT dan kolom ini dijadikan sebagai identifikasi yang
unik untuk masukan pada tabel ini, jadi semua nilai-nilai dalam kolom ini
haruslah unik (PRIMARY KEY).
• Baris 3-8 cukup simpel : mereka menyatakan bahwa kita ingin sebuah kolom
yang dinamai firstname, lastname, phone, city, state dan zip yang mengandung
data berdasarkan kepada panjang variabel (VARCHAR (25)). Nomor dalam
menandakan nomor maksimum dari karakter untuk kolom itu.
• Untuk melihat tabel baru atau untuk memastikan bahwa tabel itu dibuat dengan
benar. Ketikkan perintah berikut ini
mysql> SHOW TABLES;
 

• Responnya akan terlihat seperti ini :
----------------------------
| Tables in students_db |
----------------------------
| students |
----------------------------
1 row inset
 

• Untuk melihat isi dari tabel students yang telah dibuat, kita ketikkan perintah
berikut ini :
 

mysql> DESCRIBE students;

• Responnya akan terlihat seperti ini :
---------------------------------------------------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
---------------------------------------------------------------------------------------------------------------
| id | int (11) | | PRI | NULL | auto_increment |
| firstname | VARCHAR (30) | YES | | NULL | |
| lastname | VARCHAR (30) | YES | | NULL | |
| phone | VARCHAR (14) | YES | | NULL | |
| city | VARCHAR (50) | YES | | NULL | |
| state | VARCHAR (30) | YES | | NULL | |
| zip | VARCHAR (30) | YES | | NULL | |
----------------------------------------------------------------------------------------------------------------
7 rows inset (0.00sec)
readmore »»  

STRUKTUR DATA

I.1. PENGERTIAN

        Berbicara dengan struktur data maka perlu memperhatikan beberapa aspek seperti
logika, algoritma dan kompleksitas program. Struktur data menjadi sangat penting dalam
mendisain sebuah program yang efisien dengan akses yang sangat efektif. Sebuah program
merupakan proses bentukan dari stuktur data dan algoritma.
Data diorganisasi sedemikian rupa dengan cara yang berbeda-beda, baik menurut
logika maupun model model matematika kemudian disusun menurut aturan-aturan yang
benar yang disebut dengan struktur data. Data adalah fakta-fakta / angka-angka yang sudah
terekam tetapi belum digunakan untuk suatu keperluan. Struktur adalah elemen-elemen
pebentuk atau pengaturan hubungan antar elemen dalam suatu sistem.
Model data dapat dipandang dengan 2 cara yaitu :
1. Struktur yang cukup menghubungkan data dalam dunia nyata
2. Struktur sederhana untuk dapat mengefektifkan proses data yang diperlukan.
Struktur data dibagi atas 3 tingkatan struktur yaitu :
1. Defenisi fungsional
2. Referensi logika
3. Struktur fisik
Nilai data (data value) adalah suatu data yang dipandang sebagai satu kesatuan tunggal
(single entity) sedangkan tipe data adalah kombinasi antara himpunan nilai data (set of
value) dan himpunan operasi terhadap nilai-nilai data tersebut.
Struktur data abstrak dibagi menjadi beberapa bagian yaitu :
1. List linier (Linked list)
2. linked list banyak (Multi linked list)
3. Tumpukan (Stack)
4. Antrian (Queue)
5. Pohon (Tree)
6. Grafik (Graph)
Struktur data non abstrak dikelompokkan dalam beberapa bagian yaitu :
1. Set
2. Array
3. Record
4. File
5. Pointer, dan lain-lain
Tipe data abstrak (TDA)
Dapat dipadang sebagai model matematika dan sekumpulan operasi yang
didefenisikan terhadap suatu model.
Struktur Data
Bahan Ajar Matakuliah oleh Sinar Sinurat, ST
9
Contoh :
Himpunan bilangan bulat : {...,-3,-2,-1,0,1,2,3,...} operasi yang dapat dilakukan terhadap
himpunan ini adalah gabungan, irisan, dan lain-lain.
TDA dapat dibagi menjadi :
1. Generalisasi : proses membangkitkan tipe-tipe data dasar / primitif (real, integer, dan
lain-lain) seperti juga prosedur yang merupakan generalisasi dari operasi-operasi dasar,
seperti : +, -, *, /, dan lain-lain
2. Enkapsulasi : Merupakan TDA yang melingkupi / menyelimuti tipe data, artinya
defenisi jenis data dan operasi-operasi yang diperbolehkan dilokalisasi dalam satu
bagian program. Tipe data dari sebuah variabel adalah kumpulan nilai tertentu yang
dimuat oleh variabel tersebut. Misalnya tipe data boolean yang hanya bernilai true atau
false dan tidak boleh yang lain.

 I.2. KONSEP ARRAY

Array merupakan struktur data yang paling sederhana, kesederhanaannya dapat
dilihat dari pemberian notasi model linier (dimensi). Dalam array linier dengan jumlah data
terbatas (finite) didefenisikan sebagai berikut : A1, A2, A3, ..., An atau dengan notasi dalam
kurung :
A(1), A(2), A(3), ..., A(n)
atau dengan notasi dalam kurung siku :
A[1], A[2], A[3], ... A[n].
Dilihat dari notasi-notasi di atas bahwa A adalah variabel operand dan 1, 2, 3, ... , n adalah
indeks yang menyatakan sekuensi proses.
Selain model notasi linier satu dimensi juga diperbolehkan untuk dua atau tiga
dimensi misalnya, dengan dimensi 2 :
A[1,1], A[1,2], ..., A[1,n], A[2,1], A[2,2], …, A[m,n]
dan oleh karena itu array disebut juga dengan dense list (struktur data statis).
Dimensi Array :
1. Array 1 dimensi : List dan vektor
2. Array 2 dimensi : tabel dan matriks
3. Array multidimensional : secara teoritis bahwa jumlah dimensi tidak terbatas akan tetapi
hanya dibatasi oleh besarnya memory
4. Array-array special :
− Array segitiga (triagular array) :
􀂾 Lower triangular array : array 2-dimensi berbentuk bujur sangkar (U1 = U2),
dimana semua komponen di atas diagonal berisi 0
􀂾 Upper triangular array : perbedaan lower triangular array adalah semua komponen
di bawah diagonal yang berisi 0. Penyimpanan memerlukan lebih sedikit memory,
karena angka 0 tidak perlu disimpan. Rumus AMF untuk triangular array adalah :
Address (S[i,j] = C0 + C1 x (i x (i-1)) + C2 x j, dimana C0 = B, C1 = L/2 , C2 = L
Jumlah elemen = (U x (U+100/2 dan
Jumlah memory = L x jumlah elemen
− Array jarang (Sparse Array) : Array yang kebanyakan komponennya mempunyai satu
nilai yang sama, misalnya nilai 0, hanya sebagian kecil yang tidak sama dengan 0.

I.3. KONSEP LINKED LIST

List dianalogikan sebagai daftar (record), kemudian beberapa daftar / record
digabung atau dihubungkan sebagai rangkaian suatu proses yang disebut dengan link. Suatu
entitas dimana record-recor yang termuatdi dalamnya dihubungkan (linked) menjadi satu
proses bersama disebut linked list. Linked list untuk pertama kalinya dapat dikenali dan
dihubungkan dengan suatu pointer head. Perhatikan diagram berikut dalam gambar 1.1






Gambar 1.1. Bentuk list

Pada gambar 1.1. ditunjukkan bahwa head akan merujuk (menyimpan alamat) record
tersebut. Rangkaian linked list dikenali dengan head, listlist terkait dan tail










I.4. KONSEP TREE

Tree (pohon) adalah struktur data yang menyatakan frekuensi data dengan relasi
dalam suatu hirarki antara elemen-elemen data, induk relasi tersebut adalah root (akar) dan
cabang-cabang yang memiliki data disebut dengan leave dan leaf.
Contoh :
Record : mahasiswa {nim, nama, alamat{jalan, area{kota,kdpos}}, umur, jurusan, hobby}
Perhatikan diagram berikut dalam gambar 1.3.






                            Gambar 1.3. Bentuk pohon

I.5. KONSEP STACK

Stack (tumpukan) adalah struktur data (list linier) yang menganut paham LIFO (last
in first out), dimana proses yang dapat dilakukan adalah sisip dan hapus data, dan selalu
mengambil posisi di akhir tumpukan (top of stack) dengan bentuk penotasiannya dengan
postfix. Operasi pada stack adalah PUSH (memasukkan data dalam stack) dan POP
(mengambil data dari stack). Perhatikan diagram berikut dalam gambar 1.4.
 
    Gambar 1.4. Bentuk Tumpukan

I.6. KONSEP QUEUE

Queue (antrian) adalah struktur data (list linier) yang menganut paham FIFO (first in
first out) dimana operasi penghapusan dilakukan di depan (front) list dan operasi sisip
dilakukan di belakang (rear) list. Perhatikan diagram berikut dalam gambar 1.5.

       Gambar 1.5. Bentuk Antrian

1.7. KONSEP GRAPH

Graph (grafik) merupakan bagian struktur data yang mengindikasikan adanya relasirelasi
(many to many) yang beraturan dan tidak beraturan diantara pasangan elemen-elemen
data baik untuk tipe yang sama atau berbeda dengan berbentuk network / jaringan.

Gambar 1.6. Bentuk salah satu graph
readmore »»