File tree Expand file tree Collapse file tree 2 files changed +89
-0
lines changed Expand file tree Collapse file tree 2 files changed +89
-0
lines changed Original file line number Diff line number Diff line change 1+ def faktorial_looping (angka : int ) -> int :
2+ """
3+ Faktorial adalah hasil perkalian dari semua bilangan positif yang dimulai
4+ dari 1 hingga bilangan tersebut, notasi dalam faktorial dilambangan dengan
5+ exclamation `angka!` / `n!` / `number!`
6+
7+ pendekatan perhitungan ini menggunakan metode looping, salah satunya dengan
8+ menggunakan looping `for` statement.
9+
10+ sebagai contoh:
11+
12+ 5 x 4 x 3 x 2 x 1 = 120, jika nilai yang diberikan nol maka hasilnya adalah 1
13+
14+ Parameter:
15+ angka (int): nilai yang dikalkulasi faktorialnya
16+
17+ Return:
18+ int: hasil nilai yang akan diberikan dari `angka!`
19+
20+ Contoh:
21+ >>> faktorial(5)
22+ 120
23+ >>> faktorial(2)
24+ 2
25+ >>> faktorial(10)
26+ 3628800
27+ """
28+ if not isinstance (angka , int ):
29+ raise TypeError ("fungsi faktorial() hanya bekerja dengan tipe data integer" )
30+
31+ if angka < 0 :
32+ raise ValueError ("parameter angka tidak boleh negatif" )
33+
34+ nilai : int = 1
35+ for i in range (1 , angka + 1 ):
36+ nilai *= i
37+ return nilai
38+
39+
40+ if __name__ == "__main__" :
41+ import doctest
42+
43+ doctest .testmod ()
44+
45+ angka : int = 3
46+ print (f"faktorial dari { angka } adalah: { faktorial_looping (3 )} " )
Original file line number Diff line number Diff line change 1+ def faktorial_rekursif (angka : int ) -> int :
2+ """
3+ Faktorial adalah hasil perkalian dari semua bilangan positif yang dimulai
4+ dari 1 hingga bilangan tersebut, notasi dalam faktorial dilambangan dengan
5+ exclamation `angka!` / `n!` / `number!`
6+
7+ pendekatan perhitungan ini menggunakan pendekatan rekursif, dengan memanggil
8+ fungsinya sendiri hingga mencapai base casenya.
9+
10+ sebagai contoh:
11+
12+ 5 x 4 x 3 x 2 x 1 = 120, jika nilai yang diberikan nol maka hasilnya adalah 1
13+
14+ Parameter:
15+ angka (int): nilai yang dikalkulasi faktorialnya
16+
17+ Return:
18+ int: hasil nilai yang akan diberikan dari `angka!`
19+
20+ Contoh:
21+ >>> faktorial(5)
22+ 120
23+ >>> faktorial(2)
24+ 2
25+ >>> faktorial(10)
26+ 3628800
27+ """
28+ if not isinstance (angka , int ):
29+ raise TypeError ("fungsi faktorial() hanya bekerja dengan tipe data integer" )
30+
31+ if angka < 0 :
32+ raise ValueError ("parameter angka tidak boleh negatif" )
33+
34+ return 1 if angka in {0 , 1 } else angka * faktorial_rekursif (angka - 1 )
35+
36+
37+ if __name__ == "__main__" :
38+ import doctest
39+
40+ doctest .testmod ()
41+
42+ angka : int = 3
43+ print (f"faktorial dari { angka } adalah: { faktorial_rekursif (3 )} " )
You can’t perform that action at this time.
0 commit comments