Latihan Contoh Soal Mode Pengalamatan Beserta Penjelasan Step by Step

Dalam dunia arsitektur komputer, memahami bagaimana CPU mengakses data adalah kunci utama bagi setiap programmer tingkat rendah maupun teknisi sistem. Mode Pengalamatan (Addressing Modes) adalah teknik yang digunakan oleh instruksi bahasa rakitan (assembly) untuk menentukan alamat operan yang akan diproses.

Tanpa penguasaan yang kuat pada bagian ini, Anda akan kesulitan memahami bagaimana memori dikelola atau bagaimana optimasi kode dilakukan di tingkat perangkat keras. Artikel ini akan menyajikan latihan soal mendalam mulai dari tingkat dasar hingga kompleks.

baca juga:Kumpulan Contoh Soal UM UPN Yogyakarta dan Pembahasan Terlengkap 2026


Apa Itu Mode Pengalamatan?

Sebelum masuk ke contoh soal, mari kita segarkan ingatan sejenak. Mode pengalamatan mendefinisikan aturan untuk menginterpretasikan atau memodifikasi bidang alamat (address field) dari instruksi sebelum operan benar-benar dieksekusi.

Tujuannya ada dua:

🔖 Baca juga:
Menembus Batas Hafalan Kumpulan Soal Geografi HOTS (Higher Order Thinking Skills) untuk Analisis Fenomena Krusial
  1. Mengurangi jumlah bit yang digunakan dalam bidang alamat.
  2. Memberikan fleksibilitas kepada pengguna dalam menangani variabel, array, dan struktur data lainnya.

Kumpulan Contoh Soal dan Pembahasan Step-by-Step

Mari kita asumsikan sebuah lingkungan komputer hipotesis dengan karakteristik berikut untuk soal-soal di bawah ini:

  • Register R1 berisi nilai $1000$.
  • Alamat Memori 1000 berisi nilai $500$.
  • Alamat Memori 500 berisi nilai $200$.
  • PC (Program Counter) saat ini berada di $2000$.

1. Mode Pengalamatan Segera (Immediate Addressing)

Soal:

Tentukan nilai akhir dari register tujuan jika diberikan instruksi: MOV R2, #45.

Langkah Penyelesaian:

  1. Identifikasi simbol #. Dalam bahasa assembly, simbol ini biasanya menandakan nilai immediate.
  2. Lihat nilai yang menyertainya, yaitu $45$.
  3. Dalam mode ini, operan adalah bagian dari instruksi itu sendiri. Tidak perlu mencari ke memori atau register lain.
  4. Hasil: Register R2 sekarang berisi nilai 45.

2. Mode Pengalamatan Langsung (Direct Addressing)

Soal:

Berapakah nilai yang dimuat ke dalam akumulator jika instruksinya adalah LOAD 1000?

Langkah Penyelesaian:

  1. Instruksi LOAD 1000 berarti “Ambil data yang berada di alamat memori 1000”.
  2. Cek data pada tabel asumsi kita: Alamat 1000 menyimpan nilai $500$.
  3. CPU akan pergi ke alamat 1000 dan mengambil angka yang tersimpan di sana.
  4. Hasil: Nilai yang dimuat adalah 500.

3. Mode Pengalamatan Tak Langsung (Indirect Addressing)

Soal:

Tentukan hasil dari instruksi LOAD [1000] atau LOAD (1000).

Langkah Penyelesaian:

  1. Simbol kurung [] menandakan bahwa nilai di dalam kurung bukanlah data akhir, melainkan “alamat dari alamat”.
  2. Step 1: Pergi ke alamat 1000. Di sana ditemukan nilai $500$.
  3. Step 2: Gunakan nilai $500$ tersebut sebagai alamat baru. Pergi ke alamat 500.
  4. Step 3: Lihat isi dari alamat 500, yaitu $200$.
  5. Hasil: Nilai yang dimuat adalah 200.

4. Mode Pengalamatan Register (Register Addressing)

Soal:

Jika instruksinya adalah ADD R1, R2 (dengan asumsi R2 berisi 50), apa yang terjadi?

Langkah Penyelesaian:

  1. Operan berada di dalam register, bukan di memori utama.
  2. Ambil nilai dari R1 ($1000$) dan R2 ($50$).
  3. Lakukan operasi penjumlahan: $1000 + 50 = 1050$.
  4. Simpan kembali ke R1.
  5. Hasil: R1 kini bernilai 1050. Mode ini sangat cepat karena tidak membutuhkan akses bus memori.

5. Mode Pengalamatan Tak Langsung Register (Register Indirect)

Soal:

Hitung hasil dari LOAD (R1).

Langkah Penyelesaian:

  1. Lihat isi R1. Dari asumsi awal, R1 berisi $1000$.
  2. Gunakan nilai $1000$ sebagai alamat memori.
  3. Pergi ke alamat memori 1000 dan ambil datanya.
  4. Isi alamat 1000 adalah $500$.
  5. Hasil: Nilai yang diambil adalah 500.

Perbandingan Kecepatan dan Penggunaan

Untuk membantu Anda memilih mode mana yang paling tepat dalam pemrograman atau menjawab soal ujian, berikut tabel ringkasnya:

Mode PengalamatanKecepatanAkses MemoriKegunaan Utama
ImmediateSangat Cepat0Inisialisasi konstanta
RegisterSangat Cepat0Manipulasi variabel sementara
DirectLambat1Mengakses variabel global
IndirectSangat Lambat2Pointer dan passing parameter
Register IndirectSedang1Iterasi array/list

Contoh Soal Kompleks: Mode Pengalamatan Relatif (PC Relative)

Mode ini sering muncul dalam soal ujian sertifikasi komputer.

Soal:

Instruksi JUMP +5 berada di alamat memori $2000$. Jika setiap instruksi berukuran 1 word, ke alamat berapakah program akan melompat?

Langkah Penyelesaian:

  1. Tentukan alamat instruksi saat ini (PC): $2000$.
  2. Biasanya, saat instruksi dibaca, PC akan otomatis menunjuk ke instruksi berikutnya ($2000 + 1 = 2001$).
  3. Tambahkan nilai offset/relatifnya: $2001 + 5 = 2006$.
  4. Hasil: Program akan melompat ke alamat 2006.

baca juga:Dosen dan Mahasiswa Universitas Teknokrat Indonesia Kampus Terbaik di Lampung Raih Penghargaan Paten Kemenkum RI atas Inovasi Komposter Cerdas


Kesimpulan

Memahami mode pengalamatan adalah tentang memahami “peta jalan” yang dilalui data sebelum sampai ke prosesor. Latihan soal di atas menunjukkan bahwa setiap simbol (seperti #, (), atau nama register) mengubah cara CPU memandang sebuah angka.

Tips Belajar:

  • Immediate = Datanya ada di sana.
  • Direct = Datanya ada di alamat itu.
  • Indirect = Alamat itu menyimpan alamat data.
  • Register = Gunakan kotak register, jangan ke memori.

penulis:putra

Post Comment