BAB II LANDASAN TEORI
2.1 Citra Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Gambar 2.1 adalah citra seorang gadis model yang bernama Lena, dan gambar di sebelah kanannya adalah citra kapal di sebuah pelabuhan. 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 oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat: 1. Optik berupa foto, 2. Analog berupa sinyal video seperti gambar pada monitor televisi, 3. Digital yang dapat langsung disimpan pada suatu pita magnetik. Citra yang dimaksudkan di dalam keseluruhan isi buku ini adalah “citra diam”(still images). Citra diam adalah citra tunggal yang tidak bergerak. Gambar 2.1 adalah dua buah citra diam. Untuk selanjutnya, citra diam kita sebut citra saja.
1
2
Gambar 2.1 Citra Lena dan citra kapal ( Rinaldi Munir,2007) Citra bergerak (moving images) adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial) sehingga memberi kesan pada mata kita sebagai gambar yang bergerak. Setiap citra di dalam rangkaian itu disebut frame. Gambar-gambar yang tampak pada film layar lebar atau televisi pada hakikatnya terdiri atas ratusan sampai ribuan frame.
2.2 Pengolahan Citra Digital Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing). Pengolahan citra adalah pemrosesan citra, khususnya denga nmenggunakan komputer, menjadi citra yang kualitasnya lebih baik. Gambar 2.2 merupakan contoh dari citra yang kurang menjadi lebih baik
3
Gambar 2.2 (a) tampak agak gelap, dan tampak terang (b) ( Rinaldi Munir,2007)
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra apabila memiliki beberapa penyebab sebagai berikut: 1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra, 2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur, 3. Sebagian citra perlu digabung dengan bagian citra yang lain. 4 Pengolahan Citra Digital Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan dengan data citra, namun tujuan ketiganya berbeda, yaitu: 1. Grafika Komputer (computer graphics). 2. Pengolahan Citra (image processing). 3. Pengenalan Pola (pattern recognition/image interpretation). Hubungan antara ketiga bidang (grafika komputer, pengolahan citra, pengenalan pola) ditunjukkan pada Gambar 2.3.
4
Gambar 2. 3. Tiga bidang studi yang berkaitan dengan citra ( Rinaldi Munir,2007) Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image compression). 2.3 Pengenalan Pola Pola adalah entitas yang terdefinisi dan dapat diidentifikasi melalui ciri-cirinya (features). Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi pada suatu pola diperoleh dari hasil pengukuran terhadap objek uji. Khusus pada pola yang terdapat di dalam citra, ciri-ciri yang dapat diperoleh berasal dari informasi: a. Spasial: intensitas pixel, histogram. b. Tepi: arah, kekuatan. c. Kontur: garis, elips, lingkaran. d. Wilayah/bentuk: keliling, luas, pusat massa.
5
e. Hasil transformasi Fourier: frekuensi. Sistem Pengenalan Pola Pengenalan pola bertujuan menentukan kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Dengan kata lain, pengenalan pola membedakan suatu objek dengan objek lain. Terdapat dua pendekatan yang dilakukan dalam pengenalan pola: pendekatan secara statistik dan pendekatan secara sintaktik atau struktural. (a) Pengenalan Pola secara Statistik Pendekatan ini menggunakan teori-teori ilmu peluang dan statistik. Ciri-ciri yang dimiliki oleh suatu pola ditentukan distribusi statistiknya. Pola yang berbeda memiliki distribusi yang berbeda pula. Dengan menggunakan teori keputusan di dalam statistik, kita menggunakan distribusi ciri untuk mengklasifikasikan pola. (b) Pengenalan Pola secara Sintaktik Pendekatan ini menggunakan teori bahasa formal. Ciri-ciri yang terdapat pada suatu pola ditentukan primitif dan hubungan struktural antara primitif kemudian menyusun tata bahasanya. Dari aturan produksi pada tata bahasa tersebut kita dapat menentukan kelompok pola. 2.4 Sistem Pengenalan wajah manusia Pengenalan wajah manusia adalah bidang penelitian penting dengan banyak aplikasi yang dapat menggunakannya. Penelitian terhadap pengenalan wajah manusia sudah banyak dilakukan dengan kelebihan dan kekurangan tertentu. Hal ini disebabkan karena wajah manusia merepresentasikan sesuatu yang kompleks dan mengembangkan model komputasi untuk pengenalan wajah manusia adalah hal yang sulit (Samuel Lukas,1991:1).
6
Pengenalan wajah ini dibagi menjadi dua bagian yaitu: dikenali dan tidak dikenali, setelah dilakukan perbandingan dengan pola yangsebelumnya disimpan didalam database. Perhitungan model pengenalan wajah memiliki beberapa masalah. Kesulitan muncul ketika wajah dipresentasikan dalam suatu pola yang berisi informasi unik yang membedakan dengan wajah lain. Metode pengenalan wajah memiliki dua prosedur, yaitu : a. Pengenalan kontur wajah dengan mengenali bentuk hidung, mata dan mulut dan bentuk korelasi diantara keduanya. Karakteristik organ tersebut kemudian dinyatakan dalam bentuk vektor. b. Analisis komponen yang prinsipil, berdasarkan informasi dari konsep ini, mencari perhitungan model terbaik yang menjelaskan bentuk wajah dengan mengutip informasi yang paling relevan yang terkandung didalam wajah tersebut. Dibalik kemudahan pengenalan wajah, ada beberapa masalah yang mungkin timbul dalam proses pengenalan wajah yang biasa disebut dengan robust, yaitu: a. Perubahan skala Citra seseorang dapat dipresentasikan berbeda diakibatkan perbedaan jarak antara wajah dengan kamera. Semakin dekat jarak maka citra akan semakin besar. b. Perubahan posisi Citra seseorang dapat dipresentasikan berbeda diakibatkan perubahan posisi seseorang ataupun perubahan sudut pengambilan wajah. c. Perubahan cahaya Citra seseorang dapat dipresentasikan berbeda diakibatkan perubahan intensitas cahaya yang terjadi pada saat pengambilan citra. d. Perubahan detail dan ekspresi Citra seseorang dapat dipresentasikan berbeda diakibatkan perubahan detail seperti adanya janggut, kumis, pemakaian aksesoris,
7
perubahan gaya, perubahan ekspresi wajah menjadi tertawa, tersenyum, muram, menangis dan lain sebagainya yang dapat mengakibatkan perubahan citra. 2.5 Preprocessing Tahapan yang digunakan untuk menyeleksi gambar sehingga citra gambar tersebut sesuai yang diinginkan a. GrayScale Grayscale atau abu-abu pada sebuah image digital adalah image yang pada setiap pixelnya hanya berisikan informasi intensitas warna putih dan hitam. b. Cropping Cropping merupakan suatu langkah dalam pemotongan pixel dari suatu gambar c. Resize Resize merupakan sebuah langkah dalam penyusutan ukuran dari suatu Image 2.6 Ekstraksi Fitur Ekstraksi fitur (Feature extraction) Merupakan bagian fundamental dari analisis citra. Fitur adalah kateristik unik dari suatu objek (Putra, D. 2010). Kateristik fitur yang harus memenuhi persyaratan berikut : a. Dapat membedakan suatu objek dengan yang lainnya. b. Memperhatikan
kompleksitas
komputasi
dalam
memperoleh
fitur.
kompleksitas yang tinggi tentu akan menjadi beban tersendiri dalam menemukan suatu fitur c. Tidak terikat dalam arti bersifat invariant terhadap berbagai tranformasi. d. Jumlah sedikitnya, karena fitur yang jumlahnya sedikit akan dapat menghemat waktu komputasi dan ruang penyimpanan untuk proses selanjunya.
8
Dalam Pengenalan ciri terdapat beberapa metode/algoritma sebagai ekstraksi ciri seperti LDA,PCA,dan Wavelet. LDA merupakan bekerja berdasarkan analisa matrik penyebaran (scatter matrix analysis) yang bertujuan menemukan suatu proyeksi optimal sehingga dapat memproyeksikan data input pada ruang dengan dimensi yang lebih kecil dimana semua pola dapat dipisahkan semaksimal mungkin. PCA adalah teknik reduksi dimensi yang umum digunakan pada aplikasi pemrosesan citra sedangkan wavelet merupakan metode tranformasi yang mengadopsi metode Fourier Transform dan Short Time Fourier Transform (STFT). Seperti halnya STFT, wavelet Transform mentransformasi signal dalam domain waktu menjadi signal dalam domain waktu dan frekuensi. Translation adalah sebuah bentuk transformasi dari domain waktu. Translation terkait dengan lokasi dari window function, di mana window dipindah-pindahkan sepanjang signal yang masuk. Scale adalah bentuk transformasi dari frekuensi, dimana nilai scale berbanding terbalik dengan nilai frekuensi. Extraction Algortihm LDA Linear Discriminant Analysis (LDA) merupakan metode klasik untuk analisis multivariat . Dimana bertujuan untuk mendapatkan cara yang efisien dalam menyajikan ulang ruang wajah dengan data pelatihan dibagi dalam beberapa kelas atau kategori wajah. Data gambar dalam data pelatihan dibagi dalam beberapa kelas sesuai dengan kelompoknya dengan mengunakan informasi ini LDA mempunyai ketepatan yang lebih tinggi dalam proses pengenalan data wajah dibandingkan dengan beberapa metode yang lain dalam ekstraksi ciri. Dimana perbedaan dengan yang lain terdapat pada arah optimal vector w sehingga jarak antar mean meaksimal dan lebar varian minimal tersebut dapat dilihat pada Gambar 2.4.
9
Gambar 2.4 Arah optimal vector w sehingga jarak antar mean maksimal dan lebar varian minimal (Huda, A.F. 2008) a. Mencari matriks scatter between class SB disebut matriks scatter between class atau penyebaran data antar kelas yang berbeda. Bila pada PCA dicari rata-rata seluruh image saja, rnaka pada LDA juga harus dicari lebih dulu rata-rata image yang terdapat dalam satu kelas. Berikut rumus mencari matriks scatter between class : SB = ∑
Ni
i–
T
i–
(1) Dimana
Ni = Jumlah Image pada kelas ke i i
= rata – rata kelas ke i
= rata-rata total C = Jumlah kelas yang ada b. Mencari scatter within class SW disebut matriks scatter within class atau penyebaran data dalam satu kelas yang sama. Berikut rumus mencari matriks scatter within class : SW = ∑
Ni( Xk -
i)
( Xk -
i)
T
(2) Dimana
Xk = Image ke k C = Jumlah kelas yang ada I=
rata-rata kelas ke I (Xk adalah anggota kelas ke-i
10
c. Mencari Covarian matriks LDA Berbeda dari PCA yang mendapatkan covarian matrix dari seluruh image dikurangi rata-rata totalnya, covarian Matrix LDA didapatkan dari operasi antara Sb dan Sw. dimana C adalah covarian matrix LDA.Maka Rumus dari covarian matriks LDA sebagai berikut : C = SBSW-1 (3) d. Mencari Eigen vector dan Eigen value Yang dimaksud dengan eigenvalue adalah sebuah bilangan skalar dan eigenvector adalah sebuah matriks yang keduanya dapat mendifinisikan matriks A. e. Mencari Feature LDA Feature LDA dicari dengan cara yang sama seperti pada PCA.Feature dapat dicari dengan persamaan sebagai berikut
(4) I= data tiap pixel dari image training ke-I m = jumlah image training 2.7 Klasifikasi Secara harfiah arti klasifikasi adalah penggolongan atau pengelompokkan. Ada beberapa pengertian mengenai klasifikasi, menurut Kamus Besar Bahasa Indonesia klasifikasi adalah penyusunan bersistem dalam kelompok atau golongan menurut kaidah atau standar yang ditetapkan. Harrods Librarians Glossary menyebutkan bahwa klasifikasi adalah pengelompokkan bendasecara logis menurut ciri-ciri kesamaannya. Dalam Klasifikasi terdapat beberapa metode yaitu KNN, SVM dan BackPropagation. Dimana KNN merupakan metode yang menggunakan algoritma
11
supervised dimana hasil dari query instance yang baru diklasifikan berdasarkan mayoritas dari kategori pada KNN, sedangkan BackPropagation adalah adalah algoritma learning yang populer untuk memecahkan kasus-kasus yang rumit. Algoritma ini melakukan dua tahap perhitungan, yaitu: perhitungan maju untuk menghitung error antara keluaran actual dan target. Dan perhitungan mundur yang mempropagasikan balik error tersebut untuk memperbaiki bobot-bobot pada semua neuron yang ada dan SVM adalah sistem pembelajaran yang menggunakan ruang hipotesis berupa fungsi-fungsi linier dalam sebuah ruang fitur (feature space) berdimensi tinggi, dilatih dengan algoritma pembelajaran yang didasarkan pada teori optimasi
dengan
mengimplementasikan learning
bias yang berasal
dari teori
pembelajaran statistik. Klasifikasi dengan KNN K-Nearest Neighbor (KNN) adalah suatu metode yang menggunakan algoritma supervised dimana hasil dari query instance yang baru diklasifikan berdasarkan mayoritas
dari
kategori
pada
KNN.
Tujuan
dari
algoritma
ini
adalah
mengklasifikasikan obyek baru bedasarkan atribut dan training sample seperti pada ilustrasi KNN Gambar 2.5.
Gambar 2.5 Ilustrasi K-NN
12
Classifier tidak menggunakan model apapun untuk dicocokkan dan hanya berdasarkan pada
memori.
Diberikan
titik query, akan
ditemukan
sejumlah k obyek
atau
(titik training) yang paling dekat dengan titik query. Klasifikasi menggunakan voting terbanyak diantara klasifikasi dari k obyek.Algoritma KNN menggunakan klasifikasi ketetanggaan sebagai nilai prediksi dari query instance yang baru. Algoritma metode KNN sangatlah sederhana, bekerja berdasarkan jarak terpendek dari query instance ke training sample untuk menentukan KNN-nya. Training sample diproyeksikan ke ruang berdimensi banyak, dimana masing-masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian-bagian berdasarkan klasifikasi training sample. Sebuah titik pada ruang ini ditandai kelac c jika kelas c merupakan klasifikasi yang paling banyak ditemui pada k buah tetangga terdekat dari titik tersebut. Dekat atau jauhnya tetangga biasanya dihitung berdasarkanEuclidean Distance yang direpresentasikan sebagai berikut :
(5) dimana matriks D(a,b) adalah jarak skalar dari kedua vektor a dan b dari matriks dengan
ukuran d dimensi.Pada
fase training,
algoritma
ini
hanya
melakukan
penyimpanan vektor-vektor fitur dan klasifikasi data training sample. Pada fase klasifikasi, fitur-fitur yang sama dihitung untuk testing data (yang klasifikasinya tidak diketahui).
Jarak dari vektor baru yang ini terhadap seluruh vektor training
sample dihitung dan sejumlah k buah yang paling dekat diambil. Titik yang baru klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak dari titik-titik tersebut. Berikut algoritma KNN merupakan algoritma untuk klasifikasi. Berikut ini beberapa langkah algortima KNN :
13
Langkah 0
Tentukan k, siapkan data training dan data testing
Langkah 1
Cari jarak antara data baru dengan data training menggunakan Euclidean distance
Langkah 2
Urutkan jarak data secara menaik (ascending) dan pilih data sejumlah k dengan jarak terdekat
Langkah 3
Data baru diklasifikasikan ke kelas terbanyak data sejumlah k
2.8 Prototype Metode pengembangan sistem yang digunakan adalah dengan menggunakan metode prototipe. Prototipe paradigma (Gambar 2.6) dimulai dengan mengumpulkan kebutuhan. Pengembangan dan pelanggan bertemu dan mendefinisikan keseluruhan sistem yang akan dibuat, mengidentifikasi segala kebutuhan yang diketahui, kemudian melakukan perancangan.
Gambar 2.6 Prototipe Paradigma (Pressman, 2002) Prototype bisa berfungsi sebagai sistem yang pertama, memang benar bahwa baik pelanggan maupun pengembang menyukai paradigma prototipe. Para pemakai merasa enak dengan sistem aktual, sedangkan pengembang sistem membangunnya dengan segera. Tetapi prototiping bisa juga terjadi masalah karena alasan-alasan sebagai berikut.
14
1. Pelanggan melihat apa yang tampak tanpa melihat bahwa prototipe itu dijalin bersama-sama “dengan permen karet dan baling ware”, tanpa melihat bahwa didalam permintaan untuk membuatnya bekerja,
kita belum mencantumkan
kualitas perangkat lunak secara keseluruhan atau kemampuan pemeliharaan untuk jangka panjang. 2. Pengembang sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja dengan cepat. sistem operasi atau bahasa pemrograman yang tidak sesuai bisa dipakai secara sederhanakarena mungkin diperoleh dan dikenal; algoritma yang tidak efisien dan sederhana bisa diimplementasikan untuk mendemonstrasikan kemampuan. Setelah selang waktu tertentu, pengembang mungkin mengenali pilihan-pilihan tersebut dan melupakan semua alasan mengapa mereka tidak cocok. Meskipun berbagai masalah bisa terjadi, prototipe
bisa
menjadi paradigma yang efektif. Kuncinya adalah mendefinisikan aturan-aturan main sejak awal; yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototipe dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan. 2.9 Structured System Analys dan Design ( SSAD ) Structured Systems Analysisand Design (SSAD)atau yang biasa dikenal dengan konsep pengembangan sistem terstruktur bukan merupakan konsep yang baru. Teknik perakitan di pabrik-pabrik dan perancangan sirkuit untuk alat-alat elektronik adalah dua contoh dari konsep ini yang banyak digunakan di industri-industri. Konsep ini memang relatif masih baru digunakan dalam mengembangkan sistem informasi untuk dihasilkan produk sistem yang memuaskan pemakainya. Melalui pendekatan terstruktur, permasalahan-permasalahan yang komplek di organisasi dapat dipecahkan dan hasil dari sistem akan mudah untuk dipelihara, fleksibel, lebih memuaskan pemakainya,
15
mempunyai dokumentasi yang baik, tepat pada waktunya, sesuai dengan anggaran biaya pengembangannya, dapat meningkatkan produktivitas dan kualitasnyaakan lebih baik (bebas kesalahan). 2.9.1 Diagram Contexs Diagram yang paling awal dalam aliran data adalah disebut diagram konteks. Diagram konteks merupakan pola penggambaran yang berfungsi untuk memperlihatkan interaksi sistem informasi tersebut dengan lingkungan dimana sistem tersebut ditempatkan. Dalam diagram konteks ada beberapa hal yang harus diperhatikan terdiri dari : 1.
Kelompok pemakai, baik pihak internal maupun pihak ekternal perusahaan dan departemen yang terkait. Dimana sistem itu akan digunakan harus diidentifikasi secara rinci dan jangan sampai ada yang terlewatkan.
2.
Kemungkinan kejadian-kejadian yang akan terjadi dalam penggunaan sistem harus terus diidentifikasi secara lengkap.
3.
Arah anak panah yang menunjukkan aliran data jangan sampai terbalik agar dapat memberikan pemahaman yang benar terhadap seluruh proses sistem yang akan dibentuk.
4.
Setiap kejadian digambarkan dalam bentuk tekstual yang sederhana dan mudah dipahami oleh pembuat sistem. Diagram aliran data merupakan peralatan yang berfungsi untuk menggambarkan
secara rinci mengenai sistem berbagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan menunjukkan dari dan kemana data mengalir serta penyimpanannya. Pada umumnya tahapan dalam diagram aliran data dimulai dari 0, 1, 2 dan seterusnya. Tahapan 0 menggambarkan database yang akan menampung aliran data, namun dalam tahap ini, semua proses hanya digambarkan sebagai sebuah sistem secara umum dan
16
tidak secara rinci. Setiap penurunan ke tahapan yang lebih rendah adalah tahapan 1, 2 dan seterusnya, maka proses-proses tersebut akan diuraikan lebih rinci dengan spesifikasi yang lebih jelas. Penurunan tahapan dilakukan jika perlu untuk memperinci beberapa proses, namun tidak semua proses yang ada harus diturunkan dengan jumlah tahapan yang sama. Komponen-komponen DAD Berikut ini komponen-komponen atau simbol-simbol yang digunakan dalam sistem aliran data yang diambil dari beberapa sumber antara lain :
SIMBOL
ARTI Entitas
CONTOH Pelanggan
Aliran data Proses
Input data
Penyimpanan data
Pelangga n
Gambar 2.7 Simbol aliran data menurut Kenneth. E. Kendall Berikut ini adalah keterangan dari gambar di atas : -
Kotak rangkap dua digunakan untuk menggambarkan suatu entitas eksternal yang dapat mengirim data atau menerima data dari sistem.
-
Tanda panah menunjukkan perpindahan data dari suatu titik ke titik lain dengan kepala tanda panah mengarah ke tujuan data.
-
Bujur sangkar dengan sudut membulat digunakan untuk menunjukkan adanya proses transformasi.
-
Penyimpanan data menandakan penyimpanan manual, seperti lemari file. Karena penyimpanan data mewakili seseorang tempat atau sesuatu maka diberi nama dengan sebuah kata benda (Kenneth. E. Kendall).
17
Tabel 2.1 Simbol aliran data menurut Yourdan dan Deu Marco Simbol
Fungsi Eksternal
Entitas
Entity,
digunakan
untuk
menggambarkan sebuah obyek Arus data, Menunjukan arah atau arus aliran data Proses, digunakan untuk menggambarkan sebuah sistem atau proses
Proses
Storage, digunakan untuk menggambarkan Penyimpanan Data
1.
atau menunjukan sebuah file data
External Entity (Kesatuan Luar) Kesatuan diluar sistem yang akan memberikan input atau menerima output dari
sistem, dapat berupa orang, organisasi, sumber informasi lain atau penerima akhir dari suatu laporan. Bentuk dari eksternal entity diantaranya adalah sebagai berikut : -
Suatu kantor, departemen atau divisi dalam perusahaan tetapi di luar sistem yang sedang dikembangkan.
-
Orang atau sekelompok orang di organisasi tetapi diluar sistem yang sedang dikembangkan.
-
Suatu organisasi atau orang yang berada di luar organisasi seperti misalnya langganan, pemasok.
-
Sistem informasi yang lain di luar sistem yang sedang dikembangkan sumber asli dari suatu transaksi.
-
Penerima akhir dari suatu laporan yang dihasilkan oleh sistem.
18
Terdapat 2 jenis entitas : 1. Entitas Sumber (source) : Merupakan entitas yang menjadi sumber. 2. Entitas Tujuan (sink) : Merupakan entitas yang menjadi tujuan data atau informasi sistem.(Yourdan dan Deu Marco)
Entitas Sumber
Entitas Tujuan
Entitas Tujuan Dan Sumber
Gambar 2.8 Entitas sumber dan entitas tujuan 2.
Data Flow (Arus Data) Disimbolkan dengan anak panah, dimana arus data mengalir diantara proses,
simpanan data. Arus data ini menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem dan dapat berbentuk sebagai berikut : -
Formulir atau dokumen yang digunakan perusahaan
-
Laporan tercetak yang dihasilkan sistem
-
Output dilayar komputer
-
Masukan untuk komputer
-
Komunikasi ucapan
-
Surat atau memo
-
Data yang dibaca atau direkam di file
-
Suatu isian yang dicatat pada buku agenda
-
Transmisi data dari suatu komputer ke komputer lain
Konsep dari Data Flow : 1.
Konsep paket dari data
19
Bila dua atau lebih data mengalir dari suatu sumber yang sama ke tujuan yang sama, maka harus dianggap sebagai suatu arus data tunggal.
Form Angggota Perpustakaan Mahasiswa
Cek Formulir Anggota
Gambar 2.9 Konsep paket dari data 2.
Konsep arus data menyebar Menunjukkan sejumlah tembusan dari arus data yang sama dari sumber yang sama ke tujuan yang berbeda. laporan data pelanggan Pelanggan
Membuat Laporan Data Pelanggan
Manajer
laporan data pelanggan Pembukuan
Gambar 2.10 Konsep arus data menyebar
3.
Konsep arus data mengumpul Menunjukkan beberapa arus data yang berbeda dari sumber yang berbeda bergabung bersama-sama menuju ke tujuan yang sama.
20
Membuat faktur
faktur
Pelanggan
Membuat slip pengiriman
slip pengiriman
Gambar 2.11 Konsep arus data mengumpul 4.
Konsep sumber dan tujuan arus data Semua arus data harus dihasilkan dari suatu proses atau menuju ke suatu proses (dapat salah satu atau kedua-duanya, yaitu berasal dari suatu proses menuju kebukan suatu proses atau berasal dari bukan suatu proses menuju ke suatu proses atau berasal dari suatu proses dan menuju ke suatu proses). Konsep ini penting karena arus data adalah salah satu dari hasil suatu proses atau akan digunakan untuk melakukan suatu proses.
3.
Proses Merupakan kegiatan atau pekerjaan yang dilakukan oleh orang atau mesin komputer,
dimana aliran masuk, ditranformasikan ke aliran data keluar. Suatu proses harus diberi penjelasan yang lengkap meliputi : -
Identifikasi proses. Umumnya berupa suatu angka yang menunjukkan nomor acuan dari proses dan ditulis pada bagian atas simbol proses.
21
-
Nama proses. Menunjukkan apa yang dikerjakan oleh proses tersebut.
4.
Data Store (penyimpanan data) Bentuk dari penyimpanan data diantaranya adalah sebagai berikut : - File atau database di sistem komputer - Suatu arsip atau catatan manual - Suatu tabel acuan manual - Suatu agenda atau buku Beberapa hal yang perlu diperhatikan dalam penggambaran penyimpanan data : 1. Hanya proses saja yang berhubungan dengan data store, karena yang menggunakan atau merubah data di data store adalah suatu proses. 2. Arus data yang menuju ke data store dari suatu proses menunjukkan proses update terhadap data yang tersimpan di data store. Update dapat berupa penambahan atau penyimpanan record atau dokumen baru, penghapusan atau mengambil dokumen, dan proses pengeditan. 3. Arus data yang berasal dari data store ke suatu proses menunjukkan bahwa proses tersebut menggunakan data yang ada di data store. 4. Untuk suatu proses yang melakukan kedua-duanya, yaitu menggunakan dan update data store dapat dipilih dengan menggunakan sebuah garis dengan anak panah dua arah atau menggunakan dua garis anak panah.(Yourdan dan Deu Marco)
22
Gambar 2.12 Alur data dari data store dan alur data ke data store 2.9.2 Data Flow Diagram DFD (Data Flow Diagram) merupakan alat perancangan sistem yang berorientasipada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yg mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. Pada umumnya, DFD digunakan untuk merancang sistem yang menggunakan
data store dalam mengelola informasi dalam sistem.
Komponen DAD, menurut Yourdan dan DeMarco adalah sebagai berikut : a. Entitas Luar: kesatuan diluar sistem yang akan memberikan input atau menerima output dari sistem dapat berupa orangatau organisasi sumber informasi lain atau penerima akhir dari suatu laporan. b. Proses: transformasi input menjadi output, merupakan kegiatan atau pekerjaan yang dilakukan oleh orang atau mesin komputer, dimana aliran data masuk ditransformasikan ke aliran data keluar. Penamaannya sesuai dengan proses yang sedang dilakukan. Ada beberapa hal yang perlu diperhatikan tentang proses : 1.Proses harus memiliki input dan output. 2. Proses dapat dihubungkan dengan komponen entitas luar, data store atau proses melalui alur data.
23
3. Sistem yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.
Aliran data/Arus data digunakan untuk menjelaskan perpindahan data atau paket data dari satu bagian ke bagian lain.
Tabel 2.2 Simbol dan Keterangan Data Flow Diagram (Jogiyanto, 2005).
Simbol
Makna
Contoh
Etinty
Barang
Alir data
laporan
Proses Input data barang
Data Storage Data barang
2.9.3 Flow Chart FlowMap merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagian ini menjelas urutan-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem me nunjukkan apa yang dikerjalan di sistem.
24
Tabel 2.3 Simbol dan Keterangan Flowmap
Simbol
Deskripsi Simbol yang digunakan untuk menunjukkan awal atau akhir dari suatu proses.
Menunjukkan dokumen input dan output baik untuk proses manual mekanik atau komputer.
Menunjukan pekerjaan yang dilakukan secara manual.
Menunjukan multi dokumen.
Pengarsipan data
Menunjukan proses
Simbol input atau output digunakan untuk mewakili data input atau output
2.10
Matlab
Matlab adalah sebuah bahasa pemograman dengan unjuk kinerja tinggi untuk komputasi teknis, yang mengintegrasikan komputasi, visualisasi dan pemograman di dalam lingkungan yang mudah penggunaannya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematik. Penggunaan matlab yaitu untuk a. Matematika dan komputasi
25
b. Pengembangan algoritma c. Permodelan,Simulasi dan pembuatan Prototype d. Analisis data, Eksplorasi, Visualisasi e. Grafik untuk sains dan teknik f. Pengembangan aplikasi termasuk pembuatan antarmuka grafis pengguna Matlab adalah sebuah sistem interaktif yang menggunakan data elemen data dasarnya adalah array yang tidak membutuhkan dimensi. Ini mempermudah menyelesaikan masalah komputasi terutama yang menyangkut matriks dan vector. Nama matlab merupakan singkatan dari matriks labotary pada awalnya dibuat untuk mempermudah pengembangan perangkat lunak berbasis matriks oleh LINPACK dan EISPACK Matlab telah digunakan bertahun-tahun dengan banyak pengguna.di lingkungan universitas Matlab telah menjadi perkakas standar untuk pengajaran tingkat dasar dan tingkat lanjut yang berhubungan dengan matematika, Rekayasa, dan Sains. Lingkungan industri matlab merupakan kakas untuk penelitian produktifitas,pengembangan dan analisis. Sistem Matlab Sistem matlab terdiri dari lima bagian yaitu : a. Bahasa pemograman matlab Bahasa ini adalah bahasa pemograman tingkat tinggi yang mempergunakan matriks dengan pernyataan aliran kendali program, Struktur data, Masukkan/keluaran dan fitur fitur pemograman berorientasi objek
26
b. Lingkungan kerja matlab Bagian ini adalah sekumpulan kakas dalam fasilitas matlab yang digunakan oleh pengguna atau pemogram.fasilitas yang dimaksudkan misalnya untuk mengelola variable di dalam ruang kerja dan melakukan impor dan ekspor data.sedangkan kakas yang disediakan untuk penggembangan proses debugging dan pembuatan profil M-files untuk aplikasi MATLAB. c. Penanganan grafik Bagian ini adalah system grafik matlab termasuk perintah perintah tingkat tinggi untuk visualisasi data dimensi 2 dan dimensi 3. Pengolahan citra, Animasi, dan Presentasi grafik.Selain itu bagian ini juga termasuk perintahperintah tingkat rendah untuk menetapkan sendiri tampilan grafik seperti halnya membuat antarmuka pengguna grafis untuk aplikasi aplikasi matlab. d. Pustaka fungsi matematis matlab Bagian ini adalah koleksi algoritma komputasi dari mulai fungsi dasar seperti menjumlahkan, menentukan nilai sinus, kosinus dan aritmatika bilangan kompleks e. Aplication programming interface matlab Bagian ini adalah pustaka untuk menuliskan program dalam bahasa C dan Fortran
yang berinteraksi
dengan
matlab,termasuk
fasilitas
untuk
memanggil rutin program dari matlab sebagai mesin komputasi dan untuk pembacaan serta penulisan mat-files
27
2.11
Pengujian Blackbox
Black Box adalah cara pengujian dilakukan dengan hanya menjalankan atau mengeksekusi unit atau modul kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Dengan kata lain, black box merupakan user testing, biasanya pengujian perangkat lunak dengan metode black box melibatkan client atau pelanggan yang memesan perangkat lunak tersebut, dari pengujian blackbox
dapat diketahui keinginan client
terhadap perangkat lunak tersebut, misal client ingin tampilannya diubah atau proses penjalanan perangkat lunak tersebut agar lebih dimengerti.