Rabu, 04 November 2009

contoh algoritma

1. Masalah menghitung Luas dan keliling lingkaran
Misal : input =R, output = L dan K,
Proses : L = pi* r2
dan K = 2 * pi * r
Algoritmanya:
Secara Struktur bahasa:
1. Tetapkan nilai pi = 3.14
2. Bacalah nilai R (jari-jari)
3. Hitung luas(L)
4. Hitung keliling(K)
5. Tulis L dan K
Secara Pseudocode:
1. pi 3.14
2. input R
3. L pi* r2
4. K 2 * pi * r
5. Output L dan K


2. Masalah menentukan Faktor Persekutuan Besar (FPB) menggunakan algoritma Euclid.

Langkah-langkah yang digunakan dalam algoritma Euclid adalah:
a. Diberikan dua buah bilangan bulat positif misalnya m dan n dengan m>n.
b. Bagilah m dengan n, misalnya hasilnya adalah r.


c. Apabila r = 0 ,maka stop dan hasilnya adalah bahwa r itu sendiri merupakan FPB dari m dan n.
d. Jika r maka lanjutkan ke langkah selanjutnya yaitu ganti m dengan n dan n dengan r, kemudian ulangi dari langkah (b) demikian selanjutnya.
Contoh:
Carilah FPB dari 36 dan 20:
a. 1. = , mempunyai sisa r = 16,
2. r = 16 0
3. m = 20 dan n = 16
b. 1. = mempunyai sisa r = 4,
2. r = 4 0
3. m =16 dan n = 4
c. 1. mempunyai sisa r = 0,
2. r = 0,
Jadi FPB( 36, 20) = 4.

3. Masalah Program Selisih waktu.
Algoritma sederhana :
1. Baca jam Mulai
2. Baca jam selesai
3. Hitung selisih jam/ waktu
Perbaikan algoritma :
Untuk mengatasi masalah selisih waktu maka semua nilai waktu yang diperoleh, semuanya diubah ke dalam satuan detik sehingga diharapkan tidak akan ditemui nilai negatif dalam perhitungan selisih.
Algoritma Psedocode:
Mulai :
1. Input( jam1, menit1,detik1)
2. Input( jam2, menit2,detik2)
3. Delta I jam1*3600 + menit1*60 + detik1
4. Delta II jam2*3600 + menit2*60 + detik2
5. Delta Delta II – Delta I
6. Selisih jam Delta div 3600
7. Menit Delta mod 3600
8. Selisih menit menit div 60
• Selish detik menit mod 60
9. Output(Selisih jam, Selisih menit,Selisih detik)


progam turbo pascal

STRUKTUR PROGRAM
1. Judul program (opsional)
Format : { judul program } atau program_nama program;

2. Deklarasi program:
Var {Variabel program}
Const {Constanta program}
Label {Label}
Funct {Function}
Procedure {Prosedur program}
Catatan :
Deklarasi program bersifat opsional khusus, artinya jika diperlukan maka harus ada dalam program dan apabila tidak diperlukan maka boleh tidak dicantumkan. Deklarasi program termasuk identifier (pengenal), yaitu kata-kata yang diciptakan oleh pemrogram untuk mengidentifikasi sesuatu.
Syarat identifier:
a) Harus diawali oleh alphabet
b) Huruf besar/ kecil yang digunakan dianggap sama
c) Penyusun dari sebuah identifier tidak boleh berupa: tanda baca, tanda relasi, symbol arithmatik, karakter khusus atau reserved word
d) Tidak boleh dipisahkan dengan spasi, apabila hendak dipisahkan maka menggunakan tanda ( _ )
e) Panjang identifier tidak dibatasi tetapi sebaiknya gunakan se-efektif mungkin.
3. Program Utama
Diawali dengan Begin dan diakhiri dengan End.

TIPE DATA DALAM TURBO PASCAL
Tipe data berfungsi membatasi jangkauan data ynag akan dilaksanakan.
Macam-macam tipe data:
a) Tipe data Standard, terdiri atas :
- Ordinal
- Non-ordinal
b) Tipe data Terstruktur
c) Tipe data Pointer


Tipe Data Standard
I. Tipe Ordinal
Pada tipe data ini akan berlaku operasi-operasi:
- Predesessor (Pred), berfungsi memberikan nilai kembalian berupa nilai predesessor (urutan sebelumnya) dari suatu nilai ordinal.
- Successor (Succ), berfungsi memberikan nilai successor (urutan berikutnya) dari suatu nilai ordinal.

a) Tipe Integer
Operator-operator yang berlaku pada tipe data integer, yaitu :
- Operator arithmatik : +, - , *, /, div, mod
- Operator logic : <, = , > , <= , >= , <>
Tipe data integer masih dibagi menjadi 5 tipe:
Shortint (1 byte bertanda) Byte (1 byte tak bertanda)
Integer (2 byte bertanda) Word (2 byte tak bertanda)
Longint (4 bytebertanda)
Catatan : Semua tipe integer adalah tipe Ordinal.

b) Tipe Real
Dibagi menjadi 5 macam, yaitu :
Real (6 byte) Extended (10 byte)
Single (4 byte) Comp (8 byte)
Double (8 byte)

c) Tipe Char (Karakter)
Char adalah semua tombol yang terdapat pada keyboard atau lebih lengkapnya semua karakter yang terdapat pada kode ASCII.
Catatan : Apabila char ingin dijadikan sebagai konstanta maka karakter yang dimasukkan harus diapit dengan tanda kutipsatu. Dan apabila karakter itu berupa tanda kutip satu maka harus diapit dengan dua tanda kutip satu.

d) Tipe Boolean
Mempunyai nilai benar /salah. Operator yang penghubung untuk tipe Boolean adalah : = , <> , > , < , >= , <= , IN
Boolean akan menghasilkan False jika nilai = 0 dan akan menghasilkan True jika nilai = 1.

e) Tipe Enumerated (terbilang)
Bentuk umum :
Type
Nama = (Pengenal 1, pengenal 2,…, pengenal n);
Contoh:
Type
Jawa Tengah = ( Semarang, Tegal, Kendal, Demak) ;
Sehingga dengan fungsi berikut :
Ord(Semarang) = 0
Ord(Tegal) = 1
Dan seterusnya…………………..

f) Tipe Subrange
Bentuk umum :
Constanta1..Constanta2

Contoh :
0..99 ;
-128..127 ;
II. Real
Ada beberapa macam tipe real
1. Single
2. Real
3. Double
4. Extended


STRUKTUR PEMROGRAMAN/ STRUKTUR KONTROL :

Ada tiga macam struktur pemrograman yaitu :
1. Runtutan/ Sequential
2. Seleksi/ Conditional
3. Perulangan/ Repetition/ Looping
1. SEQUENTIAL/ RUNTUTAN
Berfungsi mengontrol program sehingga berjalan secara berurutan. Program dibaca dari mulai perintah yang pertama dituliskan kemudian turun ke perintah selanjutnya demikian seterusnya sampai pada akhir perintah. Secara umum program akan dibaca oleh compailer secara terurut.
Contoh :

Program_Selisih_Jam;
Uses crt;
var j1,j2,m1,m2,d1,d2,B1,B2,J,M,S,Delta,sisa: integer;
begin
clrscr;
write('Baca jam mulai =');readln(j1,m1,d1);
writeln;
write('Baca jam selesai =');readln(j2,m2,d2);
B1:= 3600 * j1 + 60 * m1 + d1;
B2:= 3600 * j2 + 60 * m2 + d2;
Delta:= B2 - B1;
J:= Delta div 3600;
sisa:= Delta mod 3600;
M:= sisa div 60;
S:= sisa mod 60;
write('Selisih jam =',J);
writeln;
write('Selisih menit =',M);
writeln;
write('Selisih detik =',S);readln;
end.

Hasil Run program:
Baca jam mulai = 3 23 29
Baca jam selesai = 4 30 27
Selisih jam = 1
Selisih menit = 6
Selisih detik =58
Catatan : Tanda (:= ) disebut sebagai Operator Penugasan.

2. SELECTION/ CONDITION

Sistem kontrol ini memungkinkan programmer untuk membuat program yang dapat memilih satu langkah di antara sejumlah langkah untuk dikerjakan.
Dalam Turbo Pascal disediakan 2 buah struktur kontrol seleksi, yaitu:
a. Struktur IF……THEN…..
b. Struktur CASE…OF…
a). Struktur IF
Merupakan struktur kontrol di mana suatu aksi dilaksanakan berdasarkan kondisi logikanya (benar atau salah). Bentuk umum :
if (kondisi) then aksi ;
{Jika kondisi benar maka aksi akan dilaksanakan dan sebaliknya }
if (kondisi) then aksi1 else aksi2 ;
{Jika kodisi benar maka aksi1 diaksanakan, jika kondisi salah
maka aksi2 akan dilaksanakan}
if (kondisi1) then aksi1 else
if (kondisi2) then aksi2 else
……………………..
if (kondisi-n) then aksi-n ;
{Jika kondisi1 benar maka aksi1 dilaksanakan tanpa membaca
kondisi2 dan seterusnya. Jika kondisi1 salah maka aksi2 dilaksanakan tanpa membaca aksi3 dan selanjutnya. Demikian
seterusnya}
if (kondisi1) then aksi1 ;
if (kondisi2) then aksi2 ;
……………………….
if (kondisi-n) then aksi-n ;
{Masing-masing kondisi akan dibaca dan aksi akan tetap dilaksa-
kan. Jadi masing-masing struktur terpisah satu dengan yang lain}
Contoh program :
program_menghitung_akar_kwadrat:
uses crt;
var A,B,C:integer;
x1,x2,D:real;
begin
clrscr;
write('Baca koofisien:');readln(A,B,C);writeln;
writeln(A,'x*x + (',B,') x +',C);
if A=0 then writeln('Bukan persamaan kwadrat') else
begin
D:=(B*B) - (4*A*C);
writeln('Determinannya :',D:2:2);readln;
if D>0 then
begin
writeln('Persamaan kwadrat mempunyai 2 akar yang berbeda');

x1:= (-B + sqrt(D))/(2*A);
x2:= (-B - sqrt(D))/(2*A);
writeln('Akar-akarnya adalah:',x1:2:2,'dan',x2:2:2);
end else
if D=0 then
begin
writeln('Persamaan kwadrat mempunyai akar yang sama'
x1:= -B/(2*A);
x2:= -B/(2*A);
writeln('Akar-akanya adalah:',x1:2:2);
end else
writeln('Tidak memiliki akar riil');
end;
readln;
end.

Hasil Run Program :
-Baca koofisien: 1 -4 4

1x*x + (-4) x +4
Determinannya :0.00

Persamaan kwadrat mempunyai akar yang sama
Akar-akanya adalah:2.00

-Baca koofisien: 1 -5 6

1x*x + (-5) x +6
Determinannya :1.00

Persamaan kwadrat mempunyai 2 akar yang berbeda
Akar-akarnya adalah:3.00dan2.00


-Baca koofisien: 1 3 4

1x*x + (3) x +4
Determinannya :-7.00

Tidak memiliki akar riil

Program_Konversi_nilai:
Uses Crt;
var Nilai : Byte;
begin
clrscr;
write('Baca nilai :');readln(Nilai);
if nilai>=80 then write('Nilai = A') else
if nilai>=65 then write('Nilai = B') else
if nilai>=41 then write('Nilai = C') else
if nilai>=26 then write('Nilai = D') else
write('Nilai = E');
readln;
end.

Hasil Run Program :
Baca nilai : 90 Baca nilai :55
Nilai = A Nilai = C
Baca nilai :75 Baca nilai :25
Nilai = B Nilai = E

b). Struktur CASE…OF..
Merupakan peluasan dari struktur IF. Karena kalau dalam struktur IF hanya disediakan dua pilihan (berdasarkan kondisi logikanya) maka dalam struktur Case ..of dimungkinkan untuk memilih satu pilihan di antara banyak pilihan yang ada. Bentuk umumnya :
Case var.pilih of atau Case var.pilih of
Pilih1 : aksi1 ; pilih1 : aksi1 ;
Pilih2 : aksi2 ; pilih2 : aksi2 ;
……………. ; ……………. ;
pilih-n : aksi-n ; pilih-n : aksi n;
else aksi-n+1
end; end;
Catatan : Ekspresi yang digunakan dalam statemen Case adalah yang mempunyai tipe ordinal yaitu dengan batas antara (-32768 s/d 32767). Sehingga tipe lain seperti integer yang bertipe longint, tipe string atau word tidak boleh digunakan.
Contoh program :
Program_Konversi_nilai2;
Uses Crt;
Var Nilai : integer;
begin
Clrscr;
write('Baca nilai =');readln(Nilai);
Case Nilai of
0..25 : writeln('Nilainya = E');
26..39 : writeln('Nilainya = D');
40..64 : writeln('Nilainya = C');
65..79 : writeln('Nilainya = B');
80..100: writeln('Nilainya = A');
else
writeln('Tidak ada nilai yang dimaksud');
end;readln;
end.

Catatan : Program ini akan memberikan nilai yang sama persis dengan yang menggunakan struktur IF.

3. PERULANGAN/ LOOPING/ REPETITION

Dalam membuat suatu program kadang-kadang diinginkan agar program tersebut mampu memproses hal yang sama secara berulang-ulang sampai ditemukan suatu nilai tertentu yang diinginkan atau mencapai batas yang telah ditentukan. Untuk itu maka Turbo Pascal telah menyediakan suatu struktur perulangan yang memudahkan untuk melakukan proses tersebut, sehingga kode-kode dalam program menjadi lebih sederhana. Ada beberapa struktur perulangan, yaitu :
- Struktur FOR….DO….
- Struktur WHILE…DO……
- Struktur REPEAT…UNTIL….

a). Struktur FOR
Ada 2 jenis struktur FOR, yaitu :
- Ascendant (Naik)
- Descendant (Turun)
Naik
Format : For count := awal to akhir do aksi/ blok aksi ;
Catatan : - awal <= akhir
- Variabel count akan naik satu setelah menyelesaikan aksi
Turun
Format : For count := awal downto akhir do aksi1/ blok aksi ;
Catatan : - awal >= akhir
- Variabel count akan turun satu setelah menyelesaikan aksi
Struktur FOR hanya dpat digunakan pada cacah perulangan yang diketahui (berapa kali perulangan tersebut akan dilakukan).

Contoh program :

Program Latihan: Program Latihan 2:
uses Crt; uses Crt;
var N,i,j :integer; var N, I, j, data : integer;

begin begin
clrscr; clrscr;
write('Baca nilai : ');readln(N); write(‘Baca nilai:’);
for i:= 1 to N do readln(N);Data:=N;
begin for i:=1 to N do
for j:=1 to i do begin
write(i:3); for j:=1 to N do
writeln; write(data:3);
end; writeln;
readln; data := data -1;
end. end;
End.

Hasil Run Program : Hasi Run Program :
Baca nilai : 7 Baca nilai : 7
1 7
2 2 6 6
3 3 3 5 5 5
4 4 4 4 4 4 4 4
5 5 5 5 5 3 3 3 3 3
6 6 6 6 6 6 2 2 2 2 2 2
7 7 7 7 7 7 7 1 1 1 1 1 1 1

b). Struktur WHILE .. DO..

Format : While (kondisi) do Aksi/blok aksi
Kondisi: Ekspresi Boolean
Pengecekan untuk melakukan perulangan dilakukan pada awal proses dan perulangan akan dikerjakan selama kondisi benar. Oleh karena itu, perlu adanya suatu proses yang dapat mengontrol kondisi agar dapat menghentikan proses.

Contoh program :

uses crt;
var i:integer;
begin
clrscr;
write('Masukkan angka :');readln(i);
while i<5 do
begin
write('Matematika UGM');
i:=i+1;
end;
readln;
end.

Hasil Run program :
Masukkan angka :1
Matematika UGMMatematika UGMMatematika UGMMatematika UGM
Matematika UGM

Keterangan :
Program di atas akan dilaksanakan jika angka yang kita masukkan kurang dari atau sama dengan lima. Dan dalam program di atas yang bertugas menghentikan perulangan adalah proses i:= i+1; sebab jika tidak ada statement itu, apabila angka yang kita masukkan benar <= 5 maka program akan berulang sampai tak hingga banyak.
Catatan :
Struktur perulangan while..do dapat digunakan untuk melakukan perulangan baik yang diketahui maupun yang tidak diketahui jumlah perulangannya.

c). Struktur REPEAT..UNTIL..
Format : Repeat aksi/ blok aksi until (kondisi) ;
(kondisi) di sini berupa Boolean.
Perulangan dilakukan terus-menerus hingga diperoleh kondisi bernilai benar. Dalam hal inipun diperlukan adanya kondisi yang dapat mengontrol program agar program dapat berhenti namun berbeda dengan while do yang kontrolnya ditempatkan pada awal proses, maka repeat until kontrolnya diletakkan pada akhir proses.

Contoh program :

PROGRAM CONTOH_REPEAT;
Uses crt;
var
n,tot,x: integer;
Mean: real;
begin
clrscr;
tot:=0;
n:=0;
write ('Baca data :');readln(x);
repeat
tot:= tot + x;
n:= n + 1;
write('Data lagi :');readln(x);
until x=0;
end.

Hasil Run Program :
Baca data :12
Data lagi :3
Data lagi :4
Data lagi :5
Data lagi :0
{setelah dimasukkan nol maka pembacaan akan berhenti dan akan kembali ke menu awal}


TIPE DATA LARIK ( ARRAY )

Array atau larik terdiri atas bagian-bagian komponen yang memiliki tipe data sama. Dalam penyimpanannya array selalu mempunyai jumlah komponen yang tetap yang ditunjukkan oleh indeksnya. Dimana indeks ini harus merupada data dengan tipe ordinal artinya mempunyai urutan tertentu.

Ada 2 cara untuk mendeklarasikan larik yaitu :
1. Sebagai tipe data baru
Type
Larik=Array[1..n] of datatype ;
Var x : larik ;

2. Langsung sebagai variabel

Var x : Array[1..n] of datatype ;

Mengakses Data larik :
Cara mengakses data larik adalah dengan menunjukkan :
Nama_Larik[no.indeks] ;
Misal : x[1] berarti kita mengakses data larik x pada no.indeks ke-1.

Keuntungan :
Menggunakan data larik adalah bahwa kita tidak akan kehilangan nilai dari suatu data.

Kelemahan :
Saat ditentukan suatu variable bertipe data array maka ia akan langsung mengambil tempat pada memory penyimpanannya sesuai dengan tipe data yang digunakan pada array, baik nantinya semua komponen pada array itu digunakan ataupun tidak.

Dalam pemrograman kadang kita menghadapi masalah saat kita akan mendeklarasikan suatu matriks dengan adanya tipe data array maka masalah itu dapat diselesaikan, yaitu dengan menggunakan array dengan dimensi dua atau lebih yang kemudian dikenal dengan array dimensi banyak.
Pendeklarasian :

Type
Nama_Array = Array[tipe-indeks1,tipe-indeks2] of tipe data ;

Contoh :
Type
Matriks = Array[1..10, 1..10] of integer ;
Berarti matriks itu akan mempunyai dimensi (10x10), namun itu hanya batas atas dari indeks yang dipesan dalam memori penyimpanan (di atas itu tidak akan disimpan), sedangkan apabila nantinya kita hanya memasukkan jumlah baris missal 2 dan jumlah kolom 2 itu boleh saja selama tidak lebih dari 10.
Entry-entry dari matriks tersebut dapat kita panggil dengan mengetikkan
Nama_Array[indeks] ; dari contoh diatas berarti Matriks[2,3] yaitu entry dari matriks pada baris kedua kolom ketiga.

Contoh program :
Program Rata_rata;
Uses crt;
type
larik = array[1..10] of integer;
var
x : larik;
Tot, i, n : integer;
mean : real;

Begin
clrscr;
write('Masukkan jumlah data : '); readln(n);
writeln;
Tot := 0;
for i:= 1 to n do
begin
write('Masukkan Data ke-',i,' ', 'Anda : '); readln(x[i]);
Tot:= Tot + x[i];
end;
writeln;
mean:= Tot/n;
write('Dan hasil perhitungan meannya : ');
writeln(mean:8:2);
readln;
end.
Hasil Run Program :
Masukkan jumlah data : 5
Masukkan Data ke-1 Anda : 1
Masukkan Data ke-2 Anda : 2
Masukkan Data ke-3 Anda : 3
Masukkan Data ke-4 Anda : 4
Masukkan Data ke-5 Anda : 5
Dan hasil perhitungan meannya : 3.00

Program Matriks :
Program Baca_tulis_matriks ;
uses crt;
Var m,n,i,j : integer;
x: Array[1..100,1..100] of integer;
begin
clrscr;
write('Baca ukuran baris Matriks :',' ');readln(m);
write('Baca ukuran kolom matriks :',' ');readln(n);
writeln('Matriks anda berukuran',' ',m,'x',n,' ');
for i:=1 to m do
for j:=1 to n do
begin
write('Baca nilai :',' ');readln(x[i,j]);
end;
writeln;
writeln('Matriksnya :',' ');
for i:=1 to m do
begin
for j:=1 to n do
write(x[i,j]:3); writeln;
end;
writeln;writeln('Matriks tranposenya :',' ');
for j:= 1 to n do
begin
for i:=1 to m do
write(x[i,j]:3);writeln;
end;writeln;
writeln('Matriks anda berukuran',' ',n,'x',m,' ');
readln;
end.

Hasil Run Program :

Baca ukuran baris Matriks : 2
Baca ukuran kolom matriks : 2
Matriks anda berukuran 2x2
Baca nilai : 1
Baca nilai : 2
Baca nilai : 3
Baca nilai : 4
Matriksnya :
1 2
3 4
Matriks tranposenya :
1 3
2 4
Matriks anda berukuran 2x2


pernyataan,operasi logika,tabel kebenaran

PERNYATAAN
Pernyataan adalah suatu kalimat yang mempunyai nilai kebenaran benar saja atau salah saja dan tidak kedua-duanya.
Istilah-istilah lain dari pernyataan adalah kalimat matematika tertutup, kalimat tertutup, kalimat deklaratif, statement atau proposisi.
PERNYATAAN TUNGGAL DAN MAJEMUK
Suatu kalimat selain dibedakan atas pernyataan dan bukan pernyataan, kalimat juga dibedakan pula atas pernyataan tunggal dan pernyataan majemuk. Pernyataan tunggal atau pernyataan sederhana adalah pernyataan yang tidak memuat pernyataan lain atau sebagai bagiannya, sedangkan pernyataan majemuk dapat merupakan kalimat baru yang diperoleh dengan cara menggabungkan beberapa pernyataan tunggal.
Dua pernyataan tunggal atau lebih dapat digabungkan menjadi sebuah kalimat baru yang merupakan pernyataan majemuk, sedangkan tiap pernyataan bagian dari pernyataan majemuk disebut komponen-komponen pernyataan majemuk. Komponen-komponen dari pernyataan majemuk itu tidak selamanya harus pernyataan tunggal, tetapi mungkin saja pernyataan majemuk. Namun yang terpenting adalah bagaimana menggabungkan pernyataan-pernyataan tunggal menjadi pernyataan majemuk.
Untuk menggabungkan pernyataan-pernyataan tunggal menjadi pernyataan majemuk dapat dipakai kata gabung atau kata perangkai yang disebut operasi-
operasi logika matematika.

Contoh:
1. Jakarta adalah ibukota negara RI
2. Merah putih adalah bendera negara RI
3. 2 adalah bilangan prima yang genap
4. Jika suatu bilangan habis dibagi dua maka bilangan itu genap

Soal:
Buatlah contoh pernyataan tunggal dan majemuk, kemudian tentukan nilai kebenarannya!

OPERASI LOGIKA

Adapun operasi-operasi yang dapat membentuk pernyataan majemuk adalah
1. Negasi atau ingkaran, dengan kata perangkai tidaklah benar, simbol “ ~ “
2. Konjungsi, dengan kata perangkai dan, simbol “  “
3. Disjungsi, dengan kata perangkai atau, simbol “  “
4. Implikasi, dengan kata perangkai Jika ……, maka …….., simbol “  “
5. Biimplikasi, dengan kata perangkai …….jika dan hanya jika ……., simbol “  “

Contoh pernyataan majemuk:
1. Bunga mawar berwarna merah dan bunga melati berwarna putih
2. Ani dan Ana anak kembar
3. Cuaca hari ini mendung atau cerah
4. Jika x = 0 maka
5. Suatu segitiga dikatakan segitiga sama sisi jika dan hanya jika ketiga sudutnya sama

PERNYATAAN
Pernyataan adalah suatu kalimat yang mempunyai nilai kebenaran benar saja atau salah saja dan tidak kedua-duanya.
Istilah-istilah lain dari pernyataan adalah kalimat matematika tertutup, kalimat tertutup, kalimat deklaratif, statement atau proposisi.
PERNYATAAN TUNGGAL DAN MAJEMUK
Suatu kalimat selain dibedakan atas pernyataan dan bukan pernyataan, kalimat juga dibedakan pula atas pernyataan tunggal dan pernyataan majemuk. Pernyataan tunggal atau pernyataan sederhana adalah pernyataan yang tidak memuat pernyataan lain atau sebagai bagiannya, sedangkan pernyataan majemuk dapat merupakan kalimat baru yang diperoleh dengan cara menggabungkan beberapa pernyataan tunggal.
Dua pernyataan tunggal atau lebih dapat digabungkan menjadi sebuah kalimat baru yang merupakan pernyataan majemuk, sedangkan tiap pernyataan bagian dari pernyataan majemuk disebut komponen-komponen pernyataan majemuk. Komponen-komponen dari pernyataan majemuk itu tidak selamanya harus pernyataan tunggal, tetapi mungkin saja pernyataan majemuk. Namun yang terpenting adalah bagaimana menggabungkan pernyataan-pernyataan tunggal menjadi pernyataan majemuk.
Untuk menggabungkan pernyataan-pernyataan tunggal menjadi pernyataan majemuk dapat dipakai kata gabung atau kata perangkai yang disebut operasi-
operasi logika matematika.

Contoh:
1. Jakarta adalah ibukota negara RI
2. Merah putih adalah bendera negara RI
3. 2 adalah bilangan prima yang genap
4. Jika suatu bilangan habis dibagi dua maka bilangan itu genap

Soal:
Buatlah contoh pernyataan tunggal dan majemuk, kemudian tentukan nilai kebenarannya!

OPERASI LOGIKA

Adapun operasi-operasi yang dapat membentuk pernyataan majemuk adalah
1. Negasi atau ingkaran, dengan kata perangkai tidaklah benar, simbol “ ~ “
2. Konjungsi, dengan kata perangkai dan, simbol “  “
3. Disjungsi, dengan kata perangkai atau, simbol “  “
4. Implikasi, dengan kata perangkai Jika ……, maka …….., simbol “  “
5. Biimplikasi, dengan kata perangkai …….jika dan hanya jika ……., simbol “  “

Contoh pernyataan majemuk:
1. Bunga mawar berwarna merah dan bunga melati berwarna putih
2. Ani dan Ana anak kembar
3. Cuaca hari ini mendung atau cerah
4. Jika x = 0 maka
5. Suatu segitiga dikatakan segitiga sama sisi jika dan hanya jika ketiga sudutnya sama

TABEL KEBENARAN

1. Operasi Negasi
Operasi negasi atau ingkaran adalah operasi yang dikenakan hanya pada sebuah pernyataan. Operasi negasi dilambangkan “ ~ “
Jika p adalah pernyataan tunggal, maka ~p adalah pernyataan majemuk.
Negasi dari suatu pernyataan yang bernilai benar adalah salah dan negasi dari suatu pernyataan yang bernilai salah adalah benar.

Definisi: Suatu pernyataan dan negasinya mempunyai nilai kebenaran yang
berlawanan

Definisi diatas dapat ditulis dalam tabel kebenaran sbb:

p ~ p

B S

S B


Contoh:
p : Jakarta ibukota negara Republik Indonesia
~ p : Jakarta bukan ibukota negara Republik Indonesia

2. Operasi Konjungsi

Suatu pernyataan majemuk yang dibentuk dengan cara menggabungkan dua pernyataan tunggal dengan memakai kata perangkai dan disebut konjungsi. Operasi konjungsi dilambangkan dengan “  “

Definisi: Sebuah konjungsi bernilai benar jika komponen-komponennya bernilai
benar, dan bernilai salah jika salah satu dari komponennya bernilai salah




Definisi diatas dapat ditulis dalam tabel kebenaran sbb:

p q p  q

B B B
B S S
S B S
S S S



3. Operasi Disjungsi
Suatu pernyataan majemuk yang dibentuk dengan cara menggabungkan dua pernyataan tunggal dengan memakai kata perangkai atau disebut disjungsi. Operasi disjungsi dilambangkan dengan “  “

Definisi: Sebuah disjungsi inklusif bernilai benar jika paling sedikit salah satu
komponennya bernilai benar, sedangkan disjungsi eksklusif bernilai benar
jika paling sedikit komponennya bernilai benar tetapi tidak kedua-duanya.

Definisi diatas dapat ditulis dalam tabel kebenaran sbb:

Disjungsi Inklusif: Disjungsi Eksklusif:

p q p  q p q p q

B B B B B S
B S B B S B
S B B S B B
S S S S S S



4. Operasi Implikasi
Suatu pernyataan majemuk yang dibentuk dengan cara menggabungkan dua pernyataan tunggal dengan memakai kata perangkai Jika …. maka ….. disebut implikasi. Operasi implikasi dilambangkan dengan “  “
Definisi: Sebuah pernyataan implikasi hanya salah jika antesedennya benar dan
konsekwennya salah, dalam kemungkinan lainnya implikasi bernilai benar.
Definisi diatas dapat ditulis dalam tabel kebenaran sbb:


p q p  q

B B B
B S S
S B B
S S B



5. Operasi Bi-implikasi
Suatu pernyataan majemuk yang dibentuk dengan cara menggabungkan dua pernyataan tunggal dengan memakai kata perangkai …… jika dan hanya jika …… disebut biimplikasi. Operasi biimplikasi dilambangkan dengan “  “

Definisi: Sebuah pernyataan biimplikasi bernilai benar jika komponen-koponennya
mempunyai nilai kebenaran sama, dan jika komponen-koponennya
mempunyai nilai kebenaran tidak sama maka biimplikasi bernilai salah.
Definisi diatas dapat ditulis dalam tabel kebenaran sbb:


p q p  q

B B B
B S S
S B S
S S B


BENTUK-BENTUK PERNYATAAN
Bentuk-bentuk pernyataan dalam logika dibedakan dalam:
1. Kontradiksi
2. Tautologi
3. Kontingensi

Kontradiksi adalah suatu bentuk pernyataan yang hanya mempunyai contoh substitusi yang salah, atau sebuah pernyataan majemuk yang salah dalam segala hal tanpa memandang nilai kebenaran dari komponen-komponennya.
Tautologi adalah sebuah pernyataan majemuk yang benar dalam segala hal, tanpa memandang nilai kebenaran dari komponen-komponennya.
Kontingensi adalah sebuah pernyataan majemuk yang bukan suatu tautologi maupun kontradiksi.

Contoh:
Selidiki pernyataan di bawah ini apakah suatu tautologi, kontradiksi atau kontingensi!
( ~p  q ) v ( q  p )

p q ~ p ~ p  q q  p ( ~p  q ) v ( q  p )

B B S S B B
B S S S B B
S B B B S B
S S B S B B


Karena pada tabel kebenaran di atas benar semua, maka pernyataan di atas suatu tautologi

Soal:
Selidiki apakah pernyataan-pernyataan di bawah ini suatu tautologi, kontradiksi atau kontingensi!

1. ( p  q )  p
2. ( p  q )  [ ( ~ q  r )  ( r  p ) ]
3. ( p v q )  ( ~ p  q )

IMPLIKASI LOGIS DAN EKWIVALEN LOGIS
Suatu bentuk pernyataan implikasi yang merupakan tautologi disebut implikasi logis.

Contoh:

p q p  q ( p  q )  p [ ( p  q )  p ]  p

B B B B B
B S S S B
S B B S B
S S B S B

Dua atau lebih pernyataan majemuk yang mempunyai nilai kebenaran sama disebut ekwivalen logis dengan notasi “  “ atau “  “

Contoh:

p q p  q p  q q  p ( p  q )  ( q  p )

B B B B B B
B S S S B S
S B S B S S
S S B B B B


Karena p  q mempunyai nilai kebenaran sama dengan ( p  q )  ( q  p ), maka kedua pernyataan majemuk di atas disebut ekwivalen logis.
Jadi, p  q  ( p  q )  ( q  p )

Soal:
Selidiki apakah pernyataan di bawah ini apakah implikasi logis atau ekwivalen logis!
1. [( p  q ) v r ]  [( p  ~ q ) v r]
2. [ ~ ( p  q )]  ( p  q )

KONVERS, INVERS DAN KONTRAPOSISI
• Jika suatu bentuk implikasi p  q diubah menjadi q  p disebut konvers
• Jika suatu bentuk implikasi p  q diubah menjadi ~ p  ~ q disebut invers
• Jika suatu bentuk implikasi p  q diubah menjadi ~ q  ~ p disebut kontraposisi


Skema konvers, invers dan kontraposisi dapat dilihat sbb:

konvers
p  q q  p


invers kontraposisi invers

~p  ~q ~q  ~p
konvers


Contoh:
Carilah konvers, invers dan kontraposisi dari pernyataan:
“ Jika binatang itu bertubuh besar maka binatang itu disebut gajah “

Konvers : Jika binatang itu disebut gajah maka binatang itu bertubuh besar
Invers : Jika binatanag itu tidak bertubuh besar maka binatang itu bukan gajah
Kontraposisi: Jika binatang itu bukan gajah maka binatang itu tidak bertubuh besar

Soal:
Buatlah konvers, invers dan kontraposisi dari pernyataan:
1. Jika dua buah garis saling tegak lurus maka kedua garis itu membentuk sudut siku-siku
2. Jika x = 3 maka = 9

PENGERTIAN KUANTOR
Suatu Kuantor adalah suatu ucapan yang apabila dibubuhkan pada suatu kalimat terbuka akan mengubah kalimat terbuka tersebut menjadi suatu kalimat tertutup atau pernyataan.
Kuantor dibedakan atas:
1. Kuantor Universal/ Umum ( Universal Quantifier ), notasinya : “ ”
2. Kuantor Khusus ( Kuantor ( Eksistensial Quantifier ), notasinya : “ “

Contoh:
Jika p(x) kalimat terbuka: x + 3 > 5
Apabila pada kalimat terbuka di atas dibubuhi kuantor, maka: x, x + 3 > 5 ( S )
atau x, x + 3 > 5 ( B )

Jika x  bilangan bulat, maka tentukan nilai kebenaran dari pernyataan-pernyataan di bawah ini!
1. ( x) ( y ) ( x + 2y = 7 )
2. ( x) ( y) (x + 2y = x)
3. ( x) ( y) ( x > y )
4. ( x) ( y) ( x.y = 1 )

PERNYATAAN BERKUANTOR
Contoh pernyataan berkuantor:
1. Semua manusia fana
2. Semua mahasiswa mempunyai kartu mahasiswa
3. Ada bunga mawar yang berwarna merah
4. Tidak ada manusia yang tingginya 3 meter
Untuk memberikan notasi pada pernyataan berkuantor maka harus dibuat fungsi proposisinya terlebih dahulu, misalnya untuk pernyataan “Semua manusia fana” maka kita buat fungsi proposisi untuk manusia M(x) dan fana F(x), sehingga notasi dari semua manusia fana adalah x, M(x)  F(x)

Buatlah notasi untuk pernyataan berkuantor di bawah ini!
1. Semua pedagang asongan adalah pejalan kaki ( A(x), K(x) )
2. Ada mahasiswa yang tidak mengerjakan tugas ( M(x), T(x) )
3. Beberapa murid ikut lomba Porseni ( M(x), L(x) )
4. Semua guru diharuskan berpakaian seragam ( G(x), S(x) )

NEGASI PERNYATAAN BERKUANTOR
Negasi pernyataan berkuantor adalah lawan/ kebalikan dari pernyataan berkuantor tersebut.
Contoh:
Negasi dari pernyataan: “ Semua mahasiswa tidak mengerjakan tugas “ adalah
“ Ada mahasiswa yang mengerjakan tugas “

Jika diberikan notasi, maka pernyataan di atas menjadi:
x, M(x)  , negasinya x, M(x)  T(x)



Logika Matematika

Misalkan P(x) merupakan sebuah pernyataan yang mengandung variabel x dan D adalah sebuah himpunan (sembarang kumpulan obyek). Kita menyebut P sebuah fungsi proposisi (dalam D) jika untuk setiap x di D, P(x) adalah proposisi.

Misalkan P(n) adalah pernyataan
: adalah bilangan ganjil
dan D adalah himpunan bilangan bulat positif. Maka P adalah fungsi proposisi dengan daerah asal pembicaraan D karena untuk setiap n di D, P(n) adalah proposisi (yakni, untuk setiap n di D, P(n) bisa bernilai benar atau salah tetapi tidak keduanya). Sebagai contoh, jika n = 1, kita peroleh proposisi
1 adalah bilangan ganjil
bernilai benar. Jika n = 2, kita peroleh proposisi
2 adalah bilangan ganjil
bernilai salah.

Kuantor Universal dan Kuantor Eksistensial

Kuantor Universal
Misalkan P adalah fungsi proposisi dengan daerah asal D. Pernyataan
ntuk setiap x, P(x)
dikatakan pernyataan kuantor universal. Pernyataan itu dapat dinyatakan dengan simbol sebagai

di mana simbol berarti “untuk setiap”. Simbol disebut kuantor universal.
Pernyataan adalah benar jika P(x) benar untuk setiap x di D. Dan pernyataan adalah salah jika P(x) salah untuk sedikitnya satu x di D. Sebuah nilai x di D yang membuat P(x) salah disebut contoh penentang (counter exemple) bagi pernyataan .

Catatan :
Cara lain untuk menuliskan untuk setiap x, P(x) adalah untuk semua x, P(x) dan untuk sembarang x, P(x).

Contoh :
Tulislah setiap pernyataan yang diberikan dengan simbol.
a. Untuk setiap x,
b. Untuk semua x, jika x>1 maka x2>1

Penyelesaian :
a.
b.

Contoh :
Tentukan nilai kebenaran dari setiap pernyataan yang diberikan. Daerah asal pembicaraannya adalah himpunan bilangan real.
a. Untuk setiap x,
b. Untuk semua x, x2-1>0

Penyelesaian :
a. Pernyataan tersebut benar karena untuk setiap bilangan real x, adalah benar bahwa kuadrat x bernilai positif atau benar.
b. Pernyataan tersebut salah karena jika x = 1 maka proposisi 12-1 >0 salah.

Kuantor Eksistensial

Misalkan P adalah fungsi proposisi dengan daerah asal D. Pernyataan
ntuk beberapa x, P(x)
dikatakan pernyataan kuantor eksistensial. Pernyataan itu dapat dinyatakan dengan simbol sebagai

di mana simbol berarti “untuk beberapa”. Simbol disebut kuantor eksistensial
Pernyataan adalah benar jika P(x) benar untuk sedikitnya satu x di D. Dan pernyataan adalah salah jika P(x) salah untuk setiap x di D.

Catatan :
Cara lain untuk menuliskan untuk beberapa x, P(x) adalah untuk paling sedikit satu x, P(x) dan terdapat x yang sedemikian, sehingga P(x).

Contoh :
Tulislah setiap pernyataan yang diberikan dengan simbol.
a. Untuk beberapa x, .
b. Untuk paling sedikit satu x, jika x>1 maka x2>1.
c. Untuk setiap x, untuk beberapa y, x2
Penyelesaian :
a.
b.
c.

Contoh :
Tentukan nilai kebenaran dari setiap pernyataan yang diberikan. Daerah asal pembicaraannya adalah himpunan bilangan real.
a. Untuk beberapa x, x+1 > 0
b. Untuk paling sedikit satu x, x2<0

Penyelesaian :
a. Pernyataan tersebut benar karena jika x = 2 maka proposisi 2+1 >0 benar.
b. Pernyataan tersebut salah karena untuk setiap bilangan real x, adalah salah bahwa kuadrat x bernilai negatif.

Memperumum Hukum De Morgan untuk Logika

Jika P sebuah fungsi proposisi, setiap pasangan pada a) dan b) berikut mempunyai nilai kebenaran yang sama.
a)

Contoh :
Tuliskan negasi dari masing-masing proposisi yang diberikan.
a. Untuk setiap x, x2>x
b. Untuk beberapa x, x2>x

Penyelesaian :
a. Untuk beberapa x, tidak benar bahwa x2>x.
b. Untuk setiap x, tidak benar bahwa x2>x.



metode ilmiah

I Masalah
Pengaruh manusia sebagai faktor luar terhadap pertumbuhan tumbuhan.

II Rumusan Masalah
1) Apakah manusia berpengaruh terhadap pertumbuhan tumbuhan?
2) Bagaimana keadaan tumbuhan yang dirawat secara baik oleh manusia, dan keadaan tumbuhan yang tidak dirawat?

III Observasi
Mengamati tumbuhan yang selalu dipelihara, dirawat, diberi air dan diberi pupuk oleh manusia,tumbuhan tersebut tumbuh dengan subur.

IV Hipotesis
Mungkin tumbuhan akan tumbuh subur oleh manusia.

V Eksperimen
1) Tujuan:
Untuk mengetahui pengaruh manusia faktor luar terhadap pertumbuhan tumbuhan.
2) Alan dan bahan untuk melakukan eksperimen tersebut adalah:
a) 2 pot ukuran sama
b) 2 tanaman sejenis dan seukuran
c) Tanah


d) Pupuk
e) Air
f) Alat tulis
3) Cara Kerja
a) Isi pot 1 dengan tanah,tanaman,dan pupuk lalu disiram,
b) Isi pot 2 dg tanah, tanaman tanpa diberi pupuk lalu diberi air,
c) Rawat tanaman dalam pot 1 secara baik,sementara tanaman dalam pot 2 dibiarkan ataw tidak dirawat,
d) Amati tanaman dalam pot 1 dan pot 2 (daun,batang,dahan) lalu bandingkan ke 2 tanaman tersebut.

VI Kesimpulan
Setelah saya melakukan eksperimen kemudian dengan mengamati tanaman tersebut selama beberapa hari hasil yang saya dapat adalah:
1) Tanaman pada pot 1 tumbuh dengan baik dengan daun, batang dan dahan tumbuh sempurna,
2) Tanaman pada pot 2 tumbuh sebaliknya, tumbuh dengan tidak baik dengan daun, batang dan dahan tidak tumbuh dengan sempurna,bahkan terlihat layu.
Jadi, manusia sebagai faktor luar sangat berpengaruh terhadap pertumbuhan tumbuhan, baik tidak nya tumbuhan tersebut tumbuh.


Pengertian LAN,WAN,dan MAN

Local Area Network

Local Area Network biasa disingkat LAN adalah jaringan komputer yang jaringannya hanya mencakup wilayah kecil; seperti jaringan komputer kampus, gedung, kantor, dalam rumah, sekolah atau yang lebih kecil. Saat ini, kebanyakan LAN berbasis pada teknologi IEEE 802.3 Ethernet menggunakan perangkat switch, yang mempunyai kecepatan transfer data 10, 100, atau 1000 Mbit/s. Selain teknologi Ethernet, saat ini teknologi 802.11b (atau biasa disebut Wi-fi) juga sering digunakan untuk membentuk LAN. Tempat-tempat yang menyediakan koneksi LAN dengan teknologi Wi-fi biasa disebut hotspot.

Pada sebuah LAN, setiap node atau komputer mempunyai daya komputasi sendiri, berbeda dengan konsep dump terminal. Setiap komputer juga dapat mengakses sumber daya yang ada di LAN sesuai dengan hak akses yang telah diatur. Sumber daya tersebut dapat berupa data atau perangkat seperti printer. Pada LAN, seorang pengguna juga dapat berkomunikasi dengan pengguna yang lain dengan menggunakan aplikasi yang sesuai.



Berbeda dengan Jaringan Area Luas atau Wide Area Network (WAN), maka LAN mempunyai karakteristik sebagai berikut :

1. Mempunyai pesat data yang lebih tinggi
2. Meliputi wilayah geografi yang lebih sempit
3. Tidak membutuhkan jalur telekomunikasi yang disewa dari operator telekomunikasi

Biasanya salah satu komputer di antara jaringan komputer itu akan digunakan menjadi server yang mengatur semua sistem di dalam jaringan tersebut.


WAN

WAN adalah singkatan dari istilah teknologi informasi dalam bahasa Inggris: Wide Area Network merupakan jaringan komputer yang mencakup area yang besar sebagai contoh yaitu jaringan komputer antar wilayah, kota atau bahkan negara, atau dapat didefinisikan juga sebagai jaringan komputer yang membutuhkan router dan saluran komunikasi publik.

WAN digunakan untuk menghubungkan jaringan lokal yang satu dengan jaringan lokal yang lain, sehingga pengguna atau komputer di lokasi yang satu dapat berkomunikasi dengan pengguna dan komputer di lokasi yang lain.


MAN

Metropolitan area network atau disingkat dengan MAN. Suatu jaringan dalam suatu kota dengan transfer data berkecepatan tinggi, yang menghubungkan berbagai lokasi seperti kampus, perkantoran, pemerintahan, dan sebagainya. Jaringan MAN adalah gabungan dari beberapa LAN. Jangkauan dari MAN ini antar 10 hingga 50 km, MAN ini merupakan jaringan yang tepaMetropolitan area network atau disingkat dengan MAN. Suatu jaringan dalam suatu kota dengan transfer data berkecepatan tinggi, yang menghubungkan berbagai lokasi seperti kampus, perkantoran, pemerintahan, dan sebagainya. Jaringan MAN adalah gabungan dari beberapa LAN. Jangkauan dari MAN ini antar 10 hingga 50 km, MAN ini merupakan jaringan yang tepat untuk membangun jaringan antar kantor-kantor dalam satu kota antara pabrik/instansi dan kantor pusat yang berada dalam jangkauannya.

perkembangan internet

Teknologi Informasi dan Telekomunikasi (Information and Communication Technology/ICT) merupakan tulang punggung aplikasi Web 2.0. Perkembangan Teknologi Informasi dan Komunikasi yang fenomenal dan menjadi awal munculnya aplikasi web adalah Internet. Internet yang berawal dari riset untuk pertahanan dan keamanan serta pendidikan berkembang menjadi perangkat pendukung bisnis yang sangat berpengaruh. Dalam kaitan dengan aplikasi Web 2.0 ini, terdapat beberapa peristiwa penting dalam sejarah internet.

perkembangan internet

Berawal pada tahun 1957, melalui Advanced Research Projects Agency (ARPA), Amerika Serikat bertekad mengembangkan jaringan komunikasi terintegrasi yang saling menghubungkan komunitas sains dan keperluan militer. Hal ini dilatarbelakangi oleh terjadinya perang dingin antara Amerika Serikat dengan Uni Soviet (tahun 1957 Soviet meluncurkan sputnik).

Perkembangan besar Internet pertama adalah penemuan terpenting ARPA yaitu packet switching pada tahun 1960. Packet switching adalah pengiriman pesan yang dapat dipecah dalam paket-paket kecil yang masing-masing paketnya dapat melalui berbagai alternatif jalur jika salahsatu jalur rusak untuk mencapai tujuan yang telah ditentukan. Packet switching juga memungkinkan jaringan dapat digunakan secara bersamaan untuk melakukan banyak koneksi, berbeda dengan jalur telepon yang memerlukan jalur khusus untuk melakukan koneksi. Maka ketika ARPANET menjadi jaringan komputer nasional di Amerika Serikat pada 1969, packet switching digunakan secara menyeluruh sebagai metode komunikasinya menggantikan circuit switching yang digunakan pada sambungan telepon publik.

Perkembangan besar Internet kedua yang dicatat pada sejarah internet adalah pengembangan lapisan protokol jaringan yang terkenal karena paling banyak digunakan sekarang yaitu TCP/IP (Transmission Control Protocol/ Internet Protocol). Protokol adalah suatu kumpulan aturan untuk berhubungan antarjaringan. Protokol ini dikembangkan oleh Robert Kahn dan Vinton Cerf pada tahun 1974. Dengan protokol yang standar dan disepakati secara luas, maka jaringan lokal yang tersebar di berbagai tempat dapat saling terhubung membentuk jaringan raksasa bahkan sekarang ini menjangkau seluruh dunia. Jaringan dengan menggunakan protokol internet inilah yang sering disebut sebagai jaringan internet.

Jaringan ARPANET menjadi semakin besar sejak saat itu dan mulai dikelola oleh pihak swasta pada tahun 1984, maka semakin banyak universitas tergabung dan mulailah perusahaan komersial masuk. Protokol TCP/IP menjadi protokol umum yang disepakati sehingga dapat saling berkomunikasi pada jaringan internet ini.

Perkembangan besar Internet ketiga adalah terbangunnya aplikasi World Wide Web pada tahun 1990 oleh Tim Berners-Lee. Aplikasi World Wide Web (WWW) ini menjadi konten yang dinanti semua pengguna internet. WWW membuat semua pengguna dapat saling berbagi bermacam-macam aplikasi dan konten, serta saling mengaitkan materi-materi yang tersebar di internet. Sejak saat itu pertumbuhan pengguna internet meroket.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification