PEMROGRAMAN BERIONTASI OBJECT(PERT 2)  

Posted by: rafie aza

Nama : Mochammad Ali Akbar R.
Nim :10.41010.0280
ASSALAMMUALAIKUM Wr.Wb.

Kali ini saya akan membahas
* creating class
* contsruktor
* relasi antar class



creating class

Untuk membuat kelas, Anda menulis definisi kelas, dengan semua variabel anggota dan metode. Untuk hewan kelas, yang telah kami gunakan di atas, definisi kelas mungkin terlihat seperti ini:

class animal
{
string name;
float weight;

void create(string n, float w)
{
name = n;
weight = w;
}

void eat(string food)
{
write(name + " eats some " + food + ".\n");
weight += 0.5;
}
}


Beberapa penjelasan tentang hal ini:

Sebuah variabel anggota, seperti nama, ada sekali dalam setiap objek kloning, bukan di kelas itu sendiri.

Ketika sebuah metode, seperti makan, mengacu pada variabel anggota, seperti berat, ia akan menggunakan variabel yang dalam objek yang sama itu disebut untuk. Sebagai contoh, ketika kita sebut my_dog-> makan ("quiche"), itu adalah berat di my_dog objek yang meningkat.

Yang membuat metode khusus. Metode yang menangani argumen yang Anda berikan ketika Anda clone objek. (C + + programmer akan menyebut ini "konstruktor".)

Anda juga dapat memiliki metode yang disebut merusak. Metode ini adalah apa yang C + + programmer akan menelepon "destructor", i. e. metode yang dijalankan sebelum objek menghilang. Sebuah destructor kadang-kadang diperlukan untuk pembersihan, tapi jauh lebih jarang di Pike dari dalam C + +, karena Pike memiliki koleksi sampah otomatis.







CONSTRUKTOR

Dalam pemrograman berorientasi obyek, sebuah konstruktor (kadang disingkat menjadi ctor) di kelas adalah tipe khusus dari subrutin yang disebut pada saat penciptaan objek. Ini mempersiapkan objek baru untuk digunakan, sering menerima parameter konstruktor yang menggunakan untuk mengatur variabel yang dibutuhkan setiap anggota ketika objek pertama kali diciptakan.

Konstruktor Sebuah menyerupai metode instansi, tetapi berbeda dari metode yaitu ia tidak pernah memiliki kembali jenis-eksplisit, itu tidak mewarisi (meskipun bahasa yang menyediakan akses ke konstruktor superclass, misalnya melalui kata kunci super di Jawa), dan biasanya memiliki aturan yang berbeda untuk pengubah ruang lingkup. Konstruktor sering dibedakan dengan memiliki nama yang sama sebagai kelas menyatakan. Mereka memiliki tugas menginisialisasi objek data anggota dan pembentukan invarian kelas, gagal jika invarian tidak sah. Sebuah konstruktor yang ditulis dengan benar akan meninggalkan objek dalam keadaan yang valid. Benda berubah harus diinisialisasi di konstruktor.

Pemrogram juga dapat menggunakan konstruktor istilah untuk menunjukkan salah satu tag yang membungkus data dalam sebuah tipe data aljabar. Ini adalah penggunaan yang berbeda daripada di artikel ini [meragukan - mendiskusikan] Untuk informasi lebih lanjut, lihat jenis aljabar data..

Kebanyakan bahasa memungkinkan overloading konstruktor dalam bahwa ada dapat lebih dari satu konstruktor untuk kelas, masing-masing memiliki parameter yang berbeda. Beberapa bahasa mengambil pertimbangan dari beberapa jenis khusus dari konstruktor:

Jenis konstruktor

[Sunting] konstruktor parameterized

Konstruktor yang dapat mengambil argumen disebut sebagai parameter konstruktor.

[Sunting] konstruktor default

Konstruktor default menentukan tindakan yang harus dilakukan oleh compiler ketika objek kelas adalah instantiated tanpa parameter aktual.

[Sunting] konstruktor Salin

Salin konstruktor mendefinisikan tindakan yang dilakukan oleh compiler ketika menyalin objek kelas. Sebuah copy constructor memiliki satu parameter formal yaitu jenis kelas (parameter dapat menjadi referensi ke sebuah obyek).

Hal ini digunakan untuk membuat salinan dari objek yang sudah ada dari kelas yang sama. Meskipun kedua kelas adalah sama, itu dianggap sebagai konstruktor konversi.

[Sunting] Konversi konstruktor

Konversi konstruktor menyediakan sarana untuk sebuah compiler untuk implisit membuat sebuah object dari kelas dari objek jenis lain.

[Sunting] sintaks Konstruktor

Java, C + +, C #, ActionScript, dan PHP 4, memiliki konvensi penamaan yang konstruktor memiliki nama yang sama sebagai kelas yang mereka yang terkait dengan.

Dalam PHP 5 nama yang direkomendasikan untuk konstruktor adalah __construct. Untuk kompatibilitas mundur, sebuah metode dengan nama yang sama dengan kelas akan dipanggil jika __construct metode tidak dapat ditemukan. Sejak PHP 5.3.3, ini bekerja hanya untuk non-namespaced kelas [1].

Dalam konstruktor Perl, dengan konvensi, bernama "baru" dan harus melakukan cukup penciptaan objek.

Dalam sistem objek Moose untuk Perl, konstruktor (nama baru) secara otomatis dibuat dan diperpanjang dengan menentukan metode MEMBANGUN.

Dalam Visual Basic NET., Konstruktor ini disebut "Baru".

Pada Python, konstruktor ini disebut "__init__" dan selalu melewati kelas induk sebagai argumen, nama yang secara umum didefinisikan sebagai "diri".

Object Pascal konstruktor ditandai dengan "konstruktor" kata kunci dan dapat memiliki nama yang ditetapkan pengguna (tapi kebanyakan disebut "Buat").

Di Objective-C, metode konstruktor dibagi di dua metode, "alokasi" dan "init" dengan metode pengaturan alokasi menyisihkan (mengalokasikan) memori untuk sebuah instance dari kelas, dan metode init penanganan sebagian besar menginisialisasi instance. Sebuah panggilan ke metode "baru" baik memanggil alloc dan metode init, untuk instance kelas.

Di Java, beberapa perbedaan antara metode lain dan konstruktor adalah:

Konstruktor tidak memiliki tipe kembali eksplisit.

Konstruktor tidak dapat langsung dipanggil (kata kunci "baru" harus digunakan).

Konstruktor tidak bisa disinkronkan, akhir, abstrak, asli, atau statis.

Konstruktor selalu dieksekusi oleh thread yang sama.

Terlepas dari ini, konstruktor Java melakukan fungsi berikut dalam urutan sebagai berikut:

Ini menginisialisasi variabel kelas ke nilai default. (Byte, pendek, int, panjang, float, dan double nilai variabel default untuk masing-masing nol, boolean false, karakter untuk karakter null ('\ u0000') dan referensi dari setiap objek null.)

Ini kemudian memanggil konstruktor kelas super (default constructor dari kelas super hanya jika tidak ada konstruktor didefinisikan).

Kemudian menginisialisasi variabel kelas untuk nilai yang ditetapkan seperti mantan: int var = 10; atau mengapung var = 10.0f dan sebagainya.

Kemudian mengeksekusi tubuh konstruktor.

Di Java, C #, VB dan NET. Untuk jenis referensi konstruktor menciptakan objek dalam bagian khusus dari memori yang disebut tumpukan. Di sisi lain jenis nilai (seperti int, double, dll), dibuat dalam memori berurutan yang disebut stack. VB NET dan C # memungkinkan penggunaan baru untuk membuat obyek dari jenis nilai. Namun, dalam bahasa-bahasa bahkan penggunaan baru untuk jenis nilai menciptakan objek hanya pada stack. Dalam C + + ketika konstruktor dipanggil tanpa obyek baru diciptakan pada stack. Di sisi lain ketika objek dibuat menggunakan baru mereka diciptakan di heap yang harus dihapus secara implisit oleh destruktor atau eksplisit oleh panggilan ke operator hapus.

Bahasa yang paling menyediakan konstruktor default jika programmer tidak menyediakan konstruktor. Namun, ini bahasa konstruktor yang diberikan diambil segera sebagai programmer menyediakan konstruktor apapun dalam kode kelas. Dalam C + + constructor default DIBUTUHKAN jika sebuah array dari objek kelas yang akan dibuat. Bahasa lain (Java, C #, VB. NET) tidak memiliki pembatasan seperti itu.

Dalam C + + copy constructor dipanggil secara implisit ketika objek kelas dikembalikan dari sebuah metode dengan mekanisme pengembalian atau ketika objek kelas tersebut diteruskan oleh nilai fungsi. C + + menyediakan copy constructor jika programmer tidak menyediakan konstruktor sama sekali. Yang diambil secepat konstruktor apapun disediakan oleh programmer. C + + menyediakan copy constructor HANYA membuat anggota-bijaksana menyalin atau salinan dangkal. Untuk salinan yang mendalam programmer tertulis salinan konstruktor yang membuat salinan yang mendalam akan diperlukan. Umumnya aturan tiga diamati. Untuk kelas yang harus memiliki copy constructor untuk membuat salinan yang mendalam, di bawah tiga harus disediakan. 1. Salin konstruktor 2. Overloading operator penugasan. 3. Sebuah destructor. Di atas disebut aturan tiga di C + +. Jika kloning obyek tidak diinginkan dalam C + + maka copy constructor harus dinyatakan pribadi.

Example

public class Example

{

//definition of the constructor.

public Example()

{

this(1);

}

//overloading a constructor

public Example(int input)

{

data = input; //This is an assignment

}

//declaration of instance variable(s).

private int data;

}

//code somewhere else

//instantiating an object with the above constructor

Example e = new Example(42);

Visual Basic .NET

In Visual Basic .NET, constructors use a method declaration with the name "New".

Example

Class Foobar

Private strData As String

' Constructor

Public Sub New(ByVal someParam As String)

strData = someParam

End Sub

End Class

' code somewhere else

' instantiating an object with the above constructor

Dim foo As New Foobar(".NET")

C#

In C#, a constructor is thus.

Example

public class MyClass

{

private int a;

private string b;

//constructor

public MyClass() : this(42, "string")

{

}

//overloading a constructor

public MyClass(int a, string b)

{

this.a = a;

this.b = b;

}

}

//code somewhere

//instantiating an object with the constructor above

MyClass c = new MyClass(42, "string");




Relasi antar class

· UML Class Diagram

· Class Diagram • Diagram yang digunakan untuk menampilkan beberapa kelas serta paket-paket yang ada dalam sistem / perangkat lunak yang sedang kita kembangkan • Diagram kelas (Class Diagram) memberi kita gambaran (diagram statis ) tentang sistem / perangkat lunak dan relasi-relasi yang ada di dalamnya.

· Struktur Class Diagram

· Visibility untuk atribut dan operasi • Dalam UML kita mengenal 3 macam visibility. Antara lain : (+) untuk public, (-) untuk private, serta (#) untuk protected Dalam Rasional Rose kita kenal dengan: untuk atribut protected untuk atribut private untuk atribut public untuk operasi protected untuk operasi private untuk operasi public

· Visibility untuk atribut dan operasi... • Private : tidak dapat di panggil dari luar kelas yang bersangkutan. Hanya dapat di pakai dalam kelas yang bersangkutan • Protected : hanya dapat di panggil oleh kelas yang bersangkutan dan anak kelas yang diwarisinya. • Public : dapat dipakai oleh kelas apa saja.

· Relation in Class Diagram(1) • Dalam class diagram terdapat beberapa relasi(hub antar class) 1. Generalization dan Inheritence Diperlukan untuk memperlihatkan hubungan pewarisan (inheritance) antar unsur dalam diagram kelas. Pewarisan memungkinkan suatu kelas mewarisi semua atribut, operasi ,relasi, dari kelas yang berada dalam hirarki pewarisannya

· Generalization and Inheritance

· Relation in Class Diagram(2) 2. Associations hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui ekstensi class lain. Dalam notasi UML kita mengenal asosiasi 2 arah (bidirectional) dan 1 arah (undirectional).

· Asosiations

· Relation in Class Diagram(3) 3. Aggregation hubungan antar-class di mana class yang satu (part class) adalah bagian dari class lainnya (whole class).

· Relation in Class Diagram(4) 4. Composition aggregation dengan ikatan yang lebih kuat. Di dalam composite aggregation, siklus hidup part class sangat bergantung pada whole class sehingga bila objek instance dari whole class dihapus maka objek instance dari part class juga akan terhapus

· Relation in Class Diagram(5) 5. Depedency hubungan antar-class di mana sebuah class memiliki ketergantungan pada class lainnya tetapi tidak sebaliknya.

· Relation in Class Diagram(6) 6. Realization hubungan antar-class di mana sebuah class memiliki keharusan untuk mengikuti aturan yang ditetapkan class lainnya. Biasanya realization digunakan untuk menspesifikaskan hubungan antara sebuah interface dengan class yang mengimplementasikan interface tersebut .

· Multiplisitas Relasi • Multiplisitas adalah jumlah banyaknya obyek sebuah class yang berelasi dengan sebuah obyek lain pada class lain yang berasosiasi dengan class tersebut. Multiplisitas Arti * Banyak 0 Tepat Nol 1 Tepat Satu 0..* Nol atau Lebih 1..* Satu atau lebih 0..1 Nol atau Satu

· Multiplisitas Relasi

sekian TERIMAKASI

WASSALLAMMUALAIKUM wr.wb.


PEMROGRAMAN BERIONTASI OBJECT(PERT 1)  

Posted by: rafie aza

NAMA : Mochammad Ali Akbar Rafsanjani
Nim : 10.41010.0280

Assalammualaikum wr.wb.



PENGANTAR PEMROGRAMAN BERIONTASI OBJECT

ALAT atau SOFTWARE yang dibutuhkan :
*Kompiler Java (SDK) = SDK disini adalah Software Development Kit

Contoh: JDK,JRE

*Text Editor = Text editor kita bisa menggunakan Notepad ++
* IDE (Integrated Development Environtment)

i. Dr Java

ii. Eclipse ( lebih kearah pengembangan Andoid )

iii. NetBeans

*Blue J
*Green Foot

OOP (Object Oriented Programming)


Definisi :

Object merupakan suatu formula,benda,system,metode bias terlihat atau tidak terlihat yang mempunyai ciri khas atau identitas yang berbeda / yang membedakan.
--> Mempunyai behaviour atau method berisi data dan method yang terangkan dalam object yang dimana dapat saling berinteraksi atau berhubungkan yang mempunyai suatu desain tidak hanya berisi suatu program

Konsep-konsep pemrograman berorientasi objek dalam Java secara umum sama dengan yang digunakan oleh bahasa-bahasa lain. Jadi kebanyakan konsep yang kita bahas juga terdapat dalam bahasa selain Java. Namun, terkadang terdapat perbedaan-perbedaan kecil antara penerapan konsep-konsep tersebut dalam masing-masing bahasa. Perbedaan-perbedaan ini juga akan dijelaskan seiring penjelasan masing-masing konsep.

Dasar – Dasar Pemrograman Berbasis Object
Abstraction

--> Mengubah atau menterjemahkan suatu hal yang nyata menjadi suatu model.
--> Memilih sebuah data untuk diproses menjadi suatu system informasi atau program

Encapsulation

--> Information hiding (data diletakkan di tempat tersembunyi agar data tersebut aman)

Inheritance

--> Turunan atau pewarisan hubungan dua buah kelas atau lebih.
Sebuah class hanya bisa diturunkan dari 1 induk saja (single parent) sedangkan 1 induk bisa diturunkan ke banyak kelas

Sifatnya --> Sama Persis

Polymorph

--> Terjadi dalam 1 induk diturunkan ke anak – anaknya dimana turunannya mempunyai arti yang beda tetapi mempunyai definisi atau tujuan yang sama

Konsep Class dan Object
Class merupakan blueprint atau template dari object
Object merupakan instance dari class


Contoh :
Karnivora merupakan Class
Object dari Karnivora adalah Macan, Singa, Serigala

Class

Merupakan kumpulan data dan fungsi dalam satu kesatuan untuk tujuan tertentu

*Data

Merupakan constanta (data permanen atau tidak bisa dirubah)

-Atribute
-Variable
-Properti


*Method
-Operation
-Procedure
-Behaviour
-Function


Acces modifier ---> private
---> protacted (private tapi boleh diakses turunannya)
---> package (masih boleh akses tapi masi dalam satu folder)
---> public (bole diakses siapa saja)


Wassalammualaikum Wr.Wb.

Tutorial SQL  

Posted by: rafie aza

NIM/NAMA : 10.41010.0280/Mochammad Ali Akbar Rafsanjani
Dosen : Tan Amelia
Tugas : Tutorial SQL


SQL (Structured Query Language) adalah bahasa komputer yang ditujukan untuk menyimpan, memanipulasi, dan query data disimpan dalam database relasional. Inkarnasi pertama dari SQL muncul di tahun 1974, ketika sebuah kelompok di IBM mengembangkan prototipe pertama dari sebuah database relasional. Database relasional komersial pertama dirilis oleh Relational Software (kemudian menjadi Oracle).

Standar untuk SQL ada. Namun, SQL yang dapat digunakan pada masing-masing RDBMS utama saat ini adalah dalam rasa yang berbeda. Hal ini disebabkan dua alasan: 1) standar perintah SQL ini cukup rumit, dan tidak praktis untuk menerapkan seluruh standar, dan 2) masing-masing vendor database memerlukan cara untuk membedakan produk dari orang lain. Dalam tutorial ini, perbedaan-perbedaan tersebut dicatat mana yang sesuai.


Ada dua bagian dalam SQL yakni DDL & DML

DDL (Data Definition Language)

DDL Adalah bagian dari SQL yang digunakan untuk mendefenisikan data dan proyek database. Perintah digunakan untuk mendefenisikan suatu proyek, yaitu membuat, mengubah, menghapus dan memberikan izin.
Beberapa perintah pada SQL yang temasuk DDL, seperti :

Alter Table untuk Mengubah atau menyisipkan ke dalam tabel
Create Table untuk Membuat Tabel
Create Index untuk Membuat Index
Create View untuknMembuat View
Drop Table untuk Menghapus Tabel
Drop Index untuk Menghapus Index
Drop View untuk Menghapus View
Grant untuk Memberi izin akses kepada user

DML (Data Manipulation Language)

DML merupakan bagian dari SQL yang digunakan untuk memanipulasi data. Perintah-perintah ini bertugas untuk melakukan query dan perubahan yg dilakukan dalam suatu tabel
Beberapa perintah SQL yang termasuk DML, Seperti :


Delete digunakan untuk Menghapus baris dari suatu tabel
UpDate digunakan untuk Mengubah isi dari kolom (field) pada suatu tabel
Select diigunakan untuk memilih data dari suatu tabel atau view
Insert digunakan untuk Menyisipkan baris dari suatu tabel
Commit digunakan untuk Menuliskan perubahan ke dalam disk
Rollback dingunakan untuk Membatalkan perubahan yang dilakukan setelah perintah Commit.

Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:

Sum untuk menghitung total nominal data
Count untuk menghitung jumlah kemunculan data
Avg untuk menghitung rata-rata sekelompok data
Max dan Min untuk mendapatkan nilai maksimum/minimum dari sekelompok data.


Ini pemrograman SQL situs bantuan daftar umum digunakan pernyataan SQL, dan dibagi menjadi bagian berikut:


SQL Commands: Dasar SQL untuk menyimpan, mengambil, dan memanipulasi data dalam database relasional.
Pada bagian ini, kita membahas perintah SQL berikut, yang sering digunakan dalam query SQL. Pada akhir bagian ini, Anda akan mempelajari dasar-dasar mengambil data dari database menggunakan SQL.



SQL DISTINCT

Kata kunci SELECT memungkinkan kita untuk mengambil semua informasi dari kolom (atau kolom) di atas meja. Ini, tentu saja, berarti bahwa akan ada redudansi. Bagaimana jika kita hanya ingin memilih setiap elemen DISTINCT? Hal ini mudah untuk melakukannya di SQL. Semua yang perlu kita lakukan adalah menambahkan DISTINCT SELECT setelah. Sintaksnya adalah sebagai berikut:

SELECT DISTINCT "nama_kolom"
DARI "table_name"

Misalnya, untuk memilih semua toko yang berbeda di Store_Information Tabel,

store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999



SQL MAX
SQL menggunakan fungsi MAX untuk mencari nilai maksimum dalam kolom. Sintaks untuk menggunakan fungsi MAX,

SELECT MAX ("nama_kolom")
DARI "table_name"

Sebagai contoh, jika kita ingin mendapatkan penjualan tertinggi dari tabel berikut,

tabel Store_Information
store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999

kita akan ketik

SELECT MAX (Penjualan) DARI Store_Information

hasil:
MAX (Penjualan)
1500

1500 merupakan nilai maksimum dari semua entri Penjualan: 1500, 250, 300, dan 700.



SQL MIN

SQL menggunakan fungsi MIN untuk mencari nilai maksimum dalam kolom. Sintaks untuk menggunakan fungsi MIN adalah,

SELECT MIN ("nama_kolom")
DARI "table_name"

Sebagai contoh, jika kita ingin mendapatkan penjualan terendah dari tabel berikut,

tabel Store_Information
store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999


kita akan ketik

SELECT MIN (Penjualan) DARI Store_Information

hasil:
MIN (Penjualan)
250

250 merupakan nilai minimum dari semua entri Penjualan: 1500, 250, 300, dan 700.






SQL ORDER BY

Sejauh ini, kita telah melihat bagaimana untuk mendapatkan data dari tabel dengan menggunakan SELECT dan WHERE perintah. Seringkali, bagaimanapun, kita perlu daftar output dalam urutan tertentu. Hal ini bisa dalam urutan menaik, dalam urutan, atau dapat didasarkan pada baik nilai numerik atau nilai teks. Dalam kasus tersebut, kita dapat menggunakan ORDER BY kata kunci untuk mencapai tujuan kita.

Sintaks untuk ORDER BY pernyataan adalah sebagai berikut:

SELECT "column_name"
DARI "table_name"
[WHERE "kondisi"]
ORDER BY "nama_kolom" [ASC, DESC]

The [] berarti bahwa pernyataan WHERE opsional. Namun, jika klausa WHERE ada, datang sebelum klausa ORDER BY. ASC berarti bahwa hasil akan ditampilkan dalam urutan, dan DESC berarti bahwa hasil akan ditampilkan dalam urutan. Jika tidak ditentukan, default adalah ASC.

Hal ini memungkinkan untuk memesan oleh lebih dari satu kolom. Dalam hal ini, ORDER BY klausa di atas menjadi

ORDER BY "column_name1" [ASC, DESC], "column_name2" [ASC, DESC]

Dengan asumsi bahwa kita memilih urutan untuk kedua kolom, output akan disusun dalam urutan menaik sesuai dengan kolom 1. Jika ada dasi untuk nilai kolom 1, kami kemudian mengurutkan dalam urutan berdasarkan kolom 2.

Sebagai contoh, kita mungkin ingin ke daftar isi Store_Information Tabel dengan jumlah dolar, dalam urutan:


tabel Store_Information
store_name Sales Date
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
bali 700 Jan-08-1999



kita kunci dalam,

SELECT store_name, Penjualan, Tanggal
DARI Store_Information
ORDER BY DESC Penjualan

Hasil:
store_name Penjualan Tanggal
sidoarjo 1500 Jan-05-1999
bali 700 Jan-07-1999
malang 300 Jan-08-1999
surabaya 250 Jan-08-1999


Selain nama kolom, kita juga dapat menggunakan posisi kolom (berdasarkan query SQL) untuk menunjukkan kolom yang kami ingin menerapkan ORDER BY klausa. Kolom pertama adalah 1, kolom kedua adalah 2, dan seterusnya. Dalam contoh di atas, kita akan mencapai hasil yang sama dengan perintah berikut:

SELECT store_name, Penjualan, Tanggal
DARI Store_Information
ORDER BY DESC 2




Table Manipulation: Bagaimana SQL digunakan untuk mengelola tabel dalam database.

Tabel struktur dasar dimana data disimpan dalam database. Mengingat bahwa dalam banyak kasus, tidak ada cara untuk vendor database untuk tahu di depan waktu data apa yang Anda perlu penyimpanan, kemungkinan bahwa Anda akan perlu membuat tabel dalam database sendiri. Banyak alat database memungkinkan Anda untuk membuat tabel tanpa menulis SQL, tetapi mengingat bahwa tabel adalah wadah dari semua data, penting untuk memasukkan sintaks CREATE TABLE dalam tutorial ini.

Sebelum kita menyelam ke dalam sintaks SQL untuk CREATE TABLE, itu adalah ide yang baik untuk memahami apa yang masuk ke meja. Tabel dibagi ke dalam baris dan kolom. Setiap baris mewakili satu bagian dari data, dan setiap kolom dapat dianggap sebagai mewakili komponen yang sepotong data. Jadi, misalnya, jika kita memiliki tabel untuk merekam informasi pelanggan, maka kolom dapat mencakup informasi seperti Nama Pertama, Nama Belakang, Alamat, Kota, Negara, Tanggal Lahir, dan sebagainya. Akibatnya, ketika kita tentukan tabel, kita termasuk header kolom dan tipe data kolom tertentu untuk itu.

Jadi apa tipe data? Biasanya, data yang datang dalam berbagai bentuk. Ini bisa menjadi (seperti 1) bilangan bulat, bilangan real (seperti 0,55), string (seperti 'sql'), ekspresi tanggal / waktu (seperti '2000-JAN-25 03:22:22 '), atau bahkan dalam format biner. Ketika kita tentukan tabel, kita perlu untuk menentukan jenis data yang terkait dengan setiap kolom (yaitu, kita akan menetapkan bahwa 'First Name' adalah tipe char (50) - yang berarti itu adalah sebuah string dengan 50 karakter). Satu hal yang perlu diperhatikan adalah bahwa database relasional yang berbeda memungkinkan untuk jenis data yang berbeda, sehingga adalah bijaksana untuk berkonsultasi dengan referensi database-spesifik pertama.
The SQL syntax for CREATE TABLE is

CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )

So, if we are to create the customer table specified as above, we would type in

CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)

Kadang-kadang, kita ingin memberikan nilai default untuk setiap kolom. Nilai default digunakan bila Anda tidak menentukan nilai kolom ketika memasukkan data ke dalam tabel. Untuk menentukan nilai default, tambahkan "Default [value]" setelah deklarasi tipe data. Dalam contoh di atas, jika kita ingin default kolom "Alamat" untuk "Unknown" City dan ke "Mumbai", kita akan ketik
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50) default 'Unknown',
City char(50) default 'Mumbai',
Country char(25),
Birth_Date date)











Advanced SQL
: Advanced perintah SQL.
Pada bagian ini, kita membahas SQL berikut dan konsep:

SQL UNION
Tujuan dari query UNION SQL untuk menggabungkan hasil dari dua query bersama-sama. Dalam hal ini, UNION agak mirip dengan JOIN di bahwa mereka keduanya digunakan untuk informasi terkait dari beberapa tabel. Satu pembatasan UNION bahwa semua kolom yang sesuai harus dari tipe data yang sama. Juga, ketika menggunakan UNION, hanya nilai-nilai yang berbeda dipilih (sama dengan SELECT DISTINCT).

Sintaksnya adalah sebagai berikut:

[SQL Pernyataan 1]
UNION
[SQL Pernyataan 2]

Katakanlah kita memiliki dua tabel berikut,

tabel Store_Information
store_name Penjualan Tanggal
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
Bali 700 Jan-08-1999

tabel Internet_Sales
Tanggal Penjualan
Jan-07-1999 250
Jan-10-1999 535
Jan-11-1999 320
Jan-12-1999 750

dan kita ingin mengetahui semua tanggal di mana ada transaksi penjualan. Untuk melakukannya, kita menggunakan pernyataan SQL berikut:

PILIH DARI Tanggal Store_Information
UNION
PILIH DARI Tanggal Internet_Sales

hasil:
Tanggal
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999

Harap dicatat bahwa jika kita ketik "SELECT DISTINCT Tanggal" untuk salah satu atau kedua pernyataan SQL, kita akan mendapatkan set hasil yang sama.




SQL Subquery
Hal ini dimungkinkan untuk menanamkan pernyataan SQL dalam yang lain. Bila ini dilakukan pada WHERE atau pernyataan MEMILIKI, kami telah subquery membangun.

Sintaksnya adalah sebagai berikut:

SELECT "column_name1"
FROM "table_name1"
WHERE "column_name2" [Comparison Operator]
(SELECT "column_name3"
FROM "table_name2"
WHERE [Condition])

[Perbandingan Operator] bisa kesetaraan operator seperti =,>, <,> =, <=. Hal ini juga dapat menjadi operator teks seperti "SEPERTI". Bagian merah dianggap sebagai "inner query", sedangkan bagian dalam warna hijau dianggap sebagai "permintaan luar".

Mari kita gunakan contoh yang sama seperti yang kita lakukan untuk menggambarkan SQL bergabung:

tabel Store_Information
store_name Penjualan Tanggal
sidoarjo 1500 Jan-05-1999
surabaya 250 Jan-07-1999
malang 300 Jan-08-1999
Bali 700 Jan-08-1999

tabel Geografi
region_name store_name
East Bali
East malang
West sidoarjo
West Surabaya
dan kita ingin menggunakan subquery untuk menemukan penjualan semua toko di wilayah Barat. Untuk melakukannya, kita menggunakan pernyataan SQL berikut:

SELECT SUM (Penjualan) DARI Store_Information
MANA store_name DI
(SELECT store_name DARI Geografi
MANA region_name = 'Barat')

hasil:
SUM (Penjualan)
2050

Dalam contoh ini, bukan bergabung dengan dua tabel secara langsung dan kemudian menambahkan hanya jumlah penjualan untuk toko di wilayah Barat, kita pertama menggunakan subquery untuk mengetahui toko di wilayah Barat, dan kemudian kita meringkas jumlah penjualan untuk toko-toko.

Dalam contoh di atas, inner query pertama dieksekusi, dan hasilnya kemudian dimasukkan ke dalam query luar. Jenis dari subquery adalah subquery disebut sederhana. Jika inner query tergantung pada permintaan luar, kita akan memiliki sebuah subquery yang berhubungan. Sebuah contoh dari subquery yang berhubungan adalah sebagai berikut:

SELECT SUM (a1.Sales) DARI Store_Information a1
MANA a1.Store_name DI
(SELECT store_name DARI Geografi a2
MANA a2.store_name = a1.store_name)

Perhatikan klausa WHERE dalam query dalam, di mana kondisi melibatkan tabel dari permintaan luar.





Konsep NULL unik penting di SQL. Oleh karena itu, kita termasuk bagian tentang penggunaan NULL, serta sebagai NULL dengan fungsi-fungsi:




SQL NULL
Dalam SQL, NULL berarti bahwa data tidak ada. NULL tidak sama dengan 0 atau string kosong. Baik 0 dan string kosong mewakili nilai, sementara memiliki nilai NULL.

Setiap operasi matematika dilakukan pada NULL akan menghasilkan NULL. Sebagai contoh,

10 + NULL = NULL

Fungsi agregat seperti SUM, COUNT, AVG, MAX, dan MIN mengecualikan nilai NULL. Hal ini tidak mungkin menyebabkan masalah untuk SUM, MAX, dan MIN. Namun, hal ini dapat menyebabkan kebingungan dengan AVG dan COUNT.

Mari kita lihat contoh berikut:

tabel Sales_Data
store_name Penjualan
Sebuah Toko 300
Toko B 200
Toko C 100
Toko D NULL

Berikut adalah hasil untuk setiap fungsi agregat:

SUM (penjualan) = 600

AVG (Penjualan) = 200

MAX (Penjualan) = 300

MIN (Penjualan) = 100

COUNT (Penjualan) = 3

Perhatikan bahwa fungsi AVG jumlah hanya 3 baris (baris NULL dikecualikan), sehingga rata-rata adalah 600 / 3 = 200, bukan 600 / 4 = 150. Fungsi COUNT juga mengabaikan rolw NULL, itulah sebabnya mengapa COUNT (Penjualan) = 3.




SQL ISNULL Function
Fungsi IsNull tersedia dalam SQL Server dan MySQL. Namun, menggunakan mereka berbeda:

SQL Server

Dalam SQL Server, IsNull () fungsi ini digunakan untuk menggantikan nilai NULL dengan nilai lainnya.

Sebagai contoh, jika kita memiliki tabel berikut,

tabel Sales_Data
store_name Penjualan
Sebuah Toko 300
Toko B NULL

SQL berikut,

SELECT SUM (IsNull (Penjualan, 100)) DARI Sales_Data;

kembali 400. Hal ini karena NULL telah digantikan oleh 100 melalui fungsi IsNull.

MySQL

Dalam MySQL, IsNull () adalah fungsi yang digunakan untuk menguji apakah suatu ekspresi adalah NULL. Jika ekspresi adalah NULL, fungsi ini mengembalikan 1. Jika tidak, fungsi ini mengembalikan 0.

Sebagai contoh,

IsNull (3 * 3) mengembalikan 0

IsNull (3 / 0) mengembalikan 1




SQL IFNULL Function
Para IFNULL () fungsi tersedia di MySQL, dan tidak di SQL Server atau Oracle. Fungsi ini membutuhkan dua argumen. Jika argumen pertama tidak NULL, fungsi mengembalikan argumen pertama. Jika tidak, argumen kedua dikembalikan. Fungsi ini umumnya digunakan untuk menggantikan nilai NULL dengan nilai lainnya. Hal ini mirip dengan fungsi NVL dalam Oracle dan Fungsi IsNull di SQL Server.

Sebagai contoh, jika kita memiliki tabel berikut,

tabel Sales_Data
store_name Penjualan
Sebuah Toko 300
Toko B NULL

SQL berikut,

SELECT SUM (IFNULL (Penjualan, 100)) DARI Sales_Data;

kembali 400. Hal ini karena NULL telah digantikan oleh 100 melalui fungsi IsNull.


Selain itu, kami menunjukkan bagaimana Structured Query Language dapat digunakan untuk menyelesaikan beberapa operasi yang lebih kompleks:

Rank
Median
Running Totals
Percent To Total
Cumulative Percent To Total









SQL Syntax: Satu halaman yang berisi daftar sintaks untuk semua perintah SQL pada tutorial ini.

kami daftar sintaks SQL untuk setiap perintah SQL dalam tutorial ini, membuat referensi yang mudah bagi seseorang untuk belajar SQL. Untuk penjelasan rinci dari setiap sintaks SQL, silahkan pergi ke bagian individual dengan mengklik pada kata kunci.

Tujuan dari halaman ini adalah memiliki halaman referensi cepat untuk sintaks SQL, sehingga Anda dapat belajar SQL lebih cepat. Bookmark halaman ini sekarang dengan menekan Control-D sehingga Anda dapat memiliki sintaks halaman ini berguna.
Select Statement
SELECT "column_name" FROM "table_name"

Distinct
SELECT DISTINCT "column_name"
FROM "table_name"

Where
SELECT "column_name"
FROM "table_name"
WHERE "condition"

And/Or
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{[AND|OR] "simple condition"}+

In
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...)

Between
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2'

Like
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN}

Order By
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC]

Count
SELECT COUNT("column_name")
FROM "table_name"

Group By
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"

Having
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
HAVING (arithematic function condition)

Create Table Statement
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )

Drop Table Statement
DROP TABLE "table_name"

Truncate Table Statement
TRUNCATE TABLE "table_name"

Insert Into Statement
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)

Update Statement
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}

Delete From Statement
DELETE FROM "table_name"
WHERE {condition}

Untuk setiap perintah, sintaks SQL pertama akan disajikan dan dijelaskan, diikuti dengan contoh. Pada akhir tutorial ini, Anda harus memiliki pemahaman baik umum sintaks SQL, dan dapat menulis query SQL dengan menggunakan sintaks yang benar. Pengalaman saya adalah bahwa pemahaman dasar-dasar SQL adalah jauh lebih mudah daripada menguasai semua seluk-beluk bahasa database, dan saya harap Anda akan mencapai kesimpulan yang sama juga.