bab 2 landasan teori 2.1 teknologi informasithesis.binus.ac.id/asli/bab2/2007-2-00252-if-bab...
TRANSCRIPT
6
BAB 2
LANDASAN TEORI
2.1 Teknologi Informasi
Komputer dan Teknologi Informasi merupakan dua perkataan yang mempunyai
makna berbeda tapi saling berkaitan erat. Menurut literatur yang ada, teknologi
informasi adalah gabungan antara teknologi komputer dan teknologi komunikasi.
Teknologi komputer adalah teknologi yang berkaitan dengan aspek-aspek pengolahan
data, seperti menyimpan data, mengklasifikasikan, kalkulasi, penggandaan data dan
sebagainya. Sedangkan teknologi komunikasi adalah teknologi yang berkaitan dengan
aspek-aspek komunikasi data, seperti telepon, sistem jaringan komputer, dan sebagainya.
Secara umum dapat dikatakan teknologi informasi adalah seperangkat alat yang dapat
membantu manusia bekerja dengan informasi dan melakukan tugas-tugas yang
berhubungan dengan pengolahan data dan informasi. Teknologi informasi dengan unsur
utamanya yang dikenal dengan nama multimedia, juga dapat melahirkan fitur-fitur baru
dalam dunia pendidikan sedemikian hingga dapat menyajikan berbagai macam media
penyampaian yang melibatkan media teks, media suara, media gambar, media animasi
dan sebagainya.
Penggunaan teknologi informasi dalam dunia pendidikan pada saat ini sudah
sangat diperlukan. Berbagai pempelajaran yang berbasiskan teknologi informasi
sekarang ini sudah banyak pula dimanfaatkan, misalnya pembelajaran berbantuan
komputer, (computer based learning), pembelajaran jarak jauh (distance learning),
7
pembelajaran elektronik (e-learning) dan lain-lain. Selain itu, penerapan teknologi
informasi juga sangat bermanfaat untuk pengelolaan manajemen pendidikan. Para pakar
teknologi informasi yang banyak bekerja dalam bidang pendidikan, mengatakan bahwa
komputer lebih sesuai digunakan sebagai alat bantu dalam proses pembelajaran. Hal ini
telah dibuktikan dalam banyak fakta, informasi di media masa dan juga berdasarkan
penelitian yang telah dilakukan, bahwa pembelajaran yang memanfaatkan teknologi
informasi jauh lebih efektif. Diharapkan teknologi ini dapat memainkan peranan yang
lebih menonjol dalam proses pendidikan, melalui tenaga pengajar yang kreatif, inovatif
dan sanggup mempelajari sesuatu yang baru khususnya teknologi komputer, agar
penggunaannya dalam pendidikan bisa lebih optimum.
Seperti halnya di negara-negara maju maupun yang sedang berkembang,
teknologi informasi sudah menjadi bagian dari kehidupan pendidikannya, kurikulumnya
tidak saja mengajarkan apa itu teknologi informasi tetapi juga sudah menerapkan
penggunaan teknologi ini sewaktu menyampaikan pembelajaran dan pengajarannya.
Berkaitan dengan masalah ini, hasil penelitian yang dilakukan baru-baru ini
menunjukkan di beberapa sekolah menengah atas di Kota Medan dan sekitarnya
disinyalir masih belum dapat memanfaatkan teknologi informasi ini secara maksimal,
baik dalam hal pembelajaran maupun dalam sistem pengelolaan manajemen pendidikan
itu sendiri.
2.2 Computer Aided Instruction (CAI)
Sistem Computer Aided Instruction diciptakan pada tahun 1960an. Sistem ini
dirancang untuk meningkatkan pembelajaran dengan menampilkan permasalahan-
8
permasalahan kepada pemelajar, menyimpan data jawaban/respon dari pemelajar, dan
menghitung performansi rata-rata dari pemelajar.
CAI adalah software untuk membantu pemahaman siswa tentang suatu obyek.
Aplikasinya berupa dialog antara siswa dengan komputer. Secara bertahap komputer
akan memberi pertanyaan. Berdasarkan jawaban yang dimasukkan siswa, komputer akan
memberi informasi apakah siswa melakukan kesalahan.
Fungsi-fungsi CAI adalah:
• Menilai kemampuan siswa dengan pre-test
• Menyediakan materi yang prosedural
• Menyediakan latihan-latihan untuk meningkatkan kemampuan siswa
• Menilai kemampuan siswa dengan post-test
CAI mengacu pada tutor komputerisasi traditional dengan :
• hanya menyediakan interaktivitas yang terbatas,
• pengiriman/penyampaian semua instruksi secara sekuensial,
• penyedia umpan balik yang terbatas ketika pemelajar menjawab pertanyaam
secara tidak benar,
• umumnya berdasarkan ide tentang pengajaran.
Walaupun CAI telah menyediakan pembelajaran individu selama kurang lebih 25
tahun, sistem ini sangat pasif dimana sistem ini hanya menampilkan teks jika
mendapatkan tanggapan dari pebelajar. CAI juga gagal meningkatkan level pengetahuan
pemelajar dan tentu saja sistem ini tidak memiliki kemampuan sebagai manusia yang
dapat mengetahui kapan harus membantu pemelajar ketika menghadapi kesulitan
terhadap suatu objek atau kapan melanjutkan pemberian topik baru ketika pemelajar
9
sudah mengalami peningkatan. Untungnya dengan kemajuan dalam bidang intelejensia
semu dan pengetahuan kognitif dikombinasikan dengan kemampuan dalam proses
komputer, sebuah bidang baru yang disebut sistem tutorial intelijen (STI) telah muncul
untuk mengatasi kekurangan-kekurangan CAI.
2.3 Sistem Tutorial Intelijen (STI)
Pada sekitar tahun 1960-an, dikembangkan pendekatan baru yang lebih
menitikberatkan proses pembelajaran berbasis komputer yang berorientasi pada struktur
informasi untuk merepresentasi cara belajar manusia. Pendekatan ini disebut Sistem
Tutorial Intelijen (STI). Pendekatan ini di tahap awal tidak berkembang dengan baik
karena beberapa sebab. Pertama, ilmu pengetahuan tentang kognisi manusia masih
relatif belum matang sejalan dengan tahap awal ilmu komputer. Kedua, pemodelan yang
kompleks dan sistem berbasis aturan ternyata membutuhkan computing power yang
tinggi yang belum tersedia saat itu.
Sistem Tutorial Intelijen adalah sistem intelejensia yang menyediakan
pembelajaran kepada pemelajar dan memiliki kemampuan membandingkan pemahaman
pengetahuan belajar oleh model pakar. Oleh karena itu, tidak seperti CAI yang pasif
menunggu pemelajar untuk melanjutkan subyeknya, STI secara nyata mendorong
keingintahuan pemelajar dengan secara aktif memantau kemajuan pemelajar dan
memberikan bantuan ketika diminta. STI mengacu pada sistem instruksional
komputerisasi advance, dimana :
• menyediakan interaktivitas yang tinggi, penyampaian pembelajaran dan
pelatihan berbasiskan komputer,
10
• menyesuaikan pembelajaran dengan kekuatan dan kelemahan pemelajar,
• menyediakan pelatihan dengan pengajar intelijensia semu,
• memperbesar metode pembelajaran secara lebih mendalam.
Setiap STI harus mempunyai basis pengetahuan, pemelajar, dan strategi
pengajaran. Basis pengetahuan berisi topik atau kurikulum yang diajarkan, pemelajar
berisi murid atau pengguna STI, strategi pengajaran adalah metode dari instruksi dan
bagaimana materi akan diberikan.
Murid belajar dari STI dengan menyelesaikan masalah. STI menganalisa
masalah dan membandingkan dengan jawabannya, lalu akan membuat analisa mengenai
perbedaan antara masalah dan jawaban. Setelah itu, STI mengupdate model pemelajar.
Tujuan dari penggunaan STI adalah untuk mengajarkan kepada pemelajar agar
pemelajar bisa belajar dengan efektif. STI harus bisa mengambil keputusan terbaik,
bukan keputusan yang paling benar.
2.3.1 Komponen-Komponen STI
Pada CAI semua komponen-komponennya dikombinasi pada sebuah
struktur tunggal. Struktur kombinasi ini menyebabkan banyak masalah ketika
sistem akan dimodifikasi karena diperlukan restrukturisasi pada keseluruhan
sistem. Oleh karena itu diperlukan pemisahan komponen sistem untuk
merepresentasikan bagaimana aksi dari pengajar dan pemelajar dalam situasi
pembelajaran. Maka dalam STI komponen-komponennya dipisah menjadi 5
komponen dasar, yaitu: model pemelajar, modul pedagogi, basis pengetahuan,
modul komunikasi, dan model pakar.
11
Sistem STI mengetahui siapa yang diajarkan dengan mengacu pada
model pemelajarnya, yang mengatur informasi detil tentang setiap pemelajar.
Model pemelajar dimulai dengan hipotesa tentang apa yang diketahui dan tidak
diketahui pemelajar sebelum pembelajaran. Hasil dari hipotesa tersebut akan
dikirimkan ke basis pengetahuan. Koleksi dan pengaturan data dalam model
pemelajar memungkinkan model pedagodi memutuskan bagaimana mengajarkan
pemelajar berdasarkan tingkat pengetahuan dan kemampuannya.
Modul basis pengetahuan berisi bahan-bahan ajar yang sedang diajarkan
oleh pengajar dan yang paling penting, tanpa modul ini tidak akan ada bahan ajar
yang bisa diajarkan kepada mahasiswa. Secara umum, modul ini membutuhkan
keahlian pengetahuan untuk menyampaikan sebuah bahan ajar sehingga bagian
lain dari pengajar dapat mengaksesnya.
Sistem STI mengetahui bagaimana cara mengajar dengan mengacu pada
model pedagogi. Model pedagogi adalah program representasi dari metode dan
teknik pakar tertentu untuk pembelajaran pada target dan pengetahuan pakar
umum tentang pembelajaran dan penampilan manusia. Model pedagogi mengatur
proses pembelajaran, mendiagnosa kesalahan pemelajar, menyeleksi,
mengadaptasi atau mengembangkan pembelajaran yang didasarkan pada
pengetahuan dan tingkat kemampuan pemelajar sekarang, dan melatih pemelajar
selama pembelajaran. Sebagai tambahan untuk keahlian umum pada
pembelajaran manusia, model pedagogi memerlukan masukan dari pakar.
Interaksi dengan pemelajar, termasuk dialog dan tampilan layar
dikendalikan oleh modul komunikasi. Pada dasarnya, modul ini bertanggung
12
jawab untuk menyampaikan bahan-bahan ajar kepada pemelajar dengan cara
seefektif mungkin.
Sistem STI mengetahui apa yang diajarkan dengan mengacu pada model
pakarnya. Model pakar mirip dengan modul pengetahuan karena didalamnya
harus terkandung informasi yang diajarkan kepada mahasiswa. Model pakar pada
prinsipnya lebih sekedar merepresentasikan data, melainkan sebuah model yang
berisi bagaimana seorang yang memiliki kepakaran pada bidang tertentu
merepresentasikan pengetahuannya. Dengan menggunakan model pakar,
pengajar dapat membandingkan jawaban atau solusi yang diberikan pemelajar
dengan jawaban pakar dan menunjukan pada bagian mana dari bahan ajar
pemelajar mengalami kesulitan.
2.3.2 Jenis-Jenis User (Pengguna) STI
Adapun jenis-jenis user adalah sebagai berikut:
• Pemelajar
Pemelajar belajar melalui courseware dan menguji pengetahuan para
pemelajar dengan menggunakan bagian dari student model dan kuis.
Courseware adalah kumpulan bahan-bahan pengajaran program
komputer yang menyediakan interaksi antara pemelajar dan sistem
biasanya menyediakan topik tertentu.
• Pengajar
Pengajar adalah seorang user yang menghasilkan isi instruksional dan
courseware berdasarkan subjek dan model pemelajar.
13
• Pakar
Fungsi utama pakar adalah penghasil pengtahuan domain.
• Administrator
Semua fungsi-fungsi diatai diatur oleh administrator sistem karena
tugasnya adalah mengatur sistem dan registrasi semua user.
2.4 Pengetahuan (Knowledge)
Knowledge penting sekali dan penelitian AI telah mengubah fokusnya dari
paradigma dasar pengambilan kesimpulan (inference-based paradigm) ke paradigma
dasar pengetahuan (knowledge-based paradigm). Knowledge terdiri dari fakta dan
heuristik (metode pengajaran yang membantu pemelajar belajar sendiri). “Fakta”
merupakan kumpulan informasi yang dibagikan /disiarkan secara luas, terdapat pada
umumnya, dan umumnya diakui oleh ahli-ahli di bidangnya. “Heuristik” kebanyakan
penilaian pribadi, aturan yang didiskusikan lebih sedikit dari penilaian yang bagus
(aturan dari alasan yang masuk akal, aturan dari praduga/terkaan yang baik) yang
mengkarakteristikan pengambilan keputusan oleh ahli di bidangnya.
2.4.1 Basis Pengetahuan (Knowledge-Base)
Sistem basis penhetahuan memiliki banyak karakteristik yang
membuatnya cocok untuk pengembangan STI. Beberapa karakteristiknya adalah
sebagai berikut:
o Sebuah knowledge base tentang rana tertentu
14
o Alat pengambilan kesimpulan yang membantu manusia dalam
membuat kesimpulan.
o Sebuah fasilitas untuk melacak aturan dan menjelaskan bagaimana
data-data tersebut menjadi sebuah kesimpulan
o Menyediakan fasilitas program simbolik terstruktur yang membuatnya
lebih dalam pengembangan STI lebih lanjut.
Terdapat 3 masalah utama penelitian paradigma basis pengetahuan
intelejensia semu, yaitu:
• Representasi pengetahuan
Bagaimana cara mempresentasikan pengetahuan sebagai struktur data
simbolik dalam penggunaan komputer? Bagaimana mencapai suatu
fleksibilitas dalam penambahan dan perubahan pengetahuan dalam
perkembangan basis penetahuan?
• Pemanfaatan/penggunaan pengetahuan
Rancangan-rancangan apa yang tersedia untuk prosedur pengambilan
kesimpulan digunakan oleh benda-benda hasil intelegensia semu?
Bagaimana mencapai efisiensi, seperti akurasi, performa sebagai hasil
kombinasi penambahan masalah?
• Tambahan pengetahuan (kemahiran)
Bagaimana pengetahuan diperoleh secara sistematis di bidangnya untuk
penggunaan komputer? Bagaimana pengetahuan dihasilkan ileh
programnya sendiri secara otomatis? Jika benar bahwa kekuatan program
intejensia semu merupakan fungsi utama dari kualitas dan
15
penyempurnaan dari basis pengetahuan, maka ini adalah masalah
“bottleneck” kritis dari masalah paradigma basis pengetahuan.
2.5 Dynamic Courseware Generator (DCG)
2.5.1 Definisi Dynamic Courseware Generator
Pada tahun 1992 kebutuhan untuk menggabungkan CAI dan ITS telah
menjadi suatu keharusan. Setelah pada tahun-tahun sebelumnya dilakukan
penelitian untuk menggabungkan keduanya. Maka pada tahun 1992, Vassileva
berhasil membuatnya menjadi nyata dengan sistem yang dinamakan Dynamic
Courseware Generator (DCG). Sistem tersebut mengimplemetasikan teknik
perencanaan/pencarian berbasiskan intelejensia semu untuk menentukan jalur
pembelajaran serta bahan ajar.
2.5.2 Arsitektur DCG
Arsitektur DCG terdiri dari empat bagian utama, yaitu:
• Student Model yang terdiri dari:
o goal yang mendefinisikan tujuan pembelajaran dari pemelajar
o knowledge merupakan pengetahuan yang dikuasai oleh pemelajar
tersebut
o used teaching material (TM) yang merupakan materi-materi
pembelajaran yang sudah diberikan kepada pemelajar tersebut
• Course Generator terdiri dari:
16
o planner yang merupakan modul yang dapat membuat perencanaan
pembelajaran yang efektif bagi pemelajar
o executor yang melakukan link ke situs tujuan pembelajaran dan
menyajikannya pada komputer pemelajar. Executor juga dapat
melakukan test kepada pemelajar dan kemudian mengupdate
knowledge pada student model
o course merupakan serangkaian teaching material dan testing
material
• Domain Database terdiri dari:
o concept structure merupakan konsep struktur pembelajaran yang
dalam hal ini direpresentasikan sebagai graph AND/OR
o teaching material merupakan materi pembelajaran yang terhubung
pada setiap node dari concept structure
• Authoring Module terdiri dari:
o concept structure editor merupakan editor untuk konsep struktur
o teaching materials editor merupakan editor untuk teaching
material.
17
Gambar 2.1 Aritektur DCG
2.6 Course Plan
2.6.1 Definisi
Course plan adalah perencanaan urutan pembelajaran yang berhubungan
dengan subyek tertentu dan ditujukan pada evolusi pengetahuan pemelajar.
2.6.2 Tujuan Instruksional Umum, Tujuan Instruksional Khusus, dan
Teaching Material
Dimulai dengan perancangan sistem database yang akan berisi materi-
materi pembelajaran. Pembangkit bahan ajar memberikan bahan ajar berdasarkan
Student
Goals
Knowledge
Used TMs
Executor
Course
Concept Structure
TeachingMaterials
Concept Structure
Editor
TeachingMaterials
Editor
Planner
Student Model Course Generator Domain Database
Authoring Module
18
data pemelajar yang tersimpan dalam database pemelajar. Kami memutuskan
untuk merubah materi pembelajaran yang cukup banyak jumlahnya menjadi 3
(tiga) bagian, yaitu:
• Tujuan Instruksional Umum(TIU)
TIU merupakan tujuan keseluruhan yang ingin dicapai oleh pemelajar
dalam mempelajari suatu bahan ajar. Dengan adanya TIU ini, pemelajar
akan mudah mengenali apa yang mereka ingin pelajari karena bersifat
luas.
• Tujuan Instruksional Khusus(TIK)
TIK merupakan subgoal-subgoal dari Tujuan Instruksional Umum yang
terpecah menjadi bahan ajar yang lebih kecil yang mendukung subgoal-
subgoal diatasnya dan juga mengandung bahan ajar yang merupakan isi
dari TIU.
• Teaching Material
Teaching material terdiri dari 5 bagian yang akan membantu pemelajar
dalam mendalami suatu konsep yaitu: bahan ajar, contoh, latihan, kuis,
dan evaluasi.
2.7 Intelejensia Semu
2.7.1 Definisi Intelejensia Semu
Kecerdasan buatan atau artificial intelligence merupakan salah satu
bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan
19
pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Pada awal
diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun
seiring dengan perkembangan jaman, maka peran komputer semakin
mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan
sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat
diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh
manusia.
Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan
di dunia ini karena manusia mempunyai pengetahuan dan pengalaman.
Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang
dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam
menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup,
manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan
berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki
kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman
dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik.
Demikian pula, dengan kemampuan menalar yang sangat baik, namun tanpa
bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa
menyelesaikan masalah dengan baik.
Agar komputer bisa bertindak seperti dan sebaik manusia, maka
komputer juga harus diberi bekal pengetahuan, dan mempunyai kemampuan
untuk menalar. Untuk itu pada artificial intelligence, akan mencoba untuk
memberikan beberapa metoda untuk membekali komputer dengan kedua
komponen tersebut agar komputer bisa menjadi mesin yang pintar.
20
Lebih detailnya, pengertian kecerdasan buatan dapat dipandang dari
berbagai sudut pandang, antara lain:
1. Sudut pandang kecerdasan.
Kecerdasan buatan akan membuat mesin menjadi ‘cerdas’ (mampu
berbuat seperti apa yang dilakukan oleh manusia).
2. Sudut pandang penelitian.
Kecerdasan buatan adalah suatu studi bagaimana membuat agar
komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.
Domain yang sering dibahas oleh para peneliti meliputi:
a. Mundane task
• Persepsi (vision & speech).
• Bahasa alami (understanding, generation & translation)
• Pemikiran yang bersifat commonsense.
• Robot control.
b. Formal task.
• Permainan/games.
• Matematika (geometri, logika, kalkulus integral, pembuktian).
c. Expert task
• Analisis financial.
• Analisis medikal.
• Analisis ilmu pengetahuan.
• Rekayasa (desain, pencarian kegagalan, perencanaan manufaktur).
3. Sudut pandang bisnis.
21
Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful
dan metodologis dalam menyelesaikan masalah-masalah bisnis.
4. Sudut pandang pemrograman
Kecerdasan buatan meliputi studi tentang pemrograman simbolik,
penyelesaian masalah (prolem solving) dan pencarian (searching).
Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama
yang sangat dibutuhkan yaitu:
a. Basis pengetahuan (knoledge base), berisi fakta-fakta, teori,
pemikiran dan hubungan antara satu dengan lainnya.
b. Motor inferensi (inference engine), yaitu kemampuan menarik
kesimpulan berdasarkan pengalaman.
2.7.2 Bidang-bidang Terapan Intelejensia Semu
Dilihat dari kegunaannya, intelejensia semu banyak diterapkan pada
berbagai bidang (Rich & Knight, p5), antara lain :
• Pemrosesan dan pemahaman bahasa alami (Natural Language
Processing dan Natural Language Understanding)
Pemahaman komputer dengan bahasa sehari-hari, seperti bahasa Inggris
dan bahasa Indonesia. Untuk memahami bahasa alami dilakukan banyak
pemilahan terhadap kalimat menjadi bagian-bagian pengucapan dan
proses melihat kamus (Knowledge Base).
• Sistem Pakar (Expert System)
22
Sistem yang dibuat dengan memperoleh informasi atau pengetahuan dari
pakar dan mengkodekannya dalam bentuk yang dimengerti oleh
komputer. Dalam hal ini baik buruknya suatu sistem pakar sangat
bergantung pada informasi yang dimiliki. Selain itu juga bergantung pada
bagaimana komputer dapat mengerti permasalahan dan memperoleh
jawabannya.
• Permainan (Game)
Pada umumnya permainan merupakan sekumpulan aturan. Dalam
permainan digunakan suatu pola pencarian ruang keadaan (state space
pencarian) dimana permainan akan menghasilkan sejumlah pencarian
ruang. Untuk memperoleh solusi terbaik digunakan heuristik. Dalam
permainan, komputer dapat bertindak seolah-olah seperti dijalankan oleh
manusia, dimana dapat berpikir dan menganalisa setiap langkah.
2.8 Pencarian Buta (Blind Search)
2.8.1 Pencarian Melebar Pertama (Breadth-First Search)
Adalah teknik pencarian yang dilakukan dengan cara menelusuri node-
node dalam graph secara level per level. Pencarian ini dihentikan ketika
menemukan goal. Jika semua node telah ditelusuri dan goal tidak ditemukan
maka pencarian akan berpindah ke level berikutnya, dan seterusnya. Jika semua
node paling bawah telah ditelusuri dan goalnya belum ditemukan, pencarian akan
dihentikan dan goalnya diberikan sebagai dead-end goal.
23
2.8.2 Pencarian Mendalam Pertama (Depth-First Search)
Adalah teknik pencarian yang dilakukan dengan cara menelusuri node2
dalam graph sampai level terdalam. Pencarian akan dihentikan jika menemukan
goal. Jika pencarian telah mencapai dasar dan tidak menemukan goal, maka akan
dilakukan penelusuran path kembali ke level terendah dan baru dilakukan
pencarian dari node lain yang berada pada level terendah.
Kedua pencarian diatas mempunyai kelemahan masing-masing. BFS
mempunyai kelemahan waktu, yang berarti akan memerlukan banyak waktu jika
goal berada pada level yang dalam. Dan pada DFS yang mempunyai kelemahan
bila goal berada pada level yang terakhir.
2.9 Pencarian Heuristik (Heuristic Search)
2.9.1 Pengertian Heuristik
Untuk menyelesaikan permasalahan-permasalahan yang sulit secara
effisien, seringkali kita perlu memikirkan mobilitas dan sistematika dari hal-hal
yang diperlukan dalam membentuk struktur kontrol dimana tidak ada jaminan
untuk menemukan jawaban terbaik tetapi akan selalu ada kemungkinan untuk
menemukan sebuah jawaban yang baik.
2.9.2 Pembangkitan Dan Pengujian (Generate And Test)
Strategi pembangkitan dan pengujian adalah yang paling sederhana dari
seluruh pendekatan. Jika penurunan dari solusi yang mungkin dikerjakan secara
24
sistematis, prosedur ini akan menemukan solusi, jika satu ada. Sayangnya, jika
lingkup permasalahannya terlalu luas, mungkin memerlukan waktu yang
panjang.
Pada prinsipnya metode ini merupakan penggabungan antara DFS dengan
pelacakan mundur (Back Tracking), yaitu bergerak ke belakang menuju pada
suatu keadaan awal. Nilai pengujian berupa jawaban ‘ya’ atau ‘tidak’.
Untuk permasalahan yang sederhana, pembangkitan dan pengujian
seringkali merupakan teknik yang masuk akal. Banyak konfigurasi tidak perlu
dieksplorasi dan solusi dapat ditemukan secara agak cepat dengan menggunakan
teknik heuristik. Sayangnya, untuk permasalahan yang lebih susah, bahkan
dengan heuristik pembangkitan dan pengujian, bukanlah merupakan teknik yang
efektif. Tetapi jika dikombinasikan dengan teknik lain-lain, teknik ini akan
sangat efektif.
2.9.3 Pendakian Bukit (Hill Climbing)
Metode ini hampir sama dengan metode pembangkitan dan pengujian,
hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristik.
Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari
prosedur pengetesan. Tes yang berupa fungsi heuristik ini akan menunjukan
seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya
yang mungkin.
25
2.9.3.1 Simple Hill Climbing
Kunci dari perbedaan antara algoritma ini dengan pembangkitan
dan pengujian adalah kegunaan fungsi evaluasi sebagai cara untuk
memasukkan pengetahuan tugas tertentu ke dalam proses kontrol. Inilah
kegunaan pengetahuan yang membuatnya dan merupakan pengetahuan
yang sama yang memberikan metode-metode kemampuan untuk
menyelesaikan beberapa permasalahan yang sulit.
Untuk cara kerja algoritma, sebuah definisi “lebih baik” yang
tepat harus disediakan. Dalam beberapa kasus, hal ini berarti penilaian
yang lebih tinggi dari fungsi heuristik. Sebaliknya berarti penilaian yang
lebih rendah. Bukanlah masalah sepanjang program hill climbing tertentu
konsisten dalam penafsirannya.
2.9.3.2 Steepest-Ascent Hill Climbing
Steepest-Ascent Hill Climbing sebenarnya hampir sama dengan
simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari
posisi paling kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristik
terbaik. Dalam hal ini urutan penggunaan operator tidak menetukan
penemuan solusi.
26
2.9.4 Pencarian Terbaik Pertama (Best-First Search)
Metode best-first search ini merupakan kombinasi dari metode depth-first
search dan metode breadth-first search dengan mengambil kelebihan dari kedua
metode tersebut. Apabila pada pencarian dengan metode hill climbing tidak
diperbolehkan untuk kembali ke node pada level yang lebih rendah meskipun
node pada level yang lebih rendah tersebut memiliki nilai heuristik yang lebih
baik, lain halnya dengan metode best-first search ini. Pada metode best-first
search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih
rendah, jika ternyata node pada lebih yang lebih tinggi ternyata memiliki nilai
heuristik yang lebih buruk.
2.9.5 Simulated Annealing
Simulated Annealing adalah variasi dari hill climbing dimana pada proses
awalnya,beberapa pergerakan downhill mungkin dilakukan. Ide tersebut adalah
untuk melakukan eksplorasi ke seluruh bagian dulu sehingga solusi akhir
berhubungan dengan state awal.
Untuk mengimplementasikan Simulated Annealing, hal ini diperlukan
untuk memilih sebuah annealing schedule, yang memiliki tiga komponen.
Pertama adalah nilai awal yang digunakan untuk panas. Yang kedua adalah
kriteria yang digunakan untuk memutuskan kapan panas dari sistem harus
dikurangi. Yang ketiga dengan panas dikurangi setiap waktu diubah. Ada juga
komponen keempat dari schedule, ketika keluar. Simulated annealing seringkali
digunakan untuk memecahkan masalah dimana angka pergerakan dari state yang
27
diberikan sangat besar (seperti angka permutasi yang dapat digunakan untuk
tujuan rute traveling salesman). Untuk permasalahan ini, tidak masuk akal
menggunakan semua gerakan yang mungkin. Selain itu, mungkin berguna untuk
menggunakan beberapa kriteria termasuk jumlah pergerakan-pergerakan yang
telah dicoba karena sebuah perbaikan ditemukan.
2.9.6 Graph AND-OR
AND-OR graph (atau tree), berguna untuk representasi solusi masalah
yang dapat dipecahkan dengan mendekomposisi masalah ke dalam sejumlah
masalah yang lebih kecil, semua yang harus dipecahkan kemudian. Dekomposisi
atau reduksi ini, menghasilkan busur yang kita sebut busur AND. Satu busur
AND dapat menunjuk ke banyak successor nodes, semua yang harus dipecahkan
bagi busur untuk menunjuk ke sebuah solusi. Hanya saja pada OR graph,
beberapa busur dapt muncul dari sebuah node tunggal, indikasi sejumlah cara
dimana masalah dasar dapat dipecahkan. Inilah sebabnya mengapa struktur
tersebut tidak disebut AND graph yang sederhana tapi AND-OR graph. Sebagai
contoh AND-OR graph (yang juga menjadi AND-OR tree) pada gambar
dibawah. Busur AND dindikasi dengan sebuah garis penghubung semua
komponen.
28
Gambar 2.2 Graph AND-OR
Untuk menemukan solusi pada AND-OR graph, kita memerlukan sebuah
algoritma yang mirip dengan Best First Search tetapi dengan kemampuan
mengatasi busur AND dengan tepat. Algoritma ini harus menemukan sebuah
path dari node awal dari graph untuk mengatur node-node yang
merepresentasikan pernyataan-pernyataan solusi. Perhatikan bahwa hal ini
mungkin diperlukan untuk mendapatkan lebih dari satu pernyataan solusi karena
masing-masing arm dari AND harus mengacu pada solusi node-nya sendiri.
Untuk menggambarkan algoritma pencarian AND-OR graph, kita perlu
memanfaatkan nilai yang kita sebut F_UTILITY. Jika estimasi nilai dari solusi
membesar daripada nilai F_UTILITY,kita harus membatalkan pencarian.
F_UTILITY seharusnya dipilih untuk menghubungkan permulaan/ambang
sehingga semua solusi dengan nilai diatasnya sangat mahal untuk digunakan,
bahkan jika itu dapat ditemukan.
Algoritma:
1. Inisialisasi graph ke node awal.
2. Kerjakan langkah-langkah di bawah ini hingga node awal SOLVED atau
sampai biayanya lebih tinggi dari F_UTILITY:
Goal : ingin memiliki TV
Mencuri TV Punya uang Membeli TV
29
a. Telusuri graph, mulai dari node awal dan ikuti jalur terbaik.
Akumulasikan kumpulan node yang ada pada lintasan tersebut dan
belum pernah diekspansi atau diberi label SOLVED.
b. Ambil satu node dan ekspansi node tersebur. Jika tidak ada successor,
maka set F_UTILITY sebagai nilai dari node tersebut. Bila tidak
demikian, tambahkan successor-successor dari node tersebut ke graph
dan hitung nilai setiap f’ (hanya gunakan h’ dan abaikan g). Jika f’=0,
tandai node tersebut dengan SOLVED.
c. Ubah f’ harapan dari node baru yang diekspansi. Kirimkan perubahan
ini secara backward sepanjang graph. Jika node berisi suatu arc suatu
successor yang semua descendant-nya berlabel SOLVED maka tandai
node itu dengan SOLVED.
30
Gambar 2.3 Operasi Reduksi Masalah Dengan Graph And-Or
Pada langkah-1 semula hanya ada satu node yaitu A. Node A diekspansi
hasilnya adalah node B, C, D. Node D memiliki biaya yang lebih rendah (6) jika
dibandingkan dengan B dan C (9). Pada langkah-2 node D terpilih untuk
diekspansi, menjadi E dan F dengan biaya estimasi sebesar 10. Sehingga kita
harus memperbaiki nilai f’ dari D menjadi 10. Kembali ke level sebelumnya,
node B dan C memiliki biaya yang lebih rendah daripada D (9<10). Pada
langkah-3, kita menelusuri arc dari node A, ke B dan C bersama-sama. Jika B
dieksplore terlebih dahulu, maka akan menurunkan node G dan H. Kita perbaiki
10
7544
9
543
6
Sebelum step-2 Sebelum step-1 A A
B C D
910
43
9
Sebelum step-3 A
B C D
E F10
44
12
10
4
6
10
Sebelum step-4 A
B C D
E F G H
31
nilai f’ dari B menjadi 6 (nilai G=6 lebih baik daripada H=8), sehingga biaya
AND-arc B-C menjadi 12 (6+4+2). Dengan demikian nilai node D kembali
menjadi lebih baik (10 < 12). Sehingga ekspansi dilakukan kembali terhadap D.
Demikian seterusnya.
2.10 Interaksi Manusia Dan Komputer
Interaksi Manusia dan Komputer (IMK) / Human-Computer Interaction (HCI)
adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi
sistem komputer interaktif untuk digunakan oleh manusia, serta study fenomena-
fenomena besar yang berhubungan dengannya. IMK menitikberatkan pada perancangan
dan evaluasi antarmuka pemakai (user interface).
Antarmuka pemakai (user interface) adalah bagian sistem komputer yang
memungkinkan manusia berinteraksi dengan komputer.
Gambar 2.4 Pengertian Antarmuka Pemakai
Dalam merancang dan membuat suatu sistem, salah satu yang perlu diperhatikan
adalah dalam perancangan user interface-nya (tampilan), karena sebuah user interface
yang tidak user friendly (mudah digunakan) akan sulit dipelajari, dimengerti, dan
mungkin membingungkan bagi pemakai dalam menggunakan sistem komputer tersebut,
sehingga dapat membuat si pemakai menjadi frustrate, failure, fear (frustasi, gagal,
Manusia Antarmuka Pemakai
Sistem Komputer
32
takut). Beberapa hal yang perlu dimengerti dalam melakukan user interface design
(perancangan tampilan), adalah sebagai berikut :
• Siapa yang menggunakan sistem komputer.
• Bagaimana pemakai menafsirkan informasi yang disampaikan dan
dihasilkan oleh sistem komputer.
• Bagaimana pemakai belajar untuk beriteraksi dengan sistem komputer.
• Apa yang diharapkan dari pemakai sistem komputer.
Menurut Shneiderman (1992, p72) ada delapan faktor utama yang perlu
diperhatikan dalam merancang tampilan (user interface design), yaitu :
1. Harus konsisten, misalnya dalam pemakaian menu dan layar help, perintah,
shortcuts (tombol bantu), warna yang konsisten, jenis huruf yang digunakan,
tampilan layar, dan sebagainya.
2. Memperbolehkan pemakai untuk mempergunakan shortcut key (tombol
bantu). Bertujuan untuk meningkatkan suatu penggunaan suatu aplikasi, bisa
berupa singkatan, special keys, perintah tersembunyi, dan fasilitas lainnya
yang memahami pengetahuan user. Dengan menggunakan shortcuts maka
waktu responnya pendek dan rata-rata kecepatan tampilan tinggi. Tetapi
shortcuts hanya bersifat optional untuk diterapkan ke dalam aplikasi, karena
tidak selalu dengan pemberian shortcuts itu akan memudahkan user.
3. Umpan balik yang informatif, sehingga tidak membingungkan pemakai.
Untuk setiap aksi user, sistem harus memberikan feedback (respon)
4. Rancangan layar untuk menghasilkan keadaan akhir. Setiap layar yang
ditampilkan menghasilkan keadaan akhir.
33
5. Ada penanganan kesalahan. Dalam merancang sistem harus dipikirkan
kemungkinan seorang user membuat kesalahan. Untuk mengatasi hal ini
maka sistem harus memberkan instruksi atau solusi yang sederhana sehingga
kesalahan tersebut dapat diperbaiki oleh user.
6. Mengijinkan pemakai memperbaiki kesalahan yang dilakukan (undo).
Kebanyakan suatu aksi yang dilakukan oleh user harus bisa dilakukan
pembalikan aksi atau undo, bisa saja meliputi aksi tunggal, perintah
pemasukan data, aksi yang rumit seperti pemasukan nama dan alamat.
7. Pengontrol terletak pada pemakai sistem. Memungkinkan user untuk
menguasai sistem atau sebagai inisiator bukan sebagai responden.
8. Mengurangi hafalan bagi pemakai. Keterbatasan manusia dari proses
mengingat informasi dalam ingatan jangka pendek sehingga sebaiknya
tampilan layarnya dibuat sederhana saja.
2.11 PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup
kemungkinan digunakan untuk pemakaian lain.
Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di
belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari
ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun
Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS
34
yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-
lain.
2.11.1 Sejarah PHP
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada
waktu itu PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah
sekumpulan script yang digunakan untuk mengolah data form dari web.
Perkembangan selanjutnya adalah Rasmus melepaskan kode sumber
tersebut dan menamakannya PHP/FI, pada saat tersebut kepanjangan dari PHP/FI
adalah Personal Home Page/Form Interpreter. Dengan pelepasan kode sumber ini
menjadi open source, maka banyak programmer yang tertarik untuk ikut
mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter sudah
diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul
ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend, menulis ulang
interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada
Juni 1998 perusahaan tersebut merilis interpreter baru untuk PHP dan
meresmikan nama rilis tersebut menjadi PHP 3.0.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis
tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak
dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk
35
membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan
stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Versi ini adalah versi mutakhir
dari PHP. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar.
Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru
untuk menjawab perkembangan bahas pemrograman kearah pemrograman
berorientasi objek.
2.11.2 Kelebihan PHP dari bahasa pemrograman lain
• Bahasa pemrograman php adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaanya.
• Web Server yang mendukung php dapat ditemukan dimana - mana
dari mulai IIS sampai dengan apache, dengan configurasi yang relatif
mudah.
• Dalam sisi pengembangan lebih mudah, karena banyaknya milis -
milis dan developer yang siap membantu dalam pengembangan.
• Dalam sisi pemahamanan, php adalah bahasa scripting yang paling
mudah karena referensi yang banyak.
• PHP adalah bahasa open source yang dapat digunakan di berbagai
mesin (linux, unix, windows) dan dapat dijalankan secara runtime
melalui console serta juga dapat menjalankan perintah-perintah
system.
36
2.12 SQL
SQL (Structured Query Language) adalah bahasa yang dipergunakan untuk
mengakses data dalam basis data relation. Bahasa ini secara defacto adalah bahasa
standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua
server basis data yang ada mendukung bahasa ini dalam manajemen datanya.
2.12.1 Sejarah SQL
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF
Codd yang membahas tentang ide pembuatan basis data relasional pada bukan
juni tahun 1970. Dalam artikel ini juga dibahas tentang kemungkinan pembuatan
bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut
kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, maka IBM mengadakan proyek
pembuatan basis data relasional beserta SEQUEL. Akan tetapi karena
permasalah hukum mengenai penamaan SQL, maka IBM merubahnya menjadi
SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an muncul perusahaan bernama Oracle yang
membuat server basis data populer yang bernama sama dengan nama
perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut
populer sehingga saat ini menjadi standar defacto bahasa dalam manajemen basis
data.
37
2.12.2 Pemakaian Dasar
Pemakaian dasar SQL adalah sebagai berikut:
• Mendefinisikan Tabel
Untuk mendefinisikan tabel digunakan sintaks:
CREATE TABLE [NAMA_TABLE] ([DEFINISI_TABLE])
Contoh:
CREATE TABLE TEST ( NAMA VARCHAR(20), ALAMAT
VARCHAR(255), PASSWORD VARCHAR(10) );
• Menyimpan data
Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES
([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES
('test', 'alamat', 'pass');
• Mengambil data
Untuk mengambil data dipergunakan sintaks:
SELECT [DAFTAR_FIELD] FROM [NAMA_TABLE] [KONDISI]
Contoh:
SELECT nama FROM TEST;
• Menghapus data
Untuk menghapus data dipergunakan sintaks:
DELETE FROM [NAMA_TABLE] [KONDISI]
38
Contoh:
DELETE FROM TEST WHERE NAMA='test';
2.13 Flowchart (Bagan Alir)
Bagan alir atau flowchart (Jogiyanto, p278) adalah bagan atau chart yang
menunjukkan alir atau flow di dalam program atas prosedur sistem secara logika.
Flowchart digunakan terutama sebagai alat bantu komunikasi dan dokumentasi. Dalam
pemrograman komputer, flowchart biasanya digunakan untuk menjelaskan setiap proses
yang terjadi dalam sebuah program. Sebuah flowchart dapat menunjukkan dan
menjelaskan suatu proses dengan cepat dan jelas karena mudah untuk dimengerti dan
dibaca daripada bentuk teks.
Flowchart menggunakan simbol-simbol yang standar sehingga setiap orang
dapat mengerti ketika membacanya. Sehingga dapat dikatakan bahwa flowchart
merupakan alat komunikasi yang baik. adapun simbol-simbol dasar flowchart dalam
merepresentasikan perbedaan jenis dari aksi atau langkah-langkah dalam sebuah proses
yaitu :
1.
Terminator : menggambarkan awal (“Start” atau “Begin”) atau akhir (“End” atau
“Stop”) dari sebuah proses.
2.
39
Process : menggambarkan beberapa aktivitas atau proses dengan menuliskan proses
tersebut (berupa teks) di dalam simbol.
3.
Decision : menggambarkan suatu titik percabangan dimana keputusan harus dibuat.
Terdapat dua alur garis, satu dari bawah dan yang lain dari sebelahnya. Setiap garis
ditandai dengan satu jawaban yang mungkin, seperti “Yes” dan “No”, atau “Benar” dan
“Salah”.
4.
Arrow : menggambarkan urutan langkah-langkah aktifitas (alur proses)
5.
Connector : menggambarkan hubungan antara bentuk-bentuk dalam flowchart tanpa
menggunakan garis. Sebuah huruf atau nomor dalam lingkaran ini menghubungkan
huruf atau nomor yang saling berhubungan tersebut.
6.
Data : menggambarkan data yang masuk atau keluar dari sebuah aktifitas.
7.
Predefined process : menggambarkan suatu proses yang sudah didefinisikan
sebelumnya, seperti modul atau subrutin.
40
8.
Preparation : menggambarkan modifikasi seperti setting dari tombol atau inisialisasi
suatu rutin.
Berdasarkan simbol-simbol dasar yang digunakan di atas, dapat dibuat berbagai
macam flowchart. Hal terpenting yang harus diperhatikan dalam membuat flowchart ini
adalah membuat flowchart sesederhana mungkin, sehingga mudah dimengerti dan bukan
malah membingungkan.
2.14 State Transition Diagram (STD)
State Transition merupakan suatu alat perancangan yang menggambarkan sistem
untuk mempengaruhi keadaan yang dinamis (Pressman 2001, P317-318). Keadaan disini
dapat difokuskan dan dihubungkan dalam berbagai cara untuk merepresentasikan sifat
yang sekuensial dan concurrent (bersamaan). Transisi diantara dua keadaan umumnya
disebabkan oleh suatu kondisi. State Transition dikembangkan oleh I-Logix Inc., sebuah
perusahaan yang mengembangkan alat bantu untuk rekayasa sistem.
Adapun simbol-simbol yang digunakan dalam diagram ini adalah:
• State (tampilan kondisi sistem)
Merupakan layar / tampilan kondisi yang ditampilkan menurut keadaan
atau atribut, untuk memenuhi suatu tindakan pada waktu tertentu yang
mewakili suatu bentuk keberadaan atau kondisi tertentu, disimbolkan
dengan gambar kotak.
41
Gambar 2.5 Notasi Tampilan
• State Transition (Tindakan)
Menggunakan simbol anak panah disertai keterangan tindakan yang
dilakukan.
Gambar 2.6 Notasi Tindakan
• Kondisi dan aksi
Untuk melengkapi suatu STD, diperlukan dua hal tambahan yaitu kondisi
yang merubah state dan aksi yang dilakukan sistem ketika state berubah.
Notasinya:
Kondisi dan aksi digambarkan dengan anak panah yang menghubungkan
dua keadaan yang berkaitan seperti pada gambar berikut ini:
Gambar 2.7 Kondisi dan Aksi
State 1
State 2
KondisiAksi
KondisiAksi