• Tidak ada hasil yang ditemukan

Laporan Akhir Praktikum Algoritma dan Ko

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan Akhir Praktikum Algoritma dan Ko"

Copied!
11
0
0

Teks penuh

(1)

Laporan Akhir Praktikum

Algoritma dan Komputasi Numerik

AKN 3

-( Judul Modul

)

Nama

: Puspita Melati Anggaeni

NPM

:140310160050

Hari/Tanggal

: kamis/23 Maret 2017

Waktu

: 07.30 – 10.00

Asisten

: A.F Al-Fikri

LABORATORIUM KOMPUTER DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PADJADJARAN

(2)

V. Tugas Praktikum

5.1 Fungsi Tanpa Mengahsilkan Nilai a. Listing Program

Listing program awal

#include <stdio.h> main()

{

hapus() garis()

printf("\n laboratorium komputer ");

printf("\n praktikum algoritma pemrogrograman "); printf("\n praktikum IV penggunaan fungsi "); printf("\n ");

printf("\n jurusan fisika ");

printf("\n fakultas matematika dan ilmu pengetahuan alam "); printf("\n universitas padjadjaran ");

printf("\n 2016 "); garis();

(3)

#include <stdio.h>

printf("\n laboratorium komputer ");

printf("\n praktikum algoritma pemrogrograman "); printf("\n praktikum IV penggunaan fungsi "); printf("\n ");

printf("\n jurusan fisika ");

printf("\n fakultas matematika dan ilmu pengetahuan alam "); printf("\n universitas padjadjaran ");

printf("\n 2016 "); garis();

hapus();

}

(4)

c. Analisa

pada listing program yang awal tidak bias di compile karena terdapat banyak error. Modifikasi dilakukan pada posisi fungsi utama yang jadi diletakan sebelum fungsi hapus dan garis, menambahkan tanda “;” setelah pemanggilan fungsi garis dan hapus yang ada di fungsi utama dan menyimpan kedua pemanggilan fungsi itu di bawah. Dan hasil dari modifikasinya terlihat pada tampilan gambar diatas.

Fungsi pada listing program diatas merupakan fungsi tanpa nilai balik cirinya dapat diketahui dengan mudah yaitu tidak adanya sintaks return. Karena biasanya fungsi dengan nilai balik melibatkan nilai sedangkan program diatas tidak.

5.2 Penggunaan Fungsi Dalam Library C

a. Listing Program

#include <stdio.h> #include <math.h> #define pi 3.14159

(5)

int i,j; printf("\n"); for(i=1;i<=1;++i) {

for(j=1;j<=30;j++) printf("*");

printf("\n"); }

}

main () {

int sudut;

float sinus, cosinus, tangen, radian; radian=180/pi;

garis();

printf ("sudut\tsinus\tcosinus\ttangen\n"); garis();

for (sudut=0; sudut<=360; sudut+=15) { sinus =sin (sudut/radian);

cosinus=cos (sudut/radian); tangen=tan (sudut/radian);

printf ("%d\t%.2f\t%.2f\t%.2f\n", sudut, sinus, cosinus, tangen);

}

}

b. Tampilan Program

(6)

dalam pembuatan deret tabel sinus, cosinusa dan tangen ini menggunakan file header math.h karena fungsi trigonometri ini terdapat pada library math.h yang jelas tidak akan tredapat di file header stdio.h. pada pembuatan tabelnya digunakan juga struktur pengulangan for. Listing program yang digunakan tertera diatas dan menghasilkan tampilan program tersebut.

5.3 Fungsi Yang Menghasilkan Nilai a. Listing Program

/*Program 3 */ #include <stdio.h>

float fibonacci (int a, int b) {

return (a+b); }

main () {

int i, N, bil1, bil2, bil3;

printf ("Masukan banyaknya bilangan yang akan ditampilkan : ");

scanf ("%d", &N);

printf ("Masukan bilangan pertama : "); scanf ("%d", &bil1);

printf ("Masukan bilangan kedua : "); scanf ("%d", &bil2);

printf ("%d,%d,", bil1, bil2); for (i=1; i<=N-2; i++)

{

bil3 = fibonacci (bil1, bil2); printf ("%d,", bil3);

bil1 = bil2; bil2 = bil3; }

printf ("\n"); return 0; }

(7)

c. Analisa

pada program diatas terdapat fungsi sebelum fungsi utamanya. Fungsi tersebut merupakan fungsi dengan nilai balik dicirikan dengan adanya sintaks return. Pada fungsi diatas, nilai yang dibalikan adalah nilai penjumlahan antara variable a dan variable b. fungsi fibonanci dipanggil pada fungsi utama dan menghasilkan hasil penjumlahan antara bil1 dan bil2 yang mana bila1 jadi parameter a dan bil2 jadi parameter b. fungsi ini menggunakan struktur pengulangan for sehingga proses akan terus berlanjut sampai syarat banyaknya pengulangna terpenuhi.

5.4 Pointer dan Fungsi a. Listing Program

// program 4 #include<stdio.h>

void luaspersegi (int*); main ()

{

int sisi;

printf ("input panjang sisi persegi: "); scanf(" %d", &sisi);

luaspersegi (&sisi);

printf(" luas persegi adalah %d \n", sisi); return 0;

}

void luaspersegi (int *ptr_sisi) {

(8)

b. Tampilan Program

c. Analisa

program dengan diatas dinyatakan berhasil. Dengan masukan nilai sisi perseginya 4 maka muncul luar perseginya 16.

VI. Tugas Akhir

6.1 Menghitung nilai permutasi dan kombinasi a. Listing Program

#include <stdio.h> #include <conio.h>

long int faktorial (int a, int b) {

return (a*b); }

long int permutasi (int c, int d) {

return (c*d); }

long int combinasi (int e, int f) {

return (e*f); }

main () {

int i, N, r, j, k, h, P, R, a, L; long int f;

printf ("masukan nilai n : "); scanf ("%d", &N); printf ("masukan nilai r : "); scanf ("%d", &r); f=1;

(9)

h=1; k=N-r;

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

f = faktorial (f,i); }

for (a=1; a<=r; a++) {

R = combinasi (R,a); }

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

h = permutasi (h,j); }

P=f/h; L=f/(R*h);

printf ("\n%d permutasi %d : %d\n\n", N,r,P); printf ("%d combinasi %d : %d", N,r,L);

getch (); }

b. Tampilan Program

c. Analisa

(10)

pada fungsi utama. Pada program utama untuk menyelesaikannya menggunakan struktur pengulangan for.

printf ("masukan nilai n : "); scanf ("%d", &N);

printf ("masukan nilai r : "); scanf ("%d", &r); f=1;

f = faktorial (f,i); }

for (a=1; a<=r; a++) {

R = combinasi (R,a); }

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

h = permutasi (h,j); }

Pada pemanggilan fungsi factorial, parameter a menjadi f yang mana f bernilai 1 dn parameter i menjadi nilai yang mengalami struktur pengulangan. Dimulia dari 1 sampai sejumlah batas N yang dideklarasikan.

Pada pemanggilan kombinasi, parameter c menjadi R dan parameter d menjadi a yang mana a dideklarasikan oleh struktur perulangan for. Nilai a dimulia dari 1 sampai sejumlah batas r yang dideklarasikan.

Begitu juga pada pemanggilan permutasi. Parameter e menjadi h dan parameter f menjadi j. yang mana f dan j masing masing dinyatakan sesuai listing program diatas dan tak jauh beda penjelasannya seperti pada kombinasi dan factorial. Dan untuk menentukan masing masing nilai dari permutasi dan kombinasi adalah dengan

P=f/h; L=f/(R*h);

Dimana telah disesuaikan dengan rumus matematikannya.

6.2 Deret Fibonacci a. Listing Program

//tugas akhir 2 #include <stdio.h>

float fibonacci(int *a, int *b) {

(11)

} main() {

int i, N, a, b, c;

printf("Masukkan banyaknya bilangan yang akan ditampilkan : ");scanf("%d",&N);

printf("Masukkan bilangan pertama : ");scanf("%d",&a); printf("Masukkan bilangan kedua : ");scanf("%d",&b); printf("%d,%d,",a,b);

for (i=1; i<=N-2; i++) {

c = fibonacci(&a,&b); printf("%d,",c); a = b;

b = c; }

printf("\n"); return 0;}

b. Tampilan Program

c. Analisa Program

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk menganalisis pengaruh produk domestik bruto terhadap utang luar negeri dan hubungan kausalitas antara investasi dengan pertumbuhan

Sehingga dapat disimpulkan terdapat perbedaan penurunan tekanan darah sistolik dan diastolik yang bermakna pada penderita hipertensi setelah dilakukan terapi bekam

Penyusunan laporan Proyek Akhir ini dilaksanakan demi memenuhi syarat untuk memperoleh gelar sarjana pada program Studi Desain Komunikasi Visual Fakultas Arsitektur dan

[r]

Kegiatan pembelajaran remedial dengan pemanfaatan tutor sebayamelalui belajar kelompok untuk menjawab pertanyaan yang diberikan guru terkait materi kondisi geologi

Hal ini juga sesuai dengan korelasi positif yang diperoleh dalam penelitian ini, yaitu peningkatan pada kondisi psychological well-being juga akan diikuti dengan

Babak penyisihan akan diikuti oleh seluruh tim yang telah melakukan registrasi dan telah memenuhi persyaratan sebagai Peserta Lomba Cerdas Cermat Ekonomi Pertanian (LCCEP) Babak

Dengan asumsi bahwa tujuan keberhasilan reforestasi adalah indeks unsur hara mikro linier terhadap umur tanaman sampai mencapai kondisi hutan alam, dan terdapat hubungan yang