Dalam membuat program sederhana ini kita menggunakan Class Object InetAdress, DatagramPacket dan MulticastSocket. Dalam program ini sudah dapat mengirim file *.txt
programnya silakan donlot disini
Dalam membuat program sederhana ini kita menggunakan Class Object InetAdress, DatagramPacket dan MulticastSocket. Dalam program ini sudah dapat mengirim file *.txt
programnya silakan donlot disini
A. Server, yaitu aplikasi server yang diinstal ke komputer yang digunakan sebagai server. Dimana dalam komputer itu juga terdapat databasenya. Aplikasi server terdapat 2 layar yaitu:
· Exit Client, Untuk Mengeluarkan Aplikasi Client dari server
· Restart Client, Untuk me-restart komputer client
· Turn Off, Untuk mematikan atau Turn Off Komputer client
· Log Off, Untuk me-Log Off komputer client
B. Client Operator, yaitu aplikasi untuk operator yang akan melayani antrian, dimana maksimal jumlah Client Operator ini maksimal 10. Terdapat menu untuk mengatur koneksi ke aplikasi server dan ke database server.
C. Client Utama yaitu aplikasi yang akan digunakan oleh pengguna sistem antrian untuk mengambil nomor antrian. Terdapat menu untuk mengatur koneksi ke aplikasi server dan database server.
Berikut Screenshootnya... :D
Langkah 1
Buat Form seperti dibawah ini :Langkah 2
Tambahkan event click pada btnOK , btnCancel dan List1
- event click btnOK
Private Sub btnOK_Click()
Dim Sql As String
Dim row As Long
'//error traping
On Error GoTo kesini
List1.Clear
List2.Clear
If connMySQL.State = MY_CONN_OPEN Then connMySQL.CloseConnection
'// buka koneksi
connMySQL.OpenConnection txtDBServer.Text, txtUser.Text, txtPass.Text, "", txtPort.Text
If connMySQL.State = MY_CONN_OPEN Then
Sql = "SHOW DATABASES;"
Set myRS = connMySQL.Execute(Sql, row)
If myRS.RecordCount = 0 Then Exit Sub
myRS.MoveFirst
Do Until myRS.EOF
List1.AddItem myRS.Fields(0).Value
myRS.MoveNext
Loop
myRS.CloseRecordset
Else
MsgBox connMySQL.Error.Description, vbCritical, "Error " & connMySQL.Error.Number
End If
'___________________________________________________________
On Error GoTo 0
Exit Sub
kesini:
MsgBox connMySQL.Error.Description, vbCritical, "Error " & connMySQL.Error.Number
End Sub
- event click btnCancel
Private Sub btnCancel_Click()
txtDBServer.Text = ""
txtPass.Text = ""
txtPort.Text = ""
txtUser.Text = ""
End Sub
- event click List1
Private Sub List1_Click()
Dim Sql As String
Dim row As Long
List2.Clear
On Error Resume Next
If connMySQL.State = MY_CONN_OPEN Then
Sql = "USE " & List1.Text & ";"
connMySQL.Execute Sql
Sql = "SHOW TABLES;"
Set myRS = connMySQL.Execute(Sql, row)
If myRS.RecordCount = 0 Then Exit Sub
myRS.MoveFirst
Do Until myRS.EOF
List2.AddItem myRS.Fields(0).Value
myRS.MoveNext
Loop
myRS.CloseRecordset
End If
End Sub
Plaintext nya adalah SOUND THE RETREAT dan key(password) adalah DEADFED, dan setelah melakukan enkripsi akan menghasilkan VSUQI XKH VEWWIDW. Coba anda perhatikan kolom untuk plaintext dan baris untuk key. Huruf S pada plaintext bertemu dengan huruf D pada key, maka hasilnya V yang ada pada ciphertext.
Naaaahhh... udah mudengkan, kalo belum, mudeng-mudengin aja deh, hehehehehe
Oke sekarang kita buat programnya.. buka alat perangnya (Netbeans – ane pake Netbean 6.9.1).. hehe
String hasil="";
private char [] pass;
private char [] pass2;
private char [] huruf = {'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','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','s','t','u','v','w','x','y','z'};
private char [] rotasi_13={'N','O','P','Q','R','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','s','t','u','v','w','x','y','z',
'a','b','c','d','e','f','g','h','i','j','k','l','m'};
private String kriptografiCaesarChipper(String plainTeks,int panjang,int ambil){
char charEnkrip;
if(ambil
charEnkrip=plainTeks.charAt(ambil);
if (charEnkrip==' '){
hasil=hasil+" ";
}
else{
for(int i=0;i<52;i++){
if(charEnkrip == huruf[i]) {
hasil = hasil + rotasi_13[i];
break;
}
}
}
kriptografiCaesarChipper(plainTeks,panjang,ambil+1);
}
return hasil;
}
private void ConcatPass(String plainTeks,String password){
int jmlSpasi=0;
int indexCurPass2;
pass = new char[password.length()];
int indexPass=0;
for (int x=0;x
if (!(password.charAt(x)==' ')) {
pass[indexPass]=password.charAt(x);
indexPass=indexPass+1;
}
}
int panjang = plainTeks.length();
pass2 = new char[panjang];
int indexCharPass;
for (int i=0;i
if(i
if (plainTeks.charAt(i)==' '){
pass2[i]=' ';
jmlSpasi++;
}
else{
indexCurPass2=i-jmlSpasi;
pass2[i]=pass[indexCurPass2];
}
}
else{
if (plainTeks.charAt(i)==' '){
pass2[i]=' ';
jmlSpasi++;
}
else{
indexCurPass2 = i - jmlSpasi;
indexCharPass = indexCurPass2%password.length();
pass2[i]=pass[indexCharPass];
}
}
}
}
// mengenkrip, jika ada spasi di password maka dianggap A atau index huruf=0;
private String kriptografiEnkripVegenere(String plainTeks,int panjang,int ambil, int jenis){
int indexBaris=0;
int indexKolom=0;
int indexCharHasil=0;
char charEnkrip,passEnkrip;
if(ambil
charEnkrip=plainTeks.charAt(ambil);
passEnkrip = pass2[ambil];
if (charEnkrip==' '){
hasil=hasil+" ";
}
else{
if (jenis == 1 ) {
for(int i=0;i<26;i++){
if(charEnkrip == huruf[i]) {
indexKolom=i;
break;
}
}
for(int i=0;i<26;i++){
if(passEnkrip == huruf[i]) {
indexBaris = i;
break;
}
}
indexCharHasil = indexBaris + indexKolom;
indexCharHasil = indexCharHasil%26;
hasil = hasil + huruf[indexCharHasil];
}
else if(jenis == 2) {
for(int i=26;i<52;i++){
if(charEnkrip == huruf[i]) {
indexKolom=i;
break;
}
}
for(int i=26;i<52;i++){
if(passEnkrip == huruf[i]) {
indexBaris = i;
break;
}
}
indexCharHasil = indexBaris + indexKolom;
indexCharHasil = (indexCharHasil%52);
if (indexCharHasil<26){
indexCharHasil = indexCharHasil+26;
}
hasil = hasil + huruf[indexCharHasil];
}
else if(jenis == 3) {
for(int i=0;i<52;i++){
if(charEnkrip == huruf[i]) {
indexKolom=i;
break;
}
}
for(int i=0;i<52;i++){
if(passEnkrip == huruf[i]) {
indexBaris = i;
break;
}
}
indexCharHasil = indexBaris + indexKolom;
indexCharHasil = indexCharHasil%52;
hasil = hasil + huruf[indexCharHasil];
}
}
kriptografiEnkripVegenere(plainTeks,panjang,ambil+1,jenis);
}
return hasil;
}
// mendekrip, jika ada spasi di password maka di angggap A atau index huruf nya 0
private String kriptografiDekripVegenere(String chiperText,int panjang,int ambil, int jenis){
int indexBaris=0;
int indexChiper=0;
int indexCharHasil=0;
char charDekrip,passEnkrip;
if(ambil
charDekrip=chiperText.charAt(ambil);
passEnkrip = pass2[ambil];
if (charDekrip==' '){
hasil=hasil+" ";
}
else{
if (jenis == 1 ) {
for(int i=0;i<26;i++){
if(charDekrip == huruf[i]) {
indexChiper=i;
break;
}
}
for(int i=0;i<26;i++){
if(passEnkrip == huruf[i]) {
indexBaris = i;
break;
}
}
if (indexChiper
indexCharHasil = 26 + (indexChiper - indexBaris);
}
else {
indexCharHasil = indexChiper - indexBaris;
}
hasil = hasil + huruf[indexCharHasil];
}
else if(jenis == 2) {
for(int i=26;i<52;i++){
if(charDekrip == huruf[i]) {
indexChiper=i;
break;
}
}
for(int i=26;i<52;i++){
if(passEnkrip == huruf[i]) {
indexBaris = i;
break;
}
}
if (indexChiper
indexCharHasil = 52-indexBaris;
indexCharHasil += indexChiper-26;
indexCharHasil +=26;
}
else {
indexCharHasil = (indexChiper - indexBaris);
indexCharHasil %=26;
indexCharHasil +=26;
}
hasil = hasil + huruf[indexCharHasil];
}
else if(jenis == 3) {
for(int i=0;i<52;i++){
if(charDekrip == huruf[i]) {
indexChiper=i;
break;
}
}
for(int i=0;i<52;i++){
if(passEnkrip == huruf[i]) {
indexBaris = i;
break;
}
}
if (indexChiper
indexCharHasil = 26 + (indexChiper - indexBaris);
}
else {
indexCharHasil = indexChiper - indexBaris;
}
hasil = hasil + huruf[indexCharHasil];
}
}
kriptografiDekripVegenere(chiperText,panjang,ambil+1,jenis);
}
return hasil;
}
private void enkrip(int jenis){
if (jenis == 1 ){
hasil="";
txtHasil.setString("");
txtKata.setString(txtKata.getString().toUpperCase());
txtPass.setString(txtPass.getString().toUpperCase());
ConcatPass(txtKata.getString(),txtPass.getString());
}
if (jenis == 2 ){
hasil="";
txtHasil.setString("");
txtKata.setString(txtKata.getString().toLowerCase());
txtPass.setString(txtPass.getString().toLowerCase());
ConcatPass(txtKata.getString(),txtPass.getString());
}
if (jenis == 3 ){
hasil="";
txtHasil.setString("");
ConcatPass(txtKata.getString(),txtPass.getString());
}
txtHasil.setString(kriptografiEnkripVegenere(txtKata.getString(), txtKata.getString().length(), 0,jenis));
}
private void dekrip(int jenis){
if (jenis == 1 ){
hasil="";
txtHasil.setString("");
txtKata.setString(txtKata.getString().toUpperCase());
txtPass.setString(txtPass.getString().toUpperCase());
ConcatPass(txtKata.getString(),txtPass.getString());
}
if (jenis == 2 ){
hasil="";
txtHasil.setString("");
txtKata.setString(txtKata.getString().toLowerCase());
txtPass.setString(txtPass.getString().toLowerCase());
ConcatPass(txtKata.getString(),txtPass.getString());
}
if (jenis == 3 ){
hasil="";
txtHasil.setString("");
ConcatPass(txtKata.getString(),txtPass.getString());
}
txtHasil.setString(kriptografiDekripVegenere(txtKata.getString(), txtKata.getString().length(), 0,jenis));
}
Selanjutnya anda panggil method-method diatas dari command item yang ada pada editor Chaesar Chiper atau Vigenere Chiper yang sesuai. Silahkan download hasil programnya disini