Minggu, 08 Desember 2013
Rabu, 29 Mei 2013
penerapan kombinatorik \ PROGRAM GENERATE PERMUTASI
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int hasil;
//funsi faktorial :
int faktorial (int nilai)
{
hasil = nilai;
while(nilai>1)
{
hasil = hasil*(nilai-1);
nilai = nilai-1;
}
return hasil;
}
main()
{
int p,nq,max,x,i,j,n,k,r,s,tr,no ;
int a[100];
div_t xx;
for (i=0;i<100;i++)
{
a[i] =0;
}
//Tampilkan pembuka
printf("\n PROGRAM GENERATE PERMUTASI\n\n");
//input nilai n(jumlah data <maksimal 100>)
printf("Masukan nilai n : ");
scanf("%d",&n);
//input data ke dalam array
for(i=1;i<=n;i++) //ulangi untuk semua data hingga data ke-n
{
printf("Masukan nilai himpunan a[%d] : ",i);
scanf("%d",&a[i]);
}
//input nilai r
printf("nilai r : ");
scanf("%d",&tr);
//hitung nilai permutasi
p=faktorial(n);
nq=faktorial(n-tr);
if(nq==0)nq=1;
max=p/nq;
printf("nilai permutasi : %d\n\nTekan Enter untuk melihat hasil generate permutasi...\n",max);
getche();//fungsi membaca karakter keyboard
no=1;//variabel untuk menampilkan nomor
//men-generate permutasi dengan
//algoritma generate next-permutation
//genere sabanyak nilai permutasi
for(x=1;x<=max;x++)
{
printf("%3d. ",no);
for(i=1;i<=tr;i++)
printf("%d",a[i]);
printf("\n",a[i]);
no++;
j=n-1;
while(a[j] > a[j+1])
j=j-1 ; //j adalah subcript terbesar dengan aj<aj+1
k=n;
while(a[j] > a[k])
k=k-1 ; //ak adalah integer terkecil dan lebih besar dari aj
//tukar aj dan ak
i=a[k];
a[k]=a[j];
a[j]=i;
r=n;
s=j+1;
while (r>s)
{
//tukar ar dan as
i=a[r];
a[r]=a[s];
a[s]=i;
r=r-1;
s=s+1;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
#include <conio.h>
#include <stdlib.h>
using namespace std;
int hasil;
//funsi faktorial :
int faktorial (int nilai)
{
hasil = nilai;
while(nilai>1)
{
hasil = hasil*(nilai-1);
nilai = nilai-1;
}
return hasil;
}
main()
{
int p,nq,max,x,i,j,n,k,r,s,tr,no ;
int a[100];
div_t xx;
for (i=0;i<100;i++)
{
a[i] =0;
}
//Tampilkan pembuka
printf("\n PROGRAM GENERATE PERMUTASI\n\n");
//input nilai n(jumlah data <maksimal 100>)
printf("Masukan nilai n : ");
scanf("%d",&n);
//input data ke dalam array
for(i=1;i<=n;i++) //ulangi untuk semua data hingga data ke-n
{
printf("Masukan nilai himpunan a[%d] : ",i);
scanf("%d",&a[i]);
}
//input nilai r
printf("nilai r : ");
scanf("%d",&tr);
//hitung nilai permutasi
p=faktorial(n);
nq=faktorial(n-tr);
if(nq==0)nq=1;
max=p/nq;
printf("nilai permutasi : %d\n\nTekan Enter untuk melihat hasil generate permutasi...\n",max);
getche();//fungsi membaca karakter keyboard
no=1;//variabel untuk menampilkan nomor
//men-generate permutasi dengan
//algoritma generate next-permutation
//genere sabanyak nilai permutasi
for(x=1;x<=max;x++)
{
printf("%3d. ",no);
for(i=1;i<=tr;i++)
printf("%d",a[i]);
printf("\n",a[i]);
no++;
j=n-1;
while(a[j] > a[j+1])
j=j-1 ; //j adalah subcript terbesar dengan aj<aj+1
k=n;
while(a[j] > a[k])
k=k-1 ; //ak adalah integer terkecil dan lebih besar dari aj
//tukar aj dan ak
i=a[k];
a[k]=a[j];
a[j]=i;
r=n;
s=j+1;
while (r>s)
{
//tukar ar dan as
i=a[r];
a[r]=a[s];
a[s]=i;
r=r-1;
s=s+1;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
Selasa, 04 Desember 2012
tugas
Tugas 3 Individu Latihan Studi Kasus
Sistem Pendukung Keputusan Klinis dalam Mendiagnosa
Penyakit Unggas
Usaha
ternak unggas merupakan salah satu peluang bisnis yang prospeknya sangat
menjanjikan. Meskipun binis tersebut sangat menjanjikan, bukan berarti bisnis
ini tidak mempunyai kendala. Begitu banyak kendala yang ditemui oleh para
pengusaha peternakan. Banyak kendala yang bisa diatasi, akan tetapi tidak
sedikit pula yang pada akhirnya menyebabkan peternak unggas merugi. Wawancara
pada lima
pengusaha ayam dan pengelolanya, menyebutkan bahwa keuntungan yang dicapai tiap
kali panen tidak maksimal atau dalam kasus ini selalu ada unggas yang mati
melebihi 200 ekor. Kasus terparah dari lima lokasi survey tersebut adalah kematian 4800 ekor ayam di dusun Krapyak,
kecamatan Muntilan, kabupaten Magelang akibat penyakit Newcastle Disease.
Menurut
beberapa pengusaha peternakan ayam, faktor yang mempengaruhi hasil panen suatu
peternakan adalah konsep kandang, anak kandang, dan penanganan penyakit. Konsep
kandang yang buruk dan tidak sesuai standar dari perusahaan kemitraan ayam yang
menaungi pengusaha ternak mempunyai dampak pada anak ayam yang sering terjepit
dan akhirnya mati. Anak kandang juga merupakan faktor penting dalam pencapaian
panen yang maksimal. Anak kandang yang buruk nantinya akan berdampak pada bobot
ayam yang tidak sesuai target, gesernya penghitungan ayam yang mati, dan juga
manajemen pakan ayam yang melebihi takaran. Faktor berikutnya adalah penanganan
penyakit. Ayam yang mati tiba-tiba hendaknya tidak langsung dibuang begitu
saja, perlu adanya diagnosa terhadap ayam yang membuat pengusaha merugi seperti
kasus di atas. Kesalahan diagnosa penyakit sangat mempengaruhi hasil panen.
Berdasarkan kasus diatas mengenai Aplikasi SPK Klinis
dalam Mendiagnosa Penyakit Unggas yang diberikan, tentukanlah ;
a.
Identifikasi
Masalah
b.
Rumusan Masalah
c.
Kebutuhan Data
yang diperoleh bila diasumsikan pengumpulan data di lapangan telah dilakukan
dalam bentuk tabel rangkuman hasil pengumpulan data seperti tabel di bawah ini
:
|
No
|
Klasifikasi
|
Definisi
|
|
1
|
Jenis Masalah
|
|
|
2
|
Data/Fakta yang diperoleh
|
|
|
3
|
Jenis Keputusan
|
|
|
4
|
Model keputusan
|
|
|
5
|
Input sistem
|
|
|
6
|
Proses
|
|
|
7
|
Keluaran Sistem
|
|
Rabu, 28 November 2012
PERHITUNGAN SUPERNET
Pengaturan IP-Address pada super jaringan (supernet) ada prosedurnya tersendiri, yaitu sebagai berikut :
Prosedur Supernetting
1. Pada Supernet bit Host yang bernilai nol semua berfungsi sebagai Supernet Address, bit Host yang bernilai satu semua berfungsi sebagai Broadcast Address.
2. Pada proses netmasking, IP-Address untuk Supernet-mask ditentukan dengan mengganti semua bit Network dengan bit 1, dan mengganti semua bit Host (termasuk bit Host yang dipinjam dari bit Network) dengan bit 0. Contohnya pembentukan supernet dari gabungan 4 buah jaringan Kelas-C dengan meminjam 2 bit Network, maka komposisi bit 1 dan bit 0 pada proses netmasking :
Sebelum Subnetting : 110nnnnn.nnnnnnnn. nnnnnnnn.hhhhhhhh
Proses netmasking : 11111111 . 11111111 . 11111111. 00000000
Subnet-mask Kls-C : 255 . 255 . 255 . 0
Setelah Supernetting : 110nnnnn.nnnnnnnn. nnnnnnHH.hhhhhhhh
Proses netmasking : 11111111.11111111.11111100.00000000
Supernet-mask : 255 . 255 . 252 . 0
Untuk menghitung nilai desimal dari Subnet pada proses netmasking di atas, digunakan tabel konversi Biner (Tabel IX.1).
Contoh soal :
Enam buah jaringan Kelas-C dengan Nomor Network 192.168.32, 192.168.33, 192.168.34, 192.168.35, 192.168.36 dan 192.168.37, yang masing-masing memiliki 254 Host, akan digabungkan membentuk suatu Supernet.
a. Tentukan penambahan bit Host yang dibutuhkan, dan Supernet Mask dari gabungan jaringan tersebut !
b. Tentukan jumlah Host maksimum yang bisa ditampung oleh Supernet tersebut !
c. Tentukan Supernet ID (Address), Host Range dan Supernet Broadcast untuk Supernet tersebut !
Jawab :
a. Jumlah bit Host yang dibutuhkan untuk menggabungkan 6 buah jaringan :
- untuk 2 bit dapat menggabungkan maksimum 4 jaringan ( 22 = 4 ).
- untuk 3 bit dapat menggabungkan maksimum 8 jaringan ( 23 = 8 ).
Jadi jumlah bit Host tambahan yang diperlukan adalah 3 bit.
Sebelum Supernetting : 110nnnnn.nnnnnnnn. nnnnnnnn.hhhhhhhh
Setelah Supernetting : 110nnnnn.nnnnnnnn.nnnnnHHH.hhhhhhhh
Proses netmasking : 11111111 . 11111111 . 11111000 . 00000000
Supernet-mask : 255 . 255 . 248 . 0
b. Untuk Supernet dari kelas C dengan penambahan 3 bit Host, maka :
jumlah Host maksimum yang bisa ditampung adalah :
2(8+n) - 2 = 2(8+3) - 2 = 2048-2 = 2046 Host.
c. Supernet ID (Address), Host Range dan Subnet Broadcast untuk gabungan jaringan tersebut, adalah :
Supernet Address : 192 . 168. 8 . 0
(alternatif lain : 192.168.16.0; 192.168.24.0; 192.168....0;...; 192.168.248.0 )
Broadcast Add: 192.168.15.255
Catatan : Yang dibentuk hanya sebuah Supernet.
Supernetmask : 255 . 255 . 248 . 0
Supernet ID: 192.168.8.0
192.168.8.1
.
.
.
192.168.15.254
Broadcast 192.168.15.255
H o s t Range : 192 . 168. 8. 1 - 192 . 168. 8 . 255 = 255
192 . 168. 9. 0 - 192 . 168. 9 . 255 = 256
192 . 168. 10. 0 - 192 . 168. 10 . 255 = 256
192 . 168. 11. 0 - 192 . 168. 11 . 255 = 256
192 . 168. 12. 0 - 192 . 168. 12 . 255 = 256
192 . 168. 13. 0 - 192 . 168. 13 . 244 = 245 +
1524 host
Catatan: agar jumlah host bisa pas dipenuhi, maka bit yg terakhir bisa diubah-ubah sehingga menjadi pas...
Supernet Broadcast : 192 . 168. 15 . 255
Host-range yang tersedia : 2046 IP-Address.
Host-range digunakan hanya : 6 x 254 = 1524 IP-Address.
Hasil dari proses Supernetting ini mengubah komposisi antara bit Network dengan bit Host, dengan demikian hal ini akan mempengaruhi nilai Network Address, Broadcast Address dan Subnetmask Jaringan.
Sebagai contoh untuk kasus di atas :
Host dengan IP-Address 192.168.12.81/21 adalah Host yang terdapat pada baris ke 5 dari supernet yang terbentuk. Network Address = 192.168.8.0 ;
Broadcast Address = 192.168.15.255 ;
Subnetmask Jaringan = 255.255.248.0
Hal ini bisa juga diperoleh melalui perhitungan sbb. :
Masking 21 bit untuk kelas-C : 192.168.12.81/21
IP-Address
192 168 12 81
1100000 10101000 00001100 0 1010001
Supernet Mask
255 255 248 0
11111111 11111111 11111000 00000000
Network Address
192 168 8 0
1100000 10101000 00001000 00000000
Broadcast Address
192 168 15 255
1100000 10101000 00001111 11111111
Gambar : Perhitungan Supernet Mask.
Contoh perhitungan Supernet Mask untuk IP-Address lainnya :
Masking 13 bit untuk kelas-B : 144.132.28.49/13
IP-Address
144 132 28 49
10010000 10000100 00011100 0 0110001
Supernet Mask
255 248 0 0
11111111 11111000 00000000 00000000
Network Address
144 128 0 0
10010000 10000000 00000000 00000000
Broadcast Address
144 135 255 255
10010000 10000111 11111111 11111111
Masking 20 bit untuk kelas-C : 203.172. 45.112/20
IP-Address
203 172 45 112
10001011 10101100 00101101 0 1110000
Supernet Mask
255 255 240 0
11111111 11111111 11110000 00000000
Network Address
203 172 32 0
10001011 10101100 00100000 00000000
Broadcast Address
203 172 47 255
10001011 10101100 00101111 11111111
Gambar : Perhitungan Supernet Mask untuk kelas-B dan kelas-C
Prosedur Supernetting
1. Pada Supernet bit Host yang bernilai nol semua berfungsi sebagai Supernet Address, bit Host yang bernilai satu semua berfungsi sebagai Broadcast Address.
2. Pada proses netmasking, IP-Address untuk Supernet-mask ditentukan dengan mengganti semua bit Network dengan bit 1, dan mengganti semua bit Host (termasuk bit Host yang dipinjam dari bit Network) dengan bit 0. Contohnya pembentukan supernet dari gabungan 4 buah jaringan Kelas-C dengan meminjam 2 bit Network, maka komposisi bit 1 dan bit 0 pada proses netmasking :
Sebelum Subnetting : 110nnnnn.nnnnnnnn. nnnnnnnn.hhhhhhhh
Proses netmasking : 11111111 . 11111111 . 11111111. 00000000
Subnet-mask Kls-C : 255 . 255 . 255 . 0
Setelah Supernetting : 110nnnnn.nnnnnnnn. nnnnnnHH.hhhhhhhh
Proses netmasking : 11111111.11111111.11111100.00000000
Supernet-mask : 255 . 255 . 252 . 0
Untuk menghitung nilai desimal dari Subnet pada proses netmasking di atas, digunakan tabel konversi Biner (Tabel IX.1).
Contoh soal :
Enam buah jaringan Kelas-C dengan Nomor Network 192.168.32, 192.168.33, 192.168.34, 192.168.35, 192.168.36 dan 192.168.37, yang masing-masing memiliki 254 Host, akan digabungkan membentuk suatu Supernet.
a. Tentukan penambahan bit Host yang dibutuhkan, dan Supernet Mask dari gabungan jaringan tersebut !
b. Tentukan jumlah Host maksimum yang bisa ditampung oleh Supernet tersebut !
c. Tentukan Supernet ID (Address), Host Range dan Supernet Broadcast untuk Supernet tersebut !
Jawab :
a. Jumlah bit Host yang dibutuhkan untuk menggabungkan 6 buah jaringan :
- untuk 2 bit dapat menggabungkan maksimum 4 jaringan ( 22 = 4 ).
- untuk 3 bit dapat menggabungkan maksimum 8 jaringan ( 23 = 8 ).
Jadi jumlah bit Host tambahan yang diperlukan adalah 3 bit.
Sebelum Supernetting : 110nnnnn.nnnnnnnn. nnnnnnnn.hhhhhhhh
Setelah Supernetting : 110nnnnn.nnnnnnnn.nnnnnHHH.hhhhhhhh
Proses netmasking : 11111111 . 11111111 . 11111000 . 00000000
Supernet-mask : 255 . 255 . 248 . 0
b. Untuk Supernet dari kelas C dengan penambahan 3 bit Host, maka :
jumlah Host maksimum yang bisa ditampung adalah :
2(8+n) - 2 = 2(8+3) - 2 = 2048-2 = 2046 Host.
c. Supernet ID (Address), Host Range dan Subnet Broadcast untuk gabungan jaringan tersebut, adalah :
Supernet Address : 192 . 168. 8 . 0
(alternatif lain : 192.168.16.0; 192.168.24.0; 192.168....0;...; 192.168.248.0 )
Broadcast Add: 192.168.15.255
Catatan : Yang dibentuk hanya sebuah Supernet.
Supernetmask : 255 . 255 . 248 . 0
Supernet ID: 192.168.8.0
192.168.8.1
.
.
.
192.168.15.254
Broadcast 192.168.15.255
H o s t Range : 192 . 168. 8. 1 - 192 . 168. 8 . 255 = 255
192 . 168. 9. 0 - 192 . 168. 9 . 255 = 256
192 . 168. 10. 0 - 192 . 168. 10 . 255 = 256
192 . 168. 11. 0 - 192 . 168. 11 . 255 = 256
192 . 168. 12. 0 - 192 . 168. 12 . 255 = 256
192 . 168. 13. 0 - 192 . 168. 13 . 244 = 245 +
1524 host
Catatan: agar jumlah host bisa pas dipenuhi, maka bit yg terakhir bisa diubah-ubah sehingga menjadi pas...
Supernet Broadcast : 192 . 168. 15 . 255
Host-range yang tersedia : 2046 IP-Address.
Host-range digunakan hanya : 6 x 254 = 1524 IP-Address.
Hasil dari proses Supernetting ini mengubah komposisi antara bit Network dengan bit Host, dengan demikian hal ini akan mempengaruhi nilai Network Address, Broadcast Address dan Subnetmask Jaringan.
Sebagai contoh untuk kasus di atas :
Host dengan IP-Address 192.168.12.81/21 adalah Host yang terdapat pada baris ke 5 dari supernet yang terbentuk. Network Address = 192.168.8.0 ;
Broadcast Address = 192.168.15.255 ;
Subnetmask Jaringan = 255.255.248.0
Hal ini bisa juga diperoleh melalui perhitungan sbb. :
Masking 21 bit untuk kelas-C : 192.168.12.81/21
IP-Address
192 168 12 81
1100000 10101000 00001100 0 1010001
Supernet Mask
255 255 248 0
11111111 11111111 11111000 00000000
Network Address
192 168 8 0
1100000 10101000 00001000 00000000
Broadcast Address
192 168 15 255
1100000 10101000 00001111 11111111
Gambar : Perhitungan Supernet Mask.
Contoh perhitungan Supernet Mask untuk IP-Address lainnya :
Masking 13 bit untuk kelas-B : 144.132.28.49/13
IP-Address
144 132 28 49
10010000 10000100 00011100 0 0110001
Supernet Mask
255 248 0 0
11111111 11111000 00000000 00000000
Network Address
144 128 0 0
10010000 10000000 00000000 00000000
Broadcast Address
144 135 255 255
10010000 10000111 11111111 11111111
Masking 20 bit untuk kelas-C : 203.172. 45.112/20
IP-Address
203 172 45 112
10001011 10101100 00101101 0 1110000
Supernet Mask
255 255 240 0
11111111 11111111 11110000 00000000
Network Address
203 172 32 0
10001011 10101100 00100000 00000000
Broadcast Address
203 172 47 255
10001011 10101100 00101111 11111111
Gambar : Perhitungan Supernet Mask untuk kelas-B dan kelas-C
Kamis, 04 Oktober 2012
tugas eprof
etika profesi guru
tindakan yang tidak boleh di lakukan guru dan dasar nya..
tindakan yang tidak boleh di lakukan guru dan dasar nya..
- 1. idak boleh membedakan ,Harus adanya pemerataan pembelajaran .
- 2. Harus memiliki serifikat hak Pengajaran.
- 3. Tidak boleh menerima sogokan(uang byaran tambahan untuk memperbaiki nilai).
- 4. Tidak boleh mengajarkan ajaran yang menyimpang.
- 5. Harus men jadi panutan para siswa/siswi nya.tidakmelakukan tindakan buruk
Dan ini dasar nya ,
Pasal1
(1)Kode Etik Guru Indonesia adalah norma dan asas
yang disepakati dan diterima olehguru-guru Indonesia. Sebagai pedoman sikap dan
perilaku dalam melaksan akan tugas profesi sebagai pendidik ,anggota maasyarakat
dan wargan egara.
(2)Pedoman sikap dan perilaku sebagai
mana yang dimaksud pada ayat (1) pasal ini adalah nilai-nilai moral yang membedakan
perilaku guru yang baik dan buruk ,yang boleh dan tidak boleh dilaksanakan selama
menunaikan tugas-tugas professional nya untuk mendidik, mengajar ,membimbing, mengarahkan
,melatih ,menilai,danmengevaluasi pesertadidik, serta sikap pergaulan sehari-hari
didalam dan luar sekolah.
Pasal2
(1)Kode Etik Guru Indonesia merupakan pedoman sikap
dan perilaku bertujuan menempatkan guru sebagai profesi terhormat,mulia,dan bermartabat
yang dilindungi undang-undang.
(2)Kode Etik Guru Indonesia berfungsi sebagai seperangkat
prinsip dan norma moral yang melandasi pelaksanaan tugas dan layanan professional
guru dalam hubungan nyadengan pesertadidik,orangtua/walisiswa,sekolah dan rekanseprofesi,organisasiprofesi,dan
pemerintah sesuai dengan nilai-nilai agama, pendidikan, sosial,etika dan kemanusiaan.
Bagian Dua Sumpah/Janji GuruIndonesia
Pasal3
(1)Setiap guru mengu capkan sumpah/janji
guru Indonesia sebagai wujud pemahaman,penerimaan,penghormatan,dan kesediaan untuk
mematuhi nilai-nilai moral yang termuat di dalam Kode Etik Guru Indonesia sebagai
pedoman bersikap dan berperilaku,baik di sekolah maupun dilingkungan masyarakat.
(2)Sumpah/janji guru Indonesia diucapkan
dihadapan pengurus organisasi profesi guru dan pejabat yang berwenang di wilayah
kerja masing-masing.
(3)Setiap pengambilan sumpah/janji guru Indonesia
dihadiri oleh penyelenggara satuan pendidikan.
Pasal4
(1)Naskah sumpah/janji guru Indonesia
di lampirkan sebagai bagian yang tidak terpisah kan dari Kode Etik Guru Indonesia.
(2)Pengambilan sumpah/janji guru Indonesia
dapat dilaksanakan secara perorangan atau kelompok sebelum nya melaksanakan tugas.
Bagian Tiga Nilai-nilai Dasar dan Nilai-nilai
Operasional
Pasal5
Kode Etik Guru Indonesia bersumber dari:
(1)Nilai-nilaiagamadanPancasila
(2)Nilai-nilai kompetensi pedagogik,kompetensi
kepribadian, kompetensi social ,dan kompetensi profesional.
(3)Nilai-nilai jati diri,harkat dan martabat
manusia yang meliputi perkembangan kesehatan jasmaniah,emosional,intelektual,sosial,dan
spiritual,
Rabu, 06 Juni 2012
.ROGRAM DERAJAT GRAPH DENDGAN PASCAL
.ROGRAM DERAJAT GRAPH DENDGAN PASCAL
uses crt;
var
x, m,n,i,j,s:integer;
map: array[1..10,1..10] of boolean;
nil_map,temp:array[0..10,0..10] of integer;
a, derajat:array[1..10] of integer;
fi,fo:text;
procedure isi_nilai(n:integer);
{mengisi nilai kolom matrik sesuai keterhubungan}
begin
for i:= 1 to n do
for j:= 1 to n do
begin
if map[i,j]=true then
begin
nil_map[i,j]:=1;
end
else nil_map[i,j]:=0;
end;
end;
procedure baca_file(var fi:text);
begin
assign(fi,'input.in');
reset(fi);
readln(fi,n);
{m:=0;}
repeat
readln(fi,i,j);
if (i>=0) and (j>=0) then
begin
map[i,j]:=true;
map[j,i]:=true;
{inc(m);}
end;
until (i=0) and (j=0);
end;
procedure hitung(n:integer);
begin
x:=0;
a[1]:=0;
repeat
i:=1+x;
for j:= 1 to n do
begin
a[i]:=a[i]+nil_map[i,j];
end;
derajat[x+1]:=a[i];
writeln('derajat[',x+1,']:',derajat[x+1]);
inc(x);
until x=n;
end;
procedure buat_output(n:integer;var fo:text);
var k:integer;
begin
for k:= 1 to n do
begin
write(fo,'derajat[',k,']=',derajat[k]);
writeln(fo);
end;
end;
begin
baca_file(fi);
close(fi);
assign(fo,'output.out');
rewrite(fo);
isi_nilai(n);
hitung(n);
buat_output(n,fo);
close(fo);
readln;
end.ROGRAM DERAJAT GRAPH DENDGAN PASCAL
uses crt;
var
x, m,n,i,j,s:integer;
map: array[1..10,1..10] of boolean;
nil_map,temp:array[0..10,0..10] of integer;
a, derajat:array[1..10] of integer;
fi,fo:text;
procedure isi_nilai(n:integer);
{mengisi nilai kolom matrik sesuai keterhubungan}
begin
for i:= 1 to n do
for j:= 1 to n do
begin
if map[i,j]=true then
begin
nil_map[i,j]:=1;
end
else nil_map[i,j]:=0;
end;
end;
procedure baca_file(var fi:text);
begin
assign(fi,'input.in');
reset(fi);
readln(fi,n);
{m:=0;}
repeat
readln(fi,i,j);
if (i>=0) and (j>=0) then
begin
map[i,j]:=true;
map[j,i]:=true;
{inc(m);}
end;
until (i=0) and (j=0);
end;
procedure hitung(n:integer);
begin
x:=0;
a[1]:=0;
repeat
i:=1+x;
for j:= 1 to n do
begin
a[i]:=a[i]+nil_map[i,j];
end;
derajat[x+1]:=a[i];
writeln('derajat[',x+1,']:',derajat[x+1]);
inc(x);
until x=n;
end;
procedure buat_output(n:integer;var fo:text);
var k:integer;
begin
for k:= 1 to n do
begin
write(fo,'derajat[',k,']=',derajat[k]);
writeln(fo);
end;
end;
begin
baca_file(fi);
close(fi);
assign(fo,'output.out');
rewrite(fo);
isi_nilai(n);
hitung(n);
buat_output(n,fo);
close(fo);
readln;
end.ROGRAM DERAJAT GRAPH DENDGAN PASCAL
PROGRAM C++ UNTUK MENGETAHUI GRAPH/GRAF TERHUBUNG ATAU TIDAK??
INI ADALAH PROGRAM C++ UNTUK MENGETAHUI GRAPH/GRAF TERHUBUNG ATAU TIDAK??
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
bool ketemu,nolsemua;
int matrix[10] [10];
int i,j,jumlah_simpul,jumlah_sisi,asal,tujuan;
//isnisialisasi matrix
cout<<"jumlah simpul:";
cin>>jumlah_simpul;
cout<<"jumlah_sisi:";
cin>>jumlah_sisi;
for (i=1;i<=jumlah_simpul;i++)
for (j=1;j<=jumlah_simpul;j++)
matrix[i][j]=0;
//isi matrix sesuai input graf
for (i=1;i<=jumlah_sisi;i++){
cout<<"simpul asal:";
cin>>asal;
cout<<"simpul tujuan:";
cin>>tujuan;
matrix[asal][tujuan]=1;
matrix[tujuan][asal]=1;
}
//telusuri graf
i=1;nolsemua=false;
while (i<=jumlah_simpul && !nolsemua){
j=1;ketemu=false;
while (j<=jumlah_simpul && !ketemu){
if (matrix[i][j]==1)
ketemu=true;
else
j++;
}
if (!ketemu)
nolsemua=true;
else
i++;
}
if(nolsemua)
cout<<"graf tidak terhubung";
else
cout<<"graf terhubung";
//getch(4);
system ("PAUSE");
return 0;
}
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
bool ketemu,nolsemua;
int matrix[10] [10];
int i,j,jumlah_simpul,jumlah_sisi,asal,tujuan;
//isnisialisasi matrix
cout<<"jumlah simpul:";
cin>>jumlah_simpul;
cout<<"jumlah_sisi:";
cin>>jumlah_sisi;
for (i=1;i<=jumlah_simpul;i++)
for (j=1;j<=jumlah_simpul;j++)
matrix[i][j]=0;
//isi matrix sesuai input graf
for (i=1;i<=jumlah_sisi;i++){
cout<<"simpul asal:";
cin>>asal;
cout<<"simpul tujuan:";
cin>>tujuan;
matrix[asal][tujuan]=1;
matrix[tujuan][asal]=1;
}
//telusuri graf
i=1;nolsemua=false;
while (i<=jumlah_simpul && !nolsemua){
j=1;ketemu=false;
while (j<=jumlah_simpul && !ketemu){
if (matrix[i][j]==1)
ketemu=true;
else
j++;
}
if (!ketemu)
nolsemua=true;
else
i++;
}
if(nolsemua)
cout<<"graf tidak terhubung";
else
cout<<"graf terhubung";
//getch(4);
system ("PAUSE");
return 0;
}
Jumat, 01 Juni 2012
CSCW ADALAH
CSCW adalah cara merancang suatu sistem yang digunakan untuk membantu
pekerjaan sebagai suatu group dan bagaimana memahami dampak suatu
teknologi pada pola pekerjaan mereka CSCW adalah suatu sistem yang
mendukung pekerjaan groupware.
Beberapa fenomena yang mempengaruhi penggunaan computer-mediated communication:
1. Personal space
* Dalam komunikasi face-to-face, setiap orang cenderung mempertahankan jarak tertentu dengan lawan bicaranya.
* Konsep personal space berbeda untuk setiap negara/budaya.
* Masalah personal space dapat timbul apabila percakapan dilakukan melalui video links.
2. Kontak dan tatapan mata
* Dalam berkomunikasi, kontak mata memberikan beberapa petunjuk, a.l. perasaan tertarik/bosan, otoritas/power, kehadiran sosial, dll.
* Video-tunnel memungkinkan kontak mata bahkan seluruh ekspresi wajah.
3. Gerak isyarat dan bahasa tubuh
* Dalam berkomunikasi, kita menggunakan tangan (gerak isyarat) untuk menunjuk sesuatu.
* Beberapa groupware system mencoba mengatasi hal tersebut dengan menggunakan group pointer.
* Banyak computer-supported meeting room menempatkan monitor pada meja sehingga para peserta dapat saling melihat dengan jelas.
4. Back channel
* Response dari pendengar berupa gerakan tubuh disebut back channel.
* Dengan adanya back channel, pembicara merasa bahwa pendengar cukup memahami pembicaraan.
* Beberapa masalah berkaitan dengan back channel yang mungkin timbul dalam komunikasi video, a.l.:
o Komunikasi video cenderung banyak menyoroti kepala dan bahu, sehingga kehilangan beberapa gerak tubuh dan isyarat.
o Layar yang besar cenderung mengurangi detail sehingga mungkin kehilangan beberapa informasi.
* Audio links (mis. telepon) hanya memiliki verbal back channel.
* Komunikasi berbasis teks biasanya tidak memiliki back channel.
5. Turn-taking
* Turn-taking adalah proses dimana peran dari pembicara dan pendengar ditukar.
* Dalam proses turn-taking, back channel biasanya merupakan bagian yang penting.
* Terjadinya proses turn-taking, a.l. karena:
* Pembicara menawarkan kesempatan kepada pendengar secara eksplisit, mis. mengajukan pertanyaan.
* Pembicara memberikan gap singkat dalam pembicaraan.
o Bentuk pemberian gap dari pembicara terutama berhubungan dengan audio channel.
o Masalah yang cukup serius dalam kaitan dengan pemberian gap timbul dalam komunikasi jarak jauh (komunikasi berbasis satelit) karena kelambatan waktu. Akan terjadi gap sekitar 4 detik.
Percakapan
Tiga fungsi teori percakapan dalam CSCW:
1. digunakan untuk menganalisa catatan (transkrip), mis. konferensi elektronik. Ini akan membantu memahami seberapa baik partisipan menyalin dengan komunikasi elektronik.
2. digunakan sebagai petunjuk untuk keputusan desain. Pemahaman percakapan normal antar manusia menghindari kesalahan besar dalam perancangan media elektronik.
3. dapat digunakan untuk mengarahkan desain, menstrukturkan sistem dengan teori.
Struktur percakapan dasar
Pada tingkat yang lebih tinggi, struktur percakapan dapat dilihat sebagai urutan giliran, biasanya pergantian di antara partisipan.
Konteks
Setiap ucapan dan fragmen dari percakapan sangat tergantung pada konteks yang digunakan untuk menghilangkan ambiguitas dari ucapan.
Ada 2 tipe konteks dalam percakapan:
1. konteks internal, tergantung pada ucapan sebelumnya.
2. konteks eksternal, tergantung pada lingkungan.
Breakdown
Breakdown dalam komunikasi terjadi apabila terdapat perbedaan fokus dari pembicara dan pendengar.
Breakdown ini dapat diperbaiki dengan pertanyaan atau ucapan dari pembicara/pendengar yang dapat menimbulkan fokus dialog yang sama.
Speech act theory
Merupakan suatu analisis yang detail dari struktur percakapan, biasanya digunakan untuk memberikan petunjuk dalam perancangan Coordinator, yaitu sistem email terstruktur yang komersial.
Komunikasi Berbasis Teks
* Dalam groupware yang asynchronous (dan beberapa sistem synchronous), bentuk komunikasi langsung yang dominan adalah berbasis teks.
* Komunikasi berbasis teks dalam sistem groupware seperti tiruan dari percakapan, sehingga terdapat beberapa masalah dalam mengadaptasi antara 2 media.
Ada 4 tipe komunikasi tekstual dalam groupware:
1. discrete; pesan langsung seperti dalam email
2. linear; pesan partisipan ditambahkan pada akhir dari catatan tunggal
3. non-linear; saat pesan dihubungkan ke yang lainnya dalam model hypertext
4. spatial; dimana pesan diatur dalam permukaan dua dimensi
Beberapa masalah yang timbul dalam komunikasi berbasis teks:
1. Back channel
* Kehilangan back channel dan nada suara serta bahasa tubuh pembicara.
2. Grounding constraint
* Adalah sifat dari channel dimana para pembicara berkomunikasi, meliputi:
1. cotemporality; ucapan didengar segera setelah diucapkan
2. simultaneity; partisipan dapat mengirim dan menerima pada waktu yang bersamaan
3. sequence; ucapan-ucapan diurutkan
* Dalam sistem berbasis teks, partisipan yang berbeda dapat menyusun simultaneously, tapi kurang cotemporality.
3. Turn taking
* Tidak adanya back channel menimbulkan kesulitan bagi pendengar untuk menginterupsi percakapan (turn-taking).
4. Konteks
* Hilangnya back channel dan kemungkinan giliran yang overlapping, menyebabkan sulitnya menentukan konteks dari ungkapan tekstual.
5. Hypertext
* Berkurangnya langkah dari percakapan berbasis teks berarti bahwa partisipan dipaksa untuk meningkatkan granulity pesan.
Beberapa fenomena yang mempengaruhi penggunaan computer-mediated communication:
1. Personal space
* Dalam komunikasi face-to-face, setiap orang cenderung mempertahankan jarak tertentu dengan lawan bicaranya.
* Konsep personal space berbeda untuk setiap negara/budaya.
* Masalah personal space dapat timbul apabila percakapan dilakukan melalui video links.
2. Kontak dan tatapan mata
* Dalam berkomunikasi, kontak mata memberikan beberapa petunjuk, a.l. perasaan tertarik/bosan, otoritas/power, kehadiran sosial, dll.
* Video-tunnel memungkinkan kontak mata bahkan seluruh ekspresi wajah.
3. Gerak isyarat dan bahasa tubuh
* Dalam berkomunikasi, kita menggunakan tangan (gerak isyarat) untuk menunjuk sesuatu.
* Beberapa groupware system mencoba mengatasi hal tersebut dengan menggunakan group pointer.
* Banyak computer-supported meeting room menempatkan monitor pada meja sehingga para peserta dapat saling melihat dengan jelas.
4. Back channel
* Response dari pendengar berupa gerakan tubuh disebut back channel.
* Dengan adanya back channel, pembicara merasa bahwa pendengar cukup memahami pembicaraan.
* Beberapa masalah berkaitan dengan back channel yang mungkin timbul dalam komunikasi video, a.l.:
o Komunikasi video cenderung banyak menyoroti kepala dan bahu, sehingga kehilangan beberapa gerak tubuh dan isyarat.
o Layar yang besar cenderung mengurangi detail sehingga mungkin kehilangan beberapa informasi.
* Audio links (mis. telepon) hanya memiliki verbal back channel.
* Komunikasi berbasis teks biasanya tidak memiliki back channel.
5. Turn-taking
* Turn-taking adalah proses dimana peran dari pembicara dan pendengar ditukar.
* Dalam proses turn-taking, back channel biasanya merupakan bagian yang penting.
* Terjadinya proses turn-taking, a.l. karena:
* Pembicara menawarkan kesempatan kepada pendengar secara eksplisit, mis. mengajukan pertanyaan.
* Pembicara memberikan gap singkat dalam pembicaraan.
o Bentuk pemberian gap dari pembicara terutama berhubungan dengan audio channel.
o Masalah yang cukup serius dalam kaitan dengan pemberian gap timbul dalam komunikasi jarak jauh (komunikasi berbasis satelit) karena kelambatan waktu. Akan terjadi gap sekitar 4 detik.
Percakapan
Tiga fungsi teori percakapan dalam CSCW:
1. digunakan untuk menganalisa catatan (transkrip), mis. konferensi elektronik. Ini akan membantu memahami seberapa baik partisipan menyalin dengan komunikasi elektronik.
2. digunakan sebagai petunjuk untuk keputusan desain. Pemahaman percakapan normal antar manusia menghindari kesalahan besar dalam perancangan media elektronik.
3. dapat digunakan untuk mengarahkan desain, menstrukturkan sistem dengan teori.
Struktur percakapan dasar
Pada tingkat yang lebih tinggi, struktur percakapan dapat dilihat sebagai urutan giliran, biasanya pergantian di antara partisipan.
Konteks
Setiap ucapan dan fragmen dari percakapan sangat tergantung pada konteks yang digunakan untuk menghilangkan ambiguitas dari ucapan.
Ada 2 tipe konteks dalam percakapan:
1. konteks internal, tergantung pada ucapan sebelumnya.
2. konteks eksternal, tergantung pada lingkungan.
Breakdown
Breakdown dalam komunikasi terjadi apabila terdapat perbedaan fokus dari pembicara dan pendengar.
Breakdown ini dapat diperbaiki dengan pertanyaan atau ucapan dari pembicara/pendengar yang dapat menimbulkan fokus dialog yang sama.
Speech act theory
Merupakan suatu analisis yang detail dari struktur percakapan, biasanya digunakan untuk memberikan petunjuk dalam perancangan Coordinator, yaitu sistem email terstruktur yang komersial.
Komunikasi Berbasis Teks
* Dalam groupware yang asynchronous (dan beberapa sistem synchronous), bentuk komunikasi langsung yang dominan adalah berbasis teks.
* Komunikasi berbasis teks dalam sistem groupware seperti tiruan dari percakapan, sehingga terdapat beberapa masalah dalam mengadaptasi antara 2 media.
Ada 4 tipe komunikasi tekstual dalam groupware:
1. discrete; pesan langsung seperti dalam email
2. linear; pesan partisipan ditambahkan pada akhir dari catatan tunggal
3. non-linear; saat pesan dihubungkan ke yang lainnya dalam model hypertext
4. spatial; dimana pesan diatur dalam permukaan dua dimensi
Beberapa masalah yang timbul dalam komunikasi berbasis teks:
1. Back channel
* Kehilangan back channel dan nada suara serta bahasa tubuh pembicara.
2. Grounding constraint
* Adalah sifat dari channel dimana para pembicara berkomunikasi, meliputi:
1. cotemporality; ucapan didengar segera setelah diucapkan
2. simultaneity; partisipan dapat mengirim dan menerima pada waktu yang bersamaan
3. sequence; ucapan-ucapan diurutkan
* Dalam sistem berbasis teks, partisipan yang berbeda dapat menyusun simultaneously, tapi kurang cotemporality.
3. Turn taking
* Tidak adanya back channel menimbulkan kesulitan bagi pendengar untuk menginterupsi percakapan (turn-taking).
4. Konteks
* Hilangnya back channel dan kemungkinan giliran yang overlapping, menyebabkan sulitnya menentukan konteks dari ungkapan tekstual.
5. Hypertext
* Berkurangnya langkah dari percakapan berbasis teks berarti bahwa partisipan dipaksa untuk meningkatkan granulity pesan.
Rabu, 30 Mei 2012
POSTES MADIS 9
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int hasil;
//funsi faktorial :
int faktorial (int nilai)
{
hasil = nilai;
while(nilai>1)
{
hasil = hasil*(nilai-1);
nilai = nilai-1;
}
return hasil;
}
main()
{
int p,nq,max,x,i,j,n,k,r,s,tr,no ;
int a[100];
div_t xx;
for (i=0;i<100;i++)
{
a[i] =0;
}
//Tampilkan pembuka
printf("\n PROGRAM GENERATE PERMUTASI\n\n");
//input nilai n(jumlah data <maksimal 100>)
printf("Masukan nilai n : ");
scanf("%d",&n);
//input data ke dalam array
for(i=1;i<=n;i++) //ulangi untuk semua data hingga data ke-n
{
printf("Masukan nilai himpunan a[%d] : ",i);
scanf("%d",&a[i]);
}
//input nilai r
printf("nilai r : ");
scanf("%d",&tr);
//hitung nilai permutasi
p=faktorial(n);
nq=faktorial(n-tr);
if(nq==0)nq=1;
max=p/nq;
printf("nilai permutasi : %d\n\nTekan Enter untuk melihat hasil generate permutasi...\n",max);
getche();//fungsi membaca karakter keyboard
no=1;//variabel untuk menampilkan nomor
//men-generate permutasi dengan
//algoritma generate next-permutation
//genere sabanyak nilai permutasi
for(x=1;x<=max;x++)
{
printf("%3d. ",no);
for(i=1;i<=tr;i++)
printf("%d",a[i]);
printf("\n",a[i]);
no++;
j=n-1;
while(a[j] > a[j+1])
j=j-1 ; //j adalah subcript terbesar dengan aj<aj+1
k=n;
while(a[j] > a[k])
k=k-1 ; //ak adalah integer terkecil dan lebih besar dari aj
//tukar aj dan ak
i=a[k];
a[k]=a[j];
a[j]=i;
r=n;
s=j+1;
while (r>s)
{
//tukar ar dan as
i=a[r];
a[r]=a[s];
a[s]=i;
r=r-1;
s=s+1;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
#include <conio.h>
#include <stdlib.h>
using namespace std;
int hasil;
//funsi faktorial :
int faktorial (int nilai)
{
hasil = nilai;
while(nilai>1)
{
hasil = hasil*(nilai-1);
nilai = nilai-1;
}
return hasil;
}
main()
{
int p,nq,max,x,i,j,n,k,r,s,tr,no ;
int a[100];
div_t xx;
for (i=0;i<100;i++)
{
a[i] =0;
}
//Tampilkan pembuka
printf("\n PROGRAM GENERATE PERMUTASI\n\n");
//input nilai n(jumlah data <maksimal 100>)
printf("Masukan nilai n : ");
scanf("%d",&n);
//input data ke dalam array
for(i=1;i<=n;i++) //ulangi untuk semua data hingga data ke-n
{
printf("Masukan nilai himpunan a[%d] : ",i);
scanf("%d",&a[i]);
}
//input nilai r
printf("nilai r : ");
scanf("%d",&tr);
//hitung nilai permutasi
p=faktorial(n);
nq=faktorial(n-tr);
if(nq==0)nq=1;
max=p/nq;
printf("nilai permutasi : %d\n\nTekan Enter untuk melihat hasil generate permutasi...\n",max);
getche();//fungsi membaca karakter keyboard
no=1;//variabel untuk menampilkan nomor
//men-generate permutasi dengan
//algoritma generate next-permutation
//genere sabanyak nilai permutasi
for(x=1;x<=max;x++)
{
printf("%3d. ",no);
for(i=1;i<=tr;i++)
printf("%d",a[i]);
printf("\n",a[i]);
no++;
j=n-1;
while(a[j] > a[j+1])
j=j-1 ; //j adalah subcript terbesar dengan aj<aj+1
k=n;
while(a[j] > a[k])
k=k-1 ; //ak adalah integer terkecil dan lebih besar dari aj
//tukar aj dan ak
i=a[k];
a[k]=a[j];
a[j]=i;
r=n;
s=j+1;
while (r>s)
{
//tukar ar dan as
i=a[r];
a[r]=a[s];
a[s]=i;
r=r-1;
s=s+1;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
DESAIN WEB
Tujuan desain web adalah untuk membuat situs web atau dokumen elektronik dan aplikasi yang berada pada web server dan menampilkan konten dan fitur antarmuka interaktif kepada pengguna akhir dalam bentuk halaman Web. Seperti unsur-unsur teks, gambar (gif, jpeg) untuk ditempatkan pada halaman menggunakan HTML / XHTML / tag XML. Menampilkan media yang lebih kompleks (vektor grafis, animasi, video, suara) membutuhkan plug-in seperti Adobe Flash, QuickTime, Java run-time dan lain-lain. Plug-in juga dimasukkan ke dalam halaman web dengan menggunakan HTML / tag XHTML.
Perbaikan sesuai browser dengan standar W3C diminta penerimaan luas dan penggunaan XHTML / XML bersama dengan Cascading Style Sheets (CSS) untuk posisi dan memanipulasi unsur-unsur halaman web dan objek. Kemampuan browser untuk mengirimkan berbagai konten dan pilihan aksesibilitas kepada klien tanpa menggunakan plug-in.
Dengan spesialisasi yang tumbuh di bidang teknologi informasi ada kecenderungan kuat untuk membedakan antara desain web (web design) dan pengembangan web (web development).
Sumber: http://ewawan.com/pengertian-desain-web.html
Saat membuat , web designseorang web designer tentunya membutuhkan software. Beberapa web design software yang cukup populer ialah Adobe Dreamweaver dan tentunya beberapa program pendukungnya seperti Adobe Photoshop dan Adobe Illustrator. Tetapi untuk berbagai keperluan khusus, program-program tersebut kadang belum cukup. Dalam kenyataannya, dibutuhkan banyak program atau tools lain yang sesuai dengan kebutuhan web design. Di bawah ini kita tampilkan 10 software gratis yang sekiranya bisa dipakai untuk membuat website design secara simpel dan cepat. Gratis karena free software, jadi bisa langsung didownload tanpa membayar. Untuk mengetahui lebih detil tentang cara install, fungsi, dan pengoperasian software internet ini, silahkan kunjungi website penciptanya.
Expression Web Design Menu 1.0
Expression Web Menu Adalah sebuah web design tool untuk
membuat web DropDown Menu. Anda hanya tinggal menseting jumlah tombol
beserta sub itemnya, teks, link target, dan beberapa parameter lain. Di
program ini sudah tersedia banyak template, yang terdiri dari 500+
button, 100+ sub menu design, 6600+ icon, dan 100+ sample.
Atrise Web Design HTMLock 2.2.0
Atrise HTMLock adalah sebuah software komputer untuk
membuat proteksi password pada teks file dan HTML file. Dengan HTML tool
ini Anda juga bisa membuat encrypt HTML untuk kemudian ditempatkan pada
website, CD, DVD, bahkan harddisk. Free software
ini berbasis JavaScript sehingga bebas digunakan dimana saja tanpa
perlu database. User-Friendly wizard-nya sangan membantu Anda untuk
mengenkripsi HTML dan text files dalam beberapa kali klik.
ZoloPages 1.33
Zolopages adalah program yang berfungsi meng-capture
data di web page lalu menyimpannya dalam format database. Program ini
berguna jika kita hendak mengambil dan menyimpan data dari situs-situs
direktori seperti Yellow Pages.
RBT 1.3.1
RBT adalah sebuah browser seperti internet explorer 9
atau mozzila firefox, tetapi browser ini berbasis PHP query yang
ditenagai J2EE technology. Program ini berguna jika Anda ingin membuat desain web
berbasis community yang memiliki banyak user. Dengan software ini Anda
bisa mengatur security setup untuk user/group access serta mengontrol
tabel & kolom databasenya.
Free Colored ScrollBars 2.2
Free Colored ScrollBars adalah sebuah tool pembuat
JavaScript code dan CSS Style untuk membuat animated scrollbars pada
website. Program ini disertai 44 theme warna dan template yang dapat
dikostumisasi sesuai kebutuhan penggunanya.
Sigma Visual Ajax GUI builder 2.02
Sigma Visual adalah web based tool untuk aplikasi
Ajax. Dengan tools ini, programmer dan developer bisa membuat website
seperti yang biasa dilakukan dalam VB atau Delphi. Program ini juga
mensupport code highlight dan syntax checking.
eMule Ultra Accelerator 2.8.9
Fungsi eMule Ultra Accelerator mirip dengan Internet
Download Manager. Program gratis ini berfungsi untuk mempercepat proses
download file dengan memaksimalkan kapasitas bandwith koneksi yang Anda
miliki.
AAA Web Album 2.10
AAA Web Design Album adalah softare untuk
menciptakan web photo albums lalu menguploadnya ke website. Web designer
juga bisa membuat berbagai tampilan web album tersebut.
Pixel Ruler 2.0.2
Sesuai dengan namanya, Pixel Ruler berfungsi sebagai
penggaris untuk mengukur panjang objek di monitor secara vertikal dan
horisontal dalam satuan Pixel. Tools ini sangat berguna bagi web
designer yang berkonsentrasi pada pembuatan template.
CoffeeCup Free HTML Editor 9.4
Fungsi CoffeeCup Free HTML Editor sangat mirip dengan Adobe Dreamweaver yaitu untuk mengedit file html dan PHP hingga membuat website
secara komplit. Cara design web yang ditampilkan CoffeeCup cukup
praktis. Selain gratis, free software ini juga jauh lebih ringan dari
pada dreamweaver serta sudah mensupport HTML 5.0 dan CSS 3.0.
Selasa, 20 September 2011
puisi 6
andai
Andai kau tau berapa kadar garam dilautan
Maka kau kan tau berapa besar aku mencintamu
Andai kau tau berapa jumlah partikel air,
maka kau kan tau pula berapa kali dlam sehari aku merindukanmu..
Tapi aku tak peduli kau sudi menyadari atau kah tidak
Yg ku tau, tak manusia terhebat yg menggatikan cintaku atas kamu...
puisi 5
' Dia...'
Dia lembut seperti kapas '
Dia indah bagaikan malaikat bersayap yang turun dari langit '
Dia anugerah terindah yang ada di hidupku '
...
Wajahnya meneduhkan jiwaku yang rapuh '
Tutur katanya menenangkan hatiku yang bimbang '
Senyumnya menghiasai hari – hariku '
Dan canda tawanya menghangatkan suasana di hidupku
puisi 5
Gadis Suciku
Kain suci menutupi auratmu….
Kebaikan menjadi perinsipmu...
Senyum senantiasa menghiasi bibirmu.
... Gadis suci itulah julukanmu.
Gadis berjilbab itulah panggilanmu.
Yang kan terus terukir dalam hatiku.
Kau sungguh makhluk terindah dalam bumiku.
Yang mampu menerangi gelap hatiku.
Kau telah merasuki relung hatiku.
Dengan kecantikan iman-mu.
Aku terpana kepadamu.
Sejak pertama ku memandangmu.
Engkaulah Gadis Suciku...!!
puisi 4
sadarkah
Sadarkah kamu... Tiada hariku terlewat tanpa bayangmu
. Tiada malamku berlalu tanpa memikirmu.
Tiada tidurku terbangun tanpa memimpimu.
Sadarkah sayang....... Cintamu tlah buat diriku mabuk kepayang.
Lihat senyummu buatku serasa terbang
. Rayuanmu membuat anganku semakin melayang.
Oh..... Sadarkah kasih.... Cintaku untukmu tiada kan pernah mati.
Cintaku ini adalah cinta putih. Yang tercipta dari niat suci setulus hati.
puisi 3
perih
terdengar lirih,,,,
dalam hati yg perih,,,
ingin teriakkan satu suara,,,
agar tercipta satu kebahagiaan,,,
... semua serasa tak mampu lagi,,,
seiring debtuman nafas kehidupan,,,
teronggok diam seorang diri,,,
tak tau,,,
menanti yg tak pasti,,,
wahai mentari pagi,,,
wahai bulan malam,,,
sanggupkah kau membantu,,,
sampaikan salam rinduku,,,
pungguk merindukan bulan,,,
embun merindukan mentari,,,
inilah aku yg sendiri,,,
puisi 2
Ceritakan padaku
Tentang pedihnya sebuah kehilangan
Yang terbang diatas awan senja merah saga
Dan menyisakan ngilu menikam didada
... Dalam derap waktu yg bergegas
Agar segera kubaluri hatimu
Dengan sejuk bening embun
Dan tulus cintaku
Ceritakan padaku tentang perihnya
Sebuah pengorbanan
Yg membakar habis segenap asa mu
Dan meninggalkan sepotong lara
Mengedap didasar kalbu
puisi 1
Demi Cinta
Memikirkn apa yg kan terjadi.
Kekasihku,engkau tahu.
Indahnya dirimu Menyakitkan aku.
... Kau bagaikan mawar yg berduri.
Semakin kugenggam smakin Perih.
Tak terbendung luka.
Apapun demi Cinta.
Tebaslah semua sayapku.
Bunuhlah dengan pedangmu.
Semua demi Cinta.
Kaulah pengusa hatiku.
Darah mengalir hanya untukmu.
puisi romantis
Sihir-Mu
Ketika mata ini mulai terbuka
Wajahmu melintas.
Sepintas ku berharap.
... Agar tak kau hantui lagi.
Tapi mustahil.
Nama dan pesna mu,
Melayang di hati ku.
Seiring pancaran mentari.
Senandung rindu pun mengalun,
Hati ku benar2 terjerat.
Berteriak histeris.
Memanggil cinta mu.
Hati ku sungguh2 tersihir.
Pikiran ku padamu.
Menunggu cintamu.
Kamis, 16 Juni 2011
CARA BUAT ANTIVIRUS SENDIRI
sebuah AV sederhana, pada dasarnya sebuah software AV mempunyai
komponen-komponen :
1. Engine scanner, ini merupakan komponen utama AV
dalam mengenali sebuah pattern virus. Engine ini dapat dikelompokkan
menjadi statis dan dinamis. Statis dalam hal ini dapat disebut menjadi
spesifik terhadap pattern tertentu dari sebuah file virus. Checksum
merupakan salah satu contoh dari engine statis ini. Dinamis dalam
artian dia mengenali perilaku ‘umum’ sebuah virus. Heuristic menjadi
salah satu contohnya.
2. Database definition, menjadi sebuah referensi dari sebuah pattern
file virus. Engine statis sangat bergantung kepada komponen ini.
3. Decompress atau unpacking engine, khusus untuk pengecekan file-file
yang terkompresi (*.rar, *.zip, dll) atau kompresi atau packing untuk
file PE seperti UPX, MeW , dll.
Tidak jarang hasil dari pengecekan terhadap file
suspect virus menghasilkan false-positive bahkan false-negative (–
false-positive berarti file yang bersih dianggap thread oleh AV, dan
false-negative berarti file yang 100% thread akan dianggap bersih).
Semua itu dapat diakibatkan oleh ketidak-sempurnaan dari engine scanner
itu sendiri. Misal
pada contoh kasus Engine String scanner (–Engine scanner yang
menyeleksi string-string dari file text-based), bila diterapkan rule 3
out of 5 (– bila AV menemukan 3 dari daftar 5 string kategori
malicious) maka AV akan memberikan bahwa file terindikasi sebuah thread
yang positif. Padahal file tsb nyatanya tidak menimbulkan efek
berbahaya bila dijalankan atau dieksekusi. Kesalahan scanning macam ini
lazim ditemukan untuk file-file *.VBS, *.HTML, dll. Untuk penggunaan
engine checksum sangat banyak ditemui di beberapa software AV lokal.
Checksum yang lazim digunakan diantaranya CRC16, CRC32, MD5, dll.
Dikarenakan mudah untuk diimplementasikan. Engine ini sendiri bukannya
tanpa cacat, Checksum bekerja dengan memproses byte demi byte dari
sebuah file dengan sebuah algoritma tertenu (– tergantung dari jenis
checksum yang digunakan) sehingga menghasilkan sebuah format tertentu
dari file tsb. Contoh checksum menggunakan CRC32 dan MD5 :
* calCrc = CRC32(file_name_and_path)
* calMD5 = MD5(file_name_and_path)
Maka isi dari string calCrc adalah 7AF9E376,
sedangkan untuk MD5nya adalah 529CA8050A00180790CF88B63468826A. Perlu
diketahui bila virus menerapkan rutin yang mengubah byte tertentu dari
badan virus tsb setiap kali maka penggunaan engine checksum ini akan
kurang optimal karena bila 1 byte berubah dari file maka checksum juga
akan berubah.
Mari kita belajar membuat sebuah AV sederhana, yang diperlukan :
1. Software Visual Basic 6.0
2. Sedikit pemahaman akan pemograman Visual Basic 6.0
3. Sampel file bersih atau virus (– opsional)
First#
Sekarang kita akan belajar membuat sebuah rutin sederhana untuk :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
Buka MS-Visual Basic 6.0 anda, lalu buatlah sebuah
class module dan Form dengan menambahkan sebuah objek Textbox,
CommonDialog dan Command Button. (Objek CommonDialog dapat ditambahkan
dengan memilih Project -> COmponent atau Ctrl-T dan memilih
Microsoft Common Dialog Control 6.0) Ketikkan kode berikut pada class
module (kita beri nama class module tsb clsCrc) :
================= START HERE ====================
Private crcTable(0 To 255) As Long ‘crc32
Public Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
‘bArrayIn adalah array byte dari file yang dibaca, lLen adalah ukuran atau size file
Dim lCurPos As Long ‘Current position untuk iterasi proses array bArrayIn
Dim lTemp As Long ‘variabel temp hasil perhitungan
If lLen = 0 Then Exit Function ‘keluar fungsi apabila ukuran file = 0
lTemp = lcrc Xor &HFFFFFFFF
For lCurPos = 0 To lLen
lTemp = (((lTemp And &HFFFFFF00) \\ &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
Next lCurPos
CRC32 = lTemp Xor &HFFFFFFFF
End Function
Private Function BuildTable() As Boolean
Dim i As Long, x As Long, crc As Long
Const Limit = &HEDB88320
For i = 0 To 255
crc = i
For x = 0 To 7
If crc And 1 Then
crc = (((crc And &HFFFFFFFE) \\ 2) And &H7FFFFFFF) Xor Limit
Else
crc = ((crc And &HFFFFFFFE) \\ 2) And &H7FFFFFFF
End If
Next x
crcTable(i) = crc
Next i
End Function
Private Sub Class_Initialize()
BuildTable
End Sub
================= END HERE ====================
Lalu ketikkan kode berikut dalam event Command1_Click :
================= START HERE ====================
Dim namaFileBuka As String, HasilCrc As String
Dim CCrc As New clsCrc ‘bikin objek baru dari class ClsCrc
Dim calCrc As Long
Dim tmp() As Byte ‘array buat file yang dibaca
Private Sub Command1_Click()
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) – 1) As Byte ‘deklarasi ulang untuk array, # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
Text1.Text = HasilCrc ‘tampilkan hasilnya
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number
32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
COba anda jalankan program diatas dengan memencet
tombol F5, lalu klik Command1 untuk memilih dan membuka file. Maka
program akan menampilkan CRC32nya.
Second#
Kode diatas dapat kita buat menjadi sebuah rutin pengecekan file
suspect virus dengan antara membandingkan hasil CRC32nya dan database
CRC kita sendiri. Algoritmanya adalah :
- Memilih file yang akan dicek
- Membuka file tersebut dalam mode binary
- Memproses byte demi byte untuk menghasilkan Checksum
- Buka file database
- Ambil isi file baris demi baris
- Samakan Checksum hasil perhitungan dengan checksum dari file
Format file database dapat kita tentukan sendiri, misal :
- FluBurung.A=ABCDEFGH
- Diary.A=12345678
Dimana FluBurung.A adalah nama virus dan ABCDEFGH dalah Crc32nya. Jika
kita mempunyai format file seperti diatas, maka kita perlu membaca file
secara sekuensial per baris serta memisahkan antara nama virus dan
Crc32nya. Dalam hal ini yang menjadi pemisah adalah karakter ‘=’.
Buat 1 module baru (– diberi nama module1) lalu isi dengan kode :
================= START HERE ====================
Public namaVirus As String, CrcVirus As String
‘deklarasi variabel global untuk nama dan CRC virus Public pathExe as
String ‘deklarasi variabel penyimpan lokasi file EXE AV kita
Public Function cariDatabase(Crc As String, namaFileDB As String) As Boolean
Dim lineStr As String, tmp() As String ‘variabel penampung untuk isi file
Open namaFileDB For Input As #1 ‘buka file dengan mode input
Do
Line Input #1, lineStr
tmp = Split(lineStr, “=”) ‘pisahkan isi file bedasarkan pemisah karakter ‘=’
namaVirus = tmp(0) ‘masukkan namavirus ke variabel dari array
CrcVirus = tmp(1) ‘masukkan Crcvirus ke variabel dari array
If CrcVirus = Crc Then ‘bila CRC perhitungan cocok/match dengan database
cariDatabase = True ‘kembalikan nilai TRUE
Exit Do ‘keluar dari perulangan
End If
Loop Until EOF(1)
Close #1
End Function
================= END HERE ====================
Lalu tambahkan 1 objek baru kedalam Form, yaitu
Command button2. lalu ketikkan listing kode berikut kedalam event
Command2_Click :
================= START HERE ====================
If Len(App.Path) <= 3 Then ‘bila direktori kita adalah root direktori
pathEXE = App.Path
Else
pathEXE = App.Path & “\\”
End If
CommonDialog1.CancelError = True ‘error bila user mengklik cancel pada CommonDialog
CommonDialog1.DialogTitle = “Baca File” ‘Caption commondialog
On Error GoTo erorhandle ‘label error handle
CommonDialog1.ShowOpen
namafilbuka = CommonDialog1.FileName
Open namafilbuka For Binary Access Read As #1 ‘buka file yang dipilih dengan akses baca pada mode binary
ReDim tmp(LOF(1) – 1) As Byte ‘deklarasi ulang untuk array # Bugs Fixed #
Get #1, , tmp()
Close #1
calCrc = UBound(tmp) ‘mengambil ukuran file dari array
calCrc = CCrc.CRC32(tmp, calCrc) ‘hitung CRC
HasilCrc = Hex(calCrc) ‘diubah ke format hexadesimal, karena hasil perhitungan dari class CRC masih berupa numeric
If cariDatabase(HasilCrc, pathEXE & “DB.txt”) Then ‘bila fungsi bernilai TRUE
MsgBox “Virus ditemukan : ” & namaVirus ‘tampilkan message Box
End If
Exit Sub
erorhandle:
If Err.Number <> 32755 Then MsgBox Err.Description ‘error number
32755 dalah bila user mengklik tombol cancel pada saat memilih file
================= END HERE ====================
Fitur AV sederhana ini dapat ditambahkan dengan
fitur process scanner, akses registry, real-time protection (RTP) dan
lain lain. Untuk process scanner pada dasarnya adalah teknik enumerasi
seluruh proses yang sedang berjalan pada Sistem Operasi, lalu mencari
letak atau lokasi file dan melakukan proses scanning.
Langganan:
Postingan (Atom)


