• Tidak ada hasil yang ditemukan

PENDAHULUAN. Latar Belakang

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENDAHULUAN. Latar Belakang"

Copied!
5
0
0

Teks penuh

(1)

PENDAHULUAN Latar Belakang

Enterprise Resource Planning (ERP) merupakan suatu aplikasi terintegrasi yang difokuskan untuk mengotomasi seluruh aktivitas infrastruktur dalam suatu perusahaan. Sistem ERP menggabungkan proses bisnis antara perusahaan dan pelanggan, perusahaan dengan supplier, dan proses perhitungan keuangan perusahaan. Semua proses bisnis yang tergabung mengakses pada sebuah basis data yang terpusat (Parr 2000).

Sebagian besar aplikasi yang berskala enterprise dikembangkan dengan pendekatan berorientasi objek menggunakan three-tier-architecture yang terdiri atas lapisan presentasi, lapisan aplikasi, dan lapisan basis data (Rashid et al. 2002). Sementara itu, sistem manajemen basis data yang banyak digunakan sekarang ini adalah basis data relasional. Dengan demikian, terdapat ketidaksesuaian (mismatch paradigm) antara basis data relasional yang digunakan dan aplikasi yang dikembangkan dengan pendekatan berorientasi objek. Ketidaksesuaian tersebut antara lain aspek granularity, subtypes, identitas, asosiasi, dan navigasi data (Bauer & King 2007).

Untuk mengatasi masalah ini Nugraha (2005) melakukan penelitian mengenai konsep ORM (Object Relational Mapping) yang berfungsi memetakan antara class dan tabel. Pada prinsipnya, penelitian tersebut menunjukan bahwa Object Relational Mapping (ORM) adalah sebuah solusi yang dapat menjembatani paradigma ketidaksesuaian antara sistem basis data relasional dan pengembangan aplikasi berorientasi objek.

Namun demikian Nugraha (2005) hanya membatasi penelitiannya pada aspek pemetaan dan tidak diimplementasikan pada aplikasi yang utuh. Pada penelitian ini, dilakukan analisis terhadap aplikasi Ritel ERP yang dikembangkan Ernita (2008) untuk menunjukan adanya ketidaksesuaian (mismatch) tersebut. Selanjutnya akan diimplementasikan konsep ORM untuk menghilangkan ketidaksesuaian tersebut serta penerapan konsep design pattern yang berfungsi dalam proses penyatuan dengan lapisan aplikasi.

Tujuan Penelitian

Tujuan dari penelitian ini adalah: 1 Menganalisis ketidaksesuaian yang

muncul dari rancangan sistem Ritel ERP yang dikembangkan Ernita (2008) dan basis data relasional yang digunakan. 2 Menerapkan konsep ORM untuk

mengatasi masalah ketidaksesuaian tersebut.

3 Memanfaatkan konsep design pattern dalam pengaksesan basis data oleh lapisan aplikasi.

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini adalah : 1 Membangun lapisan Model untuk

aplikasi Ritel ERP dengan menerapkan konsep ORM dengan menggunakan satu framework yang telah ada tanpa membandingkan dengan framework ORM lain.

2 Menerapkan konsep ORM pada aplikasi Ritel ERP tetapi tidak disertai konsep untuk manajemen backup data dan pengelolaan data yang sudah tidak terpakai.

Manfaat Penelitian

Penelitian ini diharapkan dapat bermanfaat dalam pemeliharaan dan pengelolaan manajemen basis data pada pengembangan aplikasi ERP selanjutnya. Selain itu, penerapan ORM dapat menghemat koneksi pada server basis data sehingga aplikasi ERP yang dikembangkan lebih optimal.

TINJAUAN PUSTAKA

Enterprise Resource Planning

Enterprise Resource Planning (ERP) adalah suatu aplikasi terintegrasi yang difokuskan untuk mengotomasi seluruh aktivitas infrastruktur perusahaan. Aplikasi ERP menggabungkan proses bisnis antara perusahaan dan pelanggan, perusahaan dan supplier, dan proses perhitungan keuangan perusahaan. ERP mengotomasi proses bisnis perusahaan baik dari segi produksi, distribusi, keuangan, waktu, dan sumber daya manusia (Parr 2000).

(2)

Inti modul ERP antara lain (Rashid et al. 2002) :

 Manajemen akuntasi dan keuangan.

 Manajemen manufacturing dan produksi.

 Manajemen transportasi, penjualan dan distribusi.

 Manajemen sumber daya manusia

Supply Chain Management (SCM).

Customer Relationship Management (CRM).

Pengembangan aplikasi ERP menggunakan three-tier architecture yang terdiri atas (Rashid et al. 2002):

 Lapisan presentasi berisi Graphical User Interface (GUI) atau browser untuk data entry atau untuk melakukan akses terhadap fungsi sistem.

 Lapisan aplikasi berisi business rules, fungsi, logika, perlakuan program terhadap data yang diterima/ ditransfer dari/ke server basis data.

 Lapisan basis data berisi fungsi manajemen data transaksi termasuk di dalamnya metadata.

Basis Data Relasional

Basis data merupakan sekumpulan data atau entitas beserta deskripsinya yang secara logika berelasi, dibuat untuk memenuhi kebutuhan informasi suatu organisasi serta dapat digunakan bersama-sama. Tujuan utama basis data adalah mengelola dan mengolah data yang begitu kompleks secara mudah, cepat dan efisien untuk berbagai kebutuhan (Connolly & Carolyn 2002).

Pada basis data relasional, relation berarti tabel, sehingga data disimpan dalam bentuk tabel-tabel. Relation digunakan untuk menyimpan informasi yang ditunjukan dalam basis data. Setiap tabel mempunyai atribut yang mewakili nama kolom dari tabel tersebut. Konsep relation hanya berlaku terhadap struktur lojik tidak mencakup struktur fisik (Connolly & Carolyn 2002).

PersistentObject

Dalam pengembangan sistem, persistent object didefinisikan sebagai objek yang dihasilkan dari suatu sistem dan dapat disimpan dalam waktu yang lama bahkan bersifat permanen (Peak & Heudecker 2006).

Persistent object bisa disimpan dalam bentuk basis data relasional, file system dalam harddisk, file XML, Web Service, ODBMS (Object Data Base Management

System), dan LDAP. Media penyimpanan persistent object yang paling banyak digunakan dalam pengembangan perangkat lunak adalah basis data relasional. Hal ini disebabkan pembuatan dan pengaksesan basis data pada sistem manajemen basis data relasional relaif mudah (Peak & Heudecker 2006).

Persistent object memudahkan proses penyimpanan dan pengaksesan data. Persistent object bersifat abstrak karena dapat menyembunyikan detail bagaimana suatu data disimpan dan diakses, sehingga seakan-akan prosesnya secara detail tidak

terlihat oleh objek lainnya (Peak & Heudecker 2006).

Object Relational mismatch

Object Relational Mismatch adalah ketidaksesuaian yang terjadi disebabkan adanya perbedaan antara aplikasi yang diimplementasikan dengan pendekatan berorientasi objek dan penyimpanan data yang menggunakan sistem basis data relasional. Ketidaksesuaian tersebut meliputi aspek:

1 Granularity

Ketidaksesuaian pada aspek granularity menyangkut pada pemecahan entitas menjadi atribut-atribut yang lebih kompleks. Pada basis data relasional tidak dikenal tipe data yang didefinisikan oleh pengguna (user-defined-data-type). Sebagai contoh class Person

mempunyai atribut address dengan tipe data address. Pada basis data relasional tidak mungkin mendefinisikan kolom address dengan tipe data

address juga. Hal yang paling

mungkin dilakukan adalah memecah

address menjadi street_address,

city_address, zipCode_address

dan tetap dimasukan ke dalam tabel

Person.

2 Subtypes

Ketidaksesuaian pada aspek subtypes adalah pembeda antara superclass dan subclass. Pada pemrograman berorientasi objek dikenal istilah inheritance (pewarisan) dari class parent kepada class child, sedangkan pada basis data relasional tidak dikenal proses pewarisan antar tabel.

3 Identitas

Ketidaksesuaian pada aspek identitas adalah adanya perbedaan pengenal

(3)

identitas antara objek dan tabel. Pada objek terdapat dua cara untuk membedakan objek yang satu dengan objek lainnya, yaitu dengan menggunakan fungsi antara lambang sama dengan (==) dan method

equals(). Lambang sama dengan

(==)merujuk pada alamat memori yang sama, sedangkan method equals()

merujuk pada nilai secara lojik yang sama. Akan tetapi pada basis data yang membedakan tabel satu dengan tabel yang lain adalah primary key.

4 Asosiasi

Ketidaksesuaian pada aspek asosiasi meliputi hubungan dua entitas yang memiliki keterhubungan. Pada objek, penghubung dua entitas tersebut dikenal sebagai references sedangkan pada basis data relasional dikenal dengan foreign key. Asosiasi antarentitas terdiri atas: one-to-one, one-to-many, dan many-to-many.

5 Navigasi data

Ketidaksesuaian pada aspek navigasi data meliputi proses pengaksesan suatu objek dari objek lain. Pada basis data relasional navigasi data dilakukan menggunakan query join sedangkan pada pendekatan berorientasi objek dilakukan dengan memanggil suatu method getter. Navigasi dibagi dua macam berdasarkan arahnya, antara lain: directional dan bidirectional (Bauer & King 2007).

Object Relational Mapping

Object Relational Mapping merupakan suatu teknik untuk memetakan dari persistent object pada aplikasi ke dalam tabel pada basis data secara otomatis dan transparan. Mekanisme ORM dapat dilihat pada Gambar 1. ORM menggunakan metadata untuk mendeskripsikan pemetaan antara objek dan basis data (Bauer & King 2007).

ORM berperan sebagai lapisan model dalam MVC pattern. Model adalah sebuah lapisan yang paling dekat dengan sumber data, baik itu berasal dari basis data, webservice, maupun file system. ORM merupakan solusi yang dapat mengatasi ketidaksesuaian yang terjadi akibat adanya perbedaan antara aplikasi yang diimplementasikan dengan pendekatan berorientasi objek dan penyimpanan data

dengan menggunakan sistem basis data relasional. Teknologi ORM ada beberapa macam, seperti Toplink dari Oracle, Kodo dari Bea System, dan Hibernate dari RedHat.

Gambar 1 Mekanisme ORM (Thamura et al. 2007).

Framework

Framework adalah aplikasi semi-complete yang dapat digunakan untuk membuat aplikasi lain yang lebih spesifik (Husted 2003). Framework yang ideal merupakan intisari dari pendekatan terbaik dalam pengembangan perangkat lunak.

Apabila suatu aplikasi dikembangkan menggunakan framework maka harus mengadopsi semua mekanisme dan ketentuan yang ditetapkan pada framework tersebut. Suatu framework mempunyai sekumpulan file library khusus. Alasan pengembangan sebuah framework adalah dimungkinkannya penggunaan kembali perangkat lunak dalam pengembangan selanjutnya.

Salah satu framework ORM adalah Hibernate. Hibernate adalah salah satu ORM framework open source yang dikembangkan untuk menangani masalah data persistence pada lingkungan Java. Hibernate terdiri atas dua versi yaitu Hibernate Core dan Hibernate Annotation. Hibernate Core menggunakan file XML untuk melakukan pemetaan terhadap objek-objek tabel pada basis data, sedangkan Hibernate Annotation menggunakan Java Annotation untuk mapping terhadap basisdata.

Implementasi Hibernate pada kode program Java menggunakan HQL (Hibernate Query Language) (Bauer dan King 2007). Sebelum melakukan query terhadap basisdata, terdapat beberapa konfigurasi yang harus dilakukan, antara lain menentukan dialect (jenis DBMS) yang digunakan, class driver, dan file koneksi.

database Table1 Table2 Table3 O R M ap pin g

(4)

Controller

Model View

Manipulasi Interaksi

Ditampilkan

Design pattern danJEE pattern

Design pattern adalah pola atau unsur-unsur rancangan yang seringkali muncul pada berbagai jenis sistem. Design pattern merupakan katalog permasalahan yang sering muncul beserta solusi yang sudah teruji dalam perancangan sistem (Gamma et al. 1995). Design pattern yang sering dijadikan studi adalah design pattern yang berasal dari Gang of Four (GoF) yaitu, Erich Gamma, Richard Helm, Ralph Johnson, dan John Vlissides.

GoF mengumpulkan pattern yang biasa dipakai dalam membangun sebuah sistem menjadi suatu katalog lengkap yang dapat dipakai dalam memecahkan berbagai masalah dalam pembangunan sebuah sistem. Dengan mengetahui deskripsi lengkap dari suatu permasalahan maka akan dapat dengan mudah diketahui pattern apa yang cocok sebagai solusi dari permasalahan tersebut dan ketika menghadapi masalah yang sama atau mirip maka pattern tersebut dapat digunakan kembali (Wahab 2007).

Design pattern yang digunakan pada penelitian ini antara lain (Gamma et al. 1995) :

a. Singleton adalah pola yang mengatur suatu objek yang hanya mempunyai satu instansiasi selama aplikasi berjalan. b. Proxy adalah pola yang merancang

suatu objek untuk mewakili kontrol atau akses objek lain dan bertindak seolah-oleh objek tersebut melakukannya. c. Façade adalah pola yang

menyederhanakan objek-objek yang terlihat rumit ke dalam sebuah interface. d. Factory method adalah pola untuk

mengenkapsulasi suatu objek dan diinstasiasi satu kali untuk digunakan berulang-ulang oleh objek.

Selain GoF, juga terdapat Gang of Three (GoT) yang terdiri atas Deepak Alur, John Crupi, dan Dan Malks. JEE pattern sebenarnya mengacu kepada design pattern berdasarkan GoF dan memiliki fungsi yang sama yaitu sebagai katalog permasalahan dan solusi yang sudah teruji dalam pengembangan spesifik aplikasi JEE. JEE pattern yang dipakai pada penelitian ini adalah DTO (Data Transfer Object) dan DAO (Data Access Object).

Data Transfer Object (DTO) pattern adalah pola yang mengenkapsulasi bisnis

data dan mengirimkannya secara sekaligus dalam satu waktu (Alur et al. 2003). DTO pattern juga berfungsi sebagai jembatan penghubung antarlapisan dalam aplikasi. Dengan pola ini proses perpindahan data menjadi sederhana dan terintegrasi. Data Access Object (DAO) pattern adalah pola yang mengenkapsulasi data akses dan manipulasi ke dalam lapisan yang berbeda kemudian diimplementasikan dengan membuat sebuah objek yang bersifat abstrak dan mengenkapsulasi seluruh akses data. (Alur et al. 2003).

Model View Controller

Model View Controler (MVC) pattern adalah pola yang memisahkan antara tampilan antarmuka (View), proses bisnis (Controller), dan objek data (Model) (McGovern 2003). Gambar 2 menunjukan struktur Model View Controller pattern (Wahab 2007). Lapisan Model merupakan proses bisnis utama. Di dalamnya terdapat kode untuk persistensi data dan proses bisnis. Secara singkat, Lapisan Model ini menangani isi dari aplikasi. Di lapisan ini diputuskan data yang akan diberikan pada client.

Sementara itu, lapisan View menangani masalah-masalah yang berkaitan dengan tampilan. Lapisan ini hanya melakukan pengaturan terhadap data agar tampilannya sesuai dengan kebutuhan pengguna. Lapisan terakhir adalah lapisan Controller, lapisan ini berfungsi mengatur alur pengguna. Pada lapisan ini dilakukan pemrosesan request untuk menentukan proses bisnis mana yang akan dieksekusi. Biasanya layer controller juga digunakan untuk mengatur ijin akses.

Gambar 2 Arsitektur MVC (Wahab 2007).

Declarative Transaction

Declarative Transaction adalah suatu teknik untuk medeklarasikan semua transaksi dalam suatu file konfigurasi untuk menangani semua proses transaksi tanpa harus membuat kode-kode program untuk menangani transaksi secara eksplisit. Selain

(5)

Studi literatur Analisis permasalahan ketidaksesuaian Perancangan dan implementasi ORM

dan design pattern

evaluasi

itu mengatur rollback (method dan exception) apabila terjadi kegagalan transaksi (Walls & Beidenbach 2005 ).

Dependency Injection / Inversion of Control

Dependency Injection adalah suatu konsep yang diterapkan oleh suatu objek untuk mendapatkan objek lain yang dibutuhkan tanpa harus mencari dan memasukan objek tersebut secara eksplisit (Walls & Beidenbach 2003)

Konsep ini diterapkan dalam Spring framework. Semua DAO yang didefinisikan tidak harus menuliskan koneksi basis datanya secara langsung pada masing-masing DAO, tetapi cukup memasukkan koneksinya menjadi suatu konstruktor atau

method setter dalam DAO (Thamura et al. 2007).

METODE PENELITIAN Kerangka Pemikiran

Tahap-tahap yang dilakukan pada penelitian ini diilustrasikan pada Gambar 3. Penelitian diawali dengan studi literatur kemudian melakukan analisis ketidaksesuaian (mismatch) pada aplikasi Ritel ERP (Ernita 2008) yang memunculkan kebutuhan ORM. Tahap selanjutnya adalah merancang dan mengimplementasikan ORM dan design pattern untuk mengatasi masalah ketidaksesuian tersebut. Tahap terakhir adalah melakukan evaluasi hasil implementasi konsep ORM tersebut.

Gambar 3 Diagram Metodologi Penelitian.

Studi Literatur

Studi literatur diawali dengan menganalisis ORM framework yang tersedia di lingkungan JEE. Selain itu, dilakukan juga studi literatur dengan menganalisis paper yang terkait.

Analisis Permasalahan Ketidaksesuaian Aplikasi Ritel ERP (Ernita 2008) dikembangkan dengan pendekatan berorientasi objek, sedangkan manajemen basis datanya menggunakan sistem manajemen basis data relasional. Oleh karena itu dilakukan analisis kemungkinan ketidaksesuaian (mismatch) yang disebabkan perbedaan paradigma tersebut.

Perancangan dan Implementasi ORM dan Design Pattern

Pada tahap ini, dilakukan implementasi ORM dan design pattern untuk menghilangkan ketidaksesuaian yang muncul dari tahap analisis. ORM diimplementasikan menjadi enam tahap, antara lain:

1 Membuat konfigurasi basis data. 2 Membuat pemetaan Data Transfer

Object (DTO) dengan menghilangkan paradigma ketidaksesuaian antara basis data relasional dan pemrograman berorientasi objek.

3 Membuat fungsi-fungsi akses data sebagai implementasi dari DAO pattern, singleton pattern, dan factory method pattern.

4 Menyederhanakan fungsi akses data dengan memanfaatkan konsep facade pattern dan proxy pattern.

5 Membuat skema basis data.

6 Menyatukan lapisan persistensi dengan lapisan aplikasi.

Evaluasi

Pada tahap evaluasi dilakukan analisis terhadap hasil implementasi ORM untuk mengatasi ketidaksesuaian dari rancangan aplikasi Ritel ERP dan basis data relasional yang digunakan. Selain itu evaluasi juga dilakukan terhadap konsep design pattern yang digunakan.

Referensi

Dokumen terkait

Menimbang : bahwa untuk melaksanakan ketentuan Pasal 7 ayat (5) Peraturan Presiden Nomor 97 Tahun 2017 tentang Kebijakan dan Strategi Nasional Pengelolaan Sampah Rumah

Lain halnya dengan penlitian yang dilakukan oleh Kaunang (2013) yaitu Pengujian yang dilakukan untuk variabel kinerja keuangan perusahaan Economic Value Added (EVA)

Hasil penelitian menunjukkan bahwa pati Talas Banten termodifikasi heat-moisture treatment mengalami peningkatan nilai kapasitas penyerapan air, penurunan nilai

e-commerce Shopee di Jakarta, dapat ditarik simpulan bahwa citra merek menunjukkan kontribusi atau pengaruh terhadap loyalitas merek pada pelanggan e-commerce

dilakukan dengan cara boleh melindungi makanan dan dilakukan dengan cara boleh melindungi makanan dan permukaan yang bersentuhan dengan makanan atau permukaan yang bersentuhan

(e) Menyediakan informasi mengenai perubahan posisi keuangan pelaporan apakah mengalami kenaikan atau penurunan, sebagai akibat kegiatan yang dilakukan selama

Nilai – nilai tersebut nantinya akan dijadikan sebagai parameter pertimbangan untuk melakukan relokasi, misalnya, pada suatu wilayah terjadi bencana alam sehingga