Menerapkan CRC menggunakan bahasa C
#include <stdio.h> #include <conio.h> #include <string.h> void main() { int i,j,keylen,msglen; char input[100], key[30],temp[30],quot[100],rem[30],key1[30]; clrscr(); printf("Enter Data: "); gets(input); printf("Enter Key: "); gets(key); keylen=strlen(key); msglen=strlen(input); strcpy(key1,key); for (i=0;i<keylen-1;i++) { input[msglen+i]='0'; } for (i=0;i<keylen;i++) temp[i]=input[i]; for (i=0;i<msglen;i++) { quot[i]=temp[0]; if(quot[i]=='0') for (j=0;j<keylen;j++) key[j]='0'; else for (j=0;j<keylen;j++) key[j]=key1[j]; for (j=keylen-1;j>0;j--) { if(temp[j]==key[j]) rem[j-1]='0'; else rem[j-1]='1'; } rem[keylen-1]=input[i+keylen]; strcpy(temp,rem); } strcpy(rem,temp); printf("\nQuotient is "); for (i=0;i<msglen;i++) printf("%c",quot[i]); printf("\nRemainder is "); for (i=0;i<keylen-1;i++) printf("%c",rem[i]); printf("\nFinal data is: "); for (i=0;i<msglen;i++) printf("%c",input[i]); for (i=0;i<keylen-1;i++) printf("%c",rem[i]); getch();}
Powerful Partridge