Dosen abdillah s si mit email abdill01@gmail com website http abdill 01 wordpress com
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Dosen: Abdillah, S.Si, MIT Email: [email protected] Website: abdill 01 . wordpress PowerPoint PPT Presentation


  • 139 Views
  • Uploaded on
  • Presentation posted in: General

TEL 2112 Dasar Komputer & Pemograman C ontoh Pemecahan Masalah 2. Dosen: Abdillah, S.Si, MIT Email: [email protected] Website: http://abdill 01 . wordpress.com. Tujuan. Mahasiswa mampu menyelesaikan masalah berdasar contoh algoritma penyelesaian masalah dan listing programnya.

Download Presentation

Dosen: Abdillah, S.Si, MIT Email: [email protected] Website: abdill 01 . wordpress

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Dosen abdillah s si mit email abdill01@gmail com website http abdill 01 wordpress com

TEL 2112DasarKomputer & PemogramanContoh Pemecahan Masalah 2

Dosen: Abdillah, S.Si, MIT

Email: [email protected]

Website: http://abdill01.wordpress.com


Tujuan

Tujuan

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


1 menentukan perpangkatan

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

Algoritma

PROGRAM Hitung_Pangkat

{ Program yang menghitung nilai x pangkat y}

DEKLARASI

x : integer

function Pangkat (inputx : integer) → integer

ALGORITMA:

read (x)

write (xy = Pangkat(x))


Algoritma1

Algoritma

function Pangkat (inputx : 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;


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

#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

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.


Algoritma2

Algoritma

PROGRAM Hitung_Deret

{ Program yang menghitung nilai deret}

DEKLARASI

N : integer

function Deret (inputN : integer) → integer

ALGORITMA:

read (N)

write (Jumlah deret N = Deret(N))


Algoritma3

Algoritma

function Deret (inputN : 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;


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

#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

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.


Algoritma4

Algoritma

PROGRAM Hitung_Faktorial

{ Program yang menghitung nilai faktorial}

DEKLARASI

N : integer

function Faktorial (inputN : integer) → integer

ALGORITMA:

read (N)

write (N! = Faktorial(N))


Algoritma5

Algoritma

function Faktorial (inputN : 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


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

#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

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.


Algoritma6

Algoritma

PROGRAMCari_Minimum

{Menentukan bilangan terkecil dari N buah data integer}

DEKLARASI

N = 20, bil[N], nmin, jml, i : integer

function Min (inputX[],k : integer) → integer

ALGORITMA:

read (jml)

fori  0 to jmldo

read ( bil[i] )

endfor

nmin  Min(bil,jml)

write (nmin)


Algoritma fungsi min

Algoritma Fungsi Min

function Min (inputX[],k : integer) → integer

{ Mengembalikan nilai minimum }

DEKLARASI

minimum : integer

ALGORITMA:

minimum← X[0]

fori  0 to kdo

ifX[i] < minimum

thenminimum← X[i]

endif

endfor

return (minimum)


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

#include <stdio.h>

#define N 20

intMin(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);

}


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

intMin(int X[],int k)

{

int minimum = X[0];

for (i=1;i<k;i++){

if (X[i] < minimum)

minimum = X[i];

}

return minimum;

}


5 pengurutan array

5. Pengurutan Array

  • Adabanyakmetodapengurutan array, namunsalahsatumetode yang populeradalah Bubble Sort.

  • Jumlahtahappengurutan = jumlahbilangan – 1

  • Banyaknyaperbandinganpadasetiaptahap = jumlahbilangan – nomortahap

  • MisalnyaAndamemilikiempatbuahangka: 10-5-7-3 yang akandiurutkandari yang terkecilhingga yang terbesar (ascending). Metode Bubble Sort akanmembagiprosespengurutanmenjaditigatahap


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

#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("%d\n",A[i]);

}


Dosen abdillah s si mit email abdill01 gmail website abdill 01 wordpress

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;

}

}

}

}


  • Login