Algoritma adalah prosedur langkah demi langkah untuk penghitungan ataupun dalam menyelesaikan suatu tugas atau masalah. Algoritma digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis. Algoritma adalah inti dari pemrograman, dimana semua intruksi dari awal sampai akhir diterapkan dengan menggunakan bahasa pemrograman.
Dalam perkuliahan seringkali muncul beberapa algoritma populer yang dibahas untuk kemudian dibuatkan langkah-langkah pengerjaannya sekaligus penulisannya dalam suatu bahasa pemrograman. Berikut ini diantaranya :
Deret Fibonacci
Deret Fibonacci adalah himpunan bilangan yang dimulai dengan angka satu atau nol, kemudian diikuti oleh satu, dan angka selanjutnya merupakan jumlah dari dua angka sebelumnya. Seperti misalnya: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#tentukan jumlah deret fibonacci Angka = 10 # tentukan angka pertama n1 = 0 # tentukan angka kedua n2 = 1 # jumlah angka yang dihitung count = 2 # periksa angka if Angka <= 0: print("Angka harus di atas 0") elif Angka == 1: print("Deret fibonacci : ",Angka,":") print(n1) else: print("Deret fibonacci : ",Angka,":") print(n1,",",n2,end=', ') while count < Angka: nth = n1 + n2 print(nth,end=' , ') # tukar nilai untuk mendapatkan 2 index terakhir n1 = n2 n2 = nth count += 1 |
Bilangan Prima
Bilangan prima adalah bilangan yang lebih dari 1 dan hanya habis dibagi oleh 1 dan dirinya sendiri. Misalnya : 2,3,5,7,11,13,17,19.
1 2 3 4 5 6 7 8 9 10 11 |
# tentukan batas bilangan prima yang akan dicari Angka = 50 #perulangan untuk mengecek bilangan prima for num in range(2,Angka): prima = True for i in range(2,num): if (num%i==0): prima = False if prima: print (num) |
Faktorial
Dalam matematika, faktorial dari bilangan asli n adalah hasil perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis sebagai n! dan disebut n faktorial. Misalnya 7! = 1 * 2 * 3 * 4 * 5 * 6 * 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# fungsi rekursif untuk perhitungan faktorial def faktorial(n): if n == 1: return n else: return n*faktorial(n-1) # tentukan angka untuk dicari nilai faktorialnya num = 5 # cek angka if num < 0: print("Angka harus di atas 0") elif num == 0: print("Faktorial dari 0 adalah 1") else: print("Faktorial dari ",num," adalah ",faktorial(num)) |
Bilangan Genap/Ganjil
Menentukan bilangan bilangan genap/ganjil dengan menggunakan mod (modulus). Mod (modulus) merupakan nilai sisa dari pembagian. Sangat simpel dalam penerapannya dengan bahasa pemrograman.
1 2 3 4 5 |
num = 3 if (num % 2) == 0: print("{0} adalah ganjil".format(num)) else: print("{0} adalah genap".format(num)) |
Terkadang 3 algoritma di atas digunakan ketika interview kerja, saya pernah mengalaminya 10 tahun yang lalu. Ketika itu ditanyakan algoritma fibonacci dan penyelesaiannya dengan menggunakan PHP.
Menentukan bilangan prima
1 2 3 4 5 6 7 8 9 10 11 12 |
$no = 1 ; while ($no < 100 ) { $ttl=0; for ( $i=1;$i<=$no;$i++) { if (($no%$i)==0) { $ttl++; } } if ($ttl<3) { echo $no." , "; } $no=$no+1; } |
Semoga bermanfaat 🙂
Bang untuk rekursif yg menampilkan deret prima itu ada gak?
Saya tambahkan di post, soalnya di komentar tidak bisa insert code