• Tidak ada hasil yang ditemukan

Implementasi metode local binary pattern dalam ekstrasi citra & metode euclidean distance dalam identifikasi pada ruas jari tangan

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi metode local binary pattern dalam ekstrasi citra & metode euclidean distance dalam identifikasi pada ruas jari tangan"

Copied!
89
0
0

Teks penuh

(1)

1

1.1 Latar Belakang Masalah

(2)

Pada penjelasan tersebut, maka atas dasar masalah yang terjadi pada penelitian ini akan dibangun sebuah sistem yang mampu mengidentifikasi di bidang biometrik pada ruas jari tangan menggunakan metode Euclidean Distance dengan dibantu dengan metode ekstraksi citra Local Binary Pattern (LBP) . LBP memiliki keunggulan dalam proses komputasinya yang cepat [4], dan tingkat keakuratan yang tinggi dalam pengenalan obyek [2]. Sebagaimana yang dikuatkan oleh fakta dari kutipan M. Pietikainen [5]LBP has become popular in various object detection and tracking tasks”.

Pada penelitian implementasi metode Euclidean Distance dengan dibantu dengan metode ekstraksi Local Binary Pattern (LBP) ini aplikasi dapat berguna dalam mendeteksi di bidang biometrik pada ruas jari tangan, sehingga memudahkan dalam mengidentifikasi jari tangan terutama secara keakuratan yang tinggi, komputasi yang cepat dan tentu saja performansi yang baik & bagus dalam proses kerjanya.

1.2 Rumusan Masalah

Pada perancangan dan implementasi suatu metode, diperlukan melihat akar permasalahan yang timbul dari sistem yang telah ada dan juga dari data yang akan dikumpulkan untuk merancang suatu aplikasi.

Berdasarkan latar belakang masalah dan apa yang telah diuraikan di atas, maka dapat diidentifikasikan masalah – masalah yang ada, yaitu bagaimana proses kerja dari metode ekstraksi citra Local Binary Pattern (LBP) dalam membantu mengidentifikasi biometrik ruas jari tangan yang menggunakan metode Euclidean Distance, dan juga bagaimana sistem yang akan dibangun agar sesuai dengan planning yang diinginkan, termasukhasil dari aplikasi yang akan dibuat dalam hal keakuratan dan performansinya.

1.3 Maksud dan Tujuan

(3)

mengidentifikasi ruas jari tangan menggunakan metode Euclidean Distance. Adapun tujuan yang ingin dicapai dalam penelitian ini, yaitu :

1. Mengimplementasikan metode Local Binary Pattern dan metode Euclidean Distance pada aplikasi identifikasi ruas jari tangan, sehingga mempermudah dalam pengenalan ruas jari tangan.

2. Mencari nilai parameter LBP terbaik dalam proses ekstraksi ciri citra untuk menemukan hasil performansi sistem yang berjalan baik dan akurat.

3. Menemukan hasil pengujian keakurasian sistem untuk dianalisa.

1.4 Batasan Masalah

Dalam penelitian implementasi metode ekstraksi citra LBP dan Euclidean Distance ini dibuat sebuah batasan masalah agar penelitian dapat dilakukan lebih terarah sesuai dengan tujuan yang diharapkan dari penelitian ini. Adapun batasan-batasan masalah tersebut diantaranya adalah :

1. Citra yang akan dideteksi adalah pada bagian ruas punggung jari tangan. 2. Citra ruas jari tangan yang akan dideteksi adalah foto gambar 3 jari yang

terdiri dari jari telunjuk, tengah dan manis yang tidak terhalangi oleh objek lain.

3. Menggunakan metode LBP dalam proses ekstraksi citra.

4. Menggunakan metode Euclidean Distance dalam proses identifikasi citra. 5. Gambar citra yang dapat diproses hanya beresolusi 480 x 640 pixel dan 8

bit.

6. Sistemnya merupakan berbasis aplikasi desktop.

1.5 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penelitian ini adalah mengarah pada hasil penelitian dengan tujuan yang ingin dicapai, dengan mengolah berbagai data dan informasi yang diperoleh.

(4)

menggambarkan objek yang diteliti, dengan cara mencari, mengumpulkan, dan menganalisis data yang diperoleh.

1.5.1 Metode Pengumpulan Data

Tahapan pengumpulan data yang digunakan dalam penelitian ini, yaitu studi literatur. Studi literatur dilakukan untuk mendapatkan pengetahuan tentang metode dan sistem yang akan dibuat dalam proses penelitian yang akan berjalan nantinya. Studi literatur juga diperlukan untuk mendapatkan informasi penelitian-penelitian sebelumnya tentang metode dan sistem yang telah diterapkan.

1.5.2 Metode Pembangunan Perangkat Lunak

Metode yang digunakan untuk pembangunan perangkat lunak dalam penelitian ini yaitu menggunakan linear sequential model atau sering disebut juga dengan waterfall model. Model ini adalah model klasik yang melakukan pendekatan secara sistematis, berurutan dalam membangun software karena melalui turunan dari satu fase ke fase yang lainnya. Tahap-tahap utama dari model ini menurut [6], yaitu : a. Analisis dan definisi persyaratan

Perencanaan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem. Dan tahap perencanaan yang dilakukan adalah dengan pemodelan menggunakan metode pemrograman berorientasi objek dengan Tool Unified Modeling Language (UML), dan menerapkan metode Local Binary Pattern (LBP) & Euclidean Distancepada aplikasi biometrik jari tangan.

b. Perancangan sistem dan perangkat lunak

(5)

c. Implementasi dan pengujian unit

Pada tahap ini, setelah tahap perancangan sistem selanjutnya dilakukan konversi rancangan sistem ke dalam kode-kode bahasa pemrograman yang digunakan yaitu C#.

d. Integrasi dan pengujian sistem

Unit program atau program individual diintegrasikan dan pengujian aplikasi dilakukan untuk memastikan keakuratan dan performansi dalam pengidentifikasi biometrik ruas jari tangan sesuai dengan persyaratan dan desainnya. Setelah pengujian sistem, perangkat lunak dikirim kepada target user. e. Operasi dan pemeliharaan

Biasanya (walaupun tidak seharusnya), ini merupakan fase siklus hidup yang paling lama. Sistem diinstall dan dipakai. Pemeliharaan mencakup koreksi dari berbagai error yang tidak ditemukan pada tahap-tahap terdahulu, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan-persyaratan baru ditambahkan.

(6)

1.6 Sistematika Penulisan

Sistematika penulisan laporan skripsi penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan laporan skripsi ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini berisi penjelasan mengenai sub-sub latar belakang masalah penelitian, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi penjelasan teori-teori mengenai penelitian yang dikerjakan. Terdiri dari sub-sub teori-teori umum ,yaitu Computer vision, Teori dasar citra digital, Pengolahan citra digital, Biometrik, Ruas jari tangan, OOP, dan sub-sub teori-teori khusus, yaitu Local Binary Pattern, Histogram equalization, Euclidean distance.

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA

Membahas mengenai analisis dan kebutuhan algoritma pada aplikasi identifikasi biometrik ruas jari tangan, analisis masalah dan analisis bagaimana penerapan algoritma local binary patterns & Euclidean Distance pada perangkat lunak yang akan dibangun. Dalam tugas akhir ini analisis dan kebutuhan perangkat lunak dibangun dengan konsep Object Oriented Programming (OOP).

.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

(7)

BAB 5 KESIMPULAN DAN SARAN

(8)
(9)

9

2.1 Teori-teori Umum

Teori-teori umum yang berkaitan dengan topik penelitian ini adalah tentang Computer Vision, Teori dasar citra digital, Pengolahan citra digital, Biometrik, Ruas jari tangan, OOP dan lain-lain.

2.1.1 Computer Vision

Computer Vision merupakan bidang yang berkembang pesat dikhususkan untuk menganalisa, memodifikasi, dan pemahaman gambar tingkat tinggi. Tujuannya adalah untuk menentukan apa yang terjadi di depan kamera dan menggunakan pemahaman tersebut untuk mengendalikan komputer, sistem robot, atau untuk memberikan citra baru yang lebih informatif dari pada gambar kamera asli. Aplikasi area untuk komputer visi teknologi termasuk video surveillance, biometrik, otomotif, fotografi, produksi film, pencarian web, obat-obatan, game augmented reality, antarmuka pengguna yang baru, dan banyak lagi [7].

2.1.2 Teori Dasar Citra Digital

Dalam bidang pengolahan citra (image processing), citra yang diolah adalah citra digital, yaitu citra kontinu yang telah diubah ke dalam bentuk diskrit, baik koordinat ruangnya maupun intensitas (kecerahan) cahayanya melalui proses sampling dan kuantisasi [8]. Citra dapat diartikan sebagai suatu fungsi kontinu dari intensitas cahaya (x,y) dalam bidang dua dimensi, dengan (x,y) menyatakan suatu koordinat spasial dan nilai f pada setiap titik (x,y) menyatakan intensitas atau tingkat kecerahan atau derajat keabuan (brightness/gray level).

Piksel (0,0) terletak pada sudut kiri atas pada citra, indeks x bergerak ke kanan dan indeks y bergerak ke bawah. Secara matematis persamaan untuk fungsi intensitas f(x,y) adalah:

(10)

Misalkan ƒ merupakan sebuah citra digital 2 dimensi berukuran MxN. Maka representasi ƒ dalam sebuah matriks dapat dilihat pada gambar berikut :

Gambar 2.1 Matriks Citra Digital

2.1.2.1 Citra RGB

RGB merupakan model warna yang terdiri dari merah (Red), hijau (Green), dan biru (Blue) yang digabungkan dan membentuk suatu susunan warna yang luas. Setiap warna dasar memiliki rentang nilai antara 0 smpai 255 [9].

2.1.2.2 Citra Grayscale

Grayscale adalah warna-warna piksel yang berada dalam rentang gradasi

warna hitam dan putih. Intensitas grayscale biasanya disimpan sebagai data citra 8 bit atau 256 intensitas warna gray dari nilai 0 (hitam) dan 255 (putih) [9]. Citra abu-abu dapat dihasilkan dari citra warna RGB dengan mengalikan ketiga komponen warna pokok merah, hijau, dan biru dengan suatu koefisien yang jumlahnya satu (a+b+c = 1).

Gray[x,y] = 0.3*R + 0.59*G + 0.11*B = ... (2.2)

2.1.2.3 Citra Biner

(11)

2.1.3 Pengolahan Citra Digital

Pengolahan citra digital bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer. Pengolahan citra digital dapat dikelompokkan dalam dua jenis kegiatan:

1) Memperbaiki kualitas suatu gambar, sehingga dapat lebih mudah diinterpretasi oleh mata manusia.

2) Mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis.

Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi [9].

2.1.3.1 Akusisi Citra

Pengambilan data dapat dilakukan dengan menggunakan berbagai media seperti kamera analog, kamera digital, handycam, scanner, optical reader dan sebagainya.

2.1.3.2 Peningkatan Kualitas Citra

Pada tahap ini dikenal dengan pre-processing dimana dengan meningkatkan kualitas citra dapat meningkatkan kemungkinan dalam keberhasilan pada tahap pengolahan citra digital berikutnya.

2.1.3.3 Pemotongan Citra

Pemotongan citra (cropping) ialah mengambil sebagian dari citra yang akan diproses dengan membuang piksel yang tidak diperlukan.

2.1.3.4 Filter

(12)

2.1.4 Biometrik

Biometrik merupakan suatu ilmu yang menentukan identifikasi seseorang berdasarkan fisik, kimiawi atau tingkah laku suatu individu. Secara harfiah, biometrik atau biometrics berasal dari kata bio dan metrics. Bio berarti sesuatu yang hidup, dan metrics berarti mengukur. Biometrik berarti mengukur karakteristik pembeda (distinguishing traits) pada badan atau perilaku seseorang yang digunakan untuk melakukan pengenalan secara otomatis terhadap identitas orang tersebut, dengan membandingkannya dengan karakteristik yang sebelumnya telah disimpan dalam suatu database.

Tidak semua bagian tubuh atau perilaku seseorang dapat digunakan untuk biometrik. Ada tujuh faktor yang menentukan kesesuaian fisik atau tingkah laku dalam penerapan biometrik [10], yaitu :

1) Universality (universal), yaitu karakteristik yang dipilih harus dimiliki oleh setiap orang.

2) Uniqueness (keunikan), yaitu karakteristik yang dipilih memiliki sifat yang dapat membedakan antar individu.

3) Permanence (permanen), yaitu karakteristik yang dipilih tidak cepat berubah dalam periode waktu yang lama.

4) Measurabillity (ukuran), yaitu karakteristik yang dipilih mudah untuk diperoleh dan mudah untuk di ukur.

5) Performance (Unjuk kerja), yaitu karakteristik yang dipilih dapat memberikan unjuk kerja yang bagus baik dari segi akurasi maupun kecepatan.

6) Acceptability (dapat diterima), yaitu setiap orang dapat menerima karakteristik yang digunakan oleh sistem biometrika.

7) Circumvention (tidak mudah dikelabui), yaitu karakteristik yang dipilih tidak mudah ditiru dengan berbagai macam bentuk.

(13)

2.1.5 Ruas Jari Tangan

Permukaan ruas jari tangan dikenal sebagai permukaan punggung jari tangan, pada setiap manusia mempunyai ruas jari tangan dengan pola yang berbeda-beda. Pembentukan pola dari ruas jari tangan manusia sangat unik sejak manusia tersebut dilahirkan dan stabil terhadap perubahan kondisi fisik. Anatomi jari-jari kita memungkinkan ruas jari tangan untuk menekuk ke depan dan menahan gerak mundur. Hal ini menyebabkan pola kulit pada jari-buku jari tangan sangat kaya akan tekstur karena lipatan kulit, dan karenanya, dapat dianggap sebagai identifier biometrik khas dan memiliki tingkat kemanan yang tinggi jika digunakan dalam sistem autentikasi, keamanan dan lain-lain, walaupun belum banyak menarik perhatian para peneliti. Selain kaya fitur tekstur, ruas jari tangan juga mudah diakses, invarian terhadap emosi dan aspek perilaku lainnya seperti kelelahan, fitur yang stabil dan penerimaan user sangat tinggi karena, tidak seperti sidik jari tangan, tidak ada stigma potensi investigasi kriminal yang terkait dengan pendekatan ini [11]. Ruas jari tangan yang digunakan diambil dari jari telunjuk, tengah dan manis seperti pada Gambar 2.2 .

Gambar 2.2 Ruas punggung jari tangan

2.1.6 Basis Data

(14)

Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apa pun bentuknya, entah berupa file teks ataupun Database Management System (DMBS). Kebutuhan basis data dalam sistem informasi meliputi :

1) Masukkan, menyimpan, dan mengambil data.

2) Membuat laporan berdasarkan data yang telah disimpan.

2.1.7 Pemrograman Berorientasi Objek

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya [12]. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientas objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek.

Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan pada saat ini beragam dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.

Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut :

1) Meningkatkan produktivitas

(15)

2) Kecepatan pengembangan

Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.

3) Kemudahan pemeliharaan

Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah.

4) Adanya konsistensi

Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.

5) Meningkatkan kualitas perangkat lunak

Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.

2.1.7.1 Konsep Dasar Berorientasi Objek

Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya) [12]. Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.

Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dan abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Saat mengabstraksikan dan memodelkan objek, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi suatu kesatuan.

(16)

perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.

Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya, dan dapat berinteraksi satu sama lain.

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek:

1. Kelas (Class)

Kelas adalah sekumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau diciptakan dan kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (metode/operasi), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru. Secara teknis kelas adalah sebuah struktur dalam pembuatan perangkat lunak. Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi berorientasi objek.

2. Objek (object)

Objek adalah abstraksi dari sesuatu yang mewakili dunia nyata benda, manusia, satu organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.

(17)

yang kita punya adalah objek, di dalam teks program yang kita lihat hanyalah kelas.

3. Metode (method)

Operasi atau metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek. Metode atau operasi dapat berasal dari event, aktifitas atau aksi keadaan, fungsi, atau kelakuan dunia nyata. Contoh metode atau operasi misalnya Read, Write, Move, Copy, dan sebagainya.

4. Atribut (attribute)

Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama, dan sebagainya.

5. Abstraksi (abstraction)

Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

6. Enkapsulasi (encapsulation)

(18)

7. Pewarisan (inheritance)

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya.

8. Antarmuka (interface)

Antarmuka sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain.

9. Reusability

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

10.Generalisasi dan Spesialisasi

Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.

11.Komunikasi Antarobjek

Komunikasi antarobjek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya.

12.Polimorfisme (polymorphism)

Kemampuan suatu objek digunakan di banyak tujuan yang berbeda dengan nama yang sehingga menghemat baris program.

13.Package

(19)

2.1.7.2 Pengenalan UML

Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang di berbagai negara dapat mengerti pemodelan perangkat lunak. Seperti yang kita ketahui bahwa menyatukan banyak kepala untuk menceritakan sebuah ide dengan tujuan untuk memahami, merupakan hal yang tidak mudah, oleh karena itu diperlukan sebuah bahasa pemodelan perangkat lunak yang dapat dimengerti oleh banyak orang.

Banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak sesuai dengan teknologi pemrograman yang berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan banyak pihak adalah Data Flow Diagram (DFD) untuk memodelkan perangkat lunak yang menggunakan pemrograman prosedural atau struktural, kemudian juga ada State Transition Diagram (STD) yang digunakan untuk memodelkan sistem real time (waktu nyata). Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.

UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek.

(20)

tentu penyampaian bahasa dengan puisi adalah hal yang salah. Sistem informasi bukanlah ilmu pasti, maka jika ada banyak perbedaan dan interpretasi di dalam bidang sistem informasi merupakan hal yang sangat wajar.

2.1.7.3 Diagram UML

Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada Gambar 2.3 .

Gambar 2.3 Diagram UML 2.3

Berikut ini penjelasan singkat dari pembagian kategori tersebut :

1) Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. 2) Behavior diagrams yaitu kumpulan diagram yang digunakan untuk

menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

3) Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem.

(21)

2.1.7.4 Use Case Diagram

Use Case atau diagram Use Case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, Use Case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.

Syarat penamaan pada Use Case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada Use Case yaitu pendefinisian apa yang disebut aktor dan Use Case.

1.1.7.4.1 Aktor

Aktor adalah sesuatu (entitas) yang berhubungan dengan sistem dan berpartisipasi dalam use case. Aktor menggambarkan orang, sistem atau entitas eksternal yang secara khusus membangkitkan sistem dengan input atau masukan kejadian-kejadian, atau menerima sesuatu dari sistem. Aktor dilukiskan dengan peran yang mereka mainkan dalam use case, seperti Staff, Kurir dan lain-lain.

Dalam use case diagram terdapat satu aktor pemulai atau initiator actor yang membangkitkan rangsangan awal terhadap sistem, dan mungkin sejumlah aktor lain yang berpartisipasi atau participating actor. Akan sangat berguna untuk mengetahui siapa aktor pemulai tersebut.

<nama actor>

Gambar 2.4 Aktor

1.1.7.4.2 Use Case

Use case yang dibuat berdasarkan keperluan aktor merupakan gambaran dari

(22)

Use case diberi nama yang menyatakan apa hal yang dicapai dari interaksinya dengan aktor.

<nama use case>

Gambar 2.5 Use case

1.1.7.4.3 Relationship

Relasi (relationship) digambarkan sebagai bentuk garis antara dua simbol dalam use case diagram. Relasi antara actor dan use case disebut juga dengan asosiasi (association). Asosiasi ini digunakan untuk menggambarkan bagaimana hubungan antara keduanya.

Relasi-relasi yang terjadi pada use case diagram bisa antara actor dengan use case atau use case dengan use case.

<nama actor>

<nama use case>

Gambar 2.6 Relationship

Relasi antara use case dengan use case :

a. Include, pemanggilan use case oleh use case lain atau untuk menggambarkan suatu use case termasuk di dalam use case lain (diharuskan). Contohnya adalah pemanggilan sebuah fungsi program. Digambarkan dengan garis lurus berpanah dengan tulisan <<include>>. b. Extend, digunakan ketika hendak menggambarkan variasi pada kondisi

(23)

adalah perluasan dari use case lain jika syarat atau kondisi terpenuhi. Digambarkan dengan garis berpanah dengan tulisan <<extend>>.

c. Generalization/Inheritance, dibuat ketika ada sebuah kejadian yang lain sendiri atau perlakuan khusus dan merupakan pola berhubungan base-parent use case. Digambarkan dengan garis berpanah tertutup dari base use case ke parent use case.

2.1.7.5 Activity Diagram

Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut ini :

1) Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan

2) Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan 3) Rancangan pengujian dimana setiap aktivitas dianggap memerlukan

sebuah pengujian yang perlu didefinisikan kasus ujinya

2.1.7.6 Sequence Diagram

Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

(24)

sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.

Penomoran pesan berdasarkan urutan interaksi pesan. Penggambaran letak pesan harus berurutan, pesan yang lebih atas dari lainnya adalah pesan yang berjalan terlebih dahulu.

2.1.7.7 Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.

Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas ebaiknya memiliki jenis-jenis kelas berikut :

1) Kelas Main

Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan. 2) Kelas yang menangani tampilan sistem

Kelas yang mendefinisikan dan mengatur tampilan ke pemakai. 3) Kelas yang diambil dari pendefinisian usecase

Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case.

4) Kelas yang diambil dari pendefinisian data

Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data.

Jenis-jenis kelas diatas juga dapat digabungkan satu sama lain sesuai dengan pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas seperti koneksi ke basis data, membaca file teks, dan lain sebagainya sesuai kebutuhan.

(25)

dekat keterkaitan instruksi di dalam sebuah metode terkait satu sama lain sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar choesion yang kuat dan kadar coupling yang lemah.

Dalam class diagram terdapat beberapa relasi (hubungan antar class) yaitu: 1. Generalization and Inheritence

Diperlukan untuk memperlihatkan hubungan pewarisan (inheritance) antar unsur dalam diagram kelas. Pewarisan memungkinkan suatu kelas mewarisi semua atribut, operasi, relasi, dari kelas yang berada dalam hirarki pewarisannya.

2. Associations

Hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui ekstensi class lain. Dalam notasi UML kita mengenal asosiasi 2 arah (bidirectional) dan 1 arah (undirectional).

3. Aggregation

Hubungan antar-class dimana class yang satu (part class) adalah bagian dari class lainnya (whole class).

4. Composition

Aggregation dengan ikatan yang lebih kuat. Di dalam composite aggregation, siklus hidup part class sangat bergantung pada whole class sehingga bila objek instance dari whole class dihapus maka objek instance dari part calss juga akan terhapus.

5. Depedency

Hubungan antar-class dimana sebuah class memiliki ketergantungan pada class lainnya tetapi tidak sebaliknya.

6. Realization

(26)

digunakan untk menspesifikasikan hubungan antara sebuah interface dengan class yang mengimplementasikan interface tersebut.

2.1.8 Rekayasa Perangkat Lunak

Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi, dipercaya dan bekerja secara efisien menggunakan mesin. Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat bagi pengguna. Rekayasa perangkat lunak fokus pada bagaimana membangun perangkat lunak yang memenuhi kriteria berikut:

1) Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiiring berkembangnya teknologi dan lingkungan.

2) Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi.

3) Efisien dari segi sumber daya dan penggunaan. 4) Kemampuan untuk dipakai sesuai dengan kebutuhan.

Pekerjaan yang terkait dengan rekayasa perangkat lunak dapat dikategorikan menjadi tiga buah kategori umum tanpa melihat area dari aplikasi, ukuran proyek atau kompleksitas perangkat lunak yang akan dibangun, yaitu:

a. Fase Pendefinisian (Definition Phase)

Fase pendefinisian fokus pada “what” yang artinya harus mencari tahu atau mengidentifikasi informasi apa yang harus diproses, seperti apa fungsi dan performansi yang diinginkan, seperti apa prilaku sistem yang diinginkan, apa kriteria validasi yang dibutuhkan untuk mendefinisikan sistem.

b. Fase Pengembangan (Development Phase)

(27)

diimplementasikan, bagaimana karakter antarmuka tampilan, bagaimana desanin ditranslasikan ke dalam bahasa pemrograman dan bagaimana pengujian dijalankan.

c. Fase Pendukung (Support Phase)

Fase pendukung fokus pada perubahan yang terasosiasi pada perbaikan kesalahan (error), adaptasi yang dibutuhkan pada lingkungan perangkat lunak yang terlibat dan perbaikan yang terjadi akibat perubahan kebutuhan pengguna. Fase pendukung terdiri dari empat tipe perubahan antara lain: 1) Koreksi (Correction), yaitu pemeliharaan dengan melakukan perbaikan

terhadap kecacatan perangkat lunak.

2) Adaptasi (Adaptation), yaitu merupakan tahap untuk memodifikasi perangkat lunak guna mengakomodasi perubahan lingkungan luar dimana perangkat lunak dijalankan.

3) Perbaikan (Enchancement), pemeliharaan perfektif atau penyempurnaan melakukan eksekusi atau penambahan pada kebutuhan fungsional sebelumnya.

4) Pencegahan (Prevention), pencegahan atau sering disebut juga dengan rekayasa ulang sistem (software reengineering) harus dikondisikan untuk mempu melayani kebutuhan yang diinginkan pemakainya.

2.1.9 Perangkat Lunak Pendukung

Adapun beberapa perangkat lunak pendukung dalam pembangunan implementasi metode di aplikasi identifikasi ruas jari tangan sebagai berikut :

2.1.9.1 Net Framework Bahasa Pemrograman C#

1. .Net Framework

(28)

efisien. Metodologi perancangan berorientasi objek dan konsep software sebagai komponen tertanam dengan kuat di Framework.NET.

2. Bahasa Pemrograman C#

C# ( C sharp ) adalah sebuah bahasa pemrograman berbasis objek yang didukung oleh microsoft .NET framework. Microsoft .NET framework adalah perantara agar aplikasi dengan bahasa pemrograman yang didukung dapat berkomunikasi dengan sistem operasi yang digunakan oleh komputer yang digunakan. Selain itu, .NET framework juga memungkinkan C# berkomunikasi dengan bahasa pemrograman lainnya yang juga didukung oleh .NET framework seperti VB. NET, F# atau C++. Dengan kata lain, aplikasi yang kita buat dapat menggunakan komponen - komponen lain yang dibuat dengan menggunakan VB.NET, J#, F#, atau C++.

Banyak orang berkata bahwa C# hanya dapat digunakan pada sistem operasi windows. Namun sesungguhnya aplikasi C# dapat digunakan dalam berbagai macam sistem operasi baik windows (dengan menggunakan .NET framework), Mac OS, LINUX, serta sistem operasi berbasis UNIX lainnya (dengan menggunakan mono framework ). Bahasa pemrograman C# juga banyak digunakan untuk membangun aplikasi seperti aplikasi web, aplikasi desktop, aplikasi zune, aplikasi permainan (desktop dan XBOX) dan berbagai jenis aplikasi lainnya.

Beberapa kelebihan dari bahasa C# :

1) Termasuk bahasa pemrograman .NET. dengan demikian user dapat menggunakan komponen - komponen yang dibangun dengan bahasa pemrograman .NET lainnya (integrasi antar bahasa).

2) Bahasa pemrograman C# memiliki language integrated query (LINQ) yang merupakan sintaks query yang dapat digunakan pada setiap kumpulan data. 3) Windows Presentation Foundation (WPF) dapat digunakan untuk membuat

(29)

4) Microsoft memberikan IDE (software yang digunakan untuk membangun sebuah program ) secara gratis, yaitu Microsoft Visual Studio Express Edition IDE inilah yang akan digunakan untuk membangun aplikasi C#.

3. Microsoft Visual Studio 2010

Microsoft Visual Studio merupakan sebuah perangkat lunak yang dapat digunakan untuk melakukan pengembangan aplikasi, baik aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan Library. Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, C#, VB.NET, J++ dan J#.

Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam unmanaged/native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework).

Beberapa kelebihan dari Microsoft Visual Studio :

1) Dapat membuat aplikasi untuk beberapa platform termasuk Windows 7,Windows Server 2008 R2, SQL Server 2008, SharePoint. Office, Windows Azure, dan Windows Phone.

2) Lingkungan pemrograman dapat dipersonalisasi.

(30)

2.1.10 Pengujian Perangkat Lunak

Pengujian perangkat lunak merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji. Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan “bug” perangkat lunak. Bug merupakan suatu kesalahan desain pada suatu perangkat keras komputer atau perangkat lunak komputer yang menyebabkan peralatan atau program itu tidak berfungsi semestinya. Bug umumnya lebih umum dalam dunia perangkat lunak dibandingkan dengan perangkat keras.

Pengujian perangkat lunak merupakan suatu tahapan penting dalam pembangunan perangkat lunak. Pengujian dilakukan dengan cara mengevaluasi konfigurasi perangkat lunak yang terdiri dari spesifikasi kebutuhan, deskripsi perancangan, dan program yang dihasilkan. Hasil evaluasi kemudian dibandingkan dengan hasil uji yang diharapkan. Jika ditemukan kesalahan, maka perbaikan perangkat lunak harus dilakukan untuk kemudian diuji kembali.

Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Peksanaan pengujian perangkat lunak biasanya disesuaikan dengan metodologi pembangunan perangkat lunak yang digunakan.

(31)

2.1.10.1 Teknik Pengujian

Teknik pengujian yang dapat digunakan dalam menguji perangkat lunak sebagai berikut :

a. Pengujian White Box : Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

Penggunaan metode pengujian white box dilakukan untuk :

1) Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali

2) Menggunakan semua keputusan logis untuk semua kondisi true atau false

3) Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.

4) Menggunakan struktur data internal untuk menjamin validitas jalur keputusan.

Persyaratan dalam menjalankan strategi White Box Testing sebagai berikut : 1) Mendefinisikan semua alur logika

2) Membangun kasus untuk digunakan dalam pengujian 3) Mengevaluasi semua hasil pengujian

4) Melakukan pengujian secara menyeluruh

(32)

kebutuhan pemakai dapat diukur sekaligus dapat diiketahui kesalahan-kesalahannya.

Beberapa jenis kesalahan yang dapat diidentifikasi : 1) Fungsi tidak benar atau hilang

2) Kesalahan antar muka

3) Kesalahan pada struktur data (pengaksesan basis data) 4) Kesalahan inisialisasi dan akhir program

5) Kesalahan performasi

Walaupun sulit untuk menelusuri kesalahan yang mungkin didapat, teknik pengujian black box lebih sering dipilih untuk menguji perangkat lunak karena kemudahan dalam pelaksanaannya.

2.2 Teori-teori Khusus

Teori-teori khusus yang berkaitan dengan topik penelitian ini adalah tentang Local Binary Pattern, Histogram equalization dan Euclidean distance.

2.2.1 Local Binary Pattern

(33)

Pattern : 11010011

Nilai LBP : 1 + 2 + 8 + 64 +128 = 203

Gambar 2.7 Gambaran proses LBP

Setiap pixel memiliki nilai hasil grayscale, kemudian dilakukan threshold berpusat pada titik tengah. Pixel yang memiliki nilai sama atau lebih dibandingkan dengan titik tengah diberi nilai 1 selain itu diberi nilai 0. Kemudian nilai LBP didapat dari penjumlahan dua pangkat nilai angka yang bernilai satu. Berikut rumusnya :

(2.3) Dan rumus perbandingan piksel fungsi s(x) didefinisikan sebagai berikut:

(2.4) Kemudian dibuat suatu cara agar pola LBP tidak sensitif terhadap perubahan rotasi (rotation invariant).

(2.5) ROR(x,i) di atas menerangkan rotasi sirkular kanan dari suatu kelompok bit x sebanyak i tahap.

pola LBP tertentu memiliki karakteristik utama dari suatu tekstur.

(34)

mengidentifikasi noda (spot), flat area atau dark spot, sudut, dan tepi. Hampir 90 persen dari tekstur merupakan uniform patterns [13].

Gambar 2.8 Contoh tekstur uniform patterns

Di dalam pemetaan uniform LBP ini, terdapat pelabelan yang terpisah untuk setiap pola-pola yang uniform dan semua pola-pola yang non uniform dimasukkan ke dalam satu label. Sebuah rumusan sederhana untuk menghitung jumlah label pola biner uniform dapat terlihat dari P(P-1)+3. P di sini berarti jumlah titik biner yang digunakan. Misalnya untuk pola biner 8 bit, berarti terdapat 59 label pola uniform yang berbeda dan 243 label untuk 16 bit.

Penggabungan antara uniform patterns dengan rotation invariant dilambangkan . Notasi ri menunjukkan rotation invariant dan u2 untuk uniform patterns pada sampling points P dan radius R. merupakan ukuran ketidaksensitifan (invariant) terhadap perubahan grayscale dan merupakan ukuran yang digunakan untuk pola spasial [5].

2.2.2 Histogram Equalization

Informasi suatu citra dapat diwakili dengan suatu histogram, yaitu suatu fungsi yang menunjukkan jumlah titik yang ada dalam suatu citra untuk setiap tingkat warna tertentu. Histogram equalization merupakan suatu proses pemerataan histogram, dimana distribusi citra pada derajat keabuan dibuat merata.

Berikut merupakan rumus yang digunakan dengan citra dengan skala keabuan k – bit :

(2.6) Keterangan :

(35)

Round : fungsi pembulatan kebilangan terdekat, misalnya 35.4 menjadi 35. K : nilai keabuan hasil histogram equalization.

W : lebar citra. h : tinggi citra.

Rumus histogram ditulis kembali sebagai peluang :

 

Perhitungan perataan histrogram ditulis sebagai berikut :

 

 

 

0 ...

Euclidean distance adalah matrik yang paling sering digunakan untuk

menghitung kesamaan 2 vektor. Euclidean distance menghitung akar dari kuadrat

(36)

Rumus dari euclidean distance:

(2.9)

d

ij

: jarak perbandingan ke 2 vektor.

Xik : nilai vektor 2

(37)

95

4.1 Implementasi Sistem

Pada bab ini akan dilakukan implementasi dan pengujian terhadap perangkat lunak aplikasi identifikasi ruas jari tangan. Tahapan ini dilakukan setelah analisis dan perancangan selesai dilakukan dan selanjutnya akan diimplementasikan kedalam bahasa pemograman. Setelah implementasi maka dilakukan pengujian dan akan dilihat kekurangan-kekurangan untuk pengembangan sistem selanjutnya.

Setelah aplikasi dianalisis dan dirancang secara rinci, tahap selanjutnya adalah implementasi. Tujuan dari implementasi adalah untuk mengkonfirmasi modul-modul perancangan sehingga pengguna dapat memberikan masukan kepada pengembangan sistem.

4.1.1 Implementasi Perangkat Keras

Perangkat keras yang digunakan untuk mengimplementasikan sistem dapat dilihat pada Tabel 4.1.

Tabel 4.1 Spesifikasi perangkat keras No Perangkat Keras Spesifikasi

1 Processor Intel Core i3 2.30 GHz

2 Monitor Monitor 14inch 1366 x 768

(32bit) (60Hz)

3 VGA 512 MB

4 Memori 2 GB

5 Kamera 2.0 Megapixel

(38)

4.1.2 Implementasi Perangkat Lunak

Perangkat lunak yang digunakan untuk membangun dan mengimplementasikan sistem dapat dilihat pada Tabel 4.2.

Tabel 4.2 Spesifikasi perangkat lunak No Perangkat Lunak Spesifikasi

1 Sistem Operasi Windows 7

2 Tools Microsoft Visual Studio

2010

3 Bahasa Pemrograman C#

4.1.3 Implementasi Basis Data

Pembuatan basis data atau database menggunakan bahasa SQL, implementasinya sebagai berikut :

1. Tabel Gambar_Latih

Tabel 4.3 SQL tabel gambar_latih

CREATE TABLE IF NOT EXISTS `Gambar_Latih` ( `id_gambarlatih` char(5) NOT NULL,

`id_gambarasli` char(5) NOT NULL, `nama_pemilik` varchar (30) NOT NULL, `gambar_samplelatih ` longblob NOT NULL, PRIMARY KEY (`id_gambarlatih`),

KEY `id_gambarasli` (`id_gambarasli `), KEY `nama_pemilik` (`nama_pemilik`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Gambar_Latih`

ADD CONSTRAINT `Gambar_Latih_fk_1` FOREIGN KEY (`id_gambarasli`) REFERENCES `Gambar` (`id_gambarasli`) ON UPDATE CASCADE,

ADD CONSTRAINT `Gambar_Latih_fk_2` FOREIGN KEY (`nama_pemilik`) REFERENCES `Gambar` (`id_gambarasli`) ON UPDATE CASCADE;

2. Tabel Gambar

Tabel 4.4 SQL tabel gambar

(39)

`gambar_sample3 ` longblob NOT NULL, `gambar_sample4 ` longblob NOT NULL, PRIMARY KEY (`id_gambarasli`),

KEY `nama_pemilik` (`nama_pemilik`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Gambar`

ADD CONSTRAINT `Gambar_fk_1` FOREIGN KEY

(`nama_pemilik`) REFERENCES `Pemilik` (`id_pemilik`) ON UPDATE CASCADE;

3. Tabel Pemilik

Tabel 4.5 SQL tabel pemilik

CREATE TABLE IF NOT EXISTS `Pemilik` ( `id_pemilik` char(5) NOT NULL, `nama_pemilik` varchar (30) NOT NULL, PRIMARY KEY (`id_pemilik`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

4. Tabel Gambar_Uji

Tabel 4.6 SQL tabel gambar_uji

CREATE TABLE IF NOT EXISTS `Gambar_Uji` ( `id_gambaruji` char(5) NOT NULL,

`id_gambarasli` char(5) NOT NULL, `nama_pemilik` varchar (30) NOT NULL, `gambar_sampleuji` longblob NOT NULL, PRIMARY KEY (`id_gambaruji`),

KEY `id_gambarasli` (`id_gambarasli `), KEY `nama_pemilik` (`nama_pemilik`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Gambar_Uji`

ADD CONSTRAINT `Gambar_Uji_fk_1` FOREIGN KEY (`id_gambarasli`) REFERENCES `Gambar` (`id_gambarasli`) ON UPDATE CASCADE,

ADD CONSTRAINT `Gambar_Uji_fk_2` FOREIGN KEY (`nama_pemilik`) REFERENCES `Gambar` (`id_gambarasli`) ON UPDATE CASCADE;

5. Tabel Processing_Latih

Tabel 4.7 SQL tabel processing_latih

CREATE TABLE IF NOT EXISTS `Processing_Latih` ( `id_processinglatih` integer UNSIGNED NOT NULL AUTO_INCREMENT,

(40)

KEY `id_gambarlatih` (`id_gambarlatih`), ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Processing_Latih`

ADD CONSTRAINT `Processing_Latih_fk_1` FOREIGN KEY

(`id_gambarlatih`) REFERENCES `Gambar_Latih`

(`id_gambarlatih`) ON UPDATE CASCADE;

6. Tabel Processing_Uji

Tabel 4.8 SQL tabel processing_uji

CREATE TABLE IF NOT EXISTS `Processing_Uji` (

`id_processinguji` integer UNSIGNED NOT NULL AUTO_INCREMENT,

`id_gambaruji` char(5) NOT NULL, `nilai_grayscale` double NOT NULL, `nilai_ekstraksiLBP` double NOT NULL, `nilai_vektorciriuji` double NOT NULL, PRIMARY KEY (`id_processinguji`), KEY `id_gambaruji` (`id_gambaruji`), ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Processing_Uji`

ADD CONSTRAINT `Processing_Uji_fk_1` FOREIGN KEY

(`id_gambaruji`) REFERENCES `Gambar_Uji`

(`id_gambaruji`) ON UPDATE CASCADE;

7. Tabel Penyimpanan_Data

Tabel 4.9 SQL tabel penyimpanan_data

CREATE TABLE IF NOT EXISTS `Penyimpanan_Data` ( `id_penyimpanandata` integer UNSIGNED NOT NULL AUTO_INCREMENT,

`id_processinglatih` integer NOT NULL, `id_processinguji` integer NOT NULL, `nilai_vektorcirilatih` double NOT NULL, `nilai_vektorciriuji` double NOT NULL, PRIMARY KEY (`id_penyimpanandata`),

KEY `id_processinglatih` (`id_processinglatih`), KEY `id_processinguji` (`id_processinguji`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Penyimpanan_Data`

ADD CONSTRAINT `Penyimpanan_Data_fk_1` FOREIGN KEY (`id_processinglatih`) REFERENCES `Processing_Latih` (`id_processinglatih`) ON UPDATE CASCADE,

(41)

8. Tabel Identifikasi

Tabel 4.10 SQL tabel identifikasi

CREATE TABLE IF NOT EXISTS `Identifikasi` ( `id_identifikasi` integer UNSIGNED NOT NULL AUTO_INCREMENT,

`id_penyimpanandata` integer NOT NULL, `id_gambarasli` char(5) NOT NULL,

`nilai_vektorcirilatih` double NOT NULL, `nilai_vektorciriuji` double NOT NULL, `nilai_euclidean_distance` double NOT NULL, `nama_pemilik ` varchar(30) NOT NULL,

PRIMARY KEY (`id_identifikasi`),

KEY `id_penyimpanandata` (`id_penyimpanandata`), KEY `id_gambarasli` (`id_gambarasli`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `Identifikasi`

ADD CONSTRAINT `Identifikasi_fk_1` FOREIGN KEY (`id_penyimpanandata`) REFERENCES `Penyimpanan_Data` (`id_penyimpanandata`) ON UPDATE CASCADE,

ADD CONSTRAINT `Identifikasi_fk_2` FOREIGN KEY (`id_gambarasli`) REFERENCES `Gambar` (`id_gambarasli`) ON UPDATE CASCADE;

4.1.4 Implementasi Antarmuka Sistem

Dari perancangan antarmuka yang telah dibuat pada bab sebelumnya, maka tahap selanjutnya yaitu mengimplementasikannya menjadi sebuah tampilan. Implementasi antarmuka sistem meliputi :

Tabel 4.11 Implementasi antarmuka sistem

No Nama Menu Nama File Keterangan

1 Form Menu Utama MenuUtama.cs Tampilan utama aplikasi

2 Form Proses Latih Citra ProsesLatih.cs Tampilan pada proses latih citra

3 Form Proses Uji Citra &

Identifikasi

ProsesUjiIdentifikasi.cs Tampilan pada proses uji citra &

(42)

4.1.4.1 Tampilan Menu Utama

Tampilan menu utama merupakan tampilan awal yang pertama kali muncul ketika aplikasi dijalankan. Tampilan ini merupakan tahapan pemilihan proses identifikasi ruas jari tangan. Tampilan menu utama aplikasi dapat dilihat pada Gambar 4.1 .

Gambar 4.1 Tampilan menu utama

4.1.4.2 Tampilan Form Proses Latih Citra

(43)

Gambar 4.2 Tampilan form proses latih citra setelah memasukan gambar

Gambar 4.3 Tampilan form proses latih citra hasil pre-processing

Penjelasan dari 3 button tersebut :

(44)

b. Input Folder Dataset : Memasukan citra berupa folder dataset sebagai citra target.

c. Proses Pre-processing : Melakukan proses pre-processing gambar citra.

4.1.4.3 Tampilan Menu Proses Uji & Identifikasi Citra

Tampilan ini muncul ketika memilih button Identifikasi pada menu utama, yaitu tampilan form proses uji & identifikasi citra yang digunakan untuk proses uji gambar yang akan diidentifikasi dan didalamnya terdapat 3 button, yaitu Input File Gambar, Proses Pre-processing dan Identifikasi. Tampilan dapat dilihat pada Gambar 4.4 , Gambar 4.5 & Gambar 4.6

(45)

Gambar 4.5 Tampilan form proses uji & identifikasi citra hasil pre-processing

(46)

4.1.4.4 Tampilan Pesan Jika Membatalkan Proses Input Gambar

Tampilan pesan ini muncul apabila pengguna membatalkan proses input file gambar & input folder dataset untuk memasukan gambar citra target. Tampilan pesan pemberitahuan apabila membatalkan proses input gambar citra target dapat dilihat pada Gambar 4.7 .

Gambar 4.7 Tampilan pesan jika membatalkan proses input gambar

4.1.4.5 Tampilan Pesan Jika Proses Pre-processing Gambar Selesai

Tampilan pesan ini muncul apabila proses pre-processing gambar telah selesai. Tampilan pesan pemberitahuan apabila proses pre-processing gambar telah selesai dapat dilihat pada Gambar 4.8 .

(47)

4.1.4.6 Tampilan Pesan Jika Proses Grayscale dan Ekstraksi Sukses

Tampilan pesan ini muncul apabila proses grayscale dan ekstraksi citra gambar sukses. Tampilan pesan pemberitahuan apabila proses grayscale dan ekstraksi citra gambar sukses dapat dilihat pada Gambar 4.9 dan Gambar 4.10 .

Gambar 4.9 Tampilan pesan jika proses grayscale sukses

Gambar 4.10 Tampilan pesan jika proses ekstraksi sukses

4.1.4.7 Tampilan Pesan Jika Proses Identifikasi Sukses

(48)

Gambar 4.11 Tampilan pesan jika proses identifikasi sukses

4.2 Pengujian Sistem

Pengujian merupakan bagian yang penting dalam siklus pembangunan perangkat lunak (software). Tujuan dari pengujian adalah untuk menemukan kesalahan dan kekurangan pada perangkat lunak. Pengujian juga bermaksud untuk menjamin perangkat lunak yang di bangun memilki kualitas yang handal, yaitu mampu melakukan kajian pokok dari spesifikasi, analisis, perancangan dan pengkodean dari perangkat lunak itu sendiri.

4.2.1 Proses Pengujian Sistem

Pengujian ini dilakukan untuk mengetahui apakah rancangan dan implementasi yang sudah dilakukan berjalan dengan prosedur yang diinginkan atau tidak. Pengujian ini dilakukan dengan menggunakan parameter pengujian seperti mengukur akurasi hasil pendeteksian dan waktu proses komputasi berdasarkan parameter LBP.

4.2.2 Skenario Pengujian

(49)

Tabel 4.12 Skenario pengujian perangkat lunak

Pengujian Butir Uji Jenis Pengujian

Metode Local Binary Pattern Algoritma LBP dalam ekstraksi ciri citra

White Box

Metode Euclidean Distance Algoritma euclidean distance

dalam identifikasi

White Box

Input File Gambar Proses pemasukan file gambar

latih dan uji yang ingin

diidentifikasi.

Black Box

Input Folder Dataset Proses pemasukan file folder

gambar latih yang ingin

diidentifikasi.

Black Box

Proses Pre-processing Proses waktu komputasi yang dilakukan.

Black Box

Identifikasi

Proses pendeteksian gambar

latih dan uji

Black Box

Persenan keakuratan hasil

identifikasi

Black Box

4.2.3 Pengujian White Box

Bedasarkan skenario pengujian white box yang telah disusun pada Tabel 4.12, maka dapat dilakukan pengujian sebagai berikut :

4.2.3.1 Pengujian Algoritma Local Binary Pattern pada Esktraksi Ciri Citra

Berikut ini adalah pengujian algoritma Local Binary Pattern, pengujiannya dapat dilihat dibawah ini :

(50)

9: code |= (src.at<_Tp>(i,j+1) > center) << 4; 10: code |= (src.at<_Tp>(i+1,j+1) > center) << 3; 11: code |= (src.at<_Tp>(i+1,j) > center) << 2; 12: code |= (src.at<_Tp>(i+1,j-1) > center) << 1; 13: code |= (src.at<_Tp>(i,j-1) > center) << 0; 14: dst.at<unsigned char>(i-1,j-1) = code; 15: }

16: } 17: }

Gambar 4.12 Pseudecode algoritma LBP

1. Flow Graph Algoritma Local Binary Pattern pada Esktraksi Ciri Citra.

Gambar 4.13 Flow Graph LBP

Keterangan Gambar 4.13 : : Menggambarkan kondisi : Menggambarkan aksi

(51)

V(G) = E – N + 2 V(G) = 20 – 17 + 2 V(G) = 5

Dimana :

E = Jumlah edge pada grafik alir N = Jumlah node pada grafik alir

Jadi, cyclomatic complexity untuk Gambar 4.13 adalah 5. Berdasarkan cyclomatic complexity tersebut, maka terdapat 5 path yang terdiri dari :

Path 1 : 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 Path 2 : 1,2,3,4,15,16,17

Path 3 : 1,2,3,15,16,17 Path 4 : 1,2,16,17 Path 5 : 1,17

2. Graph Matriks Algoritma Local Binary Pattern pada Esktraksi Ciri Citra.

Tabel 4.13 Graph Matriks algoritma LBP

(52)

15 1 1 1

16 1 0

17 0

Jumlah +1 5

4.2.3.2 Pengujian Algoritma Euclidean Distance pada Identifikasi

Berikut ini adalah pengujian algoritma Euclidean Distance, pengujiannya dapat dilihat dibawah ini :

1: function EuclidenaDistance 2: dist=0

3: for d=1 to N // d = dimension 4: dist=dist+(x1[d]-x2[d]^2

5: next

6: return sqrt(dist) 7: end function

Gambar 4.14 Pseudecode algoritma Euclidean Distance

1. Flow Graph Algoritma Euclidean Distance pada Identifikasi.

(53)

Keterangan Gambar 4.15 : : Menggambarkan kondisi : Menggambarkan aksi

Dari Gambar 4.15 dapat dihitung cyclomatic complexity sebagai berikut : V(G) = E – N + 2

V(G) = 9 – 7 + 2 V(G) = 4

Dimana :

E = Jumlah edge pada grafik alir N = Jumlah node pada grafik alir

Jadi, cyclomatic complexity untuk Gambar 4.15 adalah 4. Berdasarkan cyclomatic complexity tersebut, maka terdapat 4 path yang terdiri dari :

Path 1 : 1,2,3,4,5,6,7

Path 2 : 1,2,3,4,6,7 Path 3 : 1,2,3,6,7

Path 4 : 1,2,7

2. Graph Matriks Algoritma Euclidean Distance pada Identifikasi.

Tabel 4.14 Graph Matriks algoritma Euclidean Distance N 1 2 3 4 5 6 7

1 1 1 1

2 1 0

3 1 1 1

4 1 0

5 1 0

6 1 1 1

7 0

(54)

4.2.4 Kasus dan Hasil Pengujian Black Box

Bedasarkan skenario pengujian black box yang telah disusun pada Tabel 4.12, maka dapat dilakukan pengujian sebagai berikut :

4.2.4.1 Skenario Pengujian Input File Gambar

Berikut adalah pengujian yang dilakukan untuk mengetahui apakah fungsionalitas input file gambar pada aplikasi dapat berjalan sesuai yang diharapkan atau tidak. Pengujian ini dapat dilihat pada Tabel 4.15 .

Tabel 4.15 Skenario pengujian input file gambar

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Gambar sample latih

open file dialog untuk memasukan gambar

latih & uji target

sasaran dan gambar

sample latih & uji

citra

Dapat menampilkan

open file dialog untuk memasukan gambar

4.2.4.2 Skenario Pengujian Input Folder Dataset

(55)

Tabel 4.16 Skenario pengujian input folder dataset

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Folder berupa

open file dialog untuk memasukan folder

open file dialog untuk memasukan folder

4.2.4.3 Skenario Pengujian Proses Pre-processing

Berikut adalah pengujian yang dilakukan untuk mengetahui apakah fungsionalitas proses pre-processing gambar pada aplikasi dapat berjalan sesuai yang diharapkan atau tidak. Pengujian ini dapat dilihat pada Tabel 4.17 .

Tabel 4.17 Skenario pengujian proses pre-processing

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Gambar asli latih dan

uji citra yang sudah

diinput

Dapat melakukan

proses pre-processing

dari tahap grayscale

(56)

4.2.4.4 Skenario Pengujian Identifikasi

Berikut adalah pengujian yang dilakukan untuk mengetahui apakah fungsionalitas identifikasi gambar latih & uji pada aplikasi dapat berjalan sesuai yang diharapkan atau tidak. Pengujian ini dapat dilihat pada Tabel 4.18 .

Tabel 4.18 Skenario pengujian identifikasi

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Nilai fitur vektor ciri

latih dan uji dari

penyimpanan

Nilai fitur vektor ciri

uji, tetapi tidak

4.2.4.5 Kesimpulan Pengujian Black Box

Berdasarkan hasil pengujian black box yang telah dilakukan dapat diambil kesimpulan bahwa pada proses masih memungkinkan terjadi kesalahan tetapi secara fungsional sistem sudah dapat menghasilkan output yang diharapkan.

4.2.5 Kasus dan Hasil Pengujian Aplikasi

(57)

Gambar 4.16 Ruas jari tangan Adil (sample 1-4)

Gambar 4.17 Ruas jari tangan Adli (sample 1-4)

Gambar 4.18 Ruas jari tangan Aul (sample 1-4)

(58)

Gambar 4.20 Ruas jari tangan Bayu (sample 1-4)

Gambar 4.21 Ruas jari tangan Chandra (sample 1-4)

Gambar 4.22 Ruas jari tangan Danika (sample 1-4)

(59)

Gambar 4.24 Ruas jari tangan Dimas (sample 1-4)

Gambar 4.25 Ruas jari tangan Dita (sample 1-4)

Gambar 4.26 Ruas jari tangan Edu (sample 1-4)

(60)

Gambar 4.28 Ruas jari tangan Firman (sample 1-4)

Gambar 4.29 Ruas jari tangan Helsha (sample 1-4)

Gambar 4.30 Ruas jari tangan Hendry (sample 1-4)

(61)

Gambar 4.32 Ruas jari tangan Labib (sample 1-4)

Gambar 4.33 Ruas jari tangan Laras (sample 1-4)

Gambar 4.34 Ruas jari tangan Nunuy (sample 1-4)

(62)

4.2.5.1 Pengujian Performansi

Hasil pengujian performansi berdasarkan kecepatan waktu dalam proses ekstrkasi ciri LBP pattern dan proses keseluruhan komputasi yang tercepat menurut parameter LBP, yaitu radius & sampling point .Pengujiannya sebagai berikut :

Gambar 4.36 Grafik waktu proses ekstrkasi ciri LBP pattern

2.55

(63)

Gambar 4.37 Grafik waktu proses keseluruhan komputasi

Pengujian dilakukan terhadap 2 gambar uji yang gambarnya beresolusi 480 x 640 pixel dan 8 bit menggunakan parameter LBP tersebut dengan perhitungan proses waktu perdetik.

4.2.5.2 Kesimpulan Pengujian Performansi

Dari hasil pengujian performansi menurut Gambar 4.36 dan Gambar 4.37 menyimpulkan bahwa dari pengujian terhadap 2 gambar uji didapatkan kesimpulan bahwa parameter LBP dengan radius terkecil prosesnya lebih cepat dan efisien dari pada parameter LBP dengan radius lebih besar. Hal ini dikarenakan adanya pengaruh besarnya parameter LBP terhadap waktu komputasi. Semakin besar rentang nilai parameter radius, semakin banyak piksel yang harus diproses sehingga membutuhkan waktu yang lama. Jadi untuk mendapatkan performansi yang bagus dan efisien menggunakan parameter LBP dengan radius 1 dan sampling point 8.

4.25

(64)

Dengan menggunakan parameter tersebut, aplikasi dapat berjalan dengan cepat dan tentunya dengan performansi yang bagus.

4.2.5.3 Pengujian Keakuratan

Hasil pengujian keakuratan pengenalan ruas jari tangan terhadap gambar sebagai berikut :

a. Pengujian berdasarkan gambar sample 1, 2, 3 & 4 ruas jari tangan dan menggunakan parameter LBP terbaik yaitu r = 1 & p = 8.

Tabel 4.19 Hasil pengujian (a) Adil (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Hasil

1 Adil 1a.jpg 0 Teridentifikasi

2 Adil 2b.jpg 0,16 Teridentifikasi

3 Adil 3c.jpg 0,18 Teridentifikasi

4 Adil 4d.jpg 0 Teridentifikasi

Banyak pengujian : 4

Jumlah pengenalan gambar yang dikenali : 4 Persentase keakuratan : 100%

Tabel 4.20 Hasil pengujian (a) Adli (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Hasil

1 Adli 1a.jpg 0 Teridentifikasi

2 Adli 2b.jpg 0,1 Teridentifikasi

3 Adli 3c.jpg 0 Teridentifikasi

4 Adli 4d.jpg 0,1 Teridentifikasi

Banyak pengujian : 4

(65)

Tabel 4.21 Hasil pengujian (a) Aul (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Banyak pengujian : 4

Jumlah pengenalan gambar yang dikenali : 4 Persentase keakuratan : 100%

Tabel 4.22 Hasil pengujian (a) Authar (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Hasil

1 Authar 1a.jpg 0 Teridentifikasi

2 Authar 2b.jpg 0,16 Teridentifikasi

3 Authar 3c.jpg 0 Teridentifikasi

4 Authar 4d.jpg 0,12 Teridentifikasi

Banyak pengujian : 4

Jumlah pengenalan gambar yang dikenali : 4 Persentase keakuratan : 100%

Tabel 4.23 Hasil pengujian (a) Bayu (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Hasil

1 Bayu 1a.jpg 0 Teridentifikasi

2 Bayu 2b.jpg 0 Teridentifikasi

(66)

4 Bayu 4d.jpg 0 Teridentifikasi

Banyak pengujian : 4

Jumlah pengenalan gambar yang dikenali : 4 Persentase keakuratan : 100%

Tabel 4.24 Hasil pengujian (a) Chandra (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Hasil

1 Chandra 1a.jpg 0 Teridentifikasi

2 Chandra 2b.jpg 0,24 Teridentifikasi

3 Chandra 3c.jpg 0,17 Teridentifikasi

4 Chandra 4d.jpg 0,24 Teridentifikasi

Banyak pengujian : 4

Jumlah pengenalan gambar yang dikenali : 4 Persentase keakuratan : 100%

Tabel 4.25 Hasil pengujian (a) Danika (sample 1-4) No. Gambar Uji Nilai Euclidean

Distance

Hasil

1 Danika 1a.jpg 0 Teridentifikasi

2 Danika 2b.jpg 0 Teridentifikasi

3 Danika 3c.jpg 0 Teridentifikasi

4 Danika 4d.jpg 0 Teridentifikasi

Banyak pengujian : 4

Gambar

Tabel 4.7 SQL tabel processing_latih
Tabel 4.8 SQL tabel processing_uji
Tabel 4.11 Implementasi antarmuka sistem
Gambar 4.1 Tampilan menu utama
+7

Referensi

Dokumen terkait

Bagi Lembaga Pendidikan / Sekolah : Mensosialisasikan salah satu model pembelajaran bersama yaitu strategi information search yang dapat digunakan guru sebagai salah

Fokus tulisan ini adalah deskripsi cara harian Kompas dalam memberitakan situasi politik jelang PILPRES 2009 dilihat dari segi pilihan kosa kata dan bentuk kalimat yang digunakan,

Dengan array, kita bisa membuat variabel dengan tipe yang dinamis, dimana kita bisa menyimpan banyak data dalam satu variabel array... PHP

(1) Pengolahan sebagaimana dimaksud dalam Pasal 5 huruf d dilakukan dengan mengubah karakteristik, komposisi, dan jumlah sampah yang dilaksanakan di TPS/TPST clan cli

telah menemukan bahwa risiko terjadinya katarak subkapsular posterior adalah yang paling rendah pada mereka yang memiliki lutein dengan konsentrasi yang lebih

Secara keseluruhan ideologi serta penampilan maupun aksesoris yang digunakan punkers merupakan salah satu cara para punkers mengexpresikan dirinya terhadap dunia

Praktik Pengalaman Lapangan (PPL) adalah semua kegiatan kurikuler yang harus dilaksanakan oleh mahasiswa praktikan, sebagai pelatihan untuk menerapkan teori

Ketiga , menimbang bahwa berdasarkan uraian tersebut di atas maka pasal 43 ayat (1) UU No 1 Tahun 1974 yang menyatakan, “ Anak yang dilahirkan di luar perkawinan