BAB 3
ANALISIS DAN PERANCANGAN APLIKASI
3.1 Analisis
Dalam merancang suatu sistem diperlukan analisis terhadap sistem yang akan dirancang, dengan tujuan agar sistem yang dirancang nantinya akan menjadi tepat
guna dan ketahanan dari sistem tersebut akan lebih terjaga. Di samping itu dengan dilakukannya analisis kita akan dapat mempermudah kerja kita dalam membuat
sistem.
3.1.1 Representasi Lingkungan
Lingkungan merupakan suatu interaksi dari sebuah wadah atau tempat yang berkumpul sehingga terjadi tindakan saling timbal-balik. Gambar berikut merupakan
ilustrasi dari Magic square. 1
2 3
4 A
B C
D
Gambar 3.1 Ilustrasi Magic square
Dari ilustrasi diatas kita dapat melihat bahwa nantinya akan ada berkumpul beberapa nilai atau bilangan sebagai hasil dari suatu interaksi antara manusia user
dengan komputer sehingga terbentuknya suatu Magic square.
Universitas Sumatera Utara
3.1.2 Analisis Algoritma
Seperti yang telah dipaparkan pada bab sebelumnya, algoritma yang digunakan untuk membangun aplikasi ini adalah algoritma Runut-balik Backtraking.
Pada algoritma Backtracking, ada beberapa properti yang perlu dipertimbangkan yaitu properti solusi persoalan, properti komponen vektor solusi dan
properti kriteria pembatas. Berikut ini adalah penjabaran properti-properti tersebut.
1. Properti Solusi Persoalan
Properti solusi persoalan merupakan properti yang berisikan simpul-simpul solusi dari persoalan. Pada permainan magic square ini, simpul-simpul persoalan
merupakan kotak permainan yang tersedia pada papan matriks A, B, dan C. Kotak- kotak tersebut berisikan nilai dari 1-16.
S = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
2. Properti Komponen Vektor Solusi
Properti komponen vektor sulusi merupakan parameter yang digunakan untuk mengarahkan penelusuran simpul menuju ke arah solusi. Parameter ini terdiri atas
m, dan k. m untuk menyatakan titik koordinat dari matriks B dan k menyatakan titik koordinat pada matriks A. Dimana m memiliki parameter untuk menentukan
kolom dan baris yaitu x, dan y. x disini merupakan kolom dan y merupakan baris sehingga terjadi titik koordinat mx,y. Begitu juga untuk parameter k, juga
memiliki parameter untuk kolom dan baris yaitu i, dan j. Dimana I merupakan kolom dan j merupakan baris dan titik koordinat ki,j.
3. Properti Kriteria Pembatas
Properti kriteria pembatas merupakan properti yang berupa fungsi untuk menentukan apakah simpul-simpul mengarah ke solusi. Kriteria pembatas yang
diterapkan pada algoritma Backtracking ini, mengacu pada strategi yang akan
Universitas Sumatera Utara
dipakai pada permainan magic square. Strategi tersebut adalah memindahkan semua nilai yang ada pada matriks B ke matriks A dengan mencari nilai yang tepat
pada kriteria yang telah ditentukan sistem yaitu 34 sehingga terjadi urutan nilai yang acak.
Berikut ini adalah pseudocode penerapan algoritma runut balik backtracking pada permainan magic square.
procedure Backtrackinput n: integer {mencari solusi persoalan versi iteratif;
Masukan : n, yaitu panjang vektor solusi Keluaran : solusi x =x[1],…, x[n]
} Deklarasi:
k : integer Algoritma:
k ←
1 while k 0 do
if x[k] belum dicoba sampai x[k]
_ T[k
and Bx[1], x[2], ..., x[n] = true then
ifx[1],x[2],...,x[k]adalah lintasan akar ke daun
then CetakSolusix
endif k
← k+1
else k
← k-1
endif endwhile
{k=0}
Berikut ini adalah contoh kasus untuk penelusuran algoritma runut balik backtrackinng pada permainan magic square.
Matriks A Matriks B Matriks C
Gambar 3.2 Matriks A Jalannya Solusi, Matriks B Sample, Matriks C Hasil dari Solusi
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
Universitas Sumatera Utara
Gambar 3.2 diatas merupakan gambar keadaan awal dari papan matriks A, matriks B, dan Matriks C. Berdasarkan gambar diatas, maka penelusuran pertama
berjalan dimulai dari m1,1 yang nilainya 1 dan akan masuk ke k1,1 jika nilai tersebut dapat memenuhi kriteria yang telah ditentukan sistem dan berlanjut
penelusuran untuk k1,2 dan nilai pada m1,2 masih memenuhi kriteria maka akan dipindahkan sampai ke tingkat tertinggi sehingga untuk nilai k1,3 = m4,3 dan
k1,4 = m4,4. Penelusuran yang terjadi sebenarnya masih mencari nilai horisontal saja sebagai contoh untuk penelusuran vertical dan penelusuran diagonal karena kedua
penelusuran ini memiliki sifat menunggu dari penelusuran horisontal.
Pada penelusuran selanjutnya untuk mendapatkan nilai k2,1, maka yang berjalan disini adalah penelusuran horisontal dan penelusuran vertikal untuk
mendapatkan nilai maksimal sehingga didapat nilai dari matriks B adalah m3,4. Untuk penelusuran pada k2,2 yang berjalan adalah penelusuran horisontal,
penelusuran vertikal dan penelusuran diagonal. Untuk memperjelas semua nilai yang berpindah kita lihat gambar pohon ruang status di bawah ini:
1. Penelusuran Horisontal
Gambar 3.3 Pohon Ruang Status Terhadap Nilai Horisontal
34
12 13
8 1
2 14
7 11
15 3
10 6
16 5
4 9
m=1
m=1+2
m=1+2+15
m=1+2+15+16 m=12 m=13
m=8
m=12+14
m=12+14+3
m=12+14+3+5 m=13+7
m=13+7+10
m=13+7+10+4 m=8+11
m=8+11+6
m=8+11+6+9
Universitas Sumatera Utara
2. Penelusuran Vertikal
Gambar 3.4 Pohon Ruang Status Terhadap Nilai Vertikal
3. Penelusuran Diagnoal
Gambar 3.5 Pohon Ruang Status Terhadap Nilai Diagonal
34
2 15
16 1
12 14
3 5
13 7
10 4
8 11
6 9
m=1
m=1+12
m=1+12+13
m=1+12+13+8 m=2
m=15 m=16
m=2+14
m=2+14+7
m=2+14+7+11 m=15+3
m=15+3+10
m=15+3+10+6 m=16+5
m=16+5+4
m=16+5+4+9
m=1
m=1+14
m=1+14+10
m=1+14+10+9 m=16
m=16+3
m=16+3+7
m=16+3+7+8
34
16 1
14 3
10 7
9 8
Universitas Sumatera Utara
3.2 Perancangan Sistem