Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis

Ukuran: px
Mulai penontonan dengan halaman:

Download "Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis"

Transkripsi

1 JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 1 Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis Nur Ahmad Wahid, Arya Yudhi Wijaya dan Rully Soelaiman Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya Indonesia 1, rully@if.its.ac.id Abstrak Rooted tree merupakan graf berarah memiliki tepat 1 vertex sebagai root dan semua edge yang terhubung pada tree diarahkan berlawanan dari root. Rooted tree dalam prakteknya banyak digunakan di dunia nyata. Contoh sederhana seperti organisasi filefile dalam memori komputer ke dalam sistem direktori dimana root direpresentasikan sebagai root direktori dengan semua internal vertex yang terhubung di dalamnya direpresentasikan sebagai subdirektori. Banyak permasalahanpermasalahan yang dapat ditemukan dalam pengimplementasian struktur data rooted tree dinamis. Salah satunya adalah bagaimana menarik informasi berupa jumlah bobot yang dimiliki oleh vertex yang terhubung pada suatu subtree secara tepat dan efisien dengan kondisi root yang dapat berubahubah. Dalam publikasi ini akan dibahas tiga pendekatan yang dapat digunakan untuk menyelesaikan masalah pada struktur data rooted tree dinamis. Dari serangkaian proses penelitian yang dilakukan, didapatkan kesimpulan bahwa permasalahan pada struktur data rooted tree dinamis dapat diselesaikan dengan kompleksitas waktu preprocessing dipengaruhi oleh banyaknya vertex secara linier dan waktu operasi tidak dipengaruhi oleh banyaknya vertex (kompleksitas konstan). Kata Kunci Graf, struktur data, tree, LCA, pemrograman dinamis. I. PENDAHULUAN Tree merupakan struktur data graf tak berarah yang tidak memiliki satu pun cycle. Beda halnya dengan tree pada umumnya, rooted tree yang merupakan graf berarah memiliki tepat vertex sebagai root dan semua edge yang terhubung pada tree diarahkan berlawanan dari root. Rooted tree dalam prakteknya banyak digunakan di dunia nyata. Contoh sederhana seperti organisasi filefile dalam memori komputer ke dalam sistem direktori dimana root direpresentasikan sebagai root direktori dengan semua internal vertex yang terhubung di dalamnya direpresentasikan sebagai subdirektori. Adapun yang bertindak sebagai leaves adalah filefile dan direktori kosong [1]. Banyak permasalahanpermasalahan yang dapat ditemukan dalam pengimplementasian struktur data rooted tree. Salah satunya adalah penarikan data yang dimiliki oleh setiap subtree dengan kondisi struktur tree yang dapat berubahubah. Dibutuhkan desain struktur data serta algoritma yang efisien baik space yang dibutuhkan maupun kecepatan akses pencariannya. Permasalahan tersebut dapat diabstraksi ke dalam bentuk yang lebih sederhana, yaitu pada setiap vertex yang terhubung pada tree memiliki bobot masingmasing. Bagaimana menarik informasi jumlah bobot dari vertexvertex yang terhubung pada suatu subtree secara tepat dan efisien dengan root yang dapat berubahubah [2]. A. Rangkaian Proses II. ULASAN ALGORITMA Ide dasar dari metode yang digunakan tidak secara eksplisit mengubah root pada rooted tree pada operasi pemindahan root, sehingga representasi rooted tree yang dibayangkan pengguna berbeda dengan representasi aslinya pada memori komputer. Metode ini bisa dilakukan dengan mamanfaatkan konsep LCA [3]. Jika root dari rooted tree saat ini adalah r, vertex yang ditanyakan jumlahan subtreenya adalah u dan larik yang menyimpan jumlahan bobot subtree pada saat root di vertex 1 maka ada 3 kasus, yaitu: 1. Jika u sama dengan r, maka cara hitungnya adalah sum[1] (sama dengan total bobot semua vertex) 2. LCA(u, r) adalah u, maka cara hitungnya adalah sum[1] dikurangi sum[v], yang mana v adalah salah satu child dari u yang mengarah ke r. 3. LCA(u, r) bukan u, jawabannya adalah sum[u]. Gambar 1. Flowchart rangkaian proses program

2 JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 2 Flowchart rangkaian proses program ditunjukkan pada Gambar 1. Langkah proses yang berwarna merah pada flowchart merupakan proses penyesuaian query masukan dengan 3 kasus LCA yang dijelaskan sebelumnya. B. Algoritma Path Doubling Menggunakan teknik meta binary search [4] yang menyimpan informasi berupa parent ke dari sebuah vertex i. Sehingga dalam proses penelusuran dapat dilakukan langkah besar selama tidak melebihi level ancestor yang dituju. Ilustrasinya dapat dilihat pada Gambar 2. Kompleksitas algoritma ini adalah. Untuk menyimpan informasi tersebut dapat digunakan pendekatan dynamic programming [5]. Fungsi rekurennya dapat dilihat pada persamaan 1 dengan variabel merupakan parent dari vertex i dan sebagai ancestor ke dari vertex i. Teknik ini biasa disebut Path Doubling atau Pointer Jumping [6]. Pseudocode preprocessing algoritma Path Doubling ditunjukkan pada Gambar 3. Pseudocode proses penelusuran ancestor sampai level yang ditentukan pada algoritma Path Doubling ditunjukkan pada Gambar 4. (1) GETANCESTOR a : depth vertex yang akan dijangkau b : indeks vertex yang lebih jauh dari root (depth lebih tinggi) b (telah diperbarui) : indeks vertex ancestor dari b dengan depth yang sama dengan a 1. for i LOG_N to 0 2. if D[b] 2 i a 3. b dp_parent[b][i] 4. endif 5. endfor return b Gambar 4. Pseudocode fungsi GETANCESTOR C. Algoritma Sparse Table Dengan terlebih dahulu melakukan proses reduksi permasalahan LCA ke permasalahan RMQ [3], sekarang bagaimana menyelesaikan permasalahan RMQ, yaitu dengan menggunakan algoritma Sparse Table [3]. Algoritma Sparse Table melakukan preprocessing RMQ ke dalam sublarik yang memiliki panjang dengan menggunakan teknik dynamic programming [3]. Larik tersebut berdimensi 2, yang dimana adalah indeks dari nilai terkecil yang terdapat pada sublarik dari indeks i dengan memiliki panjang. Ilustrasinya dapat dilihat pada Gambar 5 dengan fungsi rekurennya pada persamaan 2. (2) Untuk menghitung RMQ A (i, j) adalah dengan memilih 2 sublarik atau blok yang menutupi semua bagian pada blok i j. Misalkan, maka untuk menghitung RMQ A (i, j) adalah dengan menggunakan formula pada persamaan 3. Ilustrasi 2 blok yang menutup seluruh bagian interval i sampai j dapat dilihat pada Gambar 6. (3) Gambar 2. Ilustrasi algoritma Path Doubling PREPROCESS 1. set semua isi dp_parent dengan 1 2. for i 2 to N 3. dp_parent[i][0] parent[i] 4. endfor Gambar 5. Ilustrasi sublarik algoritma Sparse Table 5. for i 1 to LOG_N 6. for j 1 to N 7. if dp_parent[j][i1] 1 8. dp_parent[j][i] dp_parent[dp_parent[j][i1]][i1] 9. endif 10. endfor 11. endfor Gambar 3. Pseudocode fungsi preprocessing algoritma Path Doubling Gambar 6. Ilustrasi Perhitungan RMQ dengan Sparse Table

3 JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 3 PREPROCESS 1. for i = 0 to countereuler 1 2. ST[i][0] i 3. endfor let j 1 6. while 2 j countereuler 7. let i 1 8. while i + 2 i 1 countereuler 9. If EulerSeq[ST[i][j1]]< EulerSeq[ST[i+(2 (j 1) )][j1]] 10. ST[i][j] ST[i][j1] 11. else 12. ST[i][j] ST[i+(2 (j1) )][j1] 13. Endif 14. i i Endwhile 16. j j endwhile Gambar 7. Pseudocode fungsi preprocessing algoritma Sparse Table FINDLCA i dan j : batas kiri dan kanan blok sequence 1. let k (int) log(j i + 1) if EulerSeq[ST[i][k]] < EulerSeq[ST[j (2 k ) + 1][k]] 4. return ST[i][k] 5. else 6. ST[j (2 k ) + 1][k] 7. endif Gambar 8. Pseudocode fungsi findlca algoritma Sparse Table Pseudocode preprocessing dan query algoritma ini ditunjukkan pada Gambar 7 dan Gambar 8. Untuk mendapatkan child pertama dari vertex LCA tinggal mengambil isi larik dari ETS di belakang LCA. Ilustrasinya ditunjukkan pada Gambar 9. D. Algoritma Khusus Permasalahan RMQ Terbatas Pada subbab ini akan dijelaskan mengenai algoritma yang dapat menyelesaikan permasalahan RMQ pada sebuah larik dengan batasan [3]. Larik dengan batasan adalah larik yang berisi bilangan yang di mana bilangan yang saling berdampingan memiliki beda tepat. Dalam hal ini larik Euler Tour Sequence yang didapatkan dari proses reduksi pada subbab 2.4 merupakan larik dengan batasan. Algoritma ini menggunakan teknik tablelookup untuk preprocessing jawaban RMQ pada sublarik dengan ukuran kecil. Langkah pertama adalah dengan membagi larik ke dalam blokblok dengan ukuran adalah ukuran larik ( yang dimaksud disini ), sehingga banyaknya blok yang terbentuk adalah. Definisikan sebuah larik yang berisi elemen minimum pada blok ke. Definisikan pula larik dengan ukuran yang sama yang menyimpan indeks posisi pada larik elemen minimum pada blok ke. Selanjutnya adalah melakukan proprocessing pada larik dengan algoritma Sparse Table yang telah dijelaskan pada subbab 2.9. Algoritma Sparse Table memiliki kompleksitas waktu pada proses preprocessnya dan larik memiliki ukuran, sehingga kompleksitas keseluruhan proses ini adalah. Ilustrasi dari penjelasan di atas dapat dilihat pada Gambar 10. Berikut langkah yang ditempuh untuk menghitung dengan memanfaatkan larik yang telah diproses dengan algoritma Sparse Table tadi (ilustrasi dapat dilihat pada Gambar 11): 1) Menghitung minimum elemen dari sampai akhir dari bloknya. 2) Menghitung minimum elemen yang terdapat pada blok antara blok yang terdapat di dalamnya dan blok yang terdapat di dalamnya. 3) Menghitung minimum elemen dari elemen awal sampai pada bloknya. Gambar 10. Ilustrasi Pembagian Blok Gambar 9. Ilustrasi cara mendapatkan child pertama dari LCA Gambar 11. Ilustrasi query inblock dan outblock

4 JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 4 Untuk menghitung minimum elemen yang terdapat pada blok antara blok yang terdapat di dalamnya dan blok yang terdapat di dalamnya (nomor 2) didapatkan dengan memanfaatkan larik yang telah diproses tadi dengan Sparse Table. Untuk menghitung bagian nomor 1 dan 3 (selanjutnya akan disebut inblock query, sedangkan bagian nomor 2 selanjutnya akan disebut outblock query) memerlukan waktu yang banyak jika dilakukan preprocessing di setiap bloknya dengan Sparse Table. Kompleksitasnya adalah. Kompleksitas waktu yang dimilikinya masih banyak sehingga perlu dikurangi dengan memanfaatkan keuntungan larik dengan batasan. Jika 2 larik dan memiliki nilai beda yang tetap pada setiap posisinya, contohnya dengan adalah nilai beda tetap di setiap nya, maka semua jawaban untuk RMQ akan sama untuk larik dan. Sehingga dapat dilakukan preprocess yang sama di kedua larik tersebut. Dengan demikian suatu blok dapat dinormalisasi menjadi blok yang hanya menyimpan nilai sehingga jumlah blok yang normal menjadi jauh lebih sedikit. Ilustrasi dapat dilihat pada Gambar 12. Setelah semua blok masingmasing telah didefinisikan indeks normalnya, maka sisa melakukan preprocessing RMQ dengan algoritma trivial yang pseudocodenya ditunjukkan pada Gambar 13. BUILDTABLESQRT Gambar 12. Ilustrasi blok normal 1. for i=0 to numblock1 2. if isfinished[indexsqrtblock[i]] = false 3. for j=0 to sizeblock1 4. tablesqrt[indexsqrtblock[i]][j][j] j 5. endfor 6. for j=0 to sizeblock1 7. for k=j+1 to sizeblock1 8. let a L[i*sizeBlock+tableSqrt[indexSqrtBlock[i]][j][k 1]] 9. let b INF 10. if i*sizeblock+j < 2*N1 11. b L[i*sizeBlock+k] 12. endif 13. if a < b 14. tablesqrt[indexsqrtblock[i]][j][k] tablesqrt[indexsqrtblock[i]][j][k 1] 15. else 16. tablesqrt[indexsqrtblock[i]][j][k] k 17. endif 18. endfor 19. endfor 20. isfinished[indexsqrtblock[i]] true 21. endif 22. endif Gambar 13. Pseudocode algoritma RMQ trivial pada algoritma khusus permasalahan RMQ Terbatas III. HASIL UJI COBA Uji coba akan dilakukan dengan beberapa mekanisme, yaitu meliputi pengunggahan kode program yang telah dibuat ke situs penilaian daring SPOJ, uji coba kebenaran dan uji coba kinerja disertai dengan analisis kinerja serta kompleksitas waktu dan ruang program yang telah dibuat. A. Uji Coba Melalui SPOJ Dalam uji coba ini, kode sumber dari program yang telah dibuat diunggah ke situs penilaian daring SPOJ pada soal yang berjudul DynamicallyRooted Tree. Format masukan juga telah disesuaikan dengan yang diminta pada soal tersebut. Setelah kode sumber diunggah, situs penilaian daring 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 "time limit exceeded", "wrong answer", atau "runtime error". Program dengan 3 pendekatan berbeda akan diunggah masingmasing 6 kali untuk mendapatkan waktu eksekusi ratarata dari program yang telah dibuat. Tabel 1 menunjukkan perbandingan umpan balik situs SPOJ dari ketiga implementasi algoritma. B. Uji Coba Kebenaran Pada uji coba ini dilakukan pengujian program dengan data masukan berupa graf rooted tree dengan jumlah vertex dan query yang sedikit. Uji coba kebenaran dilakukan untuk menguji kebenaran hasil keluaran program sesuai dengan data keluaran yang diinginkan. Pada uji coba kebenaran ini akan diuji juga metode perhitungan jumlah bobot subtree tanpa dilakukan pengubahan root pada real memori. Uji coba dilakukan dengan memberi masukan ke program dengan data masukan seperti yang ditunjukkan pada Gambar 14 (kiri). Ditunjukkan pula pada gambar tersebut data keluaran program (kanan) dengan catatan keluaran program dengan menggunakan 3 kelas berbeda adalah sama. Tabel 1. Tabel perbandingan uman balik situs penilaian daring SPOJ Algoritma Waktu eksekusi ratarata Memori Path Doubling 0.52 detik 17 Megabyte Sparse Table 0.50 detik 30 Megabyte untuk permasalahan RMQ terbatas 0.25 detik 15 Megabyte R 14 S 14 S 3 S 13 S 1 Gambar 14. Data masukan dan keluaran program

5 JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 5 Pada uji coba pengaruh banyaknya vertex terhadap waktu preprocessing, banyaknya vertex dibuat bervariasi antara hingga dengan rentang 5000 vertex. Waktu yang dihitung pada uji coba ini adalah waktu lamanya preprocessing struktur data rooted tree setelah masukan representasi rooted tree telah dimasukkan ke kelas. Dicatat waktu eksekusi program terhadap tiap data dalam satuan milidetik agar pengaruh banyak vertex terhadap waktu eksekusi program dapat diamati. Garfik hasil uji coba dari percobaan ketiga pendekatan yang digunakan ditunjukkan pada Gambar 17. Gambar 15. Ilustrasi 4 query dengan root pada vertex 14 Gambar 17. Grafik pengaruh jumlah vertex terhadap waktu operasi preprocessing Gambar 18. Grafik pengaruh jumlah vertex terhadap waktu operasi sebanyak Gambar 16. Rooted tree dengan vertex 14 sebagai rootnya Ilustrasi penggunaan kasus LCA sesuai data masukan dan keluaran program. Ditunjukkan pada Gambar 15 dengan angka merah di samping vertex menyatakan jumlah bobot yang dimiliki subtree dengan vertex tersebut sebagai rootnya. Ilustrasi representasi rooted tree dengan vertex 14 sebagai rootnya ditunjukkan pula pada Gambar 16 dengan angka merah di samping vertex menyatakan jumlah bobot yang dimiliki subtree dengan vertex tersebut sebagai rootnya. C. Uji Coba Kinerja Pada uji coba ini akan dilakukan 2 macam uji coba, yaitu pengaruh banyaknya vertex terhadap waktu preprocessing dan pengaruh banyaknya vertex terhadap waktu operasi sebanyak (batasan permasalahan). Tabel 2. Tabel pengaruh jumlah vertex preprocessing terhadap waktu operasi Percobaan Waktu (milidetik) Jumlah Sparse Path vertex Table Doubling error error error error error Tabel 3. Tabel pengaruh jumlah vertex terhadap waktu operasi sebanyak query Percobaan Waktu (milidetik) Jumlah Sparse Path vertex Table Doubling error error error error error

6 JURNAL SAINS DAN SENI POMITS Vol. 2, No. 1, (2014) ISSN: ( Print) 6 Tabel 4. Kompleksitas keseluruhan masingmasing program Program dengan algoritma Path Doubling Sparse Table Khusus pada Permasalahan RMQ Terbatas Kompleksitas Waktu Ruang Pada uji coba pengaruh banyaknya vertex terhadap waktu operasi sebanyak, banyaknya vertex dibuat bervariasi antara hingga dengan rentang 5000 vertex. Waktu yang dihitung pada uji coba ini adalah waktu lamanya operasi (method public query dan changeroot) struktur data rooted tree setelah masukan representasi rooted tree telah dimasukkan ke kelas. Dicatat waktu eksekusi program terhadap tiap data dalam satuan milidetik agar pengaruh banyak vertex terhadap waktu eksekusi program dapat diamati. Garfik hasil uji coba dari percobaan ketiga pendekatan yang digunakan ditunjukkan pada Gambar 18. Dilakukan pula uji coba jika jumlah masukan vertex dibuat lebih dari batas permasalahan ( ) dengan rentang yang hasilnya ditunjukkan pada Tabel 2 untuk proses preprocessing dan Tabel 3 untuk proses query. D. Analisis Kompleksitas Pada bagian ini ditunjukkan hasil analisis kompleksitas waktu dan ruang program secara keseluruhan. Hasilnya dapat dilihat pada Tabel 4. IV. KESIMPULAN DAN SARAN Dari hasil uji coba dan analisis yang telah dilakukan, dapat ditarik beberapa kesimpulan dari kinerja struktur data rooted tree dinamis yang implementasinya menggunakan tiga macam pendekatan. Beberapa hal tersebut adalah sebagai berikut: Saran yang diberikan dalam pengembangan struktur data rooted tree dinamis adalah agar dapat dibuat lebih dinamis lagi dengan ditambahnya berbagai macam operasi seperti penambahan nilai bobot dengan mempertahankan kompleksitas waktu. 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 pihakpihak lain yang turut membantu kelancaran penelitian ini. DAFTAR PUSTAKA [1] Kenneth H. Rosen, Descrete Mathematics and Its Application, 6th ed. New York, United States of America: McGrawHill, [2] (2013, June) Dynamically Rooted Tree. [Online]. HYPERLINK " [3] Michael A. Bender and Martin FarahColton, "The LCA Problem Revisited," LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics, pp. 8894, May [4] Steven S. Skiena, The Algorithm Design Manual, 2nd ed. London: Springer, [5] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 3rd ed. Massachusetts: The MIT Press, [6] Michael A. Bender and Martin FarachColton, "The Level Ancestor Problem simplified," Theoretical Computer Science Latin American theorotical informatics, vol. 321, no. 1, pp. 512, June ) Dengan menggunakan tiga macam pendekatan dapat menyelesaikan masalah penarikan data pada struktur data rooted tree dinamis. 2) Algoritma Path Doubling membutuhkan memori lebih sedikit dari yang dibutuhkan oleh algoritma Sparse Table, sebaliknya waktu eksekusinya lebih lambat (sesuai uji coba situs penilaian daring SPOJ walaupun pada uji coba kinerja, preprocessing Sparse Table lebih lambat). 3) Pendekatan algoritma khusus pada permasalahan RMQ terbatas lebih unggul dari keduanya baik dari aspek kebutuhan memori maupun aspek kecepatan eksekusi namun implementasinya lebih kompleks. 4) Lama waktu eksekusi preprocessing ketiga pendekatan dipengaruhi oleh banyaknya vertex secara linier baik yang memiliki kompleksitas O(N) maupun O(Nlog(N)). 5) Lama waktu eksekusi operasi (query dan changeroot) ketiga pendekatan tidak dipengaruhi oleh banyaknya vertex (konstan) baik yang memiliki kompleksitas O(1) maupun O(log(N)). 6) Program dengan menggunakan algoritma khusus pada permasalahan RMQ terbatas unggul di kedua aspek, baik kompleksitas waktu maupun ruang.

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

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 Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya

Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya JURNAL TEKNIK POMITS Vol. 2, No. 1, (2014) ISSN: 2337-3539 (2301-9271 Print) 1 Desain dan Analisis Algoritma Pembangkitan Convex Hull 3 Dimensi dan Visualisasinya Andi Muh. Primabudi, Arya Yudhi Wijaya

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

Variasi Pohon Pencarian Biner Seimbang

Variasi Pohon Pencarian Biner Seimbang Variasi Pohon Pencarian Biner Seimbang Tony 13516010 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia buddy90_lost@yahoo.co.id

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

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

Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penjumlahan interval

Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penjumlahan interval Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penumlahan interval Eric 13512021 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search Biolardi Yoshogi (13509035) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

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

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

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

Lebih terperinci

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

ANALISIS ALGORITMA BINARY SEARCH

ANALISIS ALGORITMA BINARY SEARCH ANALISIS ALGORITMA BINARY SEARCH Metode Binary search Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana

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

Penggunaan Metode Depth First Search (DFS) dan Breadth First Search (BFS) pada Strategi Game Kamen Rider Decade Versi 0.3

Penggunaan Metode Depth First Search (DFS) dan Breadth First Search (BFS) pada Strategi Game Kamen Rider Decade Versi 0.3 Scientific Journal of Informatics Vol. 1, No. 2, November 2014 p-issn 2407-7658 http://journal.unnes.ac.id/nju/index.php/sji e-issn 2460-0040 Penggunaan Metode Depth First Search (DFS) dan Breadth First

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

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

STUDI KINERJA WAVELET TREE PADA VARIASI PERMASALAHAN RANGE QUERY

STUDI KINERJA WAVELET TREE PADA VARIASI PERMASALAHAN RANGE QUERY TUGAS AKHIR - KI141502 STUDI KINERJA WAVELET TREE PADA VARIASI PERMASALAHAN RANGE QUERY FENDY NRP 5113 100 017 Dosen Pembimbing 1 Arya Yudhi Wijaya, S.Kom., M.Kom. Dosen Pembimbing 2 Rully Soelaiman, S.Kom.,

Lebih terperinci

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Ahmad Ayyub Mustofa Jurusan Teknik Informatika ITB, Bandung 40132, email: rekka_zan@students.itb.ac.id Abstraksi Bahasa pemrograman

Lebih terperinci

Hubungan Kompleksitas Algoritma dengan Cara Belajar

Hubungan Kompleksitas Algoritma dengan Cara Belajar Hubungan Kompleksitas Algoritma dengan Cara Belajar Ryan Ignatius Hadiwijaya / 13511070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014 Analisis Algoritma Jimmy Tirtawangsa Universitas Telkom 2014 Daftar Isi (1) Motivasi (2) Kompleksitas dan Optimalitas (3) Struktur data (4) Teknik 2 analisis algoritma (5) Struktur graf (6) Problem Sulit/Intraktabel

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

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

EVALUASI KINERJA ALGORITMA PERKALIAN MATRIKS BERANTAI DENGAN TEKNIK DYNAMIC PROGRAMMING

EVALUASI KINERJA ALGORITMA PERKALIAN MATRIKS BERANTAI DENGAN TEKNIK DYNAMIC PROGRAMMING EVALUASI KINERJA ALGORITMA PERKALIAN MATRIKS BERANTAI DENGAN TEKNIK DYNAMIC PROGRAMMING Farah Virnawati 1, Juwita Utami Putri 2, Ernastuti 3 1,2,3 Program Studi Teknik Informatika, Universitas Gunadarma

Lebih terperinci

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

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

Lebih terperinci

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

TUGAS AKHIR KI KARSTEN ARI AGATHON NRP Dosen Pembimbing 1 Victor Hariadi, S.Si., M.Kom.

TUGAS AKHIR KI KARSTEN ARI AGATHON NRP Dosen Pembimbing 1 Victor Hariadi, S.Si., M.Kom. TUGAS AKHIR KI141502 DESAIN DAN ANALISIS ALGORITMA PENYELESAIAN PERSOALAN SPOJ MAXIMUM EDGE OF POWERS OF PERMUTATION DENGAN METODE PERMUTATION CYCLES FINDING DAN FFT CONVOLUTION KARSTEN ARI AGATHON NRP.

Lebih terperinci

JURNAL TEKNIK ITS Vol. 6, No. 1, (2017) ISSN: ( Print) A-51

JURNAL TEKNIK ITS Vol. 6, No. 1, (2017) ISSN: ( Print) A-51 JURNAL TEKNIK ITS Vol. 6, No. 1, (2017) ISSN: 2337-3539 (2301-9271 Print) A-51 Rancang Bangun Aplikasi Angkutan Trans Sarbagita Provinsi Bali Berbasis Perangkat Bergerak I Made Aditya Pradnyadipa Mustika,

Lebih terperinci

Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal

Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal Alif Raditya Rochman - 151101 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

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 Graf dalam validasi path di Permainan Saboteureun menggunakan DFS

Penerapan Graf dalam validasi path di Permainan Saboteureun menggunakan DFS Penerapan Graf dalam validasi path di Permainan Saboteureun menggunakan DFS Hendro Triokta Brianto / 13512081 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object Firdaus Ibnu Romadhon/13510079 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Pembuktian Kesulitan Hamiltonian Cycle Problem dengan Transformasi 3-Satisfiability Problem

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

Lebih terperinci

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2 1 POHON DEFINISI Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon bukan pohon bukan pohon 2 Hutan (forest) adalah - kumpulan

Lebih terperinci

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya Muhammad Adinata/13509022 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency Analisis Algoritm Fundamentals of the Anlysis of Algorithm Efficiency Hendri Karisma Program Studi Teknik Informatika Universitas Komputer Indonesia 2013 Review An algorithm is a sequence of unambiguous

Lebih terperinci

Heap Tree dan Kegunaannya dalam Heap Sort

Heap Tree dan Kegunaannya dalam Heap Sort Heap Tree dan Kegunaannya dalam Heap Sort Efendy Chalikdjen 1, Hermanto Ong 2, Satria Putra Sajuthi 3 Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut Teknologi Bandung

Lebih terperinci

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

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

Lebih terperinci

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1 Pohon Bahan Kuliah IF2120 Matematika Diskrit Program Studi Teknik Informatika ITB Rinaldi M/IF2120 Matdis 1 Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a

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

Preorder Tree Traversal

Preorder Tree Traversal Preorder Tree Traversal Dimana paralelnya? Operasi dasarnya adalah pelabelan pada node. Label pada verteks sub pohon kanan tidak dapat diberikan sampai diketahui berapa banyak verteks yang ada di sub pohon

Lebih terperinci

Analisis dan Strategi Algoritma

Analisis dan Strategi Algoritma Analisis dan Strategi Algoritma Deskripsi Mata Kuliah Konsep dasar analisis algoritma Beberapa jenis algoritma 28/02/2011 2 Standar Kompetensi Mahasiswa mampu membandingkan beberapa algoritma dan menentukan

Lebih terperinci

Pengurutan (Sorting) Algoritma Pemrograman

Pengurutan (Sorting) Algoritma Pemrograman Pengurutan (Sorting) Algoritma Pemrograman mas.anto72@gmail.com 1 Definisi Sorting /pengurutan proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Bentuk susunan/urutan : Ascending menaik/membesar

Lebih terperinci

EXERCISE WORKBOOK MI /2012#07

EXERCISE WORKBOOK MI /2012#07 XRCIS WORKBOOK 1 IDNTITAS Kajian Perulangan Topik Dasar Logika Perulangan Referensi [1] Sedgewick, Robert. Algorithms. Marly-le-Roi: Addison-Wesley Publishing Company, 1983 [2] Cormen, Thomas H., Charles.

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

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung)

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung) POHON (TREE) Pohon Definisi Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk

Lebih terperinci

Penerapan Pohon dalam Algoritma Expectiminimax untuk Permainan Stokastik

Penerapan Pohon dalam Algoritma Expectiminimax untuk Permainan Stokastik Penerapan Pohon dalam Algoritma Expectiminimax untuk Permainan Stokastik Jordhy Fernando 13515004 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865 Algoritma Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865 1 Algoritma Abu Ja far Mohammed Ibn Musa Al- Khowarizmi (Sumber: Kenneth

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

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF Anthony Rahmat Sunaryo NIM: 3506009 Jurusan Teknik Informatika ITB, Bandung email : if6009@students.if.itb.ac.id Abstract -- Makalah ini membahas tentang analsis

Lebih terperinci

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM ANALISIS ALGORITMA Analisis Masalah dan Running Time Disusun Oleh: Adam Mukharil Bachtiar Teknik Informatika UNIKOM adfbipotter@gmail.com AGENDA PERKULIAHAN DEFINISI MASALAH f x = a 0 + a n cos nπx +

Lebih terperinci

Mencari Leluhur Bersama Terkecil pada Pohon

Mencari Leluhur Bersama Terkecil pada Pohon Mencari Leluhur Bersama Terkecil pada Pohon Chalvin 13514032 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

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

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

STUDI DAN IMPLEMENTASI ALGORITMA DIJKSTRA, BELLMAN-FORD DAN FLOYD-WARSHALL DALAM MENANGANI MASALAH LINTASAN TERPENDEK DALAM GRAF

STUDI DAN IMPLEMENTASI ALGORITMA DIJKSTRA, BELLMAN-FORD DAN FLOYD-WARSHALL DALAM MENANGANI MASALAH LINTASAN TERPENDEK DALAM GRAF STUDI DAN IMPLEMENTASI ALGORITMA DIJKSTRA, BELLMAN-FORD DAN FLOYD-WARSHALL DALAM MENANGANI MASALAH LINTASAN TERPENDEK DALAM GRAF Apri Kamayudi NIM : 13505009 Program Studi Teknik Informatika, Institut

Lebih terperinci

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle Windarto Harimurti NIM : 13503089 Program Studi Teknik Informatika, Institut Teknologi Bandung

Lebih terperinci

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

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

Lebih terperinci

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 1 ARRAY & LINKED LIST MODUL 1 Standar kompetensi: 1. Mahasiswa mengetahui perbedaan array dan linked list. 2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 3. Mahasiswa

Lebih terperinci

Penerapan Pohon Dalam Heap Sort

Penerapan Pohon Dalam Heap Sort enerapan ohon Dalam Sort Firdi Mulia Jurusan Teknik Informatika ITB, Bandung, email: if17045@students.if.itb.ac.id Abstract Makalah ini membahas tentang penerapan pohon heap dalam metode pengurutan data

Lebih terperinci

OPTIMASI ALGORITMA POHON MERENTANG MINIMUM KRUSKAL

OPTIMASI ALGORITMA POHON MERENTANG MINIMUM KRUSKAL OPTIMASI ALGORITMA POHON MERENTANG MINIMUM KRUSKAL Karol Danutama / 13508040 Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Selat Bangka IV no 6 Duren Sawit Jakarta Timur e-mail:

Lebih terperinci

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Luqman Arifin Siswanto - 13513024 Program Sarjana Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Algoritma Pemrograman & Struktur Data

Algoritma Pemrograman & Struktur Data MODUL PERKULIAHAN Algoritma Pemrograman & Struktur Data Linked List Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Informatika Komputer 03 87042 Abstract Penjelasan mengenai linked

Lebih terperinci

PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI

PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI Oliver Samuel Simanjuntak Prodi Teknik Informatika UPN eteran Yogyakarta Jl. Babarsari

Lebih terperinci

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1 Pohon (TREE) Matematika Deskrit By @Ir. Hasanuddin Sirait, MT 1 Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon

Lebih terperinci

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

BAB III ANALISIS KOMPLEKSITAS ALGORITMA BAB III ANALISIS KOMPLEKSITAS ALGORITMA 3.1 Kompleksitas Algoritma Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien.

Lebih terperinci

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur Steffi Indrayani / 13514063 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon

Lebih terperinci

BAB 2 LANDASAN TEORI

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

Lebih terperinci

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

Tujuan Instruksional

Tujuan Instruksional Pertemuan 4 P E N C A R I A N T A N P A I N F O R M A S I B F S D F S U N I F O R M S E A R C H I T E R A T I V E D E E P E N I N G B I D I R E C T I O N A L S E A R C H Tujuan Instruksional Mahasiswa

Lebih terperinci

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem Arie Tando (13510018) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA Mata Kuliah Kode / SKS Program Studi Fakultas : Algoritma Pemrograman 2C (Teori Algoritma) : IT012302 / 3 SKS : Sistem Komputer : Ilmu Komputer & Teknologi Informasi 1 Pengenalan Algoritma Mahasiswa dapat

Lebih terperinci

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall Lutfi Fanani Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya Malang,

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

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial Stephen (35225) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional Azby Khilfi M. NIM : 13506018 Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail

Lebih terperinci

Struktur Data. PDE - Struktur Data 1

Struktur Data. PDE - Struktur Data 1 Struktur Data Copyright@Ihsan Jatnika PDE - Struktur Data 1 Objektif Mengetahui maksud struktur data dan menjelaskan penggunaannya dalam pemrograman Mengetahui operasi yang terkait dengan struktur data

Lebih terperinci

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming Reinhard Benjamin Linardi, 13515011 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya Politeknik Elektronika Negeri Surabaya PRAKTIKUM 28 BINARY SEARCH TREE 2 A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami konsep menghapus node pada Binary Search Tree. Node yang dihapus adalah node

Lebih terperinci

Aplikasi Pewarnaan Graf Fuzzy untuk Mengklasifikasi Jalur Lalu Lintas di Persimpangan Jalan Insinyur Soekarno Surabaya

Aplikasi Pewarnaan Graf Fuzzy untuk Mengklasifikasi Jalur Lalu Lintas di Persimpangan Jalan Insinyur Soekarno Surabaya JURNAL SAINS DAN SENI POMITS Vol. 3, No.2, (2014) 2337-3520 (2301-928X Print) A-10 Aplikasi Pewarnaan Graf Fuzzy untuk Mengklasifikasi Jalur Lalu Lintas di Persimpangan Jalan Insinyur Soekarno Surabaya

Lebih terperinci

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013 Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013 Pohon (Tree) Pohon (Tree) didefinisikan sebagai graf terhubung yang tidak mengandung sirkuit. Karena merupakan graf terhubung, maka pohon selalu

Lebih terperinci

Pengertian Algoritma Pengurutan

Pengertian Algoritma Pengurutan SORTING Pengertian Algoritma Pengurutan (sorting) Dalam ilmu komputer, algoritma pengurutan adalah algoritma yang meletakkan elemen-elemen suatu kumpulan data dalam urutan tertentu. Atau proses pengurutan

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

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

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

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI Oliver Samuel Simanjuntak Jurusan Teknik Informatika UPN Veteran Yogyakarta Jl.

Lebih terperinci

Representasi Objek Gambar Dengan Quad Tree

Representasi Objek Gambar Dengan Quad Tree Representasi Objek Gambar Dengan Quad Tree Edwin Wijaya - 13513040 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : PENGURUTAN Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : 1. Ascending / menaik Syarat : L[1] L[2] L[3] L[N] 2. Descending / menurun

Lebih terperinci

Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer

Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer Eka Yusrianto Toisutta - NIM : 13504116 Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung email: if14116@students.if.itb.ac.id

Lebih terperinci

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram) Ver

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram) Ver ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram) Ver. 3.1-2016 http://openstat.sekolahku.org http://kelas.sekolahku.org Introduction Simulasi : to Pendahuluan Parallel Algorithm p :

Lebih terperinci

Aplikasi dan Algoritma Penyelesaian Optimal dari Persoalan Tukang Pos Cina

Aplikasi dan Algoritma Penyelesaian Optimal dari Persoalan Tukang Pos Cina Aplikasi dan Algoritma Penyelesaian Optimal dari Persoalan Tukang Pos Cina Adhiguna Surya / 13509077 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl.

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

Studi Algoritma Optimasi dalam Graf Berbobot

Studi Algoritma Optimasi dalam Graf Berbobot Studi Algoritma Optimasi dalam Graf Berbobot Vandy Putrandika NIM : 13505001 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if15001@students.if.itb.ac.id

Lebih terperinci

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Adriansyah Ekaputra 13503021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung Abstraksi Makalah

Lebih terperinci

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel OLEH : SUPRIYANTO (G651090191) OKE HENDRADHY (G651090101) KAMALUDDIN MAHFUDZ (G651090231) DEPARTEMEN

Lebih terperinci

Implementasi Metode Pairwise Comparison pada Uji Kinerja Varian Metode Kecerdasan Buatan pada Penyelesaian Masalah TSP

Implementasi Metode Pairwise Comparison pada Uji Kinerja Varian Metode Kecerdasan Buatan pada Penyelesaian Masalah TSP JURNAL TEKNIK POMITS Vol. 2, No. 1, (201) ISSN: 2337-3539 (2301-9271 Print) 1 Implementasi Metode Pairwise Comparison pada Uji Kinerja Varian Metode Kecerdasan Buatan pada Penyelesaian Masalah TSP Muhammad

Lebih terperinci

ALGORITMA SEARCHING. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

ALGORITMA SEARCHING. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork ALGORITMA SEARCHING Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM Smart, Trustworthy, And Teamwork Tujuan Pembelajaran Setelah mengikuti kuliah ini, mahasiswa dapat memahami berbagai

Lebih terperinci

Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force

Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force Martin Lutta Putra - 13515121 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Aplikasi Pohon Prefix pada Pencarian Kontak di

Aplikasi Pohon Prefix pada Pencarian Kontak di Aplikasi Pohon Prefix pada Pencarian Kontak di Database Willy / 13512070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci