• Tidak ada hasil yang ditemukan

Aplikasi Kompresi SMS Menggunakan Kode Huffman Pada Mobile Phone Berbasis Java™

N/A
N/A
Protected

Academic year: 2016

Membagikan "Aplikasi Kompresi SMS Menggunakan Kode Huffman Pada Mobile Phone Berbasis Java™"

Copied!
131
0
0

Teks penuh

(1)

TUGAS AKHIR

APLIKASI KOMPRESI SMS MENGGUNAKAN KODE

HUFFMAN

PADA

MOBILE PHONE

BERBASIS JAVA

TM

Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan

pendidikan sarjana (S-1) pada Departemen Teknik Elektro

Oleh:

ANASTASYA CITRA

050402086

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

ABSTRAK

Telekomunikasi memiliki peranan penting dalam kehidupan sosial saat ini.

Komunikasi yang tidak dapat dilakukan secara langsung menciptakan sebuah

teknologi yang dapat memudahkan pengguna berkomunikasi jarak jauh.

Perkembangan telekomunikasi pun sangat pesat, seiring dengan kebutuhan

masyarakat yang terus meningkat.

Dalam berkomunikasi, pesan teks merupakan sarana yang sering

digunakan selain layanan suara. Salah satu cara penggunaaan pesan teks adalah

dengan SMS. Fitur ini banyak digunakan karena tersedia pada setiap mobile

phone, penggunaannya yang mudah dan costnya yang murah.

Penggunaan teknologi SMS masih memiliki kekurangan. Keterbatasan

memori misalnya, sehingga dibutuhkan sebuah mekanisme agar besar data yang

ditransmisikan dapat seminimal mungkin. Oleh sebab itu, diperlukan proses

kompresi yang dapat meminimalisasikan ukuran sebuah data yang akan

dikirimkan.

Pada Tugas Akhir ini dibuat sebuah kompresi SMS dengan menggunakan

Kode Huffman yang diharapkan akan menjadikan ukuran SMS tersebut seminimal

mungkin pada saat dikirimkan. Dari pengujian yang telah dilakukan, dapat

dibuktikan bahwa kompresi SMS dengan jumlah karakter ≤ 160, 160 < x ≤ 320, > 320 menggunakan kode Huffman akan menghasilkan persentase kompresi

(3)

KATA PENGANTAR

Puji dan syukur penulis panjatkan kehadirat Allah SWT atas rahmat dan

karunia-Nya penulis dapat menyelesaikan Tugas Akhir ini, yang berjudul

“APLIKASI KOMPRESI SMS MENGGUNAKAN KODE HUFFMAN PADA MOBILE PHONE BERBASIS JAVATM”. Tugas Akhir ini dibuat untuk memenuhi syarat kesarjanaan di Departemen Teknik Elektro, Fakultas Teknik,

Universitas Sumatera Utara.

Tugas Akhir ini penulis persembahkan kepada yang teristimewa Nyaksyi

Hj. Nurhayati, S.Ag yang selalu sabar dan setia menemani penulis melalui masa

perkuliahan selama di Medan. Mama tercinta Hj. Cut Isra Eka Putri dan Bapak

Panjang Hartawan Tarigan untuk segala doa, dukungan dan cintanya selama ini.

Papa Aldi Aldanny serta Mami Tia dan Mami Yani. Kesebelas adik penulis yang

selalu memberikan inspirasi, „Irfaan, Balqis, Raja, Nabila, Ghina, Amira, Ratu

serta Zhico, Cachito, Nia dan Mario. Paman, Papa sekaligus sahabat dan

motivator bagi penulis, H. Teuku Bardansyah serta keluarga. Dan seluruh

keluarga besar yang selalu memberikan dukungan dan motivasi bagi penulis. Dan

juga untuk Adriuli atas semua yang telah dilakukan untuk penulis.

Selama penulisan Tugas Akhir ini hingga menyelesaikannya, penulis

banyak mendapat bantuan dan dukungan serta masukan dalam penulisan Tugas

(4)

Pada kesempatan ini penulis mengucapkan terima kasih yang

sebesar-besarnya kepada:

1. Bapak Prof. Dr. Ir. Usman Baafai dan Bapak Rahmad Fauzi, ST, MT,

selaku Pelaksana Harian dan Sekretaris Departemen Teknik Elektro,

Fakultas Teknik, Universitas Sumatera Utara.

2. Bapak Ir. M. Zulfin, MT sebagai Dosen Pembimbing penulis yang telah

dengan sabar membimbing penulis dan sangat banyak membantu dalam

penulisan Tugas Akhir ini.

3. Bapak Ir. Arman Sani, MT sebagai Dosen Wali penulis, Tim Judul dan

juga Dosen Penguji, yang selalu memberikan dukungan sebagai wali

penulis serta memotivasi penulis agar menjadi lebih baik.

4. Bapak Rahmad Fauzi, ST. MT dan Bapak Maksum Pinem, ST. MT

sebagai Dosen Pembimbing Seminar yang memberikan koreksi dan saran

sehingga Tugas Akhir ini menjadi lebih baik.

5. Seluruh staf pengajar Departemen Teknik Elektro, khususnya Konsentrasi

Teknik Telekomunikasi yang banyak memberikan inspirasi, pelajaran

moril dan spiritual serta masukan dan dorongan bagi penulis untuk selalu

menjadi lebih baik.

6. Seluruh karyawan di Departemen Teknik Elektro, Fakultas Teknik

Universitas Sumatera Utara.

7. Semua teman seperjuangan, Stambuk 2005. Kira yang sangat membantu

proses Tugas Akhir ini. Gemboeng Betina, Muteng, Once, Yoneng, Chici,

PSUS, D, Icha, Ami, Dewi, Nisa, Christ. Gemboeng Jantan Ebby, V, Fari,

(5)

Putra, Andica, Rifqi, Riza serta seluruh anggota ‟05 yang tidak bisa

disebutkan satu per satu.

8. Dan pihak-pihak yang tidak dapat penulis sebutkan satu per satu.

Penulis menyadari bahwa Tugas Akhir ini jauh dari sempurna. Oleh

karena itu, saran dan kritik dengan tujuan menyempurnakan dan mengembangkan

kajian dalam bidang ini sangat penulis harapkan.

Akhir kata penulis berharap agar Tugas Akhir ini dapat bermanfaat bagi

pembaca dan penulis.

Medan, 1 Mei 2010

Penulis,

(6)

DAFTAR ISI

Abstrak ... i

Kata Pengantar ... ii

Daftar Isi ... v

Daftar Gambar ... viii

Daftar Tabel ... x

Daftar Lampiran ... xi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang.……..……… ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Penulisan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penulisan ... 3

1.6 Sistematika Penulisan ... 3

BAB II TEKNIK PENGKODEAN ... 5

2.1 Pendahuluan ... 5

2.2 Pengkodean Data ... 5

2.2.1 Data digital, sinyal digital ... 8

2.2.2 Data digital, sinyal analog ... 11

2.2.3 Data analog, sinyal digital ... 13

(7)

BAB III KOMPRESI DATA ... 19

3.1 Umum ... 19

3.2 Jenis Kompresi ... 21

3.2.1 Algoritma Kompresi Lossy ... 21

3.2.1.1 JPEG ... 22

3.2.1.2 MPEG ... 24

3.2.2 Algoritma Kompresi Lossless ... 26

3.2.2.1 Run-Length ... 27

3.2.2.2 Half Byte ... 29

3.2.2.3 LZW (Lempel-Ziv-Welch) ... 31

3.2.2.4 Huffman ... 35

3.3 Metode Kompresi ... 35

3.3.1 Metode Statis (static method) ... 35

3.3.2 Metode Kamus (dictionary method) ... 36

BAB IV KOMPRESI DATA MENGGUNAKAN KODE HUFFMAN ... 37

4.1 Pendahuluan ... 37

4.2 Variasi Kode Huffman ... 38

4.3 Encoding dan Decoding Menggunakan Kode Huffman ... 42

4.3.1 Encoding ... 42

4.3.2 Decoding ... 47

BAB V APLIKASI KOMPRESI SMS MENGGUNAKAN KODE HUFFMAN PADA MOBILE PHONE BERBASIS JAVATM ... 50

5.1 Pendahuluan ... 50

(8)

5.3 Aplikasi Kompresi SMS Menggunakan Kode Huffman pada mobile

phone berbasis JAVATM ... 53

5.3.1 Aplikasi Kompresi SMS dengan karakter ≤ 160 ... 53

5.3.2 Aplikasi Kompresi SMS dengan karakter 160 < x≤ 320 ... 59

5.3.3 Aplikasi Kompresi SMS dengan karakter > 320 ... 66

BAB VI KESIMPULAN DAN SARAN ... 76

6.1 Kesimpulan ... 76

6.2 Saran ... 76

DAFTAR PUSTAKA

(9)

DAFTAR GAMBAR

Gambar 2.1 Teknik Pengkodean Data dan Modulasi ... 7

Gambar 2.2 Format Pengkodean Sinyal Digital ... 11

Gambar 2.3 Teknik Dasar Modulasi untuk Mengubah Data Digital menjadi Sinyal Analog ... 13

Gambar 2.4 Teknik PCM ... 15

Gambar 2.5 PCM Block Diagram ... 15

Gambar 2.6 Delta Modulation ... 16

Gambar 2.7 Modulasi Data Analog, Sinyal Analog ... 18

Gambar 3.1 Karakter pada Run-Length ... 27

Gambar 3.2 Contoh kompresi menggunakan algoritma Run-Length ... 28

Gambar 3.3 Format menggunakan algoritma half byte ... 29

Gambar 3.4 Contoh kompresi menggunakan algoritma half byte ... 30

Gambar 3.5 Hasil Proses kompresi LZW ... 33

Gambar 4.1 Proses Encoding Menggunakan Pohon Huffman ... 45

Gambar 4.2 Tampilan proses Encoding Huffmanyang lebih sederhana ... 46

Gambar 4.3 Proses Decoding Menggunakan Pohon Huffman ... 48

Gambar 5.1 Tampilan Pada Layar Komputer pada saat Pengiriman File Aplikasi HuffSMS melalui Bluetooth ... 52

Gambar 5.2 Tampilan Aplikasi pada mobile phone Nokia 5130 XpreesMusic ... 52

Gambar 5.3 Tampilan Proses Pengiriman SMS ≤ 160 Karakter dengan Kode Huffman pada Mobile Phone Nokia 5130 XpressMusic ... 58

Gambar 5.4 Tampilan Proses Penerimaan SMS ≤ 160 Karakter dengan Kode Huffman pada Mobile Phone Nokia 5130 XpressMusic ... 59

Gambar 5.5 Tampilan Proses Pengiriman SMS 160 < x ≤ 320 Karakter dengan Kode Huffman pada Mobile Phone Nokia 5130 XpressMusic ... 65

Gambar 5.6 Tampilan Proses Penerimaan SMS 160 < x ≤ 320 Karakter dengan Kode Huffman pada Mobile Phone Nokia 5130 XpressMusic ... 66

(10)

Gambar 5.8 Tampilan Proses Penerimaan SMS > 320 Karakter dengan Kode

(11)

DAFTAR TABEL

Tabel 3.1 Tahapan kompresi LZW ... 33

Tabel 4.1 Frekuensi Kemunculan Karakter pada Data ... 44

Tabel 4.2 Hasil Encoding Menggunakan Algoritma Huffman ... 46

Tabel 5.1 Frekuensi Kemunculan pada Kompresi SMS ≤ 160 karakter ... 54

Tabel 5.2 Kode Huffman Hasil Kompresi pada SMS ≤ 160 karakter ... 54

Tabel 5.3 Frekuensi Kemunculan pada Kompresi SMS 160 < x ≤ 320 karakter ... 60

Tabel 5.4 Kode Huffman Hasil Kompresi pada SMS 160 < x ≤ 320 karakter ... 61

Tabel 5.5 Frekuensi Kemunculan pada Kompresi SMS > 320 karakter ... 67

Tabel 5.6 Kode Huffman Hasil Kompresi pada SMS > 320 karakter ... 69

(12)

DAFTAR LAMPIRAN

Lampiran 1 Pembentukan Pohon Huffman pada Kompresi SMS ≤ 160 Karakter Lampiran 2 Pembentukan Pohon Huffman pada Kompresi SMS 160 < x ≤ 320

Karakter

Lampiran 3 Pembentukan Pohon Huffman pada Kompresi SMS > 320 Karakter

Lampiran 4 Tabel ASCII

Lampiran 5 Tabel fixed Huffman

Lampiran 6 Pembentukan Pohon Huffman untuk Tabel fixed Huffman

Lampiran 7 Daftar Mobile phone Berbasis JavaTM

Lampiran 8 Flowchart Program Utama, Pengiriman HuffSMS

Lampiran 9 Flowchart Program Utama, Penerimaan HuffSMS

Lampiran 10 Flowchart Kompresi Huffman

Lampiran 11 Flowchart Dekompresi Huffman

Lampiran 12 Flowchart MessageScreen

Lampiran 13 Flowchart SendScreen

(13)

ABSTRAK

Telekomunikasi memiliki peranan penting dalam kehidupan sosial saat ini.

Komunikasi yang tidak dapat dilakukan secara langsung menciptakan sebuah

teknologi yang dapat memudahkan pengguna berkomunikasi jarak jauh.

Perkembangan telekomunikasi pun sangat pesat, seiring dengan kebutuhan

masyarakat yang terus meningkat.

Dalam berkomunikasi, pesan teks merupakan sarana yang sering

digunakan selain layanan suara. Salah satu cara penggunaaan pesan teks adalah

dengan SMS. Fitur ini banyak digunakan karena tersedia pada setiap mobile

phone, penggunaannya yang mudah dan costnya yang murah.

Penggunaan teknologi SMS masih memiliki kekurangan. Keterbatasan

memori misalnya, sehingga dibutuhkan sebuah mekanisme agar besar data yang

ditransmisikan dapat seminimal mungkin. Oleh sebab itu, diperlukan proses

kompresi yang dapat meminimalisasikan ukuran sebuah data yang akan

dikirimkan.

Pada Tugas Akhir ini dibuat sebuah kompresi SMS dengan menggunakan

Kode Huffman yang diharapkan akan menjadikan ukuran SMS tersebut seminimal

mungkin pada saat dikirimkan. Dari pengujian yang telah dilakukan, dapat

dibuktikan bahwa kompresi SMS dengan jumlah karakter ≤ 160, 160 < x ≤ 320, > 320 menggunakan kode Huffman akan menghasilkan persentase kompresi

(14)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan telekomunikasi dewasa ini sangat pesat, seiring dengan

kebutuhan masyarakat akan mobilitas komunikasi yang meningkat. Berbagai

macam fasilitas teknologi telekomunikasi terus dikembangkan agar user dapat

melakukan komunikasi suara, data dan gambar dengan baik.

Perkembangan mobile phone saat ini pun dapat menggambarkan betapa

besar animo masyarakat dalam perkembangan teknologi. Selain komunikasi suara,

fitur SMS yang disediakan dapat digunakan untuk pengiriman pesan singkat yang

penggunaannya mudah dan dengan cost yang murah.

Pengiriman SMS memiliki beberapa kendala, pesan yang dikirim sering

kali berukuran terlalu besar sehingga memakan waktu yang cukup lama dalam

proses pentransmisian data tersebut. Selain itu dalam penyimpanan data, file yang

cukup besar memakan ruang yang besar pula. SMS tersebut memiliki batasan 160

karakter, jika pesan yang dikirim lebih dari 160 karakter, maka mobil phone akan

mengirim dua SMS. Dari segi biaya, tentu saja diperlukan biaya yang lebih besar

dibandingkan jika hanya mengirim satu SMS.

Masalah-masalah tersebut dapat diatasi dengan proses kompresi isi dari

SMS tersebut sehingga waktu dan ruang yang digunakan dapat seminimal

mungkin. Salah satu metode yang digunakan pada metode kompresi data adalah

kode Huffman. Pada aplikasi kompresi SMS, kode Huffman digunakan untuk

(15)

Berdasarkan uraian diatas, maka pada Tugas Akhir ini penulis

memaparkan kompresi data SMS dengan menggunakan kode Huffman serta

menampilkan aplikasi kompresi ini menggunakan bahasa pemrograman J2ME

(JAVA 2 Micro Edition) yang hanya dapat digunakan pada mobile phone berbasis

JAVATM. Diharapkan hasil kompresi SMS pada Tugas Akhir ini dapat mengoptimalkan penggunaan saluran transmisi, penggunaan memori dan

penekanan biaya.

1.2 Rumusan Masalah

Dari latar belakang di atas, maka dapat dirumuskan beberapa

permasalahan, yaitu:

1. Apa yang dimaksud dengan kompresi data.

2. Apa saja metode kompresi data yang ada.

3. Bagaimana metode Huffman dalam proses kompresi SMS.

4. Bagaimana cara menghitung compression ratio dan increase percentage.

5. Bagaimana penerapan metode Huffman pada mobile phone berbasis

JAVATM.

1.3 Tujuan Penulisan

Tujuan dari penulisan Tugas Akhir ini adalah untuk memahami metode

kompresi data SMS dengan metode Huffman, serta menghitung compresion ratio

sehingga dapat diketahui persentase kompresi dan juga visualisasi hasil kompresi

(16)

1.4 Batasan Masalah

Untuk memudahkan pembahasan dalam tulisan ini, maka dibuat

pembatasan masalah sebagai berikut :

1. Hanya membahas teknik pengkodean secara umum.

2. Hanya membahas kompresi data secara umum.

3. Kompresi yang dilakukan hanya pada data SMS yang memiliki variasi

karakter dan hanya menggunakan metode Huffman.

4. J2ME hanya dipakai dalam penggunaan aplikasi, tidak dibahas secara

khusus dan detail.

1.5 Metodologi Penulisan

Metodologi penulisan yang digunakan oleh penulis dalam penulisan Tugas

Akhir ini adalah: Studi Literatur, yaitu berupa studi kepustakaan dan kajian dari

buku-buku dan jurnal-jurnal pendukung, baik dalam bentuk hardcopy dan

softcopy.

1.6 Sistematika Penulisan

Penulisan Tugas Akhir ini disajikan dengan sistematika penulisan sebagai

berikut :

BAB I : PENDAHULUAN

Bab ini merupakan pendahuluan yang berisikan tentang

latar belakang masalah, tujuan penulisan, batasan masalah,

metode penulisan, dan sistematika penulisan dari Tugas

(17)

BAB II : TEKNIK PENGKODEAN

Bab ini membahas mengenai teknik-teknik pengkodean.

BAB III : KOMPRESI DATA

Bab ini membahas tentang proses kompresi suatu data,

kompresi Lossless dan kompresi Lossy.

BAB IV : KOMPRESI DATA MENGGUNAKAN KODE

HUFFMAN

Bab ini membahas tentang kompresi data menggunakan

kode Huffman dengan terperinci.

BAB V : APLIKASI KOMPRESI SMS MENGGUNAKAN KODE

HUFFMAN PADA MOBILE PHONE BERBASIS

JAVATM

Bab ini berisi tentang proses kompresi SMS menggunakan

metode Huffman dan perhitungan Compression ratio dan

Increase percentage serta tampilan aplikasinya pada mobile

phone berbasis JAVATM.

BAB VI : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan hasil Tugas Akhir ini dan saran

(18)

BAB II

TEKNIK PENGKODEAN

2.1 Pendahuluan

Pengkodean karakter, kadang disebut penyandian karakter, terdiri dari

kode yang memasangkan karakter berurutan dari suatu kumpulan dengan sesuatu

yang lain. Seperti urutan bilangan natural, octet atau denyut elektrik. Untuk

memfasilitasi penyimpanan teks pada komputer dan transmisi teks melalui

jaringan telekomunikasi. Contoh umum adalah sandi morse, yang menyandikan

huruf alphabet ke dalam rangkaian tekanan panjang pendek dari kunci telegraf,

serta ASCII, yang menyadikan huruf, numeral dan simbol-simbol lain, sebagai

integrer dan versi biner 7-bit dari integrer tersebut, umumnya ditambah nol-bit

untuk memfasilitasi penyimpanan dalam bita 8-bit (octet).

Dalam sistem komunikasi digital, pesan yang dikeluarkan oleh sumber

umumnya dikompresikan menjadi bentuk lain yang lebih efisien. Proses tersebut

dilakukan dalam source encoder, dimana informasi dari sumber dikonversikan

menjadi deretan digit biner yang efisien dengan jumlah digit biner yang digunakan

dibuat seminimal mungkin.

2.2 Pengkodean Data

Dalam proses telekomunikasi, data tersebut harus dimengerti baik dari sisi

pengirim maupun dari sisi penerima. Untuk mencapai hal tersebut, data harus

(19)

Berikut adalah sistem sandi yang biasa digunakan:

1. ASCII (American Standard Code for Information Interchange)

a. Standar ini paling banyak digunakan

b. Merupakan sandi 7 bit

c. Terdapat 128 macam symbol yang dapat diberi sandi ini

d. Untuk transmisi asinkron terdiri dari 10 atau 11 bit, yaitu: 1 bit

awal, 7 bit data, 1 bit paritas, 1 atau 2 bit akhir

2. Sandi Baudot Code (CCITT alphabet No.2 / Telex Code)

a. Terdiri dari 5 bit

b. Terdapat 32 macam symbol

c. Digunakan dua sandi khusus sehingga semua abjad dan angka

dapat diberi sandi yaitu:

1. LETTERS (11111)

2. FIGURES (11011)

d. Tiap karakter terdiri dari: 1 bit awal, 5 bit data dan 1 bit akhir

3. Sandi 4 atau 8

a. Sandi dari IBM dengan kombinasi yang diperbolehkan adalah 4

buah “1” dan 4 buah “0”

b. Terdapat 70 karakter yang dapat diberi sandi ini

c. Transmisi asinkron membutuhkan 10 bit, yaitu: 1 bit awal, 8 bit

data dan 1 bit akhir

4. BCD (Binary Coded Decimal)

a. Terdiri dari 6 bit

(20)

c. Transmisi asinkron membutuhkan 9 bit, yaitu: 1 bit awal, 6 bit

data, 1 bit paritas dan 1 bit akhir

5. EBCDIC (Extended Binary Coded Decimal Interchange Code)

a. Sandi 8 bit untuk 256 karakter

b. Transmisi asinkron membutuhkan 11 bit, yaitu: 1 bit awal, 8 bit

data, 1 bit paritas dan 1 bit akhir.

Gambar 2.1 Teknik Pengkodean Data dan Modulasi

Pada Gambar 2.1, bentuk x(t) tergantung pada teknik pengkodean dan

dipilih yang sesuai dengan karakteristik media transmisi. Gambar 2.1(a)

menjelaskan tentang pensinyalan digital, suatu sumber data g(t) dapat berupa

digital atau analog, yang di-encode menjadi suatu sinyal digital x(t) dan Gambar

2.1(b) menjelaskan tentang pensinyalan analog, input sinyal m(t) dapat berupa

(21)

dimodulasi menjadi sinyal termodulasi s(t). Dasarnya adalah modulasi sinyal

carrier yang dipilih sesuai dengan media transmisinya.

Ada empat kombinasi hubungan data dan sinyal, yaitu:

1 Data digital, sinyal digital

Perangkat pengkodean data digital menjadi sinyal digital lebih sederhana

daripada perangkat modulasi digital-to-analog.

2 Data analog, sinyal digital

Konversi data analog ke bentuk digital memungkinkan pengguna

perangkat transmisi dan switching digital.

3 Data digital, sinyal analog

Beberapa media transmisi hanya bisa merambatkan sinyal analog,

misalnya unguided media.

4 Data analog, sinyal analog

Data analog dapat dikirimkan dalam bentuk sinyal baseband, misalnya

transmisi suara pada saluran pelanggan PSTN.

2.2.1 Data Digital, Sinyal Digital

Data digital merupakan data yang memiliki deretan data yang memiliki

ciri-ciri tersendiri. Salah satu contoh data digital adalah teks. Permasalahannya

adalah data tersebut tidak dapat langsung ditransmisikan dalam sistem

komunikasi. Data tersebut harus terlebih dahulu diubah dalam bentuk biner.

Elemen sinyal adalah tiap pulsa dari sinyal digital. Data binary atau digital

(22)

Faktor kesuksesan penerima dalam mengartikan sinyal yang datang:

a. Ratio Signal to Noise (S/N) : peningkatan S/N akan menurunkan bit error

rate.

b. Kecepatan data (data rate) : peningkatan data rate akan meningkatkan bit

error rate (kecepatan error pada bit)

c. Bandwidth : peningkatan bandwidth data meningkatkan

data rate

Hubungan ketiga faktor tersebut adalah:

1. Kecepatan data bertambah, maka kecepatan error pun bertambah,

sehingga memungkinkan bit yang diterima error.

2. Kenaikan S/N mengakibatkan kecepatan error berkurang.

3. Lebar bandwidth membesar yang diperbolehkan, kecepatan data akan

bertambah.

Faktor-faktor yang mempengaruhi coding:

a. Spektrum sinyal = jumlah komponen frekuensi tinggi yang sedikit berarti

lebih hemat bandwidth transmisi

b. Clocking = menyediakan mekanisme sinkronisasi antara source

dan destination.

c. Deteksi kesalahan = kemampuan errordetection dapat dilakukan secara

sederhana oleh skema line coding.

d. Kekebalan terhadap interferensi sinyal dan derau = dinyatakan dalam BER

e. Biaya dan kompleksitas = semakin tinggi laju pensinyalan atau laju data,

(23)

Teknik data digital, sinyal digital terbagi atas:

1. Non-Return to Zero / NRZ

a. NRZ-L (NRZ-Level)

Hal ini dapat dilihat pada Gambar 2.2a.

1. Dua tegangan yang berbeda antara bit 1 dan bit 0

2. Tegangan konstan selama interval bit

3. Tidak ada transisi yaitu tegangan no return to zero

b. NRZ-I (NRZ-Inverted)

Hal ini dapat dilihat pada Gambar 2.2b.

1. Pulsa tegangan konstan untuk durasi bit

2. Transisi = 1

3. Tidak ada transisi = 0

2. Biphase

a. Manchester, dapat dilihat pada Gambar 2.2e.

b. Differensial Manchester, dapat dilihat pada Gambar 2.2f.

3. Multilevel Binary

a. Bipolar AMI

Suatu kode dimana binary „0‟ diwakili dengan tidak adanya line

sinyal dan binary „1‟ diwakili oleh suatu pulsa positif atau

negatif. Hal ini dapat dilihat pada Gambar 2.2c.

b. Pseudoternary

Suatu kode dimana binary '1' diwakili oleh ketiadaan line sinyal

dan binary '0' oleh pergantian pulsa-pulsa positif dan negatif.

(24)

DATA

(a)

(b)

(c)

(d)

(e)

(f)

Gambar 2.2 Format Pengkodean Sinyal Digital

2.2.2 Data Digital, Sinyal Analog

Transmisi data digital dengan menggunakan sinyal analog. Contoh umum

yaitu public telephone network. Device yang dipakai yaitu modem (modulator

demodulator) yang mengubah data digital ke sinyal analog (modulator) dan

(25)

Tiga teknik dasar encoding atau modulasi untuk mengubah data digital

menjadi sinyal analog:

1. ASK (Amplitude-shift keying)

Modulasi yang menyatakan sinyal digital 1 sebagai suatu nilai

tegangan tertentu (misalnya 1 Volt) dan sinyal digital 0 sebagai sinyal

digital dengan tegangan 0 Volt. Hal ini dapat dilihat pada Gambar 2.3a.

2. FSK (Frequency-shift keying)

Modulasi yang menyatakan sinyal digital 1 sebagai suatu nilai

tegangan dengan frekuensi tertentu, sementara sinyal digital 0 dinyatakan

sebagai suatu nilai tegangan dengan frekuensi tertentu yang berbeda. Hal

ini dapat dilihat pada Gambar 2.3b.

3. PSK (Phase-shift keying)

Modulasi yang menyatakan sinyal digital 1 sebagai suatu nilai

tegangan tertentu dengan beda fasa tertentu pula (misalnya tegangan 1

Volt dengan beda fasa 0 derajat), dan sinyal digital 0 sebagai suatu nilai

tegangan tertentu (yang sama dengan nilai tegangan sinyal PSK bernilai 1,

misalnya 1 Volt) dengan beda fasa yang berbeda (misalnya beda fasa 180

derajat). Hal ini dapat dilihat pada Gambar 2.3c.

Tiga teknik dasar encoding atau modulasi tersebut dapat dilihat pada

(26)

Gambar 2.3 Teknik Dasar Modulasi untuk Mengubah Data Digital menjadi

Sinyal Analog

2.2.3 Data Analog, Sinyal Digital

Transformasi data analog ke sinyal digital, proses ini dikenal sebagai

digitalisasi. Tiga hal yang paling umum terjadi setelah proses digitalisasi adalah:

1. Data digital dapat ditransmisikan menggunakan NRZ-L.

2. Data digital dapat di-encode sebagai sinyal digital memakai kode NRZ-L.

Dengan demikian, diperlukan step tambahan

3. Data digital dapat diubah menjadi sinyal analog, menggunakan salah satu

(27)

Codec (Coder-decoder) adalah device yang digunakan untuk mengubah

data analog menjadi bentuk digital untuk transmisi, yang kemudian mendapatkan

kembali data analog dari data digital tersebut.

Dua teknik yang digunakan dalam codec adalah:

1. Pulse Code Modulation

Dari teori sampling diketahui bahwa frekuensi sampling

(fS) harus lebih besar atau sama dengan dua kali frekuensi tertinggi

dari sinyal (fH), fS ≥ 2 fH. Sinyal asal dianggap mempunyai

bandwidth B maka kecepatan pengambilan sampel yaitu 2B atau

1/2B detik. Sampel-sampel ini diwakilkan sebagai pulsa-pulsa

pendek yang amplitudo nya proporsional terhadap nilai dari sinyal

asal. Proses ini dikenal sebagai pulse amplitude modulation

(PAM). Kemudian amplitudo tiap pulsa PAM dihampiri dengan

n-bit integer, sehingga dihasilkan data PCM. Sedangkan pada

receiver, prosesnya merupakan kebalikan dari proses diatas untuk

memperoleh data analog. Proses PCM ini dapat dilihat pada

(28)

Gambar 2.4 Teknik PCM

Gambar 2.5 merupakan Block Diagram dari proses PCM.

Pada Block Diagram ini dapat dilihat bagaimana proses dari data

analog menjadi sinyal digital.

(29)

2. Delta Code Modulation

Proses dimana suatu input analog didekati dengan suatu

fungsi tangga yang bergerak naik atau turun dengan satu level

quantization (δ) pada tiap interval sampling (TS), dan outputnya diwakilkan sebagai suatu bit binary tunggal untuk tiap sampel ('1'

dihasilkan bila fungsi tangganya naik selama interval berikutnya;

'0' dihasilkan untuk keadaan sebaliknya). Hal ini dapat dilihat pada

Gambar 2.6.

(30)

2.2.4 Data Analog, Sinyal Analog

Alasan dasar dari proses ini adalah diperlukannya frekuensi tinggi untuk

transmisi yang efektif. Untuk transmisi unguided, hal tersebut tidak mungkin

untuk mentransmisi sinyal-sinyal baseband dan juga antena-antena yang

diperlukan akan menjadi beberapa kilometer diameternya, modulasi mendukung

frequency-division multiplexing.

Teknik Modulasi memakai data analog adalah:

1. Amplitude Modulation (AM)

Modulasi ini menggunakan amplitudo sinyal analog untuk

membedakan kedua keadaan sinyal digital, dimana frekuensi dan phasenya

tetap, amplitudo yang berubah. AM adalah modulasi yang paling mudah,

tetapi mudah juga dipengaruhi oleh keadaan media transmisinya. Hal ini

dapat dilihat Gambar 2.7(a).

2. Frequency Modulation (FM)

Modulasi ini menggunakan sinyal analog untuk membedakan

kedua keadaan sinyal digital, dimana amplitudo dan phasenya tetap,

frekuensi yang berubah. Kecepatan transmisi mencapai 1200 bit per detik.

Untuk transmisi data sistem yang umum dipakai FSK. Hal ini dapat dilihat

Gambar 2.7(b).

3. Phase Modulation (PM)

Modulasi ini menggunakan perbedaan sudut phase sinyal analog

untuk membedakan kedua keadaan sinyal digital, dimana frekuensi dan

amplitudo tetap, phase yang berubah. Cara ini paling baik, tapi paling

(31)

yang banyak dan kecepatan yang tinggi. Hal ini dapat dilihat Gambar

2.7(c).

Teknik Modulasi memakai data analog ini dapat dilihat pada

Gambar 2.7.

(a)

[image:31.595.163.448.209.687.2]

(c) (b)

(32)

BAB III

KOMPRESI DATA

3.1 Umum

Kompresi data merupakan cabang dari Teori Informasi. Teori Informasi

sendiri adalah salah satu cabang Matematika yang berkembang sekitar akhir

1940an. Tokoh utama dari Teori Informasi adalah Claude Shannon dari Bell

Laboratory. Teori Informasi memfokuskan pada berbagai metode tentang

informasi termasuk penyimpanan dan pemrosesan pesan. Teori Informasi

mempelajari pula tentang pula tentang redundancy pada pesan. Semakin banyak

redundancy semakin besar pula ukuran pesan, upaya mengurangi redundancy ini

yang akhirnya melahirkan subyek ilmu tentang kompresi data.

Kompresi data adalah sebuah cara untuk memadatkan data sehingga

hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam

penyimpanannya dan mempersingkat waktu pertukaran data tersebut.

Keuntungan kompresi data adalah penghematan tempat pada media

penyimpanan dan penghematan bandwidth pada pengiriman data. Namun

kompresi data juga memiliki sisi negatif, bila data yang terkompresi ingin dibaca,

perlu dilakukan dekompresi terlebih dahulu. Pada pengiriman data, penerima data

harus mengerti proses encoding dalam data terkompresi yang diterima atau

dengan kata lain, penerima juga harus memiliki perangkat lunak yang sama

(33)

Berikut ini adalah beberapa teknik kompresi data yang dikategorikan

menurut jenis data yang akan dikompresi, yaitu:

1. Teknik kompresi untuk citra diam (still image)

Contoh: JPEG, GIF dan run-length.

2. Teknik kompresi untuk citra bergerak (motion picture)

Contoh: MPEG.

3. Teknik kompresi untuk data teks

Contoh: half byte.

4. Teknik kompresi untuk data umum

Contoh: LZW, half byte dan Huffman.

5. Teknik kompresi untuk data sinyal speech

Contoh: PCM, SBC, LPC dan CELP.

Ada empat pendekatan yang digunakan pada kompresi suatu data, yaitu:

1. Pendekatan statistik

Contoh: Huffman coding.

2. Pendekatan ruang

Contoh: Run-Length encoding

3. Pendekatan kuantisasi

Contoh: Kompresi kuantisasi (CS&Q)

4. Pendekatan Fraktal

(34)

3.2 Jenis Kompresi

Algoritma Kompresi Data dapat diklasifikasikan menjadi dua jenis, yaitu:

1. Algoritma Kompresi Lossy

2. Algoritma Kompresi Lossless

3.2.1 Algoritma Kompresi Lossy

Kompresi adalah suatu metode untuk mengkompresi data dan

mendekompresikannya, data yang diperoleh mungkin berbeda dari yang aslinya

tetapi cukup dekat perbedaannya. Format kompresi Lossy mengalami generation

loss, yaitu jika melakukan berulang kali kompresi dan dekompresi file akan

menyebabkan kehilangan kualitas secara progresif.

Keuntungan metode Lossy ini adalah rasio kompresi yang cukup tinggi.

Hal ini dikarenakan cara kompresi Lossy yang akan mengeleminasi beberapa data

dari suatu berkas. Namun data yang dieliminasikan biasanya adalah data yang

kurang diperhatikan atau hanya mengurangi sedikit dari nilai data tersebut

sehingga tidak terlalu menimbulkan perbedaan yang besar. Contoh format yang

menggunakan algoritma Lossy adalah JPEG dan MPEG.

Rasio Kompresi atau perbandingan ukuran file sebelum dan setelah

dikompresi pada kompresi dengan menggunakan algoritma Lossy memang tinggi.

Pada video misalnya, dapat terkompres dengan rasio kompresi hingga 100:1,

tanpa terlihat perbedaan kualitas yang signifikan dengan data aslinya. Pada audio

dan gambar dapat terkompresi hingga 10:1, perbedaannya adalah jika pada audio

perbedaan kualitas dari data yang terkompresi dan data aslinya tidak terlalu

(35)

Ada dua skema dasar Lossy kompresi, yaitu:

1. Lossytransform codec

2. Lossy predictive codec

3.2.1.1 JPEG

JPEG merupakan sebuah organisasi Joint Photographic Experts Group

yang mengeluarkan format .jfif, namun pada perkembangannya, nama JPEG itu

sendiri lebih dikenal sebagai nama format itu sendiri. JPEG adalah metode

kompresi yang umum digunakan untuk gambar-gambar berupa foto. Pada tahun

1994, standar JPEG disahkan sebagai ISO 10918-1. Standar JPEG memberikan

spesifikasi codec kompresi data ke dalam stream data byte dan didekompresi

kembali ke bentuk gambar serta format data penyimpanannya. Metode kompresi

data yang digunakan umumnya berupa lossy compression, yang membuang detail

visual tertentu, dimana hilangnya data tersebut tidak bisa dikembalikan. File JPEG

memiliki ekstensi .jpg, .jpeg, .jpe, .jfif dan .jif.

Format JPEG banyak digunakan untuk penyimpanan dan transfer data

berupa foto. JPEG mampu mengkompresi data citra yang kaya warna (24 bit) atau

gradasi warna abu-abu (bayangan). Dalam hal ini format JPEG lebih baik dari GIF

yang menggunakan pallete maksimum 256 warna. Sebaliknya algoritma kompresi

(36)

Gambar dalam format JPEG umumnya dikompresi dengan menggunakan

JFIF encoding:

1. Representasi warna diubah dari RGB (Red, Green, Blue) ke YCbCr yaitu

satu komponen brightness, luma (Y) dan dua komponen warna, chroma

(CbCr).

2. Resolusi data chroma diturunkan (down sampling), biasanya dengan faktor

pembagian 2. Hal ini dikarenakan mata manusia lebih peka terhadap detail

brightness daripada detail warna.

3. Gambar dibagi kedalam blok-blok 8x8 pixel. Tiap blok akan melalui

proses transformasi Discrete Cosine Transform (DCT). DCT akan

menghasilkan spektrum spatial dari data Y, Cb dan Cr.

4. Amplitudo dari frekuensi komponen-komponen tersebut dikuantisasi.

Mata manusia lebih sensitif terhadap variasi kecil warna atau brightness

dalam lingkup area yang luas daripada variasi brightness pada frekuensi

tinggi. Oleh karena itu, nilai dari komponen yang berfrekuensi tinggi

disimpan dalam akurasi yang lebih rendah daripada komponen yang

berfrekuensi rendah. Dalam kasus encoding dengan settings kualitas yang

sangat rendah, komponen frekuensi tinggi akan dibuang seluruhnya.

5. Hasil dari setiap blok 8x8 tersebut akan dikompresi lebih lanjut dengan

algoritma lossless yaitu dengan menspesifikasikan tabel kode Huffman

(37)

3.2.1.2 MPEG

MPEG (Moving Picture Experts Group) adalah nama organisasi

internasional ISO/IEC yang mengembangkan standar pengkodean citra bergerak.

Pertemuan pertama terjadi pada bulan Mei 1998 di Ottawa, Kanada. Beberapa

standar yang dikembangkan adalah MPEG-2 dan MPEG-3. Encoding MPEG-2

digunakan pada video CD, sementara MPEG-3 menjadi populer dengan

tampilannya lapisan audio (audio layer) MPEG-3, atau yang lebih dikenal dengan

MP3.

MPEG berkembang menjadi beberapa kategori, yaitu:

1. MPEG-1

Standar pengompresian suara dan gambar pada video CD

termasuk juga lapisan audio 3 (audio layer 3) MP3 format

kompresi suara (audio).

2. MPEG-2

Standar untuk penyiaran suara dan gambar over-the-air televisi

digital ATSC, DVB dan ISDB, satelit televisi digital Dish

Network, sinyal digital cable television dan juga DVD.

3. MPEG-3

Standar untuk High-definition television HDTV.

4. MPEG-4

Pengembangan dari MPEG-1 untuk mendukung objek suara

(38)

5. MPEG-7

Standar suatu sistem formal untuk menggambarkan isi dari

suatu multimedia.

6. MPEG-21

Standar MPEG untuk generasi masa depan (rangka

multimedia).

Berikut ini adalah metode yang biasa digunakan dalam kompresi MPEG:

1. Estimasi pergerakan dilakukan pada setiap macroblock. MPEG mampu

melakukan prediksi terhadap frame sebelumnya, sesudahnya atau

kombinasi keduanya.

2. Setiap macroblock mempunyai dua buah motion vektor, satu untuk

frame sebelumnya dan satu lagi untuk frame sesudahnya. Hal ini

dikarenakan objek dalam frame tidak bergerak secara tetap dari frame

ke frame. Untuk melakukan prediksi terhadap frame selanjutnya, harus

dilakukan buffer terhadap frame ekstra. Estimasi pergerakan juga dapat

dilakukan hingga range yang lebih besar (hingga ±1023) dan dengan

resolusi half-pixel.

3. MPEG malakukan prediksi yang dibentuk dari perbedaan aritmatika

antara macroblock sekarang dengan macroblock dari frame

sebelumnya, frame selanjutnya, rata-rata antara frame sebelumnya

dengan frame selanjutnya atau mengkodekan macroblock sekarang

dari awal. Sebuah DCT 8x8 diaplikasikan kedalam masing-masing

blok pada macroblock sekarang. MPEG menggunakan matriks dan

(39)

4. Karena visual efek dari kuantisasi frequency bin berbeda antara blok

perkiraan dengan blok sekarang, MPEG dapat menggunakan dua

matriks (masing-masing satu untuk setiap tipe). Biasanya, matriks

tersebut diset sekali untuk urutan gambar dan skala kuantisasinya

disesuaikan untuk mengontrol rasio kompresi.

5. Tahap terakhir adalah zig-zag scanning, Run-Length encoding dan

entropy coding. MPEG menspesifikasikan tabel kode Huffman untuk

entropy coding.

Pada proses dekompresinya, setiap operasi dilakukan terbalik, kecuali

untuk estimasi pergerakan. Karena vektor pergerakan dimasukkan dalam

bit-stream yang dikompresi, dekompresor MPEG hanya cukup menerapkan vektor

pergerakan untuk memprediksi frame sebelumnya maupun frame selanjutnya jika

diperlukan.

3.2.2 Algoritma Kompresi Lossless

Kompresi Lossless adalah kelas dari algoritma data kompresi yang

memungkinkan data yang asli dapat disusun kembali dari data kompresi.

Kompresi Lossless menghasilkan data yang identik dengan data yang asli, hal ini

dibutuhkan untuk banyak tipe data, contohnya: executablecode, word processing

files, tabulated numbers dan sebagainya. Rasio kompresi (ukuran file sebelum

dikompresi dibanding file yang telah dikompresi) dengan metode ini sangat

rendah.

Kompresi Lossless bekerja dengan cara mencari bentuk-bentuk yang

(40)

Karena pengurangan bentuk yang berulang tergantung dari bentuk dari data,

kompresi ini tidak bekerja baik pada data acak. Kompresi ini dapat berjalan

dengan baik apabila dilakukan terhadap data simbolik yang berbasis teks dan

executable program.

Algoritma ini cocok untuk kompresi informasi penting yang tidak boleh

merusak nilai dari data tersebut akibat kompresi, karena ingin mengembalikan

data yang telah dikompresi sesuai dengan aslinya. Algoritma ini biasa digunakan

untuk kompresi text. Contoh format gambar yang menggunakan algoritma

Lossless adalah GIF dan PNG dan contoh kompresi Lossless adalah Run-Length,

Half-Byte, LZW, Huffman dll.

3.2.2.1 Run-Length

Teknik Run-Length bekerja berdasarkan sederetan karakter yang

berurutan. Data masukan akan dibaca dan sederetan karakter yang sesuai dengan

karakter yang sudah ditentukan sebelumnya disubstitusi dengan kode tertentu.

Kode khusus ini biasanya terdiri dari tiga buah karakter. Seperti yang

diperlihatkan pada Gambar 3.1.

Sc Cc X

Gambar 3.1 Karakter pada Run-Length

Keterangan:

Sc = Karakter khusus yang dipakai sebagai tanda kompresi

Cc = Banyaknya karakter yang dekompresi

(41)

Sebagai contoh sederhana apabila karakter khusus (Sc) yang digunakan

adalah # dan Cc dalam bilangan desimal, maka jika digunakan untuk kompresi

string “Jarrrrrringan”, maka akan diperoleh hasil “Ja#6ringan”. Gambar 3.2 memperlihatkan contoh kompresi dengan menggunakan Run-Length.

010000001 010000001 010000001 010000001 010000001 010000001 010000001 010000001

11111110 00001000 01000001

Bit Penanda

[image:41.595.180.430.217.335.2]

8X

Gambar 3.2 Contoh kompresi menggunakan algoritma Run-Length

Algoritma komperesi dengan menggunakan metode Run-Length adalah

sebagai berikut:

1. Cari deretan karakter yang sama secara berurutan, jika ada lakukan

kompresi.

2. Tulis byte penanda file kompresi, byte penanda berupa 8 deretan bit yang

boleh dipilih sembarang asalkan digunakan secara konsisten pada seluruh

byte penanda kompresi. Byte penanda ini berfungsi untuk menandai bahwa

karakter selanjutnya adalah karakter kompresi sehingga tidak

membingungkan pada saat mengembalikan file yang sudah dikompresi ke

file aslinya.

3. Tulis deretan bit untuk menyatakan jumlah karakter yang sama berurutan.

4. Tulis deretan bit untuk menyatakan karakter yang berulang.

(42)

Dan untuk algoritma dekomperesi dengan menggunakan metode

Run-Length adalah sebagai berikut:

1. Lihat karakter pada hasil kompresi satu per satu dari awal hingga akhir,

jika ditemukan byte penanda, lakukan proses pengembalian.

2. Lihat karakter setelah byte penanda, konversikan ke bilangan desimal

untuk menentukan jumlah karakter yang berurutan.

3. Lihat karakter berikutnya, kemudian lakukan penulisan karakter tersebut

sebanyak bilangan yang telah diperoleh pada karakter sebelumnya.

4. Ulangi langkah 1-3 sampai karakter terakhir.

3.2.2.2 Half Byte

Seperti halnya pada Run-Length, dalam teknik half byte juga memerlukan

karakter khusus sebagai tanda dari sederetan data yang sudah dikompresi. Hal ini

diperlihatkan pada Gambar 3.3.

Sc N1 N2

N3 N4

N5

Sc ...

... NX

[image:42.595.192.392.502.562.2]

NX

Gambar 3.3 Format menggunakan Algoritma half byte

Keterangan:

Sc adalah karakter khusus sebagai tanda kompresi.

(43)

01101101 01100101 01101110 01100111 01100001 01101101 01100010 01101001 01101100

11111110 01101101 01011110 01110001 11010010 10011100 11111110

Bit Penanda

[image:43.595.213.443.98.241.2]

Bit Penanda

Gambar 3.4 Contoh Kompresi menggunakan Algoritma half byte

Deretan pada Gambar 3.4, sebelah kiri merupakan deretan data pada file

asli, sedangkan deretan data sebelah kanan merupakan deretan data hasil kompresi

dengan algoritma half byte.

Algoritma komperesi dengan menggunakan metode half byte adalah sebagai

berikut:

1. Cari deretan karakter yang 4 bit pertamanya sama secara berurutan,

lakukan kompresi.

2. Tulis byte penanda pada file kompresi, berupa 8 deretan bit (1 byte) yang

boleh dipilih sembarangan asalkan digunakan secara konsisten pada

seluruh byte penanda kompresi. Byte penanda ini berfungsi untuk

menandai bahwa karakter selanjutnya adalah karakter kompresi, sehingga

tidak membingungkan pada saat mengembalikan file yang sudah

dikompresi ke file aslinya.

3. Tulis karakter pertama dari 4 bit kiri berurutan dari file asli.

4. Gabungkan 4 bit kanan karakter kedua dan ketiga kemudian tulis ke file

(44)

5. Tutup dengan menulis byte penanda pada file kompresi.

6. Ulangi langkah 1-5 sampai karakter terakhir.

Dan untuk algoritma dekomperesi dengan menggunakan metode half byte

adalah sebagai berikut:

1. Lihat karakter pada hasil kompresi satu per satu dari awal sampai akhir,

jika ditemukan byte penanda, lakukan proses pengembalian.

2. Lihat karakter setelah byte penanda, tulis karakter tersebut pada file

pengembalian.

3. Lihat karakter berikutnya, ambil 4 bit kiri dan 4 bitkanannya, lalu

masing-masing 4 bit kiri dan 4 bit kanan digabungkan dengan 4 bit kiri karakter

setelah byte penanda. Hasil gabungan tersebut ditulis pada file

pengembalian. Lakukan sampai ditemukan bitpenanda.

4. Ulangi langkah 1-3 sampai karakter terakhir.

3.2.2.3 LZW (Lempel-Ziv-Welch)

Algoritma ini menggunakan metode kamus dalam proses kompresinya.

Dimana string karakter digantikan oleh kode tabel yang dibuat setiap ada string

yang masuk. Tabel dibuat untuk referensi masukan string selanjutnya. Ukuran

tabel kamus pada algoritma LZW asli adalah 4096 sampel atau 12 bit, dimana 256

sampel pertama digunakan untuk tabel karakter single (Extended ASCII), dan

sisanya digunakan untuk pasangan karakter atau string dalam data input.

Algoritma LZW melakukan kompresi dengan menggunakan kode tabel

(45)

ini banyak string yang dapat dikodekan dengan mengacu pada string yang telah

muncul sebelumnya dalam teks.

Algoritma komperesi dengan menggunakan metode LZW adalah sebagai

berikut:

1. Kamus diinisialisasikan dengan semua karakter dasar yang ada :

{„A‟…‟Z‟,‟a‟…‟z‟,‟0‟…‟9‟}.

2. W = karakter pertama dalam stream karakter.

3. K = karakter berikutnya dalam stream karakter.

4. Lakukan pengecekan apakah (W+K) terdapat dalam kamus.

a. Jika ya, maka W ← W + K (gabungkan W dan K menjadi string

baru).

b. Jika tidak, maka:

1. Output sebuah kode untuk menggantikan stringW.

2. Tambahkan string (W+K) ke dalam kamus dan diberikan

kode berikutnya yang belum digunakan dalam kamus untuk

string tersebut.

3. W ← K

c. Lakukan pengecekan apakah masih ada karakter berikutnya dalam

stream karakter

1. Jika iya, maka kembali ke langkah 2.

2. Jika tidak, maka output kode yang menggantikan string W,

(46)

Sebagai contoh, string “ABBABABAC” akan dikompresi dengan LZW.

[image:46.595.180.448.577.718.2]

Isi kamus pada awal proses diset dengan tiga karakter dasar yang ada: “A”, “B” dan “C”. Tahapan proses kompresi ditunjukkan pada Tabel 3.1.

Tabel 3.1 Tahapan kompresi LZW

Langkah Posisi Karakter Kamus Output

1 1 A [4] A B [1]

2 2 B [5] B B [2]

3 3 B [6] B A [2]

4 4 A [7] A B A [4]

5 6 A [8] A B A C [7]

6 9 C - [3]

Kolom posisi menyatakan posisi sekarang dari stream karakter

menyatakan karakter yang terdapat pada posisi tersebut. Kolom kamus

menyatakan string baru yang sudah ditambahkan ke dalam kamus dan nomor

indeks untuk string tersebut ditulis dalam kurung siku. Kolom output menyatakan

kode output yang dihasilkan oleh langkah kompresi. Hasil kompresi ditunjukkan

pada Gambar 3.5.

Stream karakter : a b b ab aba c

Kode output : [1] [2] [2] [4] [7] [3]

Frasa baru yang

ditambahkan ke kamus

4 5 6 7 8 = = = = = ab bb ba aba abaac

(47)

Proses dekompresi data pada algoritma LZW tidak jauh berbeda dengan

proses kompresinya. Pada dekompresi LZW, juga dibuat tabel kamus dari data

input kompresi, sehingga tidak diperlukan penyertaan tabel kamus ke dalam data

kompresi. Berikut adalah algoritma dekompresi LZW:

1. Kamus diinisialisasikan dengan semua karakter dasar yang ada:

{„A‟…‟Z‟,‟a‟…‟z‟,‟0‟…‟9‟}.

2. CW = kode pertama dari stream kode (menunjuk ke salah satu karakter

dasar).

3. Lihat kamus dan outputs string dari kode tersebut (string.CW) ke stream

karakter.

4. PW←CW; CW← kode berikutnya dari stream kode. 5. Apakah string.CW terdapat dalam kamus?

a. Jika ada, maka:

1. Output string.CW ke stream karakter

2. P ← string.PW

3. C ← karakter pertama dari string.CW

4. Tambahkan string (P+ C) ke dalam kamus

b. Jika tidak, maka:

1. P string.PW

2. C ← karakter pertama dari string.PW

3. Output string (P+ C) ke stream karakter dan tambahkan

string tersebut ke dalam kamus (sekarang

(48)

c. Apakah terdapat kode lagi di stream kode?

1. Jika ya, maka kembali ke langkah 4.

2. Jika tidak, maka terminasi proses (stop).

3.2.2.4 Huffman

Uraian mengenai kompresi menggunakan kode Huffman akan

dibahas secara rinci pada Bab IV.

3.3 Metode Kompresi

Ada banyak metode yang dapat digunakan dalam proses kompresi.

Namun, secara garis besarnya metode yang digunakan dapat diklasifikasikan ke

dalam dua metode, yaitu :

1. Metode statis (static method)

2. Metode kamus (dictionary method)

3.3.1 Metode Statis (Static Method)

Metode statis (static method) adalah metode kompresi yang bekerja

dengan cara memetakan data terlebih dahulu kedalam kode-kode (encoding)

sebelum proses kompresi dilakukan, sehingga data tersebut akan dipresentasikan

dengan kode-kode pada saat data itu disimpan atau akan dikirimkan sebelum

(49)

3.3.2 Metode Kamus (Dictionary Method)

Metode kamus (dictionary method) adalah metode kompresi yang

melakukan penyeleksian string dari data, yang kemudian sebagian dari string

tersebut akan diubah menjadi kode dan kamus akan menyimpan kode string setiap

proses penyeleksian dilakukan. Isi dari kamus tersebut bisa tetap atau

berubah-ubah. Hal ini tergantung pada input data, karena setiap pembacaan data akan

dilakukan proses penyeleksian yang akan mengakibatkan bertambahnya isi dari

(50)

BAB IV

KOMPRESI DATA MENGGUNAKAN KODE HUFFMAN

4.1 Pendahuluan

Kode Huffman dikembangkan oleh David A. Huffman pada tahun 1951.

Pada awalnya David A. Huffman menulis paper sebagai salah satu tugas

kuliahnya di MIT. Algoritma ini merupakan pengembangan lebih lanjut dari

algoritma kompresi yang dilakukan oleh Claude Shannon dan R.M. Rano.

Algoritma Huffman disebut juga algoritma prefix, dimana setiap kode

yang dihasilkan tidak akan menghasilkan kode yang sama dari karakter yang

muncul. Algoritma ini berdasarkan frekuensi kemunculan tiap karakter, yang akan

menghasilkan kode-kode baru yang dihasilkan dari pembentukan pohon Huffman.

Pembentukan pohon Huffman dilakukan secara bottom-up, yakni berdasarkan

frekuensi kemunculan karakter yang terkecil ke yang terbesar.

Kode Huffman merupakan algoritma yang cukup popular dan banyak

digunakan untuk melakukan kompresi text maupun data. Kode Huffman ini

memiliki prinsip berdasarkan metode statistik, yakni dengan menghitung

kekerapan karakter yang muncul.

Jika ditijau dari segi teknik pengkodean karakter yang digunakan,

algoritma Huffman ini termasuk dalam algoritma yang menggunakan metode

symbolwise, yaitu suatu metode yang menghitung probabilitas kemunculan suatu

karakter dalam satu waktu, karakter yang sering muncul akan dikodekan dalam

suatu untaian bit yang lebih pendek dan karakter yang jarang muncul akan

(51)

mempercepat proses inisialisasi karakter yang lebih sering muncul dalam sebuah

string, yang tentu saja akan berpengaruh saat encoding dan decoding kode

Huffman.

Kelebihan kompresi data menggunakan Kode Huffman adalah:

1. Kompresi menggunakan kode Huffman merupakan kompresi Lossless

sehingga pada saat data yang telah terkompresi didekompresikan, maka

data tersebut akan sama dengan data aslinya. Hal ini baik digunakan pada

kompresi data berupa teks karena tidak akan mengurangi nilai dari data

tersebut.

2. Proses kompresi menggunakan kode Huffman lebih sederhana

dibandingkan dengan kompresi menggunakan metode lain.

3. Persentase kompresi menggunakan Kode Huffman pada kompresi data

berupa teks berkisar hingga 45%.

4.2 Variasi Kode Huffman

Ada beberapa variasi dari kode Huffman, beberapa diantaranya

menggunakan algoritma yang sama dengan algoritma pembentukan kode

Huffman, beberapa yang lain menemukan kode awalan yang lebih optimal.

Berikut adalah beberapa variasi dari kode Huffman:

1. Kode Huffman n-ary

Algoritma Huffman n-ary menggunakan alphabet {0,1, …, n-1} untuk encoding suatu pesan dan membuat pohon n-ary. Pendekatan ini

adalah ide awal David Huffman. Algoritma sama dengan yang

(52)

yang paling sedikit kemunculannya diambil secara bersamaan, tidak

diambil 2 yang paling sedikit saja. Untuk n>2, tidak semua himpunan

kata-kata sumber dapat membentuk pohon n-ary untuk kode Huffman

dengan benar. Pada kasus ini, tambahan probabilitas 0 harus

ditambahkan. Hal ini dilakukan karena pohonnya harus membentuk

kontraktor n ke 1. Kode biner memiliki kontraktor 2 ke 1, himpunan

kata berukuran berapa pun dapat membentuk kontraktor ini.

2. Kode Huffman Adaptif

Variasi ini menghitung probabilitas secara dinamis berdasarkan

frekuensi terakhir dari string sumber (adaptif). Ide dasar kode Huffman

adaptif ini adalah meringkas tahapan algoritma Huffman tanpa perlu

menghitung jumlah karakter keseluruhan dalam membangun pohon

biner. Algoritma ini dikembangkan oleh Faller, Gallager dan Knuth

yang kemudian dikembangkan lebih lanjut oleh Vitter, sehingga

tercipta dua buah kode Huffman adaptif, yaitu:

a. Algoritma FGK

b. Algoritma V

3. Algoritma Lain yang Menggunakan Dasar Algoritma Huffman

Sering kali bobot yang digunakan dalam implementasi Kode

Huffman mempresentasikan probabilitas numerik, namun ada juga

beberapa contoh pembentukan Kode Huffman yang hanya memerlukan

(53)

Beberapa algoritma lain yang menggunakan dasar dari algoritma

Huffman, bobotnya bisa apa pun (misalnya harga, frekuensi, bobot

sepasang, bobot yang tidak numerik) dan metode kombinasi yang lain

(tidak hanya penjumlahan). Algoritma ini dapat menyelesaikan

masalah minimalisasi yang lain, misalnya meminimalisasi pada design

rangkaian digital.

4. Kode Huffman dengan Panjang Dibatasi

Ini adalah salah satu variasi kode Huffman yang tujuannya sama,

yaitu membangun pohon biner dengan panjang lintasan minimum,

tetapi yang membedakannya adalah panjang kode Huffman harus lebih

kecil dari konstanta tertentu yang telah ditentukan.

5. Kode Huffman dengan Bobot Sumber Tidak Sama

Pada masalah penentuan kode Huffman yang biasa, diasumsikan

setiap karakter pada sumber memiliki bobot yang sama. Kode biner

dengan bobot N akan selalu berbobot N, tidak peduli berapa banyak

digitnya yang 0 dan berapa banyak digitnya yang 1. Dengan asumsi

seperti ini, meminimalisasikan harga total suatu pesan sama dengan

meminimalisasi jumlah digit total.

Kode Huffman dengan bobot sumber tidak sama adalah

generalisasinya, dimana asumsi tersebut tidak berlaku.

Karakter-karakter pada sumber panjangnya bisa berbeda-beda, karena adanya

(54)

encoding alphabet pada Kode Morce, dimana sebuah „-„ (garis)

memakan waktu pengiriman yang lebih lama dibandingkan sebuah „.‟

(titik), dengan demikian bobot garis dalam pengiriman lebih besar.

Tujuannya masih sama, yaitu meminimalisasikan panjang kode

rata-rata, tetapi tidak cukup dengan hanya meminimalisasi jumlah simbol

yang digunakan dalam suatu pesan. Belum ada algoritma yang

diketahui dapat menyelesaikan masalah ini dengan tingkat efisiensi

yang sama dengan Kode Huffman yang konvensional.

6. Pohon biner Alfabetis (Kode Hu-Tucker)

Pada masalah penentuan Kode Huffman yang biasa, diasumsikan

bahwa setiap kode dapat mengacu pada simbol apapun pada sumber.

Pada versi alfabetis ini, urutan alfabetis pada sumber dan hasil

encoding harus sama. Kode Hu-Tucker ini sering digunakan sebagai

pohon pencarian biner (BST/Binary Search Tree).

7. Kode Huffman Kanonik

Kode yang didapatkan dari sumber yang diurutkan kembali, yang

disebut Kode Huffman kanonik ini adalah kode yang sering digunakan,

karena kemudahannya dalam encoding dan decoding. Teknik

menentukan kode ini sering disebut Kode Huffman-Shannon-Fano,

karena optimalitasnya seperti Kode Huffman dan probabilitas bobotnya

(55)

4.3 Encoding dan Decoding Menggunakan Kode Huffman

Pada setiap model kompresi, dilakukan proses konversi simbol dari

representasi string menjadi representasi kode lain dan sebaliknya. Ada dua alat

konversi dalam hal ini, yaitu encoder dan decoder.Encoder merupakan alat untuk

menjalankan suatu mekanisme untuk melakukan konversi simbol dari representasi

string menjadi suatu representasi kode lainnya yang bersifat unik. Mekanisme

yang dilakukan oleh encoder disebut encoding. Sedangkan decoder merupakan

alat yang menjalankan suatu mekanisme untuk mengembalikan representasi unik

dari suatu string menjadi sebuah representasi string awalnya. Mekanisme yang

dilakukan encoder adalah decoding.

4.3.1 Encoding

Pembentukan pohon Huffman adalah untuk membuat prefix code, yaitu

kode berupa string biner dimana kode yang satu bukan merupakan awalan dari

kode yang lain, sehingga pembentukan kode biner setelah dikompresi tidak

menghasilkan kode yang sama. Secara garis besar proses kompresi dimulai

dengan membuat pohon Huffman, setelah itu mengubah setiap karakter menjadi

kode biner dan menyimpan kembali menjadi karakter yang lain karena ada

pengerutan jumlah bit.

Yang perlu diperhatikan adalah penyimpanan pohon Huffman, jika terjadi

kesalahan maka file kompresi tidak akan terbaca. Berikut adalah Algoritma

Huffman:

1. Baca SMS yang akan diencoding (SMS yang akan dikirimkan)

(56)

3. Urutkan dari frekuensi kemunculan yang terkecil hingga yang terbesar.

4. Buat pohon Huffman dengan cara :

a. Setiap karakter dinyatakan sebagai pohon bersimpul tunggal dan

setiap karakter disertai dengan jumlah frekuensi kemunculannya.

b. Gabungkan dua pohon dengan frekuensi terkecil pada sebuah akar.

c. Setelah digabungkan akar tersebut akan mempunyai frekuensi yang

merupakan jumlah frekuensi dari dua pohon penyusun tersebut.

d. Ulangi hingga hanya tersisa satu buah pohon Huffman. Dan

urutkan berdasarkan frekuensi dari yang terkecil ke yang terbesar.

e. Jika frekuensi kedua pohon sama, maka beri simbol 0 untuk

sebelah kiri dan simbol 1 untuk sebelah kanan. Dan jika frekuensi

kedua pohon berbeda, maka beri simbol 0 untuk frekuensi yang

lebih kecil dan 1 untuk frekuensi yang lebih besar.

5. Setelah pohon Huffman selesai. Urutkanlah biner yang terbentuk dari akar

hingga ke karakter tunggal.

6. Urutan biner tersebut adalah kode Huffman yang menggantikan kode

ASCII untuk mempresentasikan karakter tersebut.

Setelah proses encoding dilakukan, maka akan dapat diperoleh persentase

dari kompresi dengan persamaan:

(57)

Dan diperoleh rasio kompresi dengan persamaan:

Cr =

...

(4.2)

Sebagai contoh sederhana sebuah kompresi, dalam kode ASCII string 7

huruf “ABACCDA” membutuhkan representasi 7 x 7 bit = 49 bit, dengan rincian

seperti pada Tabel 4.1.

Tabel 4.1 Frekuensi Kemunculan Karakter pada Data

karakter Frekuensi kemunculan Kode ASCII

A 3 1000001

B 1 1000010

C 2 1000011

D 1 1000100

Maka dari Tabel 4.1 pembentukan pohon Huffman untuk proses kompresi

yang dapat terjadi deperlihatkan pada Gambar 4.1. Seluruh karakter beserta

frekuensi kemunculannya dapat dilihat pada gambar 4.1(a), lalu dua buah karakter

dengan frekuensi terkecil yaitu “B” dan “D” digabungkan serta tambahkan kode

“0” untuk node pertama “B” dan kode “1” untuk node kedua “D”. Hal ini dapat dilihat pada Gambar 4.1(b). Kemudian gabungan karakter tersebut digabungkan

dengan karakter dengan frekuensi yang paling mendekati yaitu “C”, karakter gabungan tersebut yang terlihat pada Gambar 4.1(c). Kemudian karakter

gabungan tersebut digabungkan lagi dengan karakter “A” seperti pada Gambar

(58)

(a)

(b) (c)

[image:58.595.135.479.83.608.2]

(d)

Gambar 4.1 Proses Encoding Menggunakan Pohon Huffman

D=1

C=2

B=1

A=3

BD=2

B=1 D=1

BCD=4

BD=2

D=1 B=1

C=2

ABCD=7

BCD=4

BD=2

D=1 B=1

C=2 A=3

0 1

0 1

0

0

0

0

1

1

1

(59)
[image:59.595.232.339.115.218.2]

Gambaran yang lebih sederhana diperlihatkan pada Gambar 4.2.

A

C

B

D

0

1

1 0

0

1

Gambar 4.2 Tampilan proses encoding Huffman yang lebih sederhana

[image:59.595.109.462.340.439.2]

Dapat diperoleh hasil encoding tersebut, seperti pada Tabel 4.2.

Tabel 4.2 Hasil encoding Menggunakan Algoritma Huffman

Karakter Frekuensi kemunculan Kode Huffman

A 3 0

B 1 110

C 2 10

D 1 111

Dari Tabel 4.2 dapat diketahui bahwa dibutuhkan representasi (3x1) +

(1x3) + (2x2) + (1x3) = 13 bit.

Maka dapat diperoleh persentase kompresi dengan menggunakan

persamaan 4.1 sebesar:

Dan juga dapat diketahui rasio kompresinya dengan menggunakan persamaan 4.2,

yaitu sebesar:

Cr =

(60)

Algoritma Huffman mempunyai kompleksitas waktu O(n log n). Karena

dalam melakukan sekali proses itersi pada saat penggabungan dua buah pohon

yang mempunyai frekuensi terkecil pada sebuah akar membutuhkan waktu O(log

n), dan proses itu dilakukan berkali-kali sampai hanya tersisa satu buah pohon

Huffman itu berarti dilakukan sebanyak n kali.

4.3.2 Decoding

Decoding merupakan proses mengembalikan suatu data dari suatu kode

tertentu. Proses Decoding ini merupakan proses kebalikan dari proses encoding.

Terdapat dua cara yang cukup cepat untuk melakukan decoding simbol, yaitu:

1. Membaca dari pohon Huffman

Hal ini dapat dilakukan dengan cara membaca sebuah bit dari kode

binernya dan menelusuri hingga sampai pada simpul daun yang

mengandung simbol tersebut untuk setiap bitnya. Ketika suatu bit sampai

pada daun suatu pohon, suatu simbol yang terkandung dalam daun tersebut

ditulis untuk decoded data tersebut dan mengulanginya kembali dari akar

(61)

Gambar 4.3 Proses Decoding Menggunakan Pohon Huffman

2. Menggunakan Tabel Kode Huffman

Decoding cara ini dilakukan dengan menyimpan setiap kode pada suatu

tabel yang terurut berdasarkan panjang kode dan mencari kesamaan dari

setiap bit yang dibaca.

Dengan menggunakan Tabel 4.2 string ”ABACCDA” tersebut akan dipresentasikan menjadi rangkaian bit: 0 110 0 10 10 111 0. Jadi jumlah

bit yang dibutuhkan hanya 13 bit. Dari Tabel 4.2 tampak bahwa kode

untuk sebuah karakter tidak boleh menjadi awalan dari kode simbol yang

lain guna menghindari keraguan dalam proses decoding. Karena tiap kode

Huffman yang dihasilkan unik, maka proses decoding dapat dilakukan

dengan mudah. Contoh: saat membaca kode bit pertama dalam rangkaian

bit ”0110010101110”, yaitu bit ”0” dapat langsung disimpulkan

ABCD=7

BCD=4

BD=2

D=1 B=1

C=2 A=3

0

0

0 1

1

[image:61.595.191.414.92.305.2]
(62)

merupakan pemetaan dari simbol ”A”. Kemudian baca kode bit selanjutnya ”1”, tidak ada kode Huffman ”1”, sehingga menjadi ”11”, tidak ada juga kode Huffman ”11”, sehingga menjadi ”110”. Rangkaian

(63)

BAB V

APLIKASI KOMPRESI SMS MENGGUNAKAN KODE

HUFFMAN PADA

MOBILE PHONE

BERBASIS JAVA

TM

5.1 Pendahuluan

SMS (Short Message Service) awalnya merupakan sebuah fitur aplikasi

GSM (Global System For Mobile Communication), yang dikembangkan dan

distandarisasi oleh ETSI (European Telecommunication Standards Institute),

namun kini sudah didapatkan pada jaringan bergerak lainnya termasuk jaringan

UMTS. Meskipun saat ini sudah banyak fitur dari GSM seperti MMS (Multimedia

Message Service) dan GPRS (General Packet Radio Service), akan tetapi

keberadaan jasa dan industri yang menggunakan SMS semakin lama semakin

banyak dijumpai karena biayanya yang relatif murah.

Pada proses pengiriman SMS, SMS tersebut tidak langsung dikirimkan

dari ponsel ke ponsel tujuan, akan tetapi terlebih dahulu dikirim ke SMS center

(SMSC), kemudian dengan system store and forward SMS tersebut dikirimkan ke

ponsel tujuan.

Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain

sebuah pesan bisa memuat 140 karakter 8 bit, 160 karakter 7 bit atau 70 karakter

16 bit untuk Bahasa Jepang, Bahasa Arab, Bahasa Mandarin dan Bahasa korea

yang memakai Hanzi (Aksara Kanji/Hanja). Pengiriman SMS memiliki beberapa

kendala. Pesan yang dikirim sering kali berukuran terlalu besar sehingga

memakan waktu yang cukup lama dalam proses pentransmisian data tersebut.

(64)

besar pula. Dari segi biaya, apabila kita ingin mengirimkan pesan melebihi jumlah

karakter yang telah ditentukan oleh mobile phone kita, maka kita harus membayar

lebih.

Masalah-masalah tersebut dapat diatasi dengan proses pemadatan atau

kompresi isi dari SMS tersebut sehingga waktu dan ruang yang digunakan dapat

seminimal mungkin. Aplikasi kompresi SMS merupakan aplikasi yang dibuat agar

dapat melakukan proses kompresi dan dekompresi terhadap teks SMS yang

kemudian mengirimkan atau menerima pesan tersebut. Algoritma kompresi yang

digunakan pada aplikasi ini adalah algoritma Huffman.

5.2 Pengiriman File Aplikasi HuffSMS melalui Bluetooth

Pada saat file aplikasi HuffSMS akan dikirimkan, pastikan Bluetooth pada

mobile phone telah diaktifkan. Proses pengiriman file aplikasi HuffSMS melalui

Bluetooth dapat dilihat pada Gambar 5.1. Dengan klik kanan pada file aplikasi

HuffSMS tersebut, arahkan kursor pada send to,

Gambar

Gambar 2.7 Modulasi Data Analog, Sinyal Analog
Gambar 3.2 Contoh kompresi menggunakan algoritma Run-Length
Gambar 3.3 Format menggunakan Algoritma half byte
Gambar 3.4 Contoh Kompresi menggunakan Algoritma half byte
+7

Referensi

Dokumen terkait

Hasil kompresi dari aplikasi memungkinkan pengguna dapat mengirimkan karakter pesan hingga 21% lebih banyak dari batas maksimal dengan biaya satu kali pengiriman, tergantung

dilakukan sekali, kompres dan dekompres dilakukan pada mobile device yang berbeda.Dengan adanya kebutuhan dan batasan tersebut, maka tugas akhir ini akan menggunakan metoda

Dilakukan pengiriman SMS dari mobile phone ke SIP Client dengan isi pesan “Tes kirim SMS” pada trafik peak dan non peak untuk kemudian dilakukan pengukuran

Penelitian “Implementasi Keamanan File dengan Kompresi Huffman dan Kriptografi menggunakan Algoritma RC4 serta Steganografi menggunakan End of File berbasis Desktop

Pada pengujian pertama dilakukan percobaan untuk mengambil gambar secara periodik dari kamera mobile phone. Dari hasil percobaan diperoleh waktu untuk pengambilan

Oleh karena itu untuk membuat sistem bekerja pada mobile phone adalah dengan menggunakan SMS Gateway. Kata Kunci: e-Election System, SMS Gateway, Mobile

Demi menjaga kerahasiaan informasi dalam pengiriman pesan singkat (SMS) berbasis Mobile Android dengan menggunakan metode algorìtma RSA (Rivest Shamìr Adleman)

Saat mesin faks tujuan menerima kode elektronik tersebut, ia akan menerjemahkan kode tersebut ke dalam rangkaian titik-titik hitam dan putih yang kemudian