Semua Mapel

Sabtu, 24 Desember 2011

P.Dasprog

MATRIK

#include<stdio.h>
int main()
{
    int a[100][100], b[100][100], c[100][100], d[100][100];
    int barisa, koloma, barisb, kolomb, i, j;
    printf ("Masukkan jumlah baris matriks A = ");
    scanf ("%d",&barisa);
    printf ("Masukkan jumlah kolom matriks A = ");
    scanf ("%d",&koloma);
    printf ("\n");
    printf ("Masukkan jumlah baris matriks B = ");
    scanf ("%d",&barisb);
    printf ("Masukkan jumlah kolom matriks B = ");
    scanf ("%d",&kolomb);
    printf ("\n");
    printf ("Memasukkan data elemen Matriks\n\n");
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            printf ("Elemen Matriks A[%d][%d] = ",i,j);
            scanf ("%d",&a[i][j]);
        }
        printf ("\n");
    }
    for (i = 0; i < barisb; i++)
    {
        for (j = 0; j < kolomb; j++)
        {
            printf ("Elemen Matriks B[%d][%d] = ",i,j);
            scanf ("%d",&b[i][j]);
        }
        printf ("\n");
    }
    printf ("\n");
    printf ("Menampilkan Matriks\n\n");
    printf ("Matriks A\n");
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            printf ("%d\t",a[i][j]);
        }
        printf ("\n");
    }
    printf ("\n");
    printf ("Matriks B\n");
    for (i = 0; i < barisb; i++)
    {
        for (j = 0; j < kolomb; j++)
        {
            printf ("%d\t",b[i][j]);
        }
        printf ("\n");
    }
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            c[i][j] = a[i][j] + b[i][j];
        }
    }
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            d[i][j] = a[i][j] - b[i][j];
        }
    }
    printf ("\n");
    printf ("Hasil penjumlahan matriks A dan matriks B\n");
    printf ("Matriks C\n");
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            printf ("%d\t",c[i][j]);
        }
    printf ("\n");
    }
    printf ("\n");
    printf ("Hasil pengurangan matriks A dan matriks B\n");
    printf ("Matriks D\n");
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            printf ("%d\t",d[i][j]);
        }
    printf ("\n");
    }
    printf ("\n");
    printf ("Hasil transpose matriks A\n");
    for (i = 0; i < barisa; i++)
    {
        for (j = 0; j < koloma; j++)
        {
            printf ("%d\t",a[j][i]);
        }
    printf ("\n");
    }
    return 0;
}

Tujuan :
·         Mahasiswa memahami dan mengimplementasikan tentang implementasi fungsi.
Dasar Teori : (Mencakup tentang pembuatan dan penggunaan fungsi)
Fungsimerupakan bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dalam sebuah program, dan letaknya dipisahkan dari program yang menggunakannya. Program dalam bahasa C dibentuk dari kumpulan – kumpulan fungsi, seperti fungsi utama, fungsi pustaka, maupun fungsi yang dibuat oleh pemrograman.
Manfaat Fungsi :
·         Fungsi menjadikan program C memiliki struktur yang jelas. Dengan memisahkan langkah-langkah detil ke satu atau lebih fungsi, maka fungsi utama (main( )) akan menjadi lebih pendek, jelas dan mudah dimengerti.
Fungsi-fungsi dapat dijinkan untuk menghindari penulisan yang sama berulang-ulang. Langkah-langkah program yang sama dan sering digunakan berulang-ulang dapat ditulis sekali saja secara terpisah dalam bentuk fungsi-fungsi, selanjutnya bagian program yang membutuhkan langkah-langkah ini cukup memanggil fungsi-fungsi tersebut.
Nilai akhir dari suatu fungsi adalah nilai yang dikembalikan oleh fungsi berdasarkan input parameter-parameter yang dimasukkan


Di dalam fungsi dikenal istilah Parameter Formal dan Parameter Aktual :
A. Parameter formaladalah parameter yang terdapat pada pendefinisian sebuah fungsi.
B. Parameter aktualadalah parameter yang terdapat pada saat pemanggilan fungsi.


A. Variabel lokal:
- Variabel yang nama dan nilainya hanya dikenal di suatu blok statement tertentu saja atau di dalam suatu fungsi. Variabel lokal harus dideklarasikan di dalam blok bersangkutan. Variabel lokal akan dihapus dari memori jika proses sudah meninggalkan blok statement letak variable lokalnya.
B. Variabel global:
- Variabel yang dikenal di semua bagian-bagian tertentu dari program. Variabel global dapat dibuat dengan cara mendeklarasikannya di luar suatu blok statement atau di luar fungsi-fungsi yang menggunakannya.

Contoh Program Array:
#include
{
void main(){
int arrayku[3];

arrayku[0]=5;
arrayku[1]=13;
arrayku[2]=22;

printf("%d ", arrayku[0]);
printf("%d ", arrayku[1]);
printf("%d ", arrayku[2]);
}

Output :
5 13 22

Contoh program function :
#include
double Absolute(); //deklarasi fungsi Absolut

main(){
float nilai;

Nilai = -123.45;
println(“%7.2f nilai mutlaknya adalah %7.2f\n”,Nilai. Absolut(Nilai));
}

//Fungsi untuk memutlakkan nilai negatif
double Absolut (double X) //definisi fungsi
{
if(X<0) X=-X;
return(X);
}










Langkah – Langkah :
 Buatlah program sederhana seperti di bawah ini:
A. Simpan dengan nama P6a.c

 no chat???

A.    Compile dan eksekusi program di atas kemudian jelaskan hasilnya!
B.     Modifikasi program sederhana tersebut supaya bisa membantu untuk menghitung luas dan keliling segiempat/persegipanjang, segitiga dan lingkaran!

Hasil A:
#include<stdio.h>
void main()
{
            int s,L;
            printf("masukkan panjang sisi persegi : ");
            scanf("%d",&s);
            printf("luas persegi tersebut adalah %d \n",luaspersegi (s));
            printf("sedangkan kelilingnya adalah %d \n",kelilingpersegi(s));
}
            int luaspersegi(int sisi)
{
            return sisi*sisi;
}
            int kelilingpersegi(int sisi)
{
            return 4*sisi;
}

  hasilnya:
syahril@syahril-laptop:~$ gedit p6a.c
syahril@syahril-laptop:~$ gcc p6a.c
syahril@syahril-laptop:~$ gcc p6a.c -o hasil
syahril@syahril-laptop:~$ ./hasil
masukkan panjang sisi persegi : 3
luas persegi tersebut adalah 9
sedangkan kelilingnya adalah 12
syahril@syahril-laptop:~$ ./hasil
masukkan panjang sisi persegi : 5
luas persegi tersebut adalah 25
sedangkan kelilingnya adalah 20

Penjelasan
User memasukkan panjang sisi , kemudian program akan menghitung luas dan keliling secara otomatis

Hasil Modifikasi:
a. Segitiga
#include<stdio.h>
int main()
{
            int a,t,sm;
            printf("masukkan alas : ");
            scanf("%d",&a);
            printf("masukkan tinggi : ");
            scanf("%d",&t);
            printf("masukkan sisimiring : ");
            scanf("%d",&sm);
            printf("luas segitiga adalah %d \n", luassegitiga (a,t));
            printf("keliling segitiga adalah %d \n", keliling (a,t,sm));
}
            int luassegitiga (int a,int t)
            {
            return a*t/2;
            }
            int keliling (int a,int t,int sm)
            {
            return a + t + sm;
            }

  hasilnya:
syahril@syahril-laptop:~$ gedit segitiga.c
syahril@syahril-laptop:~$ gcc segitiga.c -o hasil
syahril@syahril-laptop:~$ ./hasil
masukkan alas : 2
masukkan tinggi : 3
masukkan sisimiring : 5
luas segitiga adalah 3
keliling segitiga adalah 10
syahril@syahril-laptop:~$ ./hasil
masukkan alas : 5
masukkan tinggi : 2
masukkan sisimiring : 7
luas segitiga adalah 5
keliling segitiga adalah 14


b. P.panjang
#include<stdio.h>
int main()
{
            int p,l;
            printf("masukkan panjang persegi : ");
            scanf("%d",&p);
            printf("masukkan lebar persegi : ");
            scanf("%d",&l);
            printf("luas persegi panjang tsb adalah %d \n",luaspersegipanjang(p,l));
            printf("keliling persegi panjang tsb adalah %d \n",kelpersegipanjang(p,l));
}
            int luaspersegipanjang(int p,int l)
            {
            return p*l;
            }
            int kelpersegipanjang (int p,int l)
            {
            return (2*p)+(2*l);
            }
  hasilnya:
syahril@syahril-laptop:~$ gedit p.panjang.c
syahril@syahril-laptop:~$ gcc p.panjang.c
syahril@syahril-laptop:~$ gcc p.panjang.c -o hasil
syahril@syahril-laptop:~$ ./hasil
masukkan panjang persegi : 4
masukkan lebar persegi : 2
luas persegi panjang tsb adalah 8
keliling persegi panjang tsb adalah 12
syahril@syahril-laptop:~$ ./hasil
masukkan panjang persegi : 6
masukkan lebar persegi : 3
luas persegi panjang tsb adalah 18
keliling persegi panjang tsb adalah 18

c. Lingkaran
#include<stdio.h>
int main()
{
            int j,phi;
            printf("masukkan jari-jari lingkaran : ");
            scanf("%d",&j);
            printf("masukkan phi : ");
            scanf("%d",&phi);
            printf("luas lingkaran tsb adalah %d \n",luaslingkaran (j,phi));
            printf("keliling lingkaran tsb adalah %d \n",kellingkaran(j,phi));
}
            int luaslingkaran (int j,int phi)
            {
            return phi*(j*j);
            }
            int kellingkaran (int j,int phi)
            {
            return 2*phi*j;
            }
  hasilnya:
syahril@syahril-laptop:~$ gedit lingkaran.c
syahril@syahril-laptop:~$ gcc lingkaran.c
syahril@syahril-laptop:~$ gcc lingkaran.c -o hasil
syahril@syahril-laptop:~$ ./hasil
masukkan jari-jari lingkaran : 4
masukkan phi : 3
luas lingkaran tsb adalah 48
keliling lingkaran tsb adalah 24
syahril@syahril-laptop:~$ ./hasil
masukkan jari-jari lingkaran : 2
masukkan phi : 4
luas lingkaran tsb adalah 16
keliling lingkaran tsb adalah 16
syahril@syahril-laptop:~$

d. P.empat

#include<stdio.h>
int main()
{
            int s,l;
            printf("masukkan panjang sisi : ");
            scanf("%d",&s);
            printf("luas persegi empat tsb adalah %d \n",luaspersegi (s,l));
            printf("keliling persegi empat tsb adalah %d \n",kelpersegi (s,l));
}
            int luaspersegi (int s,int l)
            {
            return s*s;
            }
            int kelpersegi (int s,int l)
            {
            return 4*s;
            }

  hasilnya:
syahril@syahril-laptop:~$ gedit p_empat.c
syahril@syahril-laptop:~$ gcc p_empat.c
syahril@syahril-laptop:~$ gcc p_empat.c -o hasil
syahril@syahril-laptop:~$ ./hasil
masukkan panjang sisi : 2
luas persegi empat tsb adalah 4
keliling persegi empat tsb adalah 8
syahril@syahril-laptop:~$ ./hasil
masukkan panjang sisi : 5
luas persegi empat tsb adalah 25
keliling persegi empat tsb adalah 20


2.  Buatlah program dengan nama P6b.c dan P6c.c yang terdapat fungsi untuk membantu:
A.  Masalah 1 (P6b.c) : Menentukan sebuah bilangan tersebut prima apa bukan.
B.  Masalah 2 (P6c.c) : Menentukan hasil pangkat, misal pangkat(a,b) berarti ab.

Hasil :

A.Prima apa Bukan

#include <stdio.h>
main()
{         
int x,i,count=0;
printf("\n Masukkan sebuah angka:");
scanf("%d",&x);
for(i=2;i<=x/2;i++)
{
if(x%i==0)
count++;
}
if(count>0||x<2)
printf("\n%d Bukan Bilangan Prima \n",x);
else
printf("\n%d Bilangan Prima \n",x);
}
hasilnya:
syahril@syahril-laptop:~$ gedit p6b.c
syahril@syahril-laptop:~$ gcc p6b.c
syahril@syahril-laptop:~$ gcc p6b.c -o hasil
syahril@syahril-laptop:~$ ./hasil

 Masukkan sebuah angka:3

3 Bilangan Prima
syahril@syahril-laptop:~$ ./hasil

 Masukkan sebuah angka:6

6 Bukan Bilangan Prima
syahril@syahril-laptop:~$ ./hasil

 Masukkan sebuah angka:8

8 Bukan Bilangan Prima
syahril@syahril-laptop:~$ ./hasil

 Masukkan sebuah angka:2

2 Bilangan Prima

B.Hasil Pangkat

#include <stdio.h>
int pangkat (int a, int b)
{
            int i, bil = a;
            if(b==1)
            return a;
            else
            {
            for(i=2;i<=b;i++)
            a=a* bil;
            return a;
            }
}
main()
{
            int x,y,hasil;
            printf("Masukkan Sebuah Bilangan:");
            scanf ("%i",&x);
            printf("Masukkan Nilai Pangkat:");
            scanf("%i",&y);
            hasil = pangkat(x,y);
            printf("Hasil Pangkatnya adalah: %i \n",hasil);
}

hasilnya:

syahril@syahril-laptop:~$ gedit p6c.c
syahril@syahril-laptop:~$ gcc p6c.c
syahril@syahril-laptop:~$ gcc p6c.c -o hasil
syahril@syahril-laptop:~$ ./hasil
Masukkan Sebuah Bilangan:4
Masukkan Nilai Pangkat:2
Hasil Pangkatnya adalah: 16
syahril@syahril-laptop:~$ ./hasil
Masukkan Sebuah Bilangan:5
Masukkan Nilai Pangkat:3
Hasil Pangkatnya adalah: 125
syahril@syahril-laptop:~$ gedit p6c.c


Analisis dan hasil:
            hasil yang saya dapatkan pada praktikum ini adalah saya semakin paham tentang memogramkan data persegi.

Kesimpulan:
            jika kita paham tentang cara menyelesaikan program persegi dinantarannya satu saja maka gampang untuk memodifikasi program tsb.