Byte adalah satuan informasi digital yang umumnya terdiri dari delapan bit. Secara historis, byte adalah jumlah bit yang digunakan untuk mengkodekan satu karakter teks dalam sebuah komputer dan karena alasan ini, byte adalah unit memori terkecil yang dapat diakses dalam banyak arsitektur komputer. Untuk membedakan byte dengan ukuran yang sewenang-wenang dari definisi umum 8-bit, dokumen protokol jaringan seperti Protokol Internet (RFC 791) mengacu pada byte 8-bit sebagai oktet. Bit-bit dalam sebuah oktet biasanya dihitung dengan penomoran dari 0 hingga 7 atau 7 hingga 0 tergantung pada endianness bit.
Ukuran byte secara historis bergantung pada perangkat keras dan tidak ada standar definitif yang mengatur ukuran tersebut. Ukuran mulai dari 1 hingga 48 bit pernah digunakan. Kode karakter enam-bit adalah implementasi yang sering digunakan dalam sistem enkoding awal, dan komputer yang menggunakan byte enam-bit dan sembilan-bit umum pada tahun 1960-an. Sistem-sistem ini sering memiliki kata-kata memori berukuran 12, 18, 24, 30, 36, 48, atau 60 bit, yang sesuai dengan 2, 3, 4, 5, 6, 8, atau 10 byte enam-bit, dan tetap ada, dalam sistem warisan, hingga abad ke-21. Pada era ini, pengelompokan bit dalam aliran instruksi sering disebut sebagai suku kata atau slab, sebelum istilah byte menjadi umum.
Standar de facto modern delapan bit, seperti yang didokumentasikan dalam ISO/IEC 2382-1:1993, adalah pangkat dua yang nyaman memungkinkan nilai yang dienkoding biner 0 hingga 255 untuk satu byte, karena 2 pangkat 8 adalah 256. Standar internasional IEC 80000-13 mengkodifikasi makna umum ini. Banyak jenis aplikasi menggunakan informasi yang dapat direpresentasikan dalam delapan atau kurang dari delapan bit dan para perancang prosesor umumnya mengoptimalkan penggunaan ini. Popularitas arsitektur komputasi komersial utama telah membantu dalam penerimaan luas byte 8-bit. Arsitektur modern biasanya menggunakan kata 32- atau 64-bit, terdiri dari empat atau delapan byte, masing-masing.
Simbol unit untuk byte ditunjuk sebagai huruf kapital B oleh Komisi Elektroteknik Internasional (IEC) dan Institute of Electrical and Electronics Engineers (IEEE). Secara internasional, oktet secara eksplisit mendefinisikan urutan delapan bit, menghilangkan ambiguitas potensial dari istilah "byte". Simbol untuk oktet, 'o', juga dengan nyaman menghilangkan ambiguitas dalam simbol 'B' antara byte dan bel.
Etimologi dan sejarah
Istilah byte diciptakan oleh Werner Buchholz pada Juni 1956, selama fase desain awal untuk komputer IBM Stretch, yang memiliki penunjukan ke bit dan instruksi panjang bidang variabel (VFL) dengan ukuran byte yang dienkripsi dalam instruksi. Ini merupakan pengubahan sengaja dari kata bite untuk menghindari mutasi tidak disengaja menjadi bit.
Asal-usul lain dari byte untuk kelompok bit yang lebih kecil dari ukuran kata komputer, khususnya kelompok empat bit, juga dicatat oleh Louis G. Dooley, yang mengklaim dia menciptakan istilah tersebut saat bekerja dengan Jules Schwartz dan Dick Beeler pada sistem pertahanan udara bernama SAGE di MIT Lincoln Laboratory pada tahun 1956 atau 1957, yang dikembangkan secara bersama-sama oleh Rand, MIT, dan IBM. Kemudian, bahasa Schwartz JOVIAL benar-benar menggunakan istilah tersebut, tetapi sang penulis mengingat samar-samar bahwa itu berasal dari AN/FSQ-31.
Komputer-komputer awal menggunakan berbagai representasi desimal berkode biner (BCD) empat bit dan kode enam bit untuk pola grafis cetak yang umum di Angkatan Darat AS (FIELDATA) dan Angkatan Laut. Representasi ini meliputi karakter alfanumerik dan simbol grafis khusus. Set-set ini diperluas pada tahun 1963 menjadi tujuh bit kode, yang disebut sebagai Standar Kode Amerika untuk Pertukaran Informasi (ASCII) sebagai Standar Proses Pengolahan Informasi Federal, yang menggantikan kode teleprinter yang tidak kompatibel yang digunakan oleh cabang-cabang pemerintah AS dan universitas selama tahun 1960-an. ASCII termasuk perbedaan alfabet huruf besar dan kecil serta seperangkat karakter kontrol untuk memudahkan transmisi bahasa tertulis serta fungsi perangkat cetak, seperti kemajuan halaman dan penyaluran baris, dan kontrol fisik atau logis aliran data melalui media transmisi. Selama awal 1960-an, sambil juga aktif dalam standarisasi ASCII, IBM secara bersamaan memperkenalkan dalam lini produk System/360 mereka Kode Pertukaran Binari Desimal BCD (EBCDIC) delapan bit, ekspansi dari representasi desimal berkode biner enam bit (BCDIC) yang digunakan dalam penembak kartu sebelumnya. Kepopuleran System/360 menyebabkan adopsi yang meluas dari ukuran penyimpanan delapan bit, sedangkan secara detail skema enkoding EBCDIC dan ASCII berbeda.
Pada awal 1960-an, AT&T memperkenalkan teleponi digital pada jalur batang interlokal. Ini menggunakan enkoding delapan bit μ-law. Investasi besar ini menjanjikan pengurangan biaya transmisi untuk data delapan bit.
Dalam Volume 1 The Art of Computer Programming (pertama kali diterbitkan pada tahun 1968), Donald Knuth menggunakan byte di komputernya MIX secara hipotetis untuk menunjukkan unit yang "mengandung sejumlah informasi yang tidak ditentukan ... mampu menahan setidaknya 64 nilai yang berbeda ... paling banyak 100 nilai yang berbeda. Di komputer biner sebuah byte karena itu harus terdiri dari enam bit". Dia mencatat bahwa "Sejak sekitar tahun 1975, kata byte telah datang untuk berarti urutan delapan digit biner...Ketika kita berbicara tentang byte dalam kaitannya dengan MIX kita akan membatasi diri pada arti yang pertama dari kata tersebut, mengingat kembali pada saat byte belum distandarisasi". Pengembangan mikroprosesor delapan bit pada tahun 1970-an membuat ukuran penyimpanan ini populer. Mikroprosesor seperti Intel 8080, pendahulu langsung 8086, juga bisa melakukan sejumlah kecil operasi pada pasangan empat bit dalam sebuah byte, seperti instruksi penambahan-desimal-kecil (DAA). Sejumlah empat bit sering disebut sebagai nibble, juga nybble, yang nyaman direpresentasikan oleh satu digit heksadesimal.
Istilah oktet secara tegas menunjukkan ukuran delapan bit. Ini digunakan secara luas dalam definisi protokol. Secara historis, istilah oktad atau oktade digunakan untuk menunjukkan delapan bit juga, setidaknya di Eropa Barat; namun, penggunaan ini tidak lagi umum. Asal-usul tepat istilah tersebut tidak jelas, tetapi dapat ditemukan dalam sumber-sumber Inggris, Belanda, dan Jerman dari tahun 1960-an dan 1970-an, dan selama dokumentasi komputer utama Philips.
Simbol unit untuk byte ditentukan dalam IEC 80000-13, IEEE 1541, dan Format Interchange Metrik sebagai karakter huruf besar B.
Dalam Sistem Internasional Besaran (ISQ), B juga merupakan simbol bel, yaitu unit rasio daya logaritmik yang dinamai dari Alexander Graham Bell, menciptakan konflik dengan spesifikasi IEC. Namun, bahaya kebingungan sangat kecil, karena bel adalah unit yang jarang digunakan. Ini digunakan terutama dalam fraksi desimalnya, desibel (dB), untuk pengukuran kekuatan sinyal dan tingkat tekanan suara, sedangkan unit untuk sepersepuluh byte, desibit, dan fraksi lainnya, hanya digunakan dalam unit turunan, seperti laju transmisi. Huruf kecil o untuk oktet didefinisikan sebagai simbol untuk oktet dalam IEC 80000-13 dan umum digunakan dalam bahasa seperti Prancis dan Rumania, dan juga digabungkan dengan awalan metrik untuk kelipatan, misalnya ko dan Mo.
Beberapa sistem ada untuk menentukan kelipatan unit berdasarkan byte. Beberapa sistem didasarkan pada pangkat 10, mengikuti Sistem Satuan Internasional (SI), yang misalnya mendefinisikan awalan kilo sebagai 1000 (103); sistem lain didasarkan pada pangkat dua. Nomenklatur untuk sistem-sistem ini telah menyebabkan kebingungan. Sistem-sistem berdasarkan pangkat 10 menggunakan awalan SI standar (kilo, mega, giga, ...) dan simbol yang sesuai (k, M, G, ...). Sistem berdasarkan pangkat 2, bagaimanapun, mungkin menggunakan awalan biner (kibi, mebi, gibi, ...) dan simbol yang sesuai (Ki, Mi, Gi, ...) atau mereka mungkin menggunakan awalan K, M, dan G, menciptakan ambiguitas ketika awalan M atau G digunakan. Meskipun perbedaan antara interpretasi desimal dan biner relatif kecil untuk kilobyte (sekitar 2% lebih kecil dari kibibyte), sistem-sistem tersebut semakin menyimpang saat unit tumbuh lebih besar (deviasi relatif bertambah sebesar 2,4% setiap tiga derajat besarnya). Sebagai contoh, terabyte berbasis pangkat 10 sekitar 9% lebih kecil dari tebibyte berbasis pangkat 2.
Definisi awalan menggunakan pangkat 10 dalam hal ini 1 kilobyte (simbol kB) didefinisikan sama dengan 1.000 byte direkomendasikan oleh Komisi Elektroteknik Internasional (IEC). Standar IEC mendefinisikan delapan kelipatan seperti itu, hingga 1 yottabyte (YB), sama dengan 10008 byte.[29] Awalan tambahan ronna- untuk 10009 dan quetta- untuk 100010 diadopsi oleh Biro Internasional untuk Pengukuran Berat dan Ukuran (BIPM) pada tahun 2022. Definisi ini paling umum digunakan untuk satuan laju data dalam jaringan komputer, bus internal, kecepatan transfer media keras dan media flash, serta untuk kapasitas sebagian besar media penyimpanan, terutama hard drive, penyimpanan berbasis flash, dan DVD. Sistem operasi yang menggunakan definisi ini termasuk macOS, iOS, Ubuntu, dan Debian. Ini juga konsisten dengan penggunaan awalan SI lainnya dalam komputasi, seperti kecepatan clock CPU atau ukuran kinerja.
Sistem IBM System 360 dan sistem perekaman dan pita terkait menetapkan byte pada 8 bit dan mendokumentasikan kapasitas dalam unit desimal. Flopi awal 8-, 5.25-, dan 3.5-inci memberikan kapasitas dalam kelipatan 1024, menggunakan "KB" daripada "KiB" yang lebih akurat. Flopi lebih baru, yang lebih besar, 8-, 5.25-, dan 3.5-inci memberikan kapasitas dalam notasi hibrida, yaitu kelipatan 1024.000, menggunakan "KB" = 1024 B dan "MB" = 1024.000 B. Disk 5.25-inci awal menggunakan desimal[dipertanyakan – bahas] meskipun mereka menggunakan sektor 128 byte dan 256 byte. Hard disk sebagian besar menggunakan blok 256 byte dan kemudian 512 byte sebelum blok 4096 byte menjadi standar.[39] RAM selalu dijual dalam kelipatan 2.
Satuan berbasis pangkat 2 adalah sebuah sistem satuan yang menggunakan kelipatan dari angka 2, di mana 1 kibibyte (KiB) setara dengan 1.024 (atau 2 pangkat 10) byte, ditetapkan oleh standar internasional IEC 80000-13 dan didukung oleh badan-badan standar nasional dan internasional (BIPM, IEC, NIST). Standar IEC tersebut menetapkan delapan kelipatan tersebut, hingga 1 yobibyte (YiB), setara dengan 1024 pangkat 8 byte. Pasangan biner alami untuk ronna- dan quetta- diberikan dalam sebuah dokumen konsultasi dari Komite Konsultatif untuk Satuan Komite Konsultatif untuk Satuan Komite Internasional untuk Berat dan Ukuran (CCU) sebagai robi- (Ri, 1024 pangkat 9) dan quebi- (Qi, 1024 pangkat 10), namun belum diadopsi oleh IEC atau ISO.
Sebuah sistem alternatif dalam penamaan yang sama (di sini disebut sebagai konvensi biasa), di mana 1 kilobyte (KB) setara dengan 1.024 byte, 1 megabyte (MB) setara dengan 1024 pangkat 2 byte dan 1 gigabyte (GB) setara dengan 1024 pangkat 3 byte disebutkan dalam standar JEDEC tahun 1990-an. Hanya tiga kelipatan pertama (hingga GB) yang disebutkan oleh standar JEDEC, yang tidak menyebutkan TB dan yang lebih besar. Meskipun membingungkan dan tidak tepat, konvensi biasa ini digunakan oleh sistem operasi Microsoft Windows dan kapasitas memori akses acak, seperti memori utama dan ukuran cache CPU, serta dalam pemasaran dan penagihan oleh perusahaan telekomunikasi, seperti Vodafone, AT&T, Orange, dan Telstra. Untuk kapasitas penyimpanan, konvensi biasa digunakan oleh macOS dan iOS melalui Mac OS X 10.5 Leopard dan iOS 10, setelah itu mereka beralih ke satuan berbasis pangkat 10.
Satuan-satuan parokial
Berbagai vendor komputer telah menciptakan istilah untuk data dengan berbagai ukuran, terkadang dengan ukuran yang berbeda untuk istilah yang sama bahkan dalam satu vendor. Istilah-istilah ini termasuk double word, half word, long word, quad word, slab, superword, dan syllable. Ada juga istilah informal, misalnya half byte dan nybble untuk 4 bit, oktal K untuk 1000.
Sejarah definisi yang bertentangan
Memori komputer kontemporer memiliki arsitektur biner sehingga definisi unit memori berdasarkan pangkat 2 adalah yang paling praktis. Penggunaan awalan metrik kilo untuk kelipatan biner muncul sebagai sebuah kenyamanan, karena 1024 adalah sekitar 1000. Definisi ini populer dalam dekade awal komputasi pribadi, dengan produk seperti format floppy Tandon 51⁄4 inci DD (mengandung 368640 byte) diiklankan sebagai "360 KB", mengikuti konvensi 1024 byte. Namun, definisi ini tidak universal. Disket floppy Shugart SA-400 51⁄4 inci menampung 109.375 byte belum diformat, dan diiklankan sebagai "110 Kbyte", menggunakan konvensi 1000. Begitu juga dengan floppy 8 inci DEC RX01 (1975) yang menampung 256256 byte diformat, dan diiklankan sebagai "256k". Beberapa perangkat diiklankan menggunakan campuran kedua definisi: terutama, disket floppy diiklankan sebagai "1.44 MB" memiliki kapasitas sebenarnya 1440 KiB, setara dengan 1.47 MB atau 1.41 MiB.
Pada tahun 1995, Komite Interdivisi Nomenklatur dan Simbolik IUPAC mencoba untuk mengatasi ambiguitas ini dengan mengusulkan serangkaian awalan biner untuk pangkat 1024, termasuk kibi (kilobiner), mebi (megabiner), dan gibi (gigabiner). Pada Desember 1998, IEC mengatasi penggunaan dan definisi ganda tersebut dengan mengadopsi awalan yang diusulkan oleh IUPAC (kibi, mebi, gibi, dll.) untuk menunjukkan dengan jelas pangkat 1024. Jadi satu kibibyte (1 KiB) adalah 10241 byte = 1024 byte, satu mebibyte (1 MiB) adalah 10242 byte = 1048576 byte, dan seterusnya. Pada tahun 1999, Donald Knuth menyarankan untuk menyebut kibibyte sebagai "kilobyte besar" (KKB).
Definisi standar modern
IEC mengadopsi proposal IUPAC dan menerbitkan standar tersebut pada Januari 1999. Awalan IEC merupakan bagian dari Sistem Internasional Besaran. IEC lebih lanjut menetapkan bahwa kilobyte hanya boleh digunakan untuk merujuk pada 1000 byte.
Gugatan atas definisi
Gugatan yang muncul akibat kebingungan konsumen terhadap definisi biner dan desimal dari kelipatan byte umumnya berakhir mendukung produsen, dengan pengadilan menyatakan bahwa definisi hukum gigabyte atau GB adalah 1 GB = 1000000000 (109) byte (definisi desimal), bukan definisi biner (230, yaitu 1073741824). Secara khusus, Pengadilan Distrik Amerika Serikat untuk Distrik Utara California menyatakan bahwa "Kongres AS telah menetapkan definisi desimal gigabyte sebagai yang 'diutamakan' untuk tujuan 'perdagangan dan perdagangan AS'... Majelis California juga telah mengadopsi sistem desimal untuk semua 'transaksi di negara bagian ini'." Gugatan sebelumnya berakhir dengan penyelesaian tanpa putusan pengadilan atas pertanyaan tersebut, seperti gugatan terhadap produsen drive Western Digital. Western Digital menyelesaikan tantangan tersebut dan menambahkan penyangkalan eksplisit ke produk bahwa kapasitas yang dapat digunakan dapat berbeda dari kapasitas yang diiklankan. Seagate juga disengketakan atas dasar yang sama dan juga menyelesaikannya.
Banyak bahasa pemrograman mendefinisikan tipe data byte.
Bahasa pemrograman C dan C++ mendefinisikan byte sebagai "unit penyimpanan data yang dapat diakses yang cukup besar untuk menyimpan anggota set karakter dasar dalam lingkungan eksekusi" (klasula 3.6 dari standar C). Standar C mengharuskan tipe data integral unsigned char untuk dapat menyimpan setidaknya 256 nilai yang berbeda, dan direpresentasikan oleh setidaknya delapan bit (klasula 5.2.4.2.1). Berbagai implementasi C dan C++ mengalokasikan 8, 9, 16, 32, atau 36 bit untuk penyimpanan satu byte. Selain itu, standar C dan C++ meminta agar tidak ada celah di antara dua byte. Hal ini berarti setiap bit dalam memori adalah bagian dari sebuah byte.
Tipe data primitif byte dalam bahasa pemrograman Java didefinisikan sebagai delapan bit. Ini adalah tipe data ber-tanda, dapat menyimpan nilai dari -128 hingga 127. Bahasa pemrograman .NET, seperti C#, mendefinisikan byte sebagai tipe data yang tidak ber-tanda, dan sbyte sebagai tipe data yang ber-tanda, dapat menyimpan nilai dari 0 hingga 255, dan -128 hingga 127, secara berturut-turut.
Dalam sistem transmisi data, byte digunakan sebagai urutan berkelanjutan dari bit dalam aliran data serial, mewakili unit data terkecil yang dibedakan. Untuk komunikasi asinkron, sebuah unit transmisi penuh biasanya juga mencakup bit awal, 1 atau 2 bit stop, dan mungkin bit paritas, sehingga ukurannya dapat bervariasi dari tujuh hingga dua belas bit untuk lima hingga delapan bit data aktual. Untuk komunikasi sinkron, pemeriksaan kesalahan biasanya menggunakan byte di akhir frame.
Posting Komentar