PEMBUATAN FRAMEWORK APLIKASI BISNIS BERDASARKAN POLA ACTIVE RECORD DAN KONSEP NAKED OBJECT

dokumen-dokumen yang mirip
Object OOP. Polymor phism

Gambar 4.75 Form Menu Utama (b)

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

BAB I PENDAHULUAN. I.1 Latar Belakang

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

CLASS LIBRARY UNTUK PEMBUATAN APLIKASI CRUD

ANALISIS DAN PERANCANGAN SISTEM INFORMASI PENJUALAN TOKO BESI LANCAR BERORIENTASI OBJEK

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Visual Basic (VB) Tatik yuniati. Abstrak.

TUGAS DASAR PEMROGRAMAN KELAS C DOSEN PENGAMPU : IKA ATSARI DEWI, STP, MP

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Rancang Bangun Aplikasi Cash Bank dan Sales dengan Service Oriented Architecture pada Platform Java

MEMAHAMI PENGGUNAAN UML

BAB 1 PENDAHULUAN. mempengaruhi kehidupan manusia. Teknologi yang saat ini banyak dibutuhkan dan

Gambar 4.99 Halaman Grafik Laporan Penjualan. Untuk melakukan pencarian barang, dapat dilakukan dari halaman mana saja. Terdapat

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Implementasi Model View Controller dan Object Relational Mapping pada Content Management System Sistem Informasi Keuangan

DASAR DASAR MICROSOFT ACCESS

BAB III LANDASAN TEORI. adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan,

BAB III PEMROGRAMAN PADA SOFTWARE MICROSOFT VISUAL BASIC dan data-data yang saling terelasi yang memerintahkan apa yang harus

BAB I PENDAHULUAN. dalam suatu perusahaan, karena persediaan akan dijual secara terus menerus untuk

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

BAB II DASAR TEORI Pengertian Framework

LAPORAN PERCOBAAN V ( APLIKASI NILAI MAHASISWA) BERBASIS JAVA

MI2193 PEMROGRAMAN WEB LANJUT PHP FRAMEWORK. Created by MTA Revised by HPU

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

SISTEM INFORMASI ADMINISTRASI TERINTEGRASI DENGAN LOCAL AREA NETWORK PADA DIVISI PERTAMBANGAN CV. PUTRA MANDIRI MENGGUNAKAN JAVA

BAB III PERANCANGAN PROGRAM

BAB 1. PENDAHULUAN. 1.1 Latar Belakang Masalah

MODUL 5 PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (I)

Pengenalan VB.net Ibnu Muakhori

Mengenal Framework Codeigniter

Pengenalan Obyek. Arna Fariza. Materi

PEMROGRAMAN PHP DASAR

Pengenalan VB.net. Ibnu Muakhori, S.Kom (wa)

BAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi

BAB 2 LANDASAN TEORI. Jogiyanto (2008, hal : 34) Suatu sistem dapat didefenisikan sebagai kumpulan

Komputer & Software Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika.

BAB II LANDASAN TEORI

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Abstraksi Data (Arsitektur DBMS)

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

BAB 2 LANDASAN TEORI. pengumpulan data Tugas Akhir di SMA N 5 Medan. disebut dengan informasi. (Bambang Wahyudi,2003)

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Kebutuhan dan Spesifikasi Perangkat Lunak

Modul Praktikum Ke-1

PERANGKAT LUNAK REKAM MEDIS BAGI PEGAWAI DI RUMAH SAKIT UMUM BINA SEHAT BANDUNG

PRAKTIKUM 1. Framework adalah kerangka kerja yang terdiri dari kumpulan dari beberapa fungsi,

ENKAPSULASI PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Teknik Informatika PTIIK UB Semester Genap 2015/2016

OBJECT ORIENTED PROGRAMMING

PERTEMUAN 10 PERANCANGAN PROGRAM UNTUK MASALAH BISNIS

Halaman ini merupakan halaman awal saat pengguna membuka web. Pada halaman

Object Oriented Programming LOGO

Konsep Pemrograman Berorientasi Obyek

1. MENGENAL VISUAL BASIC

Membuat Toko Online dengan Teknik OOP, MVC, dan AJAX

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

Pengenalan Pemrograman

BAB II LANDASAN TEORI. pengenalan komputer aplikasi merupakan sistem yang dirancang dan disusun

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI. Yasa (2015), mahasiswa STMIK AKAKOM YOGYAKARTA jurusan Teknik

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

BAB 2 LANDASAN TEORI

TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

BAB III LANDASAN TEORI. maupun tunai dan pada umumnya dilakukan kepada supplier. Pada waktu

LAPORAN PERCOBAAN IV PEMBUATAN CALCULATOR ( MENGHITUNG GAJI KARYAWAN DAN TUNJANGANNYA) BERBASIS JAVA

APLIKASI INVENTORI PADA CV. ARCOMA BASCO DENGAN MENGGUNAKAN VISUAL BASIC.NET DAN SQL SERVER 2005.

BAB IV IMPLEMENTASI DAN EVALUASI. (software) dan perangkat keras (hardware). Adapun persyaratan minimal

Object Oriented Programming 1

SILABUS MATA PELAJARAN PEMROGRAMAN BERORIENTASI OBYEK (PAKET KEAHLIAN REKAYASA PERANGKAT LUNAK)

Petunjuk Singkat Komputerisasi Dengan Software WAYout Toko Basic

PERMODELAN SISTEM INFORMASI PENJUALAN PADA CV XYZ YOGYAKARTA

PEMROGRAMAN BERORIENTASI OBJEK. Nurochman

RANCANG BANGUN SISTEM INFORMASI PENJUALAN AKSESORIS HANPHONE BERBASIS WEB PADA DAZZLE CELLULAR SEMARANG

BAB IV HASIL DAN PEMBAHASAN

ASPEK BERORIENTASI OBJEK DALAM RANCANG BANGUN SISTEM INFORMASI MANAJEMEN ZAKAT

BAB IV HASIL DAN UJI COBA

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

SISTEM INFORMASI AKADEMIK BERBASIS WEB PADA PROGRAM PASCASARJANA MAGISTER TEKNIK SIPIL UNIVERSITAS KRISTEN PETRA

ENKAPSULASI Data Hiding

Arsitektur Aplikasi Web

III.1. Sistem Informasi

BAB IV PERANCANGAN SISTEM

( MAKALAH ) Inheritance, Polymorphism, Enkapsulasi. Mata Kuliah Object Oriented Programming (OOP) Dosen Pembina Agung Darmawan.

BAB 2 LANDASAN TEORI. yang saling berinteraksi untuk mencapai tujuan. yang dimaksud dengan data dan informasi? Data adalah fakta fakta yang

BAB IV HASIL DAN UJI COBA

PertemuanI. Object Oriented

BAB I PENDAHULUAN. Latar Belakang

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN

BAB I PENDAHULUAN. Oleh karena itu dalam melakukan Kegiatan usahanya sehari-hari bank harus

ABSTRAK. Kata kunci : penjualan, pembelian, aplikasi desktop, C#, Microsoft SQL. Server

BAB VIII Dasar pemrograman beorientasi object dengan PHP

SISTEM INFORMASI PERSEDIAAN BARANG DI MINIMARKET xxx. Oleh : SITI EKA WAHYUNI Nim : SISTEM INFORMASI

BAB 2 TINJAUAN PUSTAKA

beserta aplikasi yang sesuai dengan bidang usaha toko tersebut. Aplikasi ini akan semakin mempermudah dan mempercepat kinerja dalam proses transaksi u

Object OrientedProgramming

VISUAL BASIC Pengenalan VB NET

Transkripsi:

PEMBUATAN FRAMEWORK APLIKASI BISNIS BERDASARKAN POLA ACTIVE RECORD DAN KONSEP NAKED OBJECT Primadi Setiawan, Fajar Baskoro Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Email : primadisetiawan@gmail.com ABSTRAK Paradigma pemrograman berorientasi obyek telah meningkatkan dengan pesat penggunaan ulang dari kode program dalam rekayasa pembuatan software. Akan tetapi, paradigma tersebut hanya memberikan penggunaan ulang dari kode program pada level individual yang sangat kecil lingkupnya, yaitu komponen. Pada saat ini, penggunaan ulang dalam software telah bergeser dari penggunaan ulang dari sebuah komponen ke penggunaan ulang dari seluruh desain sistem atau struktur aplikasi. Sistem software yang mendukung penggunaan ulang pada level ini disebut Framework. Framework dibuat berangkat dari ide dasar bahwa : lebih mudah untuk membuat sistem dengan kebutuhan spesifik tertentu, apabila kita memulainya dari strukturstruktur yang umum dari domain permasalahan tertentu, dibandingkan apabila kita membuat semuanya mulai dari awal. Secara ringkas dapat dikatakan bahwa Framework adalah arsitektur umum untuk menyelesaikan masalah pada domain permasalahan tertentu, yang ditambahkan komponen-komponen diatasnya, untuk keperluan menyelesaikan kebutuhan spesifik tertentu. Framework berbeda dengan Class Library terutama dalam hal kontrol terhadap aplikasi. Pada Framework kontrol aplikasi ada pada framework tersebut, dan programmer yang menggunakan framework membuat komponen-komponen diatasnya; sedangkan pada Class Library, kontrol ada pada programmer yang memanfaatkan Class Library tersebut. Penelitian ini ditujukan untuk merancang/membuat Framework untuk pembuatan Aplikasi Bisnis, berdasarkan pola desain Active Record dan ide-ide dasar yang melatar belakangi lahirnya konsep Naked Object, dengan tujuan untuk mempercepat dan mempermudah pembuatan Aplikasi Bisnis, menstandarkan cara pemrograman, dan memungkinkan programmer aplikasi bisnis bisa lebih fokus pada sistem, bukan pada teknologi. Kata Kunci : Framework, Naked Object, Active Record PENDAHULUAN Penggunaan ulang dari kode program yang sebelumnya pernah dibuat untuk menyelesaikan permasalahan yang baru merupakan hal yang sangat penting dalam rekayasa pembuatan program. Semakin banyak kode program yang bisa kita gunakan ulang, akan semakin cepat dan efisien permasalahan baru dapat diselesaikan, di samping itu penggunaan ulang tersebut akan mengurangi waktu yang dibutuhkan untuk pencarian kesalahan, karena kode program yang kita gunakan ulang tersebut sudah

pernah diuji/ digunakan dengan baik sebelumnya, sehingga bisa kita asumsikan kecil kemungkinannya mengandung kesalahan. Perkembangan paradigma pemrograman berorientasi obyek telah meningkatkan dengan pesat tingkat penggunaan ulang dari kode program, karena secara mendasar paradigma tersebut menawarkan kemampuan yang tidak dimiliki oleh paradigma pemrograman prosedural, yaitu antara lain: enkapsulasi ( encapsulation), abstraksi (abstraction), kemampuan berubah bentuk ( polymorphism), dan generik ( generics) yang bisa kita temui pada bahasa pemrograman berorientasi obyek generasi baru (misal: Microsoft.NET 2.0 atau Java 1.5). Akan tetapi, paradigma tersebut hanya memberikan penggunaan ulang dari kode program pada level individual yang sangat kecil lingkupnya, yaitu komponen. Pada saat ini, penggunaan ulang dalam software telah bergeser dari penggunaan ulang dari sebuah komponen ke penggunaan ulang dari seluruh desain sistem atau struktur aplikasi. Sistem software yang mendukung penggunaan ulang pada level ini disebut Framework. Framework dibuat berangkat dari ide dasar bahwa : lebih mudah untuk membuat sistem dengan kebutuhan spesifik tertentu, apabila kita memulainya dari strukturstruktur yang umum dari domain permasalahan tertentu, dibandingkan apabila kita membuat semuanya mulai dari awal. Secara ringkas dapat dikatakan bahwa Framework adalah arsitektur umum untuk menyelesaikan masalah pada domain permasalahan tertentu, yang ditambahkan komponen-komponen diatasnya, untuk keperluan menyelesaikan kebutuhan spesifik tertentu. Pengertian tentang framework yang lain adalah seperti yang diberikan oleh Johnson dan Foote (1998) : Framework adalah kumpulan dari kelas-kelas yang membentuk desain abstrak dari solusi untuk menyelesaikan masalah pada kelompok masalah tertentu. Beberapa sudut pandang yang lain diantaranya adalah : Jika obyek adalah abstraksi yang terkadang sulit untuk dijelaskan, framework menawarkan sesuatu yang lebih dari itu. Perbedaan utama antara framework dan kumpulan kelas-kelas yang acak adalah pada bagaimana kelas-kelas tersebut bisa digunakan. Framework tidak hanya menjelaskan tentang obyek-obyek, tetapi juga menjelaskan bagaimana obyek-obyek tersebut saling berhubungan satu dengan yang lain Taligen Corp (1994). Kelas abstrak adalah desain untuk satu obyek. Framework adalah desain dari kumpulan obyek yang bekerjasama untuk tanggung jawab tertentu. Karena itu framework memiliki skala desain yang lebih luas daripada kelas-kelas abstrak. Framework adalah sebuah cara untuk menggunakan ulang desain pada level tinggi Johnson dan Russo (1991). Framework berbeda dengan Class Library terutama dalam hal kontrol terhadap aplikasi. Pada Framework, kontrol aplikasi ada pada framework tersebut, programmer membuat komponen-komponen yang berjalan diatas framework; sedangkan pada Class Library, kontrol ada pada programmer yang memanfaatkan Class Library tersebut. Tujuan utama penelitian ini adalah untuk membuat framework yang dapat digunakan pada domain permasalahan pembuatan aplikasi bisnis berdasarkan pola arsitektur naked object dan pola desain active record. Aplikasi bisnis adalah aplikasi yang dibuat untuk menyelesaikan masalah-masalah administrasi di dunia nyata. Contoh aplikasi bisnis misalnya: Sistem Penjualan, Sistem Persediaan, Sistem Perpustakaan, Sistem Kemahasiswaan, dsb. C-21-2

Konsep naked object[6] mempunyai kesederhanaan prinsip bahwa obyek yang tampak oleh user merupakan obyek sesungguhnya yang dibuat oleh programmer. Dengan menggunakan konsep naked object, proses desain aplikasi bisnis akan menjadi lebih mudah karena kelas yang harus dibuat sama dengan obyek-obyek yang dianggap ada oleh user. Pola desain active record[7] mempunyai kesederhanaan pola dalam memetakan kelas ke dalam tabel, yaitu sebuah kelas dipetakan kedalam satu tabel sedangkan satu obyek dipetakan kedalam satu baris data pada tabel. Dengan menggabungkan konsep naked object dan pola active record, akan didapatkan keuntungan sebagai berikut: - Programmer dapat mendefinisikan kelas sesuai obyek-obyek yang dikenali oleh user pada aplikasi bisnis. Obyek tersebut dibagi menjadi dua, yaitu dokumen dan laporan. - Pengendalian tampilan dilakukan oleh framework secara otomatis berdasarkan aturan yang telah didefinisikan pada kelas tersebut. - Kelas-kelas yang telah didefinisikan (menggunakan atribut) tersebut akan disimpan pada database menggunakan pola active record. ANALISIS DAN DESAIN Dilihat dari sudut pandang user, sebuah sistem aplikasi bisnis terdiri dari kumpulan dokumen dan laporan. Dokumen adalah suatu formulir yang harus diisi oleh user, dapat disimpan ke dalam database, diubah, dihapus dari database, dicetak, dll. Sedangkan laporan adalah informasi yang dihasilkan dari pengolahan dokumen berdasarkan kriteria atau aturan tertentu. Laporan ada dua macam, yaitu laporan daftar dokumen yang dibuat otomatis oleh framework, serta laporan khusus yang diminta oleh user dan dibuat oleh programmer. Sedangkan dari sudut pandang programmer, programmer butuh untuk bisa melakukan hal-hal berikut dalam pembuatan aplikasi bisnis: - Membuat dokumen - Membuat laporan - Membuat view - Membuat menu Gambar 1 di bawah ini menunjukkan interaksi antara user dan programmer dengan framework aplikasi bisnis yang dibuat dalam penelitian ini. Gambar 1. Arsitektur Sistem Aplikasi Bisnis yang Menggunakan Framework C-21-3

Dalam membuat dokumen dan laporan, programmer membuat kelas aturan dan presentasi yang diturunkan dari kelas abstrak yang disediakan oleh framework. Dalam membuat aturan dokumen, laporan, dan view, programmer melakukannya dengan cara meng-override virtual methods yang telah disediakan oleh framework. Virtual methods tersebut berfungsi sebagai hot spot framework. Penulisan definisi tabel dilakukan dengan menggunakan atribut di atas field atau property dari kelas yang akan disimpan pada database. Gambar 2 menunjukkan contoh potongan kode program untuk membuat dokumen master suplier. [Index("NamaSuplier", true)] public class MasterSuplier : ParentEntity private string _KodeSuplier; [AutoNumberKey("SP/YY-CCCC", "CCCC", "TglRegistrasi")] public string KodeSuplier get return _KodeSuplier; private DateTime _TglRegistrasi; [DataTypeDateTime] public DateTime TglRegistrasi get return _TglRegistrasi; private string _NamaSuplier; [DataTypeVarChar(50), EmptyError] public string NamaSuplier get return _NamaSuplier; set _NamaSuplier = value; Gambar 2. Potongan Kode Program untuk Membuat Dokumen Master Suplier Presentasi dari dokumen dan laporan dibuat dengan melakukan drag and drop dari object property dengan menggunakan fitur yang disediakan oleh Visual Studio. Programmer tidak perlu membuat kode program untuk navigasi dan controller pada layar tampilan karena sudah ditangani oleh framework. HASIL PERCOBAAN Framework yang telah dibuat dicoba untuk membuat aplikasi bisnis toko sederhana, dengan ruang lingkup sebagai berikut: Mencatat transaksi pembelian Mencatat transaksi penjualan Mencatat transaksi keluar masuk gudang Membuat laporan pembelian, penjualan, dan gudang. Pembuatan aplikasi bisnis tersebut memakan waktu 8 jam kerja. Aplikasi bisnis tersebut terdiri dari: Dokumen Master Barang Dokumen Master Suplier Dokumen Pembelian Dokumen Penjualan Dokumen Penyesuaian Persediaan Laporan Penjualan per Periode C-21-4

Laporan Pembelian per periode, Laporan Kartu Stok Laporan Posisi Stok Laporan Summary Mutasi Stok per Periode Dari percobaan tersebut dirasakan manfaat dan keuntungan dari penggunaan framework, antara lain: - Mempercepat pembuatan program aplikasi bisnis Kemampuan-kemampuan umum yang biasa dibutuhkan pada pembuatan aplikasi bisnis telah disediakan oleh framework, sehingga pembuatan aplikasi bisnis toko sederhana dapat diselesaikan dalam waktu kurang dari 8 jam kerja. - Menstandarkan cara pemrograman Programmer memiliki cara pandang yang sama terhadap bagaimana cara membuat aplikasi bisnis, yaitu dibangun dari obyek-obyek yang terdiri dari dokumen dan laporan. Bagaimana cara sebuah dokumen dan laporan dibuat sudah diarahkan dan diberi kerangka oleh Framework, sehingga cara pemrograman dapat distandarkan dan program dapat dibaca oleh orang lain dengan lebih mudah. - Membuat programmer aplikasi bisnis bisa lebih fokus pada sistem, bukan pada teknologi Aspek sistem memandang aplikasi bisnis sebagai kumpulan dari obyek-obyek yang berupa dokumen, laporan, atau proses. Aspek diluar aspek tersebut misalnya: database yang digunakan, teknologi presentasi ke user, dan lain-lain adalah aspek teknologi. Aspek sistem dibuat oleh programmer dengan memanfaatkan framework yang telah dibuat, sedangkan aspek teknologi diurusi oleh framework. Dengan teknik pemisahan seperti ini, maka programmer aplikasi bisnis dapat lebih berkonsentrasi pada aspek sistem, dan memungkinkan evaluasi dan pengembangan yang independen antara aspek sistem dan aspek teknologi. KESIMPULAN Penelitian ini memberikan kontribusi pada cara pembuatan aplikasi bisnis, yaitu dengan menggunakan framework berdasarkan pola active record dan konsep naked obyek, yang memandang aplikasi bisnis sebagai kumpulan dari dokumen dan laporan. Cara ini memungkinkan pembuatan aplikasi bisnis dapat dilakukan dengan lebih mudah, cepat, dan efisien dibandingkan dengan menggunakan cara biasa. DAFTAR PUSTAKA Stephen H. Kaisler. 2005. Software Paradigms. Wiley-Interscience. http://en.wikipedia.org/wiki/object-oriented_programming http://www.dotnetfun.com/articles/csharp/2.0/whatsnew20generics.aspx http://www.ibm.com/developerworks/java/library/j-djc02113.html Stephen H. Kaisler. 2005. Software Paradigms. Wiley-Interscience. Richard Pawson. June 2004. Naked Object. Thesis for the degree of PhD. University of Dublin, Trinity College. Martin Folwler. Pattern of Enterprise Application Architecture. C-21-5