Professional Documents
Culture Documents
1 Algoritma
Algoritma ini mengecek validitas input data, seperti: apakah banyak variabel
yang di-input melebihi banyak variabel yang dipilih, apakah terdapat nomor term
yang berada di luar batas ((2 ^ jumlah_variabel) – 1) dan apakah terdapat nomor term
yang sama. Algoritma ini dirancang dalam bentuk fungsi (function) dengan nama
‘CekInput’. Apabila fungsi ini mengembalikan nilai True, maka input data valid dan
nilai False, maka fungsi akan memunculkan pesan kesalahan berkaitan dengan
kesalahan yang telah dibuat dan user harus mengoreksi kesalahan untuk dapat
(true / false),
53
54
2. Jika jumlah item pada list tidak sama dengan jumlah peubah yang dipilih pada
peubah tidak sesuai’, set CekInput = False dan keluar dari fungsi. Jika tidak,
3. Penggal input nomor term berdasarkan huruf ‘;’ dan simpan hasilnya pada
4. Jika jumlah array pada TTerm < 0, maka munculkan pesan kesalahan ‘Term
belum diisi !’, set CekInput = False dan keluar dari fungsi. Jika tidak, maka
berikut,
6. Untuk memeriksa apakah terdapat nomor term yang sama, lakukan prosedur
term ‘” & Tterm (S) & “’ lebih dari 1 buah’, set CekInput = False dan
Algoritma ini merupakan inti dari perangkat lunak. Fungsi dari algoritma ini
juga dapat disimpan (format rich text file (*.rtf)), dibuka dengan aplikasi Word
Processing seperti Microsoft Word atau WordPad, dan dicetak ke printer. Algoritma
ini dirancang dalam bentuk fungsi dengan nama ‘ProsesQuineMcCluskey’. Fungsi ini
buah untuk level yang sama. Apabila ada, maka bentuk sebuah bentuk
GetDifference(MTerm(N1).Bit, MTerm(N2).Bit).
= True.
Len(MTerm(N1).Bit) – DF.Posisi).
langkah berikut.
GetDifference(MTerm(N1).Bit, MTerm(N2).Bit).
58
3. Ambil semua bentuk prima yang tidak memiliki tanda check dan update ke
a. Set N5 = 0.
berikut,
berikut,
Urutkan(MTerm(N1).Term)
looping.
a. Set N3 = Ubound(Prima) + 1.
59
e. Set Prima(N3).Nilai = 0.
4. Beri tanda ‘x’ untuk setiap term yang tercakup di dalam bentuk prima yang
langkah berikut,
berikut,
MTermP(N2).BanyakX + 1.
5. Tandai ‘*’ untuk semua MTermP yang memiliki 1 buah tanda ‘x’ (Langkah
6. Beri tanda check pada semua bentuk prima yang mencantumkan term yang
langkah berikut,
7. Beri tanda check di MTermP untuk semua MTermP yang tercantum dalam
bentuk prima yang memiliki tanda check (Langkah 7.b dari metode Quine
langkah berikut,
61
8. Periksa apakah masih ada MTermP yang belum ter-check, apabila ada, maka
pilih bentuk prima yang mencakup paling banyak MTermP yang belum ter-
check (Langkah 7.c & 7.d dari metode Quine McCluskey). Algoritmanya
langkah berikut,
Prima(N2).Nilai + 1.
62
e. Bentuk ulang dimensi array variabel Pos menjadi jumlah array dari
variabel Prima.
N1.
1. Set N3 = Pos(N1).
posisi.
a. Set N3 = Pos(N1).
i. Set N1 = 0.
i. Set N1 = N1 + 1.
True.
10. Ambil bentuk prima yang ter-check dan ubah menjadi bentuk kanonik.
i. Set Prima(N1).BentukKanonik =
64
PrimaToKanonik(Prima(N1).Term).
HasilMinimisasi & “ + “.
Prima(N1).BentukKanonik.
Prima(N1).BentukKanonik.
berikut,
b. Untuk nU1 = 0 sampai jumlah array dari variabel A1 -1, lakukan langkah
berikut,
A1(nU2) = nU3.
c. Untuk nU1 = 0 sampai jumlah array dari variabel A1, lakukan langkah
berikut,
array AList.
66
berikut,
dari looping.
berikut,
i. Jika karakter ke-F1 dari pcBit = “1”, maka set nByk = nByk + 1.
TmpBit.
67
peubah.
berikut,
= cHasil & “’ “.
= cHasil & “’ “.
g. Jika cBentuk = “POS”, maka set Hasil = “(“ & Hasil & “)”.
3. Harddisk 10 GB.
))))))))))))))))
term w x y z
))))))))))))))))
1 0 0 0 1 -> jumlah bit '1' = 1 buah
4 0 1 0 0
8 1 0 0 0
))))))))))))))))
6 0 1 1 0 -> jumlah bit '1' = 2 buah
9 1 0 0 1
10 1 0 1 0
))))))))))))))))
7 0 1 1 1 -> jumlah bit '1' = 3 buah
11 1 0 1 1
))))))))))))))))
15 1 1 1 1 -> jumlah bit '1' = 4 buah
))))))))))))))))
))))))))))))))))
term w x y z
))))))))))))))))
1 0 0 0 1 v
4 0 1 0 0 v
8 1 0 0 0 v
))))))))))))))))
6 0 1 1 0 v
9 1 0 0 1 v
10 1 0 1 0 v
))))))))))))))))
7 0 1 1 1 v
11 1 0 1 1 v
))))))))))))))))
15 1 1 1 1 v
))))))))))))))))
Dikombinasikan menjadi :
))))))))))))))))
term w x y z
))))))))))))))))
1,9 - 0 0 1
4,6 0 1 - 0
8,9 1 0 0 - v
8,10 1 0 - 0 v
))))))))))))))))
6,7 0 1 1 -
9,11 1 0 - 1 v
10,11 1 0 1 - v
))))))))))))))))
7,15 - 1 1 1
11,15 1 - 1 1
))))))))))))))))
Dikombinasikan menjadi :
))))))))))))))))))))))
term w x y z
))))))))))))))))))))))
8,9,10,11 1 0 - -
8,10,9,11 1 0 - -
))))))))))))))))))))))
Bentuk prima 1 4 6 7 8 9 10 11 15
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1,9 x x
4,6 x x
6,7 x x
7,15 x x
11,15 x x
8,9,10,11 x x x x
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
LANGKAH - 7 : Pilih bentuk prima yang memiliki jumlah literal paling
sedikit namun mencakup sebanyak mungkin minterm dari ekspresi
Boolean semula. Hal ini dapat dilakukan dengan cara berikut :
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
minterm
)))))))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 1 4 6 7 8 9 10 11 15
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
v 1,9 x x
v 4,6 x x
6,7 x x
7,15 x x
11,15 x x
v 8,9,10,11 x x x x
)))))))))))))))))))))))))))))))))))))))))))))))
* * * *
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
LANGKAH - 7.B : Untuk setiap bentuk prima yang telah ditandai dengan
'v', beri tanda minterm yang dicakup oleh bentuk prima tersebut
dengan tanda 'v' (di baris bawah setelah tanda '*').
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
minterm
)))))))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 1 4 6 7 8 9 10 11 15
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
v 1,9 x x
v 4,6 x x
6,7 x x
7,15 x x
11,15 x x
v 8,9,10,11 x x x x
73
)))))))))))))))))))))))))))))))))))))))))))))))
* * * *
v v v v v v v
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
LANGKAH - 7.C : Periksa apakah masih ada minterm yang belum memiliki
tanda 'v' (artinya, belum dicakup oleh bentuk prima terpilih). Jika
ada, pilih dari bentuk prima yang tersisa yang mencakup sebanyak
mungkin minterm tersebut. Beri tanda 'v' untuk setiap bentuk prima
yang dipilih itu serta minterm yang dicakupnya.
Sampai tahap ini, masih ada minterm yang belum tercakup dalam bentuk
prima terpilih, yaitu 7, 15. Untuk mencakup minterm tersebut, kita
pilih bentuk prima (7,15).
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
minterm
)))))))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 1 4 6 7 8 9 10 11 15
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
v 1,9 x x
v 4,6 x x
6,7 x x
v 7,15 x x
11,15 x x
v 8,9,10,11 x x x x
)))))))))))))))))))))))))))))))))))))))))))))))
* * * *
v v v v v v v v v
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1 = 0001
2 = 0010
8 = 1000
10 = 1010
11 = 1011
14 = 1110
15 = 1111
))))))))))))))))
term a b c d
))))))))))))))))
0 0 0 0 0 -> jumlah bit '1' = 0 buah
))))))))))))))))
1 0 0 0 1 -> jumlah bit '1' = 1 buah
2 0 0 1 0
8 1 0 0 0
))))))))))))))))
10 1 0 1 0 -> jumlah bit '1' = 2 buah
))))))))))))))))
11 1 0 1 1 -> jumlah bit '1' = 3 buah
14 1 1 1 0
))))))))))))))))
15 1 1 1 1 -> jumlah bit '1' = 4 buah
))))))))))))))))
))))))))))))))))
term a b c d
))))))))))))))))
0 0 0 0 0 v
))))))))))))))))
1 0 0 0 1 v
2 0 0 1 0 v
8 1 0 0 0 v
76
))))))))))))))))
10 1 0 1 0 v
))))))))))))))))
11 1 0 1 1 v
14 1 1 1 0 v
))))))))))))))))
15 1 1 1 1 v
))))))))))))))))
Dikombinasikan menjadi :
))))))))))))))))
term a b c d
))))))))))))))))
0,1 0 0 0 -
0,2 0 0 - 0 v
0,8 - 0 0 0 v
))))))))))))))))
2,10 - 0 1 0 v
8,10 1 0 - 0 v
))))))))))))))))
10,11 1 0 1 - v
10,14 1 - 1 0 v
))))))))))))))))
11,15 1 - 1 1 v
14,15 1 1 1 - v
))))))))))))))))
Dikombinasikan menjadi :
))))))))))))))))))))))))
term a b c d
))))))))))))))))))))))))
0,2,8,10 - 0 - 0
0,8,2,10 - 0 - 0
))))))))))))))))))))))))
10,11,14,15 1 - 1 -
10,14,11,15 1 - 1 -
))))))))))))))))))))))))
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
maxterm
))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 0 1 2 8 10 11 14 15
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
0,1 x x
0,2,8,10 x x x x
10,11,14,15 x x x x
77
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
maxterm
))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 0 1 2 8 10 11 14 15
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
v 0,1 x x
v 0,2,8,10 x x x x
v 10,11,14,15 x x x x
))))))))))))))))))))))))))))))))))))))))))
* * * * * *
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
LANGKAH - 7.B : Untuk setiap bentuk prima yang telah ditandai dengan
'v', beri tanda maxterm yang dicakup oleh bentuk prima tersebut
dengan tanda 'v' (di baris bawah setelah tanda '*').
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
maxterm
))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 0 1 2 8 10 11 14 15
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
v 0,1 x x
v 0,2,8,10 x x x x
v 10,11,14,15 x x x x
))))))))))))))))))))))))))))))))))))))))))
* * * * * *
v v v v v v v v
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
LANGKAH - 7.C : Periksa apakah masih ada maxterm yang belum memiliki
tanda 'v' (artinya, belum dicakup oleh bentuk prima terpilih). Jika
ada, pilih dari bentuk prima yang tersisa yang mencakup sebanyak
mungkin maxterm tersebut. Beri tanda 'v' untuk setiap bentuk prima
yang dipilih itu serta maxterm yang dicakupnya.
Sampai tahap ini, semua maxterm telah tercakup dalam bentuk prima
terpilih.
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
maxterm
))))))))))))))))))))))))))))))))))))))))))
Bentuk prima 0 1 2 8 10 11 14 15
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
v 0,1 x x
v 0,2,8,10 x x x x
v 10,11,14,15 x x x x
))))))))))))))))))))))))))))))))))))))))))
* * * * * *
v v v v v v v v
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))