Implementasi model linear programming pada game RPG

(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

Metode pengumpulan data yang digunakan dalam penelitian ini adalah studi literature. Studi literature adalah pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.


(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

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan skripsi ini.


(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 :

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].


(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

3. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami. Menyediakan layanan komputer akan lebih mudah dan lebih murah


(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

Kecerdasan buatan pada Sistem Pakar ini memungkinkan sebuah sistem komputer memiliki cara berpikir dan penalaran seorang ahli dalam mengambil keputusan, untuk memecahkan masalah yang ada pada saat itu.


(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.

Dalam pembangunan game, umumnya akan cenderung hanya pada sisi engineering yang bertujuan membangun algoritma yang dapat membuat game karakter mengerjakan kegiatan seperti yang dilakukan manusia atau binatang. [2].


(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

Mobile platform terdiri atas sesuatu yang portable dan bisa digenggam, termasuk ponsel, PDA, ipod, dan handle game seperti Nintendo Dsi atau


(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

Vechicle Simulation membuat feeling mengedarai kendaraan, baik kendaraan nyata maupun kendaraan imajiner. Performa dan karakteristik kasar mesin


(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

Adalah sudut pandang permainan yang terlihat dari samping dan memungkinkan karakter utama untuk bergerak dari kiri ke kanan serta memungkinkan


(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

Musik dan sound dalam suatu game merupakan suatu hal yang wajib dikarenakan dalam suatu game akan lebih terasa efek emosi dari game tersebut, sehingga akan membuat kesan game tersebut lebih terasa nyata.


(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.

Sifat additivitas mengasumsikan bahwa tidak ada bentuk perkalian silang diantara berbagai aktivitas, sehingga tidak akan ditemukan bentuk perkalian silang pada model. Sifat additivitas berlaku baik bagi fungsi tujuan maupun pembatas


(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.

Penetapan tujuan yang tepat merupakan aspek yang sangat penting dalam formulasi masalah. Untuk membentuk tujuan optimalisasi, diperlukan identifikasi anggota manajemen yang benar-benar akan melakukan pengambilan keputusan dan mendiskusikan pemikiran mereka tentang tujuan yang ingin dicapai.


(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.

Bagian kedua merupakan model matematik yang merepresentasikan sumber daya yang membatasi. Fungsi pembatas bisa berbentuk persamaan (=) atau pertidaksamaan (≤ atau ≥). Fungsi pembatas disebut juga sebagai konstrain. Konstanta (baik sebagai koefisien maupun nilai kanan) dalam fungsi pembatas maupun pada tujuan dikatakan sebagai parameter model. Model matematika mempunyai beberapa keuntungan dibandingakan pendeskripsian permasalahan secara verbal. Salah satu keuntungan yang paling jelas adala model matematik menggambarkan permasalahan secara lebih ringkas. Hal ini cenderung membuat struktur keseluruhan permasalahan lebih mudah dipahami, dan membantu mengungkapkan relasi sebab akibat penting. Model matematik juga memfasilitasi yang berhubungan dengan permasalahan dan keseluruhannya dan mempertimbangkan semua keterhubungannya secara simultan. Terakhir, model matematik membentuk jembatan ke penggunaan teknik matematik dan komputer kemampuan tinggi untuk menganalisis permasalahan.


(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.

Pertidaksamaan terakhir ( ) menunjukkan batasan non negatif. Membuat model matematik dari suatu permasalahan bukan hanya


(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

Biasanya sang pahlawan adalah seorang pemuda, tetapi tidak jarang juga sang pahlawan itu seorang gadis. Misalnya Lighting pada Final Fantasy XIII, Putri Yggrda Union : We’ll Never Fight Alone. Ada sesuatu yang membuatnya menjadi pahlawan, apakah pahlawan tersebut selamatdari suatu pembantaian massal, atau


(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.

Bagian ini perlu di buat variatif dan tidak membosankan, sebab bagian ini merupakan bagian yang sering dilakukan oleh pemain di game Role Playing Game (RPG). Biasanya sistem menu berisikan petunjuk dan beberapa manual yang ada pada game Role Playing Game (RPG) tersebut. Sistem menu ini sangat membantu


(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)

Objek adalah abstraksi dan sesuatu yang mewakilkan dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status atau hal-hal lain yang bersifat abstrak. Objek merupakan entitas yang mampu menyimpan informasi


(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.

OOA biasanya menggunakan kartu CRC (Component, Responsibility, Collaborator) untuk membangun kelas-kelas yang akan digunakan atau menggunakan UML (Unifed Modeling Language) pada bagian diagram use case, diagram kelas, dan diagram objek.[6]


(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.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentum, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya yaitu : Grady Booch OOD (Object Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique) dan Ivar Jacobson OOSE (Object Oriented Software Engineering).[6]


(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

Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi itu [4]. Contoh Class Diagram dapat dilihat pada Gambar 2.2 [6]


(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]

1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat


(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.

2. Urutan atau pengelompokkan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.


(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)

Diagram sekuen menggambarkan kelakuan pada objek use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case.


(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

membuat konten yang interaktif lainnya seperti, visual arsitektur dan real-time 3D animasi.


(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.

Photoshop juga memiliki hubungan erat dengan beberapa perangkat lunak penyunting media, animasi, dan authoring buatan-Adobe lainnya. File format asli Photoshop, PSD, dapat diekspor ke dan dari Adobe ImageReady, Adobe Illustrator, Adobe Premiere Pro, After Effects dan Adobe Encore DVD untuk membuat DVD profesional, menyediakan penyuntingan gambar non-linear dan layanan special effect seperti background, tekstur, dan lain-lain untuk keperluan


(32)

televisi, film, dan situs web. Sebagai contoh, Photoshop CS dapat digunakan untuk membuat menu dan tombol (button) DVD.


(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

Berdasarkan hasil dari penelitian dan implementasi, maka dapat diberikan saran-saran yaitu pada game RPG untuk bisa dikembangkan lebih kompleks agar mempermudah dalam mengimplementasikan pada model linear programming.


(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

UNIVERSITAS KOMPUTER INDONESIA

2015


(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.

[10] R. S. Pressman, Software Engineering A Practitioner’s Approach 7th Edition, New York: McGraw-Hill, 2010.


(40)

Muh. Fahmi Husein

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

Email : muhfahmihusein@yahoo.com

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.

Menurut Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak komputer modern dan pembongkar sandi Nazi


(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

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


(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

Permainan ini berlatar belakang petualangan di Desa, pemain diminta untuk menyelesaikan permasalahan yang ada di desa tersebut. Setiap warga desa memiliki masalah berbeda yang menjadi sebuah misi bagi pemain. Misi tersebut dapat berupa pencarian sebuah barang atau item dan membunuh musuh (NPC) di suatu


(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 variable?

Maka penyelesaianya sebagai berikut : Variabel Keputusan :

A = menyatakan jumlah besi yang harus dikumpulkan

B = menyatakan jumlah nikel yang harus dikumpulkan

C = menyatakan jumlah logam yang harus dikumpulkan

Formulasi Matematika Awal : Fungsi Tujuan

Maksimasi Z = 12 A + 10 B + 15 C Fungsi Pembatas

8 A + 6 B + 10 C ≤ 1200 A + B + C ≤ 180 A, B, C ≥ 0

Formulasi Bentuk Standar Simplek s:

Z – 12 A – 10 B – 15 C

Fungsi Pembatas

8 A + 6 B + 10 C = 1200 A + B + C = 180

Formulasi Bentuk Standar Programa Linear :

Persamaan

(0) Z – 12 A – 10 B – 15 C = 0 (1) 8 A + 6 B + 10 C + S1 = 0 (2) A + B + C +S2

= 0

Formulasi Bentuk Standar Simplek s : Persamaan

(0) Z – 12 A – 10 B – 15 C = 0 (1) 8 A + 6 B + 10 C + S1 = 0 (2) A + B + C +S2

= 0 Tabel Simplexs Iterasi 1:

Kesimpulan :

Untuk memaksimalkan kekuatan, maka dibutuhkan variabel Logam sebanyak 30pcs dan variabel Nikel sebanyak 150pcs, setelah dijumlahkan variabel keseluruhan telah mencapai 180pcs, dan dari kedua variabel tersebut menghasilkan sebanyak 1.950 kekuatan.


(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 4.14 Pengujian nilai optimal dengan NPC


(47)

Setelah dilakukan pengujian didapatkan kesimpulan bahwa rule – rule yang di uji sesuai dengan perancangan dan linear programming memiliki akurasi yang baik antara nilai input dan nilai output.

PENUTUP

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.

DAFTAR PUSTAKA

[1] Komputer. Wahana, Membuat Game RPG dengan RPG Mak er, Andi Publishing, 2013. [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, Rek ayasa Perangk at 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.depta n.go.id/laporan/one/24/.

[10] R. S. Pressman, Software Engineering A

Practitioner’s Approach 7th Edition, New York: McGraw-Hill, 2010.


(48)

iii Assalaamu’alaikum Wr. Wb.,

Puji syukur alhamdulillah penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat, hidayah dan karunia-Nya, shalawat serta salam semoga selalu tercurah kepada Rasulullah Muhammad SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “IMPLEMENTASI MODEL LINEAR PROGRAMMING PADA GAME RPG”.

Tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.

Dengan keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis, maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian skripsi ini. Oleh karena itu ijinkanlah penulis untuk menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:

1. Allah SWT yang telah memberikan kesehatan dan kesempatan kepada penulis dalam menyelesaikan skripsi ini dan juga atas semua rahmat, hidayah, dan karunia-Nya.

2. Nabi Muhammad Rasulullah SAW yang telah menyampa ikan wahyu Allah. 3. Orang tua dan keluarga, terutama Ibu penulis Hj. Amelia, S.Pd. M.M. yang

selalu memberikan motivasi, berdoa setiap saat agar penulis diberikan kelancaran pada tugas akhir ini, untuk Bapak penulis Drs. H. Jaenudin Husen M.M. yang telah memberikan dukungan baik moril maupun materil kepada penulis untuk selalu berusaha mencapai hasil yang terbaik.


(49)

iv

5. Ibu Ednawati Rainarli, S.Si., M.Si. selaku reviewer. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran selama penyusunan skripsi ini.

6. Ibu Tati Harihayati M., S.T., M.T. selaku penguji 3. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran kepada penulis.

7. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Teknik Informatika UNIKOM.

8. Sekretariat program studi Teknik Informatika Universitas Komputer Indonesia.

9. Diandra Osakina yang selalu memberikan motivasi, doa yang tulus, dan yang menjadi penambah semangat bagi penulis untuk menyelesaikan skripsi ini. 10.Teman- teman IF 8 angkatan 2009 yang sudah membantu dan memberikan

dukungan motivasi kepada penulis.

11.Serta semua pihak yang telah turut membantu dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.

Dengan rasa syukur dan kerendahan hati, penulis memberikan rasa hormat yang tak terhingga dan mengucapkan terima kasih kepada orang-orang yang telah membantu terselesaikannya pembuatan hingga terciptanya laporan tugas akhir ini.

Akhir kata, semoga laporan tugas akhir ini dapat dijadikan sebagai sumber ilmu pengetahuan dan bermanfaat khususnya bagi penulis, dan pembaca pada umumnya.


(50)

v


(51)

(52)

(53)

(1)

iii

KATA PENGANTAR

Assalaamu’alaikum Wr. Wb.,

Puji syukur alhamdulillah penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat, hidayah dan karunia-Nya, shalawat serta salam semoga selalu tercurah kepada Rasulullah Muhammad SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “IMPLEMENTASI MODEL LINEAR PROGRAMMING PADA GAME RPG”.

Tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.

Dengan keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis, maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian skripsi ini. Oleh karena itu ijinkanlah penulis untuk menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:

1. Allah SWT yang telah memberikan kesehatan dan kesempatan kepada penulis dalam menyelesaikan skripsi ini dan juga atas semua rahmat, hidayah, dan karunia-Nya.

2. Nabi Muhammad Rasulullah SAW yang telah menyampa ikan wahyu Allah. 3. Orang tua dan keluarga, terutama Ibu penulis Hj. Amelia, S.Pd. M.M. yang

selalu memberikan motivasi, berdoa setiap saat agar penulis diberikan kelancaran pada tugas akhir ini, untuk Bapak penulis Drs. H. Jaenudin Husen M.M. yang telah memberikan dukungan baik moril maupun materil kepada penulis untuk selalu berusaha mencapai hasil yang terbaik.


(2)

iv

4. Ibu Nelly Indriani W, S.Si., M.T. selaku dosen pembimbing. Terima kasih karena telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.

5. Ibu Ednawati Rainarli, S.Si., M.Si. selaku reviewer. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran selama penyusunan skripsi ini.

6. Ibu Tati Harihayati M., S.T., M.T. selaku penguji 3. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran kepada penulis.

7. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Teknik Informatika UNIKOM.

8. Sekretariat program studi Teknik Informatika Universitas Komputer Indonesia.

9. Diandra Osakina yang selalu memberikan motivasi, doa yang tulus, dan yang menjadi penambah semangat bagi penulis untuk menyelesaikan skripsi ini. 10.Teman- teman IF 8 angkatan 2009 yang sudah membantu dan memberikan

dukungan motivasi kepada penulis.

11.Serta semua pihak yang telah turut membantu dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.

Dengan rasa syukur dan kerendahan hati, penulis memberikan rasa hormat yang tak terhingga dan mengucapkan terima kasih kepada orang-orang yang telah membantu terselesaikannya pembuatan hingga terciptanya laporan tugas akhir ini.

Akhir kata, semoga laporan tugas akhir ini dapat dijadikan sebagai sumber ilmu pengetahuan dan bermanfaat khususnya bagi penulis, dan pembaca pada umumnya.


(3)

v Wassalamu’alaikum Wr.Wb.

Bandung, 31 Januari 2015


(4)

(5)

(6)