Dasar-Dasar Ilmu Komputer: paket kilat

Lembar rumus, langkah-langkah metode utama untuk setiap topik, dan 20 soal latihan, dengan pembahasan lengkap di bagian belakang.

Soal baruKembali ke mata kuliah

Di jendela cetak, pilih “Simpan sebagai PDF” untuk menyimpan salinan di perangkat Anda.

1Rumus dan metode

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

Logika proposisional & pembuktian

Baris tabel kebenaran
2ⁿ
Implikasi
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Negasi implikasi
¬(p → q) ≡ p ∧ ¬q
Bikondisional
p ↔ q ≡ (p → q) ∧ (q → p)
De Morgan
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Hukum distributif
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Negasi kuantor
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Metode

  1. Hitung banyaknya variabel yang berbeda: tabel kebenaran memiliki 2ⁿ baris, dimulai dengan semuanya bernilai 1.
  2. Beri setiap subformula kolomnya sendiri dan isi kolom-kolom itu dari dalam ke luar.
  3. Terapkan aturan setiap penghubung: → bernilai 0 hanya untuk 1 → 0, ↔ bernilai 1 jika kedua sisi sama.
  4. Untuk ekuivalensi, bandingkan kolom akhir baris demi baris; untuk suatu argumen, lihat hanya baris yang semua premisnya bernilai 1.
  5. Untuk menegasikan pernyataan berkuantor, pindahkan ¬ ke dalam, tukar ∀ dan ∃, lalu negasikan rumus di dalamnya.

Logika digital: gerbang, peta-K & flip-flop

Gerbang dasar
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Aturan Boolean
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Urutan peta Karnaugh
00, 01, 11, 10 (Gray code)
Kelompok 2ᵏ sel
kehilangan k variabel
Multiplekser 4-ke-1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flop
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Pencacah
n bit: 2ⁿ keadaan; mod-N: n terkecil dengan 2ⁿ ≥ N; fout = fclk/N
Pencacah ripple
fmax = 1/(n·tpd)
Pencacah cincin dan Johnson
n dan 2n keadaan

Metode

  1. Untuk rangkaian, bekerjalah dari masukan ke keluaran satu gerbang demi satu gerbang dan tulis nilai pada setiap kawat, atau tulis ekspresinya dan isi tabel kebenaran.
  2. Untuk penyederhanaan, taruh angka 1 (dan don’t-care sebagai X) ke dalam peta Karnaugh dengan baris dan kolom kode Gray: 00, 01, 11, 10.
  3. Cakup angka 1 dengan kelompok sesedikit dan sebesar mungkin yang berisi 1, 2, 4, 8, atau 16 sel, melingkar melewati tepi; setiap kelompok adalah satu suku hasil kali yang tersusun dari variabel yang tetap konstan. Kelompokkan angka 0 untuk bentuk POS.
  4. Untuk flip-flop dan pencacah, baca masukan pada setiap tepi clock aktif, tulis keadaan setelah setiap tepi, dan ingat bahwa pencacah n bit berputar kembali setelah 2ⁿ keadaan.

Teori bilangan & aritmetika modular

Pembagian dengan sisa
a = q·n + r, 0 ≤ r < n
Euclid
gcd(a, b) = gcd(b, a mod b)
Kelipatan persekutuan terkecil
lcm(a, b) = a·b/gcd(a, b)
Invers
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Kongruensi linear
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Fungsi totien Euler
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Metode

  1. Reduksi dulu setiap bilangan modulo n; sisa berada di antara 0 dan n − 1.
  2. Untuk FPB, bagi berulang kali dengan algoritma Euclid; sisa taknol terakhir adalah FPB.
  3. Untuk invers, jalankan algoritma yang diperluas dan ambil koefisien a; tambahkan n jika negatif.
  4. Selesaikan a·x ≡ b dengan mengalikan a⁻¹; gabungkan dua kongruensi dengan menuliskan x = r₁ + m₁k.
  5. Untuk pangkat, tuliskan eksponen dalam biner dan kuadratkan berulang; dalam RSA, d = e⁻¹ mod φ(n) dengan φ(n) = (p − 1)(q − 1).

Teori graf

Lema jabat tangan
Σ deg(v) = 2|E|
Graf lengkap
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Graf beraturan
|E| = n·k/2
Pohon dan hutan
|E| = n − 1, |E| = n − c
Daun pohon
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
sirkuit: semua derajat genap; lintasan: tepat 2 derajat ganjil
Sirkuit Hamilton di Kn
(n − 1)!/2
Pembaruan Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Jalan dengan panjang L
(Mᴸ)ij

Metode

  1. Tuliskan derajat setiap simpul; jumlah derajat sama dengan dua kali banyaknya sisi.
  2. Untuk soal Euler, periksa bahwa graf terhubung dan hitung simpul berderajat ganjil.
  3. Untuk pohon, gunakan n − 1 sisi dan lema jabat tangan.
  4. Untuk Dijkstra, buat tabel jarak sementara dan tetapkan simpul belum tetap dengan jarak terkecil di setiap putaran.
  5. Untuk pohon rentang minimum, urutkan sisi menurut bobot dan lewati setiap sisi yang membentuk siklus (Kruskal), atau tumbuhkan satu pohon dari simpul awal (Prim).

Subnetting IPv4

Host per subnet
2(32 − prefix) − 2 (/31: 2, /32: 1)
Ukuran blok
256 − (mask octet)
Alamat jaringan
IP AND mask
Alamat broadcast
IP OR (NOT mask): semua bit host bernilai 1
Subnet dari n bit pinjaman
2n

2Soal latihan

1.Sistem bilanganSedang
nilai posisi dalam komplemen dua1−12816403201608141201

Pola 8-bit 1100 0110 menyimpan bilangan bulat bertanda dalam komplemen dua. Berapa nilainya N dalam desimal?

1100 01108 bit
N =
2.Sistem bilanganSulit
klik bit untuk mengaturnya012806403201608040201

Atur bit menjadi hasil 8-bit dari 0011 1111 >> 3. Berapa nilai hasil R dalam desimal?

0011 1111>> 3
R =
3.Logika proposisional & pembuktianSedang
abc(b ∧ a) ∨ b¬((b ∧ a) ∨ b)¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b)111?110?101?100?011?010?001?000?

Pada berapa dari 8 baris tabel kebenarannya ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) bernilai benar? Sebut bilangan ini N.

¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b)
N =
4.Logika proposisional & pembuktianSulit
∀x (P(x) ∧ ¬Q(x))∃x (P(x) → ¬Q(x))∃x (¬P(x) ∧ ¬Q(x))∀x (P(x) → ¬Q(x))

Pernyataan mana yang ekuivalen dengan ¬∃x (P(x) ∧ Q(x)), dengan negasi dipindahkan sampai ke dalam? Klik pernyataan itu.

¬∃x (P(x) ∧ Q(x))
  1. 1∀x (P(x) ∧ ¬Q(x))
  2. 2∃x (P(x) → ¬Q(x))
  3. 3∃x (¬P(x) ∧ ¬Q(x))
  4. 4∀x (P(x) → ¬Q(x))
5.Logika digital: gerbang, peta-K & flip-flopSedang
ABCD00011110000111101111111

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.

F = Σm(0, 1, 5, 11, 12, 13, 14)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
6.Logika digital: gerbang, peta-K & flip-flopSulit
DQ3​Q3​DQ2​Q2​DQ1​Q1​DQ0​Q0​CLKRING

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.

Q₃Q₂Q₁Q₀ = 10106
Q =
7.Teori bilangan & aritmetika modularSedang

Carilah bilangan bulat positif terkecil x dengan x ≡ 5 (mod 9) dan x ≡ 10 (mod 13).

x ≡ 5 (mod 9)x ≡ 10 (mod 13)
x =
8.Teori bilangan & aritmetika modularSulit
90c = me​ mod n?m = cd​ mod nm(n, e) = (203, 23)d

Enkripsikan pesan m = 90 dengan kunci publik RSA (n, e) = (203, 23). Carilah teks sandi c.

n = 203e = 23m = 90
c =
9.Algoritma & kompleksitasSedang

Mengapa banyak rutin pengurutan pustaka beralih ke insertion sort untuk subarray yang sangat kecil?

  1. AInsertion sort memakai memori lebih sedikit daripada algoritma pengurutan lain untuk input besar
  2. BInsertion sort adalah O(n log n) pada kasus terburuk
  3. CInsertion sort memiliki overhead kecil dan cepat pada input kecil atau hampir terurut
  4. DAlgoritma rekursif tidak dapat menangani array di bawah 10 elemen
10.Algoritma & kompleksitasSulit

Mengapa binary search tidak menghasilkan waktu O(log n) pada singly linked list?

  1. APerbandingan pada node linked list lebih lambat
  2. BLinked list tidak dapat diurutkan
  3. CMencapai elemen tengah memerlukan O(n) langkah, karena tidak ada akses indeks langsung
  4. DBinary search memerlukan setidaknya dua kali lipat memori
11.Struktur dataSedang

Circular buffer (ring buffer) umumnya digunakan untuk mengimplementasikan:

  1. AFungsi hash
  2. BTraversal graf
  3. CQueue berukuran tetap
  4. DBinary search tree
12.Struktur dataSulit

Kompleksitas waktu decrease-key pada binary heap (jika posisi elemen diketahui) adalah:

  1. AO(1)
  2. BO(n)
  3. CO(n log n)
  4. DO(log n)
13.Teori grafSedang

Sebuah graf terhubung memiliki 14 simpul dan 22 sisi. Berapa sisi k yang harus dihapus agar tersisa pohon rentang?

|V| = 14|E| = 22
k =
14.Teori grafSulit
71115123918164ABCDEFG

Algoritma Prim membangun pohon rentang minimum mulai dari simpul E. Klik sisi yang ditambahkannya sebagai sisi nomor 3.

awal: Ek = 3
  1. 1sisi AB
  2. 2sisi AC
  3. 3sisi BC
  4. 4sisi CE
  5. 5sisi DF
  6. 6sisi EF
  7. 7sisi GB
  8. 8sisi GC
  9. 9sisi GD
15.Basis data & SQLSedang

Apa yang dikembalikan oleh SELECT COALESCE(phone, 'unknown') FROM customers untuk pelanggan yang phone-nya NULL?

  1. AError
  2. BString kosong
  3. C'unknown'
  4. DNULL
16.Basis data & SQLSulit

Apa yang dikembalikan oleh SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?

  1. ASetiap baris karyawan beserta rata-rata gaji departemennya
  2. BError karena name tidak ada di GROUP BY
  3. CSatu baris per departemen dengan rata-rata gajinya
  4. DHanya karyawan yang bergaji di atas rata-rata departemennya
17.Jaringan komputerSedang

Apa perbedaan utama antara metode HTTP GET dan POST?

  1. AGET menghapus sumber daya, POST membacanya dari basis data server
  2. BGET mengambil sumber daya, POST mengirim data dalam body permintaan
  3. CGET terenkripsi, POST tidak
  4. DGET menggunakan UDP, POST menggunakan TCP
18.Jaringan komputerSulit

Apa yang dilakukan TCP fast retransmit?

  1. AMelewati three-way handshake saat menyambung kembali ke host yang dikenal, sehingga data dikirim ulang lebih cepat
  2. BMenggandakan window setelah setiap kehilangan
  3. CMengirim ulang segmen setelah tiga ACK duplikat, tanpa menunggu timeout
  4. DMengirim ulang setiap segmen dua kali demi keamanan
19.Subnetting IPv4Sedang
/24 → /3011111111111111111111111111111100bit jaringanbit host

Jaringan 10.199.1.0/24 dibagi menjadi subnet-subnet yang sama dengan prefiks /30. Berapa jumlah subnet N?

10.199.1.0/24/30
N =
20.Subnetting IPv4Sulit
oktet terakhir = 95012816403211618141211jaringanhost

Sebuah host memiliki alamat 10.20.41.95/28. Berapa angka terakhir (oktet keempat) x dari alamat broadcast subnetnya?

10.20.41.95/28
x =

3Larutan

1.Sistem bilangan

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.

Jumlahkan nilai posisi

Bit lainnya tetap bernilai positif seperti biasa.

−128 + 64 + 4 + 2 = −58

Jawaban

N = −58
2.Sistem bilangan

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.

Bit demi bit

Menggeser ke kanan sebanyak 3 memindahkan setiap bit 3 tempat ke kanan; bit yang keluar dari ujung kanan hilang dan nol masuk dari kiri.

0011 1111 >> 3
= 0000 0111

Nilai hasil

0000 0111₂ = 7

Jawaban

R = 7
3.Logika proposisional & pembuktian

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.

Tabel kebenaran baris demi baris

a = 1, b = 1, c = 1: ¬c = 0, a ∨ ¬c = 1, ¬(a ∨ ¬c) = 0, b ∧ a = 1, (b ∧ a) ∨ b = 1, ¬((b ∧ a) ∨ b) = 0, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 0
a = 1, b = 1, c = 0: ¬c = 1, a ∨ ¬c = 1, ¬(a ∨ ¬c) = 0, b ∧ a = 1, (b ∧ a) ∨ b = 1, ¬((b ∧ a) ∨ b) = 0, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 0
a = 1, b = 0, c = 1: ¬c = 0, a ∨ ¬c = 1, ¬(a ∨ ¬c) = 0, b ∧ a = 0, (b ∧ a) ∨ b = 0, ¬((b ∧ a) ∨ b) = 1, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 1
a = 1, b = 0, c = 0: ¬c = 1, a ∨ ¬c = 1, ¬(a ∨ ¬c) = 0, b ∧ a = 0, (b ∧ a) ∨ b = 0, ¬((b ∧ a) ∨ b) = 1, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 1
a = 0, b = 1, c = 1: ¬c = 0, a ∨ ¬c = 0, ¬(a ∨ ¬c) = 1, b ∧ a = 0, (b ∧ a) ∨ b = 1, ¬((b ∧ a) ∨ b) = 0, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 1
a = 0, b = 1, c = 0: ¬c = 1, a ∨ ¬c = 1, ¬(a ∨ ¬c) = 0, b ∧ a = 0, (b ∧ a) ∨ b = 1, ¬((b ∧ a) ∨ b) = 0, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 0
a = 0, b = 0, c = 1: ¬c = 0, a ∨ ¬c = 0, ¬(a ∨ ¬c) = 1, b ∧ a = 0, (b ∧ a) ∨ b = 0, ¬((b ∧ a) ∨ b) = 1, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 1
a = 0, b = 0, c = 0: ¬c = 1, a ∨ ¬c = 1, ¬(a ∨ ¬c) = 0, b ∧ a = 0, (b ∧ a) ∨ b = 0, ¬((b ∧ a) ∨ b) = 1, ¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b) = 1

Hitung baris bernilai 1

¬(a ∨ ¬c) ∨ ¬((b ∧ a) ∨ b): 0, 0, 1, 1, 1, 0, 1, 1
N = 5

Jawaban

N = 5
4.Logika proposisional & pembuktian

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.

Pindahkan negasi ke dalam

¬∃x (P(x) ∧ Q(x)) ≡ ∀x (P(x) → ¬Q(x))

Jawaban

∀x (P(x) → ¬Q(x))

Pilihan lain mempertahankan kuantor tanpa perubahan, mengubah urutan kuantor, atau menegasikan rumus di dalam dengan salah.

5.Logika digital: gerbang, peta-K & flip-flop

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.

Tetangga setiap angka 1

Angka 1 dengan tetangga angka 1 dapat bergabung dalam kelompok dua atau lebih.

m11: m10, m9, m15, m3 → 0
ABCD00011110000111101111111

Angka 1 yang terisolasi

m11 = AB′CD → AB = 10, CD = 11

Jawaban

AB = 10, CD = 11
6.Logika digital: gerbang, peta-K & flip-flop

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.

Keadaan setelah setiap tepi

1010 → 0101 → 1010 → 0101 → 1010 → 0101 → 1010

Nilai desimal

1010₂ = 10

Jawaban

Q = 10
7.Teori bilangan & aritmetika modular

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).

Kongruensi pertama

x = 5 + 9k

Kongruensi kedua

5 + 9k ≡ 10 (mod 13) → 9k ≡ 5 (mod 13)
k ≡ 3·5 ≡ 2 (mod 13)

Hasil

x = 5 + 9·2 = 23
x = 23
periksa: 23 mod 9 = 5, 23 mod 13 = 10

Jawaban

x = 23
8.Teori bilangan & aritmetika modular

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.

Pengkuadratan berulang

23 = 16 + 4 + 2 + 1
901 ≡ 90 (mod 203)
902 ≡ 183 (mod 203)
904 ≡ 197 (mod 203)
908 ≡ 36 (mod 203)
9016 ≡ 78 (mod 203)
9023 ≡ 90·183·197·78 ≡ 153 (mod 203)

Teks sandi

c = 153

Jawaban

c = 153
9.Algoritma & kompleksitas

Jawaban: C · Insertion sort memiliki overhead kecil dan cepat pada input kecil atau hampir terurut

Mengapa ini jawabannya

Untuk n kecil, loop sederhana insertion sort mengalahkan overhead rekursi quicksort atau merge sort, meskipun O(n²).

Jawaban

C · Insertion sort memiliki overhead kecil dan cepat pada input kecil atau hampir terurut
10.Algoritma & kompleksitas

Jawaban: C · Mencapai elemen tengah memerlukan O(n) langkah, karena tidak ada akses indeks langsung

Mengapa ini jawabannya

Binary search memerlukan akses O(1) ke elemen tengah; pada linked list, berjalan ke sana memerlukan waktu linear, sehingga totalnya O(n).

Jawaban

C · Mencapai elemen tengah memerlukan O(n) langkah, karena tidak ada akses indeks langsung
11.Struktur data

Jawaban: C · Queue berukuran tetap

Mengapa ini jawabannya

Ring buffer menggunakan indeks head dan tail yang berputar kembali, sehingga enqueue dan dequeue berlangsung O(1) dengan memori tetap.

Jawaban

C · Queue berukuran tetap
12.Struktur data

Jawaban: D · O(log n)

Mengapa ini jawabannya

Setelah kunci diturunkan, elemen bergeser ke atas (sift up) paling banyak setinggi heap. Fibonacci heap mencapai decrease-key teramortisasi O(1).

Jawaban

D · O(log n)
13.Teori graf

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.

Sisi pohon rentang

14 − 1 = 13

Sisi yang dihapus

k = 22 − 13 = 9

Jawaban

k = 9
14.Teori graf

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.

Algoritma Prim

1. EF (9)
2. DF (3)
3. GD (4)
4. CE (12)
5. AC (11)
6. AB (7)

sisi nomor 3

GD

Jawaban

sisi GD
15.Basis data & SQL

Jawaban: C · 'unknown'

Mengapa ini jawabannya

COALESCE memeriksa argumennya dari kiri ke kanan dan mengembalikan yang pertama tidak NULL, di sini 'unknown'.

Jawaban

C · 'unknown'
16.Basis data & SQL

Jawaban: A · Setiap baris karyawan beserta rata-rata gaji departemennya

Mengapa ini jawabannya

Berbeda dengan GROUP BY, window function mempertahankan setiap baris masukan dan menambahkan nilai yang dihitung atas partisinya, di sini departemen.

Jawaban

A · Setiap baris karyawan beserta rata-rata gaji departemennya
17.Jaringan komputer

Jawaban: B · GET mengambil sumber daya, POST mengirim data dalam body permintaan

Mengapa ini jawabannya

GET meminta sumber daya dan tidak boleh mengubah status server. POST mengirim data, seperti formulir, dalam body untuk diproses server.

Jawaban

B · GET mengambil sumber daya, POST mengirim data dalam body permintaan
18.Jaringan komputer

Jawaban: C · Mengirim ulang segmen setelah tiga ACK duplikat, tanpa menunggu timeout

Mengapa ini jawabannya

Tiga ACK duplikat sangat menunjukkan satu segmen hilang, sehingga TCP langsung mentransmisikannya ulang. Pemulihan ini jauh lebih cepat daripada menunggu timer retransmisi.

Jawaban

C · Mengirim ulang segmen setelah tiga ACK duplikat, tanpa menunggu timeout
19.Subnetting IPv4

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).

Bit pinjaman

30 − 24 = 6

Jumlah subnet

N = 26 = 64

Jawaban

N = 64

Setiap subnet /30 memiliki 22 − 2 = 2 host yang dapat dipakai.

20.Subnetting IPv4

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).

Ukuran blok

24 = 16

Subnet host ini

jaringan: ⌊95/16⌋·16 = 80
broadcast: 80 + 16 − 1 = 95
host yang dapat dipakai: 81 … 94

Jawaban

x = 95

ExamProblems · examproblems.com/courses/computer-science-fundamentals