• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
20
0
0

Teks penuh

(1)

II-6 2.1 Citra

Citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera dan sebagainya, sehingga bayangan objek dapat terekam (Munir, 2004).

Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasikan oleh manusia atau mesin (dalam hal ini komputer). Teknik teknik pengolahan citra mentransformasikan citra menjadi citra lain (Munir, 2004). Jadi, masukannya adalah citra dan keluarannya juga citra.

2.2 Citra Digital

Citra digital dapat didefenisikan sebagai fungsi f(x,y), berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial dan amplitudo f di titik kordinat f(x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y dan nilai amplitudo f secara keseluruhan berhingga (finite) dan nilai bernilai diskrit1 maka dapat dikatakan bahwa citra tersebut adalah citra digital (Merdiyan, 2007). Kordinat citra digital dapat dilihat pada Gambar 2.1.

Gambar 2.1 Koordinat citra digital

1 Diskrit merupakan jumlah berbeda atau elemen-elemen tiidak bersambungandi mana nilai

(2)

Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau,dan biru (Red, Green, Blue-RGB) (Septin, 2010).

RGB adalah suatu model warna terdiri dari merah, hijau, dan biru, digabungkan dalam membentuk suatu susunan warna lebih luas. Setiap warna dasar, misalnya merah, dapat diberi rentang-nilai. Untuk monitor komputer, nilai rentangnya paling kecil = 0 dan paling besar = 255. Pilihan skala 256 ini didasarkan pada cara mengungkap 8 digit bilangan. Dengan cara ini, akan diperoleh warna campuran sebanyak 256 x 256 x 256 = 1677726 jenis warna. Sebuah jenis warna, dapat dibayangkan sebagai sebuah vector di ruang 3 dimensi. Biasanya dipakai dalam matematika, koordinatnya dinyatakan dalam bentuk tiga bilangan, yaitu komponen-x, komponen-y dan komponen-z. Misalkan sebuah vektor dituliskan sebagai r = (x,y,z). Untuk warna, komponen-komponen tersebut digantikan oleh komponen R(ed), G(reen), B(lue). Jadi, sebuah jenis warna dapat dituliskan sebagai berikut: warna = RGB (30, 75, 255). Putih = RGB (255,255,255), sedangkan untuk hitam = RGB (0,0,0) (Merdiyan, 2007).

2.3 Kompresi Citra

Salah satu bentuk operasi pengolahan citra ialah kompresi citra (image compression). Kompresi atau compression adalah proses pemampatan ukuran sebuah data tertentu menjadi ukuran data menjadi lebih kecil. Sedangkan definisi dari kompresi citra adalah proses untuk mengubah stream data citra masukan dengan ukuran tertentu menjadi stream data citra keluaran dengan ukuran lebih kecil (Mueller, 2004). Adapun tujuan kompresi citra adalah untuk mengurangi redundansi (pengulangan) dari data-data dalam citra sehingga dapat disimpan atau ditransmisikan secara efisien.

Menurut Baxes (1994), ukuran kemampuan kompresi data dapat dilakukan dengan mudah. Besar kompresi data citra diperoleh dengan membagi ukuran citra asli (Uasli) dengan ukuran citra (Upemampatan). Hasilnya disebut rasio kompresi (R) :

𝑅 = 𝑈𝑎𝑠𝑙𝑖

(3)

Semakin besar rasio pemampatan berarti semakin kecil ukuran hasil pemampatan.

2.4 Teknik Lossy Compression

Teknik kompresi citra bersifat lossy adalah teknik kompresi file citra menjadi lebih kecil dengan cara menghilangkan beberapa informasi dari sebuah stream input.

Citra hasil kompresi dengan penampakan mirip dengan citra asli. Sekalipun terdapat perbedaan antara citra asli dan citra rekonstruksi (hasil kompresi) pada teknik kompresi data bersifat lossy, sedikit perubahan atribut piksel suatu citra, sehingga tidak akan terlihat oleh mata manusia (Nelson dkk,1996).

Lossy kompresi membuat kapasitas file sebuah gambar menjadi kecil dengan cara menghilangkan beberapa informasi dari sebuah gambar asli. Teknik kompresi lossy merubah detail dan warna sebuah file gambar menjadi lebih sederhana dan mempunyai kapasitas file menjadi lebih kecil tanpa terlihat perbedaan mencolok dari pandangan manusia.

Berdasarkan sifat tersebut, teknik lossy banyak dipakai dalam kompresi data citra, mengingat teknik ini mempunyai rasio kompresi lebih tinggi daripada teknik bersifat lossless.

2.5 Tahapan Metode DCT

Tahapan-tahapan pada metode DCT ini adalah data image diproses mulai dari tahap preparation process, kemudian transformasi DCT, quantization dan entropy encoding kemudian keluar sebagai image compression (hasil kompresi) (Prabowo, Sarwoko dan Riyanto 2006). Tahapan proses tersebut digambarkan sebagai berikut :

(4)

Gambar 2.2 Tahapan Proses Metode DCT A. Transformasi DCT

Semakin tinggi kemampuan mengompresi informasi dalam koefisien dengan lebih sedikit maka semakin baik transformasinya. Oleh karena itu digunakan metode Discrete Cosine Transform (DCT). Pada tahap ini mengubah input data ke dalam format untuk mengurangi redudansi interpixel pada gambar masukan. Teknik perubahan pengkodean menggunakan reversibel, linier matematika transformasi untuk memetakannilai piksel ke satu set koefisien, kemudian dikuantisasi dan dikodekan (Prabowo, Sarwoko dan Riyanto 2006).

B. Quantization

Kuantisasi dilakukan untuk membersihkan koefisien DCT tidak penting untuk pembentukan image baru. frekuensi tertinggi akan diseleksi untuk dihilangkan pengaturan kualitas digunakan. Hal ini dapat menyebabkan JPEG bersifat lossy (Prabowo, Sarwoko dan Riyanto 2006).

C. Entropy Encoding

Entropy encoding yaitu proses penggunaan algoritma entropi, pada tahap ini menggunakan algoritma huffman untuk mengkodekan koefisien hasil proses DCT akan mengeliminasi nilai-nilai matriks bernilai nol dan menghilangkan kelebihan dari keluaran kuantiser secara zigzag dan akhirnya akan diperoleh image direkonstruksi (image sudah dikompres) (Prabowo, Sarwoko dan Riyanto 2006).

Data Image

Transformasi

DCT Quantization

Entropy

Encoding Image Compression

(5)

2.6 Discrete Cosine Transform (DCT)

JPEG singkatan dari Joint Photographic Experts Group, sebuah komite standar. Memiliki asal-usul dalam Standar Internasional Organization (ISO). JPEG menyediakan metode kompresi ini mampu mengompresi data gambar piksel dengan kedalaman 6 sampai 24 bit dengan kecepatan wajar dan efficiency. JPEG dapat disesuaikan untuk menghasilkan kualitas gambar sangat kecil, gambar terkompresi dengan kualitas relatif miskin dalam penampilan tetapi masih cocok untuk banyak aplikasi. Sebaliknya, JPEG adalah mampu menghasilkan kompresi gambar sangat tinggi (Purnomo 2009).

JPEG dirancang khusus untuk membuang informasi bahwa mata manusia tidak dapat dengan mudah melihat. Sedikit perubahan dalam warna tidak dianggap baik oleh mata manusia, daripada perubahan-perubahan kecil dalam intensitas (terang dan gelap). Oleh karena itu encoding lossy JPEG cenderung menjadi lebih hemat dengan bagian skala abu-abu gambar dan menjadi lebih dangkal dengan warna. DCT memisahkan gambar menjadi bagian-bagian frekuensi berbeda. frekuensi kurang penting dibuang melalui kuantisasi dan frekuensi penting digunakan untuk mengambil gambar selama dekompresi (Purnomo 2009).

Ali, Jumari & Samad (2007) DCT adalah sebuah teknik untuk mengubah sinyal kedalam komponen frekuensi dasar. Keunggulan DCT walaupun image di kompresi dengan lossy compression tidak akan menimbulkan kecurigaan karena metode ini terjadi di domain frekuensi di dalam image, bukan pada domain spasial sehingga tidak akan ada perubahan di lihat pada image. Sedangkan kekurangannya, DCT tidak tahan terhadap perubahan suatu objek dikarenakan pesan mudah dihapus karena lokasi penyisipan data dan pembuatan data dengan metode DCT diketahui. Transformasi 2D-DCT diberikan persamaan sebagai berikut :

𝐶(𝑢, 𝑣) = 𝐷(𝑢)𝐷(𝑣) ∑ ∑ 𝑓(𝑥, 𝑦) cos ((2𝑥 + 1)𝑢𝜋 2𝑁 ) 𝑁−1 𝑦=0 𝑁−1 𝑥=0 cos ((2𝑦 + 1)𝑣𝜋 2𝑁 ) u, v = 0, 1, 2, 3, …………., N-1

Invers 2D-DCT transformasi diberikan persamaan sebagai berikut :

𝑓(𝑥, 𝑦) = ∑ ∑ 𝐷(𝑢)𝐷(𝑣)𝐷(𝑢, 𝑣) cos ((2𝑥 + 1)𝑢𝜋 2𝑁 ) 𝑁−1 𝑣=0 𝑁−1 𝑢=0 cos ((2𝑦 + 1)𝑣𝜋 2𝑁 ) Diantaranya :

(6)

D(u)=(1/N)½ untuk u=0

D(u)=(2/N) ½ untuk u=1, 2, 3 ……….,(N-1)

2.7 Algoritma Huffman

Algoritma Huffman adalah suatu algoritma kompresi tertua, disusun oleh David Huffman pada tahun 1952. Algoritma tersebut digunakan untuk membuat kompresi jenis lossy compression, yaitu pemampatan data tidak ada dalam satu byte pun data di hilangkan sehingga data tersebut utuh dan disimpan sesuai dengan aslinya. Pada sejarahnya, huffman sudah tidak dapat membuktikan apapun tentang kode efisien, tapi ketika tugasnya hampir final ia mendapatkan ide untuk menggunakan pohon binary sehingga dapat menyelesaikan masalahnya untuk mencari kode efisien. Pada dasarnya, algoritma huffman ini bekerja seperti mesin sandi morse, sehingga dapat membentuk suatu kode dari suatu karakter. Karakter tersebut memiliki rangkaian bit lebih pendek dibandingkan sebelumnya (Yulius Edward 2014). Tahapan proses kompresi algoritma huffman :

1. Hitung banyaknya jenis karakter dan jumlah dari masing-masing karakter terdapat dalam sebuah file citra.

2. Susun setiap jenis karakter dengan urutan jenis karakter dengan jumlah paling sedikit ke jumlah paling banyak.

3. membuat pohon biner berdasarkan urutan karakter dari jumlah terkecil ke jumlah terbesar dan member kode untuk tiap karakter.

4. mengganti data dengan kode bit berdasarkan pohon biner.

5. Simpan jumlah bit untuk kode bit terbesar, jenis karakter dapat diurutkan dari frekuensi keluar terbesar ke terkecil beserta data sudah berubah menjadi kode bit sebagai data hasil kompresi.

Contoh teknik kompresi dengan menggunakan metode Huffman pada file teks. Misalkan sebuah file teks dengan isi “AAAABBBCCCCCD”. File ini memiliki ukuran 13 byte atau satu karakter sama dengan 1 byte. Berdasarkan pada cara kerja di atas, dapat dilakukan kompresi sebagai berikut :

a. Mencatat karakter dengan jumlah tiap karakter. A = 4, B = 3, C = 5, D = 1

(7)

b. Mengurutkan karakter dari jumlah paling sedikit ke paling banyak yaitu : D, B, A, C

c. Membuat pohon biner berdasarkan urutan karakter dengan memperhatikan frekuensi terkecil hingga paling besar.

D B A C Gambar 2.3 Pohon Biner

d. Mengganti data dengan kode bit berdasarkan pohon biner. Penggantian karakter menjadi kode biner, dilihat dari node paling atas atau disebut node akar : A = 01, B = 001, C = 1, D = 000.

Selanjutnya berdasarkan pada kode biner masing-masing karakter ini, semua karakter dalam file dapat diganti menjadi :

01010101001001001111110001111111

Karena angka 0 dan angka 1 mewakili 1 bit, sehingga data bit di atas terdiri dari 32 bit atau 4 byte (1 byte = 8 bit)

e. Menyimpan kode bit dari karakter dengan frekuensinya terbesar, jenis karakter ini terdapat di dalam file dan data file teks sudah dikodekan.

Cara menyimpan data jenis karakter adalah dengan mengurutkan data jenis karakter dari frekuensinya paling banyak sampai ke frekuensi paling sedikit, menjadi : [C,A,B,D]

File teks di atas, setelah mengalami kompresi, memiliki ukuran sebesar 1 + 4 + 4 = 9 byte. Jumlah ini terdiri dari 1 byte kode karakter memiliki frekuensi terendah, 4 jenis karakter = 4 byte dan 4 byte data kode semua karakter.

(8)

2.7.1 Metode Dekompresi Huffman

Setiap data mengalami kompresi, tentu harus dapat merekonstruksi kembali data tersebut sesuai dengan aslinya. Merekonstruksi data lebih dikenal sebagai metode dekompresi data. Metode dekompresi Huffman dapat digunakan untuk mengembalikan data kode biner menjadi file teks. Metode algoritma untuk mengembalikan data hasil kompresi menjadi data semula (Agus Prajaya 2010) adalah sebagai berikut :

a. Membaca data pertama merupakan kode bit dari data karakter terakhir. Data pertama ini memiliki jumlah bit bervariasi (dalam contoh di atas data ini sama dengan 1 byte) dan digunakan sebagai pembanding untuk mengetahui apakah data karakter direkonstruksi merupakan data karakter terakhir atau bukan. Data ini selalu memiliki nilai sama dengan nol.

b. Membaca data kode biner bit per bit hasil kompresi, bila nilai bit pertama sama dengan “0” maka dilanjutkan pada bit kedua. Bila bit kedua juga memilik nilai “0”, maka terus dilakukan pembacaan bit hingga ditemukan nilai bit sama dengan “1”. Setelah ditemukan nilai bit “1”, berarti semua bit terbaca adalah kode sebuah karakter.

c. Mengubah kode biner menjadi sebuah karakter dengan cara menghitung banyaknya bit dalam kode tersebut. Misalkan banyaknya bit tersebut adalah n, maka kode biner di atas mewakili karakter pada urutan ke n dalam listing karakter.

d. Ulangi langkah b dan c hingga kode bit biner terakhir. Untuk menentukan apakah kode biner mewakili karakter paling akhir dalam listing karakter, apabila tidak adalah dengan cara membandingkan semua bit “0” terbaca dengan kode biner dari karakter terakhir.

2.7.2 Kompresi dan Dekompresi Citra Menggunakan Metode Huffman Beberapa metode kompresi citra telah dikembangkan seperti Block-coding, Encoding, CDT, Wavelet transform dan lainnya. Metode kompresi citra terus dikembangkan dengan tujuan untuk mengkompres hingga sekecil mungkin data citra, namun pada saat rekonstruksi diharapkan tidak satu pun data citra hilang. Berdasarkan pada landasan pikiran di atas serta hasil dapat diperoleh dari metode

(9)

Huffman. Teks hasil dekompresi dapat diperoleh 100% sama dengan teks aslinya, maka penulis mencoba meneliti sejauh mana metode Huffman ini dapat digunakan untuk mengkompres data citra (Ari widagdo 2003).

Menurut (Mulyanto 2002) secara fisik sebuah citra adalah merupakan representasi objek-objek baik dalam keadaan diam atau bergerak pada suatu suport fisik seperti kertas, monitor atau lainnya. Secara matematis, sebuah citra dinyatakan sebagai sebuah fungsi matematis dua dimensi 2D f(x,y) atau tiga dimensi 3D f(x,y,z). x dan y menyatakan posisi koordinat 2D, sedang f menyatakan nilai intensitas (kecerahan) atau menyatakan warna pada setiap posis x,y. Sebuah citra digital dalam sebuah komputer dinyatakan dalam bentuk matrik 2D, elemen matriks disebut pixel dan nilai dari setiap elemen matriksnya menyatakan intensitas atau warna.

Gambar 2.4 Contoh Citra 2D

Misalkan sebuah citra dinyatakan dalam bentuk matriks berikut :

[100 100 100 100 100100 200 200 200 100 250 100 200 100 250 ]

Bila matriks ini mewakili sebuah citra gray-level berukuran 5x3 pixel, maka nilai elemen matriks (pixel) menyatakan tingkat keabuan citra. Tetapi bila matriks ini mewakili sebuah citra berwarna, maka nilai elemen matriks menyatakan warna. Setiap pixel dalam sebuah citra dikodekan dalam 8 bit, berarti citra tersebut memiliki 256 tingkat keabuan atau memiliki 256 warna.

(10)

contoh citra di atas menggunakan metode Huffman, dikembangkan sebuah algoritma untuk mengkompres data citra sebagai berikut :

a. Buat data citra berupa matriks tersebut menjadi vektor, sehingga didapat vektor [100,100,100,100,100,100,200,200,200,100,250,100,200,100,250]

Besarnya data citra = 15 byte

b. Baca vektor tersebut dan tentukan nilai warna serta frekuensinya. Hasilnya adalah 100 = 9, 200 = 4, dan 250 = 2

c. Urutkan warna dari frekuensi terkecil ke frekuensi terbesar. 250, 200, 100

d. Membuat pohon biner berdasarkan urutan warna.

Gambar 2.4 Susunan Pohon Biner

e. Mengganti data warna dengan kode bit berdasarkan pohon biner : 100 = “1” 200 = “01” 250 = “00”

f. Mengganti data citra dengan kode bitnya, menjadi : 111111010101100101100.

g. Menyimpan lebar citra, tinggi citra, kode bit untuk warna terbesar frekuensi munculnya (“00” untuk contoh di atas), data warna terdapat di dalam citra dan data citra sudah dikodekan ke dalam file hasil kompresi.

Data citra terkompres menjadi data citra aslinya, diperlukan suatu algoritma dekompresi, merupakan kebalikan dari algoritma kompresi. Berikut ini adalah langkah-langkah untuk mengembalikan data citra menjadi data citra semula adalah sebagai berikut :

a. Baca file hasil kompresi dan data-datanya dimasukkan ke variabel sesuai variabel ukuran citra, variabel kode bit data warna terakhir, variabel warna dan veriabel data kode.

(11)

b. Baca data kode bit per bit dari kiri ke kanan dan dicocokkan dengan data warna. Bit hasil kompresi : 111111010101100101100

Bit pertama = “1”, karena nilainya “1” maka bit ini mewakili warna pertama dalam listing variabel warna yaitu warna 100. Kemudian bit berikutnya juga “1” berati mewakili warna 100, dan setrunya hingga bit ke 7 bernilai “0”. Karena bit ini bernilai “0” maka perlu dibandingkan dengan nilai kode biner data warna terakhir yaitu “00” dan karena “0” tidak sama dengan “00” maka dilakukan pembacaan berikutnya yaitu bit “1”. Karena bit berikutnya terbaca = “1” maka pembacaan kode selanjutnya dihentikan. Dengan demikian kode bit terbaca menjadi “01”, kode ini memiliki jumlah bit sebesar 2 bit dan dengan demikian kode ini mewakili warna pada urutan kedua dalam listing warna. Demikian seterusnya dilakukan konversi hingga data terakhir. Dari contoh di atas, hasil rekonstruksinya menjadi :

[100 100 100 100 100 100 200 200 200 100 250 100 200 100 250] c. Rekonstruksi citra 2D dengan menggunakan data ukuran citra 5x3, berarti data

pixel berbentuk 1D dipenggal menjadi 3 baris dan setiap barisnya berisi 5 pixel. Hasilnya menjadi :

[100 100 100 100 100100 200 200 200 100 250 100 200 100 250 ]

2.8 Waterfall

Model waterfall merupakan salah satu model digunakan dalam pengembangan sistem informasi. Model ini memiliki empat fase (Satzinger et al, 2007).

Fase Perencanaan bertujuan untuk mengidentifikasi skup sistem baru, memastikan bahwa proyek itu feasible, dan mengembangkan schedule, resource plan, dan budget untuk proyek yang dibangun. Fase Analisis bertujuan untuk memahami dan mendokumentasikan kebutuhan bisnis dan syarat pemrosesan sistem baru. Fase Desain bertujuan untuk mendesain sistem berdasarkan kebutuhan dapat ditetapkan dan keputusan yang telah dibuat selama analisis. Terakhir, fase Implementasi: pembangunan, pengujian, dan instalasi sistem (Satzinger et al, 2007).

(12)

Masing-masing fase di atas memiliki aktivitas-aktivitas utama, di antaranya: a. Fase Perencanaan: menetapkan masalah dan membuat jadwal;

b. Fase Analisis: mengumpulkan informasi, menetapkan kebutuhan sistem, membangun prototype;

c. Fase Desain: merancang user interface;

d. Fase Implementasi: membangun komponen-komponen perangkat lunak, pengujian, instalasi sistem.

2.9 System Development Life Cycle (SDLC)

Dalam pengembangan SDLC, terdapat beberapa kelompok tahapan yang berbeda. Tahapan tersebut diantaranya project planning activities, analysis activities, design activities, implementation activities, dan support phase (Satzinger et al, 2007). SDLC adalah seluruh proses untuk membangun, menyebarkan, menggunakan, dan memperbarui sistem informasi (Satzinger et al, 2007). Fase-fase SDLC adalah sebagai berikut:

1. Project Planning

Digunakan untuk mengidentifikasi ruang lingkup sistem baru untuk memastikan bahwa rencana proyek layak dilaksanakan dan untuk mengembangkan jadwal.

2. Analysis

Analysis digunakan untuk memahami dan mendokumentasikan secara terperinci kebutuhan bisnis dan pengolahan persyaratan sistem yang baru. 3. Design

Design digunakan untuk merancang sistem solusi berdasarkan persyaratan yang ditentukan dan keputusan yang dibuat.

4. Implementation

Implementation adalah tahapan untuk membangun dan menguji sistem informasi yang handal.

5. Support

(13)

Gambar 2.5 Tahapan-tahapan pengembangan Sistem Informasi

2.10 Object Oriented Analysis (OOA)

OOA adalah mendefinisikan semua jenis obyek dapat melakukan pekerjaan dalam sistem dan menunjukkan interaksi pengguna. Diperlukan untuk menyelesaikan tugas. Object Oriented Design (OOD) adalah mendefinisikan semua jenis obyek diperlukan untuk berkomunikasi dengan manusia dan perangkat dalam sistem, menunjukkan bagaimana obyek berinteraksi untuk menyelesaikan tugas dan menyempurnakan definisi dari masing- masing jenis obyek, sehingga dapat diimplementasikan dengan suatu bahasa dan lingkungan tertentu (Satzinger et al, 2007). Object Oriented Analysis and Design (OOAD) merupakan proses desain berorientasi obyek dalam merancang system ini berfungsinya untuk menjembatani antara kebutuhan pengguna dengan pemrograman di dalam sistem. Metode analisis ini merupakan proses pengembangan sistem informasi, terdiri dari kumpulan model Unified Modeling Language (UML). Sistem analisis berbasis OOAD mempersiapkan seseorang untuk merancang dan mengembangkan sistem yang dibuat mulai dari cetak biru (blueprint), sampai dengan perancangan kode (coding) secara terstruktur (Satzinger et al, 2007).

2.10.1 Analisis Kebutuhan

Suatu proses bisnis merupakan suatu alur obyek saling berhubungan, seperti hubungan pelanggan dan pemesan, permintaan dan produk, kemudian akan digambarkan ke dalam data dan komponen dalam sistem informasi. Data tersebut merupakan kunci untuk menentukan kebutuhan dari sistem informasi (Satzinger et al, 2010). Analisis kebutuhan digambarkan ke dalam model untuk mengidentifikasikan aktivitas obyek.

Project Planning Phase Analysis Phase Design Phase Implementation Phase Support Phase

(14)

2.10.2 Activity Diagram

Menurut Satzinger et al (2007) Flowcharts dan diagram aktivitas dirancang untuk mewakili aliran kontrol di antara langkah-langkah pengolahan. Banyak analis menggunakan jenis workflow diagram dan menyebutnya activity diagram. Suatu activity diagram merupakan gambaran berbagai pengguna (atau sistem) kegiatan, orang yang melakukan aktivitas masing-masing, dan aliran sekuensial dari kegiatan tersebut. Symbol digunakan yaitu:

1. Starting Activity (pseudo)

Merupakan simbol untuk menandakan dimulainya aktivitas. 2. Transition Arrow

Merupakan garis penunujuk arah urutan aktivitas yang menggambarkan transisi dari suatu aktivitas.

3. Activity

Merupakan simbol yang menggambarkan aktivitas. 4. Ending Activity (pseudo)

Merupakan simbol untuk menandakan berakhirnya aktivitas. 5. Swimlane

Merupakan area persegi dalam activity diagram yang menunjukkan aktivitas diselesaikan single agent.

6. Synchronization bar

Merupakan symbol untuk mengontrol pemisahan atau penyatuan dari jalur berurutan.

7. Diamond

Merupakan simbol poin keputusan dalam alur proses mengikuti satu jalur atau jalur lainnya.

(15)

Gambar 2.6 Activity Diagram

2.10.3 Use Case Diagram

Menurut Satzinger et al (2007) dalam bukunya Object Oriented Analysis and Design menjelaskan bahwa sebuah use case itu menunjukan sebuah tongkat sederhana digunakan untuk mewakili aktor (tangan ditunjukan langsung mengakses ke sistem langsung). Kasus penggunaan sendiri dilambangkan oleh oval dengan nama use case didalamnya. Garis menghubungkan aktor dengan use case menunjukan bahwa aktor memanfaatkan penggunaan sistemnya. Pelaku juga dapat menggunakan sistem lain untuk langsung menunjukan antar muka dengan sistem yang sedang dikembangkan. Otomatisasi batasan dan organisasi ditunjukan di dalam use case diagram memperluas penggunaan diagram sama halnya dengan aktor-aktor lain dan menggunakan kasus. Berikut ini adalah komponen-komponen dari suatu use case diagram:

(16)

1) System Boundary

Menggambarkan batasan antara sistem dengan aktor. 2) Use case

Menggambarkan oleh aktor didalam sistem. 3) Actors

Menggambarkan user atau pengguna dari suatu sistem. 4) Flow

Menggambarkan hubungan antara use case dengan aktor.

Gambar 2.7 Skema Use Case

2.10.4 Class Diagram

Menurut Satzinger et al (2007) Class diagram digunakan untuk menunjukkan objek class untuk sistem. Notasinya dari Unified Modelling Language (UML), menjadi standar untuk model digunakan dengan pengembangan system object oriented.

Salah satu jenis class diagram UML menunjukkan hal-hal dalam pekerjaan domain user disebut sebagai domain model class diagram. Tipe lain dari notasi class diagram UML digunakan untuk membuat desain class diagram ketika merancang class perangkat lunak. Di class diagram, persegi panjang mewakili kelas, dan garis sehingga menghubungkan persegi panjang menunjukkan asosiasi

(17)

antara kelas. Dalam persegi panjang (kotak) terbagi dua, bagian atas berisi nama kelas, dan bagian bawah merupakan atribut kelas. Nama kelas selalu diawali dengan huruf kapital, dan atribut nama selalu diawali dengan huruf kecil. Diagram class digambarkan dengan menampilkan kelas dan asosiasi antara kelas.

Gambar 2.8 Class Diagram

2.10.5 Sequence Diagram

Sequence Diagram merupakan sebuah Diagram untuk menunjukkan eksekusi opsional disebuah objek sehingga dapat melibatkan pemanggilan operations di objek lain (Satzinger et al, 2007).

Sequence Diagram memiliki tujuan utama untuk mengidentifikasi kolaborasi kelas dan apakah kelas tersebut harus mengirim pesan antara satu sama lain. (Satzinger et al, 2007). Sequence diagram dikategorikan menjadi 3 bagian: 1) First Cut Sequence Diagram

2) View Layer 3) Data Access layer

(18)

Gambar 2.9 Sequence Diagram

2.11 Object Oriented Design (OOD)

Object-Oriented Design (OOD) adalah semua jenis objek diperlukan untuk berkomunikasi dengan orang dan perangkat dalam sistem, menunjukkan bagaimana objek berinteraksi untuk menyelesaikan tugas, dan menyempurnakan definisi dari masing - masing jenis objek sehingga dapat diimplementasikan dengan bahasa tertentu atau lingkungan (Satzinger dkk, 2007).

2.12 Object Oriented Programming (OOP)

Object-Oriented Programming (OOP) menuliskan laporan dalam bahasa pemrograman untuk mendefinisikan setiap jenis objek ini termasuk pesan bahwa pengirim satu sama lain (Satzinger dkk, 2007).

2.13 Software Testing

Software testing merupakan sebuah alat untuk menjamin kualitas perangkat lunak dan mengontrol kualitas produk perangkat lunak sebelum penyerahan atau instalasi di tempat pengguna (Galin 2004). Software testing dapat diklasifikasikan berdasarkan konsep pengujian yaitu Black box (fungsional) testing dan White box (struktural) testing (Galin 2004).

(19)

2.13.1 Black Box Testing

Black box testing merupakan pengujian untuk mengabaikan mekanise internal sistem atau komponen dan hanya fokus pada output dihasilkan, merupakan respon dari input diberikan. Black box testing mengindentifikasi bug sesuai dengan kesalahan software seperti terdapat dalam output error. Ketika output yang dihasilkan benar, black box testing mengabaikan jalur perhitungan internal dan pengolahan (Galin 2004). Ada beberapa faktor yang diuji dalam Black box testing yaitu :

1. Operation factor test a. Correctness

Terdiri dari documentation test dan availability test. Documentation test merupakan pengecekan desain dokumen berupa user manual dan program manual. Sedangkan availability test merupakan waktu reaksi atau waktu untuk mendapatkan informasi.

b. Reliability

Pengujian ini dilakukan untuk mengetahui waktu rata-rata kesalahan, dan downtime.

c. Efficiency

Pengujian ini dilakukan untuk mengetahui performa sistem ketika berada di dalam beban maksimal ketika dioperasikan.

d. Integrity

Pengujian ini untuk mengetahui keamanan di dalam sistem. e. Usability

Terdiri dari training usability test dan operational usability test berupa pengujian ketika digunakan oleh pengguna.

2. Transition factor a. Portability

Pengujian ini menguji environment sebuah software dapat berjalan di berbagai macam hardware yang berbeda .

b. Reusability

Sebagian modul atau bagian program dapat dikembangkan di kemudian hari atau dapat digunakan oleh program lain.

(20)

2.13.2 White Box Testing

White box testing merupakan pengujian untuk memperhitungkan mekanisme internal sistem atau komponen. White box testing menguji jalur perhitungan internal untuk mengidentifikasi bugdengan menyelidiki kebenaran struktur kode (Galin 2004).

1. Correctness Test and Line Coverage

Line coverage merupakan pengujian untuk melakukan test terhadap semua baris program. Cakupannya diukur berdasarkan persentase baris program yang tercakup. Sehingga lebih memudahkan pengujian dibuatlah sebuah flow graph.

2. Cyclomatic Complexity

Cyclomatic Complexity dikembangkan oleh McCabe (1976) digunakan untuk mengukur kompleksitas program atau modul dalam waktu yang sama dengan menentukan maksium independent path. Dapat dilakukan untuk mencakup semua baris program. Pengukuran berdasarkan teori graph dan dihitung berdasarkan karakteristik program yang diuji dalam bentuk flow graph. Untuk mencari metrik cyclomatic complexity (V(G)). yaitu dilakukan dengan menggunakan tiga cara yang berbeda berdasarkan flow graph .

a. V(G) = R

b. V(G) = E – N + 2 c. V(G) = P + 1

R merupakan jumlah region di dalam flow graph. E adalah jumlah edge, N merupakan jumlah node, sedangkan P merupakan jumlah keputusan di dalam flow graph.

Gambar

Gambar 2.1 Koordinat citra digital
Gambar 2.2 Tahapan Proses Metode DCT  A.  Transformasi DCT
Gambar 2.4 Contoh Citra 2D
Gambar 2.4 Susunan Pohon Biner
+5

Referensi

Dokumen terkait

Pada penjamin keabsahan data peneliti menggunakan triangulasi sumber dan teknik analisis data dilakukan secara interaktif dengan proses analisis data reduksi data,

Jenis pakan alami yang diberikan dalam pemeliharaan larva ikan kerapu adalah rotifera dan artemia. Untuk menjaga agar rotifera dan artemia tetap hidup maka diberi

- SNI 04-6629.4-2006, Kabel berinsulasi PVC dengan tegangan pengenal sampai dengan 450/750 V - Bagian 4: Kabel berselubung untuk perkawatan magun”, diadopsi secara identik

İlk olarak, tüketim malları ithalinden alınan gümrük vergisine üç kat zam yapıldı. Hasat mevsimi tahsil edilen aşarın, savaşılanı olabilecek bölgelerdeki tarım

Sehingga peneliti berasumsi bahwa terdapat hubungan antara kualitas tidur dengan kadar glukosa darah puasa pada pasien DM tipe 2 di ruang rawat inap Rumah Sakit

Penelitian lain yang sejenis adalah hasil penelitian Susanti (2013) menyatakan bahwa ada pengaruh pendidikan kesehatan tentang pemeriksaan payudara sendiri (SADARI)

Reduplikasi atau pengulangan merupakan satuan gramatik, baik seluruhnya maupun sebagian, baik dengan variasi fonem atau tidak.Hasil pengulangan itu ialah kata

kelompok tetua (kambing Boer jantan serta PE dan Boerawa betina): nama kelompok ternak, nama peternak, bangsa kambing, bobot lahir, tipe kelahiran, bobot sapih, umur sapih, dan