Hafizh Hilman Asyhari 202331206 Organisasi & Arsitektur Komputer: Pondasi Perhitungan Digital TUGAS 2

Halo sobat Statistikawan dan Animator kembali bersama Hafizh Hilman Asyhari di blog saya. 

Aku mau memperkenalkan diriku jadi saya Hafizh Hilman Asyhari sebagai mahasiswa S1 Teknik Informatika dengan NIM 202331206 dari Kelas A Organisasi dan Arsitektur Komputer, iyeeeey!!


 1. Pendahuluan

Di era digital saat ini, komputer merupakan perangkat inti dalam hampir semua aspek kehidupan. Di balik kemampuan komputer yang luar biasa, terdapat dua konsep penting yang menjadi pondasi: arsitektur komputer dan organisasi komputer. Kedua hal ini memastikan bahwa komputer dapat menerima instruksi, memproses data, dan menghasilkan keluaran dengan efisien.

Perkembangan teknologi komputer sejak pertengahan abad ke-20 hingga sekarang telah mengubah cara manusia bekerja, belajar, dan berinteraksi. Dari komputer generasi pertama yang hanya mampu melakukan perhitungan sederhana, hingga komputer masa kini yang sanggup menjalankan miliaran instruksi per detik, kemajuan ini tidak terlepas dari pemahaman mendalam terhadap arsitektur dan organisasi komputer. Dengan memahami kedua konsep tersebut, kita dapat mengetahui bagaimana perangkat keras (hardware) dan perangkat lunak (software) bekerja sama membentuk suatu sistem yang terintegrasi.

    Arsitektur komputer berbicara mengenai desain konseptual dari sebuah komputer. Ia mendefinisikan komponen apa saja yang harus ada dan bagaimana komponen tersebut dapat berinteraksi secara logis. Misalnya, bagaimana prosesor menjalankan set instruksi (ISA), bagaimana data direpresentasikan dalam memori, serta bagaimana mekanisme komunikasi antar bagian diatur. Sementara itu, organisasi komputer lebih menekankan pada implementasi fisik dari arsitektur tersebut. Ia membahas detail teknis mengenai rangkaian elektronik, teknologi memori yang digunakan, hingga cara sinyal-sinyal kontrol dikirimkan agar operasi berjalan sesuai desain.

    Pentingnya memahami arsitektur dan organisasi komputer tidak hanya terbatas pada kalangan teknisi atau insinyur. Siapapun yang bekerja di bidang teknologi informasi, pengembangan perangkat lunak, bahkan di bidang bisnis yang menggunakan teknologi secara intensif, akan diuntungkan jika memiliki pemahaman mendasar tentang cara kerja komputer. Dengan memahami arsitektur komputer, seorang programmer misalnya, dapat menulis kode yang lebih efisien karena tahu bagaimana instruksi dijalankan oleh prosesor. Demikian juga dengan pemahaman organisasi komputer, seorang administrator jaringan dapat memahami alasan mengapa bottleneck atau keterlambatan terjadi pada sistem tertentu, lalu menemukan cara yang tepat untuk mengoptimalkannya.

    Selain itu, konsep arsitektur dan organisasi komputer juga menjadi dasar dalam mempelajari sistem bilangan. Komputer hanya mengenal dua keadaan logika: 0 dan 1. Oleh karena itu, semua informasi yang kita masukkan ke dalam komputer harus diubah ke dalam bentuk biner agar dapat diproses. Pemahaman sistem bilangan biner, oktal, desimal, dan heksadesimal serta cara konversinya merupakan kunci awal untuk menguasai operasi perhitungan digital. Misalnya, ketika kita menginput angka 100 di komputer, sebenarnya angka tersebut akan diubah menjadi representasi biner 1100100 sebelum diproses lebih lanjut.

    Lebih jauh lagi, pemahaman arsitektur komputer memungkinkan kita memahami bagaimana komputer melakukan operasi aritmatika dan logika. Operasi-operasi dasar seperti penjumlahan, pengurangan, perkalian, dan pembagian bilangan biner adalah inti dari semua pemrosesan data. Bahkan operasi yang terlihat kompleks seperti enkripsi data atau pemrosesan grafik, pada dasarnya dibangun dari operasi dasar ini yang dilakukan secara masif dan berulang.

Seiring berkembangnya kebutuhan komputasi, muncul berbagai inovasi untuk meningkatkan kecepatan dan efisiensi. Salah satunya adalah penerapan algoritma Booth dalam operasi perkalian bilangan biner, yang dibahas lebih lanjut pada materi organisasi komputer. Algoritma ini dirancang untuk mempercepat proses perkalian bilangan bertanda, terutama dalam arsitektur yang menggunakan representasi komplemen dua.

    Pemahaman tentang arsitektur dan organisasi komputer juga memiliki implikasi pada aspek keamanan dan keandalan sistem. Dengan mengenali bagaimana data disimpan di memori, bagaimana sinyal kontrol bekerja, atau bagaimana prosesor menangani interupsi, kita dapat mendesain sistem yang lebih tahan terhadap gangguan atau serangan. Misalnya, pengetahuan ini membantu dalam merancang sistem redundansi untuk mencegah kehilangan data atau meminimalkan dampak ketika terjadi kerusakan perangkat keras.

    Secara keseluruhan, pendahuluan ini menekankan bahwa arsitektur dan organisasi komputer bukan hanya sekadar teori yang dipelajari di ruang kuliah, melainkan fondasi nyata yang membentuk dasar dari semua teknologi yang kita gunakan. Pemahaman yang baik tentang topik ini membuka wawasan lebih luas tentang mengapa komputer mampu melakukan hal-hal yang selama ini kita anggap biasa. Kita akan mampu melihat bahwa di balik tampilan antarmuka yang sederhana, ada rangkaian logika dan komponen yang bekerja dengan presisi tinggi untuk memberikan hasil yang kita butuhkan.

    Dengan latar belakang tersebut, bab-bab selanjutnya akan membahas lebih detail mengenai bagaimana sistem bilangan bekerja di dalam komputer, bagaimana operasi aritmatika biner dilaksanakan, hingga bagaimana algoritma canggih seperti Booth digunakan untuk mendukung pemrosesan data yang cepat dan efisien.


2. Arsitektur vs Organisasi Komputer

2.1. Arsitektur Komputer

Arsitektur komputer berkaitan dengan perancangan sistem komputer secara konseptual. Ini mencakup penentuan set instruksi (ISA - Instruction Set Architecture), arsitektur mikro, dan komponen perangkat keras yang mendukungnya.
Contoh ruang lingkup arsitektur:

  • Bagaimana CPU mengeksekusi instruksi.

  • Spesifikasi register, ALU (Arithmetic Logic Unit), dan mekanisme interupsi.

  • Bagaimana data diwakili dalam sistem (biner, oktal, heksadesimal).

Arsitektur menentukan “apa yang harus dilakukan komputer”

    Selain memperkenalkan konsep dasar arsitektur dan organisasi komputer, penting juga memahami konteks sejarah yang membentuk kemajuan teknologi ini. Pada awalnya, komputer hanya digunakan untuk keperluan militer dan penelitian ilmiah, seperti yang dilakukan pada masa Perang Dunia II dengan mesin-mesin elektromechanical dan tabung vakum. Namun seiring dengan kemajuan teknologi transistor pada era 1950-an, komputer menjadi lebih kecil, cepat, dan efisien sehingga bisa digunakan di berbagai bidang industri. Pada era modern, perkembangan mikroprosesor memungkinkan komputer hadir dalam bentuk yang semakin portabel dan terjangkau. Hal ini membuka pintu bagi revolusi teknologi informasi yang memengaruhi seluruh aspek kehidupan manusia.

    Kemajuan teknologi komputer juga mendorong lahirnya berbagai arsitektur prosesor yang berbeda-beda. Sebagai contoh, ada arsitektur RISC (Reduced Instruction Set Computing) yang menekankan pada instruksi sederhana dengan eksekusi cepat, serta arsitektur CISC (Complex Instruction Set Computing) yang mendukung instruksi yang lebih kompleks. Pemahaman terhadap perbedaan arsitektur ini penting karena berdampak pada cara software dikembangkan dan dioptimalkan. Misalnya, sistem berbasis arsitektur RISC seperti prosesor ARM yang banyak dipakai pada smartphone mengutamakan efisiensi energi, sementara prosesor x86 dengan arsitektur CISC lebih sering digunakan pada komputer desktop atau server yang memerlukan performa tinggi.

    Sementara itu, organisasi komputer juga terus berkembang seiring kebutuhan yang semakin kompleks. Pada masa lalu, pengelolaan memori dilakukan secara sederhana dengan satu jenis memori utama. Namun kini ada berbagai level memori seperti cache, memori utama (RAM), dan penyimpanan sekunder (SSD/HDD) yang bekerja bersama untuk memastikan data dapat diakses dengan cepat sesuai kebutuhan. Bahkan teknologi seperti virtual memory memungkinkan komputer untuk menggunakan sebagian kapasitas penyimpanan sekunder sebagai memori tambahan ketika memori utama penuh. Semua ini merupakan implementasi dari konsep organisasi komputer yang dirancang untuk memaksimalkan kinerja.

    Penting juga memahami bahwa komputer modern tidak hanya menjalankan satu program dalam satu waktu. Melalui konsep multitasking dan multiprocessing, sistem operasi dapat membagi waktu pemrosesan di antara berbagai aplikasi sehingga pengguna dapat menjalankan beberapa pekerjaan sekaligus. Hal ini memerlukan koordinasi yang rumit antara perangkat keras dan perangkat lunak. Di sinilah pemahaman arsitektur dan organisasi komputer menjadi krusial, karena tanpa desain yang matang, komputer tidak akan mampu menangani beban kerja yang beragam dengan stabil dan efisien.

    Selanjutnya, pemahaman tentang sistem bilangan yang digunakan dalam komputer tidak bisa dilepaskan dari konsep arsitektur dan organisasi komputer. Sistem bilangan biner adalah dasar dari semua operasi yang terjadi di dalam komputer. Namun dalam praktiknya, kita juga sering menggunakan sistem bilangan lain seperti oktal dan heksadesimal untuk mempermudah penulisan angka-angka biner yang panjang. Memahami cara konversi antar sistem bilangan ini akan memudahkan kita untuk membaca, menganalisis, dan memahami bagaimana data direpresentasikan di tingkat mesin.

    Sebagai contoh, angka desimal 255 dapat dituliskan dalam biner sebagai 11111111, dalam oktal sebagai 377, dan dalam heksadesimal sebagai FF. Seorang teknisi komputer yang terbiasa membaca data dalam format heksadesimal dapat lebih cepat menemukan pola atau kesalahan dalam aliran data dibandingkan jika harus membaca angka biner yang panjang. Dengan kata lain, sistem bilangan yang berbeda adalah alat bantu yang mempermudah manusia dalam berinteraksi dengan komputer.

    Pemahaman sistem bilangan ini juga menjadi pintu masuk untuk mempelajari operasi aritmatika digital. Penjumlahan, pengurangan, perkalian, dan pembagian bilangan biner merupakan dasar dari semua proses komputasi. Setiap kali komputer menjalankan sebuah instruksi, ia sebenarnya sedang melakukan operasi logika dan aritmatika di tingkat biner. Bahkan proses yang tampak rumit seperti pengolahan gambar atau pemutaran video, pada dasarnya dibangun dari operasi dasar ini yang dijalankan dalam jumlah besar dan kecepatan tinggi.

    Salah satu algoritma yang penting dipelajari dalam konteks ini adalah Algoritma Booth. Algoritma ini digunakan untuk melakukan perkalian bilangan biner bertanda dengan cara yang lebih efisien. Dibandingkan dengan metode perkalian biasa, Algoritma Booth dapat mengurangi jumlah operasi yang diperlukan karena memanfaatkan pola bit pada bilangan yang dikalikan. Ini menunjukkan bagaimana pengetahuan arsitektur dan organisasi komputer dapat melahirkan inovasi yang meningkatkan performa perangkat keras.

    Selain aspek teknis, pemahaman arsitektur dan organisasi komputer juga berdampak pada keamanan sistem. Misalnya, dengan mengetahui bagaimana data disimpan di memori dan bagaimana prosesor menangani interupsi, kita dapat merancang sistem yang lebih tahan terhadap serangan. Banyak jenis serangan keamanan, seperti buffer overflow, memanfaatkan kelemahan dalam pengelolaan memori. Dengan pemahaman yang baik tentang organisasi komputer, kita dapat mengantisipasi dan menutup celah keamanan tersebut sebelum dimanfaatkan pihak yang tidak bertanggung jawab.

    Lebih jauh lagi, pemahaman ini dapat membantu dalam merancang sistem yang andal. Dalam banyak aplikasi kritis seperti penerbangan, kesehatan, dan industri energi, komputer yang digunakan harus tetap berfungsi bahkan ketika terjadi kesalahan atau kerusakan pada salah satu komponen. Desain organisasi komputer memungkinkan penerapan teknik redundansi, yaitu penggunaan komponen cadangan yang secara otomatis mengambil alih ketika komponen utama gagal. Dengan demikian, sistem tetap dapat beroperasi tanpa gangguan yang signifikan.

    Tidak kalah penting adalah aspek efisiensi energi. Komputer modern, terutama yang digunakan pada skala besar seperti pusat data, mengonsumsi energi dalam jumlah yang sangat besar. Dengan merancang arsitektur dan organisasi komputer yang efisien, kita dapat mengurangi konsumsi energi sekaligus meningkatkan kinerja. Inilah salah satu alasan mengapa banyak perusahaan teknologi berlomba-lomba mengembangkan prosesor dengan teknologi fabrikasi yang lebih kecil dan arsitektur yang lebih hemat daya.

    Dari semua pembahasan ini, dapat disimpulkan bahwa pemahaman mendalam tentang arsitektur dan organisasi komputer tidak hanya bermanfaat bagi teknisi atau akademisi, tetapi juga bagi siapa saja yang terlibat dalam penggunaan teknologi. Pengetahuan ini memungkinkan kita untuk mengambil keputusan yang lebih tepat dalam memilih, menggunakan, dan mengembangkan perangkat teknologi. Selain itu, pemahaman ini juga dapat membuka peluang karier di bidang desain perangkat keras, pengembangan perangkat lunak sistem, keamanan siber, dan banyak bidang lainnya yang memerlukan wawasan teknis mendalam tentang cara kerja komputer.

    Dengan landasan pemahaman yang kuat, kita akan lebih siap untuk mempelajari bab-bab berikutnya yang membahas lebih detail mengenai sistem bilangan, operasi aritmatika digital, serta algoritma canggih seperti Booth. Setiap konsep baru yang akan dipelajari nantinya, baik itu terkait konversi antar basis bilangan, penjumlahan dan pengurangan bilangan biner, hingga cara komputer menangani bilangan negatif dan positif, semuanya berakar dari pemahaman mendasar tentang arsitektur dan organisasi komputer yang telah kita bahas di bagian ini.

2.2. Organisasi Komputer

Organisasi komputer lebih ke arah implementasi. Ia membahas bagaimana komponen arsitektur dihubungkan dan bekerja sama.
Contoh ruang lingkup organisasi:

  • Teknologi perangkat keras (misalnya jenis memori).

  • Sistem interkoneksi antar komponen.

  • Sinyal kontrol yang memastikan sinkronisasi data.

  • Interface antara CPU dan perangkat eksternal.

Organisasi menentukan “bagaimana komputer melaksanakan arsitekturnya”.

Sistem Bilangan dalam Komputer

Seperti yang sudah disinggung sebelumnya, komputer hanya mengenal dua keadaan logika yaitu 0 dan 1. Dua nilai ini direpresentasikan dalam bentuk sinyal listrik (tegangan rendah = 0 dan tegangan tinggi = 1). Karena itu, komputer bekerja menggunakan sistem bilangan biner (basis 2). Namun, untuk mempermudah interaksi manusia dengan komputer, kita menggunakan sistem bilangan lain seperti desimal (basis 10), oktal (basis 8), dan heksadesimal (basis 16).

Memahami sistem bilangan adalah kunci penting untuk memahami bagaimana data disimpan, diolah, dan ditransmisikan dalam komputer. Mari kita bahas satu per satu:

3.1. Sistem Bilangan Desimal

Sistem bilangan desimal adalah sistem yang paling kita kenal dalam kehidupan sehari-hari. Basisnya adalah 10 dengan digit dari 0 sampai 9. Setiap posisi angka memiliki nilai tempat yang merupakan pangkat dari 10.

Contoh:

25410=(2×102)+(5×101)+(4×100)=200+50+4


3.2. Sistem Bilangan Biner

Sistem biner memiliki basis 2 dengan digit hanya 0 dan 1. Setiap posisi angka mewakili pangkat dari 2.

Contoh:

11012=(1×23)+(1×22)+(0×21)+(1×20)=8+4+0+1=13101101_2 = (1 × 2^3) + (1 × 2^2) + (0 × 2^1) + (1 × 2^0) = 8 + 4 + 0 + 1 = 13_{10}

Sistem biner inilah yang digunakan komputer untuk melakukan semua proses komputasi.

3.3. Sistem Bilangan Oktal

Sistem bilangan oktal memiliki basis 8 dengan digit dari 0 sampai 7. Sistem ini mempermudah representasi bilangan biner karena setiap 3 bit biner dapat direpresentasikan oleh satu digit oktal.

Contoh:

1101102=(110)2(110)2=6868=668110110_2 = (110)_2 (110)_2 = 6_8 6_8 = 66_8

3. Two’s Complement (komplemen dua): standar de facto karena hanya satu nol, penjumlahan/pengurangan disatukan, dan perangkat keras menjadi sederhana. Untuk menegasikan: komplemen semua bit lalu tambah 1.

Implikasi praktis: operasi aritmatika bertanda di ALU diasumsikan two’s complement, sehingga konsep sign extension (memperluas lebar bit dengan memperbanyak bit tanda) menjadi krusial ketika memindahkan nilai ke register yang lebih lebar.


Overflow, Carry, dan Borrow.

Dalam aritmetika biner terbatas 

𝑛

n-bit, hasil dapat melampaui rentang representasi.


Carry muncul pada penjumlahan tak bertanda (unsigned) ketika ada limpahan dari bit MSB.


Overflow untuk bilangan bertanda terjadi saat hasil secara matematis keluar dari rentang 

[−2𝑛−1,2𝑛−1−1][−2 n−1 ,2 n−1 −1].


Borrow relevan pada pengurangan.

Implikasi: bit status CPU (flag) seperti CF (carry flag) dan OF (overflow flag) memandu instruksi bersyarat dan memengaruhi algoritma (misalnya pada multipresisi).

Peran Oktal & Heksadesimal.

Oktal sering historis dipakai pada sistem yang “berpikir” per 3 bit (mis. arsitektur lama, representasi permission Unix: rwx = 3 bit).

Heksadesimal sangat populer untuk debugging, melihat memori, alamat, dan kode mesin, karena setiap digit hex memetakan tepat 4 bit. Warna RGB di web (#RRGGBB) juga memanfaatkan hex.

Implikasi: teknisi lebih cepat membaca pola bit, mask, dan alamat bila ditulis heksadesimal dibanding biner panjang.


Bitwise, Shift, dan ALU.

Operasi bitwise (AND, OR, XOR, NOT) bekerja per bit dan menjadi dasar pembuatan mask, pengecekan flag, dan manipulasi field pada register.


Shift logis (SHL/SHR) menggeser dan mengisi dengan nol; berguna untuk operasi cepat ×2 atau ÷2 pada unsigned.


Shift aritmetis (SAR) mempertahankan bit tanda untuk bilangan bertanda.


Rotasi (ROL/ROR) memutar bit, dipakai di kriptografi/codec tertentu.

Implikasi: pemahaman perbedaan shift logis vs aritmetis mencegah kesalahan pada angka negatif dan operasi skala.


Endianness (Urutan Byte).

Representasi di memori pada arsitektur little-endian menaruh byte paling rendah di alamat terendah; big-endian sebaliknya.

Implikasi: saat membaca file biner, berkomunikasi antarsistem, atau melakukan cast/pointer di bahasa level rendah, salah asumsi endianness bisa merusak data. Banyak protokol jaringan mendefinisikan network byte order (umumnya big-endian) untuk konsistensi.


Penjajaran (Alignment) & Layout Memori.

Banyak arsitektur mensyaratkan data 16/32/64-bit disimpan pada alamat yang merupakan kelipatan panjangnya.

Implikasi: akses yang tidak terjajar (misaligned) bisa lebih lambat atau bahkan memicu fault. Pemahaman ini penting saat mendesain struktur data, buffer, dan antarmuka perangkat keras.


Representasi Karakter & Data Non-Numerik.

Meskipun fokus pada angka, sistem bilangan juga mendasari encoding karakter: ASCII (7-bit), UTF-8/UTF-16 untuk Unicode.

Implikasi: memilih encoding yang tepat mencegah korupsi teks multibahasa; debugging sering memerlukan melihat kode titik (code point) dalam hex.


Floating-Point (Pecahan Mengambang).

Untuk rentang dinamis yang luas, komputer memakai floating-point (mis. IEEE 754): nilai ≈ ±(1.𝑓)×2𝑒±(1.f)×2 e  dengan mantissa (significand) dan eksponen.

Normalisasi menjaga presisi;

Pembulatan (rounding) tak terelakkan untuk angka yang tak representabel tepat;

Ada kondisi overflow (terlalu besar), underflow (terlalu kecil), NaN, dan ±∞.

Implikasi: perhitungan ilmiah harus sadar kesalahan pembulatan dan stabilitas numerik. Membandingkan floating-point harus menggunakan toleransi (epsilon), bukan kesamaan persis.

Format Tetap (Fixed-Point).

Untuk sistem tertanam/keuangan, fixed-point sering dipakai demi determinisme dan efisiensi, menyimpan angka sebagai bilangan bulat yang diinterpretasikan dengan skala tetap (mis. Qm.n).

Implikasi: menghindari biaya floating-point dan mengontrol presisi, tetapi butuh disiplin penanganan skala dan overflow.

Konsekuensi pada Desain Instruksi (ISA).

Banyak instruksi menyediakan literal/immediate dalam hex, instruksi khusus bit test/set/clear, serta operasi popcount, leading/trailing zeros.

Implikasi: pemahaman basis dan operasi bit membuka optimisasi tingkat rendah (mis. menggunakan bitmask vs operasi aritmatika berat).

Keamanan & Reliabilitas.

Kesalahan konversi, overflow, atau salah tafsir signed/unsigned dapat menjadi celah (contoh: integer overflow → buffer overflow).

Implikasi: validasi rentang, pemeriksaan flag overflow/carry, dan pemilihan tipe data yang benar adalah bagian dari defensive programming.

Praktik Debugging & Observabilitas.

Saat menganalisis dump memori, register, atau log instruksi, menampilkan nilai dalam hex mempercepat penemuan pola, batas halaman, dan tanda-tanda kesalahan (mis. 0x00000000, 0xFFFFFFFF adalah sentinel khas).

Implikasi: alat debugging (disassembler, monitor memori) hampir selalu default ke heksadesimal karena padat dan langsung memetakan ke bit.

Aplikasi Nyata Oktal/Hex.

UNIX permissions: chmod 755 adalah tiga digit oktal yang mewakili tiga set 3-bit (rwx).

Warna digital: #FFAA00 memetakan ke tiga byte RGB.

Alamat & opcode: representasi hex memudahkan menautkan ke arsitektur instruksi.

Ringkasnya:

Prinsip: positional notation, konversi berbasis pembagian & perkalian, pengelompokan bit (3/4), dan pemetaan signed (two’s complement).

Implikasi: akurasi floating-point, overflow/underflow, endianness, alignment, keamanan, performa ALU, dan kemudahan debugging.

Dengan menguasai prinsip-prinsip ini, Anda tidak hanya bisa mengonversi bilangan, tetapi juga memaknai bagaimana angka hidup di dalam komputer: dari level bit di register hingga perilaku program pada arsitektur nyata.

Komentar