• Tidak ada hasil yang ditemukan

Implementasi LINQ Pada Aplikasi Student Helper

N/A
N/A
Protected

Academic year: 2024

Membagikan "Implementasi LINQ Pada Aplikasi Student Helper"

Copied!
8
0
0

Teks penuh

(1)

Implementasi LINQ Pada Aplikasi Student Helper

Sugianto Palar

Teknik Informatika, Sekolah Tinggi Ilmu Komputer Bina Indonesia, Mamuju, Indonesia Email: [email protected]

Abstrak

Berdasarkan dari penelitian yang dilakukan oleh penulis, Saat ini para programmer masih melakukan rutinitas yang panjang dalam mengolah data dan selain itu tuntutan untuk menguasai banyak teknologi semakin besar seiring dengan semakin luasnya cakupan aplikasi. LINQ hadir untuk menyederhanakan segala rutinitas koding dan meminimalkan perulangan yang tidak perlu.

Tujuan penelitian ini yaitu (1) Untuk menyederhanakan rutinitas pengaksesan data, (2). Menguji aplikasi Student Helper yang dijadikan contoh implementasi LINQ. Student Helper ini dibangun dengan menggunakan bahasa pemrograman Visual Basic 9. Agar sasaran penulis dapat tercapai, maka penulis mengumpulkan data dengan studi kepustakaan dan lewat media forum internet. Untuk pengujian sistem, digunakan metode black-box. Dari hasil pengujian memperlihatkan Student Helper yang dirancang dengan menggunakan LINQ dapat berjalan dengan baik dan mudah.

Kata Kunci: LINQ, Student Helper, Visual Basic, Desktop App, Basis data Abstract

Based on the research conducted by the author, currently programmers are still doing a long routine in processing data and besides that the demand for mastering many technologies is getting bigger along with the wider scope of application. LINQ is here to simplify all coding routines and minimize unnecessary repetition. The purpose of this study is (1) To simplify the routine of accessing data, (2). Test the Student Helper application which is an example of LINQ implementation. This Student Helper was built using Visual Basic programming language 9. So that the author's goals can be achieved, the writer collects data with literature studies and through internet forum media. For system testing, the black-box method is used. From the results of testing showing the Student Helper designed using LINQ can run well and easily.

Keywords: LINQ, Student Helper, Visual Basic, Desktop app, Database

1. PENDAHULUAN

Membicarakan tentang perangkat lunak atau software itu sederhana, kita akan langsung memikirkan tentang dua hal yaitu, kode dan data. Tapi Membuat software tidaklah semudah membicarakannya dan satu aktivitas utama yang termasuk di dalamnya adalah menulis kode yang mengakses data. Dalam penulisan kode, kita bisa memilih berbagai macam bahasa pemrograman. Pemilihan bahasa pemrograman untuk sebuah aplikasi dapat tergantung dari konteks bisnis,dari pilihan programmer / tim yang akan membuat, dari sistem operasi yang digunakan hingga kebijakan perusahaan.

Bahasa apapun yang akhirnya dipilih, pada titik tertentu harus berurusan dengan sejumlah data, data ini bisa berupa file-file yang ada pada disk, tabel-table dalam database, atau dokumen XML yang berasal dari web, bahkan tidak jarang kita harus berhadapan dengan kombinasi dari semua ini. Dan akhirnya, mengatur data adalah kebutuhan setiap proyek perangkat lunak yang akan kita kerjakan.

Bahwa berurusan dengan data merupakan pekerjaan yang rutin untuk setiap pengembang perangkat lunak, kita akan mengharapkan sebuah platform pengembang software yang besar dan kaya seperti .NET Framework yang akan memberikan kita kemudahan dalam melakukan semua kegiatan itu. Namun, Walaupun .NET menyediakan dukungan yang sangat luas dalam hal berurusan dengan data, tetap saja kita akhirnya perlu untuk melakukan rutinitas panjang seperti menghubungkan objek ke database, melakukan query ke database dan akhirnya menampung hasil itu kembali ke objek. Masalahnya adalah dalam banyak kasus, setidaknya pada relational database, sepertinya terdapat gap atau pemisah antara bahasa pemrograman yang kita gunakan dengan database itu. Tapi dalam beberapa tahun ini penggunaan relasional database sudah sangat mengakar dan itu berarti kita masih akan tetap berjuang dengan akses data dan sibuk dengan pengukuhan objek-objek ke database dalam seluruh program yang kita buat.

Microsoft melalui Visual Studio, resmi menyertakan LINQ (Language Integrated Query)[1], Sebuah teknologi baru untuk bahasa pemrograman .NET dalam mengatasi masalah konseptual dan kesulitan teknis yang ditemui setiap menggunakan database. Selain niat awal untuk mengatasi kesulitan tadi, melalui LINQ ini, tercipta juga solusi baru dalam pemetaan object relasional dan penyederhanaan interaksi antara objek dan data source.

Dalam pengembangannya, LINQ akhirnya menjadi sebuah perangkat umum bahasa yang langsung mengintegrasikan query ke dalam bahasa pemrograman .NET seperti C# dan Visual Basic melalui sekumpulan extension. Perangkat ini dapat digunakan dalam mengakses data yang berasal dari kumpulan objek (LINQ to Object), Database (LINQ to SQL), dokumen XML (LINQ to XML). LINQ menyatukan akses data, apapun sumber data itu, dan membiarkan kita untuk menggabung data dari berbagai sumber yang berbeda [2]. LINQ juga menyediakan bahasa query dan kumpulan operasi, seperti yang telah di tawarkan oleh SQL untuk mengakses database. Sebelum LINQ, kita harus menggunakan berbagai bahasa seperti SQL, XML, atau Xpath beserta dengan teknologi – teknologi lain dan API seperti ADO.NET atau System.Xml dalam setiap aplikasi yang ditulis

(2)

menggunakan C# atau VB.NET, dan sepertinya penggunaannya meluas begitu saja tanpa pernah dikatakan bahwa cara ini sebenarnya mempunyai kekurangan. LINQ merekat beberapa dunia sekaligus dan menolong kita untuk mengatasi kesulitan yang sering kita temui di sepanjang jalan pada dunia yang satu dan dunia yang lainnya

Mengacu pada masalah yang dijelaskan oleh penulis diatas, maka penulis akan mencoba untuk memperkenalkan dan mengulas penerapan LINQ untuk menyederhanakan penggunaan Objek dengan XML, Objek dengan database, serta database dengan XML[3][4]. Untuk penerapannya, penulis akan membuat sebuah aplikasi Student Helper, suatu aplikasi sederhana yang bertujuan untuk membantu setiap mahasiswa mencatat informasi seputar kampus dan kegiatan perkuliahan[5].

Berdasarkan uraian diatas, maka perumusan masalahnya adalah bagaimana mengimplementasikan LINQ dalam menyederhanakan rutinitas pengaksesan data. Tujuan dari penelitian ini adalah untuk mengimplementasikan LINQ melalui contoh aplikasi student helper.

2. METODE PENELITIAN

2.1 Waktu dan Tempat Penelitian

Penulis melakukan penelitian dengan mengambil lokasi pada STMIK Bina Indonesia dengan pertimbangan kemudahan dalam mengumpulkan data serta pertimbangan bahwa di institusi lokal penulis mendapatkan kemudahan dalam melakukan diskusi dengan para sivitas akademik Jenis penelitian penulis adalah termasuk penelitian pustaka, di mana penulis mencoba mengangkat dan membahas lebih dalam suatu literatur ataupun ilmu yang telah ada.

2.2. Teknik Pengumpulan dan Analisa Data

Dalam melaksanakan penelitian ini penulis menggunakan metode pengumpulan data yaitu Studi literatur, Melakukan pengumpulan data dengan cara mempelajari literatur berupa buku-buku pedoman, buku-buku perpustakaan, situs-situs dari internet yang berkaitan dengan penelitian, serta sumber lain yang dianggap perlu.

Beberapa tema yang menjadi perhatian penulis dalam studi literatur ini adalah Net Framework, LINQ, Visual Basic, dan XML. Dalam melakukan analisa data penulis menggunakan metode analisis perancangan perangkat lunak berbasis teknologi objek menggunakan bahasa pemodelan UML yang terdiri dari diagram usecase dan activity.

3. ANALISA DAN PEMBAHASAN

3.1 Analisa Kondisi Awal

LINQ yang dimasukkan sebagai pustaka baru di dalam .NET Framework 3.5, dengan namespace linq dan terdaftar sebagai bagian dari pustaka langsung dari system. Sehingga untuk menggunakan pustaka LINQ penulis harus mendeklarasikan atau mengikutsertakan pustaka LINQ di dalam aplikasi Student Helper lewat namespace System.Linq.

Student Helper adalah sebuah aplikasi pembantu yang diperuntukkan kepada setiap mahasiswa. Aplikasi ini berfungsi untuk mencatat informasi seputar kegiatan perkuliahan. Student helper mempunyai fitur untuk mencatat informasi detail mengenai kelas yang diikuti mahasiswa, membuat roster atau jadwal perkuliahan, mencatat jadwal kuis dan ujian, mencatat informasi detail para dosen pengajar, dan membuat daftar kontak. Adapun beberapa tools yang dibutuhkan untuk merancang dan mengimplementasikan LINQ pada aplikasi Student Helper antara lain sebagai berikut:

1. UML, yaitu tools untuk merancang perangkat lunak

2. Visual Basic 9, yaitu bahasa pemrograman yang akan digunakan.

3. Microsoft SQL Server 2005, yaitu aplikasi penyimpanan data

4. XML To Schema, Template Tambahan yang menambah kemampuan LINQ dalam mengenali struktur XML

Kesalahan yang paling sering dilakukan dan umum dilakukan adalah penulisan kode program ataupun query yang akan menyebabkan compile error dan run time error yang menyita banyak waktu. Bahasa pemrogramanpun tidak menyediakan fasilitas yang cukup untuk menawari programmer berbagai bantuan dalam penulisan program. Pada saat berurusan dengan XML, penggunaan DOM (Document Object Model) yang memerlukan kode yang sangat tidak intuitif dalam pembuatan dokumen XML.

3.2 Rancangan Sistem a. Use case diagram

Adapun diagram use case yang menggambarkan fungsionalitas sistem [6] yang dibangun secara umum sebagai berikut :

(3)

Tabel 1. Use case login Aktor Administrator dan User

Tujuan Masuk dalam aplikasi

Deskripsi Mengisi User Name dan Password Tabel 2. Use case input data XML Aktor Administrator dan User

Tujuan Memasukkan data ke dalam file XML Deskripsi File XML mencakup data pribadi setiap user

Tabel 3. Use case edit data XML Aktor Administrator dan User

Tujuan Merubah data yang telah ada di dalam file XML Deskripsi File XML mencakup data pribadi setiap user

Tabel 4. Use case hapus data XML Aktor Administrator dan User

Tujuan Menghapus data ke dalam file XML Deskripsi File XML mencakup data pribadi setiap user

Tabel 5 . Use case lihat data XML Aktor Administrator dan User

Tujuan Melihat data yang ada di dalam file XML Deskripsi File XML mencakup data pribadi setiap user

Tabel 6. Use case menyusun query Aktor Administrator dan User

Tujuan Membangun Query Dinamis

Deskripsi Aktor dapat menentukan Where dan Orderby Clause Tabel 7. Use case input data DB

Aktor Administrator

Tujuan Menginput data yang penyimpanannya dalam bentuk SQL database

Deskripsi Data dari SQL database mencakup Student dan Teacher Tabel 8. Use case edit data DB

Aktor Administrator

Tujuan Merubah data yang ada di dalam SQL database

Deskripsi Data dari SQL database mencakup Student dan Teacher Tabel 9. Use case hapus data DB

Aktor Administrator

Tujuan Menghapus yang ada di dalam SQL database

Deskripsi Data dari SQL database mencakup Student dan Teacher Tabel 10. Use case lihat data DB

Aktor Administrator

Tujuan Melihat data yang ada di dalam SQL database

Deskripsi Data dari SQL database mencakup Student dan Teacher.

Tabel 11. Use case input Data Select Query

Aktor Administrator

Tujuan Menampilkan laporan data dari per database tabel berdasarkan field – field yang diinginkan

Deskripsi Aktor dapat memilih field-field yang ingin diikutkan dalam membuat laporan.

(4)

b. Diagram Activity

Diagram activity merupakan diagram yang digunakan untuk menggambarkan aliran proses yang terjadi pada setiap use case yang terdapat dalam sistem guna memberikan gambaran mengenai proses yang terjadi.

Gambar 1. Diagram activity dari use case login

Gambar 2. Diagram activity dari use case menyusun query

Gambar 3. Diagram activity dari use case input data DB c. Rancangan Terinci

Adapun arsitektur perangkat lunak aplikasi Student Helper seperti ditampilkan pada gambar 4:

(5)

Gambar 4. Arsitektur perangkat lunak

User menjalankan aplikasi lewat Subsistem User Interface yang menyediakan antarmuka yang bisa digunakan untuk menggunakan seluruh fungsionalitas yang ditawarkan oleh aplikasi Student Helper. Segala perintah yang dimasukkan oleh user akan kemudian diproses oleh Visual Basic dan LINQ processing Engine (pemroses LINQ) yang akan mengolah dan mengembalikan feedback yang seharusnya kembali kepada user yang juga melalui antarmuka. Aplikasi ini menggunakan dua basis data untuk menyimpan informasi, yaitu database SQL dan XML file [7]. LINQ Engine yang digunakan disini berfungsi sebagai jembatan tambahan yang menyambung setiap aliran input output. Setiap jenis sumber data akan ditangani oleh LINQ Provider yang sesuai. XML akan diproses dengan LINQ To XML,SQL Database ditangani dengan LINQ To SQL sedangkan LINQ To Object dipakai untuk memproses data diluar kedua sumber tadi[8]. Basis Data Yang digunakan pada aplikasi ini ada 2 yaitu:

A. SQL DATABASE

Media penyimpanan data default ataupun data paten yang dimiliki oleh admin. Beberapa form atau proses yang menggunakan SQL database sebagai media penyimpananya adalah :

a. Data Student

Berisi data Account User Name untuk setiap murid atau mahasiswa pengguna.

b. Data Teacher

Berisi data dan informasi lengkap para guru atau dosen pengajar.

B. XML File

Media Penyimpanan dalam bentuk XML, file ini dimiliki oleh setiap user. Ini memungkinkan setiap user memiliki data yang berbeda dengan user lainnya.

a. Data Schedule

Setiap mahasiswa dapat memiliki jadwal yang berbeda dengan yang lainnya.

b. Data Class

Setiap mahasiswa dapat menyimpan informasi tentang kelas yang telah atau sedang diikuti.

c. Data Exam

Setiap mahasiswa dapat memiliki informasi tentang jadwal dan deskripsi ujian atau kuis yang akan dilaksanakan.

d. Data Contact

Setiap mahasiswa dapat membuat contact atau friend list yang mencatat infomasi yang dibutuhkan

(6)

e. Data Setting

Setiap mahasiswa dapat menyimpan konfigurasi setting aplikasi.

4. IMPLEMENTASI

Aplikasi ini memunculkan halaman login saat pertama kali dijalankan dapat dilihat pada gambar 5 :

Gambar 5. Halaman Login

Setelah berhasil login, maka aplikasi akan langsung menampilkan halaman utama program seperti yang terlihat pada gambar 6.

Gambar 6. Halaman Utama 4.1 Implementasi LINQ

a. LINQ To SQL

LINQ To SQL menyediakan bahasa terintegrasi akses data dengan menggunakan mekanisme extensi dari LINQ yang memetakan tabel dan tiap baris record pada kelas dan objek.

sebuah tabel bisa dipetakan dalam sebuah kelas dan kolom-kolom tabel ke property dari kelas.

LINQ To SQL secara otomatis menyimpan segala perubahan pada objek dan memperbarui database melalui query SQL dinamis. yang membuat kita tidak perlu lagi menghabiskan banyak waktu untuk menulis sendiri SQL Query.

Pada aplikasi Student Helper, LINQ To SQL diterapkan dengan menggunakan template file dari kelas LINQ To SQL, yang merupakan sebuah class dimana seluruh tabel yang akan digunakan harus dipetakan agar selanjutnya bisa dikenali saat melakukan coding dalam aplikasi.

(7)

Gambar 7 Tampilan LINQ To SQL Class b. LINQ To XML

LINQ To XML menawarkan kemampuan query untuk mengolah XML tanpa memerlukan API baru, jadi kita tetap dapat menggunakan sintak yang tidak jauh berbeda dengan LINQ Query yang lain seperti penggunaan pada database ataupun objek. Selain itu, LINQ tetap menyediakan sebuah API khusus dalam mengolah XML, API ini sangat ringan, yang dirancang khusus untuk bisa memanfaatkan pustaka- pustaka dalam .NET Framework yang terbaru. LINQ To XML mengatasi kelemahan penggunaan DOM (Document Object Model) yang memerlukan kode yang sangat tidak intuitif dalam pembuatan dokumen XML.Lewat LINQ To XML, Visual Basic dilengkapi dengan pembuatan dokumen XML Literal, yaitu membuat dokumen yang langsung menyerupai dokumen XML itu sendri. Di bawah ini adalah contoh pembuatan dokumen XML menggunakan Library yang disediakan oleh LINQ To XML Provider. LINQ To XML memungkinkan kita untuk melakukan query terhadap XML yang sama sekali belum bisa dilakukan sebelumnya. Penulis menggunakan query ini untuk mendapatkan data yang user inginkan pada saat pencarian.

Dim MyContact = Xelement.Load(ContactXMLFilePath) Dim ContactQuery = From CQ In MyContact...<Contact> _

Where CQ.<Name>.Value Like _ Me.SearchToolStripTextBox.Text & "*" _ Select CQ

Pada Query diatas, source pencarian adalah MyContact, yang sebelumnya telah diisi dari data XML lewat perintah load pada kelas Xelement. Sintaks “…” berarti menyatakan turunan dari simpul

<Contact>, kurung siku < > digunakan untuk menuliskan nama simpul yang ada dan harus sesuai dengan struktur XML yang case sensitive. Pada Prakteknya, Cukup merepotkan bila seorang programmer harus mengingat setiap struktur XML yang mereka buat, selain itu kesalahan pengetikan masih sangat mungkin terjadi. Sesuai dengan salah satu tujuan penciptaan LINQ yang berusaha meminimalkan kesalahan coding saat berurusan dengan data source di luar bahasa pemrograman yang dipakai, XML To Schema pun diciptakan, Sebuah Template yang akan menambah kemampuan LINQ To XML dalam mengenali struktur XML File.

Gambar 8. Tampilan XML To Schema

(8)

Lewat XML To Schema ini, penulis memasukkan struktur XML file yang digunakan agar selanjutnya bisa dikenali saat menuliskan kode program.

Gambar 9. Menunjukkan intellisense VB yang mengenali elemen XM

5. KESIMPULAN

Dari hasil rancangan dan penerapan yang dilakukan, penulis dapat menyimpulkan

1. Penggunaan sintak query LINQ yang sangat mirip terhadap 2 data source yang sangat berbeda

2. LINQ To SQL memberikan kemudahan dan keamanan dalam melakukan koding terhadap data source SQL Database.

3. LINQ To XML memperkaya pustaka .NET Framework Dalam mengolah XML, sekaligus berhasil mengatasi kesulitan dalam penggunaan DOM (Document Object Model) yang selama ini dianggap membingungkan.

Secara Keseluruhan, kehadiran LINQ selain dapat menyederhanakan dan meringankan penulsan kode juga telah berhasil menjadi jembatan antara bahasa pemograman dan data source yang akhirnya dapat memberikan alternatif bagi setiap pengembang untuk melakukan pengolahan data dengan cepat sesuai dengan kebutuhan aplikasi

REFERENCES

[1] Sanders, Prashanthan, et al. "Performance of a new atrial fibrillation detection algorithm in a miniaturized insertable cardiac monitor:

Results from the Reveal LINQ Usability Study." Heart Rhythm 13.7 (2016): 1425-1430.

[2] Tada, Shizuka, et al. "Investigation on the optimal implantation site and setting of Reveal LINQ® avoiding interference with performance of transthoracic echocardiography." Journal of arrhythmia 34.3 (2018): 261-266.

[3] Chyan P., Marwi H. 2014. Sistem Temu Balik Citra Menggunakan Ekstraksi Fitur Citra Dengan Klasifikasi Region Untuk Identifikasi Objek, Jurnal Ilmiah TEMATIKA, Vol. 2, No. 2, 2014, hal: 63-72, ISSN: 2303-3878

[4] Chyan P., Sumarta S. 2015. Rancang Bangun Search Engine dengan Pendekatan Temu Balik Berbasis Konten, Jurnal ilmiah TEMATIKA, Vol. 3, No. 2, 2015, hal: 31-39, ISSN: 2303-3878

[5] Wihanry, I., & Chyan, P. (2015). Perancangan Aplikasi Pembelajaran Aksara Lontara Dengan Metode Game Based Learning. TEMATIKA, Journal of Informatics and Information Systems, 3(1), 1-8.

[6] Nugroho, A. (2009). rekayasa perangkat lunak menggunakan UML dan JAVA. Penerbit Andi [7] Simarmata, J., & Paryudi, I. (2006). Basis data. Yogyakarta: Penerbit Andi.

[8] Melnik, Sergey, Philip A. Bernstein, and James F. Terwilliger. "Mapping and query translation between XML, objects, and relations."

U.S. Patent No. 9,336,327. 10 May 2016.

Referensi

Dokumen terkait

Pada Gambar 3.13 terdapat 14 komponen penting pada antarmuka yaitu, (1) nama aplikasi, textbox (2) dimana pengguna dapat membuka file database mdb melalui tombol

Hasil yang didapat dari masalah ini berupa aplikasi pengolahan data penjualan tanah kavlingan pada CV Segonang Jaya berbasis web , dimana aplikasi ini lebih mudah diterapkan

Pengguna aplikasi ini adalah pengguna handphone itu sendiri dimana pengguna handphone bisa melakukan proses-proses seperti membuat direktori baru, mengubah nama direktori atau

Salah satu solusi yang mungkin diterapkan guna memecahkan masalah tersebut adalah dengan membangun aplikasi web crawler menggunakan metode Breadth First Search

Pengelolaan dana kas kecil yang diterapkan oleh PT Rekayasa Aplikasi Digital menggunakan metode atau sistem dana berubah (fluctuation system), dimana penetapan dana

Pada pengumpulan data terdapat file teks yang digunakan dalam melakukan kompresi data dokumen. Kumpulan teks yang digunakan dalam mengecek kemampuan dari aplikasi yang

Simulasi pada server aplikasi web langsung dengan IP 192.168.98.134 sebagai perbandingan terhadap hasil yang akan didapatkan saat dilakukan serangan terhadap SQL Injection

Pembelajaran berbasis life skills sangat cocok diterapkan pada mata kuliah mikrobilogi dimana mata kuliah tersebut mempelajari berbagai konsep mengenai mikroorganisme dan