Langsung ke konten utama

Transmisi Data dan Check Parity

A.  Pendahuluan

  • Transmisi Data 
Transmisi data merupakan proses untuk melakukan pengiriman data dari salah satu sumber data ke penerima data menggunakan komputer atau media elektronik lainnya.
  • Check Parity 
Check parity adalah sebuah sistem yang membuat pihak terminal tertuju mengetahui bahwa data yang diterima tersebut sama atau tidak dengan data yang dikirim oleh terminal pengirim. 
Pihak pengirim  akan menambahkan 1 bit tambahan pada data, untuk menggambarkan karakteristik dari data tersebut. Dalam proses pentransmisiannya data tadi dikirim bersamaan (data tersebut dan parity bitnya) dan anggap data dapat terkirim dengan suskses. Pada Terminal penerima data dibaca dan di definisi kan ulang dengan cara yang sama seperti saat menentuan nilai parity bit di sisi pengirim. Lalu hasil pendefinisian ulang tadi dibandingkan dengan parity bit yang tadi sengaja dibawakan oleh pengirim apabila hasil pembacaan data terkirim sama dengan parity bitnya maka data tersebut dapat dianggap benar. Dan apabila diperoleh perbedaan nilai antara hasil dekodisasi dengan parity bitnya maka data dapat di klasifikasikan sebagai data yeng error, kemudian terminal penerima akan mengirimkan request pada terminal pengirim untuk mengirimkan ulang data yang terbaca error tadi. 
  
B.  Sintak Program 

//==============================================================
import java.util.Scanner;
class konversi {
            int ascii;              //mendeklarasikan ascii dengan tipe int
            int ASCII = 0;          //mendeklarasikan ASCII dengan tipe int
            int bcs = 0;            //mendeklarasikan bcs dengan tipe int
            String dat = "";        //mendeklarasikan dat dengan tipe String
            String BCS = "";        //mendeklarasikan BCS dengan tipe String
            String DATA = "";       //mendeklarasikan DATA dengan tipe String
           
//----------------------------------------------------------------------------------------------------------
            public int A2I(char karakter) {
                        ascii = (int) karakter;
                        return ascii;
            }
           
//----------------------------------------------------------------------------------------------------------
            public String I2B() {
                        String binary; //deklarasi binary dengan tipe String
                        if (ascii >= 128){
            binary = Integer.toBinaryString(ascii);
            dat = dat+binary;
            return binary;
        }
        else if (ascii >= 64) {
            binary = Integer.toBinaryString(ascii);
            String binary2 = "0" + binary;
            dat = dat+binary2;
            return binary2;
        }
        else if (ascii >= 32) {
            binary = Integer.toBinaryString(ascii);
            String binary3 = "00" + binary;
            dat = dat+binary3;
            return binary3;
        }
        else if (ascii >= 16) {
            binary = Integer.toBinaryString(ascii);
            String binary4 = "000" + binary;
            dat = dat+binary4;
            return binary4;
        }
        else if (ascii >= 8) {
            binary = Integer.toBinaryString(ascii);
            String binary5 = "0000" + binary;
            dat = dat+binary5;
            return binary5;
        }
        else if (ascii >= 4) {
            binary = Integer.toBinaryString(ascii);
            String binary6 = "00000" + binary;
            dat = dat+binary6;
            return binary6;
        }
        else if (ascii >= 2) {
            binary = Integer.toBinaryString(ascii);
            String binary7 = "000000" + binary;
            dat = dat+binary7;
            return binary7;
        }
        else {
            binary = Integer.toBinaryString(ascii);
            String binary8 = "0000000" + binary;
            dat = dat+binary8;
            return binary8;
        }
            }
           
//----------------------------------------------------------------------------------------------------------
            public int error() {
                        bcs = (ascii ^ bcs);
                        return bcs;
            }
           
//----------------------------------------------------------------------------------------------------------
            public String B2B() {
                        String bnr; //mendeklarasikan bnr dengan nilai String
                        error();
                        if (bcs >= 128){
            bnr = Integer.toBinaryString(bcs);
            BCS = bnr;
            return (bnr);
        }

        else if (bcs >= 64) {
            bnr = Integer.toBinaryString(bcs);
            String bnr2 = "0" + bnr;
            BCS = bnr2;
            return (bnr2);
        }

        else if (bcs >= 32){
            bnr = Integer.toBinaryString(bcs);
            String bnr3 = "00" + bnr;
            BCS = bnr3;
            return (bnr3);
        }

        else if (bcs >= 16){
            bnr = Integer.toBinaryString(bcs);
            String bnr4 = "000" + bnr;
            BCS = bnr4;
            return (bnr4);
        }

        else if (bcs >= 8){
            bnr = Integer.toBinaryString(bcs);
            String bnr5 = "0000" + bnr;
            BCS = bnr5;
            return (bnr5);
        }

        else if (bcs >= 4){
            bnr = Integer.toBinaryString(bcs);
            String bnr6 = "00000" + bnr;
            BCS = bnr6;
            return (bnr6);
        }

        else if (bcs >= 2){
            bnr = Integer.toBinaryString(bcs);
            String bnr7 = "000000" + bnr;
            BCS = bnr7;
            return (bnr7);
        }

        else {
            bnr = Integer.toBinaryString(bcs);
            String bnr8 = "0000000" + bnr;
            BCS = bnr8;
            return (bnr8);
        }

            }         
}          //end class Konversi

//==============================================================

public class UAS_KomDat_11520244020 {
            public static void main( String[] args ) {
                        Scanner baca = new Scanner(System.in);
                        konversi kv = new konversi();
                        String karakter; //deklarasi nilai String
                       
                        System.out.println("===========================");
                        System.out.println("UAS Praktek Komunikasi Data");
                        System.out.println("===========================");          
                       System.out.print("Masukkan Kata atau Angka = ");  //Melakukan inputan kata atau angka
                        karakter = baca.nextLine();
                       
                        char[] kar = karakter.toCharArray();
        System.out.print("\nData yang Dikirim  = "+karakter); //Menampilkan data yang dikirim
        System.out.println("");
        System.out.print("\nBinary             = ");
                        for (int i=0; i<kar.length; i++) {
                                    kv.A2I(kar[i]);
                                    System.out.printf(kv.I2B());
                        }
       
        System.out.print("\nCheck Parity       = ");         //Menampilkan check parity
                        for (int i=0; i<kar.length; i++) {
                                    kv.A2I(kar[i]);
                                    String kata=kv.I2B();
                                    String hrf;
                                    for(int a=0;a<kata.length();a++){
                                                hrf= kata.substring(a,a+1);
                                                if(hrf.equals("0")){
                                                            System.out.print("1");
                                                }else{
                                                            System.out.print("0");
                                                }
                                    }
                        }
      
        System.out.print("\nData yang Diterima = " );   //menampilkan data yang diterima dalam bentuk binary
                        for (int i=0; i<kar.length; i++) {
                                    kv.A2I(kar[i]);
                                    System.out.printf(kv.I2B());
                        }
        System.out.println("");
        System.out.print("\nData yang Diterima = "+karakter); //menampilkan kembali data yang diterima setelah dicek
                       
            }
} //end class UAS_KomDat_11520244020

//==============================================================

C.  Tampilan Program

D.  Penjelasan Program
Melakukan masukan data dengan mengetikkan data kemudian data tersebut dikirim.

Memasukkan Kata atau Angka : komdat
Dalam Kode ASCII
berarti sebagai berikut
k  1101011
o  1101111
m1101101
d  =  1100100
a  =  1100001
t  =  1110100

Dalam terminal
pengirim, kata "komdat" dianalisa perkarakter "k" lalu "o" lalu "m" lalu "d" lalu "a" lalu "t". Maka kode ascii-nya  menjadi :


k  01101011
o  01101111
m01101101
d  =  01100100
a  =  01100001
t  =  01110100

Untuk data yang dikirim adalah dengan format berikut :
01101011_01101111_01101101_01100100_01100001_01110100

Kemudian mengecek parity-nya, sebagai berikut :
k  10010100
o  10010000
m10010010
d  =  10011011
a  =  10011110
t  =  10011011
Check paritynya  10010100_10010000_10010010_10011011_10011011_10011011

Setelah dilakukan pembacaan data yang terkirim dan telah dilakukan pengecekan data
Data yang diterima adalah sebagai berikut :
01101011_01101111_01101101_01100100_01100001_01110100

Jadi, setelah dilakukan pengecekan, data yang diterima sama dengan data yang dikirim yaitu “komdat” dan tidah terjadi kesalahan atau error.

Komentar

Populer

IP Address, CIDR, dan VLSM

Laporan Praktikum 4 Jaringan Komputer A.    TUJUAN PRAKTIKUM a.  Mampu melakukan konfigurasi IP Address di komputer jaringan. b.  Memahami konsep teknik subnetting menggunakan metode VLSM. c.  Memahami teknik penggunaan subnet mask.