bab 2 landasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10...

45
Bab 2 LANDASAN TEORI 2.1 Plat Nomor Kendaraan Bermotor Plat nomor adalah salah satu jenis identifikasi kendaraan bermotor (http://id.wikipedia.org/wiki/Plat_nomor). Plat nomor juga disebut plat registrasi kendaraan, atau di Amerika Serikat dikenal sebagai plat izin (license plate). Bentuknya berupa potongan plat logam atau plastik yang dipasang pada kendaraan bermotor sebagai identifikasi resmi. Biasanya plat nomor jumlahnya sepasang, untuk dipasang di depan dan belakang kendaraan. Namun ada jurisdiksi tertentu atau jenis kendaraan tertentu yang hanya membutuhkan satu plat nomor, biasanya untuk dipasang di bagian belakang. Plat nomor memiliki nomor seri yakni susunan huruf dan angka yang dikhususkan bagi kendaraan tersebut. Nomor ini di Indonesia disebut nomor polisi, dan biasa dipadukan dengan informasi lain mengenai kendaraan bersangkutan, seperti warna, merk, model, tahun pembuatan, nomor identifikasi kendaraan dan tentu saja nama dan alamat pemilikinya. Semua data ini juga tertera dalam Surat Tanda Nomor Kendaraan Bermotor atau STNK yang merupakan surat bukti bahwa nomor polisi itu memang ditetapkan bagi kendaraan tersebut. Karena wujudnya yang spesifik, plat nomor juga digunakan sebagai identifikasi kendaraan oleh banyak lembaga, seperti kepolisian, perusahaan asuransi mobil, bengkel, tempat parkir, dan juga armada kendaraan bermotor. Di beberapa wilayah jurisdiksi, plat nomor juga dipakai sebagai bukti bahwa 9

Upload: hathuy

Post on 15-Mar-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

9

Bab 2

LANDASAN TEORI

2.1 Plat Nomor Kendaraan Bermotor

Plat nomor adalah salah satu jenis identifikasi kendaraan bermotor

(http://id.wikipedia.org/wiki/Plat_nomor). Plat nomor juga disebut plat registrasi

kendaraan, atau di Amerika Serikat dikenal sebagai plat izin (license plate).

Bentuknya berupa potongan plat logam atau plastik yang dipasang pada

kendaraan bermotor sebagai identifikasi resmi. Biasanya plat nomor jumlahnya

sepasang, untuk dipasang di depan dan belakang kendaraan. Namun ada jurisdiksi

tertentu atau jenis kendaraan tertentu yang hanya membutuhkan satu plat nomor,

biasanya untuk dipasang di bagian belakang. Plat nomor memiliki nomor seri

yakni susunan huruf dan angka yang dikhususkan bagi kendaraan tersebut. Nomor

ini di Indonesia disebut nomor polisi, dan biasa dipadukan dengan informasi lain

mengenai kendaraan bersangkutan, seperti warna, merk, model, tahun pembuatan,

nomor identifikasi kendaraan dan tentu saja nama dan alamat pemilikinya. Semua

data ini juga tertera dalam Surat Tanda Nomor Kendaraan Bermotor atau STNK

yang merupakan surat bukti bahwa nomor polisi itu memang ditetapkan bagi

kendaraan tersebut.

Karena wujudnya yang spesifik, plat nomor juga digunakan sebagai

identifikasi kendaraan oleh banyak lembaga, seperti kepolisian, perusahaan

asuransi mobil, bengkel, tempat parkir, dan juga armada kendaraan bermotor. Di

beberapa wilayah jurisdiksi, plat nomor juga dipakai sebagai bukti bahwa

9

Page 2: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

10

kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum,

atau juga sebagai bukti pembayaran pajak kendaraan bermotor.

Namun di beberapa negara, seperti Inggris misalnya, mobil selalu

menggunakan plat nomor yang sama sejak saat pertama dijual hingga akhir masa

operasinya, dengan pertimbangan semua informasi yang ada di plat nomor dan

kendaraan bersangkutan juga tidak pernah berubah.

Sementara di tempat lain, seperti Amerika Serikat, plat nomor perlu

diganti secara berkala yakni saat habis masa berlakunya, atau karena dijual atau

berpindah tangan. Ini yang dikenal dengan kebijakan "plate-to-owner" atau plat

nomor yang terkait dengan kepemilikan. Artinya, ketika mobil dijual, penjual

harus melepas plat nomornya sementara pembeli harus meminta plat nomor baru

dari pihak berwenang sesuai wilayah tempat tinggalnya dan mendaftarkan

kembali atas namanya (balik nama). Bila orang yang menjual mobil tersebut

membeli mobil baru, ia dapat meminta agar plat nomornya yang lama dipasang di

mobilnya yang baru. Bila tidak, ia harus mengembalikan plat nomor ke pihak

berwenang, menghancurkannya, atau menyimpannya sebagai barang kenangan.

Di banyak negara, plat nomor dikeluarkan oleh badan pemerintahan

nasional, kecuali di Kanada, Mexico, Australia, Jerman, Pakistan, dan Amerika

Serikat, karena plat nomor diterbitkan oleh lembaga pemerintah provinsi, wilayah,

atau negara bagian.

2.1.1 Sejarah Plat Nomor Kendaraan Bermotor

Plat nomor usianya hampir sama dengan mobil, dan muncul saat periode

awal transisi dari kendaraan berkuda yakni antara 1890 hingga 1910. Negara

Page 3: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

11

bagian New York di Amerika Serikat mengharuskan penggunaan plat nomor

sejak tahun 1901. Awalnya plat nomor tidak dikeluarkan pemerintah, dan di

banyak wilayah Amerika, para para pengendara diharuskan membuat plat nomor

sendiri. Negara bagian Massachusetts dan West Virginia adalah yang pertama

menerbitkan plat nomor pada tahun 1903. Plat nomor awal dibuat dari porselin

yang dibakar menjadi besi, atau keramik biasa yang tidak dibakar, sehingga

mudah pecah dan tidak praktis. Bahan-bahan plat nomor yang kemudian termasuk

karton, kulit, plastik, bahkan juga tembaga dan kedele.

Plat nomor awal memiliki bermacam bentuk dan ukuran, sehingga kalau

dipindahkan antar kendaraan harus dibuat lobang baru untuk memasukkan baut ke

bumper. Standarisasi plat nomor baru dimulai tahun 1957 saat pabrik mobil

sepakat dengan berbagai pemerintahan dan organisasi standar internasional.

Meski masih ada variasi lokal, plat nomor umumnya mengikuti tiga standar dunia:

• pertama yang dipakai di negara-negara di belahan Barat bumi, yakni

berukuran 15 kali 30 sentimeter (6 x 12 inci)

• yang kedua memiliki standar Uni Eropa, yakni 11 x 52 sentimeter

• bentuk ketiga dipakai di Australia and banyak negara Asia-Pasifik, yakni

lebih panjang dibanding model negara belahan Barat bumi, namun lebih

tinggi dari plat Uni Eropa.

2.1.2 Nomor Polisi

Nomor polisi adalah nomor registrasi yang diberikan oleh pihak

Kepolisian bagi kendaraan bermotor. Nomor ini tertera pada plat nomor dan juga

dalam Surat Tanda Nomor Kendaraan Bermotor atau yang dikenal sebagai STNK.

Page 4: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

12

Sistem penomoran kendaraan di Indonesia merupakan warisan zaman

penjajahan Belanda jadi masih menggunakan kode wilayah yang didasarkan pada

pembagian wilayah Karesidenan, dan bukan sesuai Kabupaten atau Propinsi.

Umumnya penomoran menggunakan pola AB 1234 CD, yakni satu atau dua huruf

pertama merupakan kode wilayah, kemudian angka mulai dari 1 hingga 9999

merupakan nomor seri, diakhiri dengan satu atau dua huruf seri yang bisa juga

merupakan kode wilayah yang lebih kecil atau identifikasi kendaraan.

2.2 Computer Vision

Computer vision (Machine vision) adalah ilmu pengetahuan yang

mengembangkan teori-teori dan algoritma dimana informasi yang berguna

mengenai dunia dapat secara otomatis diekstrasi dan dianalisis dari sebuah atau

sekumpulan citra, atau citra yang berturutan dari sebuah komputasi yang dibuat

oleh komputer (http://www.personal.umd.umich.edu/~mpastore/sights.html).

Computer Vision mempunyai tujuan utama yaitu untuk membuat keputusan yang

berguna tentang objek fisik berdasarkan image yang didapat dari sensor.

Computer Vision ingin membangun sebuah mesin pandai yang dapat melihat.

Tentunya hal ini bukanlah hal mustahil. Ada berbagai contoh dari aplikasi

Computer Vision seperti Human Computer Interaction (HCI), Object

Identification, Segmentation dan Recognition.

Dalam pengambilan keputusan tentang objek nyata, ternyata selalu

dibutuhkan untuk membangun beberapa deskripsi atau model dari objek-objek

tersebut dari gambar yang ada. Karena ini, banyak ahli akan berkata bahwa tujuan

Page 5: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

13

dari computer vision adalah konstruksi dari deskripsi pemandangan yang diambil

dari gambar yang diperoleh.

2.3 Pengolahan Citra (Image Processing)

Pengertian sederhana dari image processing adalah manipulasi dan

analisis suatu informasi gambar oleh komputer. Yang dimaksud dengan informasi

gambar disini adalah gambar visual dalam dua dimensi. Segala operasi untuk

memperbaiki, analisa atau pengubahan suatu gambar disebut image processing.

Konsep dasar dari sistem image processing diambil dari kemampuan indera

penglihatan manusia yang selanjutnya dihubungkan dengan kemampuan otak

manusia. Dalam sejarahnya, image processing telah diaplikasikan dalam berbagai

bentuk, Dengan tingkat kesuksesan yang cukup besar. Seperti berbagai cabang

ilmu lainnya, image processing menyangkut pula berbagai gabungan cabang-

cabang ilmu. Seperti danataranya optik, elektronik, matematika, fotografi, dan

teknologi komputer.

Berbagai bidang telah banyak menggunakan aplikasi dari image

processing baik di bidang komersial, industri dan medik. Bahkan bidang militer

telah menggunakan perkembangan dunia digital image processing ini. Pada

umumnya, objektif dari image processing adalah mentransformasikan atau

menganalisis suatu gambar segingga informasi baru tentang gambar dibuat lebih

jelas.

2.3.1 Citra Digital

Istilah “Citra Monokrom” (monochrome image) atau “citra” saja (image)

merujuk kepada fungsi dua dimensi dari intensitas kecerahan f(x,y), dimana x dan

Page 6: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

14

y menunjukkan posisi koordinat dan nilai f pada posisi manapun menunjukkan

kecerahan gambar pada posisi tersebut. Sedangkan, sebuah citra digital (digital

image) adalah sebuah citra dengan fungsi f(x,y) yang nilai kecerahan maupun

posisi koordinatnya telah didiskritkan, sehingga nilainya bukan merupakan nilai

yang tak berhingga, melainkan berada didalam jangkauan tertentu. Gambar digital

dapat direpresentasikan sebagai sebuah matriks, yang baris dan kolomnya

merepresentasikan sebuah posisi dari gambar tersebut, dan nilai dari posisi yang

bersangkutan merupakan tingkat kecerahan dari posisi tersebut di citra. Masing –

masing dari array digital tersebut disebut image elements, picture elements, pixels

atau pels.

2.3.2 Konversi Citra Abu–abu Menjadi Citra Biner (Thresholding / Binerisasi)

Citra pada umumnya terdiri dari pixel – pixel dengan berbagai variasi nilai

RGB (komponen warna merah/red, hijau/green, dan biru/blue). Citra jenis ini

disebut sebagai citra berwarna. Citra abu – abu (grayscale) adalah citra dengan

satu macam warna yakni abu – abu, dengan variasi gradiasi keabuannya.

Tresholding atau binerisasi adalah proses konversi citra abu – abu menjadi citra

hitam putih. Proses ini disebut juga binerisasi citra (image binarization). Proses

konversi citra abu – abu menjadi citra hitam putih ini dilakukan dengan

menggunakan nilai ambang (threshold value) tertentu. Kemudian berdasarkan

nilai ambang ini, maka ditentukan apakah suatu piksel akan diubah menjadi

berwarna putih (dengan intensitas pencahayaan tertinggi yakni 0). Jika nilai

keabuan suatu piksel lebih besar daripada nilai ambang, piksel akan diubah

menjadi warna putih. Sebaliknya, jika nilainya lebih kecil daripada nilai ambang,

Page 7: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

15

piksel akan diubah menjadi berwarna hitam. Proses ini membantu menghilangkan

noise pada citra. Tidak terdapat ketentuan pasti mengenai berapa batas nilai

ambang. Batas nilai ambang ini dapat diubah – ubah sesuai dengan kebutuhan kita

agar proses konversi citra abu – abu menjadi citra hitam putih menghasilkan citra

yang sesuai dengan yang diinginkan.

2.3.3 Penyekalaan (Scaling)

Berdasarkan pandangan Hearn dan baker (1986) penyekalaan merupakan

proses pengolahan citra yang bertujuan untuk mengubah ukuran (dimensi) dari

suatu citra. Perubahan citra yang terjadi akibat proses penyekalaan akan

menyebabkan citra berubah menjadi citra baru yang ukurannya sesuai dengan

skala perubahan yang ditetapkan, umumnya dikenal dengan sebutan faktor skala.

Terdapat 3 macam perubahan yang dapat terjadi akibat proses penyekalaan, yaitu:

1. Perubahan lebar citra, terjadi ketika citra hanya dikalikan oleh faktor skala

dengan arah sumbu x saja.

2. Perubahan tinggi citra, terjadi ketika citra hanya dikalikan oleh faktor skala

dengan arah sumbu y saja.

3. Perubahan lebar dan tinggi citra, hal ini terjadi ketika citra dikalikan oleh

faktor skala baik ke arah sumbu x maupun ke arah sumbu y.

2.3.4 Pemotongan (Cropping)

Di dalam bahasa Inggris pemotongan selain disebut sebagai cropping juga

dapat disebut sebagai trimming. Definisi pemotongan

(http://desktoppub.about.com/library/glossary/bldef-crop.htm) adalah suatu

kegiatan memotong bagian yang tidak perlu dari sebuah citra. Pemotongan dapat

Page 8: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

16

dilakukan dengan menentukan kordinat awal, lebar, dan tinggi dari citra yang

ingin kita potong. Pemotongan akan menciptakan suatu citra baru yang berasal

dari citra asalnya. Pemotongan juga menyebabkan ukuran dari suatu citra berubah

lebih kecil, entah lebarnya saja, tingginya saja, atau bahkan keduanya.

2.4 Ekstraksi Fitur

Menurut Devijver dan Kittler (1982,p12) ekstraksi fitur merupakan sebuah

proses mengekstrak informasi – informasi yang paling relevan untuk

dikategorikan dengan meminimalkan variasi antar pola dalam suatu kategori dan

sekaligus memaksimalkan variasi antar pola dalam suatu kategori data – data

mentah yang tersedia.

Dengan demikian tujuan utama dari dilakukannya ekstraksi fitur pada citra

adalah untuk mengurangi jumlah data dari suatu citra dengan tanpa

menghilangkan fitur – fitur dan properti yang penting dari citra tersebut. Untuk

mendasari pemilihan fitur, hal yang utama harus dilakukan adalah mencari bagian

yang unik dari suatu citra sehingga dapat benar-benar mendefinisikan suatu

bentuk dari karakter tersebut.

Ekstraksi fitur yang baik dapat mengekstrak hanya data yang penting saja

dari sebuah citra tanpa memasukkan data lain yang tidak penting. Dalam

pengekstraksian fitur didalam topik skripsi ini digunakan nilai rata-rata piksel

hitam dengan piksel keseluruhan didalam suatu bagian dari citra yang utuh,

dimana sebelumnya sebuah citra akan dibagi menjadi 5x5 atau 25 bagian dan

dihitung nilai rata-rata disetiap bagiannya.

Page 9: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

17

2.5 Pengenalan Pola (Pattern Recognition)

Pattern Recognition yang berarti pengenalan pola, dimana dalam hal ini

komputer dapat mengetahui atau mengenali suatu bentuk pola (pattern). Ada dua

macam pola, yaitu : abstrak dan konkrit. Contoh dari pola abstrak adalah ide – ide

dan argumen – argumen, conceptual recognition yang digunakan dalam artificial

intelligence, sedangkan contoh pola yang termasuk pola konkrit adalah karakter,

simbol, gambar, gambar-gambar dari biomedical, objek tiga dimensi, tanda

tangan, suara, dan lain-lain.

Dewasa ini orang – orang lebih banyak memfokuskan pada dua macam

masalah pengenalan pola :

1. Sistem mekanisme dari pengenalan pola yang dimiliki oleh makhluk hidup,

seperti phychologists, physiologists, dan semua yang mempengaruhi

bagaimana makhluk hidup menerima suatu objek.

2. Perkembangan dari teori dan teknik untuk implementasi komputer. Masalah

ini yang banyak memberikan tantangan bagi para engineer dan para ahli

matematika menerima suatu objek. Tidak ada satupun teori yang dapat

diaplikasikan untuk semua masalah pengenalan pola. Kebanyakan dari teknik

adalah problem oriented.

Gambar 2.1 Tahapan dalam pengenalan pola

Page 10: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

18

Ada 3 fase dalam pengenalan pola :

1. Data acquisition, yaitu analog yang sudah dikumpulkan dilewatkan ke

transducer dan dikonversi menjadi format digital untuk diproses oleh

komputer. Pada tahap ini physical variables dikonversikan menjadi sebuah

data set oleh electric signal.

2. Data processing, input fase ini adalah data set dari hasil data acquisition,

kemudian dibuat menjadi sebuah kelompok karakteristik set sebagai output.

3. Decision classification, sebagai pengklasifikasian dalam bentuk decision

function set. Dengan menggunakan set ini, sebuah objek dapat

diklasifikasikan.

Menurut Finlay (1991) ada 2 metode untuk pengenalan pola yang telah

diselidiki, yaitu :

1. Neural Based Systems, yang disebut ADAM (Advanced Distributed

Associative Memory).

2. Inductive ID3_Based Classifier, yang disebut Class

Seperti yang sudah diterangkan dalam bab 1 bahwa untuk pengenalan pola

pada skripsi ini dipakai metode yang pertama, yaitu sistem yang berdasarkan

neural network.

2.6 Jaringan Saraf Tiruan (Artificial Neural Network)

Neural berasal dari kata neuron yang artinya saraf, seperti sistem saraf

pada otak manusia. Neural network adalah sistem jaringan yang saling terhubung

serta memiliki kemampuan bekerja seperti sistem saraf pada otak manusia.

Page 11: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

19

Model Artificial Neural Network (ANN) dipakai untuk membuat komputer

yang memiliki arsitektur seperti otak maanusia karena ide dasar dari model ANN

ini terinspirasi oleh cara kerja otak manusia yang berupa jaringan saraf. Neural

network merupakan jaringan elemen-elemen parallel yang saling terhubung dan

dibuat dengan karakteristik tertentu. Secara, teknis, ANN mempunyai node

characteristics, topology (struktur rangkaian node – node) dan learning rules

tertentu. ANN sudah banyak diterapkan pada berbagai macam aplikasi, seperti

pengenalan pola, optimasi, kompresi data dan sebagainya.

2.6.1 Jaringan Saraf Manusia

Walaupun cara kerja otak manusia lebih lambat daripada komputer dan

tidak dapat mengingat banyak data atau kejadian secara pasti, otak manusia tetap

dapat melakukan tugas-tugas tertentu yang tidak dapat dilakukan oleh komputer.

Sel-sel penyusun sistem saraf disebut badan neuron. Badan neuron yang

terdiri dari plasma dan inti sel ini terhubung oleh serabut penghubung yang

disebut neurit atau axon. Impuls saraf dibangkitkan oleh serabut yang bercabang

pendek, yaitu dendrit. Pertemuan ujung-ujung saraf membentuk sinapsis yang

terhubung akibat titik temu antara terminal axon salah satu neuron dengan neuron

lainnya. Otak manusia mengandung kurang lebih 1011 atau 100 milyar neuron dan

terdapat 1.000 sampai dengan 10.000 sambungan sinapsis dalam satu neuron

yang terkoneksi ke neuron-neuron lainnya sehingga akan memberikan 1015

sinapsis pada otak manusia (Kosko, 1992, p13).

Page 12: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

20

Gambar 2.2 Sistem Saraf Otak Manusia

Secara garis besar, cara kerja neuron dapat digambarkan sebagai berikut :

sinyal masukan atau impuls yang diterima oleh suatu neuron akan ditransmisikan

secara kimiawi melalui sinapsis menuju dendrit. Dendrit membawa sinyal ini ke

soma yang terdapat pada badan sel. Soma menghitung jumlah dari sinyal-sinyal

tersebut. Jika jumlah sinyal lebih tinggi dari kemampuan sel dari axon maka

neuron akan memberikan respon. Respon tersebut dikirim oleh axon ke sinapsis

selanjutnya (Ojala, 1994, p11-12).

2.6.2 Perkembangan Artificial Neural Netwok (ANN)

Menurut Hinton dan Anderson (1989) model ANN mulai dikembangkan

sejak tahun 1943 dengan penemuan Perceptron oleh MCCulloch dan Pitts. Pada

tahun 1969, Minsky dan Papert membuat buku tentang Perceptron yang memuat

kelemahan dari Perceptron. Salah satunya adalah tidak dapat melaksanakan

perintah XOR dan menghitung parity bit. Sehingga penelitian terhadap neural

network sempat tidak diterima sampai pada tahun 1982. ketika John Hopfield

Page 13: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

21

mempublikasikan paper-nya yang berjudul Neural Network and Physical Systems

with Emergent Collective Computational Abilities.

Hopfield membuat suatu kontribusi yang penting untuk aplikasi pada

sistem yang berkembang saat itu. Hopfield menggunakan fungsi energi untuk

menganalisa dan mengontrol kerja pada neural network yang dinamik. Model

yang dikembangkan oleh Hopfield ini dikenal sebagai Hopfield Net atau Hopfield

Model.

Kebangkitan ANN terjadi pada tahun 1987 dengan diselenggarakannya

Conference on Neural Networks di San Diego, USA. Sejak saat itulah mulai

bermunculan model-model ANN seperti Backpropagation, Bidirectional

Associative Memory (BAM), Self Organizing Maps (SOM), dan lain-lain. BAM

pertama kali dikembangkan oleh Kosko (Kosko, 1988).

2.6.3 Aspek-aspek dari ANN

Sistem neural network mempunyai 3 bagian penting, yaitu:

1. Adaptivity, ialah kemampuan untuk mengolah transformasi secara berarti

sesuai dengan aturan adaptive yang paling cocok.

2. Fault-Tolerance, ialah kemampuan untuk bekerja secara sempurna dengan

adanya noise yang dihasilkan oleh kesalahan hardware atau input. Untuk

Kasus Pattern Recognition, kesalahan yang ada dianggap sebagai pengenalan

pola yang tidak sempurna.

3. Parallel processing, berasosiasi dengan Neural Network, dikarenakan parallel

processing memiliki kemampuan untuk mengoperasikan sistem distribusi

secara murni.

Page 14: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

22

Menurut Rumelhart dan McClelland (1986) ada beberapa aspek utama

dari ANN yang harus diperhatikan, yaitu:

1. Himpunan Unit Pemroses

Unit-unit pemroses ini berupa neuron-neuron buatan, pertama kali

dikemukakan oleh McCulloch dan Pitts pada tahun 1940 yang

mendeskripsikan neuron tersebut dengan model matematika:

⎟⎠

⎞⎜⎝

⎛= ∑=

N

i

WiiXgy0

(2.1)

Dimana y adalah keluaran dari sebuah neuron, N adalah jumlah

masukan dari xi adalah variable masukan. Wi adalah bobot sinaptik dan

fungsi g adalah fungsi non linear (Ojala, 1994, p113).

Gambar 2.3 Contoh Neuron

Masing-masing unit pemroses menerima masukan dari sumber luar

atau dari unit lain dan menghitung suatu sinyal keluaran yang kemudian

disebarkan ke unit-unit yang lain. Tugas lain dari unit pemroses ini adalah

menyesuaikan bobot. Hal tersebut berlangsung secara paralel dimana

banyak unit melakukan perhitungan pada saat yang bersamaan.

Page 15: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

23

Ada tiga jenis unit pemroses, yaitu:

• Input Unit, data masukkan untuk proses pembelajaran dan

pengenalan suatu objek.

• Output Unit, keluaran dari hasil pengenalan objek.

• Hidden Unit, tempat input unit dan output unit berada dalam suatu

jaringan.

Gambar 2.4 Model Umum Unit Pemroses

2. Keadaan Aktivasi (State Of Activation)

Keadaan dari jaringan saat t direpresentasikan oleh sebuah vektor

yang terdiri dari N bilangan nyata a(t). Elemen-elemen dari vektor tersebut

merupakan nilai aktivasi dari sebuah unit. Nilai aktivasi dari unit ui pada

saat t adalah ai(t) = [a1(t) a2(t) a3(t) .... aN(t)]. Nilai ini dapat berupa

biner (0,1) atau bipolar (-1,1). Vektor tersebut disebut sebagai short term

memory dari jaringan.

3. Fungsi Keluaran (Output Function)

Page 16: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

24

fi(ai(t)) adalah fungsi keluaran untuk unit ke-i yang memetakan

keadaan aktivasi pada saat t, ai(t) ke sinyal keluaran outi(t). Ada tiga

kemungkinan dari fungsi keluaran ini, yaitu:

• Fungsi linear atau semi-linear:

Outi = gain * ai, gain adalah sebuah nilai

• Fungsi threshold (sgn):

If ai>threshold then outi = 1 else outi = 0

• Fungsi sigmoid:

Outi = 1/(1+ exp (-a1))

Gambar 2.5 Fungsi Keluaran / Aktivasi

4. Pola penyebaran (Pattern of Connectivity)

Pola hubungan dari seluruh jaringan dengan N unit dapat

direpresentasikan oleh matriks bobot W dengan dimensi N X N. Dalam

matriks bobot inilah knowledge disimpan dalam jaringan. Oleh karena itu,

matris W dapat disebut sebagai long-term memory dari jaringan.

Berdasarkan pola jaringan atau topologi jaringan, neural network dapat

diklasifikasikan menjadi feedforward network dan feedback network. Pada

feedforward network, unit-unit pemroses diatur dalam lapisan-lapisan

Page 17: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

25

(layers) yang menghubungkan unit-unit pada layer selanjutnya secara

berurutan. Feedforward mengimplementasikan pemetaan statis dari

himpunan unit masukan ke himpunan unit keluaran. Sedangkan pemetaan

pada feedback adalah nonlinear dynamical system dan terdapat putaran

balik antara unit keluaran dengan unit masukan.

Gambar 2.6 FeedForward (a) dan Feedback (b) Network

5. Aturan Penyebaran (Propagation Rule)

Aturan penyebaran menentukan bagaimana nilai-nilai keluaran dari

unit-unit dikombinasikan menjadi himpunan nilai yang lebih kecil,

umumnya berupa nilai tunggal yang disebut combining function.

Combining function mendefinisikan sebuah nilai net input untuk setiap

unit sebagai sebuah weighted summation atau net(t)=W(t)out(t), dimana

net(t) adalah net input dan out(t) adalah vektor keluaran.

6. Aturan aktivasi (Activation Rule)

Aturan aktivasi menentukan nilai aktivasi baru dari unit untuk

tahap berikutnya. Secara umum didefinisikan :

Page 18: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

26

a(t+1) = F (a(t), net(t)1,net(t)2, …) (2.2)

7. Aturan belajar (Learning Rule)

Digunakan untuk mengubah elemen-elemen dari matriks W dan

parameter lainnya yang dimiliki oleh jaringan selama proses learning dan

training. Lingkungan luar biasanya menyediakan vektor-vektor masukan

untuk learning. Selama proses learning, bobot jaringan secara bertahap

mencapai keadaan yang konvergen ke suatu nilai sehingga setiap masukan

dapat menghasilkan keluaran yang diinginkan.

Ada 2 jenis learning, yaitu:

a. Supervised learning

Diperlukan pasangan untuk setiap masukan dengan

keluaran yang diinginkan. Pasangan tersebut disebut training pair.

Satu vektor masukan diberikan lalu dihitung keluarannya dan

dibandingkan dengan target keluaran yang sebenarnya. Hasil

perbandingan tersebut dikembalikan ke dalam jaringan dan

bobotnya disesuaikan berdasarkan suatu algoritma learning.

b. Unsupervised learning

Pertama kali dikembangkan oleh Kohonen (1984) dan

dianggap lebih mendekati konsep otak manusia. Pada unsupervised

learning tidak diperlukan target keluaran. Himpunan training hanya

terdiri dari vektor-vektor masukan tanpa pasangan keluaran.

Vektor-vektor yang mirip akan menghasilkan pola keluaran yang

sama sehingga proses learning akan menghasilkan sifat-sifat

Page 19: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

27

statistik dalam bentuk pengelompokan vektor-vektor ke dalam

kelas-kelas. Sebagian besar algoritma learning saat ini

dikembangkan berdasarkan atas konsep Hebbian Learning dari

Donald O.Hebb (1961).

8. Lingkungan luar (External Environment)

Lingkungan luar adalah suatu lingkungan yang berinteraksi dengan

jaringan. Lingkungan ini dapat memberi masukan untuk jaringan dan

menerima keluaran dari jaringan.

2.6.4 Backpropagation

Backpropagation adalah suatu model neural network yang sering dipakai

dalam proses pengenalan indentifikasi suatu pola. Backpropagation juga dapat

diistilahkan suatu prosesor yang melakukan pendistribusian secara besar-besaran,

yang memiliki kecenderungan alami untuk menyimpan suatu pengenalan yang

pernah dialaminya, dengan kata lain neural network ini memiliki kemampuan

untuk dapat melakukan pembelajaran dan pendeteksian terhadap sesuatu objek.

Secara mendasar, sistem pembelajaran merupakan proses penambahan

pengetahuan pada neural network yang sifatnya kontinuitas sehingga pada saat

digunakan pengetahuan tersebut akan dieksploitasikan secara maksimal dalam

mengenali suatu objek. Dalam proses pembelajaran tersebut akan dihitung nilai-

nilai weight dari suatu neuron didalam suatu layer yang terhubung dengan neuron

lainnya di layer selanjutnya, nilai weight tersebut digunakan untuk menyesuaikan

Page 20: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

28

nilai output dengan nilai target yang ingin dikenali. Neuron adalah bagian dasar

dari pemrosesan suatu neural network. Dibawah ini merupakan bentuk dasar dari

suatu neuron.

Gambar 2.7 Bentuk dasar neuron

Input merupakan masukan yang digunakan baik saat pembelajaran maupun

dalam mengenali suatu objek.

Weight, beban yang selalu berubah setiap kali diberikan input sebagai proses

pembelajaran.

Processing Unit merupakan tempat berlangsungnya proses pengenalan suatu

objek berdasarkan pembebanan yang diberikan.

Output, keluaran dari hasil pengenalan suatu objek.

Keuntungan penggunaan backpropagation neural network :

Perangkat yang mampu untuk mengenali suatu objek secara non-linier.

Mempermudah pemetaan input menjadi suatu hasil tanpa mengetahui proses

sebenarnya.

Mampu melakukan pengadaptasian terhadap pengenalan suatu objek

Perangkat yang memiliki toleransi terhadap suatu kesalahan dalam pengenalan

suatu objek.

Page 21: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

29

Neural Network mampu diimplementasikan pada suatu Hardware atau

perangkat keras.

Perangkat yang mampu diimplementasikan secara parallel.

a. Arsitektur Jaringan Backpropagation

Bentuk dasar arsitektur suatu Backpropagation adalah sebagai berikut :

Gambar 2.8 Arsitektur dasar Backpropagation

Secara umum, terdapat tiga jenis neural network yang sering digunakan

berdasarkan jenis network-nya, yaitu :

Single-Layer Neural Network

Multilayer Perceptron Neural Network

Recurrent Neural Networks

• Single-Layer Neural Network

Neural network jenis ini memiliki koneksi pada inputnya secara langsung

ke jaringan output.

Page 22: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

30

Gambar 2.9 Single-Layer Neural Netwok

Jenis neural network ini sangatlah terbatas, hanya digunakan pada kasus - kasus

yang sederhana.

• Multilayer Perceptron Neural Network

Jenis neural network ini memiliki layer yang dinamakan “hidden”,

ditengah layer input dan output. Hidden ini bersifat variable, dapat digunakan

lebih dari satu hidden layer. Jumlah input layer dan output layer yang digunakan

ditentukan berdasarkan dari masalah yang sedang dihadapi. Sedangkan untuk

jumlah hidden layer biasanya hanya digunakan 1 buah, namun dibeberapa kasus

dapat pula tidak digunakan hidden layer karena biasanya jumlah hidden layer

yang banyak dapat memperlambat proses pembelajaran.

(http://www.research.ibm.com/able/doc/reference/com/ibm/able/beans/doc-

files/BackPropagation.html).

Page 23: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

31

Gambar 2.10 Multilayer Perceptron Neural Network

• Recurrent Neural Networks

Neural network jenis ini memiliki ciri, yaitu adanya koneksi umpan balik

dari output ke input.

Gambar 2.11 Recurrent Neural Networks

Kelemahan dari jenis ini adalah Time Delay akibat proses umpan balik

dari output ke titik input.

b. Perhitungan Metode Backpropagation

Page 24: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

32

Dalam metode Backpropagation terdapat 3 buah tahap perhitungan yang

digunakan dalam proses sistem pembelajaran (training) untuk mendapatkan nilai-

nilai weight yang sesuai. Ketiga tahap perhitungan tersebut adalah :

1. Forward Propagation

2. Backward Propagation

3. Update Weight

1) Forward Propagation

Forward Propagation bertujuan untuk menentukan nilai output dari suatu

node atau neuron dalam hidden layer dan output layer. Rumus perhitungannya

adalah sebagai berikut :

acceOutput −+

=1

1 (2.3)

Sedangkan Acc merupakan bilangan Accumulator, yaitu jumlah perkalian

dari weight hidden layer dengan output dari input layer atau dari weight output

layer dengan output dari hidden layer.

ii OutWeightAcc ∑ ×= j (2.4)

2) Backward Propagation

Inti dari backward propagation adalah untuk mencari Error suatu Node.

Dari hasil forward propagation pastilah akan dihasilkan suatu Output, dari output

tersebut, pastilah tidak sesuai target yang kita inginkan, maka dari itu,

perbandingan kesalahan dari target yang kita inginkan dengan output yang

dihasilkan tersebut kita sebut dengan Error.

Page 25: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

33

Dalam Backward Propagation juga dikenal dengan yang disebut

Inisialisasi output. Inisialisasi Output pada dasarnya adalah menentukan error di

suatu node dengan sebuah target yang diinginkan. Untuk mencari error di output

layer dapat menggunakan rumus :

(2.5)

Untuk mencari error di tahap selanjutnya :

AccOutputOutputError *)1( −×= (2.6) Untuk mencari Acc dapat menggunakan rumus :

ji ErrorWeightAcc ∑ ×= j (2.7) 3) Update Weight

Inti dari Backpropagation adalah mencari nilai weight yang sesuai dari

input yang dimasukkan menjadi output yang diinginkan. Nilai weight ini nantinya

akan didapatkan setelah mendapatkan output dan error dari setiap node. Rumus

untuk mencari nilai weight baru adalah :

(2.8)

Alpha di atas dapat diartikan sebagai tahap belajar suatu sistem, semakin

tinggi nilainya, maka semakin tinggi kecepatan belajarnya, namun dengan

demikian akan berdampak kurang baik, karena akan mendapatkan error yang

tidak merata.

Sehingga dengan demikian, lebih baik kita menggunakan Alpha yang

kecil, walaupun tahap belajarnya lambat, tetapi hasil keakuratannya tinggi.

Page 26: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

34

2.7 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah bahasa visual

modeling yang digunakan untuk menentukan, memberi gambaran, gagasan

dan dokumentasi dari sebuah sistem software, juga untuk mengambil

keputusan dan mengerti mengenai sistem yang akan dibangun. Digunakan

agar sistem yang dibuat dapat dimengerti, dirancang, dibentuk, dipelihara,

dan dikontrol informasinya (Booch et. al., 1999, p3).

Unified Modelling Language (UML) merupakan suatu bahasa

untuk memvisualisasikan, menspesifikasi, mengkonstruksikan dan

mendokumentasikan artifacts dari suatu sistem software. UML

menyediakan standard yang dapat digunakan untuk mendokumentasikan

blueprint dari sistem yang akan dibuat yang mencakup conceptual items

yang meliputi proses bisnis dan fungsi-fungsi sistem seperti bahasa,

schema database dan komponen-komponen software. UML digunakan

mengekspresikan model-model dari sistem yang akan dibuat dan tidak

mengajarkan bagaimana cara mengembangkan suatu software.

2.7.1 Use Case Diagram

Use case diagram menjelaskan apa yang akan dilakukan oleh

sistem yang akan dibangun dan siapa yang berinteraksi dengan sistem.

Use case diagram menjadi dokumen kesepakatan antara user dan

developer. User menggunakan dokumen Use case diagram ini untuk

memahami sistem dan mengevaluasi bahwa benar yang dilakukan sistem

adalah untuk memecahkan masalah yang user ajukan atau sedang hadapi.

Page 27: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

35

Developer menggunakan dokumen Use Case diagram ini sebagai rujukan

yang benar dalam pengembangan sistem (Hermawan, 2004, p23-24).

Use case diagram mengilustrasikan sekumpulan use case, actor

dan interaksi antara actor dan use case dalam suatu sistem boundary

(Booch et. al., 1999, p63-66).

1. Use Case

Use case adalah urutan event dari actor dalam memakai suatu

sistem untuk menyelesaikan suatu proses (Bennett, 2002, p134-135).

Use case menggambarkan suatu proses bisnis yang meliputi urutan

event, action dan transaksi yang dibutuhkan untuk memproduksi atau

menghasilkan informasi yang berguna bagi actor.

UseCase1

Gambar 2.12 Notasi Use Case

2. Actor

Actor adalah suatu external entity dari suatu sistem yang

berinteraksi dengan use case (Bennett, 2002, p135). Actor adalah

penggambaran seorang user atau sistem lain yang berhubungan dengan

suatu sistem.

Page 28: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

36

Actor1

Gambar 2.13 Notasi Actor

3. Dependency

Dependency merupakan relasi yang menunjukkan bahwa

perubahan pada salah satu elemen memberi pengaruh pada elemen

yang lain (Hermawan, 2004, p20). Terdapat dua bentuk dari

dependency, yaitu :

a. Extend

Extend menunjukkan bahwa suatu bagian dari

elemen di garis tanpa panah dapat disisipkan ke dalam

elemen yang ada di garis dengan panah. Misalnya adalah

notasi A B suatu fungsi dari use case A bisa disisipkan

ke dalam use case B atau dengan kata lain A optional untuk

B (Hermawan, 2004, p20).

b. Include

Include menunjukkan bahwa suatu bagian dari

elemen (yang ada di garis tanpa panah) memicu eksekusi

bagian dari elemen lain (yang ada di garis dengan panah).

Misalnya adalah notasi A B operasi yang ada di class A

memicu dieksekusinya operasi yang ada di class B

(Hermawan, 2004, p20).

Page 29: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

37

4. System Boundary

System Boundary adalah sebagai ruang lingkup batasan yang

dibahas dalam sistem.

System

Gambar 2.14 Notasi System Boundary

Gambar 2.15 Contoh Use Case Diagram

2.7.2 Class Diagram

Class diagram adalah penggambaran struktur relasi antara class-

class dan object-object dalam suatu model (Mathiassen, 2000, pp69-70).

1. Class

Class merupakan pembentuk utama dari sistem berorientasi

object yang digambarkan dalam bentuk segi empat yang terbagi-bagi

menjadi tiga bagian, dimana bagian paling atas merupakan nama dari

Page 30: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

38

class, bagian tengah berisi attribute dari class, dan bagian bawah

berisi behavior dari class (Booch et. al., 1999, pp42-45). Class

menunjukkan kumpulan object yang memiliki attribute dan

operation yang sama. Object adalah sebuah entitas yang mempunyai

identity, state, dan behavior (Mathiassen, 2000, p4). Class adalah

sekumpulan object yang memiliki behavior, attribute, dan method

yang sama (Mathiassen, 2000, p53). Attribute adalah suatu isi yang

mendeskripsikan sebuah class atau event. Method adalah suatu

tindakan yang dapat mengubah status dari suatu object.

Class digunakan untuk mengabstraksikan elemen-elemen

dari sistem yang sedang dibangun. Class juga dapat digunakan untuk

merepresentasikan baik perangkat lunak maupun perangkat keras,

baik konsep maupun benda nyata (Hermawan, 2004, p14).

+MengikutiUjian()

-Nim : String-Nama : String-Alamat : String-TglLahir : Date

Mahasiswa

Gambar 2.16 Notasi Class

2. Multiplicity

Multiplicity dinotasikan dengan menambahkan teks 1, *, 0..1,

0..*, 1..1, 1..* atau bilangan tertentu, di masing-masing ujung garis

association. Misalnya terdapat hubungan sebagai berikut :

Page 31: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

39

OrangTua Anak1 0..*

Gambar 2.17 Notasi Multiplicity pada Class

Cara membacanya adalah bahwa untuk setiap object Anak

harus berhubungan dengan 1 object Orang tua dan untuk object

Orang tua dapat berhubungan dengan banyak object Anak atau

tidak sama sekali.

3. Relationship

Relationship adalah hubungan yang terdapat di antara class-

class (Booch et. al., 1999, pp45-52), yang dapat digambarkan dalam

bentuk :

a. Association

Assosiation menjelaskan hubungan antara object-object

yang berlainan dalam suatu sistem. Bentuk yang paling umum

dari association adalah binary association yang

menghubungkan pasangan class. Instance dari suatu

association adalah link.

-End1

*

-End2

*

Gambar 2.18 Notasi Association

Page 32: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

40

b. Generalization

Generalization adalah hubungan antara class yang

mempunyai deskripsi lebih umum dengan class yang

mempunyai deskripsi yang lebih spesifik. Generalization

memungkinkan operasi polymorphic dan inheritance.

Gambar 2.19 Notasi Generalization

c. Aggregation

Aggregation adalah suatu association yang

mewakili hubungan ‘bagian dari’. Hubungan ini

ditunjukkan dalam bentuk belah ketupat yang bagian

tengahnya berlubang yang terhubung dari class yang

merupakan bagian dari ke class yang merupakan class

aggregate.

-End5

*

-End6

*

Gambar 2.20 Notasi Aggregation

d. Composition

Composition merupakan suatu association dimana

hubungan yang terjalin antara class-class lebih erat.

Hubungan ini ditunjukkan dalam bentuk belah ketupat yang

bagian tengahnya berisi.

Page 33: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

41

-End3

*

-End4

*

Gambar 2.21 Notasi Composition

Menurut Mathiassen (2000, p72), hubungan antar class terdiri dari

tiga jenis hubungan yaitu :

a. Generalization

Generalization adalah class induk atau superclass yang

menggambarkan property yang sama dari class anak atau subclass.

Kain

Katun Wool Sutra

Gambar 2.22 Class Diagram Dengan Hubungan Generalization

b. Aggregation

Aggregation adalah class induk (superclass) terdiri dari

beberapa class lainnya atau hubungan terdiri dari.

Kain

Benang Motif Warna

1

1

1

1

1

1

Gambar 2.23 Class Diagram Dengan Hubungan Aggregation

Page 34: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

42

c. Association

Association adalah hubungan erat antara dua class yang

dihubungkan oleh sebuah event. Event adalah peristiwa yang

terjadi, yang melibatkan satu atau lebih object.

Pembeli

Kain

1

1

Gambar 2.24 Class Diagram Dengan Hubungan Association

Gambar 2.25 Contoh Class Diagram

2.7.3 Sequence Diagram

Menurut Larman (2004, p176), System sequence diagram

merupakan gambar yang menunjukkan, untuk suatu skenario khusus dari

sebuah use case, event yang di-generate oleh external actor, urutan nya,

dan event didalam sistem. Semua sistem diperlakukan sebagai black box;

Page 35: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

43

penekanan pada diagramnya adalah events yang berlangsung pada system

boundary dari actors ke sistem.

Use case mengambarkan bagaimana aktor berinteraksi dengan

sistem software yang telah diciptakan. Selama interaksi ini, aktor meng-

generate system events ke sistem, biasanya meminta beberapa system

operation untuk meng-handle event.

Sequence diagram menjelaskan secara detil urutan proses yang

dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi

yang terjadi antar class, operasi apa saja yang terlibat, urutan antar

operasi, dan informasi yang diperlukan oleh masing-masing operasi

(Hermawan, 2004, p24).

Object1

Gambar 2.26 Notasi Obejct Lifeline dan Activation

Gambar 2.27 Contoh Sequence Diagram

Page 36: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

44

2.8 Perancangan Program Aplikasi Komputer

Sebuah teknologi yang meliputi sebuah proses, serangkaian metode, dan

seperangkat alat.

Karakteristik Perangkat Lunak:

• Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang

klasik

• Perangkat lunak tidak pernah usang.

• Sebagian besar perangkat lunak dibuat secara custom-build, serta tidak dapat

dirakit dari komponen yang sudah ada.

Elemen – elemen Perangkat Lunak:

a. Proses

Proses-proses membatasi kerangka kerja untuk serangkaian area proses kunci

yang harus dibangun demi keefektifan penyampaian teknologi pengembangan

perangkat lunak.

b. Metode

Metode-metode rekayasa perangkat lunak memberikan teknik untuk

membangun perangkat lunak. Metode-metode itu menyangkut serangkaian

tugas yang luas yang menyangkut analisis kebutuhan, konstruksi program,

desain, pengujian dan pemeliharaan.

c. Alat Bantu

Tool-tool rekayasa perangkat lunak memberikan topangan yang otomatis

ataupun semi otomatis pada proses-proses dan metode-metode yang ada. Ketika

tool-tool diintegrasikan sehingga informasi yang diciptakan oleh satu tool bisa

Page 37: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

45

digunakan oleh yang lain, sistem untuk menopang perkembangan perangkat lunak

disebut Computer-Aided Software Engineering (CASE).

Model proses yang dipergunakan dalam penulisan skripsi ini adalah model

sekuensial linier. Model ini biasa disebut juga model “air terjun” (waterfall).

Model ini mengusulkan sebuah pendekatan kepada perkembangan perangkat

lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan

sistem pada seluruh perancangan sistem, analisis, desain, kode, pengujian dan

pemeliharaan.

Urutan kerjanya disajikan dalam gambar dibawah:

Gambar 2.31 Daur hidup rekayasa software (Waterfall Model)

Page 38: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

46

1. Perancangan Sistem

Merupakan langkah awal yang diambil. Dalam prosesnya terjadi

persiapan untuk persyaratan sistem yang akan berjalan.

Dipertimbangkan lebih lanjut jenis interface-nya, hardware-nya,

brainware-nya, dan basis datanya.

2. Analisis

Proses pengumpulan kebutuhan diintensifkan dan difokuskan,

khususnya pada perangkat lunak. Kebutuhan baik untuk sistem

maupun perangkat lunak didokumentasikan dan dilihat lagi dengan

pelanggan.

3. Desain

Proses desain menerjemahkan syarat/kebutuhan ke dalam sebuah

representasi perangkat lunak yang dapat riperkirakan demi kualitas

sebelum dimulai pemunculan kode.

4. Pengkodean dan Pengembangan

Desain harus dapat diterjemahkan ke dalam bentuk bahasa mesin yang

bisa dibaca.

5. Implementasi dan Pengujian

Sekali kode dibuat, pengujian program dimulai. Proses pengujian

berfokus pada logika internal perangkat lunak, memastikan bahwa

semua pernyataan sudah diuji, dan pada eksternal fungsional yaitu

mengarahkan pengujian untuk menemukan kesalahan-kesalayan dan

Page 39: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

47

memastikan bahwa input yang dibatasi akan memebrikan hasil aktual

yang sesuai dengan hasil yang dibutuhkan.

6. Pemeliharaan

Perangkat lunak akan mengalami perubahan setelah disampaikan

kepada pelanggan. Pemeliharaan perangkat lunak mengaplikasikan

lagi setiap fase program sebelumnya dan tidak membuat yang baru

lagi.

2.9 Teori State Transition Diagram (STD)

Menurut Roger Pressman (2001, p317) State Transition Diagram

merupakan sebuah modelling tool yang digunakan untuk mendeskripsikan sistem

yang memiliki ketergantungan terhadap waktu STD merupakan suatu kumpulan

keadaan atau atribut yang mencirikan suatu keadaan pada waktu

tertentu.Komponen-komponen utama STD adalah :

1. State, disimbolkan dengan

Gambar 2.32 Notasi State

State merepresentasikan reaksi yang ditampilkan ketika suatu tindakan

dilakukan. Ada dua jenis state yaitu : state awal dan state akhir. State akhir dapat

berupa beberapa state, sedangkan state awal tidak boleh lebih dari satu.

2. Arrow, disimbolkan dengan

Gambar 2.33 Notasi Arrow

Page 40: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

48

Arrow sering disebut juga dengan transisi state yang diberi label dengan

ekspresi aturan, label tersebut menunjukkan kejadian yang menyebabkan transisi

terjadi.

3. Condition dan Action, disimbolkan dengan

Gambar 2.34 Notasi Condition dan Action

Untuk melengkapi STD diperlukan 2 hal lagi yaitu condition dan action.

Condition adalah suatu event pada lingkungan eksternal yang dapat dideteksi oleh

sistem, sedangkan Action adalah yang dilakukan oleh sistem bila terjadi

perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan

keluaran atau tampilan.

2.10 Borland Delphi

Delphi adalah sebuah bahasa pemrograman dan lingkungan

pengembangan perangkat lunak. Produk ini dikembangkan oleh Borland

(sebelumnya dikenal sebagai Inprise). Bahasa Delphi, yang sebelumnya dikenal

sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi objek

(PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun

saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan

Microsoft .NET framework (lihat di bawah). Dengan menggunakan Free Pascal

yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk

membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE

Page 41: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

49

Pada tanggal 8 Februari 2006, Borland mengumumkan akan melepas

seluruh jajaran produk pengembangan aplikasi komputernya termasuk di

antaranya Delphi.

2.10.1 Lingkungan pengembangan

Umumnya delphi lebih banyak digunakan untuk pengembangan aplikasi

desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan

yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis

proyek pengembangan software. Ia juga yang dikenal sebagai salah satu yang

membawa istilah RAD tool, kepanjangan dari Rapid Application Development,

saat dirilis tahun 1995 untuk windows 16-bit. Delphi 2, dirilis setahun kemudian,

mendukung lingkungan windows 32-bit, dan versi c++, C++Builder, dirilis

beberapa tahun kemudian. Pada tahun 2001 sebuah versi linux yang dikenal

sebagai Kylix tersedia. Dengan satu rilis baru setiap tahunnya, pada tahun 2002

dukungan untuk Linux (melalui Kylix dan CLX component library) ditambahkan

dan tahun 2003 .NET mulai didukung dengan munculnya Delphi.Net (Delphi 8).

Chief Architect yang membidani Delphi, dan pendahulunya Turbo Pascal,

adalah Anders Hejlsberg sampai kemudian ia pindah ke Microsoft tahun 1996 di

mana ia sebagai chief designer C# dan termasuk orang kunci dalam perancangan

Microsoft .Net Framework. Dukungan penuh untuk .Net ditambahkan pada

Delphi 8 (dirilis pada bulan Desember 2003) dengan penampilan user interface

(look and feel) mirip dengan Microsoft Visual Studio .NET.

Page 42: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

50

Delphi 2005 (nama lain dari Delphi 9) mendukung code generation baik

untuk win32 maupun .NET, dan seperti yang telah dikenal, fitur-fitur manipulasi

data secara live dari database secara design-time. Ia juga membawa banyak

pembaruan pada IDE secara signifikan. Para penganjur delphi mengklaim dengan

bahasa pemrograman Delphi, IDE dan component library (VCL/CLX) yang

disediakan oleh vendor tunggal memungkinkan satu paket yang lebih konsisten

dan mudah dikenali. Produk delphi ini didistribusikan dalam beberapa rancangan:

Personal, Professional, Enterprise (sebelumnya Client/Server) dan Architect.

2.10.2 Bahasa pemrograman

Perbedaan fitur yang utama antara Delphi, Kylix dengan IDE-IDE yang

lain adalah keberadaan bahasanya (Bahasa pemrograman delphi), VCL/CLX

(Visual Component Library), Penekanan konektifitas database yang sangat baik,

dan banyaknya komponen-komponen pihak ketiga yang mendukungnya.

Aspek penting yang perlu dicatat tentang Bahasa pemrograman Delphi

termasuk:

• Penanganan object sebagai reference / pointer secara transparan

• Properti sebagai bagian dari bahasa tersebut; benar, sebagai getter dan setter

(atau accessor and mutator), yang secara transparan mengenkapsulasi akses

pada field-field anggota dalam kelas tersebut.

• Property index dan Default yang menyediakan akses pada data kolektif

• Pendelegasian (type safe method pointer) yang digunakan untuk memproses

event yang dipicu oleh component

• Pendelegasian implementasi interface pada Field ataupun property dari class.

Page 43: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

51

• Implementasi penanganan windows message dengan cara membuat method

dalam class dengan nomer/nama dari windows message yang akan dihandle.

• COM bersifat sebagai interface yang independen dengan implementasi class

sebagai reference counted

• Kompilasi yang dapat menghasilkan kode yang berjalan secara native x86

ataupun managed code pada arsitektur framework .NET.

2.10.3 Pro and kontra

Delphi membawa keuntungan-keuntungan berikut:

• Dapat mengkompilasi menjadi single executable, memudahkan distribusi

dan meminimalisir masalah yang terkait dengan versioning

• Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia

berikut source codenya) ataupun tools pendukung lainnya (dokumentasi,

tool debugging)

• Optimasi kompiler yang cukup cepat

• Mendukung multiple platform dari source code yang sama

Berikut ini kerugiannya:

• Partial single vendor lock-in (Borland dapat menetapkan standar bahasa,

kompatibilitas yang harus mengikutinya)

• Terbatasnya kamampuan portabilitas antar-platform OS

• Akses pada platform dan library pihak ketiga membutuhkan file-file

header yang diterjemahkan ke dalam bahasa pascal

Page 44: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

52

• Dokumentasi atas platform dan tehnik-tehnik yang menyertainya sulit

ditemukan dalam bahasa pascal (contoh akses COM dan Win32)

2.11 Basis Data (Database)

Menurut Turban (2001, p17), “Data are raw facts or elementary

descriptions of things, events, activities, and transactions, that are captured,

recorded, stored, and classified, but not organized to convey any specific

meaning”, yang artinya Data adalah fakta atau gambaran dasar benda, kejadian,

kegiatan, dan transaksi, yang ditangkap, dicatat, disimpan, dan dikelompokkan,

tetapi tidak diatur untuk menyampaikan arti khusus.

Menurut Connolly dan Begg (2002, p14), “Database a shared collection

of logically related data, designed to meet the information needs of an

organization”, yang artinya Database adalah suatu kumpulan data yang

berhubungan secara logik, dan gambaran dari data ini didesain untuk memenuhi

kebutuhan dari sebuah organisasi.

Menurut O’Brien (1997, p166), “Database is an integrated collection of

logically related record of file”’, yang artinya bahwa Database merupakan suatu

koleksi yang terintegrasi dimana secara logika berhubungan dengan record dari

file.

Database dapat diartikan sebagai kumpulan dari data-data yang saling

berhubungan dan disimpan bersama-sama serta mempunyai kelebihan yaitu dapat

melayani satu atau lebih aplikasi secara optimal. Bagian terkecil dari database

yang mempunyai arti bagi tiap pengguna disebut data. Kumpulan dari data disebut

Page 45: Bab 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00060-if_bab 2.pdf10 kendaraan tersebut sudah memiliki 'izin' untuk beroperasi di jalan raya umum, atau

53

field, kumpulan dari field disebut record, kumpulan dari record disebut file,

sedangkan kumpulan dari file disebut database.

Adapun tujuan utama dari konsep database adalah meminimumkan

pengulangan dan mencapai independensi data. Independensi data adalah

kemampuan untuk membuat perubahan dalam struktur data tanpa membuat

perubahan pada program yang memproses data. Independensi data dapat dicapai

dengan menempatkan spesifikasi dalam tabel dan kamus yang terpisah secara

fisik dari program. Program mengacu pada tabel yang mengakses data. Perubahan

pada struktur data hanya dilakukan sekali, yaitu dalam tabel.

Saat instansi mengadopsi konsep database , hirarki data menjadi :

Database

• File

Record

• Elemen data

File-file tersendiri dapat tetap ada, mewakili komponen-komponen utama

dari database , namun organisasi fisik dari data tidak menghambat pemakai.