virtutorials.blogspot.com is a blog that contains guides and tutorials about network systems and infrastructure for students written in Indonesian

Tuesday, September 14, 2021

Konsep Share Hosting

Seperti telah dijelaskan sebelumnya bahwa hosting merupakan suatu istilah penempatan file atau data pada server tertentu yang secara fisik Anda tidak dapat melihatnya secara langsung. Namun, dapat Anda kelola secara virtual. Biasanya hosting sering diidentikkan dengan aktivitas bisnis penyewaan space atau ruang kapasitas hard disk server untuk menyimpan data web yang kini berkembang ke fitur lain seperti e-mail, FTP, database, dan lainnya. Pertanyaan bagi Anda adalah bagaimana menyimulasikannya dalam sebuah praktik laboratorium dengan spesifikasi jaringan lokal? Anggap saja server Anda dibangun sebagai sebuah server utama, kemudian Anda konfigurasi dan setup web control panel-nya sehingga memungkinkan diakses dan dikelola dari komputer lain. Selanjutnya, server tersebut di-setting agar dapat memberikan akun kepada teman lainnya untuk mengunggah data file web ke direktori yang telah ditentukan sebelumnya. Sebagai contoh pada gambar berikut, Anda menyewakan space/ruang penyimpanan hard disk server pada direktori /home/coba pada user Andi untuk di-redirect-kan pada user lain ketika mengakses domain coba.com menggunakan aplikasi web browser.

 

Gambar 2.1 Konsep share hosting.

 

Analogi yang disimulasikan pada gambar tersebut cukup mewakili proses bisnis penyewaan hosting yang sekarang marak di internet. Hanya saja terdapat perbedaan mendasar bahwa pada perusahaan yang secara professional bergerak dalam jasa hosting, memiliki sistem perhitungan keuangan yang menghitung besaran nilai sewa hosting pada pelanggannya, dukungan layanan keamanan guna menjamin data-data pelanggan tidak hilang dan rusak, serta fitur-fitur pendukung lainnya seperti aktivasi domain, e-mail, antispam, SSH, telnet, dan yang tidak

 

Monday, September 13, 2021

Mengonfigurasi Proxy Server dengan Squid

Sebelumnya, telah dijelaskan bahwa salah satu cache server yang saat ini dapat Anda pertimbangkan menjadi mesin cache adalah aplikasi Squid yang dapat diunduh pada halaman pengembang http://www squid-cache.org, Sebagai salah satu jenis apltasi yang cukup populer saat ini, selain sebagai fitur utama menjadi caching server, Squid juga menjadi aplikasi proxy server yang andal menangani beberapa jenis layanan, seperti filterisasi limit bandwidth, blocking, dan firewall.

 

Pada subbab ini, Anda akan melakukan praktik membangun proxy server menggunakan Debian 9.4, Namun, sebelum melangkah ke materi tersebut, Anda harus memahami terlebih dahulu beberapa hal sebagai berikut.

 

1. Cara Instalasi

Untuk melakukan instalasi aplikasi Squid, Anda dapat menggunakan metode instalasi dari DVD atau dari repository Namun, sebaiknya Anda tetap harus melakukan update repository terlebih dahulu.

 

foot@Server:~# apt-get update

foot@Server:~# apt-get install squid

 

2. Direktori Kerja Squid

 

Direktori kerja Squid berada pada:

a. fet/squid/

Direktori ini memiliki dua file konfigurasi, yaitu errorpage.css dan squid.conf.

b. /ust/share/squid/errors/English/

Dalam direktori ini, Anda dapat memodifikasi konten tampilan pesan akses error ketika sebuah situs sedang dlibloki. Sebagai contoh, file yang dapat Anda edit adalah ERR_ACCESS_DENIED.

c. /var/log/squid/

 

Ada tiga buah file yang dapat Anda monitor dalam direktori ini, yaitu sebagai berikut.

 

1) access.log

Berisi log web yang sedang atau telah diakses oleh klien lengkap dengan statusnya, akan diblokir atau diteruskan.

 

2) cache.log

cache.log untuk mengetahui kondisi cache Squid saat sedang bekerja.

 

3) netdb.state

netdb adalah "Network Measurement Database" yang digunakan oleh Squid untuk mengalkulasi RTT dan beban lalu lintas antara proxy dan server di atasnya.

 

3. Baris Kode squid.conf

File konfigurasi squid.conf dapat Anda temukan dalam folder/ etc/squid/ dengan beberapa parameter yang harus Anda pahami sebagai berikut.

 

Tabel 5.2 Baris kode squid.conf.

No

Baris Kode

Fungsi

1

http_port 3128

Baris kode ini digunakan untuk mengatur port proxy yang akan dijalankan oleh Squid.

2

icp_port 3130

ICP atau Internet Cache Protocol digunakan untuk mengatur komunikasi dengan peer proxy, secara default menggunakan port 3130 dan posisi disable.

3

cache_peer parent.foo.net parent: 3128 3130 default cache_peer sibl.foo.net sibling 3128 3130 proxy-only

Baris kode ini digunakan untuk mengatur konfigurasi parent proxy dan sibling proxy, biasanya dalam kondisi disable.

4

dead_peer timeout 10 seconds

Setiap peer proxy yang telah didefinisikan sebelumnya memiliki waktu time out selama 10 detik. Artinya, jika peer tidak merespons dengan mengirim sinyal ICP dalam waktu tersebut, akan dianggap down. Selanjutnya, Squid tidak akan mengambil object dari server tujuan.

5

hierarchy _stoplist cgi-bin ?

Pada contoh baris kode tersebut, akan melakukan pengaturan cache server untuk mengambil langsung konten web server ketika menemukan bagian URL cgi-bin atau ada kode (?).

6

cache_effective_user squid cache_effective group squid

Kedua baris tersebut menunjukkan bahwa seluruh aktivitas sistem Squid beserta log file dan direktorinya adalah milik user dan group yang dituliskan.

7

cache_mem 256 MB

Memberikan keterangan batas atas jumlah memori yang dipakal untuk menyimpan. '* In transit object atau objek yang tersimpan dalam cache antara waktu ketika pertama kali diunduh hingga waktu yang diperlukan untuk dikirimkan ke klien. '* Hot object adalah jenis objek dalam cache server yang sering diakses dan diminta klien.

 

cache_swap_low 90

cache_swap high 95

Untuk menentukan batas bawah (swap Jow) dan batas atas(swop high) yang telah dicapai serta untuk menentukan cache mulai menghapus konten web yang tersimpan.

 

cache_dir ufs /var/spool/squid 100 16 256

Baris kode ini menjelaskan tentang konfigurasialokas besar disk yang dialokasikan sebagai cache directory Squid, dalam contoh menggunakan format disk UFS yang terletak pada direktori /var/spool/squid. Sementara itu, angka 100 menunjukkan kapasitas ukuran direktori adalah 100 MB, angka 16 memberikan informasi bahwa dalam direktori tersebut terdapat 16 subdirektori. Tap subdirektor tersebut memilki 256 subdirektor lagi. Jangan lupa untuk mengatur kepemilikan direktori tersebut dengan user dan group Squid.

 

eache_log /var/log/squid/cache.log

Untuk mengatur letak lokasi cache fog yang berada pada /var/log/squid/ cache.log.

 

logfile_rotate 10

Menentukan jumiah log file yang akan dibuat dalam folder og. Sebagai contoh, dalam /var/log/squid/ akan memilki log fle dengan nama access.

log, access.log.1, sampai access.log.10.

 

visible_hostname smkbisa.net

Nama domain ini akan ditampilkan dalam tampilan pesan error di web browser komputer Kien. Sebagai contoh, ketika mengakses situs tertentu, kemudian error karena diblokir, web browser akan menampilkan nama hostname = smkbisa.net.

 

acl locainet src 10.0.0.0/8 #

RFC1918 possible internal network

acl localnet src 172.16.0.0/12 #

REC1918 possible internal network

acl lecalnet src 192.168.0.0/16 #

RFC1918 possible internal network

acl localnet src fc00::/7

# RFC 4193 local private network

range

acl localnet src fe80::/10

4 REC 4291 link-local (directly

plugged) machines

acl SSL _ports port 443

acl Safe ports port 80 #

hetp

acl Safe_ports port 22 #

ftp

acl Safe_ports port 443 #

https

acl Safe_ports port 70 #

gopher

acl Safe_ports port 210 #

wais

acl Safe_ports port 1025-65535 #

unregistered ports

acl Safe_ports port 280 #

# http-mgmt

acl Safe_ports port 488 #

gss-http

acl Safe_ports port 591 #

filemaker

acl Safe_ports port 777 #

muliling http

acl CONNECT method CONNEC

ACL (Access Control List) merupakan syntax yang sering digunakan untuk menentukan atau mendefnisikan pengalamatan IP address, network, alamat sumber (sc), alamat tujuan (dst), registrasi port, dan pengaturan bandwidth.

14.

http_access deny !Safe_ports:

nttplaccess deny CONNECT !SSL_

ports

http_access allow localhost

manager

http_access deny manager

http_access allow localnet

http_access allow localhost

http_access deny all

Syntax http_access digunakan untuk menentukan variabel dalam ACL diizinkan untuk mengakses website atau tidak. Kebijakan pemblokiran diwakili dengan perintah http_access deny, sedangkan untuk syntax http_access allow akan mengizinkan permintaan akses ke website tertentu.

 

Latihan Praktik 1

 

Judul : Membuat non-transparent proxy pada port 9090 dengan IP server 192.168.56.20

Tujuan : Menyediakan port akses 9090 sebagai layanan protokol http pada komputer client.

Syarat : Rancang topologi jaringan seperti berikut. :

  


Petunjuk praktik:

1. Buat topologi seperti gambar sebelumnya, Kemudian lakukan Konfigurasisesuai apendiks berikut.

Tabel 5.3 Apendiks topologi jaringan NAT.

 

 2. Pastikan firewall server telah terkonfigurasi menjadi router (lihat praktik sebelumnya sehingga klien dapat terhubung dengan web server) Lakukan instalasi Squid pada Firewall-Server, kemuudian lakukan beberapa perubahan pada baris Konfigurasi ile squid.conf sebagai berikut.

 

root@Firewall-Server:~# nano /etc/squid/squid.conf

 

3. Ubah default port proxy server menjadi 9090 dengan mengedit baris kode http_port.

 

http_port 9090

 

4. Aktifkan baris kode yang menyatakan lokasi penyimpanan cache directory berada dengan menghapus tanda komentar berupa pagar pada baris kode berikut.

 

cache_dir ufs /var/spool/squid 100 16 256

 

5. Keluar dan simpan file squid.conf tersebut, kemudian periksa dengan perintah squid -k parse untuk memeriksa jika ada kesalahan dalam konfigurasinya.

 

root@Firewall-Server:~# squid -k parse


 

6. Jka tidak muncul error, lanjutkan dengan membuat direktori Squid menggunakan perintah squid-z.

 

root@Firewall-Server:~# squid -z

 

 

7. Anda dapat memeriksa direktori cache yang dibuat telah terbentuk dengan balk, cukup dengan menampilkan konten folder dalam direktori /var/spool/squid/.

 

root@Firewall-Server:~#ls -al /var/spool/squid

 

8. Jika semua prosedur telah Anda jalankan, restart service Squid.

 

root@Firewall-Server:~# service squid restart

 

Jika sebelumnya Anda menggunakan direktori default Squid yang berada pada /var/

spool/squid ukuran 100 MB dengan jumiah subdirektori 16 dan 256 per subdirektori, langkah

selanjutnya, Anda akan mengubah direktori cache-nya menjadi berada di /home/squid_pool

dengan ukuran disk 100 MB. Komposisi direktori tersebut memiliki 200 subdirektori, setiap

subdirektori memiliki 2000 subdirektori lagi.

 

9. Buatlah terlebih dahulu direktori /home/squid_pool dan hapus direktori sebelumnya.

 

root@Firewall-Server:~# rm -Rf /var/spool/squid

root@Firewall-Server:~#mkdir /home/squid pool

 




10. Edit kembali squid.conf.

 

root@Firewall-Server:~#nano /etc/squid/squid.conf

 

11. Edit kembali dan ubah baris kode yang dimulai cache_dir ufs /var/spool/squid menjadi seperti berikut.

 

cache_dir ufs /home/squid pool 100 200 2000

 

12. Keluar dan simpan file squid.conf.

13. Atur kepemilikan folder menjadi milik user dan group proxy.

 

 

root@Firewall-Server:~# chown -R proxy:proxy /home/squid_pool/

 

14. Jalankan perintah Squid -z untuk memulai proses pembuatan direktori cache.

 

root@Firewall-Server:~# squid -z

 

15. Berikutnya, Anda akan mencoba melakukan simulasi dalam jaringan lokal sesuai gambar topologi sebelumnya. Pada topologi sebelumnya, di link atas proxy server terdapat web server dengan IP addres 172.16 0.126, Buat domain baruterebih dahulu dengan nama smkbisa.net dengan virtual host directory /home/smk.

 

16. Dalam latinan berikut, Anda akan membuat aturan yang memberlakukan pemblokiran semua komputer yang berada di alamat network 192.168.56.0/24.

 

17. Edit file squid.conf.

 

root@Firewali-server:~# nano /etc/squid/squid.conf

 

18. Modifikasi terlebih dulu cache_mgr dengan value admin@smkbisa.net.

 

cache_mgr admin@smkbisa.net

 

19. Tentukan ACL source IP network yang berasal dari network 192.168.56.0/24 untuk difilter dan daftar domain yang akan diblokit.

 

acl localnet src 192.168.56.0/24

acl blokir dstdomain "/etc/squid/blok"

 

20. Edit syntax http_access yang memperbolehkan localnet dan memblokir domain.

 

http_access deny blokir

httpaccess allow localnet

 

21. Setelah mengonfiguras! file squid.conf, jangan lupa untuk keluar dan menyimpannya. Buat fileete/squid/blokir yang nantinya akan diisi daftar situs yang akan diblokir.

 

root@Firewall-Server:~# nano /etc/squid/blokir



22. Periksa konfigurasi Squid dengan perintah berikut.

 

root@Firewall-Server:~# squid -k parse

 

23. Restart service Squid.

 

root@Firewall-Server:~# service squid restart

 

Jika semua tahapan pada konfigurasi server proxy dengan Squid telah dijalankan dengan balk, akukan pengujian dari sis! komputer klien, yaitu sebagai berikut.

 

24. Jalankan aplikasi web browser pada PC Client.

 

25. Pillh Network Settings, klik opsi Manual proxy configuration, kemudian masukkan IP proxy 192.168.56.20 dengan port 9090 seperti gambar berikut.



26. alukan pengujian dengan membuka beberapa situs yang telah abtoN seDelumnya, Seperti smkbisa.net, cisco.com, dan wikipedia.org.

 

27. Akses URL http://smkbisa.net seperti gambar berikut.

 



28. Akses URL http://id.wikipedia.org seperti gambar berikut.



29. Akses URL http://cisco.com seperti gambar berikut.



 

 

 

Thursday, September 9, 2021

Gerbang Logika NOR (NOT OR)

Kombinasi gerbang logika OR dan NOT menghasilkan sebuah sistem gerbang logika baru, yaitu gerbang logika NOT OR atau NOR. Setiap keluaran (output) hasil proses pada gerbang logika OR akan dibalikkan nilainya menjadi berlawanan. Jika terdapat dua nilai input data A dan B dan nilai output X, keluaran (output) yang dihasilkan adalah X. Persamaan tersebut dapat dituliskan sebagai berikut.


 

Jika nilai keluaran (output) gerbang logika OR bernilai 0 atau potensial rendah (low), akan dibalik nilainya menjadi 1 atau berpotensial tinggi (high). Begitu pula sebaliknya. Kondisi demikian dapat dilihat pada tabel kebenaran berikut.

 

Tabel 2.5 Tabel kebenaran gerbang NOR dengan dua nilai input.

A

B

 

0

0

1

0

1

0

1

0

0

1

1

0

 

Jika diperhatikan secara saksama pada tabel kebenaran di atas, dapat ditarik kesimpulan sebagai berikut.

1. Output bernilai 1 jika semua nilai input bernilai 0.

2. Output bernilai 0 jika salah satu nilai input bernilai 1.

 

Dalam mendesain atau menggambar gerbang logika NOR, Anda dapat menggunakan dua simbol berikut.

1. Gabungan simbol gerbang logika OR dengan gerbang logika

NOT.

 

Gambar 2.20 Kombinasi gerbang logika OR dan NOT.

 

2. Simbol gerbang logika NOR.

 

Gambar 2.21 Gerbang logika NOR.

 

Contoh

 

Mendesain rangkaian gerbang logika NOR (NOT OR) menggunakan aplikasi Logic Circuit Designer.

1. Jalankan aplikasi Logic Circuit Designer.

2. Desain rangkaian gerbang logika NOR seperti berikut.


Gambar 2.22 Rangkaian gerbang logika NOR.

Saturday, September 4, 2021

Gerbang Logika NOT (Inverter)

Gerbang logika NOT atau inverter merupakan gerbang logika yang hanya dapat menerima sebuah nilai masukan (input) dan menghasilkan sebuah keluaran (output). Prinsip kerja dari gerbang logika NOT atau inverter sangat sederhana. Semua nilai input data yang diterima akan dibalik oleh gerbang logika menjadi berlawanan. Contohnya, jika nilai masukannya (input) bernilai 0, akan dibalik menjadi 1 dan sebaliknya. Dengan kata lain, gerbang ini mengubah nilai sebuah sinyal biner Menjadi nilai sebaliknya.

 

Jika terdapat sebuah nilai masukan (input) data A memasuki gerbang NOT, akan menghasilkan nilai keluaran (output) x yang merupakan kebalikan dari A. Persamaan tersebut dapat ditulis sebagai berikut :

 

X=NOT A atau X=A

 

 

Gambar 2.18 Gerbang logika NOT.

 

Tabel kebenaran untuk menguji nilai input data menggunakan gerbang logika NOT adalah sebagai berikut.

 

Tabel 2.4 Tabel kebenaran gerbang logika NOT.

 

Contoh

Mendesain rangkaian gerbang logika NOT menggunakan aplikasi Logic Circuit Designer.

1. Jalankan aplikasi Logic Circuit Designer.

2. Desain rangkaian gerbang logika NOT seperti berikut.

 

Gambar 2.19 Rangkaian gerbang logika NOT.

3. Lakukan pengujian tabel kebenaran gerbang logika NOT (lihat Tabel 2.4).

 

Gerbang Logika AND

Gerbang logika AND dapat memiliki dua atau lebih nilai masukan (input) dengan sebuah nilai keluaran (output). Gerbang AND akan menghasilkan nilai keluaran true hanya jika semua nilai masukannya bernilai true. Sebagai contoh, jika nilai masukan (input) adalah A dan B, nilai keluaran (output) X dapat digambarkan dengan rumus sebagai berikut.

 

X=AANDB atau X=A.B atau X= AB

 

Hasil keluaran operasi dasar dua nilai masukan menggunakan gerbang AND dapat dilihat pada tabel kebenaran berikut.

 

Tabel 2.3 Tabel kebenaran dua nilai masukan dengan gerbang AND.

A

B

X=AB

0

0

0

0

1

0

1

0

0

1

1

1

 

Simbol gerbang AND dengan dua nilai masukan (input) adalah sebagai berikut.

 

Gambar 2.14 Simbol gerbang logika AND.

 

Analogi gerbang logika AND dapat dilihat pada rangkaian elektronika berikut.

1. Rangkaian elektronika dengan dua switch yang tersusun seri

 

Gambar 2.15 Rangkaian analogi gerbang AND dengan (a) dua switch dan (b) dua transistor.

 

Lampu ON adalah tanda keluaran berpotensial tinggi (high voltage) atau bernilai true. Pada gerbang logika AND, jika kedua switch yang mewakili input data A dan B dalam kondisi tertutup atau tersambung, output yang dihasilkan bernilai true. Namun, jika hanya satu switch yang tersambung, lampu atau output dalam kondisi OFF atau false.

 

2. Rangkaian elektronika dengan dua transistor yang terpasang secara seri.

 

Gambar 2.16 Rangkaian analogi gerbang AND dengan (a) dua transistor secara seri dan (b) dalam kondisi terhubung.

 

Lampu menyala merupakan tanda keluaran (output) berpotensial tinggi (high voltage) atau bernilai true. Output true terjadi jika kedua transistor dalam kondisi terhubung. Perhatikan, jika switch yang mewakili input data A dan B dalam kondisi tertutup atau tersambung, output yang dihasilkan bernilai true. Namun, jika hanya satu switch yang tersambung, salah satu transistor tidak dialiri tegangan akibatnya lampu atau output dalam kondisi mati atau false.

 

Prinsip kerja gerbang logika AND dapat dikembangkan menjadi beberapa masukan (input) yang lebih dari dua, misalnya 3 atau 4 atau lebih nilai masukan (input).

 

Berikut rangkaian gerbang logika AND dengan dua nilai masukan (input).

 

Contoh

 

Mendesain rangkaian gerbang logika AND menggunakan aplikasi Logic Circuit Designer dengan dua nilai masukan (input).

 

1. Jalankan aplikasi Logic Circuit Designer.

2. Desain rangkaian gerbang logika AND seperti gambar berikut.

 

Gambar 2.17 Rangkaian gerbang logika AND.

 

3. Lakukan pengujian tabel kebenaran gerbang logika AND dengan dua nilai masukan (input) data (lihat Tabel 2.3).

 

 

Gerbang Logika OR

Gerbang logika OR dalam pengoperasiannya dapat menerima dua atau lebih masukan data dan menghasilkan sebuah keluaran. Sebuah operasi logika OR akan menghasilkan potensial keluaran tinggi (high) yang bernilai 1. Nilai tersebut muncul jika ada salah satu dari masukan data yang berpotensial tinggi (high) atau bernilai 1. Sebagai contoh jika terdapat dua masukan data A, B, dan X adalah nilai keluarannya, rumus Pengoperasiannya dapat digambarkan sebagai berikut.

 

X=A OR B atau X=A+B

 

 

Persamaan aljabar Boolean gerbang logika OR terhadap dua masukan data dapat dilihat pada tabel kebenaran dengan dua masukan berikut.

 

Tabel 2.1 Tabel kebenaran gerbang OR dengan dua masukan.

A

B

X=A+B

0

0

0

0

1

1

1

0

1

1

1

1

 

Dari tabel kebenaran tersebut, dapat diambil kesimpulan bahwa pengoperasian gerbang logika OR akan menghasilkan nilai keluaran true, jika ada salah satu input data bernilai true. Simbol gerbang OR ditunjukkan pada Gambar 2.2 berikut.

 

Gambar 2.2 Simbol rangkaian gerbang logika OR (2 input).

 

Analogi gerbang logika OR dengan dua masukan data dapat

dilihat pada rangkaian elektronika berikut.

1. Rangkaian elektronika yang terdiri atas dua sakelar yang

tersusun paralel dengan output berupa lampu.

 

 

Gambar 2.3 Rangkaian listrik gerbang logika OR (a) dengan dua sakelar dan (b) dengan dua transistor.

 

2. Sakelar A (mewakili input data A). Ketika dinyalakan (bernilai true), lampu akan menyala.

 

Gambar 2.4 (a) Switch A tertutup (ON), lampu menyala dan (b) transistor Q, (ON) mengalirkan tegangan.

 

3. Sakelar A dan B (mewakili input data A dan B). Ketika dinyalakan (keduanya bernilai true), lampu akan tetap menyala.

 

Gambar 2.5 (a) Switch A dan B tertutup (ON), lampu tetap menyala dan (b) transistor Q, dan Q, (ON) mengalirkan tegangan.

 

Jika pada gerbang logika OR terdapat tiga masukan (input) data A, B, dan C, nilai keluaran (output) X pada tabel kebenarannya adalah sebagai berikut.

 

Tabel 2.2 Tabel kebenaran gerbang OR dengan tiga masukan.

A

B

C

X=A+B+C

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

1

 

Contoh

 

Mendesain rangkaian gerbang logika dengan tiga input data menggunakan aplikasi Logic Circuit Designer.

 

1. Koneksikan komputer Anda dengan internet, kemudian download aplikasi Logic Circuit

Designer pada link berikut: http://www.softpedia.com/dyn-postdownload.php?p=140764&t=4&i=1.

 

2. Buat pula tabel kebenaran sesuai dengan output data yang terjadi.

Pengertian Gerbang Logika

Komputer merupakan sebuah kalkulator modern yang dapat diprogram untuk melakukan operasi logika dan aritmetika otomatis. Sebelum diolah CPU, setiap data yang masuk akan dikonversi ke dalam bentuk biner. Selanjutnya, akan dilakukan proses komputasi pada data tersebut, seperti penambahan, pengurangan, perkalian, dan pembagian. Hasilnya akan dikirimkan ke peralatan output, seperti monitor, printer, dan lainnya. Prinsip dasar CPU sebenarnya adalah rangkaian gerbang logika yang bertugas memanipulasi masukan data (input) menjadi sebuah bentuk keluaran data (output) tertentu. Hasil input dan output data berupa true (1) dan false (0).

 

Gerbang logika adalah sebuah blok, sirkuit, atau rangkaian dasar digital yang berfungsi mengolah setiap masukan (input) dan keluaran (output) data digital yang berupa 0 dan 1. Dalam perancangan dan pembahasannya, gerbang logika menggunakan simbol-simbol tertentu. Sebuah gerbang logika dapat menerima satu atau lebih masukan, tetapi hanya memiliki satu keluaran. Output data yang dihasilkan hanya memiliki dua kemungkinan, yaitu true (1) atau false (0). Keluaran (output) tersebut bergantung pada operasi yang dilakukan terhadap masukan (input). Dengan membangun rangkaian digital yang terdiri atas gerbang-gerbang logika, kita dapat menentukan proses pengendalian suatu sistem digital, baik terhadap masukan data, maupun keluaran data yang dihasilkan. Jenis output data yang dihasilkan sangat bergantung pada jenis input data dan gerbang logika itu sendiri, yang dapat digambarkan dengan tabel yang disebut “tabel kebenaran” (truth table).

 

Gerbang logika dalam pengoperasiannya memenuhi aturan main sesuai dengan aljabar Boolean dalam sistem biner. Pada dasarnya, gerbang logika hanya mengenal tiga operasi dasar, yaitu NOT (Inverter), AND, dan OR. Operasi dasar tersebut dapat diimplementasikan dalam beberapa bentuk gerbang logika menjadi sebuah rangkaian elektronik. Ketiga operasi dasar gerbang logika tersebut dapat dikembangkan lagi menjadi beberapa operasi, seperti NOT AND (NAND), NOT OR (NOR), Exclusive OR (XOR), dan Exclusive NOT OR (XNOR).