DAFTAR PUSTAKA Budiharto,Widodo. Visual Basic. Net 2005. Yogyakarta : CV.Andi Offset (Penerbit Andi), 2006. Clark, Daniel R. Beginning Object-Object Programing With VB 2005, New York : Springer-Verlag New York, Inc, 2006. Dubois, Paul. MYSQL Administrator Guide. MySQL Press Trus Vaswani, 2004. Dharwiyanti, Sri. Pengantar Unified Modeling Language, Ilmu Komputer.com, Jakarta, 2003. Lhotka, Rockford. Expert VB 2005 Business Object Second Edition, New York : Springer-Verlag New York, Inc, 2006. Michael dan David Axmark. MySQL Feference Manual, Mysql AB, 1997-2004. Raharjo, Willy Sudiarto dan Wikan, Aditya Mahastama. Pemodelan Sistem Perangkat Lunak, Universitas Duta Wacana, Yogyakarta, 2006. Suyanto, Asep Hermawan. Basisdata dan DBMS, Universitas Gajah Mada, Yogyakarta, 2004. Vikram dan Pamela Smith. MySQL: The Complete Reference, The Mcgraw-hill companies Trus Widenius, 2002. Yuliana, Yenti dan Tarigan, Josua. QUERY BY EXAMPLE: ALTERNATIF AUDIT TOOLS UNTUK MENUNJANG PENUGASAN AUDITOR DALAM PENGUJIAN SUBSTANTIF, Surabaya : Universitas Kristen Petra Surabaya. Zafina, Lidiya Iin dan Rianto, Yasman, Perancangan Simulasi Media Antarmuka Komputer, Jakarta: Universitas Gunadarma, 2006
LAMPIRAN A USER MANUAL 1. Membuka apilkasi visualisai query ini dengan cara masuk Pilih shortcut aplikasi visualisa query 2. Setelah membuka apilikasi ini maka harus melakukan login basisdata dengan cara input nama server basisdata dan kata kunci basisdata tersebut 3. Setelah login basisdata berhasil maka harus dilakukan pemilihan nama basisdata yang akan dimanipulasi dengan cara memilih pada daftar basisdata seperti gambar berikut 4. Langkah selanjutnya setelah pilih basisdata dapat dilakukan pemilihan tabeltabel yang akan di manipulasi pilih tabel dapat dilakukan dengan meng click icon Pilih Tabel 5. Bila manipulasi akan melibatkan lebih dari satu tabel maka harus ada relasi untuk menghubungkan antar tabel, untuk melakukan relasi ini dapat dilakukan dengan mengclick icon Pilih relasi tabel 6. Selanjutnya untuk memilih tipe proses yang akan digunakan dapat dilakukan dengan memilih salah satu tipe yang tersedia dalam daftar berikut ini
7. Selanjutnya proses dapat dilakukan dengan memilih atau mencentang fieldfield yang terdapat dalam tabel 8. Setelah proses ini dilakukan semua proses manipulasi dapat dilanjutkan dengan memproses menjadi sebuah hasil yang data-data yang ditampilkan dalam bentuk daftar berurutan, untuk melakukan proses ini kita harus mengclick icon berikut ini Pilih Proses akhir
Kode Program untuk Basisdata 1. Kode Program DataBaseInfoList LAMPIRAN B KODE PROGRAM Public Class Cls_DatabasesInfoList Inherits ReadOnlyCollectionBase Implements IList Public Shared Function Object(ByVal login As Cls_Login) As Cls_DatabasesInfoList Return FetchObject(New criteria(login)) Private Sub New() #Region " Data Accsess " Private Class criteria Private _connstring As String Public ReadOnly Property ConnectionString() As String Return _connstring Public Sub New(ByVal log As Cls_Login) _connstring = "Persist Security Info=False;database=test;server=" & log.server & ";user id=" & log.username & ";Password=" & log.pass Private Shared Function FetchObject(ByVal crit As criteria) As Cls_DatabasesInfoList Dim obj As New Cls_DatabasesInfoList Using cn As New MySqlConnection(crit.ConnectionString) cn.open() Using cm As MySqlCommand = cn.createcommand With cm.commandtype = CommandType.Text.CommandText = "show databases" Using dr As MySqlDataReader = cm.executereader While dr.read obj.add(cls_databasesinfo. Databases(dr)) End While
Return obj #End Regio 2. Kode Program DataBaseInfo Public Class Cls_DatabasesInfo #Region " Business Object " Private _database As String Public ReadOnly Property DataBase() As String Return _database Public Shared Function Databases(ByVal dr As MySqlDataReader) As Cls_DatabasesInfo Return New Cls_DatabasesInfo(dr) Private Sub New(ByVal dr As MySqlDataReader) With dr _database = CType(.Item("database"), String) Kode Program untuk Tampil Tabel 1. Kode Program TabelInfoList Public Class Cls_TablesInfoList Inherits ReadOnlyCollectionBase Implements IList Public Shared Function Object(ByVal login As Cls_Login, ByVal dbname As String) As Cls_TablesInfoList Return FetchObject(New criteria(login, dbname)) Private Sub New() #Region " Data Accsess " Private Class criteria Private _connstring As String Private _dbname As String Public ReadOnly Property DbName() As String Return _dbname
Public ReadOnly Property ConnectionString() As String Return _connstring Public Sub New(ByVal log As Cls_Login, ByVal dbname As String) _connstring = "Persist Security Info=False;database=" & dbname & ";server=" & log.server & ";user id=" & log.username & ";Password=" & log.pass _dbname = dbname Private Shared Function FetchObject(ByVal crit As criteria) As Cls_TablesInfoList Dim obj As New Cls_TablesInfoList Using cn As New MySqlConnection(crit.ConnectionString) cn.open() Using cm As MySqlCommand = cn.createcommand With cm.commandtype = CommandType.Text.CommandText = "show tables" Using dr As MySqlDataReader = cm.executereader While dr.read obj.add(cls_tablesinfo.database s(dr, crit.dbname)) End While Return obj 2. Kode Program TabelInfo Public Class Cls_TablesInfo #Region " Business Object " Private _tablename As String Public ReadOnly Property TableName() As String Return _tablename Public Shared Function Databases(ByVal dr As MySqlDataReader, ByVal dbname As String) As Cls_tablesInfo
Return New Cls_tablesInfo(dr, dbname) Private Sub New(ByVal dr As MySqlDataReader, ByVal dbname As String) With dr _tablename = CType(.Item("tables_in_" & dbname), String) Kode Program untuk Tampil Field-Field 1. Kode Program FieldInfoList Public Class Cls_FieldInfoList Inherits ReadOnlyCollectionBase Implements IList #Region " Business Object " Public Function Item(ByVal field As String) As Cls_FieldInfo For Each item As Cls_FieldInfo In Me If item.fieldname.equals(field, StringComparison.OrdinalIgnoreCase) Then Return item Next Return Nothing Public Function TypeString(ByVal name As String) As Boolean For Each item As Cls_FieldInfo In Me If item.fieldname = name Then Dim a() As String = item.type.split("(") If UCase(a(0)) = "VARCHAR" Then Return True Else Return False Next Public Shared Function Object(ByVal login As Cls_Login, ByVal dbname As String, ByVal tablename As String) As Cls_FieldInfoList Return FetchObject(New criteria(login, dbname, tablename)) Private Sub New()
#Region " Data Accsess " Private Class criteria Private _connstring As String Private _dbname As String Private _tablename As String Public ReadOnly Property TableName() As String Return _tablename Public ReadOnly Property DbName() As String Return _dbname Public ReadOnly Property ConnectionString() As String Return _connstring Public Sub New(ByVal log As Cls_Login, ByVal dbname As String, ByVal tablename As String) _connstring = "Persist Security Info=False;database=" & dbname & ";server=" & log.server & ";user id=" & log.username & ";Password=" & log.pass _dbname = dbname _tablename = tablename Private Shared Function FetchObject(ByVal crit As criteria) As Cls_FieldInfoList Dim obj As New Cls_FieldInfoList Using cn As New MySqlConnection(crit.ConnectionString) cn.open() Using cm As MySqlCommand = cn.createcommand With cm.commandtype = CommandType.Text.CommandText = "describe " & crit.tablename Using dr As MySqlDataReader = cm.executereader While dr.read obj.add(cls_fieldinfo.databases(dr)) End While Return obj
2. Kode Program FieldInfo Public Class Cls_FieldInfo #Region " Business Object " Private _fieldname As String Private _type As String Private _null As Boolean Private _key As Boolean Private _default As String Private _isdefault As Boolean = False Public ReadOnly Property FieldName() As String Return _fieldname Public ReadOnly Property Type() As String Return _type Public ReadOnly Property Null() As Boolean Return _null Public ReadOnly Property Key() As Boolean Return _key Public ReadOnly Property FieldDefault() As String Return _default Public ReadOnly Property IsDefault() As Boolean Return _isdefault Public Shared Function Databases(ByVal dr As MySqlDataReader) As Cls_FieldInfo Return New Cls_FieldInfo(dr) Private Sub New(ByVal dr As MySqlDataReader) With dr _fieldname = CType(.Item("field"), String) _type = CType(.Item("type"), String) If CType(.Item("null"), String) = "YES" Then _null = True Else _null = False If CType(.Item("key"), String) = "PRI" Then
_key = True Else _key = False If Not IsDBNull(.Item("Default")) Then _default = CType(.Item("Default"), String) _isdefault = True Kode Program untuk Proses Pembentukan Query Public Class Cls_ExecuteQuery #Region " Business Object " Private _login As Cls_Login Private _dbname As String Private _querystring As String Private _queryresult As New DataTable Private _massageresult As Integer Private _querymassage As String Private _typeexecute As TypeProses Public WriteOnly Property Login() As Cls_Login Set(ByVal value As Cls_Login) _login = value End Set Public Property QueryString() As String Return _querystring Set(ByVal value As String) _querystring = value End Set Public ReadOnly Property QueryResult() As DataTable Return _queryresult Public ReadOnly Property MassageResult() As Integer Return _massageresult Public WriteOnly Property QueryMassage() As String Set(ByVal value As String) _querymassage = value End Set Public WriteOnly Property TypeExecute() As TypeProses Set(ByVal value As TypeProses) _typeexecute = value End Set
Public WriteOnly Property DbName() As String Set(ByVal value As String) _dbname = value End Set #Region " Factory Object " Public Shared Function NewObject() As Cls_ExecuteQuery Dim obj As New Cls_ExecuteQuery Return obj Public Sub ExecuteQuery() Select Case _typeexecute Case TypeProses.SELECT_TYPE ExecuteSelectData() Case TypeProses.INSERT_TYPE ExecuteNoSelectData() Case TypeProses.UPDATE_TYPE ExecuteNoSelectData() Case TypeProses.DELETE_TYPE ExecuteNoSelectData() End Select Public Sub ExecuteMassage() ExecuteQueryMassage() #Region " Data Acces " Private Sub ExecuteSelectData() Dim connstring As String = "Persist Security Info=False;database=" & _dbname & ";server=" & _login.server & ";user id=" & _login.username & ";Password=" & _login.pass Using cn As New MySqlConnection(connstring) cn.open() Using cm As MySqlCommand = cn.createcommand With cm.commandtype = CommandType.Text.CommandText = _querystring Dim da As New MySqlDataAdapter(cm) da.fill(_queryresult) Private Sub ExecuteNoSelectData() Dim connstring As String = "Persist Security Info=False;database=" & _dbname & ";server=" & _login.server & ";user id=" & _login.username & ";Password=" & _login.pass Using cn As New MySqlConnection(connstring) cn.open() Using cm As MySqlCommand = cn.createcommand With cm.commandtype = CommandType.Text.CommandText = _querystring.executenonquery()
Private Sub ExecuteQueryMassage() Dim connstring As String = "Persist Security Info=False;database=" & _dbname & ";server=" & _login.server & ";user id=" & _login.username & ";Password=" & _login.pass Using cn As New MySqlConnection(connstring) cn.open() Using cm As MySqlCommand = cn.createcommand With cm.commandtype = CommandType.Text.CommandText = _querystring Using dr As MySqlDataReader = cm.executereader If dr.read Then _massageresult = CType(dr.Item("count"), Integer) Public Class Cls_QueryObject #Region " Business Object " Private _table As Cls_TableAddLineList = Cls_TableAddLineList.NewObject Public ReadOnly Property Table() As Cls_TableAddLineList Return _table Public Shared Function NewObject() As Cls_QueryObject Return New Cls_QueryObject Private Sub New()