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
Komplemen dua 8-bit?−128?64?32?16?8?4?2?1

Tulis −21 sebagai pola komplemen dua 8-bit. Baca pola itu sebagai bilangan biner tak bertanda: berapa nilainya U dalam desimal?

N = −218 bit
U =
2.Sistem bilanganSulit
komplemen dua 32-bit, N = ??tanda???????????????????????????????

Berapa bilangan bulat terkecil (paling negatif) N yang dapat disimpan dalam komplemen dua 32-bit?

32 bit
N =
3.Logika proposisional & pembuktianSedang
abc¬a¬b ∧ ¬a((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a)111?110?101?100?011?010?001?000?

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

((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a)
N =
4.Logika proposisional & pembuktianSulit

Berapa dari 16 baris tabel kebenaran yang membuat ¬(a → (d ↔ ¬a)) ∨ ((c ∧ ¬b) → ¬(b ∨ d)) benar? Sebut bilangan ini N.

¬(a → (d ↔ ¬a)) ∨ ((c ∧ ¬b) → ¬(b ∨ d))
N =
5.Logika digital: gerbang, peta-K & flip-flopSedang
ABCD000111100001111000110312140507061121131150140809011010

Pakai peta Karnaugh untuk mencari bentuk jumlah dari hasil kali (SOP) minimal dari F(A, B, C, D) = Σm(1, 2, 4, 12, 13, 15). Berapa suku hasil kali N yang dimilikinya?

F(A, B, C, D) = Σm(1, 2, 4, 12, 13, 15)
N =
6.Logika digital: gerbang, peta-K & flip-flopSulit
CLKJK12345678

Flip-flop JK yang dipicu tepi positif dimulai dengan Q = 0 dan menerima masukan yang ditunjukkan pada 8 tepi naik clock. Berapa kali N Q berubah keadaan?

Q₀ = 0JK
N =
7.Teori bilangan & aritmetika modularSedang

Carilah invers 58 modulo 97: bilangan x dengan 0 < x < 97 dan 58·x ≡ 1 (mod 97).

a = 58n = 97
58−1 mod 97 =
8.Teori bilangan & aritmetika modularSulit
mc = me​ mod n668m = cd​ mod n?(n, e) = (1517, 23)d

Sebuah kunci RSA memakai p = 37, q = 41, dan e = 23. Dekripsikan teks sandi c = 668: carilah pesan m.

p = 37q = 41e = 23c = 668
m =
9.Algoritma & kompleksitasSedang

Rekurens T(n) = T(n − 1) + O(1) menghasilkan apa?

  1. AO(2ⁿ)
  2. BO(n²)
  3. CO(n)
  4. DO(log n)
10.Algoritma & kompleksitasSulit

Berapa waktu eksekusi algoritma Dijkstra dengan binary heap pada graf dengan V simpul dan E sisi?

  1. AO(V + E)
  2. BO(V × E)
  3. CO((V + E) log V)
  4. DO(V³)
11.Struktur dataSedang

Berapa biaya menyisipkan elemen di tengah array berisi n elemen?

  1. AO(n), karena elemen-elemen sesudahnya harus digeser
  2. BO(log n), karena binary search
  3. CO(n²), karena setiap elemen bergeser n kali
  4. DO(1), karena indeksnya diketahui
12.Struktur dataSulit

Fenwick tree (binary indexed tree) atas array berisi n bilangan mendukung operasi apa dalam O(log n)?

  1. AKueri prefix sum dan pembaruan satu elemen
  2. BMengurutkan array dan binary search
  3. CMenyisipkan elemen di posisi mana pun
  4. DMencari median dalam O(1)
13.Teori grafSedang
ABCDEFGSirkuit EulerLintasan Euler, bukan sirkuitbukan keduanya

Apakah graf terhubung ini memiliki sirkuit Euler, lintasan Euler yang bukan sirkuit, atau bukan keduanya? Klik jawaban Anda.

|V| = 7|E| = 8
  1. 1Sirkuit Euler
  2. 2Lintasan Euler, bukan sirkuit
  3. 3bukan keduanya
14.Teori grafSulit
12151451541045ABCDEFG

Algoritma Dijkstra berjalan dari A. Klik simpul yang ditetapkan (dijadikan permanen) pada putaran 6; A sendiri adalah putaran 1.

awal: Aputaran 6
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
  7. 7G
15.Basis data & SQLSedang

Mahasiswa dapat mengambil banyak mata kuliah dan mata kuliah memiliki banyak mahasiswa. Bagaimana hal ini dimodelkan dalam tabel?

  1. ADengan menggabungkan students dan courses menjadi satu tabel
  2. BDengan daftar id mata kuliah yang disimpan dalam satu kolom
  3. CDengan tabel penghubung (junction table) yang memuat kunci asing ke students dan courses
  4. DDengan kolom kunci asing course_id di tabel students yang merujuk ke courses
16.Basis data & SQLSulit

Sebuah tabel memiliki sejuta baris dan kolom Boolean is_active yang bernilai TRUE untuk 95% baris. Mengapa optimizer mungkin mengabaikan indeks pada is_active untuk WHERE is_active = TRUE?

  1. ASebagian besar baris cocok, sehingga full table scan lebih murah daripada banyak pencarian indeks
  2. BTRUE diperlakukan sebagai NULL oleh indeks
  3. COptimizer tidak pernah menggunakan indeks dalam klausa WHERE
  4. DIndeks tidak dapat dibuat pada kolom Boolean
17.Jaringan komputerSedang

HTTP bersifat stateless. Bagaimana situs web biasanya membuat pengguna tetap login di antara permintaan?

  1. ADengan menyimpan kata sandi di URL
  2. BDengan cookie yang menyimpan pengenal sesi atau token
  3. CDengan membiarkan koneksi TCP terbuka selama berhari-hari
  4. DDengan memberikan alamat IP tetap kepada setiap pengguna
18.Jaringan komputerSulit

Setelah tabrakan berulang, stasiun Ethernet klasik memilih waktu tunggunya dari rentang yang berlipat dua setiap kali. Mengapa?

  1. AUntuk menyinkronkan semua stasiun ke satu jam
  2. BUntuk menurunkan peluang bertabrakan lagi ketika banyak stasiun bersaing
  3. CUntuk memberi prioritas kepada stasiun dengan alamat MAC tertinggi pada kabel bersama
  4. DUntuk membuat kabel membawa sinyal lebih jauh
19.Subnetting IPv4Sedang
255.255.252.011111111111111111111110000000000bit jaringanbit host

Sebuah subnet memakai mask 255.255.252.0. Berapa alamat host yang dapat dipakai H?

255.255.252.0
H =
20.Subnetting IPv4Sulit

Jaringan 192.168.88.0/24 dibagi dengan VLSM untuk LAN berikut: A: 6 host, B: 11 host, C: 43 host, D: 98 host. Subnet dialokasikan dari .0 ke atas, LAN dengan host terbanyak lebih dulu, masing-masing dengan subnet terkecil yang cukup. Berapa oktet keempat x alamat jaringan LAN A?

A: 6B: 11C: 43D: 98
x =

3Larutan

1.Sistem bilangan

Jawaban: U = 235

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.

Balik dan tambah satu

21 = 0001 0101
dibalik: 1110 1010
+1 → 1110 1011

Baca sebagai tak bertanda

1110 1011₂ = 256 − 21 = 235

Jawaban

U = 235
2.Sistem bilangan

Jawaban: N = −2,147 × 10⁹

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.

Nilai paling negatif

−231 = −2147483648

Jawaban

N = −2147483648
3.Logika proposisional & pembuktian

Jawaban: N = 4

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: ¬b = 0, ¬b → c = 1, ¬c = 0, (¬b → c) ↔ ¬c = 0, ¬a = 0, ¬b ∧ ¬a = 0, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 0
a = 1, b = 1, c = 0: ¬b = 0, ¬b → c = 1, ¬c = 1, (¬b → c) ↔ ¬c = 1, ¬a = 0, ¬b ∧ ¬a = 0, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 1
a = 1, b = 0, c = 1: ¬b = 1, ¬b → c = 1, ¬c = 0, (¬b → c) ↔ ¬c = 0, ¬a = 0, ¬b ∧ ¬a = 0, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 0
a = 1, b = 0, c = 0: ¬b = 1, ¬b → c = 0, ¬c = 1, (¬b → c) ↔ ¬c = 0, ¬a = 0, ¬b ∧ ¬a = 0, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 0
a = 0, b = 1, c = 1: ¬b = 0, ¬b → c = 1, ¬c = 0, (¬b → c) ↔ ¬c = 0, ¬a = 1, ¬b ∧ ¬a = 0, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 0
a = 0, b = 1, c = 0: ¬b = 0, ¬b → c = 1, ¬c = 1, (¬b → c) ↔ ¬c = 1, ¬a = 1, ¬b ∧ ¬a = 0, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 1
a = 0, b = 0, c = 1: ¬b = 1, ¬b → c = 1, ¬c = 0, (¬b → c) ↔ ¬c = 0, ¬a = 1, ¬b ∧ ¬a = 1, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 1
a = 0, b = 0, c = 0: ¬b = 1, ¬b → c = 0, ¬c = 1, (¬b → c) ↔ ¬c = 0, ¬a = 1, ¬b ∧ ¬a = 1, ((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a) = 1

Hitung baris bernilai 1

((¬b → c) ↔ ¬c) ∨ (¬b ∧ ¬a): 0, 1, 0, 0, 0, 1, 1, 1
N = 4

Jawaban

N = 4
4.Logika proposisional & pembuktian

Jawaban: N = 15

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.

Kolom

¬a; d ↔ ¬a; a → (d ↔ ¬a); ¬(a → (d ↔ ¬a)); ¬b; c ∧ ¬b; b ∨ d; ¬(b ∨ d); (c ∧ ¬b) → ¬(b ∨ d); ¬(a → (d ↔ ¬a)) ∨ ((c ∧ ¬b) → ¬(b ∨ d))

Bagi menurut a

a = 1: 8
a = 0: 7
N = 8 + 7 = 15

Jawaban

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

Jawaban: N = 4

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.

ABCD000111100001111000110312140507061121131150140809011010

Kelompokkan angka 1

Setiap kelompok adalah persegi panjang berisi 2ᵏ sel; sel di tepi bertetangga dengan sel di tepi seberangnya.

BC′D′
ABD
A′B′C′D
A′B′CD′

Bentuk SOP minimal

F = BC′D′ + ABD + A′B′C′D + A′B′CD′
N = 4

Jawaban

N = 4
6.Logika digital: gerbang, peta-K & flip-flop

Jawaban: N = 2

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.

Q setelah setiap tepi

Flip-flop JK: 00 bertahan, 01 reset (Q = 0), 10 set (Q = 1), 11 berbalik.

1: J = 0, K = 0 → Q = 0
2: J = 0, K = 1 → Q = 0
3: J = 0, K = 0 → Q = 0
4: J = 1, K = 0 → Q = 1
5: J = 0, K = 1 → Q = 0
6: J = 0, K = 0 → Q = 0
7: J = 0, K = 1 → Q = 0
8: J = 0, K = 0 → Q = 0

Hitung perubahannya

0 → 0 → 0 → 0 → 1 → 0 → 0 → 0 → 0
N = 2

Jawaban

N = 2
7.Teori bilangan & aritmetika modular

Jawaban: 58−1 mod 97 = 92

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

Algoritma Euclid yang diperluas

Setiap sisa r ditulis sebagai r ≡ t·58 (mod 97).

r = 97, t = 0
r = 58, q = 1, t = 1
r = 39, q = 1, t = −1
r = 19, q = 2, t = 2
r = 1, q = 19, t = −5

Invers

1 ≡ −5·58 (mod 97)
x = 92
periksa: 58·92 = 5336 = 55·97 + 1

Jawaban

58−1 mod 97 = 92
8.Teori bilangan & aritmetika modular

Jawaban: m = 309

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.

Eksponen privat

n = 1517, φ(n) = 1440
d = 23−1 mod 1440 = 1127

Dekripsi dengan pengkuadratan berulang

1127 = 1024 + 64 + 32 + 4 + 2 + 1
6681 ≡ 668 (mod 1517)
6682 ≡ 226 (mod 1517)
6684 ≡ 1015 (mod 1517)
6688 ≡ 182 (mod 1517)
66816 ≡ 1267 (mod 1517)
66832 ≡ 303 (mod 1517)
66864 ≡ 789 (mod 1517)
668128 ≡ 551 (mod 1517)
668256 ≡ 201 (mod 1517)
668512 ≡ 959 (mod 1517)
6681024 ≡ 379 (mod 1517)
6681127 ≡ 668·226·1015·303·789·379 ≡ 309 (mod 1517)

Pesan

m = 309
periksa: 30923 mod 1517 = 668

Jawaban

m = 309
9.Algoritma & kompleksitas

Jawaban: C · O(n)

Mengapa ini jawabannya

Ada n tingkat dengan kerja konstan masing-masing, seperti pada penjumlahan array secara rekursif.

Jawaban

C · O(n)
10.Algoritma & kompleksitas

Jawaban: C · O((V + E) log V)

Mengapa ini jawabannya

Ada V operasi extract-min dan sampai E operasi decrease-key, masing-masing O(log V); Fibonacci heap memperbaikinya menjadi O(E + V log V).

Jawaban

C · O((V + E) log V)
11.Struktur data

Jawaban: A · O(n), karena elemen-elemen sesudahnya harus digeser

Mengapa ini jawabannya

Semua elemen setelah titik penyisipan bergeser satu posisi ke kanan, yang memerlukan waktu sebanding dengan n.

Jawaban

A · O(n), karena elemen-elemen sesudahnya harus digeser
12.Struktur data

Jawaban: A · Kueri prefix sum dan pembaruan satu elemen

Mengapa ini jawabannya

Fenwick tree menyimpan jumlah parsial atas rentang yang ditentukan oleh bit-bit rendah setiap indeks, sehingga prefix sum maupun pembaruan titik memerlukan O(log n).

Jawaban

A · Kueri prefix sum dan pembaruan satu elemen
13.Teori graf

Jawaban: bukan keduanya

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.

Derajat

deg(A) = 1, deg(B) = 3, deg(C) = 2, deg(D) = 2, deg(E) = 4, deg(F) = 1, deg(G) = 3

Simpul ganjil

A, B, F, G → 4
bukan keduanya

Jawaban

bukan keduanya
14.Teori graf

Jawaban: E

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.

Dijkstra putaran demi putaran

1. A (0): B: 1, C: 2
2. B (1): D: 6, G: 5
3. C (2): E: 16
4. G (5): E: 10
5. D (6)
6. E (10): F: 25
7. F (25)

putaran 6

E

Jawaban

E
15.Basis data & SQL

Jawaban: C · Dengan tabel penghubung (junction table) yang memuat kunci asing ke students dan courses

Mengapa ini jawabannya

Relasi many-to-many memerlukan tabel asosiatif (penghubung), misalnya enrolment(student_id, course_id), sering dengan kunci primer komposit.

Jawaban

C · Dengan tabel penghubung (junction table) yang memuat kunci asing ke students dan courses
16.Basis data & SQL

Jawaban: A · Sebagian besar baris cocok, sehingga full table scan lebih murah daripada banyak pencarian indeks

Mengapa ini jawabannya

Indeks membantu ketika mempersempit pencarian ke sedikit baris; ketika sebagian besar baris memenuhi syarat, pencarian indeks acak lebih mahal daripada membaca tabel secara berurutan.

Jawaban

A · Sebagian besar baris cocok, sehingga full table scan lebih murah daripada banyak pencarian indeks
17.Jaringan komputer

Jawaban: B · Dengan cookie yang menyimpan pengenal sesi atau token

Mengapa ini jawabannya

Server menetapkan cookie berisi ID sesi atau token, dan browser mengembalikannya pada setiap permintaan sehingga server dapat mengenali pengguna.

Jawaban

B · Dengan cookie yang menyimpan pengenal sesi atau token
18.Jaringan komputer

Jawaban: B · Untuk menurunkan peluang bertabrakan lagi ketika banyak stasiun bersaing

Mengapa ini jawabannya

Setiap tabrakan berikutnya menunjukkan persaingan yang lebih tinggi, sehingga rentang acak membesar dan stasiun lebih mungkin memilih slot yang berbeda. Mekanisme ini menyesuaikan diri dengan beban tanpa kendali pusat.

Jawaban

B · Untuk menurunkan peluang bertabrakan lagi ketika banyak stasiun bersaing
19.Subnetting IPv4

Jawaban: H = 1022

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

Panjang prefiks

255.255.252.0 = /22

Host yang dapat dipakai

210 − 2 = 1022

Jawaban

H = 1022
20.Subnetting IPv4

Jawaban: x = 208

VLSM: setiap LAN mendapat subnet terkecil dengan 2ʰ − 2 ≥ jumlah host-nya, yaitu prefiks 32 − h. Mengalokasikan subnet terbesar lebih dulu membuat setiap blok sejajar pada kelipatan ukurannya sendiri, sehingga alamat jaringan diperoleh dengan menjumlahkan ukuran blok.

Ukuran blok per LAN

D: 98 host → 27 = 128 (/25)
C: 43 host → 26 = 64 (/26)
B: 11 host → 24 = 16 (/28)
A: 6 host → 23 = 8 (/29)

Alokasi, terbesar lebih dulu

D: .0 – .127
C: .128 – .191
B: .192 – .207
A: .208 – .215

Jawaban

x = 208

LAN A: 192.168.88.208/29.

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