BAB I PENDAHULUAN - SInTA UKDW

advertisement
BAB I
PENDAHULUAN
1.1
Pendahuluan
Dalam pengembangan aplikasi, pada umumnya untuk menyimpan
data digunakan RDBMS (Relational Database Management System) yang
terdiri dari banyak tabel yang saling berelasi satu dengan yang lain. Untuk
memanipulasi data yang ada pada database digunakan perintah berupa
SQL, sedangkan pada kasus yang membutuhkan logika yang lebih
kompleks dapat dibuat program tersendiri dalam bentuk Stored Procedure.
Stored Procedure pada database Oracle, SQL Server, MySQL, dan
PostgreSQL berbeda-beda, masing-masing database juga mempunyai
standar SQL yang berbeda-beda pula.
Oleh karena itu, untuk mengatasi masalah tersebut bisa digunakan
ORM (Object Relational Mapping)1 yaitu sebuah teknik pemrograman
yang memetakan tabel pada relational database ke object dengan
menggunakan informasi pada metadata. Dengan mengimplementasikan
ORM diharapkan developer dapat lebih melihat relasi antar data dalam
bentuk objek tidak berupa tabel dan kolom-kolom yang menjadi ciri dari
model relasional. ORM digunakan untuk menjadi perantara antara SQL
dan bahasa program agar programmer dapat lebih mudah untuk bekerja
dengan object yang mewakili relational database tersebut.
Sampai saat ini, pendekatan yang terbaik yang bisa dilakukan
adalah dengan mengabstraksikan akses ke database sehingga developer
hanya melakukan akses secara object-oriented tanpa perlu memperdulikan
SQL lagi. Tetapi pendekatan ini mengorbankan salah satu aspek yang
paling penting dan menarik pada relational database yaitu kemampuan
untuk melakukan query data.
1
Ariyanto,ST, Origami ORM Framework User Guide, 2009, hal 7
1
Untuk mengatasi masalah tersebut, dapat digunakan LINQ to SQL
yang memungkinkan mengakses relational database dalam bentuk object
tanpa kehilangan kemampuan query. Saat ini LINQ to SQL secara resmi
baru mendukung database SQL Server dan SQL Server Express. LINQ to
SQL adalah teknologi baru yang dirilis bersamaan dengan .NET
Framework versi 3.5. LINQ to SQL merupakan teknologi yang
mensupport ORM pada .NET Framework yang dibuat oleh Microsoft.
Untuk menggunakan LINQ to SQL programmer harus membuat pemetaan
dari relational database kedalam class. Selain memakai LINQ pemecahan
masalah tersebut juga dapat menggunakan Subsonic, yaitu open source
.NET ORM tools yang dikembangkan oleh tim dibawah pimpinan Rob
Conery. Subsonic mendukung koneksi ke database seperti MySQL,
Oracle, dan SQL Server. Seperti LINQ to SQL, subsonic juga dapat
menterjemahkan sintaks subsonic menjadi bahasa SQL yang spesifik pada
masing-masing database.
Pada tugas akhir ini akan dilakukan pengujian dan analisis
perbandingan kecepatan proses eksekusi CRUD (Create, Read, Update,
Delete) untuk ribuan data, analisis kecepatan dalam melakukan perintahperintah SELECT, SELECT JOIN, SELECT GROUP BY, SELECT
ORDERBY, SELECT untuk AGGREGATE (SUM, AVERAGES), serta
analisis SLOC (Source Line Of Code) dari generated code yang dihasilkan
pada dua framework ORM yaitu LINQ to SQL dan Subsonic.
1.2
Perumusan Masalah
•
Bagaimana kecepatan proses dalam melakukan operasi INSERT,
UPDATE, DELETE menggunakan LINQ to SQL dan Subsonic untuk
100, 1000, 10000 data?
•
Bagaimana kecepatan dalam melakukan perintah-perintah SELECT,
SELECT JOIN, SELECT GROUP BY, SELECT ORDERBY,
SELECT untuk AGGREGATE (SUM, AVERAGES) menggunakan
LINQ to SQL dan Subsonic?
2
•
Bagaimana analisis SLOC (Source Line Of Code) dari generated code
yang dihasilkan oleh LINQ to SQL dan Subsonic pada pembuatan
aplikasi yang sama?
1.3
Batasan Masalah
• Program yang dibuat hanya mendukung satu jenis database server
yaitu SQL Server 2005 karena untuk saat ini LINQ secara resmi baru
dapat mensupport SQL Server 2005.
• Operasi yang dianalisis adalah CRUD (Create, Read, Update, Delete)
dan Select.
1.4
Tujuan Penelitian
Tujuan penelitian ini adalah :
1. Untuk memenuhi syarat kelulusan program studi pada Jurusan
Teknik Informatika di Universitas Kristen Duta Wacana.
2. Menerapkan teori-teori yang dipelajari selama perkuliahan ke
dalam bentuk Tugas Akhir.
3. Membantu programmer untuk membandingkan kecepatan proses
eksekusi mana yang lebih baik antara ORM Subsonic dengan
LINQ to SQL.
1.5
Metode/Pendekatan
o Metode Penelitian dan Pustaka
Penelitian pustaka dilakukan dengan cara mencari pustaka referensi
yang berhubungan dengan ORM (Object Relational Mapping),
LINQ (Language Integrated Query) dan Subsonic.
o Pengumpulan Data
Mengumpulkan data-data yang terkait dalam pembuatan Tugas
Akhir.
3
1.6
Sistematika Penulisan
Sistematika dari penelitian laporan Tugas Akhir ini dibagi dalam 5
Bab yang didalamnya terbagi lagi menjadi beberapa bagian yang
merupakan satu kesatuan dan saling terkait.
Bab I Pendahuluan, berisi latar belakang permasalahan, perumusan
masalah, batasan masalah, tujuan penelitian, dan sistematika penulisan dari
tugas akhir ini.
Bab II Tinjauan Pustaka, berisi teori-teori yang mendukung dalam
penyelesaian Tugas Akhir ini, yaitu berupa teori ORM, LINQ, Subsonic,
SLOC.
Bab III Perancangan Sistem, berisi perancangan sistem yang berupa
rancangan proses dan rancangan interface secara keseluruhan dari
pembuatan Tugas Akhir ini.
Bab IV Implementasi dan Evaluasi Sistem, yang menguraikan
implementasi sistem dalam bentuk program yang dibuat dengan
membahas obyek dan prosedur inti serta menguraikan kelebihan dan
kelemahan sistem yang telah dibuat.
Bab V Kesimpulan dan Saran, berisi kesimpulan tentang Tugas Akhir
yang dibuat, serta menguraikan beberapa saran yang dapat digunakan
untuk pengembangan sistem di kemudian hari.
4
Download