BAB III. TAHAP PERMULAAN DAN PERANCANGAN
B. D ESIGN P HASE (T AHAP P ERANCANGAN )
4. Desain Level (Detail)
Permainan ini terdiri dari 10 level yang dirancang berdasarkan kurikulum jarimatika.
Untuk menentukan soal yang keluar, penulis menggunakan array 10x10 dengan nama ArrayPandu dan sebuah variable bernama pengurangan yang bertipe boolean.
a. Level 0 (Perkenalan)
Pada pembelajaran jarimatika, anak dikenalkan terlebih dahulu dengan lambang-lambang yang digunakan di dalam Jarimatika. Oleh karena itu, level 0 dirancang untuk memperkenalkan lambang-lambang tersebut.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level 0.
1. bila !nilaiYangInginDiperkenalkan maka nilaiYangInginDiperkenalkan adalah 1 2. lakukan random(3)
bila hasilnya adalah 0
nilaiYangInginDiperkenalkan adalah random(9)+1
bila hasilnya adalah 1
nilaiYangInginDiperkenalkan adalah random(9)+1)*10
bila hasilnya adalah 2
nilaiYangInginDiperkenalkan adalah ((random(9)+1)*10)+(random(9)+1); selain itu lakukan
nilaiYangInginDiperkenalkan adalah hasil random(99)+1;
3. tampilkan nilaiYangInginDiperkenalkan 4. push nilaiYangInginDiperkenalkan ke array
langkahMenjawab
b. Level I (Rumus Sederhana)
Setelah anak dikenalkan dengan lambang yang digunakan pada jarimatika, maka tahap selanjutnya adalah memasuki tambah kurang sederhana (hingga hasil sampai dengan 4). Level I ini dirancang untuk membangkitkan soal yang dapat diselesaikan dengan menggunakan rumus sederhana.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level I.
1. lakukan
barisA adalah hasil random(5) kolomA adalah hasil random(5)
2. ketika barisA adalah 0 dan kolomA adalah 0 atau barisA adalah 4 dan kolomA adalah 4 maka ulangi tahap 1.
3. isi nilaiA dengan nilai yang diperoleh dari ArrayPandu[barisA][kolomA]
4. bila pengurangan
barisC adalah hasil dari barisA + random(5-barisA) kolomC adalah kolomA+random(5-kolomA)
5. bila bukan pengurangan
barisC adalah hasil dari barisA + random(5-barisA) kolomC adalah kolomA+random(5-kolomA)
saat barisC bernilai sama dengan barisA dan kolomC bernilai sama dengan kolomA
maka lakukan kembali langkah 5.
6. cari nilaiC berdasarkan arrayPandu[barisC][kolomC] 7. nilaiB adalah nilaiC-nilaiA
8. bila pengurangan maka tampilkan soal pada layar nilaiC,pengurangan,nilaiA
push nilaiC dan nilaiB pada array langkahMenjawab 9. bila bukan pengurngan maka
lakukan random(2) bila hasilnya adalah 0 maka tampilkan nilaiA, pengurangan dan nilaiB push nilaiA dan nilaiC kedalam array langkahMenjawab
bila hasil random(2) bukan 0 maka
tampilkan nilaiB, pengurangan dan nilaiA push nilaiB dan nilaiC kedalam array langkahMenjawab
10. lakukan !pengurangan
c. Level II (Panggil si Jempol)
Setelah anak diperkenalkan dengan rumus sederhana, anak diperkenalkan cara untuk menggunakan jempol mereka. Level II ini dirancang untuk membangkitkan soal yang dapat diselesaikan
dengan menggunakan jempol dan dipadukan dengan rumus sederhana.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level II.
1. buat variable arrayLima dengan tipe data array, yang berisi
[5, 15, 25, 35, 45, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 65, 75, 85, 95]
2. nilaiA adalah hasi random dari arrayLima[random(arrayLima.length)]
3. barisA adalah nilai puluhan dari nilaiA dan kolomA adalah nilai satuan dari nilaiA
4. bila pengurangan maka lakukan langkah 5. 5. barisC adalah barisA+random(10-barisA)
kolomC adalah kolomA+random(10-kolomA) bila barisA >=1 dan barisA <= 4 lakukan lakukan perulangan dari i=0 hingga barisA , i++
bila ditemukan barisC adalah 5+i maka barisC adalah barisA kolomC adalah kolomA break
bila kolomA >=1 dan kolomA <=4
lakukan perulangan dari i=0 hingga 1<kolomA , i++
bila ditemukan kolomC adalah 5+i maka barisC adalah barisA kolomC adalah kolomA break
6. bila bukan pengurangan maka lakukan tahap 5, namun bila barisC adalah barisA dan kolomC adalah kolomA maka maka lakukan kembali tahap 6.
7. nilaiC adalah nilai yang didapat dari hasil ArrayPandu[barisC][kolomC]
8. nilaiB adalah hasil pengurangan dari nilaiC dengan nilaiA
9. bila pengurangan maka tampilkan nilaiC, pengurangan, nilaiA
dan push nilaiC dan nilaiB pada array langkahMenjawab
10. bila bukan pengurangan maka lakukan random(2) bila hasil yang didapat adalah 0 maka tampilkan nlaiA, pengurangan dan nilaiB kemudaian push nilaiA dan nilaiC pada array langkahMenjawab
tampilkan nilaiB pengurangan nilaiA push nilaiB dan nilaiC pada array langkahMenjawab
11. lakukan !pengurangan
d. Level III (Rumus Sederhana Lanjutan)
Rumus sederhana lanjutan merupakan tambah kurang sederhana hingga dengan angka 6,7,8,9. Level III ini dirancang untuk membangkitkan soal yang dapat diselesaikan dengan menggunakan rumus sederhana Lanjut.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level III.
1. nilaiA adalah hasil dari random(10)
bila nilaiA adalah 0 atau nilaiA adlah 9 maka ulangi kembali tahap ini.
2. bila penguragan maka lakukan langkah 3. 3. nilaiC adalah nilaiA+random(10-nilaiA)
bila nilaiA>=1 dan nilaiA<=4
lakukan perulangan i dari 0 hingga i<nilaiA, i++
bila nilaiC adalah 5+i maka nilaiC adalah nilaiA break;
4. bila bukan pengurangan maka lakukan langkah 3, saat nilaiC adalah sama dengan nilaiA maka lakukan kembali langkah 3.
5. nilaiB adalah hasil pengurangan nilaiC dengan nilaiA
6. bila pengurangan maka
tampilan nilaiC, pegurangan, nilaiA push nilaiC dan nilaiB ke dalam array langkahMenjawab
7. bila bukan pengurangan maka lakukan random(2)
bila hasilnya adalah 0 maka tampilkan nilaiA, pengurangan, nilaiB
push nilaiA dan nilaiC ke dalam array langkahMenjawab
namun bila hasilnya bukan 0 maka tampilkan bilaiB, pengurangan, nilaiA
push nilaiB dan nilaiC kedalam array langkahMenjawab
8. lakukan !pengurangan
e. Level IV (Teman Kecil pada Penjumlahan)
Setelah anak menguasai rumus sederhana lanjutan, maka anak diperkenalkan dengan teman kecil pada penjumlahan. Oleh karena itu, level IV ini dirancang untuk membangkitkan soal yang mampu diselesaikan dengan menggunakan formula teman kecil pada penjumlahan.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level IV.
1. barisA adalah hasil random(10) dan kolomA adalah hasil random(10)
saat (barisA>=5 && (kolomA>=5 || kolomA == 0)) || (barisA == 0 && (kolomA>=5 || kolomA == 0))
ulangi kembali tahap ini.
2. nilaiA adalah nilai yang didapatkan dari ArrayPandu[barisA][kolomA]
3. bila barisA adalah 0 atau kolomA adalah 0 maka bila barisA adalah 0 maka
barisC adalah barisA+random(10-barisA) dan kolomC adalah 5+random(kolomA) selain itu
kolomC adalah kolomA+random(10-kolomA) dan barisC adalah 5+random(barisA) 4. selain itu bila barisA <5 dan kolomA<5
buat variable bantu yang berisi hasil random3.
bila bantu adalah 0 maka
barisC adalah barisA+random(10-barisA) kolomC adalah 5+random(kolomA)
selain itu, bila bantu adalah sama dengan 1 maka
kolomC adalah kolomA+random(10-kolomA) barisC adalah 5+random(barisA)
selain itu
kolomC adalah kolomA+random(10-kolomA) 5. selain itu bila kolomA > barisA
kolomC adalah kolomA+random(10-kolomA) barisC adalah 5+random(bariA)
6. selain itu maka
barisC adalah barisA+random(10-barisA) kolomC adalah 5+random(kolomA)
7. nilaiC adalah nilai yang didapatkan dari ArrayPandu[barisC][kolomC]
8. nilaiB adalah nilai yang didapatkan dari hasil pengurangan nilaiC dengan nilaiA
9. lakukan random(2)
bila hasilnya adalah 0 maka tampilkan nilaiA, pengurangan, nilaiB
push nilaiA , nilaiC pada array langkahMenjawab
selain itu tampilkan nilaiB , pengurangan, nilaiA push nilaiB , nilaiC
f. Level V (Teman Kecil pada Pengurangan)
Setelah anak menguasai teman kecil pada penjumlahan, maka anak diperkenalkan dengan teman kecil pada pengurangan. Oleh karena itu, level V ini dirancang untuk membangkitkan soal yang mampu diselesaikan dengan menggunakan formula teman kecil pada pengurangan.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level V.
1. barisA adalah hasil random(10) dan kolomA adalah hasil random(10)
saat (barisA>=5 && (kolomA>=5 || kolomA == 0)) || (barisA == 0 && (kolomA>=5 || kolomA == 0))
ulangi kembali tahap ini.
2. nilaiA adalah nilai yang didapatkan dari ArrayPandu[barisA][kolomA]
3. bila barisA adalah 0 atau kolomA adalah 0 maka bila barisA adalah 0 maka
barisC adalah barisA+random(10-barisA) dan kolomC adalah 5+random(kolomA)
selain itu
kolomC adalah kolomA+random(10-kolomA) dan barisC adalah 5+random(barisA) 4. selain itu bila barisA <5 dan kolomA<5
buat variable bantu yang berisi hasil random3.
bila bantu adalah 0 maka
barisC adalah barisA+random(10-barisA) kolomC adalah 5+random(kolomA)
selain itu, bila bantu adalah sama dengan 1 maka
kolomC adalah kolomA+random(10-kolomA) barisC adalah 5+random(barisA)
selain itu
barisC adalah 5+random(barisA)
kolomC adalah kolomA+random(10-kolomA) 5. selain itu bila kolomA > barisA
kolomC adalah kolomA+random(10-kolomA) barisC adalah 5+random(bariA)
6. selain itu maka
barisC adalah barisA+random(10-barisA) kolomC adalah 5+random(kolomA)
7. nilaiC adalah nilai yang didapatkan dari ArrayPandu[barisC][kolomC]
8. nilaiB adalah nilai yang didapatkan dari hasil pengurangan nilaiC dengan nilaiA
9. lakukan random(2)
bila hasilnya adalah 0 maka tampilkan nilaiC, pengurangan, nilaiA
push nilaiC , nilaiB pada array langkahMenjawab
selain itu tamppilkan nilaiC , pengurangan, nilaiB push nilaiC , nilaiA pada array
langkahMenjawab
g. Level VI (Teman Besar pada Penjumlahan)
Setelah anak menguasai teman kecil pada pengurangan, maka anak diperkenalkan dengan teman besar pada penjumlahan. Oleh karena itu, level VI ini dirancang untuk membangkitkan soal yang mampu diselesaikan dengan menggunakan formula teman besar pada penjumlahan.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level VI.
1. barisA adalah hasil dari random(10) dan kolomA adalah hasil dari random(10).
lakukan kembali tahap ini bila barisA adalah 9 atau kolomA adalah 0 atau barisA adalah 4 2. nilaiA adalah hasil dari
ArrayPandu[barisA][kolomA] 3. bila barisA <4 maka
barisC adalah barisA+1+random(4-barisA) selain itu
barisC adalah barisA+1+random(9-barisA)
4. bila kolomA <=4 maka kolomC adalah random(kolomA) selain itu
buat array dengan nama arrayBantuBesar bila kolomA>=5
push 0 pada arrayBantuBesar bila kolomA>=6
push 5 pada arrayBantuBesar bila kolomA>=7
push 1 pada arrayBantuBesar push 6 pada arrayBantuBesar bila kolomA>=8
push 2 pada arrayBantuBesar push 7 pada arrayBantuBesar bila kolomA>=9
push 3 pada arrayBantuBesar push 8 pada arrayBantuBesar 5. kolomC adalah
arrayBantuBesar[random(arrayBantuBesar.length)]; 6. nilaiC adalah arrayPandu[barisC][kolomC]
7. nilaiB adalah nilaiC-nilaiA
8. tampilkan soal pada layar nilaiA, pengurangan, nilaiB
9. push nilaiA , nilaiC pada array langkahMenjawab
h. Level VII (Teman Besar pada Pengurangan)
Setelah anak menguasai teman besar pada penjumlahan, maka anak diperkenalkan dengan teman besar pada pengurangan. Oleh karena itu, level VII ini dirancang untuk membangkitkan soal yang
mampu diselesaikan dengan menggunakan formula teman besar pada pengurangan.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level VII.
1. barisA adalah hasil dari random(10) dan kolomA adalah hasil dari random(10).
lakukan kembali tahap ini bila barisA adalah 9 atau kolomA adalah 0 atau barisA adalah 4 2. nilaiA adalah hasil dari
ArrayPandu[barisA][kolomA] 3. bila barisA <4 maka
barisC adalah barisA+1+random(4-barisA) selain itu
barisC adalah barisA+1+random(9-barisA)
4. bila kolomA <=4 maka kolomC adalah random(kolomA) selain itu
buat array dengan nama arrayBantuBesar bila kolomA>=5
push 0 pada arrayBantuBesar bila kolomA>=6
push 5 pada arrayBantuBesar bila kolomA>=7
push 1 pada arrayBantuBesar push 6 pada arrayBantuBesar bila kolomA>=8
push 2 pada arrayBantuBesar push 7 pada arrayBantuBesar bila kolomA>=9
push 3 pada arrayBantuBesar push 8 pada arrayBantuBesar 5. kolomC adalah
arrayBantuBesar[random(arrayBantuBesar.length)]; 6. nilaiC adalah arrayPandu[barisC][kolomC]
7. nilaiB adalah nilaiC-nilaiA
8. tampikan nilaiC, pengurangan, nilaiA
9. push nilaiC dan nilaiB pada array langkahMenjawab
i. Level VIII (Formula Gabungan pada Penjumlahan)
Setelah anak menguasai teman besar pada pengurangan, maka anak diperkenalkan dengan formula gabungan pada penjumlahan.
Oleh karena itu, level VIII ini dirancang untuk membangkitkan soal yang mampu diselesaikan dengan menggunakan formula gabungan pada penjumlahan.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level VIII.
1. kolomA adalh 5+random(4) barisA adalah random(9)
ulangi tahap ini ketika barisA adalah 0 2. nilaiA adalah nilai dari
ArrayPandu[barisA][kolomA]
3. lakukan perulangan dari i = 5 hingga i<=8,i++ bila kolomA adalah sama dengan i
maka kolomC adalah i-4+random(9-i) break;
4. barisC adalah barisA+1+random(9-barisA) 5. nilaiC adalah nilai dari
ArrayPandu[barisC][kolomC];
6. nilaiB adalah hasil pengurangan dari nilaiC dengan nilaiA
7. tampilkan nilaiA, pengurangan, nilaiB
8. push nilaiA, nilaiC pada array langkahMenjawab
j. Level IX (Formula Gabungan pada Pengurangan)]
Setelah anak menguasai formula gabungan pada penjumlahan, maka anak diperkenalkan dengan formula gabungan pada pengurangan. Oleh karena itu, level IX ini dirancang untuk membangkitkan soal yang mampu diselesaikan dengan menggunakan formula gabungan pada pengurangan.
Berikut adalah algoritma yang digunakan untuk membangkitkan soal pada level IX.
barisA adalah random(9)
ulangi tahap ini ketika barisA adalah 0 2. nilaiA adalah nilai dari
ArrayPandu[barisA][kolomA]
3. lakukan perulangan dari i = 5 hingga i<=8,i++ bila kolomA adalah sama dengan i
maka kolomC adalah i-4+random(9-i) break;
4. barisC adalah barisA+1+random(9-barisA) 5. nilaiC adalah nilai dari
ArrayPandu[barisC][kolomC];
6. nilaiB adalah hasil pengurangan dari nilaiC dengan nilaiA
7. tampilkan nilaiC, pengurangan, nilaiB
75