Anda di halaman 1dari 29

LAPORAN TUGAS BESAR IF2111

Algoritma dan Struktur Data


Ganeca Lets Get Rich

GummyBear09

Dipersiapkan oleh:
GummyBear09
Monika Tarsisia Nangoi

/ 18213007

Rana Nugramahesa

/ 18213013

Jessica Nathania

/ 18213038

Sekolah Teknik Elektro dan Informatika - Institut Teknologi Bandung


Jl. Ganesha 10, Bandung 40132

Sekolah Teknik
Elektro dan
Informatika ITB

Nomor Dokumen
IF2111-TB-0901

Halaman
29
5 12 2014

Daftar Isi
1
Ringkasan..................................................................................................................................4
2 Penjelasan Tambahan Spesifikasi Tugas ................................................................................ 4
2.1
AssignGedung ........................................................................................................... 4
2.2
AssignBoard .............................................................................................................. 4
2.3
Register ................................................................................................................. 4
2.4
LogIn ................................................................................................................ 5
2.5
About ................................................................................................................. 5
2.6
PreparationMenu ....................................................................................................... 5
2.7
StatusGame ............................................................................................................... 5
2.8
StartGame .................................................................................................................. 6
2.9
HitungAsetGedung ................................................................................................... 6
2.10 IndeksGedung ........................................................................................................... 6
2.11 DapatSewa ................................................................................................................ 6
2.12 DapatSewaIfBankrupt ............................................................................................... 7
2.13 KepemilikanGedung ................................................................................................. 7
2.14 KocokDadu ............................................................................................................... 7
2.15 SellGedung ................................................................................................................ 7
2.16 BeliGedung ................................................................................................................ 7
2.17 ValidasiLokasi............................................................................................................ 8
2.18 PemainPadaGedung ................................................................................................... 8
2.19 PemainPadaPenjara ................................................................................................... 8
2.20 PemainPadaBusITB .................................................................................................. 8
2.21 ValidasiGedungPemain ............................................................................................. 9
2.22 ValidasiGedungLawan .............................................................................................. 9
2.23 NomorPosisi .............................................................................................. 9
2.24 PemainPadaTukarGedung ......................................................................................... 9
2.25 GameOver ......................................................................................................... 9
2.26 KompleksPemain ...................................................................................................... 10
2.27 ListHighScore ........................................................................................................... 10
2.28 Undian ................................................................................................................... 10
2.29 ChangeTurn ............................................................................................................... 11
2.30 Gotoxy............................................................................................................ 11
2.31 SetColor ..................................................................................................... 11
2.32 CetakBoard .................................................................................................... 11
2.33 Tulisan ................................................................................................... 11
2.34 Interdace Register .............................................................................................. 11
2.35 InterfaceDisplayUtama .............................................................................................. 12
2.36 InterfaceLogin ................................................................................................ 12
2.37 InterfaceAbout ................................................................................................ 12
2.38 Help ............................................................................................................ 12
2.39 InterfacePrepartionMenu ........................................................................................... 12
2.40 InterfaceHighScoreBoard........................................................................................... 12
2.41 TicTacToe.............................................................................................................. 13
3 Program Utama ..................................................................................................................... 14
3.1 FlowChart..................................................................................................................... 14
3.2 Ide Algoritma............................................................................................................... 15

4 Algoritma Menarik.................................................................................................................. 15
4.1 Algoritma Board Game ............................................................................................... 16
5 Pembagian Kerja dalam Kelompok ........................................................................................ 2
2
6 Lampiran ................................................................................................................................. 2
3
6.1 Deskripsi Tugas Besar................................................................................................. 23
6.2 Notulen Rapat.............................................................................................................. 25
6.3 Log Activity Anggota Kelompok................................................................................ 26
6.4
Lainnya ...................................................................................................................... 28

1 Ringkasan
Ganeca Lets Get Rich adalah sebuah program yang digunakan untuk mensimulasikan
permainan Line Lets Get Rich yang saat ini sedang popular. Fungsi dan/atau feature pada
game yang kami buat tidak jauh berbeda dari permainan Line Lets Get Rich dan permainan
monopoli pada umumnya. Permainan ini dapat dimainkan oleh 2-4 pemain yang masingmasing mendapat giliran untuk mengocok 2 buah dadu. Setiap pemain akan bergerak sesuai
angka yang ditunjukkan dadu dan mendapat kesempatan untuk membeli/menyewa gedung
yang ditempatinya, mengikuti undian, mendapat kartu kesempatan, dll. Apabila mendatangi
gedung yang sudah dimiliki pemain lain, seorang pemain harus membayar uang sewa, dan
apabila tidak memiliki cukup uang untuk membayar uang sewa, pemain tersebut dianggap
kalah dan harus keluar dari permainan. Jika ada pemain yang sudah memiliki 2 kompleks
gedung dan/atau memiliki semua kantin, pemain tersebut dianggap menang dan permainan
akan berakhir. Seorang pemain juga menjadi pemenang jika sudah tidak ada lagi pemain lain
yang mengikuti permainan (semua pemain lain sudah kalah).
Ada beberapa kesempatan yang bisa didapat pemain, diantaranya adalah penjara, bus ITB, dan
tukar gedung. Jika pemain masuk penjara, pemain tersebut harus tetap di dalam penjara (tidak
mendapat giliran main) selama 3 putaran, kecuali jika mendapatkan angka kembar pada saat
pengocokan dadu. Kartu kesempatan bus ITB memungkinkan pemain berpindah tempat
kemanapun Ia mau. Kartu kesempatan tukar gedung dapat digunakan untuk menukar gedung
yang sudah dimiliki dengan gedung pemain lain.

2 Penjelasan Tambahan Spesifikasi Tugas


2.1

Fungsi IsGame
Fungsi ini berfungsi untuk mengembalikan nilai true bila kondisi menang
terpenuhi.
boolean IsGame(Board B);
//Mengembalikan true bila kondisi menang terpeneuhi

2.3

Prosedur Inisialisasi
Inisialisasi digunakan untuk meng-assign (menginisialisasi) Atribut Gedung ke
TabBoard
void Inisialisasi (Board *B);
//I.S. = Sembarang
//F.S. = Membuat board permainan
assign Gedung ke TabBoard

2.4

dengan

meng-

Prosedur JualGedung
JualGedung digunakan pada saat pemain tidak memiliki cukup uang untuk
membayar pajak ketika menginjak gedung milik pemain lain. Ketika prosedur ini
digunakan pemain akan menjual gedungnya hingga cukup untuk membayar pajak
dari gedung yang dia singgahi.

STEI- ITB

IF2111-TB-09-01

Halaman 4 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

void JualGedung(Board *B, Name NG,Queue *Q);


//I.S = Jumlah Uang Pemain < pajak
//F.s = Menjual Gedung yang di pilih hingga Jumlah
Uang pemain cukup untuk membayar pajak

2.5

Fungsi KompleksGedung
Kompleksgedung berfungsi untuk mengembalikan komlpeks dari gedung yang
diminta.
char KompleksGedung (Board B, indeks i);
//Mengembalikan kompleks gedung yang diminta

2.6

Fungsi LokasiGedung
LokasiGedung berfungsi mengembalikan lokasi gedung yang diminta.
int LokasiGedung (Board B, indeks i);
//Mengembalikan lokasi gedung yang diminta

2.7

F u n g s i HargaGedung
HargaGedung berfungsi mengembalikan harga dari gedung yang diminta.
int HargaGedung (Board B, indeks i);
//Mengembalikan harga gedung yang diminta

2.8

Fungsi HargaPajak
HargaPajak berfungsi mengembalikan harga dari pajak sebuat gedung.
int HargaPajak (Board B, indeks i);
//Mengembalikan harga pajak gedung

2.9

Fungsi HitungAsetGedung
HitungAsetGedung berfungsi untuk menghitung asset yang dimiliki masingmasing pemain. Nilai asset didapat dengan menambahkan nilai asset awal
(10000000) dengan harga jual setiap gedung yang dimiliki.
int HitungAsetGedung (Pemain P, GedungArray G);
// Menghitung aset gedung yang dimiliki oleh
Head(Q)

2.10 Fungsi IndeksGedung


STEI- ITB

IF2111-TB-09-01

Halaman 5 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

IndeksGedung digunakan untuk mencari indeks suatu gedung pada GedungArray


yang memiliki nomor gedung tertentu pada board.
int IndeksGedung (int X,GedungArray G);
// Mencari indeks gedung pada GedungArray untuk
nomor gedung X

2.11 Prosedur DapatSewa


DapatSewa digunakan untuk menambahkan uang sewa kepada pemilik gedung
apabila gedung yang dimilikinya ditempati atau didatangi pemain lain.
void DapatSewa (Queue *Q, int Posisi, GedungArray
G);
// Menambahkan uang sewa kepada pemilik gedung
berindeks X

2.12 Prosedur DapatSewaIfBankrupt


DapatSewa digunakan untuk menambahkan uang sewa kepada pemilik gedung
apabila gedung yang dimilikinya ditempati atau didatangi pemain lain. Prosedur
ini digunakan jika pemain yang menempati gedung X sudah bangkrut (tidak
memiliki cukup uang untuk membayar uang sewa), maka jumlah asset gedung
yang dimiliki pemain tersebut akan dipindahkan (ditambahkan) kepada pemilik
gedung.
void DapatSewaIfBankrupt (Queue *Q, int Posisi,
GedungArray G);
// Menambahkan uang sewa kepada pemilik gedung
berindeks X
// pemilik gedung berindeks x pasti ada di queue Q

2.13 Fungsi KepemilikanGedung


KepemilikanGedung berfungsi untuk mengecek apakah gedung dengan nomor X
dimiliki oleh pemain P.
booleans KepemilikanGedung (Pemain P, int X);
// menghasilkan true jika gedung berindeks
dimiliki oleh pemain P

2.14 Prosedur KocokDadu


KocokDadu digunakan untuk mengocok (mmerandom) angka dadu dan
menampilkan 2 angka yang didapat.
void KocokDadu (int *x, int *y);
// mengeluarkan output dua buah
STEI- ITB

IF2111-TB-09-01

integer

yang

Halaman 6 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

menyatakan nilai dadu

2.15 Prosedur SellGedung


SellGedung digunakan untuk menjual gedung yang sudah dimiliki. Nama gedung
yang dijual akan dihapus dari daftar gedung yang dimiliki pemain dan dapat dibeli
oleh pemain lain. Jumlah uang pemain akan ditambahkan dengan harga jual gedung
yang dijual. Penjualan gedung akan merubah asset pemain.
void SellGedung (Queue *Q, GedungArray *G);
// Menjual gedung

2.16 Prosedur BeliGedung


BeliGedung digunakan untuk membeli suatu gedung. Nama gedung yang dibeli
akan masuk ke daftar gedung yang dimiliki pemain dan jika pemain lain menempati
gedung tersebut harus membayar uang sewa. Uang pemain akan dikurangi dengan
harga beli gedung.
void BeliGedung (Queue *Q, GedungArray *G);
// Membeli gedung

2.17 Prosedur ValidasiLokasi


ValidasiLokal mengecek apakah tempat yang dituju ada pada board permainan.
Fungsi ini dimanfaatkan pada kartu kesempatan tiket bus itb. Jika tempat yang
dituju ada pada board akan ditampilkan indeks gedung tersebut, dan jika tidak ada
akan dikeluarkan peringatan.
void
ValidasiLokasi
(char
tempat[12],
int
*Posisi, int *X, GedungArray G);
// Memvalidasi tempat yang dituju apakah ada pada
board, mengeluarkan output X sebagai IdxGedung

2.18 Prosedur PemainPadaGedung


PemainPadaGedung menentukan apa yang dilakukan pada saat pemain berada
pada gedung tertentu. Jika berada pada gedung yang sudah dimiliki pemain lain
harus membayar uang sewa, dan jika berada pada gedung yang belum dimiliki akan
ditawarkan untuk membeli gedung tersebut. Jika uang yang dimiliki tidak cukup
untuk membayar uang sewa, pemain harus menjual salah satu gedung yang
dimilikinya sampai memiliki uang yang cukup. Jika gedung sudah habis dan masih
tidak dapat membayar uang sewa, pemain tersebut dianggap kalah dan keluar dari
permainan.
void PemainPadaGedung(Queue *Q, GedungArray *G,
Board B, int IdxGedung, booleans *loser);
STEI- ITB

IF2111-TB-09-01

Halaman 7 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

// Apabila pemain berada pada gedung

2.19 Prosedur PemainPadaPenjara


PemainPadaPenjara menentukan apa yang terjadi jika seorang pemain masuk
penjara. Pemain tidak dapat bermain selama 3 putaran.
void PemainPadaPenjara (Queue *Q);
// Apabila pemain berada di Penjara

2.20 Prosedur PemainPadaBusITB


PemainPadaBusITB menentukan apa yang terjadi jika seorang pemain mendapat
kesempatan tiket BusITB. Tempat yang ingin dituju pemain akan divalidasi dengan
prosedur ValidasiLokal, jika ada pada board pemain akan pindah ke tempat yang
dituju.
void PemainPadaBusITB (Queue *Q, GedungArray *G,
Board B, booleans *loser);
// Apabila pemain berada di Bus ITB

2.21 Fungsi ValidasiGedungPemain


ValidasiGedungPemain digunakan untuk mengecek apakah gedung yang akan
ditukar seorang pemain ada pada board dan merupakan gedung yang dimilikinya.
booleans ValidasiGedungPemain (Queue Q, char
tempat[12], GedungArray G);
// bernilai true bila gedung yang ingin ditukar
merupakan gedung milik pemain

2.22 Prosedur ValidasiGedungLawan


ValidasiGedungLawan digunakan untuk mengecek apakah gedung yang ingin
ditukar ada pada board dan sudah dimiliki pemilik lain.
booleans
ValidasiGedungLawan
(Queue
Q,
char
tempat[12], GedungArray G);
// bernilai true bila gedung yang ingin ditukar
merupakan gedung milik pemain lain

2.23 Fungsi NomorPosisi


NomorPosisi menghasilkan nomor posisi tempat pada board.
int NomorPosisi (char tempat[12], Board B);
// Menghasilkan nomor posisi tempat pada board
STEI- ITB

IF2111-TB-09-01

Halaman 8 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

2.24 Prosedur PemainPadaTukarGedung


PemainPadaTukarGedung menentukan apa yang terjadi jika seorang pemain
mendapat kesempatan Tukar Gedung. Kesempatan tukar gedung tidak dapat
dilakukan jika pemain belum memiliki gedung. Prosedur akan melakukan validasi
apakah gedung yang ingin ditukar sudah Ia miliki dan sudah dimiliki pemain lain.
Jika validasi bernilai true, gedung akan ditukar.
void PemainPadaTukarGedung (Queue *Q, GedungArray
G, Board B);
// Apabila pemain mendapat kesempatan tukar gedung

2.25 Prosedur GameOver


GameOver menentukan kondisi GameOver. Akan bernilai true jika permainan
sudah berakhir, dan didapatkan seorang pemenang.
void GameOver (Queue Q, int *Winner, booleans
*IsGameOver);
// Bernilai true bila permainan berakhir, dan
keluar satu pemain sebagai pemenang.
// Kondisi menang :
// 1. Semua pemain lain bangkrut; dinyatakan
bangkrut apabila tidak mampu membayar uang sewa
sama sekali
// 2. Pemain menguasai 2 kompleks angka
// 3. Pemain menguasai kompleks K (kantin)

2.26 Fungsi Kompleks Pemain


KompleksPemain menghasilkan banyaknya kompleks lengkap yang dimiliki
pemain. Kompleks dianggap sudah lengkap jika semua gedung pada kompleks
tersebut sudah dimiliki.
int KompleksPemain (Pemain P);
// Menghasilkan banyaknya kompleks yang dimiliki
pemain (kompleks lengkap)

2.27 Prosedur ListHighScore


ListHighScore digunakan untuk menampung nilai (score) semua pemain dan
mengurutkan nilai-nilai tersebut dari yang terbesar ke terkecil. Nilai yang
ditampilkan adalah 10 nilai tertinggi
void ListHighScore (HighScore H, List L);
// Menerima input HighScore dan mengurutkan dari
yang terbesar ke terkecil
STEI- ITB

IF2111-TB-09-01

Halaman 9 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

2.28 Prosedur Undian


Undian menentukan apa yang terjadi jika seorang pemain berhenti pada box
undian. Pemain akan mendapat kesempatan untuk bertaruh sebanyak 3x dengan
terlebih dahulu membayar 1,5 juta. Pemain akan menang jika taruhan yang
dimasukkan sama dengan hasil undian (Head/Tail). Apabila menang pemain akan
mendapatkan uang sebesar 2x, 3x, dan 4x lipat tergantung berapa kali pemain tersebut
mengikuti undian dan menang.
void Undian (Stack S, char Bet[4]);
// Pemain dapat bertaruh hingga 3 kali dengan
membayar biaya taruhan sebesar 1,5 juta di awal
taruhan.
// Apabila menang, maka pemain akan mendapatkan
uang sebesar 2x, 3x, dan 4x lipat bergantung pada
berapa kali pemain ingin melakukan taruhan

2.29 Prosedur ChangeTurn


ChangeTurn digunakan untuk menentukan pergantian pemain yang bermain saat
tiap turn.
void ChangeTurn (Queue *Q);
// I.S : Queue berisi minimal 2 elemen
// F.S : Head(Q) diganti menjadi pemain yang
berada di antrian selanjutnya
// Sedangkan untuk Head(Q) di awal dipindah ke
antrian paling belakang / Tail(Q)

2.30 Prosedur Gotoxy


Gotoxy mengatur absis dan ordinat dengan menerima masukan berupa integer
sumbu x dan integer sumbu y.
void gotoxy(int x, int y);

2.31 Prosedur SetColor


SetColor mengatur pewarnaan tulisan/background pada board permainan.
void SetColor(unsigned short color);

2.32 Prosedur CetakBoard


CetakBoard digunakan untuk mencetak Board ke layar saat start game dijalankan
void CetakBoard(Board B, Queue Q);
// Mencetak Board permainan
STEI- ITB

IF2111-TB-09-01

Halaman 10 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

2.33 Prosedur Tulisan


Tulisan digunakan untuk mencetak tulisan Ganeca Lets Get Rich ke layar saat di
main menu, registration, login, help, about, quit.
void Tulisan();
// Menuliskan tulisan Ganeca Lets Get Rich

2.34 Prosedur Interface Register


InterfaceRegister digunakan untuk mengatur interface yang dihubungkan ke
program Register.
void InterfaceRegister ();
// Interface/tampilan untuk bagian register

2.35 Prosedur InterfaceDisplayUtama


InterfaceDisplayUtama digunakan untuk mengatur interface yang digabungkan ke
program display utama, berisi interface Main Menu.
void InterfaceDisplayUtama (int *pilihan);
// Interface/tampilan program utama -Main Menu-

2.36 Prosedur InterfaceLogIn


InterfaceLogin digunakan untuk mengatur Interface/tampilan untuk bagian login
yang dihubungkan ke program lainnya
void InterfaceLogIn ();
// Interface/tampilan untuk bagian login

2.37 Prosedur InterfaceAbout


InterfaceAbout mengatur Interface About yang berisi tentang program yang dibuat,
tentang si pembuat program, waktu diselesaikannya program game Ganeca Lets
Get Rich.
void InterfaceAbout ();
// Interface/tampilan untuk bagian about

2.38 Prosedur Help


Prosedur Help berisi tentang ketentuan permainan, merupakan tambahan prosedur
diluar spesifikasi tugas.
void Help ();
// Interface/tampilan untuk bagian help -pada main
menuSTEI- ITB

IF2111-TB-09-01

Halaman 11 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

2.39 Prosedur InterfacePreparationMenu


InterfacePreparationMenu digunakan untuk mengatur Interface Preparation Menu
yang digabungkan ke program LogIn berisi interface Preparation Menu. Muncul
setelah LogIn berhasil
void InterfacePreparationMenu (int *pilihan);
// Interface/tampilan untuk bagian preparation
menu

2.40 Prosedur InterfaceHighScoreBoard


InterfaceHighScoreBoard yang dimunculkan setelah LogIn berhasil dan user
memilih menu High Score Board berisi list 10 orang dengan nama dan nilai
tertinggi diurut secara descending.
void InterfaceHighScoreBoard ();
// Interface/tampilan untuk bagian highscoreboard

2.41 Prosedur Tic-Tac-Toe


TicTacToe digunakan untuk menjalankan mini game (soal bonus) tic-tac-toe.
Permainan akan dilakukan dengan computer (pemain lawan computer). Apabila
pemain menang, uangnya akan dilipatgandakan.
void TicTacToe (Queue *Q);
// Permainan TiccTacToe pada kesempatan.
// Apabila pemain menang, uang dilipatgandakan

STEI- ITB

IF2111-TB-09-01

Halaman 12 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

START

3 Program Utama
3.1 Flowchart

Inisiasi Board Permainan


Array pemain ter-register
Array Gedung
List daftar High Score
Menampilkan Main Menu
Memilih pilihan pada main
menu

Memanggil prosedur
Help();

Pilihan pada
main menu

Memanggil prosedur
LogIn();
LogIn
berhasil(?)

Memanggil prosedur
About();
Memanggil prosedur
Register();

END

Menampilkan Preparation
Menu
Memilih pilihan pada preparation
menu

STEI- ITB

Pilihan pada
preparation
menu

StartGame()
;
IF2111-TB-09-01

Halaman 13 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumenLogOut();
ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

Menampilkan
HighScoreBoard

3.2 Ide Algoritma


Pertamanya kita menginisiasi game dengan cara menampilkan main menu, dengan 5
pilihan menu yaitu Register, LogIn, Help, About, dan Quit. Jika user memilih register,
maka akan masuk ke menu registration dan menjalankan prosedur Register dan akan
kembali ke main menu jika user menekan tombol enter.. Jika user memilih menu LogIn
maka akan masuk ke menu LogIn.dan menjalankan prosedur LogIn. Jika user memilih
menu About, maka user akan masuk ke tampilan menu About yang berisi informasi
tentang pembuat game, tujuan dibuatnya game dan informasi selesainya game ini dibuat
dan akan kembali ke main menu jika user menekan tombol enter.. Jika user memilih menu
Help, maka user akan masuk ke tampilan menu help yang berisi tentang ketentuan
permainan dan akan kembali ke main menu jika user menekan tombol enter. Menu Help
merupakan menu tambahan diluar spesifikasi tugas.
Di dalam menu LogIn, jika LogIn dengan username yang belum pernah ada, user akan
disuruh untuk melakukan registrasi terlebih dahulu. Sedangkan, jika username benar, maka
akan muncul ucapan selamat datang (nama pemain) dan memunculkan tampilan
preparation menu dengan menjalankan prosedur PreparationMenu. Di dalam preparation
menu, user disuruh memilih kembali, ada 3 pilihan menu untuk user yaitu New Game,
High Score Board, dan LogOut. Jika user memilih New Game, maka game akan dimulai.
Jika user memilih High Score Board maka program akan menampilkan tampilan menu
High Score Board yang berisi 10 orang dari list yang memiliki nilai tertinggi diurutkan
dari yang paling tinggi nilainya. Jika user memilih LogOut, maka user akan kembali
masuk ke Main Menu dan menjalankan ulang program Main Menu.
Setelah user memilih New Game, user akan ditanya berapa jumlah pemain yang akan
bermain. Jika user menulis hanya 1 pemain atau lebih dari 4 pemain, maka akan muncul
pesan Pemain harus diantara 2 4 orang!. Jika masukkan dari user benar, maka akan
muncul Game Board di bagian kiri atas serta uang-uang dan aset-aset yang dimiliki setiap
pemain di kanan atas. Selanjutnya dibawah Game Board, akan dimunculkan Log
Permainan.
Dari setiap permainan pasti ada pemenangnya. Seorang user dinyatakan menang jika telah
memenuhi salah satu dari kondisi-kondisi berikut ini :
STEI- ITB

IF2111-TB-09-01

Halaman 14 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

Semua pemain lain bangkrut


Pemain menguasai kompleks K (Kantin).
Pemain menguasai 2 kompleks angka
Untuk soal bonus, kita hanya membuat tic-tac-toe yang mempunyai 3 kondisi yaitu :
User bisa menang
Komputer bisa menang
Permainan bisa draw
Untuk 2 soal bonus lainnya belum sempat dikerjakan dikarenakan oleh faktor waktu dan
banyak tugas mata kuliah lainnya.

4 Algoritma Menarik
Ada algoritma menarik yang ditemukan.

4.1 <Algoritma Board Game>


Algoritma yang menurut kami menarik salah satunya terdapat pada interface board gamenya.
Untuk membuat board game, diperlukan keteltian. Selain itu, interface pertama yang dibuat
adalah board game, unutk board game itu sendiri diperlukan adanya prosedur gotoxy. Dan itu
pertama kalinya kami mengenal namanya gotoxy. Di samping itu, kami juga memberikan
warna teks yang berbeda-beda tergantung kompleks angka dan jenis tempat pada board
tersebut. Dengan adanya perpaduan warna dan tingkat kesulitan yang lumayan dalam mebuat
board, kita membuat algoritma board game menjadi algoritma menarik bagi kami.
Untuk prosedur boardnya adalah sebagai berikut :
Untuk Board.h
#ifndef Board_h
#define Board_h
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <math.h>
#include <string.h>
typedef struct {
char Nama[13]; // Nama gedung
} Gdg;
typedef struct {
Gdg Gedung[18+1];//Jumlah Gedung
} ArrayGedung;
ArrayGedung G;
void gotoxy(int x, int y);
void SetColor(unsigned short color);
STEI- ITB

IF2111-TB-09-01

Halaman 15 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

void CetakBoard ();


#endif
Untuk Board.c
#include "Board.h"
void gotoxy(int x, int y)
{
HANDLE hConsoleOutput;
COORD dwCursorPosition;
dwCursorPosition.X = x;
dwCursorPosition.Y = y;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition);
}
void SetColor(unsigned short color) {
HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsoleOutput,color);
}
void CetakBoard ()
{
int i, j;
system("cls");
//Assign Nama Gedung
strcpy((G).Gedung[1].Nama, "OKTAGON");
strcpy((G).Gedung[2].Nama, "COMLABS");
strcpy((G).Gedung[3].Nama, "TVST");
strcpy((G).Gedung[4].Nama, "TELKOM");
strcpy((G).Gedung[5].Nama, "K_BENGKOK");
strcpy((G).Gedung[6].Nama, "GKU_BARAT");
strcpy((G).Gedung[7].Nama, "GKU_TIMUR");
strcpy((G).Gedung[8].Nama, "AULA_BARAT");
strcpy((G).Gedung[9].Nama, "AULA_TIMUR");
strcpy((G).Gedung[10].Nama, "K_BARRACK");
strcpy((G).Gedung[11].Nama, "K_BORJU");
strcpy((G).Gedung[12].Nama, "LABTEK_VIII");
strcpy((G).Gedung[13].Nama, "LABTEK_V");
strcpy((G).Gedung[14].Nama, "START");
strcpy((G).Gedung[15].Nama, "PENJARA");
strcpy((G).Gedung[16].Nama, "KESEMPATAN");
strcpy((G).Gedung[17].Nama, "UNDIAN");
strcpy((G).Gedung[18].Nama, "BUS_ITB");
gotoxy (0,3);
STEI- ITB

IF2111-TB-09-01

Halaman 16 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

printf("\t\t\t\t *** Game Board ***");


//Vertikal panjang ke bawah I
for (i=6; i<59; i++){
gotoxy (3, i);
printf ("%c", 179);
}
//Horizontal panjang ke samping I
for (i=4; i<75; i++){
gotoxy (i, 5);
printf ("%c", 196);
}
//Vertikal panjang ke bawah II
for (i=6; i<59; i++){
gotoxy (75, i);
printf ("%c", 179);
}
//Horizontal panjang ke samping II
for (i=4; i<75; i++){
gotoxy (i, 59);
printf ("%c", 196);
}
//Vertikal panjang ke bawah III
for (i=6; i<59; i++){
gotoxy (15, i);
printf ("%c", 179);
}
//Horizontal panjang ke samping III
for (i=4; i<75; i++){
gotoxy (i, 14);
printf ("%c", 196);
}
//Vertikal panjang ke bawah IV
for (i=6; i<59; i++){
gotoxy (63, i);
printf ("%c", 179);
}
//Horizontal panjang ke samping IV
for (i=4; i<75; i++){
gotoxy (i, 50);
printf ("%c", 196);
}
//Sekat vertikal atas
STEI- ITB

IF2111-TB-09-01

Halaman 17 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

for (j=27; j<63; j=j+12){


for (i=6; i<14; i++){
gotoxy (j, i);
printf ("%c", 179);
}
}
//Sekat horizontal samping kanan
for (j=23; j<50; j=j+9){
for (i=64; i<75; i++){
gotoxy (i, j);
printf ("%c", 196);
}
}
//Sekat vertikal bawah
for (j=27; j<63; j=j+12){
for (i=51; i<59; i++){
gotoxy (j, i);
printf ("%c", 179);
}
}
//Sekat horizontal samping kiri
for (j=23; j<50; j=j+9){
for (i=4; i<15; i++){
gotoxy (i, j);
printf ("%c", 196);
}
}
//Tulisan Ganeca Let's Get Rich
gotoxy(29,32);
printf("Ganeca Let's Get Rich");
//Penutup kiri atas
gotoxy (3, 5);
printf ("%c", 218);
//Penutup kanan atas
gotoxy (75, 5);
printf ("%c", 191);
//Penutup kiri bawah
gotoxy (3, 59);
printf ("%c", 192);
//Penutup kanan bawah
gotoxy (75, 59);
printf ("%c", 217);
STEI- ITB

IF2111-TB-09-01

Halaman 18 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

//Penutup atas
for (j=15; j<75; j=j+48){
gotoxy (j, 14);
printf ("%c", 197);
}
//Penutup bawah
for (j=15; j<75; j=j+48){
gotoxy (j, 50);
printf ("%c", 197);
}
//Penutup vertikal atas I
for (j=15; j<75; j=j+12){
gotoxy (j, 5);
printf ("%c", 194);
}
//Penutup vertikal atas II
for (j=27; j<63; j=j+12){
gotoxy (j, 14);
printf ("%c", 193);
}
//Penutup horizontal kiri I
for (j=14; j<59; j=j+9){
gotoxy (3, j);
printf ("%c", 195);
}
//Penutup horizontal kiri II
for (j=23; j<50; j=j+9){
gotoxy (15, j);
printf ("%c", 180);
}
//Penutup horizontal kanan I
for (j=23; j<50; j=j+9){
gotoxy (63, j);
printf ("%c", 195);
}
//Penutup horizontal kanan II
for (j=14; j<59; j=j+9){
gotoxy (75, j);
printf ("%c", 180);
}
//Penutup vertikal atas III
for (j=27; j<63; j=j+12){
gotoxy (j, 50);
STEI- ITB

IF2111-TB-09-01

Halaman 19 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

printf ("%c", 194);

//Penutup vertikal atas IV


for (j=15; j<75; j=j+12){
gotoxy (j, 59);
printf ("%c", 193);
}
//Mengisi Nama Gedung
gotoxy(67,54);
SetColor(7);
printf("%s", (G).Gedung[14].Nama); //START
gotoxy(54,54);
SetColor(1);
printf("%s", (G).Gedung[1].Nama); //OKTAGON
gotoxy(42,54);
SetColor(1);
printf("%s", (G).Gedung[2].Nama); //COMLABS
gotoxy(31,54);
SetColor(2);
printf("%s", (G).Gedung[3].Nama); //TVST
gotoxy(18,54);
SetColor(2);
printf("%s", (G).Gedung[4].Nama); //TELKOM
gotoxy(6,54);
SetColor(8);
printf("%s", (G).Gedung[15].Nama); //PENJARA
gotoxy(5,45);
SetColor(3);
printf("%s", (G).Gedung[5].Nama); //K_BENGKOK
gotoxy(5,36);
SetColor(6);
printf("%s", (G).Gedung[16].Nama); //KESEMPATAN
gotoxy(5,27);
SetColor(4);
printf("%s", (G).Gedung[6].Nama); //GKU_BARAT
gotoxy(5,18);
SetColor(4);
printf("%s", (G).Gedung[7].Nama); //GKU_TIMUR
gotoxy(7,9);
STEI- ITB

IF2111-TB-09-01

Halaman 20 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

SetColor(8);
printf("%s", (G).Gedung[17].Nama); //UNDIAN
gotoxy(17,9);
SetColor(9);
printf("%s", (G).Gedung[8].Nama); //AULA_BARAT
gotoxy(29,9);
SetColor(9);
printf("%s", (G).Gedung[9].Nama); //AULA_TIMUR
gotoxy(41,9);
SetColor(6);
printf("%s", (G).Gedung[16].Nama); //KESEMPATAN
gotoxy(53,9);
SetColor(3);
printf("%s", (G).Gedung[10].Nama); //K_BARRACK
gotoxy(66,9);
SetColor(8);
printf("%s", (G).Gedung[18].Nama); //BUS_ITB
gotoxy(65,18);
SetColor(6);
printf("%s", (G).Gedung[16].Nama); //KESEMPATAN
gotoxy(66,27);
SetColor(3);
printf("%s", (G).Gedung[11].Nama); //K_BORJU
gotoxy(64,36);
SetColor(5);
printf("%s", (G).Gedung[12].Nama); //LABTEK_VIII

gotoxy(66,45);
SetColor(5);
printf("%s", (G).Gedung[13].Nama); //LABTEK V

5 Pembagian Kerja dalam Kelompok


Nama
Mahasiswa
NIM
Nomo
r
1
2
3
4
STEI- ITB

: Monika Tarsisia
: 18213007
Tugas yang dikerjakan

Membuat program utama


Membuat ADT yang berhubungan dengan FileEksternal
Membuat ADT Queue untuk Pemain
Menggabungkan ADT dan Interface ke program utama
Halaman 21 dari 29 halaman
IF2111-TB-09-01

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

Membuat ADT RulesOfGame

Nama
Mahasiswa
NIM
Nomo
r
1
2
3
4

: 18213011
Tugas yang dikerjakan

Membuat
Membuat
Membuat
Membuat

Nama
Mahasiswa
NIM
Nomo
r
1
2
3
4

: Rana Nugramahesa

laporan
ADT List untuk High Score
ADT Stack untuk Undian
laporan

: Jessica Nathania
: 18213038
Tugas yang dikerjakan

Membuat
Membuat
Membuat
Membuat

Interface
Bonus (Tic Tac Toe)
board permainan
laporan

6 Lampiran
6.1 Deskripsi Tugas Besar
Ganeca Lets Get Rich adalah permainan yang serupa dengan permainan monopoli biasa.
Permainan ini dapat dimainkan oleh 2-4 pemain. Urutan permainan ditentukan berdasarkan
urutan masukan nama pemain di awal permainan. Pemain kemudian bermain dengan cara
mengocok 2 buah dadu yang masing-masing dadu berisi rentang angka 1-6. Pemain
kemudian menempati kota sesuai angka pada dadu, dan berkesempatan membeli/menyewa
kota tersebut. Pemain kalah dari permainan jika uang yang dimiliki tidak cukup untuk
menyewa kota yang ditempati. Permainan selesai jika telah diperoleh pemenang.
Suatu pemain dinyatakan menang apabila memenuhi salah satu kondisi berikut.
1. Semua pemain lain bangkrut.
Suatu pemain dinyatakan bangkrut apabila tidak mampu membayar uang sewa sama
sekali.
2. Pemain menguasai 2 kompleks angka.
3. Pemain menguasai kompleks K (Kantin).
Spesifikasi Permainan
1. Pemain
- Jumlah pemain terdiri dari 2-4 pemain.
- Setiap pemain memiliki atribut sebagai berikut.
STEI- ITB

IF2111-TB-09-01

Halaman 22 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

- Nama Pemain (Jumlah karakter maksimum 10)


- Jumlah Uang (dalam satuan Rp) dengan jumlah uang di awal adalah 10 juta
- Daftar kota yang dimiliki
- Jumlah Aset (Total dari Jumlah Uang + Jumlah harga jual seluruh gedung yang
dimiliki)
- Posisi pemain dalam board
2. Gedung
Setiap gedung memiliki atribut berupa kompleks, nama gedung dan harga beli.
Adapun list spesifikasi dari gedung yang harus dibuat adalah sebagai berikut.
Kompleks Nama Gedung Harga Beli
1 Oktagon 500 ribu
1 Comlabs 750 ribu
2 TVST 1,2 juta
2 Telkom 1,5 juta
K K_Bengkok 3,5 juta
3 GKU_Barat 1,9 juta
3 GKU_Timur 2,3 juta
4 Aula_Barat 2,7 juta
4 Aula_Timur 3,1 juta
K K_Barrack 3,5 juta
K K_Borju 3,5 juta
6 Labtek_VIII 3,5 juta
6 Labtek_V 4 juta
Jika pemain telah membeli gedung tertentu dan pemain lain mengunjungi gedung tersebut,
maka pemain yang mengunjungi gedung tersebut harus membayar biaya sewa
sebesar 30% dari harga beli gedung. Sedangkan jika pemain ingin menjual gedung
yang dimiliki, maka harga jual dari gedung tersebut adalah sebesar 50% dari harga
beli.
3. Penjara
Jika pemain masuk penjara, maka pemain diberi kesempatan untuk mengocok dadu
terlebih dahulu pada putaran berikutnya. Apabila angka kedua dadu yang dikocok
tidak sama, maka pemain tersebut tidak dapat melanjutkan permainan selama 2
putaran.
4. Bus ITB
Jika pemain mengunjungi tempat ini, maka pemain dapat menentukan gedung yang
ingin dikunjungi.
5. Kartu Kesempatan
Terdapat 3 jenis kartu kesempatan yang akan diacak secara random jika pemain
mendapatkan kartu ini, yaitu :
a. Masuk Penjara Pemain langsung dipindahkan ke penjara.
b. Tiket Bus Pemain langsung dipindahkan ke tempat bus ITB
c. Tukar Gedung Pemain dapat menukar kota yang dimiliki dengan gedung
STEI- ITB

IF2111-TB-09-01

Halaman 23 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

pemain lain. Pemain hanya dapat menggunakan kartu ini apabila memiliki minimal
1 buah gedung untuk ditukar
Batasan dan Asumsi
Implementasi tugas besar harus menggunakan bahasa C. Tidak diperkenankan
untuk menggunakan bahasa pemrograman lainnya.
Pembuatan Alur Game Ganeca Lets Get Rich harus sesuai dengan spesifikasi yang
telah disebutkan pada bagian sebelumnya. Atribut-atribut yang digunakan pun,
misalnya nama gedung dan harga beli harus sesuai dengan deskripsi soal ini
Input dari user harus selalu divalidasi. Apabila input user tidak sesuai, maka harus
ada peringatan yang menginformasikan bahwa input salah dan harus
memberitahukan user contoh input yang benar.
Untuk mengimplementasikan fungsionalitas penyimpanan pada game, misalnya
save game dan load game, gunakan konsep file eksternal.
Berikan komentar pada kode yang dibuat. Usahakan agar kode yang dibuat benarbenar well-commented
Bagian bonus dikerjakan apabila semua spesifikasi utama telah diimplementasikan.
Apabila bonus telah dikerjakan tetapi terdapat spesifikasi utama yang belum
dikerjakan, maka bonus tersebut akan gugur.
Asumsi yang digunakan dalam pembuatan tugas besar ini diantaranya:
Tidak diberikan spesifikasi untuk tampilan board (area permainan Ganeca Lets
Get Rich). Oleh karena itu, tampilan dapat didesain sebagus mungkin dan dapat
dengan mudah dipahami oleh user. Meskipun begitu, harus tetap berpedoman pada
spesifikasi program yang telah didefinisikan.

Seorang pemain hanya dapat menyimpan sebuah permainan. Apabila pemain


menyimpan permainan berulang-ulang, maka permainan yang tersimpan adalah
permainan yang terakhir kali disimpan.

6.2 Notulen Rapat


17 November 2014 (11.00)

Board permainan dibuat dengan memanfaatkan ASCII Word Art dan fungsi go-to x y

Dilakukan clear screen setiap pergantian turn

25 November 2014 (15.00)

ADT Queue digunakan untuk menyimpan data pemain dan menentukan urutan pemain

ADT Stack digunakan pada kesempatan Undian

ADT List digunakan untuk menyimpan dan menampilkan data High Score

ADT File External Array digunakan untuk registrasi dan log in pemain

STEI- ITB

IF2111-TB-09-01

Halaman 24 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

29 November 2014 (16.00)

Data semua pemain ditampilkan pada layar

Daftar gedung yang dimiliki masing-masing ditampilkan pada layar

Masukan nama untuk login case sensitive

6.3 Log Activity Anggota Kelompok


No
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Tanggal
13 November
2014
14 November
2014
15 November
2014
16 November
2014
17 November
2014
18 November
2014
19 November
2014
20 November
2014
21 November
2014
22 November
2014
23 November
2014
24 November
2014
25 November
2014
26 November
STEI- ITB

Monika Tarsisia Nagoi


(18213007)
Membuat inisialisasi awal
permainan
-

Rana Nugramahesa
(18213011)
-

Jessica Nathania
(18213038)
Mulai mengerjakan board

Mengerjakan board

Membuat Queue
permainan
Memperbaiki Queue
permainan
-

Membuat List HighScore

Mengerjakan board

Membuat List HighScore

Mengerjakan board

Mengedit Board yang


dikerjakan JN
Membuat ADT pembacaan
file eksternal to array
Membuat ADT pembacaan
file eksternal to array
Mengerjakan ADT Rules
of game
-

Memperbaiki List
HighScore
-

Mulai mengerjakan
interface
Mengerjakan interface

Membuat Stack Undian

Mengerjakan interface

Mengerjakan interface

Mengerjakan ADT Rules


of game
Mengerjakan ADT Rules
of game
-

Memperbaiki bug

Memperbaiki ADT Rules


of Games
-

Mulai mengerjakan
TicTacToe
Mengerjakan TicTacToe

Mengerjakan ADT Rules

Mengerjakan TicTacToe

IF2111-TB-09-01

Halaman 25 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

15
16
17
18

2014
27 November
2014
28 November
2014
29 November
2014
30 November
2014
01 Desember 2014

19
20
21

02 Desember 2014
03 Desember 2014

Mengerjakan TicTacToe

Menerjakan TicTacToe

Mengerjakan TicTacToe

Memperbaiki bug

Memperbaiki bug

Memperbaiki bug

Mengerjakan prosedur
pembacaan&penulisan file
eksternal untuk list
highscore
Membuat program utama
Memperbaiki bug

Memperbaiki Stack
Undian

Mengerjakan interface dan


mengerjakan TicTacToe
Mengerjakan interface

04 Desember 2014

Menggabungkan interface
dengan program utama

05 Desember 2014

Memperbaiki bug

22
23

of game
Mengerjakan ADT Rules
of game
-

STEI- ITB

Mengecek program
utama
Menggabungkan
semuanya dan
mengerjakan laporan
Membuat Laporan

IF2111-TB-09-01

Mengerjakan interface
Memperbaiki interface dan
memperbaiki bug
Menggabungkan semuanya
dan mengerjakan laporan
Menggabungkan semuanya
dan mengerjakan laporan

Halaman 26 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

6.4 Lainnya

STEI- ITB

IF2111-TB-09-01

Halaman 27 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

STEI- ITB

IF2111-TB-09-01

Halaman 28 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

STEI- ITB

IF2111-TB-09-01

Halaman 29 dari 29 halaman

Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

Anda mungkin juga menyukai