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 ti dak 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 tert arik 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 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 MyS QL dal dalam am ope opera rasi si cl clie ient nt-s -ser erve verr mel meliba ibatka tkan n ser server verdae daemon monMy MySQL SQL disi disisi si server server dan dan ber berbag bagai ai macam program serta library yang berjalan disisi client. Dalam bahasa SQL pada umumnya informasi tersimpan dalam table - tabel yang secara logic merupak meru pakan an struktu strukturr dua dimensi dimensi terdiri terdiri dari dari baris ( ro row w atau atau re reco cord rd ) dan kolom (colum (column n at atau au fi fiel eld d ). Sedangkan dalam sebuah database dapat terdiri dari beberapa tabel. Pada saat ini, pengelolaan database dengan menggunakan berbagai jenis perangkat lunak sudah mempengaruhi mempeng aruhi kehidup kehidupan an masyarakat masyarakat modern. Hal tersebut tersebut dapat dapat dilihat dilihat dari dari kegiatan kegiatan seh ehar arii - ha hari ri ya yang ng tidak ti dak te terl rlep epas as da dari ri pe peng nggun gunaa aan n dat datab abase ase denga dengan n menggu menggunak nakan an DBMS DBMS ( Da Data taBa Base se Manage Managemen mentt 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. Da Dattab abas asee
: Kumpulan Kumpulan data yang saling berhubu berhubungan ngan secara logic, dirancan dirancang g untuk memenuh memenuhii kebutuhan akan informasi banyak pengguna.
2. Table
: Baris-baris data yang berada dalam satu atau lebih kolom.
3. Fi Fiel eld d
: Meru Merupaka pakan n kolo kolom m ya yang ng terda terdapat pat di dala dalam m tabe tabell atau dise disebut but jug jugaat aattr trib ibut ute. e.
4. Record
: Data yang berada didala didalamda mdata taba base se terse tersebut. but.
5. Tuple
: Suatu baris dari suatu relasi. Sebuah system basis data menyediakan dua tipe bahasa yaitu : tipe untuk menspesifikasikan skema
bas b asis is dat ataa, dis iseebut DDL, dan ti tip pe untu tuk k mengek eksp sprres esik ikaan queri at ataau update basi siss 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 dist ribusikan 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 mempros memproses es lebih l ebih banyak SQL persa pe rsatu tuan an wa wak ktu tu..
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. 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 sebagai perangkat lunak sumber terbuka, dibawah terbuka, dibawah lisensi GPL 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-lai n. 6. Perintah dan Fungsi . MySQL memiliki operator dan fungsi secara sec ara penuh yang mendukung perintah Select dan Where dalam perintah ( query). 7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, level subnetmask, nama host, nama host, dan dan izin akses user dengan dengan sistem perizinan yang mendetail serta sandi terenkripsi. 8. Skalabilitas dan Pembatasan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih (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, protokol TCP/IP, Unix Unix soket (UNIX), (UNIX), atau Named atau Named Pipes (NT). (NT). 10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan kesal ahan 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 menggunakan fungsi API fungsi API (Application Programming Interface). 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang (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 semacam PostgreSQL ataupunOracle. 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 l ebih 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 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. St ored 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 @parameter2 2 tipe_data AS isi procedurenya.
@parameter1
tipe_data,
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 DECLARE contoh : DECLARE @StartDate datetime, @EndDate datetime, dst.. 5. Untuk memasukkan nilai ke sebuah parameter, paramete r, 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) AS DECLARE @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= @tgl2=CONVERT(datetime,@EndDate,103)
CONVERT(datetime,@StartDate,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