EBCDIC
function baris = FIND_BARIS(diketahui, dicari)
%FIND_BARIS
%baris = FIND_BARIS(diketahui, dicari)
% fungsi ini akan :) mencari posisi baris dari data yang bersesuaian antara diketahui dan dicari
% :) mengembalikan informasi baris data yang dicari dalam matriks diketahui
% syarat :) jumlah kolom matriks_diketahui == jumlah kolom matriks_dicari
% :) jumlah baris matriks_dicari == 1
%
%Basit Adhi Prabowo - UAD Jogjakarta - 27052004
%misal :
%diketahui : - -
% | 0 1 1 |
% | 1 0 1 |
% | 1 0 1 |
% - -
%jika dicari data [1 0 1]
%maka hasilnya -> [2 3], karena [1 0 1] berada pada baris 2 dan 3
[bket, kket] = size(diketahui);
[bcr, kcr] = size(dicari);
baris = 0;
nbaris = 0;
if bcr == 1 & kket == kcr
for i=1:bket
if diketahui(i,:) == dicari(1,:)
nbaris = nbaris + 1;
baris(nbaris) = i;
end
end
else
error('Jumlah kolom matriks_diketahui == matriks_dicari atau baris matriks_dicari == 1')
end
if baris == 0
disp('0 berarti >> tidak ada data yang cocok')
end
function biners = EBCDIC_STR2BIN(strings)
%EBCDIC_STR2BIN
%biner = EBCDIC_STR2BIN(string)
% fungsi ini akan :) merubah string menjadi biner 8 bit menurut pengkodean EBCDIC
% :) mengembalikan nilai biner
%
%Basit Adhi Prabowo - UAD Jogjakarta - 27052004
%tabel
A = [1 0 0 0; 0 1 0 0; 1 1 0 0; 0 0 1 0; 1 0 1 0; 0 1 1 0; 1 1 1 0; 0 0 0 1; 1 0 0 1];
B = [0 0 0 1; 1 0 0 1; 0 1 0 1; 0 0 1 1; 1 0 1 1; 0 1 1 1];
C = ['a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i';
'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r';
0 's' 't' 'u' 'v' 'w' 'x' 'y' 'z';
'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I';
'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R';
0 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z'];
%rumus
panjang = length(strings);
for i=1:panjang,
[rows,coloums] = find(C == strings(i));
biners(i,:) = [A(coloums,:) B(rows,:)];
end
function strings = EBCDIC_BIN2STR(biners)
%EBCDIC_BIN2STR
%string = EBCDIC_BIN2STR(biner)
% fungsi ini akan :) merubah biner 8 bit menjadi string menurut pengkodean EBCDIC
% :) mengembalikan string
%
%Basit Adhi Prabowo - UAD Jogjakarta - 27052004
%tabel
A = [1 0 0 0; 0 1 0 0; 1 1 0 0; 0 0 1 0; 1 0 1 0; 0 1 1 0; 1 1 1 0; 0 0 0 1; 1 0 0 1];
B = [0 0 0 1; 1 0 0 1; 0 1 0 1; 0 0 1 1; 1 0 1 1; 0 1 1 1];
C = ['a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i';
'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r';
0 's' 't' 'u' 'v' 'w' 'x' 'y' 'z';
'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I';
'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R';
0 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z'];
%rumus
[baris, kolom] = size(biners);
for i=1:baris,
baris = find_baris(B, biners(i, 5:8));
kolom = find_baris(A, biners(i, 1:4));
strings(i) = C(baris, kolom);
end
ASCII
function integers = ASCII_STR2INT(strings)
%ASCII_STR2INT
%integer = ASCII_STR2INT(string)
% fungsi ini akan :) merubah string menjadi integer
% :) mengembalikan nilai integer
%
%Basit Adhi Prabowo - UAD Jogjakarta - 18052004
integers = 0 + strings;
function biners = ASCII_STR2BIN(strings)
%ASCII_STR2BIN
%biner = ASCII_STR2BIN(string)
% fungsi ini akan :) merubah string menjadi kode biner (7 bit)
% :) mengembalikan kode biner (7 bit)
%
%Basit Adhi Prabowo - UAD Jogjakarta - 18052004
integers = ASCII_STR2INT(strings); %konversi karakter ke integer
biners = ASCII_INT2BIN(integers); %konversi integer ke biner-ASCII
function strings = ASCII_INT2STR(integers)
%ASCII_INT2STR
%string = ASCII_INT2STR(integer)
% fungsi ini akan :) merubah integer menjadi string
% :) mengembalikan nilai string
%
%Basit Adhi Prabowo - UAD Jogjakarta - 18052004
strings = char(integers);
function biners = ASCII_INT2BIN(integers)
%ASCII_INT2BIN
%biner = ASCII_INT2BIN(integer)
% fungsi ini akan :) merubah integer menjadi kode biner (7 bit)
% :) mengembalikan kode biner (7 bit)
%
%Basit Adhi Prabowo - UAD Jogjakarta - 18052004
[m, kolom] = size(integers);
for i = 1:kolom,
for j = 7:-1:1,
biners(i,j) = mod(integers(i),2);
integers(i) = floor(integers(i)/2);
end
end
function strings = ASCII_BIN2STR(biners)
%ASCII_BIN2STR
%string = ASCII_BIN2STR(biner)
% fungsi ini akan :) merubah kode biner (7 bit) menjadi string
% :) mengembalikan nilai string
%
%Basit Adhi Prabowo - UAD Jogjakarta - 18052004
integers = ASCII_BIN2INT(biners);
strings = ASCII_INT2STR(integers);
function integers = ASCII_BIN2INT(biners)PARITAS
%ASCII_BIN2INT
%integer = ASCII_BIN2INT(biner)
% fungsi ini akan :) merubah kode biner (7 bit) menjadi integer
% :) mengembalikan nilai integer
%
%Basit Adhi Prabowo - UAD Jogjakarta - 18052004
[baris, kolom] = size(biners); %mencari banyak baris dan banyak kolom dari matriks biner
integers = zeros(1,baris); %memberi nilai awal integer dengan 0
for i = 1:baris,
for j = 1:7,
if(biners(i,j) == 1)
integers(i) = integers(i) + 2^(7-j);
end
end
end
function current = PARITAS_GENAP(sinyal)
%PARITAS_GENAP
%current = PARITAS_GENAP(sinyal)
% fungsi ini akan :) Merubah kode 8 atau 7 bit menjadi PARITAS GENAP
% :) mengembalikan pengkodean PARITAS GENAP
%
%Basit Adhi Prabowo - UAD Jogjakarta - 25052004
%revisi 1 - 27052004 - Basit Adhi Prabowo
%versi I -> penambahan di depan
% [baris, kolom] = size(sinyal);
%
% for i=1:baris,
% carisatu = find(sinyal(i,:) == 1);
% jumlahsatu = length(carisatu);
% if kolom == 7
% if mod(jumlahsatu,2) == 1
% current(i,:) = [1 sinyal(i,:)];
% else
% current(i,:) = [0 sinyal(i,:)];
% end
% else
% if mod(jumlahsatu,2) == 1
% if sinyal(i,1) == 1
% current(i,:) = [0 sinyal(i,2:8)];
% else
% current(i,:) = [1 sinyal(i,2:8)];
% end
% else
% current(i,:) = sinyal(i,:);
% end
% end
% end
%versi II -> penambahan di belakang
[baris, kolom] = size(sinyal);
for i=1:baris,
carisatu = find(sinyal(i,:) == 1);
jumlahsatu = length(carisatu);
if kolom == 7
if mod(jumlahsatu,2) == 1
current(i,:) = [sinyal(i,:) 1];
else
current(i,:) = [sinyal(i,:) 0];
end
else
if mod(jumlahsatu,2) == 1
if sinyal(i,8) == 1
current(i,:) = [sinyal(i,1:7) 0];
else
current(i,:) = [sinyal(i,1:7) 1];
end
else
current(i,:) = sinyal(i,:);
end
end
end
function current = PARITAS_GANJIL(sinyal)
%PARITAS_GANJIL
%current = PARITAS_GANJIL(sinyal)
% fungsi ini akan :) Merubah kode 8 atau 7 bit menjadi PARITAS GANJIL
% :) mengembalikan pengkodean PARITAS GANJIL
%
%Basit Adhi Prabowo - UAD Jogjakarta - 25052004
%revisi 1 - 27052004 - Basit Adhi Prabowo
%versi I -> penambahan di depan
% [baris, kolom] = size(sinyal);
%
% for i=1:baris,
% carisatu = find(sinyal(i,:) == 1);
% jumlahsatu = length(carisatu);
% if kolom == 7
% if mod(jumlahsatu,2) == 0
% current(i,:) = [1 sinyal(i,:)];
% else
% current(i,:) = [0 sinyal(i,:)];
% end
% else
% if mod(jumlahsatu,2) == 0
% if sinyal(i,1) == 1
% current(i,:) = [0 sinyal(i,2:8)];
% else
% current(i,:) = [1 sinyal(i,2:8)];
% end
% else
% current(i,:) = sinyal(i,:);
% end
% end
% end
%versi II -> penambahan di belakang
[baris, kolom] = size(sinyal);
for i=1:baris,
carisatu = find(sinyal(i,:) == 1);
jumlahsatu = length(carisatu);
if kolom == 7
if mod(jumlahsatu,2) == 0
current(i,:) = [sinyal(i,:) 1];
else
current(i,:) = [sinyal(i,:) 0];
end
else
if mod(jumlahsatu,2) == 0
if sinyal(i,8) == 1
current(i,:) = [sinyal(i,1:7) 0];
else
current(i,:) = [sinyal(i,1:7) 1];
end
else
current(i,:) = sinyal(i,:);
end
end
end
function current = HAPUS_PARITAS(sinyal)
%HAPUS_PARITAS
%current = HAPUS_PARITAS(sinyal)
% fungsi ini akan :) Menghilangkan paritas sehingga menjadi biner 7 bit
% :) mengembalikan biner 7 bit
%
%Basit Adhi Prabowo - UAD Jogjakarta - 25052004
%revisi 1 - 27052004 - Basit Adhi Prabowo
%versi I -> penambahan di depan
% [baris, kolom] = size(sinyal);
%
% for i=1:baris,
% current(i,:) = sinyal(i,2:8);
% end
%versi II -> penambahan di belakang
[baris, kolom] = size(sinyal);
for i=1:baris,
current(i,:) = sinyal(i,1:7);
end
Tidak ada komentar:
Posting Komentar