11
BAB II TINJAUAN PUSTAKA II.1 Perangkat Lunak Perangkat Lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). Sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka belum dapat dikatakan perangkat lunak (software). Karakter perangkat lunak adalah sebagai berikut : a.
Perangkat lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan.
b.
Perangkat lunak tidak pernah usang (wear out) karena kecacatan dalam perangkat lunak dapat diperbaiki.
c.
Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan. Aplikasi dari perangkat lunak adalah sebagai berikut :
a.
Perangkat lunak sistem (system software) Adalah kumpulan program dimana program yang satu ditulis untuk memenuhi kebutuhan program lainnya.
12
b.
Perangkat lunak waktu nyata (real time software) Merupakan perangkat lunak yang memonitor, menganalisis, mengontrol sesuatu secara waktu nyata (real time). Reaksi yang dibutuhkan pada perangkat lunak harus langsung menghasilkan respon yang diinginkan.
c.
Perangkat lunak bisnis (business software) Merupakan perangkat lunak pengelola informasi bisnis (seperti akuntansi, penjualan, pembayaran, dan penyimpanan (inventory)).
d.
Perangkat lunak untuk keperluan rekayasa dan keilmuan (engineering and scientific software) Merupakan perangkat lunak yang mengimplementasikan algoritma yang terkait dengan keilmuan ataupun perangkat lunak yang membantu keilmuan, misalkan perangkat lunak di bidang astronomi, di bidang matematika, dan lain sebagainya.
e.
Perangkat lunak tambahan untuk membantu mengerjakan suatu fungsi dari perangkat lunak yang lainnya (embedded software) Misalnya perangkat lunak untuk mencetak dokumen ditambahkan agar perangkat lunak yang memerlukan dapat mencetak laporan, maka perangkat lunak untuk mencetak dokumen ini disebut embedded software.
f.
Perangkat lunak komputer personal (personal computer software) Merupakan perangkat lunak untuk PC misalnya perangkat lunak pemroses teks, pemroses grafik, dan lain sebagainya.
13
g.
Perangkat lunak berbasis web (web based software) Merupakan perangkat lunak yang dapat diakses dengan menggunakan web browser.
h.
Perangkat lunak intelijensia buatan (artificial intelligence software) Merupakan perangkat lunak yang menggunakan algoritma tertentu untuk mengelola
data
sehingga
seakan-akan
memiliki
intelijensia
seiring
bertambahnya data yang diproses. Produk perangkat lunak yang dibuat oleh pengembang (developer) perangkat lunak terdiri dari dua jenis : a.
Produk Generik Produk perangkat lunak yang dibuat oleh pengembang perangkat lunak untuk dijual atau dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu, perangkat lunak yang termasuk dalam produk generik misalnya perangkat lunak sistem operasi, perangkat lunak pendukung perkantoran untuk membuat dokumen, slide presentasi, atau perhitungan dalam bentuk papersheet dan lain sebagainya.
b.
Produk Pemesanan Produk perangkat lunak yang dibuat karena ada pelanggan yang melakukan pemesanan, misalnya sebuah instansi memerlukan perangkat lunak untuk memenuhi proses bisnis yang terjadi di instansinya, maka instansi itu akan bekerja sama dengan pengembang untuk membuat perangkat lunak yang diinginkan. (Rosa A.S, M. Shalahuddin; 2011: 2-4)
14
II.1.1 Rekayasa Perangkat Lunak Rekayasa
Perangkat
Lunak
(software
engineering)
merupakan
pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena masalah non-teknis seperti keengganan pemakai perangkat lunak (user) untuk mengubah cara kerja dari manual ke otomatis, atau ketidakmampuan user menggunakan komputer. Oleh karena itu, rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak terpakai. Rekayasa perangkat lunak lebih fokus pada bagaimana membuat perangkat lunak yang memenuhi kriteria berikut : a.
Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring berkembangnya teknologi dan lingkungan (maintainability)
b.
Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (dependability dan robust)
c.
Efisien dari segi sumber daya dan penggunaan
d.
Kemampuan untuk dipakai sesuai dengan kebutuhan (usability)
(Rosa A.S, M. Shalahuddin; 2011: 4-5)
15
II.1.2 Proses Rekayasa Perangkat Lunak Proses perangkat lunak (software process) adalah sekumpulan aktivitas yang memiliki tujuan mengembangkan atau mengubah perangkat lunak. Secara umum proses perangkat lunak terdiri dari : 1.
Pengumpulan Spesifikasi (Specification), yaitu : mengetahui apa saja yang harus dapat dikerjakan sistem perangkat lunak dan batasan pengembangan perangkat lunak.
2.
Pengembangan (Development), yaitu : pengembangan perangkat lunak untuk menghasilkan perangat lunak.
3.
Validasi (Validation) yaitu : memeriksa apakah perangkat lunak sudah memenuhi kebutuhan pelanggan (custumer).
4.
Evolusi (Evolution) mengubah perangkat lunak untuk memenuhi perubahan kebutuhan pelanggan (custumer). (Rosa A.S, M. Shalahuddin; 2011: 9).
II.2. Multimedia Multimedia adalah kombinasi dari teks, foto, seni grafis, suara, animasi dan elemen-elemen video yang dimanipulasi secara digital. Ketika anda mengizinkan pengguna akhir pemirsa dari proyek multimedia-mengontrol apa dan kapan elemen-elemen tersebut akan dikirimkan, multimedia disebut multimedia interaktif. Ketika anda menyediakan suatu struktur dari elemen-elemen yang terkait dimana pengguna dapat mengarahkannya, multimedia interaktif berubah menjadi hypermedia. Sementara orang yang membuat multimedia menjadi bentuk yang memiliki makna disebut pengembang multimedia. (Tay Vaughan ; 2006 : 3)
16
Tetapi saat ini sudah ada suatu defenisi lebih kuat mengenai komputer multimedia; sebuah komputer multimedia adalah yang dapat mengontrol lebih dari satu tipe media yang tidak bergantung dengan waktu (diskrit) dan media yang bergantung dengan waktu. Gambar dan teks adalah contoh dari media yang diskrit yaitu media yang tidak bergantung dengan waktu, sedangkan audio dan video adalah
bergantung dengan waktu, sebagai konsekwensinya media tersebut
berjalan berdasarkan waktu. Jadi sistem yang menggabungkan 2 media, yaitu media yang tidak bergantung dengan waktu contohnya teks dan gambar dan media yang bergantung dengan waktu contoh audio dan video. (Tri Daryanto;2005:1-2)
II.3 Kecerdasan Buatan Kecerdasan buatan berasal dari bahasa Inggris “Artificial Intelligence” disingkat AI, yaitu intelliegence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berfikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia. Berdasarkan defenisi ini, maka kecerdasan buatan menawarkan media maupun uji teori tentang kecerdasan. Teori-teori ini nantinya dapat dinyatakan dalam bahasa pemrograman dan eksekusinya dapat dibuktikan pada komputer nyata. Program konvensional hanya dapat menyelesaikan persoalan yang diprogram secara spesifik. Jika ada informasi baru, sebuah program konvensional harus diubah untuk menyesuaikan diri dengan informasi tersebut. Hal ini tidak hanya menyebabkan boros waktu, namun juga dapat menyebabkan terjadinya
17
error. Sebaliknya, kecerdasan buatan memungkinkan komputer untuk berfikir atau menalar dan menirukan proses belajar manusia sehingga informasi baru dapat diserap sebagai pengetahuan, pengalaman, dan proses pembelajaran serta dapat digunakan sebagai acuan di masa-masa yang akan datang. Dari sini dapat dikatakan bahwa : cerdas adalah memiliki pengetahuan, pengalaman dan penalaran untuk membuat keputusan dan mengambil tindakan. Jadi, agar mesin bisa cerdas (bertidak seperti manusia) maka harus diberi bekal pengetahuan dan diberi kemampuan untuk menalar (T. Sutojo, dkk; 2011: 1-3).
II.3.1 Kecerdasan Alami dan Kecerdasan Buatan Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki manusia), kecerdasan buatan memiliki keuntungan komersial, antara lain : a.
Kecerdasan buatan lebih bersifat permanen
b.
Kecerdasan buatan lebih mudah diduplikasi dan disebarkan
c.
Kecerdasan buatan lebih murah dibandingkan kecerdasan alami
d.
Kecerdasan buatan lebih bersifat konsisten
e.
Kecerdasan buatan dapat didokumentasi
f.
Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami
g.
Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami. Sementara itu, kecerdasan alami memberikan keuntungan sebagai berikut :
a.
Kreatif
18
b.
Kecerdasan alami memungkinkan orang menggunakan pengalaman secara langsung
c.
Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas (T. Sutojo, dkk; 2011: 10-11).
II.3.2 Komputasi Kecerdasan Buatan dan Pemrograman Konvensional Pada umumnya pemrograman konvensional hanya diperuntukkan sebagai alat hitung, sedangkan kecerdasan buatan digunakan untuk menyelesaikan suatu permasalahan. Oleh karena itu ada beberapa perbedaan mendasar antara kecerdasan buatan dan pemrograman konvensional (T. Sutojo, dkk; 2011: 11). Tabel II.1 menunjukkan perbedaan komputasi kecerdasan buatan dengan komputasi pemrograman konvensional. Tabel II.1 Perbedaan Komputasi Kecerdasan Buatan Dengan Komputasi Pemrograman Konvensional. Dimensi Pemrosesan
Kecerdasan Buatan Mengandung konsepkonsep simbolik Sifat Input Bisa tidak lengkap Pencarian Kebanyakan bersifat heuristik Keterangan Disediakan Fokus Pengetahuan Struktur Kontrol dipisahkan dari pengetahuan Sifat Output Kuantitatif Pemeliharaan dan Relatif mudah Update Kemampuan Ya Menalar Sumber : (T. Sutojo, dkk 2011: 12)
Pemrograman Konvensional Algoritmik Harus lengkap Biasanya didasarkan pada algoritma Biasanya tidak disediakan Data dan informasi Kontrol terintegrasi dengan informasi (data) Kualitatif Sulit Tidak
19
II.4 Representasi Pengetahuan Representasi pengetahuan adalah cara untuk menyajikan pengetahuan yang diperoleh ke dalam suatu diagram tertentu. Basis pengetahuan dan kemampuan untuk melakukan penalaran merupakan bagian terpenting dari sistem yang menggunakan AI. Meskipun suatu sistem memiliki banyak pengetahuan, namun apabila tidak memiliki kemampuan untuk menalar, tentu akan menjadi percuma saja. Demikian pula sebaliknya, apabila suatu sistem memiliki kemampuan yang sangat handal untuk menalar, namun basis pengetahuan yang dimilikinya tidak cukup, maka solusi yang diperoleh pun menjadi tidak maksimal. (T. Sutojo, dkk; 2011: 124)
II.4.1 Logika Logika adalah ilmu untuk berpikir dan menalar dengan benar. Pada dasarnya, proses logika adalah proses membentuk kesimpulan atau menarik suatu inferensi berdasarkan fakta yang telah ada. Input dari proses logika berupa premis atau fakta-fakta yang diakui kebenarannya sehingga dengan melakukan penalaran pada proses logika dapat dibentuk suatu inferensi atau kesimpulan yang benar pula. Ada 2 penalaran yang dapat dilakukan untuk mendapatkan konklusi: 1.
Penalaran Deduktif. Penalaran dimulai dari prinsip umum untuk mendapatkan konklusi yang lebih khusus. Contoh: Premis Mayor : Jika hujan turun, saya tidak akan berangkat kuliah. Premis Minor : Hari ini hujan turun.
20
Konklusi 2.
: Hari ini saya tidak akan berangkat kuliah.
Penalaran Induktif. Penalaran dimulai dari fakta-fakta khusus untuk mendapatkan kesimpulan umum. Premis-1 : Aljabar adalah pelajaran yang sulit. Premis-2 : Geometri adalah pelajaran yang sulit. Premis-3 : Kalkulus adalah pelajaran yang sulit. Konklusi : Matematika adalah pelajaran yang sulit (T. Sutojo, dkk; 2011: 125)
II.4.2 Pohon Pohon merupakan struktur penggambaran secara hirarkis. Struktur pohon terdiri dari node-node yang menunjukkan objek dan arc (busur) yang menunjukkan hubungan antar objek. .Node-node pada pohon mencakup nama list dan ark yang menunjukkan hubungan antar noda. Struktur atau grafik ini disebut pohon karena mempunyai cabang-cabang. Tapi cabang dari pohon yang terbalik, berbeda dengan pohon yang sebenarnya. Pohon sangat umum dipakai untuk menggambarkan pengetahuan yang akan digunakan dalam AI. (T. Sutojo, dkk; 2011: 37)
II.4.3 Jaringan Semantik Jaringan semantik merupakan representasi pengetahuan grafis yang menunjukkan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingkaran-lingkaran yang menunjukkan objek dan informasi tentang objek-objek
21
tersebut. Objek bisa berupa benda atau peristiwa. Antara 2 objek dihubungkan oleh arc yang menunjukkan hubungan antar objek. Salah satu kelebihan dari jaringan semantik adalah ‘bisa mewariskan’. Sistem jaringan semantik ini selalu tergantung pada jenis masalah yang akan dipecahkan. Jika masalah itu bersifat umum, maka hanya memerlukan sedikit rincian. Jika ternyata masalah itu banyak melibatkan hal-hal lain, maka di dalam jaringan awalnya diperlukan penjelasan yang lebih rinci lagi. (T. Sutojo, dkk; 2011: 140)
II.4.4 Frame Frame merupakan kumpulan pengetahuan tentang suatu objek tertentu, peristiwa, lokasi, situasi, dll. Frame memiliki slot yang menggambarkan rincian (atribut)
dan
karakteristik
objek.
Frame
biasanya
digunakan
untuk
merepresentasikan pengetahuan yang didasarkan pada karakteristik yang sudah dikenal, yang merupakan pengalaman-pengalaman. Dengan menggunakan frame, sangatlah mudah untuk membuat inferensi tentang objek, peristiwa atau situasi baru, karena frame menyediakan basis pengetahuan yang ditarik dari pengalaman. (T. Sutojo, dkk; 2011: 145)
II.4.5 Naskah (Script) Script adalah skema representasi pengetahuan yang menggambarkan ututan-urutan
kejadian
yang
dilengkapi
dengan
elemen-elemen,
yaitu
merepresentasikan pengetahuan berdasarkan karakteristik yang sudah dikenal sebagai pengalaman-pengalaman. Perbedaannya, frame menggambarkan objek
22
sedangkan script menggambarkan urutan peristiwa. Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, objek dan tindakan-tindakan yang terjadi dalam suatu peristiwa. Elemen-elemen script meliputi: 1.
Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script.
2.
Track, yaitu variasi yang mungkin terjadi dalam suatu script.
3.
Prop, berisi objek-objek pendukung yang digunakan selama peristiwa terjadi.
4.
Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa.
5.
Scene, yaitu adegan yang dimain kan yang menjadi bagian dari suatu peristiwa.
6.
Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi. Berikut ini adalah contoh script kejadian yang ada di “Ujian Akhir”:
Jalur (track) : Ujian tertulis matakuliah AI. Role (peran)
: Mahasiwa, Pengawas.
Prop (pendukung) : lembar soal, lembar jawab, presensi, pena, dll. Kondisi Input
: Mahasiswa terdaftar untuk mengikuti ujian.
Adegan (Scene)-1 : Persiapan pengawas. - Pengawas menyiapkan lembar soal. - Pengawas menyiapkan lembar jawab. - Pengawas menyiapkan lembar presensi. Adegan (Scene)-2 : Mahasiwa masuk ruangan. - Pengawas mempersilahkan mahasiswa masuk.
23
- Pengawas membagikan lembar soal. - Pengawas membagikan lembar jawab. - Pengawas memimpin doa. Adegan (Scene)-3 : Mahasiwa mengerjakan soal ujian. - Mahasiswa menulis identitas di lembar jawab. - Mahasiswa menandatangani lembar jawab. - Mahasiswa mengerjakan soal. - Mahasiswa mengecek jawaban. Adegan (Scene)-4 : Mahasiwa telah selesai ujian. - Pengawas mempersilahkan mahasiswa keluar ruangan. - Mahasiswa mengumpulkan kembali lembar jawab. - Mahasiswa keluar ruangan. Adegan (Scene)-5 : Pengawas mengemasi lembar jawab. - Pengawas mengurutkan lembar jawab. - Pengawas mengecek lembar jawab dan presensi. - Pengawas meninggalkan ruangan. Hasil : - Mahasiswa merasa senang dan lega. - Mahasiswa merasa kecewa. - Mahasiswa pusing. - Mahasiswa memaki-maki. - Mahasiswa sangat bersyukur. (T. Sutojo, dkk; 2011: 152-153)
24
II.4.6 Sistem Produksi Sistem produksi terdiri dari komponen-komponen sebagai berikut: 1.
Ruang keadaan, yang berisi keadaan awal, tujuan dan kumpulan aturan yang digunakan untuk mencapai tujuan.
2.
Strategi Kontrol, yang berguna untuk mengarahkan bagaimana proses pencarian akan berlangsung dan mengendalikan arah eksplorasi. Sistem Produksi merupakan salah satu bentuk representasi pengetahuan
yang sangat populer dan banyak digunakan. Representasi pengetahuan dengan sistem produksi, pada dasarnya berupa aplikasi aturan (rule) yang berupa: 1.
Antecedent, yaitu bagian yang mengekspresikan situasi atau premis.
2.
Konsekuen, yaitu bagian yang menyatakan suatu tindakan tertentu atau konklusi yang diterapkan jika suatu situasi atau premis bernilai benar.
Konsekuensi atau konklusi baru dinyatakan benar, jika bagian antecedent pada sistem tersebut juga benar atau sesuai dengan aturan tertentu. Apabila pengetahuan direpresentasikan dengan aturan, maka ada 2 metode penalaran yang dapat digunakan yaitu : 1.
Forward Reasoning (penalaran maju). Pelacakan dimulai dari keadaan awal kemudian dicoba untuk mencocokkan dengan tujuan yang diharapkan.
2.
Backward Reasoning (penalaran mundur). Penalaran ini dimulai dari tujuan atau hipotesa, kemudian dicocokkan dengan keadaan awal atau fakta-fakta yang ada. Hubungan permasalahan langkah kuda dalam papan catur dengan sistem
produksi adalah:
25
1.
Posisi awal kuda sebagai keadaan awal.
2.
Posisi tujuan kuda sebagai keadaan tujuan.
3.
Pergerakan kuda yang menyerupai huruf L sebagai aturan.
4.
Metode pencarian Breadth First Search, sebagai strategi kontrol. Ada beberapa faktor yang mempengaruhi pemilihan backward atau
forward dalam memilih metoda penalaran, antara lain : a.
Banyaknya keadaan awal dan tujuan. Jika jumlah keadaan awal lebih banyak daripada tujuan, maka digunakan penalaran forward. Sebaliknya, jika jumlah tujuan lebih banyak daripada keadaan awal, maka dipilih penalaran backward.
b.
Rata-rata jumlah node yang dapat diraih secara langsung dari suatu node. Lebih baik dipilih yang jumlah node tiap cabangnya lebih sedikit.
c.
Apakah program perlu untuk menanyakan user untuk melakukan justifikasi terhadap proses penalaran ? Jika ya, maka lebih baik jika dipilih arah yang lebih memudahkan user.
d.
Bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian berupa fakta baru, maka lebih baik dipilih penalaran forward. Namun, jika kejadian berupa query, maka lebih baik digunakan penalaran backward.
(T. Sutojo, dkk; 2011: 154)
II.5. Masalah Ruang Keadaan (State Space Problem) State merupakan representasi suatu keadaan pada suatu saat ataupun deskripsi konfigurasi sistem. State space adalah semua state yang mungkin, dan
26
biasanya digambarkan sebagai jaringan dengan verteks merupakan state dan edge merupakan perubahan yang mungkin. Deskripsi formal suatu masalah : a.
Definisikan state space.
b.
Tentukan initial state dalam goal state.
c.
Tentukan operator-operator. Representasi state space memungkinkan definisi formal suatu masalah
sebagai persoalan mengubah status dengan menggunakan sekumpulan operator (rule) dan juga mendefinisikan masalah sebagai search yaitu mencari lintasan di dalam state space dari initial state ke goal state. Contohnya : 8-puzzle dan permasalahan langkah kuda dalam papan catur. (T. Sutojo, dkk; 2011: 30)
II.6. Permasalahan Langkah Kuda dalam Papan Catur Permasalahan ini merupakan salah satu masalah klasik dalam artificial intelligence (AI). Sebuah biji kuda dalam papan catur memiliki pergerakan menyerupai huruf L. Biji catur ini merupakan salah satu biji yang paling sulit digerakkan dan sering juga merupakan biji yang paling berbahaya apabila tidak diperhatikan secara seksama setiap pergerakannya. Permasalahan ini menyediakan sebuah papan catur berukuran n x n. Sasaran (goal) dari permasalahan ini adalah menggerakkan sebuah biji kuda dari suatu posisi tertentu pada papan catur ke posisi tujuan yang diinginkan dengan mensimulasikan semua pergerakan terpendek menuju ke posisi tujuan tanpa melanggar aturan-aturan yang telah ditetapkan. Penyelesaian permasalahan ini dapat menggunakan bantuan pohon pelacakan. (T. Sutojo, dkk; 2011: 31)
27
Gambar II.1 Gambar Cara Kerja Menteri Memakan Sumber : (Bill Robertie ; 2012 : 14)
Dengan memperhatikan gambar II.1, maka aturan-aturan yang terdapat pada permasalahan langkah kuda dalam papan catur adalah: 1.
Kuda dapat digeser ke atas sebelah kiri. Operasi: Baris = baris + 2, Kolom = kolom – 1. Aturan: Nilai variabel kolom setelah operasi harus > 0, nilai variabel baris <= 8, dan tidak terdapat biji catur lain pada posisi tersebut.
2.
Kuda dapat digeser ke atas sebelah kanan. Operasi: Baris = baris + 2, Kolom = kolom + 1. Aturan: Nilai variabel kolom dan baris setelah operasi harus <= 8 dan tidak terdapat biji catur lain pada posisi tersebut.
3.
Kuda dapat digeser ke kiri sebelah atas. Operasi: Baris = baris + 1, Kolom = kolom – 2.
28
Aturan: Nilai variabel kolom setelah operasi harus > 0, nilai variabel baris <= 8, dan tidak terdapat biji catur lain pada posisi tersebut. 4.
Kuda dapat digeser ke kiri sebelah bawah. Operasi: Baris = baris – 1, Kolom = kolom – 2. Aturan: Nilai variabel kolom dan baris setelah operasi harus > 0 dan tidak terdapat biji catur lain pada posisi tersebut.
5.
Kuda dapat digeser ke kanan sebelah atas. Operasi: Baris = baris + 1, Kolom = kolom + 2. Aturan: Nilai variabel kolom dan baris setelah operasi harus <= 8 dan tidak terdapat biji catur lain pada posisi tersebut.
6.
Kuda dapat digeser ke kanan sebelah bawah. Operasi: Baris = baris – 1, Kolom = kolom + 2. Aturan: Nilai variabel kolom setelah operasi harus <= 8, nilai variabel baris harus > 0, dan tidak terdapat biji catur lain pada posisi tersebut.
7.
Kuda dapat digeser ke bawah sebelah kiri. Operasi: Baris = baris – 2, Kolom = kolom – 1. Aturan: Nilai variabel kolom dan baris setelah operasi harus > 0 dan tidak terdapat biji catur lain pada posisi tersebut.
8.
Kuda dapat digeser ke bawah sebelah kanan. Operasi: Baris = baris – 2, Kolom = kolom + 1. Aturan: Nilai variabel kolom setelah operasi harus <= 8, nilai variabel baris harus > 0, dan tidak terdapat biji catur lain pada posisi tersebut.
29
II.7 Metode Pencarian Hal terpenting dalam menentukan keberhasilan sistem yang berlandaskan AI adalah kesuksesan dalam pencarian dan pencocokan. Pada penyelesaian permasalah perangkat lunak simulasi langkah kuda dalam papan catur penulis menggunakan metode Algoritma BFS (Breadth First Search) II.7.1 Pencarian Melebar Pertama (Breadth-First Search) Pada metode Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya. Demikian seterusnya hingga ditemukannya solusi. Keuntungan dari metode ini: 1.
Tidak akan menemui jalan buntu.
2.
Jika ada satu solusi, maka breadth-first search akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.
Kelemahan dari metode ini: 1.
Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon.
2.
Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level ke- (n + 1).
II.7.2. Cara Kerja Algoritma BFS Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu antrian. Antrian ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan pengantrian.
30
Untuk memperjelas cara kerja algoritma BFS beserta antrian yang digunakannya, berikut langkah-langkah algoritma BFS: 1.
Masukkan simpul ujung (akar) ke dalam antrian
2.
Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi
3.
Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan.
4.
Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul tersebut (simpul anak) ke dalam antrian
5.
Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi tidak ditemukan
6.
Ulangi pencarian dari langkah kedua
II.7.3. Contoh Pencarian Lintasan Terpendek dengan BFS Adapun contoh untuk mencari lintasan terpendek dengan menggunakan algoritma BFS adalah sebagai berkut: Diketahui sebuah kota, dengan memiliki inisial seperti yang ditunjukkan di bawah ini. Jarak antar kota dibentuk dengan sebuah graph terlihat dibawah:
31
Pertanyaan: Sebutkan rute yang akan ditempuh untuk mencapai kota no. 8. Titik awal perjalanan adalah kota no. 1. Gunakan algoritma BFS! Maka dengan menggunakan algoritma BFS, rute tercepat yang didapat adalah sebagai berikut: 1–2–3–4–5–6–7–8 Rute tersebut didapat dari pencarian secara melebar. Hal tersebut dapat dijabarkan sebagai berikut: - Pertama-tama, pointer menunujuk pada daun yang ada sebelah kiri, yaitu no.2 (1 – 2) - Setelah itu, proses dilanjutkan pada tetangga no.2 yaitu no.3 (1-2-3) dan selanjutnya mengarah pada tetangga terdekat, yakni no.4 (1-2-3-4). - Pointer mencari tetangga no.4, namun karna tidak ada, maka pointer kembali ke kota no.2 dan masuk ke daun berikutnya, yakni no.5. - Proses diulang hingga pointer menunjuk angka 8. (T. Sutojo, dkk; 2011: 35)
II.8 Array Array (larik) adalah suatu tipe data terstruktur yang dapat menampung (berisikan) suatu data yang sejenis. Komponen – komponen dari Array antara lain, a.
Nama Array
b.
Nilai Array
c.
Index Array
d.
Jenis (tipe) Array
Deklarasi Array dapat dibuat pada,
32
a.
Bagian Tipe Contoh, Type A = Array [1..5] of Char;
b.
Bagian Variabel Contoh, Var A = Array [1..5] of Char;
Array terdiri dari beberapa jenis antara lain, a.
Array 1 dimensi Contoh misalkan diketahui sebuah Array A dengan jenis data Char, A=
b.
A
B
C
D
E
F
G
H
1
2
3
4
5
6
7
8
A[1] = ‘A’
A[5] = ‘E’
A[2] = ‘B’
A[6] = ‘F’
A[3] = ‘C’
A[7] = ‘G’
A[4] = ‘D’
A[8] = ‘H’
Array Multi dimensi (≥ 2) Contoh, misalkan diketahui sebuah Array dua dimensi B dengan jenis data Integer, B[1,1] = 1
B[1,2] = 2
B[2,1] = 3
Proses - proses yang mungkin dilakukan pada Array adalah, a.
Proses memasukkan data
b.
Proses mencari data
c.
Proses menghapus data
d.
Proses mencetak data
33
e.
Proses menyisip data
f.
Proses mencari posisi
g.
Proses mengurutkan data
h.
Dan sebagainya
II.9 Graf Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graf adalah dengan menyatakan objek sebagai noktah, bulatan atau titik, sedangkan hubungan antara objek dinyatakan dengan garis. Sebagai contoh, peta jaringan jalan raya yang menghubungkan sejumlah kota di Provinsi Sumatera Utara. Sesungguhnya peta tersebut adalah sebuah graf, yang dalam ini kota dinyatakan sebagai bulatan sedangkan jalan dinyatakan sebagai garis. Dengan diberikannya peta tersebut, maka dapat diketahui apakah ada lintasan jalan antara dua buah kota. Selain itu, bila panjang jalan kereta api antara dua buah kota bertetangga diketahui, maka juga dapat ditentukan rute perjalanan tersingkat dari kota A ke kota B. (Rinaldi Munir ; 2005 : 12)
II.9.1 Definisi Graf Secara matematis, graf G dapat didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V, E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul (vertices atau nodes) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul. Definisi ini menyatakan bahwa V tidak boleh kosong, sedangkan E boleh kosong. Jadi, sebuah graf
34
dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpulnya harus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisi pun dinamakan graf trivial. Simpul pada graf dapat dinomori dengan huruf, seperti a, b, c, … atau dengan bilangan asli 1, 2, 3, … ataupun dengan gabungan keduanya. Sedangkan sisi yang menghubungkan simpul u dengan simpul v dinyatakan dengan pasangan (u, v) atau dinyatakan dengan lambang e1, e2, …. Dengan kata lain, jika e adalah sisi yang menghubungkan simpul u dengan simpul v, maka e dapat ditulis sebagai : e = (u, v) Secara geometri graf digambarkan sebagai sekumpulan noktah (simpul) di dalam bidang dua dimensi yang dihubungkan dengan sekumpulan garis (sisi). (Rinaldi Munir ; 2005 : 12)
II.9.2 Implementasi Graf Aplikasi graf sangat luas. Graf dipakai di berbagai disiplin ilmu maupun dalam kehidupan sehari-hari. Penggunaan graf di berbagai bidang tersebut adalah untuk memodelkan persoalan. Di bawah ini dikemukakan penerapan graf dalam bidang kelistrikan, kimia, ilmu komputer dan pertandingan olahraga. 1. Transaksi konkuren pada basis data terpusat Ini adalah penerapan graf pada bidang komputer. Basis data (database) terpusat melayani beberapa transaksi (T) yang dilakukan secara konkuren (bersamaan). Transaksi terhadap basis data dapat berupa operasi pembacaan dan operasi penulisan terhadap data yang sama. Persoalan kritis pada proses
35
konkuren adalah deadlock, yaitu keadaan yang timbul karena beberapa transaksi saling menunggu transaksi lainnya, sehingga sistem menjadi hang. 2. Pengujian Program Dalam bidang rekayasa perangkat lunak, sebuah program harus mengalami tahap pengujian untuk menemukan kesalahan (bugs). Salah satu pengujian program adalah pengujian eksekusi. Aliran kendali program harus diperiksa untuk memastikan apakah aliran tersebut sudah benar untuk berbagai kasus data uji. Aliran kendali program dimodelkan dengan graf berarah yang dinamakan graf alir (flow graph). Pada graf berarah tersebut, simpul menyatakan pernyataan atau kondisi yang dievaluasi, sedangkan busur menyatakan aliran kendali program ke pernyataan atau kondisi berikutnya. 3. Rangkaian listrik Kirchoff (1847) menggunakan graf untuk memodelkan rangkaian listrik. Berdasarkan graf tersebut Kirchoff menurunkan persamaan arus yang masuk dan keluar pada tiap simpul. Dari sistem persamaan linier simultan yang diperoleh dapat dihitung arus listrik yagn mengalir pada setiap komponen. 4. Isomer senyawa kimia karbon Arthur Cayley (1857) menggunakan graf dalam memodelkan molekul senyawa alkana untuk menghitung jumlah isomernya. Atom karbon (C) dan atom hidrogen (H) dinyatakan sebagai simpul, sedangkan ikatan antara atom C dan H dinyatakan sebagai sisi. Isomer adalah senyawa kimia yang mempunyai rumus molekul sam tetapi rumus bangun (bentuk graf) berbeda. 5. Terapan graf di dalam teori otomata
36
Untuk permasalahan ini, diambil masalah pemodelan perilakuk sebuah mesin jaja (vending machine) yang menjual coklat seharga 15 sen. Untuk memudahkan, akan dimisalkan bahwa mesin tersebut hanya menerima uang logam 5 sen dan 10 sen, dan mesin tidak akan memberi kembalian bila yang dimasukkan lebih dari 15 sen. Graf berbobot (setiap sisi diberi sebuah harga) menggambarkan perilaku mesin ini, dengan simpul menyatakan banyaknya uang logam yang dimasukkan, yaitu 0, 5, 10 dan 15 sen atau lebih. Setiap saat seorang pembeli dapat melakukan salah satu dari tiga hal berikut : memasukkan sebuah uang logam 5 sen, memasukkan sebuah uang logam 10 sen, dan menekan tombol coklat pilihannya. Dengan demikian, di dalam graf ada tiga buah sisi dari setiap simpul yang berbobot 5, 10 dan P. Sisi dengan bobot 5 menghitung kembali jumlah uang yang ada di dalam mesin ketika pembeli memasukkan sebuah uang logam 5 sen, dan sisi dengan bobot 10 menghitung kembali jumlah uang yang ada di dalam mesin ketika seorang pembeli memasukkan uang logam 10 sen. (Rinaldi Munir ; 2005 : 14)
II.10. Defenisi Simulasi Simulasi adalah program (software) komputer yang berfungsi untuk menirukan perilaku perilaku sistem nyata (realitas) tertentu. Tujuan simulasi adalah antara lain untuk pelatihan (training), studi perilaku sistem (behaviour) dan hiburan/permainan (game). Permodelan dan simulasi merupakan salah satu alat yang sering digunakan oleh manajemen dalam mempelajari atau menaganalisis perilaku kerja dari suatu sistem atau proses.
37
Simulasi waktu nyata (real time) merupakan bagian dari ilmu infomatika (teknologi informasi) yang sedang berkembang sangat pesat saat ini. Studi informatika yang mendukung dan berhubungan dengan permodelan dan simulasi komputer antara lain : permodelan dan simulasi teori sistem, rekayasa perangkat lunak, grafik animasi komputer, dan perangkat keras sistem komputer. Simulasi diperlukan untuk memahami perilaku sistem tertentu. Simulasi sistem merupakan konsekuensi hasil dari tiga hal berikut : pertama, kebutuhan terhadap suatu studi biaya rendah atau perancangan sistem yang mempunyai sifat alamiah kompleks sebagai pembuka ke arah pengembangan dalam suatu eksperimen laboratorium atau sebagai suatu model skala. Kedua, kebutuhan untuk memverifikasi bahwa suatu sistem persamaan matematika permodelan yang digunakan dalam suatu sistem kendali adalah valid. Ketiga, kebutuhan untuk meramal (forecast) tanggapan suatu sistem terhadap kebijakan atau kendali kompleks sebagai suatu alat evaluasi konsekuensi dari alternatif kebijakan atau kendali tertentu yang dipilih. Dalam pandangan sistem, permodelan dan simulasi dapat digunakan untuk tujuan berikut ini : a. Studi perilaku sistem komplek, yaitu sistem dimana suatu solusi analitik tidak dapat dilakukan. b. Membandingkan alternatif rancangan untuk suatu sistem yang tidak ada atau belum ada. c. Studi pengaruh perubahan terhadap sistem yang ada dengan tanpa merubah sistem.
38
d. Memperkuat atau memverifikasi suatu solusi analitik. Simulasi tidak digunakan jika asumsi model adalah sederhana sedemikian rupa sehingga metode matematika dapat digunakan untuk mendapatkan jawaban eksak (solusi analitik). Beberapa keuntungan simulasi sebagai berikut, simulasi mengizinkan keluwesan besar dalam permodelan sistem komplek, sehingga model simulasi dapat sangat valid. Mudah membandingkan berbagai alternatif, kendali kondisi eksperimental, dapat mempelajari sistem dengan bingkai waktu yang sangat panjang. Beberapa kerugian simulasi adalah sebagai berikut, simulasi stokastik hanya menghasilkan dugaan (estimate) dengan noise, model dan simulasi dapat menjadi mahal untuk pengembangan, simulasi umumnya menghasilkan volume besar keluaran sehingga perlu untuk meringkaskan, sesuai analisis statistik. Kesukaran tersembunyi adalah sebagai berikut : gagal untuk mengidentifikasi tujuan secara jelas, tingkat rincian yang tidak sesuai dengan awalanya, analisis dan perancangan yang tidak sesuai dari eksperimen simulasi, pendidikan dan latihan yang tidak sesuai (Bambang Sridadi, 2009, 1-6).
II.11. Pengertian Permainan Catur Pada dasarnya permainan catur adalah peperangan antara dua kerajaan, dan kedua pemainnya adalah jenderal dari masing-masing kerajaan yang sedang berperang. Masing-masing jenderal berusaha menerapkan strategi perang mereka, dan jenderal yang mempunyai strategi perang lebih baik akan memenangkan peperangan. Tujuan akhir dari peperangan tersebut adalah masing-masing pasukan kerajaan berusaha membunuh raja lawannya.
39
Pasukan perang yang dimaksud dalam permainan catur hampir sama dengan pasukan perang kerajaan yang ada dalam kehidupan nyata, yaitu dalam permainan tersebut juga dikenal adanya tentara dan rakyat. Akan tetapi tidak semua tentara kerajaan dalam permainan catur adalah tentara profesional, bahkan sebagian besar justru tentara biasa. Hal yang sama juga terjadi pada tentara kerajaan dalam kehidupan nyata, mereka juga terdiri atas tentara profesional dan tentara
biasa. Sedangkan
perbedaannya adalah semua tentara, baik yang profesional maupun tentara biasa, dalam permainan catur mempunyai pergerakan yang berbeda-beda, sedangkan dalam kehidupan nyata mereka bergerak dan berjalan dengan cara yang sama (Bill Robertie; 2012: 1). II.11.1. Dasar-Dasar Permainan Catur 1. Papan Catur Pada dasarnya papan catur adalah medan peperangan yang berbentuk kotak bujur sangkar. Di atas kotak tersebut tergambar 32 kotak bujur sangkar berwarna cerah dan 32 kotak bujur sangkar berwarna gelap. Jadi, di atas kotak papan catur tergambar 64 kotak, hanya terdiri atas dua warna (biasanya menggunakan warna hitam dan putih) dan tergambar secara berselang-seling. Sedangkan sebagai pedoman, letak atau posisi papan catur adalah kotak warna cerah (putih) berada di sebelah kanan bawah (Bill Robertie; 2012: 2).
40
2. Pengenalan Buah Catur Buah catur terbagi menjadi dua kelompok besar yang saling berhadapan, yaitu kelompok hitam dan kelompok putih. Masing-masing kelompok (baik hitam maupun putih) terdiri atas 16 buah. Masing-masing kelompok mempunyai : 1 buah raja dan menteri, 2 buah kuda, gajah, benteng, serta 8 buah pion (Bill Robertie; 2012: 2).
Gambar II.2. Buah/Bidak Catur Sumber : (Bill Robertie ; 2012 : 2) II.11.2. Aturan Pergerakan Kuda Dalam Papan Catur Kuda, yang biasanya diilustrasikan sebagai kepala kuda adalah buah catur yang paling spesial dan unik bila dibandingkan dengan buah catur yang lain. Berbeda dengan buah catur lain, pergerakan kuda tak bisa terhalangi/terhambat, baik oleh buah catur yang sewarna maupun oleh buah catur lawan. Kuda bergerak dengan melompat-lompat dari petak satu ke petak yang lain, serta dapat melompati baik buah catur sewarna maupun buah catur lawan. Pola pergerakan kuda adalah seperti huruf ‘L’, yang dapat digambarkan sebagai berikut : 1. Satu petak ke arah atas atau ke bawah, dan dua petak ke arah kiri atau kanan 2. Satu petak ke arah kiri atau kanan, dan dua petak ke arah atas atau bawah
41
(Bill Robertie; 2012: 14-15) Untuk lebih jelasnya perhatikan gambar berikut :
Gambar II.3. Cara Kuda Bergerak Sumber : (Bill Robertie ; 2012 : 15) Tampaklah semua arah pergerakan kuda, yang ditandai dengan tanda bulatan hitam untuk pergerakan kuda hitam dan bulatan putih untu pergerakan kuda putih. Bila posisi awal kuda adalah di petak putih, maka setelah bergerak kuda harus berada di petak hitam, demikian pula sebaliknya. Bila posisi awal kuda itu di petak warna putih dan setelah bergerak tetap berada di petak warna putih, maka terjadi kesalahan dalam menggerakkan kuda. Kemampuan pergerakan kuda yang spesifik tersebut menyebabkan kuda dianggap sebagai buah catur yang sangat strategis. Keistimewaan lainnya adalah tak ada halangan/hambatan yang mampu terhindar dari serangan atau ancaman kuda. Kuda hanya mampu memakan lawannya, apabila lawannya berada di petak terakhir dari pergerakan kuda (Bill Robertie; 2012: 16).
42
II.12. Pemodelan UML Pemodelan adalah gambaran dari realita yang simpel dan dituangkan dalam bentuk pemetaan dengan aturan tertentu. (Rosa A.S, M. Shalahuddin; 2011: 116) Pada perkembangan teknik pemrograman beroientasi objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Languange (UML). UML hanya bergungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. (Rosa A.S, M. Shalahuddin; 2011: 118) Diagram UML terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori yaitu : 1. Structure Diagram Yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Yang termasuk dalam structure diagram adalah sebagai berikut: a. Class diagram Digaram kelas atau class diagram menggambarkan struktur sistem dari segi pendefenisian kelas-kelas yang akan dibuat untuk membangun sistem. (Rosa A.S, M. Shalahuddin; 2011: 122). Contoh class diagram dapat dilihat pada gambar II.4.
43
Gambar II.4. Contoh Class Diagram Sumber : (Rosa. A.S. dan M. Shalahuddin ; 2011 : 161)
44
b. Object diagram Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. (Rosa A.S, M. Shalahuddin; 2011: 124)
Gambar II.5. Contoh Object Diagram Sumber : (Rosa A.S. dan M. Shalahuddin ; 2011 : 163)
c. Component diagram Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan ketergantungan di antara kumpulan komponen di dalam sebuah sistem. (Rosa A.S, M. Shalahuddin; 2011: 125)
45
Gambar II.6. Contoh Component Diagram Sumber : (Romi Satria Wahono dan Sri Dharwiyanti ; 2003 : 10)
d. Composite diagram Composite strukture diagram baru mulai ada pada UML versi 2.0, pada versi 1.x diagram ini belum muncul. Digaram ini dapat digunakanuntuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung. (Rosa A.S, M. Shalahuddin; 2011: 127) e. Package diagram Diagram ini meyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. (Rosa A.S, M. Shalahuddin; 2011: 128)
46
Gambar II.7. Contoh Package Diagram Sumber : (Rosa A.S. dan M. Shalahuddin ; 2011 : 128)
f. Deployment diagram Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. (Rosa A.S, M. Shalahuddin; 2011: 129)
Gambar II.8. Contoh Deployment Diagram Sumber : (Romi Satria Wahono dan Sri Dharwiyanti ; 2003 : 11)
47
2. Behavior Diagram Yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Yang termasuk dalam bahvior diagram adalah sebagai berikut : a. Use case Use case atau diagram use case merupakan pemodelan untuk kelakuan (bahavior) sistem informasi yang akan dibuat. (Rosa A.S, M. Shalahuddin; 2011: 130)
Gambar II.9. Contoh Use Case Diagram Sumber : (Rosa A.S. dan M. Shalahuddin ; 2011 : 160)
48
b. Activity diagram Digaram aktivitas atau activity diagram menggambarkan workflow ( aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. (Rosa A.S, M. Shalahuddin; 2011: 134)
Gambar II.10. Contoh Activity Diagram Sumber : (Rosa A.S. dan M. Shalahuddin ; 2011 : 177)
c. State machine diagram Diagram mesin status digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem. (Rosa A.S, M. Shalahuddin; 2011: 136). Contoh state machine diagram dapat dilihat pada gambar II.11.
49
Gambar II.11. Contoh State Machine Diagram Sumber : (Rosa A.S, M. Shalahuddin; 2011: 175)
3. Interaction Diagram Yaitu kumpulan diagram yang digunkan untuk menggambarkan interaksi antar sub sistem pada suatu sistem. Yang termasuk dalam interaction diagram adalah sebagai berikut : a. Sequence diagram Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. (Rosa A.S, M. Shalahuddin; 2011: 137). Contoh sequence diagram dapat dilihat pada gambar II.12.
50
Gambar II.12. Contoh Sequence Diagram Sumber : (Rosa A.S, M. Shalahuddin; 2011: 164)
b. Communication diagram Communication diagram atau diagram komunikasi menggambarkan interaksi antar objek /bagian dalam bentuk urutan pengiriman pesan. (Rosa A.S, M. Shalahuddin; 2011: 140). Contoh communication diagram dapat dilihat pada gambar II.13.
51
Gambar II.13. Contoh Communication Diagram Sumber : (http://www.visualparadigm.com/product/vpuml/provides/behavioralmodeling.jsp)
c. Timing diagram Timing diagram merupakan diagram yang fokus pada penggambaran terkait batasan waktu. (Rosa A.S, M. Shalahuddin; 2011: 141). Contoh timing diagram dapat dilihat pada gambar II.14.
52
Gambar II.14. Contoh Timing Diagram Sumber : (http://www.visual paradigm.com/product/vpuml/provides/behavioralmodeling.jsp)
d. Interaction overview diagram Diagram ini mirip dengan diagram aktivitas yang berfungsi untuk menggambarkan sekumpulan urutan aktivitas. (Rosa A.S, M. Shalahuddin; 2011: 143)
Gambar II.15. Contoh Interaction Overview Diagram Sumber : (http://www.visualparadigm.com/product/vpuml/provides/behavioralmodeling.jsp)
53
II.13. Pemrograman VB.Net 2008 Microsoft Visual Basic 2008 merupakan bagian dari kelompok bahasa pemrograman Visual Studio 2008 yang dikembangkan oleh Microsoft. Visual Studio 2008 terdiri dari beberapa bahasa pemrograman diantaranya adalah Microsoft Visual Basic 2008, Microsoft C#, dan Visual Web Depelover 2008. Visual Studio ini telah mengalami perubahan versi mulai dari Visual Studio 6.0, Visual Studio 2005, Visual Studio 2006 dan yang terakhir adalah Visual Studio 2008. Microsoft Visual Basic 2008 setara dengan Microsoft Visual Basic 9.0 yang memiliki kelebihan-kelebihan yaitu suport dengan bahasa query LanguangeIntegreted Query (LINQ) dan suport dengan database Microsoft SQL Server Compact 3.5. Selain itu, kelebihan lain adalah memiliki Object Relation Designer (O/R Designer) untuk membantu mengedit LINQ ke SQL dihubungkan dengan database dan fiture lain, seperti WPF (Windows Presentation Foundation) dan WCF (Windows Communication Foundation). Semua hal yang baru tersebut di atas menambah kelengkapan aplikasi Microsoft Visual Basic 2008 dalam membuat media dan dokumen. (Hendrayudi ; 2011 : 1) Microsoft Visual Basic Studio 2008 merupakan kelanjutan dari Micrososft Visual Studio sebelumnya, yaitu Visual Studio.Net 2003 yang diproduksi oleh Micrososft. Pada bulan Februari tahun 2002 Microsoft memproduksi teknologi .Net Framwork versi 1.0, Teknologi .Net ini didasarkan atas susunan berupa .Net Framwork, sehingga setiap produk baru yang terkait dengan teknologi .Net akan selalu berkembang mengikuti
perkembangan
.Net
Framwork-nya.
Pada
54
perkembangan nantinya, mungkin untuk membuat program dengan teknologi .Net, dan memungkinkan para pengembang perangkat lunak akan dapat menggunakan lintas sistem operasi, yaitu dapat dikembangkan di sistem operasi Windows juga dapat dijalankan pada sistem operasi Linux, seperti yang telah dilakukan pada pemrograman Java oleh Sun Microsystem. Pada saat ini perusahaan-perusahaan sudah banyak meng-update aplikasi yang lama yang dibuat dengan Microsoft Visual Basic 6.0 ke teknologi .Net karena kelebihankelebihan yang ditawarkan, terutama memungkinkan pengembang perangkat lunak secara cepat mampu membuat program yang robust, serta berbasiskan intergrasi ke internet yang dikenal dengan XML Web Service. (Ketut Darmayuda ; 2009 :1-2)