Arsitektur dan Organisasi Komputer - Pertemuan 5

Pada pertemuan ini mahasiswa diharapkan mampu memahami bagaimana data dan instruksi direpresentasikan oleh komputer.


on Kam, 03/30/2023 - 16:49
1.255 View

Pertemuan Ke - 5

CPMK

:

- Mampu memahami bagaimana data dan instruksi direpresentasikan oleh komputer.

Sub-CPMK

:

- Mampu memahami bagaimana data bilangan, teks, suara, gambar, dan instruksi direpresentasikan oleh komputer.

- Mampu memahami bagaimana komputer menentukan jenis data berdasarkan konteks.

Topik/Bahan Kajian

:

Representasi Data dalam Komputer

Strategi/Metode/Model/

Teknik/ Tahapan Pembelajaran

:

Team learning, 4 orang per kelompok untuk mempelajari topik dan menghasilkan kesimpulan dalam bentuk yang siap dipresentasikan. Diakhir sesi, dosen memberikan tambahan umpan balik.

Pelaksanaan Pembelajaran

:

Luring, 2 x 50 Menit

Referensi

:

https://narin.co.id/artikel/arsitektur-dan-organisasi-komputer-pertemua…

Tugas & Evaluasi

:

Presentasi berkelompok diikuti dengan tanya jawab dua arah, dari pendengar ke presenter dan sebaliknya. Dosen bertindak sebagai moderator yang menyimpulkan hasil diskusi, menambahkan, dan mencatat nilai.

Bagaimana Komputer Merepresentasikan Data?

Kita semua pasti pernah merasa dan memikirkan bagaimana komputer melakukan hal-hal yang tampaknya ajaib dengan berbagai jenis suara, gambar, grafik, angka, dan teks. Tampaknya kita dapat membangun replika dari bagian dunia nyata kita di dalam komputer. Kamu mungkin berpikir bahwa mesin yang luar biasa ini juga sangat rumit, tapi sebenarnya tidak rumit-rumit amat. Faktanya, semua hal multimedia luar biasa yang kita lihat di komputer modern itu sebenarnya terbentuk dari kombinasi sakelar ON/OFF sederhana – yang jumlahnya jutaan hingga triliunan – meski jumlahnya fantastis, sungguh cara kerjanya hanya seperti cara kerja sakelar yang hanya bisa dihidupmatikan. Triknya adalah, mengambil semua data suara, gambar, angka, dll di dunia nyata yang kita inginkan ke komputer dan mengubahnya menjadi jenis data yang dapat direpresentasikan dalam format sakelar (format ON/OFF), seperti yang ditunjukkan pada Gambar 1.

Representasi Data Dunia Nyata di Komputer
Representasi Data Dunia Nyata di Komputer

Gambar 1. Representasi Data Dunia Nyata di Komputer

Komputer Adalah Mesin Elektronik

Untuk pemrosesan dan penyimpanan datanya, komputer menggunakan listrik, bukan bagian yang berbentuk mekanis seperti mesin kendaraan sepeda motor. Listrik berlimpah, bergerak sangat cepat melalui kabel, dan komponen elektronik lebih jarang gagal daripada komponen mekanis yang kadang harus sering-sering ganti oli. Komputer memang memiliki beberapa bagian mekanis, seperti disk drive (yang sering menjadi sumber kegagalan komputer), tetapi pemrosesan dan penyimpanan data internal bersifat elektronik, yang cepat dan andal (dapat dioperasikan selama ada listrik). 

Listrik dapat mengalir dan diatur melalui sakelar: jika sakelar ditutup/disambung, listrik mengalir; jika saklar terbuka/diputus, listrik tidak mengalir. Untuk memproses data dunia nyata di komputer, kita membutuhkan cara untuk merepresentasikan data dalam format putus nyambung seperti sakelar tersebut. Komputer melakukan representasi ini menggunakan sistem pengkodean yang dinamakan sistem pengkodean biner yang bentuknya 0 atau 1, true atau false, hidup atau mati, benar atau salah, dan bentuk-bentuak dualitas lainnya.

Sakelar dan Sistem Bilangan Biner

Biner adalah salah satu sistem bilangan matematika: simpelnya, biner adalah cara menghitung dengan basis dua (bi = dua, misal bilingual; ;dua bahasa). Kita semua telah belajar menghitung menggunakan sepuluh digit: 0-9. Salah satu alasan yang mungkin adalah bahwa kita memiliki sepuluh jari untuk mewakili angka. Komputer memiliki sakelar untuk mewakili data atau angka, dan sudah bisa ditebak, kalau sakelar hanya memiliki dua status: jika tidak ON ya OFF. Biner memiliki dua digit untuk melakukan penghitungan: 0 dan 1 - kecocokan alami dengan dua status sakelar (0 = OFF, 1 = ON). 

Seperti yang dapat kita baca pada artikel di Internet tentang sejarah komputer, evolusi tentang teknologi bagaimana sakelar dibuat membuat komputer lebih cepat, lebih murah, dan lebih kecil. Awalnya, implementasi sakelar pada komputer menggunakan tabung vakum, seukuran ibu jari manusia. Pada tahun 1950-an transistor ditemukan (dan penemunya memenangkan Hadiah Nobel). Teknologi transistor memungkinkan sakelar bisa dibuat lebih kecil lagi, seukuran kuku jari manusia. Pengembangan sirkuit terpadu (IC / Chip / Integrated Circuit) pada 1960-an memungkinkan jutaan transistor dibuat pada chip silikon - yang memungkinkan disematkannya jutaan sakelar pada sesuatu yang hanya seukuran kuku jari.

Bit dan Bytes

Satu digit biner (0 atau 1) disebut sebagai bit, yang merupakan kependekan dari digit biner / binary digit. Dengan demikian, satu bit dapat diimplementasikan oleh satu sakelar, seperti yang ditunjukkan pada Gambar 2:

Satu bit dapat direpresentasikan sebagai satu buah saklar yang kondisinya antara ON atau OFF.
Satu bit dapat direpresentasikan sebagai satu buah saklar yang kondisinya antara ON atau OFF.

Gambar 2. Satu bit dapat direpresentasikan sebagai satu buah saklar yang kondisinya antara ON atau OFF.

Pada Tabel 1, kita bisa melihat jika bit-bit dapat dikelompokan bersama menjadi potongan yang lebih besar untuk merepresentasikan data. Untuk beberapa alasan yang tidak kita bahas di sini, perancang komputer menggunakan potongan delapan bit yang disebut byte sebagai unit dasar data. Sebuah byte diimplementasikan dengan delapan sakelar seperti yang ditunjukkan pada Gambar 3.

Tabel 2. Notasi Biner dan Jumlah Bit

Notasi BinerJumlah Bit
01 bit
11 bit
01104 bit
011010118 bit
Implementasi Satu Byte dengan Seklar-Sekelar
Implementasi Satu Byte dengan Seklar-Sekelar

Implementasi Satu Byte dengan Seklar-Sekelar

Pabrikan komputer menyatakan kapasitas memori dan penyimpanan dalam satuan jumlah byte yang dapat ditampungnya. Jumlah byte dapat dinyatakan sebagai kilobyte. Kilo mewakili 2 pangkat sepuluh, atau 1024. Kilobyte disingkat KB, atau hanya K. (Kadangkadang K digunakan dengan santai untuk berarti 1000, seperti dalam "Saya memperoleh $30K tahun lalu.") Satu kilobyte adalah 1024 byte, bukan 1000 byte. Dengan demikian, memori komputer 640K dapat menyimpan 640x1024, atau 655.360 byte. Kapasitas memori juga dapat dinyatakan dalam megabyte (1024x1024 byte). Satu megabyte, disingkat MB, berarti, kira-kira, satu juta byte. Dengan perangkat penyimpanan, produsen terkadang menyatakan jumlah memori dalam gigabyte (disingkat GB); gigabyte kira-kira satu miliar byte (1024x1024x1024 byte). Memori di komputer pribadi yang lebih tua mungkin hanya menampung 640K byte; di mesin yang lebih baru, memori dapat menampung mulai dari 1MB hingga 32MB dan lebih banyak lagi hingga 64 GB. Memori mainframe dapat menampung ratusan gigabyte. Hard disk modern menampung hingga terabyte. Detail satuan data terlihat pada Tabel 2.

Tabel 2. Daftar Satuan Data

UnitShortenedCapacity
Bitb1 or 0 (on or off)
ByteB8 bits
KilobyteKB1024 bytes
MegabyteMB1024 Kilobyte
GigabyteGB1024 Megabyte
TerabyteTB1024 Gigabyte
PetabytePB1024 Terabyte
ExabyteEB1024 Petabyte
ZettabyteZB1024 Exabyte
YottabyteYB1024 Zettabyte

Merepresentasikan Data Dalam Bytes

Berikut adalah hal penting yang perlu diingat: 

Satu byte dapat mewakili berbagai jenis data. Data apa yang sebenarnya diwakilinya tergantung pada bagaimana komputer menggunakan byte tersebut.

Sebagai contoh, sebuah byte 01000011 dapat merepresenasikan bilangan bulat (integer) 67, karakter ‘C’, tingkat desibel ke-67 untuk bagian dari suara, tingkat kegelapan ke-67 untuk titik pixel dalam sebuah gambar, instruksi ke komputer seperti "pindah ke memori", dan juga berbagai jenis data lainnya.

Integers

Bilangan bulat/integer direpresentasikan dengan menghitung dalam biner. 
Pikirkan sejenak bagaimana kita menghitung dalam desimal. Kita mulai dengan 0 dan setiap hal baru yang kita hitung, kita bergerak ke angka desimal berikutnya. Ketika kita mencapai akhir angka desimal (9), kita menggunakan dua angka untuk menghitung dengan meletakkan satu angka di "tempat puluhan" dan kemudian memulai dari awal lagi menggunakan 10 angka kita. Jadi, angka desimal 10 adalah 1 di "tempat puluhan" dan nol di "satuan". Sebelas adalah 1 di "tempat puluhan" dan 1 di "tempat satuan". Dan seterusnya. Jika kita membutuhkan tiga digit, seperti 158, kita menggunakan digit ketiga di "tempat seratus". Ada tiga tempat di sini, tempat satuan, puluhan, ratusan, dan seterusnya. 
Kita juga melakukan hal yang sama untuk menghitung dalam biner – bedanya hanya sekarang kita hanya memiliki dua digit: 0 dan 1. Jadi kita mulai dengan 0, lalu 1, lalu kita kehabisan angka, jadi kita perlu menggunakan dua digit untuk terus menghitung. Kita melakukan ini dengan menempatkan 1 di "tempat dua" dan kemudian menggunakan dua digit kita. Jadi angka dua dalam biner adalah 10, yaitu:  1 di "tempat dua" dan 0 adalah "tempat satu". Contoh lain, tiga adalah 11, yaitu: 1 di "tempat dua" dan 1 di "tempat satu". Kita kehabisan angka lagi! Jadi, empat adalah 100: satu di "tempat empat", 0 di "tempat dua", 0 di "tempat satu". 
"Tempat" apa yang kita gunakan tergantung pada sistem penghitungan. Dalam sistem desimal, yang juga disebut Basis 10, kita menggunakan kekuatan 10. Sepuluh pangkat nol adalah 1, jadi penghitungan dimulai di "tempat satu". Sepuluh pangkat satu adalah 10, jadi penghitungan berlanjut di "tempat sepuluh". Sepuluh pangkat dua (10 kuadrat) adalah 100, jadi kita melanjutkan di "tempat seratus". Dan seterusnya. Biner adalah Basis 3. Jadi, "tempat" adalah  dua pangkat nol ("tempat satu"),  dua pangkat satu ("tempat dua"), dua pangkat dua ("tempat empat"), dua pangkat ketiga ("tempat delapan"), dan seterusnya. 
Ketika kita melihat satu byte, bit paling kanan adalah "tempatnya yang paling awal, alias dua pangkat nol, alias 1". Bagian berikutnya adalah "tempat dua". Berikutnya "tempat empat", berikutnya lagi "tempat delapan" dan seterusnya. Jadi, ketika kita mengatakan sebuah byte: 01000011 artinya adalah merepresentasikan bilangan desimal integer 67, kita mendapatkannya dengan menambahkan 1 di "tempat satu" dan 1 di "tempat dua" dan 1 di "tempat 64" (dua pangkat 6 adalah 64). Jumlahkan 1+2+64= 67. Bilangan bulat terbesar yang dapat direpresentasikan dalam satu byte adalah: 11111111,  yaitu 128+64+32+16+8+4+2+1 = 255. Jadi, bilangan bulat desimal terbesar yang dapat kita simpan dalam satu byte adalah 255. Komputer menggunakan beberapa byte bersama-sama untuk menyimpan bilangan bulat yang lebih besar. Tabel 3 berikut menunjukkan beberapa penghitungan desimal ke biner:

Contoh Perhitungan Desimal ke Biner
Contoh Perhitungan Desimal ke Biner

Tabel 3. Contoh Perhitungan Desimal ke Biner

Karakter

Komputer juga menggunakan satu byte untuk mewakili satu karakter. Tapi yang jadi pertanyaan, bagaimana kita tahu jika suatu karakter itu mewakili set bit apa? Secara teori kita masing-masing dapat membuat definisi kita sendiri, menyatakan pola bit tertentu untuk mewakili karakter tertentu. Tak perlu dikatakan, ini sama praktisnya dengan setiap orang yang berbicara dalam bahasa khusus mereka sendiri. Namun, karena kita perlu berkomunikasi dengan komputer, dan komputer pun berkomunikasi satu sama lain, sudah sepantasnya kita menggunakan skema umum yang berstandar internasional untuk representasi data. Artinya, harus ada kesepakatan tentang kelompok bit mana yang mewakili karakter mana.

Kode yang disebut ASCII (diucapkan "AS-key"), yang merupakan singkatan dari American Standard Code for Information Interchange, menggunakan 7 bit untuk setiap karakter. Karena hanya ada tepat 128 kombinasi unik dari 7 bit (2^7), kode 7-bit ini hanya dapat mewakili karakter. Versi yang lebih umum adalah ASCII-8, juga disebut ASCII yang diperluas (extended), yang menggunakan 8 bit per karakter dan dapat mewakili 256 karakter berbeda. Misalnya, huruf A diwakili oleh 01000001. Representasi ASCII telah diadopsi sebagai standar oleh pemerintah AS dan ditemukan di berbagai komputer, terutama komputer mini dan mikrokomputer. Tabel 4 berikut menunjukkan bagian dari kode ASCII-8. Perhatikan bahwa byte: 01000011 adalah merepresentasikan karakter ‘C’.

Kode ASCII-8
Kode ASCII-8

Kode ASCII-8

Jadi, ketika kamu mengetik 'C' pada keyboard, sirkuit pada keyboard dan di komputer mengubah 'C' menjadi byte: 01000011 dan menyimpan huruf tersebut dalam memori komputer serta menginstruksikan monitor untuk menampilkannya. Gambar 4 (a)  menunjukkan konversi ke ASCII dan (b) menunjukkan byte yang melewati prosesor komputer ke memori.

(a) Konversi ke ASCII, (b) byte yang melewati prosesor komputer ke memori
(a) Konversi ke ASCII, (b) byte yang melewati prosesor komputer ke memori

Gambar 4. (a) Konversi ke ASCII, (b) byte yang melewati prosesor komputer ke memori

Jika orang tersebut mengetik kata "CAB", itu akan diwakili oleh tiga byte berikut (Tabel 5) di memori komputer (anggap saja sebagai tiga baris dari delapan sakelar dalam memori yang ON atau OFF):

Contoh Representasi Huruf di Memori Komputer
Contoh Representasi Huruf di Memori Komputer

Contoh Representasi Huruf di Memori Komputer

Data Gambar dan Grafis

Kamu mungkin pernah melihat foto-foto yang dizoom, atau ditampilkan dari dekat - Kita dapat melihat bahwa foto-foto itu adalah kotak-kotak besar dari titik-titik berwarna. Data grafik komputer seperti gambar, bingkai film, grafis, atau bingkai animasi diwakili oleh kisi piksel. "Pixel" adalah kependekan dari elemen gambar (picture element). Dalam grafis sederhana (tanpa banyak warna), satu byte dapat mewakili satu piksel. Dalam representasi grafis yang disebut skala abu-abu (greyscale), setiap piksel adalah bayangan abu-abu dari hitam di satu titik ekstrem hingga putih di sisi lain. Karena delapan byte dapat menampung 256 bilangan bulat berbeda (0-255 seperti yang dijelaskan beberapa paragraf yang lalu), sebuah piksel dalam satu byte dapat berupa salah satu dari 256 warna abu-abu (biasanya dengan 0 putih dan 255 hitam). Video game modern dan grafik warna-warni menggunakan beberapa byte untuk setiap piksel (Nintendo 64 menggunakan delapan byte = 64 bit untuk setiap piksel untuk mendapatkan banyak kemungkinan warna). Sebuah foto scan atau gambar komputer dengan demikian disimpan sebagai ribuan byte - dan setiap byte, atau kumpulan byte, yang mewakili piksel. Hal ini ditunjukkan pada Gambar 5.

Kita sudah tahu bahwa produsen komputer berkumpul dan menyetujui bagaimana standar karakter akan direpresentasikan (kode ASCII). Untuk grafis, ada beberapa standar atau format yang serupa. Dua format gambar yang umum digunakan di Internet adalah JPEG dan GIF. Ini, seperti ASCII, adalah pengkodean piksel yang disepakati bersama dalam byte.

Ilustrasi Kumpulan Pixel dalam Sebuah Gambar yang diperbesar
Ilustrasi Kumpulan Pixel dalam Sebuah Gambar yang diperbesar

Gambar 5. Ilustrasi Kumpulan Pixel dalam Sebuah Gambar yang diperbesar

Data Suara Sebagai Byte

Suara terjadi secara alami berbentuk sebagai gelombang analog, seperti yang ditunjukkan pada Gambar 6. Kebanyakan speaker elektronik saat ini, alat yang kita gunakan untuk mereproduksi suara secara elektronik, juga menghasilkan gelombang analog. Namun, seperti yang telah kita lihat, semua data di komputer adalah digital dan harus diproses dalam byte. Proses pengambilan data analog, seperti suara, dan menjadikannya digital disebut konversi analog ke digital (analog to digital conversion  / ADC). Banyak CD musik dari rekaman analog asli lama pada kaset diubah menjadi digital untuk ditempatkan pada CD (CD adalah digital; itu hanya kumpulan bit dengan lubang kecil yang dibakar di CD yang mewakili 1 dan tidak ada lubang yang mewakili 0 ). CD musik saat ini memiliki konversi analog ke digital yang diproses dalam peralatan rekaman itu sendiri, yang menghasilkan konversi yang lebih baik.

Untuk mengubah gelombang analog menjadi digital, konverter menggunakan proses yang disebut sampling. Mereka mengambil sampel ketinggian gelombang suara pada interval waktu yang teratur, umumnya sepersekian detik. Jika satu byte digunakan untuk menampung satu sampel gelombang analog, maka gelombang tersebut dapat berupa salah satu dari 256 ketinggian yang berbeda (0 menjadi yang terendah dan 255 menjadi tertinggi). Ketinggian ini mewakili tingkat desibel suara. Jadi, kata yang diucapkan mungkin menempati beberapa ratus byte - masing-masing menjadi sampel gelombang suara dalam sepersekian detik. Jika 100 byte ini dikirim ke speaker komputer, kata yang diucapkan akan direproduksi kembali dalam bentuk gelombang suara.

Contoh Konversi Gelombang Suara Menjadi Byte
Contoh Konversi Gelombang Suara Menjadi Byte

Gambar 6. Contoh Konversi Gelombang Suara Menjadi Byte

Seperti ASCII untuk karakter, GIF dan JPEG untuk gambar, suara juga memiliki beberapa format yang disepakati untuk mewakili sampel dalam byte. WAV adalah format umum suara di komputer.

Data Program sebagai Byte

Saat kamu membeli perangkat lunak dalam CD atau disket, atau mengunduh dari Internet, kamu mendapatkan kumpulan instruksi yang ditulis seseorang untuk memberi tahu komputer agar melakukan tugas yang seharusnya dilakukan oleh perangkat lunak tersebut. Setiap instruksi adalah byte, atau kumpulan kecil byte. Jika sebuah komputer menggunakan satu byte untuk sebuah instruksi, komputer tersebut dapat memiliki hingga 256 kombinasi per instruksi. Nanti kita akan melihat apa instruksi ini, tetapi untuk saat ini, kamu harus menyadari bahwa satu byte juga bisa menjadi instruksi komputer. Konversi instruksi ke byte ditunjukkan pada Gambar 7 (a). Proses pemrograman memungkinkan manusia untuk menulis instruksi dengan cara seperti bahasa Inggris. Sebuah program perangkat lunak yang disebut compiler kemudian mengubah teks seperti bahasa Inggris yang dipahami manusia tersebut menjadi byte untuk instruksi yang dipahami komputer. Hal ini ditunjukkan pada Gambar 7 (b).

(A) Contoh Konversi Instruksi ke Byte, (B) Contoh Konversi Kode Program ke Byte
(A) Contoh Konversi Instruksi ke Byte, (B) Contoh Konversi Kode Program ke Byte

Gambar 7. (A) Contoh Konversi Instruksi ke Byte, (B) Contoh Konversi Kode Program ke Byte

Seperti semua jenis data lainnya, ada juga format yang disepakati untuk instruksi komputer. Salah satu alasan mengapa program komputer Macintosh tidak berjalan secara asli pada komputer yang kompatibel dengan PC (berbasis Intel), adalah karena Macintosh dan PC Intel menggunakan format berbeda untuk mengkodekan instruksi dalam byte.

Bagaimana Komputer Mengetahui Apa yang Diwakili oleh Byte?

Misalnya terlihat sebuah byte: 01000011, dapat mewakili bilangan bulat 67, karakter 'C', piksel dengan tingkat kegelapan 67, sampel suara dengan tingkat desibel 67, atau sebuah instruksi. Ada jenis data lain yang dapat diwakili oleh satu byte juga. Jika byte yang sama dapat berisi semua jenis data yang berbeda, bagaimana komputer mengetahui jenisnya? Jawabannya adalah konteks di mana komputer menggunakan byte. Jika mengirimkan byte ke speaker, tingkat suara ke-67 dihasilkan. Jika mengirimkan byte ke monitor atau printer, piksel dengan tingkat kegelapan 67 dihasilkan, dll. Lebih tepatnya, jika byte dikodekan dengan teknik pengkodean standar, seperti ASCII untuk karakter, GIF untuk gambar, dan WAV untuk suara, kemudian ketika komputer mengirim byte ke perangkat, data yang sesuai dengan pengkodean itu diproduksi oleh perangkat.

Profil Penulis

User Picture
  • Member Since 9 tahun 11 bulan ago
Aditya Suranata

Embedded System, Internet of Things, Precision Agriculture, Controlled Environment...

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika....

Comments