Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2

Presentasi serupa


Presentasi berjudul: "TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2"— Transcript presentasi:

1 TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Dosen: Abdillah, S.Si, MIT Website:

2 Tujuan Mahasiswa mampu menyelesaikan masalah berdasar contoh algoritma penyelesaian masalah dan listing programnya.

3 1. Menentukan Faktorial Buatlah algoritma dan program C yang membaca nilai N, kemudian memanggil fungsi Faktorial yang menghitung N! = 1 x 2 x 3 x ... x N dan mengembalikan nilai N! Program utama kemudian menampilkan nilai N! tersebut di akhir program.

4 Algoritma PROGRAM Hitung_Faktorial
{ Program yang menghitung nilai faktorial } DEKLARASI N : integer function Faktorial (input N : integer) → integer ALGORITMA: read (N) write (N! = Faktorial(N))

5 Algoritma function Faktorial (input N : integer) → integer
{ Menghitung nilai N faktorial } DEKLARASI i, faktorial : integer ALGORITMA: faktorial ← 1; for (i←1 to N) do faktorial ← faktorial * i i ← i + 1 return faktorial

6 #include <stdio.h>
int Faktorial(int N); void main() { int N; printf("N = "); scanf("%d", &N); printf("N! = %d \n", Faktorial(N)); } int Faktorial(int N) /* Mengembalikan nilai N faktorial */ int i, faktorial = 1; for (i=1; i<=N;i++) faktorial = faktorial * i; return faktorial;

7 2. Menentukan Perpangkatan
Buatlah algoritma dan program C yang membaca nilai x dan y kemudian memanggil fungsi pangkat yang menghitung perpangkatan xy dan mengembalikan nilai xy. Program juga menampilkan nilai xy tersebut di layar monitor

8 Algoritma PROGRAM Hitung_Pangkat
{ Program yang menghitung nilai x pangkat y } DEKLARASI x : integer function Pangkat (input x : integer) → integer ALGORITMA: read (x) write (xy = Pangkat(x))

9 Algoritma function Pangkat (input x : integer) → integer
{ Menghitung nilai x pangkat y } DEKLARASI i,y, pangkat: integer ALGORITMA: read (y) pangkat ← 1 for (i←1 to y) do pangkat ← pangkat * x i ← i + 1 return pangkat;

10 #include <stdio.h> int Pangkat(int x); void main() { int x;
printf("x = "); scanf("%d", &x); printf("x pangkat y = %d \n", Pangkat(x)); } int Pangkat(int x) /* Mengembalikan nilai x pangkat y */ int i,y,pangkat = 1; printf("y = "); scanf("%d", &y); for (i=1; i<=y;i++) pangkat = pangkat * x; return pangkat;

11 3. Menghitung Deret Buatlah algoritma dan program C yang membaca nilai N kemudian memanggil fungsi deret yang menghitung N dan mengembalikan nilai penjumlahan deret. Program juga menampilkan nilai penjumlahan deret tersebut di layar monitor.

12 Algoritma PROGRAM Hitung_Deret { Program yang menghitung nilai deret }
DEKLARASI N : integer function Deret (input N : integer) → integer ALGORITMA: read (N) write (Jumlah deret N = Deret(N))

13 Algoritma function Deret (input N : integer) → integer
{ Menghitung nilai deret N } DEKLARASI i, deret : integer ALGORITMA: deret ← 0; for (i←1 to N)do deret ← deret + i i ← i + 1 return deret;

14 Fungsi Rekursif Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Jadi di dalam fungsi tersebut terdapat suatu baris program yang memanggil dirinya sendiri. Proses rekursi tersebut terjadi secara berulang-ulang, sehingga di dalam fungsi rekursif harus diberi suatu kondisi yang dapat mengakhiri proses rekursi. Menghitung Faktorial merupakan sebuah contoh yang sering diberikan dalam rangka membahas fungsi rekursif.

15 Algoritma Program Hitung_Faktorial
{Menghitung n faktorial, n > 0} DEKLARASI n, f : integer function Faktorial (input N : integer)  integer ALGORITMA: read (n) if n<0 then write (warning) else f ← Faktorial (n) write (n! = f)

16 Algoritma Fungsi Faktorial
function Faktorial(input N : integer) integer { Mengembalikan nilai rekursif N*Faktorial(N-1) } DEKLARASI F : integer ALGORITMA: if N0 then return 1 else F ← N * Faktorial (N-1) return (F)

17

18 #include <stdio.h>
int Faktorial(int N); void main() { int f, n; printf("Masukkan suatu bilangan bulat : "); scanf("%d",&n); if (n<0) printf("Bilangan harus positif!"); } else { f = Faktorial(n); printf("Nilai %d! adalah : %d", n, f); }

19 int Faktorial(int N) { int F; if (N<=1) return(1); else { F = N * Faktorial(N-1); return(F); }


Download ppt "TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2"

Presentasi serupa


Iklan oleh Google