Langsung ke konten utama

Contoh Makalah Algoritma Greedy


Greedy Algoritma

#Pendahuluan
Ternyata matematika sangat berguna bagi kehiduapan manusia sperti pembangunan gedung, pembuatan jalan tol, bahkan untuk membuat sebuah aplikasi dll. algoritma greedy adalah salah satu dari sekian banyaknya rumus matematika.kali ini saya akan memberi tahu cara membuat aplikasi untuk menghitung algoritma greedy menggunakan java.

#Dasar Teori
            Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi. Greedy sendiri diambil dari bahasa inggris yang artinya rakus, tamak atau serakah .Prinsip algoritma greedy adalah: “take what you can get now!”. Algoritma greedy membentuk solusi langkah per langkah (step by step). Terdapat banyak pilihan yang perlu dieksplorasi pada setiap langkah solusi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya.

#Uji Coba
1.   Masukkan kode berikut :
import java.io.DataInputStream;
class AlgoritmaGreedy
{
 public int i,j,k;

 // konstruktor
 AlgoritmaGreedy(){
 }

 // method untuk proses algoritma greedy
 void Greedy(int koin[], int hasil[],int jum[], int uang, int i)
 {
  int s [] = new int[uang];

  while(jum[i] < uang)
  {
   k=(int)(Math.random()*koin.length);
   s[hasil[i]] = koin[k];

   if((jum[i] + s[hasil[i]]) <= uang)
    System.out.print(s[hasil[i]]+" ");

   jum[i]+=s[hasil[i]];
   hasil[i]+=1;
  }
  System.out.print(" ");

  if (jum[i] == uang)
   System.out.println(" = "+hasil[i]+" koin");
   else
    System.out.println(" = Tidak ada solusi");
 }

 // method sorting
 void sorting(int data[], int n)
 {
  for(i=0;i<n-1;i++){
      for(j=0; j<n-1;j++)
       if(data[j]<data[j+1])
       {
        k=data[j];
        data[j]=data[j+1];
        data[j+1]= k;
       }
     }
 }

 // method untuk mencari solusi max n min
 void solusiGlobal(int data[],int jum[], int uang)
    {
     int bin[] = new int[data.length];
     j=0;
     for (i=0;i<data.length;i++)
     {
      if(jum[i]==uang){
       bin[j]=data[i];
       j+=1;
      }
     }

     sorting(bin,bin.length);

     k=0;
     for(i=0;i<bin.length;i++)
      if(bin[i] != 0)
       k+=1;

     System.out.println("nSolusi Minimum : "+bin[k-1]);
     System.out.println("Solusi Maximum : "+bin[0]);
 }
}

class main
{
 public static void main (String[] args) throws Exception
 {
  DataInputStream entri = new DataInputStream(System.in);
  System.out.print("Masukan jumlah uang yg di tukar: ");
  int uang = Integer.parseInt(entri.readLine());
  System.out.print("Masukkan banyaknya koin: ");
  int n = Integer.parseInt(entri.readLine());
  int koin[] = new int[n];

  for(int i = 0;i<n;i++)
  {
   System.out.print("Koin ke-"+(i+1)+" : ");
   koin[i] = Integer.parseInt(entri.readLine());
  }

  System.out.print("Masukkan batas iterasi: ");
  int batas = Integer.parseInt(entri.readLine());
  int hasil[] = new int [batas];
  int jum[] = new int [batas];


  // instansiasi objek greedy
  AlgoritmaGreedy g = new AlgoritmaGreedy();

  for(int i =0;i<batas;i++)
  {
   System.out.print("nSolusi ke-"+(i+1)+" = (");
   g.Greedy(koin,hasil,jum,uang,i);
  }
  g.solusiGlobal(hasil,jum,uang);
 }
}

2.   Maka akan keluar hasil sperti ini



#Penutup

Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini.

Komentar

Postingan populer dari blog ini

CONTOH DIAGRAM ERD PERPUSTAKAAN

Gambar ERD dalam peminjaman buku di perpustakaan: ——————————————————————————————————————————————————————– Contoh Kasus 2: Seperti deskripsi soal kasus nomor 1, namun ada beberapa tambahan penjelasan seperti berikut: Seorang mahasiswa boleh meminjam beberapa buku. Satu buku boleh dipinjam beberapa mahasiswa. Semua mahasiswa sangat pelu buku sehingga tidak ada yang tidak pernah meminjam ke perpustakaan. Setiap peminjam akan dicatat tanggal peminjamannya. Semua mahasiswa disiplin mengembalikan buku tepat satu minggu setelah peminjaman. Gambarkan ERDnya!! MODEL ENTITY – RELATIONSHIP Model Entity Relationship : Suatu penyajian data dengan menggunakan Entity dan Relationship Entity : Objek secara fisik : Buku, Perpustakaan, Mahasiswa Objek secara konsep : Meminjam Relationship :  Atribut : Atribut Multivalue Derajat dari Relationship : Trenary degree (Derajat Tiga) Cardinality Ratio Constraint M : N ...

PENGERTIAN DAN JENIS JENIS TIPE DATA

Assalamualaikum wr.wb. A. Tipe Data      1. Pengertian Tipe data     Tipe data adalah jenis nilai yang dapat ditampung oleh suatu variabel. 2.  Jenis- jenis tipe data / Data Type a) Tipe data primitive (Sederhana)           Tipe data primitive adalah Tipe data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive  adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean.         1.  Numerik          Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai             dalam bentuk angka. Tipe data ini terbagi atas integer, dan real.         a.   Integer        ...

Citra Digital

Pengolahan Citra Digital  (Digital Image Processing)   merupakan bidang ilmu yang mempelajari tentang bagaimana suatu citra itu dibentuk, diolah, dan dianalisis sehingga menghasilkan informasi yang dapat dipahami oleh manusia. Sebelum mempelajari lebih lanjut mengenai pengolahan citra digital, kita perlu mengetahui definisi dari citra itu terlebih dahulu. Citra merupakan fungsi dari intensitas cahaya yang direpresentasikan dalam bidang dua dimensi. Berdasarkan bentuk sinyal penyusunnya, citra dapat digolongkan menjadi dua jenis yaitu citra analog dan citra digital. Citra analog adalah citra yang dibentuk dari sinyal analog yang bersifat kontinyu, sedangkan citra digital adalah citra yang dibentuk dari sinyal digital yang bersifat diskrit. Citra analog dihasilkan dari alat akuisisi citra analog, contohnya adalah mata manusia dan kamera analog. Gambaran yang tertangkap oleh mata manusia dan foto atau film yang tertangkap oleh kamera analog merupakan contoh dari citra a...