membuat perintah exit program pada java

untuk membuat perintah exit /menutup aplikasi pada java yang perlu dilakukan hanya memberi perintah


System.exit(0);

agar tampil bagus  kita dapat memberi variasi dengan Joption pane


int selectedOption = JOptionPane.showConfirmDialog(null,
 "Apakah anda akan menutup system?", "Tutup Aplikasi", JOptionPane.YES_NO_OPTION);
 if (selectedOption == JOptionPane.YES_OPTION) {
 System.exit(0);
 }

ini penampakannya

exit

semoga berguna

Ditulis dalam java. Tag: . 8 Comments »

plugin swing di eclipse

kali ini saya akan share beberapa plugin swing yang bisa dipakai pada eclipse dan tentunya gratiss,

  1. jigloo
  2. windows builder
  3. visualswing4eclipse ( cara instalnya di ekstrak di folder dropin)

untuk jigloo lisensinya gratis untuk nonkomersial ,windows builder lisensinya lisensinya EPL ,visualswing4eclipse lisensinya EPL (Eclipse Public License 1.0) jadi bebas untuk tujuan komersial josss 😀

penampakan visualswing4eclipse

swing

 

penampakan windows builder

swing_wb

 

 

nah jika anda tertarik silahkan dicoba 🙂

filter untuk input numerik dengan javascript

kode sederhana untuk filter dengan javascript untuk input numerik, kita gunakan regex dan fungsi javascript

<html>
<body>
<script>
function textCounter(f) {

f.value = f.value.replace(/\D/ig,'');

}</script>

<form>

<input type='textbox' onKeyDown="textCounter(this)"
onKeyUp="textCounter(this)" >

</form>

</body>
</html>

semoga berguna 🙂

Dasar Regex

regex biasa digunakan untuk filtering, mencari suatu pola dalam sebuah string dan menggantinya

kali ini kita gunakan dibawah ini html  untuk tesnya

<!DOCTYPE html>
<html>
<body>

<script>
var str = "ini string yang mau dicari";  // diganti dengan string anda
var regg = /s..i/g;    // diganti dengan regex anda
document.write(str.match(regg));

</script>

</body>
</html>
 

atau kalou mau coba online bisa disini http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_regexp_i

sintak regex terdiri dari delimiter,pattern,modifier

contoh /hallo/g

/ = delimiter (digunakan untuk menentukan dimana pattern berawal dan berakhir)
hallo = pattern (pola string yang ingin ditemukan atau dicocokan)
g = modifier (mode regex meng-handlehasil pencarian string atau teks)

Modifier

terdiri dari GlobalCase-insensitive dan Multiline.

jika tanpa modifier (modifier dikosongi) berarti ini mode standart artinya
akan dicari hanya satu kata yang sama saja, sisanya akan diabaikan pada mode standar berlaku case sensitiv (huruf besar / kecil)

contoh

<script> var str = "Ini ini ini yang mau dicari";
 var regg = /ini/;
 document.write(str.match(regg));
 </script>
hasilnya : ini
 

walaupun karakter ini ada banyak tetapi tertulis satu dan yang diambil karekter Ini
karena kita memakai mopdifier standart (modifier yang dikosongi dan sifatnya case sensitif)

modifier g bersifat semua yang sama

modifier i bersifat incasesensitif biasanya digabungkan dengan modifier g menjadi ig

Wilcard

titik (.) dalam regex adalah wilcard artinya dapat mempunyai kecocokan dengan apapun  kecuali baris baru(“\n”) , satu wilcard hanya cocok dengan satu charakter

contoh

<script> var str = "string";
 var regg = /s.r/;
 document.write(str.match(regg));
 </script>
hasilnya : str
//jika ingin lebih maka tambahkan karekter wilcardnya misal
var regg = /s...n/;
hasilnya :strin
 

Caping ^  digunakan untuk mengecek kesamaan padaawal kalimat

contoh

<script> var str = "adastring";
 var regg = /ada/;
 document.write(str.match(regg));
 </script>
hasilnya : ada

<script> var str = "stringada";
 var regg = /ada/;
 document.write(str.match(regg));
 </script>
hasilnya : null ( tidak ditemukan)
 

bersambung
referensi :

http://belajarwebdesign.com/web-programming/mengenal-regular-expression/

http://bisakomputer.com/tutorial-php-pengenalan-dasar-dasar-regex/

http://blog.haqqi.net/2011/07/pengenalan-regex-php/

http://www.w3schools.com/js/js_obj_regexp.asp

menghitung sisa karakter textarea dengan javascript

kali ini kita membuat script yang akan menghitung sisa / jatah karakter yang dapat di inputkan pada sebuah textarea

problem utamanya adalah karakter enter dimana karakter ini dibaca 2 oleh browser

ok terimaksih buat

http://stackoverflow.com/questions/10030921/chrome-counts-characters-wrong-in-textarea-with-maxlength-attribute?lq=1

akire nemu buat ngatasin ketikan enternya,sebenarnya ada juga disini http://www.codefromjames.com/wordpress/?p=15

tapi susah dimengerti kodenya (sori agak noob gua hehehe)dan masih ada jeda / range

waktu untuk memunculkan hasilnya ketika diketik

file lengkapnya,simpan dengan nama sisakarakter.html disini saya memakai batas 148 jika ingin lebih / kurang nilai ganti semua nilai 148

dengan nilai yang anda inginkan

<html>

<head>
<script Language="JavaScript">
function textCounter(field,cntfield,maxlimit,f) {

var addition = 0;
 var newLines=f.value.match(/(\r\n|\n|\r)/g);
 if (newLines != null) {
 addition = newLines.length;
 }
 cntfield.value = (maxlimit - field.value.length) - addition;

}
</script>
</head>

<body>

<form id="sms_id" method="post" name="sms" >

<textarea style="display:inline;font-size: 14pt;" name="pesan" wrap="off"
 rows="10" maxlength="148" cols="40"
onKeyDown="textCounter(document.sms.pesan,document.sms.maks,148,this)"
onKeyUp="textCounter(document.sms.pesan,document.sms.maks,148,this)" ></textarea>
<input name="maks" type="text" id="batas" size="4" value="148" readonly/> Char
</form>
</body>
</html>

semoga berguna 🙂

referensi

http://stackoverflow.com/questions/10030921/chrome-counts-characters-wrong-in-textarea-with-maxlength-attribute?lq=1

Mengganti banyak karakter atau huruf dengan php

untuk mereplace / mengganti suatu huruf menggunakan php kita dapat menggunakan fungsi

str_replace(huruf target,huruf pengganti,string kata )

contoh


<?php

//jika satu kata
$pesan= str_replace('saya', 'aku',"saya jagoan");
kata asal : saya jagoan
hasil :aku jagoan

//jika banyak kata kita masukkan target kata yang mau diganti pada sebuah array,
//dibawah ini kata akan dihilangkan dengan diganti ''
$string_replace = array('\'', ';', '[', ']', '{', '}', '|', '^', '~');
$pesan= str_replace($string_replace, '',"\;[]inicontohkata");

kata asal : \;[]inicontohkata
hasil :inicontohkata
?>

semoga berguna 🙂

Kereta api bisnis ac bikin kedinginan

Kali ini cerita tentang perjalanan saya kemarin ke jember menaiki kereta api bisnis. Kebulan waku itu pesan langsung di situs resminya kereta api (karena pesan di situs resminya kita bisa memilih tempat duduk). Ya biar bisa sebangku sm doi gw dan menjauhi bangku yang dekat dengan toilet waktu hari H ternyata gw dapat kereta bisnis AC .( mungkin semua kreta bisnis udah di perbarui dengan ac oleh PT kereta api) maklum udah lama ndak naik kereta. Tapi ternyata pake ac ndak seenak yang dibayangkan ac di gerbong ada 3 dan berpasangan jadi jumlah nya 6 .mana dinyalakan semua, Jadi kepala depan belakang kena pusing deh!!. Tanya sama pegawai yang kasih bantal cuman bilang ya nanti akan saya sampaikan pada mekaniknya. Untung gw pake jaket tebel . Nah buat lindungin kepala dari belakang agan -agan bisa sewa bantal seperti saya nih screenshotnya
Tampak ac dari depan

???????????????????????????????

Tampak ac dari belakang + bantal pelindung saya

???????????????????????????????
akhirnya perjalanan pulang saya beli topi jamrud heheh biar tidak kedinginan

???????????????????????????????
Semoga berguna 🙂

Ditulis dalam info. Leave a Comment »

PHP Shorthand If/Else

php shorthand if adalah cara untuk mempersingkat fungsi if else di php
bentuknya seperti ini (condition) ? (true return value) : (false return value)
contoh

<?php 
$var = 5;
($var > 2 ? true : false); // returns true

?>

referensi:
http://davidwalsh.name/php-shorthand-if-else-ternary-operators
semoga berguna 🙂

Ditulis dalam web. Tag: . Leave a Comment »

Mengenal json (java script object notation)

kali ini saya mencoba share tentang json

definisi json menurut bahasa saya   adalah sebuah data yang terstruktur

kegunaan json

digunakan untuk pertukaran data (cenderung menggantikan xml) ,
misal saat request data pada website

Tipe media Internet resmi JSON adalah application/json sedangkan ekstensi berkasnya adalah .json

nilai data dalam JSON

  1. string dalam tanda kutip ganda, atau angka,
  2. Boolean (true atau false )
  3. null
  4. objek
  5. array atau larik
  6. numerik berupa integer, real, atau floating point

kelebihan json

  • ukuran datanya lebih kecil di banding dengan XML  (karena xml  terus mengulangi kata yang sama dalam tag-tag yang digunakan)
  • kecepatan parsing
  • bisa di uraikan dengan built-in JavaScript eval()
  • dapat di angkut atau di gunakan di AJAX

json objek dimulai dengan { dan diakhiri }

json array dimulai dengan  [ dan diakhiri oleh  ].

logika pertukaran data json

misal kita meminta data mahasiswa , ===> kemudian diproses oleh skrip pemroses dan dikembalikan dalam bentuk json ===>kepada script view memecah json ===> menampilkannya ke client dalam bentuk data yang kita minta

fungsi dukungan bahasa untuk json

php: json_encode() dan json_decode()

java : library untuk proses json  Json-lib

Format JSON

  1. Object adalah satu set nama/nilai yang tidak terurut.
  2. Penulisan objek dimulai dengan tanda { (left brace) dan diakhiri dengan tanda } (right brace).
  3. Setiap nama diikuti oleh tanda : (colon/titik dua) baru isinya/isi datanya
  4. pemisah , (koma) digunakan jika ada data lagi dibelakangnya

contoh json

json data ditulis sebagai pasangan nama  dan nilai nya.

Sepasang nama / nilai terdiri dari nama field (dalam tanda kutip ganda), diikuti oleh titik dua, diikuti dengan nilai:
contoh :
 "namaAnda" : "bima" 

Objek json ditulis di dalam kurung kurawal,

var obj = {};
Objek dapat berisi beberapa nama / pasangan nilai:
 { "namaAnda":"bim" , "alamat":"surabaya" }
 
 JSON array ditulis dalam tanda ”[ ]” (kurung persegi),Array dapat berisi beberapa objek:
 {
 "employees": [
 { "obyek1":"eni" , "alamat1":"sby" },
 { "obyek2":"ahmad" , "alamat2":"bandung" },
 { "obyek3":"wari" , "alamat3":"jkt" }
 ]
 }

sebuah object json

 var mahasiswa = {   "nomorInduk" : "7655677778",
                     "namaDepan": "arif",
                     "namaBelakang": "susilo",
                     "alamat": {
                               "namaJalan": "Jl. Sudirman 15A",
                                "kota": "Jakarta Selatan",
                                "provinsi": "DKI Jakarta",
                                "kodePos": 11111
                                },
                    "nomerTelepon": [
                                 "021 555-1234",
                                 "021 555-4567"
                                    ]
                 }
untuk mengaksesnya
 document.writeln(mahasiswa.nomorInduk);  // Output  7655677778
 Jika object mengandung object lagi di dalamnya, tambahkan titik dan nama properti di belakangnya:
 document.writeln(mahasiswa.alamat.namaJalan);  // Output Jl. Sudirman 15A

perbandingan xml dan json

xml

<mahasiswa>
<nim> 1212323</nim>
<nama> saero </nama>
</mahasiswa>

json

var mahasiswa =
            ({
                "nim":9050505,
                "nama":"saero"
             })
untuk lebih lengkapnya bisa berkunjung ke site  http://json.org/

referensi :

http://secangkirkopipanas.wordpress.com/2008/07/21/apa-itu-json/

http://id.wikipedia.org/wiki/JSON

http://www.ariona.net/apa-itu-json/

http://www.dte.web.id/2013/01/json-javascript-object-notation.html#.Ufa3LqxS6VE

http://everythingaboutboo.blogspot.com/2013/06/apa-itu-json.html

semoga berguna 🙂

Dasar koneksi http post android

kali ini kita mencoba membuat  koneksi http post pada android

post_tambah

skenarionya

aplikasi ini akan menginsert atau menambah data pada server menggunakan metode  POST
menu pada aplikasi :

  • tambah data : untuk menambah data
  • lihat data :untuk melihat data yang telah di tambah

jangan lupa tambahkan permission android.permission.INTERNET pada android manifest caranya

klik add | uses permission kemudian di kolom name bagian kanan pilih android.permission.INTERNET

file databasenya nama databasenya androidpost


CREATE TABLE IF NOT EXISTS `negara` (
`id_negara` int(11) NOT NULL AUTO_INCREMENT,
`negara` varchar(100) NOT NULL,
PRIMARY KEY (`id_negara`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

file phpnya

tampil.php


<?php

$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB');
mysql_select_db('androidpost', $link) or die('Cannot select the DB');

$sql=mysql_query("select * from negara ");
while($row=mysql_fetch_assoc($sql)) $output[]=$row;
print(json_encode($output));
mysql_close();
?>

tambah.php


<?php
$negara = $_POST['negara'];

$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB');
mysql_select_db('androidpost', $link) or die('Cannot select the DB');

/* grab the posts from the db */
$query = "insert into negara (negara) values('".$negara."')";
$result = mysql_query($query, $link) or die('Error query:  '.$query);
echo "sukkkk";

?>

file insert.java


package com.example.post_android;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class insert extends Activity {
private EditText tambah;
private Button tambah_btn;

/**
* Method yang dipanggil pada saat aplikaasi dijalankan
* */
@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.tambah);
tambah = (EditText) findViewById(R.id.tambah);

tambah_btn = (Button) findViewById(R.id.tambah_btn);
//beri perintah
tambah_btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {

eksekusi();

}
});
}
public void eksekusi() {

try {

HttpClient client = new DefaultHttpClient();
//kita mencoba di localhost
String postURL = "http://10.0.2.2/postandroid/tambah.php";

HttpPost post = new HttpPost(postURL);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("negara",tambah.getText().toString()));

UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePOST = client.execute(post);
HttpEntity resEntity = responsePOST.getEntity();
if (resEntity != null) {

Toast.makeText(this,"Sukses "+EntityUtils.toString(resEntity), Toast.LENGTH_SHORT).show();
}

} catch (Exception ex) {
Toast.makeText(this, "Tambah Data Gagal !", Toast.LENGTH_SHORT)
.show();
}

}

}

file lihat.java


package com.example.post_android;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.net.ParseException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;

import android.app.Activity;
public class lihat extends ListActivity {

List<String> fd_id=new ArrayList<String>();
List<String> fd_name=new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//   setContentView(R.layout.lihat);
String result = null;
InputStream is = null;
StringBuilder sb=null;

//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/postandroid/tampil.php");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection"+e.toString());
}

//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";

while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}

is.close();
result=sb.toString();

}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}

//try parse the string to a JSON object

try{
JSONArray jArray = new JSONArray(result);
JSONObject json_data=null;

for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
fd_id.add(json_data.getString("id_negara"));
fd_name.add(json_data.getString("negara"));

}

}catch(JSONException e1){
Toast.makeText(getBaseContext(), "Data Tidak ditemukan", Toast.LENGTH_LONG).show();
}catch (ParseException e1){
e1.printStackTrace();
}

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,fd_name));

}

protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l,v,position, id);
String negara = ""+ fd_name.get(position);
String idnya = ""+ fd_id.get(position);
Toast.makeText(this, "name:"+negara+" id:"+idnya, 1).show();
}

}

file MainActivity.java


package com.example.post_android;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);

String[] menu = new String[] { "Tambah Data", "Tampilkan Data"};

this.setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, menu));
}

@Override

protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// Get the item that was clicked
Object o = this.getListAdapter().getItem(position);
String pilihan = o.toString();
tampilkanPilihan(pilihan);
}

protected void tampilkanPilihan(String pilihan) {
try {
Intent i = null;
if (pilihan.equals("Tambah Data")) {
i = new Intent(this, insert.class);
} else if (pilihan.equals("Tampilkan Data")) {
i = new Intent(this, lihat.class);
}
startActivity(i);
} catch (Exception e) {
e.printStackTrace();
}
}
}

file tambah.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<EditText
android:id="@+id/tambah"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >

<requestFocus />
</EditText>

<Button
android:id="@+id/tambah_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tambah" />

</LinearLayout>

file lihat.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:background="#3b3b3b">
</ListView>
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/TextAppearance.Large"
android:gravity="center"
android:text="Data tidak ditemukan">
</TextView>

</LinearLayout>

file MainActivity.xml


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<Button
android:id="@+id/lihat_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tambah_data"
android:text="Lihat data" />

<Button
android:id="@+id/tambah_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Tambah Data" />

</RelativeLayout>

download kodenya

untuk file phpnya letakkan di folder postandroid

semoga berguna 🙂