Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya

Ukuran: px
Mulai penontonan dengan halaman:

Download "Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya"

Transkripsi

1 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 1 Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya Andi Muh. Primabudi, Arya Yudhi Wijaya dan Rully Soelaiman Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya Indonesia rully@if.its.ac.id Abstrak Masalah Convex Hull merupakan salah satu masalah yang trivial pada persoalan komputasi geometri. Secara umum, masalah Convex Hull dapat dinyatakan dengan adanya sejumlah titik, di mana titik-titik tersebut akan dibungkus dengan sebuah objek yang convex dan memiliki luas/volume sekecil mungkin. Convex Hull tidak hanya sebatas 2-dimensi saja, terdapat pula Convex Hull 3-dimensi yang dikenal sebagai Convex Polyhedron. Beberapa algoritma yang dapat digunakan untuk menyelesaikan masalah ini adalah algoritma Brute-Force, Gift- Wrapping, Incremental dan masih banyak lagi. Tiap algoritma memiliki kompleksitas yang berbeda-beda, hal ini tentu saja bergantung pada metode atau pendekatan apa yang digunakan pada algoritma tersebut. Dalam publikasi ini dilakukan studi dan implementasi algoritma pembentukan Convex Hull 3-dimensi beserta visualisasinya dengan bahasa C++. Hasil uji coba menunjukkan program menghasilkan Convex Hull yang benar dan memiliki pertumbuhan waktu eksekusi secara kuadratik dengan kompleksitas waktu O(nf) pada n buah titik, dan f buah sisi. Kata Kunci Convex Hull, algoritma Incremental, komputasi geometri 3-dimensi. I. PENDAHULUAN Masalah Convex Hull merupakan salah satu masalah yang trivial pada persoalan computational geometry. Permasalahan Convex Hull memiliki aplikasi terapan yang cukup banyak, seperti pada permasalahan grafika komputer, otomasi desain, pengenalan pola, penelitian operasi dan lain-lain. Secara umum, masalah Convex Hull dapat dinyatakan dengan adanya sejumlah titik, di mana titik-titik tersebut akan dibungkus dengan sebuah objek yang convex dan memiliki luas/volume sekecil mungkin. Hasil akhir yang diperoleh adalah titik-titik mana saja yang menjadi boundary/titik terluar dan luas/volume dari Convex Hull tersebut jika diperlukan. Convex Hull tidak hanya sebatas 2-dimensi saja, terdapat pula Convex Hull 3- dimensi yang dikenal sebagai Convex Polyhedron. Beberapa algoritma yang dapat digunakan untuk menyelesaikan masalah ini adalah algoritma Brute-Force, Gift- Wrapping, Graham s Scan, Incremental dan Divide-and- Conquer. Tiap algoritma memiliki kompleksitas yang berbedabeda, hal ini tentu saja bergantung pada metode atau pendekatan apa yang digunakan pada algoritma tersebut. Pada publikasi ini, penulis akan mencoba membahas penyelesaian permasalahan Convex Hull ini dengan metode Incremental serta visualisasinya, khususnya untuk Convex Hull 3-dimensi. Hasil yang diharapkan dalam publikasi ini adalah proses komputasi untuk menyelesaikan masalah Convex Hull 3- dimensi dengan konsumsi waktu dan memory yang efisien. Tentisualunya dilakukan analisis yang komprehensif terlebih dahulu dalam menentukan algoritma yang digunakan untuk menyelesaikan masalah ini. II. ULASAN ALGORITMA A. Convex Hull Pada sebuah set yang berisi titik-titik misalnya S = {A, B, C, D, E, F}, Convex Hull adalah bidang convex terkecil yang mencakup semua titik yang ada pada set S [1]. Jika setiap titik pada set S dihubungkan satu sama lain dengan garis lurus, maka Convex Hull S adalah garis terluar dari sejumlah garis lurus yang dihasilkan (Gambar 1). B. Permasalahan Convex Hull 3-dimensi Convex Hull juga dapat direpresentasikan dalam bidang 3- dimensi(biasa disebut Convex Hull 3D atau convex polyhedron). Mengacu pada Gambar 2 (a), sebuah Convex Hull 3D terdiri atas: - Titik (A, B, C dan D). - Garis (AB, AC, AD, BC, BD dan CD). - Sisi segitiga (ABC, ACD dan BCD). Gambar 1. Bidang poligon ABCDEF merupakan sebuah Convex Hull Gambar 2 Contoh Convex Hull 3D yang paling sederhana

2 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 2 Secara umum, permasalahan Convex Hull 3-dimensi ini adalah diberikan masukan berupa sejumlah n titik dalam sebuah bidang 3-dimensi, lalu temukan Convex Hull dari titik-titik ini dengan keluaran: 1. List yang berisikan sisi-sisi segitiga mana saja yang menjadi boundary dari Convex Hull 3D yang telah dibentuk. 2. Luas permukaan dari Convex Hull 3D yang telah dibentuk. 3. Volume dari Convex Hull 3D yang telah dibentuk. Ilustrasi permasalahan Convex Hull 3D dapat dilihat pada Gambar 3. Untuk mendapatkan list sisi-sisi segitiga mana saja yang menjadi boundary dari Convex Hull 3D, penulis akan mengimplementasikan algoritma Incremental. Sedangkan untuk menghitung luas permukaan dan volume, dapat digunakan operasi vektor seperti Dot Product, Cross Product dan Triple Product [2]. C. Algoritma Incremental Algoritma Incremental adalah salah satu algoritma yang dapat digunakan untuk menyelesaikan permasalahan Convex Hull 3D [1]. Ide dari algoritma ini adalah membentuk Convex Hull secara bertahap, mulai dari empat titik hingga n titik (n 4). Ilustrasi algoritma ini dapat dilihat pada Gambar 4. Jika diberikan sebuah set S = {p 1, p 2, p 3, p 4, p 5,, p n }, algoritma yang memiliki kompleksitas O(nf) ini bekerja dengan langkah sebagai berikut: 1. Untuk membentuk sebuah Convex Hull 3D, dibutuhkan mimimal 4 titik yang tidak berada di bidang yang sama, atau dengan kata lain bisa dijadikan sebuah tetrahedron. Cara mencari keempat titik tersebut (T 1, T 2, T 3,T 4 S) yaitu: a. T 1 Untuk titik pertama, bebas dipilih titik mana saja. b. T 2 Untuk titik kedua, dipilih titik yang tidak berada pada posisi yang sama dengan T 1 atau jika T 1 dihubungkan dengan T 2 menjadi sebuah vektor T 1 T 2 maka akan memiliki T 1 2 > 0 seperti pada Gambar 5. Gambar 3. Ilustrasi permasalahan Convex Hull 3D Gambar 5. Titik T 1 dan T 2 yang valid Gambar 6. Titik T 3 yang vaild Gambar 7. Titik T 4 yang vaild c. T 3 Untuk titik ketiga, dipilih titik yang jika dihubungkan dengan T 1 menjadi sebuah vektor T 1 T 3, vektor tersebut tidak sejajar/segaris dengan T 1 2. Dua vektor yang sejajar akan menghasilkan vektor cross product yang memiliki nilai skalar = 0 atau disebut juga vektor nol (lihat Gambar 6). Maka dari itu T 3 dipilih jika memenuhi syarat pada Persamaan 1. T 1 2 T 1 T 3! = 0 (1) d. T 4 Untuk titik ke empat, dipilih titik yang jika dihubungkan dengan T 1 menjadi sebuah vektor T 1 T 4, garis tersebut tidak berada pada bidang yang sama dengan segitga/sisi T 1 T 2 T 3 yang dibentuk oleh T 1, T 2 dan T 3 (lihat Gambar 7). Jika sebuah titik T 4 berada pada bidang yang sama dengan sisi T 1 T 2 T 3, maka nilai dot product dari T 1 4 dengan hasil cross product sisi T 1 T 2 T 3 (T 1 2 T 1 3 ) akan menghasilkan nilai nol. Maka dari itu T 4 dapat dipilih jika memenuhi syarat pada Persamaan 2. T 1 T 4 (T 1 T 2 T 1 3 )! = 0 (2) Gambar 4. Ilustrasi algoritma Incremental 2. Membentuk empat sisi dari tetrahedron sedemikian rupa, sehingga semua bagian yang berada di dalam tetrahedron tersebut merupakan bagian belakang dari

3 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 3 keempat sisi tersebut (lihat Gambar 8). Misalkan salah satu sisi yaitu T 1 T 2 T 3 yang dibentuk dari T 1, T 2 dan T 3. Titik yang lain (T 4 ) harus berada di belakang sisi tersebut, atau dengan kata lain T 1 T 4 (T 1 T 2 T 1 3 ) harus lebih kecil dari 0. Jika ternyata T 4 berada di depan sisi tersebut (T 1 T 4 (T 1 T 2 T 1 3 ) > 0), maka sisi tersebut harus diubah menjadi T 1 T 3 T 2, karena nilai dari T 1 T 4 (T 1 T 3 T 1 T 2 ) pasti lebih kecil dari 0. Hal tersebut juga berlaku untuk ke tiga sisi lainnya (T 1 T 2 T 4, T 1 T 3 T 4 dan T 2 T 3 T 4 ). Jika ke empat sisi telah dibentuk, maka Convex Hull 3D dengan empat titik telah dibentuk. 3. Jika set S memiliki titik lebih dari empat, maka akan dibentuk Convex Hull setiap penambahan satu titik mulai dari titik kelima hingga titik terakhir. Saat penambahan titik baru, misalnya titik P (P S dan P! = T 1, T 2, T 3, T 4 ). Harus ditemukan dulu sisi-sisi mana saja yang berhadapan dengan titik P (titik P berada di depan sisi tersebut). Jika titik P tersebut berada di depan sebuah sisi, maka sisi tersebut akan dihapus. Setelah itu akan dibentuk sisi-sisi baru dengan cara menghubungkan titik P ke titik-titik pembentuk sisi yang dihapus tadi. Ada kemungkinan, lebih dari satu sisi yang berhadapan dengan titik P tersebut. Untuk mencari sisi mana saja yang berhadapan dengan titik P. Caranya bisa diibaratkan seperti orang yang berdiri di posisi titik P dan melihat ke arah Convex Hull, maka terdapat beberapa sisi yang terlihat oleh mata, sedangkan beberapa sisi yang lain tidak terlihat. Pada Gambar 9 sisi yang berwarna putih merupakan sisi yang berhadapan dengan titik P, sedangkan sisi yang berwarna abu-abu merupakan sisi yang tidak berhadapan dengan titik P (berada di belakang). Semua sisi yang berwarna putih nantinya akan dihapus kemudian akan dibentuk sisi-sisi baru seperti yang ditunjukkan pada Gambar 10. Gambar 8. Bagian dalam tetrahedron Gambar 9. Convex Hull sebelum penambahan titik P Gambar 10. Convex Hull setelah penmbahan titik P Gambar 11, 12 dan 13 merupakan pseudocode dari proses pembentukan Convex Hull untuk titik kelima sampai titik terakhir. ConstructCH3D F : A set contain with 4 faces P : A set of points n : Total of point count : Total of faces right now F : A set of faces 1. for i=4 to n-1 do 2. for j=0 to count-1 do 3. if(f[j].visible=true & PointPositionFromFace( P[i],F[j]>0) do 4. DFS(i,j) 5. break 6. endfor 7. endfor Gambar 11. Pseudocode fungsi ConstructCH3D DFS nop : current point index nof : current face index F : a set of face - 1. F[noF].visible false 2. CHECK(noP, F[noF].b, F[noF].a) 3. CHECK(noP, F[noF].c, F[noF].b) 4. CHECK(noP, F[noF].a, F[noF].c) Gambar 12. Pseudocode fungsi DFS

4 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 4 CHECK nop : current point index x : first point y : second point count : Total of faces right now - 1. f to[x][y] 2. temp Ø 3. if(f[f].visible == true) then 4. if(pointpositionfromface(p[nop],f[f])>0) then 5. DFS(noP,f) 6. else 7. temp.a y 8. temp.b x 9. temp.c nop 10. temp.visible true 11. to[nop][y] count 12. to[y][x] count 13. to[x][nop] count 14. F[count] temp 15. count count + 1 Gambar 13. Pseudocode fungsi DFS Gambar 14. Umpan balik dari situs SPOJ III. HASIL UJI COBA Pada bab ini akan dijelaskan mekanisme uji coba yang dilakukan. Pertama akan dilakukan uji coba dengan mengunggah kode sumber dari program yang telah di buat ke situs penilaian daring SPOJ. Uji coba selanjutnya yaitu uji coba kebenaran dari implementasi program yang telah dibuat. Kemudian uji coba yang ketiga yaitu uji coba kinerja dari program yang telah dibuat.. Uji coba keempat yaitu uji coba visualisasi dan yang terakhir adalah analisis kompleksitas. A. Uji Coba Melalui SPOJ Dalam uji coba ini, kode sumber dari progam yang telah dibuat diunggah ke situs penilaian daring SPOJ pada soal yang berjudul Convex Hull 3D [3]. Ketentuan-ketentuan dari soal telah disesuaikan dengan yang diminta pada soal tersebut. Setelah kode sumber diunggah, situs SPOJ akan memberikan umpan balik. Jika hasil keluaran program sesuai dengan ketentuan pada soal, maka situs SPOJ akan menampilkan umpan balik berupa tulisan Accepted, tetapi jika sebaliknya, maka akan muncul umpan balik berupa tulisan Wrong Answer, Time Limit Exceeded atau Runtime Error. Dari uji coba ini, didapatkan bahwa kode program hasil implementasi pada publikasi ini mendapat umpan balik Accepted seperti pada Gambar 14 yang berarti program berjalan dengan benar dengan menggunakan memori sebesar 6.5 MB dan waktu eksekusi program terhadap masukan SPOJ sebesar 0.58 detik. B. Uji Coba Kebenaran Pada uji coba ini akan dilakukan pengujian program dengan data masukan berupa objek 3-dimensi dengan jumlah titik yang sedikit. Uji coba kebenaran dilakukan dengan cara membandingkan hasil keluaran program dengan hasil keluaran yang didapatkan dengan algoritma naif/bruteforce (Gambar 15) [1]. Dengan menggunakan program yang telah diimplementasikan pada publikasi ini, jika diberikan data masukan seperti pada Gambar 16, luas permukaan dan volume Convex Hull yang dihasilkan adalah seperti yang tertera pada Gambar 17. Hasil ini akan dibandingkan dengan hasil keluaran algoritma naif jika diberikan masukan yang sama. BruteForceConvexHull3D S : A set of points in the plane. E : A list of convexhull(s) faces. 1. E Ø 2. for all pair (A,B,C) ϵ S & A!= B!= C 3. do valid true 4. for all points D ϵ S & D not equal to A B C 5. if D lies to the front of face ABC 6. then valid false 7. endfor 8. if valid true 9. then add face ABC to E 10. Endfor Gambar 15. Pseudocode algoritma Convex Hull 3D secara naif Gambar 16. Data masukan untuk uji coba kebenaran Gambar 17. Hasil keluaran program Gambar 18. Hasil keluaran algoritma naif Tabel 1. Tabel perhitungan luas permukaan and volume setiap sisi pada hasil keluaran algoritma naif Sisi Luas Permukaan Volume Total

5 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 5 Hasil perhitungan pada Tabel 1 menghasilkan nilai keluaran yang sesuai dengan nilai keluaran pada Gambar 18, maka terbukti bahwa hasil implementasi program dalam publikasi ini adalah benar. C. Analisis Kompleksitas Pada subbab ini, akan dilakukan analisis kompleksitas terhadap algoritma pembentukan Convex Hull 3D yang telah dirancang dengan tujuan untuk dibandingkan dengan kompleksitas hasil uji coba kinerja pada subbab berikutnya. Pada algoritma Incremental yang telah dirancang, proses penambahan titik ke-5 hingga titik terakhir merupakan proses yang memiliki proses perulangan yang paling banyak. Maka dari itu, pseudocode pada Gambar 13 perlu dianalisis biayanya untuk menentukan kompleksitas pada algoritma ini. Pada Tabel 2, dapat disimpulkan bahwa kompleksitas dari algoritma pembentukan Convex Hull 3D yang telah dirancang pada publikasi ini yaitu O(n count) atau O(nf) untuk n buah titik dan f buah sisi. D. Uji Coba Kinerja Pada subbab ini akan dilakukan uji coba kinerja program dengan melakukan beberapa kali pengujian dengan data masukan berupa objek 3-dimensi dengan jumlah titik yang berbeda untuk masing-masing pengujian. Uji coba ini bertujuan untuk menunjukkan pengaruh banyaknya titik dan sisi terhadap waktu eksekusi program. Pada Tabel 3 setiap uji coba dilakukan berulang-ulang sebanyak 100 kali dengan tujuan agar waktu eksekusi program dapat diamati. Hasil uji coba pada Tabel 3 dapat digambarkan ke dalam bentuk grafik seperti yang ditunjukkan pada Gambar 19. Tabel 2. Analisis kompleksitas pseudocode pada Gambar 13 ConstructCH3D Banyak Biaya Biaya eksekusi per eksekusi for i=4 to n-1 do n-4 1 n-4 for j=0 to count-1 do n-4 * count 1 n-4 * count if(f[j].visible=true & n-4 * count 1 n-4 * count PointPositionFromFace( P[i],F[j]>0) do DFS(i,j) n-4 * count count n-4 * count break n-4 * count 1 n-4 * count endfor Endfor Kompleksitas O(n count) Tabel 3. Tabel pengaruh jumlah titik terhadap waktu eksekusi program No n F Banyaknya testcase Waktu eksekusi program (detik) Gambar 19 Grafik pengaruh waktu eksekusi program terhadap jumlah titik Gambar 20 Tampilan objek sebelum dan setelah pembentukan Convex Hull 3D Gambar 21 Tampilan di dalam objek setelah pembentukan Convex Hull 3D Seperti yang dapat dilihat pada Gambar 19, grafik pertumbuhan waktu cenderung mendekati kurva kuadratik. Hal ini sesuai dengan kompleksitas dari algoritma Incremental yang dibahas pada publikasi ini. E. Uji Coba Visualisasi Pada subbab ini akan dilakukan uji coba dari program visualisasi Convex Hull 3D yang telah diimplementasikan. Salah satu fitur dari visualisasi Convex Hull 3D adalah menampilkan tampilan objek sebelum dan setelah pembentukan Convex Hull 3D yang ditunjukkan pada Gambar 20. Kemudian pada Gambar 21 diperlihatkan area di dalam Convex Hull, dimana terdapat titik-titik yang bukan merupakan boundary. IV. KESIMPULAN DAN SARAN Berdasarkan hasil uji coba yang telah dilakukan, terdapat tiga kesimpulan yang bisa diambil, yaitu: 1) Pada hasil uji coba kebenaran dan hasil uji coba pada situs SPOJ, ditunjukkan bahwa hasil dari pembentukan Convex Hull 3D yang dihasilkan oleh program sesuai dengan hasil yang diinginkan. Hal tersebut membuktikan bahwa hasil implementasi pembentukan algoritma Convex Hull 3D dengan algoritma Incremental pada publikasi ini dapat menghasilkan keluaran yang benar.

6 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 6 2) Pada hasil uji coba kinerja dan analisis kompleksitas ditunjukkan bahwa pertumbuhan waktu eksekusi program bersifat kuadratik dengan kompleksitas Ο(nf) pada n buah titik dan f sisi. 3) Hasil uji coba visualisasi menunjukkan bahwa visualisasi Convex Hull 3D yang dihasilkan oleh program sesuai dengan hasil yang diinginkan. Hal tersebut membuktikan bahwa hasil implementasi visual Convex Hull 3D pada publikasi ini menghasilkan keluaran yang benar. Pada publikasi ini, batasan jumlah titik pada satu objek 3- dimensi hanya 1000 titik. Maka dari itu algoritma dengan kompleksitas Ο(nf) masih dapat berjalan dengan cepat. Tetapi pada kenyataannya terdapat objek yang memiliki lebih dari 1000 titik. Pada pengembangan publikasi ini, dapat dilakukan studi mengenai pengembangan algoritma-algoritma pembentukan Convex Hull lainnya yang memiliki kompleksitas Ο(n log n) yang dapat menyelesaikan permasalahan Convex Hull 3D pada objek yang memiliki lebih dari 1000 titik dengan waktu yang lebih efisien. UCAPAN TERIMA KASIH Penulis mengucapkan puji syukur kepada Allah SWT yang melimpahkan rahmat dan hidayahnya sehingga penulis dapat menyelesaikan penelitian ini dengan lancar. Penulis juga mengucapkan terima kasih kepada Bapak Rully Soelaiman dan Bapak Arya Yudhi Wijaya yang telah membantu penulis dalam menyelesaikan penelitian ini dengan lancar. Penulis juga mengucapkan terima kasih kepada pihak-pihak lain yang turut membantu kelancaran penelitian ini. DAFTAR PUSTAKA [1] M. d. Berg, O. Cheong, M. v. Kreveld dan M. Overmars, Computational Geometry: Algorithms and Application, [2] D. G. Zill dan M. R. Cullen, Advanced Engineering Mathematics, [3] SPOJ, 760. Convex Hull 3D, November [Online]. Available:

Desain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ Klasik 12749

Desain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ Klasik 12749 JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: 2337-3539 (2301-9271 Print) 1 Desain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ

Lebih terperinci

Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis

Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: 23373539 (23019271 Print) 1 Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis Nur Ahmad Wahid, Arya Yudhi Wijaya dan Rully Soelaiman

Lebih terperinci

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss JURNAL TEKNIK ITS Vol. 6, No., (7) ISSN: 7-59 (-97 Print) A-75 Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa dengan Metode Eliminasi Gauss Daniel Henry, Victor Hariadi, dan

Lebih terperinci

Implementasi Algoritma Rijndael dengan Menggunakan Kunci Enkripsi yang Berukuran Melebihi 256 bit

Implementasi Algoritma Rijndael dengan Menggunakan Kunci Enkripsi yang Berukuran Melebihi 256 bit JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) 1 Implementasi Algoritma Rijndael dengan Menggunakan Kunci Enkripsi yang Berukuran Melebihi 256 bit Gracius Cagar Gunawan, Ahmad

Lebih terperinci

Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf

Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf Abstrak Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf Neni Adiningsih, Dewi Pramudi Ismi, Ratih Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut

Lebih terperinci

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss JURNAL TEKNIK ITS Vol. 6, No. (7), 7-5 (-98X Print) A665 Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa dengan Metode Eliminasi Gauss Daniel Henry, Victor Hariadi, dan Rully

Lebih terperinci

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1 JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1 Rancang Bangun Sistem Pemantau Ruangan Berbasis Multi Kamera untuk Smartphone Android pada Jaringan Pikonet yang Adaptif terhadap Perubahan Situasi Ruangan

Lebih terperinci

MAKALAH ALGORITMA DIVIDE AND CONQUER

MAKALAH ALGORITMA DIVIDE AND CONQUER MAKALAH ALGORITMA DIVIDE AND CONQUER Galih Pranowo Jurusan Matematika Ilmu Komputer FAKULTAS SAINS TERAPAN INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 1. Pengertian Algoritma Divide and Conquer merupakan

Lebih terperinci

PRESENTASI TUGAS AKHIR KI IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF

PRESENTASI TUGAS AKHIR KI IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF PRESENTASI TUGAS AKHIR KI099 IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF (Kata kunci: Algoritma deviasi, algoritma Dijkstra, jalur sederhana, jalur terpendek) Penyusun Tugas

Lebih terperinci

ALGORITMA DIVIDE AND CONQUER

ALGORITMA DIVIDE AND CONQUER ALGORITMA DIVIDE AND CONQUER By Gapra. Email : ga_pra_27@yahoo.co.id 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN BAB 3 ANALISIS DAN PERANCANGAN 3.1 Gambaran Permasalahan Secara Umum Poligon bukanlah suatu bentuk yang spesifik seperti segitiga sama kaki, persegi, belah ketupat, ataupun jajargenjang, melainkan suatu

Lebih terperinci

Penerapan Teknik Dekomposisi Square Root dan Algoritma Mo s pada Rancangan Algoritma Studi Kasus: SPOJ Klasik Counting Diff-Pairs

Penerapan Teknik Dekomposisi Square Root dan Algoritma Mo s pada Rancangan Algoritma Studi Kasus: SPOJ Klasik Counting Diff-Pairs A5 Penerapan Teknik Dekomposisi Square Root dan Algoritma Mo s pada Rancangan Algoritma Studi Kasus: SPOJ Klasik Counting Diff-Pairs Abdul Majid Hasani, Rully Soelaiman dan Fajar Baskoro Departemen Informatika,

Lebih terperinci

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence BAB III ANALISIS Mula-mula, Bab ini akan mengemukakan analisis yang dilakukan terhadap algoritma PrefixSpan [PEI01]. Kemudian dilakukan rancangan dan implementasi algoritma tersebut. Setelah itu, program

Lebih terperinci

Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning

Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning Mamat Rahmat / 13512007 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data Restu Arif Priyono / 13509020 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

DESAIN DAN ANALISIS STRUKTUR DATA NON LINIER ROOTED TREE DINAMIS (Kata kunci: Graf, Struktur data, tree, LCA, pemrograman dinamis)

DESAIN DAN ANALISIS STRUKTUR DATA NON LINIER ROOTED TREE DINAMIS (Kata kunci: Graf, Struktur data, tree, LCA, pemrograman dinamis) PRESENTASI TUGAS AKHIR KI0131 DESAIN DAN ANALISIS STRUKTUR DATA NON LINIER ROOTED TREE DINAMIS (Kata kunci: Graf, Struktur data, tree, LCA, pemrograman dinamis) Penyusun Tugas Akhir : Nur Ahmad Wahid (NRP:

Lebih terperinci

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool Sharon Loh (13510086) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Algoritma A* Memanfaatkan Navigation Meshes dalam 3 Dimensional Pathfinding

Algoritma A* Memanfaatkan Navigation Meshes dalam 3 Dimensional Pathfinding Algoritma A* Memanfaatkan Navigation Meshes dalam 3 Dimensional Pathfinding Edwin Kumara Tandiono, 13515039 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Penyelesaian Masalah Closest Pair dengan Algoritma Divide and Conquer

Penyelesaian Masalah Closest Pair dengan Algoritma Divide and Conquer Penyelesaian Masalah Closest Pair dengan Algoritma Divide and Conquer Karol Danutama 13508040 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Algoritma Brute Force pada Fluid Particle Engine

Algoritma Brute Force pada Fluid Particle Engine Algoritma Brute Force pada Fluid Particle Engine Alfian Ramadhan 13509078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

PENENTUAN LOKASI SMA NEGERI MENGGUNAKAN DIAGRAM VORONOI BERBOBOT DI KOTA DENPASAR

PENENTUAN LOKASI SMA NEGERI MENGGUNAKAN DIAGRAM VORONOI BERBOBOT DI KOTA DENPASAR E-Jurnal Matematika Vol. 2, No.2, Mei 2013, 27-31 ISSN: 2303-1751 PENENTUAN LOKASI SMA NEGERI MENGGUNAKAN DIAGRAM VORONOI BERBOBOT DI KOTA DENPASAR MELINDA HERMANTO 1, TJOKORDA BAGUS OKA 2, I PUTU EKA

Lebih terperinci

Penggunaan Algoritma Greedy Untuk Menentukan Lokasi Strategis Minimarket Baru

Penggunaan Algoritma Greedy Untuk Menentukan Lokasi Strategis Minimarket Baru Penggunaan Algoritma Greedy Untuk Menentukan Lokasi Strategis Minimarket Baru Muhammad Adinata (13509022) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E. Penyelesaian Verbal Arithmetic dengan Algoritma Brute Force Luthfi Chandra Fibrian - 13510047 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

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

PENGUNAAN DUA VERSI ALGORITMA BACKTRACK DALAM MENCARI SOLUSI PERMAINAN SUDOKU

PENGUNAAN DUA VERSI ALGORITMA BACKTRACK DALAM MENCARI SOLUSI PERMAINAN SUDOKU PENGUNAAN DUA VERSI ALGORITMA BACKTRACK DALAM MENCARI SOLUSI PERMAINAN SUDOKU Aditia Dwiperdana 13505014 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Lebih terperinci

Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree. Oleh: Rinaldi Munir Informatika STEI-ITB

Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree. Oleh: Rinaldi Munir Informatika STEI-ITB Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree Oleh: Rinaldi Munir Informatika STEI-ITB Bezier Curve Bezier Curve adalah kurva yang sering digunakan dalam grafika komputer

Lebih terperinci

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER Danang Arief Setyawan NIM : 3559 Program Studi Teknik Informatika Institut Teknologi Bandung e-mail: das_centauri@yahoo.com

Lebih terperinci

DESAIN DAN ANALISIS ALGORITMA KOMPUTASI FORMULA KASUS : PERSOALAN SPOJ MOON SAFARI

DESAIN DAN ANALISIS ALGORITMA KOMPUTASI FORMULA KASUS : PERSOALAN SPOJ MOON SAFARI TUGAS AKHIR KI141502 DESAIN DAN ANALISIS ALGORITMA KOMPUTASI FORMULA n i=1 a i i r, STUDI KASUS : PERSOALAN SPOJ MOON SAFARI ANTON KRISTANTO NRP 5112100078 Dosen Pembimbing 1 Arya Yudhi Wijaya, S.Kom.,M.Kom.

Lebih terperinci

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST Andhika Hendra Estrada S. Sekolah Teknik Elektro dan Informatika INSTITUT

Lebih terperinci

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Algoritma Runut-balik pada Permainan Math Maze Penerapan Algoritma Runut-balik pada Permainan Math Maze Angela Lynn - 13513032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penerapan Algoritma Backtracking pada Pewarnaan Graf Penerapan Algoritma Backtracking pada Pewarnaan Graf Deasy Ramadiyan Sari 1, Wulan Widyasari 2, Eunice Sherta Ria 3 Laboratorium Ilmu Rekayasa dan Komputasi Departemen Teknik Informatika, Fakultas Teknologi

Lebih terperinci

Optimasi Permasalahan Penugasan Dokter Menggunakan Representasi Graf Bipartit Berbobot

Optimasi Permasalahan Penugasan Dokter Menggunakan Representasi Graf Bipartit Berbobot JURNAL TEKNIK POMITS Vol., No., (0) ISSN: 7-9 (0-97 Print) Optimasi Permasalahan Penugasan Menggunakan Representasi Graf Bipartit Berbobot Laili Rochmah, Ahmad Saikhu, dan Rully Soelaiman Jurusan Teknik

Lebih terperinci

LEMBAR SOAL ISIAN SINGKAT

LEMBAR SOAL ISIAN SINGKAT LEMBAR SOAL ISIAN SINGKAT Nama :... Petunjuk : Jawablah setiap pertanyaan yang diajukan pada lembar jawaban yang telah disediakan 1. Perhatikan diagram jalan yang menghubungkan enam tempat di bawah ini.

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

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma 1 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan Sebuah algoritma tidak saja harus

Lebih terperinci

2. Tentukan persamaan garis yang melalui titik P (x 1,y 1,z 1 ) dan R (x 2,y 2,z 2 ) seperti yang ditunjukkan pada gambar. Z P Q R

2. Tentukan persamaan garis yang melalui titik P (x 1,y 1,z 1 ) dan R (x 2,y 2,z 2 ) seperti yang ditunjukkan pada gambar. Z P Q R . Jika dan vektor-vektor tak kolinear dan A = ( x + 4y ) + ( 2x + y + ) dan B = ( y 2x + 2 ) + ( 2x 3y -), maka carilah nilai x dan y sehingga 3A = 2B. Penyelesian: 3A = 2 B 3(x + 4y ) +3 ( 2x + y + )b

Lebih terperinci

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku Muhammad Farhan Kemal / 13513085 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

REKONSTRUKSI PERMUKAAN TIGA DIMENSI AREA POINT CLOUDS DENGAN ALGORITMA TRIANGULASI DELAUNAY

REKONSTRUKSI PERMUKAAN TIGA DIMENSI AREA POINT CLOUDS DENGAN ALGORITMA TRIANGULASI DELAUNAY PROGRAM MAGISTER BIDANG KEAHLIAN JARINGAN CERDAS MULTIMEDIA JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 25 Januari 2010 Taufiqurrahman NRP. 2208 205

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

Analisis dan Perancangan Perangkat Lunak Media Sosial untuk Berbagi Informasi Diskon

Analisis dan Perancangan Perangkat Lunak Media Sosial untuk Berbagi Informasi Diskon JURNAL TEKNIK POMITS Vol. 2, No. 2, (2013) ISSN: 2337-3539 (2301-9271 Print) A-423 Analisis dan Perancangan Perangkat Lunak Media Sosial untuk Berbagi Informasi Diskon Faizah Alkaff, Umi Laili Yuhana,

Lebih terperinci

Pendekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment

Pendekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment Pekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment Ray Andrew Obaja Sinurat - 13515073 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Analisis Kompleksitas Algoritma dalam Operasi BigMod

Analisis Kompleksitas Algoritma dalam Operasi BigMod Analisis Kompleksitas Algoritma dalam Operasi BigMod Calvin sadewa / 13512066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

OLYMPIA STUDENT USER GUIDE

OLYMPIA STUDENT USER GUIDE OLYMPIA STUDENT USER GUIDE 1 Daftar Isi 1. Student 2. Mendaftarkan Diri 3. Mengerjakan Quiz Pemrograman 4. Contact 2 Daftar Gambar 1. Gambar 1. Contoh pemilihan username. 2. Gambar 2. Contoh format pengisian

Lebih terperinci

Implementasi Algoritma Pencarian k Jalur Sederhana Terpendek dalam Graf

Implementasi Algoritma Pencarian k Jalur Sederhana Terpendek dalam Graf JURNAL TEKNIK POMITS Vol. 2, No., (203) ISSN: 2337-3539 (230-927 Print) Implementasi Algoritma Pencarian Jalur Sederhana Terpende dalam Graf Anggaara Hendra N., Yudhi Purwananto, dan Rully Soelaiman Jurusan

Lebih terperinci

PRESENTASI TUGAS AKHIR KI PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION PADA OPEN JOURNAL SYSTEM (OJS)

PRESENTASI TUGAS AKHIR KI PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION PADA OPEN JOURNAL SYSTEM (OJS) PRESENTASI TUGAS AKHIR KI091391 PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION PADA OPEN JOURNAL SYSTEM (OJS) (Kata kunci: Jurnal, K-Nearest Neighbor, Karya Ilmiah, Klasifikasi Penyusun Tugas Akhir

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

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet Dininta Annisa / 13513066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Ronny - 13506092 Jurusan Teknik Informatika Institut Teknologi Bandung Email : if16092@students.if.itb.ac.id 1. Abstract

Lebih terperinci

Penerapan Algoritma Backtrack pada Knight s Tour

Penerapan Algoritma Backtrack pada Knight s Tour Penerapan Algoritma Backtrack pada Knight s Tour Adhika Aryantio 13511061 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

PENGKLASIFIKASIAN DEBITUR DENGAN MENGGUNAKAN ALGORITMA GRAHAM SCAN DALAM PENGAPLIKASIAN CONVEX HULL

PENGKLASIFIKASIAN DEBITUR DENGAN MENGGUNAKAN ALGORITMA GRAHAM SCAN DALAM PENGAPLIKASIAN CONVEX HULL E-Jurnal Matematika Vol. 2, No.4, Nopember 2013, 46-52 ISSN: 2303-1751 PENGKLASIFIKASIAN DEBITUR DENGAN MENGGUNAKAN ALGORITMA GRAHAM SCAN DALAM PENGAPLIKASIAN CONVEX HULL AGUS EKA ARIESTA 1, G.K. GANDHIADI

Lebih terperinci

ALGORITMA PENGURUTAN & PENCARIAN

ALGORITMA PENGURUTAN & PENCARIAN Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan

Lebih terperinci

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Ali Akbar - 13514080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Algoritma Divide and Conquer. (Bagian 2)

Algoritma Divide and Conquer. (Bagian 2) Algoritma Divide and Conquer (Bagian 2) (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel A dibagi (istilahnya: dipartisi) menjadi A1 dan A2 sedemikian

Lebih terperinci

PENERAPAN METODE FAST MARCHING PADA PERHITUNGAN GEODESIC DISTANCE PERMUKAAN OBYEK TRIANGULAR MESH

PENERAPAN METODE FAST MARCHING PADA PERHITUNGAN GEODESIC DISTANCE PERMUKAAN OBYEK TRIANGULAR MESH PENERAPAN METODE FAST MARCHING PADA PERHITUNGAN GEODESIC DISTANCE PERMUKAAN OBYEK TRIANGULAR MESH Rully Soelaiman 1, Eddy Tjandra 2 dan I Made Agus Setiawan 2 1 Jurusan Sistem Informasi, Fakultas Teknologi

Lebih terperinci

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero Penerapan Algoritma Backtracking untuk Menyelesaikan Irfan Kamil 13510001 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik Edward Hendrata (13505111) Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung E-mail: if15111@students.if.itb.ac.id

Lebih terperinci

Studi Pencarian Akar Solusi Persamaan Nirlanjar Dengan Menggunakan Metode Brent

Studi Pencarian Akar Solusi Persamaan Nirlanjar Dengan Menggunakan Metode Brent Studi Pencarian Akar Solusi Persamaan Nirlanjar Dengan Menggunakan Metode Brent Tommy Gunardi / 13507109 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

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

Aplikasi Penghitung Zakat dan Penunjuk Lokasi Tempat Pengelolaan Zakat Terdekat Berbasis Android pada Alat Komunikasi Bergerak

Aplikasi Penghitung Zakat dan Penunjuk Lokasi Tempat Pengelolaan Zakat Terdekat Berbasis Android pada Alat Komunikasi Bergerak JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: 2337-3539 (2301-9271 Print) 1 Aplikasi Penghitung Zakat dan Penunjuk Lokasi Tempat Pengelolaan Zakat Terdekat Berbasis Android pada Alat Komunikasi Bergerak

Lebih terperinci

Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine

Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine JURNAL TEKNIK POMITS Vol. 6, No. 2, (2017) ISSN: 2337-3539 (2301-9271 Print) A-717 Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine Billy, Imam

Lebih terperinci

Penggunaan BFS dan DFS untuk Pixel Traversing

Penggunaan BFS dan DFS untuk Pixel Traversing Penggunaan BFS dan DFS untuk Pixel Traversing Fadhil Muhtadin 13510070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Kompleksitas Algoritma Sorting yang Populer Dipakai

Kompleksitas Algoritma Sorting yang Populer Dipakai Kompleksitas Algoritma Sorting yang Populer Dipakai Wahyu Fahmy Wisudawan 1) 1) Program Studi Teknik Informatika ITB, Bandung 40135, email: mailto:al_izzatusysyifa@students.itb.ac.id Abstract Makalah ini

Lebih terperinci

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK Irma Juniati Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail:

Lebih terperinci

NO Add Contoh Requirement Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilangan Algoritma Dalam Bahasa Natural Add 1. Ambil

Lebih terperinci

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU Nur Cahya Pribadi-NIM: 13505062 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Lebih terperinci

Sistem Rekonstruksi Rute Perjalanan Dengan GPS Untuk Efisiensi Proses Update Posisi

Sistem Rekonstruksi Rute Perjalanan Dengan GPS Untuk Efisiensi Proses Update Posisi JURNAL TEKNIK POMITS Vol. 2, No. 1, 2013) ISSN: 2337-3539 2301-9271 Print) 1 Sistem Rekonstruksi Rute Perjalanan Dengan GPS Untuk Efisiensi Proses Update Posisi Nuke Yuniar Anugrah, Waskitho Wibisono,

Lebih terperinci

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem Abstrak Nursyamsiah Pertiwi 1, Esty Hutami Dewi Lubis 2, Lafrania Taufik 3 Laboratorium Ilmu dan Rekayasa Komputasi Departemen

Lebih terperinci

Pembuatan Kakas Komunikasi Antar Pengembang Perangkat Lunak

Pembuatan Kakas Komunikasi Antar Pengembang Perangkat Lunak JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) 1 Pembuatan Kakas Komunikasi Antar Perangkat Lunak Anugerah Firdaus, Daniel Oranova Siahaan dan Rizky Januar Akbar Jurusan Teknik

Lebih terperinci

Algoritma Divide and Conquer (Bagian 2)

Algoritma Divide and Conquer (Bagian 2) Algoritma Divide and Conquer (Bagian 2) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel

Lebih terperinci

Watermarking dengan Metode Dekomposisi Nilai Singular pada Citra Digital

Watermarking dengan Metode Dekomposisi Nilai Singular pada Citra Digital JURNAL SAINS DAN SENI POMITS Vol. 1, No. 1, (2014) 1-6 1 Watermarking dengan Metode Dekomposisi Nilai Singular pada Citra Digital Latifatul Machbubah, Drs. Soetrisno, MI.Komp Jurusan Matematika, Fakultas

Lebih terperinci

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Annisa Muzdalifa - 13515090 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Langkah Awal menuju Analisis Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma Langkah Awal menuju Analisis Kompleksitas Algoritma Analisis dan Strategi Algoritma CS3024-FAZ 1 Isi Proses Desain dan Analisis Algoritma Tipe-tipe Problem yang penting Kebutuhan akan algoritma yang efisien

Lebih terperinci

19. VEKTOR. 2. Sudut antara dua vektor adalah θ. = a 1 i + a 2 j + a 3 k; a. a =

19. VEKTOR. 2. Sudut antara dua vektor adalah θ. = a 1 i + a 2 j + a 3 k; a. a = 19. VEKTOR A. Vektor Secara Geometri 1. Ruas garis berarah AB = b a. Sudut antara dua vektor adalah θ 3. Bila AP : PB = m : n, maka: B. Vektor Secara Aljabar a1 1. Komponen dan panjang vektor: a = a =

Lebih terperinci

Analisis dan Perancangan Aplikasi Penuntun Jalan dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis Android

Analisis dan Perancangan Aplikasi Penuntun Jalan dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis Android JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) 1 Analisis dan Perancangan Aplikasi Penuntun Jalan dengan Perintah Suara Berbahasa Indonesia pada Perangkat Bergerak Berbasis

Lebih terperinci

Aplikasi Algoritma Reverse Greedy pada Egyptian Fraction

Aplikasi Algoritma Reverse Greedy pada Egyptian Fraction Aplikasi Algoritma Reverse Greedy pada Egyptian Fraction Stephen Herlambang Program Studi Teknik Informatika - Institut Teknologi Bandung Jl. Ganesha 10 Bandung e-mail: stephen_herlambang@yahoo.co.id ABSTRAK

Lebih terperinci

PAGI. SOAL PILIHAN GANDA : No

PAGI. SOAL PILIHAN GANDA : No PAGI SOAL PILIHAN GANDA : No. 1 35. 1. Salah satu contoh aplikasi Grafika Komputer adalah Virtual Reality. Yang dimaksud Virtual Reality adalah: a. lingkungan virtual seperti yang ada di dunia internet

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward( straightforward) ) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah

Lebih terperinci

Implementasi Deteksi Copy-move Forgery pada Citra menggunakan Metode Histogram of Oriented Gradients (HOG)

Implementasi Deteksi Copy-move Forgery pada Citra menggunakan Metode Histogram of Oriented Gradients (HOG) JURNAL TEKNIK ITS Vol. 6, No. 2, (2017) ISSN: 2337-3539 (2301-9271 Print) 1 Implementasi Deteksi Copy-move Forgery pada Citra menggunakan Metode Histogram of Oriented Gradients (HOG) Ni Luh Made Asri Mulyasari,

Lebih terperinci

VEKTOR. Makalah ini ditujukkan untuk Memenuhi Tugas. Disusun Oleh : PRODI TEKNIK SIPIL FAKULTAS TEKNIK SIPIL DAN PERENCANAAN

VEKTOR. Makalah ini ditujukkan untuk Memenuhi Tugas. Disusun Oleh : PRODI TEKNIK SIPIL FAKULTAS TEKNIK SIPIL DAN PERENCANAAN VEKTOR Makalah ini ditujukkan untuk Memenuhi Tugas Disusun Oleh : 1. Chrisnaldo noel (12110024) 2. Maria Luciana (12110014) 3. Rahmat Fatoni (121100) PRODI TEKNIK SIPIL FAKULTAS TEKNIK SIPIL DAN PERENCANAAN

Lebih terperinci

Analisis Algoritma Bubble Sort

Analisis Algoritma Bubble Sort Analisis Algoritma Bubble Sort Ryan Rheinadi NIM : 13508005 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if18005@students.if.itb.ac.id

Lebih terperinci

Rancang Bangun Aplikasi Kurikulum Untuk Mendukung Manajemen Mutu Belajar Mengajar Perguruan Tinggi Studi Kasus ITS

Rancang Bangun Aplikasi Kurikulum Untuk Mendukung Manajemen Mutu Belajar Mengajar Perguruan Tinggi Studi Kasus ITS JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) 1 Rancang Bangun Aplikasi Kurikulum Untuk Mendukung Manajemen Mutu Belajar Mengajar Perguruan Tinggi Studi Kasus ITS Umar Hasan

Lebih terperinci

Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem

Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem Reinhard Denis Najogie - 13509097 Program Studi Teknik Informatika Sekolah Teknik Elektro

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

Penjadwalan Mata Kuliah Menggunakan Algoritma Genetika di Jurusan Sistem Informasi ITS

Penjadwalan Mata Kuliah Menggunakan Algoritma Genetika di Jurusan Sistem Informasi ITS JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) A-127 Mata Kuliah Menggunakan Algoritma Genetika di Jurusan Sistem Informasi ITS Wiga Ayu Puspaningrum, Arif Djunaidy, dan Retno

Lebih terperinci

Soal hari Jumat (16/10) Latihan 10 MS

Soal hari Jumat (16/10) Latihan 10 MS hari Jumat (16/10) Latihan 10 MS count, sum, i adalah variabel tunggal bertipe data integer i 1 count 0 sum 0 while (i < 30) do sum sum + i count count + 1 i i + i 1. Berapakah final state variabel sum?

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

FRAMEWORK OPTIMALISASI TATA LETAK POLA BUSANA PADA KAIN BATIK DENGAN MEMPERTIMBANGKAN KESERASIAN MOTIF

FRAMEWORK OPTIMALISASI TATA LETAK POLA BUSANA PADA KAIN BATIK DENGAN MEMPERTIMBANGKAN KESERASIAN MOTIF FRAMEWORK OPTIMALISASI TATA LETAK POLA BUSANA PADA KAIN BATIK DENGAN MEMPERTIMBANGKAN KESERASIAN MOTIF Halimatus Sa dyah ), Diana Purwitasari 2), Nanik Suciati 3),2,3 Jurusan Teknik Informatika Institut

Lebih terperinci

Penelitian Numerik Turbin Angin Darrieus dengan Variasi Jumlah Sudu dan Kecepatan Angin

Penelitian Numerik Turbin Angin Darrieus dengan Variasi Jumlah Sudu dan Kecepatan Angin JURNAL TEKNIK ITS Vol. 6, No. 1, (2017) ISSN: 2337-3539 (2301-9271 Print) B-13 Penelitian Numerik Turbin Angin Darrieus dengan Variasi Jumlah Sudu dan Kecepatan Angin Rahmat Taufiqurrahman dan Vivien Suphandani

Lebih terperinci

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA Wahyu Fahmy Wisudawan Program Studi Teknik Informatika Institut Teknologi Bandung, NIM: 506 Jl. Dago Asri 4 No. 4, Bandung

Lebih terperinci

PENERAPAN METODE FAST MARCHING PADA PERHITUNGAN GEODESIC DISTANCE PERMUKAAN OBYEK TRIANGULAR MESH

PENERAPAN METODE FAST MARCHING PADA PERHITUNGAN GEODESIC DISTANCE PERMUKAAN OBYEK TRIANGULAR MESH PENERAPAN METODE FAST MARCHING PADA PERHITUNGAN GEODESIC DISTANCE PERMUKAAN OBYEK TRIANGULAR MESH Rully Soelaiman 1, Eddy Tjandra 2 dan I Made Agus Setiawan 2 1 Jurusan Sistem Informasi, Fakultas Teknologi

Lebih terperinci

Pembuatan Musik Tanpa Pola Dengan Menggunakan Algoritma Runut Balik

Pembuatan Musik Tanpa Pola Dengan Menggunakan Algoritma Runut Balik Pembuatan Musik Tanpa Pola Dengan Menggunakan Algoritma Runut Balik Aldrich Valentino Halim/13515081 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung (ITB)

Lebih terperinci

3. Jika y1 = y2 (garis horisontal), maka (a) x = x + 1 dan y tetap (b) gambar titik (x,y) di layar (c) Selesai

3. Jika y1 = y2 (garis horisontal), maka (a) x = x + 1 dan y tetap (b) gambar titik (x,y) di layar (c) Selesai .3.1 Algoritma Brute Force Algoritma brute force untuk membentuk garis didasarkan pada persamaan (-6), yaitu : 1. Tentukan dua titik ujung (x1,y1) dan (x,y). Jika x1 = x (garis vertikal), maka (a) y =

Lebih terperinci

Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim

Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1 Analisa Dan Implementasi Teorema Sprague-Grundy Pada Penyelesaian Variasi Game Nim Halimah Winajma, Yudhi Purwananto, S.Kom, M.Kom, dan Rully Soelaiman,

Lebih terperinci

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf Marvin Jerremy Budiman / 13515076 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving Christianto - NIM : 1350003 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data I Nyoman Prama Pradnyana - 13509032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Algoritma Bubble Sort dan Quick Sort

Algoritma Bubble Sort dan Quick Sort Algoritma Bubble Sort dan Quick Sort Pengertian/Konsep Buble Sort Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung

Lebih terperinci

A. Vektor dan Skalar I. PENDAHULUAN. B. Proyeksi Vektor II. DASAR TEORI

A. Vektor dan Skalar I. PENDAHULUAN. B. Proyeksi Vektor II. DASAR TEORI Penggunaan Medan Vektor dalam Menghindari Tabrakan M. Isham Azmansyah F. 13514014 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Algoritma Pendukung Kriptografi

Algoritma Pendukung Kriptografi Bahan Kuliah ke-20 IF5054 Kriptografi Algoritma Pendukung Kriptografi Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 20. Algoritma Pendukung Kriptografi

Lebih terperinci

Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar

Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar Bernardino Madaharsa Dito Adiwidya - 13507089 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci