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:
for(i=1;i
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-bruteforce/