penerapan metode quine-mc cluskey untuk menyederhanakan

advertisement
IJCCS, Vol.x, No.x, Julyxxxx, pp. 1~5ISSN: 1978-1520
PENERAPAN METODE QUINE-MC CLUSKEY UNTUK
MENYEDERHANAKAN FUNGSI BOOLEAN
Herman Saputra
Program Studi Sistem Informasi, STMIK Royal Kisaran
Jl. Prof. M. Yamin 173 Kisaran, Sumatera Utara 21222
Telp: (0623) 41079
E-mail: [email protected]
Abstrak
Metode Quine McCluskey adalah metode penyederhanaan fungsi Boolean berbasis computer
dan memiliki dua kelebihan dibandingkan dengan metode K-Map, pertama fungsi untuk menghasilkan
fungsi minimal yang kurang bergantung pada penulisan pola, kedua skema yang layak untuk menangani
besar jumlah variable. Dalam proses penyederhanaan fungsi Boolean terdapat tiga metode penyelesaian,
diantaranya adalah metode aljabar, peta karnough dan metode Quine McCluskey (metode tabulasi).
Ketiga metode tersebut memiliki kekurangan dan kelebihan masing-masing dalam proses
penyederhanaannya, beberapa literature menyatakan bahwa metode Quine McCluskey merupakan
metode yang dianggap paling baik dalam penyederhanaan fungsi Boolean. Hal ini dikarenakan metode
tabulasi ini menggunakan tahap-tahap penyederhanaan yang jelas dan baku sehingga menghasilkan
fungsi Boolean yang paling sederhana. Penyederhanaan fungsi Boolean dilakukan karena fungsi Boolean
sering mengandung operasi-operasi yang tidak perlu, suku-suku atau literal yang berlebih, oleh karena
itu kita dapat menyederhanakan fungsi Boolean lebih lanjut, dengan melakukan penyederhanaan fungsi
Boolean berarti kita telah melakukan penghematan dalam pembuatan rangkaian digital. Metode Quine
McCluskey adalah metode yang digunakan untuk menyederhanakan fungsi Boolean yang memiliki
variable yang besar. Dengan penelitian ini mahasiswa dapat menghemat biaya dalam praktik
elektronika.
Kata kunci : Fungsi Boolean, Metode Quine McCluskey, Penyederhanaan
manual, yang dikarenakan begitu banyaknya
rumus dan panjangnya proses penyelesaian dari
sebuah materi pelajaran yang harus mereka
pelajari dan selesaikan.
1. PENDAHULUAN
Metode
Quine-McClaskey
(tabulasi)
merupakan salah satu metode yang digunakan
untuk menederhanakan sebuah persamaan
boolean. Fungsinya sama seperti Karnaugh Map
(K-Map), hanya saja dengan metode QuineMcCluskey kita dapat menghitung lebih dari 6
variabel. Format tabelnya juga menjadi lebih
efisien untuk digunakan dalam algoritma
komputer dan memberikan cara deterministik
untuk memeriksa bahwa bentuk minimal sebuah
fungsi boolean telah tercapai, (adhav Vitthal,
Buchade Amar, Pune, Maharashtra, India,
2009).
Metode Quine-McClaskey adalah salah
satu metode yang dapat digunakan untuk
mengatasi
seringnya
fungsi
Boolean
menggunakan operasi-operasi yang tidak perlu,
dan dapat digunakan untuk menghasilkan fungsi
Boolean yang paling sederhana.
Di
AMIK
ROYAL
khususnya
mahasiswa
teknik
komputer
seringkali
menghadapi hambatan dalam mengikuti
matakuliah
matematika
diskrit,
dalam
matakuliah matematika diskrit mahasiswa
sering jenuh dalam melakukan perhitungan
2. TINJAUAN TEORI
2.1 Metode Quine McCluskey
Metode Quine McCluskey adalah metode
penyederhanaan fungsi boolean berbasis
komputer dan memiliki dua keunggulan
dibandingkan
metode
K-Map,
pertama
sistematis untuk menghasilkan fungsi minimal
yang kurang bergantung pada penglihatan pola,
kedua skema yang layak untuk menangani besar
jumlah variabel, (adhav Vitthal, Buchade Amar,
Pune, Maharashtra, India).
Metode Quine-McCluskey adalah
sebuah metode yang digunakan untuk
menyederhanakan fungsi Boolean, khususnya
fungsi Boolean yang memiliki jumlah peubah
yang besar (di atas 6 buah). Metode QuineMcCluskey dikembangkan oleh W.V. Quine dan
E.J. McCluskey pada tahun 1950.
Metode Quine-McCluskey mereduksi
fungsi persamaan logika dengan cara
menyederhanakan suku-suku penjumlahan dari
perkalian sebagai berikut:
31
Jurnal Teknologi dan Sistem Informasi, Volume 2, Nomor 1, Desember 2015, hlm 31-41
1.
Eleminasi sebanyak mungkin sukusuku
persamaan
dengan
cara
XY+Xy’=X, hasil penyederhanaan
disebut suku esensi.
2.
Dari tabel yang berisi semua suku
persamaan,
OR-kan
suku-suku
persamaan/suku-suku esensi tersebut
(mencoba semua pasangan yang
mungkin) untuk mencari kesamaan
nilai pada posisi variabel yang sama,
setiap kali melakukan operasi OR
hanya diperbolehkan satu variabel yang
berbeda.
logika boolean. Boolean menyusun beberapa
aturan hubungan antara nilai-nilai matematis
yang dibatasi hanya dengan 2 (dua) nilai, yaitu
true atau false, yang disimbolkan sebagai angka
1 atau 0. Sistem matematikanya ini kemudian
dikenal sebagai aljabar Boolean, (Safrina
Amanah Sitepu, 2009).
Dalam matematika dan ilmu komputer,
Aljabar Boolean adalah struktur aljabar yang
“mencakup intisari” operasi logika AND, OR
dan NOR dan juga teori himpunan untuk
operasi union, interseksi dan komplemen.
Penamaan Aljabar Boolean sendiri berasal dari
nama seorang matematikawan asal Inggris,
bernama George Boole. Dialah yang pertama
kali mendefinisikan istilah itu sebagai bagian
dari sistem logika pada pertengahan abad ke-19.
Aljabar boolean merupakan aljabar yang
berhubungan dengan variabel-variabel biner dan
operasi-operasi
logik.
Variabel-variabel
diperlihatkan dengan huruf-huruf alfabet, dan
tiga operasi dasar dengan AND, OR dan NOT
(komplemen). Fungsi boolean terdiri dari
variabel-variabel biner yang menunjukkan
fungsi, suatu tanda sama dengan, dan suatu
ekspresi aljabar yang dibentuk dengan
menggunakan
variabel-variabel
biner,
konstanta-konstanta 0 dan 1, simbol-simbol
operasi logik, dan tanda kurung, (Arisah, 2009).
Bentuk Boolean sangat penting untuk
merancang rangkaian digital, khususnya
rangkaian logika. Sedangkan aljabar Boole
sangat berperan dalam penyedehanaan fungsi
Boole. Batasan fungsi Boolean tentu saja
memenuhi operasi-operasi dalam aljabar
Boolean. Pernyataan logika AND, OR, NOT,
dan kombinasinya dipenuhi oleh fungsi Boole.
Dengan demikian fungsi Boole merupakan
fungsi yang menyatakan hubungan antara
variable-variabel masukan dan keluaran di
dalam rangkaian logika. Jika suatu fungsi
Boole memiliki variable-variabel masukan A,
B, C, D … dan variabel keluarannya adalah Y,
maka hubungan antara variabel-variabel
masukan dan keluaran tersebut secara umum
dapat dinyatakan sebagai Y = ƒ (A,B,C,D,…),
(Wawan Setiawan,2000).
Contoh:
A’BCD’+A’BCD=A’BC
3.
Fungsi
hasil
penyederhanaan
merupakan penjumlahan dari semua
suku esensi yang bukan berupa ulangan
dan yang tidak dapat disederhanakan
lebih lanjut, (saludin muis, 2012).
Dalam menyederhanakan persamaan
dalam metode Quine-McCluskey, tahapan yang
harus dilakukan adalah :
1.
Menyatakan variabel komplemen dengan 0,
dan variabel yang bukan komplemen
dengan 1.
2. Kelompokkan
suku-suku berdasarkan
jumlah 1.
3. Kombinasikan suku-suku tersebut dengan
kelompok lain yang jumlah 1 nya berbeda
satu, sehingga diperoleh bentuk prima yang
sederhana.
Setelah tahap tersebut selesai dilakukan, maka
tahap selanjutnya adalah :
1.
Mencari Prime implicant : term yang
menjadi calon term yang akan terdapat
dalam fungsi sederhana.
2. Memilih Prime implicant yang memiliki
jumlah literal paling sedikit.
Dalam melakukan proses tersebut, digunakan
tabel reduksi Quine-McCluskey dan tabel
reduksi Prime implicant, (Susi Kartika
Handayani Putri, 2005).
2.2.1 Definisi Aljabar Boolean
Aljabar Boolean dapat didefinisikan
secara absrak dalam beberapa cara. Cara yang
paling umum adalah dengan menspesipikasikan
unsur-unsur pembentuknya dan operasi-operasi
yang menyertainya, seperti definisi berikut:
Misalkan B adalah himpunan yang
didefinisikan pada dua operator biner, + dan .,
dan sebuah operator uner, ‘. Misalnya 0 dan 1
2.2 Aljabar Boolean
Seorang ahli matematika dari inggris,
George Boole (1815-1864) pada tahun 1854
memaparkan aturan aturan dasar logika dalam
bukunya yang berjudul An Imvestigation of the
Laws of Thought, on Which Are Founded the
Matematical Theorities of Logic and
Probabiloities, yang kemudian dikenal dengan
32
Saputra, Penerapan Metode Quine-Mc Cluskey Untuk Menyederhanakan Fungsi Boolean
adalah 2 elemen yang berbeda dari B. Maka,
tupel
<B, +, .,’,0,1>
Disebut Aljabar Boolean jika untuk setiap a, b, c
€ B berlaku aksioma (sering dinamakan juga
Postulat Huntington) berikut:
1. Identitas
(i)
a+0=a
(ii)
a . 1= a
Tabel 2. Tabel Kaidah Operasi +
A
B
a+b
0
0
0
0
1
1
1
0
1
1
1
1
Tabel 3. Tabel Kaidah Operasi ‘
2.
3.
4.
A
a’
Komutatif
0
1
(i)
a+b=b+a
1
0
(ii)
a.b=b.a
Kita harus memperhatikan bahwa
keempat aksioma di dalam definisi 2.1
terpenuhi pada himpunan B = {0, 1} dengan dua
operator biner dan satu operator uner yang
didefinisikan di atas.
1. Identitas : jelas berlaku karena tabel
dapat kita lihat bahwa :
(i) 0 + 1 = 1 + 0 = 1
(ii) 1 . 0 = 0 . 1 = 0
yang memenuhi elemen identitas 0
dan 1 seperti yang didefinisikan pada
postulat Huntington.
2. Komutatif : jelas berlaku dengan
melihat simetri tabel operator biner.
3. Distributif :
(i) a . (b + c) = (a . b) + (a . c)
dapat ditunjukkan benar dari
tabel operator biner di atas,
dengan
membentuk
tabel
kebenaran untuk semua nilai
yang mungkin dari a, b, dan c
(Tabel 2.4). Oleh karena nilai–
nilai pada kolom a . (b + c)
sama dengan nilai–nilai pada
kolom (a . b) + (a . c), maka
kesamaan a . (b + c) = (a . b) +
(a . c) adalah benar.
(ii) Hukum distributif a + (b . c) =
(a + b) . (a + c) dapat
ditunjukkan
benar
dengan
membuat
tabel
kebenaran
dengan cara yang sama seperti
(i).
Distributif
(i)
a . (b + c) = (a . b) + (a . c)
(ii)
a + (b . c) = (a + b) . (a + c)
Komplemen
Untuk setiap a € B terdapat elemen
unik a’ € b sehingga
(i)
a + a’ = 1
(ii)
a . a’ = 0
Elemen 0 dan 1 adalah dua elemen
unik yang di dalam B . 0 disebut elemen terkecil
dan 1 disebut elemen terbesar, (Rinaldi Munir.
Matematika Diskrit. 2007 dan B. Gunawan
Sudarsono, Logika Matematika,2012).
2.2.2
Aljabar Boolean Dua-Nilai
Aljabar Boolean yang terkenal dan
memiliki terapan yang luas adalah aljabar
Boolean dua-nilai (two-valued Boolean
algebra).
Aljabar
Boolean
dua-nilai
didefinisikan pada sebuah himpunan B dengan
dua buah elemen 0 dan 1 (sering dinamakan bit
– singkatan dari binary digit), yaitu B = {0, 1},
operator biner, + dan . operator uner, ‘. Kaidah
untuk operator biner dan operator uner
ditunjukkan pada Tabel 2.1, 2.2, dan 2.3 di
bawah ini.
Tabel 1. Tabel Kaidah Operasi .
A
B
a.b
0
0
0
0
1
1
1
0
1
0
0
1
33
Jurnal Teknologi dan Sistem Informasi, Volume 2, Nomor 1, Desember 2015, hlm 31-41
a’ . (b + c)
a . b’ + a . b . c + b’, dan
Tabel 4. Tabel Kebenaran a . (b + c) = (a . b) +
(a . c)
B
c
b
+c
a . (b
+ c)
a.
b
a.
c
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
A
0
0
0
0
1
1
1
1
sebagainya
adalah ekspresi Boolean. Ekspresi
Boolean yang mengandung n peubah
dinamakan ekspresi Boolean bagi n peubah.
Dalam penulisan ekspresi Boolean
selanjutnya, kita menggunakan perjanjian
berikut : tanda kurung ‘()’ mempunyai prioritas
pengerjaan paling tinggi, kemudian diikuti
dengan operator ‘, + dan . Sebagai contoh,
ekspresi a + b . c berarti a + (b . c), bukan (a +
b) . c dan ekspresi a . b’ berarti a . (b’), bukan (a
. b)’.
(a . b)
+ (a .
c)
0
0
0
0
0
1
1
1
2.2.4
Prinsip Dualitas
Di dalam aljabar Boolean, banyak
ditemukan kesamaan (identity) yang dapat
diperoleh dari kesamaan lainnya, misalnya pada
dua aksioma distributif yang sudah disebutkan
pada definisi 2.1 :
(i)
a . (b + c) = (a . b) + (a . c)
(ii) a + (b . c) = (a + b) . (a + c)
Aksioma yang kedua diperoleh dari
aksioma pertama dengan cara mengganti 
dengan + dan mengganti + dengan . Prinsip ini
dikenal dengan prinsip dualitas, prinsip yang
juga kita temukan di dalam teori himpunan
maupun logika. Definisi prinsip dualitas di
dalam aljabar Boolean adalah sebagai berikut.
Misalkan S adalah kesamaan (identity)
di dalam aljabar Boolean yang melibatkan
operator +, , dan ‘, maka jika pernyataan S*
diperoleh dari S dengan cara mengganti 
dengan +, + dengan , 0 dengan 1, 1 dengan 0
dan membiarkan operator komplemen tetap apa
adanya, maka kesamaan S* juga benar. S*
disebut sebagai dual dari S.
4.
Komplemen : jelas berlaku karena
Tabel 2.4 memperlihatkan bahwa :
(i) a + a’ = 1, karena 0 + 0’ = 0 + 1
= 1 dan 1 + 1’ = 1 + 0 = 1
(ii) a . a = 0, karena 0 . 0’ = 0 . 1
dan 1 . 1’ = 1 . 0 = 0
Karena keempat aksioma terpenuhi,
maka terbukti bahwa B = {0 , 1} bersama–sama
dengan operator biner + dan ., operator
komplemen ‘ merupakan aljabar Boolean.
Untuk selanjutnya, jika disebut aljabar Boolean,
maka aljabar Boolean yang dimaksudkan di sini
adalah aljabar Boolean dua-nilai.
2.2.3
Ekspresi Boolean
Pada aljabar Boolean dua-nilai, B = {0,
1}. Kedua elemen B ini seringkali disebut
elemen biner atau bit (singkatan binary bit).
Peubah (variable) x disebut peubah Boolean
atau peubah biner jika nilainya hanya dari B.
Ekspresi Boolean dibentuk dari elemen –
elemen B dan / atau peubah – peubah yang
dapat dikombinasikan satu sama lain dengan
operator +, ., dan ‘. Secara formal, ekspresi
Boolean dapat didefinisikan secara rekursif
sebagai berikut.
Misalkan (B, +, ., ‘, 0, 1) adalah sebuah
aljabar Boolean. Suatu ekspresi Boolean dalam
(B, +, ., ‘) adalah :
(i)
Setiap elemen di dalam B,
(ii)
setiap peubah,
(iii) jika e1 dan e2 adalah ekspresi
Boolean, maka e1 + e2, e1 . e2, e1’
adalah ekspresi Boolean.
Jadi menurut definisi di atas, setiap
ekspresi di bawah ini,
0
1
a
b
c
a+b
a.b
2.2.5
Hukum–Hukum Aljabar Boolean
Ada banyak hukum di dalam aljabar
Boolean. Beberapa literatur bervariasi dalam
mengungkapkan jumlah hukum pada aljabar
Boolean, tetapi hukum–hukum yang paling
penting ditampilkan pada tabel berikut.
34
Saputra, Penerapan Metode Quine-Mc Cluskey Untuk Menyederhanakan Fungsi Boolean
Tabel 5. Tabel Hukum–Hukum Aljabar Boolean
1. Hukum identitas :
(i) a + 0 = a
(ii) a . 1 = a
3. Hukum komplemen :
(i) a + a’ = 1
(ii) a . a’ = 0
5. Hukum involusi :
(i) (a’)’ = a
7. Hukum komulatif :
(i) a + b = b + a
(ii) a . b = b . a
9. Hukum distributif :
(i) a + (b . c) = (a
+ b) . (a + c)
(ii) a . (b + c) = (a .
b) + (a . c)
2.2.6
2. Hukum
idempoten :
(i) a + a = a
(ii) a . a = a
4. Hukum
dominansi :
(i) a . 0 = 0
(ii) a + 1 = 1
6. Hukum
penyerapan :
(i) a + (a . b)
=a
(ii) a . (a + b)
=a
8. Hukum asosiatif :
(i) a + (b + c)
= (a + b) +
c
(ii) a . (b . c) =
(a . b) . c
10. Hukum De
Morgan :
(i) (a + b)’ =
a’b’
(ii) (a . b)’ =
a’ + b’
Fungsi Boolean
Fungsi Boolean (disebut juga fungsi
biner) adalah pemetaan dari Bn ke B melalui
ekspresi Boolean, kita menuliskannya sebagai
f : Bn
B
yang dalam hal ini Bn adalah himpunan
yang beranggotakan pasangan terurut ganda-n
(ordered n-tuple) di dalam daerah asal B, (Hanif
Alfatah, 2010 dan Mila Ramadiana Harahap,
Giva Andriana Mutiara dan Bambang
Pudjoatmojo, 2012).
Misalkan ekspresi Boolean dengan n
peubah adalah E(x1, x2, ..., xn). Menurut definisi
di atas, setiap pemberian nilai – nilai kepada
peubah x1, x2, ..., xn merupakan suatu pasangan
terurut ganda-n di dalam daerah asal Bn dan
nilai ekspresi tersebut adalah bayangannya di
dalam daerah hasil B. Dengan kata lain, setiap
ekspresi Boolean tidak lain merupakan fungsi
Boolean. Misalkan sebuah fungsi Boolean
adalah f(x, y, z) = xyz + x’y + y’z. Fungsi f
memetakan nilai – nilai pasangan terurut ganda3 (x, y, z) ke himpunan {0, 1}. Contoh pasangan
terurut ganda-3 misalnya (1, 0, 1) yang berarti x
= 1, y = 0, dan z = 1 sehingga f(1, 0, 1) = 1 . 0 .
1 + 1’ . 0 + 0’ . 1 = 0 + 0 + 1 = 1.
Selain secara aljabar, fungsi Boolean
juga dapat dinyatakan dengan tabel kebenaran
dan dengan rangkaian logika. Tabel kebenaran
berisi nilai–nilai fungsi untuk semua kombinasi
nilai–nilai peubahnya.
Jika fungsi Boolean dinyatakan dengan
tabel kebenaran, maka untuk fungsi Boolean
dengan n buah peubah, kombinasi dari nilai
peubah–peubahnya adalah sebanyak 2n. Ini
berarti terdapat 2n baris yang berbeda di dalam
tabel kebenaran tersebut. Misalkan n = 3, maka
akan terdapat 23 = 8 baris tabel. Cara yang
praktis membuat semua kombinasi tersebut
adalah sebagai berikut :
1. Untuk peubah pertama, isi 4 baris
pertama pada kolom pertama
dengan sebuah 0 dan 4 baris
selanjutnya dengan sebuah 1
berturut – turut.
2. Untuk peubah kedua, isi 2 baris
pertama pada kolom kedua dengan
0 dan 2 baris berikutnya dengan 1,
2 baris berikutnya 0 lagi, dan 2
baris terakhir dengan 1.
3. Untuk peubah ketiga, isi kolom
ketiga secara berselang – seling
dengan 0 dan 1 mulai baris
pertama sampai baris terakhir.
Fungsi Boolean tidak selalu unik pada
representasi ekspresinya. Artinya, dua buah
fungsi yang ekspresi Booleannya berbeda dapat
menyatakan dua buah fungsi yang sama.
Misalkan f dan g adalah ekspresi dari suatu
11. Hukum 0/1 :
(i) 0’ = 1
(ii) 1’ = 0
Kita dapat memperoleh hukum–hukum
aljabar Boolean dari hukum–hukum aljabar
dengan cara mempertukarkan
 dengan +,
atau
 dengan +
 dengan ,
atau
 dengan 
U dengan 1,
atau
T dengan 1
 dengan 0,
atau
F dengan 0
Perhatikanlah bahwa hukum yang ke(ii) dari setiap hukum di atas merupakan dual
dari hukum yang ke-(i). Sebagai contoh,
Hukum komutatif :
a +
b=b+a
dualnya :
a .
b=b.a
Hukum asosiatif : a + (b + c) =
(a + b) + c
dualnya :
a .
(b . c) = (a . b) . c
Hukum distributif :
a +
(b . c) = (a + b) . (a + c)
dualnya :
a .
(b + c) = (a . b) + (a . c)
35
Jurnal Teknologi dan Sistem Informasi, Volume 2, Nomor 1, Desember 2015, hlm 31-41
fungsi Boolean. Fungsi f dan g dikatakan
merupakan fungsi yang sama jika keduanya
memiliki nilai yang sama pada tabel kebenaran
untuk setiap kombinasi peubah – peubahnya.
Sebagai contoh, fungsi :
f(x, y, z) = x’y’z + x’yz + xy’ dan g(x, y,
z) = x’z + xy’
adalah dua buah fungsi Boolean yang
sama. Kesamaan ini dapat dilihat pada tabel
berikut.
kurang sedehana. Jika dua istilah hanya berbeda
dalam satu bit seperti 101 dan 111 yaitu satu
variabel muncul dalam kedua bentuk (variabel
dan
penyangkalan),
maka
kita
bisa
menggunakan hukum pelengkap. Iteratif, kita
membandingkan
semua
istilah
dan
menghasilkan perdana implicant.
2. Mencari Esensial Perdana implicant
Menggunakan prime implicants dari
langkah di atas, kita menghasilkan tableuntuk
menemukan prime implicants penting. Catatan
bahwa beberapa prime implicants bisa
berlebihan dan dapat dihilangkan, tetapi jika
mereka muncul hanya sekali, mereka tidak bisa
dihilangkan dan memberikan implicant utama.
3. Mencari Prime implicant Lainnya
Tabel 6. Tabel Kebenaran Fungsi f Dan g
X
0
0
0
0
1
1
1
1
Y
Z
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
f = x’y’z +
x’yz + xy’
0
1
0
1
1
1
0
0
g = x’z + xy’
0
1
0
1
1
1
0
0
Hal ini tidak perlu jika essential prime
implicants mencakup semua minterm. Dalam
hal ini, kami mempertimbangkan perdana
implicant lainnya untuk memastikan bahwa
semua minterm telah tertutup. alih-alih
menggunakan
trial
and
error
untuk
mempertimbangkan prime implicants kami
dapat menggunakan Metode Petrick, (P.W.
Chandana Prasad, Azam Beg, dan Ashutosh
Kumar Singh, 2009).
Jika sebuah fungsi Boolean tidak unik
dalam representasi ekspresinya, kita masih
dapat menemukan ekspresi Boolean lainnya
yang menspesifikasikan fungsi yang sama
dengan melakukan manipulasi aljabar terhadap
ekspresi Boolean. Yang dimaksud dengan
memanipulasi atau menyederhanakan fungsi
Boolean adalah menggunakan hukum–hukum
aljabar Boolean untuk menghasilkan bentuk
yang ekivalen. Sebagai contoh,
f(x, y, z) = x’y’z + x’yz + xy’
= x’z(y’ + y) + xy’
(Hukum distributif)
= x’z . 1 + xy’ (Hukum
komplemen)
= x’z + xy’
(Hukum identitas)
Manipulasi aljabar pada ekspresi
Boolean disebut juga dengan penyederhanaan
fungsi Boolean, (Rialdi Munir, Matematika
Diskrit, 2007).
Metode ini juga dikenal sebagai metode
tabulasi karena memberikan langkah-langkah
deterministik
untuk
memeriksa
bentuk
minimum fungsi berdasarkan pemilihan
essential prime implicants dengan menggunakan
tabel. Langkah-langkah dapat dikategorikan
kedalam tiga tahapan:
1. Menenentukan implicant Perdana
2.2.8
Penyederhanaan Fungsi Boolean
Dalam
menyederhanakan
suatu
ekspresi Boolean yang rumit, kita mengubah
rangkaian digital yang rumit menjadi rangkaian
yang lebih sederhana. Dengan aljabar Boole,
kita dapat menganalisa dan merancang sistem
digital secara lebih mudah, (Slamet Winardi ,
Sebastiao Domingos F. Belo, 2012).
Fungsi
boolean
sering
kali
mengandung operasi-operasi yang tidak perlu,
literatur atau suku-suku yang tidak berlebihan.
Oleh karena itu, kita dapat menyederhanakan
fungsi boolean lebih lanjut. Menyederhanakan
fungsi boolean artinya mencari bentuk fungsi
lain yang ekivalen tetapi dengan literal atau
operasi yang lebih sedikit. Penyederhanaan
fungsi boolean disebut juga minimisasi fungsi.
Contohnya, f(x,y) = x’y + xy’ +y’ dapat
disederhanakan menjadi f(x,y) = x’ + y’
Dipandang dari segi aplikasi aljabar
boolean, fungsi boolean yang lebih sederhana
berarti rangkaian logikanya lebih sederhana
(menggunakan jumlah gerbang logika lebih
sedikit). Ada 3 metode yang dapat digunakan
untuk menyederhanakan fungsi boolean:
1. Secara aljabar, menggunakan hukumhukum aljabar boolean
Dalam langkah ini, kita mengganti literal
dalam bentuk 0 dan 1 dan menghasilkan tabel.
Awalnya, jumlah baris dalam tabel sama dengan
jumlah total fungsi minterm yang asli yang
2.
36
Metode Peta Karnaugh
Saputra, Penerapan Metode Quine-Mc Cluskey Untuk Menyederhanakan Fungsi Boolean
3.
3.
Metode Quine-McCluskey
tabulasi)
(metode
menyederhanakan fungsi Boolean dalam bentuk
SOP (sum-of-product) atau bentuk POS
(product-of-sum), seperti yang telah dijelaskan
pada bab 2 sebelumnya.
Metode
Quine-McCluskey
menyederhanakan fungsi Boolean dengan
menggabungkan minterm/maxterm menjadi
himpunan bentuk prima (prime-implicant), di
mana sebanyak mungkin peubah dieliminasi
(dihilangkan)
secara
maksimal.
Minterm/maxterm yang digabung untuk
membentuk sebuah bentuk prima harus
memiliki tepat satu buah peubah yang nilainya
berbeda (komplemen dan non-komplemen).
Bentuk prima yang terbentuk juga dapat
digabung untuk membentuk bentuk prima
lainnya, apabila memiliki satu buah peubah
yang nilainya berbeda. Prosedur ini dilakukan
berulang kali hingga tidak terdapat bentuk
prima yang dapat terbentuk lagi.
Untuk proses selanjutnya, metode ini
memilih bentuk prima yang paling sederhana,
yaitu bentuk prima yang tidak membentuk
bentuk prima yang baru. Dari bentuk-bentuk
prima yang sederhana ini, dipilih bentuk prima
yang memiliki jumlah peubah paling sedikit
(bentuk prima yang paling panjang) dan
mencakup sebanyak mungkin minterm /
maxterm dari fungsi Boolean yang di-input.
Bentuk prima inilah yang merupakan hasil
minimisasi dari fungsi Boolean.
Keunggulan dari metode QuineMcCluskey adalah kemampuannya untuk
melakukan proses penyederhanaan terhadap
fungsi Boolean dengan jumlah peubah yang
besar. Selain itu, prosedur atau langkah–langkah
pengerjaan dari metode ini sangat sistematis,
artinya pengerjaan setiap langkah sangat rapi,
teratur dan terstruktur, sehingga metode ini
lebih mudah diprogram di dalam komputer
dibandingkan dengan metode penyederhanaan
lainnya.
Sebagai
contoh,
dilakukan
penyederhanaan terhadap fungsi Boolean dalam
bentuk SOP : f (w, x, y, z) = ∑ (1, 4, 6, 7, 8, 9,
10, 11, 15). Langkah–langkah penyederhanaan
fungsi Boolean dengan metode QuineMcCluskey adalah sebagai berikut:
LANGKAH-1 : Nyatakan tiap minterm dalam n
peubah menjadi string bit biner yang
panjangnya n. (Pada contoh ini, jumlah peubah
adalah 4 sehingga n = 4)
METODE PENELITIAN
Metodologi penelitian yang dilakukan
bertujuan untuk mengatur dan mempermudah
pelaksanaan pekerjaan. Pembuatan perangkat
lunak
metode
fungsi
boolean
untuk
menyederhanakan
rangkaian
logika
ini
menggunakan model proses water fall atau
model linear sekuensial dengan tahap-tahap
pembangunan sistem secara berurutan yaitu
sebagai berikut :
1. Tahap pengumpulan data
Pada
tahap
pengumpulan
data
menggunakan tahap studi literatur,
tahap ini menjelaskan komponenkomponen yang terkait dalam metode
fungsi boolean.
2. Analisis
Tahap
ini
digunakan
untuk
menjelaskan permasalahan yang ada
dan
menganalisa
proses
penyederhanaan yang akan dilakukan.
3. Perancangan
Langkah-langkah
dalam
tahap
perancangan, meliputi : parancangan
algoritma, perancangan struktur data,
perancangan
data
input
dan
perancangan data output untuk
membangun program
4. Implementasi Program
Setelah tahap studi literatur, analisis
dan perancangan selesai dikerjakan,
tahap selanjutnya adalah tahap
pengkodean atau pembuatan program
yang dibuat dalam modul-modul agar
sesuai dengan rancangan program.
5. Pengujian
Pada tahap ini akan dilakukan proses
pengujian
program
untuk
menyederhanakan rangkaian logika
dengan cara memasukkan jumlah
variabel, term masukan, dan ekspresi
masukannya apakah berjalan dengan
baik atau tidak.
(Susi Kartika Handayani Putria, 2005,
Penyederhanaan Fungsi Boolean
Meng Gunakan Metode Peta
Karnaugh Dan Quine Mc.Cluskey
Untuk
Membentuk
Rangkaian
Logika.)
4. ANALISIS dan HASIL
4.1 Pembahasan
Proses penyederhanaan fungsi Boolean
dengan metode Quine-McCluskey mempunyai 7
(tujuh)
langkah
pengerjaan
untuk
37
Jurnal Teknologi dan Sistem Informasi, Volume 2, Nomor 1, Desember 2015, hlm 31-41
2
4
6
8
9
10
11
12
13
14
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
Hasil Penyelesaian Langkah - 6 :
0
0
0
0
1
0
1
0
1
0
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 :
LANGKAH-7.A : Tandai kolom-kolom yang
mempunyai satu buah tanda 'x' dengan tanda '*',
lalu beri tanda '√' di sebelah kiri bentuk prima
yang mencakup minterm yang mempunyai
tanda '*' tersebut. Bentuk prima ini telah dipilih
untuk fungsi Boolean sederhana.
Hasil Penyelesaian Langkah-7 dan 7.A :
LANGKAH-2 : Kelompokkan tiap minterm
berdasarkan jumlah '1' yang dimilikinya.
LANGKAH-3 : Kombinasikan minterm dalam n
peubah dengan kelompok lain yang jumlah '1'nya berbeda satu, sehingga diperoleh bentuk
prima (prime-implicant) yang terdiri dari n-1
peubah. minterm yang dikombinasikan diberi
tanda '√'
LANGKAH-4 : Kombinasikan minterm dalam n
- 1 peubah dengan kelompok lain yang jumlah
'1'-nya berbeda satu, sehingga diperoleh bentuk
prima yang terdiri dari n-2 peubah.
LANGKAH-5 : Teruskan langkah 4 sampai
diperoleh bentuk prima yang sesederhana
mungkin.
Hasil Penyelesaian Langkah-3, 4 dan 5 :
Dikombinasikan menjadi :
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 '*').
Hasil Penyelesaian Langkah-7.B
:
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.
LANGKAH-7.D : Ulangi langkah 7.C sampai
seluruh minterm sudah dicakup oleh bentuk
prima
Hasil Penyelesaian Langkah - 7.C dan 7.D :
Sampai tahap ini, masih ada minterm yang
belum tercakup dalam bentuk prima terpilih,
yaitu 3, 8, 10. Untuk mencakup minterm
tersebut, kita pilih bentuk prima (8,10) dan (1,3)
karena mencakup minterm 3, 8 dan 10
sekaligus.
LANGKAH-6 : Ambil semua bentuk prima
yang tidak bertanda '√'. Buatlah tabel baru yang
memperlihatkan minterm dari ekspresi Boolean
semula yang dicakup oleh bentuk prima tersebut
(tandai dengan 'x').
38
Saputra, Penerapan Metode Quine-Mc Cluskey Untuk Menyederhanakan Fungsi Boolean
4.
Sekarang, semua minterm sudah
tercakup dalam bentuk prima terpilih. Bentuk
prima yang terpilih adalah :
1, 9 yang bersesuaian dengan term
x’y’z
4, 6 yang bersesuaian dengan term
w'xz'
7,15 yang bersesuaian dengan term xyz
8,9,10,11 yang bersesuaian dengan
term wx’
Dari
langkah
–
langkah
penyederhanaan di atas, hasil minimisasi fungsi
Boolean dalam bentuk SOP: f (w, x, y, z) = ∑
(1, 4, 6, 7, 8, 9, 10, 11, 15) adalah
f (w, x, y, z) = x’y’z + w'xz' + xyz +
wx’.
Misalkan input fungsi dalam bentuk
POS dengan nomor–nomor maxterm yang sama
dengan nomor – nomor minterm pada contoh
sebelumnya.
f (w, x, y, z) =  (1, 4, 6, 7, 8, 9, 10, 11, 15)
Langkah – langkah dan hasil
penyederhanaan sama dengan penyederhanaan
dalam bentuk SOP, yaitu menghasilkan bentuk
prima terpilih (1,9), (4,6), (7,15),
dan
(8,9,10,11). Perbedaannya hanya terletak pada
bentuk output. Bentuk prima terpilih diubah ke
bentuk POS (sama dengan bentuk input).
1, 9 yang bersesuaian dengan term
(x+y+z')
4, 6 yang bersesuaian dengan term
(w+x’+z)
7,15 yang bersesuaian dengan term
(x’+y’+z’)
8,9,10,11 yang bersesuaian dengan
term (w’+x )
Dengan demikian, hasil minimisasi
fungsi Boolean dalam bentuk POS adalah:
f(w, x, y, z) = (x+y+z')(w + x' +
z(x’+y’+z’) (w’+x )
Hasil penyederhanaan, didapat : f(w, x,
y, z) = y z' + x z' + w x' + w y'.
Gambar 7. Proses Penyederhanaan
Fungsi Boolean (Pengujian-1)
Tahapan – tahapan proses penyederhanaan yang
dihasilkan adalah sebagai berikut:
penyederhanaan fungsi boolean f(w, x, y, z) =
∑ (2, 4, 6, 8, 9, 10, 11, 12, 13, 14) dengan
metode Quine-McCluskey
LANGKAH - 1 : Nyatakan tiap minterm dalam
n peubah menjadi string bit biner yang
panjangnya n.
Hasil Penyelesaian Langkah - 1 :
Gambar 8. Hasil Penyelesaian Langkah 1
LANGKAH - 2 : Kelompokkan tiap minterm
berdasarkan jumlah '1' yang dimilikinya.
Hasil Penyelesaian Langkah - 2 :
4.2 Pengujian Pertama
Sebagai contoh, penulis meng-input
data sebagai berikut.
1. Bentuk fungsi input : SOP (sum-ofproduct)
2. Banyak peubah (variabel) = 4 buah,
yaitu w, x, y dan z.
3. Input
nomor
minterm
:
2;4;6;8;9;10;11;12;13;14.
Gambar 9 Hasil Penyelesaian Langkah 2
LANGKAH - 3 : Kombinasikan minterm dalam
n peubah dengan kelompok lain yang jumlah '1'nya berbeda satu, sehingga diperoleh bentuk
prima (prime-implicant) yang terdiri dari n-1
peubah. minterm yang dikombinasikan diberi
tanda 'v'
39
Jurnal Teknologi dan Sistem Informasi, Volume 2, Nomor 1, Desember 2015, hlm 31-41
LANGKAH - 4 : Kombinasikan minterm dalam
n - 1 peubah dengan kelompok lain yang jumlah
'1'-nya berbeda satu, sehingga diperoleh bentuk
prima yang terdiri dari n-2 peubah.
LANGKAH - 5 : Teruskan langkah 4 sampai
diperoleh bentuk prima yang sesederhana
mungkin.
Hasil Penyelesaian Langkah - 3, 4 dan 5 :
Dikombinasikan menjadi :
Hasil Penyelesaian Langkah - 7 dan 7.A :
Gambar 12. Hasil penyelesaian langkah 7A
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 '*').
Hasil Penyelesaian Langkah - 7.B :
Gambar 10. Hasil Penyelesaian Langkah 3, 4,
5
LANGKAH - 6 : Ambil semua bentuk prima
yang tidak bertanda 'v'. Buatlah tabel baru yang
memperlihatkan minterm dari ekspresi Boolean
semula yang dicakup oleh bentuk prima tersebut
(tandai dengan 'x').
Hasil Penyelesaian Langkah - 6 :
Gambar 13. Hasil Penyelesaian Langkah 7B
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.
LANGKAH - 7.D : Ulangi langkah 7.C sampai
seluruh minterm sudah dicakup oleh bentuk
prima
Hasil Penyelesaian Langkah - 7.C dan 7.D :
Gambar 11. Hasil Penyelesaian Langkah 6
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 :
LANGKAH - 7.A : Tandai kolom-kolom yang
mempunyai satu buah tanda 'x' dengan tanda '*',
lalu beri tanda 'v' di sebelah kiri bentuk prima
yang mencakup minterm yang mempunyai
tanda '*' tersebut. Bentuk prima ini telah dipilih
untuk fungsi Boolean sederhana.
Gambar 5.8 Hasil penyelesaian langkah 7C dan
7D
Dengan demikian, fungsi Boolean hasil
penyederhanaan adalah :
f(w, x, y, z) = y z' + x z' + w x'
+ w y'
40
Saputra, Penerapan Metode Quine-Mc Cluskey Untuk Menyederhanakan Fungsi Boolean
5. KESIMPULAN dan SARAN
1.
2.
3.
4.
DAFTAR PUSTAKA
Setelah menyelesaikan perancangan
sistem penerapan metode Quine McCluskey
untuk menyederhanakan fungsi Boolean
maka dapat diambil kesimpulan sebagai
berikut :
Sistem yang penulis rancang hanya mampu
menyederhanakan fungsi Boolean dalam
bentuk penjumlahan dari hasil kali dan
perkalian dari hasil jumlah.
Jumlah fungsi Boolean yang dapat
disederhanakan dengan sistem ini baru 10
variabel.
Sistem ini akan memberikan penjelasan
setiap
tahap-tahap
penyederhanaan
sehingga
mahasiswa/pengguna
dapat
dengan
muda
memahami
proses
penyederhanaan fungsi Boolean.
Metode Quine McCluskey lebih mudah dan
cepat bila dikerjakan dengan menggunakan
sistem komputer (program)
Adhav Vitthal, Buchade Amar, Pune,
Maharashtra, India, 2009, Modified
Quine-McCluskey Method.
Susi Kartika Handayani Putria, 2005,
Penyederhanaan Fungsi Boolean
Meng Gunakan Metode Peta Karnaugh
Dan
Quine
Mc.Cluskey
Untuk
Membentuk Rangkaian Logika.
Arisah, 2009, Aljabar Boolean.
B. Gunawan Sudarsono, 2012, Logika
Matematika.
Mila Ramadiana Harahap, Giva Andriana
Mutiara,
Bambang
Pujdjoatmojo,2012,
Aplikasi
Pembelajaran Matematika Diskrit
(Karnaugh Map) Sebagai Alat Bantu
Pengajaran.
P.W. Chandana Prasad, Azam Beg,
Ashutosh Kumar Singh, 2009, Effect
of Quine-McCluskey Simplification on
Boolean
Space
Complexity,
Jurnal,CITISIA.
Rinaldi Munir, 2005, Matematika Diskrit,
Informatika Bandung.
Rinaldi Munir, 2007, Matematika Diskrit,
Informatika Bandung.
Safrina Amanah Sitepu, 2009, Studi Metode
Quine-McCluskey
Untuk
Menyederhanakan Rangkaian Digital.
saludin muis, 2012, Teknik Digital
Dasar.
Slamet Winardi, F. Belo Sebastio
Domingos, 2012, Rancang Bangun
Software Pembelajaran Interaktif
Dasar Digital.
Wawan Setiawan, 2000, Pengantar Sistem
Digital.
Beberapa saran yang mungkin dapat
membantu dalam pengembangan sistem
penyederhanaan fungsi Boolean ini yaitu:
1.
2.
Sistem ini agar dikembangkan lagi
sehingga dapat diakses melalui media
online dan juga HP
Pemahaman proses penyederhanaan dapat
dikembangkan
dengan
menambahkan
animasi proses penjelasan yang dibangun
dengan aplikasi Macromedia Flash.
41
Download