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