Minggu, 27 Desember 2020

PERTEMUAN 12 SORTING DAN SEARCHING

nama:Bayu cahyadi <\p>

kelas:TK 19A <\p>

Link : http://algoritma-cplusplus.blogspot.com/2009/06/sorting-searching.html <\p>

https://teknokrat.ac. <\p>

http://ftik.teknokrat.ac.id/ <\p>

sorting & Searching <\p>

SORTING Sorting adalah pengurutan data. Data diurutkan dari yang terkecil sampai yang paling besar atau sebaliknya. Tujuannya supaya data tersebut jadi tersusun rapi, terurut dan teratur. Algoritma untuk melakukan sorting sperti itu ada bermacam-macam diantaranya BubbleSort, SelectionSort, InsertionSort, QuickSort, ExchangeSort, HeapSort, SmoothSort, CocktailSort, ShellSort, MergeSort, dan masih banyak lagi yang lainnya. Kali ini kita akan membahas 5 macam sorting saja yaitu BubbleSort, SelectionSort, InsertionSort, ExchangeSort dan QuickSort.<\p>

1.-BubbleSort <\p>

BubbleSort adalah pengurutan data yang dilakukan dengan membandingkan antara data[n] dengan data[n+1] atau antara data[n] dengan data[n-1] kemudian jika data lebih kecil/besar dilakukan pertukaran. Pada setiap iterasi dapat terjadi beberapa kali pertukaran atau tidak sama sekali. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N-1.” Langkah-langkah bubble sort yaitu : Bandingkan nilai pada data ke-1 dengan data ke-2 Jika nilai data ke-1 lebih besar dari data ke-2 maka tukar posisinya Kemudian data yang lebih besar tersebut dibandingkan lagi dengan data ke-3 Jika data ke-3 lebih kecil dari data ke-2 maka tukar posisinya, dan begitu seterusnya sampai data yang ada jadi terurut.<\p>

Contoh secara manual : iterasi Urutan data 0 87 74 71 54 88 60 1 74 71 54 87 60 88 2 71 54 74 60 87 88 3 54 71 60 74 87 88 4 54 60 71 74 87 88 Contoh syntax bubble sort: void bubble_sort() { for(int i=1;i { for(int j=n-1;j>=i;j--) { if(data[j]} } } Dengan cara ini data akan terurut naik (ascending),untuk data terurut turun (descending) silahkan rubah bagian di bawah ini: (data[j] menjadi: if (data[j]>data[j-1]) tukar(j,j-1); Intinya bubble sort itu salah satu metode yang simpel untuk sorting, tetapi jika jumlah data yang disorting besar akan memakan waktu yang lama.<\p>

SEARCHING Searching adalah pencarian suatu data dalam sekumpulan data . Kali ini kita akan bahas tentang 2 jenis searching yaitu Sequential Search dan Binary Search.<\p>

1.-Sequential Search <\p>

Sequential Search merupakan proses pencarian data dengan metode pencarian langsung. Ini dilakukan dengan cara mencocokkan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses pencocokan data dilakukan secara berurutan. Satu demi satu dimulai dari data ke1 hingga data pada urutan terakhir.<\p>

Secara manual contoh : Data : 20 25 35 79 80 90 Data yang dicari 35 Iterasi Data keterangan 0 20 25 35 79 80 90 Data awal 1 20 25 35 79 80 90 Belum cocok 2 20 25 35 79 80 90 Belum cocok 3 20 25 35 79 80 90 Data ditemukan Ket : angka yang ditebalkan maksudnya angka yang diseleleksi. Yang diatas pengertian secara manual. Secara teoritis sequential search : pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data. Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari. Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ada. Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula. Algoritma pencarian berurutan dapat dituliskan sebagai berikut : i←0 ketemu←false Selama (tidak ketemu) dan (i <= N) kerjakan baris 4 4 Jika (Data[i] = x) maka ketemu ← true, jika tidak i ← i + 1 5 Jika (ketemu) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian sekuensial. int SequentialSearch(int x) { int i = 0; bool ketemu = false; while ((!ketemu) && (i <> if(Data[i] == x) ketemu = true; else i++; } if(ketemu) return i; else return -1; } <\p>

2.-Binary Search Binary Search adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif dalam ilmu komputer. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama. Sebuah pencarian biner adalah salah satu contoh dari algoritma divide and conquer . Penerapan terbanyak dari binary search adalah untuk mencari sebuah nilai tertentu dalam sebuah list terurut. Jika dibayangkan, pencarian biner dapat dilihat sebagai sebuah permainan tebak-tebakan, kita menebak sebuah bilangan, atau nomor tempat, dari daftar (list) nilai. Pencarian diawali dengan memeriksa nilai yang ada pada posisi tengah list; oleh karena nilai-nilainya terurut, kita mengetahui apakah nilai terletak sebelum atau sesudah nilai yang di tengah tersebut, dan pencarian selanjutnya dilakukan terhadap setengah bagian dengan cara yang sama. Contoh syntax nya : int BinarySearch(int x) { int L = 0, R = Max-1, m; bool ketemu = false; while((L <= R) && (!ketemu)) { m = (L + R) / 2; if(Data[m] == x) ketemu = true; else if (x <> R = m - 1; else L = m + 1; } if(ketemu) return m; else return -1; } <\p>

Jumat, 18 Desember 2020

-langkah langkah mengamani komputer atau laptop anda

Langkah-langkah mengamankan komputer atau laptop

Desember 19, 2020

Nama : Bayu cahyadi

Npm : 19316085

Kelas : TK 19 A

@teknokrat.ac.id

1# – Gunakan Antivirus WinPoin sudah menyinggung sebelumnya, Antivirus merupakan salah satu keamanan yang harus dimiliki dalam sebuah komputer. Sangat memungkinkan sekali hacker akan memanfaatkan zero day untuk menyerang komputer kamu jika tidak memiliki Antivirus, seperti Adobe Flash player yang terinstall di browser kamu. Ketika browser kamu melakukan update, patch pada update tersebut tidak akan berguna dan terbilang percuma. Kelemahan Adobe Flash player di browser kamu masih rawan serangan hacker. Untuk itu Antivirus dapat membantu kamu dengan mengamankan komputer dari serangan virus, trojan atau malware sejenis lainnya.

2# – Aktifkan UAC User Account Control adalah salah satu metode yang digunakan Microsoft untuk mengamankan komputer, ketika user tidak sengaja menjalankan aplikasi yang tidak dikenal maka UAC akan muncul dan membuat user berpikir ulang untuk menjalankan aplikasi tersebut. Ketika metode ini diterapkan pertama kali di Windows Vista, user banyak yang mengeluh dan menolak fitur ini. Tetapi ketika di Windows 7 dan Windows 8, UAC dapat berjalan dengan baik dan benar-benar mengamankan komputer. Fitur ini menjadi salah satu lapisan terpenting dalam sistem keamanan. Untuk itu selalu aktifkan UAC untuk Windows 7 dan Windows 8 yang kamu gunakan.

3# – Aktifkan Firewall Firewall sudah termasuk dalam Windows dan aktif secara default, kamu tidak perlu menginstall software tambahan lainnya. Bagaimanapun keadaannya kamu harus membiarkan firewall aktif dalam keadaan setting default. Firewall akan melakukan block ketika koneksi yang tidak dikenal masuk, melindungi Windows dan software lain dari malware yang mencoba mengeksploitasi kelemahan system. Kisah tragis pernah terjadi saat Windows XP tidak dilengkapi dengan Firewall, banyak worm yang menyebar. Kini word tidak lagi menyebar di Windows dan bahkan kita jarang mendengar namanya lagi. Selain itu kamu juga harus mengatur Firewall sesuai dengan pengaturan yang ada. Ketika menu pop-up muncul yang menanyakan Home, Work atau Publick network saat kamu terhubung dengan jaringan, kamu harus memilih network yang tepat. Jika kamu memilih Home saat terhubung dengan network tersebut maka kamu akan berbagi file dengan jaringan tersebut, ketika kamu di hotspot gratis berhati-hatilah memilih tipe network.

4# – Uninstall Java Kebanyakan web jaman dulu masih memerlukan Java untuk dapat berjalan. Dengan memanfaatkan ini, malware dapat mudah memasuki komputer user dengan hanya ketika user mengunjungi situs tersebut. Java telah membuat tingkat keamanan sebuah komputer menjadi lemah. Jika kamu benar-benar membutuhkan Java, sebaiknya tidak ditambahkan plug-in Java ke dalam browser.

5# – Gunakan Software yang Updated Semua software yang kita gunakan setiap haru sangat rawan dengan keamanan. Celah-celah keamanan tersebut telah ditemukan setiap harinya, misalkan saja Windows, Internet Explorer, Mozilla Firefox, Google Chrome dan sebagainya. Developer dari software-software tersebut memberikan patch untuk memperbaiki keamanan yang kemudian memberikan update untuk software tersebut. Selalu mengupdate software ke versi terbaru dapat membuat komputer kamu lebih aman dari serangan malware karena celah-celah keamanan telah diperbaiki.

6# – Berhati-hatilah Terhadap Software yang Kamu Install atau Download Walaupun UAC dan Antivirus sudah mencoba mengamankan kamu dari serangan malware, tetapi kendali utama datang dari user. Ketika kamu sudah salah menginstall atau mendownload software yang sebenarnya malware dan tetap kamu jalankan walaupun sudah dilarang oleh UAC dan Antivirus maka malware tersebut akan berhasil masuk. Banyak situs penyedia download software memberikan link palsu atau banner palsu agar mendapatkan uang (baca tips download disini). Maksut hati ingin mendownload VLC tetapi yang didownload malah Converter, ya ini mungkin karena kamu salah klik banner atau link yang ada. Kamu harus hati-hati dengan iklan yang beredar di situs download.

7# – Jangan Gunakan Software Crack atau Bajakan Ketika kamu mendownload software crack atau bajakan akan banyak masalah yang ditemui. Misalkan saja link malware yang sebenarnya dibalut dengan tampilan link download software yang kamu inginkan. Setelah berhasil kamu download pun, software tersebut tidak menjamin dapat berjalan dengan aman. Biasa saja software tersebut sudah disisipi oleh keylogger atau senejis malware lainnya.

8# – Awas Phising dan Email yang Direkayasa! Browser dan email client sudah mencoba melindungi kamu tetapi mereka hanyalah sebuah software. Serangan Phising di web seperti ada seseorang yang menyamar sebagai pegawai bank dan meminta nomor kartu kredit yang kamu miliki, padahal pihak bank tidak pernah menanyakan hal penting seperti ini. Serangan phising akan mencoba mempengaruhi kamu untuk mengirimkan data pribadi yang penting dari kamu. Berhati-hatilah jika ada email yang meminta sesuatu dari kamu.

9# – Jangan Menggunakan Password yang Sama Menggunakan password yang sama sangatlah berbahaya. Ketika seseorang sudah berhasil mendapatkan password kamu dan mencoba login ke situs-situs yang biasa kamu kunjungi dengan password tersebut, ini akan menjadi hal yang sangat berbahaya. Untuk itu sebaiknya kamu menggunakan password yang berbeda disetiap akun yang kamu miliki. Dengan begini tidak semua akun kamu dapat di hack, apalagi password email kamu harus kamu bedakan dari semua akun online yang kamu miliki. Untuk memudahkan kamu menghafal semua password yang ada, sebaiknya kamu menggunakan password manager.

10# – Gunakan Password yang Aman Password manager bisa membantu kamu untuk mengamankan password dengan menghitung seberapa panjang dan berapa kombinasi huruf, angka dan simbol yang kamu gunakan. Banyak password yang muncul di internet menggunakan kombinasi yang mudah seperti “password”, “winpoin”, dan “12345” dikebanyakan situs. Gunakan password yang khas dan tidak pernah terpikirkan oleh orang lain, dengan begini akan meningkatkan keamanan akun yang kamu miliki.

Senin, 14 Desember 2020

Sejarah, Definisi dan Cara Kerja Algoritma Divide and Conquer

Nama :Bayu cahyadi NPM : 19316085 Kelas : TK 19 A Fakultas : http://ftik.teknokrat.ac.id/ Universitas : https://teknokrat.ac.id/ Algoritma Divide and Conquer 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan algoritma yang berprinsip memecah-mecah permasalahan yang terlalu besar menjadi beberapa bagian kecil sehingga lebih mudah untuk diselesaikan. Langkah-langkah umum algoritma Divide and Conquer : Divide : Membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil ( idealnya berukuran hampir sama ). Conquer : Memecahkan ( menyelesaikan ) masing-masing upa-masalah ( secara rekursif ). Combine : Menggabungkan solusi masing-masing upa-masalah sehingga membentuk solusi masalah semula. Objek masalah yang di bagi adalah masukan (input) atau instances yang berukuran n: tabel (larik), matriks, dan sebagainya, bergantung pada masalahnya. Tiap-tiap upa-masalah mempunyai karakteristik yang sama (the same type) dengan karakteristik masalah asal, sehingga metode Divide and Conquer lebih natural diungkapkan dalam skema rekursif. Sesuai dengan karakteristik pembagian dan pemecahan masalah tersebut, maka algoritma ini dapat berjalan baik pada persoalan yang bertipe rekursif (perulangan dengan memanggil dirinya sendiri). Dengan demikian, algoritma ini dapat diimplementasikan dengan cara iteratif ( perulangan biasa ), karena pada prinsipnya iteratif hampir sama dengan rekursif. Salah satu penggunaan algoritma ini yang paling populer adalah dalam hal pengolahan data yang bertipe array ( elemen larik ). Mengapa ? Karena pengolahan array pada umumnya selalu menggunakan prinsip rekursif atau iteratif. Penggunaan secara spesifik adalah untuk mencari nilai minimal dan maksimal serta untuk mengurutkan elemen array. Dalam hal pengurutan ini ada empat macam algoritma pengurutan yang berdasar pada algoritma Divide and Conquer, yaitu merge sort, insert sort, quick sort, dan selection sort. Merge sort dan Quick sort mempunyai kompleksitas algoritma O(n ²log n). Hal ini lebih baik jika dibandingkan dengan pengurutan biasa dengan menggunakan algoritma brute force. Skema Umum Algoritma Divide and Conquer : 2. Penerapan Algoritma 2.1. Pemecahan Masalah Convex Hull dengan Algoritma Divide and Conquer Pada penyelasaian masalah pencarian Convex Hull dengan menggunakan algoritma Divide and Conquer, hal ini dapat dipandang sebagai generalisasi dari algoritma pengurutan merge sort. Berikut ini merupakan garis besar gambaran dari algoritmanya: Pertama-tama lakukan pengurutan terhadap titik-titik dari himpunan S yang diberika berdasarkan koordinat absis-X, dengan kompleksitas waktu O(n log n). Jika |S| ≤ 3, maka lakukan pencarian convex hull secara brute-force dengan kompleksitas waktu O(1). (Basis). Jika tidak, partisi himpunan titik-titik pada S menjadi 2 buah himpunan A dan B, dimana A terdiri dari setengah jumlah dari |S| dan titik dengan koordinat absix-X yang terendah dan B terdiri dari setengah dari jumlah |S| dan titik dengan koordinat absis-X terbesar. Secara rekursif lakukan penghitungan terhadap HA = conv(A) dan HB = conv(B). Lakukan penggabungan (merge) terhadap kedua hull tersebut menjadi convex hull, H, dengan menghitung da mencari upper dan lower tangents untuk HA dan HB dengan mengabaikan semua titik yang berada diantara dua buah tangen ini. Permasalahan convex hull adalah sebuah permasalahan yang memiliki aplikasi terapan yang cukup banyak, seperti pada permasalahan grafika komputer, otomasi desain, pengenalan pola (pattern recognition), dan penelitian operasi. Divide and Conquer adalah metode pemecahan masalah yang bekerja dengan membagi masalah menjadi beberapa upa-masalah yang lebih kecil, kemudian menyelesaikan masing-masing upa-masalah tersebut secara independent, dan akhirnya menggabungkan solusi masing-masing upa-masalah sehingga menjadi solusi dari masalah semula. Algoritma Divide and Conquer merupakan salah satu solusi dalam penyelesaian masalah convex hull. Algoritma ini ternyata memiliki kompleks

Riview artikel tentang Block Cipher

 Nama:Bayu cahyadi   Npm 19316085 #permasalahan block cipher melakukan penelitian tentang perancangan  Kriptografi Block Cipher dalam sebuah...