Anda di halaman 1dari 36

BAB 2

LANDASAN TEORI

2.1 Problem Solving dan Algoritma

2.1.1 Definisi Problem Solving

Istilah problem solving sering digunakan dalam berbagai bidang ilmu dan

memiliki pengertian yang berbeda-beda pula. Tetapi problem solving dalam matematika

memiliki kekhasan tersendiri. Secara garis besar terdapat tiga macam interpretasi istilah

problem solving dalam pembelajaran matematika, yaitu problem solving sebagai tujuan

(as a goal), problem solving sebagai proses (as a process), dan problem solving sebagai

keterampilan dasar (as a basic skill). (Branca, N. A. dalam Krulik, S. & Reys, R. E.,

1980:3-6).

1. Problem solving sebagai tujuan

Para pendidik, matematikawan, dan pihak yang menaruh perhatian pada

pendidikan matematika seringkali menetapkan problem solving sebagai salah satu

tujuan pembelajaran matematika. Bila problem solving ditetapkan atau dianggap

sebagai tujuan pengajaran maka ia tidak tergantung pada soal atau masalah yang

khusus, prosedur, atau metode, dan juga isi matematika. Anggapan yang penting

dalam hal ini adalah bahwa pembelajaran tentang bagaimana menyelesaikan

masalah (solve problems) merupakan alasan utama (primary reason) belajar

matematika.
10

2. Problem solving sebagai proses

Pengertian lain tentang problem solving adalah sebagai sebuah proses yang

dinamis. dalam aspek ini, problem solving dapat diartikan sebagai proses

mengaplikasikan segala pengetahuan yang dimiliki pada situasi yang baru dan

tidak biasa. Dalam interpretasi ini, yang perlu diperhatikan adalah metode,

prosedur, strategi dan heuristik yang digunakan siswa dalam menyelesaikan suatu

masalah. Masalah proses ini sangat penting dalam belajar matematika dan yang

demikian ini sering menjadi fokus dalam kurikulum matematika. Sebenarnya,

bagaimana seseorang melakukan proses problem solving dan bagaimana

seseorang mengajarkannya tidak sepenuhnya dapat dimengerti. Tetapi usaha

untuk membuat dan menguji beberapa teori tentang pemrosesan informasi atau

proses problem solving telah banyak dilakukan. Dan semua ini memberikan

beberapa prinsip dasar atau petunjuk dalam belajar problem solving dan aplikasi

dalam pengajaran.

3. Problem solving sebagai keterampilan dasar

Terakhir, problem solving sebagai keterampilan dasar (basic skill). Pengertian

problem solving sebagai keterampilan dasar lebih dari sekedar menjawab tentang

pertanyaan: apa itu problem solving? Beberapa yang dikemukakan antara lain

keterampilan berhitung, keterampilan aritmetika, keterampilan logika,

keterampilan matematika, dan lainnya. Satu lagi yang baik secara implisit

maupun eksplisit sering diungkapkan adalah keterampilan problem solving.


11

2.1.2 Pengertian Algoritma

Algoritma adalah kumpulan urutan perintah yang menentukan operasi-operasi

tertentu yang diperlukan untuk menyelesaikan suatu masalah ataupun mengerjakan

suatu tugas tertentu. Algoritma merupakan urutan langkah instruksi yang logis. Setiap

langkah instruksi mengerjakan suatu tindakan aksi. Apabila suatu aksi dilaksanakan,

maka operasi atau sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh

pemroses. Bila data yang digunakan benar, maka algoritma akan selalu berhenti

dengan memberikan hasil yang benar pula. Pembuatan algoritma harus selalu

dikaitkan dengan :

a. kebenaran algoritma, yakni bila program selesai maka hasilnya juga benar

b. kompleksitas, lama dan jumlah waktu proses dan penggunaan memori.

Ciri dari algoritma:

tepat sasaran

fleksibel dan portable

bersih dari kesalahan system ataupun logika

murah dan efisien

cepat waktu

didokumentasikan
12

2.1.3 Definisi Algoritma

Beberapa definisi dari kata Algoritma adalah sebagai berikut:

a. Kamus Besar Bahasa Indonesia

Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan

masalah.

b. Abu Jafar Muhammad Ibnu Musa Al-Khwarizmi

Algorima adalah langkah - langkah logis penyelesaian masalah yang disusun

secara sistematis dan logis.

c. Goodman Hedetniemi

Algoritma adalah urutan-urutan terbatas dari operasi yang terdefinisi dengan

baik, yang masing-masin membutuhkan memory dan waktu yang terbatas untuk

menyelesaikan suatu masalah.

2.1.4 Sifat Algoritma

Sifat-sifat dari algoritma adalah :

Input

Sifat ini berarti algoritma harus memiliki kondisi awal sebelum dilaksanakan.

Output

Sifat ini berarti algoritma menghasilkan suatu keluaran setelah dilaksanakan.

Definitif

Sifat ini berarti langkah langkah dari algoritma sudah terdefinisi secara jelas.
13

Finit

Sifat ini berarti algoritma melakukan langkah yang terbatas jumlahnya dalam

mengolah input menjadi output.

Efektif

Sifat ini berarti algoritma dapat memberi sebuah solusi sesuai harapan.

General

Sifat ini berarti algoritma berlaku untuk setiap himpunan input.

2.2 Artificial Intelligince

Dewasa ini Artificial Intelligince (AI) banyak menarik minat dan perhatian dari

masyarakat luas. Menurut Kusumadewi (2003, pl), AI adalah salah satu bagian ilmu

komputer yang membuat agar komputer dapat melakukan pekerjaan seperti dan sebaik

yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya dipakai

sebagai alat hitung saja. Namun, seiring perkembangan jaman maka peran komputer

semakin mendominasi kehidupan umat manusia.

Manusia bisa menjadi pandai dalam menyelesaikan suatu persoalan karena

manusia mempunyai pengehtahuan dan disertai pengalaman. Pengehtahuan diperoleh

dari belajar. Semakin banyak bekal pengehtahuan yang dimiliki seseorang, maka orang

tersebuat diharapkan dapat lebih mampu dalam menyelesaikan suatu persoalan. Agar

komputer pun dapat bertindah seperti dan sebaik manusia, maka komputer juga harus

diberi bekal pengehtahuan dan mempunyai kemampuan untuk berpikir. Pada AI,

komputer dibekali beberapa metode yang diharapkan agar komputer dapat menjadi

benda yang pintar.


14

2.2.1 Sejarah Artificial Intelligince

Program AI pertama yang bekerja ditulis pada 1951, yang saat itu

digunakan untuk menjalankan mesin Ferranti Mark I di University of Manchenster:

yaitu sebuah program permainan yang ditulis oleh Christopher Strachey dan program

permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah

"kecerdasan buatan" pada konferensi pertama yang disediakan untuk pokok

persoalan ini pada 1956, John McCarthy juga menemukan bahasa pemrograman

Lishp. Sedangkan Alan Turing memperkenalkan "Turing Test" sebagai sebuah cara

untuk mengoperasionalkan tes perilaku cerdas. Joseph Weizenbaum membangun

ELIZA, sebuah chatterbor yang menerapkan psikoterapi Rogerian.

Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan

kekuatan pertimbangan simbolis untuk mengintegrasikan masalah dalam program

Macsyma, program berbasis pengehtahuan yang sukses pertama kali dalam bidang

matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang

mendemonstrasikan batas jaringan syaraf sederhana dan Alain Colmerauer

mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan

kekuatan sistem berbasis aturan untuk representasi pengehtahuan dan inferensi

dalam diagnosa serta terapi medis yang kadang kala disebut sebagai sistem pakar

pertama. Hans Moravece mengembangkan kendaraan terkendali komputer pertama

yang dapat mengatasi jalan berlintang secara mandiri.

Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan

algoritma pembuatan balik, yang pertaman kali diterangkan oleh Paul John Werbos

pada 1974. Di tahun 1990-an sebuah prestasi besar dalam bidang AI ditandai dengan
15

munculnya Deep Blue, sebuah komputer pemain catur yang mengalahkan Garry

Kasparov dalam pertandingan enam ronde yang terkenal pada tahun 1997.

Perkembangan ini terus berlanjut hingga kini.

2.2.2 Definisi Artificial Intelligence

a. Menurut Winston dan Prendergast (1984):

"Kecerdasan buatan (Artificial Intelligence) adalah sebuah mesin yang lebih

pintar, lebih bermanfaat dan dapat memahami apa itu kecerdasan"

b. Menurut H.A.Simon (1987)

Kecerdasan buatan (Artificial Intelligence) merupakan kawasan penelitian,

aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk

melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas"

c. Menurut Rich dan Knight (1991)

"Kecerdasan buatan (Artificial Intelligence) merupakan sebuah studi tentang

bagaimana membuat komputer melakukan hal - hal yang pada saat ini dapat

dilakukan lebih baik oleh manusia"

d. Menurut Kusumadewi (2003)

"Kecerdasan buatan (Artificial Intelligence) adalah salah satu bagian ilmu

komputer yang membuat agar komputer dapat melakukan pekerjaan seperti

dan sebaik yang dilakukan oleh manusia"


16

2.2.3 Bidang Bidang Kecerdasan Buatan

a. Sistem Pakar (Expert System)

Sistem pakar adalah program komputer yang didesain untuk berlaku

sebagai seorang ahli dalam suatu bidang khusus. Namun sekarang sistem pakar

biasanya hanya digunakan untuk membantu para ahli dalam memecahkan suatu

masalah.

b. Natural Language Processing (NLP)

Natural Language Processing adalah komputer yang dimaksudkan untuk

mengenal makna dari bentuk kalimat berbeda-beda. Selain mampu mengerti

bahasa sehari-hari, NLP juga mencakup kemampuan membentuk kalimat dalam

bahasa sehari-hari.

c. Pengenalan Pola

Recognition adalah program komputer yang ditujukan untuk mengenali

suatu objek. Contohnya dalam Speech Recognation, komputer dapat mengenali

suara, dan sekaligus bias membedakan berbagai macam bentuk sinyal. Contoh

lain dalam Character Recognation, komputer dapat mengenali karakter, sekaligus

dapat membedakan berbagai macam bentuk karakter.

d. Computer Vision

Ilmu pengetahuan dan teknologi komputer yang berkaitan dengan

pengolahan citra komputer seakan dapat melihat benda, terkait dengan teori

untuk membangun suatu sistem yang terdiri dari gambar. Contoh yang sering

digunakan adalah pendeteksian plat nomor kendaraan.


17

e. Robotic

Mesin yang diprogram untuk melakukan tugas-tugas mekanik,

berintelegensi dan dapat member respon terhadap perubahan lingkungan.

Contohnya adalah Asimo dan Aibo.

f. Automatic Programming

Komputer yang dapat membuat program sendiri dan menyesuaikan dengan

spesifikasi yang dinginkan oleh pemrogram.

g. Planning and Decission Support

Komputer yang memiliki kemampuan khusus untuk membantu manajer

dalam membuat perancanaan dan pengambilan keputusan.

h. Soft Computing

Soft Computing adalah koleksi dari beberapa metodologi yang bertujuan

untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian

dan kebenaran parsial untuk dapat diselesaikan dengan mudah, kuat, dan biaya

penyelesaiannya murah. Definisi ini pertama kali diungkapkan oleh Prof. Lofti

Zadeh pada tahun 1992. Soft Computing merupakan inovasi baru dalam

membangun sistem cerdas. Sistem cerdas ini merupakan sistem yang memiliki

keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar

agar dapat bekerja lebih baik jika terjadi perubahan lingkungan.


18

2.3 SDLC(System Development Life Cycle)

SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan

programmer dalam membangun sistem informasi. Ada beberapa model SDLC. Model

yang cukup populer dan banyak digunakan adalah waterfall. Model yang digunakan

pada penulisan skripsi ini adalah dengan model waterfall. Model ini adalah model yang

muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi

merupakan model yang paling banyak dipakai didalam Software Engineering (SE).

Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan

sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan

maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus

menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap

desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara

umum tahapan pada model waterfall dapat dilihat pada gambar 2.1.

Gambar 2. 1 Waterfall - Model


19

Gambar di atas adalah tahapan umum dari waterfall model menurut Roger S.

Pressman (1997). Model ini memberikan pendekatan-pendekatan sistematis dan

berurutan bagi pengembangan piranti lunak. Berikut adalah penjelasan dari tahap-tahap

yang dilakukan di dalam model ini menurut Pressman:

1. System / Information Engineering and Modeling

Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang

akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat

software harus dapat berinteraksi dengan elemen - elemen yang lain seperti

hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.

2. Analisa Kebutuhan

Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk

mengetahui sifat dari program yang akan dibuat, maka para software engineer

harus mengerti tentang domain informasi dari software, misalnya fungsi yang

dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan

sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.

3. Design

Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi

representasi ke dalam bentuk blueprint software sebelum coding dimulai.

Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada

tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus

didokumentasikan sebagai konfigurasi dari software.


20

4. Coding

Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain

tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin,

yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan

implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh

programmer.

5. Testing / Verification

Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software.

Semua fungsi - fungsi software harus diujicobakan, agar software bebas dari

error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah

didefinisikan sebelumnya.

6. Maintenance

Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah

pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.

Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan

sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software

tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal

perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

2.4 Perancangan Basis Data

Basis data atau database menurut Connolly (2002,p14) adalah kumpulan data

yang dihubungkan secara bersama-sama, dan gambaran dari data yang dirancang untuk

memenuhi kebutuhan informasi dari suatu organisasi. Berbeda dengan sistem file yang
21

menyimpan data secara terpisah, data pada basis data tersimpan secara terintegrasi. Basis

data bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya perusahaan

yang dapat digunakan bersama.

Banyak terdapat aplikasi yang mengatur manajemen basis data, diantaranya SQL

dan Micorosft Access. Ada kalanya suatu program aplikasi memerlukan basis data untuk

mendukungnya. Basis data diperlukan jika data yang dimiliki terlalu banyak jumlahnya,

atau apabila pengguna ingin melakukan fungsi menambahkan, mengubah, atau

menghapus data yang akan digunakan dalam menjalankan program aplikasi.

2.5 IMK(Interaksi Manusia dan Komputer)

Menurut Shneiderman (2005, p74 75), sebuah sistem berbasis komputer selalu

mempunyai elemen manusia yang terkait di dalamnya. Elemen manusia ini berinteraksi

langsung dengan perangkat keras dan perangkat lunak melalui perantara sebuah

antarmuka (interface).

Penggunaan delapan aturan emas berasal dari prinsip prinsip yang didapatkan

dari pengalaman dan direvisi selama lebih dari 2 dekade. Aturan delapan emas yaitu :

Berusaha untuk konsisten

Urutan aksi yang konsisten diperlukan pada situasi yang sama. Konsistensi juga

harus digunakan pada prompt, menu, layar bantu. Warna tampilan, kapitalisasi,

huruf dan sebagainya juga harus konsisten.

Memungkinkan penggunaan shortcut

Menambahkan feature untuk pemakai yang sudah ahli (seperti penjelasan,

shortcut) bisa memperkaya desian interface dan meningkatkan kualitas sistem.


22

Memberikan umpan balik yang informatif

Untuk setiap tindakan yang dilakukan pemakai, diharapkan adanya respon dari

sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi,

respon yang ada bisa dibuat secara sederhana, sedangkan tindakan yang jarang

dilakukan dan membutuhkan banyak aksi harus lebih ditonjolkan.

Merancang dialog yang memberikan penutupan

Urutan aksi harus disusun ke dalam kelompok awal, tengah, dan akhir. Suatu

umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk

mengindikasikan bahwa pekerjaan telah selesai dan siap untuk melanjutkan ke

aksi berikutnya.

Memberikan pencegahan kesalahan dan penanganan kesalahan sederhana

Sebisa mungkin dibuat sistem yang tidak akan menghasilkan kesalahan yang

serius jika digunakan oleh pemakai. Jika pemakai membuat kesalahan, sistem

tersebut harus dapat mendeteksi kesalahan dan menawarkan instruksi yang

sederhana, konstruktif, dan spesifik untuk perbaikan.

Memungkinkan pembalikan aksi yang mudah

Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan awal.

Mendukung pusat kendali internal

Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang yang merespon

aksi.

Mengurangin beban ingatan jangka pendek


23

Karena keterbatasan manusia dalam pemrosesan informasi pada ingatan jangka

pendek, sebaiknya tampilan dibuat sederhana, beberapa halaman dijadikan satu,

dan harus ada waktu yang cukup untuk mempelajari kode, singkatan, serta urutan

aksi. Informasi seperti singkatan atau kode sebaiknya juga tersedia.

2.6 UML (Unified Modelling Language)

Menurut Whitten (2004, p408) UML adalah suatu konvensi pemodelan yang

digunakan untuk menentukan atau menggambarkan sebuah sistem piranti lunak yang

terkait dengan objek.

UML terdiri dari berbagai tipe diagram, antara lain : (Joseph Schmuller, 1999)

Flowchart

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan

dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan

dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu.

Sedangkan hubungan antar proses digambarkan dengan garis penghubung.

Flowchart ini merupakan langkah awal pembuatan program. Dengan

adanya flowchart urutan poses kegiatan menjadi lebih jelas. Setelah flowchart

selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke

bentuk program dengan bahasa pemrograman. Pada gambar 2.2 dapat dilihat

contoh bagan flowchart dari cara peminjaman buku.


24

Gambar 2. 2 Contoh Flowchart Peminjaman buku

Use Case Diagram

Use Case Diagram secara grafis menggambarkan interaksi antara sistem,

sistem eksternal dan pangguna. Dengan kata lain, secara grafis mendeskripsikan

siapa yang akan menggunakan sistem dan dalam cara apa pengguna

mengharapkan interaksi dengan sistem itu. Use case adalah sebuah deskripsi dari
25

tingkah laku sebuah sistem yang dilihat dari sudut pandang user. Bagi para

pengembang, ini adalah tool yang sangat berharga : sebuah teknik tried and

true yang dipakai untuk mengumpulkan persyaratan sebuah sistem yang dilihat

dari sudut pandang user. Teknik pengumpulan tersebut penting jika tujuannya

adalah untuk membangun sebuah sistem yang bisa digunakan semua orang

(bukan hanya orang yang terbiasa dengan komputer) seperti pada contoh gambar

2.3.

Gambar 2. 3 Contoh Use Case Diagram

Sequence Diagram

Sequence Diagram secara grafis menggambarkan bagaimana objek

berinteraksi satu sama lain melalui pesan pada eksekusi sebuah use case atau

operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima

diantara objek dan dalam urutan apa.


26

Sequence Diagram digambarkan sebagai interaksi dari 2 grafik

dimensional. Dimensi vertikal merupakan sumbu waktu, yang berjalan makin ke

bawah. Dimensi horizontal menggambarkan peranan classifier yang

menampilkan objek individual di dalam kolaborasi. Tiap peranan classifier

digambarkan dengan kolom vertikal sebagai lifeline. Dalam waktu selama

objek ada, peranan dari object tersebut digambarkan dengan garis putus putus.

Selama aktivasi prosedur pada sebuah object masih aktif, lifeline digambarkan

dengan garis ganda (double line). Pesan ditunjukkan dengan gambar anak panah

(arrow) dari lifeline suatu object menuju object yang lainnya. Anak panah

tersebut diatur menurun sesuai urutan waktu di dalam diagram.

Sequence diagram menunjukkan interaksi yang dinamis berdasarkan

waktu. Sebagai contoh terdapat mesin cuci, komponen mesin tersebut meliputi

pipa air (untuk masuknya air bersih), sebuah drum (tempat menampung 18

pakaiannya), dan sebuah saluran (untuk membuang air kotor). Itu semua tentu

saja merupakan object. Apa yang akan terjadi jika kita menyertakan sebuah use

case mesin cuci? Asumsikan tambah pakaian, tambah deterjen, dan

nyalakan sudah dioperasikan semua, urutan langkah langkahnya yang terjadi

seperti ini:

1. Air memasuki drum melalui pipa air

2. Drum berputar secara konstan selama lima menit

3. Air berhenti masuk

4. Drum dengan arah kebalikan sebanyak empat kali selama lima belas

menit
27

5. Air yang berbusa keluar melalui saluran

6. Air bersih kembali dimasukkan

7. Drum tetap berputar dengan arah kebalikan

8. Air berhenti masuk

9. Air untuk membilas keluar melalui saluran

10. Putaran drum menjadi hanya satu arah dan bertambah cepat selama lima

menit

11. Drum berhenti berputar dan cucian sudah selesai

Sequence diagram dari cara kerja mesin cuci dapat dilihat pada gambar 2.4.
28

Gambar 2. 4 contoh sequence diagram

2.7 Fast Genetic K-Means Algorithm (FGKA)

Fast Genetic K-Means Algorithm adalah penggabungan algoritma Algoritma

Genetik dan Algoritma Clustering Kmeans. Kemunculan algoritma gabungan ini

dilakukan oleh Yi Lu, Shiyong Lu, dan Farshad Fotouhi di tahun 2004. Mereka

terinspirasi atas Genetik K-Means Algorithm (GKA) diusulkan oleh Krishna dan Murty
29

di tahun 1999. Perbedaan kedua algoritma adalah waktu kecepatan yang dipakai untuk

mendapatkan hasil nilai keakuratan perbandingan beberapa gambar.

FGKA dimulai dengan fase inisialisasi, yang menghasilkan populasi awal P0.

Populasi pada generasi berikutnya Pi +1 diperoleh dengan menerapkan operator genetik

berikut berurutan: seleksi, mutasi dan operator K-Means pada Pi populasi saat ini.

Evolusi berlangsung sampai kondisi penghentian tercapai.

Fase inisialisasi awal secara acak menghasilkan populasi P0 solusi Z yang

mungkin berakhir dengan ilegal string. Pada pengecekan pertama string yang ilegal tidak

diinginkan. Untuk alasan ini dari algoritma GKA dibuat upaya yang signifikan untuk

menghilangkan string ilegal. String ilegal apapun diizinkan di FGKA, tetapi tetap

dianggap sebagai solusi yang paling tidak diinginkan, dan oleh TWCVs mereka

didefinisikan sebagai + dan penugasan untuk mereka dengan nilai fitness yang lebih

rendah. Fleksibilitas ini yang memungkinkan string ilegal dalam proses evolusi

menghindari overhead dari string illegal eliminasi, dan dengan demikian meningkatkan

kinerja waktu algoritma.

2.8 Metode Pencarian Gambar

Ada tiga tahapan utama dalam pencarian gambar ini, yaitu ekstraksi fitur,

klastering dan matching (pencocokan). Ekstraksi fitur adalah proses pengambilan

histogram dan hasil gabor, baik dari gambar database maupun gambar query. Klastering

adalah proses untuk mengelompokkan data-data yang mempunyai kemiripan. Sedangkan

matching (pencocokan), adalah proses pembandingan antara gambar query dengan

gambar dalam database.


30

2.8.1 Ekstrasi Fitur

Ekstraksi fitur adalah proses pengambilan histogram (warna) serta nilai mean

dan standard deviasi (untuk fitur tekstur), baik dari gambar database maupun gambar

query. Diagram urutan ekstrasi fitur dapat dilihat pada gambar 2.5.

Gambar 2. 5 Diagram Blok Ekstrasi Warna

Tahap ini terdiri dari beberapa sub tahapan, yaitu:

a. Pengambilan nilai RGB tiap pixel yang kemudian langsung dikonversi ke HSV.

b. Kuantisasi warna dari yang semula berjumlah (360 x 255 x 255) atau 23409000

kemungkinan warna, diubah menjadi (4 x 4 x 4) atau 64 kemungkinan warna.

Dengan cara ini, nilai H berkisar antara 0 sampai dengan 3, S berkisar antara 0

sampai dengan 3, dan V berkisar antara 0 sampai dengan 3.

c. Normalisasi.
31

d. Pembuatan HSV Histogram. Pada langkah ini juga dilakukan pembuatan

Thumbnails yang berguna untuk menampilkan hasil pencarian dalam bentuk

icon.

2.8.2 Klastering

Tahap ini merupakan implementasi dari algoritma FGKA untuk melakukan

klasterisasi terhadap sejumlah HSV histogram yang di combine dengan nilai hasil

filter gabor, sesuai dengan kedekatan jarak (kemiripan) antara gambar-gambar.

Langkah langkah urutan klastering dapat dilihat pada gambar 2.6.

Gambar 2. 6 Diagram Blok FGKA


32

Berikut ini 3 operator genetic yang akan digunakan dalam mencari

potongan gambar dari puzzle yang memiliki nilai kecocokan tertinggi.

Operator Seleksi

Seleksi yang dipakai adalah seleksi yang disebut proporsional untuk

seleksi operator yang dimana populasi generasi berikutnya ditentukan oleh Z

percobaan acak independen. Setiap percobaan secara acak memilih solusi dari arus

populasi {S1, S2, ..., Sz} sesuai dengan distribusi probabilitas. Probabilitas {p1,

p2, ..., pz} didefinisikan oleh. dimana F (Sz) menunjukkan

nilai fitness dari solusi Sz. Dari probabilitas ini, kemudian dilakukan penyeleksian

menggunakan Roullete Wheel yaitu kromosom dengan probabilitas yang tinggi

akan bertahan untuk ikut diproses dalam operator selanjutnya. (Wulansari,2010)

Dan =

Dimana TWCVmax adalah TWCV maksimum yang telah ditemui sampai

generasi sekarang, Fmin adalah nilai string legal dengan fitness terkecil dalam

populasi saat ini jika mereka ada, jika tidak ada maka dianggap Fmin = 1.

The Mutation Operator

Pada operator ini, tiap kromosom dikodekan dengan a1 a2 ... aN dan

operator mutasi melakukan mutasi pada suatu gen an (n = 1...N) dengan nilai baru

an dengan sejumlah 0 < MP < 1 sebagai parameter yang dimasukkan oleh

pengguna. Nilai tersebut dinamakan probabilitas mutasi. Mutasi dilakukan dengan


33

an yang dipilih secara random dari {1, 2, .. ,K) dengan distribusi (p1, p2, ..., pZ)

yang didefinisikan dengan rumus sebagai berikut :

dimana d (Xn, ck) adalah jarak Euclidean antara pola Xn dengan titik pusat ck dari

cluster yang ke k, dan dmax(Xn) = max{d(Xn,Ck)}. Jika cluster k kosong, maka d

(Xn, ck) didefinisikan sebagai 0. Bias 0.5 diperkenalkan untuk menghindari

kesalahan pembagian dengan angka 0. (Wulansari,2010)

The K-means Operator

Operator K-Means ini digunakan untuk mempercepat konvergensi. Solusi yang

ada dikodekan dengan a1 a2 ... aN. Operator ini akan mengganti isi dari gen an (n

= 1...N) dengan nilai baru an., dimana nilai yang baru merupakan klaster dengan

jarak terpendek dari data an yang dihitung menggunakan rumus Euclidean.

2.8.3 Matching

Setelah proses klastering selesai dilakukan, maka tiap klaster tersebut dihitung

nilai gabungan antara histogram dengan nilai gabor rata-ratanya (untuk dijadikan

centroid). Nilai centroid - centroid ini kemudian dibandingkan dengan HSV histogram

dan nilai gabor gambar query. Centroid yang memiliki jarak paling dekat merupakan

solusinya. Cara yang dipakai untuk mengukur jarak antar dua histogram adalah

menggunakan Euclidan distance. (Elena Deza, 2009)


34

Rumusnya: d(A,B) =

2.9 Game

Game merupakan aktivitas terstruktur yang biasanya bertujuan dalam

mendapatkan kesenangan dan bahkan digunakan sebagai suatu edukasi. Namun, tidak

semua permainan bertujuan seperti diatas, adapun permainan yang dijadikan suatu

profesi seperti olahraga professional dan lain sebagainya.

Jenis game yang ada saat ini sangat banyak, diantaranya adalah olahraga,

permainan anak-anak, permainan elektronik, dan lain sebagainya.(Anonim A, 2008).

2.9.1 Computer Game

Personal computer game atau biasa dikenal juga dengan computer game.

Computer game adalah game yang dimainkan secara personal dengan menggunakan

komputer dan bukan pada mesin console ataupun arcade.(Anonim B, 2008).

2.9.2 Jenis-jenis Game

Game biasanya dikelompokan kedalam kategori-kategori berdasarkan gameplay-

nya. Jenis game yang ada saat ini sangat banyak, dan banyak diantaranya memiliki

kesamaan namum berbeda genre makan jenis game tidak selalu pasti. Berikut ini adalah

jenis jenis game yang diklasifikasikan secara umum.


35

a. Action

Jenis game yang hampir keseluruhan memerlukan konsentrasi mata dan

tangan. Membutuhkan refleks antara mata dan gerakan tangan. Pada awalnya,

game action tidak berfokus pada strategi dan perhitungan dalam aksi, namun

game action saat ini telah mengadopsi cerita dan kebutuhan strategi.

b. Strategi

Jenis game yang lebih menitikberatkan manajemen dan pengendalian

suatu objek atau banyak objek dibanding respon antara tangan dan mata.

Ketangkasan dalam mengatur taktik dan strategi sebelum aksi langsung sangat

ditekankan dalam permainan ini dan biasanya dimulai dengan resource yang

sedikit.

c. RPG (Role Playing Game)

Mirip dengan strategi game, RPG memilik statistik yang banyak dan

biasanya bergantung pada pengembangan karakter. Alur permainan bergantung

kepada pilihan sang pemain, begitupun dengan statistik pemain yang

perkembangannya berdasarkan pilihan pemain. Pada game jenis ini terdapat

banyak quest atau misi-misi yang mengharuskan pemain menjelajahi dunia

pada game ini. Biasanya, game jenis ini memiliki dunia fantasi yang besar.
36

d. Action RPG

Merupakan genre terbaru dari jenis-jenis game yang ada. Kombinasi

antara RPG dengan Action, dimana ketajaman mata dan refleks tangan serta

manajemen karakter pemain sangat ditekankan. Game jenis ini masih sangat

jarang ditemukan, dan game jenis ini membutuhkan hardware requirement

besar. Contohnya : Fallout 3, Stalker.

e. Simulation

Game yang mensimulasikan sebuah objek atau proses aktivitas pada

dunia nyata. Game ini mengajak user untuk merasakan sebuah aktivitas tertentu

tanpa harus melakukannya pada dunia nyata. Realita menjadi kunci utama pada

game jenis ini. Contohnya : Flight Simulator, HAWX.

f. Sport

Game yang kesuluruhannya mensimulasikan olahraga perseorangan

maupun kelompok. Mirip seperti simulation, game ini juga mementingkan

realita.

g. Puzzle atau teka teki

Permainan jenis klasik dibanding jenis - jenis permainan lainnya.

Permainan ini tidak memerlukan kinerja berfikir yang berat. Lebih ditujukan

untuk hiburan semata. Contohnya : Puzzle, susun kata dan sebagainya.


37

2.9.3 Game Design

Menurut Tom Sloper (anonim10, 2008), perancangan game mempunyai format

seperti dibawah ini :

a. Judul Game

Judul game ini diisi dengan sebuah nama game. Judul game biasaya

dibuat dengan judul yang semenarik mungkin yang bisa mencerminkan game

itu. Judul biasa diperoleh dari nama tempat kejadian di permainan itu, nama

kejadian, maupun pelakunya, dan lain - lain.

b. Game untuk [platform game]

Platform game ini diisi dengan perangkat keras yang akan digunakan

untuk memainkan game tersebut, misalnya : computer, PS2, Nintendo dan lain

lain.

c. Copyright 2008 [nama]

Baris diatas menjelaskan tahun pembuatan game tersebut dan nama

pembuat game tersebut. Nama bisa berasal dari nama tim, nama perusahaan,

maupun nama pribadi.

d. Informasi Umum

Menjelaskan deskripsi dari permainan yang akan dibuat. Paragraf

pertama harus bisa menarik minat pembaca, misalnya dengan memberikan

ilustrasi dan gambar, menjelaskan poin dari gameplay.


38

e. Deskripsi Game Secara Detail

1) Konsep Dasar

Konsep dasar menceritakan konsep utama dari game tersebut.

2) Latar Belakang Cerita

Menceritakan sebuah cerita diawal permainan yang akan semakin

berkembang seiring dengan gameplay. Latar belakang cerita idealnya

adalah cerita yang menarik, seperti REAL STELL.

3) Objective

Menceritakan tujuan dari game tersebut. Jelaskan secara detil untuk

mencegah kesalahpahaman.

4) Gameplay

Mendeskripsikan bagaimana game itu bekerja dari awal hingga akhir.

Ada beberapa pertanyaan yang bisa membantu untuk mengembangkan

gameplay.

Bagaimana rancangan antarmuka?

Bagaimana struktur dasar interaktif?

Bagaimana tingkat kesulitan dari game tersebut?

Berapa lama waktu yang diperlukan untuk menyelesaikan game

tersebut?
39

f. Aspek Lain dari Design

1) Karakter

Urutkan dan jelaskan karakter didalam game itu, jika ada. Tuliskan

kepribadian, kemampuan, dan bagaimana aksinya dalam game.

2) Dunia

Menjelaskan tempat dimana adegan itu berlangsung.

3) Kontrol

Menjelaskan antarmuka pengguna.

4) Grafis

Menjelaskan grafik secara umum. Game akan lebih bagus jika ada

visualisasi.

5) Suara dan Musik

Mendeskripsikan pemakaian dan mendata unsur suara dan musik yang

digunakan. Sebaiknya setiap aksi digabung dengan suara yang cocok.

2.10 Jigsaw Puzzle

Puzzle adalah suatu masalah dimana dapat membuat orang yang mencoba

memecahkannya berpikir. Puzzle digunakan untuk hiburan dan dapat membantu

kemampuan logika. Pemain mungkin perlu untuk mengenali pola-pola untuk

mengatasinya, sehingga mereka yang memiliki logika yang baik biasanya baik dengan

Puzzle. Bermain puzzle dapat mengasah otak kanan para pemainnya. Puzzle terdiri atas

Cube Puzzle, Sudoku Puzzle, Jigsaw Puzzle, dan banyak lagi.


40

Kali ini penulis akan membahas Jigsaw Puzzle sebagai topik yang akan

digunakan untuk skripsi. Jigsaw Puzzle adalah teka-teki yang mengharuskan pemain

untuk memasang kembali potongan potongan gambar sesuai dengan pola gambar

awal. Bila tiap - tiap potongan gambar diletakkan pada posisi yang tepat akan

menghasilkan suatu gambar yang utuh dan sempurna.

Permainan Jigsaw Puzzle dapat memberikan kontribusi yang cukup besar untuk

mengembangkan kecerdasan Anda. Mereka meningkatkan tingkat kecerdasan bahasa,

aritmatika dan kemampuan numerik. Permainan puzzle ini tersedia secara online dengan

tema yang menarik seperti peta, tempat - tempat terkenal, hewan, alam dan kendaraan.

Teka teki ini diyakini meningkatkan kemampuan intelektual dari orang biasa.

Sekarang puzzle online telah dibuat menampilkan grafik warna-warni, gambar menarik

dan ikhtisar indah.. Jigsaw Puzzle online populer di kalangan pemain dari segala usia.

Tren baru dari game ini di internet termasuk teknik bermain klasik digunakan 300 tahun

lalu.

2.11 Visual Basic

Bahasa Visual Basic adalah salah satu diantara sekian banyak bahasa

pemrograman yang cukup banyak digunakan oleh para programmer. Visual Basic adalah

bahasa pemrograman visual dengan dasar pemrograman bahasa Basic. Bahasa BASIC

(Beginner's All-purpose Sybolic Instruction Code) dikembangkan pertama kali pada

awal 1950-an. Sementara bahasa Visual Basic, yang merupakan pengembangan bahasa

basic dikembangkan pertama kali oleh Microsoft pada tahun 1991.


41

Visual Basic merupakan salah satu Development Tool yaitu alat bantu yang

dapat digunakan untuk membuat berbagai macam program komputer, khususnya yang

berbasis windows. Pembuatan aplikasi dengan menggunakan bahasa Visual Basic

dimulai dengan memperkirakan kebutuhan, kemudian merancang tampilan program

yang diikuti dengan pembuatan kode program tersebut. Berikuti ini merupakan tampilan

langsung dari Visual Basic 2010 seperti pada gambar 2.7.

Gambar 2. 7 Tampilan Lingkungan Visual Basic

Agar bisa menguasai bahasa pemrograman Visual Basic, diharuskan mempelajari

dasar - dasarnya dengan lebih baik dan kuat. Beberapa komponen utama dalam bahasa

visual yang harus diketahui diantaranya :


42

Project

Project adalah sekumpulan modul. Jadi project (proyek) adalah program

aplikasi itu sendiri. Didalamnya terdapat form beserta code nya. Project ini

disimpan dalam file berakhiran .vbp. File ini akan menyimpan seluruh komponen

program, termasuk pilihan proyek, pilihan environment, pilihan file EXE dan

segala sesuatu yang berhubungan dengan proyek.

Pada jendela proyek terdapat tiga icon, yaitu icon View Code, icon View

Object dan icon Toggle Folder. Icon View Code dipakai untuk menampilkan

jendela editor kode program. Icon View Object dipakai untuk menampilkan

bentuk formulir (form) dan icon Toggle Folders berguna untuk menampilkan

folder (tempat penyimpanan folder).

Form

Form adalah object yang dipakai sebagai tempat bekerja program

aplikasi. Jadi bisa dikatakan di form inilah kita melakukan aktifitas perancangan

program. Biasanya pada saat mendesain Form, terdapat garis titik-titik yang

disebut grid. Grid sangat berguna untuk membantu pengaturan tata letak objek

yang dimasukkan dalam form, karena gerakan penunjuk mouse akan sesuai

(tepat) pada titik-titik grid.

Toolbox

Toolbox adalah kotak alat yang berisi icon-icon untuk memasukkan objek

tertentu ke dalam jendela Form. Kita dapat memodifikasi toolbox, misalnya

menambah komponen icon dengan mengklik kanan pada toolbox, lalu memilih

Components atau Add Tab.


43

Icon - icon pada toolbox ini seringkali disebut sebagai control. Setiap

kontrol memeiliki properti seperti warna, tulisan yang diletakkan pada control

dan properti lainnya. Control - control diletakkan pada toolbox untuk dipilih dan

digambarkan pada form.

Properti

Properti digunakan untuk menentukan setting suatu objek. Suatu objek

biasanya mempunyai beberapa properti yang dapat diatur langsung dari jendela

Properties atau lewat kode program. Setting properti akan menentukan cara kerja

dari objek yang bersangkutan saat program aplikasi dijalankan, misalnya

menentukan warna objek, bingkai objek, pengambilan data dan lain-lain.

Kode Program

Kode program adalah serangkaian tulisan perintah yang akan

dilaksanakan jika suatu Objek dijalankan. Kode program ini akan mengontrol

dan menentukan jalannya suatu objek.

Event

Event adalah peristiwa atau kejadian yang diterima oleh suatu objek,

misalnya klik, seret, tunjuk, dan lain-lain. Event yang diterima objek akan

memicu MS VB menjalankan kode program yang ada di dalamnya.


44

Metoda (Method)

Metoda adalah suatu set perintah seperti halnya fungsi dan prosedur,

tetapi sudah tersedia di dalam suatu objek. Seperti halnya properti (yang juga

terdapat pada suatu objek), suatu metoda dapat dipanggil dengan menyebut nama

objek diikuti tanda titik dan nama metodanya.

Anda mungkin juga menyukai