RSS FEED

counter

APPLET, AJAX, JSP, JSF

AJAX
Istilah Ajax pertama kali dikemukakan pada tahun 2005oleh Jesse James Garret, presiden dan pendiri perusahaan Adaptive Path. menurutnya, nama Ajax diberikan untuk memudahkan dalam berkomunikasi dengan klien dari pada harus menyebut "Asynchronous JavaScript + CSS + DOM + XMLHttp Request". Teknik ini sebenarnya sudah ada sejak 1999. pada masa itu Microsoft membuat objek bernama XMLHttp Request sebagai kontrol activeX pada Internet Exploler 5. Ajax menjadi sangat populer ketika digunakan secara intens oleh Google dan Yahoo.
Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi dari:
DOM yang diakses dengan client side scripting language, seperti VBScript dan implementasi ECMAScript seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan
Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum di implementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, element HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server.
XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga memungkinkan, seperti HTML, plain text. XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya dengan memakai DOM
JSON dapat menjadi pilihan alternatif sebagai dokumen transfer, mengingat JSON adalah JavaScript itu sendiri sehingga penanganannya lebih mudah
Seperti halnya DHTML, LAMP, atau SPA, Ajax bukanlah teknologi spesifik, melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Bahkan, teknologi turunan/komposit yang berdasarkan Ajax, seperti AFLAX sudah mulai bermunculan.

Ajax sesungguhnya bukanlah suatu bahasa pemrograman, melainkan hanya suatu tehnik yang memungkinkan untuk membuat aplikasi web yang lebih interaktif. Dengan menggunakan Ajax, sebuah aplikasi web dapat berinteraksi dengan server di latar belakang sehingga tidak mempengaruhi halaman web secara keseluruhan. Sebagai gambaran, saat pertama kali anda membuat alamat email, tentu ketika anda mengetikkan user id pada halaman registrasi, sistem dapat memberitahukan apakah user id ini sudah terpakai atau belum. kemudian bagaimana sebuah aplikasi web dapat memberikan informasi seperti itu sedangkan anda tidak menekan tombol apapun? Rahasianya terletak pada proses di latar belakang yang dilakukan oleh Ajax.
gambar dibawah ini menunjukkan model aplikasi web yang berbasis Ajax dan yang tidak.
lapisan Ajax sering disebut dengan Ajax Engine. ada beberapa hal yang perlu diketahui dalam lapisan Ajax, sebagai berikut :
1. Lapisan Ajax meminta layanan ke server atau tidak, tergantung pada jenis layanan dari interface.
contoh :
untuk validasi terhadap objek form, tidak perlu melakukan request ke server, cukup ditangani di sisi klien. namun untuk pemeriksaan password, harus melakukan request ke server karena harus berhubungan dengan database.

2. Sekalipun penambahan lapisan Ajax terkesan memperlambat proses karena request ke server tidak dilakukan secara langsung, namun pada kenyataanya yang terjadi adalah sebaliknya.
hal ini karena request yang dilakukan oleh lapisan Ajax jauh lebih sedikit dari pada request klien secara langsung untuk seluruh halaman.

3. Lapisan Ajax bekerja secara asinkron, berarti bahwa klien dapat meminta layanan dari server dan tidak perlu menunggu sampai server melayanimnya.
dengan demikian, saat informasi dari server belum didapat, layanan kepada user tetap bisa dilakukan.

4. Komunikasi antara klien dan server tidak perlu mengubah keseluruhan interface dalam halaman web, tetapi cukup hanya bagian tertentu saja.hal ini tidak dapat dilakukan aplikasi web konvensional.

Perlu diingat, AJAX akan berkomunikasi dengan server tanpa harus me-refresh semua halaman. Konsep ini berbeda dengan aplikasi web sistem tradisional. Dalam model AJAX, aksi dari sisi klien dibagi menjadi dua bagian, yaitu layer user interface dan layer AJAX.
Ketika user mengklik sebuah link atau mengirimkan sebuah form maka input tersebut akan ditangani oleh layer AJAX dan diinteraksikan dengan server, kemudian meng-update user interface (UI). Jadi, dalam AJAX, interaksi UI secara logika terpisah dengan interaksi jaringan.
Pendekatan yang digunakan AJAX adalah bagaimana mengirimkan jumlah data yang kecil dari dan ke server atas request dari user. Model aplikasi web tradisional di mana browser akan merespons sendiri atas inisialisasi request, memproses request dari web server. Dalam AJAX terdapat layer yang diberi nama “AJAX engine” untuk menangani komunikasi. “AJAX Engine” adalah sebuah obyek JavaScript atau function yang dipanggil ketika informasi diperlukan dari server.
Proses yang dilakukan mesin AJAX (AJAX Engine) adalah menerima respons dari server, melakukan parsing data dan melakukan sedikit perubahan untuk keperluan menampilkan informasi. Oleh karena proses mengirimkan sedikit informasi, jika dibanding dengan model aplikasi web tradisional maka user interface di-update lebih cepat dan user mampu melakukan pekerjaannya dengan cepat.
Beberapa poin penting untuk menggambarkan AJAX:
• Layer AJAX tidak memerlukan komunikasi dengan server (contohnya untuk validasi form karena dapat ditangani sepenuhnya oleh client-side).
• Oleh karena request antara layer AJAX dan server berupa bagian kecil dari informasi (tidak komplit satu halaman) maka sering digunakan untuk interaksi dengan database sehingga waktu render dan waktu pengiriman menjadi pendek.
• Layer UI secara langsung tergantung pada respons server sehingga user dapat melanjutkan interaksi dengan sebuah halaman selama aktivitas dikerjakan di background (background process). Berarti, untuk beberapa interaksi, waktu tunggu user hampir tidak ada.
• Komunikasi antarhalaman dan server tidak selama memerlukan AJAX untuk mengubah perubahan UI. Contoh, beberapa aplikasi menggunakan AJAX untuk notifikasi dengan halaman, tetapi tidak melakukan apa pun terhadap response dari server.
Pengembangan web secara tradisional bekerja secara synchronously, antara aplikasi dan server, setiap kali melakukan link atau melakukan operasi “submit” pada form. Caranya, browser mengirim data ke server, server merespons dan seluruh halaman akan di refresh.
Aplikasi web yang bekerja dengan AJAX bekerja secara asynchronously, yang berarti mengirim dan menerima data dari user ke server tanpa perlu me-load kembali seluruh halaman, melainkan hanya melakukan penggantian pada bagian web yang hendak diubah. Penggunaan AJAX mulai popular ketika digunakan oleh Google pada tahun 2005.
AJAX bukanlah bahasa pemrograman baru, tetapi merupakan teknik baru penggunaan standar yang telah ada. Dengan AJAX kita dapat menjadi lebih baik, cepat dan menambah unsur user-friendly dan interaktif pada aplikasi web kita. AJAX berbasiskan pada JavaScript dan request HTTP.
AJAX berbasiskan standar terbuka seperti:
• JavaScript
• XML
• HTML/XHTML
• CSS
Dengan menggunakan JavaScript AJAX dapat mengirim dan menerima data antara web server dan web browser. Teknik yang dimiliki AJAX akan bergantian bertukar data dan mere-load ulang seluruh halaman.
Dengan demikian, untuk mempelajari AJAX, harus dipahami pula konsep standar di atas. AJAX di-support sebagian besar browser popular sehingga aplikasi AJAX adalah aplikasi cross-platform dan cross-browser.
Melalui AJAX, JavaScript dapat dikomunikasikan secara langsung dengan server menggunakan obyek JavaScript XMLHttpRequest. Obyek JavaScript ini dapat men-trade data sebuah web server tanpa harus me-reload (refresh) halaman web.
AJAX menggunakan asynchronouse data transfer (pada HTTP request) antara browser dan web server, yang memperbolehkan halaman web me-request bit yang kecil atau seluruh informasi dari server. Teknik AJAX membuat aplikasi internet menjadi kecil, cepat dan lebih user-friendly.
AJAX adalah aplikasi web yang lebih baik. Aplikasi web menambah keuntungan dibanding aplikasi desktop:
• Dapat menjangkau pengguna yang luas
• Mudah diinstal
• Mudah dikembangkan
• Mudah dipelihara
Seperti yang kita ketahui, aplikasi internet tidak selalu susah dan user friendly seperti aplikasi dekstop. Dengan AJAX aplikasi internet semakin kecil, cepat dan mudah digunakan.


APPLET
Java applet adalah sebuah program kecil yang ditulis dengan menggunakan bahasa pemrograman Java berbasis window, yang diakses melalui halaman Web dan dapat di-download ke dalam mesin klien yang kemudian menjalankannya di dalam jendela penjelajah web. Java applet dapat secara dinamis menambahkan beberapa fungsi kepada halaman-halaman Web yang bersifat statis. Akan tetapi, untuk menjalankannya sebuah komputer harus memiliki program penjelajah web yang dapat menjalankan Java, seperti Microsoft Internet Explorer 4.0 ke atas, Netscape Navigator, Mozilla Firefox, dan Opera.
Ketika sebuah Java applet dibuat, semua pernyataan Java yang terkandung di dalam kode sumbernya akan dikompilasi menjadi Java bytecode, yakni sebuah bahasa mesin semu (virtual engine/machine language) yang dibentuk oleh Java. Berkas yang berisi Java bytecode ini akan disimpan sebagai sebuah berkas kelas Java (Java class file) di dalam sebuah Web server, seperti halnya Apache HTTP Server atau Microsoft Internet Information Services (IIS). Sebuah halaman Web yang hendak menggunakan applet tersebut harus menggunakan tag ... di dalam kode sumber-nya. Ketika sebuah penjelajah Web milik klien melakukan request kepada halaman Web tersebut dan menemukan bahwa di dalamnya terdapat tag ..., bytecode di dalam Java class file akan dieksekusi oleh mesin semu di dalam jendela penjelajah Web, yang dapat berupa Microsoft Java Virtual Machine atau Java Runtime Engine dari Sun Microsystems
Sebuah applet adalah tipe yang spesial dari program java yang dieksekusi melalui internet. Secara khusus berjalan pada suatu web browser seperti Netscape Navigator, Mozilla, atau Microsoft Internet Explorer. Bagaimanapun, jika dibandingkan dengan aplikasi Java yang normal, tidak diijinkan mengakses applet pada komputer yang mana dijalankan untuk alasan keamanan. Applet ini cukup terbatas jika dibandingkan dengan aplikasi java.
Ketika membuat sebuah applet, dibutuhkan suatu extend class Applet. Sebagaimana yang disebutkan sebelumnya, classnya dapat ditemukan dalam java.applet package. Oleh karena itu, mengimport the java.applet package merupakan suatu keharusan. Juga, telah disebutkan sebelumnya bahwa class Applet adalah subclass dari class Panel. Hal ini mengimplikasikan bahwa beberapa methods dari class applet ditemukan dalam class Panel.Untuk mengakses methods atau fields dalam class Panel atau class-class induk, diperlukan suatu aksi untuk import package java.awt .
Beberapa konsep pokok arsitektur applet adalah:
1.Applet adalah dituntun kejadian(event driven).
Applet dipenuhi sekumpuan rutin layanan interupsi. Applet menunggu sampai suatu kejadian muncul. AWT member peringatan (notify) mengenai kejadian mucul dengan memanggul penangan kejadian (event hendler) yang telah disediakan kelas applet. Applet harus melakukan aksi yang cocok dan kemudian secara cepat mengambalikan kendali ke AWT.
2.Pemakai melakukan inisialisasi interaksi applet.
Pada program nonwindow, ketika program memerlukan masukan, program memberikan promt seperti “masukan angka: ” dan kemudian memanggil metode seperti readline(). Cara ini bukan cara di applet. Pemakai dapat berinteraksi dengan applet begitu dikehendaki. Interaksi ini dikirim ke applet dimana applet harus menanggapi.
Contoh:
Pemakai melakukan tindakan berikut:
• Klik mouse di window applet maka mouse-clicked-event dibangkitkan.
• Menekan tombol di wondow appet yang mempunyai focus, maka keypress-ivent dibangkitkan.

Applet dapat berisi berbagai control.ketika kita berinteraksi lewat control, suatu kejadian dibangkitkan.
Arsitektur applet lebih rumit dibandingkan program konsol. AWT menyediakan pendekatan bersih yang mempermudahpenguasaan pemograman applet.

JSF
JSF adalah framework untuk membangun user interface untuk aplikasi web. Dibangun berdasar pada konsep-konsep yang diperkenalkan oleh Struts dan membagi bersama keuntungan sebuah arsitektur yang benar-benar memisahkan presentasi layer dari business logic dan sebuah standard komponen user interface yang perangkatnya serupa dengan widget Swing.

method

Sebuah method yang harus mempunyai suatu komponen UI untuk bertindak sebagai action handler disebut method aplikasi. Kemudian, dalam bagian View, Kita akan melihat bagaimana pengikatan selesai. Sementara itu, ada beberapa aturan yang dibutuhkan untuk membuat sebuah method aplikasi :

􀁺Method harus dideklarasikan public
􀁺Method harus tanpa parameter
􀁺jenis return method harus menjadi sebuah String

Komponen swing pada JSF:
􀁺Setiap komponen Swing menjelaskan sebuah widget interface, masing-masing dengan kemampuannya yang dapat diakses secara program menggunakan API. Contoh : sebuah komponen JTextField menampilkan sebuah field text yang dapat menerima input dari user. Nilai dapat diterima menggunakan getText().

􀁺Masing-masing komponen juga berbagi beberapa properties dan method yang bersifat umum untuk semua komponen yang lain(Sebagai contoh, sebuah method field text setName()).

􀁺Beberapa komponen Swing adalah Container, dimana mereka dapat menerima komponen-komponen lain untuk membentuk suatu gabungan yang kemudian dapat ditampilkan kepada user atau handler. Contoh : JPanel, JFrame keduanya dapat digunakan untuk diisikan oleh komponen-komponen lain.

Beberapa catatan untuk contoh halaman JSP :

• Untuk DateTimeConverter, telah ditetapkan pola M/d/yy. Karena converter menjalankan pola ini pada user, user akan memiliki masukan seperti 1/13/06 sebagai tanggal sebelum dia dapat melanjutkan ke masukan lain. Untuk pola yang tepat, periksalah dokumentasi API untuk java.text.SimpleDateFormat.
• Kita telah tambahkan atribut yang diperlukan dengan nilai yang benar/true untuk field masukan. Hal ini untuk memastikan bahwa user tidak memasukkan masukan kosong.
• Kita telah menggunakan tag yang dihubungkan dengan masukan dateField kita. Hal ini untuk memastikan bahwa beberapa message di-generate oleh field masukan(seperti pada generate oleh kesalahan konversi) yang ditampilkan.
• Atribut action untuk commandButton yang dengan sengaja dibuat salah, sehingga kita dapat memfokuskan pada message yang di-generate oleh converter.


JSP
JSP (Java Server Page) ialah teknologi untuk mengontrol isi atau tampilan halaman Web melalui penggunaan servlet, program kecil yang dijalankan di server Web.
Sun Microsystem, pembuat Java, mengacu kepada teknologi JSP sebagai Servlet API (Application Program Interface).
Halaman HTML yang berisi link ke servlet Java memiliki akhiran .jsp.
Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh USER menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh USER tapi SERVER yang akan melakukan tugas tersebut. Makanya pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.


SUMBER
http://www.andisun.com/
http://id.wikipedia.org/wiki/Java_applet
http://www.ilmukomputer.com/
esensi-esensi bahasa pemograman java, bambang harianto, informatika bandung

Enkripsi-Dekripsi

Enkripsi-Dekripsi
Data yang dikirim melalui jaringan tidak jarang disadap oleh orang lain untuk kepentingan tertentu, sehingga timbul usaha untuk melakukan pengkodean terhadap data sebelum dikirim melalui jaringan agar tidak bisa dibaca oleh penyadap. Pengubahan data asli menjadi kode rahasia disebut proses data encryption atau enkripsi data. Setelah data rahasia sampai ke tujuan maka data ini dikembalikan ke bentuk aslinya, proses ini disebut data decryption. Ilmu matematik yang mendasari teknik enkripsi dan dekripsi disebut kriptologi sedangkan teknik dan sains dari proses enkripsi-dekripsi disebut kriptografi. Naskah asli disebut sebagai plaintext dan naskah rahasia (yang telah di-enkrip) disebut ciphertext.

Secara garis besar ada dua kategori kriptografi, yaitu: teknik simetris dan teknik asimetris. Teknik simetris berarti kunci/kode untuk melakukan enkripsi sama dengan kunci/kode untuk melakukan dekripsi. Teknik asimetri disebut juga sebagai teknik kunci publik, menggunakan kunci yang berbeda antara enkripsi dan dekripsi.

Beberapa algoritma kunci simetri antara lain adalah:
• Substitution Cipher
• Transposition Cipher
• Data Encryption Standard (DES)
• Triple DES
• Rivest Code 2 (RC2)
• Rivest Code 4 (RC4)

Substitution Cipher
Substitution Cipher pada prinsipnya adalah penggantian huruf-huruf abjad dengan huruf lain, misalnya salah satu jenis substitution cipher yang paling tua adalah Caesar cipher, dimana abjad diganti abjad yang digeser kedepan beberapa posisi, misalnya untuk kunci geser = 3 maka daftar subsitusi-nya sebagai berikut.
Abjad asli : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Abjad kode: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Plaintext : Saya kirim uang satu juta
Ciphertext : Vdbd nlulp xdqj vdwx mxwd
Rahasianya ada pada kunci geser=3, bila penerima diberitahu maka ciphertext dengan mudah dapat di-dekripsi.

Transposition cipher
Transposition cipher tidak melakukan penggantian (subsitusi) abjad, tetapi mengubah posisi pembacaan huruf dalam plaintext berdasarkan suatu kunci angka atau kunci kata (keyword). Misalkan kunci kata yang digunakan adalah MANDI, maka dibuat 5 kolom sesuai dengan jumlah kolom dalam kunci, kemudian plainteks dimasukan baris per baris menempati kolom tersebut, cipehr dibaca perkolom sesuai urutan abjad kunci, misalnya sebagai berikut:

Plaintext : saya kirim uang satu juta
Ciphertext : arnuz amsuz kuatz siata yigyz

DES (Data Encryption Standard)
DES (Data Encryption Standard) adalah teknik enkripsi yang telah menjadi standard pemerintah Amerika Serikat pada tahun 1977. Algoritma DES dimasukkan dalam kategori cipher modern yang menggunakan algoritma rumit dengan kunci sepanjang 56 bit (8 byte). Plaintext dibagi kedalam beberapa blok (blockcipher), masing-masing 64 bit, yang kemudian setiap blok dibagi dua menjadi 32 bit blok kiri dan 32 bit blok kanan. Setiap sub-blok dipermutasi dan diberi kunci, dan proses ini dilakukan dalam 16 putaran. Algoritma DES mula-mula diciptakan oleh IBM pada tahun 1970 dengan nama Lucifer.

Triple DES
Triple DES adalah pengembangan dari DES dengan melakukan proses DES tiga kali dengan tiga kunci berbeda, dengan demikian tingkat kesulitan dalam menebak ciphertext menjadi semakin tinggi.


Rivest Code 2 (RC2) dan Rivest Code 4 (RC4)

Rivest Code 2 (RC2) dan Rivest Code 4 (RC4) adalah teknik enkripsi yang disebut sebagai stream-cipher, dimana pada setiap byte data dilakukan manipulasi bit. Teknik enkripsi RC ditemukan oleh Ronald Rivest yang kemudian menjadi salah satu pendiri dari perusahaan keamanan data RSA.
Beberapa teknik enkripsi kunci publik yang populer adalah:
• Diffie-Hellman
• RSA
• Rabin
• ElGamal
Semua algoritma kunci publik (asimetri) menggunakan fungsi matematis untuk mengubah plaintext menjadi ciphertext. Diffie-Hellman menggunakan aritmetik modulus dimana dua kunci berbeda akan memberi hasil yang sama berdasarkan nilai modulus-nya. RSA adalah singkatan dari Rivest, Shamir, dan Adleman, tiga orang yang bekerja sama membangun suatu algoritma kunci publik. RSA merupakan algoritma kunci publik yang terkuat, dan seperti Diffie-Hellman, RSA juga menggunakan aritmetik modulus dalam komputasi enkripsi-dekripsi. Rabin adalah teknik yang merupakan salah satu variasi dari RSA, ditemukan oleh M.Rabin. ElGamal merupakan variasi dari Diffie-Hellman, ditemukan ElGamal.
Salah satu aplikasi dari algoritma kunci publik adalah software PGP (Pretty Good Privacy). PGP digunakan untuk pengamanan berkomunikasi lewat e-mail, dimana e-mai di-enkripsi pada saat dikirim sehingga hanya orang yang memiliki kunci private yang bisa membaca e-mail tersebut.

Autentikasi
Authentikasi adalah salah satu bentuk identifikasi untuk meyakinkan bahwa orang yang sedang berkomunikasi dengan kita adalah benar adanya, bukan pemalsuan identitas. Salah satu bentuk autentikasi yang paling sering dijumpai adalah: UserID disertai dengan Password, bahwa UserID adalah pernyataan tentang siapa yang sedang akses sistem atau sedang berkomunikasi, dan Password membuktikan bahwa orang tersebut benar adanya. Hanya saja sistem UserID dan Password ini ada kelemahannya, karena ada saja cara untuk mencari tahu password seseorang sehingga bisa terjadi pemalsuan identitas.
Salah satu sistem untuk mengurangi effek pemalsuan identitas atau pencurian password adalah dengan menerapkan OTP (One Time Password), dimana satu password hanya digunakan untuk satu kali akses, akses berikutnya harus menggunakan password yang berbeda. Sistem lain yang mengamankan autentikasi adalah Passport dan Kerberos.
Selain menggunakan UserID dan Password, teknik autentikasi bisa diperluas dengan kombinasi biometric, misalnya UserID ditambah dengan sidikjari, atau UserID ditambah dengan mata-retina, dan sebagainya.
Pasport adalah sistem yang memperluas autentikasi dengan menambahkan nomer-account yang disebut passport untuk memasuki suatu jaringan atau mendapat pelayanan online. Sebagai contoh Microsoft menggunakan passport untuk melayani para pengunjung setia situsnya.
Kerberos adalah software yang menyediakan sistem autentikasi bagi para pengguna suatu jaringan. Kerberos menggunakan algoritma kriptografi untuk menyulitkan pada penyusup ketika mencuri password.
IP Address(kelas c)

Sebutkan kelas, subnet mask, NetID, HostID, Broadcast, range IP serta jumlah host dari IP berikut :
• 192.10.21.1
• 200.50.3.10
• 202.192.168.20
• 210.200.100.50
• 220.150.192.168
Jawab :
=========================================================================
IP 192.10.21.1
Tipe IP kelas : C
Subnet mask : 255.255.255.0
Net ID : 11000000 00001010 00010101 00000000(192.10.21.0)
192 10 21 1
11000000 00001010 00010101 00000001
11111111 11111111 11111111 00000000 ← (biner subnet mask : 255.255.255.0)
----------------------------------------------------AND
11000000 00001010 00010101 00000000
192 10 21 0


Host ID : 1 (00000001)
Broadcast : 192.10.21.255
Range IP : 192.10.21.1 – 192.10.21.254
Jumlah Host : (2^8)-2 = 256-2 = 254

=========================================================================
IP 200.50.3.10
Tipe IP kelas : C
Subnet mask : 255.255.255.0
Net ID : 11001000 00110010 00000011 00000000 (200.50.3.0)
200 50 3 10
11001000 00110010 00000011 00001010
11111111 11111111 11111111 00000000 ← (biner subnet mask : 255.255.255.0)
----------------------------------------------------AND
11001000 00110010 00000011 00000000
200 50 3 0

Host ID : 10 (00001010)
Broadcast : 200.50.3.255
Range IP : 200.50.3.1 – 200.50.3.254
Jumlah Host : (2^8)-2 = 256-2 = 254

=========================================================================
IP 202.192.168.20
Tipe IP kelas : C
Subnet mask : 255.255.255.0
Net ID : 11001010 11000000 10101000 00000000 (202.192.168.0)
202 192 168 20
11001010 11000000 10101000 00010100
11111111 11111111 11111111 00000000 ← (biner subnet mask : 255.255.255.0)
----------------------------------------------------AND
11001010 11000000 10101000 00000000
202 192 168 0

Host ID : 20 (00010100)
Broadcast : 202.192.168.255
Range IP : 202.192.168.1 – 202.192.168.254
Jumlah Host : (2^8)-2 = 256-2 = 254

==========================================================================
IP 210.200.100.50
Tipe IP kelas : C
Subnet mask : 255.255.255.0
Net ID : 11010010 11001000 01100100 00000000 (210.200.100.0)
210 200 100 50
11010010 11001000 01100100 00110010
11111111 11111111 11111111 00000000 ← (biner subnet mask : 255.255.255.0)
----------------------------------------------------AND
11010010 11001000 01100100 00000000
210 200 100 0

Host ID : 50 (01100100)
Broadcast : 202.200.100.255
Range IP : 202.200.100.1 – 202.200.100.254
Jumlah Host : (2^8)-2 = 256-2 = 254

=========================================================================
IP 220.150.192.168
Tipe IP kelas : C
Subnet mask : 255.255.255.0
Net ID : 11011100 10010110 11000000 00000000 (220.150.192.0)
220 150 192 168
11011100 10010110 11000000 10101000
11111111 11111111 11111111 00000000 ← (biner subnet mask : 255.255.255.0)
----------------------------------------------------AND
11011100 10010110 11000000 00000000
220 150 192 0

Host ID : 168 (10101000)
Broadcast : 220.150.192.255
Range IP : 220.150.192.1 – 220.150.192.254
Jumlah Host : (2^8)-2 = 256-2 = 254
=========================================================================
Catatan:
@ berhubung soal diatas kelasnya C maka Subnet Mask = 255.255.255.0
@ Net ID adalan bentuk biner dari IP dan Subnet Mask dan di AND kan (dikali)
@ Host ID adalah nilai yang terdapat di titik paling akhir dari IP
@ Broadcast didapat dari IP yang mana digit terakhirnya di ubah menjadi Subnet Mask
@ Range IP adalah nilai yang terdapat diantara Net ID yang telah di AND kan sampai Broadcast-1
@ Jumlah Host didapat dengan rumus (2 pangkat n) dikurang 2. n disini masuk dalam kelas C sehingga n=8. Jika n adalah kelas B maka n=16 dan selanjutnya.

creat child (os)

berikut ini syntax untuk Process Creation in Win32 silahkan dicoba dan lihat hasilnya :)

bedakan outputnya ketika child berhasil dibuat :)


#include
#include

int main (VOID)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

// allocate memory
ZeroMemory(&si, sizeof(si));
si.cb=sizeof(si);
ZeroMemory(&pi, sizeof(pi));

// create child process
if (!CreateProcess(NULL, // use command line
"C:\\WINDOWS\\system32\\mspaint.exe", // commad line
NULL, // don't inherit process handle
NULL, // don't inherit thread handle
FALSE, // disable handle inheritance
0, // no creation flags
NULL, // use parent's environment block
NULL, // use parent's existing directory
&si,
&pi))
{
fprintf(stderr, "Create Process Failed");
return -1;
}
// parent will wait for the child to complete
WaitForSingleObject(pi.hProcess, INFINITE);
printf("Child Complete");

// close handles
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}

seharusnya saya memasang outputnya tapi saya sedang malas masangnya!maaf ya kawan :)
Return top