Sesuai dengan apa yang sudah diajarkan kepada anda dikelas,
silahkan pikirkan bagaimana cara untuk meng-create 10,000 transaction records.

Untuk permulaannya,
tantangannya adalah membuat 1000 record untuk transaksi
dengan waktu dari 1 Januari 2008 sampai dengan 31 Desember 2008

Gunakan fungsi random untuk mengcreatenya.
Buat yang pakai SQL Server, silahkan tulis di comment
apa nama fungsinya

Buat yang pakai Oracle, silahkan tulis juga di comment
apa nama fungsinya

Di postingan berikutnya saya akan tanyakan
bagaimana cara anda memasukkan data tersebut

Blogged with the Flock Browser

Tags: , ,

10 Comments on How to create 10,000 dummy transaction records?

  1. backstage says:

    pak… mau nanya sedikit… beda nya random sama newid apa ya?
    kok saya pake fungsi random ga jalan, tapi pake fungsi newid jalan…. >.<

    mohon pencerahannya pak…

  2. backstage says:

    oh ya baru baca lagi…

    untuk yang sql server nama fungsinya RAND()…

    CMIIW….

  3. arc says:

    untuk oracle nama fungsinya RANDOM(start end)

    start = angka dimulai dari berapa
    end = angka sampai berapa

    bener ga??…c/o RANDOM(1 10)
    berarti random antara 1 sampai 10

  4. gamers says:

    di oracle buat random pake DBMS_RANDOM.VALUE

  5. Doraemon says:

    coding di oracle.. tapi msh ada error-nya pak X(
    //Kelompok Doraemon 06PBT

    declare
    tgl date:=sysdate;
    tgl2 date:=’05-JUN-10′;
    id,id2 number:=0;
    counter number:=0;
    a,b number;
    counter2 number:=0;
    cust varchar2(20);
    brg varchar2(20);

    begin
    while tgl<tgl2
    loop
    while counter<floor(dbms_random.value(1,5))
    loop
    a=id;
    id:=round(dbms_random.value(0,1),2);
    if not id=a
    if id<0.10 then
    cust:=’Customer 1′;
    elsif id<0.20 then
    cust:=’Customer 2′;
    elsif id<0.30 then
    cust:=’Customer 3′;
    elsif id<0.40 then
    cust:=’Customer 4′;
    elsif id<0.50 then
    cust:=’Customer 5′;
    elsif id<0.60 then
    cust:=’Customer 6′;
    elsif id<0.70 then
    cust:=’Customer 7′;
    elsif id<0.80 then
    cust:=’Customer 8′;
    elsif id<0.90 then
    cust:=’Customer 9′;
    elsif id<1.00 then
    cust:=’Customer 10′;
    end if;
    while counter2<floor(dbms_random.value(1,4))
    loop
    b=id2;
    id2:=round(dbms_random.value(0,1),2);
    if not id2=b
    if id2<0.25 then
    brg:=’Cup240ml’;
    elsif id2<0.50 then
    brg:=’Botol600ml’;
    elsif id2<0.75 then
    brg:=’Botol1500ml’;
    elsif id2<1.00 then
    brg:=’Galon19liter’;
    endif;
    counter2:=counter2+1;
    insert into MsTrans values (tgl,cust,brg,floor(dbms_random.value(1,5)));
    endif;
    end loop;
    counter:=counter+1;
    endif;
    end loop;
    tgl:=tgl+1;
    end loop;
    end;

  6. 06 PJM says:

    Kel OracLe

    import java.util.Random;

    public class main {
    private static String kode;
    private static String nama;
    private static String sales;
    private static int harga;
    private static int quantity;

    public static void main(String[] args) {
    for(int i=0;i<10000;i++){
    System.out.println(“Insert into Transaksi values (T” + i + “, ” + genKdBarang() + “, ” + genNamaCust() + “, ” + genNamaSales() + “, ” + genQuantity() + “, ” + Total() + “)”);
    }
    System.out.println(“(KdTransaksi, KdBarang, Customer, Sales, Quantity, Total Harga”);
    }

    public static int genQuantity() {
    Random rndm = new Random();
    quantity = rndm.nextInt(100);

    return quantity;
    }

    public static int Total() {
    int tem = harga * quantity;
    return tem;
    }

    public static String genKdBarang() {
    Random rndm = new Random();
    int r = rndm.nextInt(100);
    if(r<=25){
    kode = “B001 – Botol Aqua”;
    harga = 1500;
    }
    else if(r<=50){
    kode = “B002 – Aqua Gelas”;
    harga = 500;
    }
    else if(r<=75){
    kode = “B003 – Botol Aqua Kecil”;
    harga = 1000;
    }
    else{
    kode = “B004 – Galon Aqua”;
    harga = 10000;
    }
    return kode;
    }

    public static String genNamaCust() {
    Random rndm = new Random();
    int r = rndm.nextInt(100);
    if(r<=30){
    nama = “Perusahaan 1″;
    }
    else if(r<=60) {
    nama = “Perusahaan 2″;
    }
    else {
    nama = “si acong”;
    }
    return nama;
    }

    public static String genNamaSales() {
    Random rndm = new Random();
    int r = rndm.nextInt(100);
    if(r<=20) {
    sales = “Karmila”;
    }
    else if(r<=40) {
    sales = “Erika”;
    }
    else if(r<=60) {
    sales = “O*J”;
    }
    else if(r<=80) {
    sales = “Herry”;
    }
    else {
    sales = “Ben Stiller”;
    }
    return sales;
    }

    }

    *maaf pak, baru random angka saja…hehehe

  7. Mario says:

    Pak, saya langsung post di full-code nya ga apa2 kan?
    thx..

  8. Erico 1000835650 @ 06PGT says:

    /*Jawaban 1,000 random tanggal */
    CREATE TABLE randomtgl
    (
    idRandomTgl NUMBER PRIMARY KEY,
    tgl DATE
    );

    DECLARE
    tglmin VARCHAR2(12) := ’01/01/2008′;
    tglmax VARCHAR2(12) := ’31/12/2008′;
    hasil VARCHAR2(25);
    i NUMBER := 1;
    BEGIN
    LOOP
    hasil := TO_DATE(ROUND(DBMS_RANDOM.VALUE(TO_CHAR(TO_DATE(tglmin, ‘dd/mm/yyyy’), ‘J’), TO_CHAR(TO_DATE(tglmax, ‘dd/mm/yyyy’), ‘J’))), ‘J’);
    INSERT INTO randomtgl VALUES(i, hasil);
    i := i + 1;
    EXIT WHEN i > 10000;
    END LOOP;
    END;
    /

  9. Ora Cell 06PBT says:

    pak, saya bingung…. Saya bisanya bt recordnya pke C++… maap pak, blom blajar lebih lanjut….

  10. Vera says:

    SET VERIFY OFF
    SET SERVEROUTPUT ON

    DECLARE
    headerRow trheaderSO%ROWTYPE;
    i NUMBER;
    ctr NUMBER;
    minDate VARCHAR2(50);
    maxDate VARCHAR2(50);
    kdCustRandom NUMBER;
    kdSalesRandom NUMBER;

    CURSOR custCur is
    select kdCustomer from msCustomer;
    CURSOR salesCur is
    select kdsalesperson from mssalesperson;

    TYPE recordCust IS RECORD
    (
    kdCust msCustomer.kdCustomer%TYPE
    );

    TYPE recordSales IS RECORD
    (
    kdSalesPerson mssalesperson.kdSalesPerson%TYPE
    );

    TYPE recordCustArr IS TABLE OF recordCust INDEX BY BINARY_INTEGER;
    myCustArr recordCustArr;

    TYPE recordSalesArr IS TABLE OF recordSales INDEX BY BINARY_INTEGER;
    mySalesArr recordSalesArr;

    cusNum NUMBER;
    salesNum NUMBER;
    BEGIN
    i := 1;
    cusNum := 0;
    salesNum := 0;

    OPEN custCur;

    LOOP
    FETCH custCur INTO myCustArr(cusNum).kdCust;
    EXIT WHEN custCur%NOTFOUND;
    –DBMS_OUTPUT.PUT_LINE(myCustArr(cusNum).kdCust);
    cusNum := cusNum + 1;
    END LOOP;

    CLOSE custCur;

    OPEN salesCur;

    LOOP
    FETCH salesCur INTO mySalesArr(salesNum).kdSalesPerson;
    EXIT WHEN salesCur%NOTFOUND;
    –DBMS_OUTPUT.PUT_LINE(mySalesArr(salesNum).kdSalesPerson);
    salesNum := salesNum + 1;
    END LOOP;

    CLOSE salesCur;

    LOOP
    headerRow.noSO := ‘T’ || LPAD(i,4,’0′);

    minDate := TO_CHAR(TO_DATE(’01/01/2009′,’MM/DD/YYYY’),’J');
    maxDate := TO_CHAR(TO_DATE(’12/31/2009′,’MM/DD/YYYY’),’J');

    headerRow.tglSO := TO_DATE(ROUND(DBMS_RANDOM.VALUE(minDate,maxDate)), ‘J’);
    kdCustRandom := ROUND(DBMS_RANDOM.VALUE(0,cusNum-1));
    kdSalesRandom := ROUND(DBMS_RANDOM.VALUE(0,salesNum-1));

    –DBMS_OUTPUT.PUT_LINE(myCustArr(kdCustRandom).kdCust);
    –DBMS_OUTPUT.PUT_LINE(mySalesArr(kdSalesRandom).kdSalesPerson);

    INSERT INTO trheaderSO values(headerRow.noSO,headerRow.tglSO,myCustArr(kdCustRandom).kdCust,mySalesArr(kdSalesRandom).kdSalesPerson);

    i := i + 1;
    EXIT WHEN i > 15;
    END LOOP;

    END;
    /

Leave a Reply

*

Twitter links powered by Tweet This v1.8.3, a WordPress plugin for Twitter.