Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim

Ukuran: px
Mulai penontonan dengan halaman:

Download "Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim"

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

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Penggunaan 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 terperinci

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penggunaan 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 terperinci

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENCARIAN 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 terperinci

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

IMPLEMENTASI 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 terperinci

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

DASAR 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 terperinci

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

Penggunaan 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 terperinci

PRESENTASI TUGAS AKHIR KI IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF

PRESENTASI 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 terperinci

Suatu Generalisasi Permainan Kombinatorik NIM dan Wythoff

Suatu 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 terperinci

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Penentuan 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 terperinci

Penerapan Algoritma Greedy untuk Permainan Halma

Penerapan 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 terperinci

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss

Desain 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 terperinci

Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine

Implementasi 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 terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

SEKOLAH 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 terperinci

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

MODUL 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 terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, 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 terperinci

Penerapan Algoritma Greedy dalam Permainan Connect 4

Penerapan 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 terperinci

Desain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ Klasik 12749

Desain 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 terperinci

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Penerapan 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 terperinci

Prediksi Indeks Saham Syariah Indonesia Menggunakan Model Hidden Markov

Prediksi 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 terperinci

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Penerapan 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 terperinci

PROCEDURE DAN FUNCTION

PROCEDURE 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 terperinci

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Aplikasi 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 terperinci

Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan

Penerapan 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 terperinci

Penerapan Algoritma Greedy dalam Permainan Bantumi

Penerapan 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 terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 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 terperinci

Implementasi Algoritma Greedy pada Permainan Ludo

Implementasi 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 terperinci

PENGEMBANGAN 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 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 terperinci

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

Penerapan 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 terperinci

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

OPERASI 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 terperinci

Strategi Algoritma Penyelesaian Puzzle Hanjie

Strategi 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 terperinci

Optimasi Permasalahan Penugasan Dokter Menggunakan Representasi Graf Bipartit Berbobot

Optimasi 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 terperinci

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Analisis 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 terperinci

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penerapan 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 terperinci

OLIMPIADE SAINS NASIONAL VIII

OLIMPIADE 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 terperinci

Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya

Desain 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 terperinci

BAB V Tujuan 5.1 Rekursi Dasar

BAB 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 terperinci

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Aplikasi 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 terperinci

TUTORIAL 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 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 terperinci

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

Elvira 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 terperinci

Aplikasi Rekursif dalam Analisis Sintaks Program

Aplikasi 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 terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB 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 terperinci

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

Pencarian 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 terperinci

Algoritma 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) 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 terperinci

Penerapan Algoritma Greedy dalam Permainan Othello

Penerapan 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 terperinci

Analisis Permainan FLIP Menggunakan Algoritma Program Dinamis

Analisis 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 terperinci

Pencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis

Pencarian 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 terperinci

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penggunaan 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 terperinci

APLIKASI 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 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 terperinci

I. PENDAHULUAN. 1.1 Permainan Rush Hour

I. 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 terperinci

PERTEMUAN 7 REVIEW (QUIZ)

PERTEMUAN 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 terperinci

Dasar 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 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 terperinci

BAB IV. adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan. implementasi dari aplikasi permainan komputer game knight s tour

BAB 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 terperinci

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss

Desain 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 terperinci

OPERASI PERNYATAAN KONDISI

OPERASI 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 terperinci

SUB PROGRAM (FUNGSI)

SUB 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 terperinci

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

REKURSIF. 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 terperinci

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

UKDW 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 terperinci

Menerapkan Prinsip Greedy Dalam Bermain Digimon Card Battle

Menerapkan 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 terperinci

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENYELESAIAN PERMAINAN SUDOKU

PENGGUNAAN 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 terperinci

Penerapan Algoritma Greedy Untuk Memenangkan Permainan Go

Penerapan 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 terperinci

BAB III METODE PENELITIAN. Metode penelitian yang digunakan adalah dengan cara mencoba

BAB 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 terperinci

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

ALGORITMA 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 terperinci

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Algoritma 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 terperinci

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

PENGANTAR 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 terperinci

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

MODUL 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 terperinci

PENGANTAR KOMPUTER & SOFTWARE II

PENGANTAR 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 terperinci

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur 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 terperinci

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

Method. 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 terperinci

PENGEMBANGAN 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 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 terperinci

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

MODUL 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 terperinci

Penerapan Algoritma Greedy dalam Permainan Tradisional Congklak

Penerapan 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 terperinci

Penyelesaian Fungsi Kontinu menggunakan Decrease and Conquer

Penyelesaian 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 terperinci

LAPORAN 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: LAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA Oleh: NIM : Materi: Pengenalan Bahasa Java Mengenali Lingkup Pemrograman Dasar-dasar Pemrograman Mendapatkan

Lebih terperinci

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

KI 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 terperinci

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Outline. Apa itu Recursion? Recursion

Objectives. 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 terperinci

LOGIKA PERMAINAN UNO KARTU

LOGIKA 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 terperinci

Penerapan Algoritma Greedy pada Permainan Kartu 100

Penerapan 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 terperinci

Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek

Perbandingan 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 terperinci

Penerapan Algoritma Greedy pada Permainan Tower Defense

Penerapan 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 terperinci

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Penggunaan 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 terperinci

REVIEW ARRAY. Institut Teknologi Sumatera

REVIEW 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 terperinci

Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik)

Penggunaan 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 terperinci

OLIMPIADE SAINS NASIONAL VII

OLIMPIADE 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 terperinci

IF3051 Strategi Algoritma Penerapan Algoritma Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature

IF3051 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 terperinci

Penentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Algoritma Greedy

Penentuan 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 terperinci

Fungsi : Dasar Fungsi

Fungsi : 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 terperinci

Penjadwalan Petugas Medis pada Kondisi Darurat dengan Menggunakan Binary Integer Programming Berbasis Web

Penjadwalan 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 terperinci

Algoritma Exhaustive Search Dalam Permainan Congklak

Algoritma 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 terperinci

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

NASKAH 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 terperinci

Penyusun: Ade Vicidian Sugiharto Putra ( ) Pembimbing II: Yudhi Purwananto, S.Kom, M.Kom. Victor Hariadi, S.Si, M.Kom.

Penyusun: 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 terperinci

Implementasi 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 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 terperinci

Notasi Algoritma Separator Special Character. Dasar Pemrograman. Yoannita, S.Kom.

Notasi 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 terperinci

Algoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts

Algoritma 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 terperinci

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

Combinatorial 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 terperinci

Algoritma dan Struktur Data

Algoritma 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 terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS 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 terperinci

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

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 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 terperinci

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

Aplikasi 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 terperinci

Modul Praktikum 4 Pemograman Berorientasi Objek

Modul 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