Senin, 14 November 2011

PBD - Resume Pertemuan 8

NIM/NAMA : 10410100218/ Achmad Vierdan Habibi
Dosen : Tan Amelia
Tugas : Resume pertemuan 8
ADO.NET ARCHITECTURE
ADO.NET berfungsi menyediakan antar muka pengrograman pada project kita dengan berbagai sumber data. Dengan kata lain pengolahan data pada database dilakukan melalui kode-kode ADO.NET ini, lalu ditampilkan pada aplikasi kita.

Objek - objek ADO.NET
  1. Objek Connection membuat hubungan antara aplikasi windows kita dan sumber data luar, seperti SQL Server atau Data MS-Access. Objek ini juga menyediakan mekanisme untuk mengadakan hubungan, melakukan pencarian dan melakukan transaksi. Ini adalah objek yang paling tinggi levelnya pada model Objek ADO.NET 
  2. Objek Command dipergunakan untuk melakukan pencarian, termasuk parameter khsus yang dimasukkan oleh pemakai, mengakses rekaman dati sumber data. Pada umumnya, rekaman-rekaman ini dikembalikan dalam bentuk Objek Table. Objek command dibuat dari tabel basis data, query yang tersimpan atau Query Bahasa Pencarian Terstruktur/Structured Query Language (SQL). 
  3. DataAdapter Melalui DataAdapter ini kita dapat mengambil data rekaman dengan langsung memberikan perintah SQL maupun melalui objek Command. 
  4. DataSet Setelah record (rekaman) di hasilkan melalui DataAdapter lalu record tersebut diisikan ke dalam Dataset. Di dalam dataset sebenartnya bisa dimuat lebih dari satu table. Untuk kemudahan kita hanya mengisi DataSet dengan satu buah tabel saja. 
  5. Table Objek Recordset tidak dipergunakan lagi pada ADO.NET sebagai gantinya kita akan memakai object Table yang terdapat di dalam Dataset untuk mengakses rekaman-rekaman yang dikembalikan dari query SQL. Anda mempergunakan Objek Table untuk menyajikan data kepada pemakai. Objek Table ini berisi rekaman (record) yang dapat langsung dipergunakan untuk megisi gridview atau textbox. Objek table ini terdapat di dalam dataset.
nama space -> System.data
jika SQL server -> System.data.SQLClient
jika M.Access -> System.data.OleDB
jika Oracle -> System.data.OracleConnection

imports System.data.SQLClient harus dituliskan diatas agar diketahui koneksinya.

DataBase berfungsi untuk menyimpan data.
sedangkan XML berfungsi untuk menyimpan data dalam bentuk text. (tidak menggunakan data adapter tetapi menggunakan readXML dan writeXML.

Data Reader berfungsi untuk menampilkan data

Data Adapter adalah jembatan penghubung antara database dan data set(temporary data base = bersifat sementara)

fungsi - fungsi dalam data set
.newrow
.rows.add
.rows.delete
.rows.update

Data Base ke Data set menggunakan method fill
sedangkan Data set ke Data Base menggunakan method update

Connected Aplication Objects
Data source adalah nama server

khusus lokal (nama server)
  1. nama komputer
  2. (local)
  3. localhost
  4. IP (digunakan untuk jaringan)
"Data source=nama server;"&_
"initial catalog=nama data base;"&_
"user id=___; password=___;"&_ jika menggunakan SQL server
"Integrated Security=True;" jika menggunakan windows Authentification

Dim OSqlconn As new Sqlconnection ("Data source=nama server;"&_"initial catalog=nama data base;"&_"user id=___; password=___;"&_)

SQL command

Dim cmd As SqlCommand = new SqlCommand

cmd.CommandText="Insert into_____values("&textbox1&;","&textbox2&","&textbox3&")
cmd.executedNonQuery 



Selasa, 01 November 2011

Pentingnya Perilaku Keorganisasian dalam membentuk SDM yang handal dan memiliki need for achievment

pentingnya perilaku keorganisasian, di sebuah tempat tinggal terutama kontrakan

disini saya akan bercerita sedikit tentang organisasi yang saya ikuti di tempat tinggal saya yang ada di surabaya. saya tinggal dengan beberapa teman yang kuliah di stikom surabaya. sebagian banyak dari kami satu jurusan yakni sistem informasi, dan ada pula komputer akuntansi dan MM.

kami tinggal disebuah kontrakan yang awalnya berantakan, tak ada yang mengatur, sembarangan dan lain - lain. hingga suatu saat kami menyadari bahwa kontrakan yang kami tinggali ini berantakan. jadi kami memutuskan untuk membentuk organisasi yang mengutamakan kebersihan, keamanan, kenyamanan, serta kekeluargaan.

awalnya organisasi yang kita buat berjalan hanya beberapa minggu saja terus kembali seperti sedia kala. sehingga salah satu dari kami, sebut saja namanya yayan merasa tidak nyaman dengan kontrakan ini karena minimnya kebersihan.

pada malam itu kira - kira hari selasa para penghuni kontrakan diharapkan ngumpul untuk rapat masalah kontrakan. agar 4K yang kita harapkan tadi terwujud. setiap orang harus mengeluarkan pendapat dan unek - uneknya. setelah hampir 2 jam bicara akhirnya mendapatkan solusi yang mungkin terbaik dan kami akan coba. yakni kita bekerja sesuai dengan desjob yang sudah dibagi. kami juga meminta bantuan tetangga kami yang bernama pak romli untuk bekerja membersihkan setiap ruangan kecuali kamar pribadi kami agar telihat bersih.

kami mengharapkan ada perubahan yang terjadi untuk mendatang agar terwujud 4K tersebut. kami semua berharap dengan 4K tersebut bisa membuat kita merasa memiliki dan menjaga kontrakan tempat tinggal kami agar bisa belajar lebih baik dan berprestasi dalam kuliah dan masa depan kami.

Rabu, 19 Oktober 2011

Resume PBO-05






Simulasi System Perbankan Sederhana

import java.io.*;
class Personal
{
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

static int MENU() throws Exception
{
System.out.println("1. Masukkan Transaksi");
System.out.println("2. Cek Saldo");
System.out.println("3. Print Detail Transaksi");
System.out.println("4. Exit");
System.out.print("Pilihan : ");
return Integer.parseInt(in.readLine());
}

public static void main(String[] args) throws Exception
{
int saldo = 0;
int count = 0;
Transaksi[] trans = new Transaksi[100];

do
{
int pil = MENU();
if(pil == 1)
{
trans[count] = new Transaksi();

System.out.print("Tanggal : ");
trans[count].setTgl(in.readLine());
System.out.print("Nominal : ");
trans[count].setNominal(Integer.parseInt(in.readLine()));
System.out.print("Keterangan : ");
trans[count].setKet(in.readLine());
System.out.print("Status : ");
trans[count].setStatus(in.readLine());

if(trans[count].getStatus().equals("debet"))
{
saldo += trans[count].getNominal();
}
else
{
saldo -= trans[count].getNominal();
}

count ++;
}
else if(pil == 2)
{
System.out.println("Saldo : " + saldo);
}
else if(pil == 3)
{
System.out.println("Tanggal\t\t\t\tNominal\t\tKeterangan\tStatus");
for(int i=0;i

Resume PBO-04



Pengantar Method


Salah satu konsep penting dari pemrogramman berorientasi objek adalah pembuatan method. Seperti yang kita ketahui bahwa yang namanya class memiliki nama class, attribut dan method. Ya…method, merupakan salah satu komponen class yang sangat penting. Sebuah class akan menjadi kumpulan variable tanpa bisa melakukan apapun jika class tersebut tidak memiliki method. Semua proses, operasi dan implementasi algoritma diletakkan dalam method. Perhatikan contoh class berikut ini:


public class ContohWoMethod{ private int i=10; private String str=""; if(int>10) str="i lebih dari 10"; else str="i kurang dari 10"; }

Kalau kita perhatikan definisi class di atas jelas tidak masalah, tidak ada kesalahan syntax, tapi class tersebut pasti tidak bisa di-compile. Mengapa bisa demikian?
Karena belum ada pengembali nilainya. dengan kata lain method yg dibuat belum lengkap. kurang SET dan GET nya.

Method sama halnya seperti function, procedure ataupun subroutine. Setiap bahasa pemograman biasanya memiliki ciri masing-masing dan method biasanya digunakan oleh bahasa pemograman Java. Analogi yang bisa kita gunakan untuk lebih memahami method dengan memisalkan class adalah sebuah perusahaan dan method adalah services yang disediakan. Seandainya kita menanyakan sebuah no telp ke information services yang ada diperusahaan tersebut, maka kita melewatkan sebuah informasi yaitu berupa nama dari orang yang kita cari no telpnya kepada information services (method). Kemudian method tersebut melakukan sesuatu yang akan memberikan nilai pada kita berupa no telp yang kita butuhkan.


Dalam bahasa pemograman Java, statemen-statemen dikelompokkan dalammethod-method dan setiap method harus berada didalam sebuah class. Setiap method mempunyai nama yang diawali dengan lowercase dan pada umumnya menggunakan kata kerja, karena method digunakan untuk melakukan sesuatu. Level atas biasanya melakuan banyak pemanggilan method untuk melakukan tugasnya, dan sebuah method punya kemungkinan untuk memanggil method yang lain.


Keywords yang perlu diketahui saat kita bekerja dengan method :

1. Argument, informasi yang dilewatkan pada sebuah method, biasanya dituliskan dalam tanda kurung setelah nama method. Untuk memisahkan argument-argument yang ada didalamnya menggunakan koma.

Contoh : tes = JOptionPane.showInputDialog (null, “ngetes”);

2. Static method, tidak memiliki object yang dilewatkan

Ketika kita ingin memanggil static method yang ada pada class yang berbeda maka kita harus menuliskan nama class nya terlebih dahulu, kemudian diikuti oleh titik dan dilanjutkan dengan nama method. Jika kita tidak mendefinisikan namaclassnya maka diasumsikan bahwa method yang didefinisikan ada dalam kelas tersebut.

Static call syntax: className.methodName( arguments )

3. Instance method, memiliki object yang dilewatkan, jika yang ada didepan titik adalah object maka dia disebut sebagai instance method.

Instance call syntax: object.methodName( arguments )

Resume PBO-03

Constructor


Constructor adalah method yang secara otomatis dipanggil/ dijalankan pada saat sebuah class diinstansi. jika dalam sebuah class tidak terdapat constructor maka secara otomatis Java akan membuat sebuah default constructor. Nama constructor harus sama dengan nama class dan tidak boleh memiliki tipe return value. sama halnya dengan method constructor dapat memiliki satu atau banyak parameter maupun tanpa parameter.

Multiple Constructor
adalah adanya lebih dari satu constructor untuk sebuah class. yang membedakan antara satu constructor dengan constructor lainnya adalah pada parameternya(nama constructornya sama)

Function Overloading
Overloading adalah diperbolehkannya dalam sebuah class memiliki lebih dari satu function yang serupa (nama function-nya sama) tetapi deklarasi - deklarasi parameternya berbeda.

Inheritance
merupakan proses pewarisan data dan method dari suatu class yang telah ada kepada suatu class baru. Class yang mewariskan disebut dengan superclass/ parentclass/ baseclass, subclass/ child class/ derivedclass. subclass tidak dapat mewarisi anggota private dari superclass-nya.

untuk menerapkan inheritance menggunakan "extends".
keyword "super" digunakan oleh subclass untuk memanggil constructor atau method yang ada pada superclass-nya.

Personal Accounting

public class personalaccounting
{
private transaksi [ ] daftartransaksi = new transaksi [10];
int i=0;
public void add (transaksi tr)
{
daftartransaksi [i]=tr;
i++;
}

public void cetaktransaksi( )
{
     For (int j=0 ; j<I ; j++)
     Dafrartransaksi[j].cetaktransaksi( );
}

public void saldo()
{
     int saldo = 0;
     for(int z = 0 ; z<i ; z++ )
     {

      if (daftartransaksi[z].getstatus() == true)
     {
saldo = saldo + daftartransaksi[z].getnominal();
      }
      else
     {
saldo = saldo - daftartransaksi[z].getnominal();
      }

}
}
      System.out.println(“informasi sisa saldo anda adalah” + saldo);
}
}


public class transaksi{

public static dinal Boolean DEBET=true;
public static dinal Boolean KREDIT=false;
private Date tgl;
int nominal;
String keterangan;
Boolean status;

public transaksi (Date tgl, int nominal, String keterangan, Boolean statys){
this.tgl=tgl;
this.nominal=nominal;
this.keterangan=keterangan;
this.status=status;
}

public void cetaktransaksi(){
System.out.print(“tanggal”+tgl);
System.out.print(“nominal”+nominal);
System.out.print(“keterangan”+keterangan);
System.out.print(“status”+status);
}

public Boolean getstatus(){
return status;
}
public int getnominal(){
return nominal;
}

}









Minggu, 02 Oktober 2011

Sistem Operasi Linux



SISTEM OPERASI LINUX

Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang bersifat multi user dan multitasking, yang dapat berjalan di berbagai platform, termasuk prosesor INTEL 386 dan yang lebih tinggi. Sistem operasi ini mengimplementasikan standard POSIX. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell. Nama Linux sendiri diturunkan dari pencipta awalnya, LINUS TORVALDS, yang sebetulnya mengacu pada kernel dari suatu sistem operasi, suatu penamaan yang biasa digunakan untuk mengacu ke pada suatu kumpulan lengkap software, yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap.

Perbedaan mendasar Linux
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah, harga. Linux ini GRATIS. Berarti dapat diperbanyak, dan didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi banyak isue lainya dengan bersifat free, selain dari pertimbangan harga. Source code Linux tersedia bagi setiap orang. Perkembangan Linux menunjukkan pentingnya perananan kebebasan ini. Hal ini telah menghasilkan suatu tingkat keterlibatan yang menakjugkan dari ribuan atau bahkan ratusan ribu orang di seluruh dunia. Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk divais tertentu tanpa harus mendapatkan lisensi source code yang mahal, atau menandatangani non descructive agreement. Dan itu juga telah menyediakan kemungkinan bagi mahasiswa ilmu komputer di seluruh dunia untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas komersial. Karena Linux itu tersedia secara bebas di Internet, berbagai vendor telah membuat suatu paket distribusi, yang dapat dianggap sebagai berbagai versi kemasan Linux. paket ini termasuk lingkungan Linux lengkap, perangkat lunak untuk instalasi, dan mungkin termasuk perangkat lunak khusus, dan dukungan khusus.

Perbandingan Linux terhadap sistem operasi lainnya
Linux disusun berdasarkan standard sistem operasi POSIX, yang sebenarnya diturunkan berdasarkan fungsi kerja UNIX. UNIX kompatibel dengan Linux pada level system call, ini berarti sebagian besar program yang ditulis untuk UNIX atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang minimal. Secara umum dapat dikatakan Linux berjalan lebih cepat dibanding Unix lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan, yaitu tidak bersifat free. MS-DOS memiliki kemiripan dengan Linux, yaitu file sistem yang bersifat hirarkis. Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86, dan tidak mendukung multi-user dan multi-tasking, serta tak bersifat free. Juga MS-DOS tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi lainnya, termasuk tidak tersedianya perangkat lunak network, program pengembang, dan program utilitas yang ada dalam Linux. Microsoft Windows menawarkan beberapa kemampuan grafis yang ada pada Linux termasuk kemampuan networking, tetapi tetap memiliki kekurangan yang telah ada pada MS-DOS.
Windows NT yang juga tersedia untuk Digital Alpha dan juga prosesor x86 juga memiliki beberapa kekurangan yang telah ada pada MS-DOS. Waktu untuk menemukan suatu bug dalam suatu sistem operasi ini tak sebanding dengan harga yang harus dibayar.


Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi ketersediaan perangkangkat bantu pengembang (development tool), dan juga kurang dapat secara mudah untuk berinteroperasi dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat dijalankan pada PowerMac.




Asal Linux

Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus

mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler). Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok

orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh, C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan pada lingkungan Hewlett-Packard dan Sun. Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet, word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu

Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan distro.

Sumber: http://id.shvoong.com/internet-and-technologies/1854425-sistem-operasi-linux/#ixzz1Zgkmj0df

Selasa, 27 September 2011

PBD - Contoh dari Stored Procedures, Functions dan Trigger pada SQL Server.

NIM/ NAMA : 10410100218/ Achmad Vierdan Habibi
Tugas : Tugas PBD
Dosen : Tan Amelia

1)
Procedure Penghitungan Total Pendapatan
create procedure TotalPendapatan
as
begin
declare @total1 numeric;
declare @total2 numeric;

set @total1 = (select sum(harga) 'Total Desember 2010'
from peminjaman
where tanggalpinjam between '12/1/2010' and '12/31/2010')

set @total2 = (select sum(harga) 'Total Januari 2011'
from peminjaman
where tanggalpinjam between '1/1/2011' and '1/31/2011')

print 'Total Pendapatan Bulan Desember 2010 = ' + convert(varchar, @total1)
print 'Total Pendapatan Bulan Januari 2011 = ' + convert(varchar, @total2)
end

exec TotalPendapatan

2)
-- Procedure Penentuan Mobil Yang Paling Diminati
alter procedure Minat
as
begin
declare @minat numeric;
declare @nomor varchar(10);
declare @nama varchar(10);

select @nomor=nomorpolisi, @minat=count(nomorpolisi)
from peminjaman
group by nomorpolisi
having count(nomorpolisi) = (select max(Hitung)
from (select nomorpolisi,count(nomorpolisi) 'Hitung'
from peminjaman
group by NomorPolisi) Tabel)

set @nama = (select namamobil from mobil where nomorpolisi = @nomor)

print 'Mobil yang paling diminati = ' + @nama + ' sebanyak ' + convert(varchar, @minat)
end

exec Minat

3)
CREATE PROCEDURE SupplierCountry
@Country varchar(15)
AS SELECT SupplierID, CompanyName, Country
FROM [Suppliers]
WHERE Country = @Country

EXEC SupplierCountry 'UK'
4)
ALTER PROC Coba_product
@CountryName VARCHAR(25), @SumOfStock INT OUTPUT
AS
SELECT Suppliers.SupplierID, Suppliers.Country,Products.UnitsInStock,
SUM (ProductID) AS SumOfProducts
FROM Suppliers, Products
WHERE Country like @CountryName and UnitsInStock like@SumOfStock
GROUP BY Suppliers.SupplierID, Country, UnitsInStock

5)
ALTER PROCEDURE QuantityOrder
(@total SMALLINT OUTPUT )
AS
SELECT OrderID,ProductID,UnitPrice,Quantity,count(Quantity)
as SumOfOrderDetails
FROM [Order Details]
WHERE Quantity like @total
group by OrderID,ProductID,UnitPrice, Quantity


EXEC QuantityOrder '15'

Function
1)
SET SERVEROUTPUT ON
DECLARE
X VARCHAR2(20);
BEGIN
X := tulis_teks;
DBMS_OUTPUT.PUT_LINE(X);
END;

2)
SET SERVEROUTPUT ON
DECLARE
H INTEGER;
BEGIN
H := pangkat(2, 3);
DBMS_OUTPUT.PUT_LINE(‘Hasil = ‘ || TO_CHAR(H));
END;

3)
CREATE OR REPLACE FUNCTION kuadrat (X NUMBER)
RETURN NUMBER AS
HASIL NUMBER(10);
BEGIN
HASIL := X * X;
RETURN HASIL;
END;

4)

Trigger
1)
CREATE TRIGGER tr_status ON daftarnilai
FOR INSERT, UPDATE
AS
DECLARE @kode char(4)
DECLARE @nilai float
SELECT @kode = kode, @nilai = nilai FROM daftarNilai
IF @nilai >= 60
UPDATE daftarSiswa SET status = ‘Lulus’ WHERE kode=@kode
ELSE UPDATE daftarSiswa SET status = ‘Tidak Lulus’ WHERE kode=@kode
go

Senin, 19 September 2011

PBD - Stored Procedures, Functions dan Trigger pada SQL Server.

Nama / NIM : Achmad Vierdan Habibi / 10410100218
Dosen : Tan Amelia
Tugas : membuat tulisan tentang materi Stored Procedures, Functions dan Trigger pada SQL Server.


Stored Procedure adalah kumpulan perintah SQL yang diberi nama dan disimpan di server. Stored Procedure biasanya berisi perintah-perintah umum yang berhubungan dengan database pada server, dan menghasilkan sekumpulan record. Stored Procedure ditulis dalam bentuk sebuah script. Dalam SQL Server store procedure memiliki kemampuan antara lain :

  1. Menerima parameter input dan mengembalikan beberapa nilai parameter output dari procedure yang dipanggil.
  2. Mengandung statement pemrograman yang melakukan operasi terhadap database termasuk memanggil store procedure lain.
  3. Memberikan status yang mengindikasikan keberhasilan atau kegagalan eksekusi store procedure
Keuntungan pemakaian store procedure adalah :
  • Merupakan pemrograman modular
  • Store procedure dibuat sekali dan dapat dipakai berulang untuk komputasi yang sama
  • Memungkinkan eksekusi lebih cepat
  • Ketika pertama kali dijalankan store procedure akan tersimpan dalam memori. Sehingga memungkinkan eksekusi berikutnya lebih cepat.
  • Mengurangi trafik jaringan
  • Barisan kode transact SQL yang seharusnya dilewatkan jaringan, akan digantikan dengan statement tunggal pemanggilan store procedure
  • Dapat digunakan sebagai mekanisme sekuriti
  • Pengguna dimungkinkan mengeksekusi Store procedure, walau mungkin tidak dapat mengeksekusi procedure didalamnya secara langsung.
FUNCTION
Function atau fungsi dalam perintah SQL digunakan untuk menghasilkan sebuah nilai atau output. Ada berbagai macam fungsi yang ada pada SQL.

Fungsi Agregasi/Agregates
Fungsi yang dihasilkan dari sebuah group data. 
  • SUM : Untuk menjumlah suatu kolom tertentu yang telah definisikan dalam perintah select.
Sintak :
SELECT SUM (nama_kolom) FROM nama_tabel
[WHERE = Kondisi]
Contoh :
SELECT SUM (SKS) FROM Mata_Kuliah

  • COUNT : Untuk menghitung jumlah baris dalam sebuah tabel.
Sintak :
SELECT COUNT nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT COUNT (*) FROM mahasiswa
SELECT COUNT (SKS) FROM Mata_Kuliah
  • AVG : Untuk menghitung nilai rata – rata dari suatu kolom tertentu yang telah definisikan dalam perintah select
Sintak :
SELECT AVG nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT AVG (SKS) FROM Mata_Kuliah
  • MIN : Untuk mengetahui nilai terkecil dari sebuah kolom tertentu dalam perintah select
Sintak :
SELECT MIN nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT MIN (SKS) FROM Mata_Kuliah
  • MAX : Untuk mengetahui nilai terbesar dari sebuah kolom tertentu dalam perintah select
Sintak :
SELECT MAX nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT MAX (SKS) FROM Mata_Kuliah


Fungsi Waktu

  • GETDATE : Untuk menampilkan tanggal sekarang
Contoh :
SELECT GETDATE()
  • DATEADD : Untuk memambah jumlah hari, tanggal atau tahun yang ditentukan.
Sintak :
DATEADD (datepart, jumlah, tanggal)
Contoh :
SELECT DATEADD (day, 10, getdate())
SELECT DATEADD (Month, 10, getdate())
  • DATEDIFF : Untuk mengetahui rentan waktu (bisa hari, bulan, tahun)
Sintak :
DATEDIFF (datepart,tanggal_awal, tanggal_akhir)
Contoh :
SELECT DATEDIFF (month, '01/01/2007','01/01/2008')
  • DATENAME : Untuk menampilkan nama hari, bulan atau tahun.
Sintak :
DATENAME (datepart, tanggal)
Contoh :
SELECT DATENAME (month, getdate()) AS 'BulanSekarang'

Fungsi Aritmatika
  • SQRT : Untuk mencari akar dari niai tertentu
Contoh :
SELECT SQRT (100)
  • CEILING : Untuk pembulatan ke atas dari angka decimal
Contoh :
SELECT CEILING (25.25)
Keterangan : Akan menghasilkan nilai 26
  • FLOOR : Untuk pembulatan ke bawah dari angka decimal
Contoh :
SELECT FLOOR (25.25)
Keterangan : Akan menghasilkan nilai 25

Fungsi Karakter
  • LOWER dan UPPER 
  • LOWER : mengubah huruf besar ke huruf kecil
  • UPPER : mengubah huruf kecil ke huruf besar
Contoh :
1. SELECT LOWER (Nama) FROM Mahasiswa
2. SELECT UPPER (Nama) FROM Mahasiswa
  • LEN : Untuk menghitung jumlah karakter
Contoh :
SELECT Nama, LEN (Nama) FROM Mahasiswa
  • LTRIM dan RTRIM
  • LTRIM : memotong karakter spasi di kiri string
  • RTRIM : memotong karakter spasi di kanan string
Contoh :
SELECT LTRIM (' Sistem Basis Data')
SELECT RTRIM ('Sistem Basis Data ')
Keterangan :
Akan menghasilkan “Sistem Basis Data”
  • SUBSTRING : Mengambil beberapa karakter dari sebuah deretan string
Contoh :
SELECT SUBSTRING ('Sistem Basis Data',8,5)
Keterangan :
Mengambil string dari karakter ke 8 sebanyak 5 karakter.
Hasilnya adalah ‘Basis’
  • LEFT dan RIGHT
  • LEFT : Mengambil beberapa karakter dari kiri
  • RIGHT : Mengambil beberapa karakter dari kanan
Contoh :
SELECT LEFT ('Sistem Basis Data',6)
Keterangan : Mengambil string sebanyak 6 karakter dari sebelah kiri.
Hasilnya adalah ‘Sistem



TRIGGER
Trigger adalah Stored Procedure khusus yang dijalankan secara otomatis pada saat atau sesudah modifikasi data. Perintah-perintah yang akan mengaktifkan Trigger adalah UPDATE, INSERT, dan DELETE. Trigger dipakai untuk menjaga integritas data dan mengimplementasikan aturan bisnis yang kompleks. Trigger dibuat dengan memakai bahasa Transact-SQL atau SQL Enterprise Manager. Tugas-tugas manajemen Trigger meliputi mengubah, mengganti nama, menampilkan, menghapus dan membuat Trigger tidak aktif.

Trigger memakai dua tabel maya yaitu Inserted dan Deleted untuk mendeteksi modifikasi data. Untuk memprogram Trigger, Anda harus mendalami kedua tabel tersebut dan bahasa Transact-SQL. Untuk menjaga integritas data, Anda dapat memakai beberapa alternatif, yaitu Trigger atau Konstrain (Rule). Anda juga dapat memakai kunci utama dan kunci unik untuk mengidentifikasi baris dalam sebuah tabel secara unik. Anda juga dapat memakai nilai default dan domain untuk membatasi nilai-nilai yang diperbolehkan pada sebuah kolom. Referential Integrity dipakai untuk menjamin keabsahan hubungan antar tabel. Sebaliknya Anda memakai konstrain-konstrain tersebut sebelum memilih Trigger, karena Trigger dapat melakukan proses yang lebih rumit tetapi beban sistem lebih berat.


Pakailah Trigger untuk kasus-kasus berikut:
- Jika pemakaian cara deklaratif tidak dapat memenuhi kebutuhan yang diperlukan. Misalnya, buatlah Trigger untuk mengubah sebuah nilai numerik dalam tabel jika sebuah record di dalam tabel tersebut dihapus.
- Sebuah perubahan harus mengubah tabel-tabel lain yang terhubung. Misalnya jika data order ditambahkan, tabel lain yang menyimpan data stok akan berubah.
- Jika database didenormalisasi dan memerlukan cara otomasi untuk mengubah data redundan yang ada dibeberapa tabel.
- Jika sebuah nilai pada sebuah tabel harus divalidasi dengan data pada tabel lain.
- Jika diperlukan pesan kesalahan dan penangganan kesalahan secara khusus.
Kemampuan-kemampuan yang dimiliki Trigger:
- Trigger dapat menjaga referential integrity dengan melakukan perubahan data atau penghapusan kunci tamu (Foreign Key) di dalam database.
- Trigger dapat bekerja pada beberapa kolom dalam sebuah database bahkan pada objek di luar database. Anda juga dapat memakai Trigger pada View.
- Sebuah Trigger dapat melakukan beberapa aksi dan Trigger dapat diaktifkan oleh beberapa event. Misalnya Anda membuat sebuah Trigger yang akan diaktifkan jika terjadi proses INSERT, UPDATE atau DELETE. Dengan perintah Transact-SQL, Anda dapat mendefinisikan aturan bisnis untuk tiap event.
Selain kemampuan-kemampuan tersebut, Trigger juga mempunyai keterbatasan. Trigger tidak dapat dibuat pada sebuah tabel sistem atau temporer, meskipun perintah di dalama Trigger mengacu ke tabel sistem atau tabel temporer.
Trigger tidak dapat diaktifkan secara manual, tetapi diaktifkan secara otomatis jika terjadi event INSERT, UPDATE, dan DELETE. Dalam Trigger selalu berisi satu atau beberapa event tersebut sebelum perintah Transact-SQL didefinisikan. Tipe-tipe Trigger sesuai dengan event-nya. Misalnya Anda membuat sebuah Trigger UPDATE sehingga jika terjadi pengubahan data pada sebuah tabel, Trigger tersebut dapat diaktifkan. Sebuah Trigger dapat diaktifkan oleh beberapa event.
Pada saat terjadi INSERT atau UPDATE yang diaktifkan Trigger, Trigger menyimpan data baru atau data hasil modifikasi di dalam sebuah tabel yang bernama INSERTED. Jika terjadi DELETE yang mengaktifkan Trigger, data yang dihapus akan tersimpan ditabel yang bernama Deleted. Tabel tersebut berada dimemori dan dibaca oleh Trigger dengan perintah-perintah Transact-SQL. Kemampuan ini penting anda ketahui, karena pada umumnya Trigger membandingkan data dalam tabel Inserted dan Deleted dengan data baru sebelum proses Commit. Dengan kedua tabel tersebut, Trigger dapat melakukan proses Roll-Back.

Selasa, 13 September 2011

Tugas PBO-01



Class Tape Compo
Memiliki Atribut :
  • Volume => 1 - 10
  • Tuning => 87.00 - 108.95
  • Spiker
  • Bass => 1 - 10
  • Treble => 1 - 10 
Memiliki method :
  • TapeDinyalakan( );
  • TapeDimatikan( );
  • VolumeDiperbesar( );
  • VolumeDiperkecil( );
Class Tape player
Memiliki Atribut :
  • Judul kaset =>
Memiliki Method :

  • TapeDinyalakan( );
  • TapeDimatikan( );
  • VolumeDiperbesar( );
  • VolumeDiperkecil( );
  • GantiCasette( );
Class Radio
Memiliki Atribut :
  • Frekuensi
  • Nama Frekuensi
Memiliki method :
  • TapeDinyalakan( );
  • TapeDimatikan( );
  • GantiFrekuensi( );
  • VolumeDiperbesar( );
  • VolumeDiperkecil( );
Class VCD/DVD player
Memiliki Atribut :
  • Kepingan CD
Memiliki Method :
  • TapeDinyalakan( );
  • TapeDimatikan( );
  • VolumeDiperbesar( );
  • VolumeDiperkecil( );
  • GantiKepingan( );
Class Button
Memiliki Atribut :
  • Play
  • Pause
  • next
  • previous
  • stop
  • record

Kamis, 08 September 2011

Resume PBO-02

Creating Class (pembuatan class)

Class adalah template untuk pembuatan obyek. sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.

Class memiliki anggota :

  • Atribut
  • Method
contoh pembuatan class :

Kita akan membuat Class dengan nama Lampu

  • Class Lampu memiliki atribut :
  • – status => 0 atau 1
  • – merek => ‘phillips’ atau ‘national’
  • Class Lampu memiliki method :
  • – lampuDinyalakan( );
  • – lampuDimatikan( );
Cara Membuat Class dijava :
  • Jalankan Dr. Java
  • Kemudian pilih menu File => New
  • Pilih Java File
  • Kemudian anda diminta untuk memasukkan nama file (otomatis akan diberi ekstensi .java tempat menyimpan class yang akan dibuat.
  • Beri nama yang sama dengan nama Class yang akan dibuat, lalu tekan tombol Save
Deklarasi class dapat dilakukan dengan sintak :
<modifier> class <namaclass> {
[deklarasi atribut]
[deklarasi method]
Deklarasi atribut sebagai berikut :
<modifier> <tipe> <nama atribut> ;
Deklarasi method dapat dilakukan dengan cara :
<modifier> <return type> <nama_method> ([daftar
argumen])
{
}

public class Lampu {
    int status; 
    String merek;
    void lampuDinyalakan() {
            status=1;
   }
    void lampuDimatikan() {
            status=0;
   }
}

Perhatikan : hanya ada satu class dengan modifier public. Dengan nama class yang sama dengan nama file tempat listing program disimpan.

Meng-create Obyek dari suatu Class
• Sesuai definisi awal, class adalah template untuk membuat obyek
• Sekarang kita akan membuat sebuah obyek yang berasal dari class Lampu
• Nama obyeknya misal : lampuku
• Cara penulisan :
namaClass namaObyek=new namaClass();
• Membuat obyek lampuku dari
Class Lampu
Lampu lampuku = new Lampu();

• Obyek dapat diletakkan di class yang lain.
• Class yang lain ini bisa ditempatkan pada file yang sama dengan nama Class

• Atau obyek diletakkan di class lain dan dalam file yang berbeda
• (ingat) : nama file sama dengan nama class, dan hanya satu nama class yang memiliki modifier public














main method dalam JAVA
• Main method dalam JAVA, tempat
kita menempatkan obyek,
menampilkan suatu hasil ke layar,
dsb adalah :
public static void main(String [] args) {
……….
}
• Seharusnya disinilah kita menempatkan obyek lampuku yang dibuat dari class Lampu
• Setelah obyek ditempatkan dalam main method, maka kita bisa memanggil method dari class Lampu (lampuku.lampuDinyalakan();)
• Untuk menampilkan pada layar menggunakan : System.out.println(………);

Constructor
Constructor merupakan metode khusus yang memiliki nama sama dengan kelasnya. Jika kita tidak mengkodekan sebuah constructor, JAVA akan membuat sebuah constructor default untuk kita. Constructor default tidak melakukan apa-apa, namun memungkinkan semua variabel yang tidak diinisialisasi dalam deklarasi diberi suatu nilai default.

class Mahasiswa {
   private String nama = ""; 
   private int nim = 0;
   private static int NIM = 0;
   private double ipk = 0.0;

   public Mahasiswa() { this.nim = ++NIM; }
   
   public Mahasiswa(String na, double i) {
     this.nama = na;
     this.ipk = i;
     this.nim = ++NIM; }
   public void LihatData() {
System.out.println("Nama : " + nama + "\tNIM : " + nim +
"\tIPK : " + ipk ); }
}

public class MahasiswaInfo {
    public static void main(String args[]) {
         Mahasiswa mhs1 = new Mahasiswa( "Dinda“ , 3.4 );
         Mahasiswa mhs2 = new Mahasiswa( "Ninda“ , 3.25 );
         Mahasiswa mhs3 = new Mahasiswa();
         mhs1.LihatData();
         mhs2.LihatData();
         mhs3.LihatData();
   }
}




RELASI ANTAR CLASS
Pemrograman berorientasi obyek adalah sekumpulan class-clas yang saling berintarksi. Ada banyak cara
suatu class dapat berinteraksi dengan class lainnya, seperti pewarisan (GenSpec), agregasi (WholePart) dan
asosiasi (instance/ message connection) 


    1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class
    2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”). Beberapa Class dapat mempunyai hubungan agregasi jika salah salah satu Class berisi atribut-atribut yang ada pada Class lain.
    3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
    4. Hubungan Dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram.





    Resume PBO-01

    • OOP adalah program kumpulan objek yang tersusun dari struktur data/ fields dan method/ operation.

    Data :

    1. identitas
    2. information
    Operation :

    1. perilaku
    2. kemampuan
    3. proses
    Paradigma Dasar PBO(Pemrograman Berorientasi Obyek) :

    1. ABSTRACTION(Permodelan) : Proses filter dalam rangka melakukan bagaimana membawa sesuatu dari real menjadi program.
    2. ENCAPSULATION = information hidding/ implementation hidding : Memisahkan data dan proses dari area publik. bersifat private.
    3. INHERITANCE(Pewarisan) : Bahwa sebuah class dapat diturunkan menjadi class yang lain. Begitu juga sebuah class bisa menjadi turunan dari class yang lain. Semua sifat induk di wariskan kedalam class anaknya.
    4. POLIMORLY
    Class Diagram, terdiri dari :

    • Nama Class -> identitas
    • Data -> kumpulan data
    • Method -> operation
    contoh :
    Nama class -> Person
    Data -> nama ; String
                 usia ; int
    method -> person( )

    Class adalah Blueprint of Object. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).


    Object adalah perwujudan dari class


    Access modifier adalah sebuah penanda yang bisa diletakkan didepan method atau variabel
    Access modifier :

    1. Private -> tidak dapat dipanggil dari luar class yang bersangkutan
    2. Protected -> private kecuali turunannya saja/ hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
    3. Package -> masih dalam satu folder
    4. Public -> umum

    PBD-Tutorial atau Panduan Lapangan untuk materi SQL

    NIM/ Nama : 10410100218/ Achmad Vierdan Habibi
    Dosen : Tan Amelia
    Tugas : 111 – PBD Kelas P5 – M1

    TUTORIAL SQL

    • Ketika seseorang user menginginkan untuk memperoleh beberapa informasi dari sebuah file database, dia bisa menggunakan sebuah query.
    • Sebuah query adalah sebuah permintaan user untuk memperoleh data atau informasi pada kondisi tertentu.
    • SQL adalah sebuah bahasa query yang mengijinkan user menetapkan kondisinya.


    • SQL adalah bahasa query baku untuk DBMS
    • Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix, sekarang juga pada DBMS berbasis PC seperti dBASE dan FoxPro.
    • SQL bersifat sebagai bahasa tingkat tinggi (high level). Pemakai hanya menyebutkan hasil yang diinginkan dan optimasi pelaksanaan query dilakukan oleh DBMS.
    • Bahasa SQL terbagi dalam dua bagian besar, yaitu: DDL (Data Definition Language) dan DML (Data Manipulation Language)
    • DDL mendefinisikan struktur database, seperti pembuatan database, pembuatan tabel dsbnya. Contoh: CREATE DATABASE dan CREATE TABLE.
    • DML merupakan bagian untuk memanipulasi basis data seperti: pengaksesan data, penghapusan, penambahan dan pengubahan data. DML juga dapat digunakan untuk melakukan komputasi data. Contoh: INSERT, DELETE, dan UPDATE.

    Bentuk Umum
    1. SELECT [ALL / DISTINCT] expr1 [AS col1], expr2 [AS col2] ;
    2. FROM tablename
    3. WHERE condition
    Tipe Data dalam SQL
    • Numeric
    • Character-string
    • Bit-string(image)
    • Date
    • Time
    Tipe data numeric :
    1. Bilangan - bilangan integer : INTEGER (INT), SMALLINT
    2. Bilangan - bilangan real : FLOAT, REAL DOUBLE PRECISION
    Tipe data character-string :
    1. Fixed Length : CHAR(n) atau CHARACTER(n)
    2. Varying Length : VARCHAR(n) atau CHAR VARYING(n) atau CHARACTER VARYING(n) n = jumlah maksimum dari CHARACTER (default n=1)
    Tipe data bit-string :
    1. Fixed Length : BIT(n), n = jumlah bit
    2. Varying Length : BIT VARYING(n), n = jumlah bit maksimum (default n=1)
    Tipe data Date & Time :
    1. Date mempunyai 10 posisi dengan format untuk komponen YEAR-MONT-DAY :YYYY-MM-DD
    2. Time paling sedikit mempunyai 8 kondisi untuk komponen HOUR-MINUTE-SECOND dengan format : HH-MM-SS
    SQL hanya mempunyai satu statement untuk melakukan 'infrmation retrival' dari suatu basis data, yaitu : SELECT statement.
    Dalam SQL, satu table bukan merupakan set dari tuple; dimana dalam SQL suatu table diperbolehkan mempunyai dua atau lebih tuple yang sama. jadi, jika diinginkan suatu hasil table yang berupa set, maka harus digunakan suatu option yang memungkinkan untuk ini(yaitu DISTINCT Option).


    contoh :
    Table Supplier
    Table Parts

    SELECT CITY FROM PARTS

    SELECT DISTINCT CITY FORM PARTS

    WHERE
    • Klausa WHERE digunakan untuk menentuka predikat atau kriteria yang harus di penuhi suatu relasi sebagai hasil query.
    • Klausa ini bersifat opsional, yaitu dapat menggunakan klausa WHERE atau tidak.
    • Jika tidak menggunakan klausa WHERE, maka query dilakukan untuk semua tuples pada tabel yang disebutkan pada klausa FROM.


    SELECT *
    FROM SUPPLIER
    WHERE STATUS = 20

    SELECT *
    FROM SUPPLIER
    WHERE CITY = ‘Semarang’


    Predikat pada klausa WHERE dapat dikombinasikan dengan operator relasi lainnya, seperti <, <=, >, >=, <>, dan operator logika, seperti AND, OR, NOT


    SELECT *
    FROM SUPPLIER
    WHERE STATUS = 30 AND CITY = ‘Yogyakarta’


    Klausa WHERE dapat digunakan untuk melakukan query dengan predikat yang berbentuk suatu range nilai tertentu, yaitu dengan menambahkan klausa BETWEEN


    SELECT *
    FROM SUPPLIER
    WHERE STATUS BETWEEN 20 AND 30



    • Untuk atribut yang bertipe string dapat dilakukan suatu pencarian dengan pola tertentu, yaitu dengan memanfaatkan karakter ‘%’ atau ‘_’ (underscore) dan menambahkan klausa LIKE pada klausa WHERE :
    • ‘%’ untuk semua substring
    • ‘_’ untuk semua karakter pada posisi yang sesuai
    SELECT *
    FROM SUPPLIER
    WHERE STATUS LIKE ‘S%’



    SELECT *
    FROM SUPPLIER
    WHERE STATUS LIKE ‘_o%’

    FORM

    • Klausa FROM digunakan untuk menentukan tabel yang akan dijadikan sebagai sumber untuk pencarian data
    • Dalam melakukan query tidak hanya terbatas pada satu tabel, tetapi sering kali dibutuhkan untuk merelasikan beberapa tabel sekaligus.
    • Menampilkan semua SUPPLIER yang melakukan SHIPMENT dengan jumlah kuantitasnya > 300
    SELECT *
    FROM SUPPLIER, SHIPMENT
    WHERE SUPPLIER.SCODE=SHIPMENT.SCODE
          AND SHIPMENT.QTY > 300

    SELECT SU.SNAME
    FROM SUPPLIER SU, SHIPMENT SH
    WHERE SU.SCODE=SH.SCODE AND SH.QTY > 300




    SELECT SU.SNAME AS NAMA_SUPPLIER
    FROM SUPPLIER SU, SHIPMENT SH
    WHERE SU.SCODE=SH.SCODE AND SH.QTY > 300




     Pengurutan Hasil Query

    • Untuk menampilkan hasil query berdasarkan urutan atribut tertentu, maka dapat dilakukan dengan menambahkan klausa ORDER BY.
    • Default yang diberikan klausa ORDER BY adalah urutan secara menial (ASC), tetapi untuk merubah menjadi urutan secara menurun, dapat dilakukan dengan menambahkan klausa DESC setelah nama atribut.
    SELECT *
    FROM SUPPLIER
    ORDER BY STATUS DESC




    SELECT SNAME
    FROM SUPPLIER
    WHERE STATUS = 30
    ORDER BY SNAME DESC