Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim
|
|
- Widyawati Tedja
- 7 tahun lalu
- Tontonan:
Transkripsi
1 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim Halimah Winajma, Yudhi Purwananto, S.Kom, M.Kom, dan Rully Soelaiman, S.Kom, M.Kom Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya yudhi@if.its.ac.id Abstrak Combinatorial game adalah permainan dua orang dengan informasi yang sempurna dimana winning position diperoleh apabila pergerakan lawan tidak dapat terjadi lagi (terminal position tercapai). Special Nim Game adalah salah satu contoh permainan combinatorial yang paling terkenal. Penyelesaian Special Nim Game menggunakan teorema Sprague- Grundy yang diawali dengan penganalisisan mundur (backward induction). Selanjutnya dilakukan pencarian nilai Sprague- Grundy untuk tiap-tiap nilai N dengan nilai Sprague-Grundy = 0 adalah winning position. Pada kasus ini diinginkan kemenangan untuk pemain kedua, sehingga nilai Sprague-Grundy yang dimiliki oleh N tertentu dapat dinyatakan kemenangan pemain kedua. Nilai Sprague-Grundy diperoleh dengan cara menghitung nilai integer non-negatif terkecil yang tidak ditemukan diantara nilai dari followers x, yang disebut dengan minimal excludant atau mex. Pada penganalisisan Special Nim Game menggunakan Sprague-Grundy untuk kemenangan pemain kedua diperoleh pada N=2, N=3, N=5, N=8, N=13, N=21, N=34, N=55, N=89, N=144, N=233, N=377, N=610, N=987, dan N=1597 dimana nilai Sprague-Grundy adalah 0 (nol). Kata Kunci Combinatorial Game, Special Nim Game, Teorema Sprague-Grundy. I. PENDAHULUAN OMBINATORIAL game adalah permainan dua orang dengan informasi yang sempurna dan tidak ada Ckesempatan untuk bergerak, dengan hasil menang atau kalah. Permainan ditentukan oleh satu set posisi, termasuk posisi awal, dan pemain yang bergantian untuk bergerak. Permainan bergerak dari satu posisi ke posisi lain, sampai posisi akhir (terminal position) tercapai. Terminal position adalah salah satu posisi yang mungkin tidak dapat bergerak. Maka salah satu pemain dinyatakan sebagai pemenang dan yang lainnya kalah. Teori ini dapat dibagi menjadi dua bagian, impartial games dimana set yang bergerak tersedia dari posisi tertentu adalah sama untuk kedua pemain, dan partizan games dimana masing-masing pemain memiliki set yang berbeda yang mungkin bergerak dari posisi tertentu. Combinatorial game yang paling terkenal adalah Nim Game. Cara bermain Nim Game adalah sebagai berikut, ada satu atau lebih tumpukan keping. Dua pemain bermain bergantaian. Setiap kali bermain, pemain mengambil satu keping atau lebih dalam satu tumpukan. Pemain tidak dapat memindahkan tumpukan lebih dari satu tumpukan pada satu giliran. Masing-masing pergerakan pemain tidak mempengaruhi pemain yang lain. Pemenangnya adalah pemain yang mengambil keping terakhir dalam tumpukan tersebut. Dalam tugas akhir ini, ujicoba menitikberatkan pada Special Nim Game yang ada pada Sphere Online Judge problem set tutorial 1238, dimana jumlah keping yang diambil oleh pemain pertama yang mendapatkan giliran pertama adalah antara satu keping dan kurang dari sama dengan jumlah keping yang ada dalam tumpukan dikurangin satu (1 sampai N-1). Setelah langkah pertama, jumlah keping yang dapat diambil pemain berikutnya adalah antara satu dan maksimal kurang dari sama dengan dua kali jumlah keping yang diambil oleh pemain sebelumnya (1 sampai 2k, dimana k adalah jumlah keping yang diambil oleh pemain sebelumnya). Hal ini berlaku untuk semua pemain setelah langkah pertama dilakukan. Pemenangnya adalah pemain kedua. Jumlah keping yang ada dalam satu tumpukan adalah 2 sampai 2000 keping. II. ANALISIS DAN DESAIN Untuk menyelesaikan Special Nim Game, digunakan metode Sprague-Grundy. Pertama-tama akan dilakukan analisa permainan dari akhir dan kembali ke awal, yang disebut dengan metode induksi mundur (backward induction). Kemudian tentukan nilai Sprague-Grundy dari setiap N. Dan pada tahap akhir, menentukan jumlah N yang menyebabkan pemain kedua memenangkan permainan. A. Backward Induction Induksi mundur (backward induction) adalah proses penalaran mundur dalam waktu, dari akhir masalah atau situasi, untuk menentukan urutan tindakan yang optimal. Hasil dengan terlebih dahulu melihat posisi terakhir, keputusan mungkin dibuat dan memilih apa yang harus dilakukan dalam masalah atau situasi apa pun pada waktu itu. Menggunakan informasi ini, dapat ditentukan apa yang harus dilakukan pada saat-saat terakhir dari keputusan. Proses ini terus mundur sampai ditentukan tindakan yang terbaik untuk setiap masalah atau situasi yang mungkin pada setiap titik dalam waktu. Berikut analisis masing-masing nilai N, dengan pemetaan menggunakan parameter warna ungu untuk kemungkinan pertama, warna hijau untuk kemungkinan kedua, dan warna jingga untuk kemungkinan ketiga. Penjabaran proses pelaksanaan permainan ini untuk nilai N tertentu dijabarkan sebagai berikut: N = 2 Apabila N=2 dieksekusi pada permainan ini maka berdasarkan aturan Special Nim Game, pemain yang mendapatkan giliran pertama dapat mengambil keping antara 1 dan N-1, dimana N adalah jumlah keping. Dan pemain
2 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) selanjutnya mengambil keping antara 1 dan 2k, dimana k adalah jumlah keping yang diambil pada pemain sebelumnnya. Karena N=2, maka pemain pertama hanya dapat mengambil 1 keping saja. Sehingga pemain kedua dapat memenangkan permainan dengan mengambil sisa keping (1 keping yang tersisa). Gambar 1. Backward Induction N=2. N=3 Apabila N=3 dieksekusi pada permainan ini maka berdasarkan aturan Special Nim Game, pemain yang mendapatkan giliran pertama dapat mengambil keping antara 1 dan N-1, dimana N adalah jumlah keping. Dan pemain selanjutnya mengambil keping antara 1 dan 2k, dimana k adalah jumlah keping yang diambil pada pemain sebelumnya. Karena N = 3, maka pemain pertama dapat mengambil 1 atau 2 keping. Apabila pemain pertama mengambil 1 keping, maka pemain kedua dapat mengambil 1 atau 2 keping sekaligus. Apabila pemain kedua mengambil 1 keping, maka pemain pertama dapat mengambil 1 keping yang tersisa dan memenangkan permainan. Tetapi apabila pemain kedua mengambil 2 keping sekaligus, maka pemain kedua memenangkan permainan. Apabila pada langkah pertama pemain pertama mengambil 2 keping sekaligus, maka pemain kedua juga dapat memenangkan permainan ini dengan mengambil 1 keping yang tersisa. 3 Gambar 2. Backward Induction N=3. N=4 Apabila N=4 dieksekusi pada permainan ini maka berdasarkan aturan Special Nim Game, pemain yang mendapatkan giliran pertama dapat mengambil keping antara 1 dan N-1, dimana N adalah jumlah keping. Dan pemain selanjutnya mengambil keping antara 1 dan 2k, dimana k adalah jumlah keping yang diambil pada pemain sebelumnya. Karena N=4, maka pemain pertama dapat mengambil 1, 2, atau 3 keping sekaligus. Apabila pada langkah awal pemain pertama hanya mengambil 1 keping, maka pemain kedua dapat mengambil 1 atau 2 keping dari tumpukan tersebut. Jika pemain kedua hanya mengambil 1 keping, maka pemain pertama dapat mengambil 1 atau 2 keping sekaligus dan memenangkan permainan. Tetapi apabila hanya mengambil 1 keping, maka pemain kedua memenangkan permainan dengan mengambil 1 keping yang tersisa. Tetapi apabila langkah sebelumnya pemain kedua pemain mengambil 2 keping, maka pemain pertama dapat memenangkan permainan. Apabila pada langkah awalnya pemain pertama mengambil 2 keping, maka pemain kedua dapat mengambil 1, 2, 3, atau 2 keping. Tetapi karena sisa N=2, maka maksimal pemain kedua dapat mengambil 2 keping. Apabila pemain kedua mengambil 1 keping, maka pemain pertama dapat memenangkan permainan dengan mengambil 1 keping yang tersisa. Tetapi apabila pada langkah sebelumnya pemain kedua mengambil 2 keping sekaligus, maka pemain kedua dapat memenangkan permainan. Sedangkan apabila pada langkah awal pemain pertama mengambil 3 keping sekaligus, maka pemain kedua akan memenangkan permainan, karena pemain pertama hanya menyisakan 1 keping saja. 3 4 Gambar 3. Backward Induction N=4. Apabila proses backward induction dilakukan secara manual, ketika jumlah keping semakin besar akan mengalami kesulitan. Untuk memudahkan penghitungan, digunakan algoritma sebagai berikut: 1 Tentukan jumlah keping yang akan dihitung. 2 Inisialisasi array untuk menyimpan langkah-langkah secara backward induction. 3 Tentukan jumlah keping yang bisa diambil oleh pemain dan disimpan dalam array. 4 Langkah 3 diulangi mulai dari sejumlah keping-1 sampai lebih besar sama dengan 0 (diulangi secara decrement). B. Fungsi Sprague-Grundy Sama seperti backward induction menggunakan graph, pada tahap ini juga akan dijelaskan bagaimana mengetahui kemungkinan langkah-langkah yang dapat dilakukan oleh setiap pemain. Fungsi Sprague-Grundy dari grafik (X, F) adalah fungsi g yang didefinisikan X dan mengambil nilai integer non-negatif, sehingga g(x) = min{n 0 : n g(y) untuk y F(x)}. g(x) integer non-negatif terkecil yang tidak ditemukan diantara nilai dari followers x. Jika kita mendefinisikan minimal excludant atau mex dari satu set non-negatif integer sebagai bilangan bulat non-negatif terkecil, maka kita bisa menuliskan g(x) = mex {g(y) : y F(x)}. g(x) didefinisikan dalam g(y) untuk semua pengikut y dari x. Untuk simpul terminal, x didefinisikan menyiratkan bahwa g(x) = 0, karena F(x) adalah himpunan kosong untuk terminal x. Untuk non-terminal x, semua pengikut terminal g(x) = 1. Seperti penjelasan pada sub bab sebelumnya, menentukan langkah-langkah yang dapat dilakukan pada permainan ini, dalam tabel ini juga menggunakan backward induction dalam menentukan langkah-langkah permainan. Maka berdasarkan aturan Special Nim Game, pemain yang mendapatkan giliran pertama dapat mengambil keping antara 1 dan N-1, dimana N
3 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) adalah jumlah keping. Dan pemain selanjutnya mengambil keping antara 1 dan 2k, dimana k adalah jumlah keping yang diambil pada pemain sebelumnya. Untuk menganalisis nilai Sprague-Grundy diperlukan tabel dengan ukuran N N. Berikut analisis masing-masing nilai N, dengan pemetaan menggunakan parameter warna ungu untuk kemungkinan pertama, warna hijau untuk kemungkinan kedua, warna jingga untuk kemungkinan ketiga, warna hitam untuk kemungkinan keempat, dan warna biru untuk kemungkinan kelima. Berikut adalah tabulasi kemungkinan yang akan terjadi dengan nilai N tertentu, yaitu: N=2 Pada permainan N=2, analisis dilakukan dengan didahului memetakan langkah-langkah yang mungkin terjadi bila nilai N=2. Berdasarkan peraturan permainan, pemain pertama hanya bisa mengambil 1 keping saja. Dan pemain kedua dapat memenangkan permainan dengan mengambil 1 keping yang tersisa. Tabel 1. Backward Induction N=2. ke dari Dari langkah-langkah diatas, dapat lihat bahwa ketika tumpukan keping N=2 hanya ada satu kemungkinan langkah awal yang dapat dilakukan oleh pemain pertama, yaitu mengambil 1 keping. Sehingga pemain kedua dapat mengambil 1 keping yang tersisa dan memenangkan permainan karena batas pengambilan keping yang dapat dilakukan oleh pemain kedua adalah 1 keping sampai 2 keping. Jadi Sprague-Grundy value untuk 2 keping jika pemain pertama mengambil 1 keping adalah 1, dimana batas pengambilan adalah 2 keping. Dan selanjutnya pemain kedua mengambil 1 keping yang tersisa, sehingga Sprague-Grundy value untuk 2 keping adalah 0, yang artinya pemain pertama akan kalah, berapapun jumlah kepingan yang diambil. N=3 Pada permainan N=3, analisis dilakukan dengan didahului memetakan langkah-langkah yang mungkin terjadi bila nilai N=3. Berdasarkan peraturan permainan, pemain pertama dapat mengambil 1 keping atau 2 keping. Apabila pemain pertama hanya mengambil 1 keping (maka kolom yang ditandai adalah kolom (3,2)), maka pemain kedua dapat mengambil 1 keping atau 2 keping (kolom yang ditandai adalah kolom (2,1) dan (2,0)). Apabila pemain kedua mengambil 1 keping, maka pemain pertama dapat mengambil 1 keping yang tersisa (tandai kolom (1,0)). Apabila pemain pertama mengambil 2 keping sekaligus (kolom yang ditandai adalah kolom (3,1)), maka pemain kedua dapat mengambil 1 keping yang tersisa (kolom yang ditandai adalah kolom (1,0)). Tabel 2. Backward Induction N=3. ke dari Dari langkah-langkah diatas, dapat lihat bahwa ketika tumpukan keping N=3 ada dua kemungkinan langkah awal yang dapat dilakukan oleh pemain pertama, yaitu mengambil 1 keping atau 2 keping sekaligus. Pada saat pemain pertama mengambil 2 keping, maka pemain kedua dapat mengambil 1 keping yang tersisa dan memenangkan permainan karena batas pengambilan keping yang dapat dilakukan oleh pemain kedua adalah 1 keping sampai 4 keping. Pada saat pemain pertama mengambil 1 keping, maka pemain kedua dapat mengambil 2 keping yang tersisa dan memenangkan permainan karena batas pengambilan keping yang dapat dilakukan oleh pemain kedua adalah 1 keping sampai 2 keping. Jadi Sprague-Grundy value untuk 3 keping jika pemain pertama mengambil 1 keping adalah 0 (nol), dimana batas pengambilan adalah 2 keping. Sprague-Grundy value untuk 3 keping jika pemain pertama mengambil 2 keping adalah 0 (nol), dimana batas pengambilan adalah 4 keping. Sehingga Sprague-Grundy value untuk 3 keping adalah 0 (nol), yang artinya pemain pertama akan kalah, berapapun jumlah kepingan yang diambil. N=4 Pada permainan N=4, analisis dilakukan dengan didahului memetakan langkah-langkah yang mungkin terjadi bila nilai N=4. Berdasarkan peraturan permainan, pemain pertama dapat mengambil 1, 2, atau 3 keping sekaligus. Apabila pemain pertama hanya mengambil 1 keping maka yang ditandai adalah kolom (4,3), maka pemain kedua memiliki dua kemungkinan, yaitu mengambil 1 keping atau 2 keping. Apabila pemain kedua hanya mengambil 1 keping (yang ditandai kolom (3,2)), maka pemain pertama dapat mengambil 1 keping atau 2 keping sekaligus. Apabila pemain pertama mengambil 1 keping (yang ditandai kolom (2,1)), maka pemain kedua dapat mengambil 1 keping yang tersisa (yang ditandai kolom (1,0)). Apabila pemain pertama mengambil 2 keping sekaligus, maka yang ditandai adalah kolom (2,0). Apabila pada langkah sebelumnya pemain kedua mengambil 2 keping sekaligus (yang ditandai kolom (3,1)), maka pemain pertama dapat memenangkan permainan dengan mengambil 1 keping yang tersisa (yang ditandai kolom (1,0)). Apabila pada langkah awal pemain pertama mengambil 2 keping (yang ditandai kolom (4,2)), maka pemain kedua dapat mengambil 1 keping atau 2 keping sekaligus. Apabila pemain kedua mengambil 1 keping (yang ditandai kolom (2,1)), maka pemain pertama dapat mengambil 1 keping yang tersisa (tandai kolom (1,0)). Tetapi pemain kedua juda dapat mengambil 2 keping sekaligus (tandai kolom (2,0)). Apabila pada langkah awal pemain pertama mengambil 3 keping sekaligus (tandai kolom (4,1)), maka pemain kedua
4 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) dapat mengambil keping yang tersisa, yaitu 1 keping (tandai kolom (1,0)). Tabel 3. Backward Induction N=4. ke dari Dari langkah-langkah diatas, dapat lihat bahwa ketika tumpukan keping N=4 ada tiga kemungkinan langkah awal yang dapat dilakukan oleh pemain pertama, yaitu mengambil 1, 2, atau 3 keping sekaligus. Pada saat pemain pertama mengambil 3 keping, pemain kedua dapat mengambil 1 keping yang tersisa dan memenangkan permainan karena batas pengambilan keping yang dapat dilakukan oleh pemain kedua adalah 1 keping sampai 6 keping. Pada saat pemain pertama mengambil 2 keping, pemain kedua dapat mengambil 2 keping yang tersisa dan memenangkan permainan karena batas pengambilan keping yang dapat dilakukan oleh pemain kedua adalah 1 keping sampai 4 keping. Pada saat pemain pertama mengambil 1 keping maka 3 keping yang tersisa. Berdasarkan aturan permainan, maksimal pengambilan batu yang dapat diambil oleh pemain kedua adalah 2 keping. Sehingga pemain kedua bisa mengambil 1 atau 2 keping sekaligus. Jika pemain kedua mengambil 1 keping, maka pemain pertama dapat mengambil 2 keping yang tersisa dan memenangkan permainan. Dan jika pemain kedua mengambil 2 keping, maka pemain pertama dapat mengambil 1 keping yang tersisa dan memenangkan permainan. Jadi Sprague-Grundy value untuk 4 keping jika diambil 1 keping, batas pengambilan keping adalah 2 keping, maka Sprague-Grundy value adalah 0 (nol). Sprague-Grundy value untuk 4 keping jika diambil 2 keping, batas pengambilan 4 keping, maka Sprague-Grundy value adalah 2. Sprague- Grundy value untuk 4 keping jika diambil 3 keping, batas pengambilan adalah 6 keping, maka Sprague-Grundy value adalah 1. Maka jumlah 4 keping harus diarahkan ke 3 keping agar pemain pertama dapat memenangkan pertandingan, sehingga Sprague-Grundy value untuk 4 keping dengan batas pengambilan 3 adalah 1. Apabila proses menentukan nilai Sprague-Grundy dilakukan secara manual, ketika jumlah keping semakin besar akan mengalami kesulitan. Untuk memudahkan penghitungan, digunakan algoritma sebagai berikut: 1. Tentukan jumlah keping dan jumlah maksimal keping yang bisa diambil oleh setiap pemain. 2. Tentukan langkah-langkah yang dapat dilakukan sesuai algoritma backward induction. 3. Tentukan jumlah batu yang dapat diambil oleh pemain pertama yang melangkah pertama kali dan jumlah batu yang dapat diambil oleh setiap pemain pada langkah selanjutnya. 4. Jika jumlah keping yang diambil lebih besar sama dengan dari jumlah keping, maka nilai Sprague- Grundy sama dengan nilai follower pada saat langkah ke-i. 5. Jika jumlah batu yang diambil lebih kecil sama dengan dari langkah ke-i, maka: a. Jika array yang menyimpan semua nilai Sprague-Grundy ada nilainya, maka langsung diisikan nilai ke-i tersebut. b. Jika array yang menyimpan semua nilai Sprague-Grundy belum ada nilainya, maka proses recursive akan dilakukan. C. Menentukan Banyaknya KepingYang Menyebabkan Pemain Kedua Memenangkan Permainan. Dalam permainan Special Nim Game, yang diharapkan memenangkan permainan adalah pemain kedua, dimana memiliki nilai Sprague-Grundy 0 (nol). Mudah untuk menganalisis grafik fungsi Sprague-Grundy pada permainan. Posisi x untuk g(x) = 0 adalah posisi menang dan semua posisi lainnya adalah kalah. Prosedur yang menang adalah memilih langkah terakhir yang pindah ke titik dengan nilai Sprague- Grundy 0 (nol). Adapun algoritmanya sebagai berikut: 1. Tentukan langkah-langkah yang bisa dilakukan sesuai algoritma backward induction. 2. Tentukan nilai Sprague-Grundy sesuai algoritma untuk mendapatkan nilai Sprague-Grundy. 3. Temukan jumlah N yang memiliki nilai Sprague- Grundy nol (0). a. Jika pada langkah 1 dan 2 ditemukan jumlah keping yang memiliki nilai Sprague-Grundy 0, maka pemain pertama dapat memenangkan permainan dan pengecekan tumpukan keping tersebut tidak dilanjutkan. b. Jika pada langkah 1 dan 2 tidak ditemukan jumlah keping yang memiliki nilai Sprague- Grundy 0, maka apapun yang pemain pertama lakukan, pemain kedua pasti tetap memenangkan permainan. III. IMPLEMENTASI Untuk menyelesaikan Special Nim Game, digunakan metode Sprague-Grundy. Dimana akan dilakukan analisa permainan dari akhir dan kembali ke awal, yang disebut dengan metode induksi mundur (backward induction). Kemudian tentukan nilai Sprague-Grundy dari setiap N. Dan pada tahap akhir, menentukan jumlah N yang pemain kedua memenangkan permainan. Gambar 4. Diagram Alir Garis Besar Sistem.
5 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) Pada proses backward induction ini dibutuhkan inputan jumlah keping dan jumlah keping - 1. Berikut adalah kode pemrograman untuk menentunkan langkah-langkah yang dapat ditempuh untuk setiap N. Table 4. Source Code Proses Backward Induction int *generatestate(int ninput,int 1 maxvalue) 2 { 3 int *ret=new int[maxvalue]; 4 int ctr=1; 5 for (int i=maxvalue-1;i>=0;i--) 6 { 7 ret[i]=ninput-ctr; 8 ctr++; 9 } 10 return ret; 11 } Pada proses mencari Sprague-Grundy value dibutuhkan inputan jumlah keping dan jumlah maksimal keping yang dapat diambil oleh pemain. Berikut adalah kode pemrograman untuk mendapatkan Sprague-Grundy value. Table 5. Source Code Untuk Mendapatkan Nilai Sprague-Grundy. 1 int getmexvalue(int stone,int maxtakenstone) 2 { int 3 *state=generatestate(stone,maxtakenstone); 4 int *mexvalue=new int[maxtakenstone]; 5 int retvalue=0; 6 int i=0; 7 while (i<maxtakenstone && retvalue==0) 8 { 9 if (maxtakenstone<stone) 10 { 11 int takenstone=stone-state[i]; 12 int nexttakenstone=2*takenstone; 13 if (nexttakenstone>=state[i]) 14 { 15 mexvalue[i]=state[i]; 16 } 17 else { if (arrvaldatamex[state[i]][nexttakenstone] 18!=-1) 19 { 20 mexvalue[i]=arrvaldatamex[state[i]][nexttakens tone]; 21 } 22 else 23 { mexvalue[i]=getmexvalue(state[i],nexttakenston e); arrvaldatamex[state[i]][nexttakenstone]=mexval ue[i]; 26 } 27 } 38 if (mexvalue[i]==0) 29 { 30 retvalue=stone-state[i]; 31 } 32 } 33 i++; 34 } 35 delete [] state; 36 delete [] mexvalue; 37 return retvalue; 38 } Pada proses menentukan jumlah N yang menyebabkan pemain kedua memenangkan permainan dibutuhkan inputan jumlah keping awal dan jumlah keping akhir. Dari masingmasing tumpukan akan digenerate setiap langkah-langkah dan akan dicek apakah ada nilai Sprague-Grundy 0 (nol). Berikut adalah kode pemrograman untuk menentukan pemenang. Table 6. Source Code Untuk Menentukan Jumlah N yang Menyebabkan Pemain Kedua Menang. 1 //cdatamex 2 for (int i=nawal;i<=nakhir;i++) 3 { 5 int *state=generatestate(i,i-1); 8 int newstatelength=i-1; 9 bool foundzero=false; 10 int j=0; while (!foundzero && j<newstatelength) 13 { 14 int takenstone=i-state[j]; int 15 nexttakenstone=2*takenstone; 17 if (nexttakenstone<state[j]) 18 { 19 int mexvalue=0; if (arrvaldatamex[state[j]][nexttakenstone]!= 20-1) 21 { 22 mexvalue=arrvaldatamex[state[j]][nexttaken Stone];
6 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) } 24 Else 25 { 26 mexvalue=getmexvalue(state[j],nexttakensto ne); 28 arrvaldatamex[state[j]][nexttakenstone]=me xvalue; 29 } 30 if (mexvalue==0) 31 { 32 foundzero=true; gfile<<"jumlah tumpukan batu :" << i << ", Sprague-Grundy valuenya 33 adalah : " << (i-state[j])<<endl; 35 } 37 } 38 else { 40 } 41 j++; 42 } 43 if (!foundzero) 44 { gfile<<"jumlah tumpukan batu :" << i << ", Sprague-Grundy valuenya adalah 45 : 0"<<endl; 46 myfile<<i<<endl; 47 } 48 ofstream myfile2; 49 myfile2.open ("debug.txt"); 50 myfile2<<i; 51 myfile2.close(); 52 delete [] state; 53 cout<<"process :"<<i<<endl; 54 } IV. UJI COBA Data uji coba pada studi kasus Special Nim Game yang yang ada pada Sphere Online Judge problem set tutorial 1238 ini hanya jumlah tumpukan, yaitu 2 keping sampai 2000 keping. Setelah dilakukan analisa backward induction, nilai Sprague-Grundy, dan menentukan nilai N dimana pemain kedua yang memenangkan permainan, hasil Sprague-Grundy value masing-masing N ditampilkan dalam bentuk Sprague- GrundyValue.txt. Sedangkan untuk hasil N keberapa yang memenangkan permainan dimana Sprague-Grundy value adalah 0 (nol) ditampilkan dalam bentuk result.txt. Nilai Sprague-Grundy adalah 0 akan diperoleh pada 15 jumlah keping N yang pemain kedua memenangkan permainan. Berikut adalah hasil yang diperoleh pada percobaan terhadap beberapa nilai, yaitu N=2 sampai N=25. Gambar 5. Hasil Nilai Sprague-Grundy N=2 sampai N=25. V. KESIMPULAN Dari hasil analisa program dapat diambil beberapa kesimpulan: 1. Sistem yang dibuat memungkinkan manusia untuk bermain Nim Game dengan menggunakan komputer dan dapat menentukan langkah-langkah yang optimal agar dapat memenangkan permainan dengan menggunakan metode backward induction. 2. Nilai Sprague-Grundy dapat ditemukan dengan menggunakan teorema Sprague-Grundy, dimana nilai Sprague-Grundy adalah 0 (nol). Pencarian nilai Sprague-Grundy dilakukan secara rekursif sampai batas yang paling bawah atau pada saat jumlah maksimal keping yang dapat diambil lebih besar daripada jumlah keping. 3. Jumlah N keberapa yang pemain kedua memenangkan permainan dapat ditemukan dengan cara digenerate setiap langkah. Dan untuk masing-masing langkah akan dicek apakah nilai Sprague-Grundynya adalah 0 (nol). Dari tumpukan 2 keping sampai 2000 keping, ditemukan 15 nilai N yang dimenangkan oleh pemain kedua. UCAPAN TERIMA KASIH Penulis mengucapkan terima kasih kepada Bapak dan Ibu yang selalu memberikan do a restu, Bapak Yudhi Purwananto, S.Kom, M.Kom. dan Bapak Rully Soelaiman, S.Kom., M.Kom. atas bimbingan yang diberikan selama penyusunan Tugas Akhir. DAFTAR PUSTAKA [1] Thomas S. Ferguson. Game Theory. Class note for Math 167, Fall [2] Game Theory and Algorithms, Lecture 19: Nim & Impartial Combinatorial Games. May 17, 2011.
BACKWARD INDUCTION (4) N = 4. Kemungkinan langkah awal pemain pertama: 1, 2, atau 3 keping. 03 Juli 2012 Tugas Akhir KI091391
BACKWARD INDUCTION (4) N = 4 Kemungkinan langkah awal pemain pertama: 1, 2, atau 3 keping. 0 1 2 3 4 12 BACKWARD INDUCTION (5) Algoritma Backward Induction 1. Tentukan jumlah keping yang akan dihitung.
Lebih terperinciPenggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones
Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones Muharram Huda Widaseta NIM 13508033 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciPenggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello
Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Annisa Muzdalifa - 13515090 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciPENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA
PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA Wahyu Fahmy Wisudawan Program Studi Teknik Informatika Institut Teknologi Bandung, NIM: 506 Jl. Dago Asri 4 No. 4, Bandung
Lebih terperinciIMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO
IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO Nur Fajriah Rachmah NIM 13506091 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha nomor
Lebih terperinciDASAR PEMROGRAMAN. Institut Teknologi Sumatera
DASAR PEMROGRAMAN REVIEW STRUKTUR DASAR, PERCABANGAN, DAN PERULANGAN Institut Teknologi Sumatera TUJUAN KULIAH Mengenalkan konsep dasar pemrograman: dekomposisi problem, modularisasi, rekurens; skill/praktek
Lebih terperinciPenggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari
Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Evan 1) 1) Program Studi Teknik Informatika ITB, Bandung, email: evangozali@yahoo.com Abstract Makalah ini membahas aplikasi graf dalam
Lebih terperinciPRESENTASI TUGAS AKHIR KI IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF
PRESENTASI TUGAS AKHIR KI099 IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF (Kata kunci: Algoritma deviasi, algoritma Dijkstra, jalur sederhana, jalur terpendek) Penyusun Tugas
Lebih terperinciSuatu Generalisasi Permainan Kombinatorik NIM dan Wythoff
Suatu Generalisasi Permainan Kombinatorik NIM dan Wythoff Syamsurijal ), Loeky Haryanto ), Armin Lawi ) Departemen Matematika FMIPA Universitas Hasanuddin, Jalan Perintis Kemerdekaan KM. Makassar, Indonesia
Lebih terperinciPenentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy
Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy Atika Yusuf 135055 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciPenerapan Algoritma Greedy untuk Permainan Halma
Penerapan Algoritma Greedy untuk Permainan Halma Vivi Lieyanda / 13509073 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciDesain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss
JURNAL TEKNIK ITS Vol. 6, No., (7) ISSN: 7-59 (-97 Print) A-75 Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa dengan Metode Eliminasi Gauss Daniel Henry, Victor Hariadi, dan
Lebih terperinciImplementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine
JURNAL TEKNIK POMITS Vol. 6, No. 2, (2017) ISSN: 2337-3539 (2301-9271 Print) A-717 Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine Billy, Imam
Lebih terperinciSEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA S1-TI ALGORITMA & PEMROGRAMAN MODUL V STRUKTUR KONTROL PERULANGAN SEM I WAKTU 100 MNT I. STRUKTUR PERULANGAN Salah satu kelebihan
Lebih terperinciMODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman
I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA
Lebih terperinciPerulangan, Percabangan, dan Studi Kasus
Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan
Lebih terperinciPenerapan Algoritma Greedy dalam Permainan Connect 4
Penerapan Algoritma Greedy dalam Permainan Connect 4 Muhammad Hasby (13509054) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciDesain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ Klasik 12749
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: 2337-3539 (2301-9271 Print) 1 Desain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ
Lebih terperinciPenerapan strategi runut-balik dalam penyelesaian permainan puzzle geser
Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser Dimas Angga 13510046 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciPrediksi Indeks Saham Syariah Indonesia Menggunakan Model Hidden Markov
JURNAL SAINS DAN SENI POMITS Vol. 6, No.2, (2017) 2337-3520 (2301-928X Print) A 39 Prediksi Indeks Saham Syariah Indonesia Menggunakan Model Hidden Markov Risa Septi Pratiwi Daryono Budi Utomo Jurusan
Lebih terperinciPenerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi
Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi Zacki Zulfikar Fauzi / 13515147 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciPROCEDURE DAN FUNCTION
PROCEDURE DAN FUNCTION Pada awal perkenalan bahasa C++ telah dibahas singkat seputar algoritma. Dasarnya, algoritma adalah suatu pemetaan yang membantu kita dalam merancang program. Hal ini dikarenakan
Lebih terperinciAplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra
Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Adriansyah Ekaputra 13503021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung Abstraksi Makalah
Lebih terperinciPenerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan
Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan Widhaprasa Ekamatra Waliprana - 13508080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciPenerapan Algoritma Greedy dalam Permainan Bantumi
Penerapan Algoritma Greedy dalam Permainan Bantumi Andi Setiawan Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung e-mail: andise@students.itb.ac.id ABSTRAK Algoritma
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab IV akan dilakukan implementasi dan pengujian terhadap sistem. Tahapan ini dilakukan setelah perancangan selesai dilakukan dan selanjutnya akan diimplementasikan
Lebih terperinciImplementasi Algoritma Greedy pada Permainan Ludo
Implementasi Algoritma Greedy pada Permainan Ludo Sylvia Juliana, 13515070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl, Ganesha 10 Bandung 40132,
Lebih terperinciPENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI
PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI Oliver Samuel Simanjuntak Jurusan Teknik Informatika UPN Veteran Yogyakarta Jl.
Lebih terperinciPenerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece
Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece Husni Munaya - 13513022 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciOPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF
OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF Lutfi Hakim (1), Eko Mulyanto Yuniarno (2) Mahasiswa Jurusan Teknik Elektro (1), Dosen Pembimbing (2) Institut Teknologi Sepuluh Nopember (ITS)
Lebih terperinciStrategi Algoritma Penyelesaian Puzzle Hanjie
Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Lebih terperinciOptimasi Permasalahan Penugasan Dokter Menggunakan Representasi Graf Bipartit Berbobot
JURNAL TEKNIK POMITS Vol., No., (0) ISSN: 7-9 (0-97 Print) Optimasi Permasalahan Penugasan Menggunakan Representasi Graf Bipartit Berbobot Laili Rochmah, Ahmad Saikhu, dan Rully Soelaiman Jurusan Teknik
Lebih terperinciAnalisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum
Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Arieza Nadya -- 13512017 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciPenerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe
Penerapan Runut-Balik (Backtracking) pada Permainan Nurikabe Putri Amanda Bahraini Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if14041@students.if.itb.ac.id
Lebih terperinciOLIMPIADE SAINS NASIONAL VIII
SOAL SESI 1 OLIMPIADE SAINS NASIONAL VIII BIDANG INFORMATIKA 5 AGUSTUS 2009 DKI JAKARTA Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! 1. Ada 27 buah bola tenis. 1 di antaranya lebih berat dibanding
Lebih terperinciDesain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: 2337-3539 (2301-9271 Print) 1 Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya Andi Muh. Primabudi, Arya Yudhi Wijaya
Lebih terperinciBAB V Tujuan 5.1 Rekursi Dasar
BAB V Rekursi Tujuan 1. Memahami rekursi sebagai konsep yang dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan
Lebih terperinciAplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations
Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations Miftahul Mahfuzh 13513017 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Lebih terperinciTUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya
TUTORIAL DASAR C++ BELAJAR C++ DARI NOL Nor Kandir Lab B201 - Teknik Elektro ITS Surabaya Daftar Isi Daftar Isi... 1 Pendahuluan... 2 Kegunaan... 2 Persiapan... 3 Mulai Belajar... 3 Tipe Data... 6 Ekpresi
Lebih terperinciElvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang
PENERAPAN ALGORITMA AUCTION UNTUK MENGATASI MASALAH LINTASAN TERPENDEK (SHORTEST PATH) Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang E-mail : elvira_firdausi@yahoo.co.id
Lebih terperinciAplikasi Rekursif dalam Analisis Sintaks Program
Aplikasi Rekursif dalam Analisis Sintaks Program Albertus Kelvin / 13514100 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciBAB III ANALISA MASALAH DAN RANCANGAN PROGRAM
BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Masalah Perkembangan game dari skala kecil maupun besar sangat bervariasi yang dapat dimainkan oleh siapa saja tanpa memandang umur, dari anak
Lebih terperinciPencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik
Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik Edward Hendrata (13505111) Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung E-mail: if15111@students.if.itb.ac.id
Lebih terperinciAlgoritma Divide and Conquer untuk Optimasi Pemberian Efek Aura pada Permainan DotA (Defense of the Ancient)
Algoritma Divide and Conquer untuk Optimasi Pemberian Efek Aura pada Permainan DotA (Defense of the Ancient) Arifin Luthfi Putranto NIM 13508050 Program Studi Teknik Informatika Sekolah Teknik Elektro
Lebih terperinciPenerapan Algoritma Greedy dalam Permainan Othello
Penerapan Algoritma Greedy dalam Permainan Othello Fabrian Oktavino H - 13510053 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciAnalisis Permainan FLIP Menggunakan Algoritma Program Dinamis
Analisis Permainan FLIP Menggunakan Algoritma Program Dinamis Tina Yuliani Ayuningsih Program studi Teknik Informatika Institut Teknologi Bandung Jl Ganesha 10 Bandung e-mail: if15057@studentsifitbacid
Lebih terperinciPencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis
Pencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis Muchamad Surya Prasetyo Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha
Lebih terperinciPenggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang
Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang Stefanus Thobi Sinaga / 13510029 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciAPLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION
APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION Ever Jayadi1), Muhammad Aziz Fatchur Rachman2), Muhammad Yuliansyah3) 1), 2), 3) Teknik Informatika
Lebih terperinciI. PENDAHULUAN. 1.1 Permainan Rush Hour
Dimas Angga Saputra 13510046 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 13510046@std.stei.itb.ac.id Abstract
Lebih terperinciPERTEMUAN 7 REVIEW (QUIZ)
PERTEMUAN 7 REVIEW (QUIZ) 1. Langkah pertama yang harus dilakukan dalam menyusun suatu program a. Membuat Hipotesa b. Membuat Masalah c. Membuat Algoritma d. Membuat Program e. Menyalakan Komputer 2. Sebuah
Lebih terperinciDasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I
Dasar Pemrograman Kondisi dan Perulangan By : Hendri Sopryadi, S.Kom, M.T.I Kondisi dan Perulangan Pendahuluan Dalam sebuah proses program, biasanya terdapat kode penyeleksian kondisi, kode pengulangan
Lebih terperinciBAB IV. adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan. implementasi dari aplikasi permainan komputer game knight s tour
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Se tahap analisis dan perancangan selesai dilakukan, maka tahap selanjutnya adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan
Lebih terperinciDesain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss
JURNAL TEKNIK ITS Vol. 6, No. (7), 7-5 (-98X Print) A665 Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa dengan Metode Eliminasi Gauss Daniel Henry, Victor Hariadi, dan Rully
Lebih terperinciOPERASI PERNYATAAN KONDISI
OPERASI PERNYATAAN KONDISI A. Pernyataan IF pernyataan if mempunyai pengertian, jika kondisi bernilai benar, maka perintah dikerjakan dan jiak tidak memenuhi syarat maka diabaikan. Dapat dilihat dari diagram
Lebih terperinciSUB PROGRAM (FUNGSI)
MATERI V SUB PROGRAM (FUNGSI) Materi Praktikum Pemograman Bahasa C++ dengan menggunakan Fungsi Durasi 180 menit TIU/TIK 1. Pendahuluan 2. Pemahaman Prosedur dan Fungsi 3. Parameter Fungsi 4. Fungsi Rekursif
Lebih terperinciREKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah
REKURSIF DASAR PEMROGRAMAN Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah THE HANDSHAKE PROBLEM Ada n orang di dalam sebuah ruangan. Jika masing-masing orang harus bersalaman dengan setiap
Lebih terperinciUKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Permainan kartu gin rummy atau remi gin merupakan salah satu permainan yang sangat populer diantara beberapa jenis permainan remi lainnya. Peraturan yang sederhana
Lebih terperinciMenerapkan Prinsip Greedy Dalam Bermain Digimon Card Battle
Menerapkan Prinsip Greedy Dalam Bermain Digimon Card Battle Larsa Pranenza Rahila Faby NIM 13506008 Program studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan
Lebih terperinciPENGGUNAAN ALGORITMA BACKTRACKING DALAM PENYELESAIAN PERMAINAN SUDOKU
PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENYELESAIAN PERMAINAN SUDOKU Wahyu Adhi Arifiyanto (13505024) Program Studi Teknik Informatika ITB Alamat : Jl. Ganesha 10, Bandung e-mail: if15024@students.if.itb.ac.id
Lebih terperinciPenerapan Algoritma Greedy Untuk Memenangkan Permainan Go
Penerapan Algoritma Greedy Untuk Memenangkan Permainan Go Innani Yudho afi (13511054) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10
Lebih terperinciBAB III METODE PENELITIAN. Metode penelitian yang digunakan adalah dengan cara mencoba
BAB III METDE PENELITIAN BAB III METDE PENELITIAN 3.1 Metode Penelitian Metode penelitian yang digunakan adalah dengan cara mencoba menjalankan dan memainkan permainan dengan berbagai tingkat kesulitan
Lebih terperinciALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES
ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES Danang Tri Massandy Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Lebih terperinciAlgoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011
Algoritma dan Pemrograman WHILE while (kondisi) statement; FALSE kondisi? TRUE statement Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? WHILE Perhatikan potongan
Lebih terperinciPENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera
PENGANTAR KOMPUTER & SOFTWARE II Array (Part II) Tim Pengajar KU1102 - Institut Teknologi Sumatera Tujuan Mahasiswa mampu memahami proses-proses yang dapat dilakukan terhadap array. Mahasiswa dapat menggunakan
Lebih terperinciMODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.
MODUL ALGORITMA DAN PEMROGRAMAN Rajif Agung Yunmar, S.Kom., M.Cs. STMIK AMIKOM Yogyakarta 2014 MODUL 6 FUNGSI Fungsi adalah sebuah blok program yang merupakan sekumpulan instruksi yang bertujuan untuk
Lebih terperinciPENGANTAR KOMPUTER & SOFTWARE II
PENGANTAR KOMPUTER & SOFTWARE II PERULANGAN 2 (WHILE & DO-WHILE) Tim Pengajar KU1202 - Institut Teknologi Sumatera Tujuan Kuliah 1. Mahasiswa memahami pengulangan (while dan do-while) dan penggunaannya
Lebih terperinciStruktur Data & Algoritme (Data Structures & Algorithms)
Struktur Data & Algoritme (Data Structures & Algorithms) Recursion Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2004/2005
Lebih terperinciMethod. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle
Method Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle Definisi Metode: Sekumpulan baris kode program yang mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama, Dapat dipanggil berulang
Lebih terperinciPENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI
PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI Oliver Samuel Simanjuntak Prodi Teknik Informatika UPN eteran Yogyakarta Jl. Babarsari
Lebih terperinciMODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1
2017 MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1 Modul praktikum ini berisikan materi praktikum struktur data yang telah dipelajari dalam perkuliahan teori, harapannya mahasiswa dapat memahami dan menerapkan
Lebih terperinciPenerapan Algoritma Greedy dalam Permainan Tradisional Congklak
Penerapan Algoritma Greedy dalam Permainan Tradisional Congklak Gisela Supardi 13515009 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganeesha
Lebih terperinciPenyelesaian Fungsi Kontinu menggunakan Decrease and Conquer
Penyelesaian Fungsi Kontinu menggunakan Decrease and Conquer Abdurosyid Broto Handoyo (13510107) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
Lebih terperinciLAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA. Oleh: NIM : Materi:
LAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA Oleh: NIM : Materi: Pengenalan Bahasa Java Mengenali Lingkup Pemrograman Dasar-dasar Pemrograman Mendapatkan
Lebih terperinciKI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)
[AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" rd Ed., Prentice Hall, New Jersey, KI9 Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)
Lebih terperinciObjectives. Struktur Data & Algoritme (Data Structures & Algorithms) Outline. Apa itu Recursion? Recursion
Struktur Data & Algoritme (Data Structures & Algorithms) Objectives Memahami lebih dalam method rekursif Dapat membuktikan bahwa sebuah method rekursif sudah benar dengan menggunakan induksi matematik
Lebih terperinciLOGIKA PERMAINAN UNO KARTU
LOGIKA PERMAINAN UNO KARTU Shirley (13508094) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha no 10 Bandung e-mail: if18094@students.if.itb.ac.id
Lebih terperinciPenerapan Algoritma Greedy pada Permainan Kartu 100
Penerapan Algoritma Greedy pada Permainan Kartu 100 Tadya Rahanady H - 13509070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciPerbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek
Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek Finsa Ferdifiansyah NIM 0710630014 Jurusan Teknik Elektro Konsentrasi Rekayasa Komputer Fakultas Teknik Universitas
Lebih terperinciPenerapan Algoritma Greedy pada Permainan Tower Defense
Penerapan Algoritma Greedy pada Permainan Tower Defense Tasya - 13515064 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciPenggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker
Penggunaan Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker Nanda Ekaputra Panjiarga 13509031 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciREVIEW ARRAY. Institut Teknologi Sumatera
REVIEW ARRAY DASAR PEMROGRAMAN Institut Teknologi Sumatera TUJUAN PERKULIAHAN Mahasiswa mengingat kembali konsep dan cara kerja array Mahasiswa mampu membuat program menggunakan array PRE TEST Tuliskan,
Lebih terperinciPenggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik)
Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik) Denver - 13509056 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciOLIMPIADE SAINS NASIONAL VII
SOAL SESI 1 OLIMPIADE SAINS NASIONAL VII BIDANG INFORMATIKA 10 AGUSTUS 2008 MAKASSAR, SULAWESI SELATAN Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! OSN2008: Olimpiade Sain Nasional 2008 Pilihan
Lebih terperinciIF3051 Strategi Algoritma Penerapan Algoritma Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature
IF3051 Strategi Penerapan Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature Nikodemus Adriel Limanthie/13510089 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Lebih terperinciPenentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Algoritma Greedy
Penentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Greedy Muhammad Umar Fariz Tumbuan - 13515050 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciFungsi : Dasar Fungsi
PRAKTIKUM 13 Fungsi : Dasar Fungsi A. TUJUAN PEMBELAJARAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Fungsi adalah suatu bagian
Lebih terperinciPenjadwalan Petugas Medis pada Kondisi Darurat dengan Menggunakan Binary Integer Programming Berbasis Web
A497 Penjadwalan Petugas Medis pada Kondisi Darurat dengan Menggunakan Binary Integer Programming Berbasis Web Bryan Alfadhori, Ahmad Saikhu, dan Victor Hariadi Jurusan Tekni Informatika, Fakultas Teknologi
Lebih terperinciAlgoritma Exhaustive Search Dalam Permainan Congklak
Algoritma Exhaustive Search Dalam Permainan Congklak Sigit Aji Nugroho (13510021) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciNASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016
NASKAH UJIAN UTAMA MATA UJIAN : LOGIKA DAN ALGORITMA JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN INI TERDIRI DARI 80 SOAL PILIHAN GANDA
Lebih terperinciPenyusun: Ade Vicidian Sugiharto Putra ( ) Pembimbing II: Yudhi Purwananto, S.Kom, M.Kom. Victor Hariadi, S.Si, M.Kom.
Penyusun: Ade Vicidian Sugiharto Putra (5107100615) Pembimbing I: Yudhi Purwananto, S.Kom, M.Kom. Pembimbing II: Victor Hariadi, S.Si, M.Kom. PENDAHULUAN Permasalahan pengalokasian sumber-sumber yang terbatas
Lebih terperinciImplementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi
Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi Gilang Julian Suherik - 13512045 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Lebih terperinciNotasi Algoritma Separator Special Character. Dasar Pemrograman. Yoannita, S.Kom.
Notasi Algoritma Separator Special Character Dasar Pemrograman. Algoritma Algoritma adalah: penyusunaan aspek proses logika dari suatu pemecahan masalah tanpa melihat karakteristik bahasa pemrograman yang
Lebih terperinciAlgoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts
Algoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts Kanisius Kenneth Halim (13515008) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciCombinatorial Game Theory, Game Tree, dan Intelegensia Buatan
Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan Ripandy Adha - 13507115 Jurusan Teknik Informatika ITB, Bandung 40116, email: if17115@students.if.itb.ac.id Abstract Makalah ini membahas tentang
Lebih terperinciAlgoritma dan Struktur Data
Modul Praktikum Algoritma dan Struktur Data Double Linked List Tenia Wahyuningrum, S.Kom., MT Sisilia Thya Safitri, ST., MT ST3 Telkom Purwokerto Jl. DI Panjaitan 128 Purwokerto * Untuk kalangan sendiri
Lebih terperinciFAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA
Hal 1 dari 5 A. KOMPETENSI 1. Memahami statemen for 2. Memahami statemen while 3. Memahami statemen do-while 4. Memahami statemen perloncatan (break, continue, goto, dan fungsi exit ()) B. ALAT DAN BAHAN
Lebih terperinciSUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera
SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I Institut Teknologi Sumatera PRE TEST Jelaskan apa yang dimaksud dengan perulangan? Sebutkan jenis metode perulangan? Apa perbedaan dari masing-masing
Lebih terperinciAplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)
JTRISTE, Vol.1, No.2, Oktober 2014, pp. 50~57 ISSN: 2355-3677 Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP) STMIK Handayani Makassar najirah_stmikh@yahoo.com Abstrak
Lebih terperinciModul Praktikum 4 Pemograman Berorientasi Objek
Modul Praktikum 4 Pemograman Berorientasi Objek 1. Judul : Array 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Mendeklarasikan dan membuat array Mengakses elemen-elemen didalam
Lebih terperinci