Hukum De Morgan

Dalam logika proposional dan aljabar Boolean, **Hukum De Morgan**, **aturan De Morgan**, atau **teorema De Morgan** adalah sepasang aturan penarikan kesimpulan yang menghubungkan konjungsi dan disjungsi melalui negasi. Aturan ini dinamai dari Augustus De Morgan, seorang matematikawan abad ke-19 berkebangsaan Inggris.

Hukum De Morgan dapat dinyatakan dalam bahasa Indonesia sebagai:
* Negasi dari disjungsi adalah konjungsi dari negasi
* Negasi dari konjungsi adalah disjungsi dari negasi
atau
* Komplemen dari gabungan dua himpunan sama dengan irisan dari komplemen kedua himpunan tersebut
* Komplemen dari irisan dua himpunan sama dengan gabungan dari komplemen kedua himpunan tersebut
atau
* bukan (A atau B) = (bukan A) dan (bukan B)
* bukan (A dan B) = (bukan A) atau (bukan B)
dengan "A atau B" menyatakan disjungsi inklusif (yang berarti *setidaknya* satu dari dari A atau B bernilai benar), dan bukan logika disjungsi eksklusif (yang berarti *tepat* satu dari dari A atau B bernilai benar).

Dalam teori himpunan dan aljabar Boolean, Hukum De Morgan dapat ditulis secara formal sebagai
\begin{align}
\overline{A \cup B} &= \overline{A} \cap \overline{B} \text{, dan} \\
\overline{A \cap B} &= \overline{A} \cup \overline{B}
\end{align}
dengan
* A dan B adalah sembarang himpunan
* \overline{A} menyatakan komplemen dari himpunan A
* \cap menyatakan operasi irisan pada himpunan
* \cup menyatakan operasi gabungan pada himpunan

Dalam bahasa formal, Hukum De Morgan dapat ditulis secara formal sebagai
\begin{align}
\neg \! \left( P \lor Q \right) &\iff \left( \neg P \right) \land \left( \neg Q \right) \text{, dan} \\
\neg \! \left( P \land Q \right) &\iff \left( \neg P \right) \lor \left( \neg Q \right)
\end{align}
dengan
* P dan Q merupakan proposisi
* <math>\neg</math> menyatakan operator logika negasi (tidak)
* <math>\land</math> menyatakan operator logika konjungsi (dan)
* <math>\lor</math> menyatakan operator logika disjungsi (atau)
* <math>\iff</math> adalah simbol metalogika yang berarti "dalam bukti logis, dapat diganti dengan" dan sering kali dibaca sebagai "jika dan hanya jika". Untuk setiap kombinasi nilai benar/salah untuk P dan Q, ruas kiri dan kanan dari panahnya akan memiliki nilai kebenaran yang sama setelah diselesaikan.

Bentuk lain dari Hukum De Morgan dapat dinyatakan sebagai berikut
\begin{align}
A \setminus \left( B \cup C \right) &= \left( A \setminus B \right) \cap \left( A \setminus C \right) \text{, dan} \\
A \setminus \left( B \cap C \right) &= \left( A \setminus B \right) \cup \left( A \setminus C \right)
\end{align}
Penerapan dari aturan ini salah satunya ialah menyederhanakan ekspresi logika pada program komputer dan desain rangkaian digital. Hukum De Morgan adalah contoh dari suatu konsep umum dari dualitas matematika.

## Notasi Formal
Dengan menggunakan notasi sekuensi, maka aturan *negasi dari konjungsi* dapat ditulis sebagai berikut :
\begin{align}
\neg \! \left( P \land Q \right) &\vdash \left( \neg P \lor \neg Q \right) \text{, dan} \\
\left( \neg P \lor \neg Q \right) &\vdash \neg \! \left( P \land Q \right)
\end{align}
Dengan cara serupa, aturan *negasi dari disjungsi* dapat ditulis dalam notasi sekuensi sebagai berikut :
\begin{align}
\neg \! \left( P \lor Q \right) &\vdash \left( \neg P \land \neg Q \right) \text{, dan} \\
\left( \neg P \lor \neg Q \right) &\vdash \neg \! \left( P \land Q \right)
\end{align}

Dalam bentuk aturan, *negasi dari konjungsi* dapat ditulis sebagai berikut :
:

Dengan cara serupa, *negasi dari konjungsi* dapat ditulis sebagai berikut :
:

dan saat dituliskan sebagai suatu teorema dalam logika proposisional, maka Hukum De Morgan dapat dinyatakan sebagai
\begin{align}
\neg \! \left( P \lor Q \right) &\leftrightarrow \left( \neg P \right) \land \left( \neg Q \right) \text{, dan} \\
\neg \! \left( P \land Q \right) &\leftrightarrow \left( \neg P \right) \lor \left( \neg Q \right)
\end{align}
dengan P dan Q adalah proposisi yang diekspresikan dalam suatu sistem formal.
**Hukum De Morgan yang diperumum** menawarkan ekuivalensi saat menegasikan konjungsi atau disjungsi yang melibatkan banyak suku. Jika P_k menyatakan proposisi ke-k, maka **Hukum De Morgan yang diperumum** ialah
\begin{align}
\neg \! \left( P_1 \lor P_2 \lor \ldots \lor P_n \right) &\leftrightarrow \neg P_1 \land \neg P_2 \land \ldots \land \neg P_n \text{, dan} \\
\neg \! \left( P_1 \land P_2 \land \ldots \land P_n \right) &\leftrightarrow \neg P_1 \lor \neg P_2 \lor \ldots \lor \neg P_n
\end{align}

### Teori himpunan
Dalam teori himpunan, Hukum De Morgan sering kali dinyatakan sebagai "gabungan dan irisan ditukar saat dikomplemenkan", yang dapat dinyatakan secara formal sebagai berikut :
\begin{align}
\overline{A \cup B} &= \overline{A} \cap \overline{B} \text{, dan} \\
\overline{A \cap B} &= \overline{A} \cup \overline{B}
\end{align}
dengan
* A dan B adalah sembarang himpunan
* \overline{A} menyatakan komplemen dari himpunan A
* \cap menyatakan operasi irisan pada himpunan
* \cup menyatakan operasi gabungan pada himpunan

Hukum De Morgan juga dapat diperumum untuk sembarang jumlah himpunan, yaitu
\begin{align}
\overline{\bigcup_{i \, \in \, I} A_i} &= \bigcap_{i \, \in \, I} \overline{A_i} \text{, dan} \\
\overline{\bigcap_{i \, \in \, I} A_i} &= \bigcup_{i \, \in \, I} \overline{A_i}
\end{align}
dengan I adalah suatu himpunan indeks (bisa himpunan terhitung, maupun himpunan tak terhitung)

### Rekayasa
Dalam aljabar Boolean, teknik listrik dan teknik komputer, Hukum De Morgan biasa ditulis sebagai berikut :
\begin{align}
\overline{A + B} &= \overline{A} \cdot \overline{B} \text{, dan} \\
\overline{A \cdot B} &= \overline{A} + \overline{B}
\end{align}
dengan
* <math>\overline{A}</math> menyatakan operator logika negasi (TIDAK) dari A
* <math>\cdot</math> menyatakan operator logika konjungsi (DAN)
* <math>+</math> menyatakan operator logika disjungsi (ATAU)

### Pencarian teks
Hukum De Morgan sering digunakan dalam pencarian teks menggunakan operator Boolean DAN, ATAU, dan BUKAN (TIDAK). Misalkan terdapat beberapa dokumen yang memuat kata "merah" dan "biru". Hukum De Morgan menyatakan bahwa kedua pencarian ini akan menghasilkan dokumen-dokumen yang sama :

:Pencarian A : BUKAN (merah ATAU biru)
:Pencarian B : (BUKAN merah) DAN (BUKAN biru)

Dokumen-dokumen yang memuat kata "Merah" atau "biru" dapat dikelompokkan menjadi empat kategori, yaitu :
:Kategori 1 : Hanya memuat kata "merah"
:Kategori 2 : Hanya memuat kata "biru"
:Kategori 3 : Memuat kata "merah" dan juga "biru"
:Kategori 4 : Tidak memuat kata "merah" maupun "biru"

Di satu sisi, jelas bahwa pencarian "(merah ATAU biru)" akan menampilkan kategori 1, 2, dan 3. Akibatnya, negasi dari pencarian tersebut (yaitu hasil pencarian A) akan menampilkan dokumen-dokumen lainnya, yaitu dokumen-dokumen pada kategori 4.

Di sisi lain, pencarian "(BUKAN merah)" akan menampilkan kategori 2 dan kategori 4, dan pencarian "(BUKAN biru)" akan menampilkan kategori 1 dan kategori 4. Dengan menerapkan operator DAN pada kedua pencarian ini (yaitu pencarian B), maka hasilnya akan menampilkan hasil yang sama-sama dijumpai pada kedua pencarian ini, yaitu dokumen-dokumen pada kategori 4.

Argumentasi serupa juga dapat diterapkan pada dua pencarian berikut

:Pencarian C : BUKAN (merah DAN biru)
:Pencarian D : (BUKAN merah) ATAU (BUKAN biru)

yang sama-sama menampilkan dokumen-dokumen pada kategori 1, 2, dan 4

## Bukti formal
Disini, akan digunakan notasi \overline{A} untuk menyatakan komplemen dari himpunan A, sama seperti penggunaan pada . Untuk membuktikan bahwa \overline{A \cup B} = \overline{A} \cap \overline{B}, maka
### Bagian pertama
Akan dibuktikan bahwa \overline{A \cup B} \subseteq \overline{A} \cap \overline{B}. Diambil sembarang elemen x \in \overline{A \cup B}. Perhatikan bahwa
\begin{align}
x \in \overline{A \cup B} &\implies x \not \in A \cup B & \text{definisi operasi komplemen} \\
&\implies x \not \in A \; \land \; x \not \in B & \text{lihat penjelasan dibawah} \\
&\implies x \in \overline{A} \; \land \; x \in \overline{B} & \text{definisi operasi komplemen} \\
&\implies x \in \overline{A} \cap \overline{B} & \text{definisi operasi irisan}
\end{align}

Akan dibuktikan bahwa x \not \in A \cup B akan mengakibatkan x \not \in A dan x \not \in B melalui kontradiksi.
# Andaikan x \in A, maka x \in A \cup B. Akan tetapi, hal itu mustahil terjadi, sebab diperoleh informasi bahwasanya x \not \in A \cup B pada baris pertama di atas. Oleh karena terjadi kontradiksi, maka pengandaian di awal (bahwasanya x \in A) bernilai salah. Akibatnya, diperoleh x \not \in A.
# Andaikan x \in B, maka x \in A \cup B. Akan tetapi, hal itu mustahil terjadi, sebab diperoleh informasi bahwasanya x \not \in A \cup B pada baris pertama di atas. Oleh karena terjadi kontradiksi, maka pengandaian di awal (bahwasanya x \in B) bernilai salah. Akibatnya, diperoleh x \not \in B.
Dari dua kasus di atas, maka terbukti bahwa x \not \in A \cup B akan mengakibatkan x \not \in A dan x \not \in B.

sehingga terbukti bahwa \overline{A \cup B} \subseteq \overline{A} \cap \overline{B}.
### Bagian kedua
Akan dibuktikan bahwa \overline{A} \cap \overline{B} \subseteq \overline{A \cup B}. Diambil sembarang elemen x \in \overline{A} \cap \overline{B}. Perhatikan bahwa
\begin{align}
x \in \overline{A} \cap \overline{B} &\implies x \in \overline{A} \; \land \; x \in \overline{B} & \text{definisi operasi irisan} \\
&\implies x \not \in A \; \land \; x \not \in B & \text{definisi operasi komplemen} \\
&\implies x \not \in A \cup B & \text{lihat penjelasan di} \\
&\implies x \in \overline{A \cup B} & \text{definisi operasi komplemen}
\end{align}

Akan dibuktikan bahwa x \not \in A dan x \not \in B akan mengakibatkan x \not \in A \cup B melalui kontradiksi. Andaikan x \in A \cup B, maka menurut definisi operasi gabungan pada himpunan, diperoleh x \in A atau x \in B.
# Jika x \in A, maka hal tersebut kontradiksi dengan hasil pada baris kedua di atas (bahwasanya x \not \in A)
# Jika x \in B, maka hal tersebut kontradiksi dengan hasil pada baris kedua di atas (bahwasanya x \not \in B)
Oleh karena terjadi kontradiksi pada kedua kasus di atas, maka pengandaian di awal (bahwasanya x \in A \cup B) bernilai salah. Akibatnya, terbukti bahwa informasi x \not \in A dan x \not \in B akan mengakibatkan x \not \in A \cup B.

sehingga terbukti bahwa \overline{A} \cap \overline{B} \subseteq \overline{A \cup B}.

Argumentasi serupa juga dapat digunakan untuk membuktikan bahwa \overline{A \cap B} = \overline{A} \cup \overline{B}

## Referensi

## Pranala luar
* 
* 
* 
* Dualitas dalam Logika dan Bahasa, *Internet Encyclopedia of Philosophy*.