PENDAHULUAN TINJAUAN PUSTAKA

Ukuran: px
Mulai penontonan dengan halaman:

Download "PENDAHULUAN TINJAUAN PUSTAKA"

Transkripsi

1 Latar Belakang PENDAHULUAN Slither link adalah salah satu permainan kertas terkenal yang sulit untuk dipecahkan secara konvensional. Tujuan dari slither link adalah membentuk loop, yaitu sebuah putaran garis yang tidak bercabang dan kembali ke titik awal tetapi harus memenuhi aturan slither link yaitu jumlah garis yang mengelilingi cell harus sama dengan angka di dalam cell. Penyelesaian untuk persoalan ini harus melibatkan algoritme yang mencari kemungkinan semua solusi. Hal ini menyebabkan kompleksitas dari eksekusi algoritme ini akan menjadi eksponensial terhadap ukuran masukan yang diberikan. Permasalahan ini lebih dikenal sebagai Nondeterministic Polynomial-time Complete (NP-Complete). Teknik pemrograman komputer mempunyai banyak paradigma atau teknik untuk menyelesaikan sebuah masalah, pemilihan teknik pemrograman yang tepat akan memberikan cara paling efektif untuk mendapatkan solusi dari masalah ini. Salah satunya adalah teknik procedural programming. Teknik ini akan memberi sekumpulan instruksi untuk komputer berupa langkah-langkah, dan perintahnya bersifat linear untuk menyelesaikan sebuah masalah dengan menggunakan loop dan percabangan. Teknik lain yang digunakan dalam pemrograman komputer adalah logic programming yang bersifat deklaratif, teknik ini akan mengubah masalah menjadi sekumpulan fakta dan aturan. Dengan melakukan pendekatan secara logika, sebuah model penyelesaian akan menyelesaikan slither link mirip dengan logika manusia. Metode ini akan memberikan cara yang lebih efisien dalam menemukan solusi dari slither link, salah satunya adalah dengan menggunakan answer set programming. Tujuan Penelitian Tujuan dari penelitian ini adalah untuk membuat model penyelesaian game slither link menggunakan answer set programming dengan tool DLV (datalog with disjunction) dan procedural programming menggunakan C++ kemudian membandingkan kinerja dari kedua metode tersebut. Ruang Lingkup Penelitian Ruang lingkup permasalahan pada tugas ini adalah : 1 Membuat model penyelesaian game slither link. dengan menggunakan answer set programming dan procedural programming. 2 Ukuran pembanding adalah rata-rata waktu eksekusi dari setiap model solver. 3 Software yang digunakan adalah PHP sebagai front end dan DLV serta C++ sebagai back end. Manfaat Penelitian Penelitian ini diharapkan dapat menunjukkan bahwa answer set programming bisa menyelesaikan masalah game slither link NP-Complete sebagaimana procedural programming melakukannya. NP-Complete TINJAUAN PUSTAKA Setiap masalah bisa diselesaikan dengan berbagai jenis algoritme, tapi algoritme yang disebut efisien adalah algoritme yang bisa menyelesaikan masalah dalam waktu polinomial untuk semua input. Algoritme yang disebut tidak efisien adalah algoritme yang menyelesaikan masalah dalam waktu eksponensial untuk beberapa input. Ada tiga kelas masalah yaitu P, NP, dan NPC. Kelas P (polinomial) berisi masalahmasalah yang bisa dalam waktu polinomial, sebuah fungsi f(n) dikatakan P jika f(n) = O(n k ) dengan k bernilai konstan dan n adalah ukuran dari input. Contoh masalah yang bisa diselesaikan dengan waktu polinomial adalah masalah sorting, dari semua algoritme sorting kompleksitas terbaiknya untuk kasus worst case adalah O(n 2 ) dan O(n log n) untuk kasus best case (Cormen et al. 2001). Kelas NP (non deterministic polynomial) berisi masalah-masalah yang bisa diverifikasi dalam waktu polinomial. Maksud dari kalimat tersebut adalah jika kita mempunyai kandidat solusi dari masalah NP, maka kita bisa melakukan verifikasi apakah solusi tersebut benar dalam waktu polinomial. Setiap masalah dalam P adalah NP, karena untuk setiap masalah dalam P bisa kita selesaikan dalam waktu polinomial tanpa memerlukan kandidat solusi. Contoh masalah yang masuk dalam kelas NP adalah TSP (travelling salesman problem) (Cormen et al. 2001). 1

2 Kelas NPC atau NP-Complete (non deterministic polynomial complete) adalah persoalan NP yang paling sulit. Sebuah masalah X dikatakan NP-Complete jika : 1 X termasuk ke dalam kelas NP. 2 Setiap persoalan di dalam NP dapat ditransformasi dalam waktu polinomial menjadi X. Jika sebuah masalah X hanya memenuhi kondisi nomor dua, maka masalah tersebut dikatakan NP-hard. Jika salah satu masalah NP- Complete bisa diselesaikan dengan waktu polinomial, maka semua masalah NP-Complete bisa diselesaikan dalam waktu polinomial. Beberapa masalah NP-Complete yang terkenal adalah Hamiltonian Cycle Problem dan Subset Sum. Masalah NP-Complete pertama yang berhasil dipecahkan adalah SATISFIABILITY (SAT) oleh Stephen Cook yang disebut teorema Cook (Garey et al 1979). Semua persoalan P (polinomial) juga adalah NP (non deterministic poyinomial), P adalah himpunan bagian dari NP. Namun belum ada yang bisa membuktikan apakah masalah P NP atau P = NP sehingga P NPC =. Gambar 1 adalah ilustrasi hubungan antara P, NPC, dan NP. Gambar 1 Hubungan antara P, NP, dan NPC (Cormen et al 2001). Logic Programming Logic (declarative) programming muncul sebagai paradigma berbeda pada tahun 1970-an, karena logic programming mengharuskan programmer untuk mendeklarasikan tujuan (goal) dari komputasi. Goal diekspresikan sebagai kumpulan dari aturan tentang hasil dan constraint (pembatas) dari komputasi. Logic programming disebut juga sebagai rule-based programming (Tucker et al 2002). Secara umum, logic programming merepresentasikan masalah dalam bentuk aturan dan fakta. Sebuah aturan ditulis sebagai : h p1, p2,..., p n. Sebagai contoh, misalnya kita mendapatkan fakta bahwa Allen dan Mary berbicara bahasa Rusia, Bob berbicara bahasa Inggris. Sedangkan aturannya adalah seseorang bisa berbicara dengan orang lain yang bernilai benar ketika mereka berbicara dalam bahasa yang sama. Maka kita bisa menulisnya sebagai fakta dan aturan berikut: speaks(allen,russian). speaks(bob,english). speaks(mary,russian). talkswith(p1, P2) :- speaks(p1,l), speaks(p2,l), P1\=P2. Contoh eksekusi program :?- speaks(alen,russian). true.?- talkswith(x,allen). returns X = mary. Answer set programming Answer set programming (ASP) adalah sebuah bentuk pemrograman berorientasi deklaratif untuk menyelesaikan masalah pencarian solusi yang sulit terutama masalah dengan kompleksitas tinggi (diatas 2 P ) Answer Set Programming adalah pengembangan dari Logic Programming dan telah diaplikasikan di banyak bidang ilmu pengetahuan. Answer set semantics adalah salah satu formalisme yang paling populer dan semantik yang paling umum diterima dalam pemrograman logika, semantik ini mendefinisikan stable model yang memperbolehkan negasi dan disjungsi dalam aturan. Kelebihan ASP dibandingkan pemrograman berbasis Prolog adalah semantik yang jelas menjamin program bisa berhenti. Pemrograman berbasis Prolog tidak murni deklaratif karena semantik yang disediakan oleh Prolog masih bergantung pada aspek prosedural dari program, seperti urutan dari bagian body pada aturan. Penyempurnaan lain yang ditawarkan ASP adalah semantik yang jelas untuk menangani program tidak stratified yang tidak bisa dilakukan oleh Prolog. Misalnya kita mempunyai pernyataan : jika seseorang bisa diasumsikan bukan laki-laki maka orang tersebut pasti seorang wanita, dalam ASP pernyataan tersebut ditulis sebagai berikut : female(x) person(x), not male(x). male(x) person(x), not female(x). Untuk setiap fakta dari person(a), answer set semantics menghitung satu himpunan jawaban (answer set) yang berisi female(a) dan satu 2

3 himpunan jawaban berisi male(a). Fitur penting lain dari ASP adalah kemampuannya untuk menggunakan ekspresi disjungsi ( V ) pada head dari aturan. ASP menjadi sangat deklaratif untuk berbagai masalah. Sebagai contoh, program sebelumnya bisa ditulis menggunakan satu aturan seperti berikut : female(x) V male(x) person(x). Penggunaan disjungsi pada head akan meningkatkan kekuatan ekspresif dari ASP. Syntax ASP Pada Answer Set Programming terdefinisi penggunaan tiga buah simbol yaitu, predikat (p), konstanta (k), dan variabel (ν). Predikat adalah simbol yang diawali dengan huruf kecil sedangkan variabel adalah simbol yang diawali dengan huruf besar. Sebuah simbol konstanta bisa bernilai numerik. Sebuah term bisa berupa konstanta atau variabel. Dalam sebuah simbol predikat p, sebuah atom didefinisikan sebagai p t 1,, t k dimana untuk setiap t i, 1 i k adalah sebuah term yang bisa berupa konstanta atau variabel, k disebut aritas dari p. Atom dengan aritas () disebut atom proporsional. Sebuah classical literal l bisa berupa sebuah atom p (positif), atau sebuah negasi atom p (negatif). Dua tipe negasi dalam ASP yaitu, default negation dengan bentuk not b yang berarti tidak ada bukti yang menunjukkan bahwa b berniali benar maupun b bernilai salah. Explicit negation dengan bentuk b yang berarti kita mempunyai bukti bahwa b bernilai salah. Sebuah rule (r) dalam ASP mempunyai bentuk : a 1 a k b 1,, b m, not c m +1,, not c n Himpunan dari a 1 a k adalah head dari aturan r, dinotasikan dengan H(r), sedangkan himpunan dari b 1,, b m, not c m+1,, not c n adalah body dari r dan dinotasikan dengan B r. Ada dua tipe body yaitu positive body literal yang dinotasikan sebagai B + r dimana B + r = b 1,, b m, dan negative body literal B r dimana B r = not c m +1,, not c n sehingga B r = B + r B r. Sebuah rule r tanpa head k = 0 disebut sebagai hard constraint, sebuah rule dengan tepat satu head k = 1 disebut sebagai normal rule, sedangkan sebuah rule dengan k > 1 disebut sebagai disjunctive rule. Jika body dari rule kosong k = m = 0 maka rule tersebut disebut sebagai fact atau dengan kata lain kita tidak menggunakan tanda. Sebuah rule dikatakan positif jika n = m atau dengan kata lain dalam bahasa matematika r P B r =, dan disebut juga sebagai horn rule. Answer Set Semantics Semantics dari program P adalah program yang bebas dari variabel, maka kita harus mendefinisikan ground instantiation dari program yang akan mensubstitusi semua variabel dari program dengan konstanta. Herbrand Universe dari P (Program) atau kita sebut HU p, adalah himpunan semua simbol yang dibentuk dari konstanta dalam P. Herbrand Literal Base berarti untuk setiap program P, HB p adalah himpunan dari semua ground (classical) literal yang dibangun dari simbol predikat yang muncul pada P dan konstanta dari HU p. Ground Instantiation berarti untuk setiap rule r, Ground(r) menotasikan himpunan rule yang didapatkan dengan mengganti setiap variabel yang muncul di r dengan simbol konstanta dalam HU p. Dinotasikan dengan Ground(P) yaitu himpunan dari semua ground instances dari rule pada P. Semantics dari program P didefinisikan dengan mencari positive ground program. Sebuah interpretasi I adalah subset dari HB p. Sebuah himpunan dari literals S memenuhi sebuah rule r jika dan hanya jika H r S kapanpun B + r S dan B r S =. Himpunan dari literal S memenuhi sebuah program P jika memenuhi seluruh rule pada P. Sebuah model dari program P adalah sebuah interpretasi I HB p dimana I harus memenuhi P. Sebuah answer set dari ground program yang positif adalah model minimal dari P. Hasil reduksi atau Gelfond-Lifschitz transform (GL-transform) adalah program ground positive yang didapatkan dari Ground(P) dengan cara : 1 Menghapus semua rule r Ground(P) sehingga B r I. 2 Menghapus literal body negatif dari rule yang tersisa. Sebuah answer set dari sebuah program P adalah sebuah interpretasi I HB p sehingga I adalah answer set dari P. Program P dikatakan konsisten jika memiliki minimal satu buah answer set (ANS(P) ). Sebuah ground classical literal a dikatakan bravely true jika 3

4 ada minimal satu answer set A ANS(P), dimana a A. Sedangkan sebuah ground classical literal a dikatakan cautiously true jika setiap answer set A ANS(P), dimana a A. Jika terjadi kasus spesial dimana program P definite-horn, dalam kasus ini P memiliki tepat satu answer set dan dinotasikan dengan Tp atau immediate consequence (Gelfond et al 1991). Berdasarkan answer set semantics, maka terdefinisi reasoning task sebagai berikut : 1 Answer set existence, buktikan program P memiliki paling sedikit satu buah answer set (selain itu maka program dikatakan tidak konsisten). 2 Brave reasoning, diberikan program P dan sebuah atom a maka buktikan apakah a benar pada minimal satu answer set P. 3 Cautious reasoning, diberikan program P dan sebuah atom a maka buktikan apakah a benar dalam semua answer set P. 4 Generate all answer sets, diberikan program P maka hitung semua answer sets A ANS(P). DLV (datalog with disjunction) Untuk melakukan implementasi answer set programming para peneliti membuat ASP solver untuk mengevaluasi dan menampilkan answer set, beberapa ASP solver yang terkenal adalah DLV, clasp/claspd, SMODELS, dan ASSAT. ASP solver yang digunakan untuk menyelesaikan masalah slither link adalah DLV (datalog with disjunction). DLV dikembangkan oleh University of Calabria dan Vienna Technical University. DLV adalah alat untuk mengkomputasi answer set yang mengimplemtasikan pemrograman logika disjungsi dengan menggunakan semantik answer set (Gelfond et al 1991). Disjunctive datalog memperbolehkan ekspresi logika OR (disjungsi) muncul didalam aturan. Kelebihan dari DLV adalah komputasinya sound and complete, sound adalah solusi yang dihasikan merupakan jawaban dari masalah dan complete adalah semua solusi harus muncul. Struktur dari DLV adalah : Rule : a 1 a n b 1,, b k, not b k+1,, not b m. Constraint : : b 1,, b k, not b k+1,, not b m. Program : Sebuah himpunan terbatas P yang terdiri atas rules dan constraints. Dengan mengikuti paradigma Guess/Check/Optimize (GCO) masalah dengan kompleksitas tinggi bisa diselesaikan. GCO untuk program P akan terdiri atas tiga bagian berikut : 1 Bagian Guessing. Bagian guessing akan mendefinisikan search space (ruang pencarian) yang merepresentasikan kandidat solusi. Pada bagian ini kita berusaha menebak semua solusi yang mungkin muncul. 2 Bagian Checking. Bagian ini bersifat opsional yang akan memfilter kandidat solusi sedemikian rupa sehingga answer sets dari P akan merepresentasikan solusi yang bisa diterima untuk instance masalah. Pada bagian ini kita menuliskan constraint agar solusi yang muncul hanya solusi yang diinginkan. 3 Bagian optimization. Bagian ini memungkinkan untuk mengekspresikan evaluasi bobot kuantitatif dari solusi dengan menggunakan weak constraint. Misalnya kita akan memodelkan bahwa setiap kali seseorang memberitahu kita sebuah lelucon, maka kita tertawa. Hal ini bisa dilakukan dengan cara berikut : joke. laugh :- joke. Baris pertama adalah fakta dan mengekspresikan bahwa joke adalah benar. Baris kedua adalah aturan, ini dibaca sebagai jika lelucon adalah benar, maka tertawa juga harus benar. (tanda :- berarti sebuah panah ke kiri, pemrograman logika mengartikannya sebagai implikasi). Salah satu masalah NP-Complete yang terkenal adalah Graph 3-Colorability (Garey et al 1979). Diberikan (undirected) graf G ={V,E}, putuskan bagaimana memberi warna pada setiap node dalam graf dengan salah satu dari tiga warna yang didefinisikan dimana tidak boleh ada dua node yang bertetangga mempunyai warna yang sama. Kasus graph coloring dengan tujuh node dan 3 warna ditunjukkan pada Gambar 2 : 4

5 Minnesota Wisconsin Iowa Illinois indiana Nomor didalam cell slither link yang belum terselesaikan dipilih sedemikian sehingga mempunyai solusi yang unik, Gambar 3 adalah contoh masalah slither link dan penyelesaiannya : Michigan Ohio Gambar 2 Graf tujuh kota. % aturan pewarnaan (guess) col(country, red) v col(country,green) v col(country, blue) :- node(country). % periksa warna yg incident(check) :- arc(country1, Country2), col(country1, CommonColor), col(country2, CommonColor). DLV akan menghasilkan enam solusi, dan semua solusi memenuhi ketentuan graph coloring (graf tiga warna). Berikut adalah salah satu solusi yang dihasilkan : {col(minnesota,green), col(wisconsin,red), col(illinois,green), col(iowa,blue), col(indiana,red), col(michigan,blue), col(ohio,green) } Slither link Slither link ditemukan tahun 1989 oleh perusahaan puzzle jepang Nikoli, slither link juga dikenal sebagai Fences and Loop the Loop dan Dotty Dilemma. Slither link dimainkan dalam grid empat persegi panjang dengan beberapa nomor terisi didalam grid (tidak semua terisi). Masalah slither link telah terbukti NP-Complete (Yato 2003) sehingga bisa ditangani oleh answer set programming. Tingkat kesulitan dari slither link didefinisikan berdasarkan luas persegi atau papan permainannya dan angka yang terisi di dalam grid. Aturan dari slither link adalah sebagai berikut : 1 Setiap masalah di representasikan dalam grid empat persegi panjang. Panjang dari persegi tersebut menunjukkan ukuran dari masalah. 2 Sebuah 1 x1 persegi dikelilingi oleh empat titik yang disebut cell. Sebuah cell bisa mempunyai nomor antara null, 0, 1, 2, atau 3. 3 Tujuan dari permainan adalah membuat loop yang tidak memotong atau bercabang dengan menghubungkan titik-titik yang bertetangga dengan garis, sehingga sebuah nomor dalam cell nilainya sama dengan jumlah garis yang mengelilingi cell tersebut. Gambar 3 Masalah slither link dan solusinya (Yato 2003). METODOLOGI Formulasi aturan pembangkitan slither link Aturan-aturan yang berlaku dalam pembangkitan slither link dikumpulkan. Aturanaturan tersebut diformulasikan ke dalam bahasa logika answer set programming. Untuk pembangkitan slither link secara acak langkahlangkah yang harus dilakukan adalah (Wan 2009) : 1 Mengisi grid dengan sembarang loop. 2 Secara acak hapus nomor di dalam cell satu per satu. 3 Periksa apakah slither link masih bisa menghasilkan solusi yang unik. 4 Hapus semua edge. 5 Tampilkan hasil pada pengguna. Slither link yang dibangkitkan harus secara acak. Ketika menghapus nomor di dalam cell, algoritme pembangkitan harus memastikan bahwa slither link yang dihasilkan bisa diselesaikan menggunakan aturan logika. Proses ini dikerjakan oleh modul back end dan ditunjukkan pada Gambar 4. Gambar 4 Formulasi pembangkitan. 5

PEMBANGKITAN DAN PENYELESAIAN SLITHER LINK DENGAN ANSWER SET PROGRAMMING DAN PROCEDURAL PROGRAMMING SALMAN FARIZI

PEMBANGKITAN DAN PENYELESAIAN SLITHER LINK DENGAN ANSWER SET PROGRAMMING DAN PROCEDURAL PROGRAMMING SALMAN FARIZI PEMBANGKITAN DAN PENYELESAIAN SLITHER LINK DENGAN ANSWER SET PROGRAMMING DAN PROCEDURAL PROGRAMMING SALMAN FARIZI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

HASIL DAN PEMBAHASAN. Arsitektur sistem

HASIL DAN PEMBAHASAN. Arsitektur sistem Arsitektur sistem Pembangkitan slither link Front End GUI Parser Penyelesaian Slither link Backend Backend Identifikasi aturanaturan pembangkitan slither link Identifikasi aturanaturan penyelesaian slither

Lebih terperinci

Pemodelan Pembagian Kelompok Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset

Pemodelan Pembagian Kelompok Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset Pemodelan Pembagian Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset Hayyu Luthfi Hanifah 13512080 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver

Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver 4 2 Modul permainan untuk user akan menampilkan graphic user interface berupa soal N-puzzle yang dapat dimainkan oleh user dan solusinya. 3 Modul untuk pengujian akan menampilkan soal yang dibangkitkan,

Lebih terperinci

Teori Kompleksitas (Bagian 2)

Teori Kompleksitas (Bagian 2) IF5110 Teori Komputasi Teori Kompleksitas (Bagian 2) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Travelling Salesperson Problem Persoalan optimasi. Termasuk ke dalam kelas persoalan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Teori Graph 2.1.1 Definisi Graph Menurut Dasgupta dkk (2008), graph merupakan himpunan tak kosong titik-titik yang disebut vertex (juga disebut dengan node) dan himpunan garis-garis

Lebih terperinci

Pembuktian Kesulitan Hamiltonian Cycle Problem dengan Transformasi 3-Satisfiability Problem

Pembuktian Kesulitan Hamiltonian Cycle Problem dengan Transformasi 3-Satisfiability Problem Pembuktian Kesulitan Hamiltonian Cycle Problem dengan Transformasi 3-Satisfiability Problem Arief Rahman 13511020 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Menurut (Suarga, 2012 : 1) algoritma: 1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun

Lebih terperinci

Logika Predikat (Kalkulus Predikat)

Logika Predikat (Kalkulus Predikat) Logika Predikat (Kalkulus Predikat) Kuliah (Pengantar) Metode Formal Semester Ganjil 2015-2016 M. Arzaki Fakultas Informatika Telkom University FIF Tel-U November 2015 MZI (FIF Tel-U) Logika Predikat (Kalkulus

Lebih terperinci

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Penyelesaian Sum of Subset Problem dengan Dynamic Programming Penyelesaian Sum of Subset Problem dengan Dynamic Programming Devina Ekawati 13513088 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

SISTEM PENJADWALAN UJIAN MENGGUNAKAN ANSWER SET PROGRAMMING EKO ZULKARYANTO

SISTEM PENJADWALAN UJIAN MENGGUNAKAN ANSWER SET PROGRAMMING EKO ZULKARYANTO SISTEM PENJADWALAN UJIAN MENGGUNAKAN ANSWER SET PROGRAMMING EKO ZULKARYANTO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011 i ABSTRACT EKO ZULKARYANTO.

Lebih terperinci

Teori P, NP, dan NP-Complete

Teori P, NP, dan NP-Complete Teori P, NP, dan NP-Complete Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Teknik Informatika ITB 1 2 Pendahuluan Kebutuhan waktu algoritma yang mangkus bervariasi, mulai dari

Lebih terperinci

Oleh Lukman Hariadi

Oleh Lukman Hariadi ANALISIS PENYELESAIAN PUZZLE SUDOKU DENGAN MENERAPKAN ALGORITMA BACKTRACKING (berbentuk piramida terbalik) PROPOSAL JUDUL Diajukan Untuk Menempuh Tugas Akhir Oleh Lukman Hariadi 14201045 PROGRAM STUDI

Lebih terperinci

BAB 2 LANDASAN TEORI. waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam mengeksekusi suatu

BAB 2 LANDASAN TEORI. waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam mengeksekusi suatu BAB 2 LANDASAN TEORI 2.1 Permasalahan NP-Hard dan NP-Complete Salah satu ukuran biaya dalam pengeksekusian sebuah algoritma adalah lamanya waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam

Lebih terperinci

PERBANDINGAN ANSWER SET PROGRAMMING DAN ITERATIVE DEEPENING SEARCH DALAM MENYELESAIKAN GAME N-PUZZLE

PERBANDINGAN ANSWER SET PROGRAMMING DAN ITERATIVE DEEPENING SEARCH DALAM MENYELESAIKAN GAME N-PUZZLE vii PERBANDINGAN ANSWER SET PROGRAMMING DAN ITERATIVE DEEPENING SEARCH DALAM MENYELESAIKAN GAME N-PUZZLE TEGUH FAJAR NURBIANSYAH DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Pengoptimalan, Optimisasi, Algoritma, dan Analisis Algoritma

BAB 2 LANDASAN TEORI. 2.1 Pengoptimalan, Optimisasi, Algoritma, dan Analisis Algoritma 7 BAB 2 LANDASAN TEORI 2.1 Pengoptimalan, Optimisasi, Algoritma, dan Analisis Algoritma 2.1.1 Definisi Pengoptimalan Dalam Kamus Besar Bahasa Indonesia, pengoptimalan diartikan sebagai proses, cara, perbuatan

Lebih terperinci

Review Teori P dan NP

Review Teori P dan NP IF5110 Teori Komputasi Review Teori P dan NP Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 2 Pendahuluan Kebutuhan waktu algoritma yang mangkus bervariasi, mulai dari O(1), O(log log

Lebih terperinci

BAB 1 PENDAHULUAN. dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkahlangkah

BAB 1 PENDAHULUAN. dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkahlangkah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Komputer merupakan salah satu alat bantu untuk menyelesaikan masalah. Untuk dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkahlangkah

Lebih terperinci

PENINGKATAN EFISIENSI SISTEM PENJADWALAN UJIAN MENGGUNAKAN ANSWER SET PROGRAMMING PAULUS BANGUN KURNIANTO

PENINGKATAN EFISIENSI SISTEM PENJADWALAN UJIAN MENGGUNAKAN ANSWER SET PROGRAMMING PAULUS BANGUN KURNIANTO PENINGKATAN EFISIENSI SISTEM PENJADWALAN UJIAN MENGGUNAKAN ANSWER SET PROGRAMMING PAULUS BANGUN KURNIANTO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

Nama : Rendi Setiawan Nim :

Nama : Rendi Setiawan Nim : Nama : Rendi Setiawan Nim : 41813120188 Desain Test Case Definisi Test Case Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Graf 2.1.1 Defenisi Graf Graf G didefenisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G = (V,E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul

Lebih terperinci

REPRESENTASI PENGETAHUAN

REPRESENTASI PENGETAHUAN REPRESENTASI PENGETAHUAN Representasi Pengetahuan (Knowledge Representation) dimaksudkan untuk menangkap sifatsifat penting masalah dan membuat infomasi dapat diakses oleh prosedur pemecahan masalah. Bahasa

Lebih terperinci

REPRESENTASI PENGETAHUAN. Pertemuan 6 Diema Hernyka Satyareni, M. Kom

REPRESENTASI PENGETAHUAN. Pertemuan 6 Diema Hernyka Satyareni, M. Kom REPRESENTASI PENGETAHUAN Pertemuan 6 Diema Hernyka Satyareni, M. Kom KOMPETENSI DASAR Mahasiswa dapat merepresentasi pengetahuan dalam Sistem Intelegensia MATERI BAHASAN Logika Jaringan Semantik Frame

Lebih terperinci

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking Krisna Dibyo Atmojo 13510075 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari lintasan sederhana terpanjang maksimum dalam suatu graph yang diberikan. Lintasan terpanjang

Lebih terperinci

Algoritma dan Pemrograman 2C. Logika Proporsional YUDI ADHA. ST. MMSI

Algoritma dan Pemrograman 2C. Logika Proporsional YUDI ADHA. ST. MMSI Algoritma dan Pemrograman 2C Logika Proporsional YUDI ADHA. ST. MMSI Pengertian Algoritma Pola pikir yang terstruktur yang berisi tahaptahap atau langkah-langkah penyelesaian suatu masalah Merupakan satu

Lebih terperinci

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe Penerapan Runut-Balik (Backtracking) pada Permainan Nurikabe Putri Amanda Bahraini Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if14041@students.if.itb.ac.id

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 15 BAB II LANDASAN TEORI 2.1 Konsep Dasar Graf Definisi 2.1.1 Graf Sebuah graf G adalah pasangan (V,E) dengan V adalah himpunan yang tak kosong yang anggotanya disebut vertex, dan E adalah himpunan yang

Lebih terperinci

BAB II INDUCT/RIPPLE-DOWN RULE (RDR)

BAB II INDUCT/RIPPLE-DOWN RULE (RDR) BAB II INDUCT/RIPPLE-DOWN RULE (RDR) Bab ini berisi tentang uraian mengenai teori Ripple-Down Rules (RDR), yang meliputi RDR dengan pengembangan manual dan RDR yang menerapkan algoritma Induct untuk pengembangannya.

Lebih terperinci

TABEL KEBENARAN. Liduina Asih Primandari, S.Si.,M.Si. P a g e 8

TABEL KEBENARAN. Liduina Asih Primandari, S.Si.,M.Si. P a g e 8 P a g e 8 TABEL KEBENARAN A. Logika Proposisional dan Predikat Logika proposional adalah logika dasar yang harus dipahami programmer karena logika ini yang menjadi dasar dalam penentuan nilai kebenaran

Lebih terperinci

BAB 2 OPTIMISASI KOMBINATORIAL

BAB 2 OPTIMISASI KOMBINATORIAL BAB 2 OPTIMISASI KOMBINATORIAL Optimisasi kombinatorial merupakan suatu cara yang digunakan untuk mencari semua kemungkinan nilai real dari suatu fungsi objektif. Proses pencarian dapat dilakukan dengan

Lebih terperinci

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Algoritma yang efektif diukur dari berapa jumlah waktu dan

Lebih terperinci

REPRESENTASI PENGETAHUAN

REPRESENTASI PENGETAHUAN REPRESENTASI PENGETAHUAN Farah Zakiyah Rahmanti, M.T Overview Definisi Representasi Pengetahuan Entitas Representasi Pengetahuan Kategori dari Representasi Ilustrasi Representasi Pengetahuan Logika Contoh

Lebih terperinci

BAB 1 PENDAHULUAN UKDW

BAB 1 PENDAHULUAN UKDW BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Pada bidang matematika dan ilmu komputer, teori graf adalah ilmu tentang graf, struktur matematika yang digunakan untuk memodelkan hubungan berpasangan antara

Lebih terperinci

ALGORITMA PEMROGRAMAN 1C PEMROGRAMAN LOGIK

ALGORITMA PEMROGRAMAN 1C PEMROGRAMAN LOGIK ALGORITMA PEMROGRAMAN 1C PEMROGRAMAN LOGIK Indah Wahyuni PARADIGMA-PARADIGMA PEMROGRAMAN Bahasa pemrograman (programming language): notasi yang dipakai untuk menentukan, mengorganisasi, dan melakukan penalaran

Lebih terperinci

Berbagai Variasi Teknik Program Dinamis dalam Penyelesaian Masalah

Berbagai Variasi Teknik Program Dinamis dalam Penyelesaian Masalah Berbagai Variasi Teknik Program Dinamis dalam Penyelesaian Masalah Afrizal Fikri / 13513004 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF Lutfi Hakim (1), Eko Mulyanto Yuniarno (2) Mahasiswa Jurusan Teknik Elektro (1), Dosen Pembimbing (2) Institut Teknologi Sepuluh Nopember (ITS)

Lebih terperinci

BAB 6 METODE PENGUJIAN

BAB 6 METODE PENGUJIAN BAB 6 METODE PENGUJIAN Metode pengujian adalah cara atau teknik untuk menguji perangkat lunak, mempunyai mekanisme untuk menentukan data uji yang dapat menguji perangkat lunak secara lengkap dan mempunyai

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Logika Fuzzy Zadeh (1965) memperkenalkan konsep fuzzy sebagai sarana untuk menggambarkan sistem yang kompleks tanpa persyaratan untuk presisi. Dalam jurnalnya Hoseeinzadeh et

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA Bagian ini menjelaskan tentang hal-hal yang erat kaitannya dengan masalah m- ring star. Salah satu cabang matematika yang cukup penting dan sangat luas penerapannya di banyak bidang

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Optimasi Menurut Nash dan Sofer (1996), optimasi adalah sarana untuk mengekspresikan model matematika yang bertujuan memecahkan masalah dengan cara terbaik. Untuk tujuan bisnis,

Lebih terperinci

Logika Proposisi. Pertemuan 2 (Chapter 10 Schaum, Set Theory) (Chapter 3/4 Schaum, Theory Logic)

Logika Proposisi. Pertemuan 2 (Chapter 10 Schaum, Set Theory) (Chapter 3/4 Schaum, Theory Logic) Logika Proposisi Pertemuan 2 (Chapter 10 Schaum, Set Theory) (Chapter 3/4 Schaum, Theory Logic) Logika Proposisional Tujuan pembicaraan kali ini adalah untuk menampilkan suatu bahasa daripada kalimat abstrak

Lebih terperinci

Teori Pengenalan Bahasa Pemrograman BAB 1 PENDAHULUAN

Teori Pengenalan Bahasa Pemrograman BAB 1 PENDAHULUAN BAB 1 PENDAHULUAN Misalkan kita memiliki nilai 3.14 dan 5, operasi perkalian (x) dan kita melakukan perhitungan yang ditetapkan dengan ekspresi matematik 3.14 x 5 Yang menghasilkan nilai: 15.7 Nilai 3.14

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN Pada bab pertama ini akan diuraikan mengenai latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi, dan sistematika pembahasan dalam Tugas Akhir ini. 1.1 Latar Belakang

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Algoritma Algoritma berasal dari nama ilmuwan muslim dari Uzbekistan, Abu Ja far Muhammad bin Musa Al-Khuwarizmi (780-846M). Pada awalnya kata algoritma adalah istilah yang merujuk

Lebih terperinci

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL Swaditya Rizki Program Studi Pendidikan Matematika, Fakultas Keguruan dan Ilmu Pendidikan, Universitas

Lebih terperinci

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR Dini MH. Hutagalung Program Studi Sistem Informasi Universitas Sari Mutiara Indonesia mhdini@gmail.com ABSTRAK Sistem produksi ( production system) merupakan

Lebih terperinci

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik Filman Ferdian - 13507091 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan Ganesha

Lebih terperinci

Teknik Pengujian (2) Whitebox Testing

Teknik Pengujian (2) Whitebox Testing Teknik Pengujian (2) Whitebox Testing Pengujian Perangkat Lunak Mina Ismu Rahayu 2011 Pengujian Ujicoba merupakan proses eksekusi program dengan tujuan untuk menemukan kesalahan. Sebuah ujicoba kasus yang

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Proposisi adalah pernyataan yang dapat ditentukan nilai kebenarannya, bernilai benar atau salah tetapi tidak keduanya. Sedangkan, Kalkulus Proposisi (Propositional

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom.

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom. Refreshing Materi Kuliah Semester Pendek 2010/2011 Logika dan Algoritma Heri Sismoro, M.Kom. STMIK AMIKOM YOGYAKARTA 2011 Materi 1. Logika Informatika Adalah logika dasar dalam pembuatan algoritma pada

Lebih terperinci

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015 Sistem Kecerdasan Buatan Masalah, Ruang Masalah dan Pencarian Solusi Bahan Bacaan : Sri Kusumadewi, Artificial Intelligence. Russel, Artificial Intelligence Modern Approach 2 bagian utama kecerdasan buatan

Lebih terperinci

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini:

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini: 10 BAB 2 LANDASAN TEORI 2.1.Konsep Dasar Graf Definisi 2.1.1 Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini: V = himpunan tidak kosong dari simpul-simpul (vertices atau node)

Lebih terperinci

Bab 2 LANDASAN TEORI. 2.1 Definisi Graf

Bab 2 LANDASAN TEORI. 2.1 Definisi Graf Bab 2 LANDASAN TEORI 2.1 Definisi Graf Suatu graf G terdiri dari himpunan tak kosong terbatas dari objek yang dinamakan titik dan himpunan pasangan (boleh kosong) dari titik G yang dinamakan sisi. Himpunan

Lebih terperinci

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB IF5110 Teori Komputasi Teori Kompleksitas (Bagian 1) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Sebuah persoalan dikatakan Solvable, jika terdapat mesin Turing yang dapat menyelesaikannya.

Lebih terperinci

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG 1 BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG Graf merupakan salah satu cabang ilmu matematika yang dapat digunakan dalam membantu persoalan diberbagai bidang seperti masalah komunikasi, transportasi, distribusi,

Lebih terperinci

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis Albert Logianto - 13514046 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

Langkah Awal menuju Analisis Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma Langkah Awal menuju Analisis Kompleksitas Algoritma Isi Proses Desain dan Analisis Algoritma Tipe-tipe Problem yang penting Kebutuhan akan algoritma yang efisien Analisis framework 2 Proses Desain dan

Lebih terperinci

BAB 1 PENDAHULUAN UKDW

BAB 1 PENDAHULUAN UKDW BAB 1 PENDAHULUAN 1.1. Latar Belakang Sudoku (atau Number Place ) merupakan sebuah permainan yang sangat populer. Permainan Sudoku berasal dari kata Latin Square yang pertama kali diperkenalkan oleh Leonhard

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Analisis atau bisa juga disebut dengan Analisis sistem (systems analysis) dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam

Lebih terperinci

ALGORITMA STRUCTURED ENGLISH DAN PSEUDOCODE

ALGORITMA STRUCTURED ENGLISH DAN PSEUDOCODE ALGORITMA Algoritma adalah pola pikir yang terstruktur yang berisi tahaptahap atau langkah-langkah penyelesaian suatu masalah; merupakan satu set proses yang diaktifkan menurut langkah demi langkah dengan

Lebih terperinci

ALGORITMA STRUCTURED ENGLISH DAN PSEUDOCODE

ALGORITMA STRUCTURED ENGLISH DAN PSEUDOCODE ALGORITMA Algoritma adalah pola pikir yang terstruktur yang berisi tahap-tahap atau langkah-langkah penyelesaian suatu masalah; merupakan satu set proses yang diaktifkan menurut langkah demi langkah dengan

Lebih terperinci

Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph

Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph Muhammad Afif Al-hawari (13510020) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Implementasi OOP Pada Perangkat Lunak Pemrograman

Implementasi OOP Pada Perangkat Lunak Pemrograman Silabus Pertemuan ke- Pokok Bahasan Keterangan 1 Pengenalan Dasar Pemrograman 2 Konsep Dasar Pemrograman 3 Tahapan Pembuatan Program 4 Elemen-Elemen Bahasa Pemrograman 5 Analisa Struktur Program 6 Analisa

Lebih terperinci

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Gerard Edwin Theodorus - 13507079 Jurusan Teknik Informatika ITB, Bandung, email: if17079@students.if.itb.ac.id Abstract Makalah ini

Lebih terperinci

Berpikir Komputasi. Sisilia Thya Safitri, MT Citra Wiguna, M.Kom. 3 Logika Proposisional (I)

Berpikir Komputasi. Sisilia Thya Safitri, MT Citra Wiguna, M.Kom. 3 Logika Proposisional (I) Berpikir Komputasi Sisilia Thya Safitri, MT Citra Wiguna, M.Kom 3 Logika Proposisional (I) Capaian Sub Pembelajaran Mahasiswa dapat memahami logika proposisional sebagai dasar penerapan algoritma. Outline

Lebih terperinci

Evaluasi HASIL DAN PEMBAHASAN

Evaluasi HASIL DAN PEMBAHASAN jadwal(agh331,shift_1,a0003b21,slot4_2ja m,senin 25_7_2011), jadwal(agh331,shift_2,a00000bd,slot4_2ja m,senin 25_7_2011), jadwal(tsl331,semua,a00000bd,slot4_2jam, jadwal(tsl350,semua,a000gmkl,slot4_2jam,

Lebih terperinci

BAB III HASIL DAN PEMBAHASAN

BAB III HASIL DAN PEMBAHASAN BAB III HASIL DAN PEMBAHASAN Pada bab ini akan dijelaskan hal-hal yang berhubungan dengan masalah dan bagaimana mengeksplorasinya dengan logaritma diskret pada menggunakan algoritme Exhaustive Search Baby-Step

Lebih terperinci

JURNAL IT STMIK HANDAYANI

JURNAL IT STMIK HANDAYANI Nurilmiyanti Wardhani Teknik Informatika, STMIK Handayani Makassar ilmyangel@yahoo.com Abstrak Algoritma semut atau Ant Colony Optimization merupakan sebuah algoritma yang berasal dari alam. Algoritma

Lebih terperinci

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir Pengantar Strategi Algoritmik Oleh: Rinaldi Munir 1 Masalah (Problem) Masalah atau persoalan: pertanyaan atau tugas yang kita cari jawabannya. Contoh-contoh masalah: 1. [Masalah pengurutan] Diberikan senarai

Lebih terperinci

Representasi Kalimat Logika ke dalam Matriks Trivia

Representasi Kalimat Logika ke dalam Matriks Trivia Representasi Kalimat Logika ke dalam Matriks Trivia Rio Chandra Rajagukguk 13514082 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Artificial Intelegence/ P_3 EKA YUNIAR

Artificial Intelegence/ P_3 EKA YUNIAR Artificial Intelegence/ P_3 EKA YUNIAR Pokok Bahasan Teknik Pencarian Heuristik Generate And Test Hill Climbing Best First Searching Problem Reduction Constrait Satisfaction Means End Analysis Teknik Pencarian

Lebih terperinci

Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria

Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria Abstrak Kecerdasan Buatan (Artificial Intelligence) merupakan salah satu bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer)

Lebih terperinci

BAB II II.1 LANDASAN TEORI

BAB II II.1 LANDASAN TEORI II.1 BAB II LANDASAN TEORI 2.1 Traveling Salesmen Problem TSP atau Travelling Salesmen Problem adalah salah satu masalah distribusi yang cukup lama dibahas dalam kajian optimasi. Masalahnya adalah bagaimana

Lebih terperinci

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS)

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS) MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS) DOSEN PENGAMPU: TATI HARIHAYATI M.,M.T. JURUSAN TEKNIK INFORMATIKA UNIKOM PERTEMUAN 1 PENGANTAR ALGORITMA Algoritma dan Pemrograman I Teknik Informatika

Lebih terperinci

Lampiran 1 Program DLV, modul pembangkitan.

Lampiran 1 Program DLV, modul pembangkitan. LAMPIRAN 16 Lampiran 1 Program DLV, modul pembangkitan. 1 arc(x,y,1,0,0,0) v arc(x,y,0,1,0,0) v arc(x,y,0,0,1,0) v arc(x,y,0,0,0,1) :- C(X,Y,1). 2 arc(x,y,1,1,0,0) v arc(x,y,0,1,1,0) v arc(x,y,0,0,1,1)

Lebih terperinci

Variabel dan Tipe data Javascript

Variabel dan Tipe data Javascript Variabel dan Tipe data Javascript Variabel Pendeklarasian variabel dalam JavaScript dapat di isi dengan nilai apa saja dan juga bersifat opsional. Artinya variabel boleh di deklarasikan ataupun tidak hal

Lebih terperinci

Logika Proposisi 1: Motivasi Pohon Urai (Parse Tree)

Logika Proposisi 1: Motivasi Pohon Urai (Parse Tree) Logika Proposisi 1: Motivasi Pohon Urai (Parse Tree) Kuliah Logika Matematika Semester Ganjil 2015-2016 MZI Fakultas Informatika Telkom University FIF Tel-U Agustus 2015 MZI (FIF Tel-U) Logika Proposisi

Lebih terperinci

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI. TESTING DAN IMPLEMENTASI SISTEM WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 4 TESTING DAN IMPLEMENTASI SISTEM Dasar-dasar Pengujian Perangkat Lunak Dasar-dasar Pengujian Perangkat Lunak. Pengujian White Box.

Lebih terperinci

Dibuat Oleh : 1. Andrey ( )

Dibuat Oleh : 1. Andrey ( ) Dibuat Oleh : 1. Andrey (41813120186) FAKULTAS ILMU KOMPUTER PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS MERCU BUANA JAKARTA 2015 Definisi Test Case Test case merupakan suatu tes yang dilakukan berdasarkan

Lebih terperinci

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA PENGANTAR ALGORITMA & PROGRAM PENGERTIAN ALGORITMA & PROGRAM NOTASI UNTUK ALGORITMA 1 Kompetensi Mampu menerapkan prinsip algoritma dan program sesuai dengan permasalahan, sistematis dan terstruktur. Mampu

Lebih terperinci

SINTAKS DAN SEMANTIK PADA LOGIKA PROPOSISI. Matematika Logika Semester Ganjil 2011/2012

SINTAKS DAN SEMANTIK PADA LOGIKA PROPOSISI. Matematika Logika Semester Ganjil 2011/2012 SINTAKS DAN SEMANTIK PADA LOGIKA PROPOSISI Matematika Logika Semester Ganjil 2011/2012 PROPOSISI Proposisi atau kalimat dalam logika proposisi bisa berupa Atom/kalimat sederhana Kalimat kompleks, komposisi

Lebih terperinci

Pemrograman dan Bahasa Pemrograman

Pemrograman dan Bahasa Pemrograman Pemrograman dan Bahasa Pemrograman Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Apakah Pemrograman? Problem Space Abstraction Modelling Programming Language Implementation Solution

Lebih terperinci

Gambar (a) PDL for test design

Gambar (a) PDL for test design Deriving Test Cases Metode ujicoba berbasis alur dapat diaplikasikan pada detail desain prosedural atau kode sumber. Ujicoba berbasis alur direpresentasikan menjadi beberapa tahapan : 1. Menggunakan desain

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Graph Graf adalah struktur data yang terdiri dari atas kumpulan vertex (V) dan edge (E), biasa ditulis sebagai G=(V,E), di mana vertex adalah node pada graf, dan edge adalah rusuk

Lebih terperinci

PENDAHULUAN MODUL I. 1 Teori Graph Pendahuluan Aswad 2013 Blog: 1.

PENDAHULUAN MODUL I. 1 Teori Graph Pendahuluan Aswad 2013 Blog:    1. MODUL I PENDAHULUAN 1. Sejarah Graph Teori Graph dilaterbelakangi oleh sebuah permasalahan yang disebut dengan masalah Jembatan Koningsberg. Jembatan Koningsberg berjumlah tujuh buah yang dibangun di atas

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Graf 2.1.1 Definisi Graf Graf adalah pasangan himpunan (V, E), dan ditulis dengan notasi G = (V, E), V adalah himpunan tidak kosong dari verteks-verteks {v 1, v 2,, v n } yang

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Algoritma

BAB 2 LANDASAN TEORI. 2.1 Algoritma 13 BAB 2 LANDASAN TEORI 2.1 Algoritma Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap

Lebih terperinci

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan. Struktur Data Struktur Data Setiap data memiliki tipe data, apakah merupakan angka bulat, angka pecahan, atau berupa karakter, dan sebagainya. Jadi, tipe data adalah pengelompokan data berdasarkan isi

Lebih terperinci

Permasalahan Clique dalam Graf

Permasalahan Clique dalam Graf Permasalahan Clique dalam Graf Adventus W. Lumbantobing, 13505112 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Innesia

Lebih terperinci

1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)

1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) 1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) 1.1 DEFINISI KECERDASAN BUATAN Definisi Kecerdasan Buatan H. A. Simon [1987] : Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian,

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI. Teori Graf Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 5 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Algoritma adalah urutan logis langkah-langkah penyelesaian yang disusun secara sistematis. Meskipun algoritma sering dikaitkan dengan ilmu komputer, namun

Lebih terperinci

TESTING PROGRAM. Pertemuan Nurul Adhayanti

TESTING PROGRAM. Pertemuan Nurul Adhayanti TESTING PROGRAM Pertemuan - 04 Nurul Adhayanti Proses Testing 01 System Testing Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system. 02 Acceptance Testing Pengujian terakhir sebelum

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA Bab ini akan membahas landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang mendasari penyelesaian permasalahan dalam penentuan jarak terpendek untuk Pendistribusian

Lebih terperinci

Algoritma Branch & Bound

Algoritma Branch & Bound Algoritma Branch & Bound Bahan Kuliah IF2211 Strategi Algoritma Program Studi Informatika STEI ITB 2018 Overview Pembentukan pohon ruang status (state space tree) dinamis untuk mencari solusi persoalan

Lebih terperinci

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9 Jurnal Informatika Mulawarman Vol. 11 No. 1 Februari 2016 29 IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9 Febri Utama 1), Awang Harsa Kridalaksana 2), Indah Fitri Astuti

Lebih terperinci

BAB 2 LANDASAN TEORI. dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations

BAB 2 LANDASAN TEORI. dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasi Simulasi merupakan salah satu cara untuk memecahkan berbagai persoalan yang dihadapi di dunia nyata (real world). Banyak metode yang dibangun

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN A III ANALII DAN PERANCANGAN 3.1 Analisis Analisis adalah suatu kegiatan penelitian atau kajian yang dimulai dari proses awal didalam mempelajari serta mengevaluasi suatu bentuk permasalahan (case) yang

Lebih terperinci