DATABASE FETCHING DALAM DOKUMEN MICROSOFT WORD DENGAN ADO .NET 3.5

Database Fetching Dalam Dokumen Microsoft Word Dengan Ado .net 3.lima 
Dokumen Microsoft Word tak jarang diremehkan hanya menjadi indera buat kepentingan surat menyurat serta pengetikan dokumen biasa. Hal tersebut jua terjadi pada lingkup perkantoran yang sesungguhnya, sebagai akibatnya seakan-akan dokumen tersebut hanyalah sekedar surat rutin sehari-hari. Meski demikian dokumen yg didapatkan dari Microsoft Word sebenarnya dapat mengandung keterangan-kabar yang didapatkan sebuah data di pada sebuah sistem berita.

Untuk memecahkan masalah tadi, yaitu mengambil data berdasarkan sebuah sistem informasi atau database, umumnya para pengguna Microsoft Word melakukannya menggunakan memakai fasilitas Mail Merge. Sayangnya, fasilitas tersebut jua lebih layak digunakan buat kepentingan surat menyurat yang membutuhkan rangkaian data secara utuh. Namun buat rangkaian data yang memerlukan spesifikasi eksklusif, fasilitas Mail Merge nir lagi dianggap memadai buat dilakukan. 

Rangkaian data tersebut misalnya untuk menampilkan data dari sebuah sistem informasi yang sesungguhnya sudah terintegrasi di sebuah lingkup organisasi. Sebagai model, buat membuat sebuah surat tagihan di dalam sebuah bank yg seharusnya eksklusif mengambil data nasabah sekaligus menggunakan akbar tagihan dan jenis pinjaman (yang mampu jadi majemuk dalam satu kali tagihan) serta data lainnya, nir lagi dapat dipenuhi menggunakan teknik Mail Merge. Sedangkan solusi dengan memakai fasilitas pencetakan laporan berdasarkan sistem warta umumnya pula sangat terbatas bila dibandingkan fasilitas pengolahan kata yg dimiliki sang Microsoft Word.

Solusi yg umum ditawarkan buat mengatasi masalah tersebut adalah menggunakan memanfaatkan fasilitas VBA (Visual Basic for Application) di pada Microsoft Office. Tetapi buat melakukan koneksi query secara kompleks, VBA bukanlah bahasa pemrograman yg sinkron digunakan pada masalah tersebut. Hal ini disebabkan keterbatasan sintaks VBA dalam menangani query terutama buat koneksi ke server database.

Di pada eksperimen yg telah dilakukan pada pada penelitian ini, digunakan solusi lain untuk menangani kasus query tersebut. Proses database fetching yaitu pengambilan data menggunakan memakai query yg kompleks dilakukan dengan menggunakan project bertipe dokumen Microsoft Word yang terdapat di dalam .net Framework tiga.5. 

Project bertipe dokumen Microsoft Office yang di .net Framework sebelumnya lazim disebut sebagai Visual Studio Tools for Office telah terbukti jauh lebih kuat serta layak untuk dikembangkan pada proses database fetching dibandingkan menggunakan solusi menggunakan VBA [2]. Hal ini ditimbulkan pada dalam dokumen yang akan dikembangkan adalah bagian menurut project pada dalam lingkup .net Framework, bukan lagi sebuah dokumen reguler yg disisipi oleh bahasa pemrograman.

Akibatnya, di dalam dokumen Microsoft Word yg dikembangkan nantinya akan disertai menggunakan sebuah file runtime yg berfungsi menjadi executable saat dokumen tersebut dibuka sang pengguna. Secara implisit, pengguna tidak akan merasakan disparitas yang signifikan ketika proses pengolahan dokumen, tetapi dengan bantuan template yg telah disisipkan melalui arsip runtime tadi, maka proses database fetching akan sebagai lebih mudah dan dapat mengoperasikan query kompleks.

.net Framework adalah fondasi menurut pengembangan aplikasi berbasis Windows. Didalamnya terdapat dua bagian penting yaitu .net Framework Class Library serta CLR atau Common Language Runtime [4]. Dalam .net Framework jua terdapat poly layer yg nantinya akan didukung oleh bahasa-bahasa pemrograman yg memanfaatkan bagian .net Framework didalamnya.

Sedangkan ADO .net merupakan bagian menurut .net Framework yg berisi gugusan utilitas dan layer yang mempermudah koneksi terhadap data yg sudah disimpan sebelumnya [3]. Kelebihan ADO .net dibandingkan menggunakan metode koneksi lainnya merupakan adanya fasilitas yg bisa mengakibatkan koneksi database dalam mode disconnected sehingga akses database dapat memenuhi asas skalabilitas yg tinggi. 

ADO .net 3.5 merupakan ADO .net generasi ketiga berdasarkan ADO .net dan dikeluarkan setelah ADO .net dua.0. Beberapa perubahan yg signifikan pada pada ADO .net 3.lima (yang sesungguhnya telah dirilis di ADO .net 3.0) antara lain akses LINQ (Language Integrated Query) dan Table Valued Parameter [5]. 

Salah satu lingkup IDE (Integrated Development Environment) yg memang sebagai inti berdasarkan pengembangan menggunakan .net Framework merupakan Visual Studio. Khususnya pada pada Visual Studio 2008, telah masih ada bagian project yg eksklusif bisa melakukan integrasi buat melakukan integrasi pelaksanaan Microsoft Office menggunakan aplikasi Windows.

Integrasi yang lazim diklaim menjadi VSTO (Visual Studio Tools for Office) tadi dapat memperluas penggunaan Microsoft Office buat dapat digabungkan dengan bahasa pemrograman Visual Basic .net atau dengan bahasa pemrograman Visual C# . 

Proses yg terjadi di dalam project yang bertipe dokumen Microsoft Office (baik Microsoft Word atau Microsoft Excel) adalah proses yang terjadi di pada level dokumen atau document level customization. Ini berarti bahwa proses yg ada pada dalam dokumen nir terjadi di pada dokumen itu sendiri, tetapi masih ada pada sebuah assembly code yg diakses melalui PIA (Primary Interopt Assembly) sang Microsoft Office. 

Jenis proses yang lain yang dapat terjadi di pada VSTO merupakan proses yg memanfaatkan level aplikasi atau application level. Dalam proses jenis ini, akan ditempatkan sebuah contoh add ins yang menempel di pada unit Microsoft Office, seperti sebuah template pada Microsoft Outlook atau ribbon bar baru pada pada Microsoft Word.

Koneksi database pada dalam dokumen Microsoft Office menggunakan memanfaatkan VSTO akan melakukan imitasi proses koneksi database yg masih ada di dalam pelaksanaan berbasis Windows di lingkup .net Framework. Hal ini bisa dilakukan dengan banyak sekali macam teknik, baik dengan memakai donasi XML Web Service ataupun dengan menggunakan ADO .net secara langsung.

PERANCANGAN DAN IMPLEMENTASI
Model sistem dari eksperimen yang akan memakai proses database fetching ke pada dokumen Microsoft Word digambarkan menggunakan use case system berikut ini :

Gambar Use Case System

Gambaran umum sistem bisa dideskripsikan menjadi berikut :
1. Pengguna yang dibagi sebagai 2 yaitu pengguna umum (novice) dan pengguna dalam kategori mahir (advanced) memperlihatkan kebutuhan dokumen yg diperlukan pada programmer.
2. Programmer selanjutnya melakukan perancangan template dari kebutuhan pengguna sekaligus melakukan pengecekan terhadap database yang terdapat di dalam sistem fakta pada dalam lingkup organisasi.
3. Template pendahuluan kemudian diserahkan pada pengguna mahir buat dicek ulang apakah sudah memenuhi kebutuhan yg sudah disyaratkan.
4. Setelah template disetujui, maka selanjutnya pihak programmer akan membuat template dokumen Microsoft Word yg didalamnya telah disisipi proses database fetching menggunakan memakai ADO .net didalamnya.
5. Dari template tersebut, lalu dilakukan proses deploy kepada para pengguna buat digunakan sesuai kebutuhan.

Pada eksperimen yg dilakukan diambil studi masalah database fetching dengan mengambil data berdasarkan sebuah tabel sederhana bernama UserProfile menurut sebuah databasea SQL Server 2005. Data berdasarkan tabel tersebut nantinya akan digunakan menjadi langkah awal buat melakukan login di dalam dokumen Microsoft Word. 

Di pada proses login, proses pengambilan data memakai query menggunakan memanfaatkan dua parameter yaitu dari field UserID serta field UserPassword. Dari output query yang dilakukan, kemudian akan ditampilkan sebuah query data lain, yaitu menurut tabel Customer. Namun data dari tabel Customer hanya akan ditampilkan apabila login sudah berhasil dijalankan. 

Secara umum, proses yang terjadi di pada proses pembuatan template tersebut, bisa dicermati pada dalam diagram aktifitas ini dia :

Gambar Activity Diagram 

Jika melihat berdasarkan diagram aktifitas, maka dapat didekripsikan secara detail proses yg terjadi adalah :
1. Pertama kali dibentuk project menggunakan template Word Document di lingkup IDE Visual Studio 2008. Di pada template tersebut, lalu field-field yg dibutuhkan didefinisikan dengan memakai komponen berdasarkan lingkup .net Framework. Dalam kasus yg dikerjakan, komponen yg digunakan merupakan Textbox (buat inputan pada proses login) dan Listbox untuk menampilkan data berdasarkan tabel Customer.
2. Berikutnya didefinisikan query yang akan dilakukan dengan merogoh data yang terdapat dalam database (dalam studi perkara yg dilakukan yaitu database berdasarkan SQL Server 2005 Express Edition). Dalam proses ini, pula dilakukan pembuatan koneksi menggunakan menggunakan komponen TableAdapter menurut ADO .net.
3. Query didefinisikan pada dalam XML Schema yg lalu hasil menurut query tadi (data fetching) diambil pada pada event yg ditangkap di pada dokumen, dan ditempatkan sebagai action trigger pada pada komponen Button. Apabila ternyata query menghasilkan data (buat tabel Customer), maka data tersebut lalu ditampilkan di pada komponen Listbox.

Dari output eksperimen dapat ditinjau berdasarkan screen capture berikut :

Gambar Desain Awal Template Dokumen

Dari desain awal template dokumen, terdapat 2 buah Textbox yg berfungsi sebagai wahana buat login menggunakan mengambil data berdasarkan tabel UserProfile. Sedangkan button Show Data diisi menggunakan pemanggilan query melalui Table Adapter berdasarkan ADO .net buat pembuktian apakah pengguna telah berhasil melampaui proses login.

Jika proses login telah berhasil dilakukan, maka selanjutnya data menurut tabel Customer akan ditampilkan ke dalam Listbox. Proses tampilan data dalam Listbox memanfaatkan group Data Reader mengingat sifatnya yang fast forward serta stream only sebagai akibatnya lebih sesuai buat proses pembacaan data secara cepat dan sekuensial.

Potongan dari listing acara buat melakukan proses database fetching pada dokumen Microsoft Word merupakan menjadi berikut :
Me.userProfileTableAdapter1.fillBy_
    (Me.dataCustomerDataSet1.userProfile, _
     Me.textBox1.text, Me.textBox2.text)
ListBox1.items.clear()
If Me.dataCustomerDataSet1. _
    UserProfile.rows.count > 0 Then
    Dim xreader As System.data.idataReader = _
    Me.dataCustomerDataSet1.createDataReader _
    (Me.dataCustomerDataSet1.customer)
    Do While xreader.read
        ListBox1.items.add(xreader.item(1))
    Loop
Else
    MsgBox("Failed")
    Me.close()
End If

Hasil dari dokumen yg sudah melampaui proses pembuktian serta melakukan proses database fetching berdasarkan database SQL Server 2005 tampak pada gambar berikut :

Gambar 4. Hasil Dokumen yg telah berhasil login serta menampilkan data dari tabel Customer

Comments