Friday 26 April 2013

Aplikasi Daerah Wisata Solo untuk Windows Phone

Beberapa minggu yang lalu saya mendapatkan tugas untuk membuat sebuah aplikasi  Windows Phone dengan menggunakan Microsoft Visual Studio for Windows Phone 2010. Dengan judul aplikasi yang telah ditentukan oleh dosen yang bersangkutan, akhirnya saya memilih untuk membuat aplikasi Daerah Wisata Solo.

Aplikasi ini, saya buat denga sederhana. Hanya menginformasikan daerah-daerah wisata yang ada di Solo, lengkap dengan alamat dan juga harga tiket masuk ke daerah wisata tersebut (jika berbayar). Dan tampilan aplikasi yang berhasil saya buat antara lain : 



 




Thursday 18 April 2013

MySQL



 
1.        Pengertian MySQL
MySQL adalah sebuah perangkat lunak yang bersifat open source dan dapat digunakan di semua platform baik Linux maupun windows yang digunakan untuk membuat database.  MySQL adalah RDBMS (Relational DataBase Management System) yaitu suatu program yang melayani sistem basis data yang entitas utamanya terdiri dari tabel-tabel yang mempunyai relasi atau hubungan dari satu tabel ke tabel yang lain.  MySQL didistribusikan secara gratis dibawah lisensi GPL (General Public License) dimana setiap orang bebas menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersil.

2.        Sejarah Perkembangan MySQL
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.
MySQL memiliki sejarah yang menarik. Kembali ke tahun 19791, Michael “Monty” Widenius menciptakn sebuah sistem database bernama UNIREG untuk perusahaan Swdia TcX.  Lalu kemudian, untuk menyesuaikan dengan kebutuhan teknologi, Widenius memutuskan untuk membuat server database baru. Akhirnya sistem ini bisa selesai dan dirilis ke kelompok kecil pada bulan Mei 1996, dengan nama MySQl 1.0. 
MySQL terus mengalami perkembangan, beberapa bulan kemudian, MySQL 3.11 rilis publik pertama berbentuk distribusi biner untuk Solaris. Berikutnya diikuti segera oleh source dan binaries Linux, sebuah komunitas pengembang yang antusias dan bersahabat, ditambah dengan kebijakan perizinan berbasis GPL. Seperti MySQL yang tumbuh popular, TcX berubah menjadi MySQL AB, yang merupakan sebuah perusahaan swasta yang saat ini merupakan pemilik tunggal dari source code dan merk dagang MySQL.  MySQL AB bertanggung jawab untuk pemeliharaan, pemasaran, dan pengembangan lebih lanjut dari server database MySQL dan produk terkait. Saat ini, MySQL tersedia untuk berbagai platform, termasuk Linux, MacOS, dan Windows.
Pada tanggal 16 Januari 2008 Sun Microsystems, Inc mengumumkan aksi korporasi - akuisisi terhadap MySQL AB sehingga menjadikan Sun sebagai salah satu perusahaan dengan produk platform open source terbesar seperti Java, OpenSolaris dan akhirnya MySQL.  Berselang setahun kemudian, tepatnya pada tanggal 20 April 2009 giliran Oracle melakukan akusisi terhadap Sun Microsystems.
Meskipun sudah beberapa kali mengalami akuisis, MySQL terus membuat pengembangan versi, mulai sdari MySQL versi 5.0, 5.1, 5.5 hingga 5.6 yang baru saja dirilis tanggal 18 April 2013 kemarin.  Berikut sejarah perkembangan MySQL dari versi yang lama hingga terbaru.
Versi 5.0
Versi 5.1
Versi 5.5
Versi 5.6
·         5.0.5.0.21
·         5.0.15
·         5.0.15a
·         5.0.16
·         5.0.16a
·         5.0.17
·         5.0.17a
·         5.0.18
·         5.0.19
·         5.0.20
·         5.0.20a
·         5.0.21
·         5.0.22
·         5.0.23
·         5.0.24
·         5.0.24a
·         5.0.27
·         5.0.33
·         5.0.37
·         5.0.41
·         5.0.45
·         5.0.45b
·         5.0.51a
·         5.0.51b
·         5.0.67
·         5.0.75
·         5.0.77
·         5.0.81
·         5.0.82
·         5.0.83
·          5.0.84
·         5.0.85
·         5.0.86
·         5.0.87
·         5.0.88
·         5.0.89
·         5.0.90
·         5.0.91
·         5.0.92
·         5.0.95
·         5.0.96
·       5.1.5a
·       5.1.23a
·       5.1.30
·       5.1.31
·       5.1.32
·       5.1.33
·       5.1.34
·       5.1.35
·       5.1.36
·       5.1.37
·       5.1.38
·       5.1.39
·       5.1.40
·       5.1.41
·       5.1.42
·       5.1.43
·       5.1.44
·       5.1.45
·       5.1.46
·       5.1.47
·       5.1.48
·       5.1.49
·       5.1.50
·       5.1.51
·       5.1.52
·       5.1.53
·       5.1.54
·       5.1.55
·       5.1.56
·       5.1.57
·       5.1.58
·       5.1.59
·       5.1.60
·       5.1.61
·       5.1.62
·       5.1.63
·       5.1.65
·       5.1.66
·       5.1.67
·       5.1.68
·       5.5.31 (2013-04-18)
·       5.5.30 (2013-02-05)
·       5.5.29 (2012-12-21)
·       5.5.28 (2012-09-28)
·       5.5.27 (2012-08-02)
·       5.5.25a (2012-07-05)
·       5.5.25 (2012-05-30)
·       5.5.24 (2012-05-07)
·       5.5.23 (2012-04-12)
·       5.5.22 (2012-03-21)
·       5.5.21 (2012-02-17)
·       5.5.20 (2012-01-10)
·       5.5.19 (2011-12-08)
·       5.5.18 (2011-11-16)
·       5.5.17 (2011-10-19)
·       5.5.16 (2011-09-15)
·       5.5.15 (2011-07-28)
·       5.5.14 (2011-07-05)
·       5.5.13 (2011-05-31)
·       5.5.12 (2011-05-05)
·       5.5.11 (2011-04-07)
·       5.5.10 (2011-03-15)
·       5.5.9 (2011-02-07)
·       5.5.8 (2010-12-03)
·       5.5.7 (2010-10-14)
·       5.5.6 (2010-09-13)
·       5.5.5 (2010-07-06)
·       5.5.4 (2010-04-09)
·       5.5.3 (2010-03-24)
·       5.5.2 (2010-02-12)
·       5.5.1 (2010-01-04)
·        5.5.0 (2009-12-07)
·         5.6.11 (2013-04-18)
·         5.6.10 (2013-02-05)
·         5.6.9 (2012-12-11)
·         5.6.8 (2012-11-07)
·         5.6.7 (2012-09-29)
·         5.6.6 (2012-08-07)
·         5.6.5 (2012-04-10)
·         5.6.4 (2011-12-20)
·         5.6.3 (2011-10-03)
·         5.6.2 (2011-04-11)
                             
3.         Perintah-Perintah MySQL
Terdapat 3 jenis perintah MySQL, yaitu:
a.         DDL atau Data Definition Language
DDL merupakan perintah SQL yang berfungsi untuk mendefinisikan suatu struktur database, dalam hal ini database dan tabel. Beberapa perintah dasar yang termasuk dalam DDL ini adalah:
·         CREATE    :  Membuat tabel atau database baru.  Contoh:
Membuat database :  CREATE DATABASE namadatabase;
Membuat Tabel :             CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2,
PRIMARY KEY(Field1)
);
·         ALTER       :  Mengubah struktur tabel. Contoh:
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (namakolom);
·         DROP        :  Menghapus tabel atau database. Contoh:
DROP TABLE namatabel;

b.         DML atau Data Manipulation Language
DML adalah kelompok perintah SQL yang berfungsi untuk memanipulasi data dalam basis data. Perintah SQL yang termasuk didalamnya antara lain:
·         SELECT         :  Memilih baris dan kolom pada tabel. Contoh:
SELECT * FROM namatabel;
·         INSERT        :  Menambahkan basis pada tabel.  Contoh:
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
·         UPDATE      :  Mengubah nilai pada suatu baris.  Contoh:
UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 WHERE kondisi;
·         DELETE        :  Menghapus baris pada tabel. Contoh:
DELETE FROM namatabel WHERE kondisi;

c.          DCL atau Data Control Language
DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (previledges).  Perintah SQL yang termasuk dalam DCL adalah:
·         GRANT                  :  Menugaskan hak terhadap basis data kepada pengguna.
·         REVOKE                                :  Membatalkan hak terhadap basis data.
Berikut ini perintah GRANT dan REVOKE secara sederhana:
GRANT priv_type
ON {tbl_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[WITH GRANT OPTION]

REVOKE priv_type
ON {tbl_name | * | *.* | db_name.*}
FROM user_name

Berikut ini pilihan untuk priv_type dalam bentuk umum perintah GRANT dan REVOKE di atas:

ALL PREVILEDGES
ALTER
CREATE
DELETE
DROP
FILE
INDEX
INSERT
PROCESS
REFERENCES
RELOAD
SELECT
SHUTDOWN
UPDATE
USAGE


Perintah GRANT dan REVOKE dapat digunakan untuk membuat user baru maupun mengatur hak akses user yang sudah ada dengan hak akses (privileges ) tertentu. Tingkatan hak akses user dapat terbagi menjadi tingkatan global (tersimpan di tabel mysql.user), database (tersimpan di tabel mysql.host dan mysql.db), tabel (tersimpan di tabel mysql.tables_priv) dan kolom (tersimpan di tabel mysql.columns_priv).
Setiap perubahan hak akses di MySQL,termasuk menambahkan user baru, tidak akan berlaku sebelum diakhiri dengan perintah FLUSH PRIVILEGES.