TEL 2112 Dasar Komputer Pemograman Contoh Pemecahan Masalah

  • Slides: 25
Download presentation
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2 Dosen: Abdillah, S. Si,

TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2 Dosen: Abdillah, S. Si, MIT Email: abdill 01@gmail. com Website: http: //abdill 01. wordpress. com

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

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

1. Menentukan Perpangkatan Buatlah algoritma dan program C yang membaca nilai x dan y

1. 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

Algoritma PROGRAM Hitung_Pangkat { Program yang menghitung nilai x pangkat y } DEKLARASI x

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))

Algoritma function Pangkat (input x : integer) → integer { Menghitung nilai x pangkat

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;

#include <stdio. h> int Pangkat(int x); void main() { int x; printf("x = ");

#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; }

2. Menghitung Deret Buatlah algoritma dan program C yang membaca nilai N kemudian memanggil

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

Algoritma PROGRAM Hitung_Deret { Program yang menghitung nilai deret } DEKLARASI N : integer

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))

Algoritma function Deret (input N : integer) → integer { Menghitung nilai deret N

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;

#include <stdio. h> int Deret(int N); void main() { int N; printf("N = ");

#include <stdio. h> int Deret(int N); void main() { int N; printf("N = "); scanf("%d", &N); printf("Jumlah deret N = %d n", Deret(N)); } int Deret(int N) /* Mengembalikan nilai deret N */ { int i, deret = 0; for (i=1; i<=N; i++) deret = deret + i; return deret; }

3. Menentukan Faktorial Buatlah algoritma dan program C yang membaca nilai N, kemudian memanggil

3. 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.

Algoritma PROGRAM Hitung_Faktorial { Program yang menghitung nilai faktorial } DEKLARASI N : integer

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))

Algoritma function Faktorial (input N : integer) → integer { Menghitung nilai N faktorial

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

#include <stdio. h> int Faktorial(int N); void main() { int N; printf("N = ");

#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; }

4. Menentukan Data Terkecil Tulislah algoritma untuk menentukan bilangan terkecil dari N buah data

4. Menentukan Data Terkecil Tulislah algoritma untuk menentukan bilangan terkecil dari N buah data integer yang dibaca dari papan ketik dan disimpan dalam sebuah array. Nilai N ditentukan maksimum 20.

Algoritma PROGRAM Cari_Minimum {Menentukan bilangan terkecil dari N buah data integer} DEKLARASI N =

Algoritma PROGRAM Cari_Minimum {Menentukan bilangan terkecil dari N buah data integer} DEKLARASI N = 20, bil[N], nmin, jml, i : integer function Min (input X[ ] , k : integer) → integer ALGORITMA: read (jml) for i 0 to jml do read ( bil[i] ) endfor nmin Min(bil[i] , jml) write (nmin)

Algoritma Fungsi Min function Min (input X[ ] , k : integer) → integer

Algoritma Fungsi Min function Min (input X[ ] , k : integer) → integer { Mengembalikan nilai minimum } DEKLARASI minimum : integer ALGORITMA: minimum ← X[0] for i 0 to k do if X[i] < minimum then minimum ← X[i] endif endfor return (minimum)

#include <stdio. h> #define N 20 int Min(int X[], int k); int i; void

#include <stdio. h> #define N 20 int Min(int X[], int k); int i; void main() { int jml, nmin, bil[N]; printf("Jumlah bilangan (maks 20) : "); scanf("%d", &jml); for (i=0; i<jml; i++) { printf("Bilangan ke %d : ", i+1); scanf("%d", &bil[i]); } nmin = Min(bil, jml); printf("Nilai minimum adalah : %d", nmin); }

int Min(int X[], int k) { int minimum = X[0]; for (i=0; i<k; i++){

int Min(int X[], int k) { int minimum = X[0]; for (i=0; i<k; i++){ if (X[i] < minimum) minimum = X[i]; } return minimum; }

5. Pengurutan Array ü Ada banyak metoda pengurutan array, namun salah satu metode yang

5. Pengurutan Array ü Ada banyak metoda pengurutan array, namun salah satu metode yang populer adalah Bubble Sort. ü Jumlah tahap pengurutan = jumlah bilangan – 1 ü Banyaknya perbandingan pada setiap tahap = jumlah bilangan – nomor tahap ü Misalnya Anda memiliki empat buah angka: 105 -7 -3 yang akan diurutkan dari yang terkecil hingga yang terbesar (ascending). Metode Bubble Sort akan membagi proses pengurutan menjadi tiga tahap

#include <stdio. h> #define N 20 int i, j, A[N]; void bubble(int n); void

#include <stdio. h> #define N 20 int i, j, A[N]; void bubble(int n); void main() { int jml; printf("Masukkan jumlah bilangan (maks 20) : "); scanf("%d", &jml); printf("n"); for (i=0; i<jml; i++) { printf("Bilangan ke %d : ", i+1); scanf("%d", &A[i]); } printf("n"); bubble(jml); printf("Data yang sudah terurut : n"); for (i=0; i<jml; i++) printf("%dn", A[i]); }

void bubble(int n) { int temp; for (i=1; i<=n-1; i++) { for (j=i; j<n;

void bubble(int n) { int temp; for (i=1; i<=n-1; i++) { for (j=i; j<n; j++) { if (A[i-1]>A[j]) { temp = A[i-1]; A[i-1] = A[j]; A[j] = temp; } } } }