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
//==============================================================
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
m = 1101101
Dalam Kode ASCII berarti sebagai berikut
k = 1101011
o = 1101111
m = 1101101
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 :
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
m = 01101101
d =
01100100
a =
01100001
t =
01110100
Untuk data
yang dikirim adalah
dengan
format berikut :
01101011_01101111_01101101_01100100_01100001_01110100
01101011_01101111_01101101_01100100_01100001_01110100
Kemudian
mengecek parity-nya, sebagai berikut :
k = 10010100
o = 10010000
m = 10010010
o = 10010000
m = 10010010
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
Posting Komentar
Berkomentarlah dengan bijak dan sopan, terima kasih...