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

Ukuran: px
Mulai penontonan dengan halaman:

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

Transkripsi

1 7 BAB 2 LANDASAN TEORI 2.1 Pengoptimalan, Optimisasi, Algoritma, dan Analisis Algoritma Definisi Pengoptimalan Dalam Kamus Besar Bahasa Indonesia, pengoptimalan diartikan sebagai proses, cara, perbuatan untuk menjadikan paling baik, paling tinggi, paling menguntungkan, dan sebagainya Definisi Optimisasi Menurut Kamus Besar Bahasa Indonesia, optimisasi adalah prosedur yang digunakan untuk membuat sistem atau desain yang fungsional atau seefektif mungkin dengan menggunakan teknik aplikasi matematika Definisi Algoritma Algoritma berasal dari kata Algoris dan Ritmis, yang pertama kali diungkapkan oleh Abu Ja far Mohammad Ibn Musa Al Khowarizmi dalam buku Al-jabr wa almuqabala (Horowittz, Ellis dan Sartaj Sahni, 1978, pl). Ada beberapa definisi yang diberikan mengenai pengertian algoritma (Horowittz, Ellis dan Sartaj Sahni, 1978, pl), antara lain sebagai berikut: 1. Menurut Abu Ja far Mohammad Ibn Musa Al Khowarizmi Algoritma adalah suatu metode khusus untuk menyelesaikan suatu permasalahan. 2. Menurut Goodman Hedetniemi Algoritma adalah urut-urutan terbatas dari operasi operasi yang terdefinisi dengan baik, yang masing-masing

2 8 membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu permasalahan. 3. Dalam ilmu komputer Algoritma adalah suatu metode yang terdiri dari serangkaian langkah langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan masalah dengan bantuan komputer Definisi Analisis Algoritma Algoritma tidak selalu memberikan hasil terbaik yang mungkin diperoleh, maka diharapkan adanya suatu evaluasi mutu hasil dari algoritma tersebut (Liu, C.L, 1995, p271). Sekali sebuah algoritma diberikan kepada sebuah permasalahan dan dijamin akan memberikan hasil yang diharapkan, maka langkah penting selanjutnya adalah menentukan besar biaya yang diperlukan algoritma tersebut untuk memperoleh hasil itu. Proses inilah yang disebut dengan analisis algoritma (Weiss, Mark Allen, 1996, p149). Ukuran biaya eksekusi suatu algoritma yang paling sering digunakan adalah lamanya waktu diperlukan. Namun juga masih ada ukuran ukuran lainnya, misalnya besarnya memori yang diperlukan untuk mengeksekusi algoritma tersebut (Liu, C.L, 1995, p272). Maksud dilakukannya analisis algoritma (Horowitz, Elis dan Sartaj Sahni, 1978, p1) adalah untuk: 1. Memenuhi aktivitas intelektual. 2. Meramalkan suatu hal yang akan terjadi atau yang akan didapat dari algoritma tersebut. 3. Mengetahui efektifitas suatu algoritma dibanding dengan algoritma yang lain untuk persoalan yang sama.

3 9 2.2 Kompleksitas Waktu Algoritma dan Masalah Salah satu ukuran biaya dalam pengeksekusian sebuah algoritma adalah lamanya waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam mengeksekusi suatu algoritma dinamakan kompleksitas waktu (time complexity) algoritma tersebut (Liu, C.L, 1995, p272). Besarnya waktu yang dibutuhkan algoritma untuk menyelesaikan sebuah permasalahan sebanding dengan jumlah inputan yang diberikan untuk permasalahan tersebut. Semakin besar data maka akan semakin besar waktu yang diperlukan. Sebagai contoh, diperlukan waktu yang lebih besar untuk mengurutkan buah data dibanding dengan 10 buah data. Akan tetapi, pada keadaan sebenarnya, nilai dari suatu algoritma ditentukan dari banyak faktor, misalnya kecepatan komputer yang dipakai, kualitas compiler dan dalam beberapa kasus, kualitas program itu sendiri (Weiss, Mark Allen, 1996, p149). Dua buah algoritma yang berbeda dapat digunakan memecahkan masalah yang sama dan mungkin saja mempunyai kompleksitas waktu (time complexity) yang sangat berbeda (Liu, C.L, 1995, p274). Kompleksitas waktu algoritma terbaik untuk memecahkan masalah tersebut dinamakan sebagai kompleksitas waktu suatu masalah (time complexcity of problem) (Liu, C.L, 1995, p277). Berdasarkan pengertian problem (masalah) di atas, tidak semua masalah dapat dipecahkan, dengan kata lain mempunyai algoritma solusi. Ada dua buah klasifikasi permasalahan, yaitu sebagai berikut: 1. Permasalahan yang dapat dipecahkan (decidable / solvable problem) Permasalahan yang termasuk klasifikasi ini adalah semua jenis permasalahan yang mempunyai algoritma solusi, walaupun kadang kala tidak praktis. Dari segi

4 10 komputasi, permasalahan dalam klasifikasi ini dapat dibedakan menjadi tiga kategori, yaitu: Permasalahan Tractable (mudah dari segi komputasi) Suatu masalah dikatakan tractable jika masalah tersebut dapat dipecahkan oleh suatu algoritma yang efisien. Contoh permasalahan tractable antara lain adalah masalah penentuan bilangan terbesar di antara n bilangan, pengurutan n bilangan, penentuan lintasan terpendek antara dua buah vertex di dalam sebuah graph dan lain sebagainya. Permasalahan Intractable (sukar dari segi komputasi) Suatu masalah dikatakan intractable jika tidak ada algoritma yang efisien untuk memecahkan masalah tersebut. Permasalahan NP-Complete (NP singkatan dari Non-Deterministic Polinomial) Suatu masalah dikatakan NP-Complete apabila masalah itu telah berhasil dibuktikan termasuk dalam masalah intractable. Contohnya adalah permasalahan pewarnaan graph. 2. Permasalahan yang tidak dapat dipecahkan (undecidable / unsolveable problem) Permasalahan yang termasuk dalam klasifikasi ini adalah semua permasalahan yang tidak mempunyai algoritma solusi, maksudnya adalah tidak dapat dilakukan perhitungan, atau tidak dapat diperoleh jawaban dalam waktu singkat. Contohnya permasalahan unbounded tiling.

5 11 Ada beberapa definisi yang diberikan pengukuran kompleksitas suatu masalah (Weiss, Mark Allen, 1996, p161), yaitu sebagai berikut: 1. Big-O Definisi: T(n) = O(F(n)), jika ada konstanta positif c dan No di mana T(n) < cf(n), ketika N > No 2. Big-Omega Definisi: T(n) = Ω(F(n)), jika ada konstanta positif c dan No di mana T(n) > cf(n), ketika N > No 3. Big-Theta Definisi: T(n) = Θ(F(n)), jika dan hanya jika T(n) = O(F(n)) dan T(n) = Ω(F(n)) 4. Little-O Definisi: T(n) = o(f(n)), jika dan hanya jika T(n) = O(F(n)) dan T(n) Θ(F(n)) Dari keempat definisi yang diberikan di atas, definisi pertama yang sering digunakan dalam mengukur kompleksitas suatu permasalahan (Weiss, Mark Allen, 1996, p161)

6 12 Tabel 2.1 Fungsi kompleksitas suatu masalah dalam urutan ascending. Fungsi Nama C Log N Log² N N N Log N Konstanta Logaritma Logaritma Kuadrat Linear N Logaritma N N² Kuardatis N3 Kubik 2 n Eksponensial 2.3 Permasalahan NP-Hard dan NP-Complete Waktu yang dibutuhkan algoritma terbaik untuk menghasilkan solusi dari banyak problem (permasalahan) dapat dibagi menjadi dua kelompok. Kelompok pertama terdiri dari problem di mana waktu yang dibutuhkan untuk menghasilkan solusinya terbatas pada waktu polynomial dalam tingkat kecil disebut juga Polynomial Problem (P), seperti permasalahan evaluasi polynomial dengan O(n), pengurutan (sorting) dengan O(n log n) dan string editing dengan O(mn). Kelompok kedua terdiri dari permasalahan dengan algoritma Non Polynomial (NP), seperti permasalahan traveling sales person dengan O(n22n) dan permasalahan Knapsack dengan O(2n/2). Dalam pencarian untuk mengembangkan algoritma yang efisien, tidak satupun yang dapat mengembangkan algoritma dengan waktu polynomial untuk permasalahan kelompok kedua. Hal ini sangat penting karena algoritma yang waktu pencarian solusinya lebih besar dari polynomial

7 13 (biasanya waktu pencarian adalah eksponensial) membutuhkan waktu yang cukup lama untuk menjalankan problem skala menengah. Algoritma Non Polynomial (NP) dibagi menjadi dua kelas yaitu NP-hard dan NP-complete. Suatu problem yang termasuk kedalam NP-complete memiliki sifat dapat dipecahkan dalam waktu polynomial jika dan hanya jika seluruh problem NP-complete juga dapat dipecahkan dalam waktu polynomial. Jika sebuah problem NP-hard dapat dipecahkan dalam waktu polynomial maka seluruh problem NP-complete dapat dipecahakan dalam waktu polynomial. Seluruh problem NP-complete merupakan problem NP-hard, tetapi sebagian problem NP-hard belum tentu menjadi problem NPcomplete. Hubungan antara P, NP, NP-compelete dan NP-hard dapat dilihat dengan jelas dengan gambar berikut. Gambar 2.1 Relasi antara P, NP, NP-complete dan NP-hard

8 Definisi Heuristic Definisi Heuristic yang didapat dari berbagai sumber diterangkan pada penjelasan berikut ini: 1. Sebuah algoritma heuristic adalah suatu aturan untuk mengetahui bagaimana memecahkan permasalahan tertentu, tidak memberikan instruksi yang spesifik tetapi panduan umum untuk bermacam pendekatan yang mungkin dapat bekerja. ( 2. Istilah heuristic digunakan untuk algoritma di mana mencari solusi melalui semua kemungkinan yang ada, tetapi dalam pencariannya tidak bisa dijamin ditemukan solusi yang terbaik, oleh karena itu heuristic dapat dianggap algoritma perkiraan. Algoritma ini biasanya mencari solusi yang dekat dengan solusi terbaik dan proses pencariannya cepat dan mudah. Terkadang algortima ini dapat menjadi akurat dan menemukan solusi terbaik, tetapi algoritma ini tetap disebut heuristic hingga solusi terbaik itu terbukti untuk menjadi yang terbaik. ( 2.5 Bin Packing Dalam problem ini diberikan obyek sebanyak n (element) yang harus ditempatkan pada bin (tempat penyimpanan) dengan kapasitas L. Obyek i membutuhkan unit li dari kapasitas bin. Tujuan bin packing adalah untuk menentukan jumlah bin yang dibutuhkan untuk menampung seluruh obyek n. tidak boleh ada obyek yang ditempatkan sebagian di dalam suatu bin dan sebagian lain di dalam bin lainnya. Untuk lebih jelasnya bisa dilihat gambar dibawah ini.

9 15 Gambar 2.2 one-dimensional bin packing One Dimensional Bin Packing One dimensional bin packing termasuk ke dalam permasalahan bin packing yang selama ini dianggap merupakan area di mana riset operasional bertemu dengan puzzle (matematika rekreasional) dan termasuk ke dalam persamalahan NP-hard. Permasalahan optimalisasi bin packing termasuk ke dalam kelompok di mana tidak ada algoritma baku untuk menyelesaikannya, karena setiap kasus permasalahannya biasanya memiliki batasan-batasan unik tertentu (constraint). Karena itu algoritma yang digunakan dalam one dimensional bin packing tergolong ke dalam algoritma heuristic. Untuk mengetahui optimal atau tidaknya suatu algoritma dalam one dimensional bin packing. Ronald Graham, seorang matematikawan amerika melakukan perhitungan dengan memisalkan : Suatu algoritma A List daftar potong L

10 16 Koefisien r Dan OPT adalah jumlah bin maksimum dari solusi yang paling optimal. Kemudian dari worst case yang terjadi dimasukkan ke dalam persamaan berikut. A(L) r OPT(L) Dalam permasalahan one dimensional bin packing alogoritma yang pertama kali dikembangkan adalah algoritma Next Fit. Algoritma ini mempunyai nilai optimalisasi sebesar NF(L) 2 OPT(L) - 1 Algoritma ini bisa dikatakan sangat tidak optimal. Kemudian para ahli matematika mengembangkan algoritma ini dan didapat algoritma First Fit yang lebih optimal dengan nilai optimalisasi sebesar FF(L) [ (17/10) OPT(L) ] Dan perkembangan dari algoritma First Fit ini yaitu algoritma First Fit Decreasing memiliki nilai optimalisasi sebesar FFD(L) (11/9) OPT(L) + 4 Algoritma ini juga memberikan hasil yang lebih stabil, sehingga penulis memutuskan untuk menggunakan algoritma ini di dalam penelitian ini, tentu saja dengan sedikit mengubah algoritma dasar yang ada sehingga sesuai dengan constraint yang ada dalam masalah pemotongan baja.

11 Algoritma First Fit Decreasing Algoritma First Fit Decreasing adalah algoritma yang mengutamakan elemen berukuran besar untuk lebih dulu ditempatkan di dalam bin. Berbeda dengan algoritma First Fit biasa yang menempatkan elemen kedalam bin tanpa prioritas tertentu (algoritma first fit adalah algoritma yang menempatkan elemen pertama yang ditemui kedalam bin), sehingga kadang terjadi banyak elemen berukuran besar tertinggal di belakang. Berikut adalah contoh cara kerja dari algoritma First Fit Decreasing. Misalkan kita memiliki elemen dengan ukuran dan jumlah tertentu seperti di bawah ini : - Ukuran 5 meter sebanyak 2. - Ukuran 4 meter sebenyak 3. - Ukuran 3 meter sebanyak 2. - Ukuran 1 meter sebanyak 3. Dan bin berukuran 11 meter. Maka berikut adalah langkah penempatan yang dilakukan oleh algoritma First Fit Decreasing : Langkah 1 : Bin 1 : 5, sisa = 6 5 adalah elemen terbesar yang masih cukup untuk ditempatkan di dalam bin yang ada. Langkah 2 : Bin 1 : 5, 5, sisa = 1 5 masih elemen terbesar yang masih cukup untuk ditempatkan di dalam bin yang ada.

12 18 Langkah 3 : Bin 1 : 5, 5, 1, sisa = 0 Elemen berukuran 4 dan 3 tidak bisa ditempatkan di dalam bin karena ukurannya lebih besar daripada ukuran bin yang tersisa. Dan satu satunya elemen yang masih bisa ditempatkan dalam bin adalah elemen ukuran 1. Langkah 4 : Bin 1 : 5, 5, 1, sisa =0 Bin 2 : 4, sisa = 7 Diambil bin baru karena bin pertama sudah penuh dan tidak bisa diisi lagi, elemen berukuran 4 adalah elemen terbesar yang ada sekarang, sehingga elemen 4 di tempatkan di dalam bin. Langkah 5 : Bin 1 : 5, 5, 1, sisa = 0 Bin 2 : 4, 4, sisa = 3 Diambil bin berukuran 4 karena itu merupakan elemen terbesar yang bisa ditempatkan dalam bin. Langkah 6 : Bin 1 : 5, 5, 1, sisa = 0 Bin 2 : 4, 4, 3, sisa = 0 Diambil bin berukuran 3 karena itu merupakan elemen terbesar yang bisa ditempatkan dalam bin. Langkah 7 : Bin 1 : 5, 5, 1, sisa = 0 Bin 2 : 4, 4, 3, sisa = 0

13 19 Bin 3 : 4, sisa = 7 Diambil bin baru, bin 2 telah sepenuhnya terisi. Kemudian elemen berukuran 4 ditempatkan karena merupakan elemen terbesar yang bisa ditempatkan dalam bin. Langkah 8 : Bin 1 : 5, 5, 1, sisa = 0 Bin 2 : 4, 4, 3, sisa = 0 Bin 3 : 4, 3, sisa = 7 Diambil bin berukuran 3 karena itu merupakan elemen terbesar yang bisa ditempatkan dalam bin. (elemen yang tersisa hanya ukuran 1 dan 3) Langkah 9 : Bin 1 : 5, 5, 1, sisa = 0 Bin 2 : 4, 4, 3, sisa = 0 Bin 3 : 4, 3, 1, sisa = 7 Elemen dengan ukuran 1 ditempatkan ke dalam bin. Langkah 10 : Bin 1 : 5, 5, 1, sisa = 0 Bin 2 : 4, 4, 3, sisa = 0 Bin 3 : 4, 3, 1, 1 sisa = 2 Elemen terakhir yang tersisa, berukuran 1 ditempatkan ke dalam bin dan dengan ini semua elemen telah ditempatkan ke dalam bin sehingga algoritma telah selesai dijalankan. Dari hasil algoritma First Fit Decreasing didapat hasil seperti pada langkah 10. Dengan menggunakan 3 buah bin dan waste (sisa) yang didapat adalah 2.

14 20 Dalam masalah pemotongan baja constraint yang dihadapi adalah data yang sangat beragam dan variannya yang tidak menentu. Terkadang elemen kecil berjumlah banyak, dan terkadang justru elemen dengan ukuran besar yang berjumlah banyak. Dan algoritma first fit decreasing ini bisa dikatakan lemah terhadap data yang memiliki sebaran tidak merata seperti itu (suatu elemen memiliki jumlah yang jauh lebih banyak daripada elemen-elemen lainnya). Constraint lain yang dihadapi adalah adanya waste dengan ukuran panjang tertentu yang masih bisa digunakan kembali (reuseable). Karena itu penulis menambahkan 2 algoritma untuk memberikan hasil yang lebih stabil dan lebih optimal., dan sebaran waste yang lebih reuseable Golden Section Salah satu kekurangan pada algoritma First Fit Decreasing adalah ketika suatu elemen memiliki jumlah yang lebih banyak dari elemen-elemen lainnya. Terutama jika elemen dengan jumlah banyak itu berukuran relatif besar atau relative kecil. Karena itu penulis menambahkan dua algoritma kedalam algoritma First Fit Decreasing. Algoritma pertama yang ditambahkan adalah algoritma untuk mengatasi masalah elemen dengan ukuran relatif besar. Kedua algoritma ini juga ditambahkan untuk menghasilkan output yang lebih stabil dan optimal untuk jumlah data yang besar dan bervariasi (menekan pengaruh data nature terhadap algoritma heuristic). Ketika algoritma First Fit Decreasing dipergunakan pada data dengan elemen relatif besar yang jumlahnya sangat banyak, maka algoritma tersebut akan terus memprioritaskan elemen dengan jumlah besar tersebut. Sehingga elemen-elemen lainnya dengan ukuran lebih kecil akan dikerjakan belakangan. Yang terjadi packing tidak akan menjadi optimal sebab tempat yang seharusnya bisa disisipkan elemen yang lebih kecil

15 21 telah diisi oleh elemen yang besar, dan terjadilah waste yang sebenarnya masih bisa dioptimalkan. Misalkan, kita memiliki data seperti berikut : - Elemen berukuran 5 ada 2 - Elemen berukuran 3 ada 2 - Bin memiliki ukuran 11 Dengan algoritma First Fit Decreasing biasa hasil yang akan didapat adalah : - Bin 1 : 5, 5, sisa = 1 - Bin 2 : 3, 3, sisa = 5 Sedangkan untuk hasil yang optimal adalah : - Bin 1 : 5, 3, 3, sisa = 0 - Bin 2 : 5, sisa = 6 Karena itu penulis mengganggap perlu adanya suatu pembatas sehingga algoritma First Fit Decreasing tidak selalu mengambil potongan terbesar, potongan terbesar tetap diprioritaskan tetapi tidak selalu diambil, sehingga didapat hasil yang lebih optimal. Penulis menggunakan pembatas sebesar 0,38. Pembatas ini didapat dari baris Fibonacci. Berikut adalah baris Fibonacci : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711,. dst. Baris Fibonacci adalah baris dengan U n = U (n-1) + U (n-2). Yang menarik dari barisan Fibonacci ini adalah hasil pembagian Un dengan U (n-1) adalah konstan (setelah suku ke 40). Bilangan hasil pembagian ini disebut Phi di dalam matematika. Nilai Phi sendiri adalah 1,618.

16 22 Bilangan Phi (1,618..) ini adalah salah satu bilangan yang masih misterius dalam matematika, dan banyak diteliti karena banyaknya perbandingan Phi yang ditemui dalam kehidupan sehari-hari, seperti struktur tulang manusia, perbandingan tinggi tubuh, dan pada makhluk hidup lainnya. Salah satu metode untuk mencari nilai minimum fungsi juga menggunakan baris Fibonacci sebagai dasarnya, yaitu Golden Section Search.. Gambar 2.3 Golden Section Search. Sumber : Pada golden section search sebuah fungsi yang tidak diketahui gradiennya ingin dicari nilai minimumnya, maka dilakukan alpha beta pruning dengan range pencarian yang terus berkurang sebanyak 0,38. (1 / Phi = 0,38). Dengan 10 kali iterasi saja daerah pencarian nilai minimum sudah lebih kecil dari 1 persen dari nilai daerah keseluruhan. Penggunaan Golden Section (0,38) ini dalam algoritma First Fit Decreasing adalah dengan mempersempit pembatas yang ada sebesar 0,38 dari ukuran total bin

17 untuk setiap iterasinya. Sehingga untuk tiap iterasi nilai range pencarian yang dilakukan dapat dilihat dari tabel di bawah ini : 23 Tabel 2.2 Golden Section dalam First Fit Decreasing Iterasi ke : Batasan Pencarian 1 62 % 2 38,44 % 3 23,83 % 4 14,78 % 5 9,16 % 6 5,67 % 7 3,51 % Dari Tabel 2.2 bisa dilihat dengan 7 iterasi saja nilai Golden Section bisa dibilang sudah cukup kecil, sehingga Golden Section ideal untuk digunakan sebagai pembatas karena tidak memerlukan banyak iterasi. Yang dilakukan Golden Section dalam algoritma First Fit Decreasing adalah sebagai pembatas, sehingga jika ada elemen dengan ukuran lebih kecil dan paling mendekati nilai Golden Search maka elemen itu akan diambil terlebih dahulu walaupun ada elemen dengan ukuran yang lebih besar dari elemen tersebut. Sehingga untuk permasalahan contoh di atas bisa didapat hasil yang optimal (Bin 1 = 5, 3, 3 dan Bin 2 = 5) Algoritma DynaCut Algoritma DynaCut adalah algoritma yang digunakan penulis untuk mengatasi elemen dengan nilai kecil (di bawah rata-rata). Algoritma DynaCut adalah algoritma one dimensional bin packing yang membuat pattern/pola penempatan dengan nilai goal yield tertentu dengan melakukan pencarian menggunakan algoritma branch and bound.

18 24 Dalam penelitian ini penulis menggunakan algoritma DynaCut khusus untuk memanipulasi elemen bernilai kecil dengan jumlah yang besar. Yang dilakukan algoritma DynaCut dalam penelitian adalah memeriksa iterasi elemen tersebut, apakah bisa mencapai goal yield tertentu. Elemen-elemen dengan ukuran yang sama dikelompokkan dan ditempatkan dalam sebuah bin yang sama dan dilihat apakah waste yang dihasilkan bisa lebih kecil daripada waste yang diharapkan. Dengan demikian proses algoritma First Fit Decreasing dapat berjalan dengan lebih baik karena tidak ada data yang abundance (melimpah). Dan juga hasil yang didapat bisa lebih optimal. Dalam penelitian ini nilai goal yield yang dipakai adalah 0,00 sampai dengan 0,05. Hal ini dikarenakan sifat data sangat mempengaruhi hasil yang akan dicapai, sehingga nilai goal yield yang kecil tidak selalu menjamin mendapat hasil yang lebih optimal, karena itu variasi akibat data nature harus ditekan dengan membandingkan hasil yang didapat dengan menggunakan goal yield antara 0,00 sampai dengan 0, Pemodelan Piranti Lunak Pemodelan dalam suatu rekayasa piranti lunak merupakan suatu hal yang dilakukan ditahap awal. Pemodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa piranti lunak ini selanjutnya. Dalam mengembangkan program ini penulis menggunakan pemodelan waterfall. Tahapan-tahapan yang dilakukan dalam pemodelan waterfall adalah sebagai berikut :

19 25 Gambar 2.4 Perancangan Perangkat Lunak Model Waterfall. Sumber : Pressman, Roger S. Analisis dan penentuan kebutuhan Tugas, kendala dan tujuan sistem ditentukan melalui konsultasi dengan pengguna sistem, kemudian ditentukan cara yang dapat dipahami baik oleh pengguna maupun staf pengembang. Desain sistem dan perangkat lunak Proses desain sistem terbagi dalam kebutuhan perangkat keras dan perangkat lunak. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditranformasikan ke dalam satu atau lebih program yang dapat dieksekusi.

20 26 Implementasi dan pengujian unit Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan program atau unit-unit program pengujian, mencakup kegiatan verifikasi terhadap setiap unit sehingga memenuhi syarat spesifikasinya. Integrasi dan pengujian sistem Unit program secara individual diintegrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pengguna. Pengoperasian dan pemeliharaan Secara normal, walaupun tidak perlu, tahap ini merupakan fase siklus hidup yang terpanjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam tahap-tahap ini sebelumnya, meningkatkan implementasi unit-unit sistem dan mempertinggi pelayanan sistem sebagai kebutuhan baru yang ditemukan.

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

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

Lebih terperinci

BAB 2 LANDASAN TEORI. telah selesai apabila tujuan telah dicapai atau sudah tidak ada lagi (Psquet, Sebastian,

BAB 2 LANDASAN TEORI. telah selesai apabila tujuan telah dicapai atau sudah tidak ada lagi (Psquet, Sebastian, BAB 2 LANDASAN TEORI 2.1 Problem, Algoritma dan analisis algoritma 2.1.1 Definisi Problem Problem (permasalahan) adalah suatu tujuan yang dinyatakan dalam konteks yang jelas tetapi tidak dapat dengan serta

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika - Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2006/2007

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika - Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2006/2007 UNIVERSITAS BINA NUSANTARA Program Ganda Teknik Informatika - Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2006/2007 PERANCANGAN PROGRAM APLIKASI OPTIMASI PEMOTONGAN BAJA DENGAN METODE FIRST

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Pada bab 2 ini mengenai landasan teori. Yang mana di landasan teori ini menjelasakan mengenai pengoptimalan, optimisasi, algoritma, analisi algoritma, gambaran umum tentang pallet,

Lebih terperinci

BAB 2 LANDASAN TEORI. membuat sesuatu tujuan sulit untuk dicapai, hal ini berhubungan dengan

BAB 2 LANDASAN TEORI. membuat sesuatu tujuan sulit untuk dicapai, hal ini berhubungan dengan 9 BAB 2 LANDASAN TEORI 2.1 Problem, Algorithm dan Analisis Algoritma 2.1.1 Definisi Problem Problem (permasalahan) adalah sebuah kendala atau hambatan di mana membuat sesuatu tujuan sulit untuk dicapai,

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Konsep Dasar Algoritma Algoritma adalah kumpulan instruksi atau perintah yang dibuat secara jelas dan sistematis berdasarkan urutan yang logis (logika) untuk penyelsaian suatu

Lebih terperinci

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

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

Lebih terperinci

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

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

Lebih terperinci

BAB 2 LANDASAN TEORI. Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap

BAB 2 LANDASAN TEORI. Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap BAB 2 LANDASAN TEORI 2.1 Algoritma Optimal Mismatch Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap karakter dalam teks sehingga pencarian seperti ini disebut pencarian sekuensial

Lebih terperinci

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

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

Lebih terperinci

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

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

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Lebih terperinci

BAB 2 LANDASAN TEORI

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

Lebih terperinci

Logika dan Algoritma Yuni Dwi Astuti, ST 2

Logika dan Algoritma Yuni Dwi Astuti, ST 2 ALGORITMA Istilah algoritma pertama kali diperkenalkan oleh seorang ahli matematika yaitu Abu Ja far Muhammad Ibnu Musa Al Khawarizmi. Yang dimaksud dengan algoritma adalah : Urutan dari barisan instruksi

Lebih terperinci

Pengantar Teknik Informatika

Pengantar Teknik Informatika Pengantar Teknik Informatika Algoritma dan Kompleksitas Pertemuan Ke-3 Materi E-learning Tanggal : 1 Oleh : Supatman Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta Tahun 2012 Algoritma

Lebih terperinci

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA Ikhsan Fanani NIM : 13505123 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : ikhsan_fanani@yahoo.com

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Algoritma Istilah algoritma (algorithm) berasal dari kata algoris dan ritmis, yang pertama kali diungkapkan oleh Abu Ja far Mohammed Ibn Musa al Khowarizmi (825 M) dalam buku

Lebih terperinci

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

STRUKTUR DATA KULIAH KE : 3 ALGORITMA STRUKTUR DATA KULIAH KE : 3 ALGORITMA Ciri-ciri algoritma 1. Input 2. Output 3. Definite 4. Efective 5. Terminate : masukan : keluaran : jelas : efektif : berakhir 1. Input 2. Output terdapat nol masukan

Lebih terperinci

Teori Kompleksitas (Bagian 2)

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

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 5 BAB 2 LANDASAN TEORI 2.1. Pengertian Algoritma Algoritma adalah prosedur komputasi yang didefinisikan dengan baik yang mengambil beberapa nilai yaitu seperangkat nilai sebagai input dan output yang menghasilkan

Lebih terperinci

BAB 2 OPTIMISASI KOMBINATORIAL

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

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika - Matematika Skripsi Sarjana Program Ganda Semester Genap 2006/2007

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika - Matematika Skripsi Sarjana Program Ganda Semester Genap 2006/2007 UNIVERSITAS BINA NUSANTARA Program Ganda Teknik Informatika - Matematika Skripsi Sarjana Program Ganda Semester Genap 2006/2007 PERANCANGAN PROGRAM APLIKASI OPTIMALISASI TATA LETAK PENYIMPANAN BARANG MENGGUNAKAN

Lebih terperinci

Algoritme Pencocokan String (String Matching) Menurut Black (2016), string adalah susunan dari karakter-karakter (angka, alfabet, atau karakte

Algoritme Pencocokan String (String Matching) Menurut Black (2016), string adalah susunan dari karakter-karakter (angka, alfabet, atau karakte II KAJIAN PUSTAKA 2! KAJIAN PUSTAKA 2.1! Ejaan Bahasa Indonesia Ejaan menurut Kamus Besar Bahasa Indonesia (2016) adalah kaidah cara menggambarkan bunyi-bunyi (kata, kalimat, dan sebagainya) dalam tulisan

Lebih terperinci

Review Teori P dan NP

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

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Pencarian sebuah dokumen akan lebih cepat apabila informasi mengenai dokumen yang dicari tersebut telah diurutkan terlebih dahulu daripada saat kita akan mencari

Lebih terperinci

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort Setia Negara B. Tjaru (13508054) Program Studi Teknik Informatika ITB Bandung e-mail: if18054@students.if.itb.ac.id ABSTRAK Makalah ini

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

BAB 2 LANDASAN TEORI

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

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Pendahuluan Mengapa kita memerlukan algoritma yang mangkus? Waktu komputasi (dalam detik) 10 5 10 4 10 3 10 2 1 0 1 10-1 1 hari 1 jam 1 detik 1 menit 5 1 0 1 5 2 0 10-4 x 2 n 10-6

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

BAB 2 LANDASAN TEORI

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

Lebih terperinci

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS Algoritma Definisi 1. Algoritma adalah himpunan hingga perintah yang terinci dalam melakukan perhitungan atau pemecahan masalah. Contoh 1. Program komputer adalah suatu

Lebih terperinci

Algoritma Brute Force (lanjutan)

Algoritma Brute Force (lanjutan) Algoritma Brute Force (lanjutan) Contoh-contoh lain 1. Pencocokan String (String Matching) Persoalan: Diberikan a. teks (text), yaitu (long) string yang panjangnya n karakter b. pattern, yaitu string dengan

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah

Lebih terperinci

Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2

Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2 Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik 1. Jika kompleksitas waktu T(n) dari algoritma diketahui, Contoh: (i) pada algoritma cari_maksimum T(n) = n 1 = O(n) (ii) pada algoritma pencarian_beruntun

Lebih terperinci

PENDAHULUAN TUJUAN KEGUNAAN FLOWCHART KONSEP PEMROGRAMAN

PENDAHULUAN TUJUAN KEGUNAAN FLOWCHART KONSEP PEMROGRAMAN PENDAHULUAN TUJUAN Tujuan dari belajar Algoritma dan Pemrograman 1A atau Flowchart adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila menyelesaikan suatu masalah, karena suatu permasalahan

Lebih terperinci

Pemrograman Linier (3)

Pemrograman Linier (3) Pemrograman Linier () Metode Big-M Ahmad Sabri Universitas Gunadarma, Indonesia Pada model PL di mana semua kendala memiliki relasi, variabel basis pada solusi awal (tabel simpleks awal) adalah Z dan semua

Lebih terperinci

BAB 2 LANDASAN TEORI

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

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya secret (rahasia), sedangkan gráphein artinya writing (tulisan), jadi kriptografi berarti secret

Lebih terperinci

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

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

Lebih terperinci

BAB 2 KAJIAN LITERATUR TENTANG BIN PACKING

BAB 2 KAJIAN LITERATUR TENTANG BIN PACKING BAB 2 KAJIAN LITERATUR TENTANG BIN PACKING Pada bab ini akan dibahas kajian literatur tentang bin packing, karena algoritma yang akan digunakan untuk persoalan zona terlarang nantinya merupakan adaptasi

Lebih terperinci

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data BAB I PENDAHULUAN 1.1. Latar Belakang Dalam dunia pendidikan, teknologi informasi sangat banyak membantu seperti dalam hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun

Lebih terperinci

PERANCANGAN PROGRAM APLIKASI OPTIMASI PELETAKAN PALLET PADA KOTAK KONTAINER DENGAN METODE FIRST FIT DECREASING

PERANCANGAN PROGRAM APLIKASI OPTIMASI PELETAKAN PALLET PADA KOTAK KONTAINER DENGAN METODE FIRST FIT DECREASING PERANCANGAN PROGRAM APLIKASI OPTIMASI PELETAKAN PALLET PADA KOTAK KONTAINER DENGAN METODE FIRST FIT DECREASING STEVEN WINATA Program Ganda Teknik Informatika dan Matematika Bina Nusantara University Jalan

Lebih terperinci

5 F U N G S I. 1 Matematika Ekonomi

5 F U N G S I. 1 Matematika Ekonomi 5 F U N G S I Pemahaman tentang konsep fungsi sangat penting dalam mempelajari ilmu ekonomi, mengingat kajian ekonomi banyak bekerja dengan fungsi. Fungsi dalam matematika menyatakan suatu hubungan formal

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI Perancangan program aplikasi yang akan dibuat menggabungkan algoritma Brute Force dan algoritma Greedy yang digunakan secara bergantian pada tahap-tahap tertentu. Karena itu, pada

Lebih terperinci

BAB II LANDASAN TEORI. besar disebut material (bin, bins) dipetakan dan kemudian dipotong-potong

BAB II LANDASAN TEORI. besar disebut material (bin, bins) dipetakan dan kemudian dipotong-potong BAB II LANDASAN TEORI 2.1. Deskripsi Cutting dan Packing Skripsi ini membahas masalah stock cutting, yaitu satu atau banyak potongan besar disebut material (bin, bins) dipetakan dan kemudian dipotong-potong

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

Algoritma Brute Force (lanjutan)

Algoritma Brute Force (lanjutan) Algoritma Brute Force (lanjutan) Contoh lain Mencari Pasangan Titik yang Jaraknya Terdekat Persoalan: Diberikan n buah titik (2-D atau 3- D), tentukan dua buah titik yang terdekat satu sama lain. y p 5

Lebih terperinci

BAB I PENDAHULUAN. Pembangunan suatu piranti lunak menjadi penting karena semakin banyak

BAB I PENDAHULUAN. Pembangunan suatu piranti lunak menjadi penting karena semakin banyak BAB I PENDAHULUAN 1.1. Latar Belakang Pembangunan suatu piranti lunak menjadi penting karena semakin banyak individual dan komunitas yang bergantung pada sistem piranti lunak tingkat tinggi (Sommerville,

Lebih terperinci

Algoritma dan Struktur Data. Performansi Algoritma

Algoritma dan Struktur Data. Performansi Algoritma Algoritma dan Struktur Data Performansi Algoritma Teknik Informatika Universitas Muhammadiyah Malang 2016 Mana yang lebih baik? pilihan 1 : Algoritma biasa dengan komputer yang cepat. pilihan 2 : Menggunakan

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

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Apakah algoritma itu? Asal istilah: Al Khwarizmi (± 800 M), matematikawan dan astronomer Persia. Pengertian umum: "suatu urutan langkah-langkah

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah dalam menentukan lintasan terpendek di antara titik tertentu dalam suatu graph telah banyak menarik perhatian. Persoalan dirumuskan sebagai kasus khusus dan

Lebih terperinci

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

BAB 2 LANDASAN TEORI. Menurut Kamus Besar Bahasa Indonesia Kontemporer, pembelian didefinisikan

BAB 2 LANDASAN TEORI. Menurut Kamus Besar Bahasa Indonesia Kontemporer, pembelian didefinisikan BAB 2 LANDASAN TEORI 2.1 Definisi 2.1.1 Pembelian Menurut Kamus Besar Bahasa Indonesia Kontemporer, pembelian didefinisikan sebagai proses, pembuatan, atau cara membeli. Sedangkan Philip Kotler (2000,

Lebih terperinci

BAB 1 PENDAHULUAN. barang, jaringan jalan raya, atau dalam masalah komputasi yaitu jaringan penjadwalan.

BAB 1 PENDAHULUAN. barang, jaringan jalan raya, atau dalam masalah komputasi yaitu jaringan penjadwalan. BAB 1 PENDAHULUAN 1.1 Latar Belakang Kehidupan manusia berkaitan erat dengan jaringan. Jaringan pendistribusian barang, jaringan jalan raya, atau dalam masalah komputasi yaitu jaringan penjadwalan. Dalam

Lebih terperinci

BAB 2 LANDASAN TEORI

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

Lebih terperinci

BAB I PENDAHULUAN I.1 Latar Belakang Masalah

BAB I PENDAHULUAN I.1 Latar Belakang Masalah BAB I PENDAHULUAN I.1 Latar Belakang Masalah Game adalah sebuah permainan video berbasis komputer yang digunakan sebagai alat hiburan sehari-hari yang dapat dimainkan secara individu atau dalam sebuah

Lebih terperinci

Bab 4 Metodologi Pengembagan Sistem(Perangkat Lunak)

Bab 4 Metodologi Pengembagan Sistem(Perangkat Lunak) Bab 4 Metodologi Pengembagan Sistem(Perangkat Lunak) 4.1 Pendahuluan Proses pengembangan atau pengembangan perangkat lunak secara umum merupakan serangkaian kegiatan yang meliputi kegiatan dalam siklus

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Problem, algoritma, optimasi, simulasi 2.1.1 Definisi problem Problem (permasalahan) adalah suatu tujuan dinyatakan dalam konteks yang jelas tetapi tidak dapat dengan serta merta

Lebih terperinci

Relasi Rekursi. Definisi Relasi Rekursi

Relasi Rekursi. Definisi Relasi Rekursi Relasi Rekursi Definisi Relasi Rekursi Relasi rekursi adalah sebuah formula rekursif dimana setiap bagian dari suatu barisan dapat ditentukan menggunakan satu atau lebih bagian sebelumnya. Jika ak adalah

Lebih terperinci

APLIKASI TRAVELLING SALESMAN PROBLEM DENGAN METODE ARTIFICIAL BEE COLONY

APLIKASI TRAVELLING SALESMAN PROBLEM DENGAN METODE ARTIFICIAL BEE COLONY APLIKASI TRAVELLING SALESMAN PROBLEM DENGAN METODE ARTIFICIAL BEE COLONY Andri 1, Suyandi 2, WinWin 3 STMIK Mikroskil Jl. Thamrin No. 122, 124, 140 Medan 20212 andri@mikroskil.ac.id 1, suyandiz@gmail.com

Lebih terperinci

BAB II LANDASAN TEORI. Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk

BAB II LANDASAN TEORI. Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk BAB II LANDASAN TEORI A. Pemrograman Linear Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk memecahkan persoalan optimasi (maksimum atau minimum) dengan menggunakan persamaan dan

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Dalam proses belajar setiap individu memiliki cara sendiri. Kemajuan teknologi saat ini banyak mendukung berbagai aspek kebutuhan salah satunya dalam memenuhi kebutuhan

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Bahan Kuliah IF2120 Matematika Disktit Rinaldi M/IF2120 Matdis 1 Rinaldi M/IF2120 Matdis 2 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah

Lebih terperinci

Bab 2 LANDASAN TEORI

Bab 2 LANDASAN TEORI Bab 2 LANDASAN TEORI 2.1 Program Linear Menurut Sitorus, Parlin (1997), Program Linier merupakan suatu teknik penyelesaian optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu suatu

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT Disusun untuk memenuhi tugas UTS mata kuliah : Analisis Algoritma Oleh : Eka Risky Firmansyah 1110091000043 Program Studi Teknik Informatika

Lebih terperinci

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Dr. Putu Harry Gunawan (PHN Review 1. Tentukan kompleksitas waktu Big-Oh untuk relasi

Lebih terperinci

Nama : Rendi Setiawan Nim :

Nama : Rendi Setiawan Nim : Nama : Rendi Setiawan Nim : 41813120188 Pemodelan Data Pemodelan Data dalam rekayasa perangkat lunak adalah proses menciptakan sebuah model data dengan menerapkan model deskripsi formal data menggunakan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Algoritma Istilah algoritma (algorithm) berasal dari kata algoris dan ritmis, yang pertama kali diungkapkan oleh Abu Ja far Mohammed Ibn Musa al Khowarizmi (825 M) dalam buku

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Algoritma Algoritma ditemukan oleh seorang ahli matematika dari Uzbekistan, yang bernama Abu Ja far Muhammad Ibnu Al-Kwarizmi (770-840). Dalam bukunya yang berjudul Al-Jabr

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1 BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Penjadwalan mata kuliah merupakan permasalahan kompleks tiap semester yang harus dihadapi oleh perguruan tinggi. Setiap jadwal perkuliahan dikeluarkan, seringkali

Lebih terperinci

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT Harold Situmorang Program Studi Sistem Informasi Universitas Sari Mutiara Indonesia Haroldsitumorang@gmail.com ABSTRAK Struktur data dari algoritma Heap

Lebih terperinci

Design and Analysis Algorithm

Design and Analysis Algorithm Design and Analysis Algorithm Pertemuan 02 Drs. Achmad Ridok M.Kom Fitra A. Bachtiar, S.T., M. Eng Imam Cholissodin, S.Si., M.Kom Aryo Pinandito, MT Contents 31 2 Analisis Algoritma Analisis Efisiensi

Lebih terperinci

Design and Analysis of Algorithm

Design and Analysis of Algorithm Design and Analysis of Algorithm Week 5: Kompleksitas waktu algoritma rekursif part 2 Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry

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

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Waktu komputasi (dalam detik) Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma

Lebih terperinci

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Contoh-contoh lain 1. Pencocokan String (String Matching) Persoalan: Diberikan a. teks (text), yaitu (long)

Lebih terperinci

BAB I PENDAHULUAN I-1

BAB I PENDAHULUAN I-1 BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Kabupaten Purworejo adalah daerah agraris karena sebagian besar penggunaan lahannya adalah pertanian. Dalam struktur perekonomian daerah, potensi daya dukung

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Definisi Algoritma Algoritma berasal dari kata Algoris dan Ritmis yang pertama kali diungkapkan oleh Abu Ja far Mohammad Ibn Musa Al Khowarizmi dalam buku Al-jabr w almulqabala

Lebih terperinci

Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search

Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search Dr. Putu Harry Gunawan (PHN) Daftar Isi 1 Pendahuluan..................................... 1 2 Traveling

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam kehidupan sehari hari, selalu dilakukan perjalanan dari satu titik atau lokasi ke lokasi yang lain dengan mempertimbangkan efisiensi waktu dan biaya sehingga

Lebih terperinci

BAB I PENDAHULUAN. dengan sistem dead reckoning yang berjalan atas instruksi manusia, telah

BAB I PENDAHULUAN. dengan sistem dead reckoning yang berjalan atas instruksi manusia, telah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Pengembangan aplikasi teknologi di bidang robotika telah menciptakan berbagai inovasi yang berguna bagi kehidupan manusia. Selain aplikasi robotika dengan sistem

Lebih terperinci

BAB II LANDASAN TEORI

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

Lebih terperinci

BAB 3 PERANCANGAN PROGRAM. Prima Sempurna (PT. AMPS). PT. AMPS sendiri adalah perusahaan swasta nasional

BAB 3 PERANCANGAN PROGRAM. Prima Sempurna (PT. AMPS). PT. AMPS sendiri adalah perusahaan swasta nasional 27 BAB 3 PERANCANGAN PROGRAM 3.1 Analisis Sistem yang Sedang Berjalan 3.1.1 Sejarah Umum Perusahaan PT. Bintang Mas Cemerlang adalah salah satu unit bisnis dari PT. Agung Mas Prima Sempurna (PT. AMPS).

Lebih terperinci

II LANDASAN TEORI. suatu fungsi dalam variabel-variabel. adalah suatu fungsi linear jika dan hanya jika untuk himpunan konstanta,.

II LANDASAN TEORI. suatu fungsi dalam variabel-variabel. adalah suatu fungsi linear jika dan hanya jika untuk himpunan konstanta,. II LANDASAN TEORI Pada pembuatan model penjadwalan pertandingan sepak bola babak kualifikasi Piala Dunia FIFA 2014 Zona Amerika Selatan, diperlukan pemahaman beberapa teori yang digunakan di dalam penyelesaiannya,

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Quadratic Assignment Problem (QAP) adalah sebuah permasalahan kombinatorial dalam menempatkan fasilitas pada lokasi tertentu, sedemikian hingga meminimumkan fungsi

Lebih terperinci

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development BAB II LANDASAN TEORI Dalam penyusunan tugas akhir ini dibutuhkan beberapa landasan teori sebagai acuan dalam penyusunannya. Landasan teori yang dibutuhkan antara lain teori tentang Rancang Bangun, teori

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

BAB III HASIL DAN PEMBAHASAN

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

Lebih terperinci

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

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack Muhamad Pramana Baharsyah, Sulistyo Unggul Wicaksono 2, Teguh Pamuji 3, Rinaldi Munir 4 Abstrak Laboratorium

Lebih terperinci

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 05

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 05 Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 05 Contents 31 2 3 Brute Force Algorithm 2 Exhaustive Search Teknik Heuristik 2 Algoritma Brute Force 2 3 Pencocokan String (String

Lebih terperinci

KOMPUTASI PEMROGRAMAN

KOMPUTASI PEMROGRAMAN KOMPUTASI PEMROGRAMAN Danang Wahyu Utomo danang.wu@dsn.dinus.ac.id +6285 740 955 623 RENCANA KEGIATAN PERKULIAHAN SEMESTER W Pokok Bahasan 1 Pengenalan Teknologi Informasi 2 Konsep Sistem Komputer & Pengenalan

Lebih terperinci

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Permasalahan pemotongan kayu sering dialami oleh industri yang memproduksi batangan-batangan kayu menjadi persediaan kayu dalam potonganpotongan yang lebih

Lebih terperinci

Pendahuluan. Ukuran input (input s size)

Pendahuluan. Ukuran input (input s size) Kompleksitas Algoritma Sesi 14 Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang.

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci