• Tidak ada hasil yang ditemukan

Pengembangan Aplikasi Penyederhanaan Aljabar Boolean dalam Bentuk Sum-Of-Product dengan Menggunakan Metode Quine Mccluskey

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pengembangan Aplikasi Penyederhanaan Aljabar Boolean dalam Bentuk Sum-Of-Product dengan Menggunakan Metode Quine Mccluskey"

Copied!
9
0
0

Teks penuh

(1)

Pengembangan Aplikasi

Penyederhanaan Aljabar Boolean

dalam Bentuk Sum-Of-Product

dengan Menggunakan Metode Quine Mccluskey

1

Wamiliana, 2Ossy Dwi Endah dan 3Shara Siti Zahroh

1Jurusan Matematika FMIPA Unila 2Jurusan Ilmu Komputer FMIPA Unila 3Jurusan Ilmu Komputer FMIPA Unila

Abstract

This study implements the Quine McCluskey method to minimize the Boolean function. There are several methods can be used in the minimization of Boolean functions. Afrisal [1] conducted a study to apply the Karnaugh Map method. Tomaszewski [4] applied the Quine McCluskey method to make program to simplify Boolean Algebra with a maximum input function at most 4 variables which are initialized before. In this study, the Quine McCluskey implemented in the program and it can simplify the input function with a maximum length of 26 variables. That input can be entered directly via keyboard. The results calculate the efficiency of the application which is :.

Keywords: efficiency; minimization of Boolean Algebra; Quine McCluskey method.

1

Pendahuluan

Perkembangan teknologi saat ini, khususnya teknologi komputer terus mengalami perubahan yang signifikan. Beberapa aspek perkembangan komputer ini berhubungan erat dengan perkembangan rangkaian digital dan perancangan logika yang dibuat oleh manusia. Suatu rangkaian digital merupakan representasi dari Aljabar Boolean. Aljabar Boolean dapat disusun menjadi rangkaian logika, dimana suatu rangkaian logika dapat terdiri dari satu atau lebih gerbang logika. Aljabar Boolean juga dapat diekspresikan dalam bentuk maksterm ataupun minterm. Aljabar Boolean maksterm (Product of Sum) dapat diselesaikan dengan mengoperasikan fungsi Boolean dengan operasi OR kemudian hasilnya dioperasikan dengan operasi AND. Sedangkan Aljabar Boolean minterm (Sum of Product) diselesaikan dengan mengoperasikan fungsi Boolean dengan operasi AND kemudian hasilnya dioperasikan dengan operasi OR.

Fungsi Boolean terkadang mengandung operasi-operasi yang tidak diperlukan dan suku-suku yang berlebihan, sehingga fungsi tersebut dapat disederhanakan. Menyederhanakan fungsi Boolean bertujuan untuk mencari fungsi dalam bentuk lain yang ekuivalen tetapi dengan jumlah operasi atau suku yang lebih sedikit. Perbedaan yang sangat signifikan dapat ditemukan antara fungsi Boolean yang belum dan telah disederhanakan. Penyederhanaan fungsi Boolean memiliki penerapan penting dalam perancangan sirkuit logika [3].

Penyederhanaan fungsi Boolean dapat dilakukan dengan beberapa cara, diantaranya dengan metode tabulasi, pemetaan, dan dengan cara menuliskan tabel kebenarannya. Metode tabulasi atau lebih dikenal dengan metode Quine McCluskey dikembangkan oleh W.V. Quine dan E.J. McCluskey pada tahun 1950. Penyederhanaan dengan metode tabulasi sangat sistematis dan sangat cocok diterapkan

(2)

dengan komputer. Namun, fungsi Boolean yang dapat disederhanakan dengan metode ini harus dalam bentuk Sum of Product. Sehingga fungsi Boolean dalam bentuk Product of Sum harus diubah terlebih dahulu ke dalam bentuk Sum of Product. Penelitian lain dilakukan dengan menerapkan metode Map Karnaugh dalam menyederhanakan fungsi Boolean [1]. Memang, fungsi yang dapat diselesaikan oleh metode Karnaugh Map hanya fungsi dengan variabel masukan dalam jumlah kecil. Namun, metode Map Karnaugh merupakan metode yang paling mudah digunakan karena fungsi yang disederhanakan bisa dalam bentuk Sum of Product maupun Product of Sum [1].

Penelitian sebelumnya mengenai penyederhanaan Boolean dengan metode Quine McCluskey telah dilakukan oleh Tomaszewski et al pada tahun 2003. Metode ini mempunyai dua kelebihan dibandingkan dengan metode Karnaugh Map. Pertama, metode Quine McCluskey merupakan metode yang sistematis untuk menyederhanakan fungsi yang tidak begitu bergantung pada pola visual. Kedua, metode Quine McCluskey cukup layak menangani variabel dalam jumlah besar [4]. Pada penelitiannya, aplikasi dibuat menggunakan pemrograman Java. Pada penelitian tersebut, fungsi yang disederhanakan hanya memiliki 4 literal dan tidak dapat diketahui berapa efisiensi fungsi yang telah disederhanakan. Oleh karena itu pada penelitian ini fungsi yang dapat disederhanakan memiliki paling banyak 26 literal dan dapat diketahui efisiensi penyederhanaannya. Penelitian ini bertujuan untuk menghasilkan aplikasi yang dapat menyederhanakan fungsi Boolean dengan menerapkan metode Quine McCluskey serta melakukan perhitungan efisiensi terhadap penyederhanaan fungsi Boolean.

2

Metodologi

Metode penelitian yang digunakan dalam penelitian ini adalah studi literatur. Tujuannya untuk mencari literatur yang berisi teori-teori yang berkaitan dengan masalah yang akan dibahas. Manfaat dilakukannya studi literatur adalah membantu peneliti mengidentifikasi masalah dan menyusun model penelitian. Sedangkan metode yang digunakan dalam pengembangan aplikasi ini adalah metode

Software Development Life Cycle (SDLC) Adaptive Approaches yakni Spiral Model. Model ini

memadukan aspek iteratif pada model prototype dengan aspek sistematik yang diambil dari model

waterfall [2]. Perkembangan dilakukan dengan cara cepat sehingga fungsi perangkat lunak terus

bertambah. Iterasi pertama yang dilakukan menghasilkan protoype. Sedangkan perangkat lunak yang telah lengkap merupakan hasil dari iterasi terakhir. Model spiral terbagi dari beberapa wilayah kerja, dimana setiap wilayah kerja terdiri dari kumpulan pekerjaan yang berkaitan dengan karakteristik proyek yang dikerjakan. Semakin besar proyek, maka semakin banyak pula pekerjaan yang ada di dalam setiap wilayah kerja. Model spiral dibagi ke dalam lima kerangka aktivitas/wilayah kerja yaitu sebagai berikut.

1. Komunikasi dengan Client (Client Communication) 2. Perencanaan (Planning)

3. Analisis Resiko (Risk Analysis) 4. Rekayasa (Engineering)

5. Konstruksi dan Peluncuran (Construct and Release)

3

Pembahasan

3.1

Penanganan Kesalahan

Penanganan terhadap kesalahan yang mungkin terjadi pada aplikasi dilakukan dengan membuat validasi. Validasi diterapkan pada proses input pada form aplikasi. Terdapat dua field masukan yaitu variabel dan fungsi. Masukan variabel yang valid berupa integer yang dikerucutkan mulai dari angka 1 sampai 26. Hal ini dikarenakan variabel yang digunakan berupa huruf alfabet yang keseluruhan jumlahnya sebanyak 26 huruf. Fungsi yang valid berupa sederetan huruf alfabet mulai dari a sampai z, bisa berupa huruf kapital atau nonkapital, panjang huruf sama setiap sukunya, dalam sebuah suku tidak boleh ada huruf yang berulang, setiap suku dipisahkan dengan tanda plus (+) dan jumlah suku yang dimasukkan tidak boleh melebihi 2 pangkat jumlah variabel yang dimasukkan.

(3)

3.2 Algoritma

3.2.1 Algoritma Penggunaan Aplikasi

Aplikasi ini memiliki cara kerja yaitu algoritma. Algoritma penggunaan aplikasi penyederhanaan ini secara umum dapat digambarkan dalam bentuk flowchart pada Gambar 1.

Gambar 1. Flowchart Aplikasi

3.2.2 Proses Penyederhanaan Fungsi Menggunakan Metode Quine McCluskey Secara

Manual

Proses penyederhanaan Aljabar Boolean dalam bentuk Sum-of-Product menggunakan metode Quine McCluskey secara manual dijelaskan dengan contoh kasus sebagai berikut.

Misalkan terdapat masukan : var = 3

fungsi = abc+Abc+aBc+ABc+aBC+ABC Tabel 1. Konversi dan Hitung Digit

Tabel 2. Kombinasi Tahap 1 Tabel 3. Kombinasi Tahap 2 Tabel 4. Kombinasi Tahap 3 Proses Metode Quine McCluskey

(4)

Proses pertama yaitu mengkonversi masukan fungsi dalam bentuk variabel menjadi biner, kemudian menghitung jumlah digit 1 setiap suku ditampilkan pada Tabel 1. Tabel 2, 3, 4 merupakan proses kombinasi terhadap suku-suku yang telah dikonversi. Proses ini terus berjalan dan baru berhenti jika semua suku-suku bernilai 0, yang artinya tidak dapat dikombinasikan lagi.

3.3 Implementasi

Aplikasi dapat menangani kesalahan saat pemasukan data, melakukan penyederhanaan dan perhitungan efisiensi. Interface aplikasi ditunjukkan pada Gambar 2 dan 3. Pada Gambar 2 terdapat pemberitahuan kesalahan dan peringatan bahwa masukan salah. Hal ini karena fungsi yang dimasukkan tidak sesuai dengan ketentuan aplikasi. Huruf yang mewakili setiap suku tidak boleh berulang dan harus berurutan. Gambar 3 merupakan hasil yang ditampilkan jika masukan sesuai. Dalam gambar, input yang dimasukkan yaitu variabel sebesar 3 dan fungsi terdiri dari 6 suku yaitu abc, Abc, aBc, ABc, aBC dan ABC. Hasil penyederhanaan yang terbentuk hanya dua suku yaitu c dan B. Dengan menggunakan rumus efisiensi (1) didapatkan hasil efisiensi sebesar 83,33%. Nilai efisiensi didapat dari jumlah suku yang dimasukkan dikurangi jumlah suku yang dihasilkan kemudian ditambah hasil pengurangan jumlah variabel yang dimasukkan dengan jumlah variabel yang dihasilkan, setelah itu dibagi dengan pengurangan antara jumlah suku yang dimasukkan dengan jumlah variabel yang dimasukkan dikali 100 persen.

(1)

(5)

Gambar 3. Interface Jika Masukan Sesuai

3.4 Hasil Pengujian

Pengujian dilakukan terhadap dua prototype aplikasi. Prototype pertama berupa program

penyederhanaan yang sudah memiliki beberapa fungsi tapi belum lengkap, sedangkan prototype kedua merupakan hasil akhir aplikasi. Fungsi-fungsi yang telah ada pada masing-masing prototype dituliskan pada Tabel 5.

(6)

Tabel 5. Prototype dan Fungsi-fungsinya

Prototype Fungsi yang diuji Hasil yang diharapkan Hasil Keterangan

1. a. Fungsi input

variabel dan input fungsi Boolean.

Variabel yang dimasukkan berupa angka mulai dari 2-26.

Variabel yang dimasukkan bisa berupa huruf bukan hanya angka.

Fungsi input masih belum

sesuai harapan. Fungsi yang dimasukkan

berupa huruf alfabet (capital dan non kapital) dan dapat

random.

Fungsi yang dimasukkan berupa huruf alfabet (kapital dan non kapital) tetapi harus berurutan.

Fungsi input masih belum sesuai harapan. b. Fungsi konversi dari variabel menjadi biner. Misalnya input : abc+Abc+aBc+Abc Output : 000+100+010+110 Output : 000+100+010+110

Fungsi sudah dapat berjalan sesuai harapan. c. Fungsi mengelompokkan suku berdasarkan digit 1-nya. Misalnya input : 111+000+110+010+1 00 Output: digit 0 : 000 digit 1 : 100, 010 digit 2 : 110 digit 3 : 111 Output: digit 0 : 000 digit 1 : 100, 010 digit 2 : 110 digit 3 : 111

Fungsi sudah dapat berjalan sesuai harapan. d. Fungsi kombinasi suku-suku. Misalnya input : 000+100 Output : 000 :: 100 = -00 Output : 000 :: 100 = -00

Fungsi sudah dapat berjalan

sesuai harapan. e. Fungsi

menampilkan hasil penyederhanaan.

Hasil yang ditampilkan sudah lebih sederhana dan tidak ada suku yang berulang.

Hasil yang ditampilkan sudah lebih sederhana tetapi masih ada suku yang sama dan ditampilkan ulang.

Fungsi sudah dapat berjalan

tetapi belum sesuai harapan.

2. Fungsi yang

dihasilkan

merupakan fungsi dari

prototype pertama

ditambah dengan fungsi:

a. Tampilan grafis.

Terbentuk form untuk input dan output yang terdiri dari

textfield, button, dan textarea.

Terbentuk form untuk

input dan output yang

terdiri dari button,

textfield, dan textarea.

Fungsi sudah dapat berjalan tetapi untuk menyiasati validasi variabel, digunakan komponen spinner pada form. b. Fungsi menampilkan efisiensi penyederhanaan.

Efisiensi dihitung dari jumlah suku hasil yang terbentuk dan berkurangnya panjang variabel tiap suku.

Efisiensi dihitung dari jumlah suku hasil yang terbentuk dan

berkurangnya panjang variabel tiap suku.

Fungsi sudah sesuai harapan.

c. Fungsi validasi

masukan. Pada masukan variabel hanya angka yang dapat diterima.

Field variabel hanya

dapat

menerima masukan berupa angka 2-26.

Validasi variabel menggunakan spinner.

Pada masukan fungsi hanya huruf yang dapat diterima.

Field fungsi hanya dapat

menerima masukan berupa

huruf.

Jika masukan fungsi salah,

aplikasi akan memberi peringatan.

(7)

Pengujian terhadap algoritma program dilakukan menggunakan metode White Box dengan teknik

basis path dan perhitungan cyclomatic complexity. Sebagai contoh, salah satu method program yang

diuji menggunakan teknik tersebut yaitu method kombinasi. Method ini dibuat untuk mengkombinasi fungsi dalam bentuk biner. Kombinasi dilakukan dengan cara membentuk suku baru dari dua suku yang berbeda tepat satu digit. Flowchart dan flowgraph proses kombinasi ditunjukkan pada Gambar 4(a) dan(b).

Gambar 4. (a) Flowchart dan (b) Flowgraph Method Kombinasi

Tabel 6. Trace Table Kombinasi

(8)

Perhitungan cyclomatic complexity method kombinasi dituliskan sebagai berikut. Perhitungan :

Region (R) = 8

Region (R) terdiri dari : Path 1 : 1-2-4-15 Path 2 : 1-2-3-4-15 Path 3 : 1-2-4-5-6-4-15 Path 4 : 1-2-4-5-7-8-4-15 Path 5 : 1-2-4-5-7-9-10-4-15 Path 6 : 1-2-4-5-7-9-11-12-4-15 Path 7 : 1-2-4-5-7-9-11-13-14- 4-15 Path 8 : 1-2-4-5-7-9-11-13-15 Predicate Node (P) = 7 Edge (E) = 22 Node (N) = 16 Cyclomatic Complexity : 1. V(G) = R = 8 atau 2. V(G) = P + 1 = 7 + 1 = 8 atau 3. V(G) = E – N + 2 = 22 – 16 + 2 = 8

Hasil dari perhitungan cyclomatic complexity membuktikan bahwa method kombinasi sudah efektif dan efisien karena nilai V(G) pada ketiga rumus bernilai sama. Kemudian untuk membuktikan algoritma kombinasi tersebut, dilakukan perhitungan menggunakan trace table yang ditunjukkan pada Tabel 6. Berdasarkan perhitungan trace table, hasilnya sudah sesuai dengan perhitungan secara manual sehingga algoritma ini dapat dikatakan efektif dan efisien.

4

Kesimpulan

Berdasarkan pembahasan dan analisis yang telah dilakukan, dapat disimpulkan bahwa :

1. Penyederhanaan Aljabar Boolean menggunakan aplikasi yang menerapkan metode Quine McCluskey membutuhkan waktu lebih sedikit dibandingkan melakukan penyederhanaan secara manual.

2. Metode Quine McCluskey menghasilkan penyederhanaan yang optimal untuk fungsi yang jumlah sukunya mendekati jumlah suku maksimal (2 pangkat n).

(9)

5

Referensi

[1] Afrisal, Hadha. 2011. Sintesis Penyederhanaan Fungsi Logika dengan Peta Karnaugh. Jurusan Teknik Elektro FT UGM. Yogyakarta.

[2] Rossa, A.S dan Shalahuddin, M. 2011. Modul Pembelajaran Rekayasa Perangkat Lunak

(Terstruktur dan Berorientasi Objek). Modula. Bandung.

[3] Seda, Milos. 2008. Heuristic Set-Covering-Based Postprocessing for Improving the Quine McCluskey Method. International Journal of Information and Mathematical Sciences. Brno, Czech Republic.

[4] Tomaszewski, Sebastian P., Ilgaz U. Celik, & George E. Antoiou. 2003. AMCS : www-based

Gambar

Gambar 1. Flowchart Aplikasi
Gambar 2. Interface Jika Masukan Tidak Sesuai
Gambar 3. Interface Jika Masukan Sesuai
Tabel 5. Prototype dan Fungsi-fungsinya
+2

Referensi

Dokumen terkait