RSS FEED

counter

Macam-macam kejahatan dalam dunia IT

berbagai jenis kejahatan dalam dunia IT dirangkum dalam paper yang dapat anda download disni

Blokir Blackberry

“Akhir-akhir ini sering terjadi pencurian BB, baik ditempat-tempat umum, dilampu merah perempatan jalan, di halte bis, didalam kendaraan umum, dll.

Setiap BlackBerry memiliki 15 digit serial number yang unique (IMEI), artinya: tidak mungkin sama dengan BB lainnya.

Catat nomor ini, simpan di tempat yang aman. Jangan simpan di dompet, lebih baik ditinggalkan di rumah atau tempat yang kira2 menurut anda aman…
Operator Blocking IMEI:

Apabila BlackBerry anda dicuri, hubungi operator kartu SIM anda dan beritahukan kode ini. Mereka akan dapat melakukan blocking sehingga BB tersebut tidak dapat digunakan sama sekali walaupun ditukar kartunya karena yang di block adalah BB-nya dan bukan nomor panggilan BB.

Kemungkinan besar memang BB anda tidak akan kembali lagi… Namun paling tidak orang jahat juga sama sekali tidak bisa menggunakannya. Sehingga kalau semua BB yg dicuri tidak bisa berfungsi, maka dipasar gelap harganya akan jatuh diharapkan trend pencurian BB sudah nggak mode lagi…

Cara Check IMEI Blackberry:

Note : utk mencatat no IMEI bisa di option – status atau di home screen tekan *#06#

PIN Suspend

Ternyata, Operator bukan blokir IMEI tetapi blokir BBM PIN dengan cocokan IMEI, namanya PIN Suspend, PIN anda akan dilaporkan HILANG secara worldwide dan TIDAK lagi bisa digunakan

Setelah di blokir maka Blackberry itu tidak bisa lagi menggunakan fasilitas Blackberry Messenger atau push email, hanya bisa untuk handphone dan SMS.

Namun anda harus memenuhi syarat berikut untuk dapat melaporkan BB hilang yaitu:

1. Blackberry handheld anda harus beli dari operator yang bergaransi Operator
2. Blackberry handheld anda harus menggunakan sim card dengan layanan BIS dari operator yang sama dengan garansi operator.

Jika anda memenuhi syarat,

1. bawalah kotak Blackberry anda yang tercantum nomor PIN dan IMEI,
2. dengan KTP dan buat surat pernyataan
3. hubungi operator untuk laporkan Blackberry anda hilang dan minta pin di suspend.

Hanya Berlaku untuk Operator…???

Untuk sementara ini, kami belum menerima konfirmasi dari operator lainnya kecuali operator XL yang dapat mem blokir BBM PIN dan syaratnya adalah:

1. Anda beli Blackberry Bergaransi XL
2. Anda menggunakan SIM card layanan BIS XL

Jika anda pengguna BIS operator lainnya, sementara ini masih tidak ada fasilitas ini dan walaupun anda beli Blackberry bergaransi XL juga tidak berguna karena garansi hanya berlaku dengan syarat tersebut.

Semoga operator lainnya di Indonesia juga akan meluncurkan fasilitas blokir ini.

Semoga bermanfaat…
Indahnya Berbagi…


Source: Blokir Blackberry Hilang Di Curi | BerryIndo.com http://www.berryindo.com/blokir-blackberry-hilang-di-curi/#ixzz158UBZDFy
Copyright: www.BerryIndo.com

Sandi Geser (kriptografi)

Berikut adalah fungsi dari sandi geser :


Dengan melakukan pergeseran sebesar 21 pergeseran maka akan tampak pesan "SERANGBENTENGMSHBESOKPAGI" dari code “NZMVIBWZIOZIBHPNPCWZNJFKVBD” seperti pada gambar :


Berikut ini dalah penjelasan dari sandi geser :
Sandi geser (shift cipher) merupakan generalisasi dari Sandi Caesar, yaitu tidak membatasi pergeseran sebanyak tiga huruf. Jadi ada sebanyak 26 kunci pergeseran yang bisa digunakan. Secara umum dapat dituliskan dengan persamaan berikut ini.



Misal diberikan plainteks “belajarsandi” dan kunci K=11, maka cipherteksnya adalah “MPWLULCDLYOT”.
Khusus untuk K=13 sering disebut dengan Sandi ROT(13). Dinamakan demikian karena fungsi enkripsi dan dekripsinya sama, sebab 13 sama dengan -13 (khusus di dalam mod 26). Jadi jika diberikan plainteks x, maka untuk mendekripsinya bisa dengan mengenkripsinya lagi.
Untuk menyerang sandi geser ini sangat mudah sekali, karena hanya diperlukan sebanyak 25 kali percobaan kunci.

Sandi Caesar (Cryptografi)

Salah satu metode penyandian yang pernah digunakan pada masa Yunani Kuno adalah Sandi Caesar (Caesar Cipher). Sandi ini merupakan algoritma substitusi tertua, dan proses enkripsinya adalah mengganti (substitusi) setiap huruf pada plainteks menjadi huruf ke-3 setelahnya. Dengan kata lain, setiap huruf digeser maju sebanyak tiga huruf. Dan untuk mendekripsi cipherteks cukup dengan menggeser mundur sebanyak tiga huruf. Dengan menggunakan korespondensi 1-1 antara huruf alfabet dengan bilangan, yaitu a=0, b=1,…, z=25, maka secara umum Sandi Caesar dapat dituliskan dengan persamaan:
E_n(x) = (x + n) \mod {26}.
Sedangkan Dekripsinya adalah:
D_n(x) = (x - n) \mod {26}.
Dengan demikian, misal diberikan plainteks “belajarsandi”, maka cipherteksnya adalah
“EHODMDUVDQGL”.





Perkembangan Kecerdasan Buatan

Penerapan kecerdasan buatan pada saat ini sudah sangat maju bahkan bisa dikatakan sangat canggih. Hal ini dapat kita lihat bahwa padasaat ini sudah banyak sekali alat-alat yang dapat membantu kehidupan manusia menjadi lebih mudah.
Berikut ini saya akan mencoba mengkelompokan kecerdasan buatan menjadi beberapa kelompok antara lain :
1.Bidang Komputer dan Sains
Para Peneliti kecerdasan buatan telah membuat banyak alat untuk memecahkan beberapa masalah yang dapat dikategorikan paling rumit pada bidang komputer dan sains. Kebanyakan dari penemuan mereka telah diambil alih oleh cabang ilmu komputer dan sains dan tidak lagi menjadi bagian dari bidang ilmu kecerdasan buatan. Namun, bidang ilmu kecerdasan buatan tetap saja sulit untuk dilepaskan dari bidang ilmu ini, dikarenakan banyak bagian dari kecerdasan buatan yang digunakan dalam bidang komputer dan sains ini. Salah satu contohnya adalah konsep jaringan syaraf tiruan yang digunakan untuk mengkalkulasi probabilitas kondisi-kondisi yang akan terjadi pada masa yang akan datang. Beberapa daftar aplikasi yang sebelumnya dikembangkan oleh para peneliti kecerdasan buatan adalah GUI (Graphical User Interface), Kalkulasi koordinat mouse pada layar monitor, manajemen penyimpanan otomatis, pemrograman dinamis serta pemrograman orientasi objek.
2.Finansial
Pada bidang finansial, penggunaan kecerdasan buatan ditujukan pada pengorganisasian operasi, investasi saham, dan memanajemen properti. Sebuah sistem yang memiliki kecerdasan buatan dapat mengkalkulasi inflasi maupun deflasi yang akan terjadi di masa depan serta dapat mengkalkulasi probabilitas naik turunnya harga saham sehingga dapat digunakan untuk menentukan investasi secara detail. Menggunakan jaringan syaraf tiruan yang dapat mendeteksi adanya perubahan-perubahan harga saham pada masa yang akan datang, membuat sistem kecerdasan buatan ini sangat layak digunakan dalam bidang Finansial.
3.Kesehatan
Pada bidang kesehatan, sistem kecerdasan buatan telah digunakan, salah satunya adalah algoritma genetika yang memungkinkan simulasi proses evolusi dan rekayasa genetika diuji coba tanpa memerlukan “korban” makhluk hidup. Algoritma ini juga dapat digunakan untuk pencocokan DNA yang sering digunakan dan saat ini mungkin populer untuk mengidentifikasi identitas seseorang. Konsep sistem pakar yang juga merupakan salah satu cabang ilmu dari kecerdasan buatan juga digunakan untuk mendiagnosa penyakit yang diderita oleh pasien sehingga memudahkan kerja dokter.
4.Industri
Pada bidang Industri penggunaan mesin sudah merupakan hal yang umum. Mesin biasanya digunakan dalam industri untuk pekerjaan yang membahayakan manusia dan yang sulit untuk dilakukan manusia. sebagai contoh memindahkan barang yang mempunyai berat ber ton-ton, pemotongan besi dan baja. bahkan dalam industri manufaktur, pekerjaan yang membutuhkan tingkat ketelitian tinggi dan konsistensi sudah diambil alih oleh mesin. Hal ini dikarenakan manusia mempunyai konsentrasi yang tidak tetap dan stamina yang cepat habis. Kondisi seperti ini yang berbahaya, baik bagi pekerja tersebut, pabrikan, dan konsumen tentunya. Oleh karena itu, sistem kecerdasan buatan telah diimplementasikan secara nyata pada bidang industri ini.
Satu lagi impementasi dari sistem kecerdasan buatan pada bidang industri, yakni Quality Control yang dilakukan menggunakan sistem image processing.
5.Transportasi
Pada bidang transportasi kecerdasan buatan sudah diimplementasikan pada banyak hal seperti sistem kontrol perpindahan gigi otomatis pada gearbox mobil bertransmisi otomatis yang menggunakan Fuzzy Logic sebagai salah satu cabag ilmu kecerdasan buatan. Penentuan rute tercepat juga dapat dilakukan oleh decision support system yang juga merupakan salah satu cabang dari kecerdasan buatan yang menggunakan GPS sebagai alat bantu navigasinya. Baru-baru ini juga telah dikembangkan sistem kecerdasan buatan yang dapat mengemudi secara otomatis serta melakukan parkir serial tanpa bantuan manusia sama sekali.
6.Telekomunikasi
Pada Bidang telekomunikasi, sistem kecerdasan buatan juga banyak digunakan antara lain untuk pencarian heuristik tentang tenaga kerja mereka, mengatur penjadwalan puluhan ribu pekerjanya, serta menentukan jumlah gaji sesuai dengan kualitas kerja mereka. Semuanya dilakukan secara otomatis dengan kecerdasan buatan yang telah diimplementasikan ke dalam sistemnya.
7.PengembanganGame
Perkembangan Game yang pesat pada masa ini juga membutuhkan sesuatu yang berbeda pada rule permainannya. Sebuah sistem game, jika sudah dimainkan sampai tuntas oleh seorang player, maka ketika player yang sama memulai lagi permainan dari awal, maka rule permainannya akan sama. namun berbeda untuk game-game yang telah ada saat ini. sistem dalam game, dapat belajar mengenali pola permainan dari player dan ketika player tersebut memulai permainan kembali, maka sistem ini akan menggunakan rule yang berbeda untuk pemain yang sama ini. sehingga game menjadi lebih menarik dan menantang untuk dimainkan.
8.PengembanganMainan(Robotika)
Peralatan permainan seperti AIBO dan ASIMO, robot anjing cerdas dan robot yang menyerupai manusia yang dapat berinteraksi dengan manusia menjadi salah satu favorit alat bermain yang telah menggunakan kecerdasan buatan pada sistemnya. AIBO dan ASIMO ini dapat berinteraksi dengan manusia melalui suara, fitur speech recognition di dalamnya, robot ini dapat mengerti apa yang diucapkan manusia dan menanggapinya.
9.Musik
Evolusi di bidang musik hampir selalu terkena dampak dari teknologi yang ada pada zamannya. Sebagai contoh, era musik digital yang memungkinkan sebuah suara dapat direkan dan diputar ulang. dengan mengimplementasikan kecerdasan buatan, proses penciptaan komposisi lagu, pemrosesan suara, dan teori-teori tentang musik dapat dilakukan. Pengolahan suara adalah fokus dari pengembangan kecerdasan buatan di bidang music ini.
10.Militer
Pada bidang militer, teknologi kecerdasan buatan dapat diimplementasikan pada sistem yang mensimulasikan kondisi-kondisi perang yang mungkin akan terjadi di lapangan, mengatur strategi serta mengkalkulasi kemungkinan beberapa strategi terhadap kondisi medan perang secara simultan dan menampilkan hasilnya.
11.Penerbangan
Simulasi penerbangan pada pelatihan calon pilot sebelum benar-benar terbang dilakukan menggunakan perangkat yang telah mengimplementasikan kecerdasan buatan di dalamnya. perangkat ini dapat memberikan beragam simulasi kondisi penerbangan dengan puluhan variabel yang kompleks. Pelatihan calon pilot menerbangakan pesawat menggunakan simulator ini sangat efisien, selain mengurangi biaya untuk penerbangan yang sebenarnya, resiko kecelakaan para calon pilot juga dapat diminimalisir.
12.Otomotif
Proses perancangan dan desain chassis serta body otomotif pada saat ini sudah semakin canggih. Computational Fluid Dynamics atau sering disebut dengan CFD saja, telah digunakan dalam proses perancangan dan pengujian. CFD menghitung variabel-variabel yang digunakan dalam perancangan mobil. Salah satunya adalah komputasi aliran arus udara yang melalui mobil dengan ribuan jalur udara yang mengelilingi seluruh body mobil.
Demikianlah beberapa aplikasi kecerdasan buatan pada kehidupan nyata yang masih banyak lagi yang belum sempat disebutkan oleh penulis. Semoga artikel ini dapat menjadi inspirasi pembaca sekalian untuk terus berkarya dalam mengembangkan sistem kecerdasan buatan.

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 :)

Sekilas tentang TCP/IP dan OSI

Berikut ini adalah rangkiman tentang TCP/IP dan OSI yang saya dapatkan dari internet.

Internetworking Models

Ketika Network pertama kali dibuat, computer secara tipikal hanya dapat berkomunikasi dengan computer dari manufactur/pembuat yang sama. Semisal sebuah perusahaan menjalankan masing-masing sebuah DECnet solution atau sebuah IBM solution tidak dapat keduanya. Pada akhir 1970-an, OSI (OpenSystem Connection) model dibuat oleh International Organization for Standardization (ISO) untuk memutuskan hambatan ini. OSI model sangat berarti untuk membatu vendor membuat device network yang bersifat interoperable. Seperti damainya dunia, hal ini mungkin tidak pernah terjadi secara utuh, namun tetap sebagai sebuah tujuan yang baik.
OSI model adalah arsitektur utama untuk banyak jaringan. Ini menjelaskan bagaimana data dan media network, ke sebuah aplikasi pada computer lain. Referensi model OSI memutuskan hambatan ini kedalam sebuah layer-layer.

Definisi TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas Internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol.
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN).
TCP/IP saat ini dipergunakan dalam banyak jaringan komputer lokal (LAN) yang terhubung ke Internet, karena memiliki sifat :
a) Merupakan protokol standar yang terbuka, gratis dan dikembangkan terpisah dari perangkat keras komputer tertentu.
b) Tidak tergantung pada spesifik perangkat jaringan tertentu.Hal ini memungkinkan TCP/IP untuk mengintegrasikan berbagai macam jaringan.
c) TCP/IP menggunakan pengalamatan yang unik dalam skala global. Dengan demikian memungkinkan computer dapat saling berhubungan walaupun jaringannya seluas internet sekarang ini.
d) Standarisasi protokol TCP/IP dilakukan secara konsisten dan tersedia secara luas untuk siapapun tanpa biaya. Hal ini diwujudkan dalam RCF(Request For Comment).
TCP/IP terdiri atas sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu dalam komunikasi data dan didesain untuk melakukan fungsi-fungsi komunikasi data pada LAN maupun WAN. Dengan prinsip pembagian tersebut TCP/IP menjadi protokol komunikasi data yang fleksibel dan dapat diterapkan dengan mudah di setiap jenis computer dan antar muka jaringan, karena sebagian besar isi kumpulan protokol ini tidak spesifik terhadap satu computer atau peralatan jaringan tertentu. Agar TCP/IP dapat berjalan pada antar muka jaringan tertentu ,hanya diperlukan perubahan pada bagian yang berhubungan dengan antar muka jaringan saja. Sekumpulan protokol TCP/IP ini dimodelkan dalam empat lapisan/ layer yang bertingkat, yaitu :
a) Lapisan Antarmuka Jaringan (Network Interface Layer). Lapisan ini sering disebut juga link layer paling bawah yang bertanggung jawab mengirim dan menerima data ke dan dari media fisik. Media fisiknya dapat berupa kabel, serat optik, atau gelombang radio. Protokol pada lapisan ini harus mampu menjadi digital yang dimengerti komputer yang berasal dari peralatan lain yang sejenis.
b) Lapisan Internet (Internet Layer). Protokol yang berada pada lapisan ini bertanggung jawab dalam pengiriman paket ke alamat yang tepat.
c) Lapisan Transport (Transport Layer). Lapisan ini berisi protokol yang bertanggung jawab untuk mengadakan komunikasi antara dua host. Kedua protokol yang terdapat pada lapisan ini adalah TCP(Transmission Control Protocol) dan UDP (User Diagram Protocol).
d) Lapisan Aplikasi (Application Layer). Pada lapisan ini pengguna memakai semua aplikasi yang disediakan oleh layanan TCP/IP. Program aplikasi akan memilih jenis protokol tranportasi yang diperlukan.
Pada TCP/IP terjadi penyampaian data dari protokol di satu layer ke protokol di layer lain. Setiap layer memiliki strukur data yang tidak saling bergantung. Setiap protokol pada masing-masing layer memperlakukan semua informasi yang diterimanya dari protokol lain sebagai data. Setiap protokol pada masing-masing layer akan menambahkan informasi tambahan miliknya pada data, jika protokol tersebut menerima data dari protokol lain di layer atasnya. Tambahan informasi tersebut disebut header yang berfungsi sebagai control informasi protokol tersebut. Proses penambahan informasi tersebut dinamakanencapsulation.




Transmission Control Protocol (TCP)
TCP merupakan protokol yang berada pada layer transport dari layer TCP/IP. TCP adalah protokol yang bersifatbyte stream, yang berarti bahwa data dinyatakan sebagai suatu urutan-urutan byte. Keandalan TCP dalam mengirimkan data didkung oleh mekanisme yang disebut positive Acknoledgement with Re-transmission(PAR). Data yang dikirim dari layer aplikasi akan dipecah-pecah dalam bagian-bagian yang lebih kecil dan diberi nomor urut sebelum dikirimkan ke layer berikutnya. Unit data yang sudah dipecah-pecah tadi disebut segmen.
TCP selalu meminta konfirmasi setiap kali selesai mengirimkan data, apakah data tersebut sampai pada computer tujua dan tidak rusak. Jika berhasil sampai tujuan, TCP akan mengirimkan data urutan berikutnya. Jika tidak berhasil, maka TCP akan melakukan pengiriman ulang. Data yang diterima pada sisi penerima akan disusun berdasarkan nomor urut yang diberikan oleh sisipengirim. Untuk mengatasi kerusakan data yang diterima, TCP menggunakan sebuah checksum untuk memastikan bahwa data tersebut tidak rusak.
Internet Protocol ( IP )
Internet Protokol ( IP ) merupakan protokol yang paling penting yang berada pada layer internet TCP/IP. Semua protokol TCP/IP yang berasal dari layer atasnya mengirimkan data melalui protokol IP ini. Seluruh data harus dilewatkan, diolah oleh protokol IP, dan dikirimkan sebagai datagram IP untuk sampai ke sisi penerima. Dalam melakukan pengiriman data, protokol IP ini bersifat unreliable ,connectionless dandatagram delivery service.
Unreliable berarti protokol IP tidak menjamin datagram yang dikirim pasti sampai ke tujuan. Protokol IP hanya melakukan cara terbaik untuk menyampaikan datagram yang dikirim ke tujuan. Jika pada perjalanan datagram tersebutterjadi hal-hal yang tidak diinginkan ,maka protokol IP hanya memberikan pembeeritahuan pada sisi kirim kalau telah terjadi permasalahan pengiriman data ketujuan melalui protokol ICMP.
Sebuah alamat IP berisi satu bagian network dan satu bagian host, tetapi formatnya tidak sama pada setiao alamat IP. Sejumlah bit alamat dipakai disini untuk mengidentifikasi network, dan angka dipakai untuk mengidentifikasi host, dan beragam kelas alamat IP. Ada tiga kelas utama alamat IP yaitu kelas A, B dan C.
Ketentuan kelas alamat IP :
1. Jika bit pertama dari sebuah alamat IP adalah angka 0, ini menunjukan network kelas A. Tujuh bit berikutnya menunjukan identitas network, dan 24 bit terakhir menunjukan identitas host. Ada 128 buah network kelas , tapi didalam setiap kelas A bisa terdapat jutaan host.
2. Jika bit pertama dari dua angka alamat IP adalah 10, ini menunjukan alamat IP network kelas B. Angka Bit pertama kelas, kemudian 24 bit berikutnya menunjukan identitas alamat network, dan 10 bit berikutnya untuk host. Ada ribuan angka network kelas B dan setiap kelas B dapat berisi ribuan host.
3. Jika bit pertama dari tiga bit alamat IP adalah 110, ini merupakan alamat IP kelas C. Tiga bit pertama berupa alamat kelas. 21 bit berikutnya sebagai alamat network, dan 8 bit selanjutnya merupakan identitas host. Ada jutaan network kelas C, dan didalam tiap kelas C ada 254 host.
Jika tiga bit pertama dari alamat IP adalah 111, ini merupakan alamat reserved khusus. Disebut juga sebagai alamat kelas D, namun itu tidak mewakili network tertentu. Angka alamat disini saat ini umumnya diperguhakan sebagai alamat IP multicast. Alamat multicast dipakai untuk alamat semua grup komputer pada satu waktu.Alamat multicast mengindentifikasikan sebuah grup komputer yang melakukan sharing protokol umum sebagai lawan dari grup komputer yang melakukan sharing nework.

OSI Reference Model
Model Referensi OSI dibuat pada akhir 1970-an untuk membantu fasilitas transfer data antar network nodes. Satu fungsi terbesar dari sfesifikasi OSI adalah untuk membantu dalam transfer data antara host yang berbeda. Hal ini berarti anda dapat mentransfer data sebuah Unix host dan PC sebagai contoh.
OSI model bukan bersifat fisik; meskipun ini sebagai susunan dari panduan dimana para pengembang aplikasi dapat menggunakan untuk membuat dan mengimplementasikan aplikasi yang akan berjalan di network/jaringan. Ini juga menyiapkan sebuah kerangka kerja (frame work) untuk membuat dan mengimplementasikan standard network, peralatan (devices), skema internetworking.
OSI memiliki 7 layer, yang dibagi kedalam dua grup. 3 lapisan teratas menjelaskan aplikasi didalam end station berkomunikasi satu sama lain dan dengan user. 4 lapisan bawah menjelaskan bagaimana data ditransmisi end-to-end. Gamabr 1.1 memeperlihatkan 3 lapisan atas dan fungsi masing-masing, dan gambar 1.2 memperlihatkan 4 lapisan bawah dan fungsinya.

MODEL KOMUNIKASI DATA OSI
1. Definisi OSI
Model referensi jaringan terbuka OSI adalah sebuah model arsitektural jaringan yang dikembangkan oleh (ISO) . OSI singkatan dari Open System Interconnection. Model ini disebut juga dengan model “Model tujuh lapis OSI” . Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung kepada pemasok (vendor). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi.
Model referensi ini pada awalnya ditujukan sebagai basis untuk mengembangkanprotokol jaringan, meski pada kenyataannya inisatif ini mengalami kegagalan. Kegagalan itu disebabkan oleh beberapa faktor berikut:
• Standar model referensi ini, jika dibandingkan denganmodel DARPA , sangat berdekatan. Model DARPA adalah model basis protokol TCP/IP yang populer digunakan.
• Model referensi ini dianggap sangat kompleks. Beberapa fungsi (seperti halnya metode komunikasi connectionless) dianggap kurang bagus, sementara fungsi lainnya (seperti flow control dan koreksi kesalahan) diulang-ulang pada beberapa lapisan.
• Pertumbuhan internet dan protokol TCP/IP (sebuah protokol jaringan dunia nyata) membuat OSI Reference Model menjadi kurang diminati.
OSI Reference Model pun akhirnya dilihat sebagai sebuah model ideal dari koneksi logis yang harus terjadi agar komunikasi data dalam jaringan dapat berlangsung. Beberapa protokol yang digunakan dalam dunia nyata, semacam TCP/IP memetakan tumpukan protokol mereka ke OSI Reference Model. OSI Reference Model pun digunakan sebagai titik awal untuk mempelajari bagaimana beberapa protokol jaringan di dalam sebuah kumpulanprotokol dapat berfungsi dan berinteraksi.
OSI Reference Model memiliki tujuh lapis, yakni sebagai berikut :
1) Application Layer: Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran informasi antara program komputer, seperti program e-mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya.
2) Presentation Layer: Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.
3) Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”.
4) Transport Layer: Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan penanganan error (error handling).
5) Network Layer: Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket.
6) Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media. komunikasinya dengan kartu jaringan, mengatur komunikasi layer physical antara sistem koneksi dan penanganan error.
7) Physical Layer: Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjaga koneksi fisik antar sistem.

OSI Layers
Model referensi OSI terdiri dari 7 Layer :
§ Application Layer
§ Presentation Layer
§ Session Layer
§ Network Layer
§ Data link Layer
§ Physical Layer


Perbedaan OSI dan TCP/IP

Penjelasan 7 layer dalam OSI :

>Application layer (Layer 7)
Application layer (Layer 7 OSI) adalah layer OSI yang terdekat dengan user; menyediakan network services bagi aplikasi user. Berbeda dengan layer yang lain, Layer ini tidak menyediakan service bagi layer OSI lain. Contoh aplikasi ini adalah program spreadsheet, word processing, browser, dan terminal bank. Layer ini menetapkan adanya partner komunikasi yang diinginkan, menetapkan dan mensinkronkan kesepakatan prosedur untuk error recovery serta mengotrol integritas data.

>Presentation layer (Layer 6)
Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.

>Session layer (Layer 5)
Session layer (Layer 5 OSI) menetapkan, mengatur, dan menghentikan sesi antara dua host yang berkomunikasi. Layer ini menyediakan services bagi layer presentasi dan mensinkronkan dialog antara dua layer presentasi serta mengatur pertukaran data mereka. Disamping mengatur sesi, Layer ini menyediakan perlengkapan untuk transfer data yang efisien, kelas pelayanan dan laporan pengecualian masalah Layer 5, 6 dan 7.

>Transport layer (Layer 4)
Transport layer (layer 4 OSI) membuat segment data pada sistem host yang mengirim kemudian mengumpulkan kembali menjadi aliran data pada sistem host yang menerima. Secara khusus Layer ini menjamin transport antara dua host. Dalam menyediakan pelayanan komunikasi, Layer ini menetapkan, menjaga dan menghentikan sirkuit virtual. Dalam menyediakan reliable service, Layer ini menggunakan transport error detection-dan-recovery serta information flow control. Layer ini menentukan quality of service dan reliability.

>Network layer (Layer 3)
Network layer (Layer 3 OSI) adalah sebuah layer yang kompleks yang menyediakan skema pengalamatan, konektifitas dan pemilihan lintasan (path selection) antara dua sistem host yang mungkin berlokasi pada jaringan yang terpisah secara geografis. Jadi dalam layer ini terjadi proses pathching, routing dan addressing.

>Data link layer (Layer 2)
Data link layer (Layer 2 OSI) menyediakan transit data yang terpercaya yang melintasi sebuah sambugan langsung (physical link). Dalam melakukan hal ini, Layer ini menggunakan pengalamatan fisik (physical addressing), topologi jaringan, akses jaringan, pemberitahuan kesalahan (error notification), pengiriman frame yang berurutan dan kontrol aliran. Layer ini berhubungan dengan frame dan kontrol akses media (media access control).

>Physical layer (Layer 1)
Physical layer (Layer 1 OSI) mendefinisikan spesifikasi fungsional, prosedural, mekanikal dan elektrikal untuk mengaktifkan, menjaga dan mematikan sambungan langsung antara dua sistem. Misalnya tingkat tegangan, waktu perubahan tegangan, kecepatan data, jarak pengiriman maksimum, konektor fisik dll. Layer ini berhubungan dengan sinyal dan media.




Sedang TCP/IP hanya 4 layer saja yaitu:

>Application layer (LAYER 4 TCP/IP)
Application layer (Layer 4) model TCP/IP berkutat dengan urusan presentasi, encoding dan dialog control. TCP/IP mengkombinasikan session, presentation dan application dalam satu layer dan mengasumsikan data telah siap dienkapsulasi pada layer berikutnya.

>Transport layer (LAYER 3 TCP/IP)
Transport layer (layer 3 TCP/IP) berkutat dengan urusan quality of service dari reliability, flow control dan error corection. Salah satu dari protokolnya, transmission control protocol (TCP), menyediakan cara yang fleksibel dan sempurna untuk komunikasi jaringan yang reliable, well-flowing, low-error. TCP berdialog antara pengirim dan penerima ketika melakukan enkapsulasi data ke dalam segment. TCP adalah protokol connection-oriented, artinya segment bergerak bolak balik antara dua host untuk memberitahukan bahwa koneksi terjadi selama waktu tertentu (packet switching).


>Internet layer (LAYER 2 TCP/IP)
Internet layer (Layer 2 TCP/IP) berfungsi mengirim paket antara jaringan yang berbeda dan menentukan lintasan yang ditempuh. Protokol spesifik layer ini adalah Internet protocol (IP). Best path determination and packet switching occur at this layer.

>Network layer (LAYER 1 TCP/IP)
Network layer (Layer 1 TCP/IP) juga disebut layer host-to-network. Layer ini menyediakan segala sesuatu yang dibutuhkan paket data untuk membuat sambungan langsung (physical link) termasuk detil teknologi LAN dan WAN dan seluruh detil dalam Physical dan Data link layer (Layer 1 dan layer 2 OSI).

Komponen – Komponen Pada Setiap Layer Di Dalam OSI
1. Layer 1 (physical)
Network components:
• Repeater
• Multiplexer
• Hubs(Passive and Active)
• TDR
• Oscilloscope
• Amplifier
Protocols:
• IEEE 802 (Ethernet standard)
• IEEE 802.2 (Ethernet standard)
• ISO 2110
• ISDN Layer 2 (Datalink)
Network components:
• Bridge
• Switch
• ISDN Router
• Intelligent Hub
• NIC
• Advanced Cable Tester
Protocols:
Media Access Control:
Communicates with the adapter card
Controls the type of media being used:
• 802.3 CSMA/CD (Ethernet)
• 802.4 Token Bus (ARCnet)
• 802.5 Token Ring
• 802.12 Demand Priority
Logical Link Control
• error correction and flow control
• manages link control and defines SAPs
802.2 Logical Link Control
Layer 3 (Network)
Network components:
• Brouter
• Router
• Frame Relay Device
• ATM Switch
• Advanced Cable Tester
Protocols:
• IP; ARP; RARP, ICMP; RIP; OSFP;
• IGMP;
• IPX
• NWLink
• NetBEUI
• OSI
• DDP
• DECnet
Layer 4 (Transport)
Network components:
• Gateway
• Advanced Cable Tester
• Brouter
Protocols:
• TCP, ARP, RARP;
• SPX
• NWLink
• NetBIOS / NetBEUI
• ATP
Layer 5 (Session)
Network components:
• Gateway
Protocols:
• NetBIOS
• Names Pipes
• Mail Slots
• RPC
Layer 6 (Presentation)
Network components:
• Gateway
• Redirector
Protocols:
• None
Layer 7 (Application)
Network components:
• Gateway
Protocols:
DNS; FTP
TFTP; BOOTP
SNMP; RLOGIN
SMTP; MIME;
NFS; FINGER
TELNET; NCP
APPC; AFP
SMB
perbedaan TCP/IP dengan OSI:
1. Keunggulan TCP/IP
• Perkembangan protokol TCP/IP menggunakan standar protokol terbuka, sehingga tersedia secara luas.
• Tidak bergantung pada perangkat keras atau sistem jaringan tertentu.
• Cara pengalamatan bersifat unik dalam skala global .
TCP/IP memiliki fasilitas routing dan jenis layanan lain yang bisa diterapkan pada internetwork
2.OSI
• Tujuan utama penggunaan model OSI adalah untuk membantu desainer jaringan memahami fungsi dari tiap‐tiap layer yang berhubungan dengan aliran komunikasi data. Termasuk jenis- jenis protokol jaringan dan metode transmisi.
• Model dibagi menjadi 7 layer, dengan karakteristik dan fungsinya masing‐masing. Tiap layer harus dapat berkomunikasi dengan layer di atasnya maupun dibawahnya secara langsung melalui sejumlah protokol dan standard.



ALASAN SISTEM KOMUNIKASI DIBUAT DALAM MODEL LAYER BERLAPIS
1. Dapat mengurangi kompleksitas standarisasi, karena setiap lapisan berdiri sendiri, tidak tergantung pada lapisan yang lain dan masing-masing membangun berbasis pada jasa layer dibawahnya dan memberikan jasa pada lapisan di atasnya.
2. Mempermudah dalam mendesain lapisan protokol yang kompleks dan handal, sehingga hal ini dapat mempermudah rekayasa secara modularity.
3. Mempermudah untuk menganalisis sistem keamanan pada sistem komunikasi.

PERBANDINGAN TCP/IP DENGAN OSI
1. TCP/IP terdiri dari 4 layer, sedangkan OSI terdiri dari 7 layer.
2. TCP/IP menggabungkan Application Layer, Presentation Layer dan Session Layer yang terdapat pada OSI menjadi Application Layer.
3. Pada TCP/IP, Network Layer yang terdapat pada OSI berubah menjadi Internet Layer.
4. TCP/IP menggabungkan Datalink Layer dan Physical Layer yang terdapat pada OSI menjadi satu lapisan yaitu Network Access.

FUNGSI MASING-MASING LAYER PADA OSI DAN TCP/IP
OSI
Application layer : Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran informasi antara program komputer, seperti program e-mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya. mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, dan NFS.
Presentation Layer : Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam Window NT) dan juga Network Shell (semacam Virtual Network Computing (VNC) atau Remote Desktop Protocol (RDP)) Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.
Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”.
Transport Layer: Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang hilang di tengah jalan.
Network Layer: Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket.
Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media, menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Adrdress)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. komunikasinya dengan kartu jaringan, mengatur komunikasi layer physical antara sistem koneksi dan penanganan error.
Physical Layer: Bertanggung jawab atas proses data menjadi bit, mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio dan menjaga koneksi fisik antar sistem.

TCP/IP
Application layer : mendefinisikan aplikasi-aplikasi yang dijalankan pada jaringan. Karena itu, terdapat banyak protokol pada lapisan ini, sesuai dengan banyaknya aplikasi TCP/IP yang dapat dijalankan. Contohnya adalah SMTP ( Simple Mail Transfer Protocol ) untuk pengiriman e-mail, FTP (File Transfer Protocol) untuk transfer file, HTTP (Hyper Text Transfer Protocol) untuk aplikasi web.
Transport layer : mendefinisikan cara-cara untuk melakukan pengiriman data antara end to end host secara handal. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima adalah sama dengan informasi yang dikirimkan pada pengirim. Untuk itu, lapisan ini memiliki beberapa fungsi penting antara lain seperti flow control dan error detection.
Internet layer : mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada.
Link layer : mengatur penyaluran data frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan servis untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan.

SELECT dalam SELECT(Sistem Basis Data)

TUGAS BASIS DATA
MEMBUAT 10 SOAL DAN 10 JAWABAN MENGENAI SELECT DALAM SELECT PADA DATA BASE SQL

Dalam hal ini saya membuat basis data tentang OBAT. untuk itu saya membuat basis data TOBAT dan basis data TOLDER. TOBAT berisi tentang nama obat,code obat dan jenis obat, sedangkan TOLDER berisi tentang nama agen dari obat tersebut serta jumlah yang tersedia yang diikutin engan code obat.
berikut ini adalah gambarannya

TOBAT :


TOLDER :


Langsung aja ke soal ya gaan, ane buat yang mudah-mudah saja. yang penting kita dapat paham penggunaan SELCT dalam SELECT.

1. Tampilkan AGEN dimana CODE_# berhuruf depan A!
Jawab :
SELECT AGEN FROM TOLDER WHERE CODE_# IN(SELECT CODE_# FROM TOBAT WHERE CODE_# LIKE ‘A%’);
Gambar:


2. Tampilkan AGEN dan JUMLAH dimana Jenis obat PIL!
Jawab :
SELECT AGEN,JUMLAH FROM TOLDER WHERE CODE_# IN (SELECT CODE_# FROM TOBAT WHERE JENIS_OBAT ='PIL');
Gambar:



3. Tampilkan NAMA_OBAT dan JENIS_OBAT dimana JUMLAH lebih besar dari 4000!
Jawab :
SELECT NAMA_OBAT,JENIS_OBAT FROM TOBAT WHERE CODE_# IN(SELECT CODE_# FROM TOLDER WHERE JUMLAH>'4000' );
Gambar:



4. Tampilkan JENIS_OBAT dan NAMA_OBAT dimana JUMLAH sama dengan 217
Jawab :
SELECT NAMA_OBAT,JENIS_OBAT FROM TOBAT WHERE CODE_# IN(SELECT CODE_# FROM TOLDER WHERE JUMLAH ='217');
Gambar:



5. Tampilkan AGEN dan JUMAH dari JENIS_OBAT SERBUK!
Jawab :
SELECT AGEN,JUMLAH FROM TOLDER WHERE CODE_# IN (SELECT CODE_# FROM TOBAT WHERE JENIS_OBAT LIKE 'SERBUK');
Gambar:



6. Tampilkan TOTAL JUMLAH dari JENIS OBAT CAIR!
Jawab :
SELECT SUM(JUMLAH) FROM TOLDER WHERE CODE_# IN (SELECT CODE_# FROM TOBAT WHERE JENIS_OBAT = 'CAIR');
Gambar:



7. Tampilkan rata-rata JUMLAH dari JENIS_OBAT SERBUK!
Jawab :
SELECT AVG(JUMLAH) FROM TOLDER WHERE CODE_# IN (SELECT CODE_# FROM TOBAT WHERE JENIS_OBAT = 'SERBUK');
Gambar:



8. Tampilkan NAMA_OBAT dan JENIS_OBAT dari JUMLAH lebih kecil dari 2000!
Jawab :
SELECT NAMA_OBAT,JENIS_OBAT FROM TOBAT WHERE CODE_# IN(SELECT CODE_# FROM TOLDER WHERE JUMLAH <'2000'); Gambar:


9. Tampilkan MAX JUMLAH dari NAMA_OBAT KALPANIK!
Jawab :
SELECT MAX(JUMLAH) FROM TOLDER WHERE CODE_# IN (SELECT CODE_# FROM TOBAT WHERE NAMA_OBAT LIKE 'KALPANIK');
Gambar:



10. Tampilkan AGEN dan JUMLAH dari DAKTIRAN yang JUMLAHNYA DIATAS 500!
Jawab :
SELECT AGEN,JUMLAH FROM TOLDER WHERE CODE_# IN (SELECT CODE_# FROM TOBAT WHERE NAMA_OBAT LIKE 'DAKTIRAN') AND JUMLAH > '500';
Gambar:


Saya menarik kesimpulan bahwa dalam pembahasa SELECT dalam SELECT (saya menggunakan IN)ini sistem akan mengerjakan terlebih dahulu SELECT yang berada di dalam kurung,dan hasil dari pekerjaan sistem tersebut akan diteruskan ke select yang berada di luar kurung dan selanjutnya akan dekerjakan menampilkan hasil ataupun membandingkan dengan operator logika yang ditaruh di dalam syntax tersebut.

java II(OOP)

SEKILAS TENTANG OOP
Pemrograman berorientasi objek diciptakan untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Dalam paradigma ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah objek. Objek-objek ini kemudian juga dapat berupa gabungan dari beberapa objek yang lebih kecil. Sebagai contoh, tengoklah sebuah mobil. Mobil adalah sebuah objek dalam kehidupan nyata. Namun mobil sendiri terbentuk dari beberapa objek yang lebih kecil seperti roda ban, mesin, jok, dll. Mobil sebagai objek yang merupakan gabungan dari objek yang lebih kecil dibentuk dengan membentuk hubungan antara objek-objek penyusunnya. Begitu juga dengan sebuah program. Objek besar dapat dibentuk dengan menggabungkan beberapa objek-objek dalam bahasa pemrograman. Objek-objek tersebut berkomunikasi dengan saling mengirim pesan kepada objek lain.

Pemahaman tentang OOP
OOP adalah teknik untuk membuat program objek, yaitu program yang tersusun dari kelas dan objek yang saling berhubungan. Hubungan antar kelas/objek ini dapat dilihat baik saat program ditulis maupun saat program dieksekusi.
Karena OOP merupakan teknik pembuatan program, maka ada pendekatan yang digunakan. Ada aturan yang harus diikuti saat menyusun programnya, dan ada tools yang digunakan untuk menuliskan programnya.
Gambaran OOP:


JAVA II

Konsep Class dan Object
Apa hubungan antara class dan objek? class adalah cetak biru dari object. Ini berarti kita bisa membuat banyak objek dari satu macam class.

A.Konsep objek
Lalu, objek itu apa? Secara umum, objek adalah sesuatu yang mempunyai indentitas (nama), pada umumnya memiliki pengetahuan baik tentang dirinya maupun objek lain dan memiliki ketrampilan untuk melakukan sesuatu atau beberapa hal dan bisa bekerja sama dengan objek lain. Ini tampaknya batasan yang sangat umum, tetapi sebenarnya tidak, karena memang begitulah adanya.
Sebuah objek juga mempunyai peranan atau tanggung jawab tertentu. Artinya suatu objek memanfaatkan pengetahuan dan ketampilan yang dimilikinya untuk melaksanakan perannya pada sistem di mana dia hidup. Seperti halnya bakteri yang memiliki fungsi biodekomposisi, ataupun seorang pedagang yang bertanggung jawab dalam pendistribusian barang dagangannya. Dalam software, pengetahuan dari suatu objek biasa disebut dengan state atau attribute atau field. Sedang ketrampilan dan perilakunya disebut dengan behaviour/function/method.
Sebuah objek juga mungkin terdiri atas objek-objek lain. Seperti halnya objek mobil
terdiri atas mesin, ban, kerangka mobil, pintu, karoseri dan lain-lain. Atau suatu objek boleh jadi merupakan turunan dari objek lain sehingga mewarisi sifat-sifat induknya. Misal Gajah, Singa dan Macan adalah Mamalia, sehingga Gajah, Singa dan Macan mempunyai sifat-sifat yang dimiliki oleh class Mamalia. Namun selain sifat-sifat umum Mamalia seperti melahirkan dan menyusui serta berdarah panas, Gajah, Singa dan Macan juga memiliki perilakunya sendiri yang khas.
Contoh Class dan Object
//membuat class mamalia
class mamalia
{
//variable
public String nama_hewan;
public String jenis_makanan;
//konstruktor / harus sama dengan nama class
public mamalia(String n, String m)
{
this.nama_hewan = n;
this.jenis_makanan = m;
}
//method untuk menampilkan data
public void showdata()
{
System.out.println(“Nama Hewan : “+nama_hewan);
System.out.println(“Jenis Makanannya : “+jenis_makanan);
}
}
public class hewan
{
public static void main(String[] args)
{
//membuat 3 objek yaitu sapi dan harimau
mamalia sapi = new mamalia(“Sapi”,”Tumbuh Tumbuhan “);
mamalia harimau = new mamalia(“Harimau “,”Hewan Lain “);
//memanggil method
sapi.showdata();
System.out.println(“”);
harimau.showdata();
}
}
Simpan dengan nama hewan.java kemudian compile


OBJEK

Baik dalam dunia nyata atau dalam sebuah program, sebuah objek memiliki dua karakteristik, yaitu state dan behaviour. State adalah keadaan dari sebuah objek, seperti mobil memiliki state warna, model, tahun pembuatan, kondisi, dll. Sedang behaviour adalah kelakuan dari objek tersebut, seperti mobil dapat melaju, membelok, membunyikan klakson, dll. Objek menyimpan statenya dalam satu atau lebih variabel, dan mengimplementasikan behaviournya dengan metode. Dengan penjelasan di atas, dapat disimpulkan bahwa objek adalah bagian software yang dibentuk dengan variabel-variabel dan metode-metode yang berhubungan dengan variabel tersebut.
Dengan karakteristik tersebut, kita dapat memodelkan berbagai objek dalam kehidupan nyata ke dalam objek-objek dalam sebuah program. Lebih lanjut kita dapat memodelkan objek-objek abstrak ke dalam sebuah program. Contoh umum untuk konsep abstrak seperti ini adalah objek Event, yaitu objek untuk mewakili peristiwa klik atau tombol ditekan.
Sebuah objek yang dibentuk dari sebuah kelas biasa disebut instans dalam terminologi OOP. Artinya objek tersebut adalah wujud nyata dari sebuah kelas. Variabel dan metode dari instans ini disebut variabel instans dan metode instans. Setiap instans menyimpan variabelnya sendiri-sendiri, jadi nilai variabel untuk tiap instans bisa berbeda.


Kelas

Kelas adalah semacam cetakan, atau template, untuk membuat objek. Ibaratkan sebuah rancangan rumah yang digunakan untuk membangun ratusan rumah. Rumah yang dibangun tersebut adalah objek dari kelas rancangan rumah. Hal ini dapat dilakukan karena semua objek rumah yang dibangun memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam blueprint¬nya. Tetapi objek-objek yang dibangun tetap akan memiliki bentuk fisik tertentu sendiri-sendiri, seperti variabel dalam sebuah program, atau pintu sebuah objek rumah. Dengan penjelasan ini, kelas dapat kita definisikan kembali menjadi sebuah blueprint, atau prototipe, yang mendefinisikan variabel dan metode yang sama untuk semua objek sejenis.
Sebagai contoh, misalkan kita ingin membuat kelas Rumah, maka kita harus membuat sebuah kelas yang mendefinisikan semua variabel yang dimiliki objek dari kelas tersebut. Selain itu, kelas tersebut juga harus mendeklarasikan metode-metode yang dimiliki objek dari kelas dan juga membuat implementasi dari metode tersebut. Dengan adanya kelas ini, kita dapat membuat sebanyak apapun objek-objek rumah yang sejenis, yaitu jenis yang didefinisikan oleh kelas Rumah. Setiap objek Rumah diciptakan, sistem akan mengalokasikan sejumlah memori untuk objek tersebut dan variabel-variabelnya. Dengan begitu setiap objek akan memiliki salinan masing-masing untuk setiap variabel instans.
Setelah mengenal konsep kelas, saatnya Anda dikenalkan dengan variabel kelas. Variabel kelas sebenarnya sama dengan variabel instans. Bedanya adalah, setiap objek berbagi satu dan hanya satu variabel kelas, tapi masing-masing memiliki salinan dari variabel instans. Misalkan kelas Rumah yang kita buat hanya akan mendukung 2 lantai, dan setiap objek Rumah terdiri atas 2 lantai. Maka informasi ini cukup disimpan satu kali, karena nilainya tidak berbeda untuk semua objek. Lebih jauh, bila ada satu objek yang mengubah nilai dari variabel kelas, maka semua objek sejenis lainnya akan mengikuti perubahan itu. Di samping variabel, terdapat juga metode kelas. Metode jenis ini dapat langsung dipanggil melalui kelas dan bukan dari instans kelas tersebut.


Pewarisan

Terminologi asing untuk pewarisan adalah inheritance. Mungkin dalam literatur lain Anda akan sering menjumpai istilah ini. Secara gamblang, pewarisan berarti sebuah kelas mewarisi state dan behaviour dari kelas lain. Sebagai contoh, sebuah kelas RumahMewah akan mewarisi state dan behaviour dari kelas Rumah. Begitu juga dengan kelas RumahSederhana. Kelas RumahMewah dan RumahSederhana disebut subkelas, atau kelas anak, dari kelas Rumah, yang disebut superkelas, atau kelas induk.
Seluruh subkelas akan mewarisi (inherits) state dan behaviour dari superkelasnya. Dengan begitu, semua subkelas dari superkelas yang sama akan memiliki state dan behaviour yang sama. Namun, masing-masing subkelas bisa menambah sendiri state atau behaviournya. Misalkan, pada kelas Rumah tidak terdapat variable kolamRenang, namun subkelas RumahMewah memiliki variabel tersebut. Contoh lain misalnya kelas Rumah tidak memiliki metode nyalakanAlarm, namun rumah mewah memiliki metode itu.
Dalam kasus tertentu subkelas mungkin memiliki implementasi behaviour yang berbeda dengan superkelasnya. Hal seperti ini disebut override. Contohnya subkelas SepedaBalap memiliki implementasi metode ubahGigi yang berbeda dengan implementasi metode tersebut pada superkelas Sepeda.
Tingkat pewarisan tidak hanya terbatas pada dua tingkatan. Dari contoh di atas, kita bisa saja membuat subkelas dari kelas SepedaBalap, dan seterusnya. Kita bisa terus memperpanjang tingkat pewarisan ini sepanjang yang kita butuhkan. Dengan begitu, subkelas-subkelas yang dibuat akan lebih khusus dan lebih terspesialisasi. Namun terdapat batasan pewarisan dalam Java yang disebut single inheritance. Artinya sebuah kelas hanya dapat mewarisi sifat dari satu dan hanya satu superkelas saja. Dalam beberapa bahasa pemrograman berorientasi objek lain, yang berlaku adalah multiple inheritance. Artinya sebuah kelas dapat mewarisi sifat dari beberapa superkelas sekaligus.
Dalam Java, terdapat kelas Object yang merupakan superkelas dari semua kelas dalam Java, baik yang builtin ataupun yang kita buat sendiri, lansung maupun tidak langsung. Karena itu sebuah variabel bertipe Object akan dapat menyimpan referensi ke objek apapun dalam bahasa Java. Kelas Object ini memiliki behaviour yang dibutuhkan semua objek untuk dapat dijalankan di Java Virtual Machine. Sebagai contoh, semua kelas mewarisi metode toString dari kelas Object, yang mengembalikan representasi String dari objek tersebut.
Manfaat penggunaan konsep pewarisan antara lain: pertama, kita dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas. Kedua, kita dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada. Hal ini berguna jika kita ingin membuat semacam template kelas. Kelas semacam ini disebut kelas abstrak, karena behaviournya masih abstrak dan belum diimplementasikan. Subkelas-subkelas dari kelas semacam ini, yang disebut kelas konkret, mengimplementasikan behaviour abstrak tersebut sesuai dengan kebutuhan masing-masing.
Sedikit penjelasan mengenai kelas abstrak, kelas ini bisa memiliki hanya satu atau lebih metode abstrak. Subkelas dari kelas ini bertanggung jawab untuk memberikan implementasi untuk metode-metode abstrak tersebut. Sebagai akibat dari keberadaan metode abstrak ini, kelas abstrak tidak dapat diinstanskan (dibuatkan instansnya) atau digunakan untuk menciptakan sebuah objek dari kelas tersebut.


POLIMORFISME

Kemampuan dari reference untuk mengubah sifat menurut object apa yang dijadikan acuan dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis menunjuk method yang tepat untuk menggunakannya ke particular object berdasar subclass yang termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba melalui reference ke method. Misalkan kita punya method static printInformation yang mengakibatkan object Person sebagai reference, kita dapat me-reference dari tipe Employee dan tipe Student ke method ini selama itu masih subclass dari class Person.
public static main( String[] args )
{
Student
studentObject = new Student();
Employee
employeeObject = new Employee();
printInformation( studentObject );
printInformation( employeeObject );
}
public static printInformation( Person p ){
. . . .
}


PAKET

Sintaks untuk pernyataan package sebagai berikut:

Package Identifier;

Pernyataan package harus ditempatkandi awal unit kompilasi (file kode sumber). Setiap kelas dan interface di unit kompilasi dalam penyataan package dianggap sebagian bagian paket.

Contoh: Package person;

Java menggunakan fasilitas system file untuk menyimpan package. File-file.class yang dideklarasikan sebagai bagian paket person harus disimpan di directori bernama person. Java membedakan antara huruf capital dan kecil, untuk itu nama directori harus sama dengan nama paket.

Lebih dari satu file dapat dimasukkan di satu package. Kalimat package mengspesifikasikan kedalam paket dimana kelas-kelas itu akan berbeda. Kebanyakan paket disebarkan dibanyak file.

Paket juga dapat bersarang dipaket lain. Kita dapat menciptakan hirarki paket. Ketika hal ini dilakukan, java interpreter mengharuskan struktur hirarki berisi kelas-kelas yang cocok dengan hirarki package. Untuk melakukan hal ini kita cukup memisahkan masing-masing nama paket menggunakan tanda titil (.). bentuk umum pernyataan package multi level sebagai berikut:

Package pkg1[.pkg2.[.pkg3]]

Cotoh hirarki paket dapat di JDK:

Package java.awt.image

Berarti disimpan di system file windows di java/awt/image.

Kita harus memilih nama paket dengan hati-hati karena kita tidak dapat mengganti nama pakettanpa mengganti nama directori dimana kelas-kelas itu disimpan.

Penggunaan kelas atau interface di paket berbeda dengan lebih dahulu menyatakan:

1. Kalimat import kelas atau
2. Mengacu pada letak kelas atau interface yang digunakan secara lengkap.


ARRAY

Array adalah bentukan yang menyediakan penyimpanan sejumlah item bertipe sama. Item-item array dapat berupa data sderhana atau komposit. Array dijava dideklarasikan dengan kurung siku: [….]. array merupakan cara nyaman untuk mengelompokan informasi yang berhubungan.

Sintaks umum deklarasi array sebagaii berikut:

Type var-name[];

Atau

Type[] var-name;

Type adalah mendeklarasikan tipe basis dari array. Tipe basis menggunakan tipe dat bagi masing-masing elemen yang membentuk array. Dengan demikian, tipe basis untuk array menentukan tipe data yang dimuat oleh array.

Berikut ini adalah contoh deklarasi array di java:

Int numbers[];
Char[] letters;
Long grid[] [];

Pada java, kita tidak perlu menspesifikasikan ukuran array kosong saat mendeklarasikan array. Kita harus menyatakan ukuran array secara eksplisit saat melakukan penciptaan array menggunakan operator new() atau dengan mendaftarkan item-item untuk array pada saat penciptaan.

Keanehan lain di java adalah penempatan kurung siku pada deklarasi array. Kita dapat menempatkan kurung siku setelah tipe variable atau setelah identifier.

Berikut ini adalah contoh pendeklarasian array dengan menspesifikasian ukuran spesifik menggunakan operator new() dan dengan memberikan daftar item yang termasuk di dalam array.

Char alphabet[]=new() char[26]
Int primes={7, 11, 13};

Array bisa terdiri dari banyak dimensi namun disini saya hanya membahas dasar arraynya saja di java.


Sumber:
www.ilmukomputer.com
esensi-esensi bahasa pemograman java, bambang harianto, informatika bandung
Return top