Pengenalan Tipe Data Pada Oracle PL/SQL

Pada tutorial Oracle PL/SQL kali ini, kita akan belajar tentang Pengenalan Tipe Data. Tipe data ini digunakan untuk setiap variable, constant, maupun parameter pada fungsi dan prosedur.

Tipe Data Pada Oracle PL/SQL


Secara garis besar, ada 4 tipe data yang terdapat pada Oracle PL/SQL, yaitu:
  • Tipe data Scalar
  • Tipe data LOB (Large Object)
  • Tipe data Composite
  • dan Tipe data Reference

Tipe Data Scalar


Tipe data scalar yaitu tipe data dengan nilai tunggal. Tipe data ini terbagi atas beberapa kategori yaitu:
  • Tipe data Numeric
  • Tipe data Character
  • Tipe data Boolean
  • dan Tipe data DateTime

Tipe Data Numeric


Tipe data numeric terbagi atas beberapa sub tipe data, yaitu:
  • PLS_INTEGER, yaitu signed integer yang menyimpan nilai dari -2,147,483,648 sampai dengan 2,147,483,647
  • BINARY_INTEGER, yaitu signed integer yang menyimpan nilai dari -2,147,483,648 sampai dengan -2,147,483,647
  • BINARY_FLOAT, untuk menyimpan nilai floating point (bilangan pecahan).
  • BINARY_DOUBLE, untuk menyimpan nilai floating point (bilangan pecahan)
  • NUMBER(precision, scale), untuk menyimpan nilai floating point (bilangan pecahan).
  • DEC(precision, scale), untuk menyimpan nilai floating point (bilangan pecahan).
  • DECIMAL(precision, scale), untuk menyimpan nilai floating point (bilangan pecahan).
  • NUMERIC(precision, scale), untuk menyimpan nilai floating point (bilangan pecahan).
  • DOUBLE_PRECISION, untuk menyimpan nilai floating point (bilangan pecahan).
  • FLOAT, untuk menyimpan nilai floating point (bilangan pecahan).
  • INT, untuk menyimpan nilai bilangan bulat
  • INTEGER, untuk menyimpan nilai bilangan bulat
  • SMALLINT, untuk menyimpan nilai bilangan bulat
  • REAL, untuk menyimpan nilai floating point

Tipe Data Character


Tipe data character terdiri atas beberapa sub tipe data, yaitu:
  • CHAR, untuk menyimpan data karakter dengan panjang tetap.
  • VARCHAR, untuk menyimpan data karakter dengan panjang dinamis.
  • RAW, digunakan untuk menyimpan data karakter biner.
  • NCHAR, digunakan untuk menyimpan data national fixed length character
  • NVARCHAR2, digunakan untuk menyimpan data national variable length character
  • LONG, digunakan untuk menyimpan data karakter dengan panjang dinamis
  • LONG RAW, digunakan untuk menyimpan data karakter biner
  • ROWID
  • UROWID

Tipe Data Boolean


Adalah tipe data yang menyimpan dua nilai nilai true atau false.

Tipe Data Date Time


Tipe data date time terdiri atas beberapa sub tipe data, yaitu:
  • YEAR, digunakan untuk menyimpan data tahun, dimulai dari -4712 hingga 9999
  • MONTH, digunakan untuk menyimpan data bulan dari 01 hingga 12.
  • DAY, digunakan untuk menyimpan data hari dari 01 hingga 31.
  • HOUR, digunakan untuk menyimpan data jam dari 00 hingga 23
  • MINUTE, digunakan untuk menyimpan data menit dari 00 hingga 59
  • TIMEZONE_HOUR
  • TIMEZONE_MINUTE
  • TIMEZONE_REGION
  • TIMEZONE_ABBR

Tipe Data LOB


Tipe data LOB terdiri atas beberapa tipe data, yaitu:
  • BFILE, digunakan untuk menyimpan data file binary hingga 4GB (Giga Bytes)
  • BLOB, digunakan untuk menyimpan data large object hingga 128 TB (Tera Bytes)
  • CLOB
  • NCLOB


Sekian tutorial singkat tentang Pengenalan Tipe Data Pada Oracle PL/SQL. Semoga bermanfaat & Happy Learning Oracle PL/SQL.

Salam.

Nursalim

Pengenalan Sintak Dasar Pada Oracle PL/SQL

Pada tutorial Oracle PL/SQL kali ini, kita akan belajar tentang Pengenalan Sintak Dasar Pada Oracle PL/SQL. PL/SQL merupakan salah satu bahasa yang terdiri atas beberapa struktur blok program.

Sintak Dasar Oracle PL/SQL


Struktur blok pada PL/SQL terbagi atas 4 bagian, yaitu:
  • Bagian Deklarasi (Declaration)
  • Bagian Tubuh Program (Executable)
  • dan Bagian Penanganan Eksepsi (Exception Handling)

Setiap statement pada program PL/SQL harus diakhiri dengan tanda titik koma (;).

Bagian Deklarasi


Bagian deklarasi ini ditandai dengan menggunakan kata kunci (keyword) DECLARE. Bagian ini biasanya digunakan untuk mendeklarasikan sebuah variable, cursor, dan subprogram. Bagian ini bersifat opsional, artinya tidak harus ada dalam program.

Bagian Executable


Bagian executable ini ditandai dengan kata kunci (keyword) BEGIN dan di akhiri dengan tanda END.

Bagian ini merupakan bagian yang sifatnya wajib ada. Setidaknya ada satu statement atau cukup statement NULL untuk mengisi bagian executable ini.

Bagian Exception Handling


Bagian exception handling digunakan untuk menangani error yang disebabkan oleh program. Tujuannya adalah agar pesan error dapat mudah dipahami oleh pembaca atau pengguna program.

Kalau kita gambarkan, maka struktur blok PL/SQL adalah sebagai berikut:

DECLARE

   <declarations section>

BEGIN

   <executable command(s)>

EXCEPTION

   <exception handling>

END;


Contoh Progam Sederhana


Di bawah ini adalah contoh program sederhana pada PL/SQL untuk menampilkan tulisan "Selamat Belajar PL/SQL!".

DECLARE
   pesan  varchar2(20):= 'Selamat Belajar PL/SQL!';
BEGIN
   dbms_output.put_line(pesan);
END;

Program diatas jika Anda jalankan, maka akan menampilkan output sebagai berikut:

Selamat Belajar PL/SQL!

PL/SQL procedure successfully completed.

Setiap baris program di PL/SQL harus diakhiri dengan tanda titik koma. Dan setiap program PL/SQL harus diakhiri dengan statement end;.

Identifier Pada PL/SQL


Identifier atau pengenal adalah sebuah nama yang digunakan pada sebuah variable, konstanta, function dan procedure ataupun cursor.

Identifier pada Oracle PL/SQL harus diawali dengan sebuah huruf dan dapat diikuti dengan beberapa huruf atau angka atau tanda dolar ($) atau tanda garis bawah (_).

Identifier pada Oracle PL/SQL mempunyai panjang maksimum 30 karakter. Lebih dari itu akan menampilkan sebuah pesan error.

Simbol-Simbol Pada PL/SQL


Dibawah ini adalah simbol-simbol yang sering Anda gunakan ketika membuat program PL/SQL:

Simbol Deskripsi
+, -, *, / Merupakan operator penjumlahan, pengurangan, perkalian, dan pembagian
' Karakter indikator (petik tunggal)
" String indikator (petik gandar)
: Host variable indikator
= operator relasional
:= operator penugasan (assignmet)
@ remote access indikator
; statement terminator
=> association indikator
|| operator penggabungan (concatenation)
-- komentar satu baris
/* */ komentar lebih dari satu baris
<< >> label indikator
.. range operator

Komentar Pada PL/SQL


Komentar adalah salah satu bagian program yang digunakan untuk memberikan komentar atau dokumentasi program yang telah dibuat.

Tujuan pembuatan komentar adalah agar program mudah dibaca dan untuk dokumentasi program untuk pengembangan selanjutnya.

Ada 2 jenis komentar pada PL/SQL, yaitu:
  • Single line comment, yaitu komentar untuk satu baris menggunakan tanda '--'
  • Multiline comment, yaitu komentar untuk lebih dari satu baris. Di awali dengan tanda /* dan diakhiri dengan tanda */

Komentar tidak akan dieksekusi oleh program. Berikut ini contoh penggunaan komentar pada program PL/SQL.

DECLARE
   -- ini contoh komentar satu baris
   pesan  varchar2(20):= 'Selamat belajar PL/SQL!';
BEGIN
   /*
    *  ini komentar untuk lebih dari satu baris
 *  menggunakan fungsi dbms_output.put_line untuk menampilkan pesan ke layar
    */
   dbms_output.put_line(pesan);
END;
/




Sekian tutorial singkat tentang Pengenalan Sintak Dasar Pada Oracle PL/SQL. Semoga bermanfaat & Happy Learning Oracle PL/SQL.

Salam,

Nursalim

Pengenalan Operator Logika Pada Perl

Pada tutorial Perl kali ini, kita akan belajar tentang Operator Logika Pada Perl beserta contoh programnya.

Operator Logika Pada Perl


Macam-Macam Operator Logika


Berikut ini macam-macam operator logika pada Perl:

Operator Deskripsi Contoh
and Operator logika AND, yaitu bernilai true jika kedua operand a dan b bernilai true ($a and $b)
&& Operator logika AND menggunakan style bahasa C, yaitu bernilai true jika kedua operand a dan b bernilai true ($a && $b)
or Operator logika OR, yaitu bernilai true jika salah satu atau kedua operand a dan b bernilai true ($a or $b)
|| Operator logika OR menggunakan style, yaitu bernilai true jika salah satu atau kedua operand a dan b bernilai true ($a || $b)
not Operator negasi, yaitu kebalikan dari sebuah operand a (not $a)

Contoh Program


Berikut ini implementasi penggunaan operator logika pada program Perl:

#logika_operator.pl
 
$a = true;
$b = false;

print "Nilai dari \$a = $a dan Nilai dari \$b = $b\n";

$c = ($a and $b);
print "Nilai dari \$a and \$b = $c\n";

$c = ($a  && $b);
print "Nilai dari \$a && \$b = $c\n";

$c = ($a or $b);
print "Nilai dari \$a or \$b = $c\n";

$c = ($a || $b);
print "Nilai dari \$a || \$b = $c\n";

$a = 0;
$c = not($a);
print "Nilai dari not(\$a)= $c\n";

Jika program diatas Anda jalankan, maka akan menampilkan output sebagai berikut:

Nilai dari $a = true dan Nilai dari $b = false
Nilai dari $a and $b = false
Nilai dari $a && $b = false
Nilai dari $a or $b = true
Nilai dari $a || $b = true
Nilai dari not($a)= 1



Sekian tutorial singkat tentang Operator Logika Pada Perl. Semoga bermanfaat & Happy Learning Perl Programming.

Salam

Nursalim

Pengenalan Operator Assignment (Penugasan) Pada Perl

Pada tutorial Perl kali ini, kita akan belajar tentang Operator Penugasan (Assignment Operator) Pada Perl.

Operator Penugasan Pada Perl


Macam-Macam Operator Penugasan


Operator Deskripsi Contoh
= Memberikan nilai $c = $a + $b
+= Menambahkan operand kiri dengan operand kanan, dan hasilnya disimpan pada operand kiri $c += $a equivalent dengan $c = $c + $a
-= Mengurangkan operand kiri dengan operand kanan, dan hasilnya disimpan pada operand kiri $c -= $a equivalent dengan $c = $c - $a
*= Mengalikan operand kiri dengan operand kanan, dan hasilnya disimpan pada operand kiri $c *= $a equivalent dengan $c = $c * $a
/= Membagikan operand kiri dengan operand kanan, dan hasilnya disimpan pada operand kiri $c /= $a equivalent dengan $c = $c / $a
%= Me-modulus kan operand kiri dengan operand kanan, dan hasilnya disimpan pada operand kiri $c %= $a equivalent dengan $c = $c % $a
**= Mempangkatkan operand kiri dengan operand kanan, dan hasilnya disimpan pada operand kiri $c **= $a equivalent dengan $c = $c ** $a

Contoh Program


Berikut ini contoh implementasi operator penugasan dalam program Perl:

#assigment_operator.pl
 
$a = 20;
$b = 10;

print "Nilai dari \$a = $a dan Nilai dari \$b = $b\n";

$c = $a + $b;
print "After assignment Nilai C adalah \$c = $c\n";

$c += $a;
print "Nilai C sekarang \$c = $c setelah statement \$c += \$a\n";

$c -= $a;
print "Nilai C sekarang \$c = $c setelah statement \$c -= \$a\n";

$c *= $a;
print "Nilai C sekarang \$c = $c setelah statement \$c *= \$a\n";

$c /= $a;
print "Nilai C sekarang \$c = $c setelah statement \$c /= \$a\n";

$c %= $a;
print "Nilai C sekarang \$c = $c setelah statement \$c %= \$a\n";

#Merubah nilai operator $c dan $a 
$c = 2;
$a = 4;
print "Nilai dari \$a = $a and Nilai dari \$c = $c\n";
$c **= $a;
print "Nilai C sekarang \$c = $c Nilai C sekarang \$c **= \$a\n";


Jika Anda jalankan program diatas, maka akan menampilkan output sebagai berikut:

C:\>perl d:\perl\assignment_operator.pl
Nilai dari $a = 20 dan Nilai dari $b = 10
After assignment Nilai C adalah $c = 30
Nilai C sekarang $c = 50 setelah statement $c += $a
Nilai C sekarang $c = 30 setelah statement $c -= $a
Nilai C sekarang $c = 600 setelah statement $c *= $a
Nilai C sekarang $c = 30 setelah statement $c /= $a
Nilai C sekarang $c = 10 setelah statement $c %= $a
Nilai dari $a = 4 and Nilai dari $c = 2
Nilai C sekarang $c = 16 Nilai C sekarang $c **= $a


Sekian tutorial singkat tentang Pengenalan Operator Assignment Pada Perl. Semoga bermanfaat & Happy Learning Perl Programming.

Salam,

Nursalim

Pengenalan Operator Logika Pada MySQL

Pada tutorial kali ini, kita akan belajar tentang macam-macam operator logika pada MySQL beserta contohnya.

Operator Logika Pada MySQL


Macam-Macam Operator Logika


Berikut ini adalah tabel macam-macam operator logika yang terdapat pada MySQL:

Operator Deskripsi
AND Menggunakan logika AND didalam WHERE clause
OR Menggunakan logika OR didalam WHERE clause
IN Akan membandingkan data dengan list yang telah ditentukan
BETWEEN Akan membandingkan data pada range yang telah ditentukan
NOT Menggunakan logika NOT, seperti NOT IN, NOT BETWEEN, NOT LIKE, dan lain sebagainya
LIKE Membandingkan data yang sesuai dengan pola tertentu (wildcard)
IS NULL Membandingkan apakah data sama dengan null?

Contoh


Misalkan Anda memiliki sebuah table "tbl_employee" dengan data-data sebagai berikut:

mysql> select * from tbl_employee;
+-------------+---------------+------------+-------------+------------+------------+--------+
| employee_id | employee_name | birth_date | birth_place | salary     | department | gender |
+-------------+---------------+------------+-------------+------------+------------+--------+
|           1 | Ahmad Sofyan  | 1990-01-01 | Bandung     | 2250000.00 | IT         | L      |
|           2 | Ismail Saleh  | 1986-12-12 | Pandeglang  | 5000000.00 | ACC        | L      |
|           3 | Ferry Subekti | 1987-06-06 | Purwakarta  | 4500000.00 | HRD        | P      |
|           4 | Iskiyati      | 1988-07-07 | Brebes      | 7500000.00 | FIN        | P      |
|           5 | Nurul Hikmah  | 1989-08-08 | Purwokerto  | 3750000.00 | FIN        | P      |
|           6 | Riyanto       | 1983-02-02 | Subang      | 4500000.00 | IT         | L      |
|           7 | Azka Nurul    | 1984-03-03 | Bandung     | 5000000.00 | HRD        | P      |
|           8 | Venny Maya    | 1989-04-04 | Jakarta     | 7000000.00 | IT         | P      |
|           9 | Ana Fauziyah  | 1989-05-05 | Bekasi      | 3700000.00 | ACC        | P      |
|          10 | Arya Adhi     | 1980-09-09 | Magelang    | 8000000.00 | FIN        | L      |
+-------------+---------------+------------+-------------+------------+------------+--------+
10 rows in set (0.00 sec)


Dari data diatas,
  • Tampilkan semua data yang memiliki departement 'IT' dan jenis kelamin laki-laki

    mysql> SELECT * FROM tbl_employee
        -> WHERE department = 'IT'
        -> AND gender = 'L';
    +-------------+---------------+------------+-------------+------------+------------+--------+
    | employee_id | employee_name | birth_date | birth_place | salary     | department | gender |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    |           1 | Ahmad Sofyan  | 1990-01-01 | Bandung     | 2250000.00 | IT         | L      |
    |           6 | Riyanto       | 1983-02-02 | Subang      | 4500000.00 | IT         | L      |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    2 rows in set (0.00 sec)
    
    
  • Tampilkan semua data yang memiliki departement 'IT' atau jenis kelamin laki-laki

    mysql> SELECT * FROM tbl_employee
        -> WHERE department = 'IT'
        -> OR gender = 'L';
    +-------------+---------------+------------+-------------+------------+------------+--------+
    | employee_id | employee_name | birth_date | birth_place | salary     | department | gender |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    |           1 | Ahmad Sofyan  | 1990-01-01 | Bandung     | 2250000.00 | IT         | L      |
    |           2 | Ismail Saleh  | 1986-12-12 | Pandeglang  | 5000000.00 | ACC        | L      |
    |           6 | Riyanto       | 1983-02-02 | Subang      | 4500000.00 | IT         | L      |
    |           8 | Venny Maya    | 1989-04-04 | Jakarta     | 7000000.00 | IT         | P      |
    |          10 | Arya Adhi     | 1980-09-09 | Magelang    | 8000000.00 | FIN        | L      |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    5 rows in set (0.00 sec)
    
    
  • Tampilkan semua data yang memiliki nama dengan huruf depan 'A'

    mysql> SELECT * FROM tbl_employee
        -> WHERE employee_name like 'A%';
    +-------------+---------------+------------+-------------+------------+------------+--------+
    | employee_id | employee_name | birth_date | birth_place | salary     | department | gender |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    |           1 | Ahmad Sofyan  | 1990-01-01 | Bandung     | 2250000.00 | IT         | L      |
    |           7 | Azka Nurul    | 1984-03-03 | Bandung     | 5000000.00 | HRD        | P      |
    |           9 | Ana Fauziyah  | 1989-05-05 | Bekasi      | 3700000.00 | ACC        | P      |
    |          10 | Arya Adhi     | 1980-09-09 | Magelang    | 8000000.00 | FIN        | L      |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    4 rows in set (0.00 sec)
    
    
  • Tampilkan semua data yang memiliki departement di 'IT', 'FIN', dan 'HRD'

    mysql> SELECT * FROM tbl_employee
        -> WHERE department in ('IT','FIN','HRD');
    +-------------+---------------+------------+-------------+------------+------------+--------+
    | employee_id | employee_name | birth_date | birth_place | salary     | department | gender |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    |           1 | Ahmad Sofyan  | 1990-01-01 | Bandung     | 2250000.00 | IT         | L      |
    |           3 | Ferry Subekti | 1987-06-06 | Purwakarta  | 4500000.00 | HRD        | P      |
    |           4 | Iskiyati      | 1988-07-07 | Brebes      | 7500000.00 | FIN        | P      |
    |           5 | Nurul Hikmah  | 1989-08-08 | Purwokerto  | 3750000.00 | FIN        | P      |
    |           6 | Riyanto       | 1983-02-02 | Subang      | 4500000.00 | IT         | L      |
    |           7 | Azka Nurul    | 1984-03-03 | Bandung     | 5000000.00 | HRD        | P      |
    |           8 | Venny Maya    | 1989-04-04 | Jakarta     | 7000000.00 | IT         | P      |
    |          10 | Arya Adhi     | 1980-09-09 | Magelang    | 8000000.00 | FIN        | L      |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    8 rows in set (0.00 sec)
    
    
  • Tampilkan semua data yang memiliki gaji berkisar antara Rp 4.000.000 sampai dengan Rp 7.000.000
    mysql> SELECT * FROM tbl_employee
        -> WHERE salary BETWEEN 4000000 AND 7000000;
    +-------------+---------------+------------+-------------+------------+------------+--------+
    | employee_id | employee_name | birth_date | birth_place | salary     | department | gender |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    |           2 | Ismail Saleh  | 1986-12-12 | Pandeglang  | 5000000.00 | ACC        | L      |
    |           3 | Ferry Subekti | 1987-06-06 | Purwakarta  | 4500000.00 | HRD        | P      |
    |           6 | Riyanto       | 1983-02-02 | Subang      | 4500000.00 | IT         | L      |
    |           7 | Azka Nurul    | 1984-03-03 | Bandung     | 5000000.00 | HRD        | P      |
    |           8 | Venny Maya    | 1989-04-04 | Jakarta     | 7000000.00 | IT         | P      |
    +-------------+---------------+------------+-------------+------------+------------+--------+
    5 rows in set (0.03 sec)
    
    

Sekian tutorial singkat tentang Pengenalan Operator Logika Pada MySQL. Semoga bermanfaat & Happy Learning MySQL Database.

Salam,

Nursalim