Bagikan melalui


Data yang Dikodekan dan Didekodekan

Untuk mengirim data melalui media komunikasi seperti saluran telepon, data harus diserialisasikan— yaitu, dikonversi menjadi string yang dan nol yang dikirimkan secara serial melalui saluran. Serialisasi harus dilakukan singgah sehingga komputer yang menerima data dapat mengonversi data kembali ke format aslinya. Bagaimana serialisasi dicapai disebut protokol komunikasi, dan dikendalikan oleh perangkat lunak dan perangkat keras transmisi data. Ada beberapa tingkat di mana data dikonversi. Ilustrasi berikut menunjukkan tampilan lapisan protokol komunikasi yang sangat disederhanakan.

lapisan protokol komunikasi

Ilustrasi sebelumnya menunjukkan lapisan aplikasi pada Komputer #1 mengirim data yang akan ditransmisikan (yang biasanya terdiri dari beberapa kombinasi karakter tekstual dan angka) ke lapisan enkode/dekode. Lapisan enkode/dekode mengodekan data ke dalam aliran byte komputer. Pada tingkat terendah, lapisan perangkat keras, perangkat keras mengonversi byte data menjadi aliran serial yang dan nol yang dikirimkan melalui baris ke Komputer #2. Lapisan perangkat keras Komputer #2 mengonversi yang dan nol kembali ke byte komputer, dan meneruskannya ke lapisan pengodean/dekode untuk pendekodean. Lapisan enkode/dekode mendekode byte kembali ke format aslinya dan meneruskan data hingga lapisan aplikasi.

Prinsip desain perangkat lunak yang diterima adalah menggunakan abstraksi, yaitu, proses menjelaskan masalah atau objek dalam hal parameter umumnya daripada menjelaskan semua detail yang diperlukan untuk menyelesaikan masalah, atau menjelaskan semua detail objek. Dengan menggunakan abstraksi, perancang dapat menentukan objek perangkat lunak yang memiliki kualitas khusus tanpa khawatir tentang bagaimana objek benar-benar diimplementasikan dalam kode perangkat lunak. Praktik seperti itu membuat implementasi terbuka. Ini juga menyederhanakan spesifikasi dan memungkinkan untuk menyatakan sumbu tentang objek yang dapat dibuktikan ketika objek diimplementasikan. Aksiom ini kemudian dapat diasumsikan ketika objek digunakan di objek tingkat lain yang lebih tinggi. Abstraksi adalah ciri khas dari sebagian besar spesifikasi perangkat lunak kontemporer.

Sebagian besar protokol komunikasi melibatkan banyak abstraksi. Objek pada lapisan yang lebih tinggi didefinisikan secara abstrak dan dimaksudkan untuk diimplementasikan menggunakan objek pada lapisan bawah. Misalnya, layanan pada satu lapisan mungkin memerlukan transfer objek abstrak tertentu antar komputer. Lapisan tingkat bawah dapat menggunakan aturan pengodean untuk mengubah objek abstrak menjadi string yang dan nol.

Salah satu metode umum untuk menentukan objek abstrak yang dimaksudkan untuk ditransmisikan secara serial disebut Abstract Syntax Notation One (ASN.1). ASN.1 didefinisikan dalam Rekomendasi CCITT X.208. Satu set aturan ASN.1 untuk mewakili objek seperti string yang dan nol disebut Distinguished Encoding Rules (DER), dan didefinisikan dalam Rekomendasi CCITT X.509, Bagian 8.7. Ini adalah metode pengodean yang saat ini digunakan oleh CryptoAPI.

Untuk informasi selengkapnya tentang fungsi enkode/dekode, lihat Fungsi Pengodean dan Pendekodean Objek.