DATABASE FETCHING DALAM DOKUMEN MICROSOFT WORD DENGAN ADO .NET 3.5

Database Fetching Dalam Dokumen Microsoft Word Dengan Ado .net tiga.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 yg sesungguhnya, sebagai akibatnya seakan-akan dokumen tadi hanyalah sekedar surat rutin sehari-hari. Meski demikian dokumen yang dihasilkan berdasarkan Microsoft Word sebenarnya dapat mengandung berita-fakta yang didapatkan sebuah data di pada sebuah sistem kabar.

Untuk memecahkan masalah tadi, yaitu mengambil data dari sebuah sistem liputan atau database, umumnya para pengguna Microsoft Word melakukannya dengan menggunakan fasilitas Mail Merge. Sayangnya, fasilitas tersebut juga lebih layak dipakai buat kepentingan surat menyurat yang membutuhkan rangkaian data secara utuh. Tetapi buat rangkaian data yang memerlukan spesifikasi tertentu, fasilitas Mail Merge tidak lagi dipercaya memadai buat dilakukan. 

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

Solusi yang umum ditawarkan buat mengatasi kasus tadi merupakan dengan memanfaatkan fasilitas VBA (Visual Basic for Application) pada dalam Microsoft Office. Tetapi buat melakukan koneksi query secara kompleks, VBA bukanlah bahasa pemrograman yg sesuai digunakan pada masalah tersebut. Hal ini ditimbulkan keterbatasan sintaks VBA dalam menangani query terutama buat koneksi ke server database.

Di pada eksperimen yg telah dilakukan di dalam penelitian ini, dipakai solusi lain buat menangani masalah query tersebut. Proses database fetching yaitu pengambilan data dengan menggunakan query yg kompleks dilakukan dengan memakai project bertipe dokumen Microsoft Word yg masih ada pada dalam .net Framework 3.lima. 

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

Akibatnya, di pada dokumen Microsoft Word yg dikembangkan nantinya akan disertai dengan sebuah arsip runtime yang berfungsi menjadi executable waktu dokumen tadi dibuka oleh pengguna. Secara implisit, pengguna nir akan mencicipi perbedaan yg signifikan ketika proses pengolahan dokumen, namun dengan donasi template yang sudah disisipkan melalui file runtime tadi, maka proses database fetching akan menjadi lebih gampang serta dapat mengoperasikan query kompleks.

.net Framework merupakan fondasi berdasarkan pengembangan pelaksanaan berbasis Windows. Didalamnya masih ada 2 bagian krusial yaitu .net Framework Class Library serta CLR atau Common Language Runtime [4]. Dalam .net Framework juga masih ada poly layer yg nantinya akan didukung sang bahasa-bahasa pemrograman yg memanfaatkan bagian .net Framework didalamnya.

Sedangkan ADO .net adalah bagian menurut .net Framework yg berisi kumpulan utilitas serta layer yg mempermudah koneksi terhadap data yg sudah disimpan sebelumnya [3]. Kelebihan ADO .net dibandingkan menggunakan metode koneksi lainnya merupakan adanya fasilitas yg sanggup membuahkan koneksi database pada mode disconnected sehingga akses database dapat memenuhi asas skalabilitas yang tinggi. 

ADO .net 3.5 merupakan ADO .net generasi ketiga dari ADO .net dan dikeluarkan sehabis ADO .net dua.0. Beberapa perubahan yang signifikan di dalam ADO .net 3.5 (yang sesungguhnya telah dirilis pada 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 menjadi inti dari pengembangan memakai .net Framework merupakan Visual Studio. Khususnya di pada Visual Studio 2008, telah masih ada bagian project yg langsung bisa melakukan integrasi buat melakukan integrasi pelaksanaan Microsoft Office menggunakan aplikasi Windows.

Integrasi yg lazim dianggap sebagai VSTO (Visual Studio Tools for Office) tersebut dapat memperluas penggunaan Microsoft Office buat dapat digabungkan dengan bahasa pemrograman Visual Basic .net atau menggunakan bahasa pemrograman Visual C# . 

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

Jenis proses yang lain yang bisa terjadi di pada VSTO adalah proses yg memanfaatkan level aplikasi atau application level. Dalam proses jenis ini, akan ditempatkan sebuah model add ins yg melekat pada dalam unit Microsoft Office, seperti sebuah template pada Microsoft Outlook atau ribbon bar baru pada pada Microsoft Word.

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

PERANCANGAN DAN IMPLEMENTASI
Model sistem menurut eksperimen yg akan memakai proses database fetching ke pada dokumen Microsoft Word digambarkan menggunakan use case system ini dia :

Gambar Use Case System

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

Pada eksperimen yg dilakukan diambil studi masalah database fetching dengan merogoh data dari sebuah tabel sederhana bernama UserProfile dari sebuah databasea SQL Server 2005. Data dari tabel tadi nantinya akan dipakai menjadi langkah awal buat melakukan login pada pada dokumen Microsoft Word. 

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

Secara umum, proses yg terjadi di pada proses pembuatan template tadi, dapat ditinjau pada pada diagram aktifitas berikut adalah :

Gambar Activity Diagram 

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

Dari output eksperimen bisa dilihat berdasarkan screen capture berikut :

Gambar Desain Awal Template Dokumen

Dari desain awal template dokumen, masih ada dua buah Textbox yg berfungsi sebagai sarana untuk login menggunakan mengambil data menurut tabel UserProfile. Sedangkan button Show Data diisi menggunakan pemanggilan query melalui Table Adapter berdasarkan ADO .net buat verifikasi apakah pengguna telah berhasil melampaui proses login.

Jika proses login sudah berhasil dilakukan, maka selanjutnya data berdasarkan tabel Customer akan ditampilkan ke pada Listbox. Proses tampilan data pada Listbox memanfaatkan class Data Reader mengingat sifatnya yang fast forward dan stream only sebagai akibatnya lebih sinkron untuk proses pembacaan data secara cepat serta sekuensial.

Potongan berdasarkan listing acara buat melakukan proses database fetching dalam dokumen Microsoft Word merupakan sebagai 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 verifikasi serta melakukan proses database fetching menurut database SQL Server 2005 tampak dalam gambar berikut :

Gambar 4. Hasil Dokumen yg sudah berhasil login dan menampilkan data dari tabel Customer

PENGERTIAN DAN FUNGSI VISUAL BASIC

Pengertian Dan Fungsi Visual Basic 
Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman merupakan perintah-perintah yg dimengerti oleh personal komputer buat melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yg dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan menurut pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic adalah keliru satu Development Tool yaitu indera bantu buat menciptakan banyak sekali macam program personal komputer , khususnya yg menggunakan sistem operasi Windows. Visual Basic adalah galat satu bahasa pemrograman personal komputer yang mendukung object (Object Oriented Programming = OOP).

Visual Basic adalah galat suatu developement tools buat membentuk pelaksanaan dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual buat merancang user interface dalam bentuk form, sedangkan buat kodingnya memakai dialek bahasa Basic yg cenderung mudah dipelajari. Visual Basic sudah sebagai tools yang populer bagi para pemula maupun para developer.

Dalam lingkungan Window's User-interface sangat memegang peranan krusial, lantaran dalam pemakaian pelaksanaan yg kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yg mendukung tampilan dan proses yg dilakukan.

Pada pemrograman Visual, pengembangan pelaksanaan dimulai menggunakan pembentukkan user interface, lalu mengatur properti dari objek-objek yang dipakai pada user interface, serta baru dilakukan penulisan kode acara untuk menangani kejadian-peristiwa (event). Tahap pengembangan aplikasi demikian dikenal menggunakan kata pengembangan aplikasi menggunakan pendekatan Bottom Up.

Microsoft Visual Basic berada pada urutan pertama pada bahasa tingkat tinggi yg mendukung paradigma event-driven dan Rapid Application Development (RAD). Lebih spesifiknya, keberadaan Visual Basic’s banyak diterima serta dapat dicermati dalam perkembangan pembuatan pelaksanaan misalnya akses database, Protipe Graphical User Interface (GUI), pengembangan komponen, skrip internet, design pelaksanaan desktop dank lien/server, dan bahkan pengembangan game. Dikarenakan VB berada pada ranah komersial dan mudah dipelajari, VB menjadi begitu popular dikalangan bisikan hati perguruan tinggi seluruh global. 

Bahasa Basic dalam dasarnya merupakan bahasa yg gampang dimengerti sehingga pemrograman pada pada bahasa Basic dapat dengan gampang dilakukan meskipun sang orang yg baru belajar membuat program. Hal ini lebih gampang lagi sehabis hadirnya Microsoft Visual Basic, yg dibangun dari inspirasi buat membuat bahasa yg sederhana serta gampang dalam pembuatan scriptnya (simple scripting language) buat graphic user interface yang dikembangkan pada sistem operasi Microsoft Windows. Visual Basic merupakan bahasa pemrograman yg sangat gampang dipelajari, menggunakan teknik pemrograman visual yang memungkinkan penggunanya buat berkreasi lebih baik pada menghasilkan suatu program aplikasi. Ini terlihat dari dasar pembuatan pada visual basic adalah FORM, dimana pengguna dapat mengatur tampilan form lalu dijalankan dalam script yang sangat gampang. Ledakan pemakaian Visual Basic ditandai dengan kemampuan Visual Basic buat bisa berinteraksi menggunakan pelaksanaan lain pada dalam sistem operasi Windows menggunakan komponen ActiveX Control. Dengan komponen ini memungkinkan penguna buat memanggil dan memakai seluruh contoh data yang terdapat pada dalam system operasi windows. Hal ini juga ditunjang dengan teknik pemrograman di dalam Visual Basic yang mengadopsi dua macam jenis pemrograman yaitu Pemrograman Visual dan Object Oriented Programming (OOP).

Visual Basic 6.0 sebetulnya perkembangan menurut versi sebelumnya menggunakan beberapa penambahan komponen yg sedang tren saat ini, misalnya kemampuan pemrograman internet dengan DHTML (Dynamic HyperText Mark Language), serta beberapa penambahan fitur database serta multimedia yang semakin baik. Sampai waktu buku ini ditulis sanggup dikatakan bahwa Visual Basic 6.0 masih adalah pilih pertama pada dalam menciptakan acara pelaksanaan yg ada di pasar aplikasi nasional. Hal ini disebabkan oleh kemudahan dalam melakukan proses development menurut aplikasi yg dibuat.

Antar Muka Visual Basic 6.0
Interface antar muka Visual Basic 6.0, berisi pilihan menu, toolbar, toolbox, form, project explorer serta property misalnya terlihat pada gambar  berikut:

Gambar Antarmuka Visual Basic 6

Pembuatan acara aplikasi memakai Visual Basic dilakukan dengan membuat tampilan pelaksanaan pada form, kemudian diberi script acara pada pada komponen-komponen yg dibutuhkan. Form disusun sang komponen-komponen yg berada pada [Toolbox], serta setiap komponen yang digunakan wajib diatur propertinya lewat ventilasi [Property]. Menu pada dasarnya merupakan operasional baku pada dalam sistem operasi windows, seperti membuat form baru, menciptakan project baru, membuka project dan menyimpan project. Di samping itu terdapat fasilitas-fasilitas pemakaian visual basic pada menu. Untuk detail Visual Basic menyediakan bantuan yg sangat lengkap dan lebih jelasnya dalam MSDN. Toolbox berisi komponen-komponen yang bisa dipakai oleh suatu project aktif, artinya isi komponen dalam toolbox sangat tergantung dalam jenis project yg dibangun. Komponen standar pada toolbox bisa dipandang pada gambar  berikut adalah.

Gambar Komponen standarVisual Basic 6

Konsep Dasar Pemrograman Dalam Visual Basic 6.0
Konsep dasar pemrograman Visual Basic 6.0, merupakan pembuatan form dengan mengikuti aturan pemrograman berbasis obyek (OOP), anda perlu memahami kata object, property, method dan event sebagai berikut :
  • Object : komponen di dalam sebuah program
  • Property: Setiap komponen di pada pemrograman Visual Basic bisa diatur propertinya sesuai dengan kebutuhan pelaksanaan. Property yg tidak boleh dilupakan pada setiap komponen merupakan “Name”, yang berarti nama variable (komponen) yang akan digunakan dalam scripting. Properti “Name” ini hanya mampu diatur melalui ventilasi Property, sedangkan nilai peroperti yang lain bias diatur melalui script seperti Command1.caption=”Play”
Text1.text=”Visual Basic”
Label1.visible=False
Timer1.enable=True
  • Metode: Bahwa jalannya program bisa diatur sesuai aplikasi menggunakan memakai metode pemrograman yang diatur sebagai aksi berdasarkan setiap komponen. Metode inilah tempat buat mengekpresikan akal pemrograman dari pembuatan suatu prgram pelaksanaan.
  • Event: Setiap komponen bisa beraksi melalui event, seperti event click dalam command button yang tertulis dalam layar script Command1_Click, atau eventMouse Down dalam picture yang tertulis menggunakan Picture1_MouseDown. Pengaturan event dalam setiap komponen yang akan menjalankan semua metode yang dibuat.
Sebagai ilustrasi anda dapat menganggap sebuah kendaraan beroda empat sebagai obyek yg mempunyai property, method dan event. Perhatikan gambar berikut

Gambar Ilustrasi konsep pemrograman Visual Basic

Implementasinya dalam sebuah aplikasi misalnya anda menciptakan form, maka form tersebut memiliki property, method, dan event. Sebagaimana pemrograman visual lain misalnya Delphi daan Java, VB jua bersifat event driven progamming. Artinya anda bisa menyisipkan kode acara pada event yang dimiliki suatu obyek.

Membuat Project Baru
Untuk memulai pembuatan acara pelaksanaan di pada Visual Basic, yg dilakukan merupakan menciptakan project baru. Project merupakan sekumpulan form, modul, fungsi, data serta laporan yang digunakan pada suatu pelaksanaan. Membuat projrct baru bisa dilakukan dengan menentukan menu [File] >> [New Project]
atau menggunakan menekan ikon [new project] pada Toolbar yang terletak di pojok kiri atas. Setelah itu akan muncul konfirmasi buat jenis project menurut acara pelaksanaan yan akan dibentuk misalnya terlihat dalam gambar berikut.

Gambar Jendela NewProject

Visual Basic 6.0 menyediakan 13 jenis project yg mampu dibentuk seperti terlihat dalam gambar pada atas. Ada beberapa project yg biasa digunakan sang banyak pengguna Visual Basic, antara lain: 
  1. Standard EXE: Project standar dalam Visual Basic menggunakan komponen-komponen baku. Jenis project ini sangat sederhana, namun mempunyai keunggulan bahwa seluruh komponennya bisa diakui sang seluruh unit personal komputer serta seluruh user meskipun bukan administrator. Pada kitab ini akan dipakai project Standard EXE ini, sebagai konsep pemrograman visualnya. 
  2. ActiveX EXE: Project ini merupakan project ActiveX berisi komponen-komponen kemampuan intuk berinteraksi menggunakan semua aplikasi di sistem operasi windows. 
  3. ActiveX DLL: Project ini membentuk sebuah aplikasi library yg selanjutnya bisa dipakai sang seluruh aplikasi pada sistem operasi windows. 
  4. ActiveX Control: Project ini membentuk komponen-komponen baru buat aplikasi Visual Basic yang lain 
  5. VB Application Wizard: Project ini memandu pengguna buat menciptakan aplikasi secara mudah tanpa wajib pusing-pusing menggunakan perintah-perintah pemrograman. 
  6. Addin: Project misalnya Standard EXE tetapi menggunakan banyak sekali macam komponen tambahan yg memungkinkan kebebasan kreasi dari pengguna. 
  7. Data project: Project ini melengkapi komponennya dengan komponen-komponen database. Sehingga sanggup dikatakan project ini memang disediakan untuk keperluan pembuatan pelaksanaan database. 
  8. DHTML Application: Project ini digunakan buat menciptakan aplikasi internet pada sisi client (client side) dengan fungsi-fungsi DHTML. 
  9. IIS Application: Project ini membentuk apliaksi internet pada sisi server (server side) menggunakan komponen-komponen CGI (Common Gateway Interface). 
EVENT DAN PROPERTY
Pemrograman Visual Basic merupakan suatu pemrograman visual, dimana pembuatan program dilakukan memakai media visual atau seringkali dianggap menggunakan user-interface. Yang merupakan bahwa pembuatan acara dari tampilan yg dihasilkan acara, dengan kode-kode program (Script) diletakkan masing-masing komponen.

Gambar User interface

Untuk mengatur letaknya tinggal menggunakan “drag & drop” menggunakan mouse. Program ini belum terselesaikan karena masih perlu pengaturan property dan penambahan event dalam masing-masing komponen buat dapat memberikan tampilan yg bisa diterima oleh user serta dapat menjalankan proses.

a. Mengatur Property
Property dalam tampilan antar muka Visual Basic terletak di sebelah kanan, misalnya gambar  berikut:

Gambar  pengaturan property

Masing-masing komponen mempunyai property yg berbeda dan jumlahnya banyak, tetapi terdapat beberapa property yang tak jarang dipakai dalam setiap komponen, diantaranya [Caption]. Property yang tak jarang digunakan untuk Form diantaranya:
• Name: menyatakan nama obyek form yg sangat berguna untuk memanggil dan menyimpan form.
• Caption: digunakan buat memberikan title pada form.
• StartUpPosition: dipakai buat meletakkan form waktu form tadi dipanggil atau aktif. Ada empat pilihan yaitu: Manual, CenterOwner, CenterScreen, Windows Default,

b. Event Dengan Kode Program
Pemrograman visual bersifat event-driver, yang artinya acara bekerja menurut event yang terjadi waktu suatu object diberikan aksi misalkan tombol ditekan, option dipilih, atau setelah mengetikkan sesuatu dalam text kemudian di tekan [Enter]. Untuk membuat event ini tinggal click dalam komponen dari tampilan user interface yg telah dibuat.

Gambar Event dank ode program

Perhatikan gambar  ketika form pada-click maka akan ada event Load, ini ditimbulkan event default buat form adalah load. Dan secara otomatis di bagian kode acara telah disediakan fungsi untuk event load dalam form yang tertulis:

Private Sub Form_Load()

End Sub

Di dalam fungsi ini dituliskan kode acara. Kode acara ini dijalankan ketika form dipanggil. Event ini sanggup diganti pada bagian [Event], perhatikan bahwa event dalam setiap komponen termasuk form jumlahnya poly, tinggal dipilih sinkron kebutuhan aplikasi.

Komponen yang primer dipakai pada visual basic buat dihubungakan dengan mikrokontroler merupakan :
a. Mscomm, Komponen tersebut menyediakan fasilitas komunikasi antar acara pelaksanaan yg sudah dibuat dengan port serial. Untuk mengirim dan menerima data melalui port serial. Properti yang digunakan PortOpen, yg digunakan buat membuka ataupun menutup port serial yg dihubungkan menggunakan MSComm. Input, digunakan buat mengambil data string yg terdapat dalam buffer penerima. Output, digunakan buat menulis data string dalam buffer kirim. ComEvReceive, telah diterima karakter sebanyak nilai properti Rthereshold. Even ini akan dibangkitkan terus-menerus hingga data diambil berdasarkan buffer penerima menggunakan perintah input. Even ini akan dibangkitkan jika nilai pada properti Rthereshold nir diisi ‘0’

b. Timer, Timer berfungsi sebagai trigger atau pembangkit pada pengiriman data. Tiap waktu timer akan mengecek dan menyesuaikan data yang dikirim sama dengan data yang diterima. Timer akan mendektesi monoton Interval ‘1’ dtk interaksi port serial menggunakan mikrokontroler menggunakan cara personal komputer mengirimkan data nilai () MSComm.output

c. Crystal report, berfungsi menjadi penghubung aplikasi antara visual basic menggunakan aplikasi crystal report. Dalam pelaksanaan di visual basic komponen ini tersedia bila crystal report sudah diinstal.

PENGERTIAN DAN PENJELASAN EAGLE 4.11

Pengertian Dan Penjelasan Eagle 4.11 
Eagle 4.11 merupakan pelaksanaan pembantu buat membuat rangkaian elektronika. Aplikasi tadi sangat gampang dipakai, asalkan saja kita mengetahui nama komponen apa dan komponen mana saja yang wajib dihubungkan. Fasilitas dari pelaksanaan ini dapat dipandang pada gambar pada bawah ini :


Gambar Form schematic Eagle 4.11

Banyak sekali fasilitas yg disediakan oleh eagle pada membantu kita buat menciptakan rangkaian elektronika mengenai jalur-jalur komponen yg digunakan. Dalam penggunaan pelaksanaan ini memiliki dua (dua) form, yang pertama schematic dan board. Schematic merupakan form yg menghubungkan antar komponen menggunakan istilah lain tampilannya hanya berupa symbol komponen yg saling dihubungakan. Sedangkan buat board merupakan tampilan dari schematic yang terhubung dengan jalur yang telah dibuat sampai board ini pada cetak.

PENGERTIAN CODEVISIONAVR

Pengertian CodeVisionAVR 
CodeVisionAVR dalam dasarnya merupakan aplikasi pemrograman microcontroller famili AVR berbasis bahasa C. Ada 3 komponen krusial yg sudah diintegrasikan dalam aplikasi ini: Compiler C, IDE dan Program generator. 

Berdasarkan spesifikasi yg dikeluarkan oleh perusahaan pengembangnya, Compiler C yang dipakai hampir mengimplementasikan seluruh komponen standar yg ada pada bahasa C baku ANSI (seperti struktur acara, jenis tipe data, jenis operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C buat pelaksanaan personal komputer , compiler C buat microcontroller ini memiliki sedikit perbedaan yg disesuaikan menggunakan arsitektur AVR tempat acara C tadi ditanamkan (embedded). 

Khusus buat library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yg sangat berguna pada pemrograman antarmuka AVR dengan perangkat luar yg generik dipakai dalam aplikasi kontrol. Beberapa fungsi library yg penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) serta lain sebagainya. 

Untuk memudahkan pengembangan program pelaksanaan, CodeVisionAVR juga dilengkapi IDE yg sangat user friendly (lihat gambar 1.1). Selain pilihan menu-pilihan menu pilihan yg umum dijumpai dalam setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan software downloader (in system programmer) yang bisa dipakai buat mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller AVR yang sedang deprogram.

CodeVisionAVR 1.dua.4.9 merupakan suatu kompiler berbasis bahasa C, yang terintegrasi buat memprogram serta sekaligus compiler aplikasi AVR (Alf and Vegard’s Risc processor) terhadap mikrokontroler menggunakan sistem berbasis window. CodeVisionAVR ini dapat mengimplematasikan hampir semua interuksi bahasa C yg sinkron menggunakan arsitektur AVR, bahkan masih ada beberapa keunggulan tambahan buat memenuhi keunggulan spesifikasi dari CodeVisionAVR yaitu output kompilasi studio debugger menurut ATMEL. 

Integrated Development Environtment (IDE) telah diadaptasikan pada chip AVR yaitu In-System Programmer aplikasi, memungkinkan programmer buat mentransfer acara ke chip mikrokontroler secara otomatis selesainya proses assembly/kompilasi berhasil. In-System Programmer aplikasi didesign buat bekerja serta bisa berjalan dengan perangkat lunak lain seperti AVR Dragon, AVRISP, Atmel STK500, dan lain sebagainya.

Disamping library baku C, CodeVisionAVR C compiler memiliki librari lain untuk:
  • Modul LCD Alpanumerik
  • Delays
  • Protokol semikonduktor Maxim/Dallas
  • Dan lainnya
CodeVisionAVR pula mempunyai CodeWizardAVR sebagaki generator program otomatis, yg memungkinkan kita buat menulis, segala bentuk pengaturan Chip pada ketika singkat, serta seluruh kode yang diperlukan buat mengimplementasikan fungsi-fungsi seperti:

Pengaturan akses External Memory
Untuk chip-chip AVR yg memungkinkan koneksi memori eksternal SRAM, dapat jua mengatur ukuran memori dan wait state (tahap tunggu) menurut memori waktu memori tersebut diakses.

Identifikasi chip reset source
Adalah suatu layanan dimana kita dapat menciptakan kode secara otomatis yang dapat mengidentifikasi syarat yg mengakibatkan chip pada reset.

Inisialisasi port input/output
Pengaturan port-port yg kan dijadikan gerbang masukan serta keluaran dapat secara otomatis digenerate codenya. Yang kita lakukan hanya memilih port-port yang akan dipakai sebagai input atau output.

Inisialisasi Interupsi external
Pengaturan interupsi eksternal yang nantinya akan digunakan buat menginterupsi program primer 

Inisialisasi timers/counters
Pengaturan timers yg berfungsi buat mengatur frekwensi yg nantinya dipakai dalam interupsi.

Inisialisasi timer watchdog
Pengaturan timers yang berfungsi buat mengatur frekwensi yang nantinya dipakai dalam interupsi, sebagai akibatnya interupsi akan dilayani oleh suatu fungsi wdt_timeout_isr .

Inisialisasi UART(USART) serta komunuikasi serial 
Pengaturan komunikasi serial menjadi penerima atau pengirim data.

Inisialisasi komparasi analog
Pengaturan yang berkaitan menggunakan masukan data yang digunakan pada pelaksanaan yg membutuhkan komparasi pada ADC nya.

Inisialisasi ADC
Pengaturan ADC(Analog-Digital Converter) yang berfungsi buat merubah format analog sebagai format digital untuk diolah lebih lanjut.

Inisialisasi antarmuka SPI
Pengaturan chip yang berkaitan menggunakan Clock rate, Clock Phase, dan lainnya.

Inisialisasi antarmuka Two Wire BUS
Pengaturan Chip yang berhubungan dengan pola jalur komunikasi antara register yang terdapat dalam chip AVR. 

Inisialisasi antarmuka CAN
Pengaturan chip yg lebih kompleks, yg dapat mengatur interupsi, transmisi data, timers, serta lainnya.

Inisialisasi sensor temperatur, thermometer, serta lainnya
Pengaturan yang berhubungan dengan sensor temperatur one wire bus, mempunyai fungsi-fungsi yg terdapat pada librari CodeVisionAVR.

Inisialisasi one wire bus
Pengaturan yang berhubungan dengan sensor temperatur yg mempunyai fungsi-fungsi yg terdapat dalam librari CodeVisionAVR. Seperti Maxim/Dallas Semiconductor.

Inisialisasi modul LCD
Pengaturan port-port yg kan dipakai menjadi penghubung dengan LCD alphanumerik.

Contoh cara kerja sebelum melakukan pemograman pada AVR, dimana model disini merupakan contoh pengaturan acara agar mikrokontroler dapat berkomunikasi menggunakan komputer:
a. Memilih project baru serta melakukan penyetingan komponen yang digunakan dalam board.
b. Pengaturan IC/Chip, dalam chip yang kita wajib dilakukan merupakan IC apa yg kita gunakan, dalam hal ini ATMEGA8535l menggunakan Clock 16 MHz. Clock ini wajib pada atur dengan berukuran 16 MHz, karena dalam komponen oksilator yg dipakai sebesar 16 MHz. 
c. Pengaturan ADC, dalam ADC ini terdapat beberapa pilihan yg wajib dipilih. Antara lain ADC Enable di check list(v), Use 8 bit di check list(v), high speed di check list (v) dan Volt Ref dipilih ‘AVCC PIN’. AVCC PIN bermanfaat sebagai referensi tegangan dalam ADC buat nilainya sebanyak lima volt.
d. Pengaturan USART, usart ini yg nantinya menghubungkan rangkaian mikrokontroler menggunakan PC (personal komputer ). Langkah-langkah yang dilakukan dengan adanya pilihan Receiver pada check list(v) dan Transmitter pada check list(v). Pengaturan receiver berfungsi apakah serial itu sebagai penerima data, sedangkan transmitter berfungsi serial mampu dipakai sebagai pengiriman data.

Untuk lebih jelas tampilan pengaturan yg disediakan oleh AVR dapat ditinjau dalam gambar dibawah ini :

Gambar Form Pegaturan CodeVisionAVR

Selain bentuk konfigurasi hadware yang nantinya secara otomatis akan membangun sebuah instruksi layaknya perintah acara ke IC/Chip, adapula perintah program yang kita ketik sendiri. 

Selain itu, CodeVisionAVR pula menyediakan sebuah tool yang dinamakan menggunakan Code Generator atau CodeWizardAVR (lihat gambar dua.1). Secara simpel, tool ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer pada peng-inisialisasian register-register yg masih ada dalam microcontroller AVR yang sedang diprogram. Dinamakan Code Generator, karena aplikasi CodeVision ini akan membangkitkan kode-kode acara secara otomatis selesainya fase inisialisasi pada ventilasi CodeWizardAVR terselesaikan dilakukan. Secara teknis, penggunaan tool ini dalam dasarnya hampir sama menggunakan application wizard pada bahasa-bahasa pemrograman Visual buat personal komputer (misalnya Visual C, Borland Delphi, dan sebagainya).

Disamping versi yang komersil, Perusahaan Pavel Haiduc jua mengeluarkan CodeVisionAVR versi Demo yg dapat didownload dari internet secara perdeo (lihat alamat URL: //www.hpinfotech.ro) Dalam versi ini, memori flash yang dapat diprogram dibatasi maksimal 2K, selain itu nir semua fungsi library yang tersedia bisa dipanggil secara bebas.

Seperti halnya belajar pemrograman personal komputer , supaya menerima pemahaman yg bertenaga pada pemrograman microcontroller AVR, anda sebaiknya mencoba pribadi membuat aplikasi program pada microcontroller tersebut. Untuk tujuan latihan, software CodevisionAVR versi demo dalam dasarnya adalah wahana yang cocok serta sudah relatif memenuhi kebutuhan minimal anda. Gambar 1.4. Berikut menerangkan diagram blok yg mengilustrasikan alur pemrograman microcontroller AVR menggunakan CodevisionAVR yg bisa anda lakukan :

Gambar  Alur pemrograman microcontroller AVR menggunakan menggunakan CodevisionAVR


Seperti terlihat dalam gambar dua.2, CodevisionAVR pada dasarnya sudah mengintegrasikan komponen-komponen penting pada pemrograman microcontroller AVR: Editor,Compiler C, assembler serta ISP (In System Programmer). Khusus menggunakan ISP, ada beberapa jenis perangkat keras programmer dongle (berikut papan pengembangnya) yang telah didukung oleh perangkat lunak CodevisionAVR ini, galat satu diantaranya merupakan Kanda System STK 200/300 produk Perusahaan Kanda yg terhubung pada saluran antarmuka port Paralel Komputer. 

Jika anda berencana membuat dongle yg kompatible menggunakan produk Kanda, rangkaiannya bisa dicermati dalam situs:http:\www.grandtonics.com. Atau jika mau membeli sistem yg siap gunakan (berupa dongle beserta papan pengembangnya), galat satu produk pada negeri menggunakan harga yang relative murah merupakan DT AVR nano/micro System dialamat URL:http//www.innovative_electronic.com., Sistem ini kompatibel menggunakan kanda System STK 200/300. Untuk tujuan-tujuan percobaan, produk innovative_electronic ini telah sangat memadai, selain mudah dihubungkan menggunakan modul-modul perangkat input/output, misalnya modul LCD, keypad, array LED, penggerak motor stepper, dan sebagainya, sistem ini pula telah dilengkapi konverter TTL ke RS232 yang berguna buat komunikasi microcontroller AVR menggunakan komputer. 

Berkaitan dengan software downloader, pada dasarnya anda dapat menggunakan aplikasi lain (pada luar CodeVisionAVR) untuk keperluan transfer kode mesin kedalam sistem memori microcontroller AVR. Salah satunya merupakan ISP_AVR yg dibentuk sang Holger Buss serta Ingo Busker berdasarkan Jerman. Perangkat lunak beserta rangkaian antarmukanya bisa pada-download secara perdeo dalam alamat URL: //www.mikrocontroller.com

MIKROKONTROLER AVR DAN BAHASA C
Tak bisa disangkal, dewasa ini penggunaan bahasa pemrograman aras tinggi (seperti C, Basic, Pascal dan sebagainya) semakin populer serta banyak dipakai buat memprogram sistem microcontroller. Berdasarkan sifatnya yang sangat fleksibel pada hal keleluasaan pemrogram buat mengakses perangkat keras, Bahasa C merupakan bahasa pemrograman yg paling cocok dibandingkan bahasa-bahasa pemrograman aras tinggi lainnya. 

Dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomson dalam tahun 1972, Bahasa C merupakan galat satu bahasa pemrograman yg paling terkenal buat pengembangan program-acara pelaksanaan yang berjalan pada sistem microprocessor (komputer). Karena kepopulerannya, vendor-vendor perangkat lunak lalu mengembangkan compiler C sehingga menjadi beberapa varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C dan lain sebagainya. Untuk menjaga portabilitas, compiler-compiler C tersebut menerapkan ANSI C (ANSI: American National Standards Institute) menjadi standar bakunya. Perbedaan antara compiler-compiler tadi umumnya hanya terletak dalam pengembangan fungsi-fungsi library dan fasilitas IDE (Integrated Development Environment)–nya saja. 

Relatif dibandingkan menggunakan bahasa aras tinggi lain, bahasa C merupakan bahasa pemrograman yg sangat fleksibel dan nir terlalu terikat dengan banyak sekali aturan yg sifatnya kaku. Satu-satunya hal yg membatasi penggunaan bahasa C dalam sebuah pelaksanaan adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai gambaran, pada program C kita dapat saja secara bebas menjumlahkan karakter huruf (misal ‘A’) menggunakan sebuah sapta bulat (misal ‘dua’), dimana hal yang sama nir mungkin dapat dilakukan menggunakan menggunakan bahasa aras tinggi lainnya. Lantaran sifatnya ini, sering bahasa C dikatagorikan sebagai bahasa aras menengah (mid level language).

Dalam kaitannya menggunakan pemrograman microcontroller, Tak pelak lagi bahasa C waktu ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama buat program microcontroller yang berukuran nisbi akbar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C dalam pemrograman mempunyai beberapa kelebihan berikut: Mempercepat ketika pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah kode acara output kompilasi akan relative lebih besar (serta sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi). 

Khusus dalam microcontroller AVR, buat mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien pada mendekode serta mengeksekusi instruksi-instruksi yg umum dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur AVR ini tidak dilakukan sendiri oleh perusahaan Atmel namun terdapat kolaborasi dengan galat satu vendor pemasok compiler C buat microcontroller tersebut, yaituI ARC).

Seperti halnya compiler C buat sistem microprocessor, di pasaran ada beberapa varian compiler C buat memprogram sistem microcontroller AVR yang dapat dijumpai (lihat tabel 2.dua). 

Dengan beberapa kelebihan yg dimilikinya, saat ini CodeVisionAVR produk Perusahaan Pavel Haiduc merupakan compiler C yang relative poly dipakai dibandingkan compiler-compiler C lainnya. 

Bahasa C sudah dikritisi secara meluas, serta banyak orang dengan cepat menemukan masalahnya. Tapi sebagai bahasa yg telah hadir, C permanen tidak tersentuh. CodeVisionAVR adalah galat satu yang memanfaatkan keunggulan C dalam hal pemrograman mikrokontroler. Salah satu ungkapan menyatakan bahwa “jika kamu membuat perangkat lunak yg akan tetap layak suatu hari nanti, jangan belajar bahasa yang popular ketika ini, pelajarilah C”.

C tidak membatasi pandangan orang mengenai sebuah bahasa pemrograman. C nir object oriented, namun kita dapat menerapkan konsep objek oriented padanya. Bukan pula bahasa fungsional, tetapi kita dapat dapat menerapkan pemrograman fungsional menggunakannya. Kebanyakan interpreter LISP serta skema interpreters-interpreters/compiler-kompiler ditulis menggunakan menggunakan C. Kita dapat memproses list menggunakan C, meski tak semudah menggunakan LISP. C jua mempunyai fitur-fitur tambahan seperti rekursi, mekanisme sebagai tipe data kelas pertama, serta poly lagi. 

Banyak orang yang mencicipi C kekurangan akan kemudahan seperti JAVA, atau C++. Padahal C merupakan bahasa yg sederhana. Tapi lantaran kesederhanaan ini dianggap kurang memadai sebagai akibatnya membuat C diubahsuaikan menjadi ta’aruf pertama ke tahap bahasa taraf tinggi yang kompleks yg memungkinkan kita mengontrol dengan baik apa yang kita acara tanpa fitur yang disembunyikan. Compiler tidak akan melakukan apapun hingga kita memerintahkan buat melakukan sesuatu. Bahasa yang terdapat adalah transparan, bahkan bila beberapa fitur menurut JAVA seperti garbage collection diikutsertakan dalam implementasi C yang akan digunakan. Sebagai bahasa pemrograman, C tetap terdapat. Ini adalah inti menurut development dilingkungan system operasi UNIX. Dan jua inti menurut revolusi mikrokomputer, diantara C++, Delphi, JAVA serta lainnya, C masih tetap bertahan,dengan karakteristiknya sendiri.

Pada beberapa tahun yang kemudian, the Electrical and Computer Engineering Technology department di Purdue University telah mempelajai bahasa pemrograman C sebagai bahasa yang dipilih buat mengenalkan mikrokontroler. Mengajarkan Bahasa taraf tinggi dalam ta’aruf mikrokontroler dalam referensi suatu bahasa taraf assembly merupakan sesuatu yg paradoksal pada suatu intitusi yg memiliki acara yang sama. Penggunaan Bahasa taraf tinggi memungkinkan buat focus dalam materi dan konsep dan tidak jemu menggunakan melihat lebih jelasnya listing assembly. Salah satu perbedaannya merupakan bahasa tingkat tinggi memungkinkan buat menuliskan eksklusif nilai pada register, memindahkan data melalui multiple operations dengan assembly.

Just-in-time (JIT) mengajarkan metode yang digunakan buat mengenalkan komponen baru dalam Bahasa pemrograman C seperti yg diharapkan. Pada prakteknya pokok masalah dipresentasikan, selesainya itu disusun prosedur pemecahan serta dievaluasi. Setelah itu dituangkan kedalam gambar sebagai diagram alir proses. Lalu menggunakan mudah diterjemahkan kedalanm bahasa C. Misalnya itulah dasar menurut mikrokontroler.

Lebih menurut 10 tahun, beratus juta mikrokontroler, suatu mikrokomputer yang mengandung perangkat ini dan memori didalam suatu single integrated circuit (IC) beserta CPU, sudah disertakan pada perkembangan produk-produk dari keyboard hingga system control automobile (Ayala, 2000). 

Bahasa taraf tinggi semakin tinggi sebagai metodologi baku buat mikrokontroler terapan berdasar dalam perkembangan dan improvisasi jaman dan pasar serta dukungan perawatan yang sederhana (Myklebust, N.D.). Untuk permanen sejajar menggunakan perubahan jaman, bahasa tingkat tinggi menjadi perlengkapan pada memperkenalkan mikrokontroler sebagai bagian berdasarkan kurikulum dalam the Electrical and Computer Engineering Technology curriculum pada Purdue University, West Lafayette.

KEUNTUNGAN PEMROGRAMAN TINGKAT TINGGI
Telah dipercaya pada era mikrokontroler ketika ini bahwa bahasa assembly adalah satu-satunya pilihan buat menciptakan kode untuk suatu pelaksanaan.ruang yg sangat terbatas pada chip buat data dank ode program tidak terjadi apabila menggunakan bahasa tingkat tinggi (Stewart & Miao, 1999). Sejarah bahasa tingkat tinggi menghasilkan berukuran kode yang lebih besar dibandingkan assembly yang mempengaruhi kecepatan eksekusi. Selama beberapa tahun terakhir, compiler sudah menyatakan kepada pasar menggunakan menjamin bahwa bisa menghasilkan kode seefisien assembly (Stewart & Miao, 1999).pada tahun-tahun berikutnya, compiler melakukan perkembangan yang lebih luas didunia mikrokontroler dengan menaikkan fungsionalitas serta kecepatan.

Terdapat beberapa keunggulan menggunakan Bahasa tingkat tinggi antara lain yaitu bisa memangkas saat pembangunan aplikasi menjadi lebih singkat, kemudahan perawatan serta ringkas, kemudahan reuse kode. Bahasa tingkat tinggi memungkinkan programmer buat mengatasi objek yang kompleks tanpa khawatir mengenai lebih jelasnya komponen prosesor dalam ketika acara berjalan. (Darnell & Margolis, 1991). Menulis program bahasa taraf tinggi membebaskan programmer menurut kekhawatiran tentang lebih jelasnya taraf rendah suatu acara (Reisdorph, 1998).

PEMROGRAMAN C DAN MIKROKONTROLER
Pembangunan Perangkat lunak menggunakan mikrokontroler membutuhkabn suatu pendekatan terstruktur dengna pemrograman. Banyak system terapan wajib berjalan 24 jam sehari, 7 hari pada satu minggu, dan 365 pada satu tahun. Mereka tidak bisa di reboot ketika terjadi sesuatu kwesalahan. Untuk alas an ini, baris kode yang baik dipelajari dan melalui ujicoba menghasilkan taraf keutamaan yg baru pada fenomena mikrokontroler terapan (Lewis, 2002). Fasilitas bahasa C yang terstruktur dan disiplin(utuh) menjadi pendekatan pada design program computer (Deitel & Deitel, 1992). Berdasar dalam MacKenzie, keuntungan mengadopsi pendekatan terstruktur pada pemrograman meliputi antara lain: urutan operasi suatu program begitu sederhana buat ditelusuri melalui fasilitas debugging, urutannya yang terstruktur membuat gampang buat dijadikan sub rutin atau fungsi-fungsi, struktur yg ada sebagai dokumentasi sendiri serta memudahkan buat mengungkapkan memakai diagram alir, dan pemrograman yg terstruktur membentuk peningkatan produktifitas programer (1991).

Mungkin alasan yg paling memaksa buat memakai bahasa taraf tinggi adalah menyimpan ketika programmer. Compiler C didukung oleh pustaka(library) acara C yang mengusung banyak fitur seperti matematika dan penanganan karakter. Menggunakan fungsi standar ini program-program Cmemudahkan programmer buat menulis, menguji coba serta mereka ulang versi yg sama (Ayala, 2000). Meskipun pustaka fungsi baku adalah teknikal bukan bagian menurut bahasa C, mereka didukaung tanpa terkecuali oleh system ANSI milik C (Deitel & Deitel, 1992).

SEJARAH MIKROKONTROLER DAN PERKEMBANGAN

Sejarah Mikrokontroler Dan Perkembangan 
Karena kebutuhan yg tinggi terhadap “chip-chip pandai ” menggunakan banyak sekali fasilitasnya, maka banyak sekali vendor juga berlomba buat menawarkan produk-produk mikrokontrolernya. Hal tersebut terjadi semenjak tahun 1970-an. 

Mikrokontroler pertama kali dikenalkan oleh Texas Instrument menggunakan seri TMS 1000 pada tahun 1974 yg merupakan mikrokontroler 4 bit. Pada tahun 1976 Intel mengeluarkan mikrokontroler yg kelak sebagai populer menggunakan nama 8748 yang adalah mikrokontroler 8 bit, yg merupakan mikrokontroler dari famili MCS 48. Sekarang dipasaran poly sekali ditemui mikrokontroler mulai menurut 8 bit hingga menggunakan 64 bit, sehingga disparitas antara mikrokontroler dan mikroprosesor sangat tipis. Masing-masing vendor mengeluarkan mikrokontroler menggunakan dilengkapi fasilitas-fasilitas yang cenderung memudahkan user buat merancang sebuah sistem dengan komponen luar yg nisbi lebih sedikit. Saat ini mikrokontroler yang poly tersebar dipasaran Yogyakarta merupakan mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dimuntahkan sang Atmel menggunakan seri AT89Sxx, serta mikrokontroler AVR yg merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, menggunakan masing-masing mempunyai fitur yg tidak sama). Dengan mikrokontroler tadi pengguna (pemula) sudah sanggup menciptakan sebuah sistem buat keperluan sehari-hari, misalnya pengendali peralatan rumah tangga jeda jauh yg menggunakan remote control televisi, radio frekuensi, maupun memakai ponsel, menciptakan jam digital, termometer digital serta sebagainya.

Motorola mengeluarkan seri mikrokontroler 6800 yg terus dikembangkan hingga kini menjadi 68HC05, 68HC08, 68HC11, 68HC12, serta 68HC16. Zilog jua mengeluarkan seri mikroprosesor Z80-nya yang terkenal dan terus dikembangkan hingga sekarang sebagai Z180 serta lalu diadopsi jua oleh mikroprosesor Rabbit. Intel mengeluarkan mikrokontrolernya yang populer pada global yaitu 8051, yang lantaran begitu populernya maka arsitektur 8051 tersebut lalu diadopsi sang vendor lain seperti Phillips, Siemens, Atmel, dan vendor-vendor lain dalam produk mikrokontroler mereka. Selain itu masih ada mikrokontroler terkenal lainnya misalnya Basic Stamps, PIC dari Microchip, MSP 430 dari Texas Instrument serta masih banyak lagi. 

Selain mikroprosesor dan mikrokontroler, sebenarnya telah bemunculan chip-chip pandai lain misalnya DSP prosesor serta Application Spesific Integrated Circuit (ASIC). Di masa depan, chip-chip mungil berkemampuan sangat tinggi akan mendominasi semua desain elektro di dunia sehingga mampu memberikan kemampuan komputasi yg tinggi dan meminimumkan jumlah komponen-komponen konvensional. 

MENGAKSES MIKROKONTROLER 
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen eksternal yg kemudian disebut dengan sistem minimum. Untuk menciptakan sistem minimal paling tidak dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu: 
  • Sistem minimal mikrokontroler. 
  • Software pemrograman dan kompiler, serta downloader. 
Yang dimaksud menggunakan sistem minimal merupakan sebuah rangkaian mikrokontroler yang sudah dapat digunakan buat menjalankan sebuah aplikasi. Sebuah IC mikrokontroler tidakakan berarti jika hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR mempunyai prinsip yg sama, yang terdiri dari 4 bagian, yaitu : 
  • Prosesor, yaitu mikrokontroler itu sendiri. 
  • Rangkaian reset agar mikrokontroler dapat menjalankan program mulai berdasarkan awal. 
  • Rangkaian clock, yang dipakai buat memberi detak dalam CPU. 
  • Rangkaian catu daya, yang dipakai untuk memberi sumberdaya. 
Pada mikrokontroler jenis eksklusif (AVR misalnya), poin2 pada no dua ,3 telah tersedia didalam mikrokontroler tadi menggunakan frekuensi yg telah diseting berdasarkan vendornya, sebagai akibatnya pengguna tidak perlu memerlukan rangkaian tambahan, namun apabila ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi menggunakan PC atau handphone), maka pengguna hs arumenggunakan rangkaian clock yg sesuai menggunakan karakteristik PC atau HP tadi.

Sistem Polling serta InterupsiPolling sebenarnya bukan suatu fitur , ini adalah sesuatau yg harus dilakukan apabila mikrokontroler yang dipilih nir mempunyai interupsi. Polling merupakan teknik software dimana kontroler secara terus menerus menanyakan suatu perangkat jika membutuhkan servis.perangkat menciptakan suatu pertanda waktu data siap buat ditransfer ke kontroler, dimana kontroler akan melihat pool berikutnya. Beberapa perangkat dapat dipolled dengan sukses, dengan kontroler yg meloncat kepada rutin program yg lain, tergantung pada flag mana yg sudah diset.

Dasar berdasarkan polling adalah setiap fungsi menggunakan tipe round-robin buat menanyakan ketika mereka pada keadaan yg membutuhkan sebuah servis, kita bisa menciptakan mereka (prosedure/fungsi) memanggil fungsi mereka sendiri ketika prosedure tersebut membutuhkan penanganan lain. Ini diklaim dengan “interupt”, waktu perangkat menginterupsi hukuman program utama. Prosesor lalu akan merogoh ketika buat keluar dari eksekusi program normal untuk menguji source interrupt dan mengambil aksi eksklusif. Setelah itu, eksekusi acara normal dilanjutkan. Sebuah servis interrupt dengan kata lain seperti sebuah sub-rutin, buat melakukan perintah lain yg sebelumnya tidak dijalankan sebagai akibatnya dapat diantisipasi oleh prosesor buat menyesuaikan sebagian waktu, buat mengeksekusi perintah baru serta menghentikan acara primer yang kemudian dijalankan pulang bila nir terdapat pemanggilan prosedur lain dalam badan program.

Pemakaian prioritas interupsi pada atas memiliki beberapa peraturan yg tercantum dibawah ini:
(a). Tidak ada interupsi yg menginterupsi interupsi prioritas tinggi.
(b). Interupsi prioritas tinggi boleh menginterupsi interupsi prioritas rendah.
(c). Interupsi prioritas rendah boleh terjadi apabila nir ada interupsi lain yg sedang dijalankan.
(d). Apabila 2 interupsi terjadi dalam ketika bersamaan, interupsi yang memiliki prioritas lebih tinggi akan dikerjakan terlebih dahulu. Apabila keduanya memiliki prioritas sama, maka interupsi yg berada pada urutan polling akan dikerjakan terlebih dahulu.

Mikrokontroler ATMEL secara otomatis akan menguji apakah sebuah interupsi bias terjadi sehabis setiap instruksi dikerjakan. Pengecekan ini mengikuti suatu alur yang diklaim dengan Polling Sequence dengan urutan:
  • Interupsi Eksternal 0
  • Interupsi Timer 0
  • Interupsi Eksternal 1
  • Interupsi Timer 1
  • Interupsi serial
Ini berarti jika sebuah interupsi serial terjadi dalam waktu bersamaan dengan interupsi eksternal 0, maka interupsi eksternal 0 akan dikerjakan terlebih dahulu dan interupsi serial baru akan dikerjakan selesainya pengerjaan rutin interupsi eksternal 0 terselesaikan dilakukan.

PERBEDAAN MIKROKONTROLER DENGAN MIKROPROSESOR

Perbedaan Mikrokontroler Dengan Mikroprosesor 
Terdapat perbedaan yang signifikan antara mikrokontroler serta mikroprosessor. Perbedaan yang primer antara keduanya bisa dipandang berdasarkan 2 faktor utama yaitu arsitektur perangkat keras (hardware architecture) serta pelaksanaan masing-masing. 

Ditinjau berdasarkan segi arsitekturnya, mikroprosesor hanya merupakan single chip CPU, sedangkan mikrokontroler pada IC-nya selain CPU jua terdapat device lain yg memungkinkan mikrokontroler berfungsi menjadi suatu single chip computer. Dalam sebuah IC mikrokontroler sudah masih ada ROM, RAM, EPROM, serial interface dan paralel interface, timer, interrupt controller, konverter Anlog ke Digital, dan lainnya (tergantung feature yg melengkapi mikrokontroler tersebut).

Sedangkan dari segi aplikasinya, mikroprosessor hanya berfungsi sebagai Central Processing Unit yang menjadi otak komputer, sedangkan mikrokontroller, pada bentuknya yg kecil, dalam biasanya ditujukan buat melakukan tugas–tugas yg berorientasi kontrol dalam rangkaian yg membutuhkan jumlah komponen minimum serta porto rendah (low cost).

APLIKASI MIKROKONTROLER 
Karena kemampuannya yg tinggi, bentuknya yang mini , konsumsi dayanya yg rendah, dan harga yang murah maka mikrokontroler begitu banyak dipakai di global. Mikrokontroler digunakan mulai berdasarkan mainan anak-anak, perangkat elektro tempat tinggal tangga, perangkat pendukung otomotif, alat-alat industri, peralatan telekomunikasi, peralatan medis dan kedokteran, hingga menggunakan pengendali robot dan persenjataan militer. 

Terdapat beberapa keunggulan yg diperlukan menurut indera-indera yg berbasis mikrokontroler (microcontroller-based solutions) : 
  • Kehandalan tinggi (high reliability) serta kemudahan integrasi dengan komponen lain (high degree of integration) 
  • Ukuran yg semakin bisa diperkecil (reduced in size) 
  • Penggunaan komponen dipersedikit (reduced component count) yang jua akan mengakibatkan biaya produksi dapat semakin ditekan (lower manufacturing cost) 
  • Waktu pembuatan lebih singkat (shorter development time) sehingga lebih cepat juga dijual ke pasar sinkron kebutuhan (shorter time to market) 
  • Konsumsi daya yg rendah (lower power consumption)

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