Wednesday 21 January 2015

Contoh proposisi tugas logika informatika




p
q
p ˄ q
17 adalah bilangan prima (benar)
Bilangan prima tidak selalu ganjil (benar )
17 adalah bilangan prima dan Bilangan prima tidak selalu ganjil (benar)
17 adalah bilangan prima (benar)
Bilangan prima selalu ganjil (salah )
17 adalah bukan bilangan prima dan Bilangan prima selalu ganjil (salah )
17 adalah bukan bilangan prima (salah)
Bilangan prima tidak selalu ganjil (benar )
17 adalah bukan bilangan prima dan Bilangan prima selalu ganjil (salah )
17 adalah bukan bilangan prima (salah)
Bilangan prima selalu ganjil (salah )
17 adalah bukan bilangan prima dan Bilangan prima selalu ganjil (salah )






p
q
p ˅ q
17 adalah bilangan prima (benar)
Bilangan prima tidak selalu ganjil (benar )
17 adalah bilangan prima atau Bilangan prima tidak selalu ganjil (benar)
17 adalah bilangan prima (benar)
Bilangan prima selalu ganjil (salah )
17 adalah bilangan prima  atau  Bilangan prima tidak selalu ganjil (benar)
17 adalah bukan bilangan prima (salah)
Bilangan prima tidak selalu ganjil (benar )
17 adalah bilangan prima  atau  Bilangan prima tidak selalu ganjil (benar)
17 adalah bukan bilangan prima (salah)
Bilangan prima selalu ganjil (salah )
17 adalah bukan bilangan prima  atau  Bilangan prima selalu ganjil (salah )

















P
                    ~ q
17 adalah bilangan prima (benar)
Bilangan prima selalu ganjil (salah )
17 adalah bukan bilangan prima (salah)
Bilangan prima tidak selalu ganjil (benar )

Contoh pernyataan proposisi tugas logika informatika

Contoh 1. Semua pernyataan di bawah ini adalah proposisi:
(a)    13 adalah bilangan ganjil
Apakah ini proposisi ?   YA
Karena nilai kebenaran dari pernyataan tersebut adalah 13 yang nilainya emang sudah di tentukan sebagai angka ganjil.
Apakah nilai kebenaran dari proposisi ini ? BENAR
(b)   Soekarno adalah alumnus UGM.
Apakah ini proposisi ?   YA
Karena pernyataan tersebut benar bahwa soekarno adalah alumni UGM
Apakah nilai kebenaran dari proposisi ini ? BENAR
(c)    1 + 1 = 2
Apakah ini proposisi ?   YA
Karena nilai kebenaran dari pernyataan tersebut adalah benar bahwa penjumlahan dari 1 + 1
adalah 2
Apakah nilai kebenaran dari proposisi ini ? BENAR

(d)   8 ³ akar kuadrat dari 8 + 8
Apakah ini proposisi ?   ya
Karena ini adalah sebuah dari pernyataan
Apakah nilai kebenaran dari proposisi ini ? Salah

(e)   Ada monyet di bulan
Apakah ini proposisi ?   ya
Karena ini adalah sebuah dari pernyataan
Apakah nilai kebenaran dari proposisi ini ? Salah

(f)     Hari ini adalah hari Rabu
Apakah ini proposisi ?   ya
Karena ini adalah sebuah dari pernyataan
Apakah nilai kebenaran dari proposisi ini ? Salah


(g)    Untuk sembarang bilangan bulat n ³ 0, maka 2n adalah bilangan genap
Apakah ini proposisi ?   YA
Nilai kebenaran dari pernyataan tersebut bergantung pada n, tapi nilainya belum ditentukan. Apabila di isi angka 2 /3 maka hasilnya akan tetap genap

(h)   x + y = y + x  untuk setiap x dan y bilangan Riil
Apakah ini proposisi ?   YA
Nilai kebenaran dari pernyataan tersebut bergantung pada x dan y, tapi nilainya belum ditentukan.
Pernyataan jenis ini kita sebut sebagai fungsi proposisi atau kalimat terbuka

Contoh 2. Semua pernyataan di bawah ini bukan proposisi
(a)    Jam berapa kereta api Argo Bromo tiba di Gambir?
Apakah ini sebuah pernyataan? TIDAK
Ini adalah sebuah pertanyaan
Apakah ini sebuah proposisi? TIDAK
Hanya pernyataanlah yang bisa menjadi proposisi.

(b)   Isilah gelas tersebut dengan air!       
Apakah ini sebuah pernyataan? TIDAK
Ini adalah sebuah permintaan
Apakah ini sebuah proposisi? TIDAK
Hanya pernyataanlah yang bisa menjadi proposisi.

(c)  x + 3 = 8
Apakah ini sebuah pernyataan? TIDAK
Nilai kebenaran dari pernyataan tersebut bergantung pada x, tapi nilainya belum ditentukan.
Pernyataan jenis ini kita sebut sebagai fungsi proposisi atau kalimat terbuka
Apakah ini sebuah proposisi? TIDAK
Hanya pernyataanlah yang bisa menjadi proposisi.


(d)  x > 3                                             
Apakah ini sebuah pernyataan? TIDAK
Nilai kebenaran dari pernyataan tersebut bergantung pada x, tapi nilainya belum ditentukan.
Pernyataan jenis ini kita sebut sebagai fungsi proposisi atau kalimat terbuka
Apakah ini sebuah proposisi? TIDAK
Hanya pernyataanlah yang bisa menjadi proposisi.
                                               

Kesimpulan: Proposisi adalah kalimat berita

Contoh script java Polimorphisme

 import java.io.*;
import java.*;

class bentukwajah
{
                public String respons()
                {
                                return("Perhatikan reaksi wajah saya\n");
                }
}
class senyum extends bentukwajah
{
                public String respons()
                {
                                return("Senyum karena senang\n");
                }
}
class tertawa extends bentukwajah
{
                public String respons()
                {
                                return("Tertawa karena gembira\n");
                }
}
class marah extends bentukwajah
{
                public String respons()
                {
                                return("Marah karena kesal\n");
                }
}
class sedih extends bentukwajah
{
                public String respons()
                {
                                return("Sedih karena kecewa\n");
                }
}
class face
{
                public static void main(String[]args)
                {
                                System.out.println("\nProgram Polimorph");
                                System.out.println("----------------------------------------");
                               
                                //membuat objek-objek raut (ekspresi) dari wajah
                                bentukwajah objbentuk = new bentukwajah();
                                senyum objsenyum = new senyum();
                                tertawa objtertawa = new tertawa();
                                marah objmarah = new marah();
                                sedih objsedih = new sedih();
                               
                                //polimorph dari bentuk wajah ada lima dimulai dari 0-4
                                bentukwajah[] bentuk = new bentukwajah[5];
                                bentuk[0] = objbentuk;
                                bentuk[1] = objsenyum;
                                bentuk[2] = objtertawa;
                                bentuk[3] = objmarah;
                                bentuk[4] = objsedih;
                                System.out.println("Bentuk [0] = "+bentuk[0].respons());
                                System.out.println("Bentuk [1] = "+bentuk[1].respons());
                                System.out.println("Bentuk [2] = "+bentuk[2].respons());
                                System.out.println("Bentuk [3] = "+bentuk[3].respons());
                                System.out.println("Bentuk [4] = "+bentuk[4].respons());
                }

}

Download script Link1 / Link2


Contoh script c++ Metode Gauss Seidell

Gauss Seidell
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define e 0.01
void main()
{
 int i,j,k,n;
                 float a[10][10],x[10];
                 float sum,temp,error,big;
                 printf("Enter the number of equations: ");
    scanf("%d",&n) ;
    printf("Enter the co-efficients of the equations: \n");
 for(i=1;i<=n;i++)
 {
 for(j=1;j<=n+1;j++)
 {
 printf("a[%d][%d]= ",i,j);
 scanf("%f",&a[i][j]);
 }}
 for(i=1;i<=n;i++)
 {
 x[i]=0;
 }
 do{
 big=0;
 for(i=1;i<=n;i++)
 {
 sum=0;
 for(j=1;j<=n;j++)
 {
 if(j!=i)
 {
 sum=sum+a[i][j]*x[j];
 } }
 temp=(a[i][n+1]-sum)/a[i][i];
 error=fabs(x[i]-temp);
 if(error>big)
 {
 big=error;
 }
 x[i]=temp;
 printf("\nx[%d] =%f",i,x[i]);
 }printf("\n");
 }
 while(big>=e);
 printf("\n\nconverges to solution");
 for(i=1;i<=n;i++)
 {
 printf("\nx[%d]=%f",i,x[i]);
 }
 getch();

}

Download script Link1 / Link2

Contoh script c++ Metode gauss Jordan

Metode gauss Jordan

#include<iostream.h>
#include<conio.h>

void main()
{
char pil_pro;
float a11, a21, a12, a22, A11=1, A21=0, A12=0, A22=1;
float b11, b21, b12, b22, B11, B21, B12, B22;
float c11, c21, c12, c22, C11, C21, C12, C22;
float d11, d21, d12, d22, D11, D21, D12, D22;
float e11, e21, e12, e22, E11, E21, E12, E22;

cout<<"\n\t\t\tPROGRAM MATRIKS GAUSS JORDAN "<<endl;
cout<<"\t\t==========================================="<<endl<<endl;


ulang_masuk:
cout<<"\t(1,1) : ";
cin>>a11;
cout<<"\t(1,2) : ";
cin>>a21;
cout<<"\t(2,1) : ";
cin>>a12;
cout<<"\t(2,2) : ";
cin>>a22;

cout<<""<<endl;
cout<<"    ------------------"<<endl<<endl;
cout<<"\t["<<a11<<"\t"<<a21<<"]"<<endl;
cout<<"\t["<<a12<<"\t"<<a22<<"]"<<endl<<endl;
cout<<"    ------------------"<<endl;
cout<<"\n[U] Ulang masukkan angka  [L] Lanjutkan Penghitungan   |   Pilih  :  ";
cin>>pil_pro;
if (pil_pro=='U' || pil_pro=='u')
                 {goto ulang_masuk;}
else if (pil_pro=='L' || pil_pro=='l')
                 {goto next_satu;}
else
                 {goto end;}

//langkah pertama
next_satu:
ulang_satu:
cout<<""<<endl<<endl<<endl<<endl;
cout<<"\t|---------------|"<<endl;
cout<<"\t|Langkah pertama|"<<endl;
cout<<"\t|---------------|"<<endl<<endl;
cout<<"\t["<<a11<<"\t"<<a21<<" | "<<A11<<"\t"<<A21<<"]"<<endl;
cout<<"\t["<<a12<<"\t"<<a22<<" | "<<A12<<"\t"<<A22<<"]"<<endl<<endl;
cout<<"\tMengubah Kolum 1 dan baris 1 menjadi = 1"<<endl<<endl;
//hasil pertama
b11=a11/a11;b21=a21/a11;B11=A11/a11;B21=A21/a11;
b12=a12;b22=a22;B12=A12;B22=A22;
cout<<"\tHasilnya : "<<endl;
cout<<"\t--------"<<endl;
cout<<"\t["<<b11<<"\t"<<b21<<"|\t"<<B11<<"\t"<<B21<<"]"<<endl;
cout<<"\t["<<b12<<"\t"<<b22<<"|\t"<<B12<<"\t"<<B22<<"]"<<endl;
cout<<"\n\n\t[ U ] Ulang     [ L ] Lanjut   |   Pilih proses :  ";
cin>>pil_pro;
if (pil_pro=='U' || pil_pro=='u')
                 {goto ulang_satu;}
else if (pil_pro=='L' || pil_pro=='l')
                 {goto next_dua;}
else
                 {goto end;}


//langkah kedua
ulang_dua:
next_dua:
cout<<""<<endl<<endl<<endl<<endl;
cout<<"\t|-------------|"<<endl;
cout<<"\t|Langkah kedua|"<<endl;
cout<<"\t|-------------|"<<endl<<endl;
cout<<"\tMengubah Kolum 2 dan Baris 2 menjadi = 1"<<endl<<endl;
c11=b11;c21=b21;C11=B11;C21=B21;
c12=(b11*(-b12))+b12;c22=(b21*(-b12))+b22;
C12=(B11*(-B12))+B12;C22=(B21*(-B12))+B22;
cout<<"\tHasilnya : "<<endl;
cout<<"\t--------"<<endl;
cout<<"\t["<<c11<<"\t"<<c21<<" | "<<C11<<"\t"<<C21<<"]"<<endl;
cout<<"\t["<<c12<<"\t"<<c22<<" | "<<C12<<"\t"<<C22<<"]"<<endl;
cout<<"\n\n\t[ U ] Ulang     [ L ] Lanjut   |   Pilih proses :  ";
cin>>pil_pro;
if (pil_pro=='U' || pil_pro=='u')
                 {goto ulang_dua;}
else if (pil_pro=='L' || pil_pro=='l')
                 {goto next_tiga;}
else
                 {goto end;}

ulang_tiga:
next_tiga:
cout<<""<<endl<<endl<<endl<<endl;
cout<<"\t|--------------|"<<endl;
cout<<"\t|Langkah ketiga|"<<endl;
cout<<"\t|--------------|"<<endl<<endl;
cout<<"\tMengubah Kolom 3 dan Baris 3 menjadi = 1"<<endl<<endl;
d11=c11;d21=c21;D11=d11;D21=C21;
d12=c12/c22;d22=c22/c22;D12=C12/c22;D22=C22/c22;
cout<<"\tHasilnya : "<<endl;
cout<<"\t--------"<<endl;
cout<<"\t["<<d11<<"\t"<<d21<<" | "<<D11<<"\t"<<D21<<"]"<<endl;
cout<<"\t["<<d12<<"\t"<<d22<<" | "<<D12<<"\t"<<D22<<"]"<<endl;
cout<<"\n\n\t[ U ] Ulang     [ L ] Lanjut   |   Pilih proses :  ";
cin>>pil_pro;
if (pil_pro=='U' || pil_pro=='u')
                 {goto ulang_tiga;}
else if (pil_pro=='L' || pil_pro=='l')
                 {goto next_empat;}
else
                 {goto end;}


ulang_empat:
next_empat:
cout<<""<<endl<<endl<<endl<<endl;
cout<<"\t|-------------|"<<endl;
cout<<"\t|Langkah empat|"<<endl;
cout<<"\t|-------------|"<<endl<<endl;
cout<<"\tMengubah Kolom 4 dan Baris 4 menjadi = 1"<<endl<<endl;
e11=(d12*(-d11))+d11;e21=(d22*(-d12))+d21;
E11=(D12*(-d11))+d11;E21=(d22*(-d21))+D11;
e12=d12;e22=d22;E12=D12;E22=D22;
cout<<"\tJadi Hasil Inversrnya adalah : "<<endl;
cout<<"\t-----------------------------"<<endl;
cout<<"\t["<<e11<<"\t"<<e21<<" | "<<E11<<"\t"<<E21<<"]"<<endl;
cout<<"\t["<<e12<<"\t"<<e22<<" | "<<E12<<"\t"<<E22<<"]"<<endl;

end:
cout<<""<<endl<<endl<<endl;
cout<<"\t\t\tTerima Kasih telah menggunakan program ini :D"<<endl;
getche ();

}

Download script Link1 / Link2

Contoh script c++ Metode Gauss naif

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#define MAX 20
void gauss2(double a[MAX][MAX], double b[MAX], int, int, double x[MAX]);
void cetak(double a[MAX][MAX], double b[MAX], int);
void hasil(double a[MAX][MAX], double b[MAX], int);
main(){
double a[MAX][MAX], b[MAX], x[MAX];
int dimensi, baris, kolom, flag;
char z;
do{
system(”cls”);
printf(”Masukkan dimensi : “);
scanf(”%d”, &dimensi);
printf(”masukkan koefisien matriks :\n”);
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom<=dimensi; kolom++){
printf(”a(baris[%d],kolom[%d]) : “, baris, kolom);
scanf(”%lf”, &a[baris][kolom]);
}
}
printf(”\nmasukkan vektor hasil :\n”);
for(baris=1; baris<=dimensi; baris++){
printf(”b(baris[%d]) : “, baris);
scanf(”%lf”, &b[baris]);
}
cetak(a, b, dimensi);
printf(”\nTekan sembarang tombol untuk memulai perhitungan\n”);
getch();
gauss2(a, b, dimensi, flag, x);
if(flag!=0){
printf(”\nTekan sembarang tombol untuk memulai perhitungan nilai x\n”);
getch();
hasil(a, b, dimensi);
}
printf(”\n\nNgulangi lagi ?(y/t) >”);
z=getch();
printf(”\n\n”);
}while(z==’y'||z==’Y');
}
void gauss2(double a[MAX][MAX], double b[MAX], int dimensi, int flag, double x[MAX]){
double pivot1, pivot2;
int pos, baris, kolom;
flag = 1;
for(pos=1; pos<=dimensi; pos++){
pivot1 = a[pos][pos];
if(pivot1 == 0){
flag=0;
printf(”pivot pada a[%d][%d] bernilai nol, tidak ada penyelesaian”, pos, pos);
break;
}
else{
for(kolom=1; kolom<=dimensi; kolom++)
a[pos][kolom]=a[pos][kolom]/pivot1;
b[pos]=b[pos]/pivot1;
cetak(a, b, dimensi);
for(baris=pos; baris<=dimensi; baris++){
if(baris+1<=dimensi){
pivot2 = a[baris+1][pos];
for(kolom=1; kolom<=dimensi; kolom++)
a[baris+1][kolom]=a[pos][kolom]*(-pivot2)+a[baris+1][kolom];
b[baris+1]=b[pos]*(-pivot2)+b[baris+1];
cetak(a, b, dimensi);
}
}
}
}
}
void cetak(double a[MAX][MAX], double b[MAX], int dimensi){
int baris, kolom;
printf(”\n”);
for(kolom=1; kolom<=dimensi; kolom++)
printf(” a%d “, kolom);
printf(” b \n”);
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom<=dimensi; kolom++)
printf(”%6.2lf”, a[baris][kolom]);
printf(”%6.2lf\n”, b[baris]);
}
}
void hasil(double a[MAX][MAX], double b[MAX], int dimensi){
int pos, kolom, i;
double x[MAX], temp;
x[dimensi]=b[dimensi]/a[dimensi][dimensi];

for (pos=dimensi-1;pos>=1;pos–){
temp=b[pos];
for(kolom=pos+1;kolom<=dimensi;kolom++)
temp=temp-a[pos][kolom]*x[kolom];
x[pos]=temp/a[pos][pos];
}
printf(”\n\nHASILNYA ADALAH\n”);
printf(”——————————\n”);
printf(”| I | X(I) |\n”);
printf(”——————————\n”);
for (i=1;i<=dimensi;i++)
{
printf(”|”);
printf(”%5d”, i);
printf(”\t |”);
printf(”%15lf |\n”, x[i]);
}
printf(”——————————\n”);
}




Download script Link1 / Link2



Contoh script matlab untuk mencari solusi/akar persamaan non linier dengan metode Newton Raphson

Buatlah program dengan MATLAB untuk mencari solusi/akar persamaan non linier berikut :
f(X) = 3X2 - 7X -5 

Metode Newton Raphson

clear;
clc;
err=0.0005
x=input('nilai X0 = ');
a=eps;
eps=1;
no=0;
clc;

fprintf('mencari akar persamaan dengn metode newton rhapson\n');
fprintf('persamaan : 3*x^2-7*x-5 = 0 \n');
fprintf('taksiran awal : %5.0f\n',x);
fprintf('========================================================================\n');
fprintf(' iterasi f f` x1 selisih \n');
fprintf('========================================================================\n');

while eps>err
no=no+1;
f1=3*x^2-7*x-5;
f2=6*x-7;
x1=x-(f1/f2);
eps=abs(x1-x);                        
x=x1;
fprintf(' %3d %8.5f %8.5f %8.5f %8.5f\n', no, f1, f2, x1, eps);
end
fprintf('========================================================================\n');
fprintf('pada iterasi ke %d, selisih < %5.3f.\n',no,err);
fprintf('jadi persamaannya adalah %7.5f.\n',x1);



Download script Link1 / Link2

Contoh script matlab untuk mencari solusi/akar persamaan non linier dengan metode Secant

Buatlah program dengan MATLAB untuk mencari solusi/akar persamaan non linier berikut :

f(X) = 3X2 - 7X -5 

Metode Secant
E=0.01;
x0=input ('Masukkan X0 : ');
x1=input ('Masukkan X1 : ');
f=inline('3*X*X-7*5-5');
i=1;
E=abs(x0-x1);
disp('______________________________');
disp(' i         xi         f(xi)   ');
disp('______________________________');
while abs(f(x1))>=E
    x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
    disp(sprintf('%3.0f %12.6f %12.6f %12.6f\n',i,x2,f(x2)));
    x0=x1;
    x1=x2;
    i=i+1;
end
disp('______________________________');
disp(sprintf('Akarnya adalah = %10.8f\n', x2))




Download script Link1 / Link2