Sistem bilangan
- Nilai tempat
- biner 2k, oktal 8k, heksadesimal 16k
- Ke desimal
- Σ dk·bk
- Dari desimal
- bagi dengan basis, baca sisanya dari bawah ke atas
- Heksadesimal ↔ biner
- satu digit heksadesimal = 4 bit
- Komplemen dua
- balik bitnya lalu tambahkan 1
Lembar rumus, langkah-langkah metode utama untuk setiap topik, dan 20 soal latihan, dengan pembahasan lengkap di bagian belakang.
Tulis −23 sebagai pola komplemen dua 8-bit. Baca pola itu sebagai bilangan biner tak bertanda: berapa nilainya U dalam desimal?
Atur bit menjadi hasil 8-bit dari 1011 0111 OR 1111 0011. Berapa nilai hasil R dalam desimal?
Anda ingin membuktikan q → (r ∧ p) dengan kontrapositif. Implikasi mana yang Anda buktikan sebagai gantinya? Klik implikasi itu.
Argumen dengan premis p → r; r dan kesimpulan p tidak valid. Klik baris tabel kebenaran yang merupakan contoh penyangkal.
Pakai peta Karnaugh untuk mencari bentuk jumlah dari hasil kali (SOP) minimal dari F(A, B, C) = Σm(0, 1, 6). Berapa literal L yang dimilikinya secara total (variabel beraksen dihitung satu literal)?
Flip-flop JK yang dipicu tepi positif dimulai dengan Q = 0 dan menerima masukan yang ditunjukkan pada 7 tepi naik clock. Berapa kali N Q berubah keadaan?
Carilah invers 36 modulo 47: bilangan x dengan 0 < x < 47 dan 36·x ≡ 1 (mod 47).
41 adalah bilangan prima. Pakai teorema kecil Fermat untuk mencari 1845991 mod 41.
Algoritma manakah yang menemukan lintasan terpendek dari satu sumber pada graf dengan bobot sisi non-negatif?
Manakah dari masalah satisfiability berikut yang diketahui dapat diselesaikan dalam waktu polinomial?
Mengapa menelusuri array dalam praktik sering jauh lebih cepat daripada menelusuri linked list dengan panjang sama?
Dalam algoritma minimum spanning tree Kruskal, untuk apa struktur union-find dipakai?
Sebuah graf terhubung memiliki 18 simpul dan 19 sisi. Berapa sisi k yang harus dihapus agar tersisa pohon rentang?
Pakai algoritma Dijkstra untuk mencari panjang d(F) lintasan terpendek dari A ke F pada graf berbobot.
Apa itu dirty read?
R(A, B, C, D) memiliki dependensi fungsional A → B dan C → D. Apa kunci kandidatnya?
Apa perbedaan utama antara metode HTTP GET dan POST?
Mengapa IPv6 tidak memerlukan NAT untuk mengatasi kekurangan alamat?
Sebuah departemen membutuhkan 949 alamat host dalam satu subnet. Berapa panjang prefiks terpanjang p (subnet terkecil) yang cukup?
Sebuah host memiliki alamat 10.20.104.252/27. Berapa angka terakhir (oktet keempat) x dari alamat broadcast subnetnya?
Jawaban: U = 233
Sistem bilangan posisional: setiap digit bernilai digit itu dikali pangkat dari basis. Dalam biner, posisinya bernilai 1, 2, 4, 8, 16, …; dalam heksadesimal 1, 16, 256, …, dengan A–F mewakili 10–15. Dalam komplemen dua 8-bit, bit paling kiri bernilai −128, bukan +128; begitulah bilangan negatif disimpan.
Jawaban: R = 247
Mengatur bit: setiap bit bernilai pangkat dua (128, 64, …, 1). Satu digit heksa tepat empat bit, dan pada komplemen dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap posisi bit secara terpisah.
OR menghasilkan 1 jika paling sedikit satu bit adalah 1.
Jawaban: ¬(r ∧ p) → ¬q
Ekuivalensi logis: dua rumus ekuivalen (≡) jika bernilai sama pada setiap baris tabel kebenaran. Tautologi bernilai 1 pada setiap baris, kontradiksi bernilai 0 pada setiap baris, dan kontingensi bukan keduanya. Hukum yang berguna: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b dan ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (kontrapositif); ¬(a → b) ≡ a ∧ ¬b; dan hukum distributif, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
Kontrapositif ekuivalen dengan pernyataan asli, jadi membuktikannya berarti membuktikan pernyataan itu.
Jawaban: p = 0, r = 1
Kuantor dan argumen: ¬∀x P(x) ≡ ∃x ¬P(x) dan ¬∃x P(x) ≡ ∀x ¬P(x). Pindahkan negasi ke dalam, tukar setiap kuantor yang dilewatinya, dan negasikan rumus di dalamnya dengan hukum proposisional, seperti ¬(a → b) ≡ a ∧ ¬b. Sebuah argumen valid jika kesimpulannya bernilai 1 pada setiap baris yang semua premisnya bernilai 1. Satu baris dengan premis benar dan kesimpulan salah adalah contoh penyangkal dan menunjukkan bahwa argumen itu tidak valid.
Argumen dengan bentuk ini tampak seperti aturan yang valid, tetapi satu baris cukup untuk menunjukkan bahwa itu tidak benar.
Jawaban: L = 5
Peta Karnaugh: sel-sel diurutkan dalam kode Gray (00, 01, 11, 10), sehingga sel bertetangga, termasuk yang melewati tepi, berbeda tepat pada satu variabel. Kelompokkan angka 1 dalam persegi panjang berisi 1, 2, 4, 8, atau 16 sel, sebesar mungkin dan sesedikit mungkin, sampai setiap angka 1 tercakup. Setiap kelompok adalah satu suku hasil kali: variabel yang tetap konstan di dalamnya. Kelompok 2ᵏ sel kehilangan k variabel. Don’t-care (X) boleh dipakai untuk memperbesar kelompok tetapi tidak harus dicakup. Mengelompokkan angka 0 sebagai gantinya menghasilkan bentuk POS minimal.
Setiap kelompok adalah persegi panjang berisi 2ᵏ sel; sel di tepi bertetangga dengan sel di tepi seberangnya.
Jawaban: N = 3
Flip-flop dan pencacah: flip-flop hanya berubah pada tepi clock aktif. D menyalin masukannya (Q⁺ = D); T berbalik jika T = 1; JK bertahan untuk 00, reset untuk 01, set untuk 10, dan berbalik untuk 11. Pencacah biner n bit memiliki 2ⁿ keadaan dan menghitung modulo 2ⁿ; pencacah mod-N berurutan 0, 1, …, N − 1 lalu kembali ke 0, dan memerlukan flip-flop sebanyak n terkecil dengan 2ⁿ ≥ N. Setiap tahap pencacah ripple membagi dua frekuensi, sehingga keluaran terakhir pencacah mod-N berjalan pada fclk/N. Pencacah Johnson dari n flip-flop memiliki 2n keadaan, pencacah cincin n.
Flip-flop JK: 00 bertahan, 01 reset (Q = 0), 10 set (Q = 1), 11 berbalik.
Jawaban: 36−1 mod 47 = 17
Invers dan kongruensi: a memiliki invers modulo n tepat ketika FPB(a, n) = 1. Algoritma Euclid yang diperluas menuliskan 1 = s·n + t·a, dan kemudian a⁻¹ ≡ t (mod n). Kongruensi a·x ≡ b (mod n) dengan FPB(a, n) = 1 memiliki penyelesaian x ≡ a⁻¹·b. Dua kongruensi x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂) dengan modulus saling prima memiliki satu penyelesaian modulo m₁·m₂ (teorema sisa Cina). φ(n) Euler menghitung bilangan dari 1 sampai n yang saling prima dengan n: φ(n) = n·∏(1 − 1/p).
Setiap sisa r ditulis sebagai r ≡ t·36 (mod 47).
Jawaban: 1845991 mod 41 = 18
Pangkat modular dan RSA: hitung aᵏ mod n dengan pengkuadratan berulang: tulis k dalam biner, kuadratkan, reduksi setelah setiap langkah, dan kalikan pangkat yang bitnya 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) untuk bilangan prima p yang tidak membagi a, sehingga eksponen dapat direduksi modulo p − 1. RSA: pilih bilangan prima p dan q, n = p·q dan φ(n) = (p − 1)(q − 1); eksponen publik e saling prima dengan φ(n), dan eksponen privat adalah d = e⁻¹ mod φ(n). Enkripsi dengan c = mᵉ mod n dan dekripsi dengan m = cᵈ mod n.
Jawaban: D · Algoritma Dijkstra
Algoritma Dijkstra bekerja dengan bobot non-negatif; Bellman–Ford menangani bobot negatif; Kruskal membangun pohon rentang minimum (minimum spanning tree).
Jawaban: B · 2-SAT, dengan setiap klausa berisi paling banyak dua literal
2-SAT berada di P (waktu linear melalui komponen terhubung kuat), sedangkan 3-SAT adalah NP-complete.
Jawaban: B · Elemen array berurutan di memori, sehingga memanfaatkan cache CPU dengan baik
Memori yang berurutan memberikan lokalitas referensi yang baik, sedangkan node yang terhubung mungkin tersebar dan menyebabkan banyak cache miss.
Jawaban: C · Memeriksa apakah kedua ujung suatu sisi sudah terhubung
Find memberi tahu apakah kedua ujung berada dalam komponen yang sama; jika tidak, sisi itu ditambahkan dan union menggabungkan komponennya.
Jawaban: k = 2
Euler, Hamilton, dan pohon: graf terhubung memiliki sirkuit Euler (setiap sisi sekali, kembali ke awal) jika setiap simpul berderajat genap, dan lintasan Euler yang bukan sirkuit jika tepat dua simpul berderajat ganjil; lintasan itu berjalan dari satu simpul ganjil ke simpul ganjil lainnya. Sirkuit Hamilton mengunjungi setiap simpul sekali; Kn memiliki (n − 1)!/2 sirkuit seperti itu. Pohon dengan n simpul memiliki n − 1 sisi, dan graf terhubung dengan m sisi masih memiliki pohon rentang setelah m − n + 1 sisi dihapus.
Jawaban: d(F) = 23
Lintasan terpendek dan pohon rentang: algoritma Dijkstra menetapkan satu simpul per putaran: simpul belum tetap dengan jarak sementara terkecil. Jaraknya lalu final, dan setiap tetangga v mendapat d(v) = min(d(v), d(u) + w(u, v)). Algoritma Kruskal membangun pohon rentang minimum dengan mengambil sisi dari yang ringan ke berat dan melewati sisi yang akan membentuk siklus; algoritma Prim menumbuhkan satu pohon dari simpul awal dengan selalu menambahkan sisi teringan yang keluar dari pohon. Pohon rentang dengan n simpul memiliki n − 1 sisi.
Setiap baris: simpul yang ditetapkan, jarak finalnya, dan tetangga yang jaraknya membaik.
Jawaban: B · Membaca data yang ditulis oleh transaksi lain yang belum di-commit
Dirty read melihat perubahan yang belum di-commit yang mungkin dibatalkan; hal ini hanya mungkin pada level read uncommitted.
Jawaban: D · {A, C}
A dan C tidak ditentukan oleh apa pun, sehingga setiap kunci harus memuat keduanya, dan {A, C}+ = {A, B, C, D}.
Jawaban: C · GET mengambil sumber daya, POST mengirim data dalam body permintaan
GET meminta sumber daya dan tidak boleh mengubah status server. POST mengirim data, seperti formulir, dalam body untuk diproses server.
Jawaban: A · Ruang alamat 128 bit-nya cukup besar untuk memberikan alamat global kepada setiap perangkat
IPv6 memiliki sekitar 3,4 × 10³⁸ alamat, sehingga kelangkaan yang mendorong penggunaan NAT pada IPv4 hilang; firewall tetap menyediakan keamanan.
Jawaban: p = 22
Subnetting IPv4: sebuah alamat terdiri dari 32 bit. Prefiks /p menyatakan berapa bit awal yang mengidentifikasi jaringan; sisa 32 − p bit menomori host. Sebuah subnet memiliki 2³²⁻ᵖ alamat, tetapi yang pertama (alamat jaringan) dan terakhir (alamat broadcast) tidak dapat diberikan ke host, sehingga muat 2³²⁻ᵖ − 2 host. Pengecualian: /31 (tautan point-to-point, RFC 3021) memakai kedua alamatnya yang berjumlah 2 untuk host, dan /32 hanya satu alamat (satu host atau loopback).
Jawaban: x = 255
Subnetting IPv4: sebuah alamat terdiri dari 32 bit. Prefiks /p menyatakan berapa bit awal yang mengidentifikasi jaringan; sisa 32 − p bit menomori host. Sebuah subnet memiliki 2³²⁻ᵖ alamat, tetapi yang pertama (alamat jaringan) dan terakhir (alamat broadcast) tidak dapat diberikan ke host, sehingga muat 2³²⁻ᵖ − 2 host. Pengecualian: /31 (tautan point-to-point, RFC 3021) memakai kedua alamatnya yang berjumlah 2 untuk host, dan /32 hanya satu alamat (satu host atau loopback).
ExamProblems · examproblems.com/courses/computer-science-fundamentals