Rabu, 02 Mei 2012

SMTP (simple mail transfer protocol) dengan Java



              Kali ini kita akan membahas tentang SMTP tetapi khusus untuk client. Simple Mail Transfer Protocol (SMTP) adalah sebuah standar Internet untuk surat elektronik (e-mail) transmisi internet (IP) jaringan Protokol. SMTP pertama kali didefinisikan oleh RFC 821 (1982, akhirnya menyatakan STD 10), dan terakhir diperbarui oleh RFC 5321 (2008) yang meliputi SMTP diperpanjang (ESMTP) penambahan, dan merupakan protokol yang digunakan secara luas saat ini. 

Listing Program :

import java.io.*;
import java.net.*;
public class smtpClient{
public static void main (String[] argv)
{
 Socket smtpSocket=null;
 DataOutputStream os=null;
BufferedReader is=null;
try
{
smtpSocket= new Socket("mail.uajy.ac.id",25);
os=new DataOutputStream (smtpSocket.getOutputStream());
is=new BufferedReader (new
InputStreamReader (smtpSocket.getInputStream()));
}
catch(UnknownHostException e){
System.err.println("Nama komputer tidak dikenali");
}
catch (IOException e){
System.err.println("Tidak dapat melakukan operasi io");
if(smtpSocket!=null && os!=null && is!=null)
try{

//mengirim dan mencetak pesan
System.out.println(is.readLine());
os.writeBytes("HELLO\r\n");
System.out.print("HELLO\n");
System.out.println(is.readLine());
os.writeBytes("MAIL FROM:any@mail\r\n");
System.out.print("MAIL FROM:any@mail\n");
System.out.println(is.readLine());
os.writeBytes("RCPT To:kusnadi@mail.uajy.ac.id\r\n");
System.out.print("RCPT To:kusnadi@mail.uajy.ac.id\n");
System.out.println(is.readLine());
os.writeBytes("DATA\r\n");
System.out.print("DATA\n");
System.out.println(is.readLine()); 
os.writeBytes("From: any@mail\r\n");
System.out.print("From: any@mail\n");
System.out.println(is.readLine());
os.writeBytes("Subject: testing\r\n");
System.out.print("Subject: testing\n");
System.out.println(is.readLine());
os.writeBytes("Hi, ini percobaan kirim email.\r\n");
System.out.print("Hi, ini percobaan kirim email.\n");
System.out.println(is.readLine());
os.writeBytes("\r\n\r\n");
System.out.print(".\n");
System.out.println(is.readLine());
os.writeBytes("QUIT\r\n");
System.out.print("QUIT\n");
System.out.println(is.readLine());
//menutup semua object
os.close();
is.close();
smtpSocket.close();
}catch(UnknownHostException e){
System.err.println("Nama komputer tidak dikenali");
}catch(IOException e){
System.err.println("Tidak dapat melakukan operasi io");
}
}
}


Setelah file java disimpan maka langkah selanjutnya kita buka command prompt (CMD). Dicmd kita masuk pada direktori dimana file smptClient.java kita simpan.




setelah program di run 

Aplikasi Client-Server sederhana menggunakan Java




Pada kesempatan kita akan mencoba membangun suatu interaksi antara client dan server dalam suatu computer. Pada percobaan ini kita hanya menggunakan 1 komputer saja, karena hanya program sederhana dan hanya untuk pembelajaran. Program ini mempunyai dua coding yang berbeda yaitu simpleServer.java dan simpleClient.java. Keduanya kita buat pada sebuah notepad dengan nama berbeda. Masing-masing listingnya adalah sebagai berikut: 

Coding simpleServer.java :

import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket (TESTPORT);
System.out.println("Aplikasi Server hidup... ");
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader (new InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei. printStackTrace();
}
try {
line = is.readLine();
System.out.println ("Terima : " + line);
if (line.compareTo("salam") == 0 ) {
os.writeBytes("salam juga");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}
try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}

Coding simpleClient.java :

import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main (String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream ()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci : ");
userInput = stdin.readLine() ;
os.writeBytes(userInput + "\n");
} catch (IOException ex) {
System.out.println("Error writing to server... " + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine() ;
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace() ;
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}

simpleServer di run 

simpleClient di run 

Program Java melihat IP melalui nama PC anda



koding 

setelah di run 


Pada tulisan ini akan membuat suatu program java untuk menampilkan IPkomputer kita tetapi berdasarkan nama komputer.Pertama yang harus dilakukan adalah kita ketik coding seperti dibawah ini dan simpan dengan namaNsLookup.java. Pada program ini kita akan simpan di direktori  yang kita ingin kan lalu panggil sesuai dengan nama classnya di cmd maka hasilnya akan seperti gambar setelah di run 
.

Menampilkan nama IP dengan Java




koding


Pada  Listing  program java diatas merupakan listing untuk menampilkan IPtoName dari IP Address Komputer. dimana akan ditampilkan alamat ip yang digunakan. jika alamat ip tidak diketahui, maka akan menampilkan pesan "invalid IP". tampilan ip saat program diatas gunakan seperti di bawah ini.

setelah di run 

Cek nama PC anda dengan Java

Disini kita buat program java untuk cek nama PC atau Laptop anda .


koding



                  Program ini merupakan program untuk mengetahui nama Komputer yang kita gunakan dan setelah listing tersebut digunakan di laptop saya maka akan menghasilkan output nama Komputer saya seperti dibawah ini.


setelah di run

Mengecek IP dengan Program JAVA



Disini kita membuat program java untuk mengetahui IP address yang ada pada Komputer atau Laptop kita .

koding

Program yang dibuat dengan menggunakan bahasa pemrograman java diatas merupakan program untuk mengetahui sebuah IP Address pada laptop atau PC yang anda miliki .untuk merun aplikasi di atas anda harus menginstall jdk java terlebih dahulu di laptop anda. di bawah ini outputnya 


setelah di run 


Quantum Komputer
Quantum Computer atau komputer kuantum memanfaatkan fenomena ‘aneh’ yang disebut sebagai superposisi. Dalam mekanika kuantum, suatu partikel bisa berada dalam dua keadaan sekaligus. Inilah yang disebut keadaan superposisi. Dalam komputer kuantum, selain 0 dan 1

dikenal pula superposisi dari keduanya. Ini berarti keadaannya bisa berupa 0 dan 1, bukan hanya 0  atau 1 seperti di komputer digital biasa. Komputer kuantum tidak menggunakan Bits tetapi QUBITS (Quantum Bits). Karena kemampuannya untuk berada di bermacam keadaan (multiple states), komputer kuantum memiliki potensi untuk melaksanakan berbagai perhitungan secara simultan sehingga jauh lebih cepat dari komputer digital. 

Kini Sebuah perkembangan teknologi baru telah lahir yaitu Komputer Quantum, debutnya pada tanggal 13 February, 20 tahun lebih cepat dari jadwal sebelumnya.Kemampuan komputasi nya yang luar biasa ( dapat melakukan 64000 operasi secara simultan).

Dengan latar belakang Hukum Moore, Bahwa secara bertahap ukuran circuit chip akan semakin kecil didalam paket chip silikon dan nantinya akan tercapai suatu titik dimana masing-masing elemen tidak akan lebih luas dari ukuran beberapa atom. (Bisa dilihat HP, PDA dan Komputer-komputer sekarang yang makin kecil dan tipis aja..) Ini dikarenakan dalam skala atomik terdapat kelakuan dan sifat dari sirkuit yang memenuhi hukum fisika mekanika kuantum.

Mungkin yang akan menjadi pertanyaan adalah apakah kelebihannya dibandingkan super komputer yang telah ada sekarang? menurut Professor Seth Llyd dari MIT, Dalam komputer Quantum setiap satu posible input ada pada waktu yang sama- dengan kata lain milyaran komputer yang dapat bekerja secara paralel. (Dalam universe yang paralel menurut beberapa pengertian dari quantum mekanik).

Jika komputer sekarang saja, kita telah ter takjub kan dengan kemampuannya, apalagi dengan komputer kuantum. Bisa-bisa dengan adanya komputer kuantum sekedip mata saja mencetak dan memproses ribuan kertas kerja kita, mengerjakan komputasi menghitung jarak dan ukuran galaksi-galaksi dijagat raya dengan cepat,bahkan bisa
mewujudkan audio visual 3D yang lebih nyata dan yang sangat mengerikan adalah terciptanya robot yang bisa melebihi kemampuan manusia atau manusia yang dicangkokkan dengan otak komputer kuantum? pastinya akan sangat luar biasa bukan?



              http://www.fisikaunri.org/node/24

Selasa, 10 April 2012

Mobile Computing

1) Definisi Mobile Computing 
Pada bagian pertama ini kita akan “berkenalan” dulu dengan mobile computing. Apa itu mobile computing? Beberapa pengertian tentang mobile computing diantaranya :
  • Mobile computing merupakan paradigma baru dari teknologi yang mampu melakukan komunikasi walaupun user melakukan perpindahan.
  • Merupakan
  • kemajuan teknologi komputer, sering disebut sebagai mobile computer (portable computer) yang dapat berkomunikasi dengan jaringan tanpa kabel (nirkabel).
  • Merupakan
  • sekumpulan peralatan(hardware), data, dan perangkat lunak aplikasi yang bermobilisasi/berpindahlokasi.
  • Merupakan
  • kelas tertentu dari system terdistribusi dimana beberapa node dapat melepaskan diri dari operasi terdistirbusi, bergerak bebas, dan melakukan koneksi kembali pada jaringan yang berbeda.
  • Tidaksamadenganwireless
  • computing.
Dari definisi diatas kita dapat memahami mengapa kita membutuhkan mobile computing. Kata kuncinya adalah kita manusia dinamis yang senantiasa bergerak dan berkembang dari satu keadaan ke keadaan yang lain. Sehingga membutuhkan suatu device yang mampu mengikuti pergerakan kita. Bergerak disini dilihat dari dua sisi yaitu orang dan device.
Orang bergerak

  • Perpindahan
  • posisi geografis
  • Perpindahan
  • jaringan komunikasi
  • Perpindahan
  • peralatan komunikasi
  • Perpindahan
  • antara aplikasi
Device bergerak
  • Perpindahan
  • posisi geografis
  • Perpindahan
  • jaringan komunikasi.
2) Perkembangan H/W (Hardware)
Seperti yang kita ketahui hardware berkembang sangat pesat. Khususnya hardware yang berhubungan dengan mobile computing baik dari sisi tampilan luarnya maupun dari teknologi didalamnya. Seperti yang dapat di ilustrasikan pada gambar di bawah ini :Compaq Luggable ~ 1987IBM Linux Wristwatch ~ 2000
3) Perkembangan Mobile Computing
4) Aplikasi Mobile computing
Setelah kita mengetahui mengapa kita membutuhkan mobile computing, kita bisa menyebutkan mobile applications yang sudah ada saat ini. Diantaranya adalah :

  • Kendaraan
  • (untuk pemantauan dan koordinasi, GPS)
  • Peralatan
  • Emergensi(akses kedunia luar)
  • Akses
  • web dalam keadaan bergerak
  • Location aware services
  • Information services
  • Disconnected operations (mobile agents)
  • Entertaintment
  • (network game groups)
Jenis Mobile Computing
  1. Laptop
  1. Wearable computer
  1. PDA
  1. Smart phone
  1. Carputer
  1. UMPC

5) Keterbatasan Mobile Computing

  • Bandwidth yang belum memadai
  • Standard keamanan
  • Pemakaian listrik
  • Interface untuk transmisi
  • User Interface
  • Kesehatan
http://ocw.gunadarma.ac.id/course/computer-science-and-information/computer-system-s1/sistem-komputasi-bergerak

Rabu, 28 Maret 2012

Computational Semantic

Komputasi (Computational)>>Komputer : sebagai perangkat yang digunakan manusia (user) untuk memecahkan sebuah masalah tertentu, yakni sains dengan menggunakan algoritma (langkah-langkah) melalui input (masukan) ke komputer itu sendiri . inputan tersebut akan di analisa oleh komputer .


Semantik (Semantic) : Semantik adalah studi tentang hubungan antara suatu pembeda linguistic dengan hubungan proses mental atau simbol dalam aktifitas bicara .


Lebih jelasnya semantik adalah cabang linguistik yang mempelajari makna yang terkandung pada suatu bahasa, kode, atau jenis representasi lain. Dengan kata lain, Semantik adalah pembelajaran tentang makna. Semantik biasanya dikaitkan dengan sintaksis yakni pembentukan simbol kompleks dari simbol yang lebih sederhana dan pragmatika yakni penggunaan praktis simbol oleh komunitas pada konteks tertentu.


Komputasional Semantik (Computational Semantic) adalah Komputasi semantik adalah disiplin yang relatif baru yang menggabungkan wawasan dari formal semantics, computational linguistics, and automated reasoning. semantik, linguistik komputasi, dan penalaran otomatis. Tujuannya sendiri, untuk menemukan teknik untuk secara otomatis membangun representasi semantik untuk ungkapan bahasa manusia, representasi yang dapat digunakan untuk melakukan inferensi.


Senin, 12 Maret 2012

CLOUD COMPUTING



Cloud computing secara kata bila diterjemahkan kedalam Bahasa Indonesia dapat berbunyi "Komputasi Awan", namun sampai saat sekarang ini "mungkin" belum memiliki definisi ilmiah ataupun pengartian pokok yang jelas kecuali sebuah konsep pemahaman dalam rangka pembuatan kerangka kerja komputasi secara online lokal atau pun global  dimana terdapat beragam aplikasi maupun data  dan media penyimpanan  yang dapat diakses dan digunakan secara berbagi  dan bersamaan  oleh para pengguna yang beragam - mulai dari perseorangan sampai kepada kelas pengguna korporasi (atau perusahaan).
Menurut saya cloud computing itu sendiri adalah suatu di sistem virtualiasi apapun baik server, data maupun yang lainnya. dimana data atau sever kita kita gandakan yang bersifat virtual sebagai antisipasi apa bila server kita mengalami down dan data yang kita miliki rusak atau hilang .jadi apabila server kita down atau hangg maka otomatis server virtual bisa kita gunakan sebagai cadangan dan untuk data kita bisa menjadikan tempat menyimpan data kita apa bila suatu waktu data kita hilang kita dapat mengambilnya kembali yang disimpan di dalam cloud .
Cloud computing tidak lama lagi akan menjadi realita, dan ini akan memaksa para IT professional untuk cepat mengadaptasi yang dimaksud dengan teknologi ini. Akibat dari keadaan sosial ekonomi yang terus mengalami revolusi yang sangat cepat sehingga melahirkan cloud computing, dimana teknologi ini dibutuhkan untuk kecepatan dan realibilitas yang lebih dari teknology yang sebelumnya sehingga teknologi ini nantinya akan mencapai pada tingkat investasi dalam term cloud service yang cepat dan mudah.





Cloud computing berbeda dengan Grid computing atau Paralel Computing, dimana Grid computing dan Paralel computing adalah lebih merupakan sebuah bagian dari prasarana fisik bagi penyediaan konsep Cloud computing.