Anda di halaman 1dari 14

TUGAS 1

STRATEGI ALGORITMA

DISUSUN OLEH
Andri Pratama (2100018249)
Kelas E

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS AHMAD DAHLAN


1. Membuat algoritma
• Algoritma program jumlah n integer
Deklarasi : n,i(integer), start,stop,duration(auto)
Deskripsi :
read(n)
start ← high_resolution_clock::now()
sum ← 0
for i ←1 to n do:
sum ← sum + i
stop ← high_resolution_clock::now()
duration ← (stop-start)
print(sum)
print(duration)
• Algoritma program 2 pangkat n
Deklarasi : power(double), n,i(integer), start,stop,duration(auto)
Deskripsi :
read(n)
start ← high_resolution_clock::now()
power ← 0
for i ←1 to n do:
power ← power * 2
stop ← high_resolution_clock::now()
duration ← (stop-start)
print(power)
print(duration)
• Algoritma program n faktorial
Deklarasi : faktorial,n,i(integer), start,stop,duration(auto)
Deskripsi :
read(n)
start ← high_resolution_clock::now()
faktorial ← 0
for i ←1 to n do:
faktorial ← faktorial * i
stop ← high_resolution_clock::now()
duration ← (stop-start)
print(faktorial)
print(duration)

2. Program
Pada code program ditambahkan loop for dari 1 hingga 50 untuk mengetes data n dari 1-50.
• Membuat program jumlah dari n integer dalam c++ dan python.
Code C++
Hasil test data n 1-50

Nilai n Waktu eksekusi (nanosecond)


1 110
2 40
3 40
4 30
5 50
6 30
7 30
8 30
9 30
10 30
11 70
12 30
13 30
14 80
15 30
16 30
17 20
18 30
19 30
20 20
21 30
22 20
23 30
24 30
25 30
26 30
27 30
28 30
29 30
30 30
31 30
32 30
33 20
34 20
35 30
36 71
37 30
38 30
39 20
40 30
41 30
42 31
43 29
44 31
45 20
46 31
47 29
48 31
49 70
50 30

Code Python
Hasil test data n 1-50

Nilai n Waktu eksekusi (nanosecond)


1 6000
2 3500
3 3900
4 3100
5 3300
6 2800
7 3100
8 2700
9 1800
10 2600
11 3900
12 3300
13 5400
14 3900
15 4900
16 5200
17 5400
18 3800
19 4100
20 3400
21 4400
22 4000
23 4100
24 4300
25 5100
26 4500
27 6900
28 5800
29 5900
30 5300
31 5500
32 4900
33 5800
34 5900
35 5500
36 6200
37 9200
38 10700
39 12800
40 7000
41 5800
42 5000
43 7100
44 5200
45 6000
46 4900
47 5100
48 6900
49 6500
50 5800

• Membuat program 2 pangkat n dalam c++ dan python.


Code C++
Hasil

Nilai n Waktu eksekusi (nanosecond)


1 110
2 30
3 20
4 60
5 30
6 30
7 40
8 30
9 30
10 30
11 30
12 30
13 30
14 20
15 30
16 30
17 30
18 30
19 20
20 40
21 60
22 30
23 40
24 20
25 30
26 30
27 30
28 30
29 30
30 40
31 30
32 40
33 30
34 30
35 30
36 30
37 30
38 40
39 20
40 60
41 30
42 20
43 30
44 30
45 30
46 40
47 30
48 30
49 40
50 40
Code Python

Hasil

Nilai n Waktu eksekusi (nanosecond)


1 4800
2 16000
3 3100
4 3700
5 4700
6 4100
7 3100
8 4100
9 3500
10 3600
11 3800
12 3500
13 4200
14 3300
15 5200
16 4800
17 4900
18 3600
19 4700
20 4300
21 4900
22 5800
23 5700
24 5700
25 6000
26 4300
27 5900
28 8900
29 5100
30 3800
31 11800
32 7300
33 6700
34 5900
35 6200
36 5400
37 6600
38 7100
39 7200
40 6900
41 7100
42 7600
43 6800
44 6600
45 7100
46 5600
47 7600
48 7600
49 5700
50 7700

• Membuat program n factorial dalam c++ dan python.


Code C++
Hasil

Nilai n Waktu eksekusi (nanosecond)


1 100
2 51
3 71
4 60
5 60
6 60
7 80
8 40
9 49
10 49
11 49
12 51
13 51
14 71
15 49
16 51
17 49
18 40
19 40
20 69
21 60
22 60
23 40
24 60
25 49
26 69
27 51
28 71
29 100
30 89
31 49
32 60
33 80
34 60
35 80
36 80
37 89
38 80
39 80
40 91
41 80
42 69
43 89
44 80
45 91
46 80
47 80
48 80
49 89
50 89

Code Python
Hasil

Nilai n Waktu eksekusi (nanosecond)


1 5200
2 5200
3 5900
4 8100
5 26900
6 7700
7 8300
8 6800
9 5000
10 5100
11 3500
12 4500
13 4200
14 4800
15 5300
16 5400
17 5700
18 4400
19 4700
20 3800
21 5900
22 4600
23 7000
24 6600
25 7200
26 8200
27 11200
28 9700
29 6100
30 4600
31 6800
32 7200
33 9000
34 9800
35 7000
36 4700
37 6500
38 7700
39 5700
40 9100
41 9100
42 7700
43 6500
44 6200
45 6200
46 6400
47 9100
48 9000
49 6700
50 8800
Analisis

Dari kasus ketiga program diatas urutan waktu komputasi algoritma dari yang terbaik adalah
penjumlahan n bilangan(sum of n), kemudian 2 pangkat n(2 power n), dan terakhir n factorial.
Kemudian dari antara 2 bahasa, bahasa pemrograman C++ memiliki waktu eksekusi paling rendah
dibandingkan dengan bahawa pemrograman Python di semua program.

Penjumlahan n bilangan terbaik karena penjumlahan karena kompleksitas waktu yang paling sedikit
dan program hanya berupa loop simple dan penjumlahan, sementara itu untuk program 2 pangkat n
menggunakan perkalian pada tiap perulangan dan cenderung memiliki memory yang lebih banyak,
dan terakhir factorial di posisi akhir karena pada tiap perulangan diperlukan perkalian yang lebih
banyak dan tipe data double sehingga membutuhkan memory yang lebih daripada program yang
lain.

Anda mungkin juga menyukai