Anda di halaman 1dari 14

LAPORAN PRAKTIKUM I

“PRAKTIKUM RANCANGAN ANALISA ALGORITMA”

“Algoritma BrutForce”

Oleh
Muhammad Yanis

Nim : 1657301093
Kelas : TI 3.2
Program Studi : Teknik Informatika
No. Praktikum : 01 / PRAA/ TI/ 2018
Dosen Pembimbing : MUHAMMAD ARHAMI,Ssi,M.Kom

KEMENTRIAN RISET DAN KEMENTRIAN TINGGI


POLITEKNIK NEGERI LHOKSEUMAWE
2018/2019
LEMBAR PENGESAHAN

No. Praktikum : 01

Judul Praktikum : Algoritma BrutForce

Nama : Muhammad Yanis

NIM : 1657301093

Jurusan : Teknologi informasi dan Komputer

Prodi : Teknik Informatika

Tanggal percobaan : 28 Februari 2019

Nilai :

Dosen pembimbing : Muhammad Arhami, Ssi, M.Kom

Mahasiswa Dosen Pembimbing

Muhammad Yanis Muhammad Arhami,Ssi,M.kom


NIM : 1657301093 NIDN : 0029107402
BAB I
PENDAHULUAN

A.Dasar Teori
Banyak yang mengatakan bahwa algoritma brute force merupakan jenis algoritma yang
sifatnya straight, lurus atau bisa juga disebut sebagai algoritma yanglempeng. Algoritma brute
force merupakan bentuk algoritma yang sangat kompleks, karena untuk dapat menyelesaikan
masalah dengan teknik straight forward atau lempeng ini, dibutuhkan banyak masukan dan juga
pertimbangan secara logis, sehingga dapat diperoleh sebuah keputusan pemecahan masalah yag
langsung mengacu atau menuju kepada hasil aygn diinginkan.
Algoritma merupakan kunci dari bidang ilmu komputer, dan pada dasarnya setiap hari kita
melakukan aktivitas algoritma. Kata algoritma berasal dari sebutan Algorizm (Abu Abdullah
Muhammad Ibn Musa Al Khwarizmi, ahli matematika Uzbekistan). Definisi Algoritma adalah
urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis untuk
pemecahan suatu permasalahan

Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas
untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1. Algoritma adalah inti dari ilmu komputer
2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan
suatu masalah
3. Algoritma adalah blueprint dari program
4. Sebaiknya disusun sebelum membuat program
5. Kriteria suatu algoritma:
· Ada input dan output
· Efektifitas dan efisien
· Terstruktur

Teknik-teknik yang digunakan dalam algoritma Brute Force


1. Sequential Search adalah teknik pencarian data dimana data dicari secara urut dari depan ke
belakang atau dari awal sampai akhir. berdasarkan key yang di cari.

Cara kerja sequential search :

· Data Array = { 21, 4, 94, 14, 1, 9, 2}


· Elemen kunci yang di cari = 14
· Maka elemen Data Array : 10, 8, 11, 20, 27, 99, 21, 5, 41, 17
· Elemen yang di cari : 99
· Maka elemen yang di periksa adalah : 21, 4, 94, 14 (Data 14 di temukan)
· Index larik yang di kembalikan : idx : 3
· Setelah elemen kunci yang di cari ketemu maka pencarian akan berhenti di sini tanpa
memeriksa elemen setelah elemen 14.

2. Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya
mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau
Descending).Bubble sort (metode gelembung) adalah metode/algoritma pengurutan
dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus
menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.
Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung
karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang
tepat.
Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun
yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan
daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan.
Prinsip di atas dipakai pada pengurutan gelembung.
Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik
dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang
proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya
salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu
dilakukan penukaran lagi
BAB II
PROGRAM dan ANALISA

BILANGAN BERPANGKAT

Output

ANALISA:

printf "tambahkan y" diatas berfungsi untuk menampilkan data atau tulisan. Data yang akan
ditampilkan adalah data yang ditulis setelah tanda buka dan diakhiri tutup kurung. printf
“tambahkan n” diatas berfungsi untuk menampilkan data atau tulisan. Data yang akan ditampilkan
adalah data yang ditulis setelah tanda buka dan diakhiri tutup kurung. Pada baris program ini akan
ditampilkan data dengan tulisan “tambahkan n” pada output.
.
MENGHITUNG BILANGAN FAKTORIAL

ANALISA: Fungsi diatas adalah untuk mendeklarasikan method faktorial dan mendeklarasikan
variable hasil=1,i,bil yang bertipe data integer.untuk mencetak tulisan yang berada didalam
kurung setelah perintah printf, memberi perintah input yang dilakukan oleh user sendiri, dan
memasukan nilai yang akan diinputkan ke dalam nilai variabel bil.

PROGRAM MENGALIKAN 2 BUAH MATRIX


OUTPUT:
ANALISA: Mengalikan matriks A dan B yang berukuran n × n, menghasilkan
matriks C yang juga berukuran n × n Masukan: matriks integer A dan B, ukuran
matriks n Keluaran: matriks C

PROGRAM MENEMUKAN FAKTORIAL

Output:

ANALISA : program diatas yaitu menemukan nilai faktor pada angka yang diinputkan nilai yang
saya inputkan yaitu 6, maka faktor dari 6 adalah 2,3
PROGRAM MENCARI ELEMEN TERBESAR DAN TERKECIL

OUTPUT:

ANALISA: pada program diatas adalah mencari nilai maksimum dari index yang telah kita input, ada 3
buah index yang diinput, pada index PERTAMA saya menginput 5, pada index 2 saya menginput 6 dan
pada index 3 saya menginput 7 maka diantara ke tiga index tersebut nilai 7 yang adalah yang terbesar dan
nilai 7 berada pada index ke 3

SEQUENTIAL SEARCH
OUTPUT:

ANALISA: int A[4]; int merupakan type data yang digunakan, sedangkan x, idx,k
merupakan variabel, jadi variabel tersebut dideklarasikan ke dalam type data int.
sedangkan A[4] merupakan variable a dideklarasikan array sebanyak [4] index

Bubbleshort
Output:

ANALISA: for(i=1;i<i;i++){ for merupakan perulangan, dimana variabel i = 1, maka


jika nilai variabel i lebih kecil dari nilai n, nilai pada variabel i akan melakukan
iterasi dan k akan +1. Dan akan menjalani perintah dibawah:

Uji keprimaan

OUTPUT:

ANALISA: bool Prime(int x){ fungsinya bool merupakan type data, sedangkan prime
merupakan var dengan nilai integer variable x.
bool test; if(x<2)berfungsi untuk mendeklarasikan variabel test pada nila Boolean.
Jika nilai x lebih kecil dari 2, maka akan menjalankan perintah program dibaris
selanjutnya.return false; mengembalikan nilai salah.
Program polinomial

OUTPUT:

ANALISA:
Pada program diatas scanf("%f", &t); Printf berfungsi untuk menampilkan data atau tulisan. Data
yang akan ditampilkan adalah data yang ditulis setelah tanda petik. Scanf berfungsi untuk
mengambil nilai pada variabel t dengan type data default dan ditampilkan pada output program.
PR 1:

Penjumlahan 1

OUTPUT:

Analisa: Pada
program diatas scanf("%d", &n); berfungsi untuk mengambil nilai n
dengan type data default dan ditampilkan pada output program.Program diatas
juga menambahkan angka kelipatan dari hasil yang telah di peroleh. Misalkan
diatas n=10 maka akan ada perhitungan sebanyak 10 kali.
PR2:

Penjumlahan angka ganjil dalam inputan

Output:

ANALISA: Program diatas adalah menghitung bilangan ganjil yang ada pada 7.
Bilangan ganjil yang ada pada 7 yaitu (1,3,5,7) maka akan ditambahkan 1+3
hasilnya 4 dan 4+5 dan hasilnya adalah
KESIMPULAN
Kesimpulan yang diambil dari praktikum 1 ini adalah :

Banyak yang mengatakan bahwa algoritma brute force merupakan jenis algoritma
yang sifatnya straight, lurus atau bisa juga disebut sebagai algoritma yanglempeng.
Algoritma brute force merupakan bentuk algoritma yang sangat kompleks, karena
untuk dapat menyelesaikan masalah dengan teknik straight forward atau lempeng
ini, dibutuhkan banyak masukan dan juga pertimbangan secara logis, sehingga
dapat diperoleh sebuah keputusan pemecahan masalah yag langsung mengacu atau
menuju kepada hasil aygn diinginkan.

Daftar pustaka:

https://dosenit.com/ilmu-komputer/algoritma-brute-force-dan-greedy

https://elearningstikma/2011/04/04/algorithma-pangkat-dengan-pendekatan-brute-
force/

Anda mungkin juga menyukai