Universitas Kristen Maranatha
ABSTRAK
Universitas Kristen Maranatha ABSTRACT
Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK... ... i
ABSTRACT... ... ii
KATA PENGANTAR... ...iii
DAFTAR ISI... v
DAFTAR GAMBAR... ...viii
DAFTAR TABEL... ... xi
BAB I PENDAHULUAN 1.1 Latar Belakang... ... 1
1.2 Identifikasi Masalah... 2
1.3 Tujuan... ... 2
1.4 Pembatasan Masalah ... 2
1.5 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI 2.1 Perangkat Lunak ... 5
2.2 Logika Biner.... ... 6
2.3. Macam-macam Gerbang Logika ... 7
2.4. Maxterm dan Minterm... ... 9
Universitas Kristen Maranatha
2.7.2 Menghilangkan Non-terminal Vertex yang Redundan ... 22
2.7.3 Menghilangkan Test yang Redundan ... 23
2.8 Efek dari Perubahan Prioritas ... 25
2.9 C++... ... 25
BAB III PERANCANGAN PERANGKAT LUNAK 3.1 Diagram Alir Perangkat Lunak ... 27
3.2 Perancangan Perangkat Lunak ... 28
3.2.1 Struktur Pohon OBDD.. ... 28
3.2.2 Inisialisiasi Awal Pohon .. ... 34
3.2.3 Tabel Kebenaran .. ... 37
3.2.4 Menghilangkan Terminal Vertex yang Redundan .. ... 38
Universitas Kristen Maranatha
3.2.6 Menghilangkan Test yang Redundan ... 44
3.2.7 Preorder... ... 45
BAB IV Hasil Uji Coba Perangkat Lunak 4.1 Tampilan Awal Perangkat Lunak ... 47
4.1.1 Tampilan Jumlah Variabel... 49
4.1.2 Tampilan Tentukan Prioritas.. ... 50
4.2 Percobaan 1 Variabel.. ... 50
4.3 Percobaan 2 Variabel.. ... 51
4.4 Percobaan 3 Variabel.. ... 56
4.5 Percobaan 4 Variabel.. ... 58
4.6 Perubahan Prioritas.. ... 61
4.7 Perbandingan Hasil Perhitungan Menggunakan OBDD dan Manual.. ... 71
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan... ... 69
5.2 Saran... ... 69
DAFTAR PUSTAKA
LAMPIRAN A
Universitas Kristen Maranatha
Gambar 2.7 Sebuah Binary Decision Tree... 20
Gambar 2.8 Terminal Vertex yang Tidak Redundan Lagi ... 22
Gambar 2.9 Non-terminal vertex yang tidak redundan lagi ... 23
Gambar 2.10 Hasil Penyederhanaan ... 24
Gambar 2.11 Hasil Akhir Dengan Urutan C,B,A ... 25
Gambar 2.12 Logo Borland C++ 6 ... 26
Gambar 3.1 Diagram Alir Perangkat Lunak ... 27
Gambar 3.2 Struktur Pohon OBDD ... 29
Gambar 3.3 Lokasi Struktur Pohon pada Array ... 30
Gambar 3.4 Ilustrasi Letak Posisi Pohon pada Array ... 30
Gambar 3.5 Ilustrasi Pembuatan Tabel Kebenaran dengan 4 variabel... 38
Gambar 4.1 Tampilan Menu Utama Sebelum Dijalankan ... 48
Gambar 4.2 Tampilan Menu Utama pada Saat Dijalankan ... 49
Gambar 4.3 Tampilan Junlah Variabel... 49
Universitas Kristen Maranatha
Gambar 4.5 Tahap Awal (1 Variabel) ... 51
Gambar 4.6 Menghilangkan Terminal Vertex yang Redundan (1 variabel) ... 52
Gambar 4.7 Menghilangkan Non-terminal Vertex yang Redundan (1 Variabel) ... 52
Gambar 4.8 Menghilangkan Test yang redundan (1 Variabel) ... 53
Gambar 4.9 Tahap Awal (2 Variabel) ... 54
Gambar 4.10 Menghilangkan Terminal Vertex yang Redundan (2 Variabel) ... 54
Gambar 4.11 Menghilangkan Non-terminal Vertex yang Redundan (2 Variabel) ... 55
Gambar 4.12 Menghilangkan Test yang Redundan(2 Variabel) ... 55
Gambar 4.13 Tahap Awal (3 Variabel) ... 56
Gambar 4.14 Menghilangkan Terminal Vertex yang Redundan (3 Variabel) ... 57
Gambar 4.15 Menghilangkan Non-terminal Vertex yang Redundan (3 Variabel) ... 57
Gambar 4.16 Menghilangkan Test yang Redundan (3 Variabel) ... 58
Gambar 4.17 Tahap Awal (4 Variabel) ... 59
Gambar 4.18 Menghilangkan Terminal Vertex yang Redundan (4 Variabel) ... 59
Gambar 4.19 Menghilangkan Non-terminal Vertex yang Redundan (4 Variabel) ... 60
Gambar 4.20 Menghilangkan Test yang Redundan (4 Variabel) ... 60
Gambar 4.21 Tahap Awal Perubahan Prioritas (3 Variabel) ... 61
Gambar 4.22 Menghilangkan Terminal Vertex yang Redundan Perubahan Prioritas(3 Variabel) ... 62
Gambar 4.23 Menghilangkan Non-terminal Vertex yang Redundan Perubahan Prioritas (3 Variabel) ... 62
Gambar 4.24 Menghilangkan Test yang Redundan (3 Variabel) ... 63
Universitas Kristen Maranatha
Gambar 4.26 Perubahan Prioritas X2X3X1 ... 64
Gambar 4.27 Perubahan Prioritas X3X1X2 ... 65
Gambar 4.28 Perubahan Prioritas X3X2X1 ... 65
Gambar 4.29 Tahap Awal ... 66
Gambar 4.30 Menghilangkan Terminal Vertex yang Redundan ... 67
Gambar 4.31 Menghilangkan Non-terminal Vertex yang Redundan ... 67
Gambar 4.32 Menghilangkan Test yang Redundan... 68
Gambar 4.33 Tahap Awal ... 69
Gambar 4.34 Menghilangkan Terminal Vertex yang Redundan ... 69
Gambar 4.35 Menghilangkan Non-terminal Vertex yang Redundan ... 70
Gambar 4.36 Menghilangkan Test yang Redundan... 70
Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1 Simbol-simbol Gerbang Logika ... 8
Tabel 2.2 Tabel Maxterm dan Minterm Dengan 3 Input Variabel ... 9
Tabel 2.3 Tabel Kebenaran ... 20
1
Universitas Kristen Maranatha
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sering kali dalam perancangan suatu fungsi Boolean di dalam sistem digital hasilnya masih dalam bentuk yang biasa dan dapat disederhanakan dengan Karnaugh-Map atau dengan menggunakan aljabar Boolean. Kedua metode tersebut disebut dengan cara manual dan sangat sulit untuk diotomatisasi dengan menggunakan komputer. Oleh karena itu ditemukan suatu cara pandang baru untuk melakukan penyederhanaan suatu fungsi Boolean dengan metode grafik, yaitu dengan metode OBDD (Ordered Binary Decision Diagram).
Ordered Binary Decision Diagram (OBDD) merupakan suatu
pembuatan kembali dari fungsi Boolean yang dipopulerkan oleh Randal Bryant. Dan ini dikembangkan dalam dunia pemrogaman sebagai struktur data graf yang banyak juga digunakan untuk memecahkan masalah. Dengan OBDD ini dapat juga dilakukan proses equivalence checking.
Equivalence checking adalah membandingkan dua buah rangkaian
PENDAHULUAN 2
Universitas Kristen Maranatha dalam hal ini dapat melakukan proses optimasi terhadap suatu rangkaian. Contohnya agar rangkaian lebih hemat menggunakan catu daya, maka dengan mengorbankan daya tanpa mengurangi fungsinya.
Oleh karena itu pembuatan perangkat lunak OBDD ini bertujuan agar dapat melakukan penyederhanaan suatu fungsi rangkaian logika yang berupa fungsi digital dengan menggunakan metoda OBDD untuk secara otomatis melakukan peyederhanaan suatu fungsi logika digital kombinasional.
1.2 Indetifikasi Masalah
1. Bagaimana cara pembuatan perangkat lunak penyederhanaan persamaan digital sequential menggunakan OBDD?
1.3 Tujuan
1. Membuat sebuah perangkat lunak penyederhanaan persamaan digital sequential menggunakan OBDD.
1.4 Pembatasan Masalah
Yang dibahas pada Tugas Akhir ini antara lain adalah:
1. Pembuatan perangkat lunak penyederhanaan persamaan digital sequential menggunakan OBDD.
PENDAHULUAN 3
Universitas Kristen Maranatha 3. Jumlah maksimum yang dapat dijadikan hanya sampai 4 variabel.
4. Hanya terbatas pada fungsi or, and dan not.
1.5 Sistematika Penulisan
Bab I : PENDAHULUAN
Membahas tentang latar belakang, rumusan masalah, identifikasi masalah, tujuan dan pembatasan masalah.
Bab II : LANDASAN TEORI
Membahas tentang teori-teori yang menunjang laporan Tugas akhir seperti logika biner, istilah-istilah dasar pohon (tree) pada komputer dan teori-teori yang menyangkut dengan OBDD (Ordered Binary Decision Diagram).
Bab III : PERANCANGAN PERANGKAT LUNAK
PENDAHULUAN 4
Universitas Kristen Maranatha Bab IV : HASIL UJI COBA PERANGKAT LUNAK
Membahas tentang hasil rancangan perangkat lunak yang telah dikerjakan dan pembahasan mengenai hasil rancangan tersebut.
Bab IV : KESIMPULAN DAN SARAN
72
Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
Pada bab ini akan membahas tentang kesimpulan dari seluruh perancangan perangkat lunak serta saran yang mungkin membantu dalam perkembangan perangkat lunak tersebut ke depannya nanti.
5.1 Kesimpulan
1. Perangkat lunak penyederhanaan persamaan digital sequential menggunakan OBDD dapat berjalan dengan baik.
2. Terdapat beberapa alternatif hasil penyelesaian fungsi boolean jika prioritas diubah.
3. Pada beberapa penyederhanaan dengan memakai fungsi dasar Boolean yang sama, meskipun prioritasnya diubah tetap menghasilkan fungsi logika yang sama
5.2 Saran
1. Perangkat lunak ini dapat disempurnakan lebih baik lagi dengan menambahkan fungsi-fungsi logika lebih banyak lagi seperti gerbang logika NAND, NOR, XOR, dan XNOR.
Universitas Kristen Maranatha
DAFTAR PUSTAKA
http://id.wikipedia.org/wiki/Pohon_(struktur_data) http://mahmud-imrona.blogspot.com
http://syamsmobillex.blogspot.com/2011/03/program-bubble-sort-dan-searching- array.html
http://www.blok8.blogspot.com http://www.sable.mcgill.ca/bdd
http://www.voronkov.com/lm_doc.cgi?what=chapter&n=10 Kadir, Abdul.2003.PEMROGRAMAN C++.Yogyakarta;Andi