Search Box

Custom Search

Monday, February 24, 2014

Row Function

Posted by Unknown  
10:18 AM

Character Function

ASCII() dan CHR() digunakan utuk mengetahui nilai ASCII dan CHR

SQL> SELECT ASCII('a'), ASCII('A') FROM DUAL;

SQL> SELECT CHR(97), CHR(65) FROM DUAL;

CONCAT(x,y) Digunakan untuk menggabungkan karakter x dan y.

SQL> SELECT CONCAT(id_pegawai, nama_pegawai)

2 FROM pegawai WHERE kode_bag=31;

SQL> SELECT CONCAT('saya',' menulis cerita') dual;

Initcap - > mengubah karakter awal dari string x menjadi huruf capital.
•Lower -> mengubah string x menjadi huruf kecil
•Upper -> mengubah string x mengjadi huruf capital


SQL> SELECT 'sATu kaTa' as "String", INITCAP('sATu kaTa') as "Initcap",

3 LOWER('sATu kaTa') as "Lower", UPPER('sATu kaTa') as "Upper“ From Dual;

SQL> SELECT nama_pegawai FROM pegawai

3 WHERE nama_pegawai='ahmad kosasih';

SQL> SELECT nama_pegawai FROM pegawai

3 WHERE LOWER(nama_pegawai)='ahmad kosasih‘;

INSTR(x,y)Digunakan untuk mencari posisi suatu huruf pada suatu kalimat.

SQL> SELECT nama_pegawai, INSTR(nama_pegawai,'A') as "Posisi 'A'“ FROM pegawai;
 
LENGTH() digunakan untuk mengembalikan jumlah karakter dari string x.

SQL> SELECT nama_pegawai, LENGTH(nama_pegawai) AS "Jml Karakter“ FROM pegawai;
LTRIM -> digunakan untuk memotong string pada sisi kiri
•RTRIM -> digunakan untuk memotong string pada sisi kanan
•TRIM -> digunakan untuk memotong string pada sisi kiri dan kanan


SQL> SELECT 'aabbaabbaa' as "STRING", LTRIM('aabbaabbaa','a') as "LTRIM",

3 RTRIM('aabbaabbaa','a') as "RTRIM", TRIM('a' FROM 'aabbaabbaa') as "TRIM"

5 FROM dual;

REPLACE(x,y,z) digunakan untuk mengganti bagian y menjadi bagian z pada string x.

SQL> SELECT nama_brg, REPLACE(nama_brg,'Gigabyte','GB') as BARU

3 FROM barang WHERE nama_brg LIKE 'G%';

SUBSTR(x,y [,z]) digunakan untuk menampilkan substring mulai dari posisi y sebanyak z karakater dari string x.

SQL> SELECT nama_pegawai, SUBSTR(nama_pegawai,1,4),

3 SUBSTR(nama_pegawai,-10,5) FROM pegawai;

Numeric Function

ABS() digunakan untuk mengembalikan nilai Absolut

SQL> SELECT -10 AS "Nilai1", ABS(-10) as "Absolut“ FROM dual;

CEIL(X) ->Digunakan untuk pembulatan ke atas dari nilai decimal x.

SQL> SELECT CEIL(5.1) FROM dual; 

FLOOR(x) -> Digunakan untuk pembulatan ke bawah dari nilai decimal x.

SQL> SELECT FLOOR(5.1) FROM dual; 

MOD(x,y) -> Digunakan untuk mencari sisa bagi antara nilai x dengan y.

SQL> SELECT MOD(7,2) FROM dual;

SQL> SELECT nama_pegawai, gaji, MOD(gaji,1000000) FROM pegawai; 

ROUND(x [,y]) -> Digunakan untuk pembulatan dari nilai x ke decimal y kebelakang koma.

SQL> SELECT ROUND(5.71), ROUND(10.65634,2) FROM dual; 
 
TRUNC(x [,y]) -> Digunakan untuk memotong nilai x menjadi y decimal tanpa dilakukan pembulatan.

SQL> SELECT TRUNC(5.71), TRUNC(10.65634,2) FROM dual;

Date Function

•SYSDATE dan CURRENT_TIMESTAMP
•Digunakan untuk menampilkan tanggal dan waktu system saat ini.


SQL> SELECT sysdate FROM dual;

SQL> SELECT current_timestamp FROM dual;

MONTHS_BETWEEN
•MONTHS_BETWEEN(x,y) -> Digunakan untuk mencari jumlah bulan antara tanggal y dan tanggal x.

SQL> SELECT months_between('09-NOV-09','09-OCT-08') FROM dual;

Fungsi-Fungsi Bulan lainnya
–ADD_MONTHS
–LAST_DAY
–NEXT_DAY
–ROUND
–TRUNC

General Function

NVL() digunakan untuk menangani nilai null.

SQL> SELECT nama_pegawai, gaji, pct_komisi,

2 gaji + (pct_komisi*gaji) as "Total“ FROM pegawai;

SQL> SELECT nama_pegawai, gaji, pct_komisi,

2 gaji + (NVL (pct_komisi,0)*gaji) as "Total“ FROM pegawai;

NULLIF(x,y) digunakan untuk membandingkan nilai x dan y. Jika nilai x sama dengan nilai y maka akan menghasilkan nilai Null.

SQL> SELECT kode_brg, LENGTH(nama_brg) AS x, LENGTH(keterangan) AS y,

2 NULLIF(LENGTH(nama_brg),LENGTH(keterangan))

3 AS "NULLIF(x,y)“ FROM barang;

CASE digunakan untuk percabangan seperti IF-THEN-ELSE

SQL> SELECT nama_pegawai, kode_bag, gaji as "Gaji",

2 CASE kode_bag WHEN 31 THEN gaji*1.1

3 WHEN 41 THEN gaji*1.15 ELSE gaji

4 END as "Gaji Baru“ FROM pegawai;

Group function

AVG(x) di gunakan untuk menghitung nilai rata-rata dari kelompok data x.

SQL> SELECT AVG(harga_jual) AS "Rata2 Harga Jual“ FROM barang;

SQL> SELECT AVG(gaji) AS "Rata-Rata Gaji“ From pegawai;

COUNT(x) digunakan untuk menghitung jumlah data dari kelompok data x.

SQL> SELECT COUNT(id_pegawai) AS "Jlh Pegawai“ FROM pegawai;

Jika ingin menghitung jumlah data sebaiknya gunakan kolom yang tidak ada nilai null.

SQL> SELECT COUNT(pct_komisi) AS "Jlh Pegawai“ FROM pegawai;

Atau bisa menggunakan kolom ROWID.

SQL> SELECT COUNT(rowid) FROM pegawai;

Max(x) Digunakan untuk mencari nilai paling tinggi dari kelompok data x dan MIN(x) digunakan untuk mencari nilai yang paling rendah dari kelompok data x.

SQL> SELECT MAX(harga_jual) AS "Harga Tertinggi",

2 MIN(harga_jual) AS "Harga Terendah“ FROM barang;

SQL> SELECT MAX(tgl_masuk) AS "Baru",

2 MIN(tgl_masuk) AS "Lama“ FROM pegawai;

SUM(x) digunakan untuk menghitung jumlah total dari data-data yang ada di kelompok data x.

SQL> SELECT SUM(total) FROM hd_sales;

SQL> SELECT SUM(gaji) FROM pegawai;

Group By dan Having


SQL> SELECT kode_bag, SUM(gaji) as "TOTAL“ FROM pegawai

2 GROUP By kode_bag;

ingin ditampilkan bagian yang rata-rata gaji pegawainya di atas 7000000.

SQL> SELECT kode_bag as "Bagian", AVG(gaji) as "Rata2"

2 FROM pegawai HAVING AVG(gaji)>7000000 GROUP BY kode_bag; 

Jika kita menyeleksinya menggunkan WHERE maka akan terjadi ERROR.

SQL> SELECT kode_bag as "Bagian", AVG(gaji) as "Rata2"

2 FROM pegawai WHERE AVG(gaji)>7000000 GROUP BY kode_bag;

WHERE AVG(gaji)>7000000


ERROR at line 4:

ORA-00934: group function is not allowed here

0 komentar:

Data Manipulasi Language

Posted by Unknown  
9:58 AM

Operasi Aritmatika

Ekspresi aritmetika dengan operand berupa kolom.

SQL> SELECT nama_pegawai,

2 gaji, gaji+500000

3 FROM pegawai;

Ekpresi Aritmetika dengan Operand

SQL> SELECT 20+30 FROM Dual;

SQL> SELECT 2*3 FROM Dual;

SQL> SELECT sysdate FROM Dual;

SQL> SELECT User FROM Dual;

Table Dual

SQL> DESC dual;

Operasi dengan Tanggal



SQL> SELECT to_date('20-SEP-08') +2 FROM dual; 

Tanggal-Numerik = Tanggal

SQL> SELECT to_date('20-SEP-08') -1 FROM dual;

TO_DATE('

---------

19-SEP-08 

Tanggal-Tanggal=Numerik

SQL> SELECT to_date('20-SEP-08') - to_date('15-SEP-08') FROM dual;

TO_DATE('20-SEP-08')-TO_DATE('15-SEP-08')

-----------------------------------------


Tanggal+Tanggal=ERROR

SQL> SELECT to_date('20-SEP-08') + to_date('1-SEP-08') FROM dual;

SELECT to_date('20-SEP-08') + to_date('1-SEP-08')

*

ERROR at line 1:

ORA-00975: date + date not allowed 

Kolom Alias

Digunakan untuk mengganti kan nama kolom yang sudah ada.

SQL> SELECT nama_pegawai,

2 gaji gajipegawai from pegawai;

SQL> SELECT nama_pegawai, gaji,

2 gaji*0.1 kenaikan_gaji,

3 gaji + (gaji*0.1) TOTAL pegawai;
 
Jika ingin menambahkan space pada kolom alias, gunakan tanda petik ganda.

SQL> SELECT nama_pegawai, gaji,

2 gaji*0.1 "Kenaikan Gaji",

3 gaji + (gaji*0.1) "TOTAL Gaji“ FROM pegawai;
 
Menggunakan kolom alias bisa juga dengan menggunakan keyword AS

SQL> SELECT nama_pegawai, gaji,

2 gaji*0.1 AS "Kenaikan Gaji",

3 gaji + (gaji*0.1) AS "TOTAL Gaji“ FROM pegawai;

Penggabungan String

Digunakan untuk mengkombinasikan beberapa kolom atau kolom dengan suatu text menjadi satu kolom output.
•Contoh tanpa Concatination :


SQL> SELECT nama_pegawai,

2 jabatan

3 FROM pegawai; 

Menggunakan Concatination

SQL> SELECT nama_pegawai ||' sebagai '|| jabatan AS " Pegawai dan Jabatan"

2 FROM pegawai;

Pegawai dan Jabatan

-----------------------------------------------------------

MEUTIA JOVI MAHARANI sebagai PRESIDENT

BUDI HARTADI sebagai VP, OPERATIONS

RULLY SIANIPAR sebagai VP, SALES

EDWIN ASRUL sebagai VP, FINANCE

NOVI SETIAWATI sebagai VP, ADMINISTRATION

Nilai NULL

•Kolom yang belum ada nilainya di dalam database.

SQL> SELECT id_pegawai, nama_pegawai, email FROM pegawai;

ID_PEGAWAI NAMA_PEGAWAI EMAIL

---------- ------------------------- -------------

1001 MEUTIA JOVI MAHARANI

1002 BUDI HARTADI

1003 RULLY SIANIPAR

SQL> SELECT id_pegawai, nama_pegawai,

2 NVL(email,'BELUM PUNYA EMAIL') as EMAIL FROM pegawai;

ID_PEGAWAI NAMA_PEGAWAI EMAIL

---------- ------------------------- -------------------------

1001 MEUTIA JOVI MAHARANI BELUM PUNYA EMAIL

1002 BUDI HARTADI BELUM PUNYA EMAIL

1003 RULLY SIANIPAR BELUM PUNYA EMAIL

SQL> SELECT id_pegawai, nama_pegawai, gaji,

2 gaji+ (pct_komisi*gaji) AS "Total“ FROM pegawai;

SQL> SELECT id_pegawai, nama_pegawai, gaji,

2 gaji+ (NVL(pct_komisi,0)*gaji) AS "Total"

3 FROM pegawai;

Disctinct

Digunakan untuk menghilangkan duplikasi nilai.

Disctinct, sebelum menggunakan Disctinct, setelah menggunakan Disctinct, dupikasi nilaiWHERE


SQL> SELECT id_pegawai, nama_pegawai, gaji

2 FROM pegawai WHERE gaji<5000000;

SQL> SELECT nama_pegawai, userid, tgl_masuk

2 FROM pegawai WHERE userid='edwirul'; -> Case Sensitif

SQL> SELECT nama_pegawai, userid, gl_masuk FROM pegawai

2 WHERE tgl_masuk >='01-jan-02'; ->Format Sensitif (DD:MM:RR)
 
Operator Between … AND …

SQL> SELECT nama_pegawai, gaji FROM pegawai

2 WHERE gaji BETWEEN 4000000 AND 6000000; 
 
Operator IN

SQL> SELECT nama_pegawai, gaji FROM pegawai

2 WHERE gaji IN (2500000,4000000,5000000); 
 
Operator LIKE

SQL> SELECT nama_pegawai FROM pegawai WHERE nama_pegawai LIKE 'S%‘;

SQL> SELECT nama_pegawai FROM pegawai WHERE nama_pegawai LIKE '_O%‘; 
 
Operator IS NULL

SQL> SELECT id_pegawai, nama_pegawai, email

2 FROM pegawai WHERE email is Null; 

Logical Condition

•Operator AND

SQL> SELECT id_pegawai, nama_pegawai, gaji, kode_bag FROM pegawai

2 WHERE kode_bag=41 AND gaji >8000000;
 
•Operator OR

SQL> SELECT id_pegawai, nama_pegawai, gaji, kode_bag FROM pegawai

2 WHERE kode_bag=41 OR gaji >8000000; 
 
•Operator NOT

SQL> SELECT id_pegawai, nama_pegawai, gaji,

2 kode_bag FROM pegawai

3 WHERE NOT(kode_bag=41); 
 
•Urutan Pengerjaan Operator

SQL> SELECT id_pegawai, nama_pegawai, gaji, kode_bag FROM pegawai

2 WHERE kode_bag=31 OR kode_bag=41 AND gaji > 8000000;

SQL> SELECT id_pegawai, nama_pegawai, gaji,

2 kode_bag FROM pegawai

3 WHERE (kode_bag=31 OR kode_bag=41) AND gaji > 8000000;

Order By

Mengurutkan secara Ascending (Default)

SQL> SELECT id_pegawai, nama_pegawai, gaji

2 FROM pegawai ORDER BY gaji ASC;

Mengurutkan secara Descending

SQL> SELECT id_pegawai, nama_pegawai, gaji

2 FROM pegawai ORDER BY gaji DESC;

Mengurutkan berdasarkan kolom Alias

SQL> SELECT id_pegawai, nama_pegawai, gaji,

2 pct_komisi, gaji + (pct_komisi*gaji) as "Total"

3 FROM pegawai ORDER BY "Total";

Mengurutkan berdasarkan dua kolom

SQL> SELECT id_pegawai, nama_pegawai, kode_bag,

2 gaji FROM pegawai ORDER BY kode_bag, gaji DESC;

Menggunakan urutan kolom pada Klausa SELECT

SQL> SELECT id_pegawai, nama_pegawai, kode_bag,

3 gaji FROM pegawai ORDER BY 3,4 DESC;

Angka 3 dan 4 menggambarkan urutan kolom yang ditampilkan 3(kode_bag), 4(gaji).

0 komentar:

Friday, February 21, 2014

Table pada Oracle Database

Posted by Unknown  
2:12 PM

Dictionary Table

SQL>DESC dictionary

Mencari Infromasi Table di user shcema

SQL>SELECT table_name FROM user_tables; 

•Informasi Objek

SQL>COLUMN object_name FORMAT A15

SQL>COLUMN object_type FORMAT A15

SQL>SELECT obeject_name, object_type FROM user_objects;



Membuat Table

SQL> CREATE TABLE product

2 (kode_product VARCHAR2(5),

3 nama_product VARCHAR2(20),

4 harga_jual NUMBER(10),

5 satuan VARCHAR2(10),

6 stock NUMBER(4)

7  ;
 
Untuk mengisi datanya gunakan perintah INSERT

SQL>INSERT INTO product VALUES('AT001','BUKU',1500,'pcs',100);

SQL>INSERT INTO product VALUES('AT002','PENSIL',1000,'pcs',50);

SQL>INSERT INTO product VALUES('AT003','PENGARIS',2000,'pcs',20); 

Default Option

SQL> CREATE TABLE penjualan (no_order Number(5),

2 tgl_transaksi Date Default sysdate,

3 nama_pembeli Varchar2(15) Default 'Noname',

4 rp_transaksi Number(10) Default 0); 

Menampilkan informasi table lebih detail dari dictionary USER_TAB_COLUMNS

SQL> BREAK ON TABLE_NAME

SQL> COL TABLE_NAME FORMAT A10

SQL> COL COLUMN_NAME FORMAT A15

SQL> COL DATA TYPE FORMAT A15

SQL> COL DATA_TYPE FORMAT A15

SQL> COL DATA_DEFAULT FORMAT A15

SQL> SELECT table_name, column_name, data_type,

2 data_default from user_tab_columns

3 WHERE TABLE_NAME = 'PENJUALAN'; 

Cara memberi nilai default ada dua cara yaitu :
1.Mengabaikan kolom yang didefinisikan dengan nilai default

SQL> INSERT INTO penjualan (no_order) Values(1);

2. Menyebutkan secara eksplisit dengan DEFAULT

SQL> INSERT INTO penjualan VALUES (2,DEFAULT,'Toni',20000);

Membuat Table dengan Subquery

SQL> CREATE TABLE copy_pegawai

2 AS

3 SELECT * FROM pegawai;



SQL> CREATE TABLE copy_peg41

2 AS

3 SELECT * FROM pegawai

4 WHERE kode_bag=41;

Modifikasi Tabel

Menambah kolom

SQL> ALTER TABLE product

2 ADD (pct_diskon NUMBER(5,2) DEFAULT 0,

3 keterangan VARCHAR2(30));

*Cek Struktur Table SQL>DESC product
Modifikasi Kolom
Tambah jumlah karakter pada Kolom

SQL> ALTER TABLE product MODIFY (nama_product varchar2(25));

Ubah nilai default pada kolom

SQL> ALTER TABLE product MODIFY (pct_diskon DEFAULT 10); 

Mengahapus kolom

SQL> ALTER TABLE product DROP COLUMN keterangan; 

Mengubah nama Column

SQL> ALTER TABLE product RENAME COLUMN harga_jual TO harga_jual_product; 

Set Kolom menjadi UNUSED (kolom yang tidak digunakan)

SQL> ALTER TABLE product SET UNUSED COLUMN satuan; 

Informasi jumlah kolom yang sudah di UNUSED

SQL>SELECT * from user_unused_col_tabs; 

Menghapus kolom yang di set UNUSED

SQL> ALTER TABLE product DROP UNUSED COLUMNS;

Membuat Constraint

Primary Key

SQL> ALTER TABLE PRODUCT

2 ADD CONSTRAINT pk_product PRIMARY KEY (kode_product);

Unique

SQL> ALTER TABLE PRODUCT

2 ADD CONSTRAINT uq_product UNIQUE (nama_product); 
 
Check

SQL> ALTER TABLE pegawai

2 ADD CONSTRAINT ck_gaji CHECK (gaji>=1000000);
Not Null

SQL> ALTER TABLE pegawai Modify userid constraint userid_nn NOT NULL; 

Foreign Key

SQL> ALTER TABLE pegawai

2 ADD CONSTRAINT fk_kode_bag FOREIGN KEY (kode_bag)

3 REFERENCES bagian(kode_bag); 

Mengetahui Constraint pada table

SQL> SELECT constraint_name, table_name, constraint_type

2 from user_constraints where table_name=’PRODUCT’;

Disable dan Enable Constraint

•Langkan pertama adalah mengecek dahulu status constraintnya dengan perintah

SQL> SELECT constraint_name, table_name, status

2 FROM user_constraints WHERE

3 table_name IN('EMPLOYEE','DEPARTEMENT');
 
Disable

SQL> ALTER TABLE EMPLOYEE

2 DISABLE CONSTRAINT ck_gaji_emp; 
 
•Enable

SQL> ALTER TABLE EMPLOYEE

2 ENABLE CONSTRAINT ck_gaji_emp; 
 
Menghapus Constraint

SQL> ALTER TABLE EMPLOYEE

2 DROP CONSTRAINT ck_gaji_emp;

Penerapan Constraint Relasi

Pada table dengan relasi, statement delete terkadang gagal

SQL> DELETE departement

2 where kode=10;

DELETE departement

*

ERROR at line 1:

ORA-02292: integrity constraint (SALES.FK_KODE_DEPT) violated - child record found

Hal ini terjadi karena pada saat pendefinisian constraint fk_kode_dept tidak diikuti option ON DELETE CASCADE atau ON DELETE SET NULL.

SQL> Alter table employee

2 ADD CONSTRAINT fk_kode_dept FOREIGN KEY(kode)

3 REFERENCES departement(kode) ON DELETE SET NULL; 
 
Coba Delete kembali

SQL> DELETE departement where kode=10; 
 
ON DELETE CASCADE

SQL> Alter table employee

2 ADD CONSTRAINT fk_kode_dept FOREIGN KEY(kode)

3 REFERENCES departement(kode) ON DELETE CASCADE;

Truncate Tabel

Buatlah Tabel dengan data dummy

SQL> CREATE TABLE COPY_PEG

2 as

3 SELECT * FROM pegawai;

•Table created.

SQL> BEGIN

2 FOR X IN 1..8 LOOP

3 INSERT INTO COPY_PEG

4 SELECT * FROM COPY_PEG;

5 END LOOP;

6 COMMIT;

7 END;

8 /

0 komentar:

Wednesday, February 19, 2014

Perintah Dasar SQL*Plus

Posted by Unknown  
2:29 PM

Melihat Struktur Table

Menggunakan Perintah DESCRIBE untuk menampilkan struktur table pegwai

SQL>DESCRIBE pegawai


Penulisan DESCRIBE bisa disingkat dengan DESC

SQL>DESC bagian

Menampilkan Perintah Terakhir

•Ketik perintah berikut :

SQL> SELECT id_pegawai,

2 nama_pegawai,

3 gaji

4 FROM pegawai

5 Where gaji > 10000000;

Untuk menampilkan isi Buffer SQL *Plus atau menampilkan perintah yang terakhir diketik, gunakan LIST atau L.

SQL> List

1 SELECT id_pegawai,

2 nama_pegawai,

3 gaji

4 FROM pegawai

5 Where gaji > 10000000

Untuk menjalankan perintah yang ada di buffer ketik RUN atau slash /. Beda Run dengan slash “/”, kalau dengan slash “/” perintah tidak ditampilkan, sedangkan dengan RUN perintah dimunculkan dulu baru dieksekusi.

SQL>RUN

SQL>/



Menyimpan Query SQL

•Untuk menyimpan perintah yang ada di buffer menjadi file script, menggunakan perintah SAVE. Misal perintah yang di atas saat ini sedang ada di buffer akan kita simpan menjadi file info_pegawai.sql

SQL>SAVE info_pegawai.sql
 
•Di folder mana file info_pegawai.sql di simpan? Untuk mengetahui default penyimpanan ketik saja HOST untuk memenggi Ms Dos Prompt.

SQL> host

Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.



C:\oraclexe\app\oracle\product\10.2.0\server\BIN>

Berarti File info_pegawai.sql di simpan di

C:\oraclexe\app\oracle\product\10.2.0\server\BIN>

Ketik exit untuk kembali ke SQL *Plus

Jika ingin mengarahkan ke folder tertentu pada perintah SAVE sebutkan nama Foldernya.

SQL>Save C:\SCRIPT\info_pegawai.sql 
 
Perintah GET untuk mengambil file script dan dimuat ke dalam buffer

SQL> GET C:\SCRIPT\info_pegawai.sql

Operasi dengan Dokumen SQL External

•Jika ingin langsung menjalankan file script dari SQL *Plus, gunakan perintah START atau gunakan tanda @.

SQL>START C:\Script\info_pegawai.sql

SQL>@ C:\Script\info_pegawai.sql
 
•Untuk menghilangkan perintah dari buffer atau memebersihkan buffer gunakan perintah CLEAR BUFFER.

SQL>CLEAR BUFFER

SQL> list

SP2-0223: No lines in SQL buffer.

Editing & Spooling Perintah SQL

•Untuk mempermudah kesalahan ketik dapat menggunakan perintah EDIT.
SQL>EDIT

Untuk menyimpan setiap hasil eksekusi intruksi SQL ke dalam file, pertama-tama user harus mengaktifkan terlebih dahuku mode SPOOL diikuti parameter nama file yang akan digunakan untuk menyimpan hasil eksekusi tersebut.

SQL>SPOOL C:\SCRIPT\info_pegawai.txt

SQL>SPOOL OFF;

Mengatur Format Tampilan

•Format Kolom

SQL> Column nama_pegawai FORMAT A20 Heading "Nama Pegawai"

SQL> Column gaji FORMAT 999G999G999

SQL> Select id_pegawai, nama_pegawai, gaji from Pegawai;

ID_PEGAWAI Nama Pegawai GAJI

---------- -------------------- ------------

1001 MEUTIA JOVI MAHARANI 22,500,000

1002 BUDI HARTADI 10,500,000

1003 RULLY SIANIPAR 10,000,000

1004 EDWIN ASRUL 10,500,000

•Untuk menghilangkan format suatu kolom gunakan perintah CLEAR,
SQL> CLEAR nama_pegawai

SQL> CLEAR COLUMNS /untuk menghilangkan semua format column
 
• Setting Halaman
SQL>SET PAGESIZE 50

SQL>SELECT id_pegawai, nama_pegawai From pegawai; 
 
•Untuk menentukan panjang suatu baris data digunakan perintah SET LINESIZE.
SQL>SET LINESIZE 200

SQL> SELECT * From pegawai;

Break .. Skip

SQL> BREAK ON kode_bag

SQL> SELECT kode_bag, id_pegawai, nama_pegawai, gaji from pegawai

2 Order by kode_bag, id_pegawai;

KODE_BAGID_PEGAWNama Pegawai GAJI

---------- ---------- -------------------- ------------

10 1004 EDWIN ASRUL 10,500,000

31 1003 RULLY SIANIPAR 10,000,000

1011 RIDWAN SANUSI 4,000,000

1012 SUSI INDIARTI 4,900,000

1013 POPY LUSIANA 5,150,000

Tambahlan BREAK dan SKIP

SQL>BREAK ON kode_bag SKIP 1;

KODE_BAG ID_PEGAW Nama Pegawai GAJI

-------- ---------- -------------------- ------------

41 1025 ASFIANTI 5,000,000

50 1001 MEUTIA JOVI MAHARANI 22,500,000

1005 NOVI SETIAWATI 11,500,000

1021 SUHARDIATNO 2,500,000

1022 AHMAD KOSASIH 2,000,000 

Header dan Footer

SQL> SET PAGESIZE 15

SQL> SET LINESIZE 60

SQL> TTITLE LEFT 'Judul Kiri Atas'

SQL> BTITLE RIGHT 'Judul Kanan Bawah'

SQL> Select kode_bag, id_pegawai, nama_pegawai, gaji

2 FROM pegawai Where kode_bag IN (31,50)

3 ORDER BY kode_bag, id_pegawai;

Judul Kiri Atas

KODE_BAG ID_PEGAWAI Nama Pegawai GAJI

---------- ---------- -------------------- ------------

31 1003 RULLY SIANIPAR 10,000,000

1011 RIDWAN SANUSI 4,000,000

1012 SUSI INDIARTI 4,900,000

1013 POPY LUSIANA 5,150,000

1014 ERTIN 5,250,000

1015 ESTI ARVINA 4,500,000

50 1001 MEUTIA JOVI MAHARANI 22,500,000

1005 NOVI SETIAWATI 11,500,000

Judul Kanan Bawah

Untuk menghapus TTITLE dan BTITLE

SQL>TTTILE OFF

SQL>BTITLE OFF

SQL>CLEAR BREAK 

Compute

•Menampilkan jumlah total gaji per kode bagian

SQL>BREAK ON kode_bag SKIP 1

SQL>SET PAGESIZE 100

SQL>BREAK ON kode_bag SKIP 1

SQL>COMPUTE sum OF gaji ON kode_bag

SQL>SELECT kode_bag, id_pegawai, gaji

2 FROM pegawai

3 ORDER BY kode_bag, id_pegawai;

•Menampilkan gaji paling tinggi pada setiap bagian

SQL> COMPUTE sum OF gaji ON kode_bag

SQL> SELECT kode_bag, id_pegawai, gaji

2 FROM pegawai

3 ORDER BY kode_bag, id_pegawai;

Untuk menghapus COMPUTE

SQL>CLEAR COMPUTE

SQL>CLEAR BREAK

Menampilkan nilai agregasi keseluruhan

SQL> BREAK ON REPORT

SQL> COMPUTE SUM OF gaji ON Report

SQL> Select kode_bag, id_pegawai, gaji

2 From pegawai

3 Where kode_bag<=40

4 order by kode_bag;

Variabel (Parameter) dalam SQL Plus



SQL> SELECT id_pegawai, nama_pegawai, kode_bag, gaji

2 FROM pegawai

3 WHERE kode_bag=&bagian;



SQL> SELECT id_pegawai, nama_pegawai, kode_bag, gaji

2 FROM pegawai

3 WHERE nama_pegawai=’&nama’;

Verifikasi variable

Nilai Verify bisa ON dan OFF, jika ON berarti melakuikan verifikasi dan sebaliknya jika OFF tidak melakukan verifikasi. Secara Default VERIFY bernilai ON.

SQL>SET VERIFY OFF

SQL> SELECT id_pegawai, nama_pegawai, kode_bag, gaji

2 FROM pegawai

3 WHERE nama_pegawai=’&nama’;

0 komentar:

Perintah Dasar SQL

Posted by Unknown  
2:09 PM

Interaksi Dengan Database

•Jalankan SQL*Plus dan login ke database menggunakan user SYSTEM.
•Jalankan CommandPrompt.

C:\>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 27 13:39:56 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Enter user-name: system

Enter password: *****

Connected to:

Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SQL>

Lakukan Pengecekan terhadap nama database Anda.

SQL> SELECT * FROM GLOBAL_NAME;

Lakukan pengecekan, ada berapa user atau Schema di dalam database Anda.

SQL> SELECT USERNAME FROM DBA_USERS;

Untuk mengecek User atau Schema yang sedang aktif.

SQL> Show user;

Membuat user

SQL>CREATE USER Nama_User IDENTIFIED BY password_user

DEFAULT TABLESPACE USERS

QUOTA UNLIMITED ON USERS;

Memberi GRANT ke user

GRANT connect, resource to Nama_User;

Mengganti password user

SQL> alter user nama_user

2 identified by password_user; 

Menghapus User

Drop user Nama_User; 
 
Membuka user yang terkunci(Unlock)

SQL>alter user scott account unlock;

Pindah User atau Schema

SQL> Connect

Enter User Name :

Enter Password :

Atau bisa juga dengan

SQL>Connect nama_user/password_user 


 
Melakukan pengecekan di Schema ada objek database apa saja menggunakan perintah

SQL> Select object_name, object_type

2 from user_objects;

Mengakhiri Koneksi dari database

SQL>Disconnect

Keluar dari SQL*Plus

SQL>Exit 
 
Jika ingin mematikan layanan database dari SERVICE OracleXE 10g, ketikan perintah berikut :

SQL>conn / as sysdba

SQL> shutdown immediate 
 
Untuk menghidupkannya kembali ketikan perintah berikut :

SQL>conn / as sysdba

SQL> startup

Menampilkan informasi lengkap tentang status database.

SQL> DESC v$database
 
Melihat semua background process yang dijalankan oleh oracle sebagai bagian dari arsitektur.

SQL> show sga;

Menjalankan Script SQL

•Perintah SQL selain ditulis langsung pada SQL*Plus prompt juga bisa disimpan sebagai file script. Sebagai contoh buatlah file script SQL dengan tools editor seperti notepad dengan isi seperti berikut.
notepad, database, sql
•Selanjutnya jalankan script.sql dari prompt SQL dengan menyebutkan secara lengkap folder tempat file tersebut dan tambahkan tanda @(‘at’) di depannya.

SQL> @C:\SCRIPT.sql

EMPLOYEE_ID FIRST_NAME SALARY

----------- -------------------- ----------

205 Shelley 12000

206 William 8300


0 komentar:

Monday, February 17, 2014

SMS Gateway

Posted by Unknown  
3:46 PM

SMS Gateway



Suatu solusi mengatasi perbedaan jarak dan waktu

Pengertian sms gateway secara umum adalah penghubung antara dunia komunikasi (dalam hal ini Mobile Phone dengan fasilitas SMS) dengan dunia pengolahan data yaitu komputer.

Terdapat Beberapa maanfaat aplikasi yang bisa digunakan pada teknologi SMS Gateway, antara lain:
•Corporate SMS Gateway
•Controlling Using SMS Gateway
•SMS Gateway Under Web based Application

Corporate SMS Gateway
Corporate SMS Gateway




Contoh-contohnya secara nyata digunakan untuk aplikasi, antara lain:•Pooling SMS
•SMS Broadcast
•Request Administration using sms

Controlling Using SMS Gateway

Controlling Using SMS Gateway



Contoh-contohnya secara nyata digunakan untuk aplikasi, antara lain:•Smart car
•Intelligent home


SMS Gateway Under Web based Application
SMS Gateway Under Web based Application


Contoh-contohnya secara nyata digunakan untuk aplikasi, antara lain:
•SMS in the Web
•SMS to E-mail dan sebaliknya

Baca juga tentang pelajaran Sistem Multimedia Antara lainnya Yaitu :













0 komentar:

Java Script and Dynamic HTML

Posted by Unknown  
3:25 PM

Java Script and Dynamic HTML

Apa?

Kenapa?

Four technologies/languages

XHTML

Cascading Styles Sheets (CSS)

Scripting languages

Document Object Model (DOM)

Bahasa Pemrograman Dynamic HTML

ASP = Active Server Page

JSP = Java Server Page

VB.net = Visual Basic Network

PHP = Personal Home Page

Java script

dll



Java/Javascript

•JavaScript
–Interpreted oleh client
–Terintegrasi dengan dokumen HTML
–Loose typing of data types
–Script hanya berfungsi pada browser
–Bekerja dengan elemen HTML
–Access browser objects and functionality

•Java
–Program dapat di kompile dan dapat dijalankan oleh client
– Dapat menggunkan apllet untuk dokumen Strong typing of data types
–Aplikasi yang dapat berdiri sendiri
–Dapat berjan seperi HTML (contoh multimedia)
–No access to browser objects or functionality

JavaScript Data and Variables

Variables van be used without declaring them.

It is better, however to declare them, for example:

var name = "Fred";

var a, b, c;

var pi = 3.1415926;

You don't specify the type of the variable.

All data types are objects, but explicit construction is not always necessary.

JavaScript Expressions



JavaScript supports most of the same operators supported by Java.

For example, comparison operators include:

>, <, >=, <=, ==

Assignment operators include:

=, +=, -=, *=, /=, etc

Logical operators include:

&&, ||, !

Arithmetic operators include:

+, -, *, /, %


JavaScript Functions

•A function in JavaScript is like a static method in Java.
•You use functions to store code that you will use a number of times.
•Functions may have parameters and return values but you don't specify the type of either.

More Advanced JavaScript

•Some of the more advanced techniques include:
–Pull-down or pull-out menus
–Draggable objects
–More complex animations
•There are code libraries around for many of these tasks (see references)
•Typically you import a code library as follows:

<SCRIPT LANGUAGE="JavaScript” SRC="dynlayer.js">

</SCRIPT>

Java Applets

Server side

Compiled

Included in page

<APPLET CODE="classname.class" width="300" height="200"><PARAM NAME="paramname" VALUE="20"></APPLET>


<OBJECT classid="clock.class" codetype="application/java" width="300" height="200"><PARAM NAME="paramname" VALUE="20"></OBJECT>

Baca juga tentang pelajaran Sistem Multimedia Antara lainnya Yaitu :













0 komentar:

Sinkronisasi Dalam Sistem Multimedia

Posted by Unknown  
3:04 PM

SINKRONISASI DALAM SISTEM MULTIMEDIA

Sinkronisasi dalam sistem multimedia merupakan hubungan yang temporal (sementara) antara objek media dalam sistem multimedia. Yang akan datang sinkronisasi sistem multimedia akan bersifat spasial (tetap) ini akan lebih baik dibandingkan dengan temoral.

Sinkronisasi antara objek media yang tidak bergantung dengan waktu lebih baik dibandingkan objek media yang tidak bergantung dengan waktu

Bentuk Dasar dari Sinkronisasi Multimedia

Bentuk dasar sinkronisasi terdiri dari beberapa layer (lapisan) yang saling berhubungan satu sama lain
multimedia application, media layer, stream layer, object layer, specification layer, abstraction



a. Media Layer (Lapisan Media)

Suatu aplikasi yang beroperasi pada satu media stream yang kontinu, pada lapisan ini komponen jaringan haruslah diperhitungkan. Tugas utama dari komponen ini adalah berfungsi sebagai acces antara alat multimedia dengan file multimedianya

b. Stream Layer

Lapisan arus beroperasi pada kontinu media stream yang dibentuk menjai suatu kelompok media stream. Dalam group semua stream di krim secara paralel dengan menggunakan mekanisme sinkronisasi interstream. parameter Qos akan menetapkan kebutuhan akan intrastream dan interstream sinkronisasi. Tugas lapisan iniadalah meliputi sumber daya reservasi dan proses skeduling LDU (link data Unit).

c. Object Layer

Lapisan obyek beroperasi pada semua media stream dan menyembunyikan perbedaan antara media yang kontinu (media yang terpengaruh dengan waktu dan diskrit media (media yang tidak bergantung dengan waktu). Lapisan ini bertanggung jawab untuk penjadwalan pada proses presentasi.

d. Specification Layer

Lapisan ini berhubungan langsung dengan aplikasi yang digunakan user dan lapisan ini membuat sinkronisasi yang lebih spesifik Spesifikasi sinkronisasi antara lain:
•Interval-Based: spesifikasi temporer koneksi antara interval waktu dari presentasi object media
•Axes-Based: melakukan persamaan waktu dari keseluruhan presentasi
•Mengendalikan flow-based: mengendalikan jumlah aliran data yang akan di tampilkan (presentasi)

Synchronization Specification


A synchronization specification should comprise:
1.Intra-object synchronization specifications for the media objects of the presentation
2.QoS descriptions for intra-object specifications
3.Inter-object synchronization specifications for media objects of the presentation
4.QoS descriptions for inter-object synchronization

In addition, the form, or alternate forms, of a multimedia object may be described. For example, a text could be presented as text on the screen or as a generated audio sequence. In the case of live synchronizations, the temporal relations are implicitly defined during capture. QoS requirements are specified before the start of the capture. In the case of synthetic synchronization, the specification must be created explicitly.

0 komentar:

Protokol Jaringan Pada Sistem Multimedia

Posted by Unknown  
2:55 PM

Protokol Jaringan Pada Sistem Multimedia

•Protokol jaringan TCP/IP
•Terdiri dari lima 5 layer (lapisan)
–Aplication Layer
–Transport Layer
–Network Layer
–Data link Layer
–Physic Layer

Bentuk protokol TCP/IP yang disejajarkan dengan Protokol OSI

osi, tcp, ip

Protocol pada sistem multimedia

•Lapisan protocol yang digunakan pada sistem multimedia terdistribuasi adalah pada 3 lapisan yaitu, lapisan aplikasi, lapisan transport, dan lapisan network



Lapisan Aplikasi

•lapisan protokol aplikasi adalah lapisan paling atas yang ada pada jaringan protokol TCP/IP, protokol ini berhubungan langsung dengan pengguna.di dalam protokol ini terdapat protokol-protokol yang ada di dalam protokol aplikasi, antara lain:
–Real Time Player (RTP)
–Real Time Control Protocol (RTCP)
–Real Transport Streaming Protocol
–Hyper Text Transport Protocol (HTTP)

Real Time Protocol

•RTP ( RFC 1889) [5] menyediakan jaringan transport end-to-end yang berfungsi sangat baik untuk aplikasi pengriman data real-time, seperti video atau audio baik dengan cara multicast atau jaringan unicast.

Real Time Control Protocol (RTCP)

•Merupakan Bagian pengontrolan paket data pada RTP, dimana paket data tersebut diberikan label sehingga data dapat diketahui urutannya dalam proses playback

Real Transport Streaming Protocol

•RTSP (RFC 2326) [5] adalah protokol tingakt aplikasi yang berfungsi untuk mengatur pengiriman data dengan real time properties . di dalam bahasa yang lain, RTSP diartikan sebagai “network remote control” untuk multimedia server.
•Bbeberapa metode yang tersedia di dalam RTSP adalah SETUP, PLAY, RECORD, PAUSE dan TEARDOWN. Biasanya protokol ini digunkan untuk aplikasi Video on Demand (VoD)

Hyper Text Transport Protocol (HTTP)

•HTTP (RFC 2616) [5] adalah protokol lapisan aplikasi yang digunakan untuk pendistribusian, kolaborasi , sistem informasi hypermedia. HTTP secara luas digunakan di dalam World Wide web (WWW) untuk pengiriman data dan di dalam kenyataannya banyak penyedia layanan penyimpanan menyimpannya file mereka kedalam file HTTP server (hosting).

Baca juga tentang pelajaran Sistem Multimedia Antara lainnya Yaitu :













Lapisan Transportasi

Lapisan ini adalah bagian lapisan yan bertugas mengubah data menjadi packet-packet data yang lebih kecil. Lapisan ini mempunyai 2 jenis protokol yaitu:
–User Datagram protocol (UDP)
–Transmision control Protocol (TCP)

User Datagram protocol (UDP)

•UDP (RFC 768) [5] dirancang untuk membuat tersedianya suatu bentuk datagram komunikasi komputer berbasis packet-switched. UDP adalah suatu prosedur program aplikasi yang berfungsi untuk mengirimkan pesan ke program lain dengan mekanisme protokol yang minimum.

Transmision control Protocol (TCP)

•TCP (RFC 793) diperuntukan untuk penggunaan protokol host-to-host dimana host di dalam jaringan komnikasi komputer berbasis packet switched untuk menginterkoneksikan system pada jaringan tersebut.

Lapisan Jaringan (Network Layer)

•Lapisan ini berfungsi sebagai lapisan yang memberikan proses pengalamatan (internet protocol / IP) dan menentukan proses routing

•IP (RFC 791) [5] dirancang untuk digunakan dalam menghubungkan sistem dari packet Switched pada jaringan komputer. IP menyediakan untuk mengirimkan blok data yang biasa disebut dengan datagram atau paket dari sumber (pengirim) ke tujuan (penerima), dimana sumber dan tujuan adalah mengindentifikasikan host dengan panjang alamat yang sudah ditetapkan.

0 komentar:

Kualitas Layanan QOS Pada Sistem Multimedia

Posted by Unknown  
2:13 PM

Kualitas Layanan QOS Pada Sistem Multimedia

Parameter yang ditekankan pada kualitas layanan dari komunikasi audio dan video adalah sebagai berikut diantarnya:



•Frame Loss
•Error Rate
•Throughput

Frame Loss

Frame Loss adalah parameter dari sistem multimedia streming yang dapat diukur, yaitu dengan cara mencari nilai selisih dari packet frame yang dikirim oleh transmitter dikurang dengan packet frame yang diterima oleh receiver

Floss = FTx - FRx

Dimana

Floss = Frame loss

FTx = Frame yang dikirim oleh transmitter

FRx = Frame yang diterima oleh receiver

Error Rate

•Parameter yang lain dari kualitas layanan adalah error rate, pada error rate terdapat dua jenis keslahan (error), yaitu ; bit error dan packet loss. Bit error adalah normal dari suatu komunikasi audio dan video dikarenakan akibat ganguan dan interferensi.

•Kehilangan paket data (packet loss) sebagian besar disebabkan oleh network switches yang memiliki kekurangan kapasitas buffer yang terbatas.

Throughtput

•Pada dasarnya troughput adalah jumlah bit atau paket data yang diterima dengan baik oleh receiver

•Definisi trouhgput sendiri belum jelas dengan pasti penetapannya

Tabel beberapa contoh parameter kualitas layanan dengan level yang berbeda

kualitas suara telepon, cd audio, NTSC video, HDTV, lip synchronization, parameter sistem

Kualitas Video

•Parameter Kualitas suatu video tidak dapat ditetapkan secara pasti, dikarenakan presepsi antar user berbeda-beda
•Kualitas video banyak dipengaruhi oleh beberapa faktor antara lain:
–Image Quality
–frame rate
–Brightness
–frame loss dan
–warna.

Perbandingan Kualitas Image Quality dengan Frame Rate

Video quality per frame

Skala Kualitas Video berdasarkan Parameter Frame Rate

Skala Kualitas Video berdasarkan Parameter Frame Rate

0 komentar:

Kompresi Video

Posted by Unknown  
1:59 PM

Kompresi Video

Kompresi video dipengaruh dari data video tersebut dan hardware yang digunakan pada video tersebut
– pada pengambilan gambar
– dan pada saat pengiriman data
•Algoritma kompresi pada video adalah pada dua sisi yaitu:
–Spatial compression (intra-frame)
•Adalah mengkompresi masing-masing gambar pada video tersebut
–Temporal compression (inter-frame)
•Mengkompresi jumlah frame video persatuan waktu.

H.261

•Dibuat oleh CCITT (Consultative Commite for International Telephone and Telegraph) pada tahun 1988-1990
•Dirancang untuk video conferencing, aplikasi video-telephone menggunakan jaringan telephone ISDN
• Kecepatan bit-rate yang dimiliki sebesar p x 64 Kb/sec, dimana p adalah frame rate bernilai 1 sampai 30
H.261,isdn,frame rate
•Susunan frame berurutan seperti pada Gambar diatas, dimana susunan antar frame berurutan, tiap 3 buah intra frame dibatsi satu inter frame
•Tipe frame gambarnya adalah CCIR 601 CIF (352 x 288) dan QCIF (176 x 144) dengan sub samplingnya 4:2:0
•Mempunyai 2 tipe frame yaitu: Intra-frames (I-frames) dan Inter.-frames (P-frames):
I-frame digunakan untuk mengakses banyak titik, hal tersebut sama seperti yang digunkan dalam JPEG
P-frame menggunkan “pseudo-differences” dari frame yang sebelumnya, dimana antar frame terhubung satu sama lain

Intra Frame Coding pada H.261

Proses Intra frame Coding
Proses Intra frame Coding
•Berdasarkan gambar proses intra frame coding H.261 Macroblok dari gambar yang asli adalah 16 x 16 area pixel pada Y plane. Macroblok biasanya menggunakan 4 Y blok, 1 Cr blok dan 1 Cb blok
•Kuantisasi secara konstan berisi semua Koefesien DCT (Discrete coefficient Transform) seperti pada kuantisasi tabel pada JPEG yang akan di terangkan pada slide selanjutnya

Inter-frame (P-frame) Coding

Inter-frame (P-frame) Coding
•Gambar yang sebelumnya disebut dengan gambar acuan, gambar hasil coding disebut dengan gambar tujuan
•Poin-poin yang ditekankan pada proses ini adalah: perbedaan gambar dari hasil encoding


1.memerlukan adanya gambar yang akan dicoding dengan gambar acuan yang bukan gambar asli.
2.mereka menggunakan ”Mean Absolute Error” (MAE) untuk mencari blok yang paling baik. Dapat juga menggunakan ”Mean Sequared Error (MSE) = sum(E*E)/N

H.263

•Standar H.263 adalah suatu standar baru untuk meningkatkan standar sebelumnya yang digunakan untuk video yang memiliki bit rate yang rendah, di adopsi pada bulan maret 1996. Seperti H.261, H.263 mengunakan transformasi coding untuk intra frame dan memprediksi inter frame dari video.
•Keuntungan yang didapat jika menggunakan format video H.263, adalah:
1.Presisi pada pixel menengah dalam montion video
2.Tidak ada batasan vektor yang berubah
3.Codingnya menggunakan aritmatika bebasis syntax
4.Sangat tepat dalam memprediksi dan PB-frames
5.Seabagi tambahan baru dari format sebelumnya (H.261) adalah untuk ukuran frame CIF dan QCIF, selain itu H.263 dapat mendukung SQCIF, 4CIF dan 16 CIF, masing-masing ukuran fame dibahas pada tabel Komponen Pendukung Video Format


Tabel komponen Pendukung Video Format

Tabel komponen Pendukung Video Format

Vector Quantization

Vector Quantization

Tabel Kuantisasi pada JPEG

Tabel Kuantisasi pada JPEG

Discrete Cosine Transform (DCT)

Discrete Cosine Transform (DCT)
component samples, dct coefficients

DCT coefficients,Quantization Table,Quantized DCT coefficients

Software Codecs for Multimedia

•Popular software codecs
–MPEG-1
–Cinepak
–Intel Indeo
–Sorenson

0 komentar:

Kompresi Audio

Posted by Unknown  
1:36 PM

Baca juga tentang pelajaran Sistem Multimedia Antara lainnya Yaitu :













Metode kompresi lossless yang masih tradisional seperti Huffman, LZW. Penggunaanya tidak bekerja dengan baik pada kompresi audio, sama seperti sebagian kompresi untuk gambar. Sehingga dibentuklah sebuah metoda kompesi untuk mengatasi keterbatasan pada metode kompresi lossless, yaitu disebut dengan metode kompresi lossy.



Ciri-ciri dari metode kompresi lossy pada audio

•Adaptive Differetial Pulse Code Modulation, contohnya CCITT G.721,16 tau 32 Kbit/sec
–Melakukan encode dua atau lebih sinyal yang berbeda, perbedaan kuantisasi pada encode tersebut adalah kehilangan sinyal data suara
–Mengadaptasi kuantisasi terhadap beberapa bit sehingga dapat digunakan asalkan isi data sinyal suara yang diadaptasi sedikit
 •Linier Predective Coding (LPC)difungsikan untuk menyesuaikan sinyal data yang ada dengan sinyal suara manusia, kemudian mengirimkan parameter model suara tersebut ketempat tujuan, seperti sebuah computer yang dapat berbicara dengan bahasa manusia dengan kecepatan 2,4 kbps
•Code Excited Linear Predicator (CELP) bekerja mirip seperti LPC, tetapi ada tambahan CELP dapat memancarkan data suara yang salah, sedangkan PLC tidak, contohnya mutu percakapan audio pada kecepatan 4,8 kbps

Critical Bands

•Sistem suara manusia memiliki keterbatasn, dimana resolusi frekuensinya terbatas. Keragaman leber frekuensi dapat dibedakan menjadi critical bands. Jika frekuensi yang ada kuramng dari 100 Hz maka diangap frekuensi audio yang rendah, dan apabila lebih dari 4 kHz disebut frekuensi audi yang tinggi. Kesemuanya frekuensi audio dapat dibagi menjadi 25 critical bands.

Satuan frekuensi suara dapat diubah menjadi nilai satuan yang baru yaitu bark,di mana;
•1 Bark = jangkauan satu critical band
•Untuk frekuensi < 500 Hz, dapat diubah menjadi
freq, frekuensi,band,bark,critical bandBark, 
•Untuk frekuensi > 500 Hz, adalah
freq, frekuensi,band,bark,critical band,lebih 500 hzBark

Teknik Kompresi Audio dengan format MPEG

•Beberapa fakta yang terjadi pada format MPEG;
•MPEG-1: 1,5 Mbits/sec untuk audio dan video, dimana 1,2 Mbits/sec digunkan untuk video dan 0,3 Mbits/sec digunkan untuk audio, nilai ini lebih kecil dibandingkan dengan CD audio yang belum dikompresi sebesar 44,100 samples/sec * 16 bits/sample * 2 channel lebih dari 1,4 Mbits/ sec
•Jangkauan Faktor kompresi dari MPEG-1 adalah dari 2,7 s/d 24.
•Sehingga dengan kompresi rasio sebesar 6:1 untuk 16 bit stereo dan frekuensi 48 Khz didapatkan kapasitas rate data sebesar 256 kbit/sec, ini merupakan suara yang sangat baik didengar oleh telingamanusia.
•MPEG audio mendukung frekuensi sebesar 32 kHz, 44,1 kHz dan 48 kHz.
•Mampu bekerja pada satu atau dua buah kanal, dari empat jenis suara, antara lain:
–Monophonic (single audio channel)
–Dual Monophonic, dua buah cahanel yang berbeda dan tidak ada kaitan satu sama lain
–Stereo , untuk kanal stereo adalah dua buah kanal adalah pengabungan beberapa bit, tapi tidak menggunakan coding joint stereo
–joint stereo, mengambil nilai yang paling baik dari jenis suara stereo, bisanya lebih dari dua buah kanal (channel)

Langkah-Langkah yang ada
Pada Algoritma MPEG

Algoritma MPEG,signal audio,intermodulasi
•Meggunakan saringan (filter) untuk membagi signal audio, contoh 48 kHz suara dibagi menjadi 32 jenis lebar frekeuensi (subband frequency)
•Memberikan pembatas pada masing frekensi yang telah dibagi-bagi, karena kalu tidak dibatasi akan mengakibatkan intermodulasi
•Jika kekuatan suara terlalu rendah maka tidak dilakukan encode pada suara tersebut
–Cara lain adalah memberikan bit pengecekan yang berfungsi mengecek data suara tersebut rusak atau tidak yang diakibatkan oleh noise atau gangguan, apabila rusak maka data bit tersbut digantikan bit yang jenisnya sama denga terdekatnya.
–Mengubah format data suara menjadi format Bitstream

Lapisan Pada MPEG

Lapisan Pada MPEG,audio samples


Fungsi masing-masing lapisan adalah sebagai berikut;
•Lapisan 1 : fungsi dari lapisan ini adalah melakukan penyaringan pada tiap frame dengan model DCT dan melakukan pengelompokan terhadap sinyal yang memepunyai bandwidth yang sama
•Lapisan 2. menggunakan 3 frame dalam filter sehingga total pada 3 fame tersebut ada 1152 sample
•Lapisan 3: membuat critical band yang paling baik untuk frekuensi yang tidak sama dengan menggunakan model psychoacoustic yang didalamnya terdapat efek masking , dimana efek masking diambil untuk menghitung nilai strereo redudancy, dan juga menggunakan Huffman coder

Nilai efektivitas dari MPEG

Nilai efektivitas dari MPEG,lapisan,target bit rate

MP3

•MP3 adalah nama singkat dari MPEG-1 Layer III atau MPEG Audio Layer III yang merupakan format audio standar industri MPEG yang udah jadi standar internasional
•MPEG-1 layer III adalah komponen kompresi yang terdiri dari layer (bagian) audio saja, yang merupakan pengembangan dari format MPEG-1 (kompresi data video buat pemakaian internet dengan kualitas minimal)
•Standar MP3 dikembangkan oleh Fraunhofer Institut Integrierte Schaltungen di Jerman

ATRAC3 Plus

•Teknologi Kompresi Audio Eksklusif dari Sony
•ATRAC3 (Adaptive Transform Acoustic Coding 3)
•kompresi ATRAC3 berdasarkan prinsip psychoacoustic, yaitu menghilangkan informasi-informasi audio yang tidak dapat didengar oleh telinga manusia. Informasi suara yang dihasilkan lalu di-encoding dengan ATRAC3
•Teknologi ATRAC3 Plus mampu mengompresi file musik hingga 1/20 dari ukuran aslinya
•Ukuran file pun menjadi lebih kecil, yaitu sekitar 1,38 MB (1.450.680 bytes) untuk satu lagu dengan durasi putar empat menit.

0 komentar:

Tuesday, February 11, 2014

Standar Standar kompresi Pada Gambar

Posted by Unknown  
12:29 PM

STÁNDAR - STÁNDAR KOMPRESI PADA GAMBAR

Standar kompresi pada gambar adalah suatu standar yang dibuat oleh para peneliti dengan algoritma coding yang berbeda



Teknik kompresi yang mendasar

Secara umum terdapat dua teknik kompresi secara mendasar, yaitu:
•Lossy
Lossy compression membuat kapasitas file sebuah gambar menjadi kecil dengan cara menghilangkan beberapa informasi dari sebuah gambar yang asli. Teknik kompresi lossy merubah detail dan warna sebuah file gambar menjadi lebih sederhana dan mempunyai kapasitas file menjadi lebih kecil tanpa terlihat perbedaan mencolok dari pandangan manusia. 

•Lossless
Lossless compression, dari sisi yang lain adalah tehnik kompresi yang tidak pernah menghilangan semua informasi dari sebuah file gambar yang asli.

Jenis-jenis Standar Kompresi gambar

Dari teknik kompresi yang dasar tersebut para peneliti membuat suatu standar-standar baru dari teknik kompresi, antara lain : GIF, PNG, JPEG dan teknik kompresi yang dibuat pada melinium baru yaitu JPEG2000

GIF

Graphic Interchange Format (GIF, dibaca jiff ,tetapi kebanyakan orang menyebutnya dengan giff) yang dibuat oleh Compuserve pada tahun 1987 untuk menyimpan berbagai gambar dengan format bitmap menjadi sebuah file yang mudah untuk diubah pada jaringan koputer. GIF adalah file format graphic yang paling tua pada Web, dan begitu dekatnya file format ini dengan web pada saat itu sehingga para Browser menggunakan format ini. GIF mendukung sampai 8 bit pixel , itu berarti maksimum jumlah warnanya 256 warna (28 = 256 warna), 4-pass interlacing, transparency dan mengunakan varian dari algoritma kompresi Lempel-Ziv Welch (LZW).


Terdapat dua tipe dari GIF, antara lain:
•GIF 87a: support dengan interlacing dan kapasitas dari beberapa file. Teknik ini dinamakan GIF87 karena pada tahun 1987 standar ini di temukan dan di jadikan standar
•GIF87aadalah kelanjutan dari spesifikasi GIF87a dan penambahan pada transparency, pemberian tulisan dan animasi dari text dan grafik. selagi algoritma kompresi LZW yang digunakan oleh GIF adalah salah satu algoritma general purpose compression yang terbaik, kompresi LZW tidak di rancang untuk grafik yang mempunyai spesifik yang tinggi. Algoritma LZW tidak dapat digunakan dengan baik pada bilevel (hitam dan putih) atau true color images.


Algoritma LZW yang digunakan pada GIFs, dimana sudah dipatenkan oleh Unisys. Developer medistribusikan aplikasi yang membuat GIF haus sudah mendapatkan lisensi dari Unisy. Segera setelah CompuServe dan Unisy mendapatkan royalti dari aplikasi tersebut munculah standar yang lebih baru dilahirkan yaitu PNG

PNG

Portable Network Graphic (PNG, dibaca ping) format di rancang agar menjadi lebih baik dengan format yang terdahulu yaitu GIF dan sudah dilegalkan. PNG di rancang untuk algoritma lossless untuk menyimpan sebuah bitmap image.PNG mempunyai persamaan fitur dengan GIF salah satunya adalah (multiple images), meningkatkan sesuatu contohnya(interlacing , kompresi) dan penambahan fitur-fitur yang terbaru (gamma storage, full alpha channel, true color support, error detection). Medukung untuk Web browser dimana dapat dilakukan plug-ins pada web browser.


PNG menggunakan Metode kompresi Deflate, digunakan pada popular file archiving utility( pkzip). Deflate adalah kelanjutan versi dari algoritma kompresi Lempel-Ziv. Deflate, sistem kerjanya sama dengan algoritma LZW dan melakukan scanning dengan cara garis horizontal.untuk lebih lanjutnya meningkatkan kompresi, PNG prefilter data gambar menggunakan fungsi prediksi sebelum data gambar dikompresi. PNG menggunakan empat buah fungsi prediksi, dua diantaranya digunakan untuk alamat vertical patterns.

Jadi PNG melakukan hal yang sama seperti GIF yaitu pada teknik kompresi horizontal patern, tetapi PNG’s filter selalu menemukan vertical patterns, menghasilkan tambahan pada system kompresi.

”Vertikal” image adalah yang paling dekat dengan kapasitas sebuah file gambar dibandingkan “horizontal”, dimana diperlihatkan bahwa PNG’s tidak terlalu terpengaruh oleh ganguan pada vertical. PNG’s compress dithered images lebih baik dibandingkan GIF’s, “dithered” PNG image lebih kecil dibandingkan dengan dithered pada GIF. PNGs’ dapat mengkompresi file 8-bit lebih bagus 10-30% dibandingkan GIF’s

GIF VS PNG

GIF VS PNG

JPEG

Joint Photograpic Experts (JPEG , dibaca jay-peg,) di rancang untuk kompresi beberapa full-color atau gray-scale dari suatu gambar yang asli, seperti pemandangan asli di dunia ini. JPEGs bekerja dengan baik pada continous tone images seperi photographs atau semua perkajaan seni yang menginginkan yang nyata; tetapi tidak terlalu bagus pada ketajaman gambar dan seni pewarnaan seperti penulisan, kartun yang sederhana atau gambar yang mengunakan banyak garis. JPEG sudah mendukung untuk 24-bit color depth atau sama dengan 16,7 juta warna (2^24 = 16.777.216 warna).progressive JPEGs (p-JPEGs) adalah tipe dari beberapa persen lebih kecil dibandingkan baseline JPEGs: tetapi keuntungan dari JPEG dan tipe-tipenya telihat pada langkah-langkahnya sama seperti interlaced GIFs.

JPEG adalah algoritma kompresi secara lossy. JPEG bekerja dengan merubah gambar spasial dan merepresentasikan kedalam pemetaan frekueunsi. Discrete Cosine Transform (DCT) dengan memisahkan antara informasi frekuensi yang rendah dan tinggi dari sebuah gambar. Informasi frekuensi yang tinggi akan diseleksi untuk dihilangkan yang terikat pada penganturan kualitas yang digunakan. Kompresi dengan tingkatan yang lebih baik , tingkatan yang lebih baik dari informasi yang dihilangkan. Waktu Kompresi dan dekompresi dilaksanakan dengan simetris. JPEG Group’s (IJG) decoder lebih ditingkatkan kemampuannya dibandingkan dengan encodernya.

JPEG 2000

JPEG 2000 adalah tehnik kompresi image yang paling terbaru. Jpeg 2000 merupakan pengembangan dari Jpeg, yang jumlah bit error yang relatif rendah,rate-distorsi, transmisi dan mempunyai kualitas yang baik dibandingkan dengan Jpeg. Jpeg 2000 menerapkan teknik kompresi lossy dan lossless. Dan penggunan ROI coding (Region of interest coding). JPEG 2000 didesain untuk internet , scanning, digital photograpi, remote sensing , medical imegrey, perpustakaan digital dan E-commerce.

 Sejak tahun 80-an kita ingat bahwa Internetional Telecomunication Union (ITU) dan International Organization for Standardzation (ISO) telah melakukan kerjasama untuk membuat stadarisasi untuk kompresi grayscale dan dan pewaranan gambar, yang kita kenal dengan nama JPEG (Joint Photograpic Experts)]. Dengan sejalan perkembangan teknologi multimedia yang sangat cepat yang memerlukan tehnik kompresi dengan performa yang tinggi, maka pada maret 1997 dibuat suatu proyek standar baru tehnik kompresi untuk gambar, yang dikenal dengan nama JPEG 2000. proyek ini membuat sistem pengkodean baru untuk beberapa jenis gambar yang berbeda-beda ( bi-level, grey-level, Colour, Multi component) dengan perbedaan karakteristik (natural Images, scientific, medical, remote sensing, text, dan sebagainya).

Baca juga tentang pelajaran Sistem Multimedia Antara lainnya Yaitu :













Keuntungan menggunakan sistem kompresi JPEG 2000 adalah:
•Dapat melakukan penilaian performa bit–rate rendah sehingga dapat digunakan untuk Network image processing dan Remote sensing.
•Lossles dan Lossy kompresi: JPEG 2000 dapat melakukan tenik kompresi Lossy dan Lossless tergantung pengunaan dan kapabilitas bandwidth yang digunakan, bisanya tehik lossless digunakan pada medical image yang selalu tidak mentoleransi adanya loss.
• Transmisi yang progresif dengan akurasi pixel dan resolusi: transmisi yang progresif mengijinkan suatu gambar dapat recontruksi dengan peningkatan pixel yang akurat atau spasial resolusi yang sangat penting untuk banyak apalikasi
•Region of Interest coding adalah tehnik penkodean baru yang ada pada JPEG 2000 , pengkodingan ini menkodekan dan mentrasmisikan dengan kualitas yang baik dan dan sedikit distorsi.

•Robustnes to bit-error didesign untuk code stream. aplikasi tersebut sangat penting digunakan pada komunikasi wireless, yang melekukan koreksi kesalahan dan melakukan bantuan apabila terjadi kesalahan dalam decoding
•Open architecture: JPEG 2000 dapat digunakan pad semua jenis arsitektur komputer yang digunakan.
•Protective image security dapat dilakukan dengan watermaking, labeling, stamping dan encryption.
•Bit-lave compression. Sistem pada JPEG2000 dapat melakukan kompresi dan dekompresi image dengan variasi bit-level ( 1 bit sampai dengan 16 bit) dengan beberapa jenis warna
•Perbedaan antara kualitas yang dihasilkan dari JPEG dengan JPEG2000 yang melakukan rekontruksi ulang pada gambar

0 komentar:

Labels

Tips Dan Trik (37) IT (23) pelajaran tentang IT (23) stmik (22) OS (21) Berita (20) HTML5 (19) materi (18) tutorial (14) Sismul (13) Tizen (12) UI (11) web (11) Download (10) Download lagu (10) Android (9) Fitur (9) Meningkatkan Traffic (9) Samsung (9) TouchWiz (9) streaming (9) Aplikasi (8) Intel (8) Blackberry (7) Fakta (7) database (7) Handphone (6) oracle (6) Fungsi (5) Game (5) Lucu (5) SEO (5) optimal (5) sql (5) widget (5) PHP (4) Programing Languages (4) Smartfren (4) Spesifikasi (4) bbm (4) Andromax (3) Dollar (3) Gadget (3) Kata (3) Obsidian (3) Ads (2) CPM (2) Foto (2) Kata Bijak (2) adsense (2) celebrity (2) sosial (2) Crack (1) Error (1) Gaya Hidup (1) Gokil (1) Harga (1) Harlem Shake (1) PPC (1) Penyakit (1) Video (1) bola (1) reggae (1)

Daftar BackLink

AutoSurf Traffic Exchange: Powerful Results with SEO tips | 10KHits - 10KHits provides quality traffic hits to your personal or business websites. Auto Backlink Gratis : Filedoom Auto Backlink Gratis Indonesia : Top Link Indo
W3 Directory - the World Wide Web Directory

Site Info

SEO Reports for filedoom.blogspot.com Antispam
filedoom.blogspot.com Webutation
LinkXchanger.com
Latest Downloads

Rating for filedoblogspotom..com DMCA.com
Protected by Copyscape Online Plagiarism Finder

My Facebook

My Profil

Proudly Powered by Blogger.
back to top