Pemodelan Analisis Perbandingan Algoritma Greedy Dan Brute Force Dalam Percarian Kartu Tertinggi Pada Kartu Remi

3.1.2.2 Persyaratan Non-Fungsional Sistem

1. Sistem dapat menyimpan data mulai dari waktu eksekusi setiap algoritma, kartu tertinggi dan sisa kartu akhir sebanyak n percobaan. 2. Sistem dapat membuat grafik waktu eksekusi setiap algoritma, kartu tertinggi dan sisa kartu akhir sebanyak n percobaan.

3.2 Pemodelan

3.2.1 Flowchart Gambaran Umum Sistem

3.2.1.1 Flowchart Algoritma Greedy

Berdasarkan penjelasan sebelumnya maka dapat digambarkan flowchart algoritma Greedy seperti pada gambar 3.2. Universitas Sumatera Utara Ya Tidak Gambar 3.2 Flowchart pencarian kartu tertinggi dengan Greedy Sorting nilai corak dengan selection sort Urutan kartu berdasarkan nilai corak tertinggi 52 Kartu Sisa kartu = 7 Generate Sebanyak 7 - Sisa Kartu Hasil Kartu tertinggi Input 7 kartu Start End Universitas Sumatera Utara

3.2.1.2 Flowchart Algoritm Brute Force

Berdasarkan penjelasan sebelumnya maka dapat digambarkan flowchart algoritma Brute Force seperti pada gambar 3.3. Ya Tidak Gambar 3.3 Flowchart pencarian kartu dengan Brute Force Brute Force 52 Kartu Sisa kartu = 7 Generate Sebanyak 7 - Sisa Kartu Hasil Kartu tertinggi Input 7 kartu Start End Universitas Sumatera Utara

3.2.2 Unified Modeling Language UML

UML Unifield Modelling Language digunakan sebagai bahasa pemodelan untuk mendesain dan merancang sistem pencarian kartu tertinggi dengan algoritma Greedy dan Brute Force. Model UML yang digunakan antara lain use case diagram dan activity diagram .

3.2.2.1 Use Case Diagram

Use case diagram menggambarkan bagaimana orang berinteraksi dengan sistem. Sebuah use case mempresentasikan sebuah interaksi antara aktor dengan sistem. Secara umum Use case diagram algoritma Greedy dan Brute Force ditunjukan pada gambar 3.3. Gambar 3.4 Use Case Dagram Sistem Pencarian Kartu Tertinggi Analisis Algoritma Greedy Brute Force Dalam Pencarian Kartu Tertinggi Pada Kartu Remi Pengurutan 52 Kartu ascending, descending, random Pencarian Kartu Tertinggi Dengan Greedy Brute Force User Universitas Sumatera Utara

3.2.2.2 Use Case Greedy dan Brute Force

Untuk lebih jelas lagi berikut akan ditampilkan rincian use case pada tabel 3.1 dibawah. Tabel 3.1 Use Case Pencarian Kartu Tertinggi Name Pencarian Kartu Tertinggi Actors Pengguna Trigger Pengguna memilih urutan kartu Preconditions Pengguna menggunakan pencarian kartu tertinggi Post Conditions Pengguna dapat melihat kartu tertinggi hasil pencarian Succes Skenario 1. Pengguna membuka aplikasi pencarian kartu tertinggi 2. Pengguna memilih urutan kartu 3. Pengguna menginput kartu 4. Penggun menekan tombol proses untuk mengeksekusi pencarian kartu tertinggi. 5. Sistem menampilkan hasil pencarian kartu tertinggi kedua algoritma. 6. Pengguna menekan tombol reset untuk menghapus gambar kartu hasil pencarian. Alternative Flow -

3.2.2.2 Activity Diagram

Universitas Sumatera Utara Adapun Activity Diagram use case untuk pencarian kartu tertinggi dapat dilihat pada gambar 3.4. User Sistem Gambar 3.5 Activity Dagram Sistem Pencarian Kartu Tertinggi

3.2.3 Pseudocode

Pseudocode atau diartikan kode semu merupakan urutan baris algoritma yang menyerupai bahasa pemograman guna menjelaskan cara menyelasikan suatu masalah. Berikut adalah pseudocode sistem pencarian kartu tertinggi. Input urutan kartu ascending, descending , random Sorting kartu ascending, descending , random Input kartu Menampilkan 7 kartu pertama Greedy Brute Force Proses Kartu Tertinggi dan waktu Greedy Brute Force Universitas Sumatera Utara

3.2.3.1 Pseudocode Algoritma Greedy

Keterangan : 1. Method Greedy 2. Kondisi ketika nilai variabel deck 0 3. Perulangan variabel I sebanyak 7 kali 4. Input nilai variabel i ke Max 5. Perulangan variabel j sebanyak 6 kali 6. Kondisi jika nilai a[j] a[Max] 7. Input nilai j ke Max 8. Kondisi jika max tidak sama dengan i 9. Variabel j bertambah 1 10. Permisalan nilai k = a[i] 1. GreedyCarda,6 { 2. While deck = 0 { 3. For i = 0 to 6 { 4. Max = i 5. For j = i+1 to 6 { 6. If a[j] a[Max] { 7. Max = j 8. If max = i { 9. j = j+1 10. k = a[i] 11. a[i] = a[Max] 12. a[Max] = k } } } } } 13. Return a } Universitas Sumatera Utara 11. Permisalan nilai a[i] = a[Max] 12. Swap nilai. 13. Kembali ke nilai awal a.

3.2.3.2 Pseudocode Algoritma Brute Force

Keterangan : 1. Method Brute Force 2. Kondisi ketika nilai variable deck = 0 3. Perulangan i sebanyak 5 kali 4. Kondisi jika variabel a[i] lebih besar dari a[i-1] 5. Permisalan variabel “temp” dengan nilai a[i] 6. Permisalan nilai a[i] dengan a[i-1] 7. Swap nilai 8. Kembali ke nilai awal a. 1. BruteForceCarda,6 { 2. While deck = 0 { 3. For i = 6 to 1 { 4 . If a[i] a[i-1] { 5. temp = a[i] 6. a[i]=a[i-1] 7 a[i-1]=temp } 8. Return a } } Universitas Sumatera Utara

3.3 Proses Pencarian Kartu Tertinggi