Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024

## PENGAMANAN FILE DOKUMEN DENGAN KOMBINASI ALGORITMA ELGAMAL DAN TEKNIK KOMPRESI ALGORITMA STOUT CODES
Szalfa Saadiatus Sakinah 1* , Asep Id Hadiana 2 , Fatan Kasyidi 3
1,2,3 Program Studi Informatika, Universitas Jenderal Achmad Yani Cimahi email : szalfasaadiatuss20@if.unjani.ac.id 1*
Abstrak: Kemajuan teknologi membawa dampak positif dan negatif, salah satunya risiko peretasan data penting. Keamanan dokumen  menjadi  krusial  untuk  melindungi  informasi  sensitif  dari  akses  dan  modifikasi  yang  tidak  sah.  Penelitian  ini mengamankan dokumen dengan mengombinasikan algoritma kriptografi ElGamal dan teknik kompresi Stout Codes. ElGamal digunakan  untuk  enkripsi,  mengubah  informasi  asli  menjadi  kode  yang  tidak  dapat  dipahami,  sementara  Stout  Codes mengurangi  ukuran  data  untuk  efisiensi  penyimpanan  dan  pengiriman.  Hasil  penelitian  menunjukkan  bahwa  kombinasi algoritma ini efektif dalam mengacak isi dokumen menjadi ciphertext yang sulit dipahami. Pengujian dilakukan pada 10 file dokumen bertipe .docx dan .pdf menghasilkan rata-rata compression ratio sebesar 382% dan space saving sebesar -282% untuk enkripsi-kompresi,  serta  compression  ratio  sebesar  659%  dan  space  saving  sebesar  -559%  untuk  kompresi-enkripsi.  Proses enkripsi-kompresi menunjukkan nilai entropi lebih tinggi yaitu sebesar 6.59828 dibandingkan kompresi-enkripsi yang bernilai 3.214782. Hal ini menunjukkan tingkat keamanan yang lebih baik pada proses enkripsi-kompresi.
Kata Kunci : compression ratio , elgamal, entropi, pengamanan, stout codes
Abstract: Technological advancements bring both positive and negative impacts, one of which is the risk of hacking important data.  Document  security  becomes  crucial  to  protect  sensitive  information  from  unauthorized  access  and  modification.  This research  secures  documents  by  combining  the  ElGamal  cryptographic  algorithm  and  Stout  Codes  compression  technique. ElGamal is used for encryption, transforming original information into incomprehensible code, while Stout Codes reduce data size  for  storage  and  transmission  efficiency.  The  research  results  show  that  this  combination  is  effective  in  scrambling document contents into difficult-to-understand ciphertext. Testing on 10 .docx and .pdf document files resulted in an average compression ratio of 382% and space saving of -282% for encryption-compression, as well as a compression ratio of 659% and space saving of -559% for compression-encryption. The encryption-compression process shows a higher entropy value of 6.59828 compared to compression-encryption at 3.214782, indicating better security in the encryption-compression process.

## Keywords : compression ratio, elgamal, entropy, security, stout codes

## PENDAHULUAN
Tidak dapat dipungkiri bahwa kemajuan teknologi di seluruh dunia berlangsung dengan cepat. Teknologi yang  berkembang  selain  memiliki  dampak  yang  positif  ada  juga  dampak  negatif  untuk  kehidupan.  Salah  satu dampak negatif yang disebabkan adalah adanya pengguna yang melakukan proses hacking dan digunakan untuk hal yang merugikan orang lain. Pada tahun 2022 telah terjadi peretasan data dan dokumen diberbagai Perusahaan di  Indonesia  [1]. Postingan dokumen penting ini diunggah dengan sample data gratis pada situs broken.xx  [1]. Kejadian  seperti  ini  menunjukkan  perlunya  tindakan  yang  lebih  serius  dalam  meningkatkan  keamanan  dan perlindungan dokumen di Indonesia.
Perlindungan dokumen menjadi semakin penting dalam evolusi teknologi, di mana informasi yang diproses atau dikirim melalui jaringan dapat rentan terhadap pencurian oleh pihak yang tidak bertanggung jawab [2]. Salah satu aspek penting dalam menjaga keamanan data adalah melindungi file dokumen dari akses yang tidak sah dan modifikasi  yang  tidak  diinginkan  selama  penyimpanan  dan  pengiriman.  Banyak  teknik  yang  dapat  digunakan dalam  mengamankan  file  dokumen,  salah  satu  yang  sering  digunakan  yaitu  kriptografi,  di  mana  informasi  asli ( plaintext ) diubah menjadi bentuk yang tidak dapat dipahami melalui proses enkripsi [3]. Untuk mengembalikan informasi  asli,  proses  dekripsi  dilakukan  dengan  menggunakan  kunci  yang  sesuai  [3].  Kriptografi  itu  sendiri merupakan bidang studi ilmiah atau teknik yang bertujuan untuk mengamankan informasi digital, transaksi, dan komputasi yang tersebar.
Penelitian  sebelumnya  menjelaskan  bahwa  proses  pengamanan  file  dokumen  dapat  dilakukan  dengan teknik kriptografi menggunakan algoritma ElGamal. Penelitian yang dilakukan oleh [4] menjelaskan, Algoritma ElGamal  terdiri  dari  tiga  proses,  yaitu  pembentukan  kunci,  proses  enkripsi  dan  proses  dekripsi.  Hasil  dari penelitian  ini  adalah  pembuatan  aplikasi  yang  mengikuti  prinsip-prinsip  dari  algortima  ElGamal  dapat mengamankan teks dalam dokumen file Microsoft Word. Aplikasi ini memiliki manfaat signifikan dalam menjaga kerahasiaan dokumen, sehingga hanya penerima yang berhak yang dapat membaca isinya. Melalui penggunaan bahasa pemrograman Visual Basic 2012 dan penerapan algoritma ElGamal, isi teks pada file Word diubah menjadi ciphertext yang  tidak  dapat  dipahami  oleh  pihak  yang  tidak  berwenang.  Pada  penelitian  [5]  telah  melakukan
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
kriptanalisis pada kriptosistem algoritma ElGamal. Dalam penelitian ini untuk mengukur apakah algoritma yang digunakan baik atau tidak melibatkan aspek entropi. Data yang digunakan untuk enkripsi adalah file teks, yang kemudian dilakukan analisis file terenkripsi dengan cryptool. Hasil nilai entropi yang diperoleh dari sebuah file adalah  4,80.  Dengan  mempertimbangkan  nilai  entropi  yang  baik  adalah  mendekati  8,  maka  dapat  disimpulkan bahwa  hasil  pengujian  ini  memenuhi  standar  yang  baik,  karena  nilai  entropi  yang  dihasilkan  lebih  dari setengahnya. Selain itu, penelitian yang dilakukan oleh  [6]  meningkatkan keamanan data bertipe .docx dengan pembangkitan kunci pada algoritma ElGamal. Hasil eksperimen menunjukkan bahwa proses pembangkitan kunci pada algoritma ElGamal efektif dalam mengenkripsi isi pesan dengan ekstensi .docx secara aman. Hal ini terbukti karena  dalam  waktu  selama  15  jam,  kunci  pada  algoritma  ElGamal  belum  mampu  terpecahkan.  Dari  segi keamanan  algoritma  ini  dikatakan  memiliki  tingkat  kekuatan  yang  baik  dalam  meningkatkan  keamanan  data. Namun, dari hasil pengujian terhadap file, menghasil perbedaan ukuran dengan rata-rata 7 kali lipat lebih besar dibandingkan file asli [6].
Selain mempertimbangkan aspek keamanan, penting juga untuk memperhatikan media penyimpanan. Oleh karena  itu,  langkah  tambahan  diperlukan  untuk  mengoptimalkan  penggunaan  media  penyimpanan  dengan melakukan kompresi pada data yang telah diamankan sehingga ukuran data dapat diperkecil. Adapun penelitian yang dilakukan oleh [7] menjelaskan dengan melakukan kompresi, data yang besar dapat dikurangi ukurannya, menghasilkan penghematan ruang penyimpanan. Dengan menggunakan algoritma Stout Code, hasil kompresi dari setiap nilai berbeda-beda, selain itu terdapat kelebihan yang signifikan dalam pengiriman dan pemindahan catatan database sehingga menjadi lebih efisien. Pengujian yang dilakukan adalah dengan mengukur nilai compression ratio yaitu sebesar 49%, dimana compression ratio ini semakin kecil maka semakin baik. Selanjutnya penelitian yang  dilakukan  oleh  [8]  membandingkan  algoritma  Stout  Codes  dengan  algoritma  Elias  Delta  Code  dalam mengkompresi file video, dari hasil experiment algoritma Stout Codes menunjukkan hasil kompresi yang lebih baik dibandingkan algoritma Elias Delta Code. Dalam penggunaan algoritma Stout Code, didapatkan Compression ratio sebesar 0,46%, dan Space saving sebesar 0,9954. Sedangkan, dengan menggunakan algoritma Elias Delta Code, didapatkan Compression ratio sebesar 0,53%, dan Space saving sebesar 0,9947. Penelitian lainnya yang dilakukan oleh [2] mengkombinasikan algoritma Caesar Cipher dengan kompresi Stout Codes, dimana hasil dari penggabungan ini memiliki potensi  untuk meningkatkan keamanan algoritma Caesar Cipher dalam melindungi pesan  dari  serangan  brute  force,  dan  hasil ciphertext yang  telah  dikompresi  terlihat  seperti  hasil  enkripsi  dari algoritma kriptografi modern.
Berdasarkan  penelitian  terdahulu,  algoritma  ElGamal  telah  terbukti  efektif  dalam  menyediakan  tingkat keamanan yang tinggi untuk melindungi data. Hal ini karena algoritma ElGamal menggunakan bilangan prima dalam pembentukan salah satu kuncinya dan mengandalkan kekuatan kunci pada kesulitan pemecahan masalah logaritma  diskrit,  sehingga  keamanan  kuncinya  lebih  terjamin  [6].  Namun,  penggunaan  algoritma  ini membutuhkan resource yang besar terutama untuk file dokumen yang besar, karena hasil ciphertext dari algoritma ini  memiliki  panjang  yang  lebih  besar  dibandingkan plaintext nya.  Di  samping  itu,  algoritma  kompresi  adalah metode yang digunakan  untuk  mengurangi  ukuran data dengan memanfaatkan redundansi informasi. algoritma kompresi Stout Codes, telah dikenal kemampuannya untuk mengompresi data dengan tingkat kompresi yang tinggi tanpa mengorbankan kualitas informasi [9].
Oleh  karena  itu,  pada  penelitian  ini  dilakukan  penggabungan  algoritma  kriptografi  ElGamal  dengan algoritma  kompresi  Stout  Codes.  Penelitian  ini  memanfaatkan  indikator  pengujian  dari  penelitian  sebelumnya sebagai  dasar  untuk  mengukur  kinerja  kompresi  dari  algoritma  Stout  Codes,  serta  tingkat  keamanan  enkripsi setelah penggabungan kedua metode tersebut. Dengan mengkombinasikan kedua algoritma ini, diharapkan dapat menjamin keamanan dokumen yang tinggi serta dapat menghemat penyimpanan dan pengiriman data yang lebih baik.

## TINJAUAN PUSTAKA Penelitian Terdahulu
Berikut ini merupakan penelitian terdahulu yang menjadi acuan dalam penelitian yang sedang dilakukan. Penelitian  sebelumnya  telah  melakukan  pengamanan  terhadap  teks  pada  dokumen  word  dengan menerapkan metode ElGamal sebagai teknik kriptografi untuk keamanan file tersebut.  Hasil dari penelitian ini adalah  menghasilkan  sistem  yang  mampu  mengamankan  file  Microsoft  Word  agar  isinya  tidak  diketahui  oleh pihak yang tidak berwenang, isi teks pada file word tersebut menjadi masukan dan algoritma ElGamal berhasil mengubah teks menjadi kode-kode yang tidak dikenal [4].
Pada penelitian [5] telah melakukan kriptanalisis pada kriptosistem algoritma ElGamal. Dalam penelitian ini  untuk  mengukur  apakah  algoritma  yang  digunakan  baik  atau  tidak  melibatkan  aspek  entropi.  Data  yang digunakan untuk enkripsi adalah file teks, yang kemudian dilakukan analisis file terenkripsi dengan cryptool. Hasil nilai  entropi  yang  diperoleh  dari  sebuah  file  adalah  4,80.  Dengan  mempertimbangkan  nilai  entropi  yang  baik
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
adalah mendekati 8, maka dapat disimpulkan bahwa hasil pengujian ini memenuhi standar yang baik, karena nilai entropi yang dihasilkan lebih dari setengahnya.
Penelitian  sebelumnya  dilakukan  oleh  Aisyatul  Karima  dan  Ari  Saputro,  mengenai  peningkatan keamanan  data  bertipe  .docx  dengan  melakukan  pembangkitan  kunci  pada  algoritma  ElGamal.  Penelitian  ini menyimpulkan bahwa algoritma ElGamal cukup kuat sebagai alternatif dalam meningkatkan keamanan data, hal ini  terbukti  setelah  dilakukan  pengujian  melalui  serangan  brute  force  selama  15  jam  algoritma  tersebut  belum mampu terpecahkan. Adapun dampak dari pengujian terhadap file ini, menghasilkan perbedaan ukuran ciphertext dengan rata-rata sebesar 7 kali lipat dibandingkan file aslinya [6].
Sementara  itu  penelitian  mengenai  algoritma  Stout  Codes  guna  mengkompresi record pada database aplikasi kumpulan novel, berhasil memperkecil ukuran file dengan mengurangi bit pada record database . Dalam penelitian tersebut pengujian dilakukan untuk mengukur hasil kompresi dilakukan berdasarkan aspek compression ratio , menghasil nilai sebesar 49% [7].
Selanjutnya penelitian yang dilakukan oleh Lili Rahmawati, telah membandingkan algoritma Stout Codes dan  Algoritma  Elias  Delta  Code  untuk  mengkompresi  file  video.  Kesimpulan  dari  penelitian  tersebut  yaitu algoritma  Stout  Codes  lebih  efektif  dalam  mengkompresi  file  video  dibandingkan  algoritma  Elias  Delta  Code. Karena, dilihat berdasarkan nilai compression ratio sebesar 0.46% dan space saving sebesar 0.9954% algoritma Stout Codes memiliki  rasio tertinggi  dibandingkan Elias Delta Code yang memperoleh nilai compression ratio sebesar 0.53% dan space saving sebesar 0.9947% [8].
Penelitian  sebelumnya  yang  dilakukan  oleh  [10]  telah  menerapkan  algoritma  Stout  Codes  untuk mengkompresi data text . Pada penelitian tersebut bertujuan untuk melihat bagaimana kinerja algoritma kompresi, dalam penerapan algoritma Stout Codes ini berhasil mengkompresi data text dengan compression ratio sebesar 40% dan space saving sebesar 60%.
Selain itu, penelitian yang dilakukan oleh [2] telah melakukan penggabungan teknik kriptografi Caesar Cipher dan kompresi Stout Codes untuk meningkatkan keamanan algoritma Caesar Cipher. Dari penelitian tersebut menghasilkan ciphertext yang  terlihat  seperti  algoritma  kriptografi  modern  dan  dapat  melindungi  pesan  dari serangan brute force attack.

## Kriptografi
Kata Cryptography berasal dari Bahasa Yunani, yakni dari suku kata Crypto dan graphia. Crypto diartikan sebagai rahasia dan graphia memiliki arti tulisan, jadi kriptografi berarti sebuah tulisan yang memiliki sifat rahasia. Sedangkan secara istilah, kriptografi yaitu suatu ilmu yang dapat melindungi keaslian pesan sehingga tidak mudah untuk disalah gunakan oleh orang yang tidak bertanggung jawab. Menurut Menezes, kriptografi merupakan sebuah ilmu yang di dalamnya membahas suatu teknik matematis berkaitan dengan topik keamanan informasi [11]. Dalam penggunaannya  kriptografi  ini  berguna  dalam  mengidentifikasi  tanda  tangan  digital,  pengiriman  pesan,  dan keaslian sidik jari digital (fingerprint).

## Enkripsi dan Dekripsi
Enkripsi dalam kriptografi sangatlah penting untuk melindungi kerahasiaan data yang dikirim. Enkripsi bisa diartikan dengan cipher atau kode [12]. Proses enkripsi menggantikan pesan asli dengan kode yang tidak dapat dibaca.  Enkripsi  didasarkan  pada  algoritma  yang  mengacak  suatu  informasi  kedalam  format  yang  tidak  dapat dibaca  atau  ditampilkan.  Proses  dekripsi  melibatkan  penggunaan  algoritma  yang  identik  guna  memulihkan informasi yang telah diacak ke dalam bentuk aslinya [12]. Algoritma ini terbentuk dari serangkaian prosedur yang dirancang dengan cermat sehingga berhasil menciptakan bentuk terenkripsi yang tidak dapat diubah kembali oleh siapa pun, bahkan jika mereka mempunyai algoritma yang serupa [13].

## Algoritma ElGamal
Pada  tahun  1985  algoritma  ElGamal  ditemukan  oleh  seorang  ilmuwan  mesir  yakni  Taher  ElGamal. Algoritma  kunci  publik  ElGamal  adalah  algoritma  yang  dapat  melakukan  proses  enkripsi  pada block - block plaintext yang  kemudian  menghasilkan block ciphertext .  Kemudian block - block tersebut  didekripsi  kembali dengan kunci rahasia sehingga hasilnya berubah menjadi plaintext Kembali [14]. Dalam mengimplementasikan algoritma ElGamal terdapat tiga tahap yaitu pembangkitan kunci, proses enkripsi dan dekripsi.
1. Proses Pembangkitan Kunci
Dalam membuat kunci pada algoritma ElGamal ini terdapat beberapa langkah yang perlu dilakukan, yaitu[15]:
a. Masukkan nilai p yang merupakan bilangan prima dengan ketentuan 𝑝 > 255 (publik)
b. Masukkan nilai g yang merupakan bilangan acak dengan ketentuan 𝑔 < 𝑝 (publik)
c. Masukkan nilai x yang merupakan bilangan acak dengan ketentuan 1 ≤ 𝑥 ≤ 𝑝 − 2 ( private )
d. Hitung nilai y dengan rumus
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
𝑦 = 𝑔 𝑥 𝑚𝑜𝑑 𝑝 (1)
e. Menentukan kunci publik dengan nilai dari p,g dan y untuk melakukan enkripsi serta kunci rahasia dari nilai x dan p untuk melakukan dekripsi
2. Proses Enkripsi
Setelah  mendapatkan  kunci  publik  dan  kunci  rahasia,  hal  yang  perlu  dilakukan  adalah  melakukan  proses enkripsi dengan cara sebagai berikut [15]:
a. Susun plaintext menjadi block - block 𝑚 1 , 𝑚 2 ,.., 𝑚 𝑛 yang berada dalam selang [0, p-1] b. Kemudian masukkan bilangan acak k, dengan ketentuan 1 ≤ 𝑘 ≤ 𝑝 − 1 sebanyak m
c. Setiap block dienkripsi dengan rumus:
𝑎 =   𝑔 𝑘 𝑚𝑜𝑑 𝑝 (2)
𝑏 =   𝑦 𝑘 ∙ 𝑚 𝑚𝑜𝑑 𝑝 (3)
d. Susun ciphertext dengan urutan 𝐶 = (𝑎, 𝑏) (4)
3. Proses Dekripsi
Untuk dapat melakukan dekripsi plaintext dapat dilakukan dengan cara [15]:
a. Menghitung plaintext dengan rumus:
𝑚 𝑖 = 𝑏 𝑖 ∙ 𝑎 𝑖 𝑝−1−𝑥 𝑚𝑜𝑑 𝑝 (5)
b. Setelah mendapatkan nilai 𝑚 𝑖 yang berbentuk ASCII, lalu diubah menjadi plaintext Susun plaintext dengan urutan 𝑚 1 , 𝑚 2 ,…, 𝑚 𝑛 .

## Algoritma Stout Codes
Kompresi merupakan suatu proses yang digunakan untuk mengurangi atau memampatkan ukuran sehingga menjadi lebih kecil dari aslinya. Salah satu algoritma yang digunakan untuk melakukan kompresi adalah Stout Code. Algoritma Stout Codes diperkenalkan oleh Queintin Stout dengan dua keluarga rekursi yaitu 𝑅 𝑙 dan 𝑆 𝑙 . Pada keluarga pertama yaitu 𝑅 𝑙 , semakin banyak kelompok panjang yang dibaca hingga kelompok ditemukan diikuti oleh 0 [9]][9]. Lambang B(n, l ) yaitu biner l bit representasi dari bilangan bulat n dengan menggunakan notasi 𝐿 = 1 +   𝐿𝑜𝑔 2 𝑛 . Untuk 𝑙 ≥ 2, didefinisikan dengan [10]:
𝑅 𝑙 𝑛  =   { 𝐵(𝑛, 𝐿),                                     𝑓𝑜𝑟 0 ≤ 𝑛 ≤ 2 l − 1 𝑅 𝑙 (𝐿)𝐵(𝑛, 𝐿)                          𝑓𝑜𝑟 𝑛 ≥ 2 𝑙 (6)
Keluarga  kedua  mirip  dengan  yang  sebelumnya,  tetapi  dengan  awalan  yang  berbeda  dan  dilambangkan dengan 𝑆 𝑙 . Keluarga ini memiliki beberapa peningkatan dari yang sebelumnya yaitu menghapus redudansi yang terdapat  pada  kode 𝑅 𝑙 karena  kelompok  panjang  tidak  boleh  0.  Perbedaan  kedua  keluarga  tersebut  ada  pada kelompok panjang untuk Li dikodekan dengan Li -1 – l. Awalan 𝑆 𝑙 (n) didefinisikan dengan [10]:
𝑅 𝑙 𝑛  =   { 𝐵(𝑛, 𝐿),                                     𝑓𝑜𝑟 0 ≤ 𝑛 ≤ 2 l − 1 𝑅 𝑙 (𝐿  −  1  −  𝑙)𝐵(𝑛, 𝐿)              𝑓𝑜𝑟 𝑛 ≥ 2 𝑙 (7)

## Evaluasi Kompresi
Terdapat beberapa faktor yang digunakan untuk mengukur kualitas data yang dikompresi diantaranya yaitu Compression ratio dan Space saving [10]. Compression ratio merupakan nilai presentase perbandingan antara data yang dikompresi dengan sebelum dikompresi. Sedangkan Space saving merupakan selisih antara data yang belum di  kompresi  dengan  besar  data  yang  dikompresi.  Pada  pengukuran  dengan compression  ratio ,  semakin  kecil nilainya  maka  semakin  baik,  sebaliknya  pada  pengukuran space  saving semakin  tinggi  nilainya maka  semakin baik  [16].  Ukuran  bit  data  file  dokumen  yang  dihasilkan  dari  proses  enkripsi-kompresi  dan  kompresi-enkripsi dapat digunakan dalam menentukan nilai compression ratio dan space saving . Adapun rumus untuk menghitung kinerja kompresi adalah sebagai berikut [10], [16]:
1. Compression ratio ( 𝐶 𝑅 ):
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
𝐶 𝑅 = Ukuran bit data sesudah dikompresi Ukuran bit data sebelum dikompresi × 100% (8)
2. Space saving s ( 𝑆 𝑆 ):
𝑆 𝑆 =  100%  −   𝐶 𝑅
(9)

## Pengujan Entropi
Dalam kriptografi entropi mengacu pada keacakan atau ketidakpastian suatu ciphertext , hal ini berguna untuk membedakan  antara  enkripsi  yang  kuat  dengan  enkripsi  yang  lemah  [5].  Suatu  algoritma  dianggap  memiliki kualitas  enkripsi  yang  baik  apabila  nilai  entropinya  mendekati  8.  Artinya  semakin  tinggi  nilai  entropi  maka semakin  sulit ciphertext tersebut  diketahui.  Pengujian  ini  dilakukan  secara  berurutan  yaitu  setelah  output  dari proses enkripsi-kompresi atau kompresi-enkripsi dihasilkan. Adapun nilai Entropi dapat dihitung dengan rumus dibawah ini [17]:
𝐸(𝑥)   =   − ∑ 𝑃 𝑟 (𝑥) 𝑙𝑜𝑔 2 𝑃 𝑟 (𝑥) (10)

## METODE
Berikut adalah alur metode penelitian yang dilakukan untuk mengamankan file dokumen dengan kombinasi algoritma ElGamal dan algoritma Algoritma Stout Codes dapat dilihat dalam Gambar 1.
Pengumpulan data berupa file dokumen Input file yang akan diuji Kunci Publik Kunci Private Proses Enkripsi file dokumen Kunci Publik File dokumen yang telah terenkripsi Mengganti Karakter dengan Codeword Mengurutkan frekuensi kemunculan tiap karakter Menambahkan Padding dan Flagging File dokumen hasil kompresi File dokumen asli Pembentukan Kunci Elgamal Enkripsi Elgamal Kompresi Stout Codes Dekripsi Algoritma Elgamal Pengujian Algoritma Kunci Private Proses Dekripsi file dokumen Compression Ratio (CR) Space Saving (Ss) Entropy Menghilangkan Padding dan Flagging Memeriksa codeword dan mengganti menjadi karakter aslinya File Dokumen Terenkripsi Dekompresi Algoritma Stout Codes

## Gambar 1. Alur Metode Penelitian
Dalam penelitian ini tahap pertama adalah melakukan pengumpulan data berupa file dokumen. Data yang digunakan  berasal  dari  dokumen  yang  sudah  ada  pada  perangkat  yang  sedang  digunakan,  berisi  teks  yang bersumber dari tugas, dan artikel dari situs website. Kemudian isi dari file dokumen ini hanya berupa teks yang terdiri  dari  karakter,  huruf,  dan  simbol.  Data  yang  digunakan  dalam  penelitian  ini  berjumlah  10  file  dokumen bertipe .docx dan .pdf.
Tahap  selanjutnya adalah  proses  implementasi  algoritma  ElGamal.  Dalam  prosesnya  dilakukan pembentukan kunci  terlebih  dahulu  dengan  menginputkan bilangan prima, lalu menghasilkan kunci  publik dan kunci pribadi. Kemudian melakukan enkripsi dengan menggunakan kunci publik hasil pembentukan kunci, maka terbentuk ciphertext dari isi file dokumen tersebut. Tahap ketiga dilakukan implementasi algoritma Stout Codes untuk mengurangi ukuran bit data sehingga dapat menghemat penyimpanan dan mempercepat dalam proses transfer data. Dala penelitian ini digunakann grup 𝑆 𝑙 untuk  melakukan  kompresi.  Teknik  kompresi  ini  memampatkan  ukuran  bit  data  dengan  cara  mengurutkan frekuensi kemunculan tiap karakter, kemudian mengganti karakter tersebut dengan codeword, lalu menambahkan padding dan flagging, dan menghasilkan file dokumen hasil enkripsi.
Tahap  dekompresi digunakan  untuk  mengembalikan  file  yang  terkompresi.  Tahapan  tersebut  dapat dilakukan  dengan  menginputkan  file  dokumen  yang  telah  terkompresi,  kemudian  menghilangkan  padding  dan flagging, lalu dilakukan pengecekkan string bit, dan menghasilkan file dokumen yang terenkripsi.
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
Tahap  dekripsi digunakan  untuk  mengembalikan  dokumen  yang  telah  terenkripsi  menjadi  dokumen aslinya  agar  dapat  terbaca  oleh  pihak  yang  berwenang.  Proses  dekripsi  dilakukan  dengan  menggunakan  kunci private yang sifatnya rahasia, hanya pihak berwenang yang mengetahuinya. Kemudian masukkan dokumen yang terenkrip, lalu lakukan proses dekrip file, maka isi file dokumen yang asli berhasil dikembalikan.
Dalam tahap pengujian dilakukan serangkaian pengujian terhadap ukuran bit data, dan kemanan enkripsi dalam melindungi isi file. Dalam mengukur kinerja algoritma Stout Codes dan kualitas data yang dikompresi dapat dilakukan dengan menghitung nilai Compression ratio dan Space saving . Kemudian untuk mengukur keamanan setelah  dilakukan  penggabungan  algoritma  ElGamal  dan  Stout  Codes  dilihat  berdasarkan  aspek  Entropi  untuk mengukur tingkat keacakan ciphertext .

## HASIL DAN PEMBAHASAN

## Proses Pembentukan Kunci
Proses  pembentukan  kunci  merupakan  tahap  awal  dalam  mengamankan  file  dokumen.  User  harus menginputkan bilangan  prima dan nama kunci  seperti pada Gambar 2,  maka sistem akan  membentuk  2 kunci yaitu private dan public. Hasil pembentukan kunci dapat dilihat pada Gambar 3 dan Gambar 4.
Gambar 2. Form Pembentukan Kunci
Gambar 3. Kunci Public
Gambar 4. Kunci Private

## Proses Enkripsi
Selanjutnya user dapat melakukan proses pengamanan dengan menginputkan file dokumen dan kunci publik seperti pada Gambar 5. Hasil dari proses enkripsi dapat dilihat pada Gambar 6.
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
Gambar 5. Form Enkripsi
Gambar 6. Hasil Enkripsi

## Proses Kompresi
Hasil pengamanan dengan algoritma ElGamal, membuat ciphertext menjadi lebih panjang daripada palintext, sehingga  memperbesar  ukuran  bit  data.  Oleh  karena  itu,  diperlukan  proses  kompresi  yang  berguna  untuk memperkecil  ukuran  data.  User  dapat  melakukan  kompresi  dengan  menginputkan  file  terenkripsi  seperti  pada Gambar 7. Hasil kompresi dapat dilihat pada Gambar 8.
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024

## Gambar 8. Hasil Kompresi

## Proses Dekompresi
Setelah  dilakukan  kompresi,  untuk  mengembalikan  isi  file  dokumen  perlu  dilakukan  dekompresi  terlebih dahulu. User dapat menginputkan file terkompresi ke dalam form seperti pada Gambar 9. Hasil dekompresi akan mengembalikan isi file dokumen ke ciphertext awal, seperti pada Gambar 10.
Gambar 9. Form Dekompresi
Gambar 10. Hasil Dekompresi

## Proses Dekripsi
Setelah  dilakukan  dekompresi,  untuk  mengembalikan  isi  file  dokumen  ke  informasi  aslinya,  maka  perlu dilakukan  dekripsi.  User  dapat  melakukan  dekripsi  dengan  menginputkan  file  dokumen  terenkripsi  dan menginputkan file kunci private seperti pada Gambar 11. Hasil dekripsi akan mengembalikan isi file dokumen ke informasi aslinya seperti pada Gambar 12.
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
Gambar 11. Form Dekripsi
Gambar 12. Hasil Dekripsi

## Pengujian Kinerja Kompresi
Pengujian ini bertujuan untuk mengukur compression ratio dan space saving dari file dokumen yang telah dilakukan  proses  enkripsi-kompresi  dan  kompresi-enkripsi.  Kemudian  dilakukan  perbandingan  hasil  untuk menentukan proses mana yang lebih efisien digunakan dalam kombinasi algoritma Elgamal dan algoritma Stout Codes.
a. Proses Enkripsi-Kompresi
Dalam proses ini pertama file dokumen akan dilakukan enkripsi dengan algoritma ElGamal terlebih dahulu. Kemudian ciphertext dari hasil enkripsi menjadi inputan untuk dilakukan kompresi dengan algoritma Stout Codes. Format file yang digunakan untuk pengujian ini adalah docx dan pdf dengan masing-masing 5 file yang berbeda. Tabel  1  menunjukkan  hasil  pengujian  kompresi  yang  dilakukan  dengan  penggabungan  algoritma  ElGamal  dan Stout Codes.
Tabel 1. Pengujian Kinerja Kompresi Dalam Proses Enkripsi-Kompresi No Nama File Ukuran Bit Data Nilai Parameter Sebelum Kompresi Setelah Kompresi (Terenkripsi) Compression ratio Space saving 1 UNJANI.docx 48 152 317% -217% 2 e-commerce.docx 5.896 20.080 365% -265% 3 Sistem Oprasi.docx 8.616 29.592 368% -268% 4 Perkembangan Komputer.docx 63.096 253.632 402% -302% 5 Teknologi.docx 80.400 298.456 398% -298% 6 Amankan.pdf 200 488 305% -205% 7 Naskah Puisi.pdf 30.624 115.200 401% -301% 8 Perlindungan.pdf 25.296 92.648 382% -282% 9 TugasRPL.pdf 59.128 235.592 431% -331% 10 Cybercrime.pdf 22.512 89.800 448% -348% Rata-rata 382% 282%
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
b. Proses Kompresi-Enkripsi
Dalam  proses  ini  pertama  file  dokumen  akan  dilakukan  kompresi  dengan  algoritma  Stout  Codes  terlebih dahulu. Kemudian hasil kompresi menjadi inputan untuk dilakukan enkripsi dengan algoritma ElGamal. Format file yang digunakan untuk pengujian ini adalah docx dan pdf dengan masing-masing 5 file yang berbeda. Tabel 2 menunjukkan  hasil  pengujian  keamanan  yang  dilakukan  dengan  penggabungan  algoritma  ElGamal  dan  Stout Codes.
Tabel 2. Pengujian Kinerja Kompresi Dalam Proses Kompresi- Enkripsi No Nama File Ukuran Bit Data Nilai Parameter Sebelum Kompresi Setelah Kompresi (Terenkripsi) Compression ratio Space saving 1 UNJANI.docx 48 280 583% -483% 2 e-commerce.docx 5.896 38.240 649% -549% 3 Sistem Oprasi.docx 8.616 57.240 664% -564% 4 Perkembangan Komputer.docx 63.096 438,664 695% -595% 5 Teknologi.docx 80.400 542.872 675% -575% 6 Amankan.pdf 200 1.032 645% -545% 7 Naskah Puisi.pdf 30.624 228.008 745% -645% 8 Perlindungan.pdf 25.296 167.536 662% -562% 9 TugasRPL.pdf 59.128 382.224 646% -546% 10 Cybercrime.pdf 22.512 141.600 629% -529% Rata-rata 659% -559%
Berdasarkan  hasil  pengujian  yang  dapat  dilihat  pada  Tabel  1  dan  Tabel  2,  kedua  proses  yaitu  enkripsi- kompresi dan kompresi-enkripsi menunjukkan peningkatan ukuran data yang signifikan. Hal ini dapat dilihat dari nilai compression ratio yang tinggi dan nilai space saving yang negatif, yang menunjukkan bahwa ukuran data setelah proses lebih besar dibandingkan dengan data aslinya. Proses enkripsi-kompresi menghasilkan nilai rata- rata compression  ratio sebesar  382%,  dan  nilai  rata-rata space  saving sebesar  -282%.  Sedangkan  pada  proses kompresi-enkripsi  menghasilkan  nilai  rata-rata compression  ratio sebesar  659%,  dengan  nilai  rata-rata space saving sebesar -559%. Di antara kedua proses tersebut, proses enkripsi-kompresi lebih efisien dalam mengurangi ukuran bit data pada file dokumen, hal tersebut karena ukuran data hasil proses bergantung pada proses kompresi yang berguna untuk mengurangi data, bukan dari proses enkripsi yang justru membuat ukuran data menjadi lebih besar.

## Pengujian Entropi
Pengujian ini bertujuan untuk mengukur seberapa aman file dokumen yang telah dilakukan proses enkripsi- kompresi  dan  kompresi-enkripsi  berdasarkan  nilai  Entropi.  Kemudian  dilakukan  perbandingan  hasil  untuk menentukan proses mana yang lebih efisien digunakan dalam kombinasi algoritma ElGamal dan algoritma Stout Codes. Berikut ini merupakan hasil dari indikator pengujian algoritma ElGamal:
a. Proses Enkripsi-Kompresi
Dalam proses ini pertama file dokumen akan dilakukan enkripsi dengan algoritma ElGamal terlebih dahulu. Kemudian ciphertext dari hasil enkripsi menjadi inputan untuk dilakukan kompresi dengan algoritma Stout Codes. Format file yang digunakan untuk pengujian ini adalah docx dan pdf dengan masing-masing 5 file yang berbeda. Tabel 3 menunjukkan hasil pengujian keamanan yang dilakukan dengan penggabungan algoritma ElGamal dan Stout Codes.
Tabel 3. Pengujian Entropi Dalam Proses Enkripsi- Kompresi No Nama File Jumlah Karakter Nilai Entropi Enkripsi Nilai Entropi Kompres 1 UNJANI.docx 6 2.97101 4.14266 2 e-commerce.docx 737 3.23191 7.05666 3 Sistem Oprasi.docx 1.081 3.23538 7.05305 4 Perkembangan Komputer.docx 8.503 3.29333 7.05679 5 Teknologi.docx 10.141 3.28721 7.09425
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
6 Amankan.pdf 25 3.08574 5.51049 7 Naskah Puisi.pdf 3.567 3.27140 7.01845 8 PerlindunganHukum.pdf 3.097 3.28038 7.02555 9 TugasRPL.pdf 7.201 3.33506 7.02095 10 Cybercrime.pdf 2.765 3.33097 7.00395 Rata-rata 3.232239 6.59828

## b. Proses Kompresi-Enkripsi
Dalam  proses  ini  pertama  file  dokumen  akan  dilakukan  kompresi  dengan  algoritma  Stout  Codes  terlebih dahulu. Kemudian hasil kompresi menjadi inputan untuk dilakukan enkripsi dengan algoritma ElGamal. Format file yang digunakan untuk pengujian ini adalah docx dan pdf dengan masing-masing 5 file yang berbeda. Tabel 4 menunjukkan  hasil  pengujian  keamanan  yang  dilakukan  dengan  penggabungan  algoritma  ElGamal  dan  Stout Codes.
Tabel 4. Pengujian Entropi Dalam Proses Kompresi- Enkripsi No Nama File Jumlah Karakter Nilai Entropi Kompresi Nilai Entropi Enkripsi 1 UNJANI.docx 6 1.58496 2.82273 2 e-commerce.docx 737 7.06481 3.23725 3 Sistem Oprasi.docx 10.81 7.32106 3.23901 4 Perkembangan Komputer.docx 8.503 7.49799 3.29273 5 Teknologi.docx 10.141 7.53203 3.28787 6 Amankan.pdf 25 3.45943 3.05403 7 Naskah Puisi.pdf 3.567 7.62154 3.26667 8 PerlindunganHukum.pdf 3.097 7.33889 3.27958 9 TugasRPL.pdf 72.01 7.39271 3.33584 10 Cybercrime.pdf 2.765 7.30565 3.33211 Rata-rata 6.411907 3.214782
Berdasarkan  hasil  pengujian  pada  Tabel  3  dan  Tabel  4  diatas,  dapat  diketahui  nilai  entropi  dari  kedua proses, yaitu enkripsi-kompresi dan kompresi-enkripsi. Proses enkripsi-kompresi memiliki rata-rata nilai entropi yang  lebih  tinggi  yaitu  sebesar  6.59828,  dibandingkan  dengan  nilai  entropi  dalam  proses  kompresi-enkripsi dengan rata-rata nilai entropi yaitu sebesar 3.214782. Dalam proses enkripsi-kompresi, nilai entropi meningkat setelah proses kompresi dilakukan. Hal ini karena hasil kompresi membuat ciphertext elgamal yang semula hanya berupa  angka saja menjadi  terlihat  seperti hasil  enkripsi  dengan kriptografi modern, serta membuat ciphertext menjadi lebih acak dan sulit untuk diketahui, maka dapat dikatakan memiliki tingkat keamanan yang lebih baik. Berbeda dengan ciphertext hasil enkripsi pada proses kompresi-enkripsi yang hanya terdiri dari angka acak saja, sehingga menunjukkan nilai entropi yang rendah.

## KESIMPULAN DAN SARAN
Berdasarkan hasil penerapan dan pengujian yang telah dilakukan, maka dapat disimpulkan bahwa dengan mengkombinasikan algoritma elgamal dan kompresi stout codes tidak memberikan hasil yang maksimal dalam mengurangi ukuran bit data file dokumen. Hasil Pengujian menunjukkan nilai compression ratio yang tinggi dan space  saving yang  bernilai  negatif,  artinya  ukuran  file  dokumen  lebih  besar  dibandingkan  dengan  file  aslinya. Proses enkripsi-kompresi menghasilkan nilai rata-rata compression ratio sebesar 382%, dan nilai rata-rata space saving sebesar -282%. Sedangkan pada proses kompresi-enkripsi menghasilkan nilai rata-rata compression ratio sebesar 659%, dengan nilai  rata-rata space saving sebesar  -559%. Dari aspek entropi proses enkripsi-kompresi memiliki rata-rata nilai entropi yang lebih tinggi yaitu sebesar 6.59828, dibandingkan dengan nilai entropi dalam proses  kompresi-enkripsi  dengan  rata-rata  nilai  yaitu  sebesar  3.214782.  Jika  dilihat  dari  segi  urutan  proses algoritma,  urutan  enkripsi-kompresi  memberikan  hasil  yang  lebih  efisien.  Hal  ini  karena  ukuran  data  akhir dipengaruhi  oleh  proses  kompresi  yang  berguna  dalam  mengurangi  ukuran  data.  Selain  itu  hasil  kompresi membuat ciphertext elgamal yang semula hanya berupa angka saja menjadi terlihat seperti hasil enkripsi dengan kriptografi modern, serta membuat ciphertext menjadi lebih acak dan sulit untuk diketahui, maka dapat dikatakan memiliki tingkat keamanan yang lebih baik.
Saran  untuk  penelitian  selanjutnya  agar  isi  file  dokumen  dapat  dikembangkan  dengan  menambahkan gambar didalam file, sehingga isi file dokumen yang dienkripsi tidak hanya berbentuk teks saja. Penelitian lebih
Jurnal Informatika Teknologi dan Sains (JINTEKS) E-ISSN : 2686-3359 Submit July 02, 2024 | Revised July 03, 2024 | Accepted July 07, 2024
lanjut perlu dilakukan untuk mendapatkan cara agar mencapai keseimbangan antara pengurangan ukuran file dan peningkatan keamanan.

## DAFTAR PUSTAKA
[1] Zulva  Wahyu  Mumpuni  Eka  Putra,  “Kebocoran  Data  dan  Dokumen  Rahasia  di  21.000  Perusahaan Indonesia,” https://www.uinsaid.ac.id/. Accessed: Feb. 16, 2023. [Online]. Available: https://www.uinsaid.ac.id/id/kebocoran-data-dan-dokumen-rahasia-di-21000-perusahaan-indonesia
[2] M. Mesran and S. D. Nasution, “Peningkatan Keamanan Kriptografi Caesar Cipher dengan Menerapkan Algoritma Kompresi Stout Codes,” Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) , vol. 4, no. 6, 2020, doi: 10.29207/resti.v4i6.2730.
[3] F. Husaini, A. M. H. Pardede, and I. Gultom, “Penerapan Enkripsi Menggunakan Metode Elgamal guna Meningkatkan Keamanan Data Text dan Gambar,” JUKI : Jurnal Komputer dan Informatika , vol. 4, 2022.
[4] R.  A.  P.  A.  S.  Z.  Abdul  Halim  Hasugian,  “Penerapan  Metode  Elgamal  Untuk  Mengamankan  Teks Pada  File Dokumen Word,” Kajian Ilmiah Informatika dan Komputer , vol. 4, no. 2, pp. 1143–1153, Oct. 2023, doi: DOI 10.30865/klik.v4i2.1277 https://djournals.com/klik.
[5] M. Das and R. Chakraborty, “Statistical Cryptanalysis of ElGamal Cryptosystem for measuring security in disruptive technology,” in 2022 Second International Conference on Computer Science, Engineering and Applications (ICCSEA) , IEEE, Sep. 2022, pp. 1–5. doi: 10.1109/ICCSEA54677.2022.9936396.
[6] A. Karima and A. Saputro, “Pembangkitan Kunci pada Algoritma Asimetris ElGamal untuk Meningkatkan Keamanan Data bertipe .docx,” SISFOTENIKA , vol. 6, no. 2, Jul. 2016, doi: 10.30700/jst.v6i2.120.
[7] Lamsah and D. P. Utomo, “Penerapan Algoritma Stout Codes Untuk Kompresi Record Pada Databade Di Aplikasi Kumpulan Novel,” KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) , vol. 4, no. 1, 2020, doi: 10.30865/komik.v4i1.2710.
[8] L. Rahmawati and M. Yus, “Perbandingan Algoritma Stout Code Dan Algoritma Elias Delta Code Dalam Kompresi  File  Video,” Nasional  Teknologi  Informasi  dan  Komputer) ,  vol.  6,  no.  1,  2022,  doi: 10.30865/komik.v6i1.5689.
[9] R.  Tamala  and  A.  Sitanggang,  “Penerapan  Algoritma  Stout  Codes  Untuk  Kompresi  Databases  Pada Pinjaman  Online,” Bulletin  of  Information  Technology  (BIT) ,  vol.  3,  no.  3,  pp.  189–194,  2022,  doi: 10.47065/bit.v3i1.
[10] S. D. Nasution, “Data Compression Using Stout Codes,” The IJICS (International Journal of Informatics and Computer Science) , vol. 3, no. 1, 2019, doi: 10.30865/ijics.v3i1.1362.
[11] E.  Rahmawati  Agustina,  A.  Kurniati,  L.  Sandi  Negara,  J.  R.  Harsono  No,  P.  Minggu,  and  J.  Selatan, “PEMANFAATAN KRIPTOGRAFI DALAM MEWUJUDKAN KEAMANAN INFORMASI PADA e- VOTING DI INDONESIA,” Seminar Nasional Informatika , 2009.
[12] M. A. Jimale et al. , “Authenticated Encryption Schemes: A Systematic Review,” IEEE Access , vol. 10. 2022. doi: 10.1109/ACCESS.2022.3147201.
[13] M. H. T. A. Thoriq, A. I. H. Asep, and P. N. S. Puspita, “Data Encryption Pada File Video Menggunakan Algoritma Blowfish Berbasis Android,” Informatics and Digital Expert (INDEX) , vol. 4, no. 1, 2022, doi: 10.36423/index.v4i1.880.
[14] E. Saragih, D. Siregar, and H. Dafitri, “Implementasi Penyisipan Pesan Teks Terenkripsi Menggunakan Kriptografi ElGamal pada Citra Digital Menggunakan Steganogarafi LSB,” Jurnal SAINTIKOM (Jurnal Sains Manajemen Informatika dan Komputer) , vol. 22, no. 2, 2023, doi: 10.53513/jis.v22i2.8755.
[15] M. D. Boomija and S. V. K. Raja, “Secure data sharing through additive similarity based ElGamal like encryption,” in Proceeding of IEEE - 2nd International Conference on Advances in Electrical, Electronics, Information, Communication and Bio-Informatics, IEEE - AEEICB 2016 , 2016. doi: 10.1109/AEEICB.2016.7538370.
[16] A. Gopinath and M. Ravisankar, “Comparison of Lossless Data Compression Techniques,” in Proceedings of  the  5th  International  Conference  on  Inventive  Computation  Technologies,  ICICT  2020 ,  2020.  doi: 10.1109/ICICT48043.2020.9112516.
[17] V. M. Silva-García, R. Flores-Carapia, and M. A. Cardona-López, “A Hybrid Cryptosystem Incorporating a  New  Algorithm  for  Improved  Entropy,” Entropy ,  vol.  26,  no.  2,  p.  154,  Feb.  2024,  doi: 10.3390/e26020154.