Fungsi Boolean

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.
- 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 ganda-3
(x, y, z) ke himpunan {0, 1}.
Contohnya, (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
- Setiap peubah di dalam fungsi Boolean, termasuk dalam bentuk komplemennya, disebut literal.
Contoh : Fungsi h(x, y, z) = xyz’ pada contoh di atas terdiri dari 3 buah literal, yaitu x, y, dan z’.
Contoh : Diketahui fungsi Booelan f(x, y, z) = xy z’, nyatakan h dalam tabel kebenaran.
Penyelesaian :

Hukum-hukum Aljabar Boolean

Hukum-hukum Aljabar Boolean

Ekspresi Boolean
Misalkan (B, +, ×, ’) 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

Prinsip Dualitas
Misalkan S adalah kesamaan (identity) di dalam aljabar Boolean yang melibatkan operator +,  ×, dan komplemen, maka jika pernyataan S* diperoleh 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.

Aljabar Boolean Dua-Nilai

Aljabar Boolean dua-nilai :
- B = {0, 1}
- operator biner, + dan ×
- operator uner, ’
- Kaidah untuk operator biner dan operator uner :
Cek apakah memenuhi postulat Huntington :
1. Closure :  jelas berlaku
2. Identitas: jelas berlaku karena dari tabel dapat kita lihat bahwa :
          (i)  0 + 1 = 1 + 0 = 1
          (ii) 1 × 0  = 0 × 1 = 0
3.Komutatif :  jelas berlaku dengan melihat simetri tabel operator biner.
4.Distributif: (i) a × (b + c) = (a × b) + (a × c) dapat ditunjukkan benar dari tabel operator biner di atas  dengan membentuk tabel kebenaran :
          (ii) Hukum distributif a + (b × c) = (a + b) × (a + c) dapat ditunjukkan benar dengan membuat tabel kebenaran dengan cara yang sama seperti (i).
5. Komplemen: jelas berlaku karena Tabel 7.3 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 = 0 dan 1 × 1’ = 1 × 0 = 0
Karena kelima postulat Huntington dipenuhi, maka terbukti bahwa B = {0, 1} bersama-sama dengan operator biner + dan × operator komplemen ‘ merupakan aljabar Boolean. 

Aljabar Boolean

Misalkan terdapat
- Dua operator biner: + dan ×
- Sebuah operator uner: ’.
- B : himpunan yang didefinisikan pada opeartor +, ×, dan ’
- 0 dan 1 adalah dua elemen yang berbeda dari B.
Tupel
          (B, +, ×, ’)
disebut aljabar Boolean jika untuk setiap a, b, c Î B berlaku aksioma-aksioma atau postulat Huntington berikut :
Untuk mempunyai sebuah aljabar Boolean, harus diperlihatkan :
1. Elemen-elemen himpunan B.
2. Kaidah operasi untuk operator biner dan operator uner.
3. Memenuhi postulat Huntington.

Hari lahir & bintang visual basic

Berikut ini adalah salah satu program untuk menentukan hari lahir dan bintang menggunakan visual basic.

Option Explicit
Dim KodeHari As Byte
Dim Hari As String
Dim Tg, Bl As Byte
Dim Btg As String

Private Sub Form_Load()
    Command1.Enabled = False
End Sub

Private Sub Text1_Change()
    If IsDate(Text1) Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub

Private Sub Command1_Click()
    KodeHari = Weekday(Text1)
    Tg = Day(Text1)
    Bl = Month(Text1)
    Select Case KodeHari
    Case 1
        Hari = "Minggu"
    Case 2
        Hari = "Senin"
    Case 3
        Hari = "Selasa"
    Case 4
        Hari = "Rabu"
    Case 5
        Hari = "Kamis"
    Case 6
        Hari = "Jum'at"
    Case 7
        Hari = "Sabtu"
    End Select
    If (Tg >= 21 And Bl = 3) Or (Tg <= 20 And Bl = 4) Then
        Btg = "ARIES"
    ElseIf (Tg >= 21 And Bl = 4) Or (Tg <= 21 And Bl = 5) Then
        Btg = "TAURUS"
    ElseIf (Tg >= 22 And Bl = 5) Or (Tg <= 21 And Bl = 6) Then
        Btg = "GEMINI"
    ElseIf (Tg >= 22 And Bl = 6) Or (Tg <= 22 And Bl = 7) Then
        Btg = "CANCER"
    ElseIf (Tg >= 23 And Bl = 7) Or (Tg <= 22 And Bl = 8) Then
        Btg = "LEO"
    ElseIf (Tg >= 23 And Bl = 8) Or (Tg <= 22 And Bl = 9) Then
        Btg = "VIRGO"
    ElseIf (Tg >= 23 And Bl = 9) Or (Tg <= 22 And Bl = 10) Then
        Btg = "LIBRA"
    ElseIf (Tg >= 23 And Bl = 10) Or (Tg <= 21 And Bl = 11) Then
        Btg = "SCORPIO"
    ElseIf (Tg >= 22 And Bl = 11) Or (Tg <= 21 And Bl = 12) Then
        Btg = "SAGITARIUS"
    ElseIf (Tg >= 22 And Bl = 12) Or (Tg <= 20 And Bl = 1) Then
        Btg = "CAPRICORN"
    ElseIf (Tg >= 21 And Bl = 1) Or (Tg <= 19 And Bl = 2) Then
        Btg = "AQUARIUS"
    ElseIf (Tg >= 20 And Bl = 2) Or (Tg <= 20 And Bl = 3) Then
        Btg = "PISCES"
    End If
    Text2 = Hari
    Text3 = Btg
End Sub

Lampu lalu lintas visual basic

Berikut ini adalah salah satu program untuk lampu lalu lintas menggunakan visual basic.
Option Explicit
Dim M As Integer


Private Sub Form_Load()
    Timer1.Interval = 1000
    Timer1.Enabled = True
    M = 10
End Sub


Private Sub Timer1_Timer()
    M = M - 1
    If M > 4 And M < 10 Then
        Shape1.FillColor = vbRed
        Shape2.FillColor = vbBlack
        Shape3.FillColor = vbBlack
        Label1.Caption = M - 4
     ElseIf M > 1 And M < 5 Then
        Shape3.FillColor = vbGreen
        Shape2.FillColor = vbBlack
        Shape1.FillColor = vbBlack
        Label1.Caption = M - 1
    ElseIf M = 1 Then
        Shape2.FillColor = vbYellow
        Shape3.FillColor = vbBlack
        Shape1.FillColor = vbBlack
        Label1.Caption = ""
        M = 10
    End If
End sub

Mengurutkan angka visual basic

Berikut ini adalah salah satu program untuk mengurutkan angka dari kecil ke besar menggunakan visual basic.
Option Explicit
Dim N As Integer, Banyak As Integer
Dim i As Integer, j As Integer
Dim temp As Integer, Data(1000) As Integer

Private Sub Command1_Click()
    N = N + 1
    Data(N) = Text2
    Banyak = CInt(Text1)
    If N <= Banyak Then
        List1.AddItem "Masukan ke -" & " " & N & " =" & " " & Text2
    ElseIf N > Banyak Then
        Text2 = ""
        N = Banyak
        MsgBox "Data yang Anda masukkan sudah pada batasnya"
    End If
    Text2 = ""
    Text2.SetFocus
End Sub

Private Sub Command2_Click()
    For i = 1 To N
        For j = i + 1 To N
            If Data(i) > Data(j) Then
                temp = Data(i)
                Data(i) = Data(j)
                Data(j) = temp
            End If
        Next j
    Next i
    List1.AddItem "================"
    List1.AddItem "Hasil Urutan dari kecil ke besar"
    For i = 1 To N
        List1.AddItem Data(i)
    Next i
    List1.AddItem "================"
End Sub

Private Sub Command3_Click()
    List1.Clear
    N = 0
    Text2 = ""
    Text1 = "" 
    Text1.SetFocus
End Sub

Private Sub Command4_Click()
    End
End Sub