Jumat, 15 Juni 2012

Mengatasi Product Key invalid dari Tuneup Utilities 2012


Tuneup utilities merupakan suatu tool yang berguna dalam mengoptimalkan PC atau laptop Anda. Tuneup yang t. Sepertinya sekarang ini produsen Tuneup yang jauh disana sedang berhati-hati, karena setiap product key yang tidak asli alias bajakan (maklum bajakan dapat menghemat biaya,,hehe) dapat diketahui dengan cepat ketika terhubung ke Internet. Meskipun pada awalnya product key yang dimasukkan valid, tapi setelah Tuneup Utilities di restart, akan kembali diminta untuk memasukkan product key (hal ini karena Tuneup update secara otomatis). Lalu, apa solusinya??
Ketika product key sudah dimasukkan dan menunjukkan bahwa product key valid, jangan tutup klik finish/exit terlebih dahulu, tapi lakukan hal berikut :
1. Klik kanan pada toolbar Tuneup Utilities yang ada di pojok kanan taskbar, lalu pilih Configure Live Optimatization.
2. Pilik update check.
3. Lalu hilangkan centang pada "Automatically check for updates".
4. OK
Semoga bisa membantu :)

Kamis, 14 Juni 2012

Parameter Passing

Parameter passing adalah parameter yang ditransmisikan ke dan atau dari subprogram.
Formal parameter dapat dikategorikan menjadi salah satu dari 3 model semantic berikut 
a. Parameter yang dapat menerima data dari parameter actual  yang berhubungan (in mode).
b.  Parameter yang dapat men-transmit data ke parameter actual (out mode).
c.  Parameter yang dapat menerima dan mentransmit data (inout mode).
Implementasi Model Parameter Passing
1.       Pass by value
Ketika parameter menggunakan pass by value, nilai dari actual parameter digunakan untuk menginisialisasi formal parameter yang berhubungan. Pass by value merupakan penerapan dari in mode.
Kelebihan : cepat dalam hubungan dan waktu akses.
Kekurangan : jika copy dibutuhkan maka penyimpanan tambahan diperlukan untuk parameter formal.
2.       Pass by reference
Merupakan implementasi dari in-out mode.
Kelebihan :
a.  Efisien dalam hal waktu dan tempat.
b. Duplikat tempat tidak dibutuhkan, begitu juga dengan pengkopian nilai data.
Kekurangan :
a.  Akses ke parameter formal akan lebih lambat daripada parameter pass by value, karena level tambahan dari indirect addressing dibutuhkan.
b.  Jika hanya komunikasi 1 jalur, pemanggilan subprogram diperlukan, kurang hati-hati dan keliru mungkin mengubah actual parameter.
c.       Alias dapat terjadi yang menimbulkan bahaya terhadap readability dan reability, serta membuat verifikasi program menjadi lebih susah.
3.       Pass by name
Merupakan penerapan dari in out mode.
Kelebihan : lebih flexible untuk late binding (dynamic binding).
Kekurangan :
a.  Terlalu kompleks untuk diimplementasikan dan tidak efisien.
b. Tingkat readability dan realibility rendah.
c. Terlalu membingungkan, susah dimengerti, dan dipahami.

Jumat, 25 Mei 2012

Sistem Sekuritas di Windows

Sistem sekuritas di Windows ada 2 macam, yaitu group policy editor (gpedit) dan register editor (regedit). Berikut akan membahas tentang gpedit. Hal-hal yang dapat dilakukan dengan gpedit.
Cara membuka gpedit
buka run, ketik gpedit.msc kemudian ok


Proteksi Akses Partisi (C:) pada My Computer
 pilih \User Configuration\Administrative Templates\Windows Explorer kemudian cari dan klik ganda Setting
“Prevent Access to drives from My Computer”
Menghilangkan menu Run pada menu Start
pilih \User Configuration\Administrative Templates\Start Menu and Taskbar kemudian cari dan klik ganda
Setting “Remove Run menu from Start Menu”
Proteksi Control Panel
pilih \User Configuration\Administrative Templates\Control Panel kemudian cari dan klik ganda Setting
“Prohibit access to the Control Panel”
Proteksi Pengubahan Wallpaper
pilih \User Configuration\AdministrativeTemplates\Control Panel\Display kemudian cari dan klik ganda
Setting “Prevent changing wallpaper”
Proteksi Regedit Tools
pilih \User Configuration\Administrative Templates\System kemudian cari dan klik ganda Setting “Prevent access to registry editing tools”
Proteksi Command Prompt
pilih \User Configuration\Administrative Templates\System kemudian cari dan klik ganda Setting “Prevent
access to the command prompt”
Menghilangkan nama dari user name terakhir pada Windows Logon Screen
pilih \Computer Configuration\Windows Settings\Security Options kemudian cari dan klik ganda Policy “Do
not display last user name”

Antrian di Java

Source code :


package testpackage;

public class Antrian {
private static class Simpul{
int item;
Simpul berikut;
}
private static Simpul kepala;
private static Simpul buntut;

public static void main(String[] args){
//menentukan nilai dari komponen simpul
Simpul a = new Simpul();
a.item = 10;
Simpul b = new Simpul();
b.item = 15;
a.berikut = b;
//System.out.println(a.item);
//System.out.println(b.item);
//memunculkan antriannya menggunakan while
while(a!=null){
System.out.println(a.item);
a = a.berikut;
}
push(5);
push(6);
push(7);
push(8);
delete(7);
int c = pull();
//System.out.println(pull());
Simpul temp = kepala;
while(temp!=null){
System.out.println(temp.item);
temp = temp.berikut;
}
}
//menambahkan record ke dalam antrian
public static void push(int n){
Simpul atasBaru = new Simpul();
atasBaru.item = n;
if(kepala==null){
kepala = atasBaru;
buntut = kepala;
}else{
buntut.berikut = atasBaru;
buntut = atasBaru;
}
}
public static int pull(){
if(kepala!=null){
int itemAtas;
if(kepala!=buntut){
itemAtas = kepala.item;
kepala = kepala.berikut;
return itemAtas;
}else if(kepala==buntut){
itemAtas = buntut.item;
kepala = null;
buntut = null;
return itemAtas;
}else{
return 0;
}
}else{
return 0;
}
}
 
public static void delete(int n){
if(kepala!=null){
Simpul temp = kepala;
while(temp.berikut!=null){
if(temp.item==n){
kepala = temp.berikut;
break;
}else{
if(temp.berikut.item==n){
if(temp.berikut==buntut){
buntut = temp;
temp.berikut = null;
}else{
temp.berikut = temp.berikut.berikut;
}
break;
}else{
temp = temp.berikut;
}
}
}
}
}
}

Stack in Java (Tumpukan pada Java)

Sebenarnya Java, tidak ada pointer sehingga tumpukan disini mungkin sedikit beda dengan menggunakan bahasa imperatif lainnya

Source code :

package testpackage;

public class Tumpukan {
private static class Node{
int item;
Node next;
}
private static Node head;

public static void push(int n){
Node atasBaru = new Node();
atasBaru.item = n;
if(head != null){
atasBaru.next = head;
head = atasBaru;
}else{
head = atasBaru;
}
}
public static int pull(){
if(head!=null){
int itemAtas;
if(head.next!=null){
itemAtas = head.item;
head = head.next;
return itemAtas;
}else{
itemAtas = head.item;
head = null;
return 0;
}
}else{
return 0;
}
}
public static void main(String[]args){
push(5);
push(6);
push(7);
push(8);
int c = pull();

while(head!=null){
System.out.println(head.item);
head = head.next;
}

}

}



Factorial Recursif in Java

Source code faktorial menggunakan rekursi bukan menggunakan iterasi (perulangan). Disini saya menggunakan package tugas dan nama kelas faktorialRecursif (kedua nama bisa diganti)



package tugas;

import javax.swing.JOptionPane;

public class faktorialRecursive {
private static int factorial(int n){
if(n < 0)
throw new IllegalArgumentException("n harus >=0");
if (n <= 1)
return 1;
else
return n * factorial(n-1);
}

public static void main(String[] args){
String name ="";
name = JOptionPane.showInputDialog("Enter number");
int nilai = Integer.parseInt(name);
System.out.println(factorial(nilai));
}

}

Perbedaan Custering dengan Classification


Clustering
Algoritma clustering merupakan algoritma pengelompokkan sejumlah data ( N ) menjadi kelompok – kelompok data tertentu ( cluster ). Objek data yang terletak didalam satu cluster harus mempunyai kemiripan. Sedangkan yang tidak berada didalam satu cluster tidak mempunyai kemiripan.

Jenisnya :
a.       Hierarchical
Merepresentasikan semua jarak dari setiap data. Hasilnya berupa 1 cluster yang besar dan berbentuk herarchical tree.
Hierarchical ada 2 macam pendekatan yaitu agglomerative dan divisive
-          Agglomerative (buttom-up)
Agglomerative clustering merupakan suatu teknik hierarki clustering yang menghasilkan suatu rangkaian penurunan jumlah cluster pada setiap tahapan. Clustering yang terdapat pada setiap tahapan diperoleh dari tahapan sebelumnya dengan cara menggabungkan 2 cluster yang mempunyai kemiripan. Agglomerative clustering dapat dilakukan dengan menggunakan 2 cara yaitu : teori matriks (matrix theory) dan teori grafik (graph theory).
Algoritmanya : Menandai setiap item pada clusternya sendiri. Bergabung dengan cluster yang paling dekat. Estimasi kembali jarak antar cluster. Ulang untuk data ke 1 sampai n.
-          Divisive (top-down)
Algoritma devisive berkebalikan arah dengan metode agglomerative dimana algoritma ini menghasilkan suatu rangkain peningkatan jumlah cluster pada setiap tahapan. Clustering yang terdapat pada setiap tahapan diperoleh dari tahapan sebelumnya dengan cara memecah suatu cluster tunggal menjadi 2 bagian.

b.      Partitioning
Contohnya : K-means clustering
Algoritmanya :
-          Tandai setiap item kelas pada 1 sampai k (secara acak)
-          Untuk setiap kelas 1 sampai k
Hitung centroid (rata-rata K)
Hitung jarak antara centroid dan setiap item
-          Tandai setiap item yang terdekat dengan centroid
-          Ulangi sampai tidak ada item yang ditandai kembali.

Classification
Classification memiliki tujuan untuk mengklasifikasikan suatu data ke dalam kelompok kelas yang sudah ada. Tidak akan ada pembentukan kelompok baru. Dan biasanya prosesnya supervised. Dalam arti ada training yang dilakukan.
Salah satu pendekatan classification adalah pendekatan neural network. Dalam pendekatan ini, neural network dilatih dengan menggunakan data yang sudah diketahui untuk dimasukkan ke dalam kelompok data tertentu. Setelah pelatihan, prosesnya cukup sederhana, yaitu dengan memasukkan data baru (yang tidak termasuk dalam data training) ke dalam neural network, lalu neural network akan memberikan informasi termasuk ke dalam kelompok manakah data baru tersebut.
Contoh algoritma classification adalah nearest centroid dan k-nearest neighbor.
Nearest centroid
Algoritmanya :
-          Menghitung centroid untuk setiap kelas
-          Menghitung  jarak antara test sample dan setiap kelas centroid
-          Memprediksi kelas dengan metode centroid terdekat
K-nearest neighbor
K-nn (k nearest neighbour). Dalam hal ini setiap data baru akan dibandingkan dengan data training. Lalu 3 data training terdekat (misalkan kita ambil k = 3) dengan data baru akan diambil. Misalkan ketiga data tersebut masuk ke dalam kelompok 1, 2 dan 1, maka data baru tersebut dimasukan ke dalam kelompok 1 (seperti voting, karena suara yang terbanyak adalah 1, maka keputusannya adalah 1). Menggunakan prediksi dengan majority vote dengan jumlah yang ganjil.

Perbedaan clustering dengan classification
Dataset yang digunakan pada clustering tidak menampilkan class / target attribute, sedangkan dataset yang digunakan pada classification mutlak harus menampilkan class / target attribute.
Pengetahuan yang dihasilkan oleh metode clustering berupa cluster, sedangkan pengetahuan yang dihasilkan oleh metode classification berupa selain cluster (bisa Decision Tree, Ruleset, Weight pada BackPropagation, dan lain-lain).
Clustering dipakai ketika tidak diketahuinya bagaimana data harus dikelompokkan. Jumlah kelompok diasumsikan sendiri tanpa ditentukan terlebih dahulu. Keluaran pendekatan ini adalah data yang sudah dikelompokkan. Sedangkan classification, terdapat informasi mengenai bagaimana data tersebut dikelompokkan. Kemudian dilakukan training pada sistem dengan data yang sudah diberikan label (ke dalam kelompok manakah data tersebut dikelompokkan), selanjutnya sistem akan mengklasifikasikan data-data yang baru ke dalam kelompok yang ada. Tidak akan ada pertambahan kelompok.
Secara formal clustering di definisikan sebagai suatu proses unsupervised untuk mengelempokan data yang memiliki karakteristik tertentu yang sama. Sedangkan classification digolongkan dalam proses supervised.
Supervised classification didasarkan pada ide bahwa pengguna (user) dapat memilih sampel pixel – pixel dalam suatu citra yang merepresentasikan kelas-kelas khusus dan kemudian mengarahkan perangkat lunak pengolahan citra (image processing software) untuk menggunakan pilihan-pilihan tersebut sebagai dasar referensi untuk pengelompokkan pixel-pixel lainnya dalam citra tersebut. Wilayah pelatihan ( training area) dipilih berdasarkan pada pengetahuan dari pengguna ( the knowledge of the user). Sedangkan klasifikasi tak terawasi (unsupervised classifications) merupakan pengklasifikasian hasil akhirnya (pengelompokkan pixel-pixel dengan karakteristik umum) didasarkan pada analisis perangkat lunak (software anaysis) suatu citra tanpa pengguna menyediakan contoh-contoh kelas-kelas terlebih dahulu. Komputer menggunakan teknik-teknik tertentu untuk menentukan pixel mana yang mempunyai kemiripan dan bergabung dalam satu kelas tertentu secara bersamaan.