MODIFIKASI APLIKASI PENYEDERHANAAN FUNGSI ALJABAR BOOLEAN DENGAN PENERAPAN BUBBLE SORT DAN KLASIFIKASI PADA METODE QUINE-MCCLUSKEY (THE MODIFICATION OF APPLICATION FOR SIMPLIFLYING BOOLEAN FUNCTION USING QUINE-MCCLUSKEY METHOD AND APPLYING BUBBLE SORT AND
MODIFIKASI APLIKASI PENYEDERHANAAN FUNGSI ALJABAR BOOLEAN
DENGAN PENERAPAN BUBBLE SORT DAN KLASIFIKASI
PADA METODE QUINE-MCCLUSKEY
Oleh
EKO DWI NUGROHO
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
SARJANA KOMPUTER
Pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
PROGRAM STUDI ILMU KOMPUTER
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
2013
ABSTRACT
THE MODIFICATION OF APPLICATION FOR SIMPLIFLYING
BOOLEAN FUNCTION USING QUINE-MCCLUSKEY METHOD AND
APPLYING BUBBLE SORT AND CLASSIFICATION PROCESS
By
EKO DWI NUGROHO
Digital circuits is one of representation for Boolean function. Sometime a Boolean
function is too long and difficult to make digital circuits, so it is important to
simplify. The simplification of Boolean function is to find another Boolean
function which is more efficient and equivalent with the original. In this research
we make the application of that simplification. The application uses QuineMcCluskey Method and applied Bubble Sort and classification process, so that
application can accept Boolean function as input with variables which do not
necessarily alphabetically and long of minterms can be different. Bubble Sort
applied on variables, so that variables input which do not necessarily
alphabetically can consecutive automatically alphabetic. Whereas, classification
applied on minterms, so that minterms input with different length can be
combined using Quine-McCluskey Method procedure. Idempotent and
Complement Law also added to Application simplification of Boolean function,
so that simplification of Boolean function more optimal.
Keywords: Application, Boolean Algebra, Bubble Sort, Classification, QuineMcCluskey Method.
ABSTRAK
MODIFIKASI APLIKASI PENYEDERHANAAN FUNGSI ALJABAR BOOLEAN
DENGAN PENERAPAN BUBBLE SORT DAN KLASIFIKASI
PADA METODE QUINE-MCCLUSKEY
Oleh
EKO DWI NUGROHO
Rangkaian digital merupakan salah satu representasi dari Aljabar Boolean.
Terkadang Fungsi Boolean terlalu panjang, sehingga rumit untuk membuat
rangkaian digital. Fungsi tersebut dapat disederhanakan dengan cara mencari
fungsi lain yang ekuivalen dan lebih efisien, sehingga lebih mudah untuk
membuat rangkaian digital. Aplikasi penyederhanaan Fungsi Boolean merupakan
aplikasi untuk mencari Fungsi Boolean yang lain, tetapi ekuivalen dan lebih
efisien. Aplikasi tersebut menggunakan Metode Quine-McCluskey dalam
penyederhanaan Fungsi Boolean dan juga sudah diterapkan Bubble Sort dan
klasifikasi, sehingga aplikasi dapat menerima masukan Fungsi Boolean dengan
peubah yang tidak harus berurutan sesuai alfabet dan panjang minterms dapat
berbeda-beda. Bubble Sort diterapkan pada peubah, sehingga pada masukan
Fungsi Boolean peubah yang tidak berurutan sesuai alfabet dapat berurutan secara
otomatis sesuai alfabet. Sedangkan, klasifikasi diterapkan pada minterms,
sehingga pada masukan Fungsi Boolean minterms dengan panjang yang berbedabeda dapat dikombinasikan sesuai prosedur Metode Quine-McCluskey. Hukum
Idempoten dan Komplement juga ditambahkan ke Aplikasi penyederhanaan
Fungsi Boolean, sehingga penyederhanaan Fungsi Boolean lebih maksimal.
Kata Kunci: Aljabar Boolean, Aplikasi, Bubble Sort, Klasifikasi, Metode QuineMcCluskey.
MENGESAHKAN
t,
Tim Penguji
V a+, ,a
NELt,lO
:
Dra. Wamiliana, M.A., Ph.D.
Sekretaris
:
Ossy Dwi Endah W', S.Si., M.T.
Penguji
Bukan Pembimbing
:
lr. Machudor Yusman M., M.Kom'
Fakultas Matematika dan llmu Pengetahuan Alam
Lamoung
t
ranggal Lulus Ujian Skripsi : 15 November 2013
.ludul Skripsi
MODIFIKASI APTIKASI PENYEOERHANAAN
FUN€SI ALJABAR BOOLEAN DEHGAN
PENERAPAN BU BBLE SOAT DAN KIASIFIKASI
PADA METOEE QU IN E.MCCLUSKEY
l!^.^^
trr-L^^:-.-.^
rYdr r td tvtdt Id5t5wd
€ko $wt Q$6rofro
Nomor Pokok Mahasiswa
09r_7032035
Jurusan
llmu Komputer
Fakultas
Matematika dan llmu Pengetahuan Alam
MENYETUJUI
1. Komisi Pembimbing
Pemhimhino
PBmhimhinp ll
I
,/l
z
*-...1
u./
Dra. Wamiliar F, M.A., Ph.D.
Ossy Dwi Endah lAr., S.Si", M.T.
NlP. 19631108 198902 2 001
NrP. 19740713 2AA3t2 ? OA2
2. Ketua Jurusan llmu Komputer
FMIPA Un
Lampung
lr.
hudor Yusman M., M.Kom.
NrP. 1_9570330198603 L 003
I
PERNYATAAN
saya yang bertanda tangan di bawah ini menyatakan bahwa skripsi saya yang
berjudul "Modifikasi Aplikasi Penyederhanaan Fungsi Aljabar Boolean
dengan Penerapan Bubble
sofi dan Klasilikasi pada Metode euin*
Mccluskey" ini inerupakan hasil karya sendiri dan bukan hasil karya orang lain.
Semua hasil tulisan yang tertuang dalam skripsi
ini telah mengikuti
format
penulisan karya ilmiah Universitas Lampung. Apabila di kemudian hari terbukti
bahwa skripsi saya merupakan hasil salinan atau hasil kmya orang lain, maka saya
bersedia menerima sanksi sesuai peraturan yang berlaku, serta pencabutan gelar
akademik yang telah saya terima.
ampung,
l9 November 2013
D
Nugroho
NPM 0917032036
DAFTAR ISI
Halaman
ABSTRAK ...................................................................................................... i
SANWACANA ............................................................................................... x
DAFTAR ISI ................................................................................................... xii
DAFTAR GAMBAR ...................................................................................... xv
DAFTAR TABEL .......................................................................................... xvi
BAB I PENDAHULUAN ............................................................................... 1
1.1 Latar Belakang ..................................................................................... 1
1.2 Rumusan Masalah ................................................................................ 2
1.3 Batasan Masalah................................................................................... 2
1.4 Tujuan .................................................................................................. 2
1.5 Manfaat ................................................................................................ 3
BAB II TINJAUAN PUSTAKA.................................................................... 4
2.1 Aljabar Boolean ................................................................................... 4
2.2 Minterms .............................................................................................. 5
2.3 Sum-of-Products ................................................................................... 6
2.4 Metode Quine-McCluskey.................................................................... 6
2.5 Bubble Sort ........................................................................................... 8
2.6 Klasifikasi ............................................................................................ 8
BAB III METODE PENELITIAN ............................................................... 9
3.1 Tempat dan Waktu Penelitian .............................................................. 9
3.2 Perangkat .............................................................................................. 9
3.3 Metode Penelitian................................................................................. 10
3.4 Metode Pengembangan Sistem ............................................................ 10
3.4.1 Analisis Sistem ........................................................................... 10
3.4.2 Desain Sistem ............................................................................. 11
3.4.2.1 Use Case Diagram .......................................................... 11
3.4.2.2 Activity Diagram ............................................................. 12
3.4.2.3 Sequence Diagram .......................................................... 13
3.4.2.4 Class Diagram ................................................................ 15
3.4.2.5 Desain Antarmuka Sistem ............................................... 16
3.4.3 Kode Program ............................................................................. 19
3.4.4 Penerapan dan Pengujian ............................................................ 20
BAB IV HASIL DAN PEMBAHASAN ....................................................... 21
4.1 Bubble Sort ........................................................................................... 21
4.2 Klasifikasi ............................................................................................ 23
4.3 Hukum Idempoten A + A = A dan AA = A ......................................... 26
4.4 Hukum Komplemen A + a = 1 ............................................................ 29
4.5 Hukum Komplemen Aa = 0 ................................................................. 31
4.6 Hasil Penelitian .................................................................................... 33
4.7 Pengujian Sistem .................................................................................. 37
BAB V KESIMPULAN DAN SARAN ......................................................... 40
5.1 Kesimpulan .......................................................................................... 40
xiii
5.2 Saran ..................................................................................................... 40
DAFTAR PUSTAKA ..................................................................................... 41
xiv
BAB I
PENDAHULUAN
1.1 Latar Belakang
Rangkaian digital merupakan salah satu representasi dari Aljabar Boolean.
Terkadang Fungsi Boolean terlalu panjang, sehingga rumit untuk membuat
rangkaian digital. Fungsi tersebut dapat disederhanakan dengan cara mencari
fungsi lain yang ekuivalen dan lebih efisien, sehingga lebih mudah untuk
membuat rangkaian digital. Penyederhanaan Fungsi Boolean dapat dilakukan
dengan tiga cara yaitu dengan cara Aljabar, Peta Karnaugh, dan Metode
Quine-McCluskey.
Penelitian ini melanjutkan penelitian sebelumnya yang dilakukan oleh Zahroh
(2013) dengan menggunakan Metode Quine-McCluskey. Metode QuineMcCluskey merupakan metode dengan cara mengubah peubah Fungsi
Boolean menjadi bentuk biner, kemudian sebanyak mungkin peubah
dihilangkan secara maksimal, sehingga didapat Fungsi Boolean yang paling
sederhana. Pada penelitian sebelumnya, aplikasi penyederhanaan Fungsi
Boolean pada masukan tidak dapat menerima peubah yang tidak berurutan
sesuai alfabet dan panjang minterms tidak berbeda-beda. Oleh karena itu,
dalam penelitian ini dimodifikasi aplikasi tersebut, sehingga dapat
2
menerimamasukan Fungsi Boolean dengan peubah dapat tidak berurutan
sesuai alfabet dan panjang minterms dapat berbeda-beda.
1.2 Rumusan Masalah
Rumusan masalah yang terbentuk berdasarkan latar belakang penelitian ini
adalah memodifikasi aplikasi penyederhanaan Fungsi Boolean dengan
menerapkan:
a. Bubble Sort pada peubah, sehingga pada masukan Fungsi Boolean peubah
yang tidak berurutan sesuai alfabet dapat berurutan secara otomatis sesuai
alfabet.
b. Klasifikasi pada minterms, sehingga pada masukan Fungsi Boolean
minterms dengan panjang yang berbeda-beda dapat dikombinasikan sesuai
prosedur Metode Quine-McCluskey.
1.3 Batasan Masalah
Masalah yang dibahas dalam penelitian ini difokuskan pada penambahan
Bubble Sort dan klasifikasi pada modifikasi aplikasi penyederhanaan Fungsi
Boolean.
1.4 Tujuan
Tujuan dari penelitian ini adalah menyempurnakan aplikasi penyederhanaan
Fungsi Boolean dengan dapat menerima masukan Fungsi Boolean dengan
3
peubah dapat tidak berurutan sesuai alfabet dan panjang minterms dapat
berbeda-beda.
1.5 Manfaat
Penelitian ini diharapkan dapat bermanfaat berdasarkan tujuannya. Manfaat
dari penelitian ini adalah:
a. Aplikasi penyederhanaan Fungsi Boolean lebih berkembang dengan dapat
menerima masukan Fungsi Boolean dengan peubah dapat tidak berurutan
sesuai alfabet dan panjang minterms dapat berbeda-beda.
b. Sebagai alat untuk membantu dalam menyederhanakan rangkaian digital.
c. Menjadi bahan pertimbangan atau acuan untuk penelitian selanjutnya atau
penelitian yang sejenis.
BAB II
TINJAUAN PUSTAKA
2.1 Aljabar Boolean
Barnett (2011) menyatakan bahwa Aljabar Boolean dipublikasikan oleh
George Boole dalam An Investigation of the Laws of Thought pada tahun
1954. Dalam karya ini, Boole mengembangkan sistem dari simbol-simbol (x
dan +) yang mempresentasikan operasi-operasi pada himpunan yang secara
simbolis dipresentasikan oleh huruf-huruf. Rosen (2012) dalam buku Discrete
Mathematics and Its Applications, Aljabar Boolean menyediakan aturan dan
operasi untuk bekerja dengan himpunan {0, 1}. Operasi dalam Aljabar
Boolean yang sebagian besar digunakan yaitu komplemen, penjumlahan, dan
perkalian Boolean. Komplemen dari elemen, dilambangkan dengan tanda bar
( ¯ ), didefinisikan dengan 0 = 1 dan 1 = 0. Penjumlahan Boolean,
dilambangkan dengan tanda tambah ( + ) atau OR, mempunyai nilai-nilai
berikut:
1 + 1 = 1,
1 + 0 = 1,
0 + 1 = 1,
0+0=0
Perkalian Boolean, dilambangkan dengan tanda titik di tengah ( · ) atau AND,
mempunyai nilai-nilai berikut:
1 · 1 = 1,
1 · 0 = 0,
0 · 1 = 0,
0· 0=0
5
Identitas dalam Aljabar Boolean sangat berguna untuk menyederhanakan
rangkaian digital, (Rosen, 2012). Identitas dalam Aljabar Boolean dapat
dilihat pada Tabel 2.1.
Tabel 2.1 Identitas Boolean
No
1
2
3
4
5
6
7
8
9
10
Identitas
x
x+x=x
x· x=x
x+0=x
x· 1=x
x+1=1
x· 0=0
x+y=y+x
xy = yx
x + (y + z) = (x + y) + z
x(yz) = (xy)z
x + yz = (x + y)(x + z)
x(y + z) = xy + xz
( xy ) x y
( x y) x y
x + xy = x
x(x + y) = x
x x 1
xx 0
Nama
Hukum Komplemen Ganda
Hukum Idempoten
Hukum Identitas
Hukum Dominansi
Hukum Komulatif
Hukum Asosiatif
Hukum Distributif
Hukum De Morgan’s
Hukum Absorpsi
Hukum Komplemen
2.2 Minterms
Minterms dari peubah Boolean x1, x2, . . . , xn adalah hasil perkalian Boolean
y1y2 . . . yn, di mana yi = xi atau yi = xi , (Rosen, 2012). Minterms y1y2 . . . yn
bernilai 1, jika dan hanya jika setiap yi bernilai 1, dan ini terjadi, jika dan
hanya jika xi = 1 ketika yi = xi dan xi = 0 ketika yi = xi .
6
2.3 Sum-of-Products
Sum-of-Products adalah penjumlahan dari minterms atau bentuk normal
disjungtif dari Fungsi Booelan, (Rosen, 2012). Contoh Sum-of-Products
adalah F ( x, y, z) xy z x y z x y z .
2.4 Metode Quine-McCluskey
Seda (2008) menyatakan bahwa Metode Quine-McCluskey adalah algoritma
yang tepat berdasarkan aplikasi sistematis dari hukum distributif, hukum
komplemen dan hukum idempoten. Tetapi Seda juga mengatakan bahwa
metode tersebut memberikan prosedur yang unik dari komputasi, sehingga
secara sederhana dapat diimplentasikan, tetapi, bahkan untuk contoh yang
sederhana tidak menjamin solusi yang optimal. Kemudian, menurut
Tomaszewski, et al (2003), Metode Quine-McCluskey adalah teknik yang
sangat sederhana dan sistematis untuk menyederhanakan Fungsi Boolean.
Metode tersebut mempunyai terutama dua keunggulan dibandingkan dengan
Peta Karnaugh. Pertama, secara sistematis untuk menghasilkan fungsi
sederhana yang kurang bergantung pada pola visual. Kedua, skema yang
layak untuk menangani banyak peubah. Rosen (2012) mengatakan bahwa
Metode Quine-McCluskey adalah prosedur untuk menyederhanakan Fungsi
Boolean dalam bentuk Sum-of-Products yang dapat menjadi mekanisme
untuk digunakan ketika ada lebih dari empat peubah dan tidak bergantung
pada inspeksi visual untuk mengidentifikasi istilah-istilah untuk kelompok.
Metode tersebut terdiri dari dua bagian. Bagian pertama menemukan istilah-
7
istilah yang menjadi kandidat untuk dimasukkan dalam hasil sederhana
sebagai penjumlahan dari hasil perkalian Booelan. Bagian kedua menentukan
istilah tersebut untuk benar-benar digunakan.
Metode Quine-McCluskey menggunakan urutan langkah-langkah untuk
menyederhanakan Fungsi Boolean dalam bentuk Sum-of-Product, (Rosen,
2012). Langkah-langkah tersebut adalah:
a. Nyatakan setiap minterms dalam n peubah menjadi bit string yang
panjangnya n dengan ‘1’ di posisi ke-i, jika xi terjadi dan ‘0’ dalam posisi
tersebut, jika xi terjadi.
b. Kelompokkan bit string sesuai dengan banyak ‘1’ yang dipunyainya.
c. Tentukan semua hasil dalam n - 1 peubah yang dapat dibentuk dengan
mengkombinasikan minterms. Minterms yang dapat dikombinasikan
ditunjukkan oleh bit string yang berbeda tepat satu posisi. Representasikan
hasil tersebut dalam n - 1 peubah dengan ‘1’ di posisi ke-i, jika xi terjadi
pada hasil, ‘0’ di posisi tersebut, jika xi terjadi, dan ‘-’ dalam posisi
tersebut, jika terjadi berbeda tepat satu posisi.
d. Tentukan semua hasil dalam n - 2 peubah yang dapat dibentuk dengan
mengkombinasikan minterms dalam n - 1 peubah sebelumnya. Hasil dalam
n - 1 peubah yang dapat dikombinasikan ditunjukkan oleh bit string yang
berbeda tepat satu posisi, serta mempunyai ‘-’ di posisi yang sama.
e. Lanjutkan mengkombinasikan hasil Fungsi Boolean menjadi hasil dalam
peubah yang lebih sedikit selama mungkin.
8
f. Cari semua hasil Fungsi Boolean yang muncul yang tidak digunakan untuk
membentuk hasil dari penyederhanaan Fungsi Boolean.
2.5 Bubble Sort
Urut menurut Sjukani (2009) dalam buku Struktur Data (Algoritma dan
Struktur Data 2) dengan C, C++ adalah data yang berada dalam tempat
penyimpanan, dengan urutan tertentu baik urut menaik atau urut menurun.
Pengurutan adalah proses urut. Kemudian, Munir (2007) dalam buku
Algoritma dan Pemrograman mengatakan bahwa pengurutan merupakan
proses mengatur sekumpulan objek menurut urutan atau susunan tertentu.
Pengurutan dikatakan stabil jika dua atau lebih data yang sama tetap pada
urutan yang sama sesudah pengurutan.
Terdapat beberapa metode pengurutan, salah satunya adalah Bubble Sort.
Bubble Sort melakukan prinsip pertukaran elemen dalam pengurutan
sebanyak n – 1 langkah dengan n adalah panjang data, (Munir, 2007).
2.6 Klasifikasi
Klasifikasi adalah penyusunan bersistem dalam kelompok atau golongan
menurut kaidah atau standar yang sudah ditetapkan, (Anonim, 2008).
BAB III
METODE PENELITIAN
3.1 Tempat dan Waktu Penelitian
Peneliti melakukan penelitian ini di Jurusan Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam, Universitas Lampung. Waktu
penelitian yang dilakukan pada semester ganjil tahun ajaran 2013-2014.
3.2 Perangkat
Perangkat yang digunakan untuk memodifikasi aplikasi penyederhanaan
Fungsi Booelan dalam penelitian ini berupa perangkat keras dan perangkat
lunak. Perangkat keras yang digunakan oleh peneliti adalah satu unit laptop
dengan spesifikasi:
a. Prosesor Inter Core 2 Solo 1.4 Ghz.
b. VGA Intel GMA 4500 MHD.
c. RAM 4 GB DDR3.
d. Harddisk 320 GB HDD.
Sedangkan, perangkat lunak yang digunakan oleh peneliti adalah:
a. Sistem Operasi Microsoft Windows Vista Home Premium 32 bit.
b. Aplikasi Netbeans IDE 7.2.1.
10
3.3 Metode Penelitian
Metode penelitian yang dilakukan oleh peneliti adalah studi literatur. Peneliti
membaca dari buku-buku dan jurnal-jurnal yang berhubungan dengan Aljabar
Boolean. Tujuan dari metode tersebut untuk memperoleh sumber referensi,
sehingga memudahkan penelitian ini.
3.4 Metode Pengembangan Sistem
Penelitian ini menggunakan tahapan analisis sistem, desain sistem, kode
program, dan penerapan dan pengujian sistem sebagai metode pengembangan
sistem.
3.4.1 Analisis Sistem
Analisis sistem yang dilakukan oleh peneliti yaitu mencoba berbagai
macam masukan Fungsi Boolean pada aplikasi penyederhanaan Fungsi
Boolean, serta dengan melihat kode program pada aplikasi tersebut.
Peneliti melakukan analisis sistem terhadap aplikasi penyederhanaan
Fungsi Booelan yang sudah dikembangkan sebelumnya untuk
menemukan kesalahan atau kekurangan pada aplikasi tersebut untuk
diperbaiki atau dimodifikasi.
Analisis sistem aplikasi penyederhanaan Fungsi Booelan yang sudah
dikembangkan sebelumnya dan pada penelitian ini dapat dilihat pada
Tabel 3.1.
11
Tabel 3.1 Analisis Sistem Aplikasi Penyederhanaan Fungsi Booelan
No
1
Penelitian Sebelumnya
Peubah harus berurutan
sesuai alfabet
2
Panjang minterms harus sama
3
Tidak menerapkan Hukum
Komplemen
4
Tidak menerapkan Hukum
Idempoten
Penelitian Sekarang
Peubah tidak harus berurutan
sesuai alfabet
Panjang minterms tidak harus
sama
Menerapkan Hukum
Komplemen, Aa = 0 pada
masukan Fungsi Boolean dan
A+a = 1 pada keluaran hasil
penyederhanaan Fungsi
Boolean
Menerapkan Hukum
Idempoten, A+A = A dan AA
= A pada masukan Fungsi
Boolean
3.4.2 Desain Sistem
Berdasarkan hasil analisis, peneliti menuangkan konsep rancangan
modifikasi aplikasi penyederhanaan Fungsi Boolean dalam bentuk
diagram dan desain antarmuka sistem. Diagram yang digunakan adalah
use case diagram, activity diagram, sequence diagram, dan class
diagram.
3.4.2.1 Use Case Diagram
Use case diagram aplikasi penyederhanaan Fungsi Boolean terdapat
satu aktor dan tiga use case. Aktor yaitu sebagai pengguna aplikasi
penyederhanaan Fungsi Boolean. Tiga use case yaitu Metode QuineMcCluskey, Bubble Sort, dan klasifikasikan. Hubungan antara
pengguna dan use case tersebut adalah pengguna memasukkan
Fungsi Boolean dan aplikasi penyederhanaan Fungsi Boolean
12
menyederhanakan fungsi tersebut menggunakan Metode QuineMcCluskey. Pada penyederhanaan Fungsi Boolean diterapkan Bubble
Sort dan klasifikasi. Bubble Sort diterapkan pada peubah, sehingga
pada masukan Fungsi Boolean, peubah tidak berurutan sesuai alfabet
dapat berurutan secara otomatis sesuai alfabet. Klasifikasi diterapkan
pada minterms, sehingga pada masukan Fungsi Boolean, minterms
dengan panjang yang berbeda-beda dapat dikombinasikan sesuai
prosedur Metode Qunie-McCluskey. Use case diagram tersebut dapat
dilihat pada Gambar 3.1.
Gambar 3.1 Use Case Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.2 Activity Diagram
Activity diagram aplikasi penyederhanaan Fungsi Boolean prosedur
dimulai dengan memasukkan Fungsi Boolean yang dilakukan oleh
pengguna. Kemudian, aplikasi penyederhanaan Fungsi Boolean
mengurutkan peubah menggunakan Bubble Sort terlebih dahulu,
sehingga peubah berurutan sesuai alfabet. Sesudah pengurutan
13
minterms diklasifikasikan berdasarkan panjangnya, sehingga minterms
dengan panjang tertinggi yang dikombinasikan terlebih dahulu,
dilanjutkan dengan panjang tertinggi kedua, dan seterusnya. Prosedur
selanjutnya menyederhanakan Fungsi Boolean dengan menggunakan
Metode Quine-McCluskey dan menampilkan hasilnya. Activity
diagram tersebut dapat dilihat pada Gambar 3.2.
Gambar 3.2 Activity Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.3 Sequence Diagram
Sequence diagram aplikasi penyederhanaan Fungsi Boolean proses
dimulai dari pengguna memasukkan Fungsi Boolean. Fungsi Boolean
14
yang masuk dipisah menjadi minterms, kemudian setiap minterms
dipisah menjadi peubah. Sesudah itu proses pengurutan peubah
dilakukan menggunakan Bubble Sort dengan melihat kode ASCII
huruf kapital setiap peubah. Peubah disatukan kembali menjadi
minterms, jika sudah selesai melakukan proses pengurutan peubah.
Proses selanjutnya menghitung banyak klasifikasi. Sesudah itu diberi
nama setiap klasifikasi sesuai dengan macam-macam panjang
minterms dan dihitung banyak anggota setiap klasifikasi. Minterms
dapat diklasifikasikan berdasarkan panjangnya. Proses terakhir
menyederhanakan Fungsi Booelan menggunakan Metode QuineMcCluskey dengan cara mengkombinasikan minterms. Jika minterms
dapat dikombinasikan, maka minterms itu diberi status. Hasil
penyederhanaan Fungsi Booelan adalah minterms yang tidak
mempunyai status. Kemudian, aplikasi penyederhanaan Fungsi
Boolean menampilkan hasilnya untuk dilihat oleh pengguna. Sequence
diagram tersebut dapat dilihat pada Gambar 3.3.
15
Gambar 3.3 Sequence Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.4 Class Diagram
Class diagram aplikasi penyederhanaan Fungsi Boolean terdapat satu
kelas, sembilan tipe data, dan delapan operasi. Kelas bernama
penyederhanaan. Sembilan tipe data yaitu integer, long, double,
String, array integer satu dimensi, array integer dua dimensi, array
String satu dimensi, array String dua dimensi, dan ArrayList. Tipe
data integer yaitu i, j, k, l, J, K, dan L. Tipe data long yaitu T0, T1,
T2, dan T3. Tipe data double yaitu m0, m1, eco, dan T. Tipe data
16
String yaitu I, keluaran, dan tahap. Tipe data array integer satu
dimensi yaitu B, D, E, F, dan status. Tipe data array String satu
dimensi yaitu A dan C. Tipe data array integer dua dimensi yaitu CC.
Tipe data array String dua dimensi yaitu AA, BB, dan DD. Tipe data
ArrayList yaitu S, V, X, dan Z. Delapan operasi yaitu pengurutan(),
tanda_strip(), biner(), klasifikasi(), kombinasi(), pemilihan(), huruf(),
dan efisiensi(). Aplikasi penyederhanaan Fungsi Boolean mempunyai
satu kelas karena aplikasi tersebut mempunyai satu masukan dan satu
antarmuka. Class diagram tersebut dapat dilihat pada Gambar 3.4.
Gambar 3.4 Class Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.5 Desain Antarmuka Sistem
Desain antarmuka sistem pada aplikasi penyederhanaan Fungsi
Boolean terdapat dua bagian yaitu bagian masukan Fungsi Boolean
17
dan keluaran hasil penyederhanaannya. Selain itu terdapat dua tombol
yaitu tombol untuk memperoses penyederhanaan Fungsi Boolean dan
tombol untuk reset Fungsi Boolean. Pada masukan Fungsi Boolean
terdapat dua kolom yaitu untuk memasukkan Fungsi Boolean dan
untuk menampilkan banyak minterms Fungsi Boolean sebelum
disederhanakan. Sedangkan pada keluaran Fungsi Booelan terdapat
lima kolom yaitu untuk menampilkan Fungsi Boolean sesudah
disederhanakan, untuk menampilkan banyak minterms Fungsi
Boolean sesudah disederhanakan, untuk menampilkan efisiensi
penyederhanaan Fungsi Boolean, untuk menampilkan waktu proses
penyederhanaan Fungsi boolean, dan untuk menampilkan langkahlangkah penyederhanaan Fungsi Boolean.
Perbedaan dari penelitian sebelumnya, pada penelitian sebelumnya
terdapat kolom masukan banyaknya peubah, sedangkan pada
penelitian ini kolom tersebut dihilangkan dan digantikan dengan
menampilkan
disederhanakan,
banyaknya
serta
minterms
ditambah
Fungsi
Boolean
menampilkan
waktu
sebelum
proses
penyederhanaan Fungsi Boolean. Selain itu pada penelitian ini
ditambahkan kolom untuk menampilkan banyaknya minterms Fungsi
Boolean sesudah disederhanakan dan kolom untuk menampilkan
waktu proses penyederhanaan Fungsi Boolean.
Ukuran awal antarmuka pada saat aplikasi penyederhanaan Fungsi
Boolean dibuka yaitu 640 x 480 pixel. Ukuran antarmuka dapat diatur
18
sesuai keinginan pengguna pada saat aplikasi tersebut sedang dibuka.
Desain antarmuka sistem tersebut dapat dilihat pada Gambar 3.5.
Gambar 3.5 Desain Antarmuka Sistem Aplikasi Penyederhanaan
Fungsi Boolean
Keterangan nomor pada Gambar 3.4:
1. Masukan Fungsi Boolean (tipe kolom: dapat ditulis dan dibaca).
2. Banyak minterms awal (tipe kolom: hanya dapat dibaca).
3. Hasil penyederhanaan Fungsi Boolean (tipe kolom: hanya dapat
dibaca).
4. Banyak minterms akhir (tipe kolom: hanya dapat dibaca).
5. Efisiensi penyederhanaan Fungsi Booelan (tipe kolom: hanya dapat
dibaca).
6. Waktu proses penyederhanaan Fungsi Boolean (tipe kolom: hanya
dapat dibaca).
19
7. Langkah-langkah penyederhanaan Fungsi Boolean (tipe kolom
hanya dapat dibaca).
3.4.3 Kode Program
Kode program tentang Bubble Sort dan klasifikasi yang telah dibuat
diterapkan pada aplikasi penyederhaaan Fungsi Aljabar Boolean.
Bubble Sort diterapkan pada peubah, sehingga pada masukan Fungsi
Boolean peubah tidak berurutan sesuai alfabet dapat berurutan secara
otomatis sesuai alfabet. Klasifikasi diterapkan pada minterms, sehingga
pada masukan Fungsi Boolean minterms dengan panjang yang berbedabeda dapat kombinasikan sesuai dengan prosedur Metode QuineMcCluskey.
Potongan kode program Bubble Sort sebagai berikut:
for(i=0;i
DENGAN PENERAPAN BUBBLE SORT DAN KLASIFIKASI
PADA METODE QUINE-MCCLUSKEY
Oleh
EKO DWI NUGROHO
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
SARJANA KOMPUTER
Pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
PROGRAM STUDI ILMU KOMPUTER
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
2013
ABSTRACT
THE MODIFICATION OF APPLICATION FOR SIMPLIFLYING
BOOLEAN FUNCTION USING QUINE-MCCLUSKEY METHOD AND
APPLYING BUBBLE SORT AND CLASSIFICATION PROCESS
By
EKO DWI NUGROHO
Digital circuits is one of representation for Boolean function. Sometime a Boolean
function is too long and difficult to make digital circuits, so it is important to
simplify. The simplification of Boolean function is to find another Boolean
function which is more efficient and equivalent with the original. In this research
we make the application of that simplification. The application uses QuineMcCluskey Method and applied Bubble Sort and classification process, so that
application can accept Boolean function as input with variables which do not
necessarily alphabetically and long of minterms can be different. Bubble Sort
applied on variables, so that variables input which do not necessarily
alphabetically can consecutive automatically alphabetic. Whereas, classification
applied on minterms, so that minterms input with different length can be
combined using Quine-McCluskey Method procedure. Idempotent and
Complement Law also added to Application simplification of Boolean function,
so that simplification of Boolean function more optimal.
Keywords: Application, Boolean Algebra, Bubble Sort, Classification, QuineMcCluskey Method.
ABSTRAK
MODIFIKASI APLIKASI PENYEDERHANAAN FUNGSI ALJABAR BOOLEAN
DENGAN PENERAPAN BUBBLE SORT DAN KLASIFIKASI
PADA METODE QUINE-MCCLUSKEY
Oleh
EKO DWI NUGROHO
Rangkaian digital merupakan salah satu representasi dari Aljabar Boolean.
Terkadang Fungsi Boolean terlalu panjang, sehingga rumit untuk membuat
rangkaian digital. Fungsi tersebut dapat disederhanakan dengan cara mencari
fungsi lain yang ekuivalen dan lebih efisien, sehingga lebih mudah untuk
membuat rangkaian digital. Aplikasi penyederhanaan Fungsi Boolean merupakan
aplikasi untuk mencari Fungsi Boolean yang lain, tetapi ekuivalen dan lebih
efisien. Aplikasi tersebut menggunakan Metode Quine-McCluskey dalam
penyederhanaan Fungsi Boolean dan juga sudah diterapkan Bubble Sort dan
klasifikasi, sehingga aplikasi dapat menerima masukan Fungsi Boolean dengan
peubah yang tidak harus berurutan sesuai alfabet dan panjang minterms dapat
berbeda-beda. Bubble Sort diterapkan pada peubah, sehingga pada masukan
Fungsi Boolean peubah yang tidak berurutan sesuai alfabet dapat berurutan secara
otomatis sesuai alfabet. Sedangkan, klasifikasi diterapkan pada minterms,
sehingga pada masukan Fungsi Boolean minterms dengan panjang yang berbedabeda dapat dikombinasikan sesuai prosedur Metode Quine-McCluskey. Hukum
Idempoten dan Komplement juga ditambahkan ke Aplikasi penyederhanaan
Fungsi Boolean, sehingga penyederhanaan Fungsi Boolean lebih maksimal.
Kata Kunci: Aljabar Boolean, Aplikasi, Bubble Sort, Klasifikasi, Metode QuineMcCluskey.
MENGESAHKAN
t,
Tim Penguji
V a+, ,a
NELt,lO
:
Dra. Wamiliana, M.A., Ph.D.
Sekretaris
:
Ossy Dwi Endah W', S.Si., M.T.
Penguji
Bukan Pembimbing
:
lr. Machudor Yusman M., M.Kom'
Fakultas Matematika dan llmu Pengetahuan Alam
Lamoung
t
ranggal Lulus Ujian Skripsi : 15 November 2013
.ludul Skripsi
MODIFIKASI APTIKASI PENYEOERHANAAN
FUN€SI ALJABAR BOOLEAN DEHGAN
PENERAPAN BU BBLE SOAT DAN KIASIFIKASI
PADA METOEE QU IN E.MCCLUSKEY
l!^.^^
trr-L^^:-.-.^
rYdr r td tvtdt Id5t5wd
€ko $wt Q$6rofro
Nomor Pokok Mahasiswa
09r_7032035
Jurusan
llmu Komputer
Fakultas
Matematika dan llmu Pengetahuan Alam
MENYETUJUI
1. Komisi Pembimbing
Pemhimhino
PBmhimhinp ll
I
,/l
z
*-...1
u./
Dra. Wamiliar F, M.A., Ph.D.
Ossy Dwi Endah lAr., S.Si", M.T.
NlP. 19631108 198902 2 001
NrP. 19740713 2AA3t2 ? OA2
2. Ketua Jurusan llmu Komputer
FMIPA Un
Lampung
lr.
hudor Yusman M., M.Kom.
NrP. 1_9570330198603 L 003
I
PERNYATAAN
saya yang bertanda tangan di bawah ini menyatakan bahwa skripsi saya yang
berjudul "Modifikasi Aplikasi Penyederhanaan Fungsi Aljabar Boolean
dengan Penerapan Bubble
sofi dan Klasilikasi pada Metode euin*
Mccluskey" ini inerupakan hasil karya sendiri dan bukan hasil karya orang lain.
Semua hasil tulisan yang tertuang dalam skripsi
ini telah mengikuti
format
penulisan karya ilmiah Universitas Lampung. Apabila di kemudian hari terbukti
bahwa skripsi saya merupakan hasil salinan atau hasil kmya orang lain, maka saya
bersedia menerima sanksi sesuai peraturan yang berlaku, serta pencabutan gelar
akademik yang telah saya terima.
ampung,
l9 November 2013
D
Nugroho
NPM 0917032036
DAFTAR ISI
Halaman
ABSTRAK ...................................................................................................... i
SANWACANA ............................................................................................... x
DAFTAR ISI ................................................................................................... xii
DAFTAR GAMBAR ...................................................................................... xv
DAFTAR TABEL .......................................................................................... xvi
BAB I PENDAHULUAN ............................................................................... 1
1.1 Latar Belakang ..................................................................................... 1
1.2 Rumusan Masalah ................................................................................ 2
1.3 Batasan Masalah................................................................................... 2
1.4 Tujuan .................................................................................................. 2
1.5 Manfaat ................................................................................................ 3
BAB II TINJAUAN PUSTAKA.................................................................... 4
2.1 Aljabar Boolean ................................................................................... 4
2.2 Minterms .............................................................................................. 5
2.3 Sum-of-Products ................................................................................... 6
2.4 Metode Quine-McCluskey.................................................................... 6
2.5 Bubble Sort ........................................................................................... 8
2.6 Klasifikasi ............................................................................................ 8
BAB III METODE PENELITIAN ............................................................... 9
3.1 Tempat dan Waktu Penelitian .............................................................. 9
3.2 Perangkat .............................................................................................. 9
3.3 Metode Penelitian................................................................................. 10
3.4 Metode Pengembangan Sistem ............................................................ 10
3.4.1 Analisis Sistem ........................................................................... 10
3.4.2 Desain Sistem ............................................................................. 11
3.4.2.1 Use Case Diagram .......................................................... 11
3.4.2.2 Activity Diagram ............................................................. 12
3.4.2.3 Sequence Diagram .......................................................... 13
3.4.2.4 Class Diagram ................................................................ 15
3.4.2.5 Desain Antarmuka Sistem ............................................... 16
3.4.3 Kode Program ............................................................................. 19
3.4.4 Penerapan dan Pengujian ............................................................ 20
BAB IV HASIL DAN PEMBAHASAN ....................................................... 21
4.1 Bubble Sort ........................................................................................... 21
4.2 Klasifikasi ............................................................................................ 23
4.3 Hukum Idempoten A + A = A dan AA = A ......................................... 26
4.4 Hukum Komplemen A + a = 1 ............................................................ 29
4.5 Hukum Komplemen Aa = 0 ................................................................. 31
4.6 Hasil Penelitian .................................................................................... 33
4.7 Pengujian Sistem .................................................................................. 37
BAB V KESIMPULAN DAN SARAN ......................................................... 40
5.1 Kesimpulan .......................................................................................... 40
xiii
5.2 Saran ..................................................................................................... 40
DAFTAR PUSTAKA ..................................................................................... 41
xiv
BAB I
PENDAHULUAN
1.1 Latar Belakang
Rangkaian digital merupakan salah satu representasi dari Aljabar Boolean.
Terkadang Fungsi Boolean terlalu panjang, sehingga rumit untuk membuat
rangkaian digital. Fungsi tersebut dapat disederhanakan dengan cara mencari
fungsi lain yang ekuivalen dan lebih efisien, sehingga lebih mudah untuk
membuat rangkaian digital. Penyederhanaan Fungsi Boolean dapat dilakukan
dengan tiga cara yaitu dengan cara Aljabar, Peta Karnaugh, dan Metode
Quine-McCluskey.
Penelitian ini melanjutkan penelitian sebelumnya yang dilakukan oleh Zahroh
(2013) dengan menggunakan Metode Quine-McCluskey. Metode QuineMcCluskey merupakan metode dengan cara mengubah peubah Fungsi
Boolean menjadi bentuk biner, kemudian sebanyak mungkin peubah
dihilangkan secara maksimal, sehingga didapat Fungsi Boolean yang paling
sederhana. Pada penelitian sebelumnya, aplikasi penyederhanaan Fungsi
Boolean pada masukan tidak dapat menerima peubah yang tidak berurutan
sesuai alfabet dan panjang minterms tidak berbeda-beda. Oleh karena itu,
dalam penelitian ini dimodifikasi aplikasi tersebut, sehingga dapat
2
menerimamasukan Fungsi Boolean dengan peubah dapat tidak berurutan
sesuai alfabet dan panjang minterms dapat berbeda-beda.
1.2 Rumusan Masalah
Rumusan masalah yang terbentuk berdasarkan latar belakang penelitian ini
adalah memodifikasi aplikasi penyederhanaan Fungsi Boolean dengan
menerapkan:
a. Bubble Sort pada peubah, sehingga pada masukan Fungsi Boolean peubah
yang tidak berurutan sesuai alfabet dapat berurutan secara otomatis sesuai
alfabet.
b. Klasifikasi pada minterms, sehingga pada masukan Fungsi Boolean
minterms dengan panjang yang berbeda-beda dapat dikombinasikan sesuai
prosedur Metode Quine-McCluskey.
1.3 Batasan Masalah
Masalah yang dibahas dalam penelitian ini difokuskan pada penambahan
Bubble Sort dan klasifikasi pada modifikasi aplikasi penyederhanaan Fungsi
Boolean.
1.4 Tujuan
Tujuan dari penelitian ini adalah menyempurnakan aplikasi penyederhanaan
Fungsi Boolean dengan dapat menerima masukan Fungsi Boolean dengan
3
peubah dapat tidak berurutan sesuai alfabet dan panjang minterms dapat
berbeda-beda.
1.5 Manfaat
Penelitian ini diharapkan dapat bermanfaat berdasarkan tujuannya. Manfaat
dari penelitian ini adalah:
a. Aplikasi penyederhanaan Fungsi Boolean lebih berkembang dengan dapat
menerima masukan Fungsi Boolean dengan peubah dapat tidak berurutan
sesuai alfabet dan panjang minterms dapat berbeda-beda.
b. Sebagai alat untuk membantu dalam menyederhanakan rangkaian digital.
c. Menjadi bahan pertimbangan atau acuan untuk penelitian selanjutnya atau
penelitian yang sejenis.
BAB II
TINJAUAN PUSTAKA
2.1 Aljabar Boolean
Barnett (2011) menyatakan bahwa Aljabar Boolean dipublikasikan oleh
George Boole dalam An Investigation of the Laws of Thought pada tahun
1954. Dalam karya ini, Boole mengembangkan sistem dari simbol-simbol (x
dan +) yang mempresentasikan operasi-operasi pada himpunan yang secara
simbolis dipresentasikan oleh huruf-huruf. Rosen (2012) dalam buku Discrete
Mathematics and Its Applications, Aljabar Boolean menyediakan aturan dan
operasi untuk bekerja dengan himpunan {0, 1}. Operasi dalam Aljabar
Boolean yang sebagian besar digunakan yaitu komplemen, penjumlahan, dan
perkalian Boolean. Komplemen dari elemen, dilambangkan dengan tanda bar
( ¯ ), didefinisikan dengan 0 = 1 dan 1 = 0. Penjumlahan Boolean,
dilambangkan dengan tanda tambah ( + ) atau OR, mempunyai nilai-nilai
berikut:
1 + 1 = 1,
1 + 0 = 1,
0 + 1 = 1,
0+0=0
Perkalian Boolean, dilambangkan dengan tanda titik di tengah ( · ) atau AND,
mempunyai nilai-nilai berikut:
1 · 1 = 1,
1 · 0 = 0,
0 · 1 = 0,
0· 0=0
5
Identitas dalam Aljabar Boolean sangat berguna untuk menyederhanakan
rangkaian digital, (Rosen, 2012). Identitas dalam Aljabar Boolean dapat
dilihat pada Tabel 2.1.
Tabel 2.1 Identitas Boolean
No
1
2
3
4
5
6
7
8
9
10
Identitas
x
x+x=x
x· x=x
x+0=x
x· 1=x
x+1=1
x· 0=0
x+y=y+x
xy = yx
x + (y + z) = (x + y) + z
x(yz) = (xy)z
x + yz = (x + y)(x + z)
x(y + z) = xy + xz
( xy ) x y
( x y) x y
x + xy = x
x(x + y) = x
x x 1
xx 0
Nama
Hukum Komplemen Ganda
Hukum Idempoten
Hukum Identitas
Hukum Dominansi
Hukum Komulatif
Hukum Asosiatif
Hukum Distributif
Hukum De Morgan’s
Hukum Absorpsi
Hukum Komplemen
2.2 Minterms
Minterms dari peubah Boolean x1, x2, . . . , xn adalah hasil perkalian Boolean
y1y2 . . . yn, di mana yi = xi atau yi = xi , (Rosen, 2012). Minterms y1y2 . . . yn
bernilai 1, jika dan hanya jika setiap yi bernilai 1, dan ini terjadi, jika dan
hanya jika xi = 1 ketika yi = xi dan xi = 0 ketika yi = xi .
6
2.3 Sum-of-Products
Sum-of-Products adalah penjumlahan dari minterms atau bentuk normal
disjungtif dari Fungsi Booelan, (Rosen, 2012). Contoh Sum-of-Products
adalah F ( x, y, z) xy z x y z x y z .
2.4 Metode Quine-McCluskey
Seda (2008) menyatakan bahwa Metode Quine-McCluskey adalah algoritma
yang tepat berdasarkan aplikasi sistematis dari hukum distributif, hukum
komplemen dan hukum idempoten. Tetapi Seda juga mengatakan bahwa
metode tersebut memberikan prosedur yang unik dari komputasi, sehingga
secara sederhana dapat diimplentasikan, tetapi, bahkan untuk contoh yang
sederhana tidak menjamin solusi yang optimal. Kemudian, menurut
Tomaszewski, et al (2003), Metode Quine-McCluskey adalah teknik yang
sangat sederhana dan sistematis untuk menyederhanakan Fungsi Boolean.
Metode tersebut mempunyai terutama dua keunggulan dibandingkan dengan
Peta Karnaugh. Pertama, secara sistematis untuk menghasilkan fungsi
sederhana yang kurang bergantung pada pola visual. Kedua, skema yang
layak untuk menangani banyak peubah. Rosen (2012) mengatakan bahwa
Metode Quine-McCluskey adalah prosedur untuk menyederhanakan Fungsi
Boolean dalam bentuk Sum-of-Products yang dapat menjadi mekanisme
untuk digunakan ketika ada lebih dari empat peubah dan tidak bergantung
pada inspeksi visual untuk mengidentifikasi istilah-istilah untuk kelompok.
Metode tersebut terdiri dari dua bagian. Bagian pertama menemukan istilah-
7
istilah yang menjadi kandidat untuk dimasukkan dalam hasil sederhana
sebagai penjumlahan dari hasil perkalian Booelan. Bagian kedua menentukan
istilah tersebut untuk benar-benar digunakan.
Metode Quine-McCluskey menggunakan urutan langkah-langkah untuk
menyederhanakan Fungsi Boolean dalam bentuk Sum-of-Product, (Rosen,
2012). Langkah-langkah tersebut adalah:
a. Nyatakan setiap minterms dalam n peubah menjadi bit string yang
panjangnya n dengan ‘1’ di posisi ke-i, jika xi terjadi dan ‘0’ dalam posisi
tersebut, jika xi terjadi.
b. Kelompokkan bit string sesuai dengan banyak ‘1’ yang dipunyainya.
c. Tentukan semua hasil dalam n - 1 peubah yang dapat dibentuk dengan
mengkombinasikan minterms. Minterms yang dapat dikombinasikan
ditunjukkan oleh bit string yang berbeda tepat satu posisi. Representasikan
hasil tersebut dalam n - 1 peubah dengan ‘1’ di posisi ke-i, jika xi terjadi
pada hasil, ‘0’ di posisi tersebut, jika xi terjadi, dan ‘-’ dalam posisi
tersebut, jika terjadi berbeda tepat satu posisi.
d. Tentukan semua hasil dalam n - 2 peubah yang dapat dibentuk dengan
mengkombinasikan minterms dalam n - 1 peubah sebelumnya. Hasil dalam
n - 1 peubah yang dapat dikombinasikan ditunjukkan oleh bit string yang
berbeda tepat satu posisi, serta mempunyai ‘-’ di posisi yang sama.
e. Lanjutkan mengkombinasikan hasil Fungsi Boolean menjadi hasil dalam
peubah yang lebih sedikit selama mungkin.
8
f. Cari semua hasil Fungsi Boolean yang muncul yang tidak digunakan untuk
membentuk hasil dari penyederhanaan Fungsi Boolean.
2.5 Bubble Sort
Urut menurut Sjukani (2009) dalam buku Struktur Data (Algoritma dan
Struktur Data 2) dengan C, C++ adalah data yang berada dalam tempat
penyimpanan, dengan urutan tertentu baik urut menaik atau urut menurun.
Pengurutan adalah proses urut. Kemudian, Munir (2007) dalam buku
Algoritma dan Pemrograman mengatakan bahwa pengurutan merupakan
proses mengatur sekumpulan objek menurut urutan atau susunan tertentu.
Pengurutan dikatakan stabil jika dua atau lebih data yang sama tetap pada
urutan yang sama sesudah pengurutan.
Terdapat beberapa metode pengurutan, salah satunya adalah Bubble Sort.
Bubble Sort melakukan prinsip pertukaran elemen dalam pengurutan
sebanyak n – 1 langkah dengan n adalah panjang data, (Munir, 2007).
2.6 Klasifikasi
Klasifikasi adalah penyusunan bersistem dalam kelompok atau golongan
menurut kaidah atau standar yang sudah ditetapkan, (Anonim, 2008).
BAB III
METODE PENELITIAN
3.1 Tempat dan Waktu Penelitian
Peneliti melakukan penelitian ini di Jurusan Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam, Universitas Lampung. Waktu
penelitian yang dilakukan pada semester ganjil tahun ajaran 2013-2014.
3.2 Perangkat
Perangkat yang digunakan untuk memodifikasi aplikasi penyederhanaan
Fungsi Booelan dalam penelitian ini berupa perangkat keras dan perangkat
lunak. Perangkat keras yang digunakan oleh peneliti adalah satu unit laptop
dengan spesifikasi:
a. Prosesor Inter Core 2 Solo 1.4 Ghz.
b. VGA Intel GMA 4500 MHD.
c. RAM 4 GB DDR3.
d. Harddisk 320 GB HDD.
Sedangkan, perangkat lunak yang digunakan oleh peneliti adalah:
a. Sistem Operasi Microsoft Windows Vista Home Premium 32 bit.
b. Aplikasi Netbeans IDE 7.2.1.
10
3.3 Metode Penelitian
Metode penelitian yang dilakukan oleh peneliti adalah studi literatur. Peneliti
membaca dari buku-buku dan jurnal-jurnal yang berhubungan dengan Aljabar
Boolean. Tujuan dari metode tersebut untuk memperoleh sumber referensi,
sehingga memudahkan penelitian ini.
3.4 Metode Pengembangan Sistem
Penelitian ini menggunakan tahapan analisis sistem, desain sistem, kode
program, dan penerapan dan pengujian sistem sebagai metode pengembangan
sistem.
3.4.1 Analisis Sistem
Analisis sistem yang dilakukan oleh peneliti yaitu mencoba berbagai
macam masukan Fungsi Boolean pada aplikasi penyederhanaan Fungsi
Boolean, serta dengan melihat kode program pada aplikasi tersebut.
Peneliti melakukan analisis sistem terhadap aplikasi penyederhanaan
Fungsi Booelan yang sudah dikembangkan sebelumnya untuk
menemukan kesalahan atau kekurangan pada aplikasi tersebut untuk
diperbaiki atau dimodifikasi.
Analisis sistem aplikasi penyederhanaan Fungsi Booelan yang sudah
dikembangkan sebelumnya dan pada penelitian ini dapat dilihat pada
Tabel 3.1.
11
Tabel 3.1 Analisis Sistem Aplikasi Penyederhanaan Fungsi Booelan
No
1
Penelitian Sebelumnya
Peubah harus berurutan
sesuai alfabet
2
Panjang minterms harus sama
3
Tidak menerapkan Hukum
Komplemen
4
Tidak menerapkan Hukum
Idempoten
Penelitian Sekarang
Peubah tidak harus berurutan
sesuai alfabet
Panjang minterms tidak harus
sama
Menerapkan Hukum
Komplemen, Aa = 0 pada
masukan Fungsi Boolean dan
A+a = 1 pada keluaran hasil
penyederhanaan Fungsi
Boolean
Menerapkan Hukum
Idempoten, A+A = A dan AA
= A pada masukan Fungsi
Boolean
3.4.2 Desain Sistem
Berdasarkan hasil analisis, peneliti menuangkan konsep rancangan
modifikasi aplikasi penyederhanaan Fungsi Boolean dalam bentuk
diagram dan desain antarmuka sistem. Diagram yang digunakan adalah
use case diagram, activity diagram, sequence diagram, dan class
diagram.
3.4.2.1 Use Case Diagram
Use case diagram aplikasi penyederhanaan Fungsi Boolean terdapat
satu aktor dan tiga use case. Aktor yaitu sebagai pengguna aplikasi
penyederhanaan Fungsi Boolean. Tiga use case yaitu Metode QuineMcCluskey, Bubble Sort, dan klasifikasikan. Hubungan antara
pengguna dan use case tersebut adalah pengguna memasukkan
Fungsi Boolean dan aplikasi penyederhanaan Fungsi Boolean
12
menyederhanakan fungsi tersebut menggunakan Metode QuineMcCluskey. Pada penyederhanaan Fungsi Boolean diterapkan Bubble
Sort dan klasifikasi. Bubble Sort diterapkan pada peubah, sehingga
pada masukan Fungsi Boolean, peubah tidak berurutan sesuai alfabet
dapat berurutan secara otomatis sesuai alfabet. Klasifikasi diterapkan
pada minterms, sehingga pada masukan Fungsi Boolean, minterms
dengan panjang yang berbeda-beda dapat dikombinasikan sesuai
prosedur Metode Qunie-McCluskey. Use case diagram tersebut dapat
dilihat pada Gambar 3.1.
Gambar 3.1 Use Case Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.2 Activity Diagram
Activity diagram aplikasi penyederhanaan Fungsi Boolean prosedur
dimulai dengan memasukkan Fungsi Boolean yang dilakukan oleh
pengguna. Kemudian, aplikasi penyederhanaan Fungsi Boolean
mengurutkan peubah menggunakan Bubble Sort terlebih dahulu,
sehingga peubah berurutan sesuai alfabet. Sesudah pengurutan
13
minterms diklasifikasikan berdasarkan panjangnya, sehingga minterms
dengan panjang tertinggi yang dikombinasikan terlebih dahulu,
dilanjutkan dengan panjang tertinggi kedua, dan seterusnya. Prosedur
selanjutnya menyederhanakan Fungsi Boolean dengan menggunakan
Metode Quine-McCluskey dan menampilkan hasilnya. Activity
diagram tersebut dapat dilihat pada Gambar 3.2.
Gambar 3.2 Activity Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.3 Sequence Diagram
Sequence diagram aplikasi penyederhanaan Fungsi Boolean proses
dimulai dari pengguna memasukkan Fungsi Boolean. Fungsi Boolean
14
yang masuk dipisah menjadi minterms, kemudian setiap minterms
dipisah menjadi peubah. Sesudah itu proses pengurutan peubah
dilakukan menggunakan Bubble Sort dengan melihat kode ASCII
huruf kapital setiap peubah. Peubah disatukan kembali menjadi
minterms, jika sudah selesai melakukan proses pengurutan peubah.
Proses selanjutnya menghitung banyak klasifikasi. Sesudah itu diberi
nama setiap klasifikasi sesuai dengan macam-macam panjang
minterms dan dihitung banyak anggota setiap klasifikasi. Minterms
dapat diklasifikasikan berdasarkan panjangnya. Proses terakhir
menyederhanakan Fungsi Booelan menggunakan Metode QuineMcCluskey dengan cara mengkombinasikan minterms. Jika minterms
dapat dikombinasikan, maka minterms itu diberi status. Hasil
penyederhanaan Fungsi Booelan adalah minterms yang tidak
mempunyai status. Kemudian, aplikasi penyederhanaan Fungsi
Boolean menampilkan hasilnya untuk dilihat oleh pengguna. Sequence
diagram tersebut dapat dilihat pada Gambar 3.3.
15
Gambar 3.3 Sequence Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.4 Class Diagram
Class diagram aplikasi penyederhanaan Fungsi Boolean terdapat satu
kelas, sembilan tipe data, dan delapan operasi. Kelas bernama
penyederhanaan. Sembilan tipe data yaitu integer, long, double,
String, array integer satu dimensi, array integer dua dimensi, array
String satu dimensi, array String dua dimensi, dan ArrayList. Tipe
data integer yaitu i, j, k, l, J, K, dan L. Tipe data long yaitu T0, T1,
T2, dan T3. Tipe data double yaitu m0, m1, eco, dan T. Tipe data
16
String yaitu I, keluaran, dan tahap. Tipe data array integer satu
dimensi yaitu B, D, E, F, dan status. Tipe data array String satu
dimensi yaitu A dan C. Tipe data array integer dua dimensi yaitu CC.
Tipe data array String dua dimensi yaitu AA, BB, dan DD. Tipe data
ArrayList yaitu S, V, X, dan Z. Delapan operasi yaitu pengurutan(),
tanda_strip(), biner(), klasifikasi(), kombinasi(), pemilihan(), huruf(),
dan efisiensi(). Aplikasi penyederhanaan Fungsi Boolean mempunyai
satu kelas karena aplikasi tersebut mempunyai satu masukan dan satu
antarmuka. Class diagram tersebut dapat dilihat pada Gambar 3.4.
Gambar 3.4 Class Diagram Aplikasi Penyederhanaan Fungsi
Boolean
3.4.2.5 Desain Antarmuka Sistem
Desain antarmuka sistem pada aplikasi penyederhanaan Fungsi
Boolean terdapat dua bagian yaitu bagian masukan Fungsi Boolean
17
dan keluaran hasil penyederhanaannya. Selain itu terdapat dua tombol
yaitu tombol untuk memperoses penyederhanaan Fungsi Boolean dan
tombol untuk reset Fungsi Boolean. Pada masukan Fungsi Boolean
terdapat dua kolom yaitu untuk memasukkan Fungsi Boolean dan
untuk menampilkan banyak minterms Fungsi Boolean sebelum
disederhanakan. Sedangkan pada keluaran Fungsi Booelan terdapat
lima kolom yaitu untuk menampilkan Fungsi Boolean sesudah
disederhanakan, untuk menampilkan banyak minterms Fungsi
Boolean sesudah disederhanakan, untuk menampilkan efisiensi
penyederhanaan Fungsi Boolean, untuk menampilkan waktu proses
penyederhanaan Fungsi boolean, dan untuk menampilkan langkahlangkah penyederhanaan Fungsi Boolean.
Perbedaan dari penelitian sebelumnya, pada penelitian sebelumnya
terdapat kolom masukan banyaknya peubah, sedangkan pada
penelitian ini kolom tersebut dihilangkan dan digantikan dengan
menampilkan
disederhanakan,
banyaknya
serta
minterms
ditambah
Fungsi
Boolean
menampilkan
waktu
sebelum
proses
penyederhanaan Fungsi Boolean. Selain itu pada penelitian ini
ditambahkan kolom untuk menampilkan banyaknya minterms Fungsi
Boolean sesudah disederhanakan dan kolom untuk menampilkan
waktu proses penyederhanaan Fungsi Boolean.
Ukuran awal antarmuka pada saat aplikasi penyederhanaan Fungsi
Boolean dibuka yaitu 640 x 480 pixel. Ukuran antarmuka dapat diatur
18
sesuai keinginan pengguna pada saat aplikasi tersebut sedang dibuka.
Desain antarmuka sistem tersebut dapat dilihat pada Gambar 3.5.
Gambar 3.5 Desain Antarmuka Sistem Aplikasi Penyederhanaan
Fungsi Boolean
Keterangan nomor pada Gambar 3.4:
1. Masukan Fungsi Boolean (tipe kolom: dapat ditulis dan dibaca).
2. Banyak minterms awal (tipe kolom: hanya dapat dibaca).
3. Hasil penyederhanaan Fungsi Boolean (tipe kolom: hanya dapat
dibaca).
4. Banyak minterms akhir (tipe kolom: hanya dapat dibaca).
5. Efisiensi penyederhanaan Fungsi Booelan (tipe kolom: hanya dapat
dibaca).
6. Waktu proses penyederhanaan Fungsi Boolean (tipe kolom: hanya
dapat dibaca).
19
7. Langkah-langkah penyederhanaan Fungsi Boolean (tipe kolom
hanya dapat dibaca).
3.4.3 Kode Program
Kode program tentang Bubble Sort dan klasifikasi yang telah dibuat
diterapkan pada aplikasi penyederhaaan Fungsi Aljabar Boolean.
Bubble Sort diterapkan pada peubah, sehingga pada masukan Fungsi
Boolean peubah tidak berurutan sesuai alfabet dapat berurutan secara
otomatis sesuai alfabet. Klasifikasi diterapkan pada minterms, sehingga
pada masukan Fungsi Boolean minterms dengan panjang yang berbedabeda dapat kombinasikan sesuai dengan prosedur Metode QuineMcCluskey.
Potongan kode program Bubble Sort sebagai berikut:
for(i=0;i