A-1 A LISTING PROGRAM 1. Fibonacci Code //membuat fungsi Fibonacci Code public static String GetFibonacciCode(int n) { StringBuilder fib = new StringBuilder("1"); int a, b, c; List<int> fibs = new List<int>(); if (n >= 1) { a = 1; b = 1; c = a + b; fibs.add(b); while (n >= c) { fibs.add(c); a = b; b = c; c = a + b; fibs.reverse(); for (int i = 0; i < fibs.count; i++) { if (n >= fibs[i]) { n = n - fibs[i]; fib.insert(0, "1"); else fib.insert(0, "0"); return fib.tostring(); //memanggil fungsi Fibonacci Code void Button1Click(object sender, EventArgs e) { String kalimat = richtextbox1.text; Stopwatch watch = new Stopwatch(); // running time watch.start(); ClassFibonacci.Fibonacci(kalimat); String stb = ClassFibonacci.StringToStb(kalimat,ClassFibonacci.cs,ClassFibon acci.fc); String code = ClassFibonacci.Encode(stb); watch.stop();
A-2 B SaveFileDialog simpan = new SaveFileDialog(); simpan.filter = "Compressed Files( *.fib) *.fib"; simpan.filename = "*.fib"; if (simpan.showdialog() == DialogResult.OK) { FileStream fstream=new FileStream(simpan.FileName,FileMode.OpenOrCreate); StreamWriter sw = new StreamWriter(fstream); SeekOrigin seekorigin = new SeekOrigin(); sw.basestream.seek(0, seekorigin); sw.write(code); sw.flush(); sw.close(); string filenamee=simpan.filename.substring(0,si mpan.filename.length- 4) + "f.dat"; FileStream fstreamm=new FileStream(filenamee,FileMode.OpenOrCreate); StreamWriter sww = new StreamWriter(fstreamm); SeekOrigin seekoriginn = new SeekOrigin(); sww.basestream.seek(0, seekoriginn); sww.write(classfibonacci.cs+"~"); for (int n = 0; n < ClassFibonacci.cs.Length; n++) sww.write(classfibonacci.fc[n]+"~"); sww.flush(); sww.close(); MessageBox.Show("file berhasil dikompresi"); double RC = (kalimat.length* 8 * 1.0) / stb.length; textbox5.text = Math.Round(RC,2).ToString(); double CR = (stb.length/(kalimat.length* 8 * 1.0))*100; textbox4.text =Math.Round(CR,2).ToString()+" %"; double redu = 100-CR; textbox8.text = Math.Round(redu,2).ToString()+" %"; textbox6.text = Math.Round(Convert.ToDecimal(watch.ElapsedMilliseconds)/1000,4).ToString()+" ms";
C A-3 2. Elias Gamma Code //membuat fungsi Elias Gamma Code public static void InvertedEliasGammaCodes(String st) { int[] freq = CountFreq(st); String charset = GetCharSet(st); int t = charset.length; InsertionSort(freq, charset); freq = fr; charset = cs; egc = new String[t]; iegc = new String[t]; int c = 0; int ic = 0; for (int n = 1; n < t + 1; n++) { String b = DecToBin(n); int M = b.length; StringBuilder u = new StringBuilder(); for (int k = 0; k < M - 1; k++) u.append("0"); u.append("1"); StringBuilder s1 = new StringBuilder(); for (int j = 0; j < M; j++) { s1.append(b[j]); s1.append(u[j]); String s2 = s1.tostring(); String s = s2.substring(1, s2.length - 1); egc[c++] = s; StringBuilder s3 = new StringBuilder(); for (int j = 0; j < s.length; j++) { if (s[j] == '0') s3.append("1"); else s3.append("0"); iegc[ic++] = s3.tostring(); //memanggil fungsi Elias Gamma Code void Btn_dekomClick(object sender, EventArgs e) { Stopwatch watch = new Stopwatch(); watch.start(); String dc = ClassEliasGamma.Decode(code); String ds = ClassEliasGamma.Decompress(dc, cs, iegc); richtextbox1.text = ds;
D A-4 watch.stop(); textbox6.text = Math.Round(Convert.ToDecimal(watch.ElapsedMilliseconds)/1000,4).ToString()+"ms";
B B-1 CURRICULUM VITAE 1. Biodata Nama : Sari Rahmadani Siregar Alamat Sekarang : Jln. Dr. Mansyur Gg. Saudara No. 14 Medan Alamat Orang Tua : Jln. Cendana III No. 01 Padang Sidempuan Telp/ Hp : 085275451323 Email : sarirahmadanisiregar@gmail.com 2. Riwayat Pendidikan 2012 2016 : S1 Ilmu Komputer, Medan 2009 2012 : SMA Negeri 3 Padang Sidempuan 2006 2009 : SMP Negeri 5 Padang Sidempuan 2000 2006 : SD Negeri 200515 Padang Sidempuan 3. Keahlian Bahasa Pemrograman Database Design Perkantoran : Indonesia, Inggris : C#, MATLAB : MySql : Photoshop, Corel Draw : Microsoft Office 4. Kursus yang diikuti 2007-2009 : Les Bahasa Inggris di Sentika English Course 5. Pengalaman Organisasi [2008 2009] : Sekretaris OSIS SMP Negeri 5 Padang Sidempuan [20010 2011] : Skeretaris OSIS SMA Negerei 3 Padang Sidempuan [2012 2016] : Anggota IMAKOPASID
3 B-2 6. Seminar [2013] : Seminar Internasional Forum Bisnis ( MIBEX 2013) [2014] : Seminar Nasional Literasi Informasi SENARAI [2015] : Seminar Sosialisasi Toward ASEAN Community 2015: ASEAN Goes to Campus