HASIL DAN PEMBAHASAN. Arsitektur sistem

Ukuran: px
Mulai penontonan dengan halaman:

Download "HASIL DAN PEMBAHASAN. Arsitektur sistem"

Transkripsi

1 Arsitektur sistem Pembangkitan slither link Front End GUI Parser Penyelesaian Slither link Backend Backend Identifikasi aturanaturan pembangkitan slither link Identifikasi aturanaturan penyelesaian slither link Gambar 13 Arsitektur sistem. Arsitektur sistem ini terdiri atas tiga bagian yaitu, modul back end, modul front end, dan modul parser. Pada bagian back end akan di kerjakan oleh DLV dan C++, bagian ini adalah bagian utama yang menangani pembangkitan dan penyelesaian slither link dengan answer set programming maupun dengan procedural programming. Kemudian bagian parser adalah bagian penghubung yang bertugas sebagai modul penerjemah. Gambar 14 menggambarkan sebuah diagram alur tentang bagaimana sebuah solver slither link bekerja menghasilkan solusi. solusi yang diinginkan ke dalam bahasa logika DLV menggunakan paradigma GCO (guess / check / optimize) agar solver bisa menyelesaikannya. Sebagai perbandingan dibuat juga model penyelesaian slither link dengan menggunakan procedural programming dengan software C++, kedua metode ini akan dibandingkan rata-rata waktu eksekusinya. Domain masalah dalam DLV Solusi untuk masalah slither link adalah membuat loop sedemikian sehingga loop yang dihasilkan memenuhi kondisi nilai yang terdapat pada cell dalam grid, arti kata memenuhi adalah garis jumlah garis yang mengelilingi cell harus memiliki jumlah yang sama dengan angka yang terdapat di dalam cell. Sebuah cell dalam slither link direpresentasikan dengan predikat C(X,Y,N) yang memiliki tiga argumen yaitu, X dan Y yang berarti koordinat cell dalam grid (X koordinat vertikal dan Y koordinat horizontal), dan N yang berarti angka yang terdapat di dalam cell. N bisa bernilai 0, 1, 2, 3, atau null. Himpunan dari predikat C disebut sebagai fakta atau deskripsi dari masalah slither link yang akan diselesaikan, seperti pernyataan berikut mengilustrasikan fakta untuk slither link dengan ukuran 3x3. C(1,1,null). C(1,2,null). C(1,3,2). C(2,1,1). C(2,2,0). C(2,3,3). C(3,1,2). C(3,2,null). C(3,3,null). Fakta tersebut adalah representasi dari Gambar 15: Gambar 14 Diagram alur proses solver slither link. HASIL DAN PEMBAHASAN Masalah slitherlink diselesaikan dengan metodologi pemrograman deklaratif dengan terlebih dahulu mendeskripsikan masalah, kemudian melakukan proses encoding kondisi Gambar 15 Representasi dari fakta slither link. Predikat arc(x,y,a,b,c,d) memiliki enam argumen didalamnya yang merepresentasikan posisi cell dan status garisgaris di sekeliling cell, dimana X dan Y merepresentasikan posisi cell (X koordinat vertikal dan Y koordinat horizontal), sedangkan A, B, C, dan D merepresentasikan nilai atau status dari garis di sekeliling cell. Jika bernilai 0 maka tidak ada garis terbentang pada posisi 8

2 tersebut, dan jika bernilai 1 maka ada garis terbentang di posisi tersebut. A berposisi di atas cell, B berposisi di sebelah kanan cell, C berposisi di bagian bawah cell, dan D berposisi di sebelah kiri cell seperti ditunjukkan pada Gambar 16. Gambar 18 Cell dengan predikat arc(x,y,1,0,0,0). 3 arc(x,y,0,0,1,0) Gambar 16 Representasi status garis di sekeliling cell arc(x,y,0,0,0,1). Encoding dengan DLV Sebelumnya pada bagian metodologi telah dijelaskan mengenai beberapa teknik atau petunjuk cara menyelesaikan slither link, teknik itulah yang akan diterjemahkan ke bahasa logika secara deklaratif menggunakan paradigma GC (guess, check). Langkah pertama yang dilakukan adalah mendefinisikan ruang pencarian yaitu bagian guess pada program, pada bagian ini terdapat empat aturan disjungsi yang mendefinisikan ruang pencarian dari masalah yaitu cell dengan nilai 0, 1, 2, 3, dan null dijelaskan pada Lampiran 1. Misalnya untuk cell dengan nilai 1 maka cell tersebut mempunyai empat kemungkinan solusi untuk dibangkitkan. Kode program berikut menggambarkan bagaimana sebuah cell bernilai 1 dibangkitkan kemungkinan solusinya. 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). Berikut adalah representasi bentuk cell dari solusi yang telah dibangkitkan : Gambar 19 Cell dengan predikat arc(x,y,0,0,1,0). 4 arc(x,y,0,0,0,1) Gambar 20 Cell dengan predikat arc(x,y,0,0,0,1). Kemudian langkah selanjutnya adalah mendefinisikan constraint atau aturan yang akan menghapus calon answer set yang tidak memenuhi syarat, bagian ini masuk ke dalam metode check. Constraint dari program adalah : 1 Cell dengan nilai 0 (lihat Lampiran 2). Sebuah cell dengan nilai 0 tidak boleh memiliki garis yang mengelilinginya, dan hal tersebut berakibat juga pada cell disebelah kiri atau kanan maupun pada atas dan bawah cell dengan nilai 0 tersebut. Dengan bahasa logika aturan ini diterjemahkan menjadi : :- arc(x,y,0,0,0,0), arc(a,y,_,_,1,_), X=A+1. Answer set yang tidak akan tereliminasi adalah sebagai berikut : 1 arc(x,y,1,0,0,0) Gambar 17 Cell dengan predikat arc(x,y,1,0,0,0). 2 arc(x,y,0,1,0,0) Gambar 21 Cell dengan nilai 0. 2 Cell dengan nilai 1 (lihat Lampiran 2). Sebuah cell dengan nilai 1 akan mempengaruhi jumlah garis yang mengelilingi tetangganya karena hanya boleh ada satu sisi yang bernilai 1. Misalnya cell yang bernilai 1 mempunyai garis pada posisi B maka tetangganya di sebelah kanan harus memiliki nilai 1 juga tetapi pada garis 9

3 di posisi D selain itu maka hapus kandidat tersebut. Aturan ini diterjemahkan menjadi : :- arc(x,y,0,1,0,0), arc(x,b,_,_,_,0), B=Y+1. Tanda _ adalah anonymous variable yang bermakna bahwa argumen ini bisa dihiraukan atau berapapun nilainya tidak mempengaruhi rule. Answer set yang tidak akan tereliminasi adalah sebagai berikut : Gambar 22 Cell dengan nilai 1. 3 Cell dengan nilai 2 (lihat Lampiran 2). Serupa dengan aturan sebelumnya dimana aturan ini akan mempengaruhi jumlah garis yang mengelilingi tetangganya, karena nilai dari cell ini adalah 2 maka ada dua garis yang harus bernilai 1 dan dua garis lainnya bernilai 0, begitu juga pada dua buah cell tetangga dari cell ini. Misalnya cell yang bernilai 2 memiliki garis pada posisi A dan B maka tetangga yang berada di atas harus memiliki nilai 1 pada sisi di posisi C dan tetangga di sebelah kanan harus memiliki nilai 1 pada sisi di posisi D, jika menyalahi aturan ini maka eliminasi answer set tersebut. Aturan ini diterjemahkan menjadi. :- arc(x,y,1,1,0,0), arc(x,b,_,_,_,0), B=Y+1. :- arc(x,y,1,1,0,0), arc(a,y,_,_,0,_), X=A+1. Constraint pertama merepresentasikan cell di sebelah kanan cell yang bernilai 2, dan constraint kedua merepresentasikan cell di atas cell bernilai 2. Answer set yang tidak akan tereliminasi adalah sebagai berikut : Gambar 23 Cell dengan nilai 2. 4 Cell dengan nilai 3 (lihat Lampiran 2). Cell dengan tipe seperti ini adalah kebalikan dari cell dengan nilai 1, jika pada cell dengan nilai 1 memiliki tiga garis dengan nilai 0 maka cell dengan nilai 3 memiliki tiga garis dengan nilai 1 dan satu garis lainnya bernilai 0. Cell dengan tipe ini mengharuskan tiga tetangganya memiliki nilai 1 pada sis yang bertetangga, dan satu tetangganya memiliki nilai 0 pada sisi yang bertetangga. Misalnya sebuah cell dengan nilai 3 memiliki garis pada posisi A, B, dan C maka tetangga yang berada di atas cell tersebut harus memiliki nilai 1 pada sisi di posisi C, begitu juga dengan tetangga yang berada di sebelah kanan yang harus memiliki nilai 1 pada sisi di posisi D, dan tetangga yang berada di bawah harus memiliki nilai 1 pada sisi di posisi A. Skenario tersebut digambarkan oleh constraint berikut : arc(x,b,_,_,_,0), B=Y+1. arc(a,y,_,_,0,_), X=A+1. arc(a,y,0,_,_,_), A=X+1. Answer set yang tidak akan tereliminasi adalah sebagai berikut : Gambar 24 Cell dengan nilai 3. 5 Mencegah local loop (lihat Lampiran 3). Untuk mencegah local loop yaitu loop yang terjadi pada satu buah cell atau dengan kata lain cell tersebut mempunyai nilai 4 yang tidak diperbolehkan dalam aturan slither link maka eliminasi answer set dimana sebuah cell yang sudah memiliki tiga sisi bernilai 1 dan sisi lainnya bernilai 0 tetapi sisi bernilai 0 tersebut ternyata bernilai 1 pada tetangganya sehingga mengakibatkan local loop. Local loop hanya mungkin terjadi pada cell yang mempunyai tiga sisi yang bernilai 1, untuk mencegah hal ini maka definisikan constraint berikut : arc(x,b,_,1,_,_), Y = B+1. :- arc(x,y,0,1,1,1), arc(a,y,_,_,1,_), X = A+1. :- arc(x,y,1,0,1,1), arc(x,b,_,_,_,1), B = Y+1. :- arc(x,y,1,1,0,1), arc(a,y,1,_,_,_), A = X+1. Gambar 25 mengilustrasikan salah satu answer set yang akan dieliminasi oleh constraint di atas. Gambar 25 Local loop pada cell bernilai 3. 10

4 6 Constraint pada cell dengan posisi X = 1 dan Y =1 (1,1). Constraint ini akan sangat membantu menyelesaikan slither link, karena kesalahan menempatkan garis pada cell di posisi ini akan mengakibatkan jalan buntu pada solusi dan akan langsung terlihat tanpa perlu menunggu cell lain terbuka garisnya (lihat Lampiran 4). Sebagai contoh jika cell memiliki nilai 1 maka kandidat solusi yang akan gugur adalah jika cell tersebut memiliki sisi yang bernilai 1 pada posisi A atau D karena hal tersebut akan mengakibatkan jalan buntu atau garis berhenti pada posisi itu, untuk mencegah hal ini maka didefinisikan constraint berikut : :- arc(1,1,1,0,0,0). :- arc(1,1,0,0,0,1). Gambar 26 Constraint pada posisi pojok kiri atas. 7 Constraint pada cell dengan posisi (1, #maxint), #maxint adalah ukuran dari slither link sehingga cell tersebut terletak pada pojok kanan atas (lihat Lampiran 4). Sebagai ilustrasi jika cell pada posisi ini memiliki nilai 1, maka kandidat solusi yang akan gugur adalah jika cell tersebut memiliki sisi di posisi A atau B yang bernilai 1. Hal tersebut akan mengakibatkan terjadinya jalan buntu, atau garis tidak bisa menyambung dengan garis selanjutnya. Hal tersebut dicegah oleh constraint berikut : :- arc(1,#maxint,1,0,0,0). :- arc(1,#maxint,0,1,0,0). Gambar 27 Constraint pada posisi pojok kanan atas 8 Constraint pada cell dengan posisi (#maxint,1), #maxint adalah ukuran dari slither link. Cell dengan posisi ini terletak pada pojok kiri bawah dari grid (lihat Lampiran 4). Sebagai ilustrasi jika cell ini mempunyai nilai 1 maka kandidat solusi yang akan gugur adalah yang mempunyai sisi bernilai 1 pada posisi D atau C. Constraint berikut mendefinisikan aturan tersebut dalam bahasa logika. :- arc(#maxint,1,0,0,0,1). :- arc(#maxint,1,0,0,1,0). Gambar 28 Constraint pada posisi pojok kiri bawah. 9 Constraint pada cell dengan posisi (#maxint, #maxint), #maxint adalah ukuran dari slither link sehingga cell tersebut terletak pada pojok kanan bawah dari grid (lihat Lampiran 4). Sebagai ilustrasi jika cell pada posisi ini memiliki nilai 1, maka kandidat solusi yang akan tereliminasi adalah jika cell tersebut memiliki sisi yang berposisi di B atau C yang bernilai 1. Untuk mengeliminasi kondisi tersebut maka constraint berikut harus didefinisikan : :- arc(#maxint,#maxint,0,1,0,0). :- arc(#maxint,#maxint,0,0,1,0). Gambar 29 Constraint pada posisi pojok kanan bawah. 10 Antisipasi cabang (lihat Lampiran 5). Cabang akan mengacaukan loop yang dihasilkan, solusi dari slither link adalah sebuah loop maka solusi tersebut tidak boleh mempunyai cabang. Constraint ini akan mengeliminasi kandidat solusi yang mengakibatkan cabang, seperti jika sebuah cell mempunyai nilai 2 dan sisi yang bernilai 1 adalah A dan B maka cell di kanan atas dari cell tersebut tidak boleh memiliki nilai 1 pada sisi yang berposisi di D atau nilai 1 pada sisi yang berposisi di C. Hal seperti ini ditangani oleh constraint berikut : :- arc(x,y,1,1,_,_), arc(a,b,_,_,1,_), X=A+1, B=Y+1. 11

5 :- arc(x,y,1,1,_,_), arc(a,b,_,_,_,1), X=A+1, B=Y+1. Gambar 30 Antisipasi cabang. 11 Ketersambungan dari garis (lihat Lampiran 5). Himpunan garis penyusun loop tidak boleh terputus, maka sangat penting untuk memeriksa apakah antar himpunan garis penyusun loop merupakan sebuah rangkaian yang tersambung. Ilustrasi dari skenario ini adalah jika sebuah cell di sembarang posisi memiliki nilai 1 pada sisi di posisi A dan nilai 0 pada posisi D tanpa memperhatikan nilai dari posisi B dan C, maka ke arah kiri satu-satunya cara agar garis tersambung adalah dengan memperhatikan tetangga sebelah kiri atas apakah cell tersebut memiliki nilai 1 pada salah satu sisi dari B atau C. Jika tidak memenuhi kondisi ini maka eliminasi kandidat solusi tersebut, skenario tersebut digambarkan dalam constraint berikut : :- arc(x,y,1,_,_,0), arc(a,b,_,m,n,_), M=N, X=A+1, Y=B+1. Gambar 31 Ketersambungan dari garis. 12 Local loop dari cell dengan nilai 3 yang bersebelahan (lihat Lampiran 3). Jika terdapat dua buah cell dengan nilai 3 yang bersebelahan baik di kiri dan kanan maupun pada atas dan bawah, ada kemungkinan konfigurasi keduanya membentuk local loop sehingga menyalahi aturan dari slither link. Yang dimaksud local loop pada skenario ini adalah loop yang terjadi antara dua cell yang memiliki nilai 3 tersebut, salah satu constraint yang digunakan adalah sebagai berikut : :- arc(x,y,1,1,0,1), arc(a,y,0,1,1,1), A=X+1. Gambar 32 Local loop dengan 2 cell bernilai Cell bernilai 2 yang bersebelahan dengan cell bernilai 0 pada bagian atas, bawah, kiri, serta kanan dari grid (lihat Lampiran 6). Terdapat dua tipe kandidat solusi yang akan gugur jika skenario ini terjadi yaitu cell yang memiliki nilai 1 pada sisi A dan C serta cell yang memiliki nilai 1 pada sisi B dan D karena pada salah satu sisi akan terjadi jalan buntu atau garis tidak bisa melanjutkan sehingga loop tidak terjadi. salah satu constraint yang digunakan adalah sebagai berikut : :- arc(#maxint,y,1,0,1,0), arc(#maxint,b,0,0,0,0), Y=B+1. Gambar 33 Cell bernilai 2 yang bersebelah dengan 0. Bagian constraint yang telah dijelaskan sebelumnya akan mengeliminasi kandidat solusi yang tidak memenuhi aturan slither link sehingga answer set yang didapatkan merupakan solusi yang diharapkan. Menjalankan model penyelesaian slither link Fakta dari slither link yang telah dibangkitkan disimpan dalam file bernama soal.dat dan program DLV untuk penyelesaian slither link disimpan dalam file bernama slither.txt. Pemisahan file antara fakta dan program disebabkan karena fakta yang akan selalu berubah seiring dengan slither link yang dibangkitkan. Berikut akan diberikan ilustrasi bagaimana sebuah slither link diselesaikan menggunakan program DLV. Misalnya telah dibangkitkan sebuah slither link dengan ukuran 3x3 dan memiliki fakta sebagai berikut : 12

6 Gambar 34 Slither link hasil pembangkitan. C(1,1,null). C(1,2,1). C(1,3,null). C(2,1,null). C(2,2,null). C(2,3,1). C(3,1,1). C(3,2,null). C(3,3,2). Kemudian fakta ini akan diproses bersama dengan model penyelesaian slither link oleh DLV, sehingga menghasilkan answer set yang merupakan solusi. D:\DLV>dlv.mingw.exe -nofacts -silent soal.dat slither.txt -N=3 {arc(1,2,1,0,0,0), arc(2,3,0,1,0,0), arc(3,1,0,1,0,0), arc(3,3,0,1,1,0), arc(1,1,1,0,1,1), arc(1,3,1,1,0,0), arc(2,1,1,1,0,0), arc(2,2,0,0,0,1), arc(3,2,0,0,1,1 )} Solusi tersebut harus diterjemahkan kembali menjadi sebuah slither link kembali, maka jika answer set tersebut diterjemahkan menjadi sebuah slither link seperti ditunjukkan Gambar 35. Gambar 35 Solusi slither link. Implementasi dengan Procedural Programming Pada bagian metodologi telah ditunjukkan bahwa slither link mempunyai petunjukpetunjuk yang bisa digunakan untuk menyelesaikan masalah. Petunjuk-petunjuk ini yang akan digunakan dalam membuat program ini. Program penyelesaian slither link menggunakan C++ ini terdiri atas enam modul dan satu fungsi. Struktur data Fakta tentang ukuran slither link dan nilai nilai dalam cell yang dibangkitkan disimpan dalam file ukuran.dat dan data.dat dengan format sebagai berikut : /// ** data.dat **// N 1 N 2... N k Dimana N i adalah nilai di dalam cell, dan k adalah jumlah cell dalam grid atau sebanyak ukuran grid dikuadratkan. Kemudian fakta ini akan dibaca oleh program sebagai array yang berukuran k.kemudian setiap sisi pada grid diberi nilai default 3 yang berarti statusnya belum diketahui (lihat Lampiran 7), jika bernilai 0 berarti tidak boleh ada garis pada sisi tersebut dan jika bernilai 1 maka ada garis pada sisi tersebut. Representasi posisi garis pada slither link digambarkan pada Gambar 36 : Gambar 36 Ilustrasi penomoran sisi pada grid. Modul pertama bernama basic_rule, modul ini akan mengaplikasian teknik-teknik dasar penyelesaian slither link salah satunya adalah jika terdapat cell dengan angka 0 maka sisi-sisi yang yang dipengaruhi akan diberi nilai 0 dan beberapa teknik lain seperti telah dijelaskan sebelumnya pada bagian metodologi. Pseudo code modul dapat dilihat pada Lampiran 8. Modul kedua bernama advance_rule, modul ini akan mencari kemungkinan terbukanya nilai dari sisi-sisi pada cell di posisi samping kiri, kanan, atas, dan bawah dengan melihat tetangganya. Misalnya pada cell dengan posisi di atas (i ukuran) dan cell tersebut bernilai 3 maka dengan melihat cell di sebelah kirinya diketahui bahwa sisi atas dari cell tersebut bernilai 0, kemudian program langsung memberi nilai 1 pada sisi atas dan kiri di cell yang bernilai 3. Pseudo code modul dapat dilihat pada Lampiran 9. Modul ketiga bernama cek_garis_cell, modul ini akan memberikan nilai 1 atau 0 pada sisi-sisi cell yang sudah dipastikan bahwa pemberian nilai tersebut akan membuat jumlah garis yang mengelilingi cell sesuai dengan nilai di dalamnya. Pseudo code modul dapat dilihat pada Lampiran

7 Modul keempat bernama sambung_garis, modul ini akan menyambungkan sisi dari cell yang tidak mungkin bercabang lagi, dan tersisa satu kemungkinan arah menuju garis selanjutnya. Misalnya pada sisi atas cell ke arah kanan mempunyai tiga kemungkinan cabang yaitu ke atas, ke samping, dan ke bawah. Jika dua dari cabang tersebut bernilai 0 maka bisa dipastikan garis tersebut mengarah ke cabang yg tidak bernilai 0. Pseudo code modul dapat dilihat pada Lampiran 11. Modul kelima bernama cek_cabang, modul ini akan memberi tanda berupa nilai 0 pada sisi yang berpotensi menjadi cabang, dan mengembalikan status dari setiap sisi pada grid. modul ini hanya mengubah nilai dari sisi yang masih bernilai 3 dan berpotensi menjadi cabang. Pseudo code modul dapat dilihat pada Lampiran 11. Modul keenam bernama cek_logic, modul ini akan memeriksa cell yang mempunyai nilai null dan sudah bisa ditebak kemungkinan solusinya dengan memeriksa tetangganya. Cell yang diperiksa hanya yang berada pada posisi tertentu yang bisa ditebak secara pasti kemungkinan solusinya. Pseudo code modul dapat dilihat pada Lampiran 12. Program ini memiliki satu buah fungsi dengan nama sambung. Fungsi ini akan melakukan perjalanan dari sisi yang pertama kali ditemui dan bernilai 1 dan kembali ke sisi tersebut sehingga perjalanan tersebut berupa sebuah loop yang memenuhi aturan slither link yaitu jumlah garis yang mengelilingi sebuah cell sesuai dengan nilai di dalam cell. Perjalanan akan terhenti jika menemui jalan buntu, kemudian cabang yang menyebabkan jalan buntu tersebut akan ditandai untuk ditutup kemudian fungsi akan mencoba cabang baru (backtracking) sampai solusi ditemukan. Status dari sisi yang bernilai 1 berguna sebagai petunjuk, karena jika masih bernilai 3 maka fungsi akan mendahului garis yang bernilai 1 dan kebalikannya jika sisi tersebut bernilai 0 maka fungsi tidak akan melaluinya. Pseudo code modul dapat dilihat pada Lampiran 12. Hasil Pengujian Pengujian dilakukan dengan membangkitkan 30 soal slither link secara acak pada setiap ukuran puzzle, mulai dari ukuran puzzle 3x3 sampai dengan 20x20 kemudian dihitung waktu penyelesaian atau waktu eksekusi sampai dengan sebuah solusi didapatkan dari kedua metode yaitu answer set programming (ASP) dan procedural programming (PP). Waktu yang digunakan sebagai perbandingan adalah rata-rata waktu eksekusi dari tiap ukuran, sistem memberi batas waktu (time out) yaitu 300 detik untuk menyelesaikan slither link jika sistem melewatinya maka ditandai. Waktu eksekusi tersebut dituliskan pada Tabel 1. Tabel 1. Waktu eksekusi (detik) dari teknik Answer Set Programming (ASP) dan procedural programming (PP) dan waktu pembangkitan (detik). Ukuran ASP PP Pem bangkit an 3 0,21 0,15 0,60 4 0,24 0,16 0,59 5 0,27 0,15 0,80 6 0,33 0,29 0,87 7 0,39 0,26 1,06 8 0,45 1,15 1,34 9 0,54 0,37 1, ,59 0,43 2, ,63 0,87 1, ,70 1,23 2,20 Jumlah Timeout ASP PP 13 0,79 5,25 3, ,93 7,00 4, ,17 4,64 5, ,14 12,61 5, ,38 12,11 6, ,68 5,80 12, ,94 14,09 7, ,06 18,74 11,42 5 Kecepatan waktu eksekusi ASP tidak mengalami kenaikan yang drastis ketika ukuran slither link mengalami peningkatan, berbanding terbalik dengan waktu eksekusi pada metode procedural programming dimana waktunya mengalami kenaikan pesat. Jika dibandingkan hasil keduanya maka waktu eksekusi dengan menggunakan metode answer set programming lebih cepat dibandingkan procedural programming. berikut adalah grafik waktu pembangkitan dan waktu eksekusi dari kedua metode. 14

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

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

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

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

PENDAHULUAN TINJAUAN PUSTAKA

PENDAHULUAN TINJAUAN PUSTAKA 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

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

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT Adi Purwanto Sujarwadi (13506010) Program Studi Teknik

Lebih terperinci

TEKNIK PENGUJIAN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

TEKNIK PENGUJIAN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom TEKNIK PENGUJIAN PERANGKAT LUNAK Ign.F.Bayu Andoro.S, M.Kom Latar Belakang Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas P/L dan merupakan review puncak terhadap spesifikasi, desain

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Word search puzzle merupakan salah satu permainan teka-teki yang cukup populer di masyarakat. Word search puzzle adalah permainan pencarian kata dalam kumpulan huruf

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 3 ANALISIS DAN PERANCANGAN APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI 27 BAB 3 ANALISIS DAN PERANCANGAN APLIKASI 3.1 Analisis Pada subbab ini akan diuraikan tentang analisis kebutuhan untuk menyelesaikan masalah jalur terpendek yang dirancang dengan menggunakan algoritma

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 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

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 IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Sistem yang Sedang Berjalan Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang berorientasi pada objek-objek yang diperlukan oleh

Lebih terperinci

PENCARIAN SHORTEST PATH DINAMIK DENGAN ALGORITMA BELLMAN-BASED FLOOD-FILL DAN IMPLEMENTASINYA PADA ROBOT MICROMOUSE

PENCARIAN SHORTEST PATH DINAMIK DENGAN ALGORITMA BELLMAN-BASED FLOOD-FILL DAN IMPLEMENTASINYA PADA ROBOT MICROMOUSE PENCARIAN SHORTEST PATH DINAMIK DENGAN ALGORITMA BELLMAN-BASED FLOOD-FILL DAN IMPLEMENTASINYA PADA ROBOT MICROMOUSE Samudra Harapan Bekti NIM 13508075 Program Studi Teknik Informatika Sekolah Teknik Elektro

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

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker Penggunaan Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker Nanda Ekaputra Panjiarga 13509031 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Arfinda Ilmania /13515137 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

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

Teknik Informatika S1

Teknik Informatika S1 Teknik Informatika S1 SOFTWARE QUALITY AND TESTING White Box Testing (1) Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021 Tugas Black Box Mengingatkan

Lebih terperinci

UNTUK PEMECAHAN MASALAH PADA PERMAINAN HASHIWOKAKERO

UNTUK PEMECAHAN MASALAH PADA PERMAINAN HASHIWOKAKERO PENGGUNAAN TEKNIK HEURISTIK DAN ALGORITMAA RUNUT-BALIK UNTUK PEMECAHAN MASALAH PADA PERMAINAN HASHIWOKAKERO Gisca Tamara Program Studi Teknik Informatika Sekolah Teknik Elektro dan Infromatika Institut

Lebih terperinci

Bab 3 Algoritma Feature Pengurangan

Bab 3 Algoritma Feature Pengurangan Bab 3 Algoritma Feature Pengurangan Sebelum membahas pemodelan produk berbasis yang disusun berdasarkan algoritma pengurang terlebih dahulu akan dijelaskan hal-hal yang mendasari pembuatan algoritma tersebut,

Lebih terperinci

Aplikasi Spreadsheet Microsoft Excel (1)

Aplikasi Spreadsheet Microsoft Excel (1) Aplikasi Spreadsheet Microsoft Excel (1) A. Microsoft Excel Microsoft Excel merupakan program aplikasi spreadsheet (lembar kerja) yang bisa digunakan untuk membuat tabel dan menyajikan data dalam bentuk

Lebih terperinci

BAB III ANALISIS MASALAH

BAB III ANALISIS MASALAH BAB III ANALISIS MASALAH Bab ini membahas analisis terhadap masalah yang terdapat pada Tugas Akhir ini mencakup bagaimana proses penyisipan dan ekstraksi pesan pada citra GIF menggunakan metode adaptif,

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

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer Cendhika Imantoro - 13514037 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino Muhammad Rian Fakhrusy / 13511008 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN BAB 3 ANALISIS DAN PERANCANGAN 3.1 Gambaran Umum Departemen Pekerjaan Umum Departemen Pekerjaan Umum, biasa disebut Departemen PU, sempat bernama "Departemen Permukiman dan Pengembangan Wilayah" (1999-2000)

Lebih terperinci

REKAYASA PERANGKAT LUNAK LANJUT ANALYSIS WEB E. Defri Kurniawan M.Kom

REKAYASA PERANGKAT LUNAK LANJUT ANALYSIS WEB E. Defri Kurniawan M.Kom REKAYASA PERANGKAT LUNAK LANJUT ANALYSIS WEB E Defri Kurniawan M.Kom Objective Memahami bagaimana melakukan Analisis pada Web Engineering Mengenalkan Design Arsitektur Web Engineering Content Analysis

Lebih terperinci

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG Bab 8 Memori Virtual POKOK BAHASAN: Latar Belakang Demand Paging Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi TUJUAN BELAJAR: Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan

Lebih terperinci

Findra Kartika Sari Dewi

Findra Kartika Sari Dewi Teknik dan Logika Pemrograman findra_tf@yahoo.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit),

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN SISTEM. utuh kebagian-bagian komponennya yang dimaksudkan untuk

BAB IV ANALISIS DAN PERANCANGAN SISTEM. utuh kebagian-bagian komponennya yang dimaksudkan untuk BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Sistem Yang Sedang Berjalan Analisis sistem merupakan penguraian dari suatu sistem informasi yang utuh kebagian-bagian komponennya yang dimaksudkan

Lebih terperinci

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018 ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018 INSTITUT TEKNOLOGI SUMATERA 2018 MODUL 4a Petunjuk Praktikum Modul ini dilaksanakan dalam 1 (satu) sesi praktikum. Tiap sesi praktikum dilaksanakan dalam 3

Lebih terperinci

BAB III PEMODELAN MASALAH

BAB III PEMODELAN MASALAH BAB III PEMODELAN MASALAH Masalah penjadwalan kereta api jalur tunggal dapat dimodelkan sebagai sebuah kasus khusus dari masalah penjadwalan Job-Shop. Hal ini dilakukan dengan menganggap perjalanan sebuah

Lebih terperinci

Manajemen Sains. Pemrograman Linier (Metode Grafik) Eko Prasetyo Teknik Informatika Univ. Muhammadiyah Gresik 2011

Manajemen Sains. Pemrograman Linier (Metode Grafik) Eko Prasetyo Teknik Informatika Univ. Muhammadiyah Gresik 2011 Manajemen Sains Pemrograman Linier (Metode Grafik) Eko Prasetyo Teknik Informatika Univ. Muhammadiyah Gresik 2011 Komponen dasar Variabel keputusan yang kita cari untuk ditentukan Objective (tujuan) yaitu

Lebih terperinci

Strategi Algoritma Penyelesaian Puzzle Hanjie

Strategi Algoritma Penyelesaian Puzzle Hanjie Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

Pengenalan Algoritma & Pemrograman

Pengenalan Algoritma & Pemrograman Pengenalan Algoritma & Pemrograman I Gusti Agung Made Wirautama, S.Kom Agenda ALGORITMA PEMROGRAMAN BAHASA PEMROGRAMAN Definisi Algoritma Algoritma adalah urutan langkahlangkah logis penyeselaian masalah

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Masalah Perkembangan game dari skala kecil maupun besar sangat bervariasi yang dapat dimainkan oleh siapa saja tanpa memandang umur, dari anak

Lebih terperinci

Presentasi MPI 5.32 dan 5.33

Presentasi MPI 5.32 dan 5.33 Presentasi MPI 5.32 dan 5.33 Toto Haryanto Universitas Indonesia September 20, 2016 Toto Haryanto (Universitas Indonesia) Presentasi MPI 5.32 dan 5.33 September 20, 2016 1 / 12 5.32 Topologi Proses Komunikasi

Lebih terperinci

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin Arie Tando - 13510018 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

TEKNIK PENGUJIAN PERANGKAT LUNAK

TEKNIK PENGUJIAN PERANGKAT LUNAK TEKNIK PENGUJIAN PERANGKAT LUNAK Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean. Dasar dasar

Lebih terperinci

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell Adrian Mulyana Nugraha 13515075 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

PEMBAHASAN SOAL FINAL BNPCHS 2014

PEMBAHASAN SOAL FINAL BNPCHS 2014 PEMBAHASAN SOAL FINAL BNPCHS 2014 A. DUEL MAUT * Solusinya adalah dengan Brute Force, yaitu mencoba semua kemungkinan pasangan dari anggota kelompok pertama dan kedua, lalu mencari yang selisihnya paling

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

Peta Konsep. Standar Kompetensi. Kompetensi Dasar. Memahami bentuk aljabar, relasi, fungsi. persamaan garis lurus

Peta Konsep. Standar Kompetensi. Kompetensi Dasar. Memahami bentuk aljabar, relasi, fungsi. persamaan garis lurus PErSamaan GarIS lurus Untuk SMP Kelas VIII Peta Konsep Standar Kompetensi Memahami bentuk aljabar, relasi, fungsi dan persamaan garis lurus Kompetensi Dasar Menentukan gradien, persamaan dan grafik garis

Lebih terperinci

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper Zulhendra Valiant Janir (13510045) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com REKAYASA PERANGKAT LUNAK 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com Referensi Rekayasa Perangkat Lunak Pendekatan Praktisi, Roger S. Pressman, Ph.D, Andi Jogyakarta, 2012 Buku 1 Rekayasa

Lebih terperinci

Teknik Informatika S1

Teknik Informatika S1 Teknik Informatika S1 SOFTWARE QUALITY AND TESTING White Box Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021 White Box Testing Kadang disebut

Lebih terperinci

Pengujian Perangkat Lunak

Pengujian Perangkat Lunak Pengujian Perangkat Lunak Shinta P. Sari White Box Pengujian white-box berfokus pada struktur kontrol program. Test case dilakukan untuk memastikan bahwa semua statement pada program telah dieksekusi paling

Lebih terperinci

GAME LABIRIN BERBASIS PENGOLAH BAHASA ALAMI UNTUK PENGENALAN LOGIKA PEMROGRAMAN SEDERHANA. Abstrak

GAME LABIRIN BERBASIS PENGOLAH BAHASA ALAMI UNTUK PENGENALAN LOGIKA PEMROGRAMAN SEDERHANA. Abstrak GAME LABIRIN BERBASIS PENGOLAH BAHASA ALAMI UNTUK PENGENALAN LOGIKA PEMROGRAMAN SEDERHANA Chandra Kusuma Dewa Jurusan Teknik Informatika, Fakultas Teknologi Industri Universitas Islam Indonesia, Yogyakarta

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 II DASAR TEORI. Sistem fuzzy atau logika fuzzy adalah salah satu bahasan soft computing. Kaidah. Inferensi Himpunan Fuzzy Keluaran

BAB II DASAR TEORI. Sistem fuzzy atau logika fuzzy adalah salah satu bahasan soft computing. Kaidah. Inferensi Himpunan Fuzzy Keluaran BAB II DASAR TEORI 2.1 Logika Fuzzy Sistem fuzzy atau logika fuzzy adalah salah satu bahasan soft computing yang memiliki karakteristik dan keunggulan dalam menangani permasalahan yang bersifat ketidakpastian

Lebih terperinci

minimal. Fakta yang ditambahkan adalah sebagai berikut: Kendala dalam kode DLV yang ditambahkan adalah:

minimal. Fakta yang ditambahkan adalah sebagai berikut: Kendala dalam kode DLV yang ditambahkan adalah: Pubian Natar Metro Batanghari Gambar 3 Ilustrasi answer set pertama pada kasus tambahan pertama. Kemudian kasus di atas ditambah dengan kendala yang menyatakan bahwa warna kota yang terhubung oleh jembatan

Lebih terperinci

Persamaan dan Pertidaksamaan Linear

Persamaan dan Pertidaksamaan Linear MATERI POKOK Persamaan dan Pertidaksamaan Linear MATERI BAHASAN : A. Persamaan Linear B. Pertidaksamaan Linear Modul.MTK X 0 Kalimat terbuka adalah kalimat matematika yang belum dapat ditentukan nilai

Lebih terperinci

BAB III PERANCANGAN KECERDASAN-BUATAN ROBOT PENCARI JALUR

BAB III PERANCANGAN KECERDASAN-BUATAN ROBOT PENCARI JALUR BAB III PERANCANGAN KECERDASAN-BUATAN ROBOT PENCARI JALUR Kecerdasan-buatan yang dirancang untuk robot pencari jalur ini ditujukan pada lingkungan labirin (maze) dua dimensi seperti ditunjukkan oleh Gambar

Lebih terperinci

Hand Out Aplikasi Trainer Robotika

Hand Out Aplikasi Trainer Robotika Hand Out Aplikasi Trainer Robotika I. Tujuan Trainer Robotika untuk digunakan sebagai modul pengenalan Robotika dengan menggunakan diagram alir. Untuk siswa-siswi SD (Sekolah Dasar) sampai dengan SMA (Sekolah

Lebih terperinci

Lampiran 1 Pseudo code program C++ untuk pembangkitan soal N-puzzle.

Lampiran 1 Pseudo code program C++ untuk pembangkitan soal N-puzzle. LAMPIRAN 12 13 Lampiran 1 Pseudo code program C++ untuk pembangkitan soal N-puzzle. 1 Set i to 1 2 FOR each i on index array puzzle 3 IF i is end of index array puzzle 4 Set nilai[i] to 0 5 ELSE 6 Set

Lebih terperinci

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing TUGAS MAKALAH Testing dan Implementasi Sistem White Box Testing Anggota Kelompok II : Komang Dodik Gunawan 13101172 Daniel Eka Saputra 13101882 Teguh Wirawan 13101058 DW GD Surya Damanik 13101461 MD Adhi

Lebih terperinci

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma Dasar-Dasar Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma Tujuan Pembelajaran Memahami langkah awal untuk melakukan pengujian terhadap

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN BAB III ANALISA DAN PERANCANGAN Pada bagian ini penulis akan menganalisis kebutuhan-kebutuhan dalam membuat aplikasi ini, karena dengan melakukan analisis akan membuat lebih terarah dan jelas alur aplikasinya.

Lebih terperinci

DASAR KOMPETENSI KEJURUAN DAN KOMPETENSI KEJURUAN SEKOLAH MENENGAH KEJURUAN

DASAR KOMPETENSI KEJURUAN DAN KOMPETENSI KEJURUAN SEKOLAH MENENGAH KEJURUAN DASAR KOMPETENSI KEJURUAN DAN KOMPETENSI KEJURUAN SEKOLAH MENENGAH KEJURUAN BIDANG STUDI KEAHLIAN : TEKNOLOGI INFORMASI DAN KOMUNIKASI PROGRAM STUDI KEAHLIAN : TEKNIK KOMPUTER DAN INFORMATIKA KOMPETENSI

Lebih terperinci

BAB 2 LANDASAN TEORI 2.1 Sistem dan Model Pengertian sistem Pengertian model

BAB 2 LANDASAN TEORI 2.1 Sistem dan Model Pengertian sistem Pengertian model BAB 2 LANDASAN TEORI 2.1 Sistem dan Model 2.1.1 Pengertian sistem Pengertian sistem dapat diketahui dari definisi yang diambil dari beberapa pendapat pengarang antara lain : Menurut Romney (2003, p2) sistem

Lebih terperinci

BAB 3 METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN BAB 3 METODOLOGI PENELITIAN 3.1 Desain Penelitian Menentukan Kebutuhan Data Yang Digunakan Mengumpulkan Data Yang Akan Digunakan Mempersiapkan Alat Dan Bahan Wawancara Studi Literatur Desain Penelitian

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Sistem yang Sedang Berjalan Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang berorientasi pada objek-objek yang diperlukan oleh

Lebih terperinci

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Eric 13512021 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE Teneng, Joko Purwadi, Erick Kurniawan Fakultas Teknik Program Studi Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta Email: patmostos@yahoo.com,

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1 Analisis Sistem Yang Berjalan Analisis terhadap sistem yang berjalan dimaksudkan untuk mempelajari terhadap suatu sistem yang sedang dijalanakan oleh suatu organisasi,

Lebih terperinci

SOFTWARE TESTING. Ratna Wardani

SOFTWARE TESTING. Ratna Wardani SOFTWARE TESTING Ratna Wardani Capaian Memahami pentingnya Software Testing Memahami teknik dalam Software Testing Dasar-dasar Software Testing Teknik-teknik dalam Software Testing Here we go... Dasar-dasar

Lebih terperinci

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak Modular Programming Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak mudah dihandle. dl Kesulitan: sulit mencari dan mengingat variabel-variabel aiabel yang sudah

Lebih terperinci

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE e-journal Teknik Elektro dan Komputer (2014) ISSN: 2301-8402 1 PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE Oleh: Arie S. M. Lumenta

Lebih terperinci

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning Aplikasi Algoritma Traversal Dalam Binary Space Partitioning Pudy Prima (13508047) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch. Modul 2 Percabangan dan Loop Tujuan : 1. Praktikan mengetahui macam macam percabangan pada Java 2. Praktikan mengetahui macam macam loop pada Java 3. Praktikan mampu memahami logika percabangan dan loop

Lebih terperinci

PEMBAGIAN STANDAR KOMPETENSI DAN KOMPETENSI DASAR PPLI MAHASISWA PENDIDIKAN INFORMATIKAN TAHUN 2016 KOMPTENSI DASAR

PEMBAGIAN STANDAR KOMPETENSI DAN KOMPETENSI DASAR PPLI MAHASISWA PENDIDIKAN INFORMATIKAN TAHUN 2016 KOMPTENSI DASAR PEMBAGIAN STANDAR KOMPETENSI DAN KOMPETENSI DASAR PPLI MAHASISWA PENDIDIKAN INFORMATIKAN TAHUN 2016 A. KOMPETENSI KEJURUAN 1. Rekayasa Perangkat Lunak (070) STANDAR KOMPETENSI 1. Menerapkan teknik elektronika

Lebih terperinci

White Box Testing Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case.

White Box Testing Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. White Box Testing Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Dengan menggunakan metode white box, analis sistem akan

Lebih terperinci

Dwiny Meidelfi, M.Cs

Dwiny Meidelfi, M.Cs Dwiny Meidelfi, M.Cs Tujuan: Praktikan mengerti perbedaan dari sistem koordinat kartesius dan sistem koordinat layar Praktikan mengetahui software yang digunakan dalam Kerja Lab Grafika Komputer titik

Lebih terperinci

Basis Data 2. Database Client / Server. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Basis Data 2. Database Client / Server. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Basis Data 2 Database Client / Server Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Tujuan Memahami bentuk-bentuk arsitektur aplikasi dalam database. Memahami konsep arsitektur: Single-Tier Two-Tier:

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam era globalisasi, kemajuan teknologi sangat penting untuk negara yang akan berkembang, yang sedang berkembang bahkan yang telah berkembang sangat pesat. Salah

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1. Kompresi Data Kompresi adalah mengecilkan/ memampatkan ukuran. Kompresi Data adalah teknik untuk mengecilkan data sehingga dapat diperoleh file dengan ukuran yang lebih kecil

Lebih terperinci

Bab III Metodologi Penelitian

Bab III Metodologi Penelitian Bab III Metodologi Penelitian III.1 Umum Agar penelitian ini dapat dilakukan secara terstruktur dan sistematis, maka penelitian ini dilaksanakan dengan tahapan sebagai berikut: 1. Identifikasi masalah

Lebih terperinci

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze Hapsari Tilawah - 13509027 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Model Matematika Model matematika adalah suatu rumusan matematika (dapat berbentuk persamaan, pertidaksamaan, atau fungsi) yang diperoleh dari hasil penafsiran seseorang ketika

Lebih terperinci

BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif

BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif Prosedure PrefixSpan(input: a: l: integer, S: Sequence database) { Mencari Sequential Pattern pada sequence database S } Deklarasi D : Temporary Sequence Database Lst : List of Sequential Pattern Sq :

Lebih terperinci

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA A. Target Pembelajaran 1. Siswa mampu menginstal JDK 2. Siswa mampu menjalankan eclipse 3. Siswa mampu membuat program sederhana B. Materi 1. Pengenalan

Lebih terperinci

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM BAB 3 PERANCANGAN SISTEM Secara umum, sistem ini tersusun dari beberapa bagian seperti yang terlihat pada gambar 3.1 di bawah ini. Gambar 3.1 Blok Diagram Keseluruhan Sistem 33 34 Modul Utama Pada Modul

Lebih terperinci

memberikan output berupa solusi kumpulan pengetahuan yang ada.

memberikan output berupa solusi kumpulan pengetahuan yang ada. MASALAH DAN METODE PEMECAHAN MASALAH (Minggu 2) Pendahuluan Sistem yang menggunakan kecerdasan buatan akan memberikan output berupa solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada.

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

DASAR DASAR PENGGUNAAN SAP2000

DASAR DASAR PENGGUNAAN SAP2000 Halaman 1 dari Bab 1 Bab 1 DASAR DASAR PENGGUNAAN SAP2000 1. KEMAMPUAN SAP2000 Program SAP merupakan salah satu software yang telah dikenal luas dalam dunia teknik sipil, terutama dalam bidang analisis

Lebih terperinci

Strategi Optimized Brute Force Pada Tent Puzzle Solver

Strategi Optimized Brute Force Pada Tent Puzzle Solver Strategi Optimized Brute Force Pada Tent Puzzle Solver Aji Nugraha Santosa Kasmaji - 13510092 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN

BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN 3.1 Analisis Berdasarkan cara menghitung besaran-besaran yang telah disebutkan pada Bab II, diperoleh perumusan untuk besaran-besaran tersebut sebagai

Lebih terperinci

Implementasi Model Penjadwalan Job-Shop dalam Masalah Penjadwalan Kereta Api Jalur Tunggal dengan Pendekatan Constraint Programming

Implementasi Model Penjadwalan Job-Shop dalam Masalah Penjadwalan Kereta Api Jalur Tunggal dengan Pendekatan Constraint Programming Abstrak Implementasi Model Penjadwalan Job-Shop dalam Masalah Penjadwalan Kereta Api Jalur Tunggal dengan Pendekatan Constraint Programming Fajar Yuliawan NIM: 13503022 Program Studi Teknik Informatika,

Lebih terperinci

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini. Pemrograman LabVIEW 6.1 Istilah-Istilah Penting Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini. 1. G: dari kata graphical, merupakan sebutan

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Algoritma Breadth First Search Berikut ini adalah proses yang dilakukan dengan menggunakan algoritma Breadth first search untuk pencarian jalur. Proses pencarian

Lebih terperinci

Algoritma Pemrograman Fery Updi,M.Kom

Algoritma Pemrograman Fery Updi,M.Kom Algoritma Pemrograman Fery Updi,M.Kom 1 Kompetensi Detail Mampu menjelaskan Prinsip-prinsip Algoritma Mampu menjelaskan Konsep Bahasa Pemrograman Mampu membuat Flowchart dan Pseudocode Mampu menjelaskan

Lebih terperinci

BAB 1 PENDAHULUAN. akan informasi, dan yang mendapatkan informasi dengan cepatlah yang akan dapat

BAB 1 PENDAHULUAN. akan informasi, dan yang mendapatkan informasi dengan cepatlah yang akan dapat 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Dewasa ini arus informasi mengalir dengan begitu derasnya, semua orang butuh akan informasi, dan yang mendapatkan informasi dengan cepatlah yang akan dapat bertahan.

Lebih terperinci

Petunjuk Singkat Penggunaan Kuantum Gama bagi Pengajar. Yudi Wibisono Yohanes Suyanto versi dokumen: 30 Maret 2008

Petunjuk Singkat Penggunaan Kuantum Gama bagi Pengajar. Yudi Wibisono Yohanes Suyanto versi dokumen: 30 Maret 2008 Petunjuk Singkat Penggunaan Kuantum Gama bagi Pengajar Yudi Wibisono yudi@upi.edu Yohanes Suyanto yanto@ugm.ac.id versi dokumen: 30 Maret 2008 ... 2 Pendahuluan... 3 Membuka Situs E-Learning Kuantum Gama...

Lebih terperinci

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma Algoritma dan Pemrograman Bab I Pengantar Algoritma Pertemuan Ke-1 Pengantar Algoritma Disusun Oleh : Wilis Kaswidjanti, S.Si., M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas

Lebih terperinci

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO Nur Fajriah Rachmah NIM 13506091 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha nomor

Lebih terperinci

By Emy. 2 of By Emy

By Emy. 2 of By Emy 2 1 3 Kompetensi Mampu menjelaskan dan operasi morfologi Mampu menerapkan konsep morfologi untuk memperoleh informasi yang menyatakan deskripsi dari suatu benda pada citra mampu membangun aplikasi untuk

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN BAB III ANALISA DAN PERANCANGAN III.1. Analisis Game Analisis game merupakan analisis yang dilakukan melalui analisis user dan analisis artikel game sejenis. Analisis user dilakukan dengan mengamati perilaku

Lebih terperinci