Activity Diagram Sequence Diagram Flowchart menentukan langkah terbaik

Precondition Pengguna menekan button mulai pada tampilan awal sistem Post Condition Program mulai menjalankan proses dan menampilkan langkah-langkah yang diambil sistem Success Scenario 1. Pengguna menekan tombol start 2. Sistem menampilkan halaman generate and test 3. Sistem menjalankan perhitungan dan menampilkan langkah-langkah yang diambil 4. Sistem mencapai nilai 2048 Alternative Flows 1. Pengguna menekan tombol start 2. Sistem menampilkan halaman generate and test 3. Sistem menjalankan perhitungan dan menampilkan langkah-langkah yang diambil 4. Sistem kehabisan langkah dan berhenti

3.2.2 Activity Diagram

Activity diagram merupakan gambaran dari alur aktivitas sistem. Berikut ini activity diagram untuk masing-masing use case yang terdapat dalam sistem ini. Universitas Sumatera Utara Gambar 3.3 Activity Diagram Generate and Test

3.2.3 Sequence Diagram

Proses pencarian jarak terpendek menggunakan metode Generate and Test adalah dengan melakukan pembangkitan rute-rute dengan DFS Depth First Search, Backtracking serta proses pencarian serta informasi hasil pencarian jarak terpendek yang dalam penelitian ini digambarkan sebagai sequence diagram seperti pada Gambar 3.4. Universitas Sumatera Utara Gambar 3.4 Sequence Diagram Generate and Test 3.3 Flowchart Sistem Berdasarkan penjelasan sebelumnya, maka dapatlah digambarkan flowchart metode Generate and Test dalam mencari jarak terpendek dapat dilihat seperti pada Gambar 3.5. Universitas Sumatera Utara Gambar 3.5 Flowchart Sistem n = bilangan bulat jumlah rute backtracking 1,2,3 … Begin Terminate? I7 I = 1 I ++ Simpan posisi langkah yang akan keluar Generate block baru simpan posisinya END Y Y N N Tentukan langkah terbaik dan lakukan langkah terbaik Mencapai 2048 Y N Universitas Sumatera Utara

3.3.1 Flowchart menentukan langkah terbaik

Gambar 3.6 Flowchart Langkah Terbaik 3.4 Pseudocode Sistem Untuk lebih memahami sistem yang akan dibuat, maka berikut pseudocode program AI dari sistem yang akan dibuat. Dalam pembuatan AI generate and test terdapat 3 buah prosedur utama untuk membangkitkan langkah dan menjalankan langkah terbaik,yaitu 1. Reset Node; 2. ContinueAI; Pdeudocode reset node adalah sebagai berikut: 1. for int i = 0; i myNode.Length; i++ Begin Mengambil posisi dan angka yang digenerate Menentukan langkah yang menyisakan banyak kotak kosong End Menentukan langkah dengan nilai tertinggi Simpan Universitas Sumatera Utara 2. { 3. myNode[i].intAngkaTinggi = 0; 4. myNode[i].intSisaKotak = 0; 5. myNode[i].intPosisiKeluar = -1; 6. myNode[i].BoardAktif = ; 7. myNode[i].isIdle = false; 8. } 9. strSaveDataAIArah = ; 10. strSaveDataAISpawn = ; 11. for int j = 0; j strRandSpawn6.Length; j++ strRandSpawn6[j] = myModule.RandomItemInString0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; 12. ContinueAI; 13. } Keterangan: Tujuan dari prosedur ini adalah untuk mereset semua variabel yang telah dibangkitkan pada langkah sebelumnya. Semua variabel yang akan digunakan akan dikosongkan kemudian prosedur Continue AI akan dibangkitkan. Berikut merupakan detail penjelasan pseudocode untuk prosedur reset: 1 for int i = 0; i myNode.Length; i++ myNode.Length merupakan jumlah panjang dari node yang dibangkitkan generated. Untuk setiap node, dilakukan pembersihan untuk variabel yang terbentuk. 2 Untuk baris 2 sampai 7 merupakan variabel yang akan mereset node yang digunakan. a. myNode[i].intAngkaTinggi merupakan array variabel untuk menampung nilai tertinggi dalam permainan; b. myNode[i].intSisaKotak merupakan array variabel untuk menyimpan jumlah kotak kosong yang terdapat dalam permainan; c. myNode[i].intPosisiKeluar merupakan array variabel untuk menyimpan posisi kotak baru yang akan ditampilkan; d. myNode[i].BoardAktif merupakan array variabel untuk menyimpan posisi object yang merupakan hasil dari pembangkitan sebelumnya; e. myNode[i].isIdle merupakan array boolean yang akan menampung nilai object ketika tidak bergerak dari posisi sebelumnya 3 strSaveDataAIArah merupakan array variabel untuk menyimpan arah yang akan ditempuh. 4 strSaveDataAISpawn merupakan array variabel untuk menyimpan tempat posisi kotak baru yang akan keluar. 5 Baris sebelas merupakan perulangan untuk membangkitkan posisi kotak baru Universitas Sumatera Utara 6 Pemanggilan prosedur continue ai Pseudocode ContinueAI adalah sebagai berikut: 1 for int k = 0; k myNode.Length; k++ 2 { 3 if k == 0 intCurSpawn5 = 0; 4 else if k == 4 intCurSpawn5 = 1; 5 else if k == 20 intCurSpawn5 = 2; 6 else if k == 84 intCurSpawn5 = 3; 7 else if k == 340 intCurSpawn5 = 4; 8 simulator4k; 9 } 10 int getTmpIdx = 340; 11 int intAngkaTinggi = 0; 12 int intSisaKotak = 0; 13 for int v = 340; v myNode.Length; v++ 14 { 15 if myNode[v].isIdle intAngkaTinggi myNode[v].intAngkaTinggi || intAngkaTinggi == myNode[v].intAngkaTinggi intSisaKotak myNode[v].intSisaKotak 16 { 17 getTmpIdx = v; 18 intAngkaTinggi = myNode[v].intAngkaTinggi; 19 intSisaKotak = myNode[v].intSisaKotak; 20 } 21 } 22 for int w = 5; w 0; w-- 23 { 24 strSaveDataAIArah = myModule.AddItemReversedstrSaveDataAIArah, myNode[getTmpIdx].strArah; 25 strSaveDataAISpawn = myModule.AddItemReversedstrSaveDataAISpawn, myNode[getTmpIdx].intPosisiKeluar.ToString; 26 for int x = 0; x myNode.Length; x++ 27 { 28 if myNode[x].strNodeId == myNode[getTmpIdx].strNodeIdParent 29 { 30 getTmpIdx = x; 31 } 32 } 33 } 34 myController_Gameplay.intUpdate = 10; 35 } Universitas Sumatera Utara Keterangan: Tujuan dari prosedur continueAI adalah untuk menyimpan array langkah kemudian memilih langkah terbaik kemudian melakukan trace up untuk langkah yang terbaik.

3.5 Perancangan Antarmuka Pengguna User Interface

Dalam membangun sebuah sistem perlu adanya perancangan antarmuka User Interface yang nantinya sangat membantu memudahkan pengoperasian sistem. Dalam merancang antarmuka pengguna, ada beberapa syarat yang harus dipenuhi agar tercipta sebuah perangkat lunak yang mudah dan informatif untuk pengguna user friendly. Gambar 3.7 Rancangan Tampilan Pertama Keterangan: 1. Tampilan Judul program 2. Button Start yang akan menjalankan proses Generate and Test 3. Tampilan nama dan identitas pembuat program. Tampilan menu utama hanya memiliki 1 Button yaitu tombol Start untuk memulai dan berisi tentang beberapa informasi tentang pembuat program. Ketika tombol Start ditekan maka akan dilanjutkan langsung pada tampilan permainan. 1 2 3 Universitas Sumatera Utara