IF2110 - 1 - 2015-2016 - Spesifikasi Tugas Besar
IF2110 - 1 - 2015-2016 - Spesifikasi Tugas Besar
mStudiTekniikInformatikka,STEI,ITB
TugasBeesarIF2110A
Algoritmada
anStrukturD
Data
Semesteer12015/20
016
LetsGeetWealthy
Penda
ahuluan
LINELettsGetRich(https://www
w.facebook.ccom/LineLetssGetRichOffiicial)merupaakanvariasiggame
Monopo
olyyangsanggatpopuler.Gameinidim
mainkanoleh24orangp
playerdiataasboardyangg
memiliki4sisi.Tujuaandarigame
einiadalahuuntukmenjadiplayeryan
ngpalingkayya.
Playerb
mbelipetak kotaataupe
berpindahsessuaidaduda
andapatmem
etakrekreasii.Playerdapat
mengam
mbilalihpetaakkotaselam
madipetakttersebutbelu
umdibangun
nlandmarkoolehplayerla
ain.
Petakreekreasitidakdapatdiamb
bilalih.
Deskrripsi Soal
Dalamtu
ugasbesarin
ni,Andadimintauntukm
membuatseb
buahprogram
myangmenssimulasikanLINE
LetsGetRich,yaituLetsGetWe
ealthy.Lets GetWealthyydiimplementasikandallambahasaC
Cdengan
mandlinedaninputdari keyborard.M
MasingmasingplayermeenggunakanhurufA
menggunakancomm
Dsebagaiidentifikassi,danuntukkmenandaipposisinyadan
nkepemilika
anasset.
RWA+SA//IF2110_1_2015
52016_SpesifikkasiTugasBesaar.docx03/1
11/2015 hal1dari9
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
Flow Utama
FlowutamagameLetsGetWealthydapatdilihatpadagambardibawahini.
Start
3orangsudah
bangkrut?
ya
End
tidak
Playeryang
mendapatgiliran
melempardadu
Playerpergike
petaksesuaidadu
Membayarpajak
Tax
Jenispetak?
Sudahadayang
punya?
kota
ya
Miliksendiri?
WorldCup
PilihhostWorldCup
tidak
ya
Upgrade
bangunan?
ya
Chance
Belikota?
Ambilkartuchance
Bayarsewa
ya
WorldTravel
Tempatwisata
Start/bonus
Gantikepemilkan
kota
Sudahadayang
punya?
Pergikepetakmana
pun
ya
Miliksendiri?
Mendapatuang
tidak
Bayarsewa
Gantigiliran
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal2dari9
Upgradebangunan
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
Contoh Board
BerikutadalahcontohboardpermainanLetsGetWealthydalamsituasibahwapemainsedang
beradadalampermainan.PerhatikanbahwaHurufA,B,CdanD,menunjukkanidentitaspemaindan
posisinyaditengahpermainan.PerhatikanbahwaDpadaposisistart,AsedangdiSeoul,dst.
PerhatikanjugabahwaA1menunjukkanbahwaAtelahmembelidanmemilikiSeoul.
Deserted
Island
Seoul
150K
A1
A
Tokyo
200K
C1
BC
Sydney
200K
Chance
Singapura
100K
Senggigi
160K
Kuta
200K
SaoPaolo
200K
World
Travel
Rome
200K
Moscow
150K
Geneva
150K
Chance
Berlin
220K
Bintan
150K
Denmark
200K
World
Cup
Start
D
Bangkok
200K
Beijing
120K
Bonus
Jakarta
100K
Ancol
160K
Taipei
90K
NewDelhi
100K
Tax
NewYork
300K
Chance
Paris
190K
London
210K
Hawai
200K
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal3dari9
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
e. Tax.Playeryangsinggahdiwajibkanmembayar10%darinilaiassetnya
f. Start.Petakuntukmemulaipermainan.Playeryangkembalikepetakstartakan
mendapatkansejumlahuang
g. DesertedIsland.Apabilaseorangplayermendapatkankartumasukpenjara,player
akanberadadipetakini.Playeryangmelewatiatauberhentidipetakinitidaksecara
langsungdipenjara.Playerdapatkeluardaripenjaradengancaramembayaratau
menggunakankartubebaspenjara.
h. WorldCup.Playeryangsampaipadapetakini,bisamemilihsalahsatupetakkota
yangdimilikinyauntukmenjadipenyelenggaraWorldCup.Kotayang
menyelenggarakanWorldCupakanmemilikiuangsewa2kalilipat
i. WorldTravel.Playeryangtibadikotaktravel,bisamemilihuntukpergikepetak
kotaataupetakrekreasimanapun
2. Banyaknyauangsewapadapetaktersebutapabilapetakberjeniskotaatautempatwisata
3. Pemilikpetakdaninfolevelbangunan
a. HurufADmenandakanpemilikproperti
b. Angka13menandakanlevelbangunan.Tempatpariwisatahanyadapatmemiliki
bangunanlevel1.
4. Playeryangsedangadadipetaktersebut.Infoplayeryangadadipetakdibedakandengan
infopemilikpetakberdasarkanada/tidaknyaangkadibelakanghurufAD.
Command
1. Melempardadu
Updateboardpadasaatplayersampaidisebuahpetak
Inputcommand:
>rolldice
Contohoutput:
>2+2=4
PlayerAsampaidiJakarta
PlayerAmembayarsewakePlayerBsebanyak200K
2. Melihathargajualpetak/properti
Inputcommand:
>info<namapetak>
Contohoutput:
>Jakarta,pemilikpropertiB,bangunanlevel1
>Biayasewa:200K
>Biayaambilalih:1M
>Biayaupgradebangunan:700K
3. Membelipetakyangsedangditempati
Updateboardjikapembelianpetakberhasil
Inputcommand:
>buy
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal4dari9
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
Contohoutputsukses:
>Selamat,kotaJakartakinimenjadimilikmu!
>Levelbangunan1
>Sisauangmu:300K
>PlayerAmendapatkanhasilpenjualansebesar1M
Contohoutputgagal:
>Uangmutidakcukupuntukmembelikotaini
4. Menawarkanpetakyangdimilikiuntukdijual.Petakyangdijualakandimasukkankedalam
sebuahlistoffered.Petakyangberadadilistinidapatdibelikapanpun.
Inputcommand:
>sell<namapetak>
Contohoutput:
>Jakartadimasukkankedalamlistpenjualan.JikaJakartaterjual,kamuakanmendapatkan
uanghasilpenjualan.
5. Menjualpetakkebank.Petakyangdijualakanlangsungdijualkebank.Petakyangadadi
dalamlistpetakpenjualandapatdijualjugakebank.
Inputcommand:
>sellbank<namapetak>
Contohoutput:
>Jakartadijualkebankdenganharga2M
>Uangmusekarang3M
6. Menampilkandaftarpetakyangditawarkandilistoffered.
Inputcommand:
>showoffered
Contohoutput:
>Jakarta,harga2,5M
Bali,harga3M
Surabaya,harga2M
7. Membelipetakdarilistoffered.Petakyangsudahdibeli,dikeluarkandaripetaklistoffered.
>buyoffered<namapetak>
Contohoutput:
>Balimenjadimilikmu!
Sisauangmu:1M
8. Mengupgradelevelbangunanyangsedangditempati
Updateboardjikaupgradebangunanberhasil
Inputcommand:
>upgrade
Contohoutputsukses:
>Selamat,bagunanmudiJakartamemilikilevel2!
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal5dari9
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
>Sisauangmu:200K
Contohoutputgagal:
>Uangmutidakcukupuntukmelakukanupgradebangunan
Untuksetiappembelianpetak,updateboard
9. Mendapatkankartuchance
Playermendapatkankartuchanceapabilasampaidipetakchance
Contohoutput:
>Kamumendapatkankartubebasdaripenjara.Simpankartuiniuntukpenggunaan
selanjutnya.
10. Membayarpajak
Playermembayarpajakapabilasampaidipetakpajak
Contohoutput:
>PajakBumidanBangunan,uangmuberkurang100K
Sisauang900K
11. Mendapatkanbonusuang
Playermendapatkanbonusapabilasampaidipetakbonusataumelewatistart
Contohoutput:
>Selamat,kamumendapatkan150K!
Uangkamusekarang1M50K
12. Board
Menampilkanboardpermainandansituasipermainan(posisisetiappemain,kepemilikan
properti,dll)
Inputcommand:
>board
Contohoutput:
><Tidakditampilkandisini.Lihatcontohboardpadabagiansebelumnya,tampilkandlm
bentukteksyangmendekatiboardtsb>
13. Leaderboard
Menampilkanurutankekayaanplayer.Kekayaandihitungberdasarkannilaijualasetdan
uangtunai
Inputcommand:
>leaderboard
Contohoutput:
>PlayerA3M
PlayerB2,5M
PlayerC2M
PlayerD2M
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal6dari9
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
14. PlayeryangtibadipetakWorldCupdapatmemilihkotayangakanmenjadihostWorldCup.
KotayangmenjadihostWorldCupakanmemilikiuangsewa2kalilipat,sampaiplayer
tersebutberputarmelewatipetakWorldCupsatukali.
Inputcommand:
>host<namakota>
Contohoutput:
>JakartamenjadihostWorldCup.UangsewadiJakartamenjadi1M.
15. PlayeryangtibadipetakWorldTraveldapatmemilihpetakyangingindikunjungi.
Inputcommand:
>travel<namakota>
Contohoutput:
PlayerAsampaiBangkok
16. Mengakhirigiliran
Inputcommand:
>endturn
Contohoutput:
>PlayerAmengakhirigiliran.GiliranplayerB!
17. Menyimpanpermainan
Inputcommand:
>save<namafile>
Contohoutput:
>Permainantelahdisimpankefile<namafile>
18. Meloadpermainan
Inputcommand:
>load<namafile>
Contohoutput:
>Permainandiloaddarifile<namafile>
Chance
Berikutinimerupakankartuchanceminimumyangharusdiimplementasikan.
1. Kartubebasdaripenjara
Hanyadapatdigunakanapabilaplayersedangadadipenjara(DesertedIsland)
Inputcommand:
>freeme
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal7dari9
ProgramStudiTeknikInformatika,STEI,ITB
TugasBesarIF2110AlgoritmadanStrukturData
Semester12015/2016
LetsGetWealthy
2. Kartubebaspajak
Hanyadapatdigunakanapabilaplayersedangberadadipetakpajak(tax)
Inputcommand:
>freetax
3. Kartumasukpenjara
Playeryangmendapatkartuinilangsungmasukpenjara(DesertedIsland).Playerdapat
keluardaripenjaramenggunakankartubebaspenjaraataumembayar.
4. Kartumatilampu
Playerdapatmenggunakankartuiniuntukmelakukansabotagekepetakyangdimilikiplayer
lain.Petakrekreasi/kotayangterkenaefekmatilampu,biayasewanya=0,sampaipemilik
melewatipetakStart
Inputcommand:
>off<namakota/tempatrekreasi>
Contohoutput:
>KotaJakartamilikPlayerAmatilistrik.BiayasewadikotaJakarta=0
>PlayerAmemilikikartuperlindungan
5. Kartuperlindungan
Playerdapatmenggunakankartuiniuntukmelindungikota/tempatrekreasidariserangan
sepertimatilampu.Kartuhanyadapatdigunakanapabilakota/tempatrekreasidiserang.
Inputcommand:
>protect<namakota/tempatrekreasi>
Contohoutput:
>PlayerAmenggunakankartuperlindungan.BiayasewadikotaJakartakembalinormal.
Game Over
Permainanberakhirapabilan1orangsudahbangkrut.Kondisibangkrutdinyatakandengantidak
adanyauangdantidakadapropertiyangdapatdijual.
Bonus
1. Reroll
Playeryangmendapatkanangkasamauntukkeduadadunya,memilikikesempatanuntuk
melempardadulagi
2. Landmark
Landmarkmerupakanbangunandenganleveltertentu(misalkan5).Apabilasebuahpetak
memilikilandmark,petaktersebuttidakdapatdibeliolehplayerlain
3. Blok
Blokterdiriatasbeberapakotayangberadapadapetakyangberdekatan.Contoh:NewYork
danBangkok.Apabilaseorangplayerdapatmemilikisemuakotayangberadapadasatu
blok,uangsewauntukmasingmasingkotadikalidua.
4. TourismMonopoli
Gameberakhirapabilasalahsatuplayermenguasaisemuapetakrekreasi
RWA+SA/IF2110_1_20152016_SpesifikasiTugasBesar.docx03/11/2015hal8dari9
Program
mStudiTekniikInformatikka,STEI,ITB
TugasBeesarIF2110A
Algoritmada
anStrukturD
Data
Semesteer12015/20
016
LetsGeetWealthy
5. TripleMono
opoli
Gameberakkhirapabilassalahsatuplaayermenguaasaitigabuahblok.
Implem
mentasi
1. Boarddanggilirandiimple
ementasikanndenganstrukturlistlinier.
entasikanda lamstrukturrtabelkontig
gu,denganaakseselemen
nsecara
2. KartuChanccediimpleme
random.
dankartuch
hancedisimppandalamse
ebuahfile.Inisialisasiboaarddankartu
uchance
3. Databoardd
dilakukandeenganmemb
bacafiletsb
Catata
an
ApabilaadaspessifikasiyangmenurutAnndabelumlengkap,Anda
adapatmenaambahkan
spessifikasitambahanAndassendiriataum
mengacuspe
esifikasibaru
u/tambahan berdasarkan
n
keseepakatanden
nganasistenkuliah/tugaas.
Selamatn
nubes!
RWA+SA//IF2110_1_2015
52016_SpesifikkasiTugasBesaar.docx03/1
11/2015 hal9dari9