secangkirkopipanas on the move!
Dear teman-teman semua, untuk meningkatkan kualitas postingan yang ada dan mempercepat proses, saat ini secangkirkopipanas pindah tempat. Anda bisa mengakses secangkirkopipanas di link ini!
Terima kasih
Dear teman-teman semua, untuk meningkatkan kualitas postingan yang ada dan mempercepat proses, saat ini secangkirkopipanas pindah tempat. Anda bisa mengakses secangkirkopipanas di link ini!
Terima kasih
[ You can find English version of this article here. ]
Definisi bilangan prima tidak lain adalah bilangan asli yang lebih besar dari 1 dan hanya habis dibagi oleh bilangan 1 dan bilangan itu sendiri. Contoh beberapa bilangan prima antara lain, 2, 3, 5, 7, 11, 13…
Nah, berikut ini aku akan share bagaimana membuat aplikasi Java untuk mencari bilangan prima secara rekursif.
/**
*
* @author secangkirkopipanas
*/
public class Prima {
private static int ambilNilaiRekursif(int number, int index) {
if (index == 1)
return 1;
else if (number % index == 0)
return 1 + ambilNilaiRekursif(number, --index);
else
return 0 + ambilNilaiRekursif(number, --index);
}
public static boolean cekBilanganPrima(int num) {
if (num > 1)
return (ambilNilaiRekursif(num, num) == 2);
else
return false;
}
public static void main(String[] args) {
int num = 3000;
if (cekBilanganPrima(num))
System.out.println("Bilangan Prima");
else
System.out.println("Bukan Bilangan Prima");
}
}
Semoga bermanfaat!
[ You can find English version of this article here. ]
Apa sich JSON? Sepertinya sering mendengar, tapi artinya dan cara penggunaannya masih kurang jelas. Yuks, mari kita belajar bersama tentang makhluk yang satu ini: JSON.
JSON merupakan singkatan dari JavaScript Object Notation, merupakan format untuk pertukaran data seperti halnya XML. JSON sangat mudah dimengerti oleh manusia, karena formatnya yang sederhana. Bahkan tidak hanya manusia, oleh mesin pun JSON sangat mudah untuk dibaca.
Untuk saat ini, sudah banyak bahasa pemrograman yang sudah mendukung penuh kehadiran teman baru kita ini. Tetapi apakah kita mau berkenalan lebih dekat lagi dengannya? Itu terserah teman-teman semua.
JSON telah dispesifikasikan di RFC 4627 oleh Douglas Crockford. Tipe media internet resmi untuk JSON adalah application/json. Sedangkan ekstensi file untuk JSON adalah .json.
Sebuah object dideklarasikan dengan:
var obj = {};
Berikut contoh object JSON:
var obj = { "firstName" : "Lilik",
"lastName" : "Haryanto",
"location" : "Jakarta" };
document.writeln(obj.firstName); // Output Lilik
document.writeln(obj.lastName); // Output Haryanto
document.writeln(obj.location); // Output Jakarta
Jika object mengandung object lagi di dalamnya, tambahkan titik dan nama properti di belakangnya:
var obj = { 'color' : 'red',
'animal' : { 'cat' : 'catty' }
};
document.writeln(obj.animal.cat); // Output catty
Berikut perbandingan XML dan JSON:
<person> <firstname>Lilik</firstname> <lastname>Haryanto</lastname> </person> |
({
"firstname" : "Lilik",
"lastname" : "Haryanto"
});
|
Dibandingkan dengan XML, parsing JSON membutuhkan waktu lebih cepat. Dengan berkembangnya teknologi AJAX, seakan-akan juga mendorong berkembangnya JSON. Hal ini terbukti dari begitu banyaknya format data JSON digunakan terutama pada teknologi AJAX ini.
Di beberapa bahasa pemrograman telah mendukung format data JSON, seperti di PHP > 5.1.x, fungsi json_encode() dan json_decode(). Selain itu, di Java juga sudah tersedia library untuk pengaksesan JSON, sebagai contoh Json-lib.
Jadi tunggu apa lagi, sudah saatnya merubah semua format data yang tadinya menggunakan XML ke dalam format JSON.
[ You can find English version of this article here. ]
Pasti teman-teman semua sudah pernah menggunakan aplikasi semacam Yahoo!Messenger, GoogleTalk, MSN, dan mIRC. Semua itu merupakan aplikasi yang digunakan untuk berkomunikasi melalui internet, atau istilah kerennya aplikasi chatting. Mungkin pernah berpikir, gimana sich cara buatnya?
Aku akan memberikan contoh sedikit cara membuat aplikasi chatting menggunakan Java dengan memanfaatkan protokol yang sudah tidak asing lagi, Jabber/XMPP. Pustaka yang akan aku pakai adalah Smack API, yang merupakan pustaka open source untuk membuat aplikasi chatting berbasis XMPP.
Sebelum teman-teman mulai mengembangkan aplikasi ini, tentunya dibutuhkan server XMPP, dan aku menggunakan Openfire, yang juga bersifat open source. Jadi jika belum ada di komputer, install-lah terlebih dahulu. Kalau sudah ter-install dengan baik, jalankan Openfire.

Kalau server XMPP (Openfire) sudah berjalan, coba lakukan pengetesan apakah server sudah terinstall dengan baik dengan menjalankan aplikasi XMPP client, aku mencoba dengan Pidgin, dengan konfigurasi seperti gambar di bawah ini.

Kalau teman-teman bisa login, berarti server sudah berjalan dengan baik.
Langkah berikutnya adalah membuat aplikasi Java. Berikut adalah program kecil yang berfungsi untuk mengirimkan pesan ke salah satu user Jabber yang sudah terdaftar di server:
/**
* Filename: SendJabberMessage.java
* @author secangkirkopipanas
*/
package jabber;
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.ChatManager;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
public class SendJabberMessage {
public static void main(String[] args) {
try {
// Create a connection to the localhost server on a specific port (default is 5222)
ConnectionConfiguration config = new ConnectionConfiguration("127.0.0.1", 5222);
XMPPConnection conn = new XMPPConnection(config);
conn.connect();
conn.login("secangkirkopipanas", "password");
ChatManager chatmanager = conn.getChatManager();
Chat newChat = chatmanager.createChat("secangkirkopipanas@localhost", new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.out.println("Received message: " + message);
}
});
newChat.sendMessage("Hello World!");
} catch (XMPPException xe) {
xe.printStackTrace();
}
}
}
Kompilasi code di atas, dan jalankan. Jangan lupa untuk menjalankan aplikasi client terlebih dahulu untuk melihat hasilnya. Berikut hasil yang diperoleh jika menggunakan Pidgin:

Tidak sesulit yang dibayangkan, bukan? Good luck ya, semoga berhasil.
Mungkin temen-temen sudah sering mendengar istilah Web Services khan? Nah, dengan menggunakan teknologi ini, ternyata mimpi kita untuk membangun aplikasi multi-platform bisa menjadi kenyataan.
Kali ini aku akan menjelaskan cara mengintegrasikan teknologi PHP dan J2ME menggunakan teknologi Web Services. Pada sisi PHP, aku menggunakan pustaka NuSOAP, sedangkan di J2ME aku menggunakan pustaka KSOAP2.
Berikut code PHP untuk membangun server Web Services menggunakan NuSOAP (aritmatika.php):
<?php
// include NuSOAP library
require_once('nusoap-0.7.3/lib/nusoap.php');
// Create Web Service Server
$server = new soap_server;
$server->configureWSDL('aritmatikawsdl', 'urn:aritmatikawsdl');
// Register Services (Add)
$server->register('add', // method name
array('num1' => 'xsd:string', 'num2' => 'xsd:string'), // input parameters
array('result' => 'xsd:string'), // output parameters
'urn:aritmatikawsdl', // namespace
'urn:aritmatikawsdl#add', // soapaction
'rpc', // style
'encoded', // use
'Add num1 and num2' // documentation
);
// Define Services
function add ($num1, $num2) {
return $num1 + $num2;
}
// Register Services (Substract)
$server->register('substract', // method name
array('num1' => 'xsd:string', 'num2' => 'xsd:string'), // input parameters
array('result' => 'xsd:string'), // output parameters
'urn:aritmatikawsdl', // namespace
'urn:aritmatikawsdl#substract', // soapaction
'rpc', // style
'encoded', // use
'Substract num1 and num2' // documentation
);
// Define Services
function substract ($num1, $num2) {
return $num1 - $num2;
}
$server->service($HTTP_RAW_POST_DATA);
?>
Berikut code J2ME untuk membangun client Web Services menggunakan KSOAP2:
package org.secangkirkopipanas.me.nusoap;</code>
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import org.ksoap2.*;
import org.ksoap2.transport.*;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.xmlpull.v1.XmlPullParserException;
/**
* @author secangkirkopipanas
*/
public class NuSOAPClient extends MIDlet {
private Display display;
private String url = "http://localhost:5000/php/nusoap-service/aritmatika.php";
private TextBox textbox = null;
public NuSOAPClient() {
display = Display.getDisplay(this);
}
public void startApp() {
try {
testWebService();
} catch (Exception ex) {
System.out.println(ex);
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void testWebService() throws Exception {
StringBuffer stringBuffer = new StringBuffer();
TextBox textBox = null;
// First WebService - echos name that is passed in, in this case 'Robertus Lilik Haryanto'
String method = "add";
SoapObject client = new SoapObject(url, method);
client.addProperty("num1", "5");
client.addProperty("num2", "5");
HttpTransport transport = new HttpTransport(url);
// Creating the Soap Envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = client;
// Call the WebService
try {
transport.call(method, envelope);
} catch(XmlPullParserException io) {
System.err.println(io);
}
// Format the Result
String result = envelope.getResponse().toString();
stringBuffer.append(result);
// display results in textbox
textBox = new TextBox("Hasil dari 5 + 5 adalah", stringBuffer.toString(), 1024, 0);
display.setCurrent(textBox);
}
}
Jika temen-temen sudah berhasil, kompilasi source code di atas. Temen-temen akan melihat hasil dari aplikasi J2ME seperti gambar berikut:

Semoga temen-temen berhasil dalam mengembangkan aplikasi ini.
Good luck!