Tuesday 8 December 2009

coding

OM hagz, saya mahasiswa jurusan teknik informatika, semester akhir dengan peminatan software engineering. Karena saya lemah di coding, kira-kira nanti kesulitan ga ya untuk mengerjakan tugas akhir? (Taufik, Universitas Swasta di Jakarta)

Inna lillahi wa inna ilaihi rajiun, segera lakukan taubat dan perbanyak istighfar Jurusan teknik informatika semester akhir, peminatan software engineering pula, ga bisa coding? Selama ini kemana aja om?

Lemahnya skill coding mahasiswa di Indonesia adalah penyakit gawat, menular, mematikan dan secepatnya harus diberantas tuntas . Mungkinkah ini juga yang membuat produksi software kita secara kuantitas dan kualitas dibawah negara tetangga kita? Ingat bahwa menurut laporan IDC dan Gartner, jumlah developer professional Indonesia mencapai 71.600 orang di tahun 2008. Jumlah developer kita tiga kalinya malaysia dan empat kalinya singapore loh

Wahai para mahasiswaku, andai kau tahu, jurusan computing di Indonesia mengambil acuan kurikulum IEEE Computing Curricula 2005. Asosiasi Perguruan Tinggi Informatika dan Komputer alias APTIKOM, yang menjadi wadah universitas yang memiliki jurusan atau prodi computing, membuat kurikulum inti yang mengacu ke IEEE Computing Curricula 2005, meskipun di beberapa sisi tidak konsisten Tidak konsisten karena Information System (Sistem Informasi) dan Computer Engineering (Teknik/Sistem Komputer) saja yang direkomendasikan jadi jurusan atau prodi. Computer Science (Ilmu Komputer), Information Technology (Teknologi Informasi) dan Software Engineering (Rekayasa Perangkat Lunak) disuruh tumplek beg di satu wadah namanya Teknik Informatika :(

Sunday 29 November 2009

KOMPUTER ZOMBIE

Apakah andah sudah pernah menonton film “I Am Legend” yang dibintangi oleh Will Smith? Film tersebut menceritekan tentang kepunahan manusia akibat infeksi virus yang menjadikan mereka sebagai zombie. Bencana yang sama pun bisa terjadi pada dunia internet, seandainya semua komputer terinfeksi virus yang menjadikan mereka sebagai zombie.

Bukan mustahil suatu saat itu akan terjadi komputer diseluruh dunia terinfeksi virus yang sama., dan secara serentak melakukan aktivitas yanga sama pula. Bisa dibayangkan bencana yang akan terjadi. Internet lumpuh, aktivitas perbankan macet, lalulintas pesawat udara tidak trekontrol, dan lain-lain.
Dalam skala kecil, kasus seperti ini asebenarnya pernah terjadi. Jakarta saja misalnya, pada April 2000, ratusan warnet dan kantor tidak beroperesi, karena hampir semua komputer padam pada saat yang bersamaan akibat serangan virus CIH atau Chernoboyl. Bukan hanya memadamkan komputer, virus karya Chen Ing Hau dari taiwan ini juga menghapus semua data yang tersimpan dalam harddisk.
Black hat hacke, sebutan untuk hacker jahat, menyebarkan sebanyak-banyaknya virus untuk menjadikan komputer target sebagai zombieyang taat dan patuh pada perintah pawangnya. Dalam sebuahinfestigasi terungkap, seorang hacker dapat mengendalikan 1,5 juta zombia dari sebuah komputer. Diluar kasus CIH di atas, kejahatan zombie yang tak kalah menjengkelkan dan merugika, antara lain adalah penyebaran spam, serangan DdoS dan click fraud.

Penyebaran Spam

Pada tahun 2007, menurut Spam StopHere, spam terlah mengotori 90% lalu-lintas e-mail dunia.bukan hanya menjengkelkan saat kita menghapus spam dari inboks kita, spam juga “berjasa” menaikan biaya koneks internet. Anda harus membayar setiap bit yang digunakan oleh spam ynag masuk,dan keluar dari inbox anda.
Menurut invertigasi yang dilakukan FBI, mayoritas spam dikirimkan dari jaringan komputer zombie. Seandainya spam berasal dari satu sumber pasti mudah bagi kita untuk melacaknya,dan meminta ISP yang digunakan untuk mengirim kan e-mail tersebut untuk memblokir akses komputer pengirim, bahkan menggiring pelaku kedalam jeruji besi.
Untuk menghindari hal tersebut, para hacker memanfaatkan komputer zombie sebagai proxy. Dengan demikian, suber spam yang asli sulit untuk dilacak. Hacker memiliki koloni zombie yang terbesa, atau disebut juga botnet, dapat mengirim jutaan spam setiap hari. Spam-spam tersebut bisa berisi e-mail komersil biasa, email phishing,atau bahkan virus trojan untuk memperbanyak jumlah zombie.

Serangan DDoS

Koloni zommbie juga sering digunakan untuk menyabotase website atau server tertentu. Hacker memerintahkan semua anggota koloni untuk mengirimkan request kepada website atau server tersebut secara terus-menerus, yang mengakibatkan peningkatan lalu-lintas secara mendadak. Peningkatan yang tidak wajar ini menyebabkan setver jadi kewalahan, bahkan dapat menjadikan lumpuh total.serangan paling mematikan dikenal dengan istilah Distributed Daniel of Servece (DDoS).
Sebagai mods penyerangan ini juga dipakai kompiter-komputer dari luar koloni zombie.

MENGENAL ADDRESS RESOLUTION PROTOCOL (ARP)

Nomor Internet Protocol (IP) dan kartu jaringan (MAC address) merupakan dasar untuk pengalamatan komputer dalam jaringan. Bagaimana cara meraka bekerja?
IP dan MAC (Media Access Control) address merupakan elemen dalam protocol ARP yang digunakan untuk pengalamatan dalam jaringan komputer. Ketika satu masuk kedalam jaringan, ia akan mengumumkan kehadirannya kepada semua komputer dalam jaringan (melakukan broadcast) melalui nomor IP dan MAC addressnya, atau sering disebut dengan istilah hardware address.


ADDRESS RESOLUTION PROTOCOL

Informasi tentang MAC address akan disimpan dalam kepingan RAM (Random Access Memory) dan sifatnya temporer dengan umurnya hanya 2 menit, namun dapat diperbaharui Ruang simpan dalam RAM ini disebut ARP (Access Resolution Protocol)chace. ARP akan selalu memeriksa ARP chace. Jika ARP berhasil menemukan nomor IP tetapi tidak menemukan MAC Address pasangannya, maka ARP akan mengirim request ke jaringan.
Prinsip dari ARP adalah tidak boleh ada lebih dari satu nomor IP memekai satu MAC address yang sama. Jadi, tak bisa menggunakan nomor IP yang sedang dipakai oleh komputer lain, dan tidak bisa menggunakan MAC address yang telah dipasangkan dengan IP lain.
Protocol IP bersifat statless, ia akan mengirimkan request MAC address dan mengirimkan pemberitahuan kepada komputer anggota jaringan jika terjadi ketidak beresan dalam pengalamatan, walaupun tidak ada komputer di jaringa yang memintanya. Protocol ARP juga bersifat non-routable, ia hanya bekerja pada satu segmen jaringan lokal.


ARP SPOOFING

Ancaman keamanan muncul ketika ada upaya manipulasi terhadap pengamatan nomor IP dan MAC address. Proses ini,bisa disebut dengan istilah ARP spoofing atau ARP spioning, bertujuan untuk mrncari manasaja kimputer yang terhubung dengan koneksi terbuka ( saling percaya). Misalnya, komputer B dengan alamat hardware BB:BB percaya terhadap komputer c dengan alamat hardware CC:CC. Komputer menyaring ada komputer A dengan MAC address AA:AA. Makan, penyerang akan berupaya mengirimkan pemberitahuan pada komputer B bahwa MAC address komputer C adalah AA:AA.
Salahsatu contoh aplikasi yang dilakukan untuk memanipulasi MAC address adalah WinArpSpoof. Sebelum menginstalnya, terlebih dahulu kita harus menginstal paket WinPcap untuk menangkap jaket data dari jaringan.
Parahnya, sistem operasi selalu mengecek ARP chace dan akan mengirim request pengamatan juka tejadi perubahan,atau jika ia mendeteksi adanya lebih adari satu IP dengan MAC address yang sama dalam ARP chace. Untuk menghentikan peroses ini, biasanya crecker akan membuat program untuk menjawab bahwa tidak ada perubahan dalam ARP chace. Contohnya bisa dilihat dalam skrip send_arp.c karya Yuri Volobuev di http://insecure.org/sploits/arp.games.html.
Dengan ARP spoofing, penyerang dapat mengatur lalu-lintas data pada jaringan. Paket data yang dikirim ke target B ke target C akan berbelok dulu ke komputer penyerang (komputer A). setelah mengetahui isi data, bisa saya si penyerang mengirim pesan palsu ke komputer C, seakan-akan berasal darikomputer B. model serangan semacam ini dikinal dengan istilan “man in the middle attack”. Lain jadinya jika penyerang memasang MAC address yang tidak dikenal didalam jaringan kepada komputr target. Ini akan akan menyebabkan komputr target tidak dikenali oleh jaringan dan mengalami penolekan saat mengirim request layanan, istilahnya “daniel of service”.
Untuk mengetahui terjadinya upaya ARP spoofing, kita bisa mengecek isi routing table menggunakan protocol Reserve ARP(RARP). Jika ada lebih dari satu alamat IP menggunakan MAC address yang sama, kemungkinan terjadi sesuatu yang tidak beres. Jika tidak ada yang salah dengan routing table, kita bisa mengirim paket ICMP (InternetControl Massage Protocol) atau yang dikenal dengan ping ke komputer. Jika muncul pesan error (unreachable), kita harus curiga dan segera menyelidiki sistem.
Protocol ARP dapat dimanipulasi dengan tujuan jahat, namun juga dapat dimanfaatkan untuk tujuan yang baik. Contohnya mengecek keanggotaan dalam suatu fasiltas akses internet. Sekarang banyak orang mengakses internet melelui jaringan Wi-Fi yang memanfaatkan gelombang radio. Di jaringa tersebut, protokot ARP bisa digunakan untuk mengecek MAC address komputer-komputer yang terhubung dengan internet.

Friday 20 November 2009

soal 1

Menghapus Format dari bidang pilihan#include
main()

{
int i;
float saldo, bunga, persen;
saldo=1000000;
persen=0.02;
for (i=1; saldo<=1500000; i++) { bunga=saldo*persen; saldo=saldo+bunga; } printf("Bulan ke %d= %f",i,saldo); scanf("%d"); }

Sunday 1 November 2009

TYPE DATA


- Perbedaan antara %d dan %i adalah:


Kedua tipe data ini berfungsi untuk menampilkan bilangan integer bertanda (signed) dalam bentuk decimal

- Perbedaan antara %e,%f , dan %g adalah:

%e = bilangan real dengan notasi scientific

%f = bilangan real dengan nilai pecahan

%g = bilangan real dengan bentuk desimal dan berpangkat

- Contoh %o dan %x adalah:

%o :

#include

main()

{

printf(”Oktal(uppercase) Oktal(lowercase) Decimal\n”);

printf(”%O %o %d\n”, 15, 15, 15);

printf(”%O %o %d\n”, 14, 14, 14);

printf(”%O %o %d\n”, 13, 13, 13);

return 0;

%x :

/* Konversi ke hexadesimal */

#include

main()

{

printf(”Hex(uppercase) Hex(lowercase) Decimal\n”);

printf(”%X %x %d\n”, 3, 3, 3);

printf(”%X %x %d\n”, 2, 2, 2);

printf(”%X %x %d\n”, 1, 1, 1);

return 0;

Outputnya :

Hex(uppercase) Hex(lowercase) Decimal

F f 3

E e 2

D e 1

1

EXERCISE 3



EXERCISE 2

EXERCISE 1


Susun algoritma untuk input 3 buah bilangan yang masing-masing menyatakan panjang sisi sebuah segitiga. Kemudian periksa ketiga buah garis tersebut. Bila ketiga buah garis sama panjangnya, tercetak "SAMASISI". Bila hanya dua garis yang sama, tercetak "SAMAKAKI". Dan bila ketiga-tiganya garis tersebut tidak sama, tercetak "SEMBARANGAN".

Menentukan Jenis Segitiga

1.A. Menggunakan Operator AND atau OR

{

if a=b && a=c && b=c then

printf (“SAMA SISI”);

endif

If a=b && a=c || b=c then

printf (“SAMA KAKI”);

endif

if a= b && a=c && b= c else

printf (“SEMBARANG”);

}

1.B. Tanpa Menggunakan Operator AND atau OR

{

if a=b then

if a=c then

if b=c then

printf (“SAMA SISI”);

endif

endif

endif

if a=b then

if a=c then

if b=c else

printf (“SAMA KAKI”);

endif

endif

endif

if a= b && a=c && b= c else

printf (“SEMBARANG”);

}

PROSES ALGORITMA

Sequence Structure


Merupakan instruksi yang berurutan tanpa melihat kondisi apapun. Dalam sequence structure, instruksi dieksekusi berdasarkan urutannya. Dimulai dari bagian atas dan diakhiri di bagian bawahnya. Bujur sangkar dapat menggambarkan operasi :

* Input dan Output
* Operasi aritmatika
* Operasi pemindahan / memanipulasi data dalam memori komputer

Dalam sequence structure tidak diperkenankan penggunaan kotak keputusan.


Loop / Iteration Structure

Loop structure menggambarkan perulangan dari satu atau lebih instruksi.
Contoh: DO WHILE, REPEAT UNTIL, FOR DO & CASE


Selection Structure

Dalam struktur ini terdapat sejumlah perintah yang dikerjakan tergantung dari kondisi yang dipenuhinya. Seperti juga dengan sequence dan dan loop structure, terdapat single entry point dan single exit point.
Contoh: IDENTATION (Pematahan), SINGLE IF-ELSE, NESTED IF-ELSE (Linear dan Non Linear).


Concurrent Structure

Dalam struktur ini terdapat sejumlah perintah dilakukan secara bersama-sama. Data dan informasi terbagi-bagi agar sejumlah perintah bekerja atau melakukan proses bersamaan. Dan proses seperti ini sangatlah mempengaruhi proses lainnya dan terkesan kurang optimal dalam memproses data dan informasi.

PENGANTAR ALGORITMA PEMROGRAMAN

Definisi Program/Pemrograman

- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang

dibuat oleh programmer (pembuat program)

Paradigma Pemrograman

1. Pemrograman Prosedural

Berdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan. Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

Contoh: Algol, Pascal, Fortran, Basic, Cobol, C ...

2. Pemrograman Fungsional

Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program.

Contoh: LOGO, APL, LISP

3. Pemrograman Terstruktur

Secara berurutan dan terstrukrtur. Program dapat dibagai-bagi menjadi prosedur dan fungsi.

Contoh: PASCAL dan C

4. Pemrograman Modular

Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul-modul.

Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek

Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi

Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi

Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.

Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif

Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.

Contoh: PROLOG #

Wednesday 28 October 2009

Paradigma Pemrograman

1. Pemrograman Prosedural

Berdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. merupakan kumpulan instruksi yang dikerjakan secara berurutan।Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah

diubah।


2. Pemrograman Fungsional

�� Berdasarkan teori fungsi matematika

�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur

Secara berurutan dan terstrukrtur. Program dapat dibagai-bagi menjadi prosedur dan fungsi.

- Contoh: PASCAL dan C

4. Pemrograman Modular

Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul-modul.

- Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek

Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki

data/variabel/property dan method/event/prosedur yang dapat dimanipulasi

- Contoh: C++, Object Pascal, dan Java।

6. Pemrograman Berorientasi Fungsi

Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung

pada tujuan pembuatan bahasa pemrograman ini.

-Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain।

7. Pemrograman Deklaratif

Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada

memecahkan masalah dengan implementasi algoritma.

- Contoh: PROLOG

Saturday 17 October 2009

Sejarah istilah "algoritma"



Algortima adalah jantung ilmu computer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalan terminologi algoritma,misalnya algoritma perutean (routing) pesan di dalam jaringan komputer, algoritma berensenham untuk menggambar garis lurus (bidang grafik kumputer), algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks (bidang information retrievel), dan sebagainya.

Ditinjau dari asal usul kata, kata “algoritma” sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab. Anda dikatakan algorist jika Anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini, namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku arab yang terkenal, yaitu Abu Ja’afarMuhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang barat menjadi algorism).Al-Khuwarizmi menulis buku yang berjudul Kital al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku ini kita juga memperoleh akar kata “aljabar” (algebra). Perubahan dari kata algorism menjadi algoritm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm beubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi “algoritma”.

Pada tahun 1950, kata algoritma perama kali digunakan pada “algoritma Euclidean” (Euclid’s algorithm). Euclid, seorang matematikawan Yunani (lahir pada tahun 350 M), dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n (tapi Euclid tidak menyebut metodenya itu sebagai algoritma, baru abad modernlah ornag-orang menybut metodenya itu sebagai “algoritma Euclidean”), Pembagi terbesar dari dua buah bilangan bulat tak-negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.
Misalnya, m=80 dan n=12.
Semua factor pembagi adalah
1, 2, 4, 5, 8, 10, 16, 20, 40, 80
Dan semua factor pembagi 12 adalah
1, 2, 3, 4, 6, 12
Maka gcd(80,12)=4
Langkah-langkah mencari gcd(80,12) dengan algoritma Euclidean sebagai berikut :
80 dibagi 12 hasilnya = 6, sisa = 8 (atau: 80 = 6.12 + 8)
12 dibagi 8 hasilnya = 1, sisa = 4 (atau: 12 = 1.8 + 4)
8 dibagi 4 hasilnya = 2, sisa = 0 (atau: 8 = 4.2 + 0)

Karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu 4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(4,0) = 4.

Contoh-contoh algoritma yang sudah dijelaskan di atas memberi dua pesan penting. Pertama, sebuah algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti,algoritma membri hasil yang benar. Menurut Donald E. Knuth dalam bukunya yang berjudul The art of Computer Programming, sebuah algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah trbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak brarti-dua (ambiguous). Misalnya, pernyataan “bagilah p dengan sejumlah beberapa bilangan bulat positif”,pernyataan ini dapat bermakna ganda. Berapakah yang dimaksud dengan “beberapa”? Algoritma menjadi jelas jika langkah tersebut ditulis “bagilah p dengan 10 buah bilangan bulat positif”.
3. Algoritma memiliki nol atau lebih masukan (input). Maukan ialah besaran yang diberikan kepada algoritma untuk diproses. Algoritma Euclidean mempunyai dua buah masukan, m dan n.
4. Algortima mempunyai nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana shingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

Popular Posts

COMMENT

Labels

Labels

Labels

Labels