//honeypot demagogic

 Forum DhammaCitta. Forum Diskusi Buddhis Indonesia

Author Topic: [ask] Java programming  (Read 6526 times)

0 Members and 1 Guest are viewing this topic.

Offline Lex Chan

  • Global Moderator
  • KalyanaMitta
  • *****
  • Posts: 3.437
  • Reputasi: 134
  • Gender: Male
  • Love everybody, not every body...
[ask] Java programming
« on: 05 August 2010, 05:16:37 PM »
Code: [Select]
public class MainClass {
  static int m(Integer v) {
    return v ; // auto-unbox to int
  }

  public static void main(String args[]) {
    Integer iOb = m(100);

    System.out.println(iOb);
  }
}

mau nanya, gunanya "auto-unbox" itu apa?
kayaknya kok malah cuma muter2..

kalo langsung: Integer iOb = 100; kan harusnya udah beres..
kenapa perlu pake Integer iOb = m(100); ? :-?

“Give the world the best you have and you may get hurt. Give the world your best anyway”
-Mother Teresa-

Offline tesla

  • KalyanaMitta
  • *****
  • Posts: 6.426
  • Reputasi: 125
  • Gender: Male
  • bukan di surga atau neraka, hanya di sini
Re: [ask] Java programming
« Reply #1 on: 05 August 2010, 05:32:40 PM »
iya, udah beres karena sejak jdk1.5 udah ada feature auto boxing

tapi versi di bawah itu perlu convert manual antara Wrapper Class (Integer) dg primitive data type (int)

iya coding itu berputar2... langsung aja
Lepaskan keserakahan akan kesenangan. Lihatlah bahwa melepaskan dunia adalah kedamaian. Tidak ada sesuatu pun yang perlu kau raup, dan tidak ada satu pun yang perlu kau dorong pergi. ~ Buddha ~

Offline tesla

  • KalyanaMitta
  • *****
  • Posts: 6.426
  • Reputasi: 125
  • Gender: Male
  • bukan di surga atau neraka, hanya di sini
Re: [ask] Java programming
« Reply #2 on: 05 August 2010, 05:37:58 PM »
mungkin contoh coding tadi ingin menjelaskan auto-boxing & auto-unboxing, tapi contohnya malah terlihat payah :))

dulu sih kalau ada data int mo diubah ke Integer (wrapper class) perlu code gini

Code: (manual boxing) [Select]
int primitivetype = 10;
Integer wrapperclass = new Integer(primitivetype)

dan utk Integer ke int
Code: (unboxing) [Select]
Integer wrapperclass = ...;
int primitivetype = wrapperclass.intValue();

sekarang semua udah serba otomatis
Lepaskan keserakahan akan kesenangan. Lihatlah bahwa melepaskan dunia adalah kedamaian. Tidak ada sesuatu pun yang perlu kau raup, dan tidak ada satu pun yang perlu kau dorong pergi. ~ Buddha ~

Offline Lex Chan

  • Global Moderator
  • KalyanaMitta
  • *****
  • Posts: 3.437
  • Reputasi: 134
  • Gender: Male
  • Love everybody, not every body...
Re: [ask] Java programming
« Reply #3 on: 05 August 2010, 05:45:47 PM »
nanya lagi:
apa bedanya antara Wrapper Class (Integer) dengan primitive data type (int) ?
apa kelebihannya dibikin Class dibandingkan langsung dari primitive-nya?

maklum, aye baru mulai belajar bahasa Jawa Java. ;D
sebelumnya terbiasa dengan Delphi dan C/C++..
“Give the world the best you have and you may get hurt. Give the world your best anyway”
-Mother Teresa-

Offline tesla

  • KalyanaMitta
  • *****
  • Posts: 6.426
  • Reputasi: 125
  • Gender: Male
  • bukan di surga atau neraka, hanya di sini
Re: [ask] Java programming
« Reply #4 on: 05 August 2010, 05:58:20 PM »
nanya lagi:
apa bedanya antara Wrapper Class (Integer) dengan primitive data type (int) ?
apa kelebihannya dibikin Class dibandingkan langsung dari primitive-nya?

maklum, aye baru mulai belajar bahasa Jawa Java. ;D
sebelumnya terbiasa dengan Delphi dan C/C++..

wrapper class adalah Object, primitive data type yah primitive.

kenapa pakai Object, ga pake primitive aja lebih irit:
1. bisa tampung null (contoh di database integer nya bisa null, jadi lebih cocok pake Integer daripada int)
2. bisa ditampung ke variable yg lom tau datanya. mis Object obj = new Integer(11); nantinya bisa diisi obj = "sabale";
3. struktur data di java semua adalah object, contoh ArrayList, Vector, Set. jadi perlu dikonversi ke wrapper class kalau mo tampung di sana.
Lepaskan keserakahan akan kesenangan. Lihatlah bahwa melepaskan dunia adalah kedamaian. Tidak ada sesuatu pun yang perlu kau raup, dan tidak ada satu pun yang perlu kau dorong pergi. ~ Buddha ~

Offline Lex Chan

  • Global Moderator
  • KalyanaMitta
  • *****
  • Posts: 3.437
  • Reputasi: 134
  • Gender: Male
  • Love everybody, not every body...
Re: [ask] Java programming
« Reply #5 on: 10 August 2010, 09:22:56 AM »
gunanya annotation seperti  [at] Override itu apa?
“Give the world the best you have and you may get hurt. Give the world your best anyway”
-Mother Teresa-

Offline tesla

  • KalyanaMitta
  • *****
  • Posts: 6.426
  • Reputasi: 125
  • Gender: Male
  • bukan di surga atau neraka, hanya di sini
Re: [ask] Java programming
« Reply #6 on: 25 August 2010, 02:09:20 PM »
memberi info lain pada code (ouch... gw sendiri langka sekali pakai ini)

contohnya utk menandakan (menegaskan) method tsb adalah Override, ya dikasih  [at] Override

utk engine mapping database<->object byk pakai annotation ini utk menandakan method&property ini begini dan begitu...
mis:

 [at] PrimaryKey // misal aja, kalau nama sebenarnya lupa
int id; // artinya ini primary key

annotation bisa lebih rumit lagi dikasih parameter
 [at] PrimaryKey(generator=incremental)
int id;

itu contoh aja... utk lengkapnya liat di: http://en.wikipedia.org/wiki/Java_annotation
Lepaskan keserakahan akan kesenangan. Lihatlah bahwa melepaskan dunia adalah kedamaian. Tidak ada sesuatu pun yang perlu kau raup, dan tidak ada satu pun yang perlu kau dorong pergi. ~ Buddha ~

Offline Lex Chan

  • Global Moderator
  • KalyanaMitta
  • *****
  • Posts: 3.437
  • Reputasi: 134
  • Gender: Male
  • Love everybody, not every body...
Re: [ask] Java programming
« Reply #7 on: 23 September 2010, 06:58:30 PM »
gimana caranya append byte array?

misal:
Quote
byte[] array1 = "halo".getBytes("UTF-8");
byte[] array2 = "world".getBytes("UTF-8");
byte[] array3 = null;


aye mau gabungin array1 dan array2 ke dalam array3.
hasil akhir: array3 = "helloworld"

^:)^
“Give the world the best you have and you may get hurt. Give the world your best anyway”
-Mother Teresa-

Offline tesla

  • KalyanaMitta
  • *****
  • Posts: 6.426
  • Reputasi: 125
  • Gender: Male
  • bukan di surga atau neraka, hanya di sini
Re: [ask] Java programming
« Reply #8 on: 24 September 2010, 11:09:52 PM »
gimana caranya append byte array?

misal:
Quote
byte[] array1 = "halo".getBytes("UTF-8");
byte[] array2 = "world".getBytes("UTF-8");
byte[] array3 = null;


aye mau gabungin array1 dan array2 ke dalam array3.
hasil akhir: array3 = "helloworld"

^:)^

maaf nanya balik, kenapa mo ambil bytes nya UTF-8?
apa mau disimpan? kalau kebutuhannya sih mending pake String aja.
tar pas mo di transfer ke media output lain baru diubah ke bytes (dg encoding UTF-8)
Quote
String a1 = "Halo";
String a2 = "World";
String a3 = a1+a2;
bytes[] arr = a3.getBytes("UTF-8");

tapi kalau inti permasalahannya adalah menggabungkan array, kayanya ga ada dalam api standard (soalnya utk penggunaan dynamic begini udah ada collection api yg lebih bagus mis java.util.ArrayList).
Quote
byte[] arr1 = ...
byte[] arr2 = ...
byte[] arr3 = new byte[arr1.length + arr2.length];
for (int i = 0; i < arr1.length; i++) arr3 = arr1;
for (int i = 0; i < arr2.length; i++) arr3[arr1.length+i] = arr2;

utk konversi string ke bytes gw ga yakin bisa jalan.
sebab setau gw utf-8 itu bentuk bytes nya ada header (3 bytes di depan utk menandakan encoding)
jadi "Halo" ---> x x x H a l o
"World" ----> x x x W o r l d
kalau ditambahkan bukan jadi x x x H a l o W o r l d
tapi jadi x x x H a l o x x x W o r l d
ga pasti juga sih... coba aja sendiri...
Lepaskan keserakahan akan kesenangan. Lihatlah bahwa melepaskan dunia adalah kedamaian. Tidak ada sesuatu pun yang perlu kau raup, dan tidak ada satu pun yang perlu kau dorong pergi. ~ Buddha ~

Offline Lex Chan

  • Global Moderator
  • KalyanaMitta
  • *****
  • Posts: 3.437
  • Reputasi: 134
  • Gender: Male
  • Love everybody, not every body...
Re: [ask] Java programming
« Reply #9 on: 25 September 2010, 12:48:40 PM »
ada cara lain, dikasih tau temen:

System.arraycopy()

public static void arraycopy(Object source, int sourcePosition, Object destination, int destinationPosition, int numberOfElements)

case is solved..  ;D
“Give the world the best you have and you may get hurt. Give the world your best anyway”
-Mother Teresa-

Offline tesla

  • KalyanaMitta
  • *****
  • Posts: 6.426
  • Reputasi: 125
  • Gender: Male
  • bukan di surga atau neraka, hanya di sini
[share] Java programming --- membaca mutasi di bank mandiri
« Reply #10 on: 03 January 2011, 02:50:13 PM »
karena saya google utk cari baca mutasi bank mandiri lom ketemu yg sukses (cuma ketemu bca)
sedangkan yg bank mandiri selalu menjadi problem di forum2...
ada yg bilang udah bisa, tapi ga mau share (padahal nanya di forum jg)
ini gw share code gw... udah di modif utk kepentingan mudah di baca... & hanya print ke System.out <table> nya
jadi bisa diubah sendiri sesuai kebutuhan masing2. seharusnya logic nya juga transparant, lengkap dg komeng2nya, jadi bisa di-port bagi yg lebih suka pakai curl

Code: [Select]
public void readBankMandiri() throws Exception {

HttpGet httpGet;
HttpPost httpPost;
HttpResponse resp;
List<NameValuePair> formParams;
UrlEncodedFormEntity entity;

// open login page
httpGet = new HttpGet("https://ib.bankmandiri.co.id/retail/Login.do?action=form&lang=in_ID");
resp = httpClient.execute(httpGet);
EntityUtils.consume(resp.getEntity());

// login
formParams = new ArrayList<NameValuePair>();
formParams.add(new BasicNameValuePair("action", "result"));
formParams.add(new BasicNameValuePair("userID", "budi_handuk888"));
formParams.add(new BasicNameValuePair("password", "123456"));
formParams.add(new BasicNameValuePair("image.x", "0"));
formParams.add(new BasicNameValuePair("image.y", "0"));
entity = new UrlEncodedFormEntity(formParams, "UTF-8");
httpPost = new HttpPost("https://ib.bankmandiri.co.id/retail/Login.do");
httpPost.setEntity(entity);
resp = httpClient.execute(httpPost);
EntityUtils.consume(resp.getEntity());

// check if login success?
String successUrl = "https://ib.bankmandiri.co.id/retail/Redirect.do?action=forward";
Header[] locationHeaders = resp.getHeaders("Location");
if (locationHeaders.length == 0 || locationHeaders[0].getValue().equals(successUrl) == false) {
System.out.println("Login failed!");
return;
}

// open page to obtain account list
httpGet = new HttpGet("https://ib.bankmandiri.co.id/retail/TrxHistoryInq.do?action=form");
resp = httpClient.execute(httpGet);

// read content
StringBuilder buffer = new StringBuilder();
InputStream instream = resp.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}

// find string between: <select name="fromAccountID"> and </select>
String begin = "<select name=\"fromAccountID\">",
       end = "</select>";
int beginPos = buffer.indexOf(begin) + begin.length(),
    endPos = buffer.indexOf(end, beginPos);
String accountStr = buffer.substring(beginPos, endPos);
// account values is in each of <option value="{acc_id}">{acc_no}</option>
ArrayList<String> accountList = new ArrayList<String>();
begin = "<option value=\"";
end = "\"";
beginPos = 0;
endPos = 0;
while (true) {
if ( (beginPos = accountStr.indexOf(begin, endPos)) == -1) break;
beginPos += begin.length();
if ( (endPos = accountStr.indexOf(end, beginPos)) == -1) break;
// first account id will empty string "Silahkan Pilih"
if (beginPos != endPos) {
String accId = accountStr.substring(beginPos, endPos);
accountList.add(accId);
}
}

// get account statement
formParams = new ArrayList<NameValuePair>();
formParams.add(new BasicNameValuePair("action", "result"));
formParams.add(new BasicNameValuePair("fromAccountID", accountList.get(0))); // <--- baca account pertama saja
formParams.add(new BasicNameValuePair("searchType", "R"));
formParams.add(new BasicNameValuePair("fromDay", "3")); // <--- tanggal from & to, cukup jelas ya
formParams.add(new BasicNameValuePair("fromMonth", "12"));
formParams.add(new BasicNameValuePair("fromYear", "2010"));
formParams.add(new BasicNameValuePair("toDay", "3"));
formParams.add(new BasicNameValuePair("toMonth", "1"));
formParams.add(new BasicNameValuePair("toYear", "2011"));
formParams.add(new BasicNameValuePair("sortType", "Date"));
formParams.add(new BasicNameValuePair("orderBy", "ASC"));
entity = new UrlEncodedFormEntity(formParams, "UTF-8");
httpPost = new HttpPost("https://ib.bankmandiri.co.id/retail/TrxHistoryInq.do");
httpPost.setEntity(entity);
resp = httpClient.execute(httpPost);

// read content
buffer = new StringBuilder();
instream = resp.getEntity().getContent();
reader = new BufferedReader(new InputStreamReader(instream));
while ((line = reader.readLine()) != null) {
buffer.append(line + "\n");
}

//find string between: <!-- Start of Item List --> and <!-- End of Item List -->
begin = "<!-- Start of Item List -->";
end = "<!-- End of Item List -->";
beginPos = buffer.indexOf(begin) + begin.length();
endPos = buffer.indexOf(end, beginPos);
String accountStmt = buffer.substring(beginPos, endPos);
System.out.println(accountStmt);    

// logout
httpGet = new HttpGet("https://ib.bankmandiri.co.id/retail/Logout.do?action=result");
resp = httpClient.execute(httpGet);
EntityUtils.consume(resp.getEntity());

}
Lepaskan keserakahan akan kesenangan. Lihatlah bahwa melepaskan dunia adalah kedamaian. Tidak ada sesuatu pun yang perlu kau raup, dan tidak ada satu pun yang perlu kau dorong pergi. ~ Buddha ~

Offline Forte

  • Sebelumnya FoxRockman
  • KalyanaMitta
  • *****
  • Posts: 16.577
  • Reputasi: 458
  • Gender: Male
  • not mine - not me - not myself
Active Record di Java ?
« Reply #11 on: 11 January 2013, 01:39:57 PM »
Numpang di thread ini aja deh..


All, saya terkesima dengan ActiveRecord di Rails .. terkesan KISS (Keep It Simple Stupid)..


Kira2 ada ga ya Active Record yang telah diimplementasikan ke Java ? Saya tengah mencoba ActiveJDBC.. tapi kalau ada usulan module lain yang dimaintain oleh company besar.. sangat thanks banget..
 
Ini bukan milikku, ini bukan aku, ini bukan diriku
6 kelompok 6 - Chachakka Sutta MN 148

 

anything