makalah mysql .docx
TRANSCRIPT
TUGAS MAKALAH
SISTEM CERDAS
“MYSQL”
NAMA KELOMPOK :
I GDE ARDIKAYANA ( 43112506 )
KELAS :
3DC02
UNIVERSITAS GUNADARMA
2014
Sejarah MySQL
MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty" Widenius,
seorang programmer komputer asal Swedia. Monty mengembangkan sebuah sistem database
sederhana yang dinamakan UNIREG yang menggunakan koneksi low-level ISAM database
engine dengan indexing. Pada saat itu Monty bekerja pada perusahaan bernama TcX di
Swedia.
TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis web, dan berencana
menggunakan UNIREG sebagai sistem database. Namun sayangnya, UNIREG dianggagap
tidak cocok untuk database yang dinamis seperti web.
TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya
adalah mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan, yaitu tidak
mendukung indexing, sehingga performanya tidak terlalu bagus.
Dengan tujuan memperbaiki performa mSQL, Monty mencoba menghubungi David
Hughes (programmer yang mengembangkan mSQL) untuk menanyakan apakah ia tertarik
mengembangkan sebuah konektor di mSQL yang dapat dihubungkan dengan UNIREG ISAM
sehingga mendukung indexing. Namun saat itu Hughes menolak, dengan alasan sedang
mengembangkan teknologi indexing yang independen untuk mSQL versi 2.
Dikarenakan penolakan tersebut, David Hughes, TcX (dan juga Monty) akhirnya
memutuskan untuk merancang dan mengembangkan sendiri konsep sistem database baru.
Sistem ini merupakan gabungan dari UNIREG dan mSQL (yang source codenya dapat bebas
digunakan). Sehingga pada May 1995, sebuah RDBMS baru, yang dinamakan MySQL
dirilis.
David Axmark dari Detron HB, rekanan TcX mengusulkan agar MySQL di ‘jual’
dengan model bisnis baru. Ia mengusulkan agar MySQL dikembangkan dan dirilis dengan
gratis. Pendapatan perusahaan selanjutnya di dapat dari menjual jasa “support” untuk
perusahaan yang ingin mengimplementasikan MySQL. Konsep bisnis ini sekarang dikenal
dengan istilah Open Source.
Pada tahun 1995 itu juga, TcX berubah nama menjadi MySQL AB, dengan Michael
Widenius, David Axmark dan Allan Larsson sebagai pendirinya. Titel “AB” dibelakang
MySQL, adalah singkatan dari “Aktiebolag”, istilah PT (Perseroan Terbatas) bagi perusahaan
Swedia.
MySQL
MySQL adalah multiuser database yang menggunakan bahasa structured query language ( SQL ).
MySQL dalam operasi client-server melibatkan serverdaemonMySQL disisi server dan berbagai
macam program serta library yang berjalan disisi client.
Dalam bahasa SQL pada umumnya informasi tersimpan dalam table - tabel yang secara logic
merupakan struktur dua dimensi terdiri dari baris ( row atau record ) dan kolom (column atau field ).
Sedangkan dalam sebuah database dapat terdiri dari beberapa tabel.
Pada saat ini, pengelolaan database dengan menggunakan berbagai jenis perangkat lunak sudah
mempengaruhi kehidupan masyarakat modern. Hal tersebut dapat dilihat dari kegiatan sehari - hari yang
tidak terlepas dari penggunaan database dengan menggunakan DBMS ( DataBase Management
System ).
Manajemen data adalah sekumpulan berbagai disiplin ilmu yang berkaitan untuk mengelola data
sehingga menjadi sumberdaya yang sangat bernilai. Sumberdaya manajemen data adalah pengembangan dan
eksekusi dari arsitektur database, kebijakan, pelatihan dan prosedur yang dikelola secara baik dan secara
menyeluruh untuk kepentingan manajemen data ini adalah :
1. Database : Kumpulan data yang saling berhubungan secara logic, dirancang untuk memenuhi
kebutuhan akan informasi banyak pengguna.
2. Table : Baris-baris data yang berada dalam satu atau lebih kolom.
3. Field : Merupakan kolom yang terdapat di dalam tabel atau disebut jugaattribute.
4. Record : Data yang berada didalamdatabase tersebut.
5. Tuple : Suatu baris dari suatu relasi.
Sebuah system basis data menyediakan dua tipe bahasa yaitu : tipe untuk menspesifikasikan skema
basis data, disebut DDL, dan tipe untuk mengekspresikan queri atau update basis data disebut MDL.
Kelebihan & Kekurangan MySQL
Kelebihan :
Handal, cepat dan mudah digunakan.
Dukungan SQL.
Multiplatform dan portable.
MySQL dapat berjalan stabil pada berbagai sistemoperasi seperti Windows, Linux, FreeBSD,
Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
Perangkat lunak sumber terbuka.
MySQL di distribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL
sehingga dapat digunakan secara gratis.
Multi-user.
MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa
mengalami masalah atau konflik.
‘Performance Tuning'.
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan
kata lain dapat memproses lebih banyak SQL persatuan waktu.
Ragam tipe data.
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed atau unsigned integer,
float, double, char, text, date, timestamp, dan lain-lain.
Perintah dan Fungsi.
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan
Where dalam perintah ( query ).
Kekurangan :
Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, MySQL kurang
support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program
visual tersebut, dan ini yang menyebabkan MySQL jarang dipakai dalam program visual.
Data yang ditangani belum begitu besar.
Kelemahan MySQL dari dulu sampai sekarang itu adalah 'feature-creep', artinya MySQL
berusaha kompatibel dengan beberapa standard serta berusaha memenuhinya.
Sampai sini terdengar bagus, namun kalau diungkapkan kenyataannya bahwa fitur-fitur itu
belum lengkap dan berperilaku sesuai standar.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak
lagi.
2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak
sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna 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. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti
signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang
mendukung perintah Select dan Where dalam perintah (query).
7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask,
nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi
terenkripsi.
8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala
besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5
miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada
tiap tabelnya.
9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan
protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10.Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia
belum termasuk di dalamnya.
11.Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan
bahasa pemrograman dengan menggunakan fungsi API (Application Programming
Interface).
12.Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat
digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada
disertakan petunjuk online.
13.Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya
semacam PostgreSQL ataupunOracle.
Procedure
Procedure Adalah program yang disimpan dalam database seperti halnya data. Hal ini sebenanya cukup tidak umum, karena kita mengharapkan yang disimpan dalam database adalah data bukannya program.
A.Pembahasan tentang Stored Procedure :
1. Adanya dukungan Stored Procedure akan membuat program anda lebih ringkas dan mudah untuk dikembangkan. Dengan stored procedure : algoritma yang lama dimasukkan ke dalam stored procedure di SQL server, disimpan di server (misal dengan nama DoProsesStock). Pada program, cukup ditulis perintah SQL : Exec DoProsesStock StartDate, EndDate . Selanjutnya, SQL Server akan mengeksekusi perintah proses yang anda inginkan. satu kali perubahan proses, akan berlaku untuk semua user yang terhubung ke database, bahkan saat program masih berjalan di tiap komputer user (program tidak perlu dimatikan dulu).
2. Stored procedure akan menyederhanakan perintah SELECT * FROM table yang memang rumit, misal untuk laporan. Perintahnya dan algoritma nya sama dengan yang nomor 1. Bayangkan bila anda harus membuat perintah SELECT dari sebuah tabel, tapi juga diikuti kondisi2 tertentu yang biasanya berhubungan dengan data dari tabel lain.
3. Stored procedure akan membantu anda dalam membuat laporan yang sifatnya analisa data, yang biasanya memerlukan banyak sekali tabel2 pembantu. Stored procedure, dapat membuat tabel temporary yang disimpan sementara di dalam memori server selama proses berlangsung, atau bisa juga selama program connect.
4. Stored procedure mengefisienkan proses, sehingga semua daya hanya akan dipusatkan di komputer server saja. Komputer client dapat berupa pentium 233 MMX, tapi dapat melakukan serangkaian proses yang rumit dan tetap tidak lambat. Karena bukan client yang berpikir, tetapi server yang melakukan pekerjaan, jadi client hanya akan mendapatkan data jadinya saja.
Pembuatan Stored Procedure :
Anda dapat membuat stored procedure dengan program SQl Browser apa saja. bahkan cukup dengan sebuah TMemo, ADOConnection dan ADOQuery, anda sudah dapat membuat form untuk membuat stored procedure. tapi yang paling mudah digunakan adalah Query Analizer dari MS SQL Server.
Syntax yang digunakan adalah :CREATE PROCEDURE nama_stored_procedurenya @parameter1 tipe_data, @parameter2 2 tipe_data AS isi procedurenya.
Penjelasan :
1. nama stored_procedure tidak boleh sama dengan nama fungsi internal, misal CREATE PROCEDURE SUM, tidak boleh ada spasi, tapi bisa menggunakan karakter _
2. Untuk membuat stored procedure gunakan perintah CREATE, untuk mengedit gunakan ALTER , untuk menghapus gunakan DROP.perintah CREATE, ALTER, DROP dapat digunakan juga untuk membuat TABLE, VIEW, TRIGGER, FUNCTION, misal CREATE VIEW, ALTER FUNCTION,dsb
3. SQL Server mengenali parameter/variabel karena ada tanda @, contoh : @nama_barang char(50), @tanggal datetime, dsb
4. Untuk deklarasi parameter di Stored Procedure gunakan DECLAREcontoh : DECLARE @StartDate datetime, @EndDate datetime, dst..
5. Untuk memasukkan nilai ke sebuah parameter, gunakan SET atau SELECT, contoh :SET @nama='Itanium' SET @Web='Klik-kanan' (perintah SET hanya bisa untuk 1 variabel saja)SELECT @nama='Itanium', @Web='Klik-kanan' (perintah SELECT bisa digunakan untuk banyak variabel)
6. Untuk mengambil nilai dari sebuah field dari tabel ke dalam variabel dapat juga menggunakan SET / SELECT , misal : SET @nama= SELECT nama FROM user WHERE login='Itanium') selalu gunakan anda(),perintah ini valid bila data yang ditemukan hanya 1, bila lebih, maka varibale @nama tidak akan ada nilai nya.
7. Untuk mengambil data dalam jumlah banyak, misal seperti array atau StringList, gunakan temporary tabel.untuk pembahasan lebih lengkap, tunggu posting berikut nya.Contoh pembuatan Stored Procedure. Kita akan membuat sebuah Stored procedure yang berfungsi untuk menggantikan perintah SELECT yang rumit, misal untuk laporan stok barang.
Dalam contoh ini ada 3 tabel yang digunakan.1. Barang (IDBarang, NamaBarang, IDSatuan)2. Satuan (IDSatuan, Satuan)3. StockBarang (Tanggal, IDBarang, SAwal,Masuk,Keluar,SAkhir)laporan yang diminta adalah untuk menampilkan stock sesuai dengan periode tertentu (bisa per hari, bisa juga per minggu, tergantung inputan StartDate dan EndDate).SQL untuk pembuatan Stored Procedure nya :
Untuk Pembuatan nya :
CREATE PROCEDURE LapStockBarang1 @StartDate varchar(10), @EndDate varchar(10) ASDECLARE @tgl1 datetime, @tgl2 datetime
CREATE TABLE #TStock (IDBarang varchar(5), SAwal real, Masuk real, Keluar real)CREATE TABLE #TStock2 (IDBarang varchar(5), SAwal real, Masuk real, Keluar real, SAkhir real)
Untuk insert :
SELECT @tgl1= CONVERT(datetime,@StartDate,103), @tgl2=CONVERT(datetime,@EndDate,103)
INSERT INTO #TStock (IDBarang, SAwal)
SELECT (IDBarang, SAwal)
FROM StockBarang
WHERE tanggal= @tgl1
INSERT INTO #TStock (IDBarang, Masuk, Keluar)
SELECT IDBarang, SUM(Masuk), SUM(Keluar)
FROM StockBarang
WHERE tanggal BETWEEN @tgl1 AND @tgl2
GROUP BY IDBarang
Untuk Update :
UPDATE #TStock2 SET SAkhir= SAwal + Masuk - Keluar
SELECT t.*, b.NamaBarang, s.Satuan
FROM #TStock2 AS t, Barang AS b, Satuan AS s
WHERE t.IDBarang=b.IDBarang
ND b.IDSatuan=s.IDSatuan
ORDER BY b.IDBarang
Nah perintah di program cukup seperti ini :
EXEC LapStockbarang '01/01/2005', '31/01/2005'
Daftar Pustaka :
http://ajengpertiwi09.blogspot.com/2014/04/v-behaviorurldefaultvmlo.html
http://id.wikipedia.org/wiki/MySQL
http://fyrmansgithu77746.blogspot.com/2013/05/makalah-tentang-perintah-
perintah-dasar_13.html
http://asdyaniarya.blogspot.com/2013/12/pemrograman-di-function-dan-
procedure_4.html
http://sauri-sofyan.blogspot.com/2010/03/mysqlpengertian-procedure.html