• Tidak ada hasil yang ditemukan

Implementasi Complex Event Processing pada Sistem Informasi Manajemen Gerbang Tol

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi Complex Event Processing pada Sistem Informasi Manajemen Gerbang Tol"

Copied!
5
0
0

Teks penuh

(1)

Abstrak— Complex Event Processing (CEP) merupakan metode pemrosesan aliran data berbasis kejadian. Keunggulan CEP adalah memiliki waktu latensi yang rendah. Teknologi CEP tepat untuk digunakan pada perangkat lunak dengan tingkat transaksi data yang tinggi.

Pada CEP, aliran data dapat secara langsung diolah tanpa melalui proses penyimpanan. Pada CEP, aliran data yang masuk dapat dilakukan proses query kemudian ditampilkan, sedangkan pada DBMS data harus disimpan terlebih dahulu kemudian dieksekusi fungsi query. CEP Engine dibutuhkan untuk mengelola aliran data yang masuk dan keluar melalui adapter masukan dan luaran.

Untuk mengeksplorasi teknologi CEP, telah dibangun Simulasi Sistem Informasi Manajemen Gerbang Tol. Sistem membaca dan menampilkan laporan secara cepat kendaraan yang melewati gerbang tol. Dalam rangka uji coba performa waktu nyata, telah dibandingkan performa pengolahan data pada CEP dan pada DBMS. Untuk setiap studi kasus uji coba, performa CEP unggul daripada performa DBMS.

Kata Kunci— Complex Event Processing, Event-Driven Architecture, Data Streaming

I. PENDAHULUAN

eiring berkembangnya teknologi, kebutuhan manusia terhadap informasi meningkat. Saat ini informasi harus dapat disajikan secara cepat tanpa mengurangi aspek akurasi data. Begitu juga pada kebutuhan perusahaan. Perusahaan saat ini membutuhkan proses komputasi yang cepat dan tepat. Terlebih lagi pada perusahaan yang membutuhkan otomatisasi tindakan berdasarkan keadaan kritis.

Dewasa ini, sistem basis data digunakan untuk menyimpan data dengan kapasitas yang besar. Kapasitas data yang disimpan berbanding lurus dengan waktu pengolahan data. Di lain sisi, informasi harus tetap ditampilkan secara cepat. Penyimpanan data menggunakan Data Base Management System (DBMS) kurang efisien jika diterapkan pada perusahaan yang membutuhkan pengolahan data transaksional yang cepat [1]. Hal ini dikarenakan pada DBMS data disimpan terlebih dahulu baru diolah. Padahal, pada kasus tertentu pengguna hanya membutuhkan informasi yang disajikan dari data yang diolah tanpa perlu penyimpanan data.

Complex Event Processing (CEP) merupakan solusi yang tepat terhadap permasalahan ini. Pada CEP, data yang masuk dapat langsung diolah berdasarkan kejadian bisnis dan transaksi bisnis. Dengan memanfaatkan CEP,

perusahaan mampu memantau dan mengontrol beberapa proses bisnis secara waktu nyata [2]. Pada CEP, aliran data diolah dan ditampilkan tanpa harus disimpan. Proses eksekusi fungsi query berbeda dengan pada Database Management System (DBMS). Pada DBMS, untuk data harus disimpan dalam basis data, kemudian dikembalikan hasil dari fungsi query tersebut. Pada CEP, aliran data dilakukan proses query secara langsung dan ditampilkan.

Salah satu studi kasus penggunaan teknologi CEP di Indonesia adalah Simulasi Sistem Informasi Manajemen Gerbang Tol. Berdasarkan data Badan Pusat Statistik (BPS) RI, data jumlah kendaraan bermotor di Indonesia pada tahun 2009 adalah sebanyak 70.714.569 buah [3]. Tidak heran, Indonesia menjadi negara nomor satu se-Asia Tenggara dalam jumlah kendaraan bermotor terbanyak. Data tersebut menenggarai banyaknya kemacetan yang terjadi di Indonesia. Salah satu hal yang menyebabkan kemacetan adalah kurang mendukungnya fasilitas jalan raya.

Saat ini, gerbang tol di Indonesia masih dioperasikan oleh petugas jaga. Pembayaran dilakukan secara manual. Tentu hal ini tidak efektif dan dapat mengakibatkan antrean yang panjang hanya sekedar untuk membayar retribusi tol.

Pada penulisan paper ini, telah diimplementasikan Simulasi Sistem Informasi Manajemen Gerbang Tol (SIM-GT) menggunakan teknologi CEP. SIM-GT mengolah data kendaraan bermotor yang melintasi gerbang tol, melaporkan data secara waktu nyata, dan melakukan otomatisasi pembayaran retribusi tol.

II. TINJAUANPUSTAKA A. Konsep Kejadian

Kejadian atau Event merupakan sesuatu yang terjadi pada interval waktu tertentu. Pada implementasinya, setiap kejadian mengandung dua entitas, yakni tubuh kejadian dan header kejadian. Entititas tubuh kejadian berisi informasi atau data yang sedang terjadi pada kurun waktu saat itu. Header kejadian menjelaskan tentang nama kejadian, interval waktu kejadian, dan jenis kejadian [4].

Implementasi Complex Event Processing pada

Sistem Informasi Manajemen Gerbang Tol

Rahadian Dustrial Dewandono, Dwi Sunaryono, Umi Laili Yuhana Jurusan Teknik Informatika, Fakultas Teknologi Informasi,

Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111

E-mail: dwi@its-sby.edu

(2)

Gambar 1. Kejadian pada Fungsi Waktu.

Gambar 1 menjelaskan bahwa kejadian bisa bersifat saling tumpang tindih dan tidak bersifat sekuensial. Bisa jadi sebelum kejadian pertama selesai, kejadian kedua telah mulai. Tiap kejadian memiliki kurun waktu yang beragam.

B. Event-Driven Architecture (EDA)

EDA merupakan suatu arsitektur perangkat lunak berbasis kejadian atau event. EDA mengutamakan pada proses produksi, deteksi, konsumsi, and reaksi dari kejadian [5]. Perangkat lunak ini didasari pada bentuk model komunikasi asinkronus dari arsitektur berbasis pesan yang menyebarkan informasi di seluruh lingkungan perusahaan. Pada pola artitektur EDA, terdapat beberapa komponen arsitektur. Komponen arsitektur tersebut adalah event generator, event channel, event processing engine, dan downstream event-driven activity.

Event Generator adalah komponen yang berperan sebagai pembuat kejadian. Tugas lapisan arsitektur ini adalah untuk memperoleh data berupa fakta-fakta yang didapat dari dunia luar. Event channel merupakan lapisan yang berisi mekanisme penghubung antara event generator dan event processing engine. Di lapisan ini, entitas kejadian menunggu untuk diolah lebih lanjut. Lapisan event processing engine berperan untuk mengidentifikasi kejadian dan memberikan tindakan yang sesuai dengan jenis kejadian tersebut. Pada lapisan ini dapat dilakukan proses pengolahan data. Lapisan arsitektur downstream event-driven tidak selalu terdapat pada arsitektur berbasis kejadian. Jika pada lapisan event prosessing engine, tidak dilakukan banyak tindakan otomatis, maka lapisan ini mungkin saja tidak dibutuhkan.

C. Complex Event Processing (CEP)

CEP merupakan skenario teknologi pengaksesan dan pengolahan data yang berdasar atas event atau kejadian sebagai pemacunya. CEP menangani pemrosesan aliran data yang masuk sebagai suatu kejadian [6]. Kejadian tersebut diibaratkan dengan aliran yang selalu mengalir. CEP dapat mengatur aliran apa yang diinginkan dan tidak dengan mebuat penyaring. CEP mengolah dan melakukan proses query data dengan menyediakan saringan dari aliran data yang masuk. Dengan demikian, aliran data yang dikeluarkan dapat diatur sesuai dengan kata kunci pada proses query.

Konsep pengolahan data pada CEP berbeda dengan konsep pengolahan data pada Database Management System (DBMS). Pada CEP, data diperlakukan sebagai aliran yang diputar terus menerus. Fungsi query merupakan sebuah saringan dari aliran tersebut. Pada DBMS, data disimpan pada tempat penyimpanan seperti yang dijelaskan oleh Gambar 2. Data tersebut dapat sewaktu-waktu diambil kembali melalui fungsi query. Terdapat kekurangan dalam

segi efisiensi karena aplikasi harus melakukan proses request kepada server setiap kali mengolah data.

Log File Aplikasi Data Transaksional Basis Data Aplikasi Waktu Nyata Aplikasi Instruktur Business Events Business Transaction Polling

Batch Load Proses

Gambar 2. Alur Pemrosesan Data pada Database Management System (DBMS).

Pada penggunaannya, CEP memisahkan pengolahan data berdasarkan proses yang akan digunakan. Jika proses tersebut berupa business events, maka segala proses diolah dengan menggunakan stream processor dan diperlihatkan pada aplikasi waktu nyata. Bila proses tersebut berupa business transactions, maka akan diproses pada basis data dan dapat diakses serta diperlihat pada aplikasi bisnis cerdas. Penjelasan alur pemrosesan kejadian dijelaskan pada Gambar 3. Basis Data Aplikasi Data Transaksional Aplikasi Instruktur CEP Engine Aplikasi Pengakses Data Transaksional Aplikasi Waktu Nyata Business Transaction Business Event

Gambar 3. Alur Pengolahan Aliran Data pada Complex Event Processing D. Adapter Kejadian

Dalam tahap implementasi CEP, terdapat entitas adapter kejadian, yang terdiri dari adapter masukan dan adapter luaranAdapter kejadian ditempatkan pada bagian awal dan akhir sebuah aplikasi platform CEP [7]. Fungsinya adalah untuk menyesuaikan agar aliran data dapat diolah dan diakses oleh perangkat yang berbeda-beda. Adapter masukan berfungsi untuk menyesuaikan aliran data yang masuk agar dapat diproses dalam sistem. Adapter luaran berfungsi untuk menyesuaikan hasil pengolahan sistem agar dapat ditampilkan melalui perangkat tampilan yang diinginkan.

(3)

Gambar 4. Adapter Kejadian pada Complex Event Processing pada Server

Microsoft StreamInsight

Gambar 4 menjelaskan mekanisme kerja dari adapter kejadian. Adapter masukan a1 bertugas untuk menyesuaikan data dari perangkat masukan market feeds, sedangkan adapter masukan a2 bertugas untuk menyesuaikan data dari basis data. Aliran data kemudian diteruskan menuju server CEP untuk diolah. Hasil olahan data diteruskan ke adapter luaran. Adapter luaran bertugas untuk memodifikasi aliran data agar sesuai dengan kebutuhan dari perangkat luaran [8].

III. ANALISISDANPERANCANGAN

Analisis dan perancangan Complex Event Processing pada studi kasus pembangunan simulasi Sistem Informasi Manajemen Gerbang Tol dijelaskan melalui pendekatan menggunakan diagram Unified Modeling Language (UML). A. Analisis Permasalahan

Kebutuhan utama di dalam sistem ini adalah untuk mengolah data yang berasal dari data kendaraan bermotor yang melintasi gerbang tol secara cepat. Selain itu, disediakan proses otomatisasi pembayaran retribusi tol sesuai dengan nomor rekening pemilik kendaraan bermotor.

Gambar 5. Ilustasi dan Asusmsi Gerbang Tol

Sistem memonitor kendaraan-kendaraan yang melintas pada bagian jalan tol tertentu. Gambar 5 menjelaskan bagian jalan tol yang dimaksud. Terdapat 8 buah ruas jalan yang terdiri dari 2 arah, arah ke utara dan arah ke selatan. Kendaraan yang melintas memiliki plat nomor yang berbeda. Kendaraan yang melintas hanya terdiri dari 5 jenis kendaraan : mobil, taksi, bus, ambulan, dan truk. Setiap kali kendaraan yang melintas, rekening pemilik akan dipotong sesuai dengan jenis kendaraan dan plat nomor kendaraannya.

B. Perancangan Event Generator

Pada pembuatan paper ini, disediakan entitas event generator sebagai produsen dari kejadian. Fungsi event generator tidak lain adalah untuk merepresentasikan fungsi

dari RFID. Dengan demikian, event generator dedesain sedemikian rupa sehingga menyerupai sifat RFID dalam menangkap kejadian pada saat kendaraan-kendaraan bermotor melintasi gerbang tol.

Hal-hal yang perlu didefinisikan agar dapat event generator dapat menyerupai sifat RFID dalam menangkap kejadian adalah sebagai berikut:

1) Nilai-nilai yang terdapat di dalam kejadian diproduksi secara acak. Nilai yang dimaksud meliputi nilai nomor kejadian, kode polisi, jenis kendaraan, jalur tol, dan kecepatan.

2) Waktu kejadian diproduksi bersifat acak dan tidak didefinisikan pada kondisi awal.

3) Interval saat suatu kejadian dan kejadian berikutnya diproduksi bersifat acak, namun tetap didefinisikan batas interval tertentu guna memberi batasan terhadap hasil randomisasinya.

C. Analisis Kebutuhan Fungsional

Kebutuhan fungsional adalah kebutuhan yang mendasar dalam pembuatan perangkat lunak. Setiap kebutuhan pada kebutuhan fungsional wajib dipenuhi. Kebutuhan fungsional dari sistem adalah sebagai berikut:

1) Sistem melaporkan secara waktu nyata informasi mengenai kendaraan bermotor yang melintas.

2) Sistem menyaring laporan kendaraan bermotor berdasarkan beberapa kata kunci tertentu.

3) Sistem melakukan transaksi tagihan biaya retribusi jalan tol kepada rekening pemilik kendaraan bermotor yang melintas secara otomatis.

Kebutuhan fungsional dijelaskan di diagram kasus peng-gunaan pada Gambar 6.

Gambar 6. Diagram Kasus Kegunaan

Terdapat dua aktor dalam kasus penggunaan, petugas gerbang tol dan administrator sistem. Petugas gerbang tol dapat melihat laporan, membuat rekapitulasi laporan, dan mencari data tentang kendaraan bermotor. Administrator sistem berperan untuk mengelola akun petugas gerbang tol.

(4)

D. Arsitektur Perangkat Lunak

Arsitektur perangkat lunak yang digunakan pada sistem ini adalah arsitektur berlapis tiga (3-tier architecture). Untuk menggabungkan teknologi Complex Event Pro-cessing (CEP) dan teknologi Dabatase Management System (DBMS) dibangun lapisan arsitektur gabungan. Pada arsitektur CEP digunakan arsitektur yang terdiri dari lapisan view, lapisan adapter kejadian, dan lapisan EventType model. Pada arsitektur DBMS, digunakan arsitektur yang terdiri dari lapisan view, lapisan controller, dan lapisan model.

Kejadian-kejadian dihasilkan oleh event generator. Entitas ini memproduksi kejadian sebagai aliran data secara acak. CEP Engine berperan menangkap aliran data tersebut dan memprosesnya. Penjelasan detail mengenai perancangan arsitektur dipaparkan pada Gambar 7.

Gambar 7. Arsitektur Perangkat Lunak Gabungan antara CEP dan DBMS IV. IMPLEMENTASI

Implementasi CEP dan DBMS pada sistem yang dibuat menggunakan CEP Engine Microsoft StreamInsight dan server DBMS Microsoft SQL Server 2008 R2. CEP dan DBMS diimplementasikan secara terpisah untuk masing-masing lapisan arsitekturnya.

A. Implementasi pada Model, Controller, dan View Untuk mengimplementasikan teknologi CEP, pada lapisan arsitektur EventType disediakan kelas kendaraan yang berfungsi untuk menampung informasi mengenai kendaraan yang sedang melintas. Pada level yang sama, lapisan arsitektur model juga menyediakan kelas sesuai dengan kelas pada lapisan EventType. Pada lapisan arsitektur Controller dibutuhkan beberapa variabel pengontrol untuk kebutuhan mengontrol proses. Pada lapisan view, implementasi pada CEP dan DBMS dilakukan tidak secara terpisah.

B. Implementasi pada Kelas Adapter Kejadian

Pada CEP, lapisan adapter kejadian diimplementasikan

dalam sebuah kelas adapter. Kelas adapter berperan untuk menyesuaikan tipe data pada aliran kejadian yang diolah oleh perangkat lunak. Kelas adapter terdiri dari adapter masukan dan adapter keluaran. Keduanya memiliki fungsi yang sama, yakni menjadikan aliran dapat dimasukkan, diolah, dan dikeluarkan.

Kelas adapter masukan berperan untuk menyesuaikan kejadian-kejadian agar dapat diolah melalui kelas yang ada di dalam perangkat lunak. Fungsi penting dalam InputAdapter adalah fungsi untuk memproduksi kejadian. Kelas adapter luaran berfungsi untuk menyesuaikan hasil olahan kejadian dengan kebutuhan untuk ditampilkan. Kejadian dapat ditampilkan dengan menggunakan berbagai jenis antarmuka. Setiap jenis antarmuka memiliki kelas adapter luaran tersendiri.

C. Implementasi pada Antarmuka

Untuk mengimplementasikan CEP, disediakan tampilan antarmuka yang menampilkan informasi kejadian secara waktu nyata. Seperti yang ditampilkan pada Gambar 8, dapat pula dilakukan proses pecarian secara waktu nyata.

Gambar 8. Tampilan Antarmuka Live Filtering pada Sistem Informasi Manajemen Gerbang Tol

Selain panel yang berfungsi untuk menampilkan data, disediakan juga panel untuk membandingkan performa antara pengolahan data dengan menggunakan CEP dan dengan menggunakan DBMS. Panel perbandingan performa ditampilkan pada Gambar 9.

(5)

V. UJICOBA A. Skenario Uji Coba

Uji coba yang dilakukan pada sistem terdiri dari tiga macam, yaitu uji coba kebenaran, uji coba kebergunaan, dan uji coba aspek waktu nyata melalui perbandingan performa. Pada setiap uji coba digunakan antarmuka berbasis desktop melalui komputer server dan komputer pungguna.

Pengujian kebenaran dilakukan dengan tujuan untuk memastikan setiap modul yang digunakan pada perangkat lunak secara keseluruhan dapat berjalan dengan baik. Pengujian kegunaan bertujuan untuk memastikan perangkat lunak yang dibangun tercapai tujuannya.

Pengujian uji coba perbandingan performa bertujuan untuk mengukur seberapa cepat pengolahan data dengan menggunakan teknologi Complex Event Processing (CEP) jika dibandingkan dengan Database Management System (DBMS). Pengujian dilakukan sebanyak 15 kali dengan menggunakan spesifikasi komputer yang sama. Variasi data yang tersedia adalah dengan menggunakan data berjumlah 250 baris, 1500 baris, dan 3000 baris.

Perbandingan performa dilakukan dengan mengeksekusi query yang setara. Fungsi query yang dieksekusi ada dua, yakni fungsi BollingerBand dan PassInFriday. Kedua fungsi tersebut digunakan karena termasuk fungsi query yang kompleks.

B. Evaluasi Uji Coba

Evaluasi bertujuan untuk mengukur kinerja dari sistem berdasarkan data hasil uji coba. Evaluasi dilakukan terhadap hasil uji coba kebenaran, kebergunaan, dan aspek waktu nyata melalui perbandingan performa.

Hasil evaluasi kebenaran adalah 100% benar untuk setiap modul yang diujicobakan. Hasil evaluasi kebergunaan bervariasi antara 80% sampai 90%. Hasil evaluasi perbandingan performa antara CEP dan DBMS ditampilkan pada

Gambar 10. (Searah Jarum Jam dari Kanan Atas) : Uji Coba Query B pada 250 entri, Uji Coba Query B pada 1500 entri, Uji Coba Query B pada 3000 entri, Uji Coba Query A pada 3000 entri, Uji Coba Query A pada 1500 entri, Uji Coba Query A pada 250 entri.

Dari hasil uji coba waktu nyata melalui perbandingan performa dapat ditarik kesimpulan sebagai berikut:

1) Pembangunan arsitektur perangkat lunak secara paralel dapat diterapkan untuk mengkolaborasikan teknologi CEP dan Database Management System (DBMS). 2) Fungsi query yang dibangun pada konsep CEP melalui

Microsoft StreamInsight adalah dengan menggunakan bahasa LINQ.

3) CEP lebih tepat untuk diterapkan pada sistem informasi yang menangani data transaksional dengan kecepatan tinggi.

4) Waktu pengolahan data pada CEP dan DBMS berbeda berdasar atas jenis query dan jumlah masukannya. Semakin kompleks dan banyak data yang diolah, semakin tinggi selisih waktu pengolahan datanya. 5) Teknologi CEP dan DBMS dapat dikolaborasikan

melalui pemilihan arsitektur yang tepat.

Berikut adalah beberapa saran untuk mengembangkan sistem di masa yang akan datang, berdasarkan pada hasil perancangan, implementasi dan uji coba yang telah dilakukan:

1) Metode perbandingan performa pengolahan data hanya terdiri dari dua query. Pengembang selanjutnya dapat menambah variasi metode perbandingan performa pengolahan data.

2) Memanfaatkan teknik pemrosesan thread dalam implementasi uji coba perbandingan performa antara CEP dan DBMS.

3) Studi kasus yang digunakan dapat lebih variatif dan kaya akan bisnis proses. Beberapa topik studi kasus yang dapat diimplementasikan oleh pengembang selanjutnya adalah aplikasi monitoring transaksi bursa saham, aplikasi monitoring catu daya listrik, atau aplikasi monitoring denyut jantung.

VI. DAFTARPUSTAKA

[1] Shivnath Babu, Mayur Datar, Rajeev Motwani, Jennifer Widom Brian Babcock, "Models and Issues in Data Stream Systems"," no. Issue in Data Stream Management, 2002.

[2] Josef Schiefer, Martin Suntinger, Florian Breier, and Robert Thullner Hannes Obweger, "Complex Event Processing Off the Shelf-Rapid Development of Event-Driven Applications with Solution Templates," in 19th Mediterranean Conference on Control and Automation, Corfu, Greece, 2011, pp. 631 - 638.

[3] BPS, "Data Kendaraan Bermotor," Jakarta, 2011.

[4] Jonathan Goldstein Ramkumar (Ram) Krishnan, "A Hitchhiker‟s Guide to Microsoft StreamInsight Queries," 2010.

[5] Eda Portal. (2007) EDA Portal. [Online]. http://edaportal.org/wiki/Event-driven_architecture

[6] David Chou, "Using Events in Highly Distributed Architecture," 2010.

[7] David Luckham, "A Short History of Complex Event Processing".

Gambar

Gambar  1  menjelaskan  bahwa  kejadian  bisa  bersifat  saling  tumpang  tindih  dan  tidak  bersifat  sekuensial
Gambar 4. Adapter Kejadian pada Complex Event Processing pada Server  Microsoft StreamInsight
Gambar  8.  Tampilan  Antarmuka  Live  Filtering  pada  Sistem  Informasi  Manajemen Gerbang Tol
Gambar 10. (Searah Jarum Jam dari Kanan Atas) : Uji Coba Query B pada  250 entri, Uji Coba Query B pada 1500 entri, Uji Coba Query B pada 3000  entri,  Uji  Coba  Query  A  pada  3000  entri,  Uji  Coba  Query  A  pada  1500  entri, Uji Coba Query A pada 2

Referensi

Dokumen terkait