Jumat, 09 Maret 2012

Migrasi SQL Server Ke Oracle

Objek yang didukung
  •     Tables
  •     Views
  •     Constraints, Primary and Foreign Keys
  •     Indexes
  •     Stored Procedures and Functions
  •     Triggers
  •     SQL Server Identity Columns
  •     Temporary Objects
  •     Defaults
  •     Users
  •     User-defined Types

SQL Developer Migration technology mendukung beberapa fungsi utama dibawah ini
  • secara otomatis melakukan konversi tipe data yang sesuai dengan tipe data Oracle
  • secara otomasis menyelesaikan konflik nama objek
  • melakuka parsing dan perubahan terhadap T-SQL stored procedures, functions, triggers, dan views ke Oracle PL/SQL.
  • meyediakan kemampuan kustomisasi lanjutan seperti kemampuan untuk merubah mapping tipe data, menghapus dan merubah nama objek
  • menghasilkan laporan tentang status dari migrasi
  • menciptakan kode-kode DDL
  • menciptkana kode-kode untuk pemindahan data, error, peringatan tentang proses migrasi

Supported Migration Platforms
  • Supported Source Database     Microsoft SQL Server 7.0, 2000, 2005,2008
  • Supported Oracle Databases     Oracle Database 10g and 11g

Selanjutnya lihat disini : http://st-curriculum.oracle.com/obe/db/hol08/sqldev_migration/mssqlserver/migrate_microsoft_sqlserver_otn.htm

Rabu, 07 Maret 2012

ORACLE SQL SINTAX

Membuat Tabel:
CREATE TABLE PEGAWAI
(
  NIP VARCHAR2(20) NOT NULL
, NAMA VARCHAR2(255)
, CONSTRAINT PEGAWAI_PK PRIMARY KEY
  (
    NIP
  )
  ENABLE
);

Merubah Nama Tabel:
alter table "UNIVERSITAS"."PEGAWAI" rename to PEGAWAI_BACKUP

Selasa, 21 Februari 2012

BACKUP DARI WINDOWS dan RESTORE POSTGRE KE LINUX

1. buat Backup file=
pg_dump -U userdatabase -C -f LOKASIBACKUP Namadatabase

ket opsi:
-C : perinta create database diikutkan
-f: opsi untuk nama file

contoh:
winsows:
pg_dump -U postgres -C -f c:\backup akademik

2. copy file via ftp or apa aja yang bisa diakses pada linux
3. buat database dengan nama yang sama di linux dengan nama yang sama pada windows
4. pada linux ketikan perintah ini
psql -d postgres -U userpostgre -f akademik

Senin, 06 Februari 2012

Remote Postgre SQL pada Windows

tambahkan baris line pada file pg_hba.conf

host    all             all             IP/SUBNET_CLIENT            md5

IP = adalah ip client, SUBNET_CLIENT = subnet jaringan yang diterapkan

contoh 1:
host    all             all             172.17.36.0/24            md5
 angka 0 pada IP, akan memperbolehkan semua network dengan group jaringan  172.17.36

contoh 2:

host    all             all             192.168.1.10/32            md5

hanya akan memperbolehkan client dengan IP 192.168.1.10

Selasa, 31 Januari 2012

Daftar response.setContentType

response.setContentType("text/plain");
response.setContentType("application/vnd.ms-excel");
response.setContentType("application/pdf");
response.setContentType("application/msword");
response.setContentType("application/vnd.ms-excel");
response.setContentType("application/msword");

Jumat, 14 Oktober 2011

Insert IMAGE (LOB) Pada SQL SERVER

insert into hrschema.pegawai(nip,photo)
select 59, bulkcolumn from openrowset (bulk 'c:\gg\img\Tulips.jpg', single_blob) as pic

Jika ukuran file lebih besar dari 65K execute code dibawah ini:
sp_configure 'max text repl size', 2147483647
Go
RECONFIGURE
GO

Minggu, 25 September 2011

SQL SERVER - MENGGANTI SCHEMA DARI TABEL


  • ALTER SCHEMA schema_baru TRANSFER schema_lama.table1

  • ALTER SCHEMA schema_baru TRANSFER schema_lama.table2


  • Jumat, 23 September 2011

    Setting IP DI LINUX FEDORA

    #vi /etc/sysconfig/network-script/ifcfg-eth1
    DEVICE="p2p1"
    ONBOOT="yes"
    NM_CONTROLLED="yes"
    TYPE=Ethernet
    BOOTPROTO=static
    IPADDR0=192.168.137.40
    PREFIX0=24
    GATEWAY0=192.168.137.1
    #DEFROUTE=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    NAME=server4
    UUID=b92aa237-1b70-4a2b-9bbb-da15a3f0e599
    HWADDR=08:00:27:42:AB:A3
    DNS1=10.17.3.244
    DOMAIN=10.17.3.254
    /etc/init.d/network restart

    SQL SERVER - LOOPING

    CONTOH WHILE Loop
    DECLARE @bil INT
    SET
    @bil = 1
    WHILE (@bil <=5)
    BEGIN
    PRINT
    @bil
    SET @bil = @bil + 1
    END
    GO

    Hasil:
    1
    2
    3
    4
    5

    CONTOH WHILE Loop dengan BREAK
    DECLARE @bil INT
    SET
    @bil = 1
    WHILE (@bil <=5)
    BEGIN
    PRINT
    @bil
    SET @bil = @bil + 1
    IF @bil = 4
    BREAK;
    END
    GO

    hasil:
    1
    2
    3

    Jumat, 09 September 2011

    ORACLE GOLDEN GATE - 7 SUB DIREKTORI

    dirchk
    lokasi default untuk file-file checkpoint yang diciptakan oleh proses extract dan replicat yang menghasilkan data berurutan dari operasi baca dan tulis. format nama file adalah <namagrup><nomorurutan>.ekstensifile

    namagrup adalah sebuah grup pemroses dari proses extract dan replicat yang berisikan paramater file, checjkpoint file dan faile lainnya yang berkaitan langsung dengan proses extract dan replicat.

    namagrup dapat dibuat sepanjang 8 karakter termasuk karakter yang bukan alpa numerik, file ini berkestensi .cpe untuk extract dan cpr untuk file chekpoint replicat



    dirdat
    lokasi default untuk OGG file trail dan extract file yang diciptakan dari proses extract. File-file ini kemudian diproses oleh proses Replicat atau aplikasi lain.

    format untuk file trail adalah <prefix><seq number>, prefix harus 2 karakter alpa numerik yang ditentukan selama proses extract atau replicat.
    nama umum dari prefix:
    sa, sb,sc dst, untuk 1, 2, 3 file trail pada sumber
    ta, tb, tc dst, untuk 1, 2, 3 file trail pada target
    6 digit urutan angka akan secara otomatis disertakan untuk setiap prefix untuk setiap trail file yang diciptakan, nama dile untuk file extract ditentukan oleh pengguna dan tidak memiliki urutan angka

    dirdef lokasi default untuk file definisi data yang dibuat oleh utilitas DEFGEN. File-file ASCII berisi definisi sumber data atau target yang digunakan dalam sinkronisasi pada heterogen platform . Format nama file didefinisikan oleh pengguna dan ditentukan secara eksplisit dalam DEFGEN parameter file. Biasanya file data DEFGEN disebut defs.dat.

    dirpcs
    lokasi default untuk file status proses. file-file ini
    hanya dibuat saat proses sedang berjalan. File menunjukkan program dan nama proses port, dan ID proses.
    Format nama file adalah <namagroup>.<Extension file>.
    Ekstensi file adalah PCE untuk Extract, PCR untuk Replicat, atau pcm untuk proses Manager.





    dirprm
    lokasi default untuk file parameter GoldenGate
    dibuat oleh administrator
    untuk mengkonfigurasi run-time parameter untuk proses atau utilitas kelompok GoldenGate. bersisi File-file ASCII umumnya diedit melalui utilitas GGSCI
    tapi dapat juga diedit secara langsung.
    Format nama file adalah <nama grup/user-defined>. PRM atau mgr.prm.


    dirrpt
    lakosi default untuk file file report yang diciptakan oleh proses Extract replicat dan proses manager. berisi file file ASCII informasi statistikal yang berkaitan dengan jalan proses. ketika sebuah proses abends file akan terupddate secara otomatis, walau bagaimanapun, untuk menghasilkan statistik dari proses, perint REPORT pada ggsci harus dipanggil. format file berupa <nama grup><urutan>.rpt
     

    dirsql
    lokasi default untuk SQL scripts.

    Kamis, 25 Agustus 2011

    ORACLE GOLDEN GATE (OGG) - PENGENALAN

    APA ITU OGG?
    - Solusi untuk replikasi data secara realitime
    - Digunakan untuk Capture, filters, routes, verifies, transform, deliver transaksi data secara real-time antara oracle dengan oracle. oracle dengan no oracle, non oracle dengan non oracle

    EVOLUSI OGG
    - Didirikan oleh Sebuah Organisasi di San Fransisco dengan nama GOLDEN GATE BRIDGE oleh Eric Fish dan Todd Davidson
    - Di akuisisi oleh Oracle pada tahun 2009
    - saat ini lebih dari 500 Customer menggunakannya dengan 4000 solusi, dengan pendapatan $100Juta  untuk oracle

    SOLUSI YANG DITAWARKAN
    1. High Availibility
    2. Zero-Downtime Upgrade and migration
    3. Live Reporting
    4. Operasional Bussiness Intelegence
    5. Transactional Data Integration


    TEKNOLOGI OVERVIEW
    Proses Capture (EXTRACT)
    • Mengambil data yang diperlukan dari log database
    • akan memeriksa secara teratur posisi read dan write
    • OGG menjamin dapat melakukan recover selama berproses tanpa kehilangan data pada kasus jika terjadi kegagalan
    • EXTRACT PROSES terdiri dari: STOPPED, STARTING, RUNNING, ABENDED

    TRAILS FILES
    • Merubah data dari proses capture  kedalam format yang sesuai yang akan di simpan menjadi TRAIL FILES ke sumber dan target
    • OGG juga dapat digunakan tanpa trails files pada database asal dan langsung menuliskan langsung ke kolektor database target, proses ini akan mengirimkan data yang besar melalui jaringan (TCP/IP), Walaupun bisa konfigurasi ini tidak disarankan karena dapat menyebabkan data akan tidak sampai jika terjadi masalah jaringan
    • akan menghasilkan sejarah transaksi, dan mendukung perbaikan data untuk mengirimkan ulang melalui DATA PUMP
    DATA PUMP
    • Ketika menggunakan trails files pada sumber atau sering disebut dengan LOCAL TRAILS, OGG membutuhkan Proses Extract lainnya yang disebut dengan DATA PUMP, yang mampu mengirimkan data dalam bentuk blok melalui jaringan
    SERVER COLLECTOR
    • Berjalan pada sistem target, dan mendapat data dari sistm sumber (EXTRACT, DATA PUMP)
    • bertugas untuk mengumpulkan kembali data dari sumber, dan menuliskannya kedalam GG Trail Files, atau sering disebut dengan REMOTE TRAIL
    APPLY PROCESS (REPLICAT)
    • Proses terakhir pada OGG
    • akan membaca trail file, dan menerapkannya ke database target dalam bentuk DML(insert, update, delete) atau DDL (database structural change)
    • akan melakukan proses checkpoin seperti pada sistem sumber
    • Proses Replicat: STOPPED, STARTING, RUNNING, ABENDED
    PROSES MANAGER
    • Dijalankan pada sumber dan target
    • berfungsi untuk melakukan kontrol seperti starting, monitoring, dan mereset ulang proses
    • melakukan alokasi penyimpanan data
    • dan memberitahukan laporan error dan event
    • Harus selalu ada pada setiap implemetasi OGG

    Rabu, 03 Agustus 2011

    TEORI HIMPUNAN

    • Himpunan adalah kumpulan dari objek-objek tertentu yang tercakup dalam satu kesatuan dengan keterangannya yang jelas
    • Untuk menyatakan suatu himpunan, digunakan huruf kapital seperti A, B, C dsb
    • Sedangkan untuk menyatakan anggota-anggotanya digunakan huruf kecil seperti a, b, c, dsb
    Empat cara untuk menyatakan suatu himpunan:
    1. Enumerasi: A = {a, i, u, e, o}
    2. Simbol baku: dengan menggunakan simbol tertentu yang telah disepakati. Contoh:
    • P adalah himpunan bilangan bulat positif 
    • Z adalah himpunan bilangan bulat 
    • R adalah himpunan bilangan riil 
    • C adalah himpunan bilangan komplek
    3. Notasi pembentuk himpunan: dengan menuliskan ciri-ciri umum atau sifat-sifat umum (role) dari anggota. Contoh :
    A = {x|x adalah himpunan bilangan bulat}

    4. Diagram Venn: menyajikan himpunan secara grafis dengan tiap-tiap himpunan digambarkan sebagai lingkaran dan memiliki himpunan semesta (U) yg digambarkan dng segi empat.


    Simbol-simbol khusus yang dipakai dalam teori himpunan adalah:
    Simbol Arti
    {} atau \varnothing Himpunan kosong
    \cup Operasi gabungan dua himpunan
    \cap Operasi irisan dua himpunan
    \subseteq, \subset, \supseteq, \supset Subhimpunan, Subhimpunan sejati, Superhimpunan, Superhimpunan sejati
    AC Komplemen
    \mathcal{P}(A) Himpunan kuasa
     

    Sabtu, 09 April 2011

    Validasi Pada JQGrid

    {name:'kuota',width:'5%',editable:true,align:"left",search:true,editoptions:{size:"10"},editrules:{required:true,number:true}},

    OptionTypeDescription
    edithiddenbooleanThis option is valid only in form editing module. By default the hidden fields are not editable. If the field is hidden in the grid and edithidden is set to true, the field can be edited when add or edit methods are called.
    requiredboolean (true or false) if set to true, the value will be checked and if empty, an error message will be displayed.
    numberboolean (true or false) if set to true, the value will be checked and if this is not a number, an error message will be displayed.
    integerboolean(true or false) if set to true, the value will be checked and if this is not a integer, an error message will be displayed.
    minValuenumber(integer)if set, the value will be checked and if the value is less than this, an error message will be displayed.
    maxValuenumber(integer)if set, the value will be checked and if the value is more than this, an error message will be displayed.
    emailbooleanif set to true, the value will be checked and if this is not valid e-mail, an error message will be displayed
    urlbooleanif set to true, the value will be checked and if this is not valid url, an error message will be displayed
    dateboolean if set to true a value from datefmt option is get (if not set ISO date is used) and the value will be checked and if this is not valid date, an error message will be displayed
    timebooleanif set to true, the value will be checked and if this is not valid time, an error message will be displayed. Currently we support only hh:mm format and optional am/pm at the end
    customboolean if set to true allow definition of the custom checking rules via a custom function. See below
    custom_funcfunction this function should be used when a custom option is set to true. Parameters passed to this function are the value, which should be checked and the name - the property from colModel. The function should return array with the following parameters: first parameter - true or false. The value of true mean that the checking is successful false otherwise; the second parameter have sense only if the first value is false and represent the error message which will be displayed to the user. Typically this can look like this [false,”Please enter valid value”]

    Kamis, 17 Maret 2011

    Layout Manager BorderLayout

    Border layout merupakan default layout pada windows, menghasilkan 5 area untuk meletakan komponen, 4 area ini diberi nama sisi EAST, WEST NORTH, SOTH, dengan jarak menuju ke area tengah (CENTER), ketika menambahkan komponen kita harus menentukan area dari komponen tersebut, sesuai 5 area yang ada, urutan tidak penting pada layout ini. ukuran komponen akan berpengaruh pada ukuran parentnta(Frame)

    import java.awt.*;
    import javax.swing.*;


    public class LayoutBorderLayout extends JFrame{
        public LayoutBorderLayout(){
            setTitle("Layout Border Layout");
            Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // mendapatkan ukuran layar
            int w = 600;
            int h = 600;
            int x = ((int)dim.getWidth() - w) / 2; // mendapatkan posisi x agar berada tepat ditengah layar
            int y = ((int)dim.getHeight() - h) /2; // mendapatkan posisi y agar berada tepat ditengah layar
            setBounds(x,y,w,h); // menset frame ke tengah layar
            Container con = getContentPane();
            JTextArea  textarea = new JTextArea("CENTER", w, y);
            JButton but1 = new JButton("EAST");
            JButton but2 = new JButton("WEST");
            JButton but3 = new JButton("SOUTH");
            JButton but4 = new JButton("NORTH");


            con.add(textarea,BorderLayout.CENTER);
            con.add(but1,BorderLayout.EAST);
            con.add(but2,BorderLayout.WEST);
            con.add(but3,BorderLayout.SOUTH);
            con.add(but4,BorderLayout.NORTH);
            
            setDefaultCloseOperation(EXIT_ON_CLOSE);//
            setVisible(true);
        }
    public static void main(String [] args){
            LayoutBorderLayout borderlayout = new LayoutBorderLayout();
        }
    }

    Gbr Border layout sebelum reseize:

    Gbr Border Layout Setelah Resize

    Rabu, 16 Maret 2011

    Layout Manager GridLayout

    digunakan untuk mengatur komponen pada layout dalam baris dan kolom , sama seperti flowlayout, komponen  akan diletakan sesuai urutan komponen ditambahkan, dimulai dari baris pertama, jika tidak mencukupi akan diset ke baris berikutnya, ukuran komponen akan menyesuaikan ukuran containernya, akan membesar jika ukuran frame dilebarkan, begitu juga sebaliknya


    import java.awt.*;
    import javax.swing.*;


    public class LayoutGridLayout extends JFrame{
        public LayoutGridLayout(){
            setTitle("Layout GridLayout");
            Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // mendapatkan ukuran layar
            int w = 600;
            int h = 600;
            int x = ((int)dim.getWidth() - w) / 2; // mendapatkan posisi x agar berada tepat ditengah layar
            int y = ((int)dim.getHeight() - h) /2; // mendapatkan posisi y agar berada tepat ditengah layar
            setBounds(x,y,w,h); // menset frame ke tengah layar
            Container con = getContentPane();
            setLayout(new GridLayout(2,0));
            JPanel panelTanpaGap  = new JPanel();
            panelTanpaGap.setLayout(new GridLayout(2,5));
            // Grid Layout Tanpa Gap antar komponen
            for (int i=0;i<=10;i++){
                panelTanpaGap.add(new JButton("Tombol ke-"+ i));
            }
           
            getContentPane().add(panelTanpaGap);


             JPanel panelDenganGap  = new JPanel();
             // Grid Layout Dengan Gap antar komponen
            panelDenganGap.setLayout(new GridLayout(2,5,10,25));
            for (int i=0;i<=10;i++){
                panelDenganGap.add(new JButton("Tombol ke-"+ i));
            }


            getContentPane().add(panelDenganGap);
            // setResizable(false);
            setDefaultCloseOperation(EXIT_ON_CLOSE);//
            setVisible(true);
        }
    public static void main(String [] args){
            LayoutGridLayout gridlayout = new LayoutGridLayout();
        }
    }


    Gridlayout Kondisi awal:


    GridLayout Setelah Resize:

    Layout Manager FlowLayout

    Layout dimana komponen akan menyesuaikan posisinya sesuai ukuran frame atau panel(container), jika lebarnya tidak cukup untuk memuat sebuah komponen maka akan dipindahkan kebawah. ukuran komponen yang dimuat tidak berubah

    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.Toolkit;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class LayoutFlowLayout extends JFrame{


        LayoutFlowLayout(){
            Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // mendapatkan ukuran layar
            int w = 600;
            int h = 600;
            int x = ((int)dim.getWidth() - w) / 2; // mendapatkan posisi x agar berada tepat ditengah layar
            int y = ((int)dim.getHeight() - h) /2; // mendapatkan posisi y agar berada tepat ditengah layar
            setBounds(x,y,w,h); // menset frame ke tengah layar
            Container con = getContentPane(); // mendapatkan default panel dari frame
            con.setLayout(new GridLayout(5,0));
            
            //Flow Layout LEFT
            JPanel panelleft  = new JPanel();
            panelleft.setLayout(new FlowLayout(FlowLayout.LEFT));
            for (int i=0;i<=10;i++){
                panelleft.add(new JButton("Tombol ke-"+ i));
            }
            con.add(panelleft);


            //Flow Layout RIGHT
            JPanel panelright  = new JPanel();
            panelright.setLayout(new FlowLayout(FlowLayout.RIGHT));
            
            for (int i=0;i<=10;i++){
                panelright.add(new JButton("Tombol ke-"+ i));
            }
            con.add(panelright);


            //Flow Layout CENTER
            JPanel panelcenter  = new JPanel();
            panelcenter.setLayout(new FlowLayout(FlowLayout.CENTER,2,2));


            for (int i=0;i<=10;i++){
                panelcenter.add(new JButton("Tombol ke-"+ i));
            }
            con.add(panelcenter);


           
      //Flow Layout LEADING
            JPanel panelleading  = new JPanel();
            panelleading.setLayout(new FlowLayout(FlowLayout.LEADING));


            for (int i=0;i<=10;i++){
                panelleading.add(new JButton("Tombol ke-"+ i));
            }
            con.add(panelleading);
            

            //Flow Layout TRAILING
            JPanel paneltrailing  = new JPanel();
            paneltrailing.setLayout(new FlowLayout(FlowLayout.TRAILING));


            for (int i=0;i<=10;i++){
                paneltrailing.add(new JButton("Tombol ke-"+ i));
            }
            con.add(paneltrailing);


            // setResizable(false);
            setDefaultCloseOperation(EXIT_ON_CLOSE);//
            setVisible(true);


        }
        public static void main(String [] args){
            LayoutFlowLayout flowlayout = new LayoutFlowLayout();
        }
    }

    Senin, 28 Februari 2011

    Java Bitwise operator

    /**
     * @(#)Bitwise.java
     *
     *
     * @author mr frans rudolf banjarnahor
     * @version 1.00 2011/2/27
     */

    public class Bitwise {
           
        /**
         * Creates a new instance of <code>Bitwise</code>.
         */
        public Bitwise() {
        }
       
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // dapat diaplikasi kan pada tipe data int, long, short, char,dan byte untuk melakukan operasi pada bilangan biner(bit)
            //Bitwise logik or(|)  and(&) not(~) xor(^)

    //      A    B    A | B        A & B         A ^ B         ~A
    //        0    0    0            0             0             1
    //        1    0    1            0             1             0
    //        0    1    1            0             1             1
    //        1    1    1            1             0             0
           
            Byte [] A = {0,1,0,1};
            Byte [] B = {0,0,1,1};
            System.out.println("Logical AND");
            int i=0;
            System.out.println("A\t&\tB\tA&B");
            for (Byte x:A)
            {
                System.out.println(x +"\t\t"+B[i]+"\t"+(x&B[i]));
                i++;
            }
           
            System.out.println("");
            System.out.println("Logical OR");
            System.out.println("A\t&\tB\tA&B");
            i=0;
            for (Byte x:A)
            {
                System.out.println(x +"\t\t"+B[i]+"\t"+(x|B[i]));
                i++;
            }
           
            System.out.println("");
            System.out.println("Logical XOR");
            System.out.println("A\t&\tB\tA&B");
            i=0;
            for (Byte x:A)
            {
                System.out.println(x +"\t\t"+B[i]+"\t"+(x^B[i]));
                i++;
            }
           
            System.out.println("");
            System.out.println("Logical NOT");
            System.out.println("A\t~A");
            i=0;
            for (byte x:A)
            {
                System.out.println(x+"\t"+(~x));
                i++;
            }
           
            System.out.println("");
            System.out.println("Shift LEFT artinya geser kekiri sejumlah y bit");
            Integer X = 2;
            Integer y = 2;
            System.out.println("X="+X+"(biner)\t\t\ty\t\tX<<y");
            System.out.println(Integer.toBinaryString(X) + "\t\t\t\t" + y + " bit\t\t" +  Integer.toBinaryString(X<<y) + "(" + (X<<y) + " int)");
           
           
            System.out.println("");
            System.out.println("Shift LEFT artinya geser kekiri sejumlah y bit");
            X = 64;
            y = 4;
            System.out.println("X="+X+"(biner)\t\t\ty\t\tX>>y");
            System.out.println(Integer.toBinaryString(X) + "\t\t\t" + y + " bit\t\t" +  Integer.toBinaryString(X>>y) + "(" + (X>>y) + " int)");
           
           
        }
    }

    hasil:
    Logical AND
    A   &   B   A&B
    0       0   0
    1       0   0
    0       1   0
    1       1   1

    Logical OR
    A   |   B   A|B
    0       0   0
    1       0   1
    0       1   1
    1       1   1

    Logical XOR
    A   ^   B   A^B
    0       0   0
    1       0   1
    0       1   1
    1       1   0

    Logical NOT
    A   ~A
    0   -1
    1   -2
    0   -1
    1   -2

    Shift LEFT artinya geser kekiri sejumlah y bit
    X=2(biner)          y       X<<y
    10              2 bit       1000(8 int)

    Shift RIGHT artinya geser kekanan sejumlah y bit
    X=64(biner)         y       X>>y
    1000000         4 bit       100(4 int)

    Minggu, 20 Februari 2011

    Macam Bilangan

    Bilangan rasional adalah bilangan yang dapat dinyatakan sebagai a/b dimana a, b bilangan bulat dan b tidak sama dengan 0. dimana batasan dari bilangan rasional adalah mulai dari selanga (-∞, ∞).
    Bilangan bisa dikatakan dapat dibagi menjadi 2 sekup besar yaitu bilangan rasional dan bilangan irasional. Bila kita mengatakan bilangan rasional berarti di dalamnya sudah mencakub bilangan-bilangan lain seperti: bilangan bulat, bilangan asli, bilangan cacah, bilangan prima dan bilangan-bilangan lain yang menjadi subset dari bilangan rasional.
    Contoh dari bilangan rasional:
    Jika a/b = c/d maka, ad = bc.
    \frac{a}{b} + \frac{c}{d} = \frac{ad+bc}{bd}.
    \frac{a}{b} \cdot \frac{c}{d} = \frac{ac}{bd}.
     - \left( \frac{a}{b} \right) = \frac{-a}{b} = \frac{a}{-b} \quad\mbox{dan}\quad 
        \left(\frac{a}{b}\right)^{-1} = \frac{b}{a} \mbox{ jika } a \neq 0.
    \frac{a}{b} \div \frac{c}{d} = \frac{ad}{bc}.
    Bilangan bulat terdiri dari bilangan cacah (0, 1, 2, ...) dan negatifnya (-1, -2, -3, ...; -0 adalah sama dengan 0 dan tidak dimasukkan lagi secara terpisah). Bilangan bulat dapat dituliskan tanpa komponen desimal atau pecahan.
    Himpunan semua bilangan bulat dalam matematika dilambangkan dengan Z (atau \mathbb{Z}), berasal dari Zahlen (bahasa Jerman untuk "bilangan").

    bilangan riil atau bilangan real menyatakan bilangan yang bisa dituliskan dalam bentuk desimal, seperti 2,4871773339… atau 3.25678. Bilangan real meliputi bilangan rasional, seperti 42 dan −23/129, dan bilangan irasional, seperti π dan sqrt2. Bilangan rasional direpresentasikan dalam bentuk desimal berakhir, sedangkan bilangan irasional memiliki representasi desimal tidak berakhir namun berulang. Bilangan riil juga dapat direpresentasikan sebagai salah satu titik dalam garis bilangan

    Bilangan cacah adalah himpunan bilangan bulat yang tidak negatif, yaitu {0, 1, 2, 3 ...}. Dengan kata lain himpunan bilangan asli ditambah 0.Jadi, bilangan cacah harus bertanda positif

    bilangan prima adalah bilangan asli yang lebih besar dari 1, yang faktor pembaginya adalah 1 dan bilangan itu sendiri. 2 dan 3 adalah bilangan prima. 4 bukan bilangan prima karena 4 bisa dibagi 2. Sepuluh bilangan prima yang pertama adalah 2, 3, 5, 7, 11, 13, 17, 19, 23 dan 29.
    Jika suatu bilangan yang lebih besar dari satu bukan bilangan prima, maka bilangan itu disebut bilangan komposit. Cara paling sederhana untuk menentukan bilangan prima yang lebih kecil dari bilangan tertentu adalah dengan menggunakan saringan Eratosthenes


    Bilangan asli, Dalam matematika, terdapat dua kesepakatan mengenai himpunan bilangan asli. Yang pertama definisi menurut matematikawan tradisional, yaitu himpunan bilangan bulat positif yang bukan nol {1, 2, 3, 4, ...}. Sedangkan yang kedua definisi oleh logikawan dan ilmuwan komputer, adalah himpunan nol dan bilangan bulat positif {0, 1, 2, 3, ...}. Bilangan asli merupakan salah satu konsep matematika yg paling sederhana dan termasuk konsep pertama yang bisa dipelajari dan dimengerti oleh manusia, bahkan beberapa penelitian menunjukkan beberapa jenis kera juga bisa menangkapnya.
    Wajar apabila bilangan asli adalah jenis pertama dari bilangan yang digunakan untuk membilang, menghitung, dsb. Sifat yang lebih dalam tentang bilangan asli, termasuk kaitannya dengan bilangan prima, dipelajari dalam teori bilangan. Untuk matematika lanjut, bilangan asli dapat dipakai untuk mengurutkan dan mendefinisikan sifat hitungan suatu himpunan.
    Setiap bilangan, misalnya bilangan 1, adalah konsep abstrak yg tak bisa tertangkap oleh indera manusia, tetapi bersifat universal. Salah satu cara memperkenalkan konsep himpunan semua bilangan asli sebagai sebuah struktur abstrak adalah melalui aksioma Peano (sebagai ilustrasi, lihat aritmetika Peano).
    Konsep bilangan-bilangan yg lebih umum dan lebih luas memerlukan pembahasan lebih jauh, bahkan kadang-kadang memerlukan kedalaman logika untuk bisa memahami dan mendefinisikannya. Misalnya dalam teori matematika, himpunan semua bilangan rasional bisa dibangun secara bertahap, diawali dari himpunan bilangan-bilangan asli.
    Himpunan Z tertutup di bawah operasi penambahan dan perkalian. Artinya, jumlah dan hasil kali dua bilangan bulat juga bilangan bulat. Namun berbeda dengan bilangan asli, Z juga tertutup di bawah operasi pengurangan. Hasil pembagian dua bilangan bulat belum tentu bilangan bulat pula, karena itu Z tidak tertutup di bawah pembagian.

    bilangan kompleks adalah bilangan yang berbentuk
     a + bi \,
    dimana a dan b adalah bilangan riil, dan i adalah bilangan imajiner tertentu yang mempunyai sifat i 2 = −1. Bilangan riil a disebut juga bagian riil dari bilangan kompleks, dan bilangan real b disebut bagian imajiner. Jika pada suatu bilangan kompleks, nilai b adalah 0, maka bilangan kompleks tersebut menjadi sama dengan bilangan real a.
    Sebagai contoh, 3 + 2i adalah bilangan kompleks dengan bagian riil 3 dan bagian imajiner 2.
    Bilangan kompleks dapat ditambah, dikurang, dikali, dan dibagi seperti bilangan riil; namun bilangan kompleks juga mempunyai sifat-sifat tambahan yang menarik. Misalnya, setiap persamaan aljabar polinomial mempunyai solusi bilangan kompleks, tidak seperti bilangan riil yang hanya memiliki sebagian.
    Dalam bidang-bidang tertentu (seperti teknik elektro, dimana i digunakan sebagai simbol untuk arus listrik), bilangan kompleks ditulis a + bj.

    Bilangan imajiner adalah bilangan yang mempunyai sifat i 2 = −1. Bilangan ini biasanya merupakan bagian dari bilangan kompleks. Selain bagian imajiner, bilangan kompleks mempunyai bagian bilangan riil. Secara definisi, (bagian) bilangan imajiner i ini diperoleh dari penyelesaian persamaan kuadratik:
    x^2 + 1 = 0 \
    atau secara ekivalen
    x^2 =  -1 \
    atau juga sering dituliskan sebagai
    x = \sqrt{-1} .
    Bilangan imajiner dan/atau bilangan kompleks ini sering dipakai di bidang teknik elektro dan elektronika untuk menggambarkan sifat arus AC (listrik arus bolak-balik) atau untuk menganalisa gelombang fisika yang menjalar ke arah sumbu x mengikuti:
    e^{ i (kx - \omega t)} = e^{ j (\omega t-kx)} \,), dengan j = −i.

    Bilangan irasional adalah bilangan riil yang tidak bisa dibagi (hasil baginya tidak pernah berhenti). Dalam hal ini, bilangan irasional tidak bisa dinyatakan sebagai a/b, dengan a dan b sebagai bilangan bulat dan b tidak sama dengan nol. Jadi bilangan irasional bukan merupakan bilangan rasional. Contoh yang paling populer dari bilangan irasional ini adalah bilangan π,  \sqrt2 , dan bilangan e.
    Bilangan π sebetulnya tidak tepat, yaitu kurang lebih 3.14, tetapi
    = 3,1415926535.... atau
    = 3,14159 26535 89793 23846 26433 83279 50288 41971 69399 37510...
    Untuk bilangan  \sqrt2 :
    = 1,4142135623730950488016887242096.... atau
    = 1,41421 35623 73095 04880 16887 24209 69807 85696 71875 37694 80731 76679 73798..
    dan untuk bilangan e:
    = 2,7182818....
    Eksponen adalah perkalian yang diulang-ulang. Orang menulis eksponen dengan indeks di atas, yang akan terlihat sebagai berikut: xy. Terkadang hal itu tak mungkin. Kemudian orang menulis eksponen menggunakan tanda ^: 2^3 berarti 23.
    Bilangan x disebut bilangan pokok, dan bilangan y disebut eksponen. Sebagai contoh, pada 23, 2 adalah bilangan pokok dan 3 eksponen.
    Untuk menghitung 23 seseorang harus mengalikan 3 kali terhadap angka 2. Sehingga 2^3=2 \cdot 2 \cdot 2. Hasilnya adalah 2 \cdot 2 \cdot 2=8. Apa yang dikatakan persamaan bisa juga dikatakan dengan cara ini: 2 pangkat 3 sama dengan 8.
    Contoh:
    • 5^3=5\cdot{} 5\cdot{} 5=125
    • x^2=x\cdot{} x
    • 1x = 1 untuk setiap bilangan x
    Jika eksponen sama dengan 2, maka disebut persegi karena area persegi dihitung menggunakan a2. Sehingga
    x2 adalah persegi dari x
    Jika eksponen sama dengan 3, maka disebut kubik karena volume kubus dihitung dengan a3. Sehingga
    x3 adalah kubik x
    Jika eksponen sama dengan -1 orang harus menghitung inversi bilangan pokok. Sehingga:x^{-1}=\frac{1}{x} Jika eksponen adalah integral dan kurang dari 0, orang harus membalik bilangan dan menghitung pangkat. Sebagai contoh:
    2^{-3}=(\frac{1}{2})^3=\frac{1}{8}
    Jika eksponen sama dengan \frac{1}{2} hasilnya adalah akar persegi bilangan pokok. Sehingga x^{\frac{1}{2}}=\sqrt{x}. Contoh:
    4^{\frac{1}{2}}=\sqrt{4}=2
    Dengan cara yang sama, jika eksponen \frac{1}{n} hasilnya adalah akar ke-n, sehingga:
    a^{\frac{1}{n}}=\sqrt[n]{a}
    Jika eksponen merupakan bilangan rasional \frac{p}{q}, hasilnya adalah akar ke-q bilangan pokok yang dipangkatkan p, sehingga:
    a^{\frac{p}{q}}=\sqrt[q]{a^p}
    Eksponen bisa juga tak rasional. Untuk menjadikan bilangan pokok a menjadi pangkat ke-x yang tak rasional, kita menggunakan rangkaian ketidakterhinggaan bilangan rasional (xi), yang limitnya adalah x:
    x=\lim_{n\to\infty}x_n
    seperti ini:a^x=\lim_{n\to\infty}a^{x_n}
    Ada beberapa aturan yang membantu menghitung pangkat:
    • \left(a\cdot b\right)^n = a^n\cdot{}b^n
    • \left(\frac{a}{b}\right)^n = \frac{a^n}{b^n},\quad b\neq 0
    • a^r \cdot{} a^s = a^{r+s}
    • \frac{a^r}{a^s} = a^{r-s},\quad a\neq 0
    • a^{-n} = \frac{1}{a^n},\quad a\neq 0
    • \left(a^r\right)^s = a^{r\cdot s}
    • a^0 = 1,\quad a\neq 0: Bila bilangan pokok lebih besar daripada 1 dan eksponen 0, jawabannya 1. Jika bilangan pokok dan pangkat sama dengan 0, jawabannya tak terdefinisikan.
    Ekponen matriks bisa pula dihitung. Matriks itu harus persegi. Sebagai contoh: I^2=I \cdot I=I.

    Sumber: wikipedia

    Jumat, 31 Desember 2010

    Merubah ukuran font pada jquery ui datepicker

    <style> 
    div.ui-datepicker{
     font-size:10px;
    }
    </style> 
     
    atau:
    <style>  
    
    #ui-datepicker-div{
     font-size:10px;
    }</style>