BAB 2 LANDASAN TEORI. 2.1 Pengoptimalan, Optimisasi, Algoritma, dan Analisis Algoritma
|
|
- Lanny Tan
- 7 tahun lalu
- Tontonan:
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 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 terperinciBAB 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 terperinciUNIVERSITAS 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciIF5110 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 terperinciPemodelan 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 terperinciBAB 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 terperinciBAB 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 terperinciPendahuluan. 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 terperinciPenyelesaian 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 terperinciKompleksitas 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 terperinciBAB 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 terperinciBAB 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 terperinciLogika 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 terperinciPengantar 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 terperinciPENGGUNAAN 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 terperinciBAB 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 terperinciSTRUKTUR 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 terperinciTeori 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 terperinciBAB 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 terperinciBAB 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 terperinciUNIVERSITAS 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 terperinciAlgoritme 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 terperinciReview 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 terperinciBAB 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 terperinciKompleksitas 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 terperinciBAB 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 terperinciBAB 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 terperinciKompleksitas 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 terperinciBAB 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 terperinciBAB 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 terperinciCHAPTER 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 terperinciAlgoritma 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 terperinciKompleksitas 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 terperinciAturan 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 terperinciPENDAHULUAN 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 terperinciPemrograman 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 terperinciBAB 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 terperinciBAB 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 terperinciPenyelesaian 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 terperinciBAB 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 terperinciBAB 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 terperinciPERANCANGAN 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 terperinci5 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciAlgoritma 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 terperinciBAB 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 terperinciAlgoritma 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 terperinciPenyelesaian 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 terperinciAnalisa 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 terperinciBAB 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 terperinciSTRATEGI 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciBab 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 terperinciBAB 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 terperinciRelasi 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 terperinciAPLIKASI 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 terperinciBAB 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 terperinciBAB 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 terperinciUNIVERSITAS 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 terperinciKompleksitas 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 terperinciBab 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 terperinciANALISIS 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 terperinciDesign 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 terperinciNama : 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciJurnal 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 terperinciDesign 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 terperinciDesign 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 terperinciANALISIS 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 terperinciSebuah 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 terperinciAlgoritma 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 terperinciBAB 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 terperinciBAB 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 terperinciDesign 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciBAB 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 terperinciII 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 terperinciBAB 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 terperinciBAB 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 terperinciAplikasi 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 terperinciBAB 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 terperinciLangkah 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 terperinciEksplorasi 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 terperinciDesign 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 terperinciKOMPUTASI 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 terperinciUKDW 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 terperinciPendahuluan. 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 terperinciUNIVERSITAS 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