Selasa, 18 Juni 2013

Tugas Kedua Pengantar Teknologi Game

Nama: Imam Taufik Firdaus

NPM: 5A411247

Kelas: 3IA01 (Transfer)


Algoritma Minimax

Untuk melakukan perhitungan simulasi permainan inilah, digunakan algoritma standar di dalam bidang kecerdasan buatan (artificial intelligence, AI) yang sudah dikembangkan sejak lama, yaitu Game Theory, terutama algoritma yang disebut Minimax. Sesuai namanya, algoritma minimax adalah aturan untuk permainan zero-sum 2 pemain, yang berusaha meminimalkan kemungkinan kalah sambil memaksimalkan kemungkinan menang untuk pemain yang akan melangkah.

Di kedalaman 1 (dan kedalaman ganjil lainya), posisi papan akan menentukan nilai untuk pemain yang akan melangkah saat ini (current player), sehingga di kedalaman ganjil ini algoritma minimax memilih langkah bernilai maksimal sebagai langkah terbaik. Sebaliknya di kedalaman 2 (dan kedalaman genap lainnya), posisi papan akan menentukan nilai untuk pemain lawan yang akan melangkah berikutnya (opponent player), sehingga di kedalaman genap ini algoritma minimax memilih langkah bernilai minimal sebagai langkah terbaik.

Sebagai ilustrasi sampai kedalaman dua bisa digambarkan dengan tabel berikut:

B memilih B1
B memilih B2
B memilih B3
A memilih A1
+3
−2
+2
A memilih A2
−1
0
+4
A memilih A3
−4
−3
+1

Ketika A memilih langkah A1 dilanjutkan dengan B memilih langkah B1, posisi papan yang terbentuk bernilai +3. Demikian pula untuk A1 → B2 nilainya -2, A1 → B3 nilainya +2 dst. Sekarang mari kita coba aplikasikan algoritma minimax untuk menghitung langkah terbaik bagi pemain A.

Terhadap langkah A1 (kedalaman 1) misalnya valid moves pemain B adalah B1, B2 dan B3 (kedalaman 2), dan langkah terbaik menurut algoritma minimax didapat dengan mencari langkah bernilai minimal (karena di kedalaman 2), yaitu B2 (bernilai -2). Demikian pula terhadap langkah A2 yang terbaik bagi B adalah B1 (bernilai -1), dan terhadap A3 adalah B1 juga (bernilai -4). Selanjutnya, nilai untuk langkah pemain A (kedalaman 1) adalah nilai yang 'dikembalikan' dari pemain B di kedalaman 2, yaitu A1 adalah -2, A2 adalah -1, dan A3 adalah -4. Kemudian untuk kedalaman 1 ini algoritma minimax mencari nilai maksimal sebagai langkah terbaik, yaitu A2 (bernilai -1).


Untuk kedalaman lebih dari dua, cara 'berpikir' algoritma minimax dapat digambarkan sebagai pohon permainan (game tree) seperti pada gambar di atas. Di lokasi paling dalam (disebut lokasi node daun atau leaf node), dalam hal ini kedalaman 4, dilakukanlah perhitungan nilai posisi papan yang selanjutnya 'dikembalikan' ke node pada kedalaman di atasnya terus hingga sampai lokasi paling atas (di sebut akar atau root). Panah merah menunjukkan nilai yang dikembalikan dari langkah terbaik pilihan algoritma minimax ke kedalaman di atasnya. Demikianlah, kita dapat melihat algoritma minimax bergantian memilih langkah dengan nilai minimal dan maksimal sebagai langkah terbaik sesuai dengan kedalamannya. Dengan algoritma ini komputer dapat 'berpikir' sampai kedalaman tertentu untuk menentukan langkah terbaik untuk memenangkan permainan.

Tetapi pada prakteknya, algoritma minimax kini tidak pernah digunakan lagi, karena algoritma ini harus memperhitungkan semua valid moves, sehingga memerlukan waktu yang sangat lama. Sebagai gantinya telah dikembangkan beberapa improvisasi dari minimax seperti algoritma AlphaBetaNegaScout dll. yang dapat melakukan pemangkasan game tree supaya tidak perlu memperhitungkan semua valid moves, sehingga dapat 'berpikir' dalam waktu jauh lebih cepat.

Pengantar Teknologi Game (Tugas 1)

Nama: Imam Taufik Firdaus

NPM: 5A411247

Kelas: 3IA01 (Transfer)


SCAN CONVERSION

Scan Conversion merupakan metoda untuk memetakan titik ke dalam suatu pixel. Scan Conversion dapat dilakukan terhadap Line (garis), polygon, ataupun garis lengkung (kurva). Bicara soal garis, garis merupakan bentuk dasar dari sebuah gambar. Sedangkan garis terbuat dari bentuk primitif yaitu sebuah titik. Terdapat beberapa algoritma pembuatan garis yang sudah umum digunakan. Algoritma tersebut terdiri atas :
  • Algoritma DDA
(Digital Differential Analyzer) Merupakan algoritma untuk menggambar garis yang sederhana. Algoritma garis ini menggunakan perhitungan dx maupun dy, menggunakan rumus dy = m . dx. Garis dibuat menggunakan dua endpoint, yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer.
Langkah-langkah membentuk garis menurut algoritma DDA adalah :
  • Tentukan dua titik yang akan dihubungkan dalam pembentukan garis
  •  Tentukan titik awal yaitu dan titik akhir .
  • Hitung dx = x1- x0 dan dy = y1 – y0
  • Tentukan step = max( |dx| , |dy| )
  • Hitung penambahan koordinat pixel XInc = dx / step dan YInc = dy / step
  • Koordinat selanjutnya (x+XInc, y+yInc)
  • Posisi pada layar ditentukan dengan pembulatan nilai koordinat tersebut
  • Ulangi nomor 6 dan 7 untuk menentukan posisi pixel berikutnya. sampai x=x1dan y=y1.

  • ALGORITMA GARIS BRESSENHAM
Algoritma Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel. Prosedur untuk menggambar kembali garis dengan membulatkan nilai x atau y ke bilangan integer memerlukan waktu. serta variabel x,y maupun m memerlukan bilangan real karena kemiringan merupakan nilai pecahan. Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan perhitungan matematik dengan bantuan bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi pixel setiap waktu. 
Langkah-langkahnya adalah sebagai berikut :

  • Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
  • Tentukan salah satu titik disebelah kiri sebagai titik awal (x0,y0) dan titik lainnya sebagai titik akhir (x1,y1)
  • Hitung dx, dy, 2dx dan 2dy-2dx
  • Hitung parameter P0 = 2dy – dx
  • Untuk setiap xk sepanjang garis dimulai dengan k=0
  • Bila Pk < 0 maka titik selanjutnya adalah (xk+1, yk) dan Pk+1=Pk+2dy
  • Bila tidak maka titik selanjutnya adalah (xk+1, yk+1) dan Pk+1=Pk+2dy-2dx
  • Ulangi point 5 untuk menentukan posisi pixel selanjutnya sampai x=x1 dan y=y1


Dalam pembuatan garis, ada beberapa hal yang harus diperhatikan, hal tersebut ialah :

  • Ketebalan garis (thickness) 
  • Bentuk tepi garis (ends).

Bentuk tepi garis ini dibagi menjadi 3, yaitu butt, round, square. Bentuk tepi garis butt akan memberikan garis sampai akhir (berhenti garis tepat di akhir), tanpa ekstensi baris. Bentuk tepi garis round adalah default yang sering digunakan. Bentuk tepi garis square akan memberikan ujung persegi, dengan perpanjangan garis.

Contoh dari bentuk tepi garis tersebut dapat di lihat di gambar bawah ini.

Selain tepi garis, garis juga dapat digabungkan. Penggabungan garis (joining)terbagi menjadi :
- Mitter >> titik pertemuan 2 garis lurus yang membentuk sudut lancip.
- Round >> titik sudut pertemuan yang membulat.
- Bevel >> titik sudut pertemuannya tampak terpotong rata.
- None >> titik sudut pertemuan yang terpotong agak membentuk siku.

Analisa Sub-Situs Gunadarma Berdasarkan Orientasi Web Scince

Sub-Situs Gunadarama UGPEDIA

Saya memilih salah satu sub-situs gunadarma yaitu UGPEDIA pada url ugpedia.gunadarma.ac.id sebagai bahan analisa, latar belakang pemilihan UGPEDIA sebagai sub-situs yang saya pilih adalah sebagai berikut :

  • UGPEDIA adalah salah satu situs berjenis Knowledge Management System, yang berfungsi untuk mencari informasi detil tentang proses akademik, dan prosedur-prosedur yang harus dilakukan mahasiswa sampai akhir perkuliahan.
  • UGPEDIA masih tidak mendapat respon yang baik dari mahasiswa gundarma sendiri sebagai situs KMS.
  • UGPEDIA memiliki nilai wawasan yang sangat besar bila dimaksimalkan penggunaannya oleh mahasiswa gunadarma.
  • UGPEDIA membantu mahasiswa melakukan proses dan prosedur akedemik secara mandiri, sehingga memaksimalkan peningkatan kualitas di Universitas Gunadarma.

berdasakan latar belakang diatas, maka saya sebagai penulis menganalisa berdasarkan beberapa kategori penilaian secara pribadi disertakan dengan alasan ilmiah yang saya dapatkan dari berbagai sumber. Tujuannya adalah agar dapat meningkatkan penggunaan UGPEDIA sebagai KMS yang berguna bagi mahasiswa dan bagi instansi itu sendiri. Sehinga mahasiswa dapat secara mandiri melakukan proses dan prosedur akademis, dan pihak instansi dapat meingkatkan kualitas di Universitas Gundarma.

UGPEDIA dari Antarmuka Pengguna


Antarmuka pengguna ialah hal yang penting untuk diperhatikan, karena antarmuka berfungsi sebagai media interaksi antara pengguna dengan sistem. tujuan dari antarmuka menurut wikipedia adalah untuk membuat interaksi pengguna sesederhana dan seefisien mungkin, dalam hal mencapai tujuan pengguna. dimana antarmuka yang baik harus memenuhi kriteria seperti berikut:
  • Interaktif dan menarik
  • Mudah dipahami dan mudah digunakan
  • Memiliki sistem navigasi yang tepat
  • Navigasi Berorientasi langsung pada proses bisnis
  • Menggunakan icon-icon yang sudah dipahami secara global
  • Tersedia panduan pengguna baik berbentuk notifikasi atau paper
Secara garis besar UGPEDIA memiliki kriteria antarmuka yang baik seperti yang dijabarkan pada point point di atas, namun saya sebagai penulis memiliki analisa perspektif lain yang mungkin sama dengan pengguna lainnya. Walaupun analisis ini bersifat relatif, namun bila kembali ke latar belakang yang saya sampaikan, hasil analisa yang saya berikan ialah :
  • Desain kurang menarik, kombinasi warna yang digunakan terlalu monoton di dominasi warna ungu.
  • Desain kurang interaktif, pengguna seharusnya mendapatkan panduan kilat atau notifkasi tentang pencarian populer yang sering dicari.
  • Terlalu banyak ruang kosong yang tidak dimanfaatkan sebagai sarana komunikasi dengan pengguna
  • Hirarki kategori terlalu banyak, pengguna akan dibingungkan dengan pemilihan kategori yang tersedia

UGPEDIA dari Proses Bisnis


Setiap WEB memiliki proses bisnis yang independen, perbedaan proses bisnis terjadi karena tujuan dari pengembangannya bebeda, UGPEDIA ialah salaha satu website berjenis KMS (Konowledge Management System) secara garis besar fungsi dari KMS ialah :

  • Sarana pengumpulan knowledge
Knowledge management system berguna sebagai sarana untuk mengumpulkan knowledge bagi organisasi. Proses pengumpulan knowledge ini dapat berasal dari mana saja dan dapat pula berbentuk apa saja baik tacitmaupun explicit.
  • Sarana penyebaran knowledge
Knowledge management system adalah sarana untuk saling tukar-menukar knowledge yang ada dari satu entitas ke entitas lain. Juga sebagai sarana transfer knowledge sehingga masing-masing entitas dapat memilikiknowledge yang sebelumnya dimiliki.

  • Sarana pengelolaan knowledge
Knowledge management system juga beguna sebagai tempat penyimpanan knowledge (dalam bentuk databasemisalnya) dan mengelolanya sehingga knowledge yang ada dan telah tersimpan tidak terbengkalai begitu saja
  • Meningkatkan knowledge
Knowledge management system juga berguna sebagai sarana meningkatkan knowledge yang ada dengan cara memilah knowledge mana yang dapat berperan dalam proses upgrading dari knowledge tiap entitas dalam organisasi.
Dari point-point di atas, hasil analisa penulis terhadap  UGPEDIA sudah sesuai dengan prinsip atau tujuan dari KMS itu sendiri, secara fungsional UGPEDIA sangat membantu mahasiswa untuk mendapatkan informasi-informasi penting di seputar perkuliahan.