Tinjauan Pustaka T1 682008002 Full text

pengerjaan data access, karena hanya bisa mereferensi dari salah satu layer. Sebagai batasan dalam penelitian ini, penerapan teknologi WPF hanya untuk desktop dan data layer menggunakan Reflection .NET.

2. Tinjauan Pustaka

Berhubungan dengan perancangan Arsitektur Multi-Tier pada Sistem Informasi Akuntansi adalah desain Buku Besar pada PT. Shangyang Perkasa yang dilakukan oleh Budiman. Perusahaan ini menjalankan bisnisnya di bidang kesehatan. Produk yang dihasilkan merupakan produk-produk makanan dan minuman kesehatan yang menjangkau di setiap titik kritis tahap pertumbuhan dan perkembangan manusia. Produk-produk yang dihasilkan berupa susu untuk bayi, anak-anak, remaja, ibu hamil dan menyusui, beberapa kebutuhan khusus kaum manula, serta biskuit dan sereal bayi. PT. Shangyang Perkasa menggunakan desain Arsitektur Multi-Tier untuk mengintegrasikan dalam penyusunan buku besar [2] Penelitian yang lainnya, yaitu pada jurnal dengan judul Sistem Monitoring Mahasiswa Menggunakan WPF dan Web Service yang dilakukan oleh Khanna. Implentasi WPF pada penelitiaan ini menyajikan kegunaan WPF untuk mengembangan aplikasi klien dengan cara baru. WPF memberikan tampilan dan nuansa yang sama untuk designer dan developer, dimana sebelumnya bekerja secara sendiri- sendiri. Dengan WPF, developer diberikan beberapa kemudahan untuk merancang dan mengembangkan aplikasi berbasis WPF [3]. Perbedaan penelitian ini dari penelitian – penelitian terdahulu adalah dalam penelitian ini, penulis ingin merancang sebuah aplikasi yang bisa diterapkan dalam Koperasi Simpan Pinjam Harta Sentosa Salatiga. Dalam penerapan arsitektur multi-tier, menggunakan teknologi WPF pada bagian presentation- tier dan Reflection .NET untuk pembagian pengerjaan dalam pengkodean pada data-tier. Multi-tier Arsitektur multi-tier sebagai sebuah arsitektur aplikasi yang memiliki komponen software yang berbeda, terorganisasi pada tiers, menyediakan fungsi yang terdedikasi [4]. Sebuah arsitektur multi-tier adalah arsitektur tiga-tingkat yang terdiri dari manajemen data layer kebanyakan meliputi satu atau beberapa database server, business logic dan presentation tier fungsi UI. Secara konsep, hasil arsitektur multi-tier adalah pengembangan dari aplikasi client server. Tier adalah layer fisik yang terpisah dari sistem yang lebih besar, biasanya tier – tier tersebut di bagi menjadi 3 yaitu Presentation Tier, BusinessMiddle-Tier dan Data Tier . Gambar 1 Arsitektur multi-tier [4] Ciri khas dalam arsitektur multi-tier adalah pemisahan antara data tier data tier , business-tier, dan client-tierpresentation-tier. Manfaat utama dari aplikasi multi-tier adalah setiap tingkatan dapat digunakan pada heterogen yang berbeda dan didistribusikan platform. Performa setiap bagian, terutama untuk tingkat aplikasi, didukung dengan mendistribusikan permintaan di server aplikasi yang berbeda. Model three-tier menambahkan komponen ketiga diantara aplikasi client dengan aplikasi server yang disebut middle tier atau layanan bisnis. Oleh karena itu, dalam model ini pemrosesan dibagi di antara tiga lapisan atau lebih. Hal ini dapat diimplementasikan oleh operator yang menerima panggilan dari lapisan berikutnya yang lebih tinggi. Ketika arsitektur multi-tier yang digunakan dalam bisnis konteks, setiap layer harus mendukung interaksi transaksional. Karena distribusi software bawaan komponen di seluruh lapisan dan berpotensi bahkan dalam setiap lapisan, transaksi terdistribusi diperlukan. Keuntungan menggunakan arsitektur multi-tier diantaranya adalah pengkodean yang teratur secara logika, lebih mudah pada saat maintenance, lebih mudah dalam menggunakan kembali kode yang sudah dibuat, lebih mudah dalam pembagian pengerjaan secara berkelompok, dan tingkat kejelasan dalam pengkodean. Presentation-tier berisi komponen yang menerapkan dan menampilkan user interface dan mengelola interaksi pengguna. Lapisan ini mencakup kontrol untuk input pengguna dan tampilan, selain komponen yang mengatur interaksi pengguna. Di dalam komponen presentation tier mencangkup User Interface Component yang digunakan untuk menampilkan informasi untuk user dan Presentation Logic Component yang mengenkapsulasi data dari business layer atau presentation entity yang mengenkapsulasi business logic dan data di dalam sebuah form untuk mempermudah di pakai oleh presentation layer. Jenis aplikasi yang berbeda juga mempengaruhi penerapan teknologi yang berbeda, untuk dapat digunakan dalam presentation layer. Dalam penelitian ini, teknolgi yang akan di pakai adalah Windows Presentation Foundation WPF untuk mengembangkan pada bagian presentation tier. Windows Presentation Foundation WPF adalah salah satu fitur dari .Net Framework 3.0 yang didesain untuk mengganti fungsi Graphics Device Interface GDI. WPF dibuat berdasarkan DirectX sehingga membuat User Interface UI yang transparan, tombol yang unik, manjadi hal yang mudah. WPF dapat dibuat dengan menggunakan Extensible Application Markup Language XAML, yaitu XML yang khusus digunakan untuk pembuatan WPF. Dalam pembuatan WPF, setiap file XAML memiliki Code Behind masing-masing sehingga dapat terlihat jelas pemisahan antara bagian desain dengan bagian business logic. Sebelum WPF dibuat, menciptakan tampilan bagi pengguna windows akan membutuhkan beberapa teknologi yang berbeda. Berikut adalah gambar yang memperlihatkan perbedaan tersebut. Gambar 2. Perbedaan tiap teknologi [5] Windows Presentation Foundation atau WPF adalah sebuah subsistem grafis didalam .NET Framework 3.0 atau yang lebih baru dan berkaitan secara langsung dengan bahasa aplikasi XAML. XAML adalah singkatan dari extensible application markup language. XAML digunakan secara ekstensif di dalam teknologi .NET Framework 3.0, khususnya Windows Presentation Foundation WPF dan Windows Workflow Foundation WF. Di dalam WPF, XAML digunakan sebagai sebuah bahasa markup interface pengguna untuk mendefinisikan elemen interface pengguna, data binding, eventing, dan fitur-fitur lain. Dalam WF, workflow dapat didefinisikan dengan menggunakan XAML. Elemen XAML memetakan langsung ke instance objek Common Language Runtime , sementara atribut XAML memetakan ke properti dan event Common Language Runtime di atas objek-objek tersebut. File XAML dapat diciptakan dan disunting dengan alat desain visual semacam Microsoft Expression Blend , Microsoft Visual Studio, dan desainer visual Windows Workflow Foundation yang dapat di-hosting-kan. XAML juga dapat diciptakan dan disunting dengan penyunting teks standar, penyunting kode semacam XAMLPad dan Kaxaml , atau dengan penyunting grafis semacam Vectropy File XAML dapat dikompilasi ke dalam file .baml Binary XAML yang dapat dimasukkan sebagai sumber daya ke dalam assembly .NET Framework. Pada saat run-time, mesin framework mengekstrak file .baml dari assembly tersebut, mem-parse, dan menciptakan sebuah pohon visual WPF atau workflow. Berbeda dengan Windows Forms, WPF memanfaatkan dan mengeksploitasi DirectX 9.0, tetapi dikemas menjadi API yang terstruktur yang secara pemakaian sama dengan pemakaian class-class pada Windows Forms. Gambar 3 Arstitekur Windows Presentation Foundation [6] Inti dari arsitektur Windows Presentation Foundation adalah Presentation Framework, Presentation Core dan MIL. Dari ketiga bagian inti tersebut, MIL Core adalah bagian yang tidak teratur karena dapat berhubungan dengan DirectX lebih dekat. MIL Core sendiri berada disekitar DirectX dan dapat berhadapan langsung dengan CLR Common Language Runtime . Presentation Core mengandung semua dari class dan interface dari setiap form yang berbasis WPF. Presentation Core sendiri tidak mengandung user interface control, lebih seperti pondasi dari setiap control yang dibuat.Presentation Framework adalah subsistem dari komponen user interface yang mempunyai lebih banyak library dari setiap control yang dapat digunakan pada WPF. Komponen lain yang ada pada gambar 3 selain yang di beri warna hitam tidak begitu penting, karena tidak terkait khusus dengan WPF. Kernel menyediakan low-level operating system services seperti input dan output pada umumnya. User32 menyediakan aplikasi untuk menciptakan graphical user interface GUI . Ketika membuat sebuah aplikasi, dibutuhkan untuk memulai dengan logical architecture yang mengklarifikasi aturan dari setiap komponen yang dibutuhkan, membagi secara functionality, jadi bisa membagi pengerjaan secara tim untuk bekjerja bersama secara efektif dan memudahkan untuk melakukan perawatan terhadap sistem. Logical archiutecture juga harus memiliki layer yang mencukupi untuk fleksibel dalam memilih sebuah physical architecture setelah logical architecture terpenuhi. Business Logic memiliki bagian dalam mengatur komponen yang berlainan menjadi satu bagian dalam sistem. Data access berhubungan dengan database untuk mengambil, menambah, merubah dan menghapus data. Data access tidak secara langsung mengatur atau menyimpan data, hanya untuk memberikan tempat antara business logic dan database. Data access memberikan data ke bagian presentation berdasarkan perintah dari business logic. Dalam beberapa kasus, data access akan dipasang pada mesin yang berbeda dengan business logic dan presentation. Tetapi antara bagian presentation, business logic dan data access tidak menutup kemungkinan untuk dipasang dalam satu mesin yang sama. Secara logika menentukan data access terpisah antara business logic dan presentation . Pemisahan ini memberikan fleksibilitas untuk memilih apakah nantinya untuk menjalankan kode data access pada mesin yang sama sebagai business logic , atau pada mesin yang terpisah. Hal ini juga memudahkan untuk mengganti data source tanpa mempengaruhi aplikasi. Hal ini penting karena memungkinkan mengganti database vendor ke database lainnya pada poin yang sama. Pemisahan ini berguna untuk alasan lain, misalanya Microsoft memiliki kebiasaan untuk mengganti teknologi data access setiap tiga tahun. Dengan demikian setiap developer yang menggunakan tools dari Microsoft memerlukan untuk menulis ulang kode dari data access supaya tetap bisa berhubungan dengan database yang terbaru. Dengan menempatkan data access pada kode lapisan tertentu, dampak dari perubahan yang terjadi pada aplikasi akan lebih kecil. Mekanisme dari data access memiliki ciri khas mengimplementasikan menjadi sebagian dari services, dengan prosedur yang berhubungan dengan business logic untuk menambah, merubah, ata menghapus data. Meskipun setiap fungsi sering dibangun menggunakan objek, penting untuk mengenali desain untuk data access yang efektif. Usaha dalam pembuatan desain terkadang membuat kompleksitas suatu sistem meningkat atau menurun. Oleh karena itu setiap kode dari data access tetap teratur. Terpisahnya antara data access dengan business object menyebabkan bagian data access tidak dapat mengenali objek yang ada pada business object, oleh karena itu pada bagian data access menggunakan teknologi Reflection. Reflection adalah teknologi yang dibuat dalam .NET Framework. Yang memungkinkan kita untuk menulis kode yang dapat memeriksa dan berinteraksi dengan kode lainnya. Kita dapat menggunakan Reflection untuk mendapatkan daftar semua kelas dalam assembly, dan semua metode atau properti pada masing- masing kelas. Kita dapat menggunakan Reflection untuk mendapatkan daftar semua variabel misalnya dalam objek, dan kemudian kita dapat menggunakan refleksi untuk mengambil atau mengubah nilai dari variabel tersebut. [7] Segala sesuatu di. NET memiliki tipe, dan bahwa semua jenis pada akhirnya berasal dari tipe dasar, System.Object. Ini termasuk jenis nilai sederhana seperti Integer atau Single, lebih kompleks lagi jenis seperti String atau Tanggal, dan jenis lain seperti Enum atau Structure. Hal ini juga termasuk jenis yang kita buat menggunakan kelas. Termasuk kelas bernama System.Type, yang mewakili jenis informasi tentang segala jenis. Kita dapat menggunakan fungsi GetType untuk mengambil Object Type yang mewakili data tertentu. Ketika kita mempunyai object type yang merepresentasikan tipe data untung tipe data yang lain atau sebuah objek, kita dapat menggunakan reflection untuk mendapatkan informasi dari suatu objek. Dalam penelitian ini Reflection digunakan untuk mengetahui isi dari business object karena terpisahnya antara data access dan business object. Pada program layer business object mereferensikan dari layer data access, sehingga di data access tidak bisa mengetahui isi dari layer business object.

3. Metode Perancangan Sistem