BAB II LANDASAN TEORI
2.1
PROSES MODEL PERANGKAT LUNAK Ada pengakuan yang sedang tumbuh bahwa perangkat lunak, seperti semua
system kompleks yang lain, mencakup lebih dari satu periode waktu [GIL 88]. Kebutuhan bisnis dan produk kadang-kadang berubah seiring berjalannya laju perkembangan kebutuhan bisnis itu sendiri, batas waktu pasar yang ketat menyebabkan perlengkapan produk perangkat lunak yang komperhensif menjadi tidak memungkinkan, perekayasa perangkat lunak membutuhkan sebuah proses model yang sudah dirancang secara eksplisit untuk mengakomodasi produk perkembangan sepanjang waktu, Model sekuensial linier dirancang bagi perkembangan garis lurus. Pada dasarnya pendekatan air terjun (Water Fall) ini mengandaikan bahwa sebuah system lengkap akan disampaikan setelah urutan linier tersebut dilengkapi, Model prototype dirancang untuk mendorong konsumen (pengembang) agar memahami kebutuhan. Secara umum model itu tidak dirancang untuk menyampaikan system produksi.
Sifat evolusioner perangkat lunak tidak
dimasukkan didalam salah satu dari paradigma rekayasa perangkat lunak klasik tersebut. Model evolusioner adalah model interaktif, model itu ditandai dengan tingkah laku yang memungkinkan perekayasa perangkat lunak mengembangkan versi perangkat lunak yang lebih lengkap sedikit demi sedikit, Dalam penelitian ini penulis akan mencoba menggunaka proses model yang evolusioner yang bertujuan supaya dapat memenuhi kebutuhan bisnis seiring perkembangannya. dari tiga Model evolusioner yang ada penulis akan menggunakan model pertambahan atau model inkremental.
5
6 2.1.1 Model Inkremental Model Iteratif dan Inkremental mengidentifikasi resiko pada proyek untuk muncul pada fase-fase awal siklus sehingga bisa dilakukan antisipasi secara tepat waktu dan efisien. Dengan pendekatan ini tim proyek dipaksa untuk menyelesaikan pekerjaan dalam waktu yang bisa diprediksi serta bisa dilakukan pengulangan atas pekerjaan tersebut. Model inkremental menggabungkan elemen-elemen model sekunsial linier (diaplikasikan secara berulang) dengan filosofi prototype interaktif , seperti dapat dilihat pada gambar berikut ini:
Gambar 2.1 Model Inkremental Model inkremental memakai urutan-urutan linier, setiap urutan linier menghasilkan pertambahan,
perangkat
lunak
“yang
bisa
disampaikan”.
Contohnya, perangkat lunak pengola kata yang dikembangkan menggunakan paradigma pertambahan akan menyampaikan manajemen file dasar, editing serta fungsi penghasilan dokumen pada pertambahan pertama; kemudian editing dan kemampuan penghasilan dokumen yang lebih canggih pada pertamban kedua; pengecekan speling dan tata bahasa pertambahan ketiga; serta kemampuan kemampuan mengatur halaman tingkat lanjut pada tahapan keempat. Hasus
7 dicatat bahwa aliran proses untuk berbagai pertambahan tersebut dapat menggabungkan paradigma prototype. Pada saat model ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang digunakan, tetapi beberapa interface tambahan tidak disampaikan. Produk inti tersebut merupakan sebagai hasil evaluasi, maka dikembangkan rencana bagi pertamhan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fiture serta fungsionalitas akan bertambah. Proses ini diulangi mengikuti penyampaian setiap pertambahan sampai bisa mengahasilkan produk yang dapat memenuhi kebutuhan system.
2.2
UNIFIED MODELING LANGUAGE UML (Unified Modeling Language) adalah salah satu alat bantu yang
sangat handal di dunia pengembang system yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang system yang membuat cetak biru atas visi mereka dalam bentuk baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) yang mengkomunikasikan rancangan mereka dengan yang lain. UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Modeling Technique (OMT) dan Object Oriented Software Enginnering (OOSE). Dengan UML ketiga model tersebut digabungkan dengan membuang elemen-elemen yang tidak praktis ditambah dengan elemen-elemen dari metode lain yang lebih efektif dan elemen-elemen baru yang belum ada pada metode terdahulu sehingga UML lebih ekspresif dan seragam dari pada metode lainnya. Gambar berikut adalah unsur-unsur yang membentuk UML.
8
Gambar 2.2 Unsur-unsur pembentuk UML Diproyek perkembangan system apapun, focus utama dalam analisa dan perancangan adalah model. Hal ini berlaku umum tidak hanya untuk perangkat lunak. Dengan model kita bisa merepresentasikan sesuatu karena
Model mudah dan cepat untuk dibuat
Model bisa digunakan sebagai simulasi untuk mempelajari lebih detail tentang sesuatu.
Model bisa dikembangkan sejalan dengan pemahaman kita tentang sesuatu
Kita bisa memberikan penjelasan lebih rinci tentang sesuatu dengan model
Model bisa mewakili sesuatu yang nyata maupun yang tidak nyata
Ada banyak diagram yang disediakan oleh UML untuk mendefinisikan sebuah aplikasi, untuk lebih lengkapnya bisa dilihat pada table bibawah ini: Tabel 2.1 Tipe Diagram UML Diagram Activity Class Communication
Tujuan Perilaku procedural & parallel Class, Fitur dan relasi Interaksi diantara objek. Lebih menekankan ke link Component Struktur dan koneksi dari komponen Composite structure Dekomposisi sebuah class saat runtime
Keterangan Sudah ada di UML 1 Sudah ada di UML 1 Di UML 1 disebut collaboration Sudah ada di UML 1 Baru untuk di UML 2
9 Deployment Interaction Overview Object
Penyebaran / instalasi ke klient Gabungan activity dan sequence diagram Contoh konfigurasi instance
Package
Stuktur hierarki saat kompilasi
Sequence
Interaksi antara obyek. Lebih menekankan pada urutan Bagaimana event mengubah sebuah obyek. Interaksi antar obyek. Lebih menekankan pada waktu Bagaimana User berinteraksi dengan sebuah system
State Machine Timing Use Case
Sudah ada di UML 1 Baru Untuk UML 2 Tidak resmi ada di UML 1 Tidak resmi ada di UML 1 Sudah ada di UML 1 Sudah ada di UML 1 Baru ada di UML 2 Sudah ada di UML 1
Dari sekian banyak diagram yang dimiliki UML, dalam penelitian ini penulis akan mengambil empat diagram yaitu Use Case, Activity, Sequence dan Class diagram. Dengan diagram UML tersebut akan bisa menceritakan apa seharusnya dilakukan oleh sebuah system bukan bagaimana yang seharusnya dilakukan oleh sebuah system.
2.2.1 Use Case Diagram Use case adalah deskripsi fungsi dari sebuah system dari perspektif pengguna (Munawar,2005:63). Usecase bekerja dengan cara mendiskripsikan tipikal interaksi antara user (pengguna) sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan system disebut scenario. Setiap scenario mendiskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, system yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkaian scenario yang digabungkan bersama – sama oleh tujuan umum pengguna. Dalam pembicaraan tentang use case, pengguna biasanya disebut dengan actor. Actor adalah sebuah peran yang dimainkan oleh pengguna dalam interaksinya denga system. Use case memberikan spesifikasi fungsi-fungsi yang ditawarkan oleh system dari perspektif user. Diagram use case menunjukan 3
10 aspek dari system yaitu actor, use case dan system/sub system boundary. Actor mewakili peran orang, system yang lain atau alat ketika berkomunikasi dengan use case. Berikut gambar yang mengilustrasikan antara ketiganya.
Gambar 2.3 Use Case Model Untuk mengidentifikasi actor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkaitan dengan peran pada konteks target system. Actor merupakn abstraction dari orang dan system yang lain yang mengaktifkan fungsi dari target system. Orang atau system bisa muncul beberapa peran. Perlu dicatat bahwa actor berinteraksi dengan use case, tetapi tidak memiliki control atas use case. Use case merupakan absktraksi dari interaksi antara system dan actor, oleh karena itu sangat penting untuk memilih abstraksi yang cocok. Sebuah model khusus yang terbatas untk kondisi tertentu disebut dengan stereotype, untuk menunjukan stenotype digunakan symbol “<<” diawalnya dan ditutup “>>” diakhirnya. <<extend>> digunakan untuk menunjukan bahwa satu use case merupakan tambahan fungsional dari use case yang lain jika kondisi atau syarat tertentu dipenuhi. Sedangkan <
> digunakan untuk menggambarkan bahwa suatu use case seluruhnya merupakan fungsionalitas dari use case lainnya. Biasanya <> digunakan untuk menghindari pengcopian suatu use case karena sering dipakai. Untuk lebih jelasnya bisa dilihat diagram use case system restoran pada gambar dibawah ini
11
Gambar 2.4 Contoh Use Case 2.2.2 Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaanya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa. Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan activity diagram. Tabel 2.2 Simbol-Simbol Activity Diagram Symbol
Keterangan Titik awal Titik akhir Activity Pilihan untuk mengambil keputusan
12 Fork; digunakaan untuk menunjukan kegiatan yang dilakukan secara pararel untuk menggabungkan dua kegiatan pararel menjadi satu Rake; menunjukan adanya dekomposisi
Tanda waktu Tanda pengiriman Tanda pemerimaan Aliran akhir
Contoh sederhana activity diagram bisa dilihat pada gambar berikut ini.
Gambar 2.5 Contoh Activity Diagram
13 Dari gambar tersebut dapat dilihat pengisian order dan pengiriman invoice terjadi secara pararel, intinya tidak ada masalah mengenai mana yang yang lebih terdahulu harus diselesaikan. Kondisi pararel jelas membutuhkan singkronisasi. Pada kasus diatas, order tidak akan ditutup sampai barang yang dikirim dan dibayar. Activity diagram menunjukan apa yang terjadi, tetapi tidak menunjukan siapa yang melakuakan apa. Dalam pemograman hal tersebut tidak menunjukan class dimana yang bertanggung jawab atas setiap action. Pada pemodelan proses bisnis, hal tersebut tidak bisa menunjukan organisasi mana yang menjalankan sebuah action. Hal tersebut sebenarnya tidakla penting, karena biasanya orangorang lebih berkonsentrasi pada apa yang sudah dilakukan daripada apa/siapa yang melakukan apa. Jika dingingkan activity diagram bisa dibagi dalam partision untuk menunjukan siapa melakukan apa. Pada UML versi 1 hal ini disebut Swim Lane. Berikut contoh penerapan partition pada kasus diatas.
Gambar 2.6 Contoh Activitity Diagram Swim Lane
14 2.2.3 Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukan sejumlah contoh obyek dan message (pesan) yang diletakan diantara obyek-obyek ini didalam use case. Komponen utama dalam sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu ditunjukan dengan progress vertical. Obyek / participant diletakan didaerah bagian atas diagram dengan urutan dari kiri ke kanan. Mereka diatur dalam urutan guna menyederhanakan diagram. Pengertian obyek hanya ada di UML 1, sedangakan di UML 2 istilah obyek diganti dengan participant. Setiap participant terhubung dengan garis titik-titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut activation. Activation mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini berbanding lurus dengan durasi activation.
Gambar 2.7 participant pada sebuah sequence diagram Sebuah message bergerak dari satu participant ke participant yang lain dan dari satu lifeline ke lifeline yang lain. Sebuah participant bisa mengirim sbuah massage kepada dirinya sendiri. Sebuah message bisa jadi sample, synckronus atau asynckronus. Massage yang simple adalah sebuah perpindahan (transfer) control dari satu participant ke participant yang lain. Berikut symbol untuk massage yang simple, synchronus dan asynchronous
Gambar 2.8 symbol-simbol masssage
15 Untuk lebih jelasnya mengenai sequence diagram dapat dilihat pada gambar berikut ini
Gambar 2.9 Sequence Diagram Pada gambar diatas menunjukan esensi symbol dari sequence diagram dan symbol kerjanya secara bersama-sama. Participant disebelah atas. Setiap lifeline menggambarkan garis putus-putus yang menurun dari participant. Garis yang solid dengan tanda panah menghubungkan antara satu lifeline dengan lifeline yang lain dengan mewakili sebuah massage dari satu participant ke participant yang lain. Dari gambar tersebut terlihat sebuah actor menginisialisasi sequence diagram meskipun actor bukan bagian dari sequence diagram. Sequence diagram digunakan ketika ingin mengeatahui perilaku beberapa obyek pada use case tunggal. Sequence diagram bagus dalam menunjukan kaloborasi diantara obyek, namun tidak begitu bagus dalam memberikan definisi yang pasti dari perilaku tersebut. Untuk melihat perilaku suatu obyek pada banyak use case akan lebih baik jika menggunakan state machine diagram, akan tetapi untuk melihat perilaku terhadap banyak use case atau banyak thread, perlu dipertimbangkan untuk menggunakan activity diagram.
16 2.2.4 Class Diagram Diagram kelas adalah diagram UML yang menggambarkan kelas-kelas dalam sebuah sistem dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi. Class dalam nitasi UML digambarkan dengan kotak. Nama class digunakan huruf besar
diawal kalimatnya dan
diletakkan diatas kotak. Bila class mempunyai nama yang terdiri dari 2 suku kata atau lebih, maka semua suku kata di gabungkan tanpa spasi dengan huruf awal tiap suku kata menggunakan huruf besar.
Gambar 2.10 Notasi Class
Property dari sebuah Class adalah Attribute. Yang dapat melukiskan batas nilai yang mungkin ada pada obyek dari class. Sebuah class mempunyai nol atauu lebih attribute. Secara konvensi, jika nama attribut terdiri atas satu suku kata, maka ditulis dengan huruf kecil. Akan tetapi jika nama atrribute menggunakan lebih dari satu suku kata maka semua suku kata digabungkan dengan suku kata pertama menggunkan huruf kecil dan awal suku kata berikutan menggukan huruf besar.
Gambar 2.11 Class dan Attribute
UML memberikan pilihan untuk memberikan informasi tambahan untuk attribute. Tipe dari sebuah attribute bisa ditambahan disini. Tipe-tipe yang mungkin ditambahkan diantaranya string, floating-point number, integer dan
17 Bolean. Untuk menunjukan tipe gunakan titik dua (:) untuk memisahkan nama attribute dan tipe. Nilai default sebuah atrribute bisa juga ditambahkan jika digunakan
Gambar 2.12 Attribute Menunjukan Tipe Nilai Sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakuakan oleh sebuah class adalah operation. Sepertihalnya attribute, nama operation juga menggunakan huruf kecil semua jika lebih dari satu suku kata maka semua suku kata digabungkan dengan suku kata pertama huruf kecil dan huruf awal tiap suku kata berikutnya denganhuruf besar.
Gambar 2.13 Operation Pada Sebuah Class
2.3
BASIS DATA Basis data adalah kumpulan data (elementer) yang secara logik berkaitan
dalam mepresentasikan fenomena / fakta secara terstuktur dalam domain tertentu untuk mendukung aplikasi pada sistem tertentu. Basis data adalah kempulan data
18 yang saling berhubungan yang merefleksikan fakta-fakta yang terjadi di organisasi (Bambang Heriyanto, 2004 :4). Definisi basis data (database) sangatlah bervariasi. Basis data dapat dianggap sebagai kumpulan data yang terkomputerisasi, diatur dan disimpan menurut salah satu cara yang memudahkan pengambilan kembali. Secara sederhana basis data dapat diungkapkan sebagai suatu pengorganisasian data dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan cepat. Tujuan awal dan utama dalam pengolahan data pada sebuah basis data adalah agar dapat menentukan kembali data (data yang dicari) dengan mudah dan cepat. Di samping itu, pemanfaatan data untuk pengolahan data juga memiliki tujuan-tujuan tertentu. Secara lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan sebagai berikut : a. Kecepatan dan kemudahan (Speed) Pemanfaatan basis data memungkinkan untuk dapat menyimpan data atau melakukan perubahan/manipulasi terhadap data atau menampilkan kembali data tersebut dengan cepat dan mudah. b. Efesiensi ruang penyimpanan (Space) Penggunaan ruang penyimpanan di dalam basis data dilakukan untuk mengurangi jumlah redundansi (pengulangan) data, baik dengan melakukan penerapan sejumlah pengkodean atau dengan membuat relasi-relasi (dalam bentuk file) antar kelompok data yang saling berhubungan. c. Keakuratan (Accuracy) Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan tipe data, domain data, keunikan data dan sebagainya dan diterapkan dalam basis data, sangat berguna untuk menentukan ketidakakuratan pemasukan atau penyimpanan data.
19 d. Ketersediaan (Availability) Pertumbuhan data (baik dari jumlah maupun jenisnya) sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. Data yang sudah jarang atau bahkan tidak pernah lagi digunakan dapat diatur untuk dilepaskan dari sistem basis data dengan cara penghapusan atau dengan memindahkannya ke media penyimpanan. e. Kelengkapan (Completeness) Lengkap atau tidaknya data yang dikelola bersifat relatif baik terhadap kebutuhan pemakai maupun terhadap waktu. Dalam sebuah basis data, struktur dari basis data tersebut juga harus disimpan. Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, maka tidak hanya menambah record-record data, tetapi juga melakukan penambahan struktur dalam basis data. f. Keamanan (Security) Sistem keamanan digunakan untuk dapat menentukan siapa saja yang boleh menggunakan basis data dan menentukan jenis operasi apa saja yang boleh dilakukan. g. Kebersamaan pemakai Pemakai basis data sering kali tidak terbatas hanya pada satu pemakaian saja atau oleh satu sistem aplikasi saja. Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser, akan dapat memenuhi kebutuhan ini, tetapi dengan menjaga/menghindari terhadap munculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat bersamaan).
2.4
PENGENALAN VISUAL BASIC Visual Basic adalah salah suatu developement tools untuk membangun
aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialek bahasa Basic yang
20 cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer. Dalam lingkungan Window's User-interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan. Pada pemrograman Visual, pengembangan aplikasi dimulai dengan pembentukkan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up. Visual Basic yang merupakan Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface, melakukan koding, melakukan testing dan debuging serta menkompilasi program menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu programmer dalam mengefektifkan tugastugasnya sehingga dapat bekerja dengan efisien. Salah satu cara untuk mengaktifkan IDE Visual Basic adalah menjalankannya dari Menu Start, pilih menu Command, dan pilih Microsoft Visual Basic 6.0 dan akhirnya Microsoft Visual Basic 6.0.
Gambar 2.14 Mengaktifkan IDE Visual Basic 6.0
21 IDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama jendela yang dapat tampil pada IDE Visual Basic.
Gambar 2.15 IDE Visual Basic dengan jendela-jendela yang terbuka
2.4.1 VSFlexGrid Component One Pada aplikasi ruang kelas ini penulis akan menggunakan VSFlexGrid dari Component One sebagai tool tambahan untuk mendesign tampilan data agar tampilan lebih menarik dan mudah untuk di olah. Component One adalah tools OCX tambahan untuk para developer yang umumnya developer visual studio, yang penulis gunakan sekarang adalah component one untuk visual studio 6. VSFlexGrid adalah ocx untuk menampilkan data, dimana VB6 menyediakan datagrid untuk melakukan tugas tersebut. ada
22 beberapa kelebihan yang ada pada VSFlexGrid dibandingkan dengan datagrid yang ada di visual basic 6 adalah : a. Adanya teknik pewarnaan selang seling memudahkan untuk membaca data. b. Kemungkinan untuk dapat mengubah susunan kolom, tentu ini juga diperlukan untuk mempermudah user. c. Penyortiran dengan cara mengklik judul kolom, kita sudah dapat menghasilkan sortir dengan cara ascending ataupun descending. d. Dengan VSFlexGrid, tidak perlu lagi tabel sementara yang selama ini kita kenal dengan dummy. Dengan VSFlexGrid semua data bisa disimpan sementara tanpa mengenal banyaknya user.
Sebagai tambahan, beberapa atribut yang ada pada OCX ini adalah :
Row adalah untuk mengetahui posisi row mana.
Rows menunjukan banyaknya row pada grid.
Textmatrix untuk menyimpan data dalam grid
2.5
MySQL MySQL pertama kali dirintis oleh seorang programmer database bernama
Michael widenius, MySQL adalah suatu Relational database management system (RDBMS) yang mendukung database yang terdiri dari sekumpulan relasi atau table (Karisman Peranginangin 2006:381). MySQL berjalan sebagai server yang menyediakan akses multiuser pada database dan mendukung penggunaan Structure Query Language (SQL) untuk mengakses database. MySQL memiliki dua bentuk lisensi, yaitu free software dan shareware. Penulis sendiri menggunakan MySQL yang free software karena bebas menggunkan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensi, yang berada di bawah lisensi GNU/GPL (general public license), yang dapat didownload pada alamat resminya http://www.mysql.com, MySQL pertama kali di rilis pada 23 May 1995. MySQL dikembangkan, didistribusikan dan didukung oleh MySQL AB, suatu perusahaan bersifat
23 komersil yang didirikan oleh pengembang MySQL. Ketika tugas akhir ini ditulis, versi terakhir dari MySQL adalah versi 5.5.16 yang dirilis pada 15 September 2011. MySQL merupakan database yang paling popular digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengolahan datanya. Kepopuleran MySQL dimungkinkan karena kemudahan untuk digunakan, cepat secara kinerja query, dan mencukupi untuk kebutuhan database perusahan-perusahaan sekala menengah kecil. MySQL merupakan database yang digunakan oleh situs-situs terkemuka di internet untuk menyimpan datanya. Berikut ini adalah fitur-fitur penting yang dimiliki oleh MySQL: a.
Ditulis dengan menggunakan bahasa pemrograman C dan C++.
b.
Bekerja pada platform yang berbeda-beda, misalnya Linux, Windows, Unix, dan lain-lain.
c.
Fungsi SQL diimplementasikan menggunakan class library yang memiliki optimasi yang tinggi dan bekerja sangat cepat.
d.
MySQL dapat digunakan dalam lingkungan client/server dan juga dapat digunakan dalam aplikasi yang berdiri sendiri (standalone).
e.
Mendukung multi-threaded secarah penuh dan bisa menggunakan multi CPU jika tersedia.
f.
MySQL menyediakan driver database MyODBC yang memungkinkan pengembang aplikasi mengakses database MySQL melalui ODBC (Open Database Connectivity). Ketika dibandingkan antara MySQL dengan system manajemen database
yang lain, perlu diperhitungkan apa yang penting untuk diketahui. Seperti performa, support, fitur-fitur SQL, kondisi keamanan dalam lisensi atau masalah harga. Dengan pertimbangan tersebut database MySQL memiliki beberapa kelebihan dan keuntungan disbanding database lain, diantaranya adaalah a. Banyak ahli berpendapat MySQL merupakan server tercepat.
24 b. MySQL merupakan system manajemen database yang open source (kode sumbernya terbuka), yaitu software ini bersifat free atau bebas digunakan oleh perseorangan atau instansi tanpa harus membeli atau membayar kepada pembuatnya. c. MySQL mempunyai performa yang tinggi tapi simple d. Database MySQL mengerti bahasa SQL (Sturcture Query Language). e. MySQL dapat diakses melalui protocol ODBC (Open Database Connectivity) buatan Microsoft. Ini menyebabkan MySQL dapat diakses oleh banyak software termasuk Visual Basic yang di gunakan penulis. f. Semua client dapat mengakses server dalam satu waktu, tanpa harus menunggu yang lain mengakses database g. Databse MySQL dapat diakses dari semua tempat di internet dengan hak akses tertentu. h. MySQL merupakan database yang mampu menyimpan data berkapasitas besar, sampai berukuran gigabyte. i.
MySQL dapat berjalan di berbagai operating system seperti Linux, Windows, Solaris, dan lain-lain
2.5.1 Join Tabel Kemampuan untuk mengakomodasi join bisa dibilang merupakan fitur utama MySQL. Karena itu, sangat penting bagi penulis untuk membuat sebuah perintah select yang mengandung join. MySQL adalah database relasional, artinya satukelompok atau record data dapat dibagi kedalam beberapa tabel. Namun, pemisahan tersebut nantinya harus bisa digabungkan kembali sehingga pemisahannya haruslah secara logis. Karena itulah ada “hubungan khusus” antara tabel-tabel agar nantinya bisa digabungkan lagi. Misalnya, tabel siswa akan berikatan dengan tabel pelajarab dan tabel KRS. Dengan menyimpan informasi kedalam tempat yang berbeda, ada keuntungannya yang akan diperoleh, yaitu minimalisasi atau penghindaran dari data yang ganda atau duplikat. Untuk membuat semua itu digunakanlah join. Join adalah kegiatan penggabungan dua buahtabel dimana penggabungannya bersifat relevan, artinya ada hubungan antara nilai di kolom yang dipilih. Join tabel
25 menghasilkan data, dimana data tersebut hanya ada secara trmporer, selama query dijalankan. Adabeberapa perintah join. a. Cross-Join Cross-join antar dua tabel adalah mengambil data dari baris data dalam tabel 1 dan menggabungkannya dengan setiap baris-baris data dari tabel 2. Untuk melakukannya, gunakan format perintah berikut. SELECT * FROM tabel1 CROSS JOIN tabel2 b. Straight-Join Straight join adalah salah satu operator yang menjoinkan tabel. Fungsi straigh join hampir sama dengan fungsi cross join, hanya saja pada straight join tidak bisa diberikan klausa where SELECT * FROM matakuliah STRAIGHT JOIN jadwal c. Inner Join Inner joinprinsipnya sama dengan cross join yang dapat memakai fungsi WHERE, hanya saja pada inner join fungsi WHERE digantikan ON. Kata kunci inner join terletak setelah clausa FROM
dan sebelum filter jika
memang ada filter. Ketika menggunakan join, hubungan antara tabel didefinisikan setelah kata kunci ON, bukan WHERE. Karena itulah syntax untuk join biasanya lebih panjang, tetapi juga lebih muda terbaca karena kata WHERE hanya digunakan untuk menfilter hasil pengambilan datanya saja. Berikut contoh syntaxnya: SELECT * FROM matakuliah INNER JOIN jadwal ON matakuliah.kode_mk = jadwal.kode_mk d. Left Join Seandainya ingin menampilkan dua tabel, tabelpertam bisa dibilang dengan tabel kiri (left) dan tabel kedua sebagai tabel (right). Dengan menggunakan join left ini, operation left join menampilkan seluruh data pada tabel kiri.
26 Apabila salahsatu kolom anggota pada kolom kanan tidak memiliki hubungan dengan tabel kiri, data tabel kanan akan berisi null. Jika null tersebut berati tidak ada relasi antara tabel kanan dan kiri, untuk lebih jelas berikut perintah syntaxnya. SELECT * FROM matakuliah LEFT JOIN jadwal ON matakuliah.kode_mk=jadwal.kode_mk e. Right Join Right join merupakan kebalikan left join. Pada right join data yang berada pada tabel kedua (RIGHT) akan ditampilkan semua. Apabila pada tabel pertama (LEFT) tidak ada relasi pada tabel kedua, akan diisi data kosong atau NULL. Berikut sintaxnya. SELECT * FROM jadwal RIGHT JOIN matakuliah ON matakuliah.kode_mk = jadwal.kode_mk
2.5.2 Menghubungkan Database MySQL dengan Visual Basic Untuk menghubungkan database MySQL dengan Visual Basic dapat digunakan beberapa cara, dengan connectionstring MySQL ODBC versi 3.5.1 dan MySQL ODBC versi 5.1, dalam kasus ini penulis menggunakan MySQL ODBC versi 5.1, Berikut beberapa sintax koneksi database mysql dengan driver ODBC. MySQL Connector/ODBC 5.1 Type ODBC Driver Usage Driver={MySQL ODBC 5.1 Driver} Manufacturer MySQL
Local database Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=RuangKelas; User=root;Password=myPassword;Option=3; Remote database Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=RuangKelas;User=root; Password=myPassword;Option=3;
27 Specifying TCP/IP port Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=RuangKelas;User=root; Password=myPassword;Option=3; Default untuk nilai port 3306, tidak ditentukan dalam connection string, karena 3306 adalah port default untuk MySQL. Specifying character set Driver={MySQL ODBC 5.1 Driver};Server=localhost;charset=UTF8;Database=RuangKelas;User=root; Password=myPassword;Option=3;