ABSTRAK
Algoritma greedy merupakan salah satu dari sekian banyak algoritma yang sering di pakai dalam implementasi sebuah
system atau program yang menyangkut mengenai pencarian optimasi. Pendekatan yang digunakan di dalam
algoritma greedy adalah membuat pilihan yang tampaknya memberikan perolehan terbaik yaitu dengan membuat
pilihan optimum lokal (local optimum) pada setiap langkah dengan harapan bahwa sisanya mengarah ke solusi
optimum global (global optimm).
1. PENDAHULUAN
I.
Latar belakang
Metode greedy adalah metode yang digunakan
untuk memecahkan persoalan optimasi, ada 2 macam
persoalan optimasi, yaitu maksimasi dan minimasi,
artinya dengan metode greedy kita bemaksud mencari
solusi terbaik, yaitu solusi yang benilai minimum atau
maksimum dari sekumpulan alternatif solusi yang ada.
Arti kata greedy sendiri adalah RAKUS, namun
maksud dari metode grredy adalah kita melihat solusi
optimal lokal, atau solusi optimal yang tampak didepan
mata, dengan harapan mendapatkan solusi optimal
secara global atau secara keseluruhan
II.
Rumusan Masalah
Dengan memperhatikan latar belakang yang terjadi,
maka saya aka membahas tentang masalah berikut ini:
Mencari sebuah solusi (optimasi) algoritma
greedy dengan persoalan Maksimasi
(Maxizimation)
Mencari sebuah solusi (optimasi) algoritma
greedy dengan persoalan Minimasi
(Minimization)
III.
2.
IV.
2. METODE PENILITITAN
Dalam metode penilitian saya melihat solusi optimal
lokal, atau solusi optimal yang tampak didepan mata,
dengan harapan mendapatkan solusi optimal secara
global atau secara keseluruhan
1.
2.
3.
Tujuan
1.
Landasan Teori
Mengimplementasikan algoritma
greedy dengan persoalan Maksimasi
4.
#include<stdio.h>
#include<conio.h>
#define size 99
void sort(int[], int);
main(){
printf("\t Nama : Roky Agung
Darmawan");
printf("\n");
printf("\t NPM
:
43A87006150234");
printf("\n");
printf("\t Kelas : TI 3B MALAM");
int x[size],i,uang,n,hasil[size];
printf("\n");
printf("\n");
printf("\n Masukan Banyak Koin :
");
scanf("%d", &n);
printf("\n \n Masukan Jenis
Koin : \n");
for (i=1;i<=n;i++)
{
scanf("\n %d",
&x[i]);
}
sort(x,n);
printf("\n Jenis Koin Yang
Tersedia : \n");
for (i=1;i<=n;i++)
{
printf("%d",x[i]);
printf("\n");
}
printf("\n");
#include<conio.h>
=>deklarasi input-output seperti perintah
getch,getche .
#define size 99
=>mendefinisikan bahwa input hanya berupa
interger
2. Ada Perintah
void sort(int[], int);
=> dekalrasi fungsi sort yang bernilai void, dan
berparameter array interger.
3. Data Diri Saya
printf("\t Nama : Roky Agung Darmawan");
printf("\n");
printf("\t NPM : 43A87006150234");
printf("\n");
printf("\t Kelas : TI 3B MALAM");
int x[size],i,uang,n,hasil[size];
=> deklarasi variable x berparameter size dengan
tipe data I integer.
printf("\n Banyak koin : ");
=> mencetak string Banyak koin :
scanf("%d", &n);
=>untuk mengambil input dari keyboard, dengan
tipe integer.
sort(x,n);
=> mengurtkan dari variable x ke n
printf("\n Jenis Koin Yang tersedia : \n");
for (i=1;i<=n;i++)
=> terjadi perulangan lagi dengan nilai awal i=1
dan I lebih kecil sama dengan n, lalu i increment
printf("%d",x[i]);
= >mencetak isi dari variable x index ke i
printf("\n Masukan Nilai Yang Ingin Dipecah : ");
=> disini menanyakan untuk nilai yang ingin di
pecah dengan uang koin.
scanf("%d", &uang);
= > membaca inputan dan di masukkan ke
variable uang dengan tipe integer.
for (i=1;i<=n;i++)
=> perulangn seperti diaatas
hasil[i]=uang/x[i];
=> memberi nilai variable hasil dengan rumus
uang di bagi x indeks ke i
uang=uang%x[i];
=> lalu memberikan nilai uang dari variable uang
modulus x indeks ke i
Pada bagian ini akan di hasilkan berapa koin
yang di butuhkan untuk memecah uang yang di
input.
6.
for (i=1;i<=n;i++)
=> perulangan penambahan nilai i dengan
1 mulai dari 1 hingga kurang dari sama dengan
nilai n.
printf("Keping %d", x[i]);
= > mencetak nilai keeping dengan nilai x indeks
ke i
printf("-an sebanyak : %d", hasil[i]);
=>mencetak berapa koin yang akan di pakai
getch();
=>menampilkan output.
return 0; => mengembalikan nilai menjadi 0.
8. setelah di
IV. Flowchart
9. Disini saya mencoba memasukkan 4 koin, koin
yang pertama 100, 500, 1000 dan 2000. Proses
pertama adalah sorting karena ini algoritma
greedy maka koin dengan angka terbesar terletak
pada posisi awal sehingga akan tersusun seperti di
atas yaitu :
2000
1000
500
100
Setelah itu kita masukkan nilai uang yang akan di
pecah , disini saya beri nilai 11100. Maka cara
paling efektif untuk mendapatkan nilia 11100
DAFTAR PUSTAKA
Algoritma Greedy
https://www.google.co.id/search?
q=algoritma+greedy&oq=algoritma+greedy&sour
ceid=chrome&ie=UTF-8
https://bertzzie.com/knowledge/analisisalgoritma/Greedy.html
https://docs.google.com/presentation/d/11wGEFT
8DiW7BmaLT0luHH46ctPL4oNs2XWgcc_OQHQ/edit#slide=id.g11
94021294_2_232
2. KESIMPULAN