bab 2 kriptografi mempunyai sejarah yang sangat panjang...
TRANSCRIPT
8
BAB 2
LANDASAN TEORI
2.1 Kriptografi
2.1.1 Sejarah Kriptografi
Kriptografi mempunyai sejarah yang sangat panjang. Kriptografi
sudah digunakan 4000 tahun yang lalu, diperkenalkan oleh orang – orang
Mesir lewat hieroglyph. Jenis tulisan ini bukanlah bentuk standar untuk
menulis pesan.
Gambar 2.1 Tulisan hieroglyph
(Ariyus, 2008, p13)
Kriptografi berasal dari bahasa Yunani, cryptos yang berarti rahasia
dan graphein yang berarti tulisan. Kriptografi adalah sebuah teknik dalam
mengamankan dan mengirim data dalam bentuk yang hanya diketahui oleh
pihak yang berhak membukanya. Kriptografi merupakan ilmu dan seni dalam
memproteksi informasi dengan mengubahnya ke dalam bentuk himpunan
karakter acak yang tidak dapat dibaca. Kriptografi adalah sebuah cara yang
efektif dalam mengamankan informasi-informasi penting baik yang
tersimpan dalam media penyimpanan maupun yang ditransmisikan melalui
jaringan komunikasi (Ariyus, 2008, p13).
9
2.1.2 Pengertian Kriptografi
Kriptografi adalah suatu metode keamanan untuk melindungi suatu
informasi dengan menggunakan kata-kata sandi yang hanya bisa dimengerti
oleh orang yang berhak mengakses informasi tersebut. Kriptografi
merupakan satu-satunya metode yang digunakan untuk melindungi informasi
yang melalui jaringan komunikasi yang menggunakan landline (kabel di
bawah tanah), satelit komunikasi, dan fasilitas microwave (gelombang
mikro). Prosedur-prosedur kriptografi juga bisa digunakan untuk
authentifikasi pesan, digital signature, dan identifikasi pribadi untuk
mengotorisasi transfer uang secara digital melalui ATM, kartu kredit, dan
melalui suatu jaringan.
Gambar 2.2 Proses Enkripsi dan Deskripsi
(Kromodimoeljo, 2009, p5)
Kriptografi sebenarnya adalah suatu metode yang sering sekali
digunakan untuk melindungi berbagai macam data yang prosesnya disebut
dengan encryption, yaitu adalah suatu proses yang mengkonversi sebuah
pesan plaintext menjadi sebuah ciphertext yang bisa dibalik ke bentuk asli
seperti semula, yang juga bisa disebut sebagai proses decoding atau
decryption (Ariyus, 2008, p14).
10
Dalam skripsi ini, enkripsi data akan digunakan terhadap suatu tipe
data audio yang memiliki gelombang suara digital dan analog untuk
melindungi data dari distribusi ilegal dengan membuat data tersebut tidak
bisa dijalankan tanpa kunci yang bisa membuka sistem keamanan enkripsi
yang sudah dipasang di dalam audio tersebut. Setiap file audio bisa di copy
dan didistribusikan, namun tidak bisa dijalankan tanpa kunci untuk
mengakses data tersebut.
2.1.3 Tujuan Kriptografi
Menurut Anonymous, 2010, tujuan kriptografi adalah melindungi
data dari ancaman yang disengaja atau tidak disengaja. Dewasa ini ancaman
bertambah karena semakin meluasnya akses melalui internet atau teknologi
bergerak. Aspek-aspek keamanan data dalam kriptografi adalah sebagai
berikut :
1) Confidentiality
Merupakan usaha untuk menjaga kerahasiaan data. Data hanya
boleh diakses oleh orang yang berwenang. Contohnya data-
data pribadi, data-data bisnis, daftar gaji, data nasabah dan
lainnya. Aspek keamanan data menjadi sensitif dalam e-
commerce dan militer. Serangan dalam aspek ini antara lain
dilakukan dengan penyadapan, misalnya sniffer atau logger.
11
2) Integrity
Memastikan bahwa informasi yang dikirim melalui jaringan
tidak mengalami modifikasi oleh pihak yang tidak berhak.
Serangan dapat berupa pengubahan data oleh orang yang tidak
berhak, misalnya dengan spoofing yaitu virus yang dapat
mengubah berkas.
3) Availability
Informasi harus tersedia ketika dibutuhkan. Serangan dapat
berupa menghilangkan atau menghapus data.
4) Authentication
Meyakinkan keaslian data, sumber data, orang yang
mengakses data, dan server yang digunakan. Beberapa cara
yang dapat digunakan untuk membuktikan keaslian data
antara lain dengan what you have (misalnya kartu identitas),
what you know (misalnya password atau PIN) dan what you
are (misalnya dengan biometric identity).
5) Access Control
Aspek ini berhubungan dengan mekanisme pengaturan akses
ke informasi, untuk mengatur siapa yang boleh melakukan
apa. Membutuhkan adanya klasifikasi data, misalnya umum
(public), pribadi (private), rahasia (confidential) atau sangat
rahasia (top secret).
12
2.1.4 Jenis Algoritma Kriptografi
Menurut Anonymous, 2010, berdasarkan kunci yang digunakan untuk
enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi 2 macam, yaitu
kriptografi simetri (symmetric cryptography) dan kriptografi asimetri
(asymetric cryptography)
2.1.4.1 Kriptografi Simetri
Pada sistem kriptografi simetri, kunci untuk proses enkripsi
sama dengan kunci untuk proses dekripsi. Keamanan sistem
kriptografi simetri terletak pada kerahasiaan kunci. Istilah lain untuk
kriptografi simetri adalah kriptografi kunci privat (private key
cryptography) atau kriptografi konvensional (conventional
cryptography).
Gambar 2.3 Kriptografi Simetri
(Anonymous, 2010, p11)
Algoritma kriptografi simetri dapat dikelompokkan menjadi dua
kategori antara lain :
1) Cipher aliran (stream cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks
dalam bentuk bit tunggal yang dalam hal ini rangkaian bit
13
dienkripsikan/didekripsikan bit per bit. Cipher aliran
mengenkripsi satu bit setiap kali.
2) Cipher blok (block cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks
dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi
menjadi blok- blok bit yang panjangnya sudah ditentukan
sebelumnya. Cipher blok mengenkripsi satu blok bit setiap
kali.
2.1.4.2 Kriptografi Asimetri
Pada sistem kriptografi asimetri, kunci untuk proses enkripsi
tidak sama dengan kunci untuk proses dekripsi. Istilah lain untuk
kriptografi asimetri adalah kriptografi kunci publik (public key
cryptography), sebab kunci untuk enkripsi tidak rahasia dan dapat
diketahui oleh siapapun, sementara kunci untuk dekripsi hanya
diketahui oleh penerima pesan.
Gambar 2.4 Kriptografi Asimetri
(Anonymous, 2010, p12)
14
2.1.5 Kriptografi Triple DES
Menurut Hidayat, 2010 Triple DES adalah sebuah cipher blok yang
dibentuk oleh DES dengan menggunakannya tiga kali. Triple DES atau
TDES atau 3DES menggunakan DES 3 kali. Penggunaan tiga langkah ini
penting untuk mencegah meet – in – middle attack sebagaimana pada Double
DES.
Bentuk sederhana dari Triple DES adalah :
Enkripsi : C = Ek3 (Ek2(Ek1(P)))
Dekripsi : P = Dk1 (Dk2(Dk3(C)))
Perlu diingat bahwa DES bukanlah sebuah grup (dalam
matematika), karena jika merupakan grup, pembangunan Triple DES akan
ekivalen dengan operasi Single DES yang berarti tidak lagi aman
Varian ini umum dikenal dengan dengan mode EEE (untuk enkripsi)
karena pada proses enkripsi semuanya menggunakan enkripsi. Untuk
menyederhanakan interoperability antara DES dan Triple DES, maka pada
langkah di tengah (pada proses enkripsi TDES) diganti dengan dekripsi
(mode EDE). Dengan pengubahan ini, maka dibuat beberapa versi TDES.
Versi pertama Triple DES menggunakan 2 buah kunci, yaitu k1 dan k2.
Enkripsi : C = Ek1 (Dk2(Ek1(P)))
Dekripsi : P = Dk1 (Ek2(Dk1(C)))
15
Enkripsi DES tunggal dengan kunci K dapat dinyatakan sebagai
TDES – EDE with K1 = K2 = K. Gambar di bawah ini memperlihatkan versi
TDES dengan 2 buah kunci. Penggunaan enkripsi pada langkah di tengah
tidak mempengaruhi keamanan algoritma
Gambar 2.5 Diagram enkripsi dan dekripsi Triple DES
(Hidayat, 2010, p5)
Secara umum, Triple DES dengan 2 buah kunci mempunyai panjang
kunci 2 x 56 bit = 112 bit, jauh lebih pendek daripada Triple DES yang
mempunyai panjang kunci 3 x 56 bit = 168 bit.
2.1.6 Algoritma Triple DES
Algoritma enkripsi atau dekripsi Triple DES seperti algoritma
kriptografi lainnya yaitu memiliki algoritma umum. Triple DES merupakan
suatu algoritma pengembangan dari algoritma DES.
17
Gambar 2.6 Tahapan algoritma Triple DES.
(Hidayat, 2010, p6)
Gambar di atas menjelaskan tentang tahapan algoritma Triple DES. Pada
dasarnya algoritma yang digunakan sama. Hanya pada Triple DES dikembangkan
dengan melakukan enkripsi dengan implementasi algoritma DES sebanyak tiga kali.
Triple DES memiliki 3 buah kunci yang berukuran 168-bit (tiga kali 56 bit
dari DES ). Pada algoritma Triple DES dibagi menjadi tiga tahap, setiap tahapnya
merupakan implememntasi dari algoritma DES.
Tahap pertama, plainteks yang diinputkan dioperasikan dengan kunci
eksternal pertama (K1) dan melakukan proses enkripsi dengan menggunakan
algoritma DES, sehingga menghasilkan pra- chipherteks pertama. Tahap kedua, pra-
cipherteks pertama yang dihasilkan pada tahap pertama , kemudian dioperasikan
dengan kunci eksternal kedua (K2) dan melakukan proses enkripsi atau proses
dekripsi (tergantung cara pengenkripsian yang digunakan ) dengan menggunak
algoritma DES. Sehingga menghasilkan Pra- cipherteks kedua. Tahap terakhir, pra-
cipherteks kedua yang dihasilkan pada tahap kedua, dioperasikan dengan kunci
eksternal ketiga (K3) dan melakukan proses enkripsi dengan menggunakan algoritma
DES, sehingga menghasilkan cipherteks (C).
2.1.6.1 Proses Enkripsi Triple DES
Proses enkripsi algoritma Triple DES dapat dicapai dengan
menggunakan tiga kunci :
Enkripsi : C = Ek3(Dk2(Ek1(P)))
18
Penjelasan :
Enkripsi pesan P mula – mula dengan kunci lalu hasilnya
didekripsi lagi dengan kunci K2, kemudian dienkripsi lagi
dengan kunci K3 dan hasil enkripsi terakhir adalah cipherteks
2.1.6.2 Proses Dekripsi Triple DES
Proses Dekripsi algoritma Triple DES dapat dicapai dengan
menggunakan tiga kunci :
Dekripsi : P = Dk1(Ek2(Dk3(C)))
Penjelasan :
Mula – mula kunci K3 digunakan untuk mendekripsi C, lalu
hasilnya dienkripsi lagi dengan kunci K2, kemudian didekripsi
lagi dengan kunci K1 dan hasil dekripsi terakhir adalah pesan
semula (P).
2.1.7 Keamanan Triple DES
Secara umum TDES dengan tiga kunci berbeda memiliki kunci
berukuran 168-bit (3) kali kunci 56-bit dari DES), namun dengan metode
meet-in-the-middlekeamanan yang diberikan hanyalah 112-bit. Sebuah
varian, Double TDES, menggunakan kunci k1=k3, yang berarti mengecilkan
ukuran kunci ke 112-bit dan ukuran storagemenjadi 128-bit.
2.1.8 Implementasi Kriptografi
Menurut Munir (2004, p6 - p8), kriptografi banyak digunakan dalam
kehidupan sehari – hari antara lain :
19
- Pengiriman data melalui saluran komunikasi
- Penyimpanan data di dalam disk storage.
- Automatic Teller Machine (ATM)
- Telepon genggam (Handpone)
- Keamanan Jaringan Internet
Contoh-contoh aplikasi crypthography pada data tersimpan:
a) Dokumen teks
Plainteks (plain.txt):
Ketika saya berjalan-jalan di pantai, saya menemukan banyak sekali
kepiting yang merangkak menuju laut. Mereka adalah anak-anak
kepiting yang baru menetas dari dalam pasir. Naluri mereka
mengatakan bahwa laut adalah tempat kehidupan mereka.
Cipherteks (cipher.txt):
Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/�p}âpx;épêp/|t}t|äzp}/qp}êpz/étzp
{x/zt�xâx}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/\tützppsp{pw/p}pz<p}pz/z
t�xâx}v/êp}v/qpüä|t}tâpé/spüx/sp{p|/�péxü=/]p{äüx|ttüzp/|t}vpâpz
p}/qpwåp/{päâ/psp{pwât|�pâ/ztwxsä�p}/|tützp=
Hasil dekripsi terhadap berkas cipher.txt:
Ketika saya berjalan-jalan di pantai, saya menemukan banyak
sekali kepiting yang merangkak menuju laut. Mereka adalah anak-
anak kepiting yang baru menetas dari dalam pasir. Naluri mereka
mengatakan bahwa laut adalah tempat kehidupan mereka.
20
b) Dokumen gambar
Plainteks (lena.bmp): Cipherteks (lena2.bmp)
Hasil dekripsi terhadap berkas lena2.bmp menghasilkan gambar yang
sama seperti lena.bmp.
2.2 Suara
2.2.1 Pengertian Suara
Suara atau bunyi adalah getaran yang disalurkan melalui medium
penghantarnya, baik padat,cair,atau gas / udara. Suara yang dapat didengar
oleh manusia lebih dikenal dengan sebutan audio.
Rentang frekuesi rata – rata yang dapat ditoleransi oleh oleh telinga
manusia adalah antara 20 Hz sampai dengan 20.000 Hz atau 20kHz, dan
umumnya batas atas akan berkurang dengan seiring bertambahnya umur
manusia. Makhluk hidup selain manusia memiliki rentang toleransi yang
berbeda. Hampir seluruh komponen di dalam bumi yang dapat bergetar akan
menghasilkan bunyi (Suharja, 2009, p14).
21
2.2.2 Karakteristik Gelombang Suara
Menurut pendapat Suharja (2009, p16), karakteristik dari gelombang
suara dapat diketahui dari beberapa hal,antara lain :
1) Frekuensi
Frekuensi adalah banyaknya getaran yang dihasilkan sumber
suara dalam satu detik
2) Periode
Waktu yang dibutuhkan untuk menghasilkan satu getaran
3) Amplitudo
Simpangan terbesar yang dihasilkan oleh sumber suara
4) Kelajuan
Cepat lambat gelombang suara dan arah
Nada atau tinggi rendahnya suara disebabkan oleh beberapa
perubahan, anatara lain jarak titik maximal gelombangnya yang merupakan
perubahan frekuensi. Sedangkan kekerasan suara dipengaruhi oleh
amplitudonya. Semakin besar amplitudonya,semakin besar suaranya.
2.2.3 Audio Digital
Menurut pendapat Suharja (2009, p17), Audio digital merupakan
sinyal diskrit dan bukan sinyal kontinyu.Sinyal diskrit diciptakan dari
sampling sinyal analog yang kontinyu dengan rate tertentu. Audio digital
disimpan pada komputer dengan barisan 0 dan 1 dalam file audio digital.
Dengan alat bantu yang tepat, maka tiap bit dalam file dapat diubah.
Pengaturan yang tepat dapat menyebabkan perubahan bit pada file tidak
dapat dibedakan oleh telinga manusia.
22
2.2.4 Tipe Format File Audio
Menurut Suharja (2009, p18) terdapat 3 golongan besar dalam
mengelompokkan format file audio :
- Format audio yang tidak dikompres (uncompress), contohnya :
WAV,AIFF dan AU
- Format audio dengan kompresi nirrugi (lossless), contohnya :
FLAC, Monkey,s Audio (APE),WavPack (WV), Shorten dan
Tom’s Lossless Audio Kompressor (TAK).
- Format audio dengan kompresi rugi (lossy), contohnya : MP3,
Vorbis, Musepack, AAC dan lossy Windows Media Audio.
2.2.5 File Mp3
Menurut Soehono (2006, p6 – p7) MPEG (Moving Picture Expert
Group)-1 audio layer III atau yang lebih dikenal dengan MP3, adalah salah
satu dari pengkodean dalam digital audio dan juga merupakan format
kompresi audio yang memiliki sifat “menghilangkan”. Istilah menghilangkan
yang dimaksud adalah kompresi audio ke dalam format mp3 menghilangkan
aspek-aspek yang tidak signifikan pada pendengaran manusia untuk
mengurangi besarnya file audio.
Sejarah mp3 dimulai dari tahun 1991 saat proposal dari Phillips
(Belanda), CCET (Perancis), dan Institut für Rundfunktechnik (Jerman)
memenankan proyek untuk DAB (Digital Audio Broadcast). Produk mereka
Musicam (akan lebih dikenal dengan layer 2) terpilih karena kesederhanaan,
ketahanan terhadap kesalahan, dan perhitungan komputasi yang sederhana
untuk melakukan pengkodean yang menghasilkan keluaran yang memiliki
23
kualitas tinggi. Pada akhirnya ide dan teknologi yang digunakan
dikembangkan menjadi MPEG-1 audio layer 3. Mp3 adalah pengembangan
dari teknologi sebelumya sehingga dengan ukuran yang lebih kecil dapat
menghasilkan kualitas yang setara dengan kualitas CD.
Spesifikasi dari layer-layer sebagai berikut:
• Layer 1: paling baik pada 384 kbit/s
• Layer 2: paling baik pada 256...384 kbit/s, sangat baik pada 224...256
kbit/, baik pada 192...224 kbit/s
• Layer 3: paling baik pada 224...320 kbit/s, sangat baik pada 192...224
kbit/s, baik pada 128...192 kbit/s
Kompresi yang dilakukan oleh mp3 seperti yang telah disebutkan
diatas, tidak mempertahankan bentuk asli dari sinyal input. Melainkan yang
dilakukan adalah menghilangkan suara-suara yang keberadaannya
kurang/tidak signifikan bagi sistem pendengaran manusia. Proses yang
dilakukan adalah menggunakan model dari sistem pendengaran manusia dan
menentukan bagian yang terdengar bagi sistem pendengaran manusia.
Setelah itu sinyal input yang memiliki domain waktu dibagi menjadi blok-
blok dan ditransformasi menjadi domain frekuensi. Kemudian model dari
sistem pendengaran manusia dibandingkan dengan sinyal input dan dilakukan
proses pemfilteran yang menghasilkan sinyal dengan range frekuensi yang
signifikan bagi sistem pendengaran manusia. Proses diatas adalah proses
konvolusi dua sinyal yaitu sinyal input dan sinyal model sistem pendengaran
manusia. Langkah terakhir adalah kuantisasi data, dimana data yang
terkumpul setelah pemfilteran akan dikumpulkan menjadi satu keluaran dan
dilakukan pengkodean dengan hasil akhir file dengan format mp3.
24
Proses pengkompresian mp3 dapat menghasilkan keluaran yang hampir
setara dengan aslinya disebabkan oleh kelemahan dari sistem pendengaran
manusia yang dapat dieksploitasi. Berikut adalah beberapa kelemahan dari
sistem pendengaran manusia yang digunakan dalam pemodelan:
• Terdapat beberapa suara yang tidak dapat didengar oleh manusia
(diluar jangkauan frekuensi 30-30.000 Hz).
• Terdapat beberapa suara yang dapat terdengar lebih baik bagi
pendengaran manusia dibandingkan suara lainnya.
• Bila terdapat dua suara yang dikeluarkan secara simultan, maka
pendengaran manusia akan mendengar yang lebih keras
sedangkan yang lebih pelan akan tidak terdengar.
Kepopuleran dari mp3 yang sampai saat ini belum tersaingi
disebabkan oleh beberapa hal. Pertama mp3 dapat didistribusikan dengan
mudah dan hampir tanpa biaya., walaupun sebenarnya hak paten dari mp3
telah dimiliki dan penyebaran mp3 seharusnya dikenai biaya. Walaupun
begitu, pemilik hak paten dari mp3 telah memberikan pernyataan bahwa
penggunaan mp3 untuk keperluan perorangan tidak dikenai biaya.
Keuntungan lainnya adalah kemudahaan akses mp3, dimana banyak sofware
yang dapat menghasilkan file mp3 dari CD dan keberadaan file mp3 yang
bersifat ubiquitos (kosmopolit).
Pada perbandingan kualitas suara antara beberapa format kompresi
audio hasil yang dihasilkan bervariasi pada bitrate yang berbeda,
perbandingan berdasarkan codec yang digunakan. Pada 128 kbit/s, LAME
MP3 unggul sedikit dibandingkan dengan Ogg Vorbis, AAC, MPC and
25
WMA Pro. Kemudian pada 64 kbit/s,AAC-HE dan mp3pro menjadi yang
teratas diantara codec lainnya. Dan untuk diatas 128 kbit/s tidak terdengar
perbedaan yang signifikan. Pada umumnya format mp3 sekarang
menggunakan 128 kbit/s dan 192 kbit/s.
2.2.6 Struktur File Mp3
Menurut Raissi, 2002, semua file MP3 dibagi menjadi fragmen kecil
yang disebut frames.Setiap frame menyimpan 1.152 sampel suara dan
berlangsung selama 26 ms. Ini berarti bahwa frame rate akan menjadi sekitar
38 fps. Sebagai tambahan frame dibagi menjadi dua granule / butiran,
masing-masing mengandung 576 sampel . Karena bitrate menentukan ukuran
pada setiap sampel,maka apabila meningkatkan bitrate akan meningkatkan
ukuran frame. Ukuran juga tergantung pada frekuensi sample dengan rumus
berikut
Padding mengacu pada sebuah bit yang khusus dialokasikan di awal
frame. Hal ini digunakan dalam beberapa frame untuk memenuhi persyaratan
bitrate dengan jelas. Jika bit padding diatur setara dengan 1 byte. Sebagai
catatan bahwa ukuran frame harus berupa angka / integer.Struktur file Mp3
terdiri dari 5 bagian, header, CRC, side information, main data dan ancillary
data.
Gambar 2.7 Struktur File Mp3
(Raissi, 2002, p10)
26
2.2.6.1 Frame Header
Header mempunyai panjang 32 bit dan berisi data yang telah
terhubung di dalam frame.Data tersebut terdapat pada setiap awal
frame yang memungkinkan MP3 untuk dikunci melalui sinyal pada
setiap titik aliran data dan hal inilah yang memungkinkan untuk
menyiarkan file MP3.Sebuah alat penerima pada setiap titik hanya
perlu mencari data yang telah terhubung, namun masalah yang timbul
di sini adalah bahwa data-data yang belum terhubung mungkin
muncul di bagian lain dari header.
Gambar 2.8 Struktur header Mp3
(Raissi, 2002, p10)
- Sync
Sync terdiri dari 12 bit yang telah diterangkan sebelumnya. Semua
12 bit pada sync harus terisi.
- Id
Id terdiri dari 1 bit dan merupakan file yang terdapat pada versi
MPEG, bit yang telah terisi dikodekan dengan format MPEG-1
27
yang standard, namun apabila MPEG-1 tidak digunakan maka
MPEG-2 yang dipakai.
Beberapa tambahan standard hanya menggunakan 11 bit untuk
Sync untuk memberikan tambahan bit untuk id. Pada kasus ini
akan diterangkan pada tabel berikut :
Tabel 2.1 Nilai bit ketika menggunakan 2 id bit
(Raissi, 2002, p11)
- Layer
Layer terdiri dari 2 bit dan untuk lebih jelasnya bisa dilihat pada
tabel berikut :
Tabel 2.2 Nilai layer
(Raissi, 2002, p11)
- Protection Bit
Protection Bit terdiri dari 1 bit, apabila protection bit terpakai,
maka CRC yang akan digunakan.
- Bitrate
Terdapat 4 bit yang menjelaskan untuk apa bit tersebut digunakan.
Nilai ini akan sama pada setiap frame apabila dikode
menggunakan CBR. Tabel berikut akan menjelaskan tentang
definisi nilai bit
28
Tabel 2.3 Definisi nilai bitrate
(Raissi, 2002, p11)
- Frequency
Frequency terdiri dari 2 bit, untuk lebih jelasnya bisa dilihat pada
tabel berikut :
Tabel 2.4 Definisi nilai frekuensi yang diterima
(Raissi, 2002, p12)
- Padding Bit
Padding terdiri dari 1 bit dan aliran data akan dikodekan dengan
bitrate 128kbit/s.
- Private Bit
Private bit terdiri dari 1 bit dan berfungsi sebagai pemicu aplikasi
yang spesifik.
29
- Mode
Mode terdiri dari 2 bit dan fungsi mode bisa dilihat pada tabel
berikut :
Tabel 2.5 Channel Mode
(Raissi, 2002, p12)
- Mode Extension
Mode extension terdiri dari 2 bit dan berfungsi untuk
menggabungkan metode stereo. Untuk lebih jelasnya mengenai
mode extension bisa dilihat pada tabel berikut :
Tabel 2.6 Bit pada mode Extension
(Raissi, 2002, p12)
- Copyright Bit
Copyright terdiri dari 1 bit, apabila bit ini terisi maka illegal untuk
mengcopy isi file tersebut.
- Home (Original Bit)
Home (Original Bit) terdiri dari 1 bit dan apabila bit ini terisi
maka frame akan menjadikan seperti semula.
30
- Emphasis
Emphasis terdiri dari 2 bit yang berfungsi untuk mengindikasikan
bahwa bit tersebut harus dikode ulang untuk menghasilkan suara
lebih bagus, namun hal ini jarang digunakan.
2.2.6.2 CRC
Bagian dari sebuah frame dengan panjang 2 byte. Bagian ini
hanya akan ada jika bit proteksi pada header diset dan memungkinkan
untuk memeriksa data-data sensitif. Bit CRC ini oleh sebuah frame
digunakan untuk memeriksa data-data sensitif pada header dan Side
Information. Jika nilai-nilai pada CRC tersebut mempunyai kesalahan
maka frame tersebut oleh MP3 player akan dinyatakan corrupt, dan
akan digantikan dengan frame sebelumnya.
2.2.6.3 Side Information
Bagian dari sebuah frame dengan panjang 17 byte untuk mode
single channel dan 32 byte untuk mode yang lain. Side Information
mengandung informasi yang dibutuhkan untuk melakukan dekoding
Main Data.
2.2.6.4 Main Data
Main Data merupakan bagian dimana file audio Mp3
tersimpan. Main Data terdiri dari Scale Factors, Huffman coded bits
dan ancillary data. Untuk lebih jelasnya bisa dilihat pada gambar
31
Gambar 2.9 Struktur main data Mp3
(Raissi, 2002, p17)
- Scale factors
Tujuan scalefactors adalah untuk mengurangi tingkat kebisingan.
Jika sebuah sampel dalam range tertentu dan dengan cara yang
benar dapat benar - benar meredam kebisingan
- Huffman code bits
Dalam Huffman Coding, panjang blok dari keluaran sumber
dipetakan dalam blok biner berdasarkan pajang variable. Cara
seperti ini disebut sebagai fixed to variable-length coding.
2.2.6.5 Ancillary Data
Pelengkap berupa data optional yang jumlahnya tergantung
dari data yang diberikan. Ancillary data tidak mempunyai ukuran
yang pasti dan erletak setelah Huffman code bits.
32
2.3 Unified Modeling Language
2.3.1 UML
UML adalah suatu standard bahasa untuk penulisan software
blueprints. UML digunakan untuk memvisualisasikan, menentukan,
mengkonstruksi dan mendokumentasikan artefak dari sistem software-
intensif. Dengan kata lain, hanya sebagai arsitek bangunan membuat
blueprints yang akan digunakan oleh suatu perusahaan bangunan, arsitek
software membuat diagram UML untuk membantu pengembangan software
untuk membangun software ( Roger, 2010, p 841).
Grady Booch, Jim Rumbaugh dan Ivar Jacobson membangun UML di
pertengahan 1990 dengan banyak masukan dari komunitas pengembangan
software. UML bergabung dengan sejumlah notasi pemodelan komputer
yang digunakan oleh industri software pada saat itu. Pada Tahun 1997, UML
1.0 diserahkan kepada object management group, suatu lembaga relawan
yang bertugas memelihara spesifikasi untuk digunakan didalam industi
komputer. UML 1.0 telah direvisi menjadi UML 1.1 dan diadobsi akhir tahun
itu. Hingga yang terbaru UML 2.0 yang menjadi standard ISO saat ini.
Mengacu pada pendapat Pressman, 2010, p154, dalam UML, sebuah
system digambarkan dengan 4 Element dari Model analisis yang berbeda
yang mendeskripsikan sebuah sistem dari perspektif yang berbeda-beda.
a) Scenario-Based Modeling
Kerjasama team dalam pembuatan software akan lebih baik
bila sanggup merincikan requirement dan membangun
analysis dan design model yang tepat. Untuk itu requirement
modeling dengan UML berlanjut dengan pembuatan scenario
33
dalam form use cases, activity diagrams dan swimlane
diagrams. Yang saat ini menurut Pressman, 2010, p154,
termasuk dalam kategori Scenario-Based model.
b) Behavioral Models
Suatu model yang menggambarkan tentang struktur kontrol
pada system. Yang mencakup hal-hal seperti state diagrams
dan sequence diagrams. Selain itu, layer model ini juga biasa
disebut Dynamic Modelling. Sesuai dari kata Behavioral,
kegiatan yang mencakup model ini adalah model Prilaku
(actor).
c) Class Models
Merupakan obyek yang akan memainkan system. Suatu
Operasi (yang juga di sebut Method dan Services) yang akan
diterapkan pada obyek untuk memberikan pengaruh dalam
memanipulasikan sistem. Relationship (secara hirarki) antara
obyek dan Collaboration yang terjadi antar class yang
didefinisikan.
d) Flow Model
Memberikan indikasi tentang bagaimana data obyek yang
diubah dalam bentuk proses functions. Akan tetapi, teknik ini
dianggap ketinggalan zaman oleh beberapa Software
Engineer.
34
2.3.2 Use-Case Diagram
Use Case Diagram menjabarkan kebutuhan fungsional dan
operasional sistem. Menurut Ambler,2005,p33 sebuah UML Use Case
Diagram menunjukkan hubungan antara aktor-aktor dan kasus penggunaan
dalam sistem.
Simbol – simbol yang digunakan dalam Use Case Diagram ada 3,
yaitu Case, Actor, dan Relation.
1) Case adalah hasil penguraian cakupan sistem secara
fungsional ke dalam bentuk – bentuk pernyataan yang lebih
kecil. Pernyataan ini digambarkan dengan simbol elips.
2) Actor adalah pengguna sistem. Di dalam Use Case Diagram
para pengguna sistem atau aktor digambarkan berinteraksi
dengan sebuah sistem melalui Use Case dan hubungan
tertentu.
3) Relation adalah sebuah hubungan yang digambarkan sebagai
sebuah garis yang menghubungkan aktor dengan Use Case
yang berada di dalam sebuah sistem. Tipe hubungan dapat
berbeda, tergantung dari bagaimana garis tersebut
digambarkan.
35
Gambar 2.10 Contoh use case diagram
(Ambler, 2005, p37)
Dalam analisa berbasis object-oriented, use-case menjadi elemen
pertama dalam model analisis. Diagram use-case terdiri dari actor dan use-
cases. Aktor adalah entitas yang berinteraksi dengan sistem. Mereka bisa jadi
manusia, mesin atau sistem lainnya yang berinteraksi melalui interface yang
ada di dalam software.
2.3.3 Class Diagram
Menurut Ambler, 2005, p47 Class Diagram menggambarkan class dari
sebuah sistem, hubungan antar satu sama lainnya, beserta operasi dan
atributnya. Class Diagram digunakan untuk:
- Menelusuri konsep domain dalam bentuk model domain.
- Menganalisa kebutuhan dalam bentuk conceptual/analysis model.
- Menggambarkan rancangan yang detil dari sebuah software
object-oriented.
36
Gambar 2.11 Contoh Class Diagram
2.3.4 Sequence Diagram
Menurut Ambler,2005, pp80 - 81 Sequence Diagram adalah teknik
pemodelan yang dinamis . Sebuah Sequence Diagram umumnya digunakan
untuk:
- Memvalidasi atau menguji kelengkapan dari skenario
penggunaan (usage scenario) sistem beserta logikanya. Sebuah
skenario penggunaan adalah gambaran dari penggunaan sebuah
sistem.
- Menelusuri rancangan sistem dan membantu dalam memberikan
gambaran yang jelas bagaimana operasi-operasi dalam sebuah
sistem berjalan langkah demi langkah atau secara sekuensial.
- Memberikan gambaran yang jelas untuk menentukan class
manakah yang bersifat kompleks dan membantu dalam
menentukan apakah class tersebut perlu dibuat state diagram nya
atau tidak.
37
- Mendeteksi bottleneck dari sebuah rancangan object oriented
dengan cara melihat pesan-pesan yang dikirimkan ke sebuah
object dan dengan melihat langsung seberapa lama sebuah method
atau operation melakukan tugasnya.
Gambar 2.12 Contoh Sequence Diagram
(Ambler, 2005, p82)
2.4 Interaksi Manusia dan Komputer
2.4.1 Pengertian IMK
Menurut Shneiderman (2010,p22) interaksi manusia dan komputer
merupakan ilmu yang mempelajari tentang perancangan, implementasi dan
evaluasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi
fenomena-fenomena yang berhubungan dengannya. IMK menangani
perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka
pemakai adalah bagian dari komputer yang bertujuan untuk memungkinkan
interaksi antara manusia dengan komputer secara langsung.
38
2.4.2 Lima Faktor Manusia Terukur
Menurut Shneiderman, 2010, p32 Demi tercapainya tujuan dari IMK,
maka perancangan interface sebaiknya tidak lupa untuk mengikutsertakan
evaluasi terhadap lima (5) faktor terukur dari manusia sebagai berikut :
1) Waktu untuk belajar
Ukuran berapa lama seorang user untuk mempelajari fungsi-fungsi
di dalam sebuah aplikasi hingga pada akhirnya dapat menggunakan
dengan baik.
2) Kecepatan performa
Ukuran berapa lama suatu fungsi atau serangkaian tugas di dalam
aplikasi tersebut dilakukan.
3) Tingkat error yang dilakukan pengguna
Ukuran berapa banyak dan jenis error yang dilakukan oleh user di
dalam melakukan serangkaian tugas.
4) Daya ingat pengguna
Ukuran berapa lama user mempertahankan ingatan dan
pengetahuannya setelah beberapa jam, hari, atau bahkan mingu.
5) Kepuasan subjektif
Ukuran seberapa puas user atas berbagai aspek dari suatu sistem.
39
2.4.3 Delapan Aturan Emas Desain Antarmuka
Menurut Shneiderman, 2010, p88-89, dalam IMK terdapat
delapan aturan emas (Eight Golden Rules) yang digunakan dalam
perancangan antarmuka pemakai yaitu:
1) Konsistensi
Konsistensi sangat diperlukan di dalam banyak hal, seperti: urutan
aksi, istilah-istilah yang digunakan dalam prompt, menu, layar
bantuan, warna, tata letak, huruf capital, dan font.
2) Memenuhi kegunaan universal
Kenali kebutuhan pengguna yang beragam dan desain untuk
fleksibilitas dan memfasilitasi transformasi konten. Hal-hal seperti
perbedaan pengguna pemula dan ahli, rentang usia, disability, dan
keragaman jenis pengguna lainnya dapat memperkaya user
interface dan meningkatkan kualitas sistem yang dirasakan.
3) Memberikan umpan balik yang informatif
Untuk setiap aksi yang dilakukan oleh pengguna, sebaiknya harus
ada umpan balik dari sistem. Untuk aksi yang minor namun sering
dipakai, umpan balik sebaiknya bersifat sederhana. Sebaliknya,
umpan balik yang lengkap diperlukan bagi aksi mayor namun
jarang digunakan.
40
4) Desain kotak dialog yang memiliki keadaan akhir
Urutan dari aksi-aksi harus diorganisasikan secara teratur apakah
termasuk di dalam urutan awal, tengah, atau akhir. Kotak dialog
akan mempermudah pengguna untuk mengingat urutan aksi yang
telah dilakukannya. Hal ini akan membuat para pengguna dapat
merencanakan aksi apa yang akan dilakukan berikutnya
5) Memberikan pencegahan kesalahan dan penanganan yang
sederhana
Perancangan sistem yang baik sangat penting, sistem yang tidak
memungkinkan penggunanya untuk dapat melakukan kesalahan
yang serius. Jika sebuah error terjadi, maka sistem harus
mendeteksinya, kemudian menawarkan mekanisme penanganan
error yang sederhana namun terjamin dapat berhasil.
6) Memungkinkan pengembalian aksi yang mudah
Setiap aksi yang dilakukan pengguna sebaiknya dapat dibatalkan
dengan mudah, misalnya dengan penggunaan undo. Hal ini
dimaksudkan agar pengguna tidak terlalu tegang ketika sedang
mengeksplorasi suatu aplikasi.
7) Mendukung pusat kendali internal (internal locus of control)
Sistem harus memastikan agar pengguna benar-benar memegang
kontrol akan sistem dan sistem tersebut merespon aksi yang
dilakukan oleh pengguna.
41
8) Mengurangi beban ingatan jangka pendek
Tampilan dan fungsi sistem sebaiknya dibuat sesederhana mungkin
agar pengguna dapat mengingatnya dalam jangka waktu yang
cukup lama. Selain itu, akses online untuk command-syntax forms,
singkatan, kode, dan informasi lainnya juga harus disediakan oleh
sistem.
2.6 Model Waterfall
2.6.1 Pengertian Waterfall
Menurut Roger,2010,p39, ada beberapa model proses software yang
umum digunakan, salah satunya adalah Model Sekuensial Linear. Sekuensial
Linear ini juga dikenal dengan nama “Classic Life Cycle” atau “Waterfall
Model”.
Gambar 2.13 Waterfall Model
(Roger, 2010, p39)
Berikut ini adalah penjelasan dari tahapan-tahapan dari model
waterfall :
1) Communication
Terdiri dari project initiation dan requirements gathering.
Merupakan tahapan pengumpulan kebutuhan yang dilakukan
secara intensif dan focus tertama kepada software.
42
2) Planning
Terdiri dari estimating, scheduling, dan tracking. Pada tahap ini
developer membuat perkiraan waktu yang diperlukan. Pada tahap
ini dilakukan pula penjadwalan untuk menyelesaikan tahap-tahap
pembuatan software sesuai dengan waktu yang telah diperkirakan.
3) Modeling
Tahap modeling ini terdiri dari analisis dan desain. Pada saat
merancang aplikasi, biasanya ada beberapa proses yang
memfokuskan pada empat atribut bagian dari program, diantaranya
adalah struktur data, arsitektur software, representasi interface, dan
detail algoritma. Proses desain mengubah kebutuhan menjadi
representasi dari software yang dapat dinilai untuk kualitas
sebelum penulisan kode dimulai.
4) Construction
Tahap construction terdiri dari coding dan test. Pada tahap ini,
desain diterjemahkan menjadi bentuk yang dapat dibaca oleh
mesin. Setelah coding selesai, testing terhadap aplikasi dilakukan.
Proses pengukian ini menekankan pada logika internal pada
aplikasi, meyakinkan semua pernyataan telah diuji, dan pada fungsi
eksternal.
43
5) Deployment
Tahap terakhir yaitu deployment, terdiri dari delivery, support, dan
feedback. Pada tahap ini, pengembang menyiapkan aplikasi yang
menyediakan fungsi dan fitur yang bermanfaat. Pengembang
aplikasi juga menyediakan dokumentasi untuk semua fitur dan
fungsi. Pada tahap ini, pengembang aplikasi mendapatkan umpan
balik pada aplikasinya yang berakhir pada perubahan atau update
fungsi dan fitur dari aplikasi tersebut
2.6 Object Oriented Programming
2.6.1 Pengertian Object Oriented Programming
Menurut Anonymous, 2010, Object Oriented Programming adalah
sebuah paradigma pemrograman yang menggunakan class dan object dan
interaksinya untuk mendesain aplikasi dan program computer. Keunggulan
yang membuat OOP semakin banyak digunakan adalah karena sifatnya yang
reusable, dimana programmer tidak perlu membuat program berulang –
ulang untuk modul – modul yang mempunyai kegiatan fungsional yang
mirip, sehingga penerapan OOP sangat cocok untuk membuat aplikasi atau
program yang rumit.
Konsep – konsep OOP terdiri dari tiga bagian, antara lain adalah
encapsulation, inheritance dan polymorphism.
1) Encapsulation
Encapsulation adalah konsep untuk membungkus atribut –
atribut dan method- method yang ada untuk menjadi sebuah
class.Tujuandari encapsulation adalah untuk memudahkan
44
konsep pemrograman, menyembunyikan informasi yang
rahasia, dan untuk memungkinkan pembuatan objek – objek
yang mempunyai sifat yang sama
2) Inheritance
Inheritance adalah konsep penurunan sifat yang terdapat pada
OOP, yang bertujuan untuk memudahkan pemrograman
sehingga tidak akan membuat konsep pemrograman menjadi
rumit.Tujuan dari inheritance selain untuk memudahkna
pemrograman adalah untuk menjaga hubungan antar
class.Sehingga baik programmer maupun user dapat dengan
mudah mengerti aliran program apabila program telah
berkembang menjadi rumit.
3) Polymorphism
Polymorphism adalah konsep OOP dimanasebuah objek dapat
berubah bentuk sifatnya di tengah jalannya program. Dasar
dari konsep polymorphism adalah konsep Inheritance. Pada
dasaranya Polymorphism adalah sebuah abstract class yang
mempunyai virtual method yang diturunkan menjadi beberapa
class yang harus mengimplementasikan virtual method
tersebut. Tujuan dari polymorphism adalah untuk
memantapkan arsitektur pemrograman, karena dengan adanya
polymorphism arah hubungan antar class akan menjadi jelas
dan method – method dari class tersebut menjadi jelas.