Advertisement
BlackBoY_

Untitled

Nov 9th, 2022
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. # Membuat program enkripsi dan dekripsi caesar menggunakan python 3
  2.  
  3. # Rumus Enkripsi : (n + key) % 26
  4. # Rumus Dekripsi : (n - key) % 26
  5. #
  6. # n = merupakan urutan dari abjad yang diinput
  7. # key = merupakan kunci dekripsi atau enkripsi nya
  8. # 26 = merupakan jumlah dari seluruh abjad
  9.  
  10. print("----------------------+ Program Enkripsi Caesar +----------------------")
  11.  
  12. abjad = ['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']
  13. # abjad berfungsi untuk menampung nilai abjad yang ada
  14.  
  15. # fungsi enkripsi dengan parameter abjad
  16. def enkripsi(abjad):
  17. str = input("String : ") #input string yang akan di enkripsi
  18. key = int(input("Key : ")) #kunci untuk pergeseran abjad (enkripsi)
  19.  
  20. str = str.lower() #string dikonversi ke huruf kecil semua
  21. result = '' #deklarasi variable result dengan nilai awal adalah kosong
  22.  
  23. for char in str: #membuat perulangan untuk pergeseran abjad dari string
  24. if char in abjad: #abjad string dipecah 1 1 dan di cek apakah terdapat dalam value abjad
  25. n = abjad.index(char) #jika ada maka nilai index dari abjad yang ditemukan disimpan dalam variable n
  26. k = (n + key) % 26 #rumus enkripsi
  27. convert = abjad[k] #konversi nilai string ke hasil enkripsi
  28. result = result + convert #abjad yang sudah di konversi disimpat dalam variable result dalam bentuk string
  29. else:
  30. result = result + ' ' #jika abjad dari string tidak ditemukan dalam index abjad, maka akan dirubah ke dalam
  31. # bentuk spasi
  32.  
  33. print(f"Result : {result}") #hasil dari perulangan untuk enkripsi string di tampilkan
  34.  
  35.  
  36. #fungsi dekripsi dengan parameter abjad
  37. def dekripsi(abjad):
  38. str = input("String Enkripsi : ") #input string yang akan di dekripsi
  39. key = int(input("Key : ")) #kunci untuk pergeseran abjad (dekripsi)
  40.  
  41. str = str.lower() #string dikonversi ke huruf kecil semua
  42. result = '' #deklarasi variable result dengan nilai awal adalah kosong
  43.  
  44. for char in str: #membuat perulangan untuk pergeseran abjad dari string
  45. if char in abjad: #abjad string dipecah 1 1 dan di cek apakah terdapat dalam value abjad
  46. n = abjad.index(char) #jika ada maka nilai index dari abjad yang ditemukan disimpan dalam variable n
  47. k = (n - key) % 26 #rumus enkripsi
  48. convert = abjad[k] #konversi nilai string ke hasil dekripsi
  49. result = result + convert #abjad yang sudah di konversi disimpat dalam variable result dalam bentuk string
  50. else:
  51. result = result + ' ' #jika abjad dari string tidak ditemukan dalam index abjad, maka akan dirubah ke dalam
  52. # bentuk spasi
  53.  
  54. print(f"Result : {result}") #hasil dari perulangan untuk enkripsi string di tampilkan
  55.  
  56.  
  57. # pembuatan menu
  58. pilihan = 'y'
  59.  
  60. while (pilihan == 'y'):
  61. print("Menu yang tersedia : ")
  62. print("01. Enkripsi Data")
  63. print("02. Dekripsi Data")
  64. print("03. Keluar")
  65.  
  66. menu = input("Menu yang dipilih : ")
  67. print("-------------------------------------")
  68.  
  69. if menu == '1':
  70. print("Menu Enkripsi Data")
  71. enkripsi(abjad)
  72. elif menu == '2':
  73. print("Menu Dekripsi Data")
  74. dekripsi(abjad)
  75. elif menu == '3':
  76. print("Program Selesai, terima kasih.")
  77. break
  78. else:
  79. print("Menu tidak ditemukan")
  80.  
  81.  
  82. print("------------------------------------")
  83. pilihan = input("Apakah ingin melanjutkan ? (Y/n) : ")
  84. print("------------------------------------")
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement