• Tidak ada hasil yang ditemukan

Perancangan dan Implementasi Manajemen & Proses Data pada Business Game Milk Game

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan dan Implementasi Manajemen & Proses Data pada Business Game Milk Game"

Copied!
7
0
0

Teks penuh

(1)

1

Perancangan dan Implementasi Manajemen & Proses

Data pada Business Game “Milk Game”

Ony Octavianto, Suhadi Lili, Ahmad Rusdiansyah

Jurusan Teknik Informatika,Fakultas Teknologi Informasi

Institut Teknologi Sepuluh Nopember

Email:

mas_ony@cs.its.ac.id

,

suhadi.lili@gmail.com

,

arusdianz@gmail.com

Abstrak

Penerapan pendidikan bisnis dalam dunia pendidikan merupakan hal yang sangat penting. Namun demikian, seringkali proses pembelajaran tidak dapat berjalan dengan lancar dikarenakan metode pembelajaran yang kurang interaktif. Berangkat dari permasalahan tersebut, dibangunlah sebuah game bisnis MMO(Massive Multiplayer Online) 3D berbasis lelang bernama “Milk Game” yang diharapkan dapat membantu proses pembelajaran pengetahuan bisnis, khususnya Supply Chain Management.

Untuk membangun sebuah permainan MMO dibutuhkan server persisten yang dapat menangani request dari banyak player secara bersamaan serta dapat mengatasi kendala ketika terjadi kegagalan, baik dari sisi klien, server maupun jaringan. Implementasi tugas akhir ini menggunakan RedDwarfServer sebagai framework untuk membangun sebuah komunikasi jaringan pada permainan MMO.

Kata kunci: MMO, business game, RedDwarfServer.

1. Pendahuluan

Bisnis dan pengetahuan tentang bisnis bukan lagi merupakan hal yang eksklusif bagi individu tertentu saja. Era globalisasi telah memaksa setiap individu untuk mampu bersaing dalam dunia bisnis dengan strateginya masing-masing. Tanpa pengetahuan bisnis yang cukup, sebuah usaha tidak dapat berkembang sebagaimana mestinya. Sebaliknya, pengetahuan yang baik dapat menjadi pendukung dalam pengaturan proses bisnis, minimalisasi biaya, dan optimasi sumber daya usaha.

Namun, permasalahan kemudian muncul ketika bisnis diterapkan dalam sebuah pembelajaran. Banyaknya teori dan strategi

bisnis serta sifat pengajaran yang monoton menyebabkan pengetahuan akan bisnis sulit untuk dipahami dengan baik. Dengan demikian, diperlukan adanya suatu metode pembelajaran yang lebih inovatif dan kreatif serta lebih mengedepankan praktek dalam bisnis. Salah satu solusi yang sesuai adalah dalam wujud massive multiplayer online

business game.

Untuk membangun sebuah permainan MMO diperlukan sebuah server persisten yang dapat menangani request dari banyak pemain sekaligus, menjamin bahwa data yang dikirim oleh klien pasti sampai pada server serta dapat menangani gangguan yang mungkin timbul dari sisi klien, server, maupun jaringan

(2)

2 sehingga tidak mengganggu jalannnya permainan.

2. Business Game

Business game adalah permainan di

mana satu atau lebih pemain bertujuan untuk mencapai satu tujuan umum[1]. Selain itu,

business game adalah sebuah simulasi,

berdasarkan model ekonomi yang dirancang, permainan bertujuan menciptakan realitas pasar seakurat mungkin.

Business game, yang lahir pada tahun

1950-an, memiliki tujuan pendidikan dan evaluasi. European Business Institute menjabarkan tujuan utama business game, yaitu meningkatkan kemampuan dalam mengambil keputusan pada waktu yang terbatas dan efisiensi dari pilihan yang diambil, membiasakan risiko dan ketidakpastian, mengajarkan teknik manajemen, integrasi dari berbagai fungsi perusahaan dan melatih untuk bias merencanakan keputusan strategis. Karena setiap pemain tunggal adalah bagian dari tim, dia bisa mengembangkan semangat tim solid yang merupakan konsep utama dalam kehidupan seorang profesional, walaupun hal ini seringkali diabaikan oleh alat pendidikan klasik.

Business game sangat bervariasi,

sesuai dengan pengembangan yang berbeda dan lingkungan aplikasi. Business game dapat diklasifikasikan dalam beberapa jenis, berdasarkan pengolahan data (manual atau otomatis), jumlah pemain (pemain tunggal atau multi player), jenis model (fungsional atau antar-fungsional), jumlah produk dan / atau pasar dan jumlah keputusan strategis. Banyak perusahaan terkemuka, memberikan pelatihan kepada staf mereka menggunakan

business game sebagai alat pembelajaran.

3. Massively Multiplayer Online

Game (MMOG)

Sebuah massively multiplayer game

online (juga disebut MMOG) adalah

permainan multiplayer yang mampu mendukung ratusan atau ribuan pemain secara simultan[2]. Dengan syarat, mereka terhubung dengan jaringan, dan terdapat fitur setidaknya satu dunia persisten. MMOG belum tentu dimainkan pada komputer pribadi. Sebagian besar game konsol baru, termasuk PSP, PlayStation 3, Xbox 360, Nintendo DSi dan Wii dapat mengakses internet sehingga dapat menjalankan MMOG. Terdapat beberapa jenis MMOG saat ini, antara lain MMO role-playing

game, MMO first-person shooter, MMO real-time strategy games, MMO sports game, MMO

racing, MMO rhythm game, MMO

management game, MMO social game, real-world simulations, dan MMO turn-based strategy game.

4. RedDwarf Server

RedDwarf Server merupakan solusi

open source pengembangan server untuk massively multiplayer online game(MMOG) [3]

. RedDwarf Server adalah kelanjutan dari Project Darkstar, sebuah proyek open source yang didukung dan dikelola oleh Sun Microsystems. Setelah Oracle mengakuisisi Sun, dukungan untuk Project Darkstar dihentikan. Untuk melanjutkan pengembangan proyek, komunitas mengganti nama codebase terbaru dari repositori Project Darkstar dan dirilis sebagai RedDwarf Server.

5. Implementasi Sistem

Milk Game menggunakan RedDwarf Server untuk mengimplementasikan server pada permainan. Server terhubung ke database Microsoft SQL Server 2008 untuk untuk menjaga persistensi data permainan. Koneksi antar server dengan database melalui hibernate ORM.

Kebutuhan yang akan dipenuhi oleh permainan ini adalah: dapat menggunakan fungsi login, register, logout, membuat

(3)

3

auction baru, menambahkan bid, memproduksi

item, membeli item, memindahkan item, berkomunikasi dengan pemain lainnya, melakukan upgrade headquarter, memberikan donasi ke gudang, dan menyewa gudang.

Diagram use case pre-game MilkGame dapat dilihat pada gambar 1. Diagram tersebut menggambarkan aktivitas yang dapat dilakukan oleh seorang user diluar permainan.

Gambar 1. Diagram use case pre-game MilkGame Use case pada gambar 1 menunjukkan aktivitas- aktivitas yang dapat dilakukan oleh seorang user diluar permainan: melakukan

login, register, dan logout.

Diagram use case in-game MilkGame dapat dilihat pada gambar 2. Diagram tersebut menggambarkan aktivitas yang dapat dilakukan oleh seorang pemain pada permainan.

Gambar 2. Diagram use case in-game MilkGame

Use case pada gambar 2 menunjukkan aktivitas- aktivitas yang dapat dilakukan oleh seorang user pada permainan: membuat

auction baru, menambahkan bid, memproduksi

item, membeli item, memindahkan item, berkomunikasi dengan pemain lainnya, melakukan upgrade headquarter, memberikan donasi ke gudang, dan menyewa gudang.

Komponen komunikasi jaringan MilkGame dibangun dalam lingkungan pemrograman dengan spesifikasi sebagai berikut:

 Microsoft Windows Seven Ultimate sebagai sistem operasi.

 NetBeans 6.8 sebagai tool utama pemrograman dengan JDK versi 1.6 update 18.

 Microsoft SQL Server 2008 sebagai server database.

 Star UML sebagian alat desain untuk membuat pemodelan UML.

Arsitektur

Gambar 3 merupakan ilustrasi arsitektur komunikasi jaringan pada MilkGame yang akan dibangun.

Player Logout Register Login Player Add Bid Transport Item Donate to Warehouse Produce Item

Create New Auction

Buy Item

Rent Warehouse

Communicate To Other User

Chat Message

<<extend>> <<extend>> <<uses>>

(4)

4 Gambar 3. Arsitektur komunikasi jaringan

MilkGame

Dari gambar tersebut dapat diketahui bahwa komponen komunikasi jaringan MilkGame yang akan dibangun terdiri dari:

Message Handler : bertugas

melakukan parsing data yang didapat dari pemain. Fungsi ini dijalankan saat server menerima data dari pemain.

Processor : bertugas memproses data

yang diterima dari pemain. Fungsi ini dijalankan saat data telah di-parsing oleh Message Handler.

DB Transaction Manager : bertugas

membuat sebuah service untuk melakukan proses yang membutuhkan waktu eksekusi lebih dari 100ms. Fungsi ini dijalankan saat paket data yang diterima dari pemain sudah lengkap.

Data Handler : bertugas melakukan

pengolahan data ke server database melalui hibernate ORM. Fungsi ini dijalankan saat service yang dibutuhkan sedang berjalan.

Hibernate ORM : bertugas melakukan

transaksi data ke server database melalui

manager hibernate.

Task Handler : bertugas melakukan

pengiriman data ke pemain. Task Handler merupakan alternatif dari manager, yaitu untuk melakukan proses dengan waktu eksekusi lebih dari 100ms. Perbedaan antara Task Handler dengan DB Transaction Manager adalah Task Handler memecah proses menjadi beberapa subproses(divide and conquer) dan selanjutnya subproses-subproses tersebut dikerjakan secara berurutan, sedangkan DB Transaction Manager menyediakan sebuah proses asynchronous untuk mengerjakan sebuah proses secara langsung. Fungsi ini dijalankan saat data yang akan dikirimkan sudah tersimpan di database.

Implementasi Server MilkGame

Berikut ini adalah implementasi server yang digunakan oleh MilkGame. Proses ini meliputi beberapa tahap yaitu:

1. menerima data dari pemain dan melakukan parsing data

2. melakukan transaksi data pada database

3. mengirim data ke pemain

Selanjutnya akan diberikan potongan kode dalam java untuk melakukan proses-proses tersebut:

public void parsePacket(ByteBuffer packet, IProcessor processor)

{

EOPCODE code = this.getOpCode(packet); this.parsePacket(code, packet,

processor); }

Gambar 4. Kode untuk menerima data dan melakukan parsing data

public Bid getBidByID(int id) {

Bid bid = null;

for(int i = 0;i < dbBids.size();i++) { bid = dbBids.get(i); if(bid.getBidId() == id) return bid; } return null; }

public void addBid(Bid dbBid) { IHibernateSession session = HibernateSessionManager.getInstance().sessi on(); IBidManager bidManager = managerFactory.getBidManager(session); bidManager.save(dbBid); dbBids.add(dbBid); }

public void editBid(Bid dbBid) { IHibernateSession session = HibernateSessionManager.getInstance().sessi on(); IBidManager bidManager = managerFactory.getBidManager(session); bidManager.update(dbBid);

(5)

5 bidManager = managerFactory.getBidManager(session); bidManager.refresh(getBidByID(dbBid.getBidI d())); }

Gambar 5. Kode untuk melakukan transaksi data pada database

public void run() throws Exception {

ByteBuffer buff; if(data instanceof Bid) {

Bid dbBid = (Bid)data; while(counterColumn < 6) { case 0: buff = Messages. createBidBididPkt(dbBid); channelRef.get(). send(buff); if (!AppContext. getTaskManager(). shouldContinue()) { AppContext.getTaskManager(). scheduleTask(this, 100); return; } break; ... } } ... }

Gambar 6. Kode untuk mengirim data ke pemain

4. Uji Coba dan Pembahasan

Berikut ini adalah hasil uji coba terhadap server MilkGame untuk menguji performa dalam mengirim, memproses, dan mengirim data. Uji coba performa ini ditujukan untuk mengamati kemampuan server dalam menangani request data dalam jumlah besar. Performa ini akan dilihat berdasarkan waktu dari data dikirim dari klien, diterima server kemudian di proses, data dikirim dari server, sampai data kembali ke klien. Tipe data yang digunakan berupa string dengan panjang kira-kira 30-40 karakter.

Pengambilan waktu pengiriman dan waktu penerimaan data menggunakan fungsi DateTime.Now.Ticks. N Waktu Pengiriman Data (dalam ms) Waktu Penerimaan Data (dalam ms) Selisih Rata-Rata 8 63415672951753 63415672952115 362 45,25 16 63415673779647 63415673780326 679 42,44 128 63415674329565 63415674333695 4130 36,26

Tabel 1. Hasil uji coba performa Kesimpulan Hasil Uji Coba

Dari hasil uji coba pada tabel 1, dapat dilihat bahwa server MilkGame dapat menerima data sampai 128 string secara bersamaan secara stabil. Untuk penerimaan, pemrosesan, dan pemgiriman string sampai 128 string didapat rata-rata sekitar 40an ms per 1 data string.

Berikut ini adalah hasil uji coba terhadap MilkGame untuk menguji fungsionalitas permainan.

(6)

6 Gambar 5. Uji coba proses transportasi barang

Gambar 6. Uji coba proses pembelian barang dari

supplier

Gambar 7. Uji coba proses produksi barang

5. Simpulan

Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, penulis mengambil kesimpulan sebagai berikut:

 Permainan MilkGame dapat menjadi sarana pelatihan yang baik untuk pembelajaran Supply Chain

Management , terutama dalam

pengklasifikasian domain permasalahan Supply Chain

Management, dengan cara

menerapkan domain permasalahan

Supply Chain Management pada

sistem permainan MilkGame.

 RedDwarfServer dapat digunakan sebagai framework untuk mengimplementasikan sistem manajemen dan proses data pada MilkGame.

 Untuk mempertahankan kinerja dalam menangani request dari klien dalam jumlah besar secara bersamaan, dapat diatasi dengan membuat:

o Task untuk sebuah proses yang dapat dipecah menjadi subproses.

o Manager untuk proses yang tidak dapat dipecah menjadi subproses.

Untuk menangani error yang terjadi saat permainan sedang berjalan, dapat diatasi dengan fungsi disconnected pada framework RedDwarfServer. Fungsi disconnected adalah fungsi yang disediakan oleh RedDwarfServer agar error yang terjadi pada permainan tidak menghentikan permainan.

Daftar Pustaka

[1] ____,____, The Business Game,

http://www.thebusinessgame.it/en/See?pa ge=whatis, diakses tanggal 25 Juli 2010. [2] ____,____, Massively Multiplayer Online

Game, http://

en.wikipedia.org/wiki/Massively_multipl ayer_online_game, diakses tanggal 25 Juli 2010.

(7)

7

[3]

____,____, RedDwarf Server: Open Source for Online Game Universe,

http://reddwarfserver.org, diakses tanggal 25 Juli 2010.

Gambar

Diagram  use  case  pre-game  MilkGame  dapat  dilihat  pada  gambar  1.
Gambar 4. Kode untuk menerima data dan  melakukan parsing data
Gambar 6. Kode untuk mengirim data ke pemain
Gambar 6. Uji coba proses pembelian barang dari  supplier

Referensi

Dokumen terkait

Investasi pada modal bank, entitas keuangan dan asuransi diluar cakupan konsolidasi secara ketentuan, net posisi short yang diperkenankan, dimana Bank tidak memiliki lebih dari

dialihkan siapa-siapa kecuali oleh Allah swt), segi jumlah pembagian (bahwa bagian atau hak ahli waris dalam harta warisan sudah jelas ditentukan oleh Allah,

Setelah data-data gula darah acak responden sebelum dan sesudah terapi relaksasi Benson sudah terkumpul, kemudian dikelompokkan dan dilakukan uji statistik dengan paired

Sistem pencahayaan yang digunakan di dalam perancangan loft apartment ini adalah sistem pencahaayaan alami dan buatan. Dasar pemikiran yang dipakai untuk konsep perancangan

Dalam hal penindakan pelanggaran dan penyidikan tindak pidana, Penyidik Kepolisian Negara Republik Indonesia selain yang diatur di dalam Kitab Undang-undang Hukum Acara Pidana

37 Tahun 2008 Tentang Ombudsman Republik Indonesia yang secara definisi merupakan lembaga negara yang bersifat independen, mandiri dan tidak memiliki hubungan

dan ia berupa Rahmat Allah yang terbesar untuk umat manusia dalam ayat-ayat permulaan ini Allah SWT menyuruh Nabi Muhammad SAW supaya suka membaca dan memperhatikan ayat

a) Tahap sebelum ke lapangan, meliputi kegiatan penentuan focus, penyesuaian paradigma dengan teori, penjajagan alat peneliti, mencakup observasi.. lapangan dan permohonan