Pengenalan Jaringan

A.Subnetting
1.Pengertian
Hasil gambar untuk penjelasan tentang subnetting
      Subnetting adalah proses memecah suatu IP jaringan ke sub jaringan yang lebih kecil yang disebut "subnet." Setiap subnet deskripsi non-fisik (atau ID) untuk jaringan-sub fisik (biasanya jaringan beralih dari host yang mengandung satu router -router dalam jaringan multi).
Network address adalah sebuah alamat IP address yang dipakai untuk mewakili dari sekumpulan host yang tergabung dalam sebuah jaringan. Fungsinya adalah untuk menandai sebuah network agar dapat dibedakan dengan network yang lain. Karena fungsinya tersebut, network address juga dipakai untuk mengirimkan paket dari LAN ke LAN atau jaringan satu ke jaringan lain.
       Broadcast address adalah alamat yang digunakan sebuah IP address untuk mengirim paket ke semua host yang ada pada sebuah jaringan/LAN. Berbeda dengan network address, broadcast address tidak diperuntukan untuk untuk mengirim paket ke jaringan lain.
      Subnet mask adalah bagian IP address yang dapat menggambarkan jumlah host dari sebuah jaringan. Contoh dari subnetmask, 255.255.255.0 (subnetmask desimal) kemudian dikonversi ke bilangan binary menjadi 11111111.11111111.11111111.00000000 (subnetmask biner). Pada contoh tersebut bisa kita ketahui terdapat 8 bit angka biner nol, yang berarti jumlah host pada jaringan tersebut adalah 2^8 = 256 host. Karena bilangan tersebut berbentuk binary maka pemangkatan yang digunakan adalah 2.
      Classless Inter-Domain Routing (CIDR) merupakan yang dipakai untuk mengalokasikan jumlah alamat yang ada pada blok tertentu. Misal 192.168.0.0/24, pada contoh tersebut yang merupkan CIDR adalah “/24” yang juga sering disebut dengan notasi. Pada kasus ini, bisa kita lihat pula jumlah host yang tersedia. /24 maka jika implementasikan ke bilangan biner menjadi 11111111.11111111.11111111.00000000, dengan melihat bilangan tersebut maka sudah bisa kita ketahui jumlah host yang tersedia.
      Host valid / IP valid adalah alamat IP address yang dapat digunakan oleh host. Misal dalam rentang IP address 192.168.1.0/24, maka host jumlah host valid nya adalah 192.168.1.1 – 192.168.1.254.    Sedangkan  Ip address pertama 192.168.1.0 merupakan Network address dan IP address kedua 192.168.1.255 merupakan broadcast address.

2.Tujuan

Mengapa harus melakukan subnetting? Ada beberapa alasan mengapa kita perlu melakukan subnetting, diantaranya adalah sebagai berikut:
1.    Untuk mengefisienkan alokasi IP Address dalam sebuah jaringan supaya bisa memaksimalkan penggunaan IP Address.
2.    Mengatasi masalah perbedaan hardware dan media fisik yang digunakan daam suatu network, karena Router IP hanya dapat mengintegrasikan berbagai network dengan media fisik yang berbeda jika setiap network memiliki address network yang unik.
3.    Meningkatkan security dan mengurangi terjadinya kongesti akibat terlalu banyaknya host dalam suatu network.




    4. Proses Subnetting

   Untuk melakukan proses subnetting kita akan melakukan beberapa proses antara lain :
1.Menentukan jumlah subnet yang dihasilkan oleh subnet mask.
2.Menentukan jumlah host per subnet.
3.Menentukan subnet yang valid.
4.Menentukan alamat broadcast untuk tiap subnet.
5.Menentukan host – host yang valid untuk tiap subnet.
3.Perhitungan

       Penghitungan subnetting bisa dilakukan dengan dua cara yaitu binary yang relatif lambat dan cara khusus yang lebih cepat. Penulisan IP address umumnya adalah dengan 192.168.1.2. Namun adakalanya ditulis dengan 192.168.1.2/24. Penjelasanya adalah bahwa IP address 192.168.1.2 dengan subnet mask 255.255.255.0. Kenapa bisa seperti itu ? maksud /24 diambil dari penghitungan bahwa 24 bit subnet mask diselubung dengan binari 1. Atau dengan kata lain, subnet masknya adalah: 11111111.11111111.11111111.00000000 (255.255.255.0). Konsep ini yang disebut dengan CIDR (Classless Inter-Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT.
Pada hakekatnya semua pertanyaan tentang subnetting akan berkisar di empat masalah:
ü    Jumlah Subnet,
ü    Jumlah Host per Subnet
ü    Blok Subnet, dan
ü    Alamat Host- Broadcast.


A. Contoh kasus Subnetting yang terjadi dengan sebuah NETWORK ADDRESS 
-----> 10.0.0.0/16.
1. SUBNETTING PADA IP ADDRESS CLASS A
Class A di oktet 2, 3 dan 4 (3 oktet terakhir). Kemudian subnet mask yang bisa digunakan untuk subnetting class A adalah semua subnet mask dari CIDR /8 sampai /30.
Analisa:
10.0.0.0 berarti kelas A, dengan Subnet Mask /16 berarti 11111111.11111111.00000000.00000000 (255.255.0.0).
Penghitungan:
1.    Jumlah Subnet = 28 = 256 subnet
2.    Jumlah Host per Subnet = 216 – 2 = 65534 host
3.    Blok Subnet = 256 – 255 = 1. Jadi subnet lengkapnya: 0,1,2,3,4, etc.
B. Contoh kasus Subnetting yang terjadi dengan sebuah NETWORK ADDRESS ----> 172.16.0.0/18 dan 172.16.0.0/25.
 2. SUBNETTING PADA IP ADDRESS CLASS B
Berdasarkan blok subnetnya. CIDR /17 sampai /24 caranya sama persis dengan subnetting Class C, hanya blok subnetnya kita masukkan langsung ke oktet ketiga, bukan seperti Class C yang “dimainkan” di oktet keempat. Sedangkan CIDR /25 sampai /30 (kelipatan) blok subnet kita “mainkan” di oktet keempat, tapi setelah selesai oktet ketiga berjalan maju (coeunter) dari 0, 1, 2, 3, dst.
>> Contoh network address 172.16.0.0/18
Analisa:
172.16.0.0 berarti kelas B, dengan Subnet Mask /18 berarti 11111111.11111111.11000000.00000000 (255.255.192.0).
Penghitungan:
1.    Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada 2 oktet terakhir. Jadi Jumlah Subnet adalah 22 = 4 subnet
2.    Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada 2 oktet terakhir. Jadi jumlah host per subnet adalah 214 – 2 = 16.382 host
3.    Blok Subnet = 256 – 192 = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
>> Contoh network address 172.16.0.0/25.
Analisa:
172.16.0.0 berarti kelas B, dengan Subnet Mask /25 berarti 11111111.11111111.11111111.10000000 (255.255.255.128).
Penghitungan:
1.    Jumlah Subnet = 29 = 512 subnet
2.    Jumlah Host per Subnet = 27 – 2 = 126 host
3.    Blok Subnet = 256 – 128 = 128. Jadi lengkapnya adalah (0, 128)
   C. Contoh kasus Subnetting yang terjadi dengan sebuah NETWORK ADDRESS   ----->192.168.1.0/26
3. SUBNETTING PADA IP ADDRESS CLASS C
Analisa :
192.168.1.0 berarti kelas C dengan Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192).
Penghitungan :
1.    Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet
2.    Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah 26 – 2 = 62 host
3.    Blok Subnet = 256 – 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.


Sumber :
-http://www.javanetmedia.com/2015/06/subnetting-pada-jaringankomputer.html
-http://www.pintarkomputer.com/cara-cepat-belajar-mneghitung-subnetting-ip-address-bagian-1/


Software Pemrograman : Python

1.Mengenal Bahasa Pemragraman Python

Python merupakan bahasa pemrograman yang dikembangkan oleh Guido van Rossum, yang pertama kali dirilis pada tahun 1991. Tujuan utama dari banyak bahasa pemrograman adalah untuk menjembatani celah antara pola berpikir dari seorang programmer dengan komputer.
Banyak bahasa pemrograman seperti C, C++, C#, dan Java, beberapa bahasa pemrograman tingkat tinggi, yang mana lebih dekat dengan bahasa alami manusia dibandingkan dengan bahasa mesin. sedangkan Python sendiri relatif lebih sederhana, dengan syntax yang sangat menyerupai Bahasa Inggris sehari-hari. Pemrograman dengan Python bisa lebih singkat 3 hingga 5 kali dibandingkan bila menggunakan Java atau C++.
eskipun singkat Pytho
n cukup powerful untuk menangani komputasi pemrograman sebuah game. Selain itu Python juga termasuk Object Oriented Programming (OOP) dan dapat bersifat sebagai bahasa pemrograman perekat, yang mana dapat diintegrasikan dengan bahasa pemrograman lain semisal C, C++, dan Java. Itu artinya seorang programmer dapat belajar mengimplementasikan sekaligus beberapa bahasa pemrograman dalam sebuah project dengan Python. Namun tetap disarankan untuk fokus terlebih dahulu pada satu bahasa pemrograman pada awal belajar.
            Python bersifat platform independent, artinya tidak tergantung atau terbatas pada satu sistem operasi saja. Python dapat dirancang dan dijalankan pada sistem operasi Windows, Mac, maupun Linux.
Komunitas programmer Python juga bisa banyak ditemui di internet. Popularitas dan kesuksesan dari Python tidak lepas dari sifatnya yang open source dan free. Pada sistem operasi Windows, Python memiliki IDE (Integrated Development Environment) yang disebut IDLE.
A.    Belajar String Python Sederhana
        Program ini menggunakan Python versi 2. Script Python dapat ditulis di text editor semisal Notepad dan simpan dengan extension .py.

1.    Script Python Pertama
            

2.     Script Python Kedua



B.     Belajar Python Dasar Integer dan Float
1.     Integer
Pada Python, secara default input() dari user akan dianggap sebagai suatu tipe data integer atau bilangan bulat.Oleh karena itu bila input() diberikan suatu nilai masukkan selain angka (sesuai ASCCI), maka akan didapati error eksekusi program.
Berikut contoh script untuk memahami tipe data integer.

2.     Float
Secara sederhana tipe data float ialah tipe data yang digunakan untuk bilangan pecahan. Berikut ini ialah script untuk membandingkan hasil operasi Matematika antara integer dengan float. 


 C.   Program EncryptionTransposition Cipher

                       

Dengan program ini memungkinkan untuk melakukan encryption pesan (plaintext) yang diberikan berdasarkan key. Untuk key yang digunakan berupa angka bilangan bulat yang merepresentasikan jumlah kolom. Pesan plaintext tersebut akan dipecah menjadi masing-masing karakter penyusunnya, bisa berupa huruf, angka, atau simbol lainnya, dan ditempatkan dalam kolom sesuai key. Setelah dipecah, pesan tersebut akan disusun kembali sebagai ciphertext dari satu baris ke baris selanjutnya secara berurutan. Berikut ini ialah contoh hasil dari transposition cipher.
Plaintext: MANCHESTER UNITED
Key: 7
Ciphertext: MTTAEENRDC HUENSI


Berdasarkan pada gambar tersebut, pesan plaintext MANCHESTER UNITED, dipecah dalam 7 karakter key. Kemudian disusun kembali dari satu kolom ke baris selanjutnya. Sehingga hasil akhir diperoleh ciphertext MTTAEENRDC HUENSI. 

Sistem Bilangan



A. Konversi Bilangan Biner, Desimal, Oktal dan Hexadesimal


1. Konversi Bilangan Biner ke Desimal

Cara mengkonversi bilangan biner ke desimal adalah dengan cara mengalikan satu persatu bilangan dengan 2 (basis bilangan biner) pangkat 0, pangkat 1 dan seterusnya sesuai dengan banyaknya bilangan biner yang akan di konversi dan perhitungannya dimulai dari bilangan biner yang paling kanan.
Contoh:

2. Konversi Bilangan Biner ke Oktal

Cara mengkonversi bilangan biner ke oktal yakni dengan mengelompokan bilangan biner menjadi 3 buah dimulai dari bilangan biner yang paling kanan. Setelah dikelompokan barulah kita dapat mengkonversi menjadi bilangan Oktal.

Contoh:

3. Konversi Bilangan Biner ke Hexadesimal

Cara mengkonversi bilangan biner ke hexadesimal tekniknya hampir sama dengan cara konversi bilangan biner ke oktal. Yang membedakan ada pada pengelompokan bilangan binernya, pada bilangan oktal dalam satu kelompok terdiri dari 3 buah bilangan biner sedangkan pada hexadesimal dalam satu kelompok terdiri dari 4 buah bilangan biner.

Contoh:

4. Konversi Bilangan Desimal ke Biner

Cara mengkonversi bilangan desimal ke biner adalah dengan cara membagi bilangan desimal dengan 2 (basis bilangan biner) kemudian menyimpan hasil bagi dan sisa bagi dari setiap pembagiannya hingga hasil baginya < 2. Nilai konversinya adalah urutan dari hasil bagi yang terakhir kemudian sisa bagi dari yang terakhir hingga ke awal.

Contoh:

5. Konversi Bilangan Desimal ke Oktal

Cara mengkonversi bilangan desimal ke Oktal adalah dengan cara membagi bilangan desimal dengan 8 (basis bilangan oktal) dan menyimpan hasil bagi dan sisa bagi dari setiap pembagiannya. Nilai konversinya adalah urutan hasil bagi yang terakhir kemudian sisa bagi dari yang terakhir hingga ke awal.

Contoh:

6. Konversi Bilangan Desimal ke Hexadesimal


Cara mengkonversi bilangan desimal ke hexadesimal adalah dengan cara membagi bilangan desimal dengan 16 (basis bilangan hexadesimal) dan menyimpan hasil bagi dan sisa bagi dari setiap pembagiannya. Apabila sisa bagi > 9 maka angkanya dirubah menjadi huruf. Untuk sisa bagi berjumlah 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F.

Contoh:

7. Konversi Bilangan Oktal ke Biner

Cara mengkonversi bilangan oktal ke biner adalah dengan memecah terlebih dahulu bilangan oktal kedalam satuan bilangan. Kemudian masing-masing bilangan diubah kedalam bentuk biner (harus 3 digit) dengan cara membagi dengan 2 (basis bilangan biner). Jika hasil konversi hanya menghasilkan 2 digit bilangan biner, maka harus ditambahkan 0 supaya bilangan binernya menjadi 3 digit.
Contoh:

8. Konversi Bilangan Oktal ke Desimal

Cara mengkonversi bilangan oktal ke desimal adalah dengan cara mengalikan satu persatu bilangan dengan 8 (basis bilangan oktal) dengan pangkat 0, 1 dan seterusnya dimulai dari bilangan oktal yang paling kanan. Kemudian hasil dari semua pengalian dijumlahkan.
Contoh:

9. Konversi Bilangan Oktal ke Hexadesimal

Cara mengkonversi bilangan oktal ke hexadesimal terdiri dari dua tahap yaitu:
- Pertama, mengkonversi terlebih dahulu bilangan oktal ke bilangan biner
- Kedua, hasil konversi ke bilangan biner kemudian di konversikan ke bilangan hexadesimal
Singkatnya seperti ini Oktal --> Biner --> Hexadesimal.
Contoh:
Konversi Bilangan Oktal ke Hexadesimal
- Konversi terlebih dahulu Bilangan Oktal ke Bilangan Biner

Konversi Bilangan Oktal ke Hexadesimal

- Kemudian konversi Bilangan Biner ke Bilangan Hexadesimal

Konversi Bilangan Oktal ke Hexadesimal
                                                                                       




B. Operasi Aritmatika (Penjumlahan Dan Pengurangan) Sistem Bilangan

A.Penjumlahan Bilangan
1.  Penjumlahan Bilangan Biner
Pada penjumlahan berlaku aturan seperti di bawah ini ,
0  +  0
= 0
0  +  1
= 1
1  +  0
= 1
1  +  1
= 0 / + 1 sebagai carry
1  +  1  +  1
= 1 / + 1 sebagai carry
Sebagai cara penjumlahan bilangan desimal yang Anda kenal sehari-hari, penjumlahan bilangan biner juga harus selalu memperhatikan carry (sisa) dari hasil penjumlahan pada tempat yang lebih rendah.
Contoh :

Dalam contoh diatas, telah dilakukan penjumlahan 8 bit tanpa carry, sehingga hasil penjumlahnya masih berupa 8 bit data. Untuk contoh berikutnya akan dilakukan penjumlahan 8 bityang menghasilkan carry.
Contoh :


Hasil penjumlahan diatas menjadi 9 bit data, sehingga untuk 8 bit data, hasil penjumlahannya bukan merupakan jumlah 8 bit data A dan B tetapi bit yang e-8 (dihitung mulai dari 0) atau yang disebut carry juga harus diperhatikan  sebagai hasil penjumlahan.
2. Penjumlahan Bilangan Oktal
Proses penjumlahan bilangan oktal sama seperti proses penjumlahan bilangan desimal. Sisa akan timbul / terjadi jika jumlahnya telah melebihi 7 pada setiap tempat.
Contoh :

3. Penjumlahan Bilangan Heksadesimal
Dalam penjumlahan bilangan heksadesimal, sisa akan terjadi jika jumlah dari setiap tempat melebihi 15.


B. Pengurangan Bilangan
1. Pengurangan Bilangan Biner
Pada pengurangan bilangan biner berlaku aturan seperti di bawah ini,
0  -  0
= 0
0  -  1
= 1 / -1 sebagai borrow
1  -  0
= 1
1  -  1
= 0
0  -  1  -  1
= 0 / - 1 sebagai borrow
1  -  1  -  1
= 1 / -1 sebagai borrow
Pada pengurangan jika bilangan yang dikurangi lebih kecil dari pada bilangan pengurangnya maka dilakukan peminjaman (borrow) pada tempat yang lebih tinggi.
Contoh :

2.  Pengurangan Bilangan Oktal
Pada pengurangan jika bilangan yang dikurangi lebih kecil dari pada bilangan pengurangnya maka dilakukan peminjaman (borrow) pada tempat yang lebih tinggi (dengan nilai 8).
Contoh :
 

3. Pengurangan Bilangan Heksadesimal
Pada pengurangan jika bilangan yang dikurangi lebih kecil dari pada bilangan pengurangnya maka dilakukan peminjaman (borrow) pada tempat yang lebih tinggi (dengan nilai 16).
Contoh :


C. Mendefenisikan Bilangan Kurang Dari Nol
Pada sistem bilangan desimal untuk mendefinisikan suatu nilai bilangan yang kurang dari nol ialah dengan menggunakan tanda minus. Namun pada sistem bilangan biner (binary) hal tersebut menjadi lebih rumit, karena semua representasi nilai dengan menggunakan nilai logika satu atau nol. Sebuah komputer hanya mengenali nilai 'on' (High atau 1) dan 'off' (Low atau 0), secara default tidak mengenali nilai minus begitu saja. Terdapat dua metode yang digunakan untuk menyelesaikan persoalan tersebut yakni dengan notasi one's complement dan two’s complement.

1. One's Complement
Ketika merepresentasikan sebuah angka negatif dalam notasi one’s complement, sangatlah penting untuk mengetahui terlebih dulu jumlah bit yang digunakan untuk merepresentasikan suatu angka tersebut. Semisal, untuk merepresentasikan nilai -20 dalam notasi one’s complement melalui langkah-langkah sebagai berikut.
  • Pertama, mengubah dari desimal menjadi biner dengan nilai yang sama, contohnya (20) = (00010100)2
  • Selanjutnya ialah membalik nilai dari tiap-tiap bit, 1 menjadi 0 dan 0 menjadi 1, contohnya (00010100)2 dibalik menjadi (11101011)2
Sehingga bila nilai -20 direpresentasikan dalam notasi one’s complement ialah menjadi (11101100)2.

2. Two's Complement
Notasi one's complement memang berhasil merepresentasikan suatu nilai minus, namun bukan berarti sempurna tanpa celah. Kelemahan fatal dari notasi one's complement ialah bila menggunakan metode ini maka akan didapati dua buah nilai 0, yakni 0 negatif dan 0 positif.
Oleh karena itu dikembangkan metode baru untuk mengatasi kelamahan tersebut, yakni two's complement. Secara garis besar hampir sama dengan one's complement, namun terdapat langkah tambahan yakni dengan menambahkan 1 bit pada LSB, Least Significant Bit. Berikut ini ialah contohnya.
  • Pertama, mengubah dari desimal menjadi biner dengan nilai yang sama, contohnya, (20) = (00010100)2
  • Selanjutnya, membalik nilai tiap-tiap bit, 1 menjadi 0 dan 0 menjadi 1, contohnya, (00010100)2 dibalik menjadi (11101011)2
  • Langkah terakhir ialah dengan menambahkan satu bit pada LSB, (11101011)2 ditambah 1 bit menjadi (11101100)2
Dengan demikian nilai -20 dengan menggunakan notasi two's complement ialah (11101100)2.
Dalam sistem komputer, untuk membedakan suatu nilai itu positif atau negatif, digunakan flag register yakni SF, Signed Flag. Bila SF bernilai 1, maka nilai yang ditunjukkan ialah nilai negatif, sebaliknya ialah nilai positif.
Terdapat trick yang lebih mudah dalam menggunakan notasi two's complement. Selain dengan cara yang telah disebutkan, ada satu cara yang lebih mudah dalam merepresentasikan nilai minus dengan two's complement. Kembali dengan contoh nilai -20.
  • Pertama, ubah dulu nilai desimal 20 ke nilai biner menjadi 000101002
  • Amati dari LSB, Least Significant Bit, bit paling kecil yang paling kanan
  • Dari LSB cari bit pertama yang bernilai 1, bila tidak ditemukan geser ke bit di sebelah kirinya.
  • Dari 000101002, bit satu yang pertama ada pada bit yang ke-3 dari LSB
  • Tulis saja tiga pertama bit tersebut (100) pada bagian notasi two's complement
  • Setelah ditemukan bit bernilai 1 yang pertama, selanjutnya semua bit yang ada di sisi kirinya dibalik nilainya
  • Sehingga bit ke-4 sampai yang ke-8 diubah dari 000102 menjadi 111012
  • Gabungan keduanya bit 1 sampai 3 dengan bit 4 sampai 8, menjadi 11101100  
  •  
    D. Gerbang Logika
    Sebuah gerbang logika (logic gate) merupakan dasar dari sebuah rangkaian digital. Kebanyakan gerbang logika memiliki dua buah input dan sebuah output. Tiap terminal hanya memiliki satu kondisi saja pada satu waktu, apakah itu kondisi low 0, atau high 1. Tidak ada terminal digital dengan dua kondisi pada satu waktu yang bersamaan. Pada kebanyakan gerbang logika TTL, kondisi low memiliki tegangan kurang lebih 0 volt. Sedangkan pada kondisi high, tegangannya sekitar +5 volt.
Terdapat tujuh buah gerbang logika dasar yakni: AND, OR, XOR, NOT, NAND, NOR, dan XNOR.

1. Gerbang Logika AND
Kondisi output gerbang AND akan bernilai high hanya jika kedua input bernilai high. Selain itu akan bernilai low.

2. Gerbang Logika OR
Kondisi output gerbang OR akan bernilai high jika ada salah satu atau semua input bernilai high. Bila kedua input bernilai low maka output juga akan bernilai low.

3. Gerbang Logika XOR
Kondisi output gerbang XOR (Exclusive-OR) akan bernilai high jika hanya salah satu input saja yang bernilai high. Bila kedua input bernilai sama maka output akan bernilai low.

4. Gerbang Logika NOT
Gerbang logika NOT merupakan gerbang logika kebalikan (inverse). Kondisi output akan bernilai high saat input bernilai low. Sebaliknya, saat input bernilai high output akan bernilai low.

5. Gerbang Logika NAND
Gerbang logika NAND (Not-AND) merupakan gerbang logika kebalikan (inverse) dari AND. Kondisi output akan bernilai low hanya saat semua input bernilai high. Selain itu output akan bernilai high.

6. Gerbang Logika NOR
Gerbang logika NOR (Not-OR) merupakan gerbang logika kebalikan (inverse) dari OR. Kondisi output akan bernilai high hanya saat semua input bernilai low. Selain itu output akan bernilai low.

7. Gerbang Logika XNOR
Gerbang logika XNOR (Exclusive-Not-OR) merupakan gerbang logika kebalikan (inverse) dari XOR. Kondisi output akan bernilai high hanya saat semua input bernilai sama (high atau low), selain itu bila nilai input berbeda output akan bernilai low.