Sabtu, 20 April 2013

Pengertian , URL , FTP , HOSTING , DOMAIN

Pengertian URL (Uniform Resource Locator) adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar di Internet. URL pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991 agar penulis-penulis dokumen dokumen dapat mereferensikan pranala ke World Wide Web. Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource Identifier (URI) yang lebih umum sifatnya.
»File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP.
Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client.
FTP server adalah suatu server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client.
FTP client adalah computer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file. Setelah terhubung dengan FTP server, maka client dapat men-download, meng-upload, merename, men-delete, dll sesuai dengan permission yang diberikan oleh FTP server.
Tujuan dari FTP server adalah sebagai berikut :
• Untuk tujuan sharing data
• Untuk menyediakan indirect atau implicit remote computer
• Untuk menyediakan tempat penyimpanan bagi user
• Untuk menyediakan transfer data yang reliable dan efisien
Keamanan FTP

FTP sebenarnya cara yang tidak aman dalam mentransfer suatu file karena file dikirimkan tanpa di-enkripsi terlebih dahulu tetapi melalui clear text. Mode text yang dipakai untuk transfer data adalah format ASCII atau format binary. Secara default, FTP menggunakan mode ASCII dalam transfer data. Karena pengirimannya tanpa enkripsi, username, password, data yang di transfer, maupun perintah yang dikirim dapat di sniffing oleh orang dengan menggunakan protocol analyzer (sniffer). Solusi yang digunakan adalah dengan menggunakan SFTP (SSH FTP) yaitu FTP yang berbasis pada SSH atau menggunakan FTPS (FTP over SSL) sehingga data yang
dikirim terlebih dahulu di enkripsi.
»DOMAIN menurut Wikipedia Nama Domain (domain name) adalah nama unik yang diberikan untuk mengidentifikasi nama server komputer seperti web server atau email server di jaringan komputer ataupun internet. Nama domain berfungsi untuk mempermudah pengguna di internet pada saat melakukan akses ke server, selain juga dipakai untuk mengingat nama server yang dikunjungi tanpa harus mengenal deretan angka yang rumit yang dikenal sebagai IP address. Nama domain ini juga dikenal sebagai sebuah kesatuan dari sebuah situs web seperti contohnya “wikipedia.org”. Nama domain kadang-kadang disebut pula dengan istilah URL, atau alamat website.
Sederhananya domain merupakan nama unik/alamat untuk website anda, domain biasanya diakhiri dengan .com, .net, .org, .biz, .asia, .us dan lain-lain.
»Hosting biasa disebut dengan Web-Hosting, adalah perusahaan yang menyediakan layanan dan penyimpanan Web bagi perorangan atau perusahaan. Dengan kata lain Hosting adalah salah satu bentuk layanan penyewaan ruang simpan data (space) yang digunakan untuk menyimpan data – data website agar halaman website tersebut bisa diakses dari mana saja. Data web tersebut meliputi file – file html, php script, cgi script, css, image, database, dan file lain yang dibutuhkan untuk menampilkan halaman web.
Sebuah server web hosting akan online 24 jam sehari, sehingga memungkinkan kita bisa membuka web site yang dihosting kapanpun. Seperti biasa bila ada pertanyaan mengenai Domain dan Hosting ini silahkan diskusikan di form komentar.

Bagaimana membuat jaringan dengan Wi-Fi

 Anda dapat membuat jaringan rumah atau kantor kecil tanpa menggunakan access point atau hub/router. Seperti halnya jaringan peerto-peer pada jaringan yang menggunakan NIC. Tidak hanya itu, jaringan peer-to-peer dengan Wi-Fi dapat dilakukan dengan lebih dari dua komputer dan dengan kecepatan yang jauh lebih besar.
1. Aktifkan Wi-Fi Anda
Langkah pertama yang paling penting adalah mempersiapkan perangkat jaringan wireless Anda dan mengaktifkannya. Cara mengaktifkan fitur Wi-Fi pada setiap komputer cukup beragam. Ada yang harus menekan tombol khusus baru kemudian aktif. Ada juga yang cukup mengaktifkannya melalui layar Windows Anda. Untuk mengaktifkannya melalui layar monitor; buka Control Panel, Network Connection, pada icon Wireless Network Connection klik kanan dan pilih Enable. Setelah itu, klik kanan kembali dan pilih View Available Wireless Network. Jika pada layar ada sebuah koneksi wireless tersedia, Anda tinggal pilih kemudian tekan tombol Connect.
2. Buat Jaringan Wi-Fi Sendiri
Namun bila koneksi Wi-Fi belum tersedia, Anda memang harus membuatnya sendiri. Apalagi pada komputer pertama sekali yang akan digunakan untuk jaringan. Caranya cukup pergi ke Control Panel, pilih Network Connection. Kemudian pada halaman NetworkConnection pilih Wireless Network Connection. Klik kanan kemudian pilih Properties. Setelah itu, buka halaman Wireless Network. Pada halaman ini berikan tanda centang pada Use Windows to configure my wireless network settings. Kemudian tekan tombol Add di bagian Prefered Networks.
3. Namakan Koneksi
Langkah kedua adalah menamakan koneksi wireless yang akan Anda buat. Nama koneksi dapat terserah diberikan, pengetikan nama koneksi dilakukan dalam boks SSID. Jika Anda ingin memiliki password untuk jaringan ini, pada opsi The key is provided for me automatically hapus tanda centang. Kemudian pada drop down menu Network Authentication, pilih Open atau Shared untuk menggunakan network key WEP atau memilih WPA-None untuk memilih menggunakan network key WPA. WPA memang lebih baik, namun tidak semua perangkat mendukungnya. Kemudian masukkan kuncinya pada kolom Network key dan Confirm network key.
4. Berikan Password WEP
Bila Anda memilih untuk memberikan password atau key secara manual, maka pada layar selanjutnya Anda akan dipertanyakan password tersebut. Bila Anda menggunakan password WEP (Wired Equivalent Privacy) ada aturan penggunaannya, yaitu hanya diperbolehkan 5 atau 13 karakter untuk penulisan password yang hanya menggunakan 1 jenis karakter. Untuk dua jenis karakter (angka dan huruf) hanya diperbolehkan sebanyak 10 atau 26 karakter. Perlu diingat bahwa semakin panjang dan rumit password akan semakin baik.
5. Berikan Password WPA
Anda dapat juga memberikan password WPA (Wi-Fi Protected Access). Pada penggunaan password WPA aturan yang harus ditaati adalah jumlah karakter yang dapat digunakan antara 8 sampai 63 untuk satu jenis karakter dan 64 karakter untuk lebih dari satu jenis karakter. Setelah selesai nanti, Anda dapat mencetak password ini untuk kemudian digunakan menambah komputer ke dalam jaringan nantinya. Dan perlu diingatkan bahwa penggunaan kunci WPA tidak selalu dapat diterapkan di setiap komputer. Ada beberapa perangkat jaringan nirkabel yang tidak dapat menerima kunci WPA.
6. Ad Hoc
Satu lagi yang perlu dilakukan adalah menjadikannya jaringan Ad Hoc. Jaringan Ad Hoc adalah jaringan yang hanya menghubungkan komputer ke komputer tanpa melalui sebuah hub atau router sebagai access point. Untuk jaringan nirkabel rumahan atau kantor kecil cukup menggunakan jaringan jenis ini. Oleh sebab itu, salah satu yang tidak boleh dilewatkan adalah memberikan tanda centang pada opsi This is a computer-to-computer (ad-hoc) network, wireless access points are not used. Opsi ini terletak di bagian paling bawah layar Association. Setelah selesai tekan OK.
7. Mulai Buat Jaringan Baru
Langkah selajutnya adalah membuat jaringan baru menggunakan koneksi yang sudah ada. Langkah pertama dalam membuat jaringan Anda cukup mengikuti wizard yang ada untuk membuat jaringan biasa. caranya masuk ke Control Panel. Kemudian pilih Network Setup Wizard. Ikuti petunjuk yang diberikan. Pada saat wizard mulai dijalankan, Anda akan diminta untuk memeriksa kembali perangkat jaringan yang akan digunakan. Apakah sudah lengkap atau belum. Jika sudah lengkap Anda dapat melanjutkan. Jika belum pastikan terlebih dahulu semua perangkat sudah terpasang dan terinstal dengan baik.

Cara Menginstall Mandriva Linux 2010

Sebelum kita mulai menginstal mandriva linux ada baiknya kita mengetahui spesifikasi minimal yang dibutuhkan agar kita dapat nyaman menggunakan Linux Mandriva, spesifikasi minimal tersebut yaitu :
  1. Processor: Intel®, AMD atau VIA processor.
  2. RAM: minimum 512MB, direkomendasikan 1GB .
  3. Hard disk: minimum 2GB, direkomendasikan 6GB.
  4. Graphics card: NVIDIA®, ATITM, Intel®, SiS, Matrox,VIA. 3D untuk desktop dibutuhkan NVIDIA GeForce (≥ 8800), ATITM Radeon 7000 hingga HD 3870, atau Intel® i845 hingga x4500HD.
  5. 3D acceleration.
  6. Sound cards: Semua Sound Blaster, AC97 dan HDA compatible cards. Catatan : Creative Labs X-Fi cards sekarang tidak dapat digunakan.
  7. DVD drive (dibutuhkan).
  8. SATA, IDE, SCSI, SAS: hampir semua controllers didukung pada mode non-RAID, dan beberapa pada mode RAID.
Untuk dapat menjalankan CD mandriva linux, Pertama kita harus mengatur Boot pada BIOS dengan Boot From CD sebagai booting pertama.
Kemudian masukkan CD Mandriva Linux dan restart.
Tunggu beberapa saat hingga muncul boot prompt.
Pada saat boot prompt, pilih Boot Mandriva Linux 2010 Spring dengan menekan tombol enter :
clip_image001Booting Mandriva 2010.1 Spring
System kemudian akan memuat Live CD Mandriva dimana kita akan bisa menginstall Mandriva ini kedalam hardisk. Namun, sebelum kita dapat melihat tampilan desktop ada beberapa pertanyaan atau opsi seperti gambar dibawah ini adalah langkah pertama yaitu memilih bahasa sistem yang akan digunakan. Untuk link download diatas /image asia afrika telah mendukung Bahasa Indonesia.
clip_image002
Pemilihan Bahasa System
Kemudian klik accep / terima untuk menerima Lisensi Mandriva
clip_image003
Lisensi Mandriva
Kemudian Pilih Time Zone
clip_image004
Time Zone
Pilih Waktu yang tepat sesuai waktu saat kita install Mandriva ini. Atau dibawah menu Advanced, kita dapat memilih untuk mengaktifkan enable Automatic time synchronization (using NTP):
clip_image005
Pemilihan waktu
Pilih layout keyboard, biasanya kita sudah diberikan pilihan yang telah sesuai dengan keyboard yang kita gunakan…
clip_image006
Layout Keyboard
Akhirnya Mandriva One 2010.1 Live Desktop akan tampil. Untuk menginstall Mandriva 2010.1 Spring gnome ke harddisk, klik ikon Install on Hard Disk. Maka penaduan penginstalan Mandrivapun dimulai. Klik Next:
clip_image007
Live Install
Scema partisi Mandriva akan memandu kita dalam memilih partisi hardisk. Untuk menggunakan semua hardisk, atau menggunakan hardsik yang masih kosong, pilihan Use free spase dapat kita gunakan. Namun apabila ingin merubah partisi secara manual pilihlah Custom disk partitioning. Setelah itu klik Next dan hardisk pun akan di format…
clip_image008
Skema Partisi
Klik Next untuk menghilangkan hardware dan bahasa yang tidak digunakan di sistem kita.
clip_image009
Hardware & Bahasa yang tidak terpakai
Kemudian proses instalasi Mandriva 2010.1 Spring gnome ke harddiskpun akan diproses.
clip_image010
Proses Pemasangan Mandriva 2010.1
Ketika proses pemasangan Mandriva selesai, akan muncul configurasi boot loader. Untuk instalasi boot loader, kita bisa memilih yang default saja yaitu master boot record pada harddisk. Sedangkan untuk delay waktu booting, jika kita hanya menggunakan satu sistem operasi saja, ada baiknya waktu loading dapat dipersingkat misalnya 3 detik. Sedangkan apabila kita mempunyai 2 sistem termasuk Mandriva 2010.1, waktunya dapat disesuaikan sehingga ketika boot prom kita ada waktu untuk memilih sistem yang akan digunakan. Lalu klik Next
clip_image011
Waktu Boot
Langkah selanjutnya memilih menu sistem untuk di tampilkan pada saat booting.
clip_image012
Sistem boot
Proses instalasi boot loader akan dilakukan, klik finish.
clip_image013Penyelesaian Instalasi
Klik System – Shutdown…
clip_image014
Shutdown
Klik kembali Shutdown… kemudian system Mandriva pun akan dimatikan. Setelah beberapa saat CD/DVDrom yang berisi CD mandriva one 2010.1 akan terbuka, dan kita bisa mengeluarkan CD mandriva tersebut, kemudian menekan sembarang tombol di Keyboar.
clip_image015
Proses Shutdown
Hidupkan kembali komputer.
clip_image016
Boot ulang
Apabila saat itu komputer kita terhubung ke internet, maka secara otomatis Mandriva akan medownload beberpa list dan configurasi update.
clip_image017
Download Update
Kemudian akan muncul konfigurasi password untuk sistem Mandriva yang baru kita pasang. Dalam Mandriva dan semua sistem GNU/Linux pada umumnya, terdapat 2 jenis akun yang berbeda. Yaitu akun root (administrator) yang bisa mengakses dan merubah sistem secara keseluruhan. Dan akun user yang hanya bisa memakai aplikasi yang telah dipasang oleh akun root.
Isikan password dan nama usernya.
clip_image018
Akun dan Password
Setelah itu akan muncul screen Drak First Time, dimana kita bisa mendaftarkan diri sehingga tercatat di Mandriva Comunity. Klik Next.
clip_image019
Drak First Time
Isikan data-data yang ada pada layar. Kemudian klik Next.
clip_image020
Registrasi Mandriva Community
Setelah proses registrasi berhasil, kita dapat menutup layar Mandriva first time. Klik Close.
clip_image021
Selesai Proses
Dan selamat!!!. Mandriva 2010.1 Spring Gnome telah selesai terinstall. Anda sudah dapat menggunakan komputer untuk pekerjaan sehari-hari. Pada Sesi berikutnya, saya akan mencoba sharing mengenai configurasi dan instalasi paket program yang tersedia di internet. Sehingga program-program dan codec multimedia dapat diinstallkan di System Mandriva yang baru saja kita pasang ke harddisk.

Pengertian HTML

HTML (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). 
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser.
HTML dokumen tersebut mirip dengan dokumen teks biasa, hanya dalam dokumen ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Sebagai contoh jika ingin membuat teks ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya dilakukan dengan cara: <b>TAMPIL TEBAL</b>. Tanda <b> digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh teks yang ingin ditebalkan, dan diakhiri dengan tanda </b> untuk menonaktifkan cetak tebal tersebut.
Secara garis besar, terdapat 4 jenis elemen dari HTML:

  • structural. tanda yang menentukan level atau tingkatan dari sebuah teks (contoh, <h1>Golf</h1> akan memerintahkan browser untuk menampilkan “Golf” sebagai teks tebal besar yang menunjukkan sebagai Heading 1
  • presentational. tanda yang menentukan tampilan dari sebuah teks tidak peduli dengan level dari teks tersebut (contoh, <b>boldface</b> akan menampilkan bold. Tanda presentational saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan teks,
  • hypertext. tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala ke dokumen lain (contoh, <a href="http://www.ilmukita.com/">IlmuKita</a> akan menampilkan IlmuKita sebagai sebuah hyperlink ke URL tertentu),
  • Elemen widget yang membuat objek-objek lain seperti tombol (<button>), list (<li>), dan garis horizontal (<hr>).
Selain markup presentational , markup yang lin tidak menentukan bagaimana tampilan dari sebuah teks. Namun untuk saat ini, penggunaan tag HTML untuk menentukan tampilan telah dianjurkan untuk mulai ditinggalkan dan sebagai gantinya digunakan Cascading Style Sheets.

sejarah windows

Sejarah Windows
Microsoft Windows atau lebih dikenal dengan sebutan Windows adalah keluarga sistem operasi komputer pribadi yang dikembangkan oleh Microsoft yang menggunakan antarmuka dengan pengguna berbasis grafik (graphical user interface).
Sistem operasi Windows telah berevolusi dari MS-DOS, sebuah sistem operasi yang berbasis modus teks dan command-line. Windows versi pertama, Windows Graphic Environment 1.0 pertama kali diperkenalkan pada 10 November 1983, tetapi baru keluar pasar pada bulan November tahun 1985 yang dibuat untuk memenuhi kebutuhan komputer dengan tampilan bergambar. Windows 1.0 merupakan perangkat lunak 16-bit tambahan (bukan merupakan sistem operasi) yang berjalan di atas MS-DOS (dan beberapa varian dari MS-DOS), sehingga ia tidak akan dapat berjalan tanpa adanya sistem operasi DOS. Versi 2.x, versi 3.x juga sama. Beberapa versi terakhir dari Windows (dimulai dari versi 4.0 dan Windows NT 3.1) merupakan sistem operasi mandiri yang tidak lagi bergantung kepada sistem operasi MS-DOS. Microsoft Windows kemudian bisa berkembang dan dapat menguasai penggunaan sistem operasi hingga mencapai 90%.


Dimulai dari DosShell for DOS 6 buatan Microsoft dan inginnya Microsoft bersaing terhadap larisnya penjualan Apple Macintosh yang menggunakan GUI, Microsoft menciptakan Windows 1.0. Nama ini berasal dari kelatahan karyawan Microsoft yang menyebut nama aplikasi tersebut sebagai Program Windows (Jendela Program). Windows versi 2 adalah versi Windows pertama yang bisa diinstal program. Satu-satunya program yang bisa ditambahkan adalah Microsoft Word versi 1. Windows versi 3 menjanjikan aplikasi tambahan yang lebih banyak, kelengkapan penggunaan, kecantikan user interface atau antarmuka dan mudahnya konfigurasi. Windows versi 3.1 adalah versi Windows yang bisa mengoptimalisasi penggunaannya pada prosesor 32-bit Intel 80386 ke atas. Windows versi 3.11 adalah versi Windows terakhir sebelum era Start Menu. Windows 3.11 pun adalah versi Windows pertama yang mendukung networking/jaringan. Versi Hibrida dapat dijalankan tanpa MS-DOS. Versi Hibrida tersebut menginstalasi dirinya sendiri dengan DOS 7. Tidak seperti Windows versi 16-bit yang merupakan shell yang harus diinstalasi melalui DOS terlebih dahulu. Aplikasinya pun berbeda. Meskipun Windows 9X dapat menjalankan aplikasi Windows 16-bit, namun Windows 9X memiliki grade aplikasi sendiri - X86-32, Windows 9X sangat terkenal dengan BSOD (Blue Screen of Death).

Versi-versi Windows
  • 16-bit, berjalan di atas MS-DOS
  • 1985 November - Windows 1.0
  • 1987 9 Desember - Windows 2.0
  • 1990 22 Mei - Windows 3.0
  • 1992 Agustus - Windows 3.1
  • 1992 Oktober - Windows for Workgroups 3.1
  • 1993 November - Windows for Workgroups 3.11
  • Hibrida (16-bit/32-bit), berjalan tanpa MS-DOS (meski tidak sepenuhnya)
  • 1995 24 Agustus - Windows 95 (Versi: 4.00.950)
  • 1998 25 Juni - Windows 98 (Versi: 4.1.1998)
  • 1999 5 Mei - Windows 98 Second Edition (Versi: 4.1.2222)
  • 2000 19 Juni - Windows Millennium Edition (Me) (Versi: 4.9.3000)
  • Berbasis kernel Windows NT
  • 1993 Agustus - Windows NT 3.1
  • 1994 September - Windows NT 3.5
  • 995 Juni - Windows NT 3.51
  • 1996 29 Juli - Windows NT 4.0
  • 2000 17 Februari - Windows 2000 (Versi: NT 5.0.2195)
  • 2002 - Windows XP (Versi: NT 5.1.2600)
  • 2003 - Windows Server 2003 (Versi: NT 5.2.3790)
  • 2006 - Windows Vista (Versi 6.0 Build 6000)
  • 2007 - Windows Home Server (Versi 6.0.1800.24)
  • 2008 - Windows Server 2008 (Versi 6.1)
  • 2009 - Windows 7 (Versi 6.1)

• Pada tahun 1983 Microsoft mengumumkan pembangunan Windows, sebuah sistem operasi graphical user interface (GUI) untuk menggantikan operating system (MS-DOS) yang digunakan pada IBM PC sejak tahun 1981.
• Microsoft membuat sebuah model GUI, yang pertama kali dikenal sebagai Interface Manager, setelah munculnya sistem operasi Apple dengan nama Mac OS. Bill Gates sebagai pendiri Microsoft melihat prototipe Macintosh buatan Steve Jobs pertama kali pada tahun 1981, dan Microsoft bersama dengan Apple membuat beberapa perangkat lunak yang bekerja di bawah Mac seperti Word and Excel.

Windows 1.0
• Versi pertama dari Microsoft Windows adalah versi 1.0, yang dikeluarkan tahun 1985, tetapi kurang populer.
• Windows 1.0 tidak menyediakan sistem operasi yang lengkap tetapi lebih mirip dengan versi MS-DOS yang diperluas dan masih mempunyai banyak kekurangan.


Windows 2.0
• Microsoft Windows versi 2 diciptakan tahun 1987, dan lebih populer dibanding versi sebelumnya, tetapi terus mendapat saingan dari Apple.
• Sistem operasi ini mendukung aplikasi grafis buatan Microsoft, misalnya Excel dan Word for Windows karena aplikasi tersebut tidak dapat dijalankan dari MS-DOS.
• Selain itu sistem operasi windows menjadi sebuah platform untuk menjalankan aplikasi Microsoft Office dan menjadi sebuah sistem operasi GUI yang bersifat umum.

Windows 3.0
• Microsoft Windows menunjukkan kesuksesannya sejak dibuat Windows 3.0, sekitar tahun 1990.
• Dengan menambahkan pelbagai kemampuan untuk menjalankan aplikasi.
• Sistem ini juga mendukung sistem multitask dan penambahan lainnya seperti virtual memory
• Windows 3.0 dapat dijalankan pada mesin bertipe 386 dan kompatibel dengan prosesor buatan INTEL dari tipe 8086/8088 sampai ke 80286 & 80386.
• Microsoft membuat versi Windows 3.1, sebagai revisi dari versi 3.0 dengan berbagai penambahan dan mendukung multimedia

Windows NT
• Selanjutnya Microsoft melanjutkan pembuatan Windows NT oleh Dave Cutler, dan menjadi sebuah sistem operasi yang dapat dihandalkan.
• Sistem operasi ini diperkenalkan pertama kali bulan Juli 1992
• Beberapa fitur dari Windows NT juga dapat digunakan pada jaringan LAN sehingga menjadi populer

Windows NT 4.0
• Microsoft mengeluarkan Windows NT 4.0, sebagai kelanjutan dari Windows 95 yang terlebih dahulu dirilis.
• Windows NT 4.0 mempunyai 4 varian yaitu :
• Windows NT 4.0 Workstation
• Windows NT 4.0 Server
• Windows NT 4.0 Enterprise Server
• Windows NT 4.0 Terminal Server

Windows 98
• Dikeluarkan pada tanggal 25 Juni 1998, sebagai perbaikan dari Windows 95.
• Sistem operasi ini juga terintegrasi dengan Internet Explorer browser yang lebih baik
• Tahun 1999, Microsoft mengeluarkan Windows 98 Second Edition, dengan menambahkan fitur Internet Connection Sharing

Windows 2000
• Microsoft mengeluarkan Windows 2000, yang dikenal sebagai NT 5.0, pada bulan February 2000
• Windows 2000 muncul dengan empat bentuk yaitu :
• Windows 2000 Professional
• Windows 2000 Server
• Windows 2000 Advanced Server
• Windows 2000 Datacenter Server

Windows ME
• Tahun 2000, Microsoft mengenalkan Windows Me (Millennium Edition), yang merupakan perbaikan dari Windows 98
• Dengan tambahan berbagai fitur multimedia, Internet dan utility System Restore

Windows XP
• Tahun 2001, Microsoft mengeluarkan Windows XP. Perpaduan dari Windows NT/2000 dan Windows 3.1/95/98/ME .
• Berbagai jenis varian windows XP antara lain :
• "Windows XP Home Edition", untuk PC dan laptops (notebooks)
• "Windows XP Home Edition N“ (tanpa Windows Media Player )
• "Windows XP Professional Edition", untuk aplikasi bisnis
• "Windows XP Professional Edition N“ (tanpa Windows Media Player )
• Windows XP Media Center Edition (MCE) dengan penambahan fungsi audio, video, and PVR , dikeluarkan bulan November 2002 untuk desktops and notebooks
• Windows XP Media Center Edition 2003
• Windows XP Media Center Edition 2004
• Windows XP Media Center Edition 2005, dikeluarkan tanggal 12 Oktober 2004.
• Windows XP Tablet PC Edition, untuk tablet PCs (notebooks dengan touch screens)
• Windows XP Embedded, untuk menggabungkan beberapa sistem
• "Windows XP Starter Edition" untuk negara berkembang
• Windows XP Professional x64 Edition, dikeluarkan bulan April 25, 2005 yang mendukung utiliti 64-bit processors

Windows Server 2003
• Tanggal 24 April 2003, Microsoft meluncurkan Windows 2003 Server.
• Windows 2003 mempunyai enam bentuk sistem operasi yaitu :
• Small Business Server
• Web Edition
• Standard Edition
• Enterprise Edition (32 and 64-bit)
• Datacenter Edition
• Storage Server

Windows Vista
• Versi lanjutan dari Windows adalah Windows Vista, yang diperkirakan diluncurkan tahun 2006.
• Vista menambahkan fungsi grafis yang mirip dengan sistem operasi pada Apple's Mac OS X
• Versi Server selanjutnya rencananya dikenal dengan nama Vista Server, dan dijadwalkan akan diluncurkan tahun 2007 atau 2009 dengan nama kode Blackcomb.

Pengertian fiber optic

pengertian fiber optic atau serat optik adalah jenis kabel yang bahannya terbuat dari serat kaca dan mempunyai kecepatan tranfer data yang tinggi, kabel fiber optic atau serat optik umumnya digunakan oleh penyedia layanan internet (ISP) untuk terhubung ke backbone NAP (Network Access Provider)
pengertian fiber optic
Supaya lebih jelas mengenai cara kerja serat optik atau fiber optic silahkan perhatikan gambaran umum sistem transmisi fiber optik  berikut ini :
Pada komunikasi fiber optik, sinyal yang digunakan adalah dalam bentuk digital, sedangkan penyaluran sinyal melalui serat optik adalah dalam bentuk pulsa cahaya. Pulsa cahaya diperoleh dari proses memodulasi sinyal informasi dalam bentuk digital kedalam suatu komponen sumber optik. Proses ini terjadi pada arah kirim, sedangkan pada arah terima melalui detektor optik, pulsa cahaya diubah kembali dalam bentuk sinyal digital.
Bila jarak antara stasiun pengirim dengan stasiun penerima berjauhan, sinyal pulsa cahaya yang ditransmisikan akan mengalami proses pelemahan yang disebabkan adanya rugi-rugi yang timbul selama proses pengiriman sesuai dengan panjang dan jenis saluran optik yang digunakan. Untuk mengatasi hal tersebut pulsa cahaya akan diregenerasikan sesuai dengan keadaan pada saat pengiriman. Proses ini terjadi pada stasiun pengulangan.

Kelebihan Fiber Optic

Jika dibandingkan dengan kabel jenis bahan lainnya, fiber optic memiliki kelebihan, antara lain sebagai berikut :
1. Lebar jalur besar dan kemampuan dalam membawa banyak data, dapat memuat kapasitas informasi yang sangat besar dengan kecepatan transmisi mencapai gigabit-per detik dan menghantarkan informasi jarak jauh tanpa pengulangan
2. Biaya pemasangan dan pengoperasian yang rendah serta tingkat keamanan yang lebih tinggi
3. Ukuran kecil dan ringan, sehingga hemat pemakaian ruang
4. Imun, kekebalan terhadap gangguan elektromagnetik dan gangguan gelombang radio
5. Non-Penghantar, tidak ada tenaga listrik dan percikan api
6. Tidak berkarat
Itulah penjelasan mengenai pengertian fiber optic beserta beberapa kelebihannya, semoga dapat menambah ilmu pengetahuan kamu.

Apa sih Kriptografi itu ?

Apa sih Kriptografi itu ?

Posted by hadiwibowo pada Agustus 6, 2006
Maraknya pemberitaan tentang penyadapan ikut mempopulerkan kriptografi kepada masyarakat Indonesia. Walaupun kriptografi bukanlah hal baru, tetapi untuk masyarakat Indonesia kriptografi masih jarang sekali dibicarakan secara umum.
Kriptografi di Indonesia disebut persandian yaitu secara singkat dapat berarti seni melindungi data dan informasi dari pihak-pihak yang tidak dikehendaki baik saat ditransmisikan maupun saat disimpan. Di Indonesia instansi pemerintah yang secara resmi menangani kriptografi nasional adalah Lembaga Sandi Negara.
Sedangkan ilmu persandiannya disebut kriptologi yaitu ilmu yang mempelajari tentang bagaimana tehnik melindungi data dan informasi tersebut beserta seluruh ikutannya. Ilmu ini di Indonesia dapat dipelajari di Sekolah Tinggi Sandi Negara (STSN) yang merupakan satu-satunya perguruan tinggi kriptografi di Indonesia.
Aplikasi kriptologi pada kehidupan sehari-hari
Mungkin tidak disadari bahwa saat ini benda-benda teknologi dalam kehidupan sehari-hari sudah menggunakan kriptografi. Telepon seluler, kartu ATM, kartu kredit, internet, LAN, mesin absensi atau GPS dan masih banyak lagi telah ditempeli kriptografi dengan intensitas yang berbeda. Dalam mengoperasikan kriptografi jenis ini, pengguna (end-user) tidak memerlukan pengetahuan khusus tentang kriptografi, karena aplikasi kriptografinya sudah langsung dapat dipakai (tanpa terasa).
Dalam kondisi khusus, penerapan kriptografi membutuhkan operator kripto, seperti penyampaian berita rahasia dari satu tempat ke tempat lain (kurir), penyimpanan data dan informasi rahasia ke dalam database atau pengoperasian mesin-mesin khusus kripto. Operator kripto ini diperlukan karena untuk mengelola kegiatan-kegiatan khusus tersebut membutuhkan manajemen kripto dan orang-orang terpercaya yang telah mempunyai sertifikat kripto.
Aplikasi kriptografi ini dipakai sebagai pengamanan informasi yaitu untuk :
1. menjaga kerahasiaan/privacy/confidentiality informasi terhadap akses pihak-pihak yang tidak memiliki kewenangan terhadap informasi tersebut.
2. menjaga keutuhan informasi (integrity) sehingga informasi yang ditransmisikan tidak mengalami perubahan baik oleh pihak yang tidak berhak ataupun sesuatu hal lain (misalnya transmisi yang buruk).
3. memastikan identitas (otentikasi) baik orang, mesin, program ataupun kartu bahwa memang pihak yang benar-benar berhak/asli/yang dimaksud. Otentikasi dapat juga digunakan untuk menyamarkan identitas (anonimity) terhadap yang tidak berhak.
4. mencegah penyangkalan (non-repudiation) bahwa data tersebut memang benar adalah data yang dikirimkan oleh pihak pengirim. -antz-

Pengertian Kriptografi

Pengertian Kriptografi - Secara etimologi (ilmu asal usul kata), kata kriptografi berasal dari gabungan dua kata dalam bahasa Yunani yaitu “kriptos” dan “graphia”. Kata kriptos digunakan untuk mendeskripsikan sesuatu yang disembunyikan, rahasia atau misterius. Sedangkan kata graphia berarti tulisan. Kriptografi didefinisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin mengetahui isinya, dengan menggunakan kode-kode dan aturan-aturan tertentu dan metode lainnya sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya.


Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.

Dalam arti lain, cryptography adalah seni dan ilmu dalam mengamankan pesan. Dalam dunia kriptografi, pesan disebut plaintext atau cleartext. Proses untuk menyamarkan pesan dengan cara sedemikian rupa untuk menyembunyikan isi aslinya disebut enkripsi. Pesan yang telah dienkripsi disebut ciphertext. Proses pengembalian sebuah ciphertext ke plaintext disebut dekripsi.
Pengertian Kriptografi
Gambar Konsep Dasar dari Enkripsi dan Dekripsi
Cryptographer adalah orang yang mempraktekkan ilmu kriptografi, sedangkan cryptoanalysts adalah orang yang mempraktekkan kriptanalisis, seni dan ilmu dalam memecahkan ciphertext.
Aturan fundamental kriptografi yaitu seseorang harus mengasumsikan bahwa seorang kriptoanalis menguasai algoritma umum enkripsi yang digunakan. Dengan kata lain, kriptanalis mengetahui cara kerja algoritma enkripsi. Jumlah usaha yang diperlukan untuk menemukan, menguji, dan memasang algoritma baru yang selalu berkompromi atau berfikir untuk berkompromi dengan algoritma lama, akan menyebabkan algoritma baru itu menjadi tidak berguna untuk menjaga kerahasiaan. Sistem kriptografi atau Algoritma Kriptografi adalah sebuah algoritma kriptografi ditambah semua kemungkinan plaintext, ciphertext dan kunci.
Daftar Pustaka - Pengertian Kriptografi Definisi Kriptografi
Kurniawan J., Ir. , M.T., Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Penerbit Informatika Bandung, April 2004.

Schneier B., Applied Crytography, Second Edition, John Wiley & Sons, Inc., 1996.

Dasar-Dasar Kriptografi dan Implementasinya Dengan Borland Delphi 7 – Dasar-Dasar Cryptography dan Implementasinya

Dokumen ini dibuat dengan tujuan untuk memasyarakatkan kriptografi dan meng-kriptografikan masyarakat. Karena, masih banyak kawan-kawan yang menganggap kriptografi sebagai ilmu yang sangat tinggi dan sulit dipelajari, bahkan ada yang mengkategorikan ilmu ini sebagai ilmu gaib. Saya tidak akan bilang bahwa ilmu ini mudah, dan dapat dipelajari hanya dalam waktu semalam. Tidak kawan, semua ilmu yang bagus butuh proses.
Dokumen ini tidak dibuat untuk menjadi referensi utama untuk kriptografi. Karena, kriptografi terlalu luas untuk dibukukan dalam satu buku setebal novel Lord of The Ring, apalagi dalam satu dokumen facebook seperti ini!  Lebih tepat jika dokumen ini dijadikan sebagai “penunjuk jalan” ke dunia kriptografi yang menarik dan menyenangkan dengan kemungkinan eksploitasi tanpa batas. Untuk kawan-kawan yang sudah lebih tinggi ilmu dan pengalamannya di bidang ini, dengan segala kerendahan hati, saya mohon izin dan maklum atas kesalahan yang mungkin ada di dokumen ini.
Tujuan awal dari kriptografi adalah menyembunyikan isi pesan sehingga tidak dapat terbaca oleh pihak-pihak yang tak diinginkan, tetapi masih dapat dimengerti oleh pihak yang dituju. Seiring perkembangan jaman, kriptografi banyak diterapkan di berbagai bidang, mulai dari tukar menukar informasi di perang dunia kedua, hingga dunia komputerisasi yang kita alami saat ini.
Dokumen ini, tentu saja, tidak akan membahas bagaimana pasukan Nazi mengoperasikan “Enigma”, sehingga membingungkan pihak sekutu. Dokumen ini “hanya” akan membahas kriptografi dan implementasinya di bidang IT. Implementasi yang akan ditunjukkan juga hanya implementasi dasar dan bersifat “offline”, bukan implementasi canggih seperti “email transaction”, “pay pal autorization”, “handshake cryptographic”, dll. Tapi, percayalah kawan, semua implementasi canggih itu, berdasar dari implementasi dasar ini.
Dalam dokumen ini akan dipakai istilah yang umum dipakai dalam dokumen-dokumen kriptografi. Contohnya adalah “plain text”, yaitu pesan asli yang hendak disampaikan. “Cipher text“, yang artinya pesan yang telah di-enskripsi. Dan istilah-istilah lainnya yang mungkin membingungkan, maaf bila itu terjadi.
Sesuai judulnya, dokumen ini menggunakan Borland Delphi 7 sebagai compiler kode-kode yang digunakan. Kenapa? Yap, karena saya memang paling nyaman menggunakan Delphi dengan versi tersebut untuk hal-hal yang berbau kriptografi. Anda bisa memilih menggunakan compiler lain yang paling anda sukai. Untuk library yang dijadikan referensi kriptografi, saya selalu mempercayakan kepada bang Barton, di situs : http://www.cityinthesky.co.uk/opensource/dcpcrypt.
Selain open source, alasan saya menggunakan library tersebut adalah kelengkapan dari metode kriptografi yang digunakan. Namun lagi-lagi, ini tidak mengikat. Anda bebas menggunakan library manapun yang paling cocok dengan anda, atau bila anda sudah cukup memahami alur dari algoritma suatu metoda, anda bisa menulis library sendiri.
File-file implementasi yang disertakan dalam dokumen ini merupakan source yang siap di-compile. Bagi kawan-kawan yang memiliki Borland Delphi 7 terinstall di komputernya, bisa langsung meng-klik file dengan ekstensi “dpr”. Bagi yang tidak menginstall compiler tersebut, untuk mengetahui isi kode program, bisa membuka file dengan ekstensi “pas” dengan notepad atau text editor lainnya. File “exe” juga disertakan untuk melihat implementasinya secara langsung.
Dari output yang dihasilkan, kriptografi dapat dibagi menjadi dua, yaitu kriptografi “satu-arah” dan “dua arah”. Dan dalam kriptografi “dua-arah” pun, bila dilihat dari jenis “key” yang digunakan, dapat dibagi menjadi dua, yaitu “symetric key” dan “asymetric key”. Begitulah kira-kira kerangka dari dokumen ini. Walaupun terbagi-bagi seperti itu, tidak menutup kemungkinan semua jenis kriptografi tersebut di implementasikan bersama-sama, atau yang lebih dikenal dengan metode “hybrid”. Pada akhir dokumen, akan diperlihatkan implementasi dari metode hybrid ini.
Dalam implementasinya di dunia IT, plain text yang diinput ke dalam kriptografi, bentuknya bisa bermacam-macam. Bisa file exe, dokumen, gambar, musik, dan semua file digital lainnya. Tergantung dari sang pengguna yang meng-implementasikannya. Inilah mengapa kemungkinan dalam kriptografi menjadi tak terbatas dan sangat menarik! 
////////////////////////////////////
Kriptografi Satu Arah
////////////////////////////////////
Sesuai namanya, kriptografi ini hanya bisa berjalan satu arah. Atau dengan kata lain, hanya bisa merubah plain text menjadi cipher text, tapi tidak bisa mengembalikan cipher text menjadi plain text. Kriptografi jenis ini sering disebut sebagai “hash”. Ciri khusus hash ini adalah, chiper text yang dihasilkan berbeda-beda (unik) untuk setiap plain text yang di input. Karena ciri khusus ini, hash sering kali dimanfaatkan sebagai “sidik jari” suatu file atau dokumen.
Metode hash yang umum digunakan adalah MD5, SHA1, RipeMD128. Sebenarnya masih banyak metode lainnya, tapi dalam implementasi yang akan disajikan, metode hash yang digunakan adalah ketiga metode tersebut. Implementasi bisa di download di :
http://www.mediafire.com/?4yz9vj0v8sbydf3

Dengan mengeksekusi file “exe” dari implementasi tersebut, dapat kita lihat bahwa tools ini mampu menghitung hash dari plain text dengan jenis text maupun file. Tapi, jangan coba-coba menghitung hash dari file yang berukuran >= 10 MB dengan tools ini, kecuali jika prosessor anda cukup mumpuni. Karena memang, implementasi ini dirancang dengan tidak memperhatikan optimasi pembacaan file. Silahkan anda optimasi sesuka anda. 
Dalam implementasi tersebut, kode utama terletak pada file “Unit1.pas”. File “DCPmd5.pas”, “DCPsha1.pas”, dan “DCPripemd128.pas” merupakan library dari metode yang bersangkutan yang disediakan oleh DCPCrypt. Sedangkan, file “DCPcrypt2.pas”, “DCPconst.pas”, “DCPblockciphers.pas”, dan “DCPbase64.pas” merupakan file yang “diwajibkan” oleh
DCPCrypt untuk ditaruh di folder yang sama dengan kode utama. Atau bila anda sudah menginstall Borland Delphi 7, anda bisa melihat itu semua dengan membuka file “Project1.dpr”. File yang lain bisa diabaikan, karena merupakan hasil “generate” dari compiler.
Oke, kita coba bedah “source code” dari tool ini untuk memperjelas implementasi kriptografi satu arah atau “hash” ini. Mari kita lihat pada kode utama di baris 42 sampai baris 100. Di situ dapat kita lihat tiga fungsi untuk menghitung masing-masing metode hash. Fungsi-fungsi ini dibuat sendiri oleh saya dengan berpedoman pada petunjuk pemakaian yang dianjurkan oleh DCPCrypt, yang artinya fungsi ini tidak “baku”, dan ya, anda bisa membuat versi yang berbeda sesuai dengan kebutuhan dari implementasi yang anda inginkan.
Dari ketiga fungsi tersebut, dapat kita lihat bahwa fungsi tersebut membutuhkan 1 parameter yang memiliki tipe String, dan akan mengembalikan String juga. Hal ini saya lakukan dengan pertimbangan untuk mempertahankan format awal kriptografi, dari Plain Text berbentuk string menjadi Cipher Text berbentuk string juga. Tapi sekali lagi, ini tidak baku, anda bisa mengganti parameter input menjadi tipe array dari byte misalnya, untuk membaca stream.
Lalu di baris 122 sampai baris 171 pada kode utama, dapat kita lihat proses perhitungan hash dilakukan pada saat user meng-klik tombol “Hash It”. Dapat kita lihat, jika user memilih untuk menggunakan mode “Text”, maka kodenya cukup simpel, hanya meng-assign variable “strPlain” dengan apa yang di-input oleh user. Yang sedikit “tricky” adalah jika user memilih mode “File”, atau menghitung hash dari File yang dipilih. Berbagai macam pendekatan bisa dilakukan di sini. Mengingat ketiga fungsi untuk menghitung hash tadi membutuhkan Plain Text dengan bentuk string, maka pendekatan yang saya pilih adalah merubah semua “isi” file ke dalam bentuk string, lalu meng-assign string tersebut ke dalam strPlain. Setelah variable strPlain siap, kita masukkan variable tersebut sebagai parameter di fungsi untuk menghitung hash dengan metode yang dipilih user.
Demikianlah salah satu contoh implementasi kriptografi satu arah. Implementasi ini bisa dimanfaatkan untuk mengecek ke-aslian suatu file, karena bila suatu file sudah di modifikasi, maka nilai hash akan berubah. Bila anda tertarik untuk melihat detail dari algoritma dari setiap metode, anda bisa melihatnya pada file “pas” yang bersangkutan. Atau saran saya, coba debug program tersebut, agar anda dapat “merasakan” bagaimana algoritmanya mengalir.
////////////////////////////////////
Kriptografi Dua Arah
////////////////////////////////////
Kriptografi jenis ini mungkin sering direferensikan sebagai kriptografi yang “sesungguhnya”, karena memiliki metode “encrypt” untuk merubah plain text menjadi cipher text, dan metode “decrypt” untuk mengembalikan cipher text menjadi plain text. Dalam kriptografi jenis ini, selain plain text dan cipher text, dibutuhkan parameter lainnya yang disebut “key”. Saat ini dikenal dua jenis key yang digunakan, yaitu “Symmetric Key” dan “Assymetric Key”.
Yang perlu diingat dalam proses kriptografi dua arah ini adalah, proses encrypt dan decrypt harus memiliki operasi yang saling bertolak belakang. Misal, pada proses encrypt kita menggunakan operator “+” (tambah), maka pada proses decrypt kita harus menggunakan operator “-“ (kurang). Karena itu, dalam implementasi kriptografinya proses encrypt dan decrypt dibuat menjadi dua implementasi yang berbeda, namun saling melengkapi. Untuk proses decrypt, implementasi akan meniru proses verifikasi serial sebuah software, sedangkan untuk proses encrypt, implementasi akan bertindak sebagai “keygen”-nya.
————————
Symmetric Key
————————
Yang dimaksud dengan symmetric key atau key yang simetris adalah, parameter key yang digunakan dalam proses encrypt dan decrypt, sama. Panjang dari parameter key ini pun bervariasi tergantung dari metoda yang digunakan. Dalam implementasi yang akan diberikan, metoda yang digunakan adalah RC4 dan Blowfish, dengan panjang key 128 bit atau 16 byte.
Dengan alasan tertentu, implementasi akan diberikan dan dibahas dimulai dari proses decrypt terlebih dahulu. Implementasi decrypt dapat di download pada:
http://www.mediafire.com/?iefq1v1pzvqbt9l

Sekali lagi, implementasi ini meniru verifikasi serial sebuah software, tetapi tentu saja, dibuat se-sederhana mungkin, agar proses kriptografinya lebih menonjol. Jadi, implementasi ini bersifat sebagai “penerima” pesan, kemudian mencoba men-decrypt pesan tersebut dan mem-verikasikan apakah pesan tersebut berasal dari “pengirim” pesan yang sah atau tidak.
File-file yang terdapat dalam implementasi ini, tidak jauh berbeda dengan yang berada pada implementasi kriptografi satu arah, hanya library metoda yang bersangkutan yang berubah. Kode utama, lagi-lagi terletak di “Unit1.pas”. Mari kita buka kode tersebut untuk mulai membedah implementasi ini.
Baris 33 sampai dengan 87, menunjukkan dua fungsi untuk men-decrypt dengan masing-masing metoda. Proses decrypt kedua metoda dibuat seragam dengan tujuan menghindari kebingungan, dan yang pasti bukan bentuk baku. Yang berbeda tentu saja algorithma inti masing-masing metoda yang terdapat di file *.pas masing-masing. Dikarenakan penyeragaman ini, pembahasan satu metoda bisa mewakili metoda yang satunya.
Pada baris 35 dapat kita lihat, inisialisasi konstanta key yang disiapkan untuk proses decrypt. Key dibuat dengan format array dari byte dengan lebar 16. Atau, dengan kata lain, key memiliki panjang 16 byte, atau 128 (16*8) bit. Yang perlu dicatat adalah, bahwa dalam Delphi, notasi “$” menunjukkan bahwa angka yang ditulis dalam bentuk hexadecimal. Jadi, pendeklarasian array tersebut bisa saja ditulis seperti ini :
key : array[0..15] of byte = (71,114,105,110,100,83,116,111,110,101,73,115,71,111,111,100);
Pendeklarasian array diatas menggunakan notasi desimal, dengan nilai yang sama. Lalu, mengapa dalam implementasi ditulis dengan notasi hexadecimal? I just love hex, nothing more.
Oke, mari kita lihat di baris 39 dan 40. Di situ dideklarasikan dua variable array untuk menampung input dan output dari proses decrypt ini. Karena yang dilakukan saat ini adalah proses decrypt, maka input adalah Cipher Text yang ditampung pada variable arrCipher, sedangkan output adalah Plain Text yang ditampung pada variable arrPlain. Kedua variable tersebut dibuat dengan panjang yang sama yaitu 8 byte. Hal ini perlu dicatat, karena akan berpengaruh pada penggunaan fungsi ini, kita akan sampai ke sana nanti.
Fungsi decrypt ini menerima parameter dalam bentuk String sebagai input, seperti yang terlihat pada baris 33, sedangkan variable yang di-input ke proses decrypt inti berbentuk array dari byte, seperti yang terlihat pada baris 51. Maka, baris 44 sampai 48, bertugas untuk meng-convert variable String menjadi array of byte. Ada banyak metode yang bisa digunakan untuk tugas ini, seperti misalnya mengambil nilai ASCII dari masing-masing karakter di dalam string, lalu menyimpannya ke dalam array of byte. Tetapi, dalam implementasi ini, metode yang akan digunakan adalah, mengambil setiap 2 (dua) karakter dari string, lalu ditambahkan notasi “$” di depannya untuk kemudian di rubah kedalam bentuk byte (integer) dan disimpan ke dalam array. Dan hal ini dilakukan dengan loop sebanyak 8 (0-7)putaran, karena panjang variable penampung yang ada (arrCipher) adalah 8. Karena itu, panjang String yang valid untuk di-input ke dalam fungsi ini adalah 16 (8*2) karakter, dan karakter yang ada haruslah karakter bilangan hexadecimal, yaitu 1-9 dan A-F. Mari kita ambil contoh untuk memperjelas :
Misalkan, string yang di-input adalah :
“1234567890ABCDEF”
Maka array of byte yang terbentuk adalah :
($12, $34, $56, $78, $90, $AB, $CD, $EF)
atau dalam bentuk desimal adalah :
(18, 52, 86, 120, 144, 171, 205, 239)
Semoga contoh di atas cukup jelas untuk menggambarkan “aliran” algo konversi tersebut.
Baris 49 sampai 52 merupakan kode untuk melakukan proses inti decrypt yang diwajibkan oleh library DCPCrypt ini. Dan hasil dari proses decrypt inti ini ditampung di variable arrPlain yang berbentuk array of byte. Baris 53 mempersiapkan (mengosongkan) variable strResult yang akan menampung hasil dari fungsi decrpyt ini. Jika pada input tadi kita meng-convert dari variable String ke array of byte, sekarang untuk output kita lakukan kebalikannya, merubah variable array of byte ke String. Dan itulah yang dilakukan pada baris 54 sampai 57.
Metode yang digunakan sekarang adalah mengambil setiap byte dari array, lalu men-subtitusikannya dengan karakter yang memiliki nilai ASCII yang bersangkutan, untuk kemudian ditambahkan di variable strResult. Metode ini lebih simpel dari metode sebelumnya, tetapi mari kita ambil contoh untuk lebih memperjelas :
Misalkan, dalam variable arrPlain adalah :
(71, 119, 84, 97, 109, 112, 97, 110)
maka dalam variable strResult akan terbentuk :
“GwTampan”
Semoga contoh di atas bisa memperjelas apa yang sebenarnya sudah cukup jelas. ;D
Demikianlah penjelasan tentang fungsi yang digunakan untuk melakukan decrypt. Fungsi tersebut perlu dipahami sepenuhnya jika kita ingin membuat proses encrypt yang diperlukan untuk membuat keygen dari “software” verifikasi ini. Kita akan bahas hal tersebut dalam implementasi berikutnya. Untuk saat ini, mari kita masuk pada fungsi inti dari program ini, yang dieksekusi pada saat user menekan tombol “Check”.
Fungsi tersebut, tentu saja, terletak pada baris 89 sampai 144. Terlihat banyak percabangan “if” di sana, yang mungkin membingungkan sebagian orang. Bila itu yang terjadi, dengan segala kerendahan hati, saya mohon maaf atas buruknya cara pemogramman saya. Tapi saya rasa, percabangan-percabangan ini tidak perlu dibahas semua, karena hanya untuk mengecek kesalahan-kesalahan dasar input dari user. Yang patut dibahas adalah percabangan pada baris 113. Disitu terlihat bahwa jika “Nama” yang diinput user lebih dari 8 karakter, maka yang diambil hanyalah 8 karakter pertama saja. Dan jika “Nama” yang diinput kurang dari 8 karakter, maka variable tersebut digandakan terus-menerus sampai lebih dari 8, untuk kemudian diambil 8 karakter pertamanya. Lagi-lagi, contoh untuk memperjelas :
Misalkan, nama yang diinput adalah :
“CryptographyIsSuperFun”
maka, yang diambil hanyalah :
“Cryptogr”
Dan, jika nama yang diinput adalah :
“FUN”
maka, hasilnya akan menjadi :
“FUNFUNFU”
Dengan ini, kita “memaksa” variable strName untuk tetap memiliki panjang 8 karakter, tidak peduli berapa karakter yang diinput oleh user. Kenapa? Sebelum dijawab, saya harap anda masih ingat karakteristik dari fungsi decrypt di atas tadi, input yang valid haruslah string dengan 16 karakter (ini menjelaskan percabangan pada baris 107), dan ouput yang dihasilkan adalah string dengan 8 karakter. Dan pada baris 133, terdapat “final check” yang membandingkan variable strName dengan strPlain yang merupakan hasil Decrypt dari Serial yang diinput. Otomatis, strPlain akan selalu memiliki panjang 8 karakter, karena itulah kita perlu “memaksa” strName untuk tetap memiliki panjang 8 karakter.
Sebenarnya ada sedikit “bug” yang cukup mengganggu pada implementasi ini. Yaitu, bila kita memasukkan serial dengan panjang 16 karakter, tapi karakter yang diinput bukanlah karakter hexadecimal, maka akan muncul pesan error yang kurang bagus. :D Tapi tentu saja, hal tersebut bisa diatasi dengan menambahkan percabangan yang mengecek apakah serial yang diinput merupakan karakter hexadecimal atau bukan. Anda bisa menambahkannya bila anda mau! :D :)
Yap, demikianlah salah satu contoh implementasi proses decrypt yang meniru proses verifikasi serial sebuah software. Untuk melengkapinya, yang tersisa adalah proses encrypt yang akan diterapkan pada keygen untuk verifikasi ini.
Oke, implementasi untuk proses encrypt bisa di download pada :
http://www.mediafire.com/?coc0u4o61wc6jb2

Dalam implementasi ini, jika kita mengeksekusi file “exe”, maka kita bisa meng-generate serial yang valid untuk implementasi verifikasi sebelumnya. Karena memang, implementasi ini bertindak sebagai keygen atau dengan kata lain sebagai “pengirim” pesan. Sedangkan implementasi sebelumnya bertindak sebagai “penerima” pesan.
File-file yang ada dalam implementasi ini sama dengan yang ada di implementasi verifikasi, hanya file “exe” dan “Unit1.pas” yang berbeda, karena implementasi ini menggunakan library dari metoda yang sama dengan implementasi verifikasi. Mari kita buka kode utama implementasi ini di dalam “Unit1.pas” untuk memulai pembedahan kode yang mengasyikan ini.
Yang patut diingat sebelum melakukan pembedahan adalah, bahwa proses pembuatan implementasi keygen ini saling bergantung dengan kode pada implementasi verifikasi. Dan, kita harus melihat bahwa kode keygen ini saling bertolak belakang dengan verifikasi. Yang artinya, jika verifikasi melakukan “buka”, maka keygen melakukan “tutup”, jika verifikasi melakukan “tambah”, maka keygen melakukan “kurang”, dst.
Oke, kita mulai pembedahannya. Kita bisa lihat pada baris 33 sampai 83, terdapat dua fungsi encrypt yang, tentu saja, dibuat seragam, seperti halnya pada implementasi verifikasi. Dan ya, seperti sebelumnya, pembahasan satu metoda bisa mewakili metoda yang satunya. Baris 35 menunjukkan konstanta key yang memang harus sama nilainya dengan proses decrypt, agar kedua proses tersebut saling berhubungan.
Karena proses encrypt ini bertolak belakang dengan proses decrypt, maka kita akan melakukan pembahasan secara terbalik dari bawah ke atas, sambil me-review kode verifikasi. Jadi ada baiknya, jika kita buka kode verifikasi (decrypt) dan keygen (encrypt) secara bersamaan, kecuali jika anda memang sudah hafal dan paham kode verifikasi secara keseluruhan.
Pada baris 44 sampai 48 di kode verifikasi, seperti yang telah dibahas, bahwa fungsi decrypt mengambil setiap dua karakter dari string yang di-input atau cipher text untuk kemudian merubahnya menjadi nilai hex dan menyimpannya ke dalam array of byte. Maka, agar fungsi encrypt kita menghasilkan cipher text yang valid untuk proses tersebut, kita harus melakukan fungsi sebaliknya, ya, merubah array of byte menjadi string dengan format hex. Baris 51 sampai 55 melakukan hal tersebut. Fungsi built-in Delphi “IntToHex” menghasilkan representasi hex dari integer (atau byte) yang diinput. Untuk contoh, silahkan review contoh di atas pada proses verifikasi, tetapi baca dari bawah ke atas.
Kemudian pada baris 49 sampai 52 di kode verifikasi, fungsi decrypt melakukan fungsi inti decrypt sesuai dengan metoda yang dipakai terhadap array of byte hasil konversi dari string yang di-input tadi(cipher text). Maka pada baris 47 sampai 50 di kode keygen, fungsi encrypt harus melakukan fungsi inti encrypt sesuai dengan metoda yang dipakai terhadap array of byte yang nantinya akan di konversi menjadi string output(cipher text), seperti yang telah dibahas pada paragraf sebelumnya.
Lalu pada baris 54 sampai 57 di kode verifikasi, fungsi decrypt mengkonversi lagi array of byte yang telah di “decrypt” ke dalam bentuk string, tetapi kali ini dengan cara subtitusi nilai byte dengan nilai ASCII yang bersangkutan, atau dengan kata lain melakukan konversi byte to ASCII. Maka, fungsi encrpyt kita harus melakukan kebalikannya, yap, konversi ASCII to byte. Baris 43 sampai 46 pada kode keygen menunjukkan hal tersebut, dan ya, fungsi built-in Delphi “Ord” menolong kita untuk melakukan hal tersebut. Dan lagi-lagi, untuk contoh, silahkan lihat contoh “GwTampan” di atas dari bawah ke atas.
Begitulah isi dari fungsi encrypt yang merupakan kebalikan dari fungsi decrypt. Anda bisa menutup kode verifikasi sekarang, jika anda mau. Berikutnya, mari kita bahas penggunaan dari fungsi encrypt ini, pada saat user menekan tombol “G 3 N” yang terletak pada baris 85 sampai 119.
Tidak banyak yang dilakukan dalam kode ini. Baris 97 sampai 108 melakukan hal yang sama dengan yang ada pada kode verifikasi, yaitu memaksa plain text agar tetap memiliki panjang 8 karakter, seperti yang telah dibahas sebelumnya. Dan, jika anda belum menyadarinya, untuk nama “CryptographyIsFun” dan “CryptographyIsSuck” akan menghasilkan serial yang sama, dikarenakan unsur pemaksaan ini. Lalu pada baris 109 sampai 117, kode melakukan encrypt kepada nama (plain text) yang diinput menjadi cipher text yang kemudian di-output menjadi serial.
Demikianlah keseluruhan proses implementasi dari kriptografi dengan key simetris ini. Dan oke, untuk lebih memperjelas lagi, mari kita rangkum keseluruhan proses dengan arah yang “lurus” atau dari encrypt sampai decrypt. Kali ini sang keygen akan kita sebut pengirim, dan sang verifikator akan kita sebut penerima.
Pertama, pengirim men-encrypt nama yang di-input untuk kemudian di-output menjadi serial. Lalu, pengirim mengirimkan pasangan nama dan serial ini kepada penerima. Kemudian, penerima mengecek pasangan nama dan serial yang dikirimkan dengan cara, men-decrypt serial untuk kemudian dibandingkan dengan nama. Jika cocok, maka pasangan nama dan serial tersebut valid dan memang berasal dari pengirim yang sejati, jika tidak cocok, maka pengirim tersebut palsu.
Yap, seperti itulah salah satu contoh implementasi kriptografi dua arah dengan key simetris. Mohon maaf bila penjelasannya terkesan berbelit-belit dan membingungkan, tetapi saya telah mencoba yang terbaik untuk menjelaskan hal yang memang sangat teknis ini. Dan ya, coba “rasakan” bagaimana kode ini mengalir, agar lebih mudah memahaminya.