Jumat, 12 November 2010

My SQL


MYSQL

            MySQL merupakan salah satu program pengolah basis data yang cukup terkenal dikalangan pembuat web (web master) hal ini disebabkan beberapa faktor:
• Free license (open source), sehingga sebagai pengembang web tidak perlu khawatir dengan masalah lisensi. Namun harus dilihat lagi lebih detail bagaimana end user license agreement-nya di situs resmi mysql (www.mysql.com)
• Ukuran file datanya relatif kecil.
• Performance-nya cukup baik.
• Pengoperasiannya mudah bahkan dengan banyaknya program client berbasis GUI (graphical user interface) membuat user lebih mudah dalam mengolah data di mysql.
• Banyaknya dukungan server web hosting di internet yang menggunakan mysql sebagai DBMS-nya, arsitekturnya sudah berbasis client-server.
• Termasuk kategori database server sehingga fitur-fitur yang berhubungan dengan database server sudah terdapat didalamnya. diantaranya fitur multi-concurent user, hot backup dan cold backup, recovery.
Untuk mendapatkan program master mysql dapat di download melalui situs resmi mysql, yaitu: http://www.mysql.com. Untuk file distribusi yang disediakan cukup banyak pilihannya. mulai dari plattform apa yang digunakan (sistem operasi), jenis file distribusi (versi instalasi atau versi no-install dalam file terkompresi).
Selain mengakses melalui console/ shell dengan menggunakan command text, mysql juga dapat diakses menggunakan program client berbasis GUI yang saat ini banyak di kembangkan oleh komunitas open source di internet. Berikut adalah contohnya: MySQL-Front (desktop-based), PHPMyAdmin (web-based). Dengan menggunakan program berbasis GUI tersebut pengguna database ini lebih mudah dan dimanjakan dengan tampilannya yang visual dan user friendly. Namun yang perlu diperhatikan walaupun program GUI seperti ini mempermudah user dalam mengoperasikan mysql tentu saja tidak semua fitur-fitur yang terdapat di dalam mysql sudah didukung oleh program GUI tersebut. Hal ini disebabkan program GUI tersebut masih dalam pengembangan dan dibuat oleh komunitas open source yang tentu saja memerlukan waktu untuk menjadi versi release (final).
Berikut adalah beberapa contoh perintah dasar di MySQL menggunakan command shell text:
• Menjalankan service MySQL, sebelum login kedatabase mysql terlebih dahulu service mysql dijalankan. biasanya service ini diaktifkan secara otomatis oleh MySQL ketika pertama kali di install. Jika otomatis dijalankan, maka service ini akan aktif secara otomatis ketika sistem operasi start up/ jalan.
C:\MySQL\Bin> mysqld [enter]
• Menjalankan / Login ke MySQL. Untuk login ke mysql perintah yang digunakan adalah [mysql] lalu diikuti parameter [-h] untuk host tempat dimana mysql tersebut di install, misal: localhost. [-u] untuk username dari user yang punya akses ke mysql, defaultnya adalah user: root atau tanpa username. [-p] untuk password dari user yang berhak mengakses mysql, defaultnya: root atau tanpa password.
C:\MySQL\Bin>mysql -h [host] -u [username] -p [enter]
masukkan password:
• Keluar/ Logout dari MyQSL
MySQL> exit [enter] atau
MySQL> quit [enter] atau
MySQL> \q [enter]
• Menampilkan versi database MySQL yang di install
MySQL> SHOW VERSION; [enter]
• Menampilkan daftar database yang ada dalam MySQL
MySQL> SHOW DATABASES; [enter]
• Memilih/ mengaktifkan database yang akan digunakan
MySQL> USE [nama database yang akan di aktifkan]; [enter]
• Menampilkan daftar tabel yang ada dalam database yang aktif
MySQL> SHOW TABLES; [enter]
• Melihat struktur tabel [misal: tabel mahasiswa]
MySQL> DESC mahasiswa; [enter]
• Melakukan backup database (dumping)
C:\MySQL\Bin>mysqldump -h [host] -u [username] [database-source] > “path” [enter]
keterangan: database-source diisi dengan nama database yang akan di backup, path diisi dengan lokasi dan nama file tempat file backup dibuat.
contoh:
C:\MySQL\Bin>mysqldump -h localhost -u root akademik > “d:\akademik.sql” [enter]
• Melakukan restore database
C:\MySQL\Bin>mysql -h localhost -u root akademik < “d:\akademik.sql” [enter] keterangan: tanda “<” [kurang dari] = memasukkan database dari luar. pada contoh nama file backupnya “akademik.sql” dan nama database tujuan didalam mysql “akademik” • Membuat user baru sekaligus memberikan hak akses MySQL> GRANT ALL PRIVILEGES ON *.* TO ‘rudy’ IDENTIFIED BY ‘rudy’; [enter]
keterangan: GRANT = perintah untuk memberikan hak akses, ALL = semua hak akses (administrator) diberikan kepada user, *.* = diijinkan untuk mengakses semua database dan semua tabel didalam database mysql, TO ‘rudy’ = user name-nya rudy, IDENTIFIED BY ‘rudy’ = passwordnya adalah rudy dengan menggunakan fungsi enkripsi password yang tersapat di mysql.
• Mengambil hak akses user yang telah diberikan sebelumnya
MySQL> REVOKE ALL PRIVILEGES FROM ‘rudy’; [enter]
keterangan: fungsi REVOKE adalah perintah untuk mengambil kembali hak akses seorang user yang diberi hak akses didalam database mySQL. penambahan atribut ALL artinya semua hak akses yang pernah diberikan kepada user tersebut akan di cabut/ ambil semuanya. fungsi ini hanya mengambil kembali hak akses user tersebut tetapi tidak menghapus account user tersebut dari daftar user yang terdapat didalam tabel user didalam database mySQL. Jadi user tersebut tetap terdaftar didalam daftar user mySQL tetapi sudah tidak memiliki hak akses lagi didalam database. Untuk melakukan penghapusan account user tersebut secara permanen dari daftar user di database mySQL, maka harus dilakukan proses penghapusan secara manual menggunakan perintah SQL DELETE.
• Mengetahui User yang Terdaftar di Database mySQL
Login ke Database mySQL terlebih dahulu sebagai administrator,
Aktifkan database mySQL menggunakan perintah: USE mysql; [enter]
Tampilkan daftar tabel-tabel didalam database mySQL yang sudah aktif: SHOW TABLES; [enter]
Dari semua tabel yang ditampilkan didalam database mySQL, terdapat tabel ‘user’ yang menyimpan informasi semua user yang terdaftar dan hak aksesnya apa saja.
Tampilkan semua user yang ada didalam tabel user: SELECT * FROM user; [enter]
Jika terlalu banyak kolom yanng ditampilkan, maka dapat dipilih kolom-kolom tertentu saja yang ingin ditampilkan dari tabel ‘user’ tersebut.
misal: SELECT user, password, host FROM user; [enter]
perintah diatas adalah perintah untuk menampilkan semua user yang terdaftar didalam tabel ‘user’ dengan menampilkan informasi username, passwordnya, dan host masing-masing user tersebut.
• Beda Host [localhost] dan Host [AnyHOst/ %] pada kolom Host di tabel ‘user’
Jika dari daftar user yang ditampilkan dari tabel ‘user’ ada informasi localhost pada host user tersebut, itu berarti user tersebut hanya dapat mengakses/ login ke database server mySQL di komputer host/ komputer dimana database mySQL tersebut di install dan tidak dapat diakses secara remote/ jarak jauh. Jika ada informasi simbol ‘%’ atau persen pada bagian host user tersebut itu artinya anyhost, bahwa user tersebut dapat mengakses database server mySQL baik secara localhost maupun secara remote/ jarak jauh.

Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain :
1.    Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2.    Open Source
MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
3.    Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.    Performance tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5.    Column types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6.    Command dan functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query.
7.    Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.
8.    Scalability dan limits
MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9.    Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10.  Localisation
MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya.
11.  Interface
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
12.  Clients dan tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
13.  Struktur table
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.

MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo.
Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin. Untuk perangkat lunak untuk administrasi basis data MySQL yang dijual secara komersial antara lain: MySQL front, Navicat dan EMS SQL Manager for MySQL.

Fitur MySQL
Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi teknologi. Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi.
Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali menambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang potensial.
Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankan MySQL sebagai database open source terpopuler.

Keunggulan MySQL
Penyebab utama MySQL begitu popular di kalangan Web adalah karena ia memang cocok bekerja di lingkungan tersebut. Pertama, MySQL tersedia di berbagai platform Linux dan berbagai varian Unix. Sesuatu yang tidak dimiliki Access, misalnya—padahal Access amat popular di platform Windows. Banyak server Web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai karena ia pun tidak memiliki kemampuan client-server/networking.
Kedua, fitur-fitur yang dimiliki MySQL memang yang biasanya banyak dibutuhkan dalam aplikasi Web. Misalnya, klausa LIMIT SQL-nya, praktis untuk melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching. Atau sebutlah kekayaaan fungsi-fungsi builtinnya, mulai dari memformat dan memanipulasi tanggal, mengolah string, regex, enkripsi dan hashing. Yang terakhir misalnya, praktis untuk melakukan penyimpanan password anggota situs.
Ketiga, MySQL memiliki overhead koneksi yang rendah. Soal kecepatan melakukan transaksi atau kinerja di kondisi load tinggi mungkin bisa diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal yang satu ini MySQL-lah juaranya. Karakteristik ini membuat MySQL cocok bekerja dengan aplikasi CGI, di mana di setiap request skrip akan melakukan koneksi, mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi. Cobalah melakukan hal ini dengan Interbase atau bahkan Oracle. Maka dengan load beberapa request per detik saja server Web/database Anda mungkin akan segera menyerah karena tidak bisa mengimbangi beban ini.



CONTOH TABEL DATABASE KARYAWAN DAN GAJI PEGAWAI


CONTOH DATA BASE KARYAWAN DAN GAJI PEGAWAI

·        DAFTAR KARYAWAN PT.MULIA SENTOSA

No
Nama Karyawan
Golongan
Alamat
Status
Jumlah Anak
1
ANDRI
1
Jl. Apel
Kawin
3
2
KEVIN
2
Jl. Dukuh 
Kawin
2
3
AKBAR
1
Jl. Merkis
Belum
-
4
RADIT
3
Jl. Durian
Kawin
2
5
SULTAN
1
Jl. Kita
Belum
-
6
FREDY
2
Jl. Sama
Belum
-
7
AHMAD
2
Jl. Jeruk
Belum
-
8
ALFONS
2
Jl. Singgah
Belum
-
9
FIKRI
1
Jl. Sana
Kawin
1
10
ROMMY
1
Jl. Sini
Kawin
2
11
HANDRI
3
Jl. Mana
Belum
-
12
ROLAN
3
Jl. Ajah
Kawin
3
13
ANWAR
2
Jl. Dukuh 
Kawin
3
14
RISKIYAH
3
Jl. Apel
Kawin
2
15
NISSA
2
Jl. Merkis
Kawin
4
16
KUSUMAWATI
1
Jl. Kita
Belum
-
17
EDI MARUDI
3
Jl. Lama
Kawin
2
18
RICKIWIYANSYAH
2
Jl. Durian
Belum
-
19
PANJAITAN
1
Jl. Singgah
Kawin
2
20
ZINEDINE
3
Jl. Kita 
Kawin
1



DAFTAR GAJI PEGAWAI PT.MULIA SENTOSA
Golongan
Gaji Pokok
Tunjangan Istri
Tunjangan Anak
Tunjangan Transport
Tunjangan Makan
1
Rp 1.500.000
Rp 100.000
Rp 75.000
Rp 80.000
Rp 150.000
2
Rp 1.750.000
Rp 100.000
Rp 75.000
Rp 80.000
Rp 150.000
3
Rp 2.000.000
Rp 100.000
Rp 75.000
Rp 80.000
Rp 150.000
·        

DATA BASE


SEJARAH BASIS DATA
Menurut sejarah, sistem pemrosesan basis data terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas.
Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Jika suatu berkas diperlukan, berkas tersebut harus dicari pada rak-rak tersebut. Bentuk seperti ini masih banyak dijumpai dalam kehidupan sehari-hari.
Pada saat penerapan sistem komputer, sekelompok rekaman disimpan pada sejumlah berkas secara terpisah. Sistem yang menggunakan pendekatan seperti ini biasa disebut sistem pemrosesan berkas.
TINJAUAN SEJARAH DBMS
 Generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric pada awal tahun 1960, disebut sebagai Penyimpanan Data Terintegrasi (Integrated Data Store). Dibentuk dasar untuk model data jaringan yang kemudian distandardisasi oleh Conference on Data System Languages (CODASYL). Bachman kemudian menerima ACM Turing Award (Penghargaan semacam Nobel pada ilmu komputer) di tahun 1973. Dan pada akhir 1960, IBM mengembangkan sistem manajemen informasi (Information Management System) DBMS. IMS dibentuk dari representasi data pada kerangka kerja yang disebut dengan model data hirarki. Dalam waktu yang sama, dikembangkan sistem SABRE sebagai hasil kerjasama antara IBM dengan perusahaan penerbangan Amerika. Sistem ini memungkinkan user untuk mengakses data yang sama pada jaringan komputer.
Kemudian pada tahun 1970, Edgar Codd, di Laboratorium Penelitian di San Jose, mengusulkan model data relasional. Di tahun 1980, model relasional menjadi paradigma DBMS yang paling dominan. Bahasa query SQL dikembangkan untuk basis data relasional sebagai bagian dari proyek Sistem R dari IBM. SQL distandardisasi di akhir tahun 1980, dan SQL-92 diadopsi oleh American National Standards Institute (ANSI) dan International Standards Organization (ISO). Program yang digunakan untuk eksekusi bersamaan dalam basis data disebut transaksi. User menulis programnya, dan bertanggung jawab untuk menjalankan program tersebut secara bersamaan terhadap DBMS. Pada tahun 1999, James Gray memenangkan Turing Award untuk kontribusinya pada manajemen transaksi dalam DBMS.
Pada akhir tahun 1980 dan permulaan 1990, banyak bidang sistem basis data yang dikembangkan. Penelitian pada bidang basis data meliputi bahasa query yang powerful, model data yang lengkap, dan penekanan pada dukungan analisis data yang kompleks dari semua bagian organisasi. Beberapa vendor memperluas sistemnya dengan kemampuan penyimpanan tipe data baru semisal image dan text, dan kemampuan query yang kompleks. Sistem khusus/spesial dikembangkan oleh banyak vendor untuk membuat data warehouse, mengkonsolidasi data dari beberapa basis data. Penomena yang paling menarik adalah adanya enterprise resource planning (ERP) dan management resource planning (MRP), yang menambahkan substansial layer dari fitur berorientasi pada aplikasi. Paket yang termasuk didalamnya meliputi Baan, Oracle, PeopleSoft, SAP, dan Siebel. Paket-paket ini mengidentifikasi himpunan tugas secara umum (misal manajemen inventori, perencanaan sumber daya manusia, analisis finansial) dan menyediakan aplikasi layer secara umum untuk menangani keprluan tersebut. Data disimpan dalam DBMS relasional, dan aplikasi layer dapat disesuaikan untuk perusahaan yang berbeda. Lebih jauh lagi, DBMS memasuki dunia internet.
Pada saat generasi pertama dari Web site menyimpan datanya secara eksklusif dalam file system operasi, maka saat ini DBMS dapat digunakan untuk menyimpan data yang dapat diakses melalui Web browser. Query dapat digenerate melalui form Web, dan format jawabannya menggunakan markup language semisal HTML untuk mempermudah tampilan pada browser. Semua vendor basis data menambahkan fitur ini untuk DMS mereka. Manajemen basis data mempertimbangkan pentingnya suatu data bersifat on-line, dan dapat diakses melalui jaringan komputer. Saat sekarang bidang seperti ini diwujudkan dalam basis data multimedia, video interaktif, perpustakaan digital,proyek ilmuwan seperti proyek pemetaan, proyek sistem observasi bumi milik NASA, dll

Database (definisi, software dan tehnologi)

- Database adalah kumpulan data atau informasi yang disimpan di dalam computer secara sistematik/teratur sehingga dapat diakses/diperiksa/digunakan menggunakan suatu program computer untuk memperoleh informasi dari basis data tersebut.
- Software database merupakan aplikasi perangkat lunak yang digunakan oleh user untuk mengelola dan memanggil database tersebut. Pengelolaan dan pemanggilan kueri (query) basis data disebut sistem manajemen database (database management system).
Contoh software database diantaranya adalah DB2, Microsoft SQL Server, Oracle, Sybase, Interbase, XBase, MySQL, Microsoft Access, dBase III, FoxPro, dan lain-lain.
- Perkembangan tehnologi database saat ini berkembang sangat pesat, banyak bentuk-bentuk yang dulu hanya mempunyai tehnologi sebagai tempat penyimpanan data yang terdiri dari Field, record dan diolah serta ditampilkan menjadi informasi dalam berbagai format tampilan yang sederhana; kemudian dari bentuk yang sederhana tersebut maka didapatkan suatu metoda untuk menampilkan suatu database yang berguna untuk menganalisa data untuk suatu keperluan tertentu. . Dengan memanfaatkan relational database yang sudah ada maka didapat suatu cara untuk mengantisipasi kebutuhan guna menganalisa data secara cepat untuk membantu mendapatkan keputusan dalam suatu aplikasi atau organisasi.
- Salah satu contoh tehnologi database saat ini adalah dimana seorang design web dapat membuat web dengan menarik karena sudah ada tehnologi database generasi baru yang biasa di sebut oracle. Dengan oracle inilah para pendesign web bisa membuat webnya dengan penuh keunikan.

Perangkat lunak basis data
Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level):
  • Microsoft SQL Server
  • Oracle
  • Sybase
  • Interbase
  • XBase
  • Firebird
  • MySQL
  • PostgreSQL
  • Microsoft Access
  • dBase III
  • Paradox
  • FoxPro
  • Visual FoxPro
  • Arago
  • Force
  • Recital
  • dbFast
  • dbXL
  • Quicksilver
  • Clipper
  • FlagShip
  • Harbour
  • Visual dBase
  • Lotus Smart Suite Approach

Struktur Database
Struktur hirarki dalam database terdiri dari:
- Karakter
- Field
- Record
- Tabel
- Database
Pentingnya Database bagi organisasi/perusahaan
Basis data menyediakan fasilitas atau memudahkan dalam memproduksi informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan tehnologi basis data pada saat sekarang (dunia bisnis).
Berikut ini contoh penggunaan Aplikasi database dalam dunia bisnis :
Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
Bandara: Pengelolaan data reservasi, penjadualan
Universitas: Pengelolaan pendaftaran, alumni
Penjualan: Pengelolaan data customer, produk, penjualan
Pabrik: Pengelolaan data produksi, persediaan barang, pemesanan, agen
Kepegawaian: Pengelolaan data karyawan, gaji, pajak
Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa.