Apa Itu Vigenesia ?
Vigenesia adalah sebuah aplikasi yang dikembangkan untuk memudahkan mahasiswa, khususnya jurusan Informatika, dalam memahami dan menerapkan konsep kriptografi, khususnya Vigenère Cipher. Vigenère Cipher adalah salah satu metode enkripsi klasik yang menggunakan sistem substitusi alfabet berdasarkan kata kunci (key).
Aplikasi ini sangat relevan bagi mahasiswa Informatika karena :
- Memperkuat Pemahaman Kriptografi – Membantu memahami konsep enkripsi dan dekripsi.
- Praktikum Algoritma – Sebagai media pembelajaran implementasi algoritma kriptografi.
- Pengembangan Aplikasi Keamanan – Dapat dikembangkan lebih lanjut untuk keperluan keamanan data.
Selengkapnya : Mengenal Berbagai Platform untuk Meng-Online-kan Project Aplikasi Anda
Contoh Sederhana Aplikasi Vigenesia dengan Flutter
Berikut adalah contoh kode Flutter sederhana untuk membuat aplikasi Vigenesia yang dapat melakukan enkripsi dan dekripsi menggunakan Vigenère Cipher.
Struktur Project :
vigenesia/ ├── lib/ │ ├── main.dart │ └── vigenere_cipher.dart └── pubspec.yaml
File vigenere_cipher.dart (Logika Vigenère Cipher) :
class VigenereCipher {
static String encrypt(String plaintext, String key) {
String result = "";
plaintext = plaintext.toUpperCase();
key = key.toUpperCase();
int keyIndex = 0;
for (int i = 0; i < plaintext.length; i++) {
if (plaintext[i].contains(RegExp(r'[A-Z]'))) {
int plainChar = plaintext.codeUnitAt(i) - 65;
int keyChar = key.codeUnitAt(keyIndex % key.length) - 65;
int encryptedChar = (plainChar + keyChar) % 26;
result += String.fromCharCode(encryptedChar + 65);
keyIndex++;
} else {
result += plaintext[i];
}
}
return result;
}
static String decrypt(String ciphertext, String key) {
String result = "";
ciphertext = ciphertext.toUpperCase();
key = key.toUpperCase();
int keyIndex = 0;
for (int i = 0; i < ciphertext.length; i++) {
if (ciphertext[i].contains(RegExp(r'[A-Z]'))) {
int cipherChar = ciphertext.codeUnitAt(i) - 65;
int keyChar = key.codeUnitAt(keyIndex % key.length) - 65;
int decryptedChar = (cipherChar - keyChar + 26) % 26;
result += String.fromCharCode(decryptedChar + 65);
keyIndex++;
} else {
result += ciphertext[i];
}
}
return result;
}
}
File main.dart (UI Flutter) :
import 'package:flutter/material.dart';
import 'vigenere_cipher.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Vigenesia - Vigenère Cipher',
theme: ThemeData(primarySwatch: Colors.blue),
home: VigenereScreen(),
);
}
}
class VigenereScreen extends StatefulWidget {
@override
_VigenereScreenState createState() => _VigenereScreenState();
}
class _VigenereScreenState extends State<VigenereScreen> {
final TextEditingController _textController = TextEditingController();
final TextEditingController _keyController = TextEditingController();
String _result = "";
void _encrypt() {
setState(() {
_result = VigenereCipher.encrypt(
_textController.text,
_keyController.text,
);
});
}
void _decrypt() {
setState(() {
_result = VigenereCipher.decrypt(
_textController.text,
_keyController.text,
);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Vigenesia - Vigenère Cipher")),
body: Padding(
padding: EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: _textController,
decoration: InputDecoration(
labelText: "Masukkan Teks",
border: OutlineInputBorder(),
),
),
SizedBox(height: 10),
TextField(
controller: _keyController,
decoration: InputDecoration(
labelText: "Masukkan Key",
border: OutlineInputBorder(),
),
),
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: _encrypt,
child: Text("ENKRIPSI"),
),
ElevatedButton(
onPressed: _decrypt,
child: Text("DEKRIPSI"),
),
],
),
SizedBox(height: 20),
Text(
"Hasil: $_result",
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
],
),
),
);
}
}
File pubspec.yaml (Dependencies) :
name: vigenesia
description: Aplikasi Vigenère Cipher untuk pembelajaran kriptografi.
version: 1.0.0
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
dev_dependencies:
flutter_test:
sdk: flutter
Selengkapnya : Selain API Key Free AI Seperti GroqCloud Apa Saja??
Kesimpulan :
Aplikasi Vigenesia adalah alat yang berguna bagi mahasiswa Informatika untuk mempelajari konsep kriptografi, khususnya Vigenère Cipher. Dengan Flutter, kita dapat dengan mudah membuat aplikasi mobile yang interaktif untuk enkripsi dan dekripsi. Aplikasi ini dapat dikembangkan lebih lanjut dengan fitur-fitur seperti :
- Penyimpanan history enkripsi/dekripsi
- Penggunaan database lokal (SQLite)
- Integrasi dengan Firebase untuk penyimpanan cloud
Semoga artikel ini bermanfaat Sahabat SCAI CODE🚀
NOTE : kunjungi juga produk aplikasi kami, kami siap bantu Tugas aplikasi yang mebuat kamu kesulitan atau tidak ada waktu, serahkan ke kami maka akan kami bantu dengan tepat waktu klik disini Untuk Kunjungi Aplikasi Kami