Sibuk.. sibuk.. jadi gak ngurusin blog satu ini. Yang pasti, domain dlapanbelasgroup.com udah ketutup. Jadi semua tulisan di sini yang nyebut2 dlapanbelasgroup.com, bisa dianggap invalid.. hik.. hik..
Itu dulu deh… Sampai ketemu kalo ada waktu..
Sibuk.. sibuk.. jadi gak ngurusin blog satu ini. Yang pasti, domain dlapanbelasgroup.com udah ketutup. Jadi semua tulisan di sini yang nyebut2 dlapanbelasgroup.com, bisa dianggap invalid.. hik.. hik..
Itu dulu deh… Sampai ketemu kalo ada waktu..
Posted in Fun
Waahh.. tanpa sengaja saya menemukan info bahwa kita bisa memainkan game-game Nintento dengan bantuan komputer kita dan browser Mozilla. Bagaimana caranya?
Lihat gambar di bawah ini:
(oops, sialan.. akses upload dan download udah diblokir ama admin kantor)
Begini aja deh, silakan buka google dan masukkan kata berikut ini: FIRENES. Download dan install. Kemudian buka browser anda, tekan Ctrl – Shift – N. Pada bagian kiri akan muncul sidebar yang berisi daftar game-game Nintendo yang bisa kita mainkan. Have Fun!!
Posted in Fun
Masalah kecil sewaktu membuat aplikasi web yang harus membaca file konfigurasi, di mana file konfigurasinya diletakkan pada folder tertentu. Hal ini tidak akan menjadi masalah bila kita bisa mengakses sistem file-nya, tetapi akan menjadi masalah besar bila kita tidak bisa mengakses sistem file-nya, misal bila kita meletakkan aplikasi kita pada server orang lain.
Untuk mengakses file, Java menggunakan konstruktur sbb:
File f = new File(“C:\test.txt”);
Bagaimana bila file itu ada pada server orang lain, di mana kita tidak bisa mengakses sistem file-nya, atau dengan kata lain kita hanya bisa mengakses file dengan menggunakan url?
Penyelesaiannya ternyata cukup mudah:
—–
String strProtocol = “http://”;
String strFileName = “Book1.xls”;
InetAddress lHost = InetAddress.getLocalHost();
String hostAddress = lHost.getHostAddress();
String hostName = lHost.getHostName();
URL url1 = null;
String strFolderData = strProtocol + hostAddress + “:8084/JVOShop/data/” + strFileName;
url1 = new URL(strFolderData);
HttpURLConnection conn = (HttpURLConnection) url1.openConnection();
//Workbook workbook = Workbook.getWorkbook(new File(“C://JVOShop/data/Book1.xls”));
Workbook workbook = Workbook.getWorkbook(conn.getInputStream());
—–
Oops.. mungkin penyelesaian ini hanya cocok untuk masalah yang saya hadapi.. yaitu berusaha membaca file xls, dengan menggunakan jxl.jar, di mana file xls nya itu saya letakkan di suatu folder tertentu..
Posted in Catatan Pekerjaan
Membuat menu “Prev” dan “Next”. Mudah, tetapi terkadang orang malas untuk memikirkan logikanya. Berikut contoh kecil menu “Prev” dan “Next” dalam JSP.
—–
<%
Hashtable htDataNoKlaim = new Hashtable();
HttpSession sessionKu = request.getSession();
htDataNoKlaim = (Hashtable) sessionKu.getAttribute(“claims”);
// untuk prev dan next
int intJmlRecPerHal = 15;
int intJmlBaris1 = htDataNoKlaim.size();
int intStart = 0;
int intNextStart = 0;
int intPrevStart = 0;
int intEnd = 0;
int intNextEnd = 0;
int intPrevEnd = 0;
if (intJmlBaris1 > intJmlRecPerHal) {
// intStart
String strStart = request.getParameter(“start”)==null?”0″:request.getParameter(“start”).toString();
if (strStart.equalsIgnoreCase(“0″)) {
intStart = 1;
} else {
intStart = Integer.parseInt(strStart);
}
// intEnd
String strEnd = request.getParameter(“end”)==null?”0″:request.getParameter(“end”).toString();
if (strEnd.equalsIgnoreCase(“0″)) {
intEnd = intJmlRecPerHal;
} else {
intEnd = Integer.parseInt(strEnd);
}
// intNextStart, intNextEnd
intNextStart = intStart + intJmlRecPerHal;
intNextEnd = intNextStart + (intJmlRecPerHal – 1);
if (intNextEnd > intJmlBaris1) {
intNextEnd = intJmlBaris1;
}
// intPrevStart, intPrevEnd
intPrevStart = intNextStart – (2 * intJmlRecPerHal);
if (intPrevStart < 0) {
intPrevStart = 0;
}
intPrevEnd = intPrevStart + (intJmlRecPerHal – 1);
} else {
intStart = 1;
intEnd = intJmlBaris1;
intNextStart = 1;
intNextEnd = intJmlBaris1;
intPrevStart = 1;
intPrevEnd = intJmlBaris1;
}
%>
…
…
<%
int intLoop = htDataNoKlaim.size();
if (intLoop != 0) {
//for (int a=1; a<= intLoop; a++) {
for (int a=intStart; a<= intEnd; a++) {
String[] strArray = (String[]) htDataNoKlaim.get(String.valueOf(a));
…
…
<%
if (intStart <= 1) {
%>
<button name=”prevData”> < </button>
<% } else {
%>
<button name=”prevData” onclick=”goTo(<%= intPrevStart%>, <%= intPrevEnd%>);”> < </button>
<%
}
%>
…
…
<%
if (intEnd >= intJmlBaris1) {
%>
<button name=”nextData”> > </button>
<% } else {
%>
<button name=”nextData” onclick=”goTo(<%= intNextStart%>,<%= intNextEnd%>)”> > </button>
<%
}
%>
…
…
—–
Selanjutnya terserah anda…
Posted in Catatan Pekerjaan
Contoh kecil penggunaan jExcelAPI ( http://jexcelapi.sourceforge.net/ )
Skenario:
File excel yang berisi data, disimpan pada suatu folder tertentu, dimana file tersebut harus bisa dibaca oleh file jsp yang kemudian akan ditampilkan pada browser menurut bentuk tabel tertentu. Data pada excel dapat berubah-ubah jumlah kolom maupun barisnya. Bentuk tabel juga dapat diubah-ubah sesuai kebutuhan.
Source Code:
<%@page import=”java.io.File” %>
<%@page import=”java.util.*” %>
<%@page import=”java.lang.*” %>
<%@page import=”jxl.*” %>
<!– mengambil file xls dan memasukkan ke dalam hashtable –>
<%
Workbook workbook = Workbook.getWorkbook(new File(“C://JVOShop/data/Book1.xls”));
Sheet sheet = workbook.getSheet(0);
// get header
int intCheckNull = 0;
int intCols = 0;
Hashtable htHeader = new Hashtable();
while (intCheckNull == 0) {
try {
Cell cCell = sheet.getCell(intCols, 0);
String strCell = cCell.getContents();
htHeader.put(String.valueOf(intCols), strCell);
} catch (ArrayIndexOutOfBoundsException exp) {
intCheckNull = 1;
}
intCols = intCols + 1;
}
// masukkan isi hashtable header ke dalam array
int intJmlHeader = htHeader.size();
String[] strArrayH = new String[intJmlHeader];
for (int g = 0; g <= intJmlHeader – 1; g++) {
strArrayH[g] = htHeader.get(String.valueOf(g)).toString();
}
// get isi
int intCheckRows1 = 0;
int intRows1 = 1; // header sudah diambil, jadi mulai baris ke-2 (index ke-1)
Hashtable htRows = new Hashtable();
while (intCheckRows1 == 0) {
try {
Hashtable htCols = new Hashtable();
int intCheckCols1 = 0;
int intCols1 = 0;
//System.out.println(“intCheckCols1: ” + intCheckCols1);
while (intCheckCols1 == 0) {
try {
//System.out.println(“intRows1: ” + intRows1 + ” not null!”);
Cell cCell = sheet.getCell(intCols1, intRows1);
String strCell = cCell.getContents();
htCols.put(String.valueOf(intCols1), strCell);
} catch (ArrayIndexOutOfBoundsException exp) {
//System.out.println(“intRows1: ” + intRows1 + ” null!”);
intCheckCols1 = 1;
}
intCols1 = intCols1 + 1;
}
Cell cCellR = sheet.getCell(0, intRows1);
String strKey = String.valueOf(intRows1);
htRows.put(strKey, htCols);
} catch (ArrayIndexOutOfBoundsException exp1) {
intCheckRows1 = 1;
}
intRows1 = intRows1 + 1;
}
%>
—–
Sampai di sini, isi dari file xls telah disimpan ke dalam hashtable dengan format [key, hashtableBaris]. Penulisan pada tabel dapat dilakukan dengan mengubah isi hashtableBaris menjadi array, misal seperti contoh di bawah ini:
for (int d = intStart; d <= intEnd; d++) {
// ambil hashtabel per row
Hashtable htIsi1 = new Hashtable();
htIsi1 = (Hashtable) htRows.get(String.valueOf(d));
// masukkan isi hashtable ke dalam array
int intJmlIsi1 = htIsi1.size();
String[] strArray1 = new String[intJmlIsi1];
for (int e = 0; e <= intJmlIsi1 – 1; e++) {
strArray1[e] = htIsi1.get(String.valueOf(e)).toString();
}
%>
<table width=”600″ border=”1″ cellpadding=”2″ cellspacing=”2″>
<tr>
<td width=”25%” rowspan=”<%= intJmlIsi1-1 %>”><%= strArray1[0] %></td>
</tr>
<%
for (int f=1; f<=intJmlIsi1-2; f++) {
%>
<tr>
<td><%= strArrayH[f] %></td>
<td> :
<td width=”55%”><%= strArray1[f] %></td>
</tr>
<%
}
%>
<tr>
<td colspan=”4″><%= strArray1[intJmlIsi1-1] %></td>
</tr>
</table>
<br>
<%
}
%>
—–
Cheers…
Posted in Catatan Pekerjaan
Simple:
<a:widget name=”dojo.clock” args=”{showAMPM:’false’, handColor:’#00FF00′}” />
Args yang dipakai bisa dilihat pada file widget.json. Sedikit tambahan, untuk fungsi2 yang disediakan, bisa dilihat pada file component.js.
Yang penting, harus diingat bahwa:
jMaki widget = component.htm + component.js + widget.json
Jadi apa pun keperluannya, harus buka2 file yang ada.
Posted in Catatan Pekerjaan
Bisa dibilang, cara yang digunakan sama dengan cara mengambil nilai pada dojo.dropdowndatepicker. Berikut sedikit source code yang digunakan:
—–
function getTime()
{
var element = document.myForm1.testTime;
var vTime = jmaki.getWidget(“theTime”).getValue();
element.value = vTime;
}
—–
dan
—–
<a:widget id=”theTime” name=”dojo.timepicker”/>
<form name=”myForm1″>
<input type=”text” name=”testTime”>
<input type=”button” onclick=”getTime();” value=”get time”>
</form>
—–
Posted in Catatan Pekerjaan
Sekedar catatan kecil bagaimana menggunakan dropdowndatepicker dan mengambil nilainya. Setelah browsing2, dan tidak menemukan jawaban yang jelas, akhirnya mencoba-coba sendiri dan mendapatkan jawaban sendiri juga..
Ini contoh source-code nya:
—–
<%@ taglib prefix=”a” uri=”http://jmaki/v1.0/jsp” %>
<%@page contentType=”text/html” pageEncoding=”UTF-8″%>
<html>
<head>
<script>
function getDate()
{
var element = document.myForm.testDate;
var vDate = jmaki.getWidget(“theDate”).getValue();
element.value = changeDate(vDate);
}
function changeDate(vDate)
{
// 2008/01/15
var sdate = vDate.toString().substr(8,2);
var smonth = vDate.toString().substr(5,2);
var syear = vDate.toString().substr(0,4);
return sdate + “/” + smonth + “/” + syear;
}
</script>
</head>
<body>
<a:widget id=”theDate” name=”dojo.dropdowndatepicker” />
<form name=”myForm”>
<input type=”text” name=”testDate”>
<input type=”button” onclick=”getDate();” value=”get date”>
</form>
</body>
</html>
—–
Posted in Catatan Pekerjaan
Iya, bukan salah tulis! Aku emang udah nikah, dan salah satu kenang-kenangan dari acara pernikahannya sendiri adalah… website nikah ku ini: http://thewedding.dlapanbelasgroup.com/. Ini tampilan depan dari website itu:
Kalo mo lihat detilnya, masuk aja ke alamat yg udah aku tulis di atas. Kalo ada waktu, silakan tulis2 juga di buku tamu nya. OK, thanks..
ps.
mo tau kenapa ini masuk bagian produk? karena aku menerima order-an bikin wedding website juga.. hehe.. mo pake flash, mo pake video, mo pake musik, pake apa aja.. silakan ngobrol ama aku, kita bicarakan harganya..
)
Posted in Produk
Ini adalah suatu aplikasi perputakaan yang berbasis web. Aplikasi ini menyediakan fitur-fitur administrasi, seperti pengaturan petugas perpus, koleksi perpus, anggota perpus, dll. Selain itu, aplikasi ini juga menyediakan sistem pencatatan transaksi masuk dan keluar koleksi perpustakaan, termasuk didalamnya sistem pencatatan keuangan (denda), dan pembuatan laporan transaksi.
Halaman depan aplikasi ini menampilkan beberapa fitur yaitu: katalog online, berita / pengumuman yang hanya bisa di-update oleh petugas perpustakaan, download e-book dan fitur yang dapat digunakan untuk meninggalkan pesan bagi pengelola perpustakaan. Fitur terakhir ini juga bisa digunakan untuk melakukan pemesanan buku / koleksi perpustakaan lainnya.
Desain asli menggunakan Java dan Oracle, tetapi bisa diubah sesuai keinginan pemakai. Aplikasi ini juga menggunakan jMaki, suatu teknologi baru yang membuat website lebih indah dlihat..
Posted in Produk