• Tidak ada hasil yang ditemukan

Implementasi model linear programming pada game RPG

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi model linear programming pada game RPG"

Copied!
53
0
0

Teks penuh

(1)

1 1.1 Latar Belakang Masalah

Game RPG merupakan game yang para pemainnya memainkan peran tokoh-tokoh-tokoh khayalan dan berkolaborasi untuk tujuan yang sama. Para pemain memilih aksi tokoh mereka berdasarkan karakteristik tokoh tersebut. Keberhasilan aksi mereka tergantung dari sistem peraturan permainan yang telah ditentukan. Asal tetap mengikuti peraturan yang ditentukan, para pemain bisa berimprovisasi membentuk arah dan hasil akhir permainan ini.[1]

Salah satu contoh game yang menjadi acuan yaitu game Digimon. Pemain yang mengatur jalannya permainan sehingga keinginan atau target tercapai. Permainan game ini berpetualang untuk mengumpulkan komponen-komponen sebuah item. Setiap karakter utama memiliki kemampuan item yang dapat digunakan untuk salah satu game RPG. Dalam game RPG pemain diharuskan menyelesaikan permasalahan yang ada di Desa tersebut. Setiap warga memiliki masalah yang berbeda yang menjadi sebuah misi bagi pemain. Apabila misi tersebut dapat diselesaikan, pemain akan di beri hadiah koin. Sedangkan material bahan dapat digunakan pemain untuk membuat sebuah item, misalnya penggabungan bahan besi, nikel, dan logam bisa dibuat menjadi pedang. Permainan akan selesai jika pemain telah mengalahkan semua musuh, misalnya musuh mudah, musuh sedang, musuh sulit dan menyelesaikan setiap misi misalnya membunuh musuh yang menghalangi jalan.

Metode yang digunakan dalam linear programming yaitu metode simplek. Kesesuaian linear programming antara nilai input dan nilai output sehingga dapat mengoptimalkan penggunaan item.

Berdasarkan uraian yang sudah dijelaskan, maka penelitian ini akan mengambil berjudul “Implementasi Model Linear Programming Pada Game

(2)

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan sebelumnya, maka dapat dirumuskan permasalahannya adalah bagaimana menerapkan model linear programming dalam game untuk mengoptimalkan penggunaan item.

1.3 Maksud dan Tujuan

Maksud dari pembuatan permainan ini adalah menerapkan model linear programming dalam game RPG.

Sedangkan tujuan yang ingin dicapai adalah kesesuaian linear programming antara nilai input dan output sehingga dapat mengoptimalkan penggunaan item.

1.4 Batasan Masalah

Berdasarkan uraian yang telah dipaparkan pada latar belakang masalah sebelumnya, maka batasan masalah dalam penelitian ini adalah:

1. Menggunakan Model linear programming dalam game.

2. Metode simpleks yang nantinya akan diterapkan pada penggunaan item. 3. Input yang dipakai berupa bahan-bahan yang dipakai membuat sebuah item. 4. Output yang dihasilkan berupa item.

5. Pembangunan Game menggunakan Unity 6. Game yang dibangun ini berupa simulasi.

1.5. Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

1.5.1 Tahap pengumpulan data

(3)

1.5.2 Tahap pembuatan perangkat lunak

Metode pembangunan perangkat lunak menggunakan model prototype. Alasan menggunakan metode prototype adalah karena metode ini melakukan pengumpulan kebutuhan dan memperbaiki kebutuhan, melakukan desain dengan cepat dan mengevaluasi kebutuhan oleh pemakai agar sesuai dengan kebutuhan. Pada Gambar 1.1 menunjukan tahapan-tahapan model prototype yaitu sebagai berikut :

1. Requirement Gathering and Refinement (Pengumpulan Kebutuhan dan Perbaikan) Mengumpulkan kebutuhan untuk merancang sebuah game dan juga melakukan perbaikan game jika terdapat kekurangan.

2. Quick Desain (Desain Cepat)

Mendesain secara cepat aplikasi game sesuai dengan kebutuhan pemakai. 3. Building Prototype (Bentuk Prototype)

Aplikasi game yang sudah didesain akan dirancang ke dalam bahasa pemrograman dengan menggunakan tools yang ada.

4. Customer Evalution of Prototype (Evaluasi Pemakai Terhadap Prototype) Setelah game sudah jadi, selanjutnya game ini diuji dengan memasukan algoritma yang akan dipakai. Setelah diuji, kemudian diberikan kepada pemakai agar dapat mengetahui game yang sudah diuji.

5. Refining Prototype (Perbaikan Prototype)

Memperbaiki game yang sudah jadi dengan menguji kembali algoritma pada game ataupun yang tidak sesuai dengan kebutuhan pemakai. Setelah game sudah diperbaiki, kemudian dapat diberikan kembali kepada pemakai agar dapat mengetahui game yang sudah diuji.

6. Engineer Product (Produk Rekayasa)

(4)

Gambar 1.1 Model Prototype [1]

1.6 Sistematika Penulisan

Sistematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1. PENDAHULUAN

Pada bab ini menguraikan tentang latar belakang masalah, merumuskan permasalahan yang terjadi, menentukan maksud dan tujuan penelitian, batasan masalah, dan metodologi penelitian yang digunakan serta sistematika penulisan. BAB 2. TINJAUAN PUSTAKA

Pada bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan. Seperti teori tentang game, linear proggraming, pemrograman berorientasi objek, dan diagram UML.

BAB 3. ANALISIS DAN PERANCANGAN

Pada bab ini membahas tentang analisis sistem, analisis masalah yang akan

dibangun, analisis game, analisis masukan, analisis kecerdasan buatan yang

(5)

BAB 4. IMPLEMENTASI DAN PENGUJIAN

Terdiri dari implementasi algoritma ke dalam perangkat lunak berdasarkan perancangan yang telah dibuat, serta pengujian perangkat lunak yaitu implementasi perangkat keras, implementasi perangkat lunak, implementasi antar muka, pengujian simulasi.

BAB 5. KESIMPULAN DAN SARAN

(6)

7 2.1 Kecerdasan Buatan

Kecerdasan buatan berasal dari bahasa Inggris “Artificial Intelligence” atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan yang dimaksud disini merajuk pada mesin yang mampu berpikir, menimbang tindakan yang diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.

Menurut Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak komputer modern dan pembongkar sandi Nazi dalam era Perang Dunia II 1950, menetapkan definisi Artificial Intelligence: “Jika komputer tidak dapat dibedakan dengan manusia saat berbicara melalui terminal komputer, maka bisa dikatakan komputer itu cerdas, mempunyai kecerdasan”.

Menurut John Carthy dari stanford mendefinisikan kecerdasan sebagai “ kemampuan untuk mencapai sukses dalam menyelesaikan suatu permasalahan”.

Menurut Herbert Alexander Simon (June 15, 1916-February 9, 2001): “ Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”

Menurut Rich and Knight (1991): “ Kecerdasan buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”

Dari sini dapat dikatakan bahwa :

(7)

2.1.1 Lingkup utama kecerdasan buatan

Lingkup utama kecerdasan buatan diantaranya : [2]

1. Sistem pakar. Komputer digunakan sebagai saran untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan masalah dengan meniru keahlian yang dimiliki para pakar

2. Pengolahan bahasa alami. Dengan pengolahan bahasa alami ini diharapkan user mampu berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan ucapan. Melalui pengenalan ucapan diharapkan manusia mampu berkomunikasi dengan komputer dengan menggunakan suara.

4. Robotika dan Sistem sensor

5. Computer vision, mencoba untuk dapat mengintrepetasikan gambar atau objek-objek tampak melalui komputer

6. Intelligent Computer aid Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar

2.1.2 Keuntungan Kecerdasan Buatan Keuntungan kecerdasan buatan yaitu : [3]

1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tidak mengubahnya.

2. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer pengetahuan manusia dari satu orang ke orang lain butuh proses dan waktu lama. Disamping itu suatu keahlian tidak akan pernah bisa diduplikasi secara lengkap. Sedangkan jika pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebuat dapat ditransfer atau disalin dengan mudah dan cepat dari satu komputer ke komputer lain

(8)

dibanding dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami senantiasa berubah-ubah.

5. Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat komputer dapat didokumentasikan dengan mudah dengan melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami

7. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami.

2.1.3 Implementasi kecerdasan buatan dapat diterapkan pada bidang

Implementasi kecerdasan buatan dapat diterapkan pada beberapa bidang sebagai berikut :

a. Visualisasi komputer

Kecerdasan buatan pada bidang visualisasi komputer ini memungkinkan sebuah sistem komputer mengenali gambar sebagai input. Contohnya mengenali sebuah pola pada suatu gambar.

b. Pengenalan Suara

Kecerdasan buatan pada pengenalan suara ini dapat mengenali suara manusia. Cara mengenali suara ini dengan mencocokannya pada acuan yang telah diprogramkan terlebih dahulu. Contohnya perintah komputer dengan menggunakan suara user.

c. Sistem Pakar

(9)

Contohnya program komputer yang dapat mendiagnosa penyakit dengan memasukan gejala-gejala yang dialami pasien.

d. Permainan

Kecerdasan buatan pada permainan ini memungkinkan sebuah sistem komputer untuk memiliki cara berpikir manusia dalam bermain. Contohnya permainan yang memiliki fasilitas orang melawan komputer. Komputer sudah di program sedemikian rupa agar memiliki cara bermain seperti seorang manusia bahkan bisa melebihi seorang manusia.

2.1.4 Kecerdasan Buatan Pada Game

Kecerdasan buatan atau AI merupakan kegiatan membuat komputer agar dapat berpikir dan mengerjakan kegiatan yang dapat dilakukan oleh manusia maupun binatang.

Saat ini dapat ditemukan program komputer yang memiliki kemampuan menangani masalah seperti aritmatik, sorting, searching. Bahkan komputer juga dapat bermain beberapa board game seperti catur dan reversi lebih baik daripada manusia.

Namun, masih banyak hal yang tidak dapat dilakukan dengan baik oleh komputer. Seperti, mengenali wajah, berbicara bahasa manusia, menentukan sendiri apa yang harus dilakukan, dan bertingkah kreatif. Hal itu semua merupakan domain dari AI untuk mencoba menentukan algoritma apa yang dibutuhkan untuk memenuhi kebutuhan diatas.

Dalam bidang akademik, beberapa peniliti AI termotivasi oleh filosofi, yaitu memahami alam pikiran dan alam kecerdasan dan membangun program untuk memodelkan bagaimana proses berpikir. Beberapa juga termotivasi oleh psychology, bertujuan untuk memahami mekanisme otak manusia dan proses mental. Dan lainya termotivasi oleh engineering, dengan tujuan membangun algoritma untuk melakukan kegiatan seperti manusia atau hewan.

(10)

2.2 Klasifikasi Game

Game biasanya digunakan untuk mengkatagorikan sebuah game berdasarkan dari interaksi gameplay daripada perbedaan tampilan atau narasi. Sebuah jenis game dapat didefinisikan dengan kumpulan dari sebuah tipe permainan dari game tersebut. Game dapat diklasifikasikan menjadi dua, yaitu : [4]

2.2.1 Berdasarkan Jenis Platform yang Digunakan

Tiga kategori utama platform pada game adalah personal computer (PC), console, dan mobile : [4]

1. Personal Computer (PC)

PC game adalah game yang dibuat untuk computer baik berbasis Windows, Mac, ataupun Linux. PC menyediakan kekuatan grafis dan pemrosesan yang kuat yang memungkinkan pengembangan untuk membuat game yang mutakhir. Tetapi kelemahan PC adalah mahal karena pengguna harus menggunakan hardware yang up-to-date untuk memainkan game PC dengan haik. Selain itu, kelemahan game PC bagi pengembang adalah banyaknya varian dari konfigurasi PC membuat sulit bagi pengembangan untuk memastikan game tersebut berjalan dengan benar pada semua setup PC 2. Console

Console adalah hardware yang dibuat oleh pihak ketiga seperti Sony, Microsoft, dan Nintendo. Console terhubung ke televisi dan tujuan utamanya adalah untuk bermain game. Game Console sangat menarik bagi game pengembang karena mereka hanya perlu memikirkan satu konfigurasi hardoware ketika membuat software untuk konsol. Sangat kontras dengan PC yang memiliki opsi konfigurasi yang tak terbatas.

3. Mobile

(11)

Sony PSP. Game monile memiliki kontrol yang sederhana ( terutama jika dibandingkan dengan PC)

2.2.2 Berdasarkan Genre Permainan Genre game bisa dibagi menjadi 9, yaitu :

1. Action

Action game adalah game dimana kebanyakan dari tantangan yang disajikan merupakan dari tes physical skill dan koordinasi pemain. Salah satu sub-genre action game adalah shooters game, baik yang 2D maupun 3D seperti First Person, Shooters (FPS)

2. Strategy

Strategy game menantang pemain untuk mencapai kemenangan dengan perencanaan, khususnya melalui perencanaan serangkaian tindakan yang dilakukan melawan satu lawan atau lebih. Kemenangan diraih dengan perencanaan matang dan pengambilan keputusan yang optimal.

3. Role Playing Game (RPG)

RPG adalah game dimana pemain mengontrol satu atau lebih karakter yang biasanya di desain oleh pemain itu sendiri, dan memandu mereka melewati berbagai rintangan yang diatur oleh komputer. Perkembangan karakter dalam hal kekuatan dan kemampuannya adalah kunci dari game jenis ini.

4. Sports

Sports game mensimulasikan berbagai aspek dari olahraga atletik nyata maupun imajiner, apakah itu memainkan pertandingan, me-manage tim dan karir atau keduanya. Salah satu contoh game jenis ini adalah Pro Evolution Soccer 2012 (PES 2012), dimana pemain bisa memainkan pertandingan, menjadi manajer tim, maupun menjadi pemain dan mengembangkan karirnya sendiri

5. Vehicle Simulation

(12)

harus menyerupai kenyataan, kecuali jika yang didesain adalah kendaraan imajiner

6. Construction and Management Simulation

CMS game adalah game tentang proses. Tujuan pemain bukan untuk mengalahkan musuh, tetapi membangun sesuatu dengan konteks proses yang sedang berjalan. Semakin pemain mengerti dan mengontrol proses, semakin sukses sesuatu yang ia bangun. Game seperti ini biasanya menyediakan dua jenis permainan, yaitu mode bebas dimana pemain bebas membangun sesuatu dan mode misi dimana terdapat skenario hal apa yang harus dibangun oleh pemain.

7. Adventure

Adventure game adalah cerita interaktif tentang karakter protagonist yang dimainkan oleh pemain. Penyampaian cerita dan eksplorasi adalah elemen inti dari game ini. Penyelesaian teka-teki dan tantangan konseptual adalah bagian besar dari permainan.

8. Artificial Life and Puzzle Game

Artificial Life game adalah game yang membuat tiruan dari kehidupan sebenarnya. Biasanya ada dua jenis game ini, tiruan kehidupan manusia, contohnya The SIMS, dan tiruan kehidupan binatang, contohnya Tamagochi 9. Online Game

Istilah online game disini mengacu kepada multiplayer game dimana mesin dari para pemain terhubung dengan jaringan

2.2.3 Sudut Pandang Permainan (Game View Point)

Sebuah game biasanya mempunyai sudut pandang permainan tersendiri disesuaikan berdasarkan genre game yang diambil. Berikut beberapa macam sudut pandang permainan yang biasa digunakan : [3]

1. Side Scrolling

(13)

background pada game seolah-olah bergeser mengikuti pergerakan karakter utama.

2. Top Down

Adalah sudut pandang permainan yang memungkinkan karakter utama bermanuver ke empat arah namun cara permainannya sendiri bergeser dari bawah ke atas, dan biasanya game yang menggunakan sudut pandang permainan jenis ini adalah shooter game.

3. Isometric

Adalah sudut pandang permainan yang memungkinkan permainan terlihat diantara sisi Side Scrolling dan juga Top Down, dan biasanya diterapkan pada game dengan genre RTS (Real Time Strategy).

2.2.4 Elemen Pada Game

Elemen – elemen yang ada dalam sebuah game biasanya terdiri dari:[3] 1. Desain game

Desain adalah langkah awal untuk membuat semua elemen game. Desain game dibuat semenarik mungkin agar pemain tidak cepat bosan yang dampaknya membuat game tersebut cepat ditinggalkan.

2. Pemrograman game

Pemrograman game sebagian besar digunakan untuk mengontrol gerakan objek di layar. Selain itu, pemrograman game juga digunakan untuk pemrograman suara, input device, deteksi keadaan lain – lain.

3. Grafis game

Grafis game memegang peranan penting dalam pembuatan tampilan. Tampilan haruslah dibuat semenarik mungkin, sehingga dengan melihatnya saja end user langsung tertarik untuk memainkannya.

4. Musik dan sound

(14)

2.3 Linear Programming

Linear programming adalah salah satu pendekatan matematika yang paling sering dipergunakan dan diterapkan dalam keputusan-keputusan manajerial. Tujuan dari penggunaan linear programming adalah untuk menyusun suatu model yang dapat dipergunakan untuk membantu pengambilan keputusan dalam menentukan alokasi yang optimal dari sumber daya ke berbagai alternatif. Penggunaan model linear programming dalam hal ini adalah mengalokasikan sumber daya tersebut sedemikian rupa sehingga akan maksimum atau alternatif minimum.[5]

Ada empat kondisi utama yang diperlukan dalam penerapannya : 1. Harus adanya sumber daya yang terbatas

2. Ada suatu fungsi tujuan seperti memaksimalkan atau meminimalkan 3. Harus ada linearitas

4. Harus ada keseragaman

2.3.1 Karakteristik Linear Programming

Sifat linearitas suatu kasus dapat ditentukan dengan menggunakan beberapa cara. Secara statistik, dapat memeriksa kelinearan menggunakan grafik (diagram pencar) ataupun menggunakan uji hipotesa. Secara teknis, linearitas ditunjukkan oleh adanya sifat proporsionalitas, additivitas, divisibilitas dan kepastian fungsi tujuan dan pembatas.

Sifat proporsional dipenuhi jika kontribusi setiap variabel pada fungsi tujuan atau penggunaan sumber daya yang membatasi proporsional terhadap level nilai variabel. Jika harga per unit produk misalnya adalah sama berapapun jumlah yang dibeli, maka sifat proporsional dipenuhi. Atau dengan kata lain, jika pembelian dalam jumlah besar mendapatkan diskon, maka sifat proporsional tidak dipenuhi. Jika penggunaan sumber daya per unitnya tergantung dari jumlah yang diproduksi, maka sifat proporsionalitas tidak dipenuhi.

(15)

(kendala). Sifat additivitas dipenuhi jika fungsi tujuan merupakan penambahan langsung kontribusi masing-masing variabel keputusan. Untuk fungsi kendala, sifat additivitas dipenuhi jika nilai kanan merupakan total penggunaaan masing-masing variabel keputusan. Jika dua variabel keputusan misalnya merepresentasikan dua produk substitusi, dimana peningkatan volume penjualan salah satu produk akan mengurangi volume penjualan produk lainnya dalam pasar yang sama, maka sifat additivitas tidak terpenuhi. Sifat divisibilitas berarti unit aktivitas dapat dibagi ke dalam sembarang level fraksional, sehingga nilai variabel keputusan non integer dimungkinkan.

Sifat kepastian menunjukkan bahwa semua parameter model berupa konstanta. Artinya koefisien fungsi tujuan maupun fungsi pembatas merupakan suatu nilai pasti, bukan merupakan nilai dengan peluang tertentu. Keempat asumsi (sifat) ini dalam dunia nyata tidak selalu dapat dipenuhi. Untuk meyakinkan dipenuhinya keempat asumsi ini, dalam pemrograman linier diperlukan analisis sensitivitas terhadap solusi optimal yang diperoleh.

2.3.2 Formulasi Permasalahan

Urutan pertama dalam penyelesaian adalah mempelajari sistem relevan dan mengembangkan pernyataan permasalahan yang dipertimbangkan dengan jelas. Penggambaran sistem dalam pernyataan ini termasuk pernyataan :

1. Tujuan sumber daya yang membatasi

2. Alternatif keputusan yang mungkin (kegiatan atau aktivitas) 3. batasan waktu pengambilan keputusan

4. Hubungan antara bagian yang dipelajari dan bagian lain dalam perusahaan, dan lain-lain.

(16)

2.3.3 Pembentukan Model Matematika

Tahap berikutnya yang harus dilakukan setelah memahami permasalahan optimasi adalah membuat model yang sesuai untuk analisis. Pendekatan konvensional riset operasional untuk pemodelan adalah membangun model matematik yang menggambarkan inti permasalahan. Kasus dari bentuk cerita diterjemahkan ke model matematik. Model matematik merupakan representasi kuantitatif tujuan dan sumber daya yang membatasi sebagai fungsi variabel keputusan. Model matematika permasalahan optimal terdiri dari dua bagian. Bagian pertama memodelkan tujuan optimasi. Model matematika tujuan selalu menggunakan bentuk persamaan. Bentuk persamaan digunakan karena ingin mendapatkan solusi optimum pada satu titik. Fungsi tujuan yang akan dioptimalkan hanya satu. Bukan berarti bahwa permasalahan optimasi hanya dihadapkan pada satu tujuan. Tujuan dari suatu usaha bisa lebih dari satu. Tetapi pada bagian ini kita hanya akan tertarik dengan permasalahan optimal dengan satu tujuan.

(17)

2.3.4 Bentuk Umum Linear Programming

Fungsi tujuan :

Maksimumkan atau minimumkan

Sumber daya yang membatasi :

Simbol , , ..., ( ) menunjukkan variabel keputusan. Jumlah variabel keputusan ( ) oleh karenanya tergantung dari jumlah kegiatan atau aktivitas yang dilakukan untuk mencapai tujuan. Simbol , ,..., merupakan kontribusi masing-masing variabel keputusan terhadap tujuan, disebut juga koefisien fungsi tujuan pada model matematiknya. Simbol , ..., ,..., merupakan penggunaan per unit variabel keputusan akan sumber daya yang membatasi, atau disebut juga sebagai koefisien fungsi kendala pada model matematikanya.

Simbol , ,...,bm menunjukkan jumlah masing-masing sumber daya yang ada. Jumlah fungsi kendala akan tergantung dari banyaknya sumber daya yang terbatas.

(18)

menuntut kemampuan matematik tapi juga menuntut seni permodelan. Menggunakan seni akan membuat permodelan lebih mudah dan menarik.

Kasus pemrograman linier sangat beragam. Dalam setiap kasus, hal yang penting adalah memahami setiap kasus dan memahami konsep permodelannya. Meskipun fungsi tujuan misalnya hanya mempunyai kemungkinan bentuk maksimisasi atau minimisasi, keputusan untuk memilih salah satunya bukan pekerjaan mudah. Tujuan pada suatu kasus bisa menjadi batasan pada kasus yang lain. Harus hati-hati dal am menentukan tujuan, koefisien fungsi tujuan, batasan dan koefisien pada fungsi pembatas.

2.3.5 Penerapan Model Linear Programming Dalam Bidang-Bidang Fungsional

Penerapan Model Linear Programming terdiri dari : 1. Penerapan dalam transportasi dan masalah.

Masalah transportasi timbul karena transportasi produk yang bersifat homogen dari berbagai sumber (supply) ke berbagai tempat penjualan (demand). Alokasi produk dari daerah supply ke daerah demand ini dilakukan dengan tujuan memaksimalkan laba dari penjualan produk atau alternatifnya adalah menimalkan biaya transportasi produk.

2. Penerapan dalam bidang keuangan

Dalam analisis investasi, tujuan yang hendak dicapai biasanya ialah expected returns. Untuk memaksimalkannya sering dihadapkan dengan berbagai masalah, seperti dana yang tersedia.

3. Penerapan dalam bidang produksi.

Dengan bantuan pemecahan melalui linear programming ini memungkinkan manajer perusahaan untuk merancang jadwal produksi yang efisien. Manajer dapat menentukan tingkat/level produksi yang memungkinkan perusahaan dapat memenuhi permintaan pasar, subyek kepada keterbatasan dari kapasitas produksi, kapasitas gudang, dan tenaga kerja.

(19)

Diantaranya ialah masalah alokasi dengan anggaran biaya advertensi, pemilihan media promosi, serta manajemen retailer dan salesman.

5. Penerapan dalam bidang personalia.

Diantaranya ialah untuk merencanakan jumlah jam kerja pegawai, menentukan jumlah petugas yang akan melaksanakan pekerjaan, dan masalah-masalah personalia lainnya.

6. Penerapannya dalam bidang perencanaan fasilitas.

Berkaitan dengan masalah penentuan lokasi gudang, jumlah fasilitas, dan sistem logistik, serta masalah transportasi dan penentuan lokasi pabrik.

2.4 Elemen Pada Game RPG

Pada game Role Playing Game (RPG) memiliki beberapa elemen yang penting karena elemen tersebut merupakan yang membedakan game Role Playing Game (RPG) dengan game yang lainnya. Dan elemen-elemen tersebut adalah sebagai berikut :

2.4.1 Pengembangan Alur Cerita Dan Karakter Pada RPG

Pengembangan jalan cerita dan karakter merupakan unsur utama dalam Role Playing Game (RPG). Cerita yang ada dalam Role Playing Game (RPG) tidak harus selalu aneh, tetapi masing-masing Role Playing Game (RPG) harus memiliki cirri khas sendiri dan biasanya cerita dalam Role Playing Game (RPG) cukup panjang.Cerita dalam Role Playing Game (RPG) harus kreatif, inovatif dan megnalir seiring dengan perkembangan karakter utama. Biasanya cerita dalam Role Playing Game (RPG) mengandung unsure-unsur khusus yang membentuk sebuah game Role Playing Game (RPG) seperti berikut :

1. Karakter Utama

(20)

pahlawan tersebut telah di pilih sejak lahir untuk menyelamatkan dunia atau dengan alasan yang lain.

2. Status Effect Pada RPG

Banyak sekali jenis-jenis status yang berada pada game Role Playing Game (RPG). Sekalipun namanya berbeda, mungkin saja efeknya sama, beberapa game Role Playing Game (RPG) biasanya menghapus status setelah pertarungan selesai. Ada yang membiarkan status hilang setelah beberapa saat, ada juga yang membiarkannya sampai di sembuhkan. Berikut status-status yang biasanya muncul pada game Role Playing Game (RPG) yaitu sebagai berikut :

a. Poison atau Toxic

Ini adalah pengurangan Human Power(HP) secara berkala yang terjadi pada karakter pemain. Ada yang terjadi saat pertarungan, ada yang terjadi saat pemain yang terkena berjalan.Biasanya status ini tidak bisa membunuh karakter pemain. Lawan dari status ini adalah Regen atau Healingyang justru menambah HP secara berkala.

b. Silence

Status ini menyebabkan karakter pemain yang bersangkutan tidak bisa mengeluarkan kemampuannya sampai efek dari status ini menghilang.

c. Death

Banyak kontroversi tentang status ini, mengingat pahlawan tidak benar-benar mati kalau HP nol. Karakter pemain yang terkena status ini tidak dapat melanjutkan pertarungan sampai dibangkitkan lagi.

3. Menu Sistem RPG

Menu sistem pada Role Playing Game (RPG) adalah suatu cirri khas dari

sebuah game Role Playing Game (RPG) Sistem ini merupakan tempat di mana pemain dapat melihat dan mengatur karakter, kemampuan, item, equipment karkater dan masih banyak lagi hal lainnya.

(21)

pemain dalam memahami dan mengatur karakternya sehingga membuat sang karakter sesuai dengan keinginan sang pemain.

2.5 Object Oriented Programing

Secara spesifik, pengertian berorientasi objek berarti bahwa mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini yang membedakan dengan pemograman konvensional dimana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karakteristik dalam pendekatan berorientasi objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi, polymorphism (polimorfisme) dan inheritance (pewarisan).[6]

2.5.1 Konsep Dasar Berorientasi Objek

Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespodensi dengan objek-objek dunia nyata.

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek :[6]

1. Kelas (class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau tercipta dan kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship) dan arti. Suatu kelas dapat diwariskan ke kelas yang baru.

2. Objek (object)

(22)

(status) dan mempunyai operasi (kelakukan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yang diciptakan, dimanipulasi, dan dihancurkan.

3. Metode (method)

Operasi atau metode pada sebuah kelas hampir sama dengan fungsi prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi yang befungsi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.

4. Atribut (attribute)

Atribut dari sebuah kelas adalah variable global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama dan sebagainya.

5. Abstraksi (absraction)

Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

6. Enkapsulasi (encapsulation)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

7. Pewarisan (inheritance)

Mekanisme yang memungkinkan suatu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya

(23)

Antarmuka (interface) sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain.

9. Reusability

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

10. Generalisasi dan Spesialisasi

Menunjukan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.

11. Komunikasi Antar Objek

Komunikasi Antar Objek dilakukan lewat pesan (message) yang dikirim dari suatu objek ke objek yang lain.

12. Polimorfisme (polymorphism)

Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

13. Package

Package adalah sebuah container atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.

2.5.2 Analisis Berorientasi Objek

Analisis berorientasi objek atau Object Oriented Analysis (OOA) adalah tahap untuk menganalisis spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek, apakah benar kebutuhan yang ada dapat diimplementasikan menjadi sebuah sistem berorientasi objek.

(24)

2.5.3 Desain Berorientasi Objek

Desain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantara untuk spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan pemograman berorientasikan objek.

Pemodelan berorientasi objek biasanya dituangkan dalam dokumentasi perangkat lunak dengan menggunakan perangkat lunak dengan menggunakan perangkat pemodelan berorientasi objek, diantaranya adalah UML (Unified Modeling Language). Kendala dan permasalahan pembangunan sistem berorientasi objek biasanya dapat dikenali dalam tahap ini.6]

2.6 UML ( Unified Modelling Language)

Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industri visualisasi, merancang, dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

UML dapat digunakan untuk membuat model untuk semua jenis perangkat lunak, dimana perangkat lunak tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek.

(25)

2.6.1 Diagram UML

Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar 2.1

Gambar 2. 1 Diagram UML [6]

Berikut ini penjelasan singkat dari pembagian kategori tersebut.[6]

1. Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.

2. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

3. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem.

2.6.2 Class Diagram

(26)

KoneksiBasisData

+host +database +username +password

+open() +execute() +getResult() +close()

Gambar 2.2 Contoh Class Diagram [6]

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.

a. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

b. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.[6]

2.6.3 Diagram Use Case

Diagram use case merupakan pemodelan untuk kelakuan (behaviour) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.[6]

(27)

itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.

Contoh Use Case Diagram dapat dilihat pada Gambar 2.3

Gambar 2.3 Contoh Use Case Diagram

2.6.4 Diagram Aktivitas (Activity Diagram)

Diagram aktivitas menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: [6]

1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

(28)

3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.

4. Rancangan menu yang ditampilkan pada perangkat lunak. Contoh Activity Diagram dapat dilihat pada Gambar 2.4

Gambar 2.4 Contoh Activity Diagram

2.6.5 Diagram Sekuen (Sequence Diagram)

(29)

Banyaknya diagram sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. Contoh Sequence Diagram dapat dilihat pada Gambar 2.5 [6]

Petugas Pertukaan m : Main an : Antarmuka v : Validasi k : KoneksiBasisData p : Petugas

1 : main()

2 : formLogin()

3 : username dan password

4 : login()

5 <<create>>

6 <<create>>

7 : open()

8 : queryCekLogin()

9 : execute() 10 : getResult()

11 : username dan password petugas 12 : close()

13 <<destroy>> 14 <<destroy>>

Gambar 2.5 Contoh Sequence Diagram

2.7 Unity

Unity Game Engine adalah software atau game engine yang digunakan untuk membuat video game berbasis dua atau tiga dimensi dan dapat digunakan

secara gratis. Selain untuk membuat game, unity juga dapat digunakan untuk

(30)

Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa digunakan untuk games PC dan games online. Untuk games online diperlukan sebuah plugin, yaitu Unity Web Player, yang

sama halnya dengan flash player pada browser. Bahasa pemrograman yang

digunakan bermacam-macam, mulai dari javascript, C#, dan boo.

Unity tidak bisa melakukan desain atau modelling, dikarenakan unity bukan merupakan tools untuk mendesain. Banyak hal yang bisa di lakukan di unity, ada fitur

audio reverb zone , particle effect , sky box untuk menambahkan langit, dan masih banyak lagi, dan juga bisa langsung edit texture dari editor seperti photoshop dll.

Features (Scripting) di dalam unity adalah sebagai berikut (Unity Technologies, 2013):

1. Mendukung 3 bahasa pemrograman, JavaScript, C#, dan Boo.

2. Flexible and EasyMoving, rotating, dan scaling objects hanya perlu sebaris kode. Begitu juga dengan duplicating, removing, dan changing properties.

3. Multi Platform Game bisa di deploy di PC, Mac, Wii, iPhone, iPad dan

browser, android.

4. Visual Properties Variables yang di definisikan dengan scripts ditampilkan pada editor. Bisa digeser, di drag and drop, bisa memilih warna dengan color picker.

5. Berbasis .NET, penjalanan program dilakukan dengan Open Source .NET

platform, Mono. [7]

2.8 Bahasa Pemrograman C#

C# merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. C# adalah Java versi Microsoft, sebuah bahasa multi flatform yang didesain untuk bisa berjalan di berbagai mesin. C# adalah pemrograman berorientasi Object (OOP). C# memiliki kekuatan bahasa C++ dan portabilitas seperti Java. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple inheritance).

(31)

bersifat general-purpose (untuk tujuan jamak), berorientasi objek, modern, dan sederhana. C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem klien-server (hosted system) maupun sistem embedded (embedded system), mulai dari program aplikasi yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada program aplikasi yang sangat kecil.

Meskipun aplikasi C# ditujukan agar bersifat 'ekonomis' dalam hal kebutuhan pemrosesan dan memori komputer, bahasa C# tidak ditujukan untuk bersaing secara langsung dengan kinerja dan ukuran program aplikasi yang dibuat dengan menggunakan bahasa pemrograman C.

2.9 Adobe PhotoShop

Adobe Photoshop adalah suatu program gambar atau manipulasi image yang diciptakan oleh Adobe system Incorporate. Aplikasi serupa yang dapat anda temui diantaranya Corel Draw, Macromedia Freehand, dan Microsoft photo editor. Adobe Photoshop dapat dikatakan sebagai sofware manipulasi image yang paling lengkap fasilitasnya.

Aplikasi adobe photoshop bekerja dengan metode pemisah setiap komponen gambar menjadi layer yang berbeda, hal ini akan sangat memudahkan kreasi dalam melakukan proses penyuntingan gambar [8].

Meskipun pada awalnya Photoshop dirancang untuk menyunting gambar untuk cetakan berbasis-kertas, Photoshop yang ada saat ini juga dapat digunakan untuk memproduksi gambar untuk World Wide Web. Beberapa versi terakhir juga menyertakan aplikasi tambahan, Adobe ImageReady, untuk keperluan tersebut.

(32)
(33)

103

Pada bab ini berisikan kesimpulan dari hasil penelitian yang telah dilakukan serta saran untuk perbaikan dan pengembangan penelitian lebih lanjut.

5.1 Kesimpulan

Berdasarkan hasil yang didapatkan dalam penelitian dan penyusunan skripsi ini serta disesuiakan dengan tujuan maka diperoleh kesimpulan bahwa linear programming memiliki akurasi yang baik antara nilai input dan output sehingga dapat mengoptimalkan penggunaan item pada game RPG.

5.2 Saran

(34)

Nama : Muh. Fahmi Husein

Umur : 25 tahun

Tempat Tanggal Lahir : Sumedang, 29 Desember 1989

Alamat : Taman Cipadung Indah Blok K 31 Rt 006 Rw 001 Bandung

Kewarganegaraan : Indonesia

Agama : Islam

Status : Belum Menikah

Nomor Telepon : 085776365158

(35)

Diajukan untuk Menempuh Ujian Akhir Sarjana

MUH. FAHMI HUSEIN

10109353

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(36)

v

KATA PENGANTAR ... iii

DAFTAR ISI ...v

DAFTAR GAMBAR... viii

DAFTAR TABEL...x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xix

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah... 2

1.5 Metodologi Penelitian ... 2

1.5.1 Tahap Pengumpulan Data ... 2

1.5.2 Tahap pembuatan perangkat lunak ... 3

1.6 Sistematika Penulisan... 4

BAB 2 LANDASAN TEORI ... 7

2.1 Kecerdasan Buatan ... 7

2.1.1 Lingkup Utama Kecerdasan Buatan... 8

2.1.2 Keuntungan Kecerdasan Buatan... 8

2.1.3 Implementasi Kecerdasan Buatan ... 9

2.1.4 Kecerdasan Buatan Pada Game ... 10

2.2 Klasifikasi Game ...11

2.2.1 Berdasarkan Jenis Platform yang Digunakan ...11

2.2.2 Berdasarkan Genre Permainan ... 12

2.2.3 Sudut Pandang Permainan (Game View Point)... 13

2.2.4 Elemen Pada Game... 14

2.3 Linear Programming ... 15

(37)

vi

2.3.2 Formulasi Permasalahan... 16

2.3.3 Pembentukan Model Matematika... 17

2.3.4 Bentuk Umum Linear Programming ... 18

2.3.5 Penerapan Model Linear Programming Dalam Bidang-Bidang Fungsional. ... 19

2.4 Elemen Pada Game RPG ... 20

2.4.1 Pengembangan Alur Cerita Dan Karakter Pada RPG... 20

2.5 Object Oriented Programming ... 21

2.5.1 Konsep Dasar Berorentasi Objek ... 22

2.5.3 Analisis Berorientasi Objek... 24

2.5.2 Desain Berorientasi Objek... 24

2.6 UML (Unified Modeling Language) ... 25

2.6.1 Diagram UML ... 26

2.6.2 Class Diagram ... 26

2.6.3 Diagram Use Case ... 27

2.6.4 Diagram Aktivitas (Activity Diagram) ... 28

2.6.5 Diagram Sekuen (Sequence Diagram) ... 29

2.7 Unity ... 30

2.8 Bahasa Pemrograman C# ... 31

2.9 Adobe Photoshop ... 32

BAB 3 ANALISIS DAN KEBUTUHAN ALGO RITMA ... 34

3.1 Analisis Masalah ... 34

3.2 Analisis Game Sejenis... 34

3.2.1 Game Digimon ... 34

3.2.2 Gameplay Game Digimon... 35

3.3 Analisis Game ... 36

3.3.1 Storyline... 36

3.3.2 Gameplay... 37

3.4 Perancangan Karakter... 38

(38)

vii

3.6 Analisis Model Linear Programming... 38

3.8 Analisis Kebutuhan Perangkat Lunak ... 42

3.8.1 Analisis Kebutuhan Fungsional... 44

3.8.2 Use Case Diagram ... 44

3.8.3 Definisi Aktor ... 45

3.8.4 Definisi Use Case ... 45

3.8.5 Skenario Use Case ... 46

3.8.6 Activity Diagram ... 54

3.8.7 Sequence Diagram ... 63

3.8.8 Class Diagram ... 68

3.9 Perancangan Sistem ... 70

3.9.1 Perancangan Struktur Menu ... 70

3.9.2 Perancangan Antar Muka ... 71

3.9.3 Jaringan Sematik ... 74

BAB 4 MPLEMENTASI DAN PENGUJIAN ... 75

4.1 Implementasi ... 75

4.1.1 Implementasi Perangkat Keras ... 75

4.1.2 Implementasi Perangkat Lunak ... 76

4.1.3 Implementasi Aplikasi ... 76

4.1.4 Implementasi Antarmuka ... 77

4.2 Pengujian ... 80

4.2.1 Pengujian Alpha ... 80

4.2.2 SkenarioPengujian Aplikasi... 81

4.2.3 Kasus dan Hasil Pengujian Alpha... 82

4.2.4 Kesimpulan Hasil Pengujian Alpha ... 88

4.2.5 Kasus dan Hasil Pengujian (White Box) ... 88

BAB 5 KESIMPULAN DAN SARAN ... 103

5.1 Kesimpulan... 103

5.2 Saran ... 103

(39)

104

[2] T. Edi Mulyanto, Vincent Suharto. 2010, Kecerdasan Buatan, Jakarta : Andi Offset.

[3] Suryanto, ST, MSc, Artificial Intelligence Searching, Reasoning, Planning and Learning, Penerbit Informatika, Bandung, 2007.

[4] Von Neuman, John, Oskar Moegenstern. 1953, Theory of Game And Economic Behavior. Princenton: Pricenton University Press.

[5] Siswanto, Operations Research jilid 1, Penerbit Erlanggan, Jakarta : 2007.

[6] S. Rosa dan Shalahuddin, M, Rekayasa Perangkat Lunak, Penerbit Informatika, 2013.

[7] “Unity Technologies,” 2014. [Online]. Available: http://unity3d.com/.[Accessed 10 October 2013].

[8] Gumelar, Asep. 2007. Memanipulasi & Editing Image dengan Adobe[Online] diakses pada 21 September 2014 jam 09.00 Asep Gumelar.(2007).http://pfi3pdata.litbang.deptan.go.id/laporan/one/24/.

[9] TP. P. Widodo dan Heriawati, Menggunakan UML, Bandung: Informatika, 2011.

(40)

Muh. Fahmi Husein

Teknik Informatika – Universitas Komputer Indonesia Jl. Dipatiukur 112-114 Bandung

Email : [email protected]

ABSTRAK

Game yang akan dibangun ini ber-genre Role Playing Game (RPG). Storyline game ini berlatar petualangan di sebuah Desa. Gameplay game ini pemain di diminta untuk menyelesaikan permasalahan yang ada di sebuah Desa. Setiap warga desa memiliki masalah berbeda yang menjadi sebuah misi bagi pemain. Misi tersebut dapat berupa pencarian barang atau item dan membunuh musuh No-player character (NPC) di suatu tempat. Apabila misi tersebut dapat diselesaikan, pemain akan diberi hadiah berupa koin. Material bahan dapat digunakan pemain untuk membuat sebuah item, misalnya penggabungan bahan besi, nikel dan logam bisa dibuat menjadi pedang. Penggabungan jumlah besi, nikel, dan logam harus dileburkan menjadi pedang agar pedang yang dihasilkan memiliki kekuatan maksimal dan dapat digunakan untuk membunuh musuh. Permainan akan selesai jika pemain telah mengalahkan semua musuh, misalnya musuh mudah, musuh sedang, musuh sulit dan menyelesaikan setiap misi misalnya membunuh musuh yang menghalangi jalan, mencari sebuah item misalnya mengambil besi, nikel, dan logam mulia. Adapun metode yang digunakan dalam linear programming yaitu metode simplek s.

Setelah tahap implementasi selesai, maka dilakukan tahap pengujian terhadap aplikasi Implementasi model linear programming pada game RPG. Pengujian ditujukan pada tingkat kesesuaian nilai model linear programming yang sudah ditetapkan. Setelah dilakukan pengujian didapatkan kesimpulan bahwa rule – rule yang di uji sesuai dengan perancangan dan linear programming dapat mengoptimalkan penggunaan item dengan baik.

Kata kunci : RPG game, linear programming, keputusan

1. PENDAHULUAN

Game RPG merupakan game yang para pemainnya memainkan peran tokoh-tokoh-tokoh khayalan dan berkolaborasi untuk tujuan yang sama. Para pemain memilih aksi tokoh mereka berdasarkan karakteristik tokoh tersebut. Keberhasilan aksi

mereka tergantung dari sistem peraturan permainan yang telah ditentukan. Asal tetap mengikuti peraturan yang ditentukan, para pemain bisa berimprovisasi membentuk arah dan hasil akhir permainan ini.[1]

Salah satu contoh game yang menjadi acuan yaitu game Digimon. Pemain yang mengatur jalannya permainan sehingga keinginan atau target tercapai. Permainan game ini berpetualang untuk mengumpulkan komponen-komponen sebuah item. Setiap karakter utama memiliki kemampuan item yang dapat digunakan untuk salah satu game RPG. Dalam game RPG pemain diharuskan menyelesaikan permasalahan yang ada di Desa tersebut. Setiap warga memiliki masalah yang berbeda yang menjadi sebuah misi bagi pemain. Apabila misi tersebut dapat diselesaikan, pemain akan di beri hadiah koin. Sedangkan material bahan dapat digunakan pemain untuk membuat sebuah item, misalnya penggabungan bahan besi, nikel, dan logam bisa dibuat menjadi pedang. Permainan akan selesai jika pemain telah mengalahkan semua musuh, misalnya musuh mudah, musuh sedang, musuh sulit dan menyelesaikan setiap misi misalnya membunuh musuh yang menghalangi jalan.

Metode yang digunakan dalam linear programming yaitu metode simplek. Kesesuaian linear programming antara nilai input dan nilai output sehingga dapat mengoptimalkan penggunaan item.

Berdasarkan uraian yang sudah dijelaskan, maka penelitian ini akan mengambil berjudul “Implementasi Model Linear Programming Pada Game RPG”.

2. ISI PENELITIAN 2.1 Kecerdasan Buatan

Kecerdasan buatan berasal dari bahasa Inggris “Artificial Intelligence” atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan yang dimaksud disini merajuk pada mesin yang mampu berpikir, menimbang tindakan yang diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.

(41)

melalui terminal komputer, maka bisa dikatakan komputer itu cerdas, mempunyai kecerdasan”.

Menurut John Carthy dari stanford mendefinisikan kecerdasan sebagai “ kemampuan untuk mencapai sukses dalam menyelesaikan suatu permasalahan”.

Menurut Herbert Alexander Simon (June 15, 1916-February 9, 2001): “ Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”

Menurut Rich and Knight (1991): “ Kecerdasan buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”

Dari sini dapat dikatakan bahwa :

Cerdas adalah memiliki pengetahuan, pengalaman, dan penalaran untuk membuat keputusan dan mengambil tindakan. Jadi, agar mesin bisa cerdas (bertindak seperti manusia) maka harus diberi bekal pengetahuan dan diberi kemampuan untuk menalar.[2].

2.2 Klasifikasi Game

Game biasanya digunakan untuk mengkatagorikan sebuah game berdasarkan dari interaksi gameplay daripada perbedaan tampilan atau narasi. Sebuah jenis game dapat didefinisikan dengan kumpulan dari sebuah tipe permainan dari game tersebut. Game dapat diklasifikasikan menjadi dua, yaitu : [4]

2.2.1Berdasarkan Jenis Platform yang

Digunakan

Tiga kategori utama platform pada game adalah personal computer (PC), console, dan mobile : [4]

1. Personal Computer (PC)

PC game adalah game yang dibuat untuk computer baik berbasis Windows, Mac, ataupun Linux. PC menyediakan kekuatan grafis dan pemrosesan yang kuat yang memungkinkan pengembangan untuk membuat game yang mutakhir. Tetapi kelemahan PC adalah mahal karena pengguna harus menggunakan hardware yang up-to-date untuk memainkan game PC dengan haik. Selain itu, kelemahan game PC bagi pengembang adalah banyaknya varian dari konfigurasi PC membuat sulit bagi pengembangan untuk

Console adalah hardware yang dibuat oleh pihak ketiga seperti Sony, Microsoft, dan Nintendo. Console terhubung ke televisi dan tujuan utamanya adalah untuk bermain game. Game Console sangat menarik bagi game pengembang karena mereka hanya perlu memikirkan satu konfigurasi hardoware ketika membuat software untuk konsol. Sangat kontras dengan PC yang memiliki opsi konfigurasi yang tak terbatas.

3. Mobile

Mobile platform terdiri atas sesuatu yang portable dan bisa digenggam, termasuk ponsel, PDA, ipod, dan handle game seperti Nintendo Dsi atau Sony PSP. Game monile memiliki kontrol yang sederhana ( terutama jika dibandingkan dengan PC)

2.2.1Berdasarkan Genre Permainan

Genre game bisa dibagi menjadi 9, yaitu : 1. Action

Action game adalah game dimana kebanyakan dari tantangan yang disajikan merupakan dari tes physical sk ill dan koordinasi pemain. Salah satu sub-genre action game adalah shooters game, baik yang 2D maupun 3D seperti First Person, Shooters (FPS)

2. Strategy

Strategy game menantang pemain untuk mencapai kemenangan dengan perencanaan, khususnya melalui perencanaan serangkaian tindakan yang dilakukan melawan satu lawan atau lebih. Kemenangan diraih dengan perencanaan matang dan pengambilan keputusan yang optimal.

3. Role Playing Game (RPG)

RPG adalah game dimana pemain mengontrol satu atau lebih karakter yang biasanya di desain oleh pemain itu sendiri, dan memandu mereka melewati berbagai rintangan yang diatur oleh komputer. Perkembangan karakter dalam hal kekuatan dan kemampuannya adalah kunci dari game jenis ini.

4. Sports

(42)

mengedarai kendaraan, baik kendaraan nyata maupun kendaraan imajiner. Performa dan karakteristik kasar mesin harus menyerupai kenyataan, kecuali jika yang didesain adalah kendaraan imajiner

6. Construction and Management Simulation

CMS game adalah game tentang proses. Tujuan pemain bukan untuk mengalahkan musuh, tetapi membangun sesuatu dengan konteks proses yang sedang berjalan. Semakin pemain mengerti dan mengontrol proses, semakin sukses sesuatu yang ia bangun. Game seperti ini biasanya menyediakan dua jenis permainan, yaitu mode bebas dimana pemain bebas membangun sesuatu dan mode misi dimana terdapat skenario hal apa yang harus dibangun oleh pemain.

7. Adventure

Adventure game adalah cerita interaktif tentang karakter protagonist yang dimainkan oleh pemain. Penyampaian cerita dan eksplorasi adalah elemen inti dari game ini. Penyelesaian teka-teki dan tantangan konseptual adalah bagian besar dari permainan.

8. Artificial Life and Puzzle Game

Artificial Life game adalah game yang membuat tiruan dari kehidupan sebenarnya. Biasanya ada dua jenis game ini, tiruan kehidupan manusia, contohnya The SIMS, dan tiruan kehidupan binatang, contohnya Tamagochi

9. Online Game

Istilah online game disini mengacu kepada multiplayer game dimana mesin dari para pemain terhubung dengan jaringan

tantangan konseptual adalah bagian besar dari permainan.

1. Artificial Life and Puzzle Game

Artificial Life game adalah game yang membuat tiruan dari kehidupan sebenarnya. Biasanya ada dua jenis game ini, tiruan kehidupan manusia, contohnya The SIMS, dan tiruan kehidupan binatang, contohnya Tamagochi.

2. Online Game

Istilah online game disini mengacu kepada multiplayer game dimana mesin dari para pemain terhubung dengan jaringan.

2.2.2Sudut Pandang Permainan (Game View Point)

Sebuah game biasanya mempunyai sudut pandang permainan tersendiri disesuaikan berdasarkan genre game yang diambil. Berikut beberapa macam sudut pandang permainan yang biasa digunakan : [3] 1. Side Scrolling

background pada game seolah-olah bergeser mengikuti pergerakan karakter utama.

2. Top Down

Adalah sudut pandang permainan yang memungkinkan karakter utama bermanuver ke empat arah namun cara permainannya sendiri bergeser dari bawah ke atas, dan biasanya game yang menggunakan sudut pandang permainan jenis ini adalah shooter game.

3. Isometric

Adalah sudut pandang permainan yang memungkinkan permainan terlihat diantara sisi Side Scrolling dan juga Top Down, dan biasanya diterapkan pada game dengan genre RTS (Real Time Strategy).

1]

2.3Linear Programming

Linear programming adalah salah satu pendekatan matematika yang paling sering dipergunakan dan diterapkan dalam keputusan -keputusan manajerial. Tujuan dari penggunaan linear programming adalah untuk menyusun suatu model yang dapat dipergunakan untuk membantu pengambilan keputusan dalam menentukan alokasi yang optimal dari sumber daya ke berbagai alternatif. Penggunaan model linear programming dalam hal ini adalah mengalokasikan sumber daya tersebut sedemikian rup a sehingga akan maksimum atau alternatif minimum.[5] Ada empat kondisi utama yang diperlukan dalam

penerapannya :

1. Harus adanya sumber daya yang terbatas

2. Ada suatu fungsi tujuan seperti memaksimalkan atau meminima lkan

3. Harus ada linearitas 4. Harus ada keseragaman

2.4 Analisis Game

Game yang akan dibangun ini Game yang dibangun merupakan game 3D yang ber-genre Role Playing Game (RPG). Permainan ini berlatar belakang petualangan di Desa, pemain diminta untuk menyelesaikan permasalahan yang ada di desa tersebut. Dengan cara mengalahkan semua musuh.

2.5 Gameplay

(43)

membuat sebuah item, misalnya penggabungan bahan besi, nikel dan logam bisa dibuat menjadi pedang. Penggabungan jumlah besi, nikel, dan logam harus dileburkan menjadi pedang agar pedang yang dihasilkan memiliki kekuatan maksimal dan dapat digunakan untuk membunuh musuh. Permainan akan selesai jika pemain telah mengalahkan semua musuh, misalnya musuh mudah, musuh sedang, musuh sulit dan menyelesaikan setiap misi misalnya membunuh musuh yang menghalangi jalan, mencari sebuah item misalnya mengambil besi, nikel, dan logam mulia.

2.6 Analisis Model Linear Programming

Model linear programming yang dapat di selesaikan dengan beberapa metode yang salah satunya adalah metode simplek s akan diterapkan pada saat mengoptimalkan penggunaan item dan untuk menaikan level karakter.

Contoh kasus dalam game yang akan dibangun : 1. Untuk menambah damage pedang menggunakan

3 variabel yaitu : A (Besi), B (Nikel), C (Logam). Untuk meleburkan setiap variabel membutuhkan biaya. Tetapi setiap meleburkan variable membutuhkan biaya yang berbeda-beda. Untuk meleburkan Besi membutuhkan biaya 8 koin, meleburkan Nikel membutuhkan biaya 6 koin dan meleburkan Logam membutuhkan biaya 10 koin. Sedangkan koin yang disediakan hanya 1200 koin. Hitung maksimasi kekuatan yang didapat bila 1 variabel Besi menambah 12 damage, Nikel 10 damage, dan Logam 15 damage. Bila setiap menambah damage pedang hanya memuat 180 pcs dari jumlah keseluruhan

Formulasi Matematika Awal : Fungsi Tujuan

Formulasi Bentuk Standar Programa Linear :

Formulasi Bentuk Standar Simplek s : Persamaan

(44)

diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar sistem dapat berjalan dengan baik sesuai kebutuhan. Analisis kebutuhan fungsional dimodelkan dengan menggunakan UML (Unified Modeling Language).

2.8 Use Case Diagram

Diagram use case menggambarkan hubungan antara aktor dan sistem yang dibangun. Perancangan proses -proses yang terdapat pada game yang akan dibangun akan digambarkan dengan diagram use case. Interaksi antara aktor dengan aplikasi game yang akan dibangun digambarkan pada diagram use case pada Gambar 3.3

Gambar 3.3 Use case Diagram

2.9 Class Diagram

Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas -kelas yang akan dibuat untuk membangun sistem. Kelas -kelas yang ada pada struktur sistem harus dapat melakukan fu ngsi-fungsi sesuai dengan kebutuhan sistem sehingga pembuat perangkat lunak dapat membuat kelas -kelas di dalam program perangkat lunak sesuai dengan perancangan diagram kelas.

Gambar 3.22 Class Diagram

2.10 Implementasi Antarmuka

Implementasi antarmuka dilakukan dengan setiap tampilan program yang dibangun. Antarmuka yang disajikan berikut merupakan antarmuka yang mewakili keseluruhan program.

1. Implementasi Antarmuka Menu Utama

Gambar 4.1 menunjukan antarmuka menu utama dimana halaman tersebut menampilkan tombol mulai, tombol petunjuk, tombol pengaturan. Dan tombol keluar.

(45)

Gambar 4.2 Tampilan Petunjuk

3. Implementasi Antarmuka Pengaturan

Gambar 4.3 menunjukan antarmuka pengaturan dimana halaman tersebut menampilkan tombol lihat level, tombol suara, dan tombol kembali.

Gambar 4.3 Tampilan Pengaturan

4. Implementasi Antarmuka Saat Mulai

Permainan

Gambar 4.4 menunjukan antarmuka saat mulai permainan dimana halaman tersebut menampilkan darah, koin, tombol memperbesar ukuran peta,tombol memperkecil ukuran peta, tombol lihat peta, dan tombol Kunci.

Gambar 4.4 Tampilan Saat Mulai Permainan

5. Implementasi Antarmuka Saat Melawan Musuh

Gambar 4.5 menunjukan antarmuka saat melawan musuh dimana halaman tersebut menampilkan tampilan saat melawan musuh.

Gambar 4.5 Tampilan Saat Melawan Musuh

6. Implementasi Antarmuka Saat di Build

Item

Gambar 4.6 menunjukan antarmuka saat

menambah kekuatan pedang dimana halaman

tersebut menampilkan tampilan saat melihat hasil.

(46)

Store dimana halaman tersebut menampilkan tampilan saat melihat membeli item.

Gambar 4.7 Tampilan Saat di Store

Setelah memainkan permainan, pemain akan mendapatkan nilai yang didapat dengan solusi yang berbeda tergantung dengan nilai pemain yang didapat sehingga nilai optimal berbeda.

1. Pengujian nilai 0 yang didapat akan menghasilkan sebanyak 0 Damage.

2.

Gambar 4.13 Pengujian nilai optimal dengan NPC

Gambar

Gambar 1.1 Model Prototype [1]
Gambar 2. 1 Diagram UML [6]
Gambar 2.3 Contoh Use Case Diagram
Gambar 2.4 Contoh Activity Diagram
+6

Referensi

Dokumen terkait

Penelitian ini menggunakan metode PROMETHEE untuk menentukan ranking supplier dan metode Goal Programming untuk menentukan alokasi pemesanan botol optimum pada tiap

Metode Linear Programming (LP) merupakan solusi yang tepat untuk optimasi penggunaan energi tersebut. Sebab LP mudah diaplikasikan untuk menyelesaikan persoalan yang kompleks

promethee digunakan untuk menentukan urutan (prioritas) dalam analisis multikriteria dan pendekatan goal programming digunakan untuk menentukan alokasi pesanan botol

Berikut adalah perumusan model optimasi dengan pendekatan inexact fuzzy linear programming (IFLP) untuk optimasi alokasi pengelolaan sampah di Kota Malang Tahun 2011 sampai

Untuk menyusun rencana pengalokasian sumber daya dan hasil produk yang tepat dapat digunakan metode kuantitatif yang sering disebut Linear Programmming, yaitu suatu

metode linear programming digunakan untuk menentukan jumlah produksi batik, dengan variabel yang digunakan adalah : bahan baku kain, bahan baku malam, bahan baku

Dalam tulisan ini diperkenalkan penggunaan Parametric Linear Programming untuk mengatasi masalah program linier yang memiliki nilai koefisien input yang tidak

Dalam tulisan ini diperkenalkan penggunaan Parametric Linear Programming untuk mengatasi masalah program linier yang memiliki nilai koefisien input yang tidak