Properti Objek Greedy by
i w
i
p
i
p
i
w
i
Weight Profit
Density Solusi
Optimal 1
3 30
10 1
1 1
1 2
2 25
12,5 1
1 1
1 3
5 20
4 Total Bobot
5 5
5 5
Total Keuntungan 55
55 55
55
Tabel 2.1 Contoh Solusi menggunakan Algoritma Greedy
Dari tabel diatas, algoritma greedy dengan ketiga strategi yang ada menghasilkan solusi yang optimal yaitu X = {1,1,0}. Artinya objek ke-1 dan
ke-2 dimasukkan ke dalam knapsack, sedangkan objek ke-3 tidak dimasukkan.
2.4 Bubble Sort Exchange Sort
Metode pengurutan ini merupakan metode yang paling umum dikenal dalam dunia pemrograman. Kelebihan metode ini ada pada kemudahan dalam
membuat programnya. Walaupun semua metode yang digunakan akhirnya harus mempertimbangkan tingkat efisiensinya.
Ide dasar metode bubble sort adalah melewatkan data dalam larik beberapa kali. Setiap melewati larik, dilakukan perbandingan setiap elemen
sesudahnya x[i] dengan x[i+1] dan dilakukan penukaran antara kedua elemen tersebut bila tidak terurut. Perhatikan contoh berikut :
25 57
48 37
12 92
86 33
Hasil iterasi pembadingan pertama akan menghasilkan : x[0]
dengan x[1]
25 dengan 57 Tidak berubah
x[1] dengan
x[2] 57 dengan 48
Ditukar x[2]
dengan x[3]
57 dengan 37 Ditukar
x[3] dengan
x[4] 57 dengan 12
Ditukar x[4]
dengan x[5]
57 dengan 92 Tidak berubah
x[5] dengan
x[6] 92 dengan 86
Ditukar x[6]
dengan x[7]
92 dengan 33 Ditukar
Tabel 2.2 Iterasi Pertama Bubble Sort
Hasil perbandingan pertama, komponen terbesar 92 sudah pada posisi yang benar. Secara umum, x[n-iterasi] akan ada pada posisi yang benar setelah
iterasi ke iterasi. Metode ini disebut bubble sort karena setiap elemen lambat seperti gelembung untuk sampai ke posisi yang benar.
Setelah pembandingan kedua, larik yang terbentuk : 25
37 12
48 57
33 86
92 Perhatikan angka 86 menempati posisi kedua tertinggi. Setiap iterasi
menempatkan setiap elemen larik ke tempat yang benar. Untuk mengurutkan n elemen larik, iterasi yang dibutuhkan tidak lebih dari n-1 iterasi.
Iterasi lengkap untuk pengurutan bubble sort : 25
57 48
37 12
92 86
33 Iterasi 1
25 48
37 12
57 86
22 92
Iterasi 2 25
37 12
48 57
33 86
92 Iterasi 3
25 12
37 48
33 57
86 92
Iterasi 4 12
25 37
33 48
57 86
92 Iterasi 5
12 25
33 37
48 57
86 92
Iterasi 6 12
25 33
37 48
57 86
92 Iterasi 7
12 25
33 37
48 57
86 92
Tabel 2.3 Iterasi Lengkap Bubble Sort
Implementasi algoritma bubble sort dalam suatu method :
2.5 Bahasa Pemrograman JAVA
void BubbleSortint[] data{ int temp;
forint i=1; idata.length; i++{ forint j=0; jdata.length-1; j++{
ifdata[j]data[j+1]{
temp=data[j]; data[j]=data[j+1];
data[j+1]=temp; }
} }
}
Java adalah bahasa pemrograman serbaguna yang dapat digunakan untuk membuat program sebagaimana Anda membuatnya dengan bahasa Pascal atau
C++. Java dikembangkan oleh Sun Microsystem pada Agustus 1991, dengan
nama semula Oak. Konon Oak adalah pohon semacam jati yang terlihat dari jendela tempat pembuatannya, James Gosling, bekerja. Ada yang mengatakan
bahwa Oak adalah singkatan dari “Object Application Kernel”, tetapi ada yang menyatakan hal itu muncul setelah nama Oak diberikan. Pada Januari 1995,
karena nama Oak dianggap kurang komersial, maka diganti dengan Java. Java merupakan hasil perpaduan sifat dari sejumlah bahasa pemrograman,
yaitu C, C++, Object-C, SmallTalk, dan Common LISP. Selain itu Java juga dilengkapi dengan unsur keamanan. Yang tak kalah penting adalah bahwa
Java menambahkan paradigma pemrograman yang sederhana. Java memiliki beberapa keunggulan, diantaranya Hermawan, 2004 :
1. Java berorientasi pada objek Dalam memecahkan masalah, Java membagi program menjadi objek-
objek, kemudian memodelkan sifat dan tingkah laku masing-masing. Selanjutnya, Java menentukan dan mengatur interaksi antara objek yang
satu dengan yang lain. 2. Java bersifat terdistribusi
Pada dekade awal perkembangan PC Personal Computer, komputer hanya bersifat sebagai workstation tunggal, tidak terhubung satu sama
lain. Saat ini, sistem komputerisasi cenderung terdistribusi, mulai dari workstation client, e-mail server, database server, web server, proxy
server, dan sebagainya. 3. Java bersifat multiplatform
Java dapat diterjemahkan oleh Java Interpreter pada berbagai sistem operasi. Ketidaktergantungan terhadap platform sering dinyatakan dengan
istilah portabilitas. Tingkat portabilitas Java tidak hanya sebatas pada program sumber source code, melainkan juga pada tingkat kode biner
yang disebut bytecode yang bisa dijalankan pada berbagai sistem operasi karena kode ini berbeda dengan kode mesin.
BAB III ANALISA DAN PERANCANGAN SISTEM