Jumat, 15 Juni 2012

VB.Net (Visual Basic.Net)

SEJARAH
VB.Net berasal dari Bahasa BASIC (Beginner’s All Purpose Symbolic Code) yang sintaknya mirip dengan bahasa Inggris. VB.Net adalah bahasa yang full OOP, walaupun bahasa yang mendasarinya belum mendukung OOP.Pada awalnya, BASIC digunakan dalam komunitas perguruan tinggi sebagai bahasa “dasar” dalam pemrograman computer Pada tahun 70-an, bahasa ini diambil oleh produsen microcomputer pada zaman tersebut untuk digunakan sebagai bahasa pemrograman sederhana ROM tertanam serta system quasi untuk control input/output. Pada awal tahun 80-an, bahasa ini diambil oleh Microsoft dan berkembang secara signifikan di luar maksud aslinya “Visual Basic” yang dijual sepanjang tahun 1990 sebagai “pengembangan aplikasi cepat”.

SPESIFIKASI NAMA
Penulisan pada pemberian nama pada vb.net mempunyai aturan :

- Diawali dengan karakter alphabet atau underscore.
- Hanya terdiri dari karakter alphabet, digit decimal, dan underscore.
Harus terdiri sedikitnya satu karakter alphabet atau digit decimal jika dimulai dengan underscore.
Panjang nama tidak boleh lebih dari 1023 karakter.
Penulisan nama bersifat insensitive (ditulis dengan lowercase ataupun uppercase memiliki arti yang sama).

TIPE DATA
1.       Numeric data types
a.       Tipe integral : short, integer, long, dan byte
b.      Tipe nonintegral : decimal, single, double
2.       Character data types
a.       Tipe char
b.      Tipe string
3.       Miscellaneous data types
a.       Boolean
b.      Date
               c.     Object



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));
}

}