Anda di halaman 1dari 14

Object Relational Mapping (ORM)

Object Oriented Programming

Dikerjakan untuk memenuhi nilai tugas matakuliah Pemrograman Berorientasi Obyek

Oleh:

Kelompok V
POGRAM STUDI: MAGISTER ILMU KOMPUTER (MKOM) PROGRAM PASCASARJANA UNIVERSITAS BUDI LUHUR

JAKARTA 11 Desember 2010

DAFTAR ISI I. II. III. IV.

..................................

2 3 3 6 6 7 7 8 8 9 9 9 10 10 10 10 11 11 12 12 12 13 14

ABSTRAKSI

PENDAHULUAN

MANFAAT OBJECT RELATIONAL MAPPING .. MENGAPA MENGGUNAKAN MAPPING .. 4.1 Impedance Mismatch ....

V.

MAPPING INHERITANCE ... 5.1 5.2 5.3 Map entire class hierarchy to a single table . Map each concrete class to a table ... Map each class to its own table

VI.

ORM DESIGN APPROACHES .. 6.1. Pendekatan Bottom Up 6.2. Pendekatan Top Down . 6.3. Pendekatan Meet in the Middle .. .

VII.

ORM FRAMEWORKS AND TOOLS

7.1. Persyaratan Mutu untuk ORM .. VIII. ORM DENGAN HIBERNATE

8.1. Fitur Hibernate .. 8.2. Mengapa diperlukan Hibernate? .......................................................................... 8.3. Siapa saja pengguna Hibernate? ..........................................................................

8.4. Apa manfaat yang diperoleh dengan menggunakan Hibernate? .......................... IX. KESIMPULAN ..

Daftar Pustaka ..

Object Relational Mapping

I.

ABSTRAKSI

ORM (Object Relational Mapping) adalah sebuah teknik pemrograman yang menghubungkan perbedaan tipe data pada konsep pemrograman yang berorientasi objek dengan konsep RDBMS. Dengan mengimplementasikan ORM, developer bisa lebih berfikir secara objek dibanding dengan tabel dan kolom-kolom yang menjadi ciri dari model relasional. ORM digunakan untuk menjaga kemurnian pola pikir developer atas pemrograman berorientasi objek. Implementasi ORM terletak pada layer persistent yaitu layer yang berhubungan dengan database. Tugas ORM disini ialah untuk memetakan data dari database ke objek atau sebaliknya. Ada beberapa framework ORM yang dapat digunakan sebagai DAO ( Data Access Object) salah satunya adalah Hibernate.

II.

PENDAHULUAN

Saat ini, pemrograman berorientasi obyek sudah diterima secara luas dalam pengembangan aplikasi bisnis. Pengembangan aplikasi berorientasi obyek menyediakan metode yang lebih cocok dan fasilitas pemodelan objek lebih nyata daripada paradigma pemrograman terstruktur. Sedangkan objek-orientasi telah menjadi standar paradigma pengembangan perangkat lunak dengan UML (OMG, 2004) sebagai bahasa sehari-hari, tampaknya tidak ada solusi terbaik untuk penyimpanan persisten objek. Pendekatan yang paling alami akan penggunaan sistem manajemen database berorientasi objek (OODBMS) untuk tujuan ini. Meskipun standar ODMG untuk database berorientasi objek (Cattell et al, 1999.) Dan implementasi yang telah jatuh tempo selama dekade terakhir, sistem manajemen relasional dan object-relational database (RDBMSs / ORDBMSs) masih umum digunakan dan hampir tidak ada indikasi untuk perubahan yang signifikan di masa depan. Karena popularitas penyimpanan data relasional dengan basis instalasi luas di satu sisi dan penggunaan konsepkonsep berorientasi obyek untuk pengembangan perangkat lunak di sisi lain, objek aplikasi mau tidak mau harus disimpan dalam (obyek-) database relasional. Sayangnya, interaksi objek dan hubungan tidak sepele, karena ada jarak yang signifikan antara paradigma berorientasi objek dan relasional. Jarak ini sering disebut sebagai ketidaksesuaian impedansi objek-relasional. (Smith dan Zdonik, 1987). Criteria Defining standard Support for objectoriented features RDBMS SQL2 Does not support; It is difficult to map program object to the database OODBMS ODMG-2.0 Supports extensively ORDBMS SQL3 (in process) Limited support; mostly to new data type

Object Relational Mapping

Usage

Easy to use

OK for programmers; some SQL access for end users Supports a wide variety of datatypes and data with complex interrelationships Relatively less performanc

Easy to use except for some extensions

Support for complex relationships Performance

Does not support abstract datatypes

Supports Abstract datatypes and complex relationships Expected to perform very well

Very good performance

Product maturity

Relatively old and so very mature

This concept is few years old and so relatively matur feature OQL is similar to SQL, but with additional features like Complex objects and object-oriented features It can handle all types of complex applications, reusability of code, less coding Low performance due to complex query optimization, inability to support large-scale systems Presently lacking vendor support due to vast size of RDBMS market

Still in development stage so immature

The use of SQL

Extensive supports SQL

SQL3 is being developed with OO features incorporated in it Ability to query complex applications and ability to handle large and complex applications Low performance in web application

Advantages

Its dependence on SQL, relatively simple query optimization hence good performance Inability to handle complex applications

Disadvantage

Support from vendors

It is considered to be highly successful so the market size is very large but many vendors are moving towards ORDBMS

All major RDBMS vendors are after this so has very good future

Tabel 1 : Perbedaan antara ketiga pendekatan

ORM adalah cara otomatis menghubungkan model obyek, kadang-kadang disebut sebagai model domain ke sebuah database relasional dengan menggunakan metadata sebagai deskriptor dari obyek dan data. Menurut Wikipedia Object Relational Mapping (dibaca O/RM, ORM atau O/R Mapping) adalah teknik pemrograman untuk mengkonversi data antara system tipe tidak kompatibel dalam database relasional dengan bahasa pemrograman berorientasi obyek. ORM adalah sebuah teknik pemrograman yang memetakan sebuah objek dengan database. ORM ini akan membantu menjadi jembatan antara obyek yang didefinisikan dalam kode program dengan database, bagaimana objek itu disimpan, diambil, dihapus dan sebagainya. Dengan ORM ini, programmer dibantu untuk melakukan aksi-aksi yang Object Relational Mapping 4

diperlukan terkait komunikasi objek ketika program dijalankan dengan database seperti menyimpan objek, mengambil data objek dari database kemudian ditampilkan, menghapus objek, mengubah objek dan sebagainya. Sebagai contoh penggunaan adalah ketika ada definisi data berupa person yang memiliki atribut id dan nama. Di database didefinisikan sebuah tabel dengan kolom id dan nama. Dengan tanpa menggunakan ORM, untuk menyimpan objek itu ke database adalah dengan menjalan perintah SQL :
INSERT INTO persons (id, nama) values (1',wisnu manupraba)

Dengan menggunakan ORM, perintah SQL itu akan digantikan dengan fungsi misalkan save (tergantung fungsi yang disediakan oleh pustaka ORM yang digunakan), sehingga pemanggilannya adalah :
Person person = new Person (1, Wisnu Manupraba); person.insert();

ORM -lah yang akan memetakan fungsi insert() sama dengan perintah SQL INSERT INTO.. Ada banyak pustaka ORM yang tersedia saat ini, di berbagai bahasa. Di Java misalkan ada Hibernate dan MyIbatis (dulu namanya IBatis). Di PHP, berbagai framework seperti CakePHP, CodeIgniter, Yii dan sebagainya menyediakan ORMnya sendiri-sendiri. Komponen utama dari banyak aplikasi perusahaan adalah kode yang transfer objek dan keluar dari database operasional. Solusi termudah adalah sering untuk menggunakan framework ORM, yang memungkinkan pengembang untuk menentukan pemetaan antara model objek dan skema database serta mengekspresikan database akses operasi dalam hal objek. Tidak mungkin untuk menulis seluruh aplikasi dalam perintah SQL, dan sebagian besar aplikasi enterprise menggunakan bahasa pemrograman berorientasi objek. Dalam hal ini, Anda harus melewati proses untuk mengumpulkan persyaratan, membuat desain, mengembangkan perangkat lunak, dan uji. Namun, selama tahap desain, bagaimana anda merencanakan lapisan data akses Anda? Akan Anda gunakan prosedur yang disimpan untuk Create, Read, Update, dan Delete (CRUD) transaksi Anda? Ada aplikasi domain seperti spasial, sistem informasi geografis (GIS) dan aplikasi multimedia di mana penggunaan fitur object-relational adalah wajib. Ada banyak juga jenis aplikasi lain yang sebagai kandidat yang baik untuk fitur object-relational, tapi sering diimplementasikan dengan menggunakan desain relasional murni. Feuerlicht (2008) berpendapat bahwa penggunaan fitur object-relational dibatasi dalam praktek karena kurangnya metodologi desain yang dapat membimbing desainer database dalam membuat keputusan tentang pilihan desain yang melibatkan perbandingan solusi relasional dan objectrelational. Urban (2003) dan Marcos (2001) mengkajinya penggunaan diagram UML untuk melaksanakan pemetaan Object-Relational dan pemodelan OR. Chilton (2006) memberikan gambaran tentang teknik pemodelan data termasuk OR-Mapping.

Object Relational Mapping

III.

MANFAAT OBJECT RELATIONAL MAPPING

Penting untuk dipahami bahwa ada banyak manfaat menggunakan ORM daripada teknik akses data lainnya. Pertama, ORM secara otomatis object-to-table dan table-to object conversion, yang menyederhanakan pengembangan aplikasi. Perkembangan pasar kini lebih disederhanakan menuju ke kecepatan waktu dan mengurangi biaya pengembangan dan pemeliharaan. Selanjutnya, ORM membutuhkan sedikit kode dibandingkan dengan menggunakan perintah SQL, ORM menyediakan caching transparan objek pada klien dengan demikian meningkatkan kinerja sistem. Sebuah ORM yang baik adalah solusi yang sangat optimal yang akan membuat aplikasi Anda lebih cepat dan lebih mudah. Vijay (2008) memberikan contoh berikut untuk menunjukkan manfaat ORM. Sebuah perusahaan perangkat lunak yang telah mengembangkan software untuk produsen makanan anjing dan telah mengikuti aturan bahwa prosedur yang tersimpan adalah solusi tercepat, dan semua operasi CRUD harus ditangani dengan menggunakan prosedur yang tersimpan. Para pengembang di perusahaan ini telah mengikuti pendekatan ini dan menciptakan prosedur yang disimpan untuk setiap transaksi CRUD, kini sudah lebih dari 3.000 prosedur yang tersimpan. Menulis prosedur yang tersimpan tidak sama dengan desain yang buruk. Sebaliknya, prosedur tersimpan jika dikelola dengan benar adalah alternatif yang sangat baik untuk SQL dinamis. Perusahaan perangkat lunak sekarang memiliki peluang untuk menjual perangkat lunak untuk produsen makanan kucing, tetapi perangkat lunak perlu mengubah untuk memenuhi kebutuhan bisnis perusahaan makanan kucing. Untuk meningkatkan portabilitas perangkat lunak mereka, perusahaan ingin menggunakan ORM .Mereka membangun model obyek untuk mewakili bisnis dan untuk mengoptimalkan dan menormalkan database perusahaan. Dengan cepat perusahaan software mampu menghilangkan ribuan prosedur yang tersimpan dan sebagai gantinya menggunakan fitur pemetaan otomatis untuk menghasilkan kode akses SQL. Hal ini mengurangi biaya pengembangan. Contoh ini disederhanakan, tetapi ini menunjukkan bahwa ORM dapat digunakan untuk meningkatkan akses database penanganan dari kode berorientasi obyek.

IV.

MENGAPA MENGGUNAKAN MAPPING ?

Akar masalahnya adalah bahwa obyek-obyek tidak dapat langsung disimpan ke database dan diambil dari database relasional. Sementara itu obyek memiliki identitas, state, dan perilaku di samping data, sedangkan RDBMS hanya menyimpan data saja. Bahkan data yang berdiri sendiri dapat menjadi masalah, karena seringkali tidak ada pemetaan langsung antara bahasa pemrograman (misalnya, C # atau Java) dengan (Relational Database Management System) RDBMS tipe data. Lebih jauh lagi, sementara objek yang dilalui menggunakan referensi langsung, tabel RDBMS berhubungan melalui nilai-nilai di dalam foreign key dan primary key. Selain itu, RDBMS saat ini tidak memiliki paralel untuk objek inheritance data dan perilaku. Akhirnya, tujuan dari model relasional adalah untuk menormalkan data (yaitu, menghilangkan data redundan dari tabel), sedangkan tujuan desain berorientasi obyek adalah model proses bisnis dengan menciptakan obyek-obyek dunia nyata dengan data dan perilaku. Munculnya kebutuhan baru yang tidak dapat terpenuhi oleh Sistem Manajemen Database Generasi 1 (Hierarkis & Jaringan), dan generasi 2 (RDBMS), sehingga kebutuhan mendesak untuk segera Object Relational Mapping 6

menggunakan Sistem Manajemen Database Generasi 3 (OODBMS). ORM menjadi jembatan antara obyek yang didefinisikan dalam kode program dengan database. ORM sebagai syarat mutlak yang dibutuhkan dalam membuat OODBMS.

4.1

Impedance Mismatch

Para pengembang beralasan yang paling penting menggunakan teknik ORM adalah ketidakcocokan impedansi yang terjadi antara kode obyek dan database relasional. Model berorientasi objek didasarkan pada prinsip bahwa aplikasi dibangun dengan menggunakan kumpulan komponen yang dapat digunakan kembali yang disebut objek. Di sisi lain, pola database relasional adalah satu di mana menyimpan database data dalam bentuk tabel. Sedangkan database sebagian besar didasarkan pada algoritma murni matematis, model berorientasi objek didasarkan pada representasi kehidupan dan lingkungan seseorang. Oleh karena itu, untuk mengatasi kesenjangan antara dua paradigma, perlu untuk memetakan model objek ke model data.

V.

MAPPING INHERITANCE

Database relasional tidak selalu mendukung inheritance (warisan), memaksa anda untuk memetakan struktur warisan dalam skema objek Anda ke skema data Anda. Konsep warisan menyebabkan beberapa masalah ketika menyimpan objek ke dalam DB relasional. Bagaimana mengatur atribut mewarisi dalam model data Anda? Ada tiga solusi utama untuk warisan pemetaan ke dalam database relasional. Teknik-teknik ini: Map entire class hierarchy to a single table Map each concrete class to its own table Map each class to its own table

Person name

Costumer preference

Employee salary

Gambar 1 : Kelas Hirarki

Diagram pada Gambar 3 menggambarkan tiga kelas - Person, adalah abstract class, dan dua concrete classes, Karyawan dan Pelanggan. Karena Person yang abstrak, namanya akan ditampilkan dalam huruf miring. Object Relational Mapping 7

5.1

Map entire class hierarchy to a single table


Person PersonPOID <<PK>> PersonType Name Preferences Salary

Gambar 2 : Pemetaan hirarki seluruh kelas satu tabel tunggal

Atribut dari semua kelas disimpan dalam tabel Person. Sebuah strategi penamaan tabel yng baik adalah dengan menggunakan nama kelas hirarki, dalam cara yang sangat mudah. Nama tabel biasanya sebagai kelas induk. Sebuat atribut tambahan yang ditambahkan untuk menunjukan tipe dari Person. Dua kolom telah ditambahkan ke table - PersonPOID dan PersonType. Kolom pertama adalah kunci utama (Primary Key) dan kolom kedua adalah kode yang menunjukkan apaka orang tersebut adalah pelanggan, karyawan, atau mungkin keduanya. PersonPOID adalah persistent object identifier (POID), sering hanya disebut object identifier (OID), yang merupakan surrogate key. Pendekatan ini sangat sederhana dan memungkinkan seseorang untuk dengan mudah menambahkan kelas baru. Karena hanya ada satu tabel, tidak ada alasan apapun untuk menggabungkan data query. Kurangnya tabel yang bergabung biasanya menunjukkan pengambilan data lebih efisien. Namun, tidak semua atribut yang relevan untuk semua Person types. Hal ini dapat mengakibatkan banya null atau nilai-nilat atribut yng kosong dalam tabel database. Efek ini akan menyia-nyiakan ruang database. Coupling meningkat antara hirarki kelas dan table. Hal ini tidak diinginkan sebagai perubahan dalam satu kelas yang dapat mempengaruhi kelas-kelas lain dalam hirarki. Tabel yang dihasilkan mungkin tidak sesuai dengan praktik terbaik di dalam hal normalisasi database.

5.2

Map each concrete class to a table

Dengan pendekatan ini, tabel dibuat untuk setiap concrete class, masing-masing table termasuk atribut dilaksanakan oleh kelas dan atribut yang diwariskan. Gambar berikut menggambarkan model data fisik untuk kelas hirarki yang telah dibahas di atas ketika pendekatan ini diambil. Ada tabel sesuai dengan masing-masing Costumer dan kelas karyawan karena mere concrete, objek yang instant dari mereka, tetapi tidak bagi Person, karena abstrak. Setiap tabel ditugaskan primary key-nya sendiri, costumerPOID dan employeePOID masing-masing.

Costumer CostumerPOID <<PK>> Name Preferences

Employee EmployeePOID <<PK>> Name Salary

Gambar 3 : Mapping each concrete class to a table

Keuntungan metode ini adalah kinerja yang baik dalam hal mengakses data sebuah objek tunggal. Namun, ketika sebuah perubahan kelas, hal itu tidak hanya akan diperlukan untuk mengubah tabel terkait, tetapi juga tabel yang sesuai dengan anak kelasnya. Object Relational Mapping 8

5.3

Map each class to its own table

Berikut ini adalah strategi Anda untuk membuat satu tabel per kelas, dengan satu kolom per atribut bisnis dan informasi identifikasi yang diperlukan. Gambar berikut ini menggambarkan model data fisik untuk kelas hirarki contoh di atas bila masing-masing kelas dipetakan ke tabel sendiri. Data untuk kelas Costumer disimpan dalam dua tabel, Costumer dan Person. Oleh karena itu untuk mengambil data ini, Anda akan perlu untuk menggabungkan dua tabel. Penentuan key sangat menarik. Perhatikan personPOID bagaimana digunakan sebagai primary key untuk semua tabel. Untuk tabel Costumer dan Employee personPOID adalah primary key dan foreign key yang digunakan untuk menjaga hubungan ke tabel Person.

Person PersonPOID <<PK>> Name 1

0..1 Costumer PersonPOID <<PK>><<FK> Preferences Employee

0..1

PersonPOID <<PK>><<FK> Salary

Gambar 4 : Mapping each class to a table

Setiap kelas memiliki tabel yang terkait dalam database. Ada pemetaan langsung antara kelaskelas dan tabel-tabel. Dengan metode ini, mudah untuk menambahkan atau memodifikasi subclass atau untuk memodifikasi kelas dasar. Pemetaan one-to-one membuat pendekatan ini mudah dimengerti. Akses data dalam hal membaca dan menulis dapat menjadi lambat karena adanya tabel yang lebih terlibat. Tabel-tabel yang digabungkan mungkin diperlukan untuk melakukan operasi data terkait.

VI.

ORM Design Approaches

Pada dasarnya, ada tiga kunci pendekatan untuk desain ORM: Bottom Up, Top Down, dan Meet in the Middle. Setiap pendekatan memiliki keuntungan dan masalah.

6.1

Pendekatan Bottom Up

Pendekatan Bottom Up adalah Anda mulai dari bagian bawah atau dalam hal ini database, dan cara kerja Anda menuju ke atas hingga ke model obyek. Dalam LINQ to SQL (Language Integrated Query in .Net.) desainer, ini adalah pendekatan yang paling didukung. LINQ to SQL mendukung Object Relational Mapping 9

pendekatan lain, tetapi cara tercepat dan termudah adalah mulai dengan database dan menghasilkan model objek dari skema Anda.

6.2

Pendekatan Top Down

Model Pendekatan Top Down ialah pendekatan pada kebutuhan bisnis atau konseptual bukan database. Kelemahan utama pendekatan ini adalah sebagai tantangan bagi orang-orang yang tidak akrab dengan pendekatan ini, dan butuh waktu lama untuk mempelajarinya. Namun pendekatan ini memungkinkan Anda untuk menjadikan domain dasar pada kebutuhan bisnis yang spesifik, sehingga memberikan Anda pendekatan desain yang paling fleksibel.

6.3

Pendekatan Meet in the Middle

Pendekatan Meet in the Middle yang paling berlaku adalah untuk situasi di mana model database dan obyek sudah ada, dan tujuan Anda adalah untuk menentukan pemetaan antara keduanya. Di beberapa kasus dimana tidak ada sebuah model domain yang ortoganal transek dengan database, maka pendekatan ini mengubah pendekatan bottom up dan pendekatan top down.

VII. ORM FRAMEWORKS AND TOOLS


Ada banyak framework ORM yang digunakan saat ini. Richardson (2009) memberikan gambaran tersendiri dari framework ORM yang popular saat ini. Sebagai contoh Hibernate, Toplink and OpenJPA framework yang populer dengan Java developers. Yang terbaru ada dua framework ORM yang digunakan oleh perusahaan yaitu Active Record for Ruby dan GORM ( Grails Object Relational Mapping) for Groovy.

7.1 Persyaratan Mutu untuk ORM


Vijay (2008) memberikan kriteria dasar untuk perangkat ORM yang berkualitas, antara lain : Object-to-database mapping: Ini adalah aspek yang paling penting dari sebuah alat ORM. Sebuah tools ORM harus memiliki kemampuan mapping untuk obyek bisnis ke tabel-tabel database melalui semacam metadata mapping. Ini adalah inti dasar dari object relational mapping. Object caching: Fungsi ini memungkinkan objek / cache data untuk meningkatkan kinerja di persistence layer. Multiple database-platform support: Sebuah ORM yang berkualitas menawarkan portabilitas dari satu RDBMS provider ke yang lain. Lazy loading: Tujuan lazy loading adalah untuk mengoptimalkan penggunaan memori server database dengan mengutamakan komponen yang harus dimuat ke memori ketika program dimulai. Nonintrusive persistence: berarti ORM tidak perlu untuk memperpanjang atau mewarisi dari fungsi, kelas, interface, atau apa pun dari operator tertentu. Multiple object-oriented framework support: Ada beberapa produk ORM yang sangat sedikit menawarkan kompatibiltas dengan multiple object oriented languages dan lingkungan pengembangan. 10

Object Relational Mapping

Stored procedure support: Kadang-kadang prosedur yang benar-benar tersimpan adalah satu-satunya pilihan yang layak, karena masalah kinerja dengan query di tool ORM berjalan lama atau sangat kompleks (misalnya, reporting).

VIII. ORM DENGAN HIBERNATE


Hibernate adalah perangkat untuk memudahkan akses database. Hibernate menangani koneksi database dari aplikasi Java ke Database Server. Hibernate juga merupakan framework untuk memetakan object ke RDBMS sehingga dapat melakukan mapping dari tabel database ke class.

APPLICATION Persistent Object

Hibernate
Hibernate properties XML Mapping

Database

8.1.

Fitur Hibernate

Pemilihan tipe data otomatis. Hibernate secara otomatis mengkonversi tipe data dari java menjadi tipe data database server / engine yang digunakan. Hibernate mendukung banyak database populer. Hibernate dapat digunakan pada database MySQL, SQL Server, Oracle, DB2, Postgree, dan lainya. Sehingga penggantian database engine tidak merubah aplikasi yang sudah dibuat. Mapping Java Object menjadi Struktur Tabel Database.Hibernate secara otomatis menciptakan struktur table sesuai dengan model aplikasi yang dibuat. Connection Pooling. Digunakan untuk menimalkan jumlah koneksi terbuka antara aplikasi dan database. Serta Transaction Management yaeg memudahkan mapping one-to-many dan many-to-many.

Object Relational Mapping

11

8.2.

Mengapa diperlukan Hibernate?

Hibernate diperlukan oleh programmer yang ingin menjadikan database sebagai tempat penyimpanan data, dan melakukan syntax query melalui obyek dan obyek meneruskan query ke dalam database tujuannya adalah untuk mempermudah dan merelasionalkan query dari obyek tersebut dan mengambilnya dari database. Hal ini dilakukan agar programmer bisa langsung mengkoneksi database meskipun dia tidak melakukan coding dari awal. Dan juga, database adalah repository yang paling aman karena kematureannya. Jadi, walaupun programmer tidak melakukan coding dari awal pada obyek, programmer bisa langsung melakukan query yang obyeknya terhubung dalam suatu database. Selain itu, karena kinerja hibernate dengan mengambil beberapa contoh objek yang memiliki banyak hubungan dengan objek lain sehingga memungkinkannya untuk melakukan fitur-fitur dari relasional.

8.3.

Siapa saja pengguna Hibernate?

Pengguna hibernate adalah programmer yang ingin mengintegrasikan obyek ke dalam database, programmer yang tidak memiliki banyak data, programmer yang familiar dengan syntax SQL juga sangat dianjurkan untuk menggunakan hibernate.

8.4.

Apa manfaat yang diperoleh dengan menggunakan Hibernate?

Dengan menggunakan hibernate, programmer bisa mengitegrasikan obyek ke dalam database sehingga programmer bisa melakukan create, update, dan delete (CRUD) melalui obyek. Selain itu, programmer juga dapat memproses penulisan data lebih cepat.

Object Relational Mapping

12

IX.

KESIMPULAN

Dalam tulisan ini, desain dari konsep mengenai ORM telah diperkenalkan. ORM adalah jembatan yang menghubungkan antara kode obyek ke database relasional. Tindakan pemetaan adalah cara yang efisien untuk mengatasi ketidakcocokan yang ada antara bahasa pengembangan berorientasi obyek dengan database relasional. Seperti ketidakcocokan dapat diklasifikasikan sebagai ketidaksetaraan antara operasi bahasa berorientasi obyek dan fungsi dari database relasional. Sebagai contoh, adalah mustahil untuk mengambil model obyek dan menyimpannya langsung ke database tanpa beberapa manipulasi. Hal ini terjadi karena database tidak memiliki kemampuan untuk menangani inheritance (warisan) atau polimorfisme, dua prinsip dasar dalam pengembangan berorientasi obyek. ORM merupakan solusi yang baik untuk mengatasi perbedaan yang melekat antara kode obyek dengan database relasional. Tool ORM yang Anda pilih untuk digunakan dalam perangkat lunak Anda harus dievaluasi berdasarkan seperangkat kriteria yang memenuhi tujuan Anda, namun, berikut ini adalah titik awal yang baik: pemetaan obyek-ke-database, cache objek, portabilitas (dukungan multiple DB), lazy loading, nonintrusive persistence, dan disimpan dalam dukungan prosedur. Selain itu, bersama dengan kriteria dan arah proses yang Anda gunakan untuk memilih alat ORM Anda, Anda juga harus berpikir tentang pendekatan desain ORM. Ada tiga pendekatan utama yang dapat digunakan dalam pengembangan ORM: Top Down, Meet in the Middle, and the Bottom Up approaches.

Object Relational Mapping

13

Daftar Pustaka
Simitchi. Aykun, 2009, Object-Relational Mapping in Database Design, University of Washington, United States. https://faculty.washington.edu/markk/sites/default/files/Simitci,%20Aysun%20%20ObjectRelationalMapping(ORM).pdf Ruckemann. Clauss-Peter, 2009, Dynamical Parallel Applications on Distributed and High Performance Computing Systems, Leibniz Universitat Hannover, Germany. http://www.iariajournals.org/software/soft_v2_n23_2009_paged.pdf http://www.developer.com/java/data/article.php/3391131/An-Introduction-to-Object-RelationalMapping-with-Hibernate.htm

Object Relational Mapping

14