11/17/2009

PERBANDINGAN IPv6 DENGAN IPv4

Dalam suatu jaringan computer dikenal sebuah nama yang disebut protocol, yang mengatur suatu node berkomunikasi dengan node lainnya. Protokol menjadi sebuah penerjemah bahasa antar computer dalam suatu jaringan. Secara nasional standarisasi protocol yang digunakan dikenal dengan nama TCP/IP. Dengan adanya TCP/IP ini berbagai hardware computer serta Sistem Operasi dapat berkomunikasi.
Internet Protokol merupakan induk dari TCP/IP, semua data-data yang di olah pada layer diatasnya diolah di bagian ini. Versi IP yang paling banyak digunakan saat ini adalah IP versi 4.
Kebutuhan jaringan hari ini jauh lebih besar dari sekedar halaman web dan email. Perkembangan yang sangat cepat dalam perangkat jaringan dan komunikasi bergerak, dan juga adaptasi akan teknologi jaringan yang baru, tidak dapat ditahan IPv4 dan telah memunculkan ide tentang Next Generation Internet Protokol (IPng). Protokol IPv6 dikembangkan setelah melihat keberhasilan IPv4 sebagai protokol standart dalam dunia internet, dimana di satu sisi keberhasilan tersebut telah menyebabkan meledaknya ruang alamat yang dibutuhkan yang tidak dapat ditangani oleh IPv4. Masalah ini mirip dengan masalah beberapa waktu lalu, pelan namun pasti ruang alamat IPv4 akan habis seiring dengan laju pertumbuhan kebutuhan internet yang ada sekarang, sehingga perlu diganti dengan protocol IPv6.



Perkembangan internet yang sangat pesat saat ini menyebabkan alokasi pengalamatan IP berkurang, terutama IP yang legal. Hal ini dikarenaan model pengalamatan pada IPv4( IP version 4) hanya sepanjang 32 bit. Untuk menangani masalah ini maka maka IETF memunculkan versi terbaru IP yaitu IPv6(IP version 6). Pada IPv6, panjang alamat terdiri dari 128 bit sedangkan IPv4 hanya 32 bit. sehingga IPv6 mampu menyediakan alamat sebanyak 2^128 [2 pangkat 128] atau 3X10^38 alamat, sedangkan IPv4 hanya mampu menyediakan alamat sebanyak 2^32 atau 4,5X10^10 alamat.
Perbedaan antara IPv4 dengan IPv6 yang saya coba cari di Internet antara lain terletak pada :
1. Pada struktur pengalamatan
#IPv4
pengalamatan IPv4 menggunakan 32 bit yang setiap bit dipisahkan dengan notasi titik.
notasi pengalamatan IPv4 adalah sebagai berikut:
XXXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX dimana setiap simbol X digantikan dengan kombinasi bit 0 dan 1.misalnya:
10000010.11001000.01000000.00000001 (dalam angka biner) yang dikonversi menjadi bentuk 4 desimal menjadi 130.200.127.254
#IPv6
Notasi alamat IPv6 adalah sebagai berikut:
X:X:X:X:X:X:X:X
Jika dalam bentuk biner ditulis sebagai berikut:
1111111001111000:0010001101000100:1011111001000001:1011110011011010:
0100000101000101:0000000000000000:0000000000000000:0011101000000000
Yang dikonversi menjadi kombinasi 4 bilangan heksadesimal dipisahkan dengan simbol titik dua [:]. untuk contoh diatas dapat ditulis sbb:
FE78:2344:BE43:BCDA:4145:0:0:3A
contoh lain apabila terdapat alamat yang 0 i:
8088:0:0:0:0:0:4508:4545 ——–>8088::4508:4545
2. Sistem Pengalamatan
#IPv4
Pada IPv4 mode pengalamatan dibagi kedalam 5 kelas yaitu
1. Kelas A : range 1-126
2. Kelas B : range 128-191
3. kelas C : range 192-223
4. kelas D : range 224-247
5. kelas E : range 248-255
Dari kelima kelas alamat diatas, jenis alamata yang sering dipake adalah alamat kelas A,B,C alamat kelas D biasanya digunakan untuk keperluan multicasting dan kelas E untuk keperluan Experimental. Pada IPv4 dikenal juga istilah subnet mask yaitu angka biner 32 bit yang digunakan untuk membedakan network ID dan host ID, menunjukkan letak suatu host berada dalam satu jaringan atau lain jaringan.
#IPv6
Pada IPv6 tidak dikenal adanya istilah pengkelasan. IPv6 menyediakan 3 jenis pengalamatanyaitu: Unicast, Anycast dan Multicast. Alamat unicast yaitu alamat yang menunjuk pada sebuah alamat antarmuka atau host, digunakan untuk komunikasi satu lawan satu. Pada alamat unicast dibagi 3 jenis lagi yaitu: alamat link local, alamat site local dan alamat global.
Alamat anycast adalah alamat yang menunjukkan beberapa interface (biasanya node yang berbeda). Paket yang dikirimkan ke alamat ini akan dikirimkan ke salah satu alamat antarmuka yang paling dekat dengan router. alamat anycast tidak mempunyai alokasi khusus, karena jika beberapa node/interface diberikan prefix yang sama maka alamat tersebut sudah merupakan alamat anycast.
Alamat multicast adalah alamat yang menunjukkan beberapa interface (biasanya untuk node yang berbeda). Paket yang dikirimkan ke alamat ini maka akan dikirimkan ke semua interface yang ditunjukkan oleh alamat ini. Alamat multicast ini didesain untuk menggantikan alamat broadcast pada IPv4 yang banyak mengkonsumsi bandwidth.




Perbedaan dari segi Arsitekturny :
Arsitektur IPv6

IPv6 memiliki beberapa fitur yang mampu mengantisipasi perkembangan aplikasi masa depan dan mengatasi kekurangan yang dimiliki pendahulunya, yaitu IPv4. IPv6 dirancang
sebagai perbaikan dari IPv4. adapun format header dari IPv6 sendiri adalah sebagai berikut :



Field-field pada header IPv6 dapat dijelaskan secara singkat sebagai berikut :
1. Version : field 4 bit yang menunjukkan versi Internet Protokol, yaitu 6.
2. Prior : field 4 bit yang menunjukkan nilai prioritas. Field ini memungkinkan pengirim paket mengidentifikasi prioritas yang diinginkan untuk paket yang dikirimkan, relatif terhadap paket-paket lain dari pengirim yang sama.
3. Flow Label : field 24 bit yang digunakan oleh pengirim untuk memberi label pada paket-paket yang membutuhkan penanganan khusus dari router IPv6, seperti quality of service yang bukan default, misalnya service-service yang bersifat real-time.
4. Payload Length : field berisi 16 bit yang menunjukkan panjang payload, yaitu sisa paket yang mengikuti header IPng, dalam oktet.
5. Next Header : field 8 bit yang berfungsi mengidentifikasi header berikut yang mengikuti header IPv6 utama.
6. Hop Limit : field berisi 8 bit unsigned integer. Menunjukkan jumlah link maksimum yang akan dilewati paket sebelum dibuang. Paket akan dibuang bila Hop Limit berharga nol.
7. Source Address : field 128 bit, menunjukkan alamat pengirim paket.
8. Destination Address : field 128 bit, menunjukkan alamat penerima paket.
Tipe pengalamatan pada IPv6
IPv6 memiliki panjang alamat sebesar 128 bit. Adapun penulisannya sedikit berbeda dibanding dengan pada IPv4. Cara penulisan pada IPv6 adalah sebagai berikut:
a. Format penulisan biasa ditulis X:X:X:X:X:X:X:X, dimana X adalah nilai heximal yang terdiri 16 bit.
b. Tanda “::” menunjukkan urutan bit nol yang berurutan sepanjang 16 bit, biasa digunakan untuk memadatkan penulisan. Hanya boleh digunakan sekali dalam 1 penulisan alamat IPv6. Representasi tipe alamat IPv6 terbagi atas beberapa macam. Hal ini berdasarkan RFC 3513. Representasi tipe alamat IPv6 diindikasikan dengan bit-bit awal yang berada dalam alamat IPv6 (format prefix). Inisialisasi alokasi prefix adalah sebagai berikut :
• Unspecified dengan notasi ::/128
• Loopback dengan notasi ::1/128
• Multicast dengan notasi FF00::/8
• Link local unicast dengan notasi FE80::/8
• Site local unicast dengan notasi FEC0::/8
• Global unicast
Pada prinsipnya, format header alamat IPv6 menyederhanakan format header pada alamat IPv4. Berikut adalah perbandingan antara format header IPv4 dan IPv6, akan tampak bahwa ada field yang di tambah, dikurangi dan juga diganti.





RFC 1884 mendefinisikan 3 tipe pengalamatan IPv6:
a. Unicast Address
Mengindentifikasikan satu interface yang digunakan untuk komunikasi satu lawan satu, dengan menunjuk satu host.
- Global Unicast Address
Dapat dianalogikan dengan IP Publik pada IPv4.


- Local-use Unicast address
Terbagi dalam dua tipe:
i. Link-local address
Digunakan node-node untuk berkomunikasi dengan node-node yang bertetangga. Alamat ini dikonfigurasi otomatis.
ii. Site-local address
Digunakan pada intranet-intranet private, dan hanya melingkupi satu site spesifik.
- Special address
i. Unspecified address
menandakan alamat IPv6 yang belum ditentukan. Unspecified address dinotasikan
dengan “0: 0: 0: 0: 0: 0: 0: 0”
ii. Loopback address
Digunakan node untuk mengirimkan paket-paket pada dirinya sendiri. Dinotasikan
dengan “0: 0: 0: 0: 0: 0: 0: 0”

b. Multicast Address



Multicast Address ini pada IPv4 didefinisikan sebagai kelas D, sedangkan pada IPv6 ruang yang 8 bit pertamanya di mulai dengan "FF". Merupakan komunikasi yang digunakan untuk komunikasi 1 lawan banyak.(group)
c. Anycast address
Address yang menunjuk host dari group, tetapi packet yang dikirim hanya pada satu host saja. Jika ada paket yang dikirim ke alamat ini, maka router akan mengirim paket tersebut ke host terdekat yang memiliki anycast address sama. Sehingga, beban terhadap server dapat terdistribusi secara merata. Bagi anycast Address ini tidak disediakan ruang khusus. Jika terhadap beberapa host diberikan sebuah address yang sama, maka alamat tersebut dianggap sebagai anycast Address. Terdapat address-address spesial dari IPv6, yaitu:
- unspecified address
Merupakan address IPv6 yang belum ditentukan. Misalnya, node-node IPv6 yang baru bergabung dapat menggunakan unspecified address sebagai alamat sumber dalam paket paketnya, sampai mendapatkan alamat IPv6. Unspecified address dinotasikan dengan “0:0:0:0:0:0:0:0” atau “::” dan mirip dengan alamat 0.0.0.0 pada IPv4.
- Loopback address
Digunakan node untuk mengirim paket IPv6 pada dirinya sendiri. Dinotasikan dengan “0:0:0:0:0:0:0:1” atau “::1”. Berfungsi mirip dengan 127.0.0.1 pada IPv4.

Mekanisme Transisi IPv4-IPv6
Dalam transisi IPv6 dari IPv4 terdapat beberapa mekanisme. Mekanisme transisi tersebut
antara lain : 112 bit 4 bit 4 bit 8 bit



• Dual Stack
Dimana dalam mekanisme ini, perangkat yang ada pada jaringan mendukung kedua protokol, baik Pv4 maupun IPv6.
• Tunneling
Dalam mekanisme ini, node IPv6 yang akan berkomunikasi membuat suatu tunnel untuk
melewati jaringan IPv4 yang ada di antaranya.
• Translation
Memungkinkan node IPv6 untuk berkomunikasi dengan node IPv4 dengan menterjemahkan protokol pada lapis jaringan. Beberapa metode translasi adalah sebagai berikut:

Metode Transport Relay

Metode ini bekerja pada lapis transport. Metode ini biasanya bekerja dengan sebuah
pseudo-interface. Jika router mendeteksi adanya data di dalam paket IPv6 yang memiliki alamat tujuan yang memiliki prefiks translasi, maka data tersebut akan diteruskan ke pseudo-interface. Dan data dari trafik IPv6 tersebut akan diteruskan ke trafik IPv4.

Metode NAT-PT
Metode ini memungkinkan host dan aplikasi native IPv6 untuk berkomunikasi dengan host dan aplikasi IPv4. Setiap host yang berperan sebagai address translator menyimpansekumpulan alamat yang diberikan secara dinamis ke host IPv6 dan sebuah sesi dibentuk antara dua host yang mendukung protokol yang berbeda. NAT-PT mendukung translasi header dan alamat. Mekanisme ini tidak mendukung implementasi sekuriti end-to-end dan memerlukan ruang IPv4 yang besar. Merujuk ke tabel translasi dimana alamat IP dari node host IPv6 dan pool address pada translator bersesuaian, translasi sebuah alamat IP dan bagian header IP diubah untuk IPv4 dan IPv6. Untuk mempersiapkan pool address untuk koneksi yang diinisiasi ke arah IPv4 dari IPv6, dimungkinkan untuk menggunakan Network Address Port Translation (NAPT) yang membagi sebuah alamat ke dua atau lebih node host IPv6 dengan mengganti nomor port untuk setiap koneksi TCP atau UDP. Ketika sebuah node host mengirimkan data bervolume besar ke node host yang lain, data dikirimkan dalam bentuk paket IP. Untuk paket-paket IP ini, data seharusnya tidak difragmentasi ketika dikirimkan dari node sumber ke node tujuan. Walaupun perbedaan panjang header IP dari kedua protokol melebihi MaximumTransmission Unit (MTU) dari translator dikarenakan link pada perbatasan IPv4 dan IPv6.

IPv4-Address Mapped IPv6-Address
Teknik ini merujuk kepada korenspondensi satu ke satu antara alamat tujuan IPv6 dan alamat tujuan IPv4 dan sebaliknya. Ruang alamat 128-bit pada IPv6 sangat besar bila dibandingkan dengan alamat 32-bit pada IPv4. Karakteristiknya sebagai berikut:
• Tidak mungkin untuk memetakan seluruh alamat IPv6 ke IPv4 dengan dasar satu ke satu.
• Sebuah alamat IPv4 ditulis dalam 32 low-order bit dan dikombinasikan dengan prefix yang berasal dari 96-bit high-order untuk memberntuk 128-bit alamat IPv6. Terdapat dua metoda dalam address mapping:
a) Static Mapping
Setiap sekumpulan alamat IPv4 dipetakan satu-ke-satu ke sebuah alamat IP dari sebuah node host IPv6, dan translator secara statis mendefinisikan relasi ini.
b) Dynamic Mapping
Klien berkomunikasi dengan rekannya dengan mendapatkan alamat IP rekannya melalui name resolution pada DNS dan versi dari kedua IP berbeda, sekumpulan alamat IPv4 dan
alamat IPv6 dipetakan dinamis.



MD5 dan DES

MD5 DAN DES
A. MD5
MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja analitik menunjukkan bahwa pendahulu MD5 — MD4 — mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin).
Sewaktu kita menerima atau mengirim pesan padajaringan, terdapat tiga buah persoalan yang sangat penting, kerahasian, autentikasi, keutuhan dan tak berbantahkan (non-repudiation). Message Digest 5 (MD5) adalah salah satu alat untuk memberi garansi bahwa pesan yang dikirim akan sama dengan pesan yang diterima, hal ini dengan membandingkan ‘sidik jari’ atau ‘intisari pesan’ kedua pesan tersebut. MD5 merupakan pengembangan dari MD4 dimana terjadi penambahan satu ronde. MD5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD5 berupa 4 buah blok yang masing-masing 32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash. Makalah ini mempunyai tujuan untuk merencanakan dan merancang suatu aplikasi untuk menganalisa proses keutuhan atau perubahan pesan dengan menggunakan MD5 dan juga dapat menganalisa hasil keluaran dari MD-5 yang berupa kecepatan dari proses aplikasi yang dibuat.
Salah satu dari bagian kriptografi adalah fungsi hash satu arah. Fungsi hash satu arah adalah dimana kita dengan mudah melakukan enkripsi untuk mendapatkan cipher-nya tetapi sangat sulit untuk mendapatkan plaintext-nya. Salah satu fungsi hash yang paling banyak digunakan adalah Message Digest 5 (MD-5). MD-5 merupakan fungsi hash satu arah yang diciptakan oleh Ron Rivest. MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan.
Message digest atau intisari pesan harus mempunyai tiga sifat penting, yaitu:
1. Bila P diketahui, maka MD(P) akan dengan mudah dapat dihitung.
2. Bila MD(P) diketahui, maka tidak mungkin menghitung P.
3. Tidak seorang pun dapat memberi dua pesan yang mempunyai intisari pesan yang sama. H(M) ≠ H(M’).




Hash-hash MD5
Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit. Berikut ini merupakan contoh pesan ASCII sepanjang 43-byte sebagai masukan dan hash MD5 terkait:
MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6
Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih) menghasilkan hash yang benar-benar berbeda, misalnya pada kata "dog", huruf d diganti menjadi c:
MD5("The quick brown fox jumps over the lazy cog") = 1055d3e698d289f2af8663725127bd4b
Hash dari panjang-nol ialah:
MD5("") = d41d8cd98f00b204e9800998ecf8427e
Penggunaan Hash
Hash digunakan untuk banyak hal yang terkait dengan kriptografi dan security.
a. Verifying file integrity
Karena setiap file yang berbeda memiliki nilai hash yang berbeda, maka fungsi hash dimanfaatkan untuk verifikasi integritas file. Yang dimaksud dengan intergritas file adalah keaslian file, apakah file sudah diubah atau belum. Bila sebuah file berubah walaupun satu bit saja, maka nilai hashnya akan berbeda sehingga orang bisa menyadari bahwa file tersebut sudah tidak asli lagi. Kalau anda sering download file dari internet anda akan diberikan nilai MD5 yang bisa anda pakai untuk memverifikasi apakah file yang anda download masih asli atau tidak. MD5 juga dipakai untuk mendeteksi perubahan file, salah satu contonya adalah Tripwire di Linux. Ini adalah bagian dari Intrusion Detection System, bila ada file yang berubah nilai hashnya, maka IDS akan menyalakan alarm bahwa telah terjadi perubahan file.
b. Storing password
MD5 sering juga dipakai untuk menyimpan password di database. Daripada menyimpan password dalam bentuk plain-text, lebih baik yang disimpan bukan password tapi hash dari password itu. Ketika pengguna memasukkan password maka password tersebut akan dihitung nilai hashnya. Nilai hash dari password yang dimasukkan pengguna ketika login dibandingkan dengan nilai hash yang di database. Bila cocok, maka authentication sukses.
Beberapa kesimpulan yang dapat diperoleh dari beberapa sumber mengenai MD5 adalah :
1. Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit.
2. Rata-rata kecepatan dari program aplikasi MD adalah 7,1633 Mbytes/detik
3. Aplikasi yang dibuat hanya efektif digunakan untuk ukuran file kurang dari 40 Mbytes.
4. Jauhilah MD5, gunakan fungsi hash yang lebih strong, contohnya SHA-256. Awalnya vulnerability di kriptografi biasanya hanya teoretis saja sehingga orang tidak merasa perlu mengganti algoritma kriptografi yang dipakainya, namun makin lama serangan makin efektif dan cepat. Sebaiknya begitu ditemukan kelemahan signifikan pada sebuah algoritma, jauhilah algoritma itu.
5. Sumber daya computer berpengaruh terhadap kecepatan enkripsi.

B. DES

Begitu banyak cara yang digunakan untuk mengamankan data atau informasi, karena nilai informasi kini menjadi sangat berharga. Salah satu cara yang digunakan untuk mengamankan data (informasi) tersebut adalah dengan melakukan enkripsi. Istilah enkripsi ini digunakan untuk menyatakan proses yang dilakukan untuk mengubah informasi yang dapat dibaca dengan mudah (plaintext) menjadi informasi tersembunyi yang sulit dipahami maknanya (ciphertext). Kebalikan dari proses enkripsi adalah dekripsi. Untuk melakukan enkripsi dan dekripsi ini digunakan algoritma kriptografi (cipher). DES (Data Encryption Standard) merupakan salah satu jenis dari algoritma kriptografi yang termasuk dalam algoritma kunci simetri (menggunakan kunci yang sama untuk melakukan enkripsi dan dekripsi).
DES dikeluarkan oleh Federal Information Processing Standard (FIPS) 46 – 1 Amerika Serikat. DES termasuk algoritma block cipher yang dijadikan standar enkripsi kunci simetris pertama. DES beroperasi pada ukuran blok 64 bit (sekitar 8 karakter). DES mengenkripsikan 64 bit plaintext menjadi 64 bit ciphertext dengan menggunakan 56 bit kunci internal yang dibangkitkan dari 64 bit kunci eksternal. Kunci eksternal merupakan kunci yang dimasukkan oleh user pada sistem. Kunci internal merupakan kunci yang digunakan untuk melakukan enkripsi pada setiap putaran DES, yang berjumlah 16 putaran, yang diperoleh dari kunci eksternal yang telah diproses.
Skema global dari algoritma DES dapat dituliskan sebagai berikut:
1. Blok plaintext dipermutasi dengan matrik permutasi awal (initial permutation atau IP). Plaintext merupakan data (teks) yang akan dienkripsi. Plaintext ini direpresentasikan sebagai bit, misalnya huruf P direpresentasikan sebagai 01010000. Keseluruhan plaintext dibagi ke dalam blok-blok. Setiap blok terdiri atas 64 bit.
2. Hasil permutasi awal kemudian dienkripsikan sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enkripsi kemudian dipermutasikan dengan matriks balikan (invers initial permutation atau IP-1) menjadi blok ciphertext.
Seperti apa yang telah disebutkan sebelumnya, DES menggunakan 56 bit kunci untuk melakukan enkripsi dan dekripsi blok masukan. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh user. Kunci eksternal tersebut panjangnya 64 bit (8 byte) atau 8 karakter. Namun tiap bit ke-8 (parity bits) dari 8 byte kunci tersebut diabaikan. Oleh karena itu, hanya ada 56 bit kunci yang digunakan (effective bits). Permutasi yang dilakukan pada bit-bit ini disebut dengan permuted choice 1. Permuted choice 1 ini mengubah posisi bit-bit pada kunci eksternal dan mengurangi bit kunci eksternal yang awalnya berjumlah 64 bit menjadi 56 bit dengan cara menghilangkan parity bits.
Kunci internal yang diperoleh dibagi menjadi 2 bagian, kiri (C) dan kanan (D), yang masing-masing panjangnya 28 bit. D terdiri dari bit pada posisi ke-0 hingga ke-27, sedangkan C terdiri dari bit pada posisi ke-28 hingga ke-55. Kedua bagian digeser ke kiri (left shift) sepanjang 1 atau 2 bit bergantung pada tiap putaran. Setelah pergeseran bit, dilakukan permutasi (permuted choice 2) pada hasil pergeseran bit dari kedua bagian tersebut untuk memperoleh kunci internal pada tiap putaran, yang selanjutnya disebut dengan subkey.
Contoh proses penjadwalan kunci.
- Kunci eksternal = PASSWORD, dengan
P = 01010000
A = 01000001
S = 01010011
S = 01010011
W = 01010111
O = 01001111
R = 01010010
D = 01000100
Jika dituliskan dalam bentuk biner, PASSWORD menjadi:
01010000 01000001 01010011 01010011 01010111 01001111 01010010 01000100
- Kemudian dilakukan permuted choice 1 pada kunci eksternal untuk memperoleh 56 bit kunci internal. Bit ke-0 (bit yang berada paling kanan dari keseluruhan blok bit) dari 56 bit kunci internal merupakan bit ke-60 pada kunci eksternal. Bit ke-1 dari bit kunci internal merupakan bit ke-52 pada kunci eksternal, demikian seterusnya. Hasilnya menjadi:
0000000 0111111 1100000 0000101 0111110 0101100 0000100 0001101
- Blok bit ini dibagi menjadi 2 bagian, yang terdiri atas
C0 = 0000000 0111111 1100000 0000101
D0 = 0111110 0101100 0000100 0001101
Dari C0 dan D0 dilakukan pergeseran bit yang jumlahnya sesuai dengan tabel shifts (pergeseran bit tiap putaran). C0 dan D0 menjadi
C1 = 0000000 1111111 1000000 0001010
D1 = 1111100 1011000 0001000 0011010
-Untuk memperoleh K1, dilakukan permuted choice 2 pada C1 dan D1, diperoleh:
K1 = 101000 001001 001001 001010 011001 100010 001001 100111
- K2 diperoleh dari permuted choice 2 yang dilakukan pada C1 dan D1 yang digeser 1 bit ke kiri.
C2 = 0000001 1111111 0000000 0010100
D2 = 1111001 0110000 0010000 0110101
K2 = ……….
- Begitu seterusnya hingga K16.
a. Triple DES (TDES)
Dalam kriptografi, Triple DES adalah sebuah cipher blok yang dibentuk oleh DES dengan menggunakannya tiga kali. Ketika diketahui bahwa kunci berukuran 56- bit dari DES tidak cukup kuat untuk menjaga dari brute force attacks, Triple DES dipilih sebagai cara simpel untuk memperbesar ukuran kunci tanpa perlu mengganti algoritma. Penggunaan dari tiga tahap tersebut penting untuk mencegah meet-in-themiddle attacks yang efektif untuk digunakan terhadap enkripsi Double DES. Catat bahwa DES bukanlah sebuah grup (dalam matematika), karena jika merupakan grup, pembangunan Triple DES akan ekivalen dengan operasi Single DES yang berarti tidak lagi aman. Variasi paling simpel dari Triple DES adalah:
DES(k3;DES(k2;DES(k1;M)))
di mana M adalah blok pesan yang akan dienkripsi, k1, k2, dan k3, adalah kunci DES. Variasi ini umumnya diketahui sebagai EEE karena ketiga operasi DES adalah proses enkripsi. Untuk menyederhanakan operasi antara DES dan TDES, langkah tengah biasanya diganti dengan proses dekripsi (EDE mode):
DES(k3;DES − 1(k2;DES(k1;M))) maka sebuah enkripsi DES dengan kunci k
dapat direpresentasikan sebagai TDES-EDE dengan k1=k2=k3=k. Pemilihan proses dekripsi pada langkah tengah tidak mempengaruhi keamanan dari algoritma.

b. Keamanan Triple DES (TDES)
Secara umum TDES dengan tiga kunci berbeda memiliki kunci berukuran 168-bit (3 kali kunci 56-bit dari DES), namun dengan metode meet-in-the-middle keamanan yang diberikan hanyalah 112-bit. Sebuah varian, Double TDES, menggunakan kunci k1=k3, yang berarti mengecilkan ukuran kunci ke 112-bit dan ukuran storage menjadi 128-bit. Namun mode ini lemah terhadap beberapa serangan jenis chose-plaintext atau knownplaintext. Oleh sebab itu, mode ini biasanya hanya didesain dengan keamanan 80-bit.

c. Penggunaan Triple DES (TDES)
Penggunaan TDES semakin hari semakin menurun digantikan oleh Advanced Encryption Standard AES. Sebuah pengecualian dalam skala besar adalah dalam industri pembayaran elektronik yang masih menggunakan Double TDES dan secara ekstensif mengembangaman standardnya. Ini menjamin bahwa TDES akan tetap aktif di dunia kriptografi hingga masa yang belum dapat ditentukan. Secara desain, DES dan juga TDES, cenderung lambat pada perangkat lunak, pada prosesor modern, AES cenderung lebih cepat. TDE lebih cocok untuk implementasi perangkat keras, walaupun AES masih tetap lebih cepat.

LAMPIRAN
A. MD5



Gambar 1. Satu operasi MD5 — MD5 terdiri atas 64 operasi, dikelompokkan dalam empat putaran dari 16 operasi. F adalah fungsi nonlinear; satu fungsi digunakan pada tiap-tiap putaran. Mi menujukkan blok 32-bit dari masukan pesan, dan Ki menunjukkan konstanta 32-bit, berbeda untuk tiap-tiap operasi.
Modifikasi Algoritma MD5
Agar dapat secara efisien memproses aliran data yang tidak dari awal diketahui panjangnya, algoritma MD5 perlu dimodifikasi menjadi tiga bagian MD5 init, MD5 update, MD5 final. MD5 init menginisialisasi MD5 contex, MD5 update memproses potongan message untuk mengupdate nilai MD5 contex. MD5 final memproses MD5 contex menjadi output hash MD5.
MD5 contex ((h1, h2, h3, h4), s, l) adalah kumpulan empat word 32 bit (h1, h2, h3, h4), satu string s yang panjangnya kurang dari 64 byte (512 bit) dan satu bilangan 64 bit l.
Algoritma MD5 init
INPUT : Tidak ada
OUTPUT : MD5 contex
1. (h1, h2, h3, h4) ? (0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476)
2. 2. s ? NULL
3. 3. l ? 0
4. 4. Output adalah MD5 contex ((h1, h2, h3, h4), s, l).

Algoritma MD5 update
INPUT : MD5 contex ((h1, h2, h3, h4), s, k) dan string x dengan panjang b sembarang.
OUTPUT : MD5 contex
1. Notasi.
L(z) adalah panjang string z
Mbl((H1,H2,H3,H4),z) adalah pemrosesan MD5 blok dengan empat word
(H1,H2,H3,H4) dan blok string z 512 bit.
+ adalah penjumlahan modulo 264
2. y ? s||x
3. Andaikan n = L(y), maka ada m dan l sedemikian hingga n = 512m+l, 0 = l< 512, m = 0.
Uraikan y menjadi y = y0y1..ym-1ym dengan L(yi) = 512 untuk 0 = i = m - 1, L(ym)=l.
4. Untuk i dari 0 sampai m - 1 lakukan langkah berikut:
(h1, h2, h3, h4) ? Mbl((h1, h2, h3, h4), yi)
k ? k + 512
5. Output.
Output adalah MD5 contex ((h1, h2, h3, h4), ym, k)

Algoritma MD5 Final
INPUT : MD5 contex ((h1, h2, h3, h4), s, k)
OUTPUT : kode hash
1. l ? L(s)
2. k ? k + l
3. Jika l = 448 lakukan:
Tambahkan satu bit 1 pada s, kemudian tambahkan bit 0 sampai L(s) = 512 + 448
Uraikan s menjadi s = s0s1 dengan L(s0) = 512 dan L(s1) = 448
(h1, h2, h3, h4) ? Mbl((h1, h2, h3, h4), s0)
s ? s1
4. Jika l < 448 lakukan:
Tambahkan satu bit 1 pada s, kemudian tambahkan bit 0 sampai L(s) = 448
5. Tambahkan bit-bit representasi k pada s, sehingga L(s) = 512.
6. (h1, h2, h3, h4) ? Mbl((h1, h2, h3, h4), s).
7. Output.
Output adalah penggabungan h1||h2||h3||h4.

Algoritma Message digest MD5
INPUT : String-string x0x1..xm dengan panjang masing-masing sembarang.
OUTPUT : Kode hash Message digest.
1. Notasi.
Cx adalah MD5 contex, Cx = ((h1, h2, h3, h4), x,l).
Min adalah pemrosesan MD5 init.
Mup(Cx, x) adalah pemrosesan MD5 update dengan input MD5 contex Cx dan string x.
Mfin(Cx) adalah pemrosesan MD5 final dengan input MD5 contex Cx.
2. Cx ? Min
3. Untuk i dari 0 sampai m lakukan langkah berikut:
Cx ? Mup(Cx, xi)
4. Output.
Output adalah Mfin(Cx)




Algoritma Crypt MD5

Algoritma crypt MD5 mengambil input string password dan string salt, dan menghasilkan output string dengan panjang 26 sampai 34 karakter, tergantung dari panjang salt.
Algoritma Crypt MD5
INPUT : string password s dan string salt t yang diawali ‘$1$’
OUTPUT : string hasil crypt.
1. Notasi.
p karakter pertama dari s.
f tiga karakter awal salt ‘$1$’.
r karakter-karakter salt setelah ‘$1$’ sampai delapan karakter atau sampai
ditemukan karakter ‘$’ atau sampai akhir string.
Cx1 , Cx2 MD5 contex.
L(a) adalah panjang string a dalam satuan byte.
2. m L(s)
3. Cx1 ? Min
4. Cx1 ? Mup(Cx1 , s)
5. Cx1 ? Mup (Cx1 , f)
6. Cx1 ? Mup (Cx1 , r)
7. Cx2 ? Min
8. Cx2 ? Mup (Cx2 , s)
9. Cx2 ? Mup (Cx2 , r)
10. Cx2 ? Mup (Cx2 , s)
11. a ? Mfin(Cx2)
12. 12. Uraikan a menjadi a = a0a1..a15 dengan L(ai) = 1, 0 = i = 15.
Ambil b = b0b1..bm-1 dengan bi = ai mod 16, 0 = i = m - 1
Cx1 ? Mup(Cx1 , b)
13. i ? m
14. Selama i > 0 lakukan langkah berikut:
jika i ^ 1 = 1 maka c ? 0 (satu byte).
jika i ^ 1 ? 1 maka c ? p
Cx1 ? Mup(Cx1 , c)
i ? i ? 1
15. a ? Mfin(Cx1)
16. Untuk i dari 0 sampai 999 lakukan langkah berikut:
Cx1 ? Min
jika i ^ 1 ? 0 maka Cx1 ? Mup(Cx1 , s)
jika i ^ 1 = 0 maka Cx1 ? Mup(Cx1 , a)
jika i mod 3 ? 0 maka Cx1 ? Mup(Cx1 , r)
jika i mod 7 ? 0 maka Cx1 ? Mup(Cx1 , s)
jika i ^ 1 ? 0 maka Cx1 ? Mup(Cx1 , a)
jika i ^ 1 = 0 maka Cx1 ? Mup(Cx1 , s)
a ? Mfin(Cx1)
17. Uraikan a menjadi a = a0a1..a15 dengan L(ai) = 1, 0 = i = 15.
18. c0 ? B64(a0||a6||a12, 4)
19. c1 ? B64(a1||a7||a13, 4)
20. c2 ? B64(a2||a8||a14, 4)
21. c3 ? B64(a3||a9||a15, 4)
22. c4 ? B64(a4||a10||a5, 4)
23. c5 ? B64(a11, 2)
24. Output.
Output adalah penyambungan f||r||$||c0||c1||c2||c3||c4||c5




B. DES




Initial Permutation
Plaintet sebesar 64-bit akan dipecah menjadi 2 bagian yaitu Left (L) dan Right.Bit-bit dari plaintext akan mengalami permutasi sehingga susunannya akan berubah sebagai berikut :



61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7]
Maksud daripada keterangan di atas adalah, bit yang pada plaintext terletak pada
urutan ke 58, setelah di Inisial permutasi posisinya berubah yang tadinya berada di
urutan ke 58 menjadi urutan ke-1 atau yang pertama.Jika diperhatikan, bit-bit bernomor genap setelah dipecah berada di blok L (kiri) dan bit yang bernomor ganjil terletak di blok R (kanan).Permutasi diatas menggunakan sebuah urutan yang ditunjukkan oleh arah panah berwarna merah.Dimulai pada kolom paling kanan dan bit-bit yang ada akan bergerak secara urut dengan vertikal ke arah bawah.Sebagai contoh pada blok L, bilangan genap asli terkecil adalah 2 sehingga dimulai dengan angka 2 lalu 4,6,8 lalu menuju kolom di sebelah kirinya 10,12,dst.



7/22/2009

Wonderkid FM 2009

WONDERKID FM 2009

Berbagi sedikit info permainan FM 2009

Permainan FM 2009 sangat menarik dari pendahulunya FM 2008 yg dulu juga seru. Sekarang FM sudah semakin berkembang dan tentunya juga pemain – pemain barupun bermunculan. Dalam permainan FM ada yang namanya ''wonderkid'' yakni pemain yang berpotensi menjadi pemain berkelas atau worldclass. Tapi di FM 2009 juga maih ada pemain – pemain dari FM 2008 yang masih tetap menjadi pemain worldclass.

Dibawah ini adalah daftar2 youngstres yg mempunyai Potential Ability dari -10 dan -9 berdasarkan posisinya masing2
Penjelasan = -10 berarti 170-200 dari 200
-9 berarti 150-180 dari 200, sekitar 70% kemungkinan menjadi World Class




List Pemain dan Posisinya :

Goal Keepers
-10
Vincenzo Fiorillo>>Sampdoria=GK
-9
Antonio Adan>>Castilla=GK
Sergio Asenjo>>Valladolid=GK
David De Gea>>Atletico B=GK
Joao Carlos>>Atletico Paranaense=GK
Oscar Ustari>>Getafe=GK
Cassio>>PSV=GK
Geoffrey Jourdren>>Montpellier=GK
Sergio Arias>>Chivas=GK

Defenders
-10
Mamadou Sakho>>PSG=DLC
-9
Brek Shea>>FC Dallas=DL, AMLC
David Rochela>>Deportivo B=DC
Atienza Pichu>>Atletico B=DC, DM
Matej Rapnik>>Hearts=DLC
Jonny Evans>>Man Utd=DC
Omar Esparza>>Chizas=DL, DM, ML
Allesandro Tuia>>Lazio=DC
Alessio Campoli>>Lazio=DC
Marco Davide Faraoni>>Lazio=DRC
Davide Santon>>Inter=D/WB/AMR
Riccardo Brosco>>Roma=DC
Tamas Kadar>>Newcastle=DLC
Kyriakos Papadopoulos>>Olympiakos=DC
Daniel Opare>>Castilla=D/WBR
Matthieu Saunier>>Bordeaux=DRC
Aurelien Teaudors>>Sochaux=DC
Armand Traore>>Arsenal=D/WB/ML
Jeremy Helan>>Rennais=D/WBL
Dennis Appiah>>AS Monaco=DC
Darnel Situ>>Lens=DC
Sidnei>>Benfica=DC
Rafhael>>Figueirense=DC
Gerson>>Gremio=DC
Fabio>>Man Utd=D/WB/AML
Rafael Forster>>Internacional=DLC
Guilherme>>Almeria=D/WBL
Cristian Ansaldi>>Rubin=D/WBRL, MR
Frederico Fazio>>Sevilla=SW, DC, DM
Maximiliano Oliva>>River=DLC
Diego Polenta>>Genoa=DC
Gareth Bale>>Tottenham=D/WB/ML

Midfielders
-10
Martin Galvan>>Cruz Azul=AMC
Carlos Vela>>Arsenal=AMLC, FC
Gio Dos Santos>>Tottenham=AMRLC, FC
Mario Balotelli>>Inter=AMRL, S
Toni Kroos>>Bayern=AMC
Henri Saviet>>Bordeaux=AMRL, FC
Anderson>>Man Utd=AMC
Miralem Pjanic>>Lyon=AMRC
-9
Brek Shea>>FC Dallas=DL, AMLC
Gokhan Tore>>Leverkusen=AM/FC
Albin Ekdal>>Juventus=AMC
Fran Merida>>Arsenal=AMLC
Ruben Ramos>>Atletico B=AM/FC
Iago>>Juventus=AMLC
Thiago>>Barca B=MC
Daniel Parejo>>Castilla=AMC
Aaron>>Valencia Mestalla=AMRC, FC
David Moreno>>Almeria B=AMLC
Gerardo Bruna>>Liverpool=AML
John Fleck>>Rangers=AMLC, FC
Al Razvan Ochirosii>>Steaua=AML
Gabriel Torje>>Dinamo Buc=AMR
Adrien>>Sporting=MC
Helder Barbosa>>Porto=AML
Fausto Rossi>>Juventus=AML
Fernando Forestieri>>Genoa=AM/FC
Davide Petrucci>>Man Utd=AM/FC
Davide Santon>>Inter=D/WB/AMR
Nacer Barazite>>Arsenal=AMC
Rik Schouw>>Ajax=MRC
Georginio Wijnaldum>>Feyenoord=AMRLC
Rodney Sneijder>>Ajax=MRLC
Sotiris Ninis>>Panathinaikos=AMRC
Andre Ayew>>Marseille=AMRL, FC
Lewis Holtby>>Aachen=AMRLC, FC
Mesut Ozil>>Werder=AMC
Anis Ben-Hatira>>HSV=AMRLC
Konstantin Rausch>>Hannover=D/WB/ML
Felix Kroos>>Rostock=AM/FC
Marcel Risse>>Leverkusen=AMRL
Savio>>Brescia=AML
Mehmet Ekici>>Bayern=DM, AMC
Deniz Naki>>Leverkusen=AMC
Willi Evseev>>Hannover=AMRLC, FC
Maxim Choupo-Moting>>HSV=AM/FC
Levan Kenia>>Schalke=AMC
Sofiane Feghouli>>Grenoble=AMLC
Adel Taarabt>>Tottenham=AMC
Gael Kakuta>>Chelsea=AMLC
Younousse Sankhare>>PSG=DM, MLC
Ryad Boudenbouz>>ochaux=AMRL
Alenandre Coeff>>Lens=MC
Armand Traore>>Arsenal=D/WB/ML
Clement Grenier>>Lyon=AMRC
Yacine Brahimi>>Rennais=AMC
Damien Le Tallec>>Rennais=AM/FC
Lauri Della Valle>>Liverpool=AM/FC
Jose Baxter>>Everton=AMRC, FC
Jake Thompson>>Southampton=AMR
Adam Lallana>>Southampton=AMC
John Bostock>>Tottenham=AMC
Scott Sinclair>>Chelsea=AMRL, S
Jack Wilshere>>Arsenal=AMLC
Antonio Valencia>>Wigan=AMRC
Lubos Kalouda>>CSKA Moscow=AMR
Celso Borges>>Saprissa=AMC
Nicolas Millan>>Colo Colo=AMRL, FC
Eyong Enoh>>Ajax=AMC
Erick Flores>>Flamengo=AMRC
Willian>>Shakhtar=AMC
Paulo Henrique>>Santos=AMC
Neymar>>Santos=AM/FC
Fabio>>Man Utd=D/WB/AML
Oscar>>Sao Paulo=AMC
Walter>>Internacional=AM/FC
Felipe>>Palmeiras=AMC
Filipe Monteiro>>Udinese=AMRC, FC
Mauricio>>None (Should be Villarreal iirc)=AML, S
Douglas Costa>>Gremio=AMLC
Taison>>Internacional=AM/FC
Tales>>Internacional=AMC
Choco>>Atletico Paranaense=AM/FC
Sergio Mota>>Sao Paulo=AMLC
Alex Teixeira>>Vasco=AMRLC, FC
Radja Nainggolan>>Piacenza=DM, AMRLC
Sebastian Blanco>>Lanus=AMRLC
Christian Maidana>>Spartak Moscow=AMLC, FC
Cristian Ansaldi>>Rubin=D/WBRL, MR
Lautaro Acosta>>Seville=AMRC, FC
Franco Zuculini>>Racing Club=DM, MRC
Gareth Bale>>Tottenham=D/WB/ML

Defensive Midfielders
-9
Sunny >>Valencia=DM
Atienza Pichu>>Atletico B=DC, DM
Ignacio Camacho>>At. Madrid=DM
Cala>>Sevilla Atletico=DC, DM
Yoon Bit-Garam>>Boo-Kyong High School=DM, AMC
Havard Nordtveit>>Arsenal=DC, DM
Lukman Haruna>>Monaco=DM
Omar Esparza>>Chizas=DL, DM, ML
Patricio Araujo>>Chivas=SW, DC, DM
Andrea Poli>>Sampdoria=DM
Younousse Sankhare>>PSG=DM, MLC
Omar Benzerga>>Lille=DM
Marek Suchy>>Slavia Prague=DC, DM
Arturo Vidal>>Leverkusen=DM
Rafael Carioca>>Germio=DM
Bernado>>Cruseiro=DM
Radja Nainggolan>>Piacenza=DM, AMRLC
Ever Banega>>Valencia=DM
Frederico Fazio>>Sevilla=W, DC, DM
Franco Zuculini>>Racing Club=DM, MRC

Forwards
-10
Bojan>>Barca=FC
Carlos Vela>>Arsenal=AMLC, FC
Gio Dos Santos>>Tottenham=AMRLC, FC
Henri Saviet>>Bordeaux=AMRL, FC
-9
Gonzalo Barreto>>Danubio=FC
Ruben Ramos>>Atletico B=AM/FC
Daniel Pacheco>>Liverpool=AM/FC
Aaron>>Valencia Mestalla=AMRC, FC
John Fleck>>Rangers=AMLC, FC
Davide Petrucci>>Man Utd=AM/FC
Andre Ayew>>Marseille=AMRL, FC
Lewis Holtby>>Aachen=AMRLC, FC
Felix Kroos>>Rostock=AM/FC
Willi Evseev>>Hannover=AMRLC, FC
Maxim Choupo-Moting>>HSV=AM/FC
Damien Le Tallec>>Rennais=AM/FC
Lauri Della Valle>>Liverpool=AM/FC
Jose Baxter>>Everton=AMRC, FC
Christian Benitez>>Santos Laguna=FC
Tomas Necid>>Slavia Prague=FC
Nicolas Millan>>Colo Colo=AMRL, FC
Neymar>>Santos=AM/FC
Filipe Monteiro>>Udinese=AMRC, FC
Walter>>Internacional=AM/FC
Taison>>Internacional=AM/FC
Choco>>Atletico Paranaense=AM/FC
Alex Teixeira>>Vasco=AMRLC, FC
Eden Hazard>>LOSC Lille=AM/FC

Strikers
-10
Mario Balotelli>>Inter=AMRL, S
-9
Jozy Altidore>>Villarreal=S
Batuhan Karadeniz>>Besiktas=S
Emilio Nsue>>Mallorca B=S
Alexandr Prudnikov>>Spartak Moscow=S
Fedor Smolov>>Dinamo Moscow=S
Macauley Chrisantus>>HSV=S
Hobbit Bermudez>>Atlante=AML, S
Ever Guzman>>Morelia=S
Antonio Salazar>>Chivas=S
Ulises Davila>>Chivas=S
Victor Manon>>Pachuca=AMR, S
Alberto Paloschi>>Parma=S
Krisztian Nemeth>>Liverpool=S
David N’Gog>>Liverpool=S
Yannis Tafer>>Lyon=S
Danny Welbeck>>Man Utd=S
Scott Sinclair>>Chelsea=AMRL, S
Nathan Delfouneso>>Villa=S
Martin Fenin>>Frankfurt=S
Vaclav Kadlec>>Sparta Prague=S


Setelah beberapa kali memainkannya pemain – pemain yang bagus buat di jadikan pertimbangan pertimbangan adalah :

GK : Sergio Asenjo>>Valladolid
WDCLR :Kyriakos Papadopoulos>>Olympiakos, Daniel Opare>>Castilla, Frederico Fazio>>Sevilla, Gareth Bale>>Tottenham, Davide Santon>>Inter, Dominic Criscito, Cristian Zapata.
AMCLR : Carlos Vela>>Arsenal, Mario Balotelli>>Inter, Henri Saviet>>Bordeaux, Sebastian Giovinco>>Juventus, John Fleck>>Rangers, Fausto Rossi>>Juventus, David Silva>>Valencia, Jack Wilshere>>Arsenal,
DM : Ignacio Camacho>>At. Madrid, De Rossi>>AS Roma, Bolzoni>>Inter Milan, Juan Manuel Mata>>Valencia, Sunny>>Valencia, Laksana Diarra.
FC : Bojan>>Barca, Pato>>AC Milan.
SS : David Villa,

Pemain – pemain di atas posisinya bisa di pindah – pindah karena bisa di posisi berbeda. Team kesukaan saya adalah valencia. Ah, rasanya tidak seru jika anda hanya melihat atau sekadar membaca daftar pemain di atas ini. Segera coba dan rasakan sendiri kedahsyatannya! Lets enjoy the game guys!




5/03/2009

ER NORMALIZATION

ER DIAGRAM



from the picture we can see 2 awkwardness that is:
1. no cardinality between PART and PROJECT
2. The ternary relationship between entity PEGAWAI, PROYEK, & TANGGUNGAN seems strange.


Here is the fixed ER diagram:



Now I want to TRY make the mapping of the ER-Diagram above:



Now from that mapping I want try to make Normalization.
First 1N F
1NF is relationship which each every intersection of line and column contain one and only one price.





Two 2NF
2 NF is relationship if fulfilling 1 NF and each every attribute is not key primary have depended functional fully key primary.






Tanggungan
For table Tanggungan not change.



Thre 3NF
3NF is relationship fulfilling 1 NF, 2NF and attribute which non key primary not have depended transitif key primary






4/25/2009

DATABASE NORMALIZATION

Design Database Process (review)
The process includes:
• Gathering user or business's requirement
• Develop E-R Model bases user or business's requirements
• Convert E-R Model go to relationship gatherings (table)
• Relationship normalization to remove anomaly
• Implementation goes to database by make table for each relationship already most normalization

Database Normalization

Normalization is process of database structure forming so mainly part of ambiguity can be removed. Normalization phase is begun from lightest phase (1NF) until tightest (5NF). Usually, only coming up with level 3NF or BCNF because has adequate enough to yield the tables of which with quality goodness.
Why done by normalization?
• Optimizing table structures
• Increasing speed
• Removing same data inclusion
• More efficient in storage media purpose
• Reducing redundancy
• Avoiding anomaly (insertion anomalies, deletion anomalies, and anomaly's update).
• Increased data integrity

One table is said well (efficient) or normal if accomplish 3 criterions as follows:
If there is decomposition (parsing) table, therefore the decomposition shall be secured safe (Lossless Join Decomposition). It’s mean, after that table is untied / at decomposition becomes new tables, that new tables can result original table equally exactly
Its preserve dependency functional at the moment data change (Dependency Preservation).
Don't breach Boyce-Code Normal Form (BCNF)

If the third criterion (BCNF) can't be accomplished, therefore at least that table not breach the third Normal Form (3rd Normal Form/ 3NF).

Functional Dependency
Functional Dependency is describe attributes interaction in a relationship.
An attribute said functionally dependant on the other, if we use the value attribute to determine the value of the other attributes. Symbol be used is –> to represent the functional dependency. –> read the functional determining.
• Notation : A  B
A and B are attributes of a table. Means that the functional A determining B or B depends on A, if and only if there are 2 rows of data with the same value of A, then B is also the same value.
• Notation : A / B or A x B
It is the opposite of the previous notation.




Functional Dependency:
NRP -> Name
Mata_Kuliah, NRP -> Value
Non Functional Dependency:
Mata_Kuliah -> NRP
NRP -> Value
Functional Dependency of the table value
Nrp -> Name
Because for each value Nrp the same, then the value of the same name
(Mata_kuliah, NRP) -> Value
Because the value of attributes depending on the NRP and Mata_kuliah together.
In another sense Mata_kuliah for the NRP and the same, they also rated the same,
because Mata_kuliah and the NRP is a key (is unique).
Mata_kuliah -> NRP
NRP -> Value



FIRST NORMAL FORM 1NF
A table on the form said to be normal if I did not reside in the unnormalized form of a table, where there is a kind of field multiplication and field that allows a null (empty)
Not allowed:
Many attributes of value (Multivalued attributes).
Attributes composite or a combination of both.
So: Price is the domain attribute must be atomic rates
Eg Student Data as follows:

The table above does not meet the requirements 1NF
Decomposition as follows :

Second Normal Form - 2NF
2NF's normal form is accomplished in one table if have accomplished 1NF's form, and all attribute besides primary key, as whole to have Functional Dependency on primary key. One table will not accomplishes 2NF, if there is attribute which its dependency (Functional Dependency) just have partial character only (just depend on a part of primary key). If anything attribute that have no dependency for primary key, therefore that attribute have to move or is removed. Functional dependency X Y is said full if erasing an attribute A of X its mean that Y no longer functional dependent. Functional dependency X Y is said partial if erases an A's attribute of X matter Y still functional dependent. Relationship scheme r on 2NF form if each attribute non primary key A R full dependent functionally on primary key R.
The following table meet 1NF, but not meet 2NF :

Does not meet 2NF, because (NIM, KodeMk) is regarded as the primary key:
(NIM, KodeMk) -> NamaMhs
(NIM, KodeMk) -> Address
(NIM, KodeMk) -> Matakuliah
(NIM, KodeMk) -> SKS
(NIM, KodeMk) -> NilaiHuruf
Table needs to be some table decomposition eligible 2NF
Functional dependency as follows:
(NIM, KodeMk) -> NilaiHuruf (fd1)
NIM -> (NamaMhs, Address) (fd2)
KodeMk -> (Matakuliah, SKS) (fd3)
So that:
fd1 (NIM, KodeMk, NilaiHuruf) -> Value Table
fd2 (NIM, NamaMhs, Address) -> Table Student
fd3 (KodeMk, Matakuliah, SKS) -> Table MataKuliah
THIRD NORMAL FORM - 3NF
Normal form 3NF fulfilled if the form meets 2NF, and if there are no non-primary key attribute that has a dependence on non-primary key attributes of the other (transitive dependencies).
The following table meet 2NF, but not meet 3NF :

Because there are non-primary key attribute (ie, City and Provincial), which has a dependence on non-primary key attributes of the other (ie KodePos):
KodePos -> (City, Province)
So that the table should be dicomposition as follows:
Student (NIM, NamaMhs, Road, KodePos)
KodePos (KodePos, Province, City)

Boyce-Codd Normal Form (BNCF)
Boyce Codd Normal Form has stronger compulsion of third Normal form. To become BNCF, relationship shall in first Normal form and each attribute is forced dependent on function on attribute super key. On example hereunder is exists Seminar relationship, Prime key is NPM + seminar.
Student may take one or two seminar. Each seminar needs 2 counselors and each student led by one of between 2 that seminar counselor. Each counselor just may take one seminar only. On this example NPM and seminar points out a Counselor.


Seminar Relationship
NPM Seminar Counselor
1000 S100 Arya
1001 S100 Ayu
1002 S101 Mezi
1001 S101 Mezi
1003 S101 Edi
Seminar Relationship form is third Normal Form, but not BCNF since Seminar Code is still dependent function on Counselor, if each Counselor gets to teach just one seminar. Dependent seminar on one attribute is not super key as presupposed by BCNF. Therefore Seminar relationship shall be broken down as two which is:

Counselor Relationship
Counselor Seminar
Arya S100
Ayu S100
Mezi S101
Edi S101

Seminar-Counselor Relationship
NPM Counselor
1000 Arya
1001 Ayu
1002 Mezi
1001 Mezi
1003 Edi




Fourth and fifth Normal Form
Relationship in fourth normal form (4 NF) if relationship in BCNF and not contains of multi value dependency. To remove multi value dependency from one relationship, we are divide relationship become two new relationships. Each relationship contains of two attributes that have multi value relationship.
Relationship in fifth normal form (5NF) get business with property is called join without marks sense information loss (lossless join). The fifth normal Form (5 NF also called PJNF (projection join normal form). This case is very rare to appearance and hard to be detected practically.
References:
1. Agus Sanjaya ER, S.Kom, M.Kom, slide presentation : Database and ER-Diagram



4/19/2009

DATABASE AND ER-Diagram

DATABASE DEFINITION
Database can be definition by collection of data which stored in magnetic disk, optical disk or other secondary storage. In other word database is collection of data which is linked one to other of an enterprise (factory, governmental institution, or private section). he database can be a collection of integrated data-related data of an enterprise (company, government or private). For example:
1. In Company data à manufacturing production planning, actual production data, data, material ordering, and so forth.
2. In hospital patient data, doctor, nurse, and so forth.
Database Management System
Database management System is database collection with software application in based of database. This application programs used to access and protected database. The purpose DBMS is to provide an environment for using, collecting and storing data and information.

Definition of bit, byte, field
- Bit: is the smaller part of data, which contain of value 1 or 0
- Byte is a collection of same bit. 1 byte = 8 bit.
- Field set of byte-byte similar, in the database used the term attribute

ATTRIBUTE / FIELD
Attribute or field is characteristic from an entity o provide description about entity. An relation can have attribute too. Attribute example:

Table BOOK : ID, NAME, PUBLISHER, COMPOSER
Table CAR : NOMOR_PLAT, COLOR, KIND, CC

ATTRIBUTE TYPES
• Single attribute vs multivalue attribute
Single attribute is an attribute that can only be filled at most one value.
Multivalue attribute is an attribute that can be filled with more than one value with the same type.
• Atomic vs composition
Atomic attribute is an attribute that can not be divided into smaller attributes.
Composite attribute is a combination of several attributes of a smaller.


• Derived attribute is an attribute which its value can be produced from other attribute
• Null Value attribute is an attribute that has no value to a record.
• Value attribute is a mandatory attribute that must have a value.




RECORD or TUPLE
Record is a data line in a relationship. Record consists of a set of attributes where the attribute is an attribute-related entity or to inform the full relationship.

ENTITY / FILE
Entity is the object or objects in a certain mini world represented in the database and file is a group of same record and have same element, same attribute but different of each data value. Type File In application process, category of file such as:
- Master File
- File Transaction
- File Report
- File History
- File Protected
- File Activity
- File Work

Domain Domain is collection of values which enabled to stay in one or more attribute. Every attribute in a relational database is defined as a domain

Key of element data
Key is the element of record which used to find the record when accessing or can also used to identify every entity / record / row.

Type of KEY
• Superkey is one or more attributes of a table that can be used to identify entityty / record of the table are unique (not all attributes can be superkey)
• Cadidate Key is super key with minimum attribute. Candidate key may not contain attribute of other table so that the candidate is super key, but not the contrary
• Primary Key One of the key attributes of the candidate can be selected / specified a primary key with the three criteria, namely:
1. Key is more natural to use as reference
2. Key is more simple
3. Key is guaranteed unique
• Alternate Key is the attribute of the candidate key is not selected to be primary key.
• Foreign Key is any attribute that points to the primary key in another table. Foreign key will be going on a relationship that has cardinality one to many or many to many. Foreign key usually put at the table which direct to many cardinality.
• External Key is a lexical attribute (or set of lexical attributes) that values are always identify an object instance.

ERD (ENTITY RELATIONSHIP DIAGRAM)
ERD is a network model using word to keep in system abstract or an abstract and conceptual representation of data. Difference between DFD and of ERD: DFD represent a function network model to be executed by system and ERD represent data network model emphasizing at structure and relationship data.
Elements in ERD
- Entity
In the ER Diagram, entity is described with the form of a rectangle. Entity is something that exists in the real system and the abstract where the data stored or where there are data.
- Relationship
In the ER diagram, relationship can be described with a lozenge. Relationship is a natural relationship that occurs between entities. In general, the name given to the verb base making it easier to do the reading it relations.
- Relationship degree
Relationship degree is the number of entities which participating in a relationship. Degree is unit which is often used in the ERD.
- Attribute
Attribute is the nature or characteristics of each entity and relationship
- Cardinality
Cardinality indicates the maximum number of record/tuple that can be relation with the entity on the other entity.
Degree of relationship
- Unary relationship is the relationship model between the entity originating from the same entity set.
- Binary relationship is the relationship model between 2 entities
- Ternary relationship is a relationship between the instances of 3 types of entities is unilateral

Cardinality
There are three cardinality relations, thas is:
• One to One: Level one to one relationship stated with one event in the first entity, only had one relationship with one event in the second entities and conversely.
• One to Many or Many to One: Level one to many relationship is the same as the one to many depending on the direction from which the relationship view. For an incident on the first entity can have any relationship with many incident on the second entity, if the one incident on the second entity can only have one relation with the incident on the first entity.
• Many To Many: happening if each event on one entities has a many relationship with event on another entities.
Notation in ER-Diagram



The notation symbol of ER-Diagram is:
1. Rectangle express gathering of entity
2. Radian express attribute
3. Rhombic express relationship gathering
4. Line as link between relationship gathering with gathering of entity Gathering and Entity with its attribute




References:
- Agus Sanjaya ER, S.Kom, M.Kom, slide presentation : Database and ER-Diagram
- http://en.wikipedia.org/wiki/Database



4/05/2009

PART V: ANALYSIS AND DESIGN OF INFORMATION SYSTEM

DATA FLOW DIAGRAM (DFD)


DFD is a logical data model or process that is made to describe the origin of the data and the destination where the data out of the system, where data is stored, the process that produces the data and the interaction between the data stored and the process is imposed on data.
DFD usually use to figured a system division into smaller module and can make user to easy that insufficiently understand computer area for understands system who will be worked. A data-flow diagram can be used for the visualization of data processing (structured design).
There is even symbol Data Flow Diagrams:
1. External Entity
2. Process
3. Data flow
4. Data Storage

CONTEXT DIAGRAM
System Context Diagram are diagrams used in systems design to represent all external entities that may interact with a system. This diagram pictures the system at the center, with no details of its interior structure, surrounding by all its interacting systems, environment and activities. The objective of a system context diagram is to focus attention on external factors and events that should be considered in developing a complete set of system requirements and constraints.
Context diagrams are used early in a project to get agreement on the scope under investigation. Context diagrams are typically included in a requirements document. These diagrams must be read by all project stakeholders and thus should be written in plain language, so the stakeholders can understand items within the document.

ZERO DIAGRAM
Zero Diagram is a diagram to describe process of data flow diagram. Zero Diagram is Providing views on the overall system in which, showing the main function or process that is, the flow of data and external entity.in this level may be existence storage data. For process which not detailed again in next level added by symbol ‘*’ or ‘ P’ in the end process number. Input balance and output ( balancing) between diagram 0 with context diagram have to be maintain.


DETAIL DIAGRAM
• Detail Diagram is a Diagram to describe process in zero diagram or high level.




• In one advisable level has no is more than 7 processes and maximal 9, if more therefore has to be done by decomposition




SPECIFICATION OF PROCESS
Each process in the DFD must have a specification. Process At the top level method is used to describe the process can use a sentence with descriptive At a more detailed level, namely on the bottom (functional primitive) requires specification of a more structured.
Specification process will be the guideline for the programmer to make this program (coding). Method used in the specification process: the process of disintegration in the form of a story, decision table, decision tree
SYMBOL in DFD:
1. External entity
2. Data Flow
3. Process
4. Data Store

A. EXTERNAL ENTITY
Something in outside system, but its give data into system or give data for system, symbol with a notation box. External entity not include of part system. one that included outer unity amongst those:
1. An office, department or division in corporate but system open air, which is developed.
2. Person or a group person at organization but outside sys tem which being developed.
3. An organization or person of outside organization as e.g. subscription, provider.
4. Outdoor other information system, system being developed.
5. Original source of a transactions


B.DATA FLOW

Symbol with the dart, where is data flow is flow between process, data trove.. Data flow symbol with straight line to connective component of system. Data flow direction is indicated with arrows and lines give the name on the flow of data that flows. Flow data flow between processes, data storage and data flow indicates that the form of data input for the system.
Guide of Data Flow name:
• Name of data flow which consist of some word flow attributed with continued line.
• There may not be any data flow which its same name and gift of name have to express its contents
• Data stream which consist of some element can be expressed with element grup

C.PROCESS
Process is activity or job that did by person, machine or computer of result a data flow that turns in at to process to been resulted data flow that will come out from process. Function of process is transformation one or some input data become one or some output data as according to specification. Each process have one or some input and also result one or some output data. Frequent process may be called by bubble. Symbols used : circle
Name of the process consists of a verb and noun, which reflects the function of the process
Do not use the process as part of the name of a bubble. May not have some process that has the same name. The process should be given a number. Order number wherever possible to follow the flow of the process or sequence, but the sequence number does not mean that the absolute is a process in chronological order.

D.DATA STORAGE
Data store is storage place for data that exists in the system. Data store symbol with couple two parallel line or two line wrongly one side from other side openly.
The process can retrieve data from or provide data to the database as follow:
1. file or database in the computer system
2. manual record keeping or
3. the data in a table
4. table reference manual
5. agenda book
Guide of Data Store name:
• The name should reflect the data storage
• When his name more than one word must be marked with the number







Dictionary of Data (Catalog Data)
Is a catalog (storage) of the elements that are in a system. Data dictionary is also called with a system data dictionary is a catalog of facts and data information needs of an information system. In function to help system agent to interpreting application in detail and organization all of data element that utilized by system exactly so user and system analyst have same understanding basic about entry, output, storage and process.
On analysis stage, data dictionary constitute communication device among user and system analyst about data which is flow in system, which is about in going data to system and about information which needed by user. In the meantime, on lexical system scheme stage data is utilized to design input, reporting and database. Data flow in DFD have the character of globally, boldness more detailed can be seen in data dictionary.
Data dictionary load the followings :
• Name of data current: must note that readers who need further explanation about a flow of data can find it easily
• Alias: alias or other name of the data can be written when there is
• Forms of data: used to segment the data dictionary to use when designing the system
• Flow data: indicates from which data flows and where the data
• Description: to give an explanation of the meaning of the data flow

Balancing In DFD
Data flow into and out of a process must be the same as the flow of data into and out of the details of the process on the level / levels below. Number and the name of an entity outside the process must be equal to the number of names and entities outside of the details of the process. We must be considered in the DFD which have more than one level:
• Shall available input balance and output among one level and next level
• Balance among level 0 and level 1 is seen on input / output of data flow goes to or of terminal on level 0, meanwhile balance among level 1 and level 2 are seen on input / output of data flow goes to / of process that pertinent
• Data streaming name, storage data and terminal on every level shall same object.

Prohibition in DFD
• Data flow may not from external entity directly to wend another external entity without passing a process.
• Data flow may not from direct data deposit go to external entity without passing a process
• Data flow may not from direct data deposit go to other data deposit without passing a process
• Data flow from one direct process go to other process without passing a data deposit better possible avoided.


References:
• ER Ngurah Agus Sanjaya, S.KOM, M.KOM. Slide Part 4 - DATA FLOW DIAGRAM.
• HM, Jogiyanto. 2005. Analisis & Desain Sistem Informasi. Yogyakarta: ANDI.
• http://id.wikipedia.org/wiki/Data_flow_diagram