Thursday 8 May 2008

Printer Tipis

Canon i80 mungkin satu-satunya printer yang berteknologi Bluetooth yang ada di pasar saat ini. Printer ini menawarkan koneksi tanpa kabel antara printer dengan peralatan lain yang sudah dilengkapi Bluetooth. Jadi, anda bisa mencetak langsung dari notebook, PDA atau ponsel di printer ini.

Dengan ukuran 310 x 174 x 51,8 mm dan berat hanya 1,8 kg, printer ini gampang nyelip ke dalam tas dan dibawa ke mana-mana. Penyimpanannya pun tidak repot karena bisa disimpan secara vertikal sejajar di antara buku-buku di lemari, di dalam tas, atau laci meja. Keunikan ini membuat printer ini cocok untuk para eksekutif

yang sering bepergian.

Dengan desain kompak dan berselimut warna silver titanium membuat printer ini tampak serasi dikombinasikan dengan cover print head berwarna hitam semi transparan.

Selain Bluetooth, konektivitas Canon i80 juga tetap dilengkapi USB Interface dan Direct Print Port, dan koneksi nirkabel IrDA.

Portabilitas printer ini didukung dengan baterei CK-51, sehingga anda tidak perlu takut soal sumber listrik. Pengisian energinya pun bisa dilakukan melalui soket penyala rokok di mobil dengan menggunakan Automobile Power Unit PU-100U.

Seperti printer Canon lainnya, printer tipis ini juga dilengkapi fitur PictBridge dan Bubble Jet Direct. Jadi i80 juga dapat mencetak langsung dari digital kamera atau camcorder Canon atau pun kamera digital dan camcorder merek lain yang memiliki fitur PictBridge tanpa melalui komputer.

Walaupun berukuran kecil, hasil cetak printer ini tidak mengecewakan, bahkan setara dengan printer desktop. Ini bisa dilihat dari resolusinya sebesar 4800 x 1200 dpi dengan kecepatan cetak 14 halaman per menit (ppm) untuk cetak monokrom dan 10 ppm untuk cetak warna. Printer ini bahkan lebih cepat dibandingkan printer portable Canon generasi sebelumnya.

Kemampuan lainnya adalah mencetak tanpa tepi (borderless) untuk ukuran 4 x 6 inci sampai dengan ukuran A4. Foto 4 x 6 inci dengan kualitas super dapat dicetak dalam waktu kurang dari satu menit. Ketajaman gambar juga dijamin oleh Vivid Photo Teknology, membuat warna cetakan lebih cerah dari pada yang terlihat di layar monitor sebab cakupan warnanya lebih banyak dibandingkan tampilan di monitor.

Kemudahan mencetak didukung oleh software Easy-Photo Print. Cukup dengan memilih gambar dan ukuran atau tipe kertas dan hasil layout terakhir, maka secara otomatis printer ini akan mencetak dalam kondisi optimum. Lalu, fitur EXIF Print akan menjaga hasil cetakan sesuai dengan data setting yang dilakukan pertama kali pada kamera digital ketika dilakukan pengambilan gambar.

Baca Selengkapnya.... »»

Thursday 1 May 2008

AVL TREE

praktikum struktur data hari Jumat tanggal, 2 Mei 208. Di lab kita belajar buat avl tree. buset si Kiki kebut amat ngetiknya, dia udah selesai. hasil codingnya aku posting di sini. ini dia......


#include
#include

typedef struct tree
{
int nilai;
int status;
struct tree *left;
struct tree *right;
} AVLTree;

void preorder (AVLTree **root)
{
if ((*root)==NULL);
else
{
printf ("%d %d\n", (*root)->nilai, (*root)->status);
preorder (&(*root)->left);
preorder (&(*root)->right);
}
}

void insert (AVLTree **root, int value)
{
AVLTree *temp;
int cek=100;
temp=(AVLTree*)malloc(sizeof(AVLTree));
temp->status=0;
temp->right=NULL;
temp->left=NULL;
if ((*root)==NULL)
{
*root=temp;
(*root)->nilai=value;
}
else
{
if (value<(*root)->nilai)
{
if ((*root)->left!=NULL)
{
cek=((*root)->left)->status;
}
else
{
(*root)->status -=1;
}
insert (&(*root)->left, value);
if ((((*root)->left)->status!=cek)&&(cek!=100)&&(((*root)->left)->status!=0))
{
(*root)->status -=1;
}
}
else
{
if ((*root)->right!=NULL)
{
cek=((*root)->right)->status;
}
else
{
(*root)->status +=1;
}
insert(&(*root)->right, value);
if ((((*root)->right)->status!=cek)&&(cek!=100)&&(((*root)->right)->status!=0))
{
(*root)->status +=1;
}
}
}
}
int main ()
{
AVLTree *root=NULL;
insert (&root,12);
insert (&root,4);
insert (&root,2);
insert (&root,8);
insert (&root,14);
insert (&root,13);
insert (&root,6);
insert (&root,10);
insert (&root,16);
preorder(&root);
getch();
return 0;
}

Baca Selengkapnya.... »»

Monday 28 April 2008

Going to The Jakarta


Hari ini dengan pengetahuanku yang pas-pasan aku akan pergi ke Jakarta beli laptop, SENDIRIAN!!!
Ya Alloh bantulah aku.... BISMILLAHIRROHMANIRROHIM...
Modalku hanya peta ini...

Baca Selengkapnya.... »»

Syntax Union

SELECT ...
UNION [ALL | DISTINCT] SELECT ...
[UNION [ALL | DISTINCT] SELECT ...]

UNION is used to combine the result from multiple SELECT statements into a single result set.

The column names from the first SELECT statement are used as the column names for the results returned. Selected columns listed in corresponding positions of each SELECT statement should have the same data type. (For example, the first column selected by the first statement should have the same type as the first column selected by the other statements.)

If the data types of corresponding SELECT columns do not match, the types and lengths of the columns in the

UNION result take into account the values retrieved by all of the SELECT statements. For example, consider the following:

mysql> SELECT REPEAT('a',1) UNION SELECT REPEAT('b',10);
+---------------+
| REPEAT('a',1) |
+---------------+
| a |
| bbbbbbbbbb |
+---------------+

(In some earlier versions of MySQL, only the type and length from the first SELECT would have been used and the second row would have been truncated to a length of 1.)

The SELECT statements are normal select statements, but with the following restrictions:

  • Only the last SELECT statement can use INTO OUTFILE. (However, the entire UNION result is written to the file.)

  • HIGH_PRIORITY cannot be used with SELECT statements that are part of a UNION. If you specify it for the first SELECT, it has no effect. If you specify it for any subsequent SELECT statements, a syntax error results.

The default behavior for UNION is that duplicate rows are removed from the result. The optional DISTINCT keyword has no effect other than the default because it also specifies duplicate-row removal. With the optional ALL keyword, duplicate-row removal does not occur and the result includes all matching rows from all the SELECT statements.

You can mix UNION ALL and UNION DISTINCT in the same query. Mixed UNION types are treated such that a DISTINCT union overrides any ALL union to its left. A DISTINCT union can be produced explicitly by using UNION DISTINCT or implicitly by using UNION with no following DISTINCT or ALL keyword.

To use an ORDER BY or LIMIT clause to sort or limit the entire UNION result, parenthesize the individual SELECT statements and place the ORDER BY or LIMIT after the last one. The following example uses both clauses:

(SELECT a FROM t1 WHERE a=10 AND B=1)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;

This kind of ORDER BY cannot use column references that include a table name (that is, names in tbl_name.col_name format). Instead, provide a column alias in the first SELECT statement and refer to the alias in the ORDER BY. (Alternatively, refer to the column in the ORDER BY using its column position. However, use of column positions is deprecated.)

Also, if a column to be sorted is aliased, the ORDER BY clause must refer to the alias, not the column name. The first of the following statements will work, but the second will fail with an Unknown column 'a' in 'order clause' error:

(SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY b;
(SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY a;

To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enclose the SELECT:

(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);

However, use of ORDER BY for individual SELECT statements implies nothing about the order in which the rows appear in the final result because UNION by default produces an unordered set of rows. Therefore, the use of ORDER BY in this context is typically in conjunction with LIMIT, so that it is used to determine the subset of the selected rows to retrieve for the SELECT, even though it does not necessarily affect the order of those rows in the final UNION result. If ORDER BY appears without LIMIT in a SELECT, it is optimized away because it will have no effect anyway.

To cause rows in a UNION result to consist of the sets of rows retrieved by each SELECT one after the other, select an additional column in each SELECT to use as a sort column and add an ORDER BY following the last SELECT:

(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1)
UNION
(SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col;

To additionally maintain sort order within individual SELECT results, add a secondary column to the ORDER BY clause:

(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1)
UNION
(SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col, col1a;

Use of an additional column also enables you to determine which SELECT each row comes from. Extra columns can provide other identifying information as well, such as a string that indicates a table name.

Baca Selengkapnya.... »»

Sunday 27 April 2008

Java Campus Team

Minggu 27 April 2008, kita ngadain pelatihan "fundamental java". yang di bahas di sini masih terbatas pada fundamentalnya saja. Pokoknya g jauh-jauh dari C. Jelasin kayak tipe data, iterasi, asignment. Bahasa Java pun mirip-mirip sama C jadi pelatihan kali ini bisa dikata masih gampang lah (maksudnya, masih bisa ngikutin). Hari Minggu ini juga HIMALKOM lagi ngadain up grading ke Ci Bodas, sayang sekali mereka g bisa ikut. Bukan materinya sih yang disayangkan,

tapi makan makannya itu yang disayangkan (he...he..), soalnya kita ditraktir makan siang di Askil. BEBASSSS!!! mau makan apa aja, SILAHKAN (sekali lagi!! he... he... mahasiswa banget...). Tapi materinya juga penting ding. Soalnya g semuanya sama dengan C, ada beberapa hal yang ga dipakai di C. Java itu bisa diaktakan menutupi kelemahan-kelemahan yang ada di C. Contohnya, di Java itu ga ada pointer, tapi ada yang namanya wrapper. Dijelasin dikit ya...
Tipe data di java bisa kita kelompokan menjadi 3. Tipe data primitif, tipe data wrapper, dan tipe data abstract. Tipe data primitif udah pada tahu lah, kayak int, char, long, float, boolean, (2 lagi apa yagh...), sedangkan tipe data wrapper itu ada Integer, Char, Long, Float, Boolean, String... dari sisi sintax, di awal hurufnya gede, dan jangan hati hati nih, di Java itu, String bukan tipe data primitif dia tipe data wrapper yang tidak punya tipe data primitif, sedangkan 7 lainnya mempunyai tipe data primitif dan tipe data wrapper. Ntar disambung lagi deh..., buat temen-temen yang ikut komunitas java di HIMALKOM, insya Alloh materi yang saya dapat di Java Campus Team nanti akan dishare di sana juga. mau praktikum dulu nih....

Baca Selengkapnya.... »»

Thursday 24 April 2008

Binary Search Tree

Contoh Abstract Data Type yang akan dibahas sekarang adalah binary search tree, yaitu tree dengan ketentuan anak kiri <>

# include
# include

typedef struct tree {
int nilai;
struct tree * left;
struct tree * right;
} BTREE;

///////////////FUNGSI MENCETAK PREORDER/////////////
void preorder (BTREE **root)
{
if (*root == NULL);
else
{
printf ("%d \t",(*root)->nilai);
preorder (&(*root)->left);
preorder (& (*root)->right);
}
}

/////////////////fungsi mencetak INORDER//////////////
void inorder (BTREE **root)
{
if (*root == NULL);
else
{
inorder (&(*root)->left);
printf ("%d \t",(*root)->nilai);
inorder (& (*root)->right);
}
}

////////////MENCETAK POSTORDER////////////////
void postorder (BTREE **root)
{
if (*root == NULL);
else
{
postorder (&(*root)->left);
postorder (& (*root)->right);
printf ("%d \t",(*root)->nilai);
}
}

/////////////fungsi memasukan data/////////////
void insert (BTREE **root, int value)
{
BTREE *temp;
temp=(BTREE*) malloc (sizeof (BTREE));
temp -> right = NULL;
temp -> left = NULL;
if (*root==NULL)
{
*root = temp;
(*root)->nilai = value;
}
else
{
if (value <(*root)->nilai)
insert (& (*root)->left, value);
else
insert (& (*root)->right, value);
}
}

int main ()
{
BTREE* root = NULL;
insert (& root, 12);
insert (& root, 4);
insert (& root, 8);
insert (& root, 5);

preorder (& root);
inorder (& root);
postorder (& root);

getch ();
return 0;
}

Baca Selengkapnya.... »»

(Time Massage) Pesan Pada Jam Tertentu

Pernah terpikirkan untuk menampilkan pesan pada jam tertentu (Time Message) pada blog kita? tentu saja ya, Ada kalanya ketika sedang tidak online kita ingin memberikan pesan kepada pengunjung mengenai keadaan kita saat ini misalkan, "maaf, saya jam 1 ada rapat jadi gak bisa online" atau "jangan lupa ya sekarang pukul 13.00 jadi acara kumpul blogger akan dimulai" atau sebagai alarm plus pesan pengingat berguna.


Menampilkan pesan pada jam tertentu (Time Message) tentu saja sangat membantu, disisi lain pengunjung juga akan mengetahui informasi apa yang ingin kita sampaikan pada jam berikutnya tanpa harus online sekedar menulis pesan. Selain menambah nilai plus berupa pesan singkat, blog kita juga tentu saja terlihat berbeda :). Ok ikuti terus tutorial ini untuk cara pemasangan kodenya:

Cara Pasang Time Message:

Cara pasang pada blog tinggal copi-paste aja kode dibawah ini dengan menambahkan elemen halaman baru, kemudian jangan lupa mengedit pesan yang ingin ditampilkan yang ditandai dengan teks berwarna merah dibawah ini.



Kemungkinan yang ditanyakan:

if ((hr == 7) || (hr == 8) || (hr == 9) || (hr == 10))
document.write("pesan jam ini berlangsung pada jam 7,8,9,10 pagi")

Penjelasan code diatas, ini berarti kita membuat pesan yang sama pada jam yang sudah di tentukan misalnya pada jam 7,8,9,10 pagi. Jika ingin menampilkan pesan pada jam berbeda tinggal di lakukan sedikit perubahan pada kode seperti dibawah ini :

if ((hr == 7)

document.write("pesan jam 7 pagi")

if (hr == 8)

document.write("pesan jam ini 8 pagi")

if (hr == 9)

document.write("pesan jam ini 9 pagi")

if (hr == 10))

document.write("pesan jam 10 pagi")

Menambahkan permintaan teman kita mengenai bagaimana jika menampilkan ketika contoh jam antara 1:00 - 1:20 atau hanya tampil jam 1:20?

Berikut kode yang ditambahkan pada script sebelumnya:

now = new Date()

if (now.getMinutes() <>

Baca Selengkapnya.... »»

Windu Purnomo

by saying the name of alloh the lord who created

JAVAku

JAVAku

Mari Sholat di Awal Waktu