Perbandingan Algoritma Even-Rodeh Code dan Algoritma Variable Length Binary Encoding (VLBE) Pada Kompresi File Teks
69
LISTING PROGRAM
1. Rodeh
Even- Code
// fungsi untuk membangkitkan kode even-rodeh
public static String GetEvenRodeh(int n)
{
StringBuilder sb = new StringBuilder();
if (n < 4)
{
String c = DecToBin(n);
int lc = c.Length;
for (int i = 0; i < 3 - lc; i++)
sb.Append("0");
sb.Append(c);
return sb.ToString();
}
if (n >= 4 && n < 8)
{
sb.Append(DecToBin(n));
sb.Append("0");
return sb.ToString();
}
String nbin = DecToBin(n);
sb.Append(DecToBin(nbin.Length));
sb.Append(nbin);
sb.Append("0");
return sb.ToString();
}
//fungsi untuk algoritma even-rodeh code
public static void EvenRodehCodes(String st)
{
int[] freq = CountFreq(st);
String charset = GetCharSet(st);
int t = charset.Length;
InsertionSort(freq, charset);
freq = fr;
charset = cs;
erc = new String[t];
int c = 0;
for (int n = 0; n < t; n++)
erc[c++] = GetEvenRodeh(n);
}
2. Variable Length Binary Encoding
// mengubah strings menajadi stringbits
public static String StringToStb(String
Universitas Sumatera Utara
70
st, String c, String[] s)
{
StringBuilder stb = new StringBuilder();
for (int i = 0; i < st.Length; i++)
{
String z = Char.ToString(st[i]);
int k = c.IndexOf(z);
stb.Append(s[k]);
}
int x = stb.Length % 8;
int pad = 0;
if (x != 0)
{
pad = 8 - x;
for (int i = 0; i < pad; i++)
stb.Append("0");
}
String d = DecToBin(pad);
int y = 8 - d.Length;
for (int i = 0; i < y; i++)
stb.Append("0");
stb.Append(d);
return stb.ToString();
}
Universitas Sumatera Utara
71
// fungsi untuk algoritma vlbe
public static void VLBE(String st)
{
int[] freq = CountFreq(st);
String charset = GetCharSet(st);
int t = charset.Length;
InsertionSort(freq, charset);
freq = fr;
charset = cs;
vlbe = new String[t];
vlbe[0] = "0";
StringBuilder v;
for (int n = 1; n < t - 1; n++)
{
v = new StringBuilder(vlbe[n - 1]);
v.Insert(0, "1");
vlbe[n] = v.ToString();
}
v = new StringBuilder(vlbe[t - 2]);
v.Replace("0", "1");
vlbe[t - 1] = v.ToString();
}
Universitas Sumatera Utara
69
DAFTAR RIWAYAT HIDUP
Data Pr ibadi
Nama
: Ade Rani Abdullah
Tempat/Tanggal Lahir
: Padangsidimpuan, 10
November 1993
Tinggi/Berat Badan
: 160 cm / 45 kg
Agama
: Islam
Kewarganegaraan
: Indonesia
Alamat Sekarang
: Jalan Pelita 2 No. 84
Alamat Orang Tua
: Jalan Soripada Mulia Gg. Sarasi 9 No. 32
Telp/ Hp
: 0878 6817 2249
Email
: [email protected]
--------------------------------------------------------------------------------------------------------
Riwayat Pendidikan
[2012 – sekarang]
: S1 Ilmu Komputer Universitas Sumatera Utara
[2009 – 2012]
: SMA Negeri 4 Padangsidimpuan
[2006 – 2009]
: MTs YPKS Padangsidimpuan
[2000 – 2006]
: SD Negeri Pitara I Depok
--------------------------------------------------------------------------------------------------------
Keahlian/Kur sus
Keahlian Komputer
Pemrograman
: C#
Database
: MySQL
Multimedia
: Adobe Flash
Perkantoran
: Microsoft Office
--------------------------------------------------------------------------------------------------------
Universitas Sumatera Utara
70
Pengalaman Organisasi
[2010 – 2011]
Anggota Hubungan Masyarakat OSIS SMA Negeri 4
Padangsidimpuan
[2012 – 2013]
Anggota Dana IMAKOPASID
[2015 – sekarang]
Sekretaris Departemen Hubungan Masyarakat IMILKOM USU
--------------------------------------------------------------------------------------------------------
Pengalaman Kepanitiaan
[2012]
Anggota Humas Dies Natalis 11th S1 Ilmu Komputer USU
[2013]
Anggota Konsumsi ARTechno
[2013]
Anggota Humas Ilkom Goes To School (IGTS)
[2014]
Anggota Humas Porseni Imilkom
[2014]
Anggota Dana PMB S1 Ilmu Komputer USU
--------------------------------------------------------------------------------------------------------
Seminar
[2013]
Seminar Internasional Forum Bisnis (MIBEX 2013)
[2013]
Seminar Nasional Gelora Literasi Teknologi Informasi & Komunikasi
“SI GELITIK”
[2014]
Seminar Nasional Literasi Informasi “SENARAI”
Universitas Sumatera Utara
LISTING PROGRAM
1. Rodeh
Even- Code
// fungsi untuk membangkitkan kode even-rodeh
public static String GetEvenRodeh(int n)
{
StringBuilder sb = new StringBuilder();
if (n < 4)
{
String c = DecToBin(n);
int lc = c.Length;
for (int i = 0; i < 3 - lc; i++)
sb.Append("0");
sb.Append(c);
return sb.ToString();
}
if (n >= 4 && n < 8)
{
sb.Append(DecToBin(n));
sb.Append("0");
return sb.ToString();
}
String nbin = DecToBin(n);
sb.Append(DecToBin(nbin.Length));
sb.Append(nbin);
sb.Append("0");
return sb.ToString();
}
//fungsi untuk algoritma even-rodeh code
public static void EvenRodehCodes(String st)
{
int[] freq = CountFreq(st);
String charset = GetCharSet(st);
int t = charset.Length;
InsertionSort(freq, charset);
freq = fr;
charset = cs;
erc = new String[t];
int c = 0;
for (int n = 0; n < t; n++)
erc[c++] = GetEvenRodeh(n);
}
2. Variable Length Binary Encoding
// mengubah strings menajadi stringbits
public static String StringToStb(String
Universitas Sumatera Utara
70
st, String c, String[] s)
{
StringBuilder stb = new StringBuilder();
for (int i = 0; i < st.Length; i++)
{
String z = Char.ToString(st[i]);
int k = c.IndexOf(z);
stb.Append(s[k]);
}
int x = stb.Length % 8;
int pad = 0;
if (x != 0)
{
pad = 8 - x;
for (int i = 0; i < pad; i++)
stb.Append("0");
}
String d = DecToBin(pad);
int y = 8 - d.Length;
for (int i = 0; i < y; i++)
stb.Append("0");
stb.Append(d);
return stb.ToString();
}
Universitas Sumatera Utara
71
// fungsi untuk algoritma vlbe
public static void VLBE(String st)
{
int[] freq = CountFreq(st);
String charset = GetCharSet(st);
int t = charset.Length;
InsertionSort(freq, charset);
freq = fr;
charset = cs;
vlbe = new String[t];
vlbe[0] = "0";
StringBuilder v;
for (int n = 1; n < t - 1; n++)
{
v = new StringBuilder(vlbe[n - 1]);
v.Insert(0, "1");
vlbe[n] = v.ToString();
}
v = new StringBuilder(vlbe[t - 2]);
v.Replace("0", "1");
vlbe[t - 1] = v.ToString();
}
Universitas Sumatera Utara
69
DAFTAR RIWAYAT HIDUP
Data Pr ibadi
Nama
: Ade Rani Abdullah
Tempat/Tanggal Lahir
: Padangsidimpuan, 10
November 1993
Tinggi/Berat Badan
: 160 cm / 45 kg
Agama
: Islam
Kewarganegaraan
: Indonesia
Alamat Sekarang
: Jalan Pelita 2 No. 84
Alamat Orang Tua
: Jalan Soripada Mulia Gg. Sarasi 9 No. 32
Telp/ Hp
: 0878 6817 2249
: [email protected]
--------------------------------------------------------------------------------------------------------
Riwayat Pendidikan
[2012 – sekarang]
: S1 Ilmu Komputer Universitas Sumatera Utara
[2009 – 2012]
: SMA Negeri 4 Padangsidimpuan
[2006 – 2009]
: MTs YPKS Padangsidimpuan
[2000 – 2006]
: SD Negeri Pitara I Depok
--------------------------------------------------------------------------------------------------------
Keahlian/Kur sus
Keahlian Komputer
Pemrograman
: C#
Database
: MySQL
Multimedia
: Adobe Flash
Perkantoran
: Microsoft Office
--------------------------------------------------------------------------------------------------------
Universitas Sumatera Utara
70
Pengalaman Organisasi
[2010 – 2011]
Anggota Hubungan Masyarakat OSIS SMA Negeri 4
Padangsidimpuan
[2012 – 2013]
Anggota Dana IMAKOPASID
[2015 – sekarang]
Sekretaris Departemen Hubungan Masyarakat IMILKOM USU
--------------------------------------------------------------------------------------------------------
Pengalaman Kepanitiaan
[2012]
Anggota Humas Dies Natalis 11th S1 Ilmu Komputer USU
[2013]
Anggota Konsumsi ARTechno
[2013]
Anggota Humas Ilkom Goes To School (IGTS)
[2014]
Anggota Humas Porseni Imilkom
[2014]
Anggota Dana PMB S1 Ilmu Komputer USU
--------------------------------------------------------------------------------------------------------
Seminar
[2013]
Seminar Internasional Forum Bisnis (MIBEX 2013)
[2013]
Seminar Nasional Gelora Literasi Teknologi Informasi & Komunikasi
“SI GELITIK”
[2014]
Seminar Nasional Literasi Informasi “SENARAI”
Universitas Sumatera Utara