Menggunakan Program Bmin untuk Menyederhanakan Fungsi Logika

Dalam kuliah Sistem Digital, mahasiswa belajar bagaimana menyederhanakan suatu fungsi logika (baik persamaan SOP maupun POS) menggunakan peta Karnaugh. Setelah diperoleh persamaan paling sederhana, mahasiswa membuat rangkaian logika yang minimal sebagai representasi fungsi logika tersebut.

Penyederhanaan suatu fungsi logika bertujuan untuk mendapatkan rangkaian yang minimal (atau setidaknya optimal), salah satu caranya adalah menggunakan peta Karnaugh. Prosedur yang dilakukan adalah 1) memetakan kebutuhan fungsional sistem digital (umumnya berupa persamaan kananik SOP atau POS) ke dalam peta Karnaugh, 2) melakukan pengelompokkan minterm bernilai 1 atau Maxterm bernilai 0 untuk menyederhanakan fungsi, dan 3) merepresentasikan fungsi minimal tersebut ke dalam rangkaian logika. Selanjutnya, implementasi rangkaian bisa dilakukan menggunakan IC TTL keluarga 7400.

Program Bmin dapat digunakan untuk memvisualisasikan cara minimalisasi fungsi logika, salah satunya menggunakan peta Karnaugh (selain algoritma Quine-McCluskey). Program ini dapat digunakan sebagai pelengkap pembelajaran kuliah Sistem Digital.

1. Deskripsi Program Bmin

Deskripsi program ini adalah:

  • Dibuat oleh Jakub Zelenka. Versi terbaru bmin-1.0.1
  • Pustaka grafis: Qt. Dapat dijalankan di Windows maupun Linux
  • Masukan: Maxterm dan minterm, don’t care
  • Metode minimalisasi: peta Karnaugh dan Quine-McCluskey
  • Representasi fungsi minimal: SOP dan POS
  • Batasan:
    • Peta Karnaugh untuk fungsi sampai 6 variabel
    • Quine-McCluskey untuk fungsi sampai 10 variabel
    • Nama variabel harus satu buah karakter ASCII, misalnya A, b, dan seterusnya

2. Instalasi di Linux (Ubuntu/LinuxMint)

Instalasi akan dilakukan di Linux desktop Ubuntu Precise (LinuxMint Maya). Untuk proses kompilasi akan dibutuhkan paket qt4-qmake dan libqt4-dev.

  1. Install paket dependensi untuk kompile: qt4-make dan libqt4-dev. Beberapa paket dependensi lainnya juga akan terinstall.
    ~$ sudo apt-get install qt4-make libqt4-dev
    The following NEW packages will be installed:
    qt4-qmake libdrm-dev{a} libdrm-nouveau2{a} libgl1-mesa-dev{a} libglu1-mesa-dev{a} libkms1{a} libqt4-designer{a} libqt4-dev libqt4-help{a} libqt4-opengl-dev{a} libqt4-qt3support{a} libqt4-scripttools{a} libqt4-test{a} libqtwebkit-dev{a} libqtwebkit4{a} libxext-dev{a} mesa-common-dev{a} qt4-linguist-tools{a} x11proto-xext-dev{a}
  2. Download kode sumber bmin-1.0.1.tgz.
    ~$ wget http://bukka.eu/bmin/sources/bmin-1.0.1.tgz
  3. Ekstrak tarball.
    ~$ tar xvf bmin-1.0.1.tgz
  4. Konfigurasi qmake. Hasilnya adalah file Makefile yang akan digunakan untuk kompilasi
    ~$ cd bmin-1.0.1
    ~/bmin-1.0.1$ ./configure
  5. Compile bmin-1.0.1
    ~/bmin-1.0.1$ makeTapi muncul compile error berikut:
    ~/bmin-1.0.1$ make
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -Ikernel -Ishell -Iqtgui -I/usr/X11R6/include -I.moc -o .obj/cubewidget.o qtgui/cubewidget.cpp
    In file included from qtgui/cubewidget.cpp:24:0:
    qtgui/cubegldrawer.h:266:5: error: ‘GLUquadricObj’ does not name a type
    make: *** [.obj/cubewidget.o] Error 1

    Error tersebut menyatakan bahwa tipe data GLUquadricObj tidak ditemukan. Tipe data tersebut terdapat dipaket GLU. Di Ubuntu (LinuxMint), definisi typedata tersebut ada di file /usr/include/GL/glu.h. Solusinya adalah menambahkan header <GL/glu.h> di file qtgui/cubegldrawer.h, sebagai berikut:

    ~/bmin-1.0.1$ vim qtgui/cubegldrawer.h
    ...
    #include <Qt>
    #include <GL/glu.h>
    #include <vector>
    ...

File Makefile juga perlu diubah dengan menambahkan -lGLU di LDFLAGS agar linker menyertakan pustaka dinamik libGLU.so.
~/bmin-1.0.1$ vim Makefile
...
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) -L/usr/lib/i386-linux-gnu -L/usr/X11R6/lib -lQtOpenGL -lQtGui -lQtCore -lGL -lpthread -lGLU
AR = ar cqs
...

  • Install program bmin-1.0.1. Jika tidak ada error, program bmin akan terinstall di /usr/bin
    ~/bmin-1.0.1$ sudo make install

3. Menjalankan dan Menggunakan Program Bmin

Program (file yang dapat dieksekusi) akan berada di /usr/bin/bmin.

  1. Dari konsole (nanti bisa dibuatkan shortcutnya), ketikkan bmin untuk menjalankan Bmin.
    $ bmin
    Jendela bmin muncul.
  2. Contoh untuk menyederhanakan persamaan logika SOP 4 variabel dengan memasukkan f(a,b,c,d)=sum m(0,2,5,7,8,10,13,15) di field Complete form. Peta Karnaugh (K-map) dari fungsi tersebut adalah:
  3. Sederhanakan fungsi dan lihat covernya. Persamaan paling sedernana dinyatakan sebagai f(a,b,c,d) = b_bar.d_bar + db

Selamat mencoba. Semoga bermanfaat.

Referensi:

Leave a comment