Tampilkan postingan dengan label Algoritma. Tampilkan semua postingan
Tampilkan postingan dengan label Algoritma. Tampilkan semua postingan

Minggu, 06 November 2016

Karakteristik, Kelemahan. dan Kelebihan Algoritma Brute Force


Sekarang saya akan membahas karakteristik, kelebihan, dan kekurangan algoritma Bruce Force. Yokkk langsung saja kita lihat penjelasannya di bawah ini :

Karakteristik Algoritma Brute Force

1.Algoritma Brute Force umumnya tidak “cerdas” dan tidak efisien, karena dalam penyelesaiannya membutuhkan jumlah langkah yang besar. Kata “force” sendiri lebih mengedepankan “tenaga” ketimbang “otak”. Kadang-kadang Algoritma Brute Forcedisebut juga Algoritma Naif (naïve algorithm).

2.Algoritma Brute Force lebih cocok untuk masalah yang berukuran kecil. Karna sederhana, dan implementasinya mudah

3.Algoritma Brute Force sering digunakan sebagai basis pembanding dengan Algoritma yang lebih efisien.

4.Meskipun bukan metode yang efisien, hampir semua masalah dapat diselesaikan dengan Algoritma Brute Force. Bahkan, ada masalah yang hanya dapat diselesaikan dengan metode Brute Force.

Contoh : mencari elemen terbesar di dalam senarai. Atau menghitung jumlah dari n buah bilangan.

5.karna ketidak efisiennya, Algoritma Brute Force dapat mencari pola-pola yang mendasarketeraturan , atau trik-trik khusus, yang biasanya akan membantu kita menemukan algoritma yang lebih cerdas dan lebih efisien.

6.Untuk kecil, kesederhanaan Algoritma Brute Force biasanya lebih diperhitungkan dari pada ketidakefisiennya. Kenapa ? karena Algoritma Brute Force sering digunakan sebagai basis, bila membandingkan beberapa alternatif algoritma yang efisien.

7.Selain itu, Algoritma Brute Force seringkali lebih mudah diimplementasikan dari pada Algoritma yang lebih canggih karena kesederhanaannya, kadang-kadang juga Algoritma Brute Force dapat lebih efisien (ditinjau dari segi implementasi).


Kelebihan Algoritma Brute Force

1. Algoritma Brute Force dapat digunakan untuk memecahkan hampir sebagian besar masalah (wide applicability).

2. Algoritma Brute Force mudah dimengerti.

3. Algoritma Brute Force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan stringperkalian matriks.

4. Algoritma Brute Force menghasilkan algoritma baku (standard) untuk tugas-tugas komputasi, seperti penjumlahan/perkalian n buah bilanganmenentukan elemen minimum atau maksimum di dalam tabel (list).

Kekurangan Algoritma Brute Force

1. Algoritma Brute Force jarang menghasilkan algoritma yang efisien.

2. Beberapa Algoritma Brute Force lambat sehingga tidak dapat diterima.

3. Algoritma Brute Force Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya.


Mungkin itu saja Berbagi Pengetahuan tentang Karakteristik, Kelebihan, Dan Kelemahan Algoritma Brute Force. Semoga artikel di atas dapat bermanfaat.



Sumber
https://faris6593.blogspot.co.id/2013/10/karakteristik-kelebihan-kelemahan-algoritma-brute-force.html

Kamis, 27 Oktober 2016

Struktur Pengulangan dalam Algoritma

Struktur pengulangan terdiri atas 2 bagian yaitu :
  1. kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ada yang dinyatakan secara explisit oleh pemrogram.
  2. badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang
di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda, beberapa struktur dapat dipakai untuk masalah yang sama, namun ada notasi pengulangan yang hanya cocok dipakai untuk masalah tertentu, struktur pengulangan tersebut adalah :
  1. Struktur WHILE-DO
Bentuk umum struktur WHILE-DO adalah
while <kondisi> do
Aksi
endwhile
aksi (atau runtunan aksi) akan dilaksanakan berulangkali sepanjang <kondisi> boolean masih tetap bernilai true, jika <kondisi> bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai.

Contoh menggunakan While-Do

Algoritma jumlah deret
Deklarasi
  N,angka,jumlah : int
Deskripsi
  Read(N)
  Jumlah <-0
  angka  <-1
  while angka<N do
  jumlah<-jumlah+angka
  angka<-angka+1
  end while
  write jumlah

  2. Struktur REPEAT-UNTIL
Bentuk umum struktur REPEAT-UNTIL adalah :
Repeat
Aksi
Until <kondisi>
Struktur REPEAT-UNTIL memiliki makna yang sama dengan WHILE-DO namun ada perbedaan mendasar diantara keduanya. Pada struktur REPEAT-UNTIL aksi (atau sekumpulan aksi) dilaksanakan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir struktur, sedangkan pada struktur WHILE-DO kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak pernah dilaksanakan bila kondisi pengulangan bernilai false.

Contoh menggunakan repeat_until

Algoritma jumlah deret
Deklarasi
  N,angka,jumlah : int
Deskripsi
  Read(N)
  jumlah<-0
  angka<-0
  Repeat
  jumlah<-angka+angka
  angka<-angka+1
  until angka>N
  write jumlah

 3. Struktur FOR
Struktur FOR digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapu, struktur ini menyebabkan aksi diulangi sejumlah kali (tertentu)
Bentuk umum struktur FOR ada 2 macam : menaik (ascending) dan menurun (descending)
FOR menaik :
For peubah ← nilai_awal to nilai_akhir do
Aksi
Endfor
Keterangan :
    • peubah : haruslah bertipe sederhana
    • nilai_awal : haruslebih kecil atau sama dengan nilai_akhir
    • pada awalnya, peubah diinisialisasi dengan nilai_awal. Nilai peubah secara otomatis bertambah satru setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_akhir

Contoh menggunakan For menaik:
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
For K ← 1 to 10 do
Write (‘HALO’)
Endfor
{kondisi berhenti : k > 10}

FOR menurun :
For peubah ← nilai_akhir downto nilai_awal do
Aksi
Endfor
Keterangan :
    • peubah : haruslah bertipe sederhana
    • nilai_akhir : harus lebih besar atau sama dengan nilai_awal
    • pada awalnya, peubah diinisialisasi dengan nilai_akhir. Nilai peubah secara otomatis berkurang satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_awal
Contoh :
algortima peluncuran roket dengan hitungan mundur, muali dari 100, 99, 98, …. 0
Algoritma peluncuran_roket
Deklarasi
K : integer
Deskripsi
For k ← 100 downto 0 do
Write (k)
Endfor
Write (‘GO!’) 

Sumber :
https://ernaencekz.wordpress.com/2010/01/31/struktur-pengulangan-algoritma/
Materi power point dan buku catatan

Jumat, 23 September 2016

PENGERTIAN DAN SYMBOL FLOWCHART

Flowchart adalah penggambaran secara grafik dari langkah-langkah atau urutan dari suatu program.
Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segment-segment yang lebih kecil dan menolong dalam menganalisis alternative lain dalam pengoperasian.

Kegunaan  dari Flowchart :
ü              Untuk mendesign suatu program
ü              Untuk memrepresentasikan

Lambang atau symbol flowchart                :

                         Terminator digunakan  untuk menunjukkan bahwa itu awal atau akhir algoritma.

              
                        Arrow digunakan untuk menunjukkan arus data dari suatu proses ke proses    yang lain.

Data digunakan untuk mewakili data input/output atau menyatakan operasi  pemasukan data dan pencetakan hasil.



                        Procces digunakan untuk mewakili suatu proses      
                


Decision digunakan untuk suatu pemilihan atau penyeleksian kondisi dalam suatu program.

Connector digunakan untuk menunjukkan sambungan dari flowchart yang terputus yang dihalaman yang sama atau halaman lain.


Predefined process digunakan untuk menunjukan ke suatu operasi/memanggil suatu prosedur atau fungsi.



 
Preparation digunakan untuk memeberi nilai awal, nilai akhir, penambahan/pengurangan  bagi suatu variable.

Struktur dasar algoritma dalam struktur pemilihan
  
Contoh  Pseudocode dan Flowchart :

ü  Mencari bilangan genap atau ganjil

1.       Algoritma Pseudocode
a.       Input a
b.      If a:2 = 0
c.       Output genap
d.      Else
e.      Output ganjil

2.       Flowchart