• Tidak ada hasil yang ditemukan

PROPOSAL TUGAS BESAR ALGORITMA DAN STRUKTUR DATA (ASD) - 2048

N/A
N/A
Protected

Academic year: 2021

Membagikan "PROPOSAL TUGAS BESAR ALGORITMA DAN STRUKTUR DATA (ASD) - 2048"

Copied!
14
0
0

Teks penuh

(1)

LAPORAN TUGAS BESAR  LAPORAN TUGAS BESAR 

DASAR ALGORITMA & PEMOGRAMAN DASAR ALGORITMA & PEMOGRAMAN

JUDUL PROGRAM JUDUL PROGRAM “2048”  “2048”  BIDANG KEGIATAN: BIDANG KEGIATAN: MATH GAMES MATH GAMES

Diusulkan oleh:

Diusulkan oleh:

Dhia Aziz

Dhia Aziz Rizqi Arrahman

Rizqi Arrahman (Ketua/13011

(Ketua/1301140364/2014)

40364/2014)

Lann

Lann !e"tiani

!e"tiani (An##ota1/1301

(An##ota1/1301144034/20

144034/2014)

14)

Renal$

Renal$ %ar$anto

%ar$anto (An##ota2/1301

(An##ota2/1301144334/20

144334/2014)

14)

&u$i

&u$i !antiko

!antiko (An##ota3/1301

(An##ota3/1301144404/20

144404/2014)

14)

UNIVERSITAS TELKOM UNIVERSITAS TELKOM BANDUNG BANDUNG 2014 2014 1 1

(2)

RINGKASAN RINGKASAN

'roek an# kami uat untuk tu#as esar mata kuliah Dasar al#oritma  "emo#raman kali

'roek an# kami uat untuk tu#as esar mata kuliah Dasar al#oritma  "emo#raman kali

ini a$alah *ame+ ,u$ul #ame ini a$alah -204.+ *ame ini termasuk kate#ori #ame "uzzle

ini a$alah *ame+ ,u$ul #ame ini a$alah -204.+ *ame ini termasuk kate#ori #ame "uzzle

matematika an# uku" menarik $an $a"at memuat "en##unana keta#ihan+ !elain $a"at

matematika an# uku" menarik $an $a"at memuat "en##unana keta#ihan+ !elain $a"at

men#hiur #ame ini u#a interakti $an

men#hiur #ame ini u#a interakti $an $a"at men#asah kemam"uan erhitun# "en##unana+

$a"at men#asah kemam"uan erhitun# "en##unana+

Di$alam #ame ini "emain harus men#um"ulkan eera"a an#ka hin##a erumlah 204.+

Di$alam #ame ini "emain harus men#um"ulkan eera"a an#ka hin##a erumlah 204.+

An#ka an# $ise$iakan hana an#ka an#ka #ena" saa+

(3)

A

A.. JJUUDDUULL

,u$ul #ame an# kami aukan a$alah

,u$ul #ame an# kami aukan a$alah

2048.2048.

B.

B. LALATTAR BAR BELAELAKANKANG MASAG MASALAHLAH

!aat ini teknolo#i su$ah san#at erkeman#+ &e#itu "ula er$am"ak "a$a #ame#ame an#

!aat ini teknolo#i su$ah san#at erkeman#+ &e#itu "ula er$am"ak "a$a #ame#ame an#

$ita5arkan "a$a #a$#et an$a+ A"aila kita menari #ame maka akan anak ermunulan

$ita5arkan "a$a #a$#et an$a+ A"aila kita menari #ame maka akan anak ermunulan

 anak

 anak u$ul

u$ul #ame

#ame an#

an# tentuna

tentuna memiliki

memiliki iri

iri khas

khas masin#masin#+

masin#masin#+ Dari

Dari sekian

sekian anak 

anak 

#ame an# su$ah a$a saat ini eera"a $iantarana $a"at $iuat melalui "ro#ram "asal+

#ame an# su$ah a$a saat ini eera"a $iantarana $a"at $iuat melalui "ro#ram "asal+

er

ermas

masuk salah

uk salah sat

satu

u #am

#ame

e an

an#

# uk

uku" menari

u" menarik

k ak

akni

ni #am

#amee

20482048

+ *ame ini se$erhana

+ *ame ini se$erhana

namun $a"at memuat "en##unana keta#ihan untuk ermain+ !elain menarik #ame ini u#a

namun $a"at memuat "en##unana keta#ihan untuk ermain+ !elain menarik #ame ini u#a

$a"at men#asah kemam"uan erhitun# an$a+ !ehin##a kami memutuskan untuk memuat

$a"at men#asah kemam"uan erhitun# an$a+ !ehin##a kami memutuskan untuk memuat

#ame 204. ini untuk tu#as Dasar al#oritma  "emo#raman kali ini+

#ame 204. ini untuk tu#as Dasar al#oritma  "emo#raman kali ini+

C.

C. RURUMUMUSAN SAN MAMASALSALAHAH

1

1++ A

A"

"a i

a ittu #

u #aam

mee

20482048

77

2+

2+ &a

&a#a

#aim

iman

ana ar

a ara mem

a memu

uat #a

at #ame

me

20482048

men##unakan "asal7

men##unakan "asal7

D

D.. TTUUJJUUAANN

1+

1+ 8nt

8ntuk me

uk men#e

n#etah

tahui le

ui leih $a

ih $alam me

lam men#e

n#enai #a

nai #ame

me

20482048

2+

2+ 8nt

8ntuk m

uk men#

en#etah

etahui 

ui ara m

ara mem

emuat

uat #am

#amee

20482048

 melalui "asal

 melalui "asal

3 3

(4)

E.

E. PEPERSRSOAOALLAANN

8ntuk memenuhi tu#as Dasar al#oritma  "emo#raman kami memuat seuah "ro#ram

8ntuk memenuhi tu#as Dasar al#oritma  "emo#raman kami memuat seuah "ro#ram

#

#am

ame

e $e

$en

n#a

#an

n u

u$

$ul

ul

20482048

+

+ *

*aam

mee

22004488

a$

a$ala

alah

h se

seua

uah

h #a

#ame

me "u

"uzzl

zzle

e mat

matem

emati

atika

ka a

an#

n#

memutuhkan strate#i untuk mena"ai an#ka

memutuhkan strate#i untuk mena"ai an#ka

20482048

+ Dalam #ame ini terse$ia eera"a kotak 

+ Dalam #ame ini terse$ia eera"a kotak 

koson# an# nantina eera"a kotak akan $iisi oleh an#ka 2 atau 4 seara ran$om+ Kotak 

koson# an# nantina eera"a kotak akan $iisi oleh an#ka 2 atau 4 seara ran$om+ Kotak 

akan er#eser ketika

akan er#eser ketika "emain menekan salah

"emain menekan salah satu tomol arah

satu tomol arah "a$a keoar$

"a$a keoar$+ An#kaan

+ An#kaan#ka

#ka

$alam kotak terseut hana isa $iumlahkan $en#an an#ka an# sama (misalkan an#ka 2

$alam kotak terseut hana isa $iumlahkan $en#an an#ka an# sama (misalkan an#ka 2

hana isa $iumlahkan $en#an an#ka 2 la#i an# akan men#hasilkan an#ka 4 "a$a satu

hana isa $iumlahkan $en#an an#ka 2 la#i an# akan men#hasilkan an#ka 4 "a$a satu

kotak) $an seterusna+ uuan $ari #ame ini a$alah menumlahkan an#ka an#ka an# a$a

kotak) $an seterusna+ uuan $ari #ame ini a$alah menumlahkan an#ka an#ka an# a$a

 "a$a

 "a$a kotak

kotak hin##a

hin##a munul

munul kotak

kotak $en#an

$en#an umlah

umlah an#ka

an#ka

20482048

+ An#ka 2 atau 4 akan munul

+ An#ka 2 atau 4 akan munul

seara

seara

randomrandom

ketika "emain menekan tomol arah+

ketika "emain menekan tomol arah+

'a"an skor $ikanan atas akan terus mem"erarui skor "emain+ !kor "emain era5al $ari

'a"an skor $ikanan atas akan terus mem"erarui skor "emain+ !kor "emain era5al $ari

an#ka nol lalu ertamah ketika $ua kotak er#aun# $an mementuk kotak ernomor aru

an#ka nol lalu ertamah ketika $ua kotak er#aun# $an mementuk kotak ernomor aru

$an seterusna seirin# $en#an kotak kotak an# erhasil $iumlahkan+ !e"erti "ermainan

$an seterusna seirin# $en#an kotak kotak an# erhasil $iumlahkan+ !e"erti "ermainan

arcade

arcade

 lainna skor teraik "emain akan $itam"ilkan ersan$in#an $en#an skor saat itu+

 lainna skor teraik "emain akan $itam"ilkan ersan$in#an $en#an skor saat itu+

'emain aru menan# ketika seuah kotak ernomor

'emain aru menan# ketika seuah kotak ernomor

20482048

 munul $i "a"an+ !etelah mena"ai

 munul $i "a"an+ !etelah mena"ai

skor tar#et "emain masih isa

skor tar#et "emain masih isa terus ermain hin##a mena"ai skor an#

terus ermain hin##a mena"ai skor an# tin##

tin##i+ 'ermainan

i+ 'ermainan

akan terhenti ketika ti$ak a$a la#i ruan# koson# an# isa $i#eserkan karena an#ka an#ka $i

akan terhenti ketika ti$ak a$a la#i ruan# koson# an# isa $i#eserkan karena an#ka an#ka $i

 "a"an ti$ak isa la#i $iumlahkan+

(5)

F

F.. FUFUNGNGSIOSIONANALILITTAASS 9ena5

9ena5a "ersoalan a "ersoalan $iata$iatas  s  kami memuakami memuat suatu "ro#ram an# memilikt suatu "ro#ram an# memiliki un#sionali un#sionalitas sea#aiitas sea#ai  erikut :

 erikut : 1

1++ nn""uut t DDiirreettioionn  'erintah an# $iin"utkan oleh user untuk menentukan arah sea#ai 'erintah an# $iin"utkan oleh user untuk menentukan arah sea#ai lan#kah selanutna

lan#kah selanutna 2+

2+ A$A$$ $e$ $eleletete e$i e$it nilt nilai taai tallee  'erintah untuk menamahkan nilai "a$a tale koson#  'erintah untuk menamahkan nilai "a$a tale koson# men#e$it nilai kolom ernilai sa

men#e$it nilai kolom ernilai sama $an men#ha"uskan taael "enumlah seelumna+ma $an men#ha"uskan taael "enumlah seelumna+ 3+

3+ 'en'en#i#isiasian tan tale kosle kosonon# se# searara rana ran$o$omm erisi "erintah untuk men#eek "osisi"osisi erisi "erintah untuk men#eek "osisi"osisi tael an# memiliki nilai koson# kemu$ian men#in"utkan nilai 2 atau 4 seara ran$om $i tael an# memiliki nilai koson# kemu$ian men#in"utkan nilai 2 atau 4 seara ran$om $i salah satu tael koson# ta$i+

salah satu tael koson# ta$i+ 4

4++ 220044..;;  "erintah an# $ilakukan seara erkala untuk men#eek a$a ti$akna kolom "erintah an# $ilakukan seara erkala untuk men#eek a$a ti$akna kolom an# ernilai 204. an# meru"akan kon$isi untuk

an# ernilai 204. an# meru"akan kon$isi untuk men#akhiri #ame+men#akhiri #ame+ <

<++ !!oorree meru"akan "erintah untuk menamah sore $ari "eruatan sesuai kolomkolommeru"akan "erintah untuk menamah sore $ari "eruatan sesuai kolomkolom an

an# # salsalin# in# $i $i umumlahlahkankan+ + A"A"aiaila la teltelah ah menmenemuemukan kan a#na#nka ka 204204. . akaakan n $i$ieri eri sosorere tamahan+

tamahan+ 6

6++ ==iiee5 r5 raannkkiinn##'erintah untuk menam"ilkan urutan sore an# tersi'erintah untuk menam"ilkan urutan sore an# tersi m"an+m"an+ >

>++ **amame e oo??eerr  'erintah untuk "en#eekan kon$isi #ame  'erintah untuk "en#eekan kon$isi #ame telah erakhir atau tu$ak telah erakhir atau tu$ak 

5 5

(6)

*+

*+ SPESIFIKASI PENJELASAN PROGRAM DASPESIFIKASI PENJELASAN PROGRAM DA N FUNGSIONALITASN FUNGSIONALITAS

'a$a "ro#ram ini an#kaan#ka #ena" an# akan $imainkan $isim"an $alam arra $ua $imensi 'a$a "ro#ram ini an#kaan#ka #ena" an# akan $imainkan $isim"an $alam arra $ua $imensi an# ter$i

an# ter$iri $ari 4 uah kolom $an 4 uah aris+ ri $ari 4 uah kolom $an 4 uah aris+ !e$an#!e$an#kan "roekan "roe$ure $an un$ure $an untion $iuation $iuatt  er$asarkan @un#sionalitas an# telah $itentukan 

 er$asarkan @un#sionalitas an# telah $itentukan akni:akni: 1+

1+ nn"u"ut Dt Dirireetitioonn 'ro

'roe$e$ure ure nDnDireiretiotion n   'ro'roe$e$ure ure anan# # ererisi isi "er"erintintah ah untuntuk uk menmen#in#in"ut"utkankan arah(u"$o5nletri#ht) sea#ai lan#kah selanutna $alam "ermainan+

arah(u"$o5nletri#ht) sea#ai lan#kah selanutna $alam "ermainan+

@untion BekA?ailale  @un#si erti"e an# men#emalikan nilai oolean untuk  @untion BekA?ailale  @un#si erti"e an# men#emalikan nilai oolean untuk  men#eek a"akah ter$a"at kolom an# ias koson# $an isa $iumlahkan sesuai men#eek a"akah ter$a"at kolom an# ias koson# $an isa $iumlahkan sesuai ketentuan a"aila alse maka akan men#ulan#

ketentuan a"aila alse maka akan men#ulan# ke "roe$ure nDiretion+ke "roe$ure nDiretion+

2+

2+ A$A$$ $$ $eleletete ee e$i$it nit nilalai tai talele

er$iri $ari un#si a$$ tale an# men#emalikan nilai inte#er $ari tael koson# er$iri $ari un#si a$$ tale an# men#emalikan nilai inte#er $ari tael koson# men

mena$a$i i erernilnilai ai unun#si #si e$ie$it t tatale le anan# # menmen#em#emalalikaikan n nilnilai ai intinte#ee#er r $en$en#an#an menumlahkan antara 2 uah tael $an un#si $elete tael an# men#emalikan nilai menumlahkan antara 2 uah tael $an un#si $elete tael an# men#emalikan nilai inte#er $en#an meruah tael an# menumlahkan mena$i nol+

inte#er $en#an meruah tael an# menumlahkan mena$i nol+ 3+

3+ 'en'en#is#isian ian tatale kle kosooson# n# seaseara rra ran$an$omom Den#a

Den#an n memanmemanaatkaaatkan n "roe"roe$ure $ure siRasiRan$om an# n$om an# men#hmen#hasilkan nilai asilkan nilai inte#inte#er er "a$a"a$a salah satu tael an# ernilai koson# untuk $imasukkan nilai 2 atau 4 seara ran$om salah satu tael an# ernilai koson# untuk $imasukkan nilai 2 atau 4 seara ran$om  aik "emilihan taelna atau"un "emilihan an

 aik "emilihan taelna atau"un "emilihan an#kana+#kana+ 4

4++ 220044..;; &eris

&erisi i @un#s@un#si i Bek2Bek204. an# 04. an# eruerun#si untuk n#si untuk men#men#eek keera$aaeek keera$aan n kolom an#kolom an#  ernilai

 ernilai 204. 204. a"aila a"aila ter$a"at ter$a"at nilai nilai 204. 204. maka maka #ame #ame akan akan erakhir erakhir $en#an $en#an kon$isikon$isi menan#+

menan#+ <

<++ !!oorree !o

!ore re mermeru"au"akan kan tuutuuan an anan# # $i$iari ari "a$"a$a a #am#ame e iniini  untuntuk uk memen$an$a"at"atkan kan sosorere $i#unakan un#si sumsore an# men#emalikan nilai inte#er $en#an menumlahkan $i#unakan un#si sumsore an# men#emalikan nilai inte#er $en#an menumlahkan sore itu sen$iri er$asarkan "enumlah kolom an# $i"roses "a$a un#si e$it tale sore itu sen$iri er$asarkan "enumlah kolom an# $i"roses "a$a un#si e$it tale seelumna+ !ore $imulai $ari nilai nol+ !ore $isim"an $alam entuk

seelumna+ !ore $imulai $ari nilai nol+ !ore $isim"an $alam entuk ile se$erhanaile se$erhana  eru"a entuk teks+

 eru"a entuk teks+ 6

6++ ==iiee5 r5 raannkkiinn##

&erisi "roe$ure =ie5Rank untuk memunulkan $ata rankin# er$asarkan sore &erisi "roe$ure =ie5Rank untuk memunulkan $ata rankin# er$asarkan sore an#an# telah $isortin# $ari tin##i ke ren$ah seelumna+ Rankin# hana menam"un# 10 $ata telah $isortin# $ari tin##i ke ren$ah seelumna+ Rankin# hana menam"un# 10 $ata  a$i $ata an# terkeil akan tereleminasi+

 a$i $ata an# terkeil akan tereleminasi+

>

(7)

&eris

&erisi i "roe"roe$ure Bek!te" untuk $ure Bek!te" untuk men#men#eek masih eek masih ter$ater$a"at lan#kah atau "at lan#kah atau ti$ak untuk ti$ak untuk  melanutkan "ermainan ini an# $iek a$alah a$a ti$akna ilan#an an# $a"at melanutkan "ermainan ini an# $iek a$alah a$a ti$akna ilan#an an# $a"at $iumlah $an anakna kotak koson# a"aila ti$ak ter$a"at ilan#an an# $a"at $iumlah $an anakna kotak koson# a"aila ti$ak ter$a"at ilan#an an# $a"at $iumlah $an semua kotak "enuh maka

$iumlah $an semua kotak "enuh maka #ame akan erkahir+#ame akan erkahir+

'ro#ram $alam al#oritma:

'ro#ram $alam al#oritma:

7 7

(8)
(9)

9 9

(10)
(11)

11 11

(12)
(13)

'ro#ram ketika $i Run

'ro#ram ketika $i Run

13 13

(14)

K!9'8LAE

K!9'8LAE

*ame 204. an# kami uat men##unakan ahasa "asal memerlukan sekirana <00 aris+

*ame 204. an# kami uat men##unakan ahasa "asal memerlukan sekirana <00 aris+

Dalam "ro#ram an# kami uat $iutuhkan anak "rose$ur $an un#si+ *ame an# kami

Dalam "ro#ram an# kami uat $iutuhkan anak "rose$ur $an un#si+ *ame an# kami

 uat men#a$o"si #ame aslina aitu 204.

Referensi

Dokumen terkait

• Suatu metode pengurutan yang membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen yang lain yang lebih kecil daripada

pengecekan apakah tiap node yang dilewati dari leaf hingga kembali ke root, apakah masih balance atau tidak.. Bila seluruh node yang dilewati hingga

Pendekatan yang digunakan di dalam algoritma greedy adalah membuat pilihan yang “tampaknya” memberikan perolehan terbaik, yaitu dengan membuat pilihan optimum lokal

Pokok pembahasan mata kuliah ini adalah konsep algoritma, dasar pemrograman dan struktur bahasa pemrograman C++, perintah dasar seperti input output, preprosesor

Kita sebagai pengguna dari kayu yang setiap jenisnya mempunyai sifat-sifat yang berbeda, perlu mengenal sifat-sifat kayu setiap tersebut sehingga dalam pemilihan atau

 Kasus 1: Jika X lebih kecil dari bilangan ditengah, maka hanya perlu lihat sub array bagian kiri.  Kasus 2: Jika X lebih besar dari bilangan ditengah, maka hanya perlu lihat

Pada perencanaan balok-balok induk dan portal-portal dari sistem struktur pemikul beban dari suatu gedung maka untuk memperhitungkan peluang terjadinya nilai-nilai

Istilah  undirected graph  directed graph  adjacent vertices: adalah simpul-simpul yang dihubungkan oleh sebuah sisi edge ‏  degree of a vertex: adalah jumlah simpul lain yang