• Tidak ada hasil yang ditemukan

Junindar. Blog : Lisensi Dokumen:

N/A
N/A
Protected

Academic year: 2021

Membagikan "Junindar. Blog : Lisensi Dokumen:"

Copied!
13
0
0

Teks penuh

(1)

Memanipulasi File Konfigurasi Junindar Junindar Blog : http://junindar.blogspot.com https://mvp.support.microsoft.com/default.aspx/profile/junindar E-Mail : junindar@gmail.com I. Pengantar

Setelah menggunakan VB 2005 keatas, banyak sekali para developer memanfaatkan suatu fitur baru yaitu My.Settings. Salah satu fungsi nya adalah untuk melakukan penyimpaanan informasi yang bisa di akses secara mudah dan cepat oleh aplikasi kita. Dan fitur banyak sekali di gunakan untuk menyimpan connection string dalam mengakses database. Lalu bagaimana membuat aplikasi yang fleksible dalam menyimpan connection string tanpa harus membuka secara langsu file konfigurasi nya. Untuk itu kita harus membuat sedikit code untuk mengakses dan memanipulasi data yang tersimpan di file tersebut. Bagaimana cara nya , ikuti trus artikel ini

Lisensi Dokumen:

Copyright © 2003 IlmuKomputer.Com

Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan

disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

(2)

Memanipulasi File Konfigurasi Junindar

II. Pembuatan Applikasi

Buatlah project baru dengan nama Read_Write. Lalu Klik Project pada menu dan “Read_Write Properties”. Dan Klik Settings, lalu isi kolom-kolom nya seperti dibawah :

Name = conn

Type = Connection string Scope = Application

Value= DataSource=namaserver\SQLEXPRESS;Initial Catalog=BelajarLINQ;UID=sa;PWD=password

Untuk nama sever ganti sesuai dengan nama computer dimana SQL server di install. Dan password isi password untuk login pada user sa.

Tambahkan beberapa kontrol pada form 1 seperti gambar dibawah :

Setelah disusun seperti gambar diatas, ganti properties Name pada textbox menjadi = txtserver,txtuser dan txtpassword

(3)

Memanipulasi File Konfigurasi Junindar

Tambahkan Class pada project, dengan nama config.vb, lalu ketikkan sintaks seperti dibawah.

1. Ketikkan beberapa imports Name Space seperti dibawah

Imports System

Imports System.Xml

Imports System.Configuration

Imports System.Reflection

Imports System.Data.SqlClient

2. Fungsi bawah sintaks dibawah adalah untuk mendapatkan nilai lokasi beserta nama dari file konfigurasi (exe.config)

3. Setelah mendapatkan alamat berserta nama file nya, lalu akan meng load file konfigurasi, seperti dibawah:

4. Lalu ketikkan sintaks dibawah ini, sintaks dibawah berfungsi untuk menulis atribut pada elemen yang dipilih, untuk penjelasan dapat dilihat pada komen.

'mendapatkan nama dan lokasi dari file exe.config

Private Shared Function getConfigFilePath() As String

Return Assembly.GetExecutingAssembly().Location & ".config" End Function

'load file konfigurasi, berdasarkan nilai yang didapat pada fungsi - getConfigFilePath

Private Shared Function loadConfigDocument() As XmlDocument Dim doc As XmlDocument = Nothing

Try

doc = New XmlDocument()

doc.Load(getConfigFilePath()) Return doc

Catch e As System.IO.FileNotFoundException

Throw New Exception("File konfigurasi tidak di temukan", e) End Try

(4)

Memanipulasi File Konfigurasi Junindar

5. Untuk menghapus elemen yang dipilih, dapat dilihat pada sintaks dibawah.

Public Sub WriteSettingCon(ByVal name As String, ByVal connectionString As String, _ ByVal providerName As String)

'load konfigurasi file

Dim doc As XmlDocument = loadConfigDocument()

' retrieve connectionStrings node

Dim node As XmlNode = doc.SelectSingleNode("//connectionStrings")

If node Is Nothing Then 'jika node connectionStrings tidak ada

Throw New InvalidOperationException("connectionStrings section tidak dapat di temukan")

End If

Try

'memilih add elemen, berdasarkan name

Dim elem As XmlElement =

DirectCast(node.SelectSingleNode(String.Format("//add[@name='{0}']", name)), XmlElement)

If elem IsNot Nothing Then 'jika sudah ada

' mengganti nilai dari atribut

elem.SetAttribute("name", name)

elem.SetAttribute("connectionString", connectionString) elem.SetAttribute("providerName", providerName)

Else

'membuat elemen dan mengisi nilai atribut

elem = doc.CreateElement("add") elem.SetAttribute("name", name)

elem.SetAttribute("connectionString", connectionString) elem.SetAttribute("providerName", providerName)

node.AppendChild(elem) End If

doc.Save(getConfigFilePath()) Catch

Throw New Exception End Try

(5)

Memanipulasi File Konfigurasi Junindar

Sekarang kita kembali ke form1, double click button Connect, lalu ketikkan sintaks dibawah..

Sebelum menjalankan, liat file konfigurasi pada folder bin > debug> Read_Write.exe.config. lalu liat informasi didalam file tersebut. Untuk sintaks di atas kita akan melakukan penghapusan elemen pada node connectionStrings

Public Sub RemoveSettingCon(ByVal name As String)

'load konfigurasi file

Dim doc As XmlDocument = loadConfigDocument()

'retrieve connectionStrings node

Dim node As XmlNode = doc.SelectSingleNode("//connectionStrings")

Dim elem As XmlElement = DirectCast(node.SelectSingleNode(String.Format("//add[@name='{0}']", name)), XmlElement)

Try

If node Is Nothing Then

Throw New InvalidOperationException("connectionStrings section tidak dapat di temukan ")

Else

If elem IsNot Nothing Then

' hapus elemen berdasarkan key yang dipilih

node.RemoveChild(node.SelectSingleNode(String.Format("//add[@name='{0}']", name))) doc.Save(getConfigFilePath())

End If

End If

Catch

Throw New Exception() End Try End Sub Try Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") Catch ex As Exception MsgBox(ex.Message) End Try

(6)

Memanipulasi File Konfigurasi Junindar

Jalankan program dan klik button connect, lalu liat hasil nya lagi pada file Read_Write.exe.config

Coba perhatikan gambar di atas, kita telah berhasil menghapus data pada node connectionStrings.

(7)

Memanipulasi File Konfigurasi Junindar

Lalu jalankan program, masukkan data-data yang di perlukan pada textbox, lalu tekan button connect.

Sekali lagi coba buka file Read_Write.exe.config, apakah data-data yang kita isikan terdapat file tersebut.

Try

Dim connectionString As String

Dim Configs As New Config

' Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn")

connectionString = "Data Source=" + txtServer.Text + ";Initial Catalog=BelajarLINQ;UID="

+ txtUser.Text + ";PWD=" + txtPassword.Text Configs.WriteSettingCon(Application.ProductName + ".My.MySettings.conn", connectionString, "System.Data.SqlClient") Catch ex As Exception MsgBox(ex.Message) End Try

(8)

Memanipulasi File Konfigurasi Junindar

Jika berhasil maka kita telah bisa membuat program yang fleksible, jika kita mengalami perubahan pada server, kita bisa menggunakan fungsi ini, tanpa harus membuka langsung file konfigurasi. Tapi apakah kita akan membiarkan user dapat melihat informasi pada file. bagaimana jika itu merupakan informasi yang penting. Jangan khawatir, kita bisa melakukan enkrip data tersebut. Untuk lebih jelas tentang ini bisa membaca E-Book dari 2 orang MVP VB (Mas Erick dan Mas Rully) dengan judul “Migrasi Visual Basic 6 ke VB.Net”.

Dan sintaks di bawah ini saya ambil dari contoh pada buku tersebut (memanfaatkan yang sudah ada ).

Ketikkan sintaks dibawah pada class config

Dan buat satu procedure untuk mengecek apakah file konfigurasi sudah di enkrip atau belum.

Public Sub EncryptConnection(ByVal BolEnAs Boolean) Try

Dim configFile = _

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)

Dim connectionElement = configFile.GetSection("connectionStrings") If BolEn= True Then

connectionElement.SectionInformation.ProtectSection(Nothing) Else connectionElement.SectionInformation.UnprotectSection() End If connectionElement.SectionInformation.ForceSave() = True configFile.Save(ConfigurationSaveMode.Modified) Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub

(9)

Memanipulasi File Konfigurasi Junindar

lalu tambahkan sintaks dibawah, pada procedure WriteSettingCon dan RemoveSettingCon.

Double click button Connect dan ganti seperti sintaks dibawah.

Private Shared Function CekEncrypt() As Boolean

Dim cek As Boolean

Try

Dim configFile = _

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) Dim connectionElement = configFile.GetSection("connectionStrings") cek = connectionElement.SectionInformation.IsProtected

Return cek

Catch ex As Exception

Throw New Exception(ex.Message.ToString) End Try

End Function

Dim Configs As New Config

Try

Dim connectionString As String

connectionString = "Data Source=" + txtServer.Text + ";Initial Catalog=BelajarLINQ;UID="

+ txtUser.Text + ";PWD=" + txtPassword.Text Configs.WriteSettingCon(Application.ProductName + ".My.MySettings.conn", connectionString, "System.Data.SqlClient") Configs.EncryptConnection(True) Catch ex As Exception Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") MsgBox(ex.Message) End Try

(10)

Memanipulasi File Konfigurasi Junindar

Selanjutnya kita akan membuat procedure untuk melakukan koneksi ke database, sebelum nya buat, procudere untuk membaca attribute pada elemen connectionStrings

Private Function ReadSetting(ByVal name As String) As String Try

If CekEncrypt() = True Then

EncryptConnection(False) End If

Dim cn As String

Dim doc As XmlDocument = loadConfigDocument()

Dim node As XmlNode = doc.SelectSingleNode("//connectionStrings")

If node Is Nothing Then 'jika node connectionStrings tidak ada

Throw New InvalidOperationException("connectionStrings section tidak dapat di temukan") End If

'memilih add elemen, berdasarkan name

Dim elem As XmlElement =

DirectCast(node.SelectSingleNode(String.Format("//add[@name='{0}']", _

name)), XmlElement)

If elem IsNot Nothing Then 'jika sudah ada

cn = elem.GetAttribute("connectionString") Else

Throw New InvalidOperationException("connection string atribut tidak dapat di temukan") End If

Return cn

Catch ex As Exception

Throw New Exception(ex.Message.ToString) End Try

End Function

Public Sub TestConnection()

Try

Using connect As New SqlConnection(ReadSetting(Application.ProductName +

".My.MySettings.conn")) connect.Open()

End Using

MsgBox("Success")

Catch ex As SqlException

Throw New Exception(ex.Message.ToString)

End Try End Sub

(11)

Memanipulasi File Konfigurasi Junindar

Ubah sintaks button connect seperti dibawah. Dan jalan kan program. Apakah pesan keberhasilan seperti dibawah tampil ?

Untuk source code lengkap, dapat di download di http://junindar.blogspot.com

Dim Configs As New Config

Try

Dim connectionString As String

connectionString = "Data Source=" + txtServer.Text + ";Initial Catalog=BelajarLINQ;UID="

+ txtUser.Text + ";PWD=" + txtPassword.Text Configs.WriteSettingCon(Application.ProductName + ".My.MySettings.conn", connectionString, "System.Data.SqlClient") Configs.TestConnection() Configs.EncryptConnection(True) Catch ex As Exception Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") MsgBox(ex.Message) End Try

(12)

Memanipulasi File Konfigurasi Junindar

Penutup

Mudah-mudahan artikel ini membuat kita semua menjadi bertambah pengetahuanya.

Referensi

1. www.msdn.microsoft.com 2. www.planetsourcecode.com 3. www.codeproject.com 4. www.aspnet.com

Masih banyak lagi referensi yang ada di Intenet. Anda tinggal cari di www.Google.com. Dengan kata kunci “tutorial VB.Net”

Sinopsis buku “Panduan Lengkap Menjadi

Programmer“

Setelah mengetahui apa itu Microsoft.NET Framework, Microsoft Visual Basic.NET, ADO.NET, Database dan Microsoft Access, dan fungsi-fungsi serta dasar penggunaannya, ternyata menjadi programmer VB.NET itu mudah! Sebab, dari dasar pengetahuan tesebut, kita sudah bisa membuat suatu program yang kita

inginkan. Misalnya, membuat aplikasi toko, seperti form penjualan dan pembelian. Visual Basic.NET (VB.NET) merupakan program generasi selanjutnya dari Visual Basic. VB.NET memungkinkan kita untuk membangun aplikasi database client atau server dengan performa tinggi. Umumnya, para programmer banyak menggunakan VB.NET untuk membuat aplikasi atau program yang mereka butuhkan. Pasalnya, program ini memiliki kelebihan dan kemudahan tertentu dibandingkan dengan program-program lainnya yang sejenis. Selanjutnya, langkah apa saja yang mesti diketahui dan dilakukan agar kita bisa menjadi programmer VB.NET? Mediakita menerbitkan buku Panduan Lengkap Menjadi

Programmer yang ditulis oleh Junindar. Buku ini berisi tutorial pembuatan program,

pembuatan laporan, sampai dengan melakukan deployment program. Melalui buku ini, Anda bisa menjadi seorang programmer VB.NET yang handal. Sebab, buku ini

merupakan buku yang komplit untuk mengantar seseorang dari tidak tahu apa-apa tentang VB.NET menjadi seorang programmer.

Memang, saat ini, banyak sekali buku-buku tentang pemrograman VB.NET, tetapi sangat jarang yang menjelaskan secara detail tentang fungsi-fungsi dan pemrograman di dalam VB.NET. Di buku ini, secara terperinci Anda akan dibimbing bagaimana membuat database, membuat program (create program), tampilan login, menu, form, laporan, sampai dengan membuat file setup (installer).

Selain itu, buku ini juga dilengkapi CD berisikan source code pembuatan program sehingga lebih memudahkan Anda dalam berlatih.

(13)

Memanipulasi File Konfigurasi Junindar

Biografi Penulis.

Junindar Lahir di Tanjung Pinang, 21 Juni 1982. Menyelesaikan Program S1 pada jurusan Teknik Informatika di Sekolah Tinggi Sains dan Teknologi Indonesia (ST-INTEN-Bandung). Junindar mendapatkan Microsoft MVP VB pertanggal 1 oktober 2009. Senang mengutak-atik computer yang berkaitan dengan bahasa pemrograman. Keahlian, sedikit mengerti beberapa bahasa pemrograman seperti : VB.Net, LINQ, VBA. Reporting : Crystal Report (Under Program). Database : Access, paradox dan SQL Server 00/05. Simulation / Modeling Packages: Visio Enterprise, Rational Rose dan Power Designer. Dan senang bermain gitar, karena untuk bisa menjadi pemain gitar dan seorang programmer sama-sama membutuhkan seni. Pada saat ini bekerja di salah satu Perusahaan Swasta di BATAM sebagai Software Development. Mempunyai moto hidup : “Jauh lebih baik menjadi Orang Bodoh yang giat belajar, dari pada orang Pintar yang tidak pernah mengimplementasikan ilmunya”.

Referensi

Dokumen terkait

Pada pemilihan calon legislatif pemilu 2009 untuk menentukan calon yang berhak duduk mewakili rakyat di parlemen adalah yang terbanyak dipilih rakyat, karena rakyat tidak lagi

asetat, borneol, simen. Kina, damar, malam.. as. CI CINN NNAM AMOM OMI COR I CORTE TEX X..

Sesuai dengan rancangan dan implementasi dari pengembangan aplikasi berbasis Android berupa media pembelajaran dengan teknologi AR, penulis menarik kesimpulan yakni aplikasi media

Oleh karena itu, berdasarkan latar belakang KALBIS Institute yang terbentuk karena hasil kerjasama antara perusahaan farmasi terbesar di Asia Tenggara “Kalbe

@! Pengoatan retensi urin karena sistokel dan rektokel Ianita memerlukan pemedahan untuk mengangkat #atuhnya kandung kemih atau rectum! Prosedur yang paling umum untuk

gan dari algor tma Lowest C -First mencari nilai heuristic ritma yang men yang terdapat p gnakan kedua Pencarian akan Algo etia Racana ndung 40132, e dapat guna alam , dan

Berdasarkan uraian di atas, kajian ini masih memiliki peluang yang terbuka lebar mengingat tingginya keanekaragaman hayati laut yang dimiliki Taman Nasional Kepulauan