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.
Pola 8-bit 1100 0110 menyimpan bilangan bulat bertanda dalam komplemen dua. Berapa nilainya N dalam desimal?
Atur bit menjadi hasil 8-bit dari 0011 1111 >> 3. Berapa nilai hasil R dalam desimal?
Pada berapa dari 8 baris tabel kebenarannya ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) bernilai benar? Sebut bilangan ini N.
Pernyataan mana yang ekuivalen dengan ¬∃x (P(x) ∧ Q(x)), dengan negasi dipindahkan sampai ke dalam? Klik pernyataan itu.
Pada peta Karnaugh ini tepat satu angka 1 tidak memiliki angka 1 tetangga, sehingga tetap menjadi kelompok satu sel (minterm penuh berisi empat literal) dalam bentuk SOP minimal. Tetangga melewati tepi peta ikut dihitung. Klik sel itu.
Pencacah cincin 4 bit Q₃Q₂Q₁Q₀ dimulai dari 1010. Pada setiap tepi clock bit bergeser satu tempat ke kanan (Q₃ → Q₂ → Q₁ → Q₀) dan Q₃ menerima Q₀. Berikan keadaan Q = Q₃Q₂Q₁Q₀ sebagai bilangan desimal setelah 6 tepi clock.
Carilah bilangan bulat positif terkecil x dengan x ≡ 5 (mod 9) dan x ≡ 10 (mod 13).
Enkripsikan pesan m = 90 dengan kunci publik RSA (n, e) = (203, 23). Carilah teks sandi c.
Mengapa banyak rutin pengurutan pustaka beralih ke insertion sort untuk subarray yang sangat kecil?
Mengapa binary search tidak menghasilkan waktu O(log n) pada singly linked list?
Circular buffer (ring buffer) umumnya digunakan untuk mengimplementasikan:
Kompleksitas waktu decrease-key pada binary heap (jika posisi elemen diketahui) adalah:
Sebuah graf terhubung memiliki 14 simpul dan 22 sisi. Berapa sisi k yang harus dihapus agar tersisa pohon rentang?
Algoritma Prim membangun pohon rentang minimum mulai dari simpul E. Klik sisi yang ditambahkannya sebagai sisi nomor 3.
Apa yang dikembalikan oleh SELECT COALESCE(phone, 'unknown') FROM customers untuk pelanggan yang phone-nya NULL?
Apa yang dikembalikan oleh SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?
Apa perbedaan utama antara metode HTTP GET dan POST?
Apa yang dilakukan TCP fast retransmit?
Jaringan 10.199.1.0/24 dibagi menjadi subnet-subnet yang sama dengan prefiks /30. Berapa jumlah subnet N?
Sebuah host memiliki alamat 10.20.41.95/28. Berapa angka terakhir (oktet keempat) x dari alamat broadcast subnetnya?
Jawaban: N = −58
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.
Bit lainnya tetap bernilai positif seperti biasa.
Jawaban: R = 7
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.
Menggeser ke kanan sebanyak 3 memindahkan setiap bit 3 tempat ke kanan; bit yang keluar dari ujung kanan hilang dan nol masuk dari kiri.
Jawaban: N = 5
Tabel kebenaran: rumus dengan n variabel berbeda memiliki 2ⁿ baris, satu untuk setiap kombinasi nilai kebenaran (1 = benar, 0 = salah). Bekerjalah dari dalam ke luar dan beri setiap subformula kolomnya sendiri. ¬a membalik nilainya; a ∧ b bernilai 1 hanya jika keduanya 1; a ∨ b bernilai 0 hanya jika keduanya 0; a → b bernilai 0 hanya jika a = 1 dan b = 0; a ↔ b bernilai 1 jika kedua sisi sama.
Jawaban: ∀x (P(x) → ¬Q(x))
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.
Pilihan lain mempertahankan kuantor tanpa perubahan, mengubah urutan kuantor, atau menegasikan rumus di dalam dengan salah.
Jawaban: AB = 10, CD = 11
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.
Angka 1 dengan tetangga angka 1 dapat bergabung dalam kelompok dua atau lebih.
Jawaban: Q = 10
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.
Jawaban: x = 23
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).
Jawaban: c = 153
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: C · Insertion sort memiliki overhead kecil dan cepat pada input kecil atau hampir terurut
Untuk n kecil, loop sederhana insertion sort mengalahkan overhead rekursi quicksort atau merge sort, meskipun O(n²).
Jawaban: C · Mencapai elemen tengah memerlukan O(n) langkah, karena tidak ada akses indeks langsung
Binary search memerlukan akses O(1) ke elemen tengah; pada linked list, berjalan ke sana memerlukan waktu linear, sehingga totalnya O(n).
Jawaban: C · Queue berukuran tetap
Ring buffer menggunakan indeks head dan tail yang berputar kembali, sehingga enqueue dan dequeue berlangsung O(1) dengan memori tetap.
Jawaban: D · O(log n)
Setelah kunci diturunkan, elemen bergeser ke atas (sift up) paling banyak setinggi heap. Fibonacci heap mencapai decrease-key teramortisasi O(1).
Jawaban: k = 9
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: sisi GD
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.
Jawaban: C · 'unknown'
COALESCE memeriksa argumennya dari kiri ke kanan dan mengembalikan yang pertama tidak NULL, di sini 'unknown'.
Jawaban: A · Setiap baris karyawan beserta rata-rata gaji departemennya
Berbeda dengan GROUP BY, window function mempertahankan setiap baris masukan dan menambahkan nilai yang dihitung atas partisinya, di sini departemen.
Jawaban: B · 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: C · Mengirim ulang segmen setelah tiga ACK duplikat, tanpa menunggu timeout
Tiga ACK duplikat sangat menunjukkan satu segmen hilang, sehingga TCP langsung mentransmisikannya ulang. Pemulihan ini jauh lebih cepat daripada menunggu timer retransmisi.
Jawaban: N = 64
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Setiap subnet /30 memiliki 22 − 2 = 2 host yang dapat dipakai.
Jawaban: x = 95
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