SlideShare a Scribd company logo
1 of 28
Penerapan Algoritma Brute Force
pada Instagram Friend Suggestions
Kelompok 1
1. Ahmad Rizky Ramadhani (50420082)
2. Christian Herbert Fritz (50420310)
3. Faturachman Kurniawan Putra
(50420480)
4. Nadswa Mizaru Siswasi (50420941)
Definisi Algoritma Brute Force
Algoritma Brute Force merupakan algoritma yang menggunakan
pendekatan secara langsung dalam memecahkan suatu persoalan.
Algoritma ini dapat menyelesaikan suatu persoalan dengan sistematis,
sederhana, mudah dimengerti, dan langsung. Namun, algoritma Brute
Force cenderung kurang mangkus dan kurang “cerdas”. Selain itu,
ketika menerima data masukan berukuran besar, algoritma ini berjalan
dengan sangat lambat.
Biasanya didasarkan pada:
- Pernyataan masalah (problem statement)
- Definisi konsep yang dilibatkan.
01
02
03
04
05
06
Definisi Algoritma Brute Force
Algoritma brute force memecahkan masalah dengan
- Sangat sederhana,
- Langsung,
- Jelas (obvious way).
Karakteristik Algoritma Brute Force
Algoritma brute force umumnya tidak cerdas, karena ia
membutuhkan jumlah langkah yang besar dalam
penyelesaiannya. Kadang-kadang algoritma brute force disebut
juga algoritma naif.
01
02
03
04
05
06
Kelebihan Brute Force :
• Dapat diimplementasikan pada hampir Sebagian besar masalah.
• Algoritmanya sederhana dan mudah untuk dimengerti.
• Dapat menghasilkan algoritma yang layak untuk beberapa masalah krusial
seperti searching, sorting, matching, dan perkalian matriks.
Kelemahan Brute Force :
• Algoritma yang dihasilkan kurang efektif
• Umumnya bergerak lambat untuk masukan berukuran besar
• Tidak sekonstruktif/sekreatif strategi pemecahan masalah lainnya
Kelebihan dan Kekurangan
01
02
03
04
05
06
Karakteristik Algoritma Brute Force
1. Algoritma brute force umumnya tidak “cerdas” dan tidak mangkus,
karena ia membutuhkan jumlah komputasi yang besar dalam
penyelesaiannya.
2. Meskipun bukan metode yang mangkus, hampir semua masalah
dapat diselesaikan dengan algoritma brute force.
3. Algoritma brute force seringkali lebih mudah diimplementasikan
daripada algoritma yang lebih canggih, dan karena
kesederhanaannya, kadang-kadang algoritma brute force dapat
lebih mangkus (ditinjau dari segi implementasi).
Metode Algoritma Brute Force
01
02
03
04
05
06
1. Enumerasi (list) setiap solusi yang mungkin dengan cara yang
sistematis.
2. Evaluasi setiap kemungkinan solusi satu per satu, mungkin
saja beberapa kemungkinan solusi yang tidak layak
dikeluarkan, dan simpan solusi terbaik yang ditemukan
sampai sejauh ini.
3. Meskipun algoritma exhaustive secara teoritis menghasilkan
solusi, namun waktu atau sumberdaya yang dibutuhkan
dalam pencarian solusinya sangat besar.
4. Bila pencarian berakhir, umumkan solusi terbaik.
a. Instagram Friend Suggestions
Instagram Friend Suggestions merupakan fitur dari
Instagram yang digunakan untuk pengguna mendapatkan
rekomendasi akun untuk di-ikuti. Instagram akan
memberikan rekomendasi akun yang banyak diikuti oleh
orang-orang yang pengguna ikuti.
Implementasi Algoritma pada fitur
Friend Suggestions
01
02
03
04
05
06
Dalam mengimplementasikan algoritma Brute-Force untuk
mencari friend suggestions, diperlukan beberapa tahap,
yaitu :
1. Menerima sebuah list berisi daftar akun yang saling
mengikuti satu sama lain. List ini didapatkan dari
sebuah file dan akan di ekstrak dengan cara berikut :
b. Implementasi Algoritma
2. Menerima nama sebuah user yang ingin dijadikan acuan untuk dicarikan friend
suggestions-nya.
3. Membuat sebuah list kosong untuk menyimpan daftar akun yang diikuti oleh
teman-teman akun acuan dan juga list kosong untuk menyimpan nama akun yang
difollow oleh akun acuan
4. Melakukan iterasi pada seluruh elemen berbentuk pair yang terdapat pada list
yang dihasilkan oleh file :
a. Mencari elemen yang memiliki value berupa nama akun acuan
b. Menyimpan value dari pasangan elemen sebelumnya ke dalam list kosong
penyimpanan akun yang difollow oleh akun acuan
c. Melakukan iterasi terhadap list untuk mencari elemen yang salah satu value-
nya adalah pasangan dari akun acuan yang didapatkan pada tahap
sebelumnya.dan menyimpan seluruh elemen pada list kosong untuk menyimpan
nama akun rekomendasi
5. Menghilangkan akun mutual (sudah diikuti oleh akun acuan) dari list yang
menyimpan nama-nama akun rekomendasi.
6. Mencari jumlah mutual yang dimiliki oleh list dengan akun acuan.
Implementasinya adalah sebagai berikut :
7. Mengurutkan list jumlah mutual dari yang terbesar hingga terkecil
dengan implementasi sebagai berikut :
Pengujian
Untuk menguji kode, dibutuhkan sebuah file yang berisi list nama akun yang saling
mengikuti satu sama lain.Kemudian, akan dipilih salah satu akun yang ingin
dijadikan sebagai acuan untuk mencari rekomendasi pertemanan. Pada pengujian
pertama, akan dipilih akun 1 sebagai acuan.
Dari gambar di atas, terlihat bahwa ada 5 rekomendasi akun yang diberikan
algoritma untuk pengguna terurut mengecil sesuai jumlah teman yang sudah
mengikuti akun tersebut. Berdasarkan file yang diterima, dapat ditelaah bahwa
akun1 (akun acuan) mengikuti akun2, akun3, akun10, dan akun5. Sedangkan akun-
akun tersebut mengikuti:
Dari list diatas, dengan mengkurasi akun-akun yang sudah diikuti oleh akun
acuan juga akun-akun yang tertulis lebih dari 1x, maka dihasilkan list
rekomendasi sebagai berikut :
Contoh Algoritma Brute Force
Berdasarkan Pernyataan
Masalah
Contoh Algoritma Brute Force
1. Mencari elemen terbesar (terkecil)
Persoalan: Diberikan sebuah senarai yang beranggotakan n
buah bilangan bulat (a1, a2, …, an). Carilah elemen terbesar di
dalam senarai tersebut.
Algoritma brute force: bandingkan setiap elemen senarai
untuk menemukan elemen terbesar
Contoh Algoritma Brute Force
2. Pencarian beruntun (Sequential Search)
Persoalan: Diberikan senarai yang berisi n buah bilangan
bulat (a1, a2, …, an). Carilah nilai x di dalam senara tersebut. Jika x
ditemukan, maka keluarannya adalah indeks elemen senarai, jika
x tidak ditemukan, maka keluarannya adalah 0.
Algoritma brute force (sequential serach): setiap elemen
senarai dibandingkan dengan x. Pencarian selesai jika x
ditemukan atau elemen senarai sudah habis diperiksa.
Contoh Algoritma Brute Force
Berdasarkan Definisi
Konsep
Contoh Algoritma Brute Force
1. Menghitung an (a > 0, n adalah bilangan bulat tak-negatif)
Definisi:
an = a x a x … x a (n kali) , jika n > 0
= 1, jika n = 0
Algoritma brute force: kalikan 1 dengan a sebanyak n kali
Contoh Algoritma Brute Force
2. Menghitung n! (n bilangan bulat tak-negatif)
Definisi:
n! = 1 × 2 × 3 × … × n , jika n > 0
= 1 , jika n = 0
Algoritma brute force: kalikan n buah bilangan, yaitu 1, 2,
3, …, n, bersama-sama
Contoh Algoritma Brute Force
3. Mengalikan dua buah matriks A dan B
Definisi:
Misalkan C = A × B dan elemen-elemen matrik dinyatakan sebagai cij,
aij, dan bij
Algoritma brute force: hitung setiap elemen hasil perkalian satu per satu,
dengan cara mengalikan dua vektor yang panjangnya n.
Kesimpulan
Algoritma Brute Force dapat diimplementasikan dalam berbagai hal di
kehidupan sehari-hari, contohnya adalah pada fitur Friend Suggestions di
Instagram. Setiap pasangan akun yang saling mengikuti satu sama lain akan
dikumpulkan dalam sebuah List yang kemudian akan diproses menggunakan
algoritma Brute Force untuk mencari rekomendasi akun yang paling banyak
difollow oleh teman-teman pengguna akun utama. Namun, apabila
diperhatikan, algoritma membutuhkan waktu yang cukup lama untuk bisa
menghasilkan list rekomendasi. Oleh sebab itu, diperlukan adaptasi lebih lanjut
agar program bisa jalan dengan lebih cepat dan efisien.

More Related Content

What's hot

Teori bilangan
Teori bilanganTeori bilangan
Teori bilanganUjang Kbm
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritmaDiki Rosandy
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019Sukma Puspitorini
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexShofura Kamal
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Mapahmad haidaroh
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Rudi hartanto tutorial 02 rapid miner 5.3 linear regression
Rudi hartanto   tutorial 02 rapid miner 5.3 linear regressionRudi hartanto   tutorial 02 rapid miner 5.3 linear regression
Rudi hartanto tutorial 02 rapid miner 5.3 linear regressionilmuBiner
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01KuliahKita
 
Pushdown Automata - Materi 8 - TBO
Pushdown Automata - Materi 8 - TBOPushdown Automata - Materi 8 - TBO
Pushdown Automata - Materi 8 - TBOahmad haidaroh
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAdam Mukharil Bachtiar
 

What's hot (20)

Teori bilangan
Teori bilanganTeori bilangan
Teori bilangan
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019
 
Pertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTreePertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTree
 
Kumpulan catatan Teknik Kompilasi
Kumpulan catatan Teknik KompilasiKumpulan catatan Teknik Kompilasi
Kumpulan catatan Teknik Kompilasi
 
GRAPH BERARAH DAN NETWORK
GRAPH BERARAH DAN NETWORKGRAPH BERARAH DAN NETWORK
GRAPH BERARAH DAN NETWORK
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Bab 12-kode-huffman
Bab 12-kode-huffmanBab 12-kode-huffman
Bab 12-kode-huffman
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Rudi hartanto tutorial 02 rapid miner 5.3 linear regression
Rudi hartanto   tutorial 02 rapid miner 5.3 linear regressionRudi hartanto   tutorial 02 rapid miner 5.3 linear regression
Rudi hartanto tutorial 02 rapid miner 5.3 linear regression
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
 
Pushdown Automata - Materi 8 - TBO
Pushdown Automata - Materi 8 - TBOPushdown Automata - Materi 8 - TBO
Pushdown Automata - Materi 8 - TBO
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain Algoritma
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 

Similar to Kelompok 1 Brute Force - PPT.pptx

A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803
A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803
A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803Alvian yudha Prawira
 
BERPIKIR KOMPUTASIONAL.pptx
BERPIKIR KOMPUTASIONAL.pptxBERPIKIR KOMPUTASIONAL.pptx
BERPIKIR KOMPUTASIONAL.pptxSMAN8BandaAceh
 
BERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptAgusPurwadi20
 
Analisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem InformasiAnalisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem InformasiFarichah Riha
 
Sejarah Algoritma
Sejarah Algoritma Sejarah Algoritma
Sejarah Algoritma casnadi
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritmaChusnul Khotimah
 

Similar to Kelompok 1 Brute Force - PPT.pptx (10)

Machine learning dan data mining
Machine learning dan data miningMachine learning dan data mining
Machine learning dan data mining
 
A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803
A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803
A11.2012.07112 alvian yudha prawira tgsdm2 _a11.4803
 
BERPIKIR KOMPUTASIONAL.pptx
BERPIKIR KOMPUTASIONAL.pptxBERPIKIR KOMPUTASIONAL.pptx
BERPIKIR KOMPUTASIONAL.pptx
 
informatika 2.pptx
informatika 2.pptxinformatika 2.pptx
informatika 2.pptx
 
BERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.ppt
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 
Analisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem InformasiAnalisa dan Perancangan Sistem Informasi
Analisa dan Perancangan Sistem Informasi
 
Sejarah Algoritma
Sejarah Algoritma Sejarah Algoritma
Sejarah Algoritma
 
Boot tugas 1
Boot tugas 1Boot tugas 1
Boot tugas 1
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritma
 

Kelompok 1 Brute Force - PPT.pptx

  • 1. Penerapan Algoritma Brute Force pada Instagram Friend Suggestions Kelompok 1 1. Ahmad Rizky Ramadhani (50420082) 2. Christian Herbert Fritz (50420310) 3. Faturachman Kurniawan Putra (50420480) 4. Nadswa Mizaru Siswasi (50420941)
  • 2. Definisi Algoritma Brute Force Algoritma Brute Force merupakan algoritma yang menggunakan pendekatan secara langsung dalam memecahkan suatu persoalan. Algoritma ini dapat menyelesaikan suatu persoalan dengan sistematis, sederhana, mudah dimengerti, dan langsung. Namun, algoritma Brute Force cenderung kurang mangkus dan kurang “cerdas”. Selain itu, ketika menerima data masukan berukuran besar, algoritma ini berjalan dengan sangat lambat. Biasanya didasarkan pada: - Pernyataan masalah (problem statement) - Definisi konsep yang dilibatkan. 01 02 03 04 05 06
  • 3. Definisi Algoritma Brute Force Algoritma brute force memecahkan masalah dengan - Sangat sederhana, - Langsung, - Jelas (obvious way). Karakteristik Algoritma Brute Force Algoritma brute force umumnya tidak cerdas, karena ia membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang-kadang algoritma brute force disebut juga algoritma naif. 01 02 03 04 05 06
  • 4. Kelebihan Brute Force : • Dapat diimplementasikan pada hampir Sebagian besar masalah. • Algoritmanya sederhana dan mudah untuk dimengerti. • Dapat menghasilkan algoritma yang layak untuk beberapa masalah krusial seperti searching, sorting, matching, dan perkalian matriks. Kelemahan Brute Force : • Algoritma yang dihasilkan kurang efektif • Umumnya bergerak lambat untuk masukan berukuran besar • Tidak sekonstruktif/sekreatif strategi pemecahan masalah lainnya Kelebihan dan Kekurangan 01 02 03 04 05 06
  • 5. Karakteristik Algoritma Brute Force 1. Algoritma brute force umumnya tidak “cerdas” dan tidak mangkus, karena ia membutuhkan jumlah komputasi yang besar dalam penyelesaiannya. 2. Meskipun bukan metode yang mangkus, hampir semua masalah dapat diselesaikan dengan algoritma brute force. 3. Algoritma brute force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi).
  • 6. Metode Algoritma Brute Force 01 02 03 04 05 06 1. Enumerasi (list) setiap solusi yang mungkin dengan cara yang sistematis. 2. Evaluasi setiap kemungkinan solusi satu per satu, mungkin saja beberapa kemungkinan solusi yang tidak layak dikeluarkan, dan simpan solusi terbaik yang ditemukan sampai sejauh ini. 3. Meskipun algoritma exhaustive secara teoritis menghasilkan solusi, namun waktu atau sumberdaya yang dibutuhkan dalam pencarian solusinya sangat besar. 4. Bila pencarian berakhir, umumkan solusi terbaik.
  • 7. a. Instagram Friend Suggestions Instagram Friend Suggestions merupakan fitur dari Instagram yang digunakan untuk pengguna mendapatkan rekomendasi akun untuk di-ikuti. Instagram akan memberikan rekomendasi akun yang banyak diikuti oleh orang-orang yang pengguna ikuti. Implementasi Algoritma pada fitur Friend Suggestions 01 02 03 04 05 06
  • 8. Dalam mengimplementasikan algoritma Brute-Force untuk mencari friend suggestions, diperlukan beberapa tahap, yaitu : 1. Menerima sebuah list berisi daftar akun yang saling mengikuti satu sama lain. List ini didapatkan dari sebuah file dan akan di ekstrak dengan cara berikut : b. Implementasi Algoritma
  • 9.
  • 10. 2. Menerima nama sebuah user yang ingin dijadikan acuan untuk dicarikan friend suggestions-nya. 3. Membuat sebuah list kosong untuk menyimpan daftar akun yang diikuti oleh teman-teman akun acuan dan juga list kosong untuk menyimpan nama akun yang difollow oleh akun acuan 4. Melakukan iterasi pada seluruh elemen berbentuk pair yang terdapat pada list yang dihasilkan oleh file : a. Mencari elemen yang memiliki value berupa nama akun acuan b. Menyimpan value dari pasangan elemen sebelumnya ke dalam list kosong penyimpanan akun yang difollow oleh akun acuan c. Melakukan iterasi terhadap list untuk mencari elemen yang salah satu value- nya adalah pasangan dari akun acuan yang didapatkan pada tahap sebelumnya.dan menyimpan seluruh elemen pada list kosong untuk menyimpan nama akun rekomendasi
  • 11. 5. Menghilangkan akun mutual (sudah diikuti oleh akun acuan) dari list yang menyimpan nama-nama akun rekomendasi. 6. Mencari jumlah mutual yang dimiliki oleh list dengan akun acuan. Implementasinya adalah sebagai berikut :
  • 12. 7. Mengurutkan list jumlah mutual dari yang terbesar hingga terkecil dengan implementasi sebagai berikut :
  • 13. Pengujian Untuk menguji kode, dibutuhkan sebuah file yang berisi list nama akun yang saling mengikuti satu sama lain.Kemudian, akan dipilih salah satu akun yang ingin dijadikan sebagai acuan untuk mencari rekomendasi pertemanan. Pada pengujian pertama, akan dipilih akun 1 sebagai acuan.
  • 14. Dari gambar di atas, terlihat bahwa ada 5 rekomendasi akun yang diberikan algoritma untuk pengguna terurut mengecil sesuai jumlah teman yang sudah mengikuti akun tersebut. Berdasarkan file yang diterima, dapat ditelaah bahwa akun1 (akun acuan) mengikuti akun2, akun3, akun10, dan akun5. Sedangkan akun- akun tersebut mengikuti:
  • 15. Dari list diatas, dengan mengkurasi akun-akun yang sudah diikuti oleh akun acuan juga akun-akun yang tertulis lebih dari 1x, maka dihasilkan list rekomendasi sebagai berikut :
  • 16. Contoh Algoritma Brute Force Berdasarkan Pernyataan Masalah
  • 17. Contoh Algoritma Brute Force 1. Mencari elemen terbesar (terkecil) Persoalan: Diberikan sebuah senarai yang beranggotakan n buah bilangan bulat (a1, a2, …, an). Carilah elemen terbesar di dalam senarai tersebut. Algoritma brute force: bandingkan setiap elemen senarai untuk menemukan elemen terbesar
  • 18.
  • 19. Contoh Algoritma Brute Force 2. Pencarian beruntun (Sequential Search) Persoalan: Diberikan senarai yang berisi n buah bilangan bulat (a1, a2, …, an). Carilah nilai x di dalam senara tersebut. Jika x ditemukan, maka keluarannya adalah indeks elemen senarai, jika x tidak ditemukan, maka keluarannya adalah 0. Algoritma brute force (sequential serach): setiap elemen senarai dibandingkan dengan x. Pencarian selesai jika x ditemukan atau elemen senarai sudah habis diperiksa.
  • 20.
  • 21. Contoh Algoritma Brute Force Berdasarkan Definisi Konsep
  • 22. Contoh Algoritma Brute Force 1. Menghitung an (a > 0, n adalah bilangan bulat tak-negatif) Definisi: an = a x a x … x a (n kali) , jika n > 0 = 1, jika n = 0 Algoritma brute force: kalikan 1 dengan a sebanyak n kali
  • 23.
  • 24. Contoh Algoritma Brute Force 2. Menghitung n! (n bilangan bulat tak-negatif) Definisi: n! = 1 × 2 × 3 × … × n , jika n > 0 = 1 , jika n = 0 Algoritma brute force: kalikan n buah bilangan, yaitu 1, 2, 3, …, n, bersama-sama
  • 25.
  • 26. Contoh Algoritma Brute Force 3. Mengalikan dua buah matriks A dan B Definisi: Misalkan C = A × B dan elemen-elemen matrik dinyatakan sebagai cij, aij, dan bij Algoritma brute force: hitung setiap elemen hasil perkalian satu per satu, dengan cara mengalikan dua vektor yang panjangnya n.
  • 27.
  • 28. Kesimpulan Algoritma Brute Force dapat diimplementasikan dalam berbagai hal di kehidupan sehari-hari, contohnya adalah pada fitur Friend Suggestions di Instagram. Setiap pasangan akun yang saling mengikuti satu sama lain akan dikumpulkan dalam sebuah List yang kemudian akan diproses menggunakan algoritma Brute Force untuk mencari rekomendasi akun yang paling banyak difollow oleh teman-teman pengguna akun utama. Namun, apabila diperhatikan, algoritma membutuhkan waktu yang cukup lama untuk bisa menghasilkan list rekomendasi. Oleh sebab itu, diperlukan adaptasi lebih lanjut agar program bisa jalan dengan lebih cepat dan efisien.