Jumat, 27 Juli 2012

Cara Membuat Relasi Di Query SQL

Belajar Database SQL part 1 (Constraint not null, unique, primary key) 


Mau belajar membuat database dengan sintak sql, yuks mari belajar bersama. Pada kali ini misalkan kita akan membuat database dengan nama ‘my_db‘, maka sintak yang dituliskan adalah:
1. Membuat database
CREATE DATABASE my_db
2. Membuat Table dalam database
lalu kita coba membuat table Persons didalam database ‘my_db’ yang terdiri dari 5 kolom P_Id, LastName, FirstName, Address, and City sebagai berikut:


1CREATE TABLE Persons(
2  P_Id int,
3  LastName varchar(255),
4  FirstName varchar(255),
5  Address varchar(255),
6  City varchar(255)
7)
P_Id bertipe Int, Lastname, FirstName, Address, City bertipe char dengan panjang 255 karakter.
3. Sql Constraint
Constraint digunakan untuk membatasi jenis data yang dapat masuk ke tabel. Constraint dapat ditentukan ketika tabel dibuat (dengan pernyataan CREATE TABLE) atau setelah tabel dibuat (dengan pernyataan ALTER TABLE).
Kita akan fokus pada kendala berikut:
  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • DEFAULT
3.1 Sql Not Null Constraint
Not Null Constraint memaksa kolom untuk TIDAK menerima nilai NULL. Maksudnya Sql Not Null Constraint memaksa field untuk selalu mengandung nilai. Ini berarti bahwa Anda tidak dapat menyisipkan catatan baru, atau memperbarui data tanpa menambahkan nilai untuk field tersebut.
SQL berikut memberlakukan “P_Id” kolom dan “LastName” kolom untuk tidak menerima nilai NULL:
1CREATE TABLE Persons(
2  P_Id int NOT NULL,
3  LastName varchar(255) NOT NULL,
4  FirstName varchar(255),
5  Address varchar(255),
6  City varchar(255)
7)


3.2 Sql Unique Constraint
Unique Constraint berguna mengidentifikasi setiap record dalam tabel database. UNIQUE dan PRIMARY KEY constraints memberikan jaminan bagi keunikan untuk kolom atau set kolom.
PRIMARY KEY constraints otomatis memiliki UNIQUE constraint yang didefinisikan padanya.
Catatan: Kita dapat memiliki banyak UNIQUE constraint per table, tetapi hanya satu PRIMARY KEY constraints per table.
Contoh:
a. SQL UNIQUE Constraint on CREATE TABLE
SQL berikut membuat UNIQUE Constraint pada kolom “P_Id” ketika table “Persons” dibuat:
1CREATE TABLE Persons(
2  P_Id int NOT NULL,
3  LastName varchar(255) NOT NULL,
4  FirstName varchar(255),
5  Address varchar(255),
6  City varchar(255),
7  CONSTRAINT uc_PersonID UNIQUE (P_Id, LastName)
8)
b. SQL UNIQUE Constraint on ALTER TABLE
SQL berikut membuat UNIQUE Constraint pada kolom “P_Id” ketika table “Persons” sudah dibuat:

1ALTER TABLE Persons
2ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
c. Menghapus UNIQUE Constraint
Untuk menghapus UNIQUE Constraint, gunakan SQL berikut:
1ALTER TABLE Persons
2DROP CONSTRAINT uc_PersonID


3.3 SQL PRIMARY KEY Constraint
PRIMARY KEY Constraint berguna mengidentifikasi setiap record dalam tabel database secara UNIQUE. PRIMARY KEY harus mengandung nilai-nilai yang unik. Sebuah kolom PRIMARY KEY tidak dapat berisi nilai NULL. Setiap table harus memiliki PRIMARY KEY, dan setiap table hanya dapat memiliki satu PRIMARY KEY.
a. SQL PRIMARY KEY Constraint on CREATE TABLE
SQL berikut membuat PRIMARY KEY pada kolom “P_Id” ketika table “Persons” dibuat:
1CREATE TABLE Persons(
2  P_Id int NOT NULL,
3  LastName varchar(255) NOT NULL,
4  FirstName varchar(255),
5  Address varchar(255),
6  City varchar(255),
7  CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
8)

Catatan: Dalam contoh di atas hanya ada satu PRIMARY KEY (pk_PersonID). Namun, nilai pk_PersonID terdiri dari dua kolom (Nama_depan dan P_Id). b. SQL PRIMARY KEY Constraint on ALTER TABLE
SQL berikut membuat PRIMARY KEY pada kolom “P_Id” pada table “Persons” yang sudah dibuat dan untuk memungkinkan penamaan PRIMARY KEY Constraint, serta untuk mendefinisikan PRIMARY KEY Constraint pada beberapa kolom, gunakan sintaks SQL berikut:
1ALTER TABLE Persons
2ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName)

Catatan: Jika Anda menggunakan pernyataan ALTER TABLE untuk menambahkan primary key, kolom-kolom primary key harus sudah telah dinyatakan tidak mengandung nilai NULL (ketika tabel pertama kali diciptakan). b. Menghapus PRIMARY KEY Constraint
Untuk menghapus PRIMARY KEY Constraint, gunakan SQL berikut:
1ALTER TABLE Persons
2DROP CONSTRAINT pk_PersonID


sumber : http://gatotkacatulanglunak.wordpress.com/2011/09/13/belajar-database-sql-part-1-constraint-not-null-unique-primary-key/

 

Selasa, 24 Juli 2012

Komponen Hard Disk Drive

. HARD DISK DRIVE Harddisk merupakan media penyimpanan pada suatu sistem PC, sebagai penyimpanan data nonvolatile/ semi permanen, adalah alat penyimpanan yang tetap menyimpan data walaupun pada saat computer dimatikan.
A. Bagian Luar Hard Disk
Sebuah harddisk terdiri dari beberapa komponen yang sederhana dan memiliki fungsi yang sederhana.
Namun karena ketelitian dan kecepatan yang amat tinggi, peranti keras ini menjadi sebuah alat yang
mengagumkan.
Gambar berikut ini memperlihatkan sebuah harddisk:
11
Harddisk memiliki pelindung dari bahan alumunium dengan sebuah pengendali elektronik pada sebuah
sisi. Pengendali elektronik tersebut mengendalikan mekanisme baca/tulis dan motor yang memutar
piringan harddisk. Pengendali elektronik tersebut juga berfungsi sebagai penerjemah dari data magnetik
menjadi elektrik dan sebaliknya.
B. Bagian Dalam Hard Disk
21
  1. Disk Platter
Disk platter merupakan bagian / komponen dari harddisk yang paling utama, karena disk platter merupakan bagian dari harddisk yang mempunyai fungsi sebagai tempat penyimpanan data. Tiap drive harddisk memiliki satu atau lebih disk platter, dimana masing-masing sisi platter memiliki write and read head.
Ukuran platter ada bermacam-macam:
  • Untuk PC desktop biasanya berukuran 3 ½ inchi
  • Untuk note book berukuran 2 ½ inchi.
  • 8 inchi
  • 14 inchi
3
Disk platter terbuat dari suatu media magnetic. Media magnetic yang dipakai pada platter ada 2, yaitu:
a. Media Oksida
Merupakan media magnetic yang terdiri dari berbagai macam bahan, yang berisikan oksida baja sebagai bahan aktifnya.
b Media thin film
Merupakan jenis disk platter dimana media ini lebih tipis dan lebih sempurna daripada media oksida. Jadi sekarang sebagian besar hard disk menggunakan media magnetic ‘media thin film’ daripada media oksida. Karena dirasa media thin film lebih praktis (tipis) daripada media oksida dan juga memiliki kwalitas yang lebih baik.
  1. Read and Write Head
4
Hard disk memiliki 1 head write and read untuk masing-masing permukaan platter. Read and write head merupakan komponen dari hard disk yang berfungsi sebagai alat penulisan dan pembacaan data pada platter.
Head ini terhubung pada satu mekanisme penggerak. Masing-masing head terletak pada lengan actuator untuk menekan head supaya dapat mengenai platter. Bila anda membuka drive dengan hati-hati dan memindahkan head dengan jari anda, maka head akan kembali dengan cepat ke platter saat dilepaskan, begiti juga jika kita head ke bawah (head yang berada di bawah platter). Saat drive istirahat, head akan dipaksa untuk mengenai platter dengan suatu tekanan, namun pada saat drive memutar dengan kecepatan penuh, maka tekanan udara akan membentuk lapisan tipis yang akan membuat head bergerak ke permukaan platter.
  1. Mekanisme Head Aktuator
Yang lebih penting daripada head adalah sistem mekanik yang menggerakan, sistem ini disebut ‘head’ actuator. Mekanisme ini menggerakkan head di atas disk dan memposisikannya secara tepat di atas silinder yang diinginkan.
Ada 2 kategori dasar mekanisme actuator, yaitu:
a. Stepper Motor Aktuator
Merupakan motor elektrik yang dapat melangkah atau bergerak dari suatu posisi satu ke posisi lain. Stepper motor actuator ini bergerak step by step. Atau kalau kita memegang pemutar dari motor ini, dan memutarkannya di tangan kita , maka akan terdengan bunyi ‘klik ’ saat melalui posisi tertentu. Jadi tiap kali pindah posisi untuk mencari suatu file, maka pada saat tertentu akan teerdengar bunyi ‘klik’.
b.Voice Coil Actuator
Voice Coil Actuator digunakan pada harddisk saat ini, dengan menggunakan sinyal feed back dari drive ke posisi head tertentu dan menyesuaikannya. Penggunaan actuator ini memberikan kinerja dan kehandalan yang besar daripada stepper motor actuator. Karena stepper motor lebih berkemungkinan besar melukai platter.
5
Mekanisme head actuator
Jika terjadi pemutusan power secara tiba-tiba, maka pada stepper motor actuator head akan langsung berhenti (pada tempat data yang sebelumnya dibaca), sehingga hal ini akan mengakibatkan tergoresnya platter. Akibatnya harddisk akan cepat rusak. Sedangkan pada Voice Coil Actuator, jika terjadi pemutusan hubungan dengan power secara tiba-tiba maka, head akan otomatis kembali ke posisi awalnya (berada pada tengah-tengah platter).
  1. Spindle Motor
Spindle motor adalah komponen dari harddisk yang bertugas memutar platter, hal ini perlu dilakukan dalam proses pembacaan dan penulisan data. Spindle motor pada harddisk selalu terhubung langsung. Tidak ada komponen lain yang terhubung. Motor ini harus bebas dari suara dan getaran apapun, sehingga dapat memutar platter dengan baik / tanpa gangguan.
  1. Logic Board
Logic board merupakan alat yang mengontrol kinerja dari harddisk. Semua harddisk memiliki satu atau lebih logic board. Logic board berisi alat-alat elektronik yang mengontrol spindle dan sistem actuator dan menyajikan data ke kontroler. Pada IDE board ini memuat juga kontrolernya. Sedangkan pada SCASI memuat kontroler dan circuit adapter.
6
Tampilan logic board
a.Kabel dan Konektor
Harddisk memiliki beberapa konector yang terhubung ke computer , untuk menerima daya (power) dan kadang-kadang ke sistem chasis kebanyakan drive memiliki paling tidak 3 konector.
Adapun 3 konector itu adalah:
  1. Interface konector
Merupakan konector yang menghubungkan hard disk/ menyalurkan data yang dimiliki hard disk ke motherboard.
  1. Power Konector
Merupakan konector yang berhubungan dengan catu daya.
  1. Option Konector
Adalah konector yang digunakan untuk penentuan spesifikasi dari harddisk.
Dari 3 konector tersebut, interface konector adalah yang paling penting. Karena berfungsi membawa data dan sinyal perintah dari sistem drive.
7. Komponen Konfigurasi
Untuk membangun atau melengkapi harddisk dalam suatu instalasi sistem, kita juga memerlukan jumper. Komponen (jumper) ini bervariasi diantara banyak drive.
8.Konektor pada Harddisk
Pada komponen-komponen harddisk juga terdapat SCSI Interface Connector (konektor kabel data) yang dihubungkan ke kabel data dan memiliki fungsi untuk mentransfer data dari motherboard ke harddisk atau sebaliknya, untuk memberi catu daya pada harddisk dibutuhkan konektor catu daya yang dihubungkan dengan kabel catu daya pada power supply.
Semua komponen penyimpanan magnetic; membaca dan menulis data menggunakan elektromagnetik. Prinsip dasarnya adalah sebagian bahwa aliran elektrik melalui konduktor, sebuah komponen magnetic dibentuk dari sekeliling konduktor. Komponen magnetic tersebut kemudian akan memberikan pengaruh pada bahan magnetic di komponen tersebut. Penyimpanan magnetic sebenarnya adalah media analog yaitu data yang tersimpan berbentuk informasi digital 0 dan 1.
Jenis-jenis kontroler pada head disk:
  1. MFM ( Modified Frequency Modulation ) pola pengkodean magnetic dimana bit dimasukkan ke media magnetic.
  2. RLL ( Run Length Limited ) menyimpan info yang lebih padat dari MFM.
  3. ESDI ( Enhanced Small Device Interface ) kontroller sangat cepat dan menyimpan data dalam jumlah besar.
  4. SCSI ( Small Computer Sytem Interface ) antarmuka disk drive lebih dari satu.
  5. IDE ( Intergrated Drive Electronic ) sebagian besar kontroller dibuat langsung ke drive itu sendiri.

Operator Logika DI SQL

A.1 NULL dan NOT NULL
Merupakan atribut yang paling umum digunakan. Secara default kolom numerik selalu bersifat NULL bila kita tidak memberikan atau menyatakan nilai awalnya. Sebaliknya maka kolom tersebut harus memiliki sebuah nilai.

Contoh Perintah SQL untuk memberi atribut NULL atau NOT NULL pada kolom dalam sebuah tabel :
mysql> create table siswa_q (nama varchar(35) NOT NULL,
-> Tempat_lahir varchar(20) NOT NULL,
-> Alamat varchar(20) NULL,
-> Kota varchar(30));

A.2 ENUM dan SET
Enum dan Set adalah jenis string khusus yang kolomnya harus diisi dengan pilihan yang sudah ditentukan pada saat deklarasi ENUM dan SET. Perbedaannya, pada ENUM hanya bisa dipilih salah satu dari pilihan yang ada. Sedangkan SET, dapat dipilih salah satu atau lebih dari pilihan yang ada.
JENIS KOLOM BENTUK DASAR KETERANGAN
ENUM ENUM (nilai1,Nilai2,…….., Nilai3) Hanya dapat menampung 1 data saja dari pilihan data yang ada. Dengan jumlah pilihan maksimum 65.535 pilihan data
SET SET (nilai1,Nilai2,…….., Nilai3) Dapat menampung lebih dari 1 data saja dari pilihan data yang ada. Dengan jumlah pilihan maksimum 64 pilihan data
Contoh ENUM :
Jenis Kelamin ENUM (”P”,”L”)
SQL : Create table pgw(nama varchar(10), Kelamin ENUM(’L’,’P’));
Ukuran Baju ENUM (”S”,”M”,”L”,”XL”)
Contoh SET :
Menu SET (”Pizza”,”Soft Drink”,”Donnut”)
SQL : Create table Nota(pembeli varchar(10), Menu SET(’Pizza’,’Soft Drink’,’Donnut’));
Merk Mobil SET (”Suzuki”,”Piegeuot”,”Honda”,”Hino”)

A.3 Jenis Operator


A.3.1 Operator Logika
OPERATOR FUNGSI CONTOH
NOT atau ! Sebagai Negasi (bukan) dari suatu nilai NOT perempuan atau !Perempuan
OR atau || ATAU, akan bernilai benar jika salah satu atau kedua ekspersi adalah benar Buah = ”Jambu” OR Buah=”Jeruk”
Atau
Buah = ”Jambu”
|| Buah=”Jeruk”
AND atau && DAN, akan bernilai benar hanya bila ekpresi adalah benar Buah = ”Jambu” AND Buah=”Jeruk”
Atau
Buah = ”Jambu”
&& Buah=”Jeruk”
AND & OR
AND dan OR menggabungkan dua kondisi atau lebih dalam klausa WHERE.
Operator AND menampilkan suatu baris jika seluruh kondisinya benar. Operator OR menampilkan suatu baris jika salah satu kondisinya benar.
Tabel
LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes
Contoh
Menggunakan AND untuk menampilkan setiap orang yang nama depannya sama dengan “Tove”, dan nama belakangnya sama dengan “Svendson”:
SELECT * FROM Persons
WHERE FirstName=’Tove’
AND LastName=’Svendson’
Result:
LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Contoh
Menggunakan OR untuk menampilkan setiap orang yang nama depannya sama dengan “Tove”, atau nama belakangnya sama dengan “Svendson”:
SELECT * FROM Persons
WHERE firstname=’Tove’
OR lastname=’Svendson’
Hasil:
LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes
Contoh :
Anda juga dapat mengkombinasikan AND dan OR (menggunakan tanda kurung untuk membentuk ekspresi yang kompleks):
SELECT * FROM Persons WHERE
(FirstName=’Tove’ OR FirstName=’Stephen’)
AND LastName=’Svendson’
Hasil:
LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes

A.3.2 Operator Aritmatika
OPERATOR FUNGSI
+ Melakukan penjumlahan pada operasi matematika
- Melakukan pengurangan pada operasi matematika
* Melakukan perkalian pada operasi matematika
/ Melakukan pembagian pada operasi matematika
% Melakukan proses modulus (mencari sisa bagi) pada operasi matematika

A.3.3 Opearator Pembanding

IN
Operator IN dapat digunakan jika Anda mengetahui nilai yang sebenarnya yang ingin Anda kembalikan nilainya paling tidak untuk satu kolom.
SELECT column_name FROM table_name
WHERE column_name IN (value1,value2,..)
Table
LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Nordmann Anna Neset 18 Sandnes
Pettersen Kari Storgt 20 Stavanger
Svendson Tove Borgvn 23 Sandnes

Contoh:
Untuk menampilkan orang yang memiliki nama belakang sama dengan “Hansen” atau “Pettersen”, gunakan syntax SQL berikut:
SELECT * FROM Persons
WHERE LastName IN (‘Hansen’,'Pettersen’)


Sumber :  http://ijaa.wordpress.com/2009/07/04/and-or-sql/

Cara Melihat Kode ASCII Di Visual Basic 6.0


Nah, kali nie kita akan kembali dengan pembahasan VB 60.... Ini adalah program yang kita buat untuk menterjemah angka/huruf yang kita tulis dari keyboart menjadi kode ASCII.
Nah penasaran kan. heee
Seperti gambar di atas, saya menekan huruf k (k kecil) maka akan keluar tombol kode 75 dan kode ASCII 107..........
Wau kren banget tu. heeee
Sekarang kita masuk keprogramnya. silah kan anda rancang seperti pada gambar...
  1. Frame caption Press Any Key
  2. label1 caption KeyAscii
  3. label2 caption KeyCode
  4. label3 caption Char
  5. label4 caption "kosong kan saja" name lblKeyAscii
  6. label5 caption "kosong kan saja" name lblKeyCode
  7. label6 caption "kosong kan saja" name lblChar
Kemudian anda copy kode ini ke form code...


Option Explicit

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  
   lblKeyCode = KeyCode

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
  
   lblKeyAscii = KeyAscii
  
   lblChar = Chr$(KeyAscii)
  
End Sub

Mengaktifkan Tombol Enter Di Visual Basic

Inilah Cara bagaimana mengaktifkan tombol enter di visual basic 6.0
Para programmer pemula pada umumnya mengandalkan tombol tab untuk berpindah antar komponen dalam form, namun ada waktunya programmer menginginkan hasil sempurna dalam program yang mereka hasilkan, akhirnya kebanyakan memutuskan untuk mengganti penggunaan tombol enter untuk menggantikan fungsi tombol tab.
Pertimbangan lainnya adalah untuk membuat program menjadi lebih user friendly, karena kebanyakan program berbasis desktop/windows memanfaatkan tombol enter untuk berpindah antar komponen.
Nah supaya pembahasannya lebih singkat kita langsung ke listing programnya. Listing program ini menggunakan bahasa pemrograman Visual Basic 6 dan Delphi (sengaja saya buat dalam dua bahasa, agar anda mudah untuk membedakan dan memahami prosesnya).
Untuk contoh kasusnya, misalnya nih, kita punya form dengan desain seperti ini:
form
Nah sekarang ceritanya nih, kita mau setelah kita isikan text nama, kemudian kita tekan enter, maka cursor akan set focus ke text usia. Nah yang kita harus lakukan adalah memberi listing pada txtnama, tepatnya pada event on_keypress dengan menterjemahkan nilai penekanan tombol enter menjadi nilai ascii (Enter=13).
Listingnya  sebagai berikut:
Visual Basic 6:
Private Sub txtnama_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then txtusia.SetFocus
End Sub
Nah kalau sudah silahkan dicoba kebenarannya ya.
Selamat mencoba dan Semoga Berguna

Kamis, 05 Juli 2012

CARA MENGKONEKSIKAN VB 6.0 DENGAN SQL SERVER 2005

If you want to work with SQL Server 2005 Express, the first step is to download and install it. SQL Server 2005 Express is part of the family of Express products that can be found at http://lab.msdn.microsoft.com/express/. Prior to installing SQL Server 2005 Express, you will also need to download and install the Microsoft .NET Framework 2.0.
Unlike MSDE, SQL Express also includes an administrative tool known as Express Manager, which lets you create databases and execute queries (see Figure 1).
Bb264566.ussqlexpvb601(en-US,SQL.90).gif
Figure 1. Using Express Manager to create a sample database

Connecting from Visual Basic 6

To start working with Express, a simple user interface was created that uses an MSHFlexGrid to display data (see Figure 2).
Bb264566.ussqlexpvb602(en-US,SQL.90).gif
Figure 2. Using grids to display data
Then, a few simple lines of code (see Listing 1) can be written that populate the grid from a SQL Server database, which is connected to by specifying the path to its .mdf file.
Listing 1. Using Visual Basic 6 to retrieve information from SQL Server 2005 Express 2005 by file path
    Dim cn As ADODB.Connection
    Set cn = New Connection
    cn.ConnectionString = "Provider=SQLNCLI.1;Integrated Security=SSPI;" & _
        "Persist Security Info=False;" & _
        "AttachDBFileName=" & App.Path & "\northwnd.mdf;Data Source=server1\sqlexpress"
    cn.Open
    
    Dim rs As Recordset
    Set rs = New Recordset
    rs.Open "Select * from orders", cn
    Set MSHFlexGrid1.DataSource = rs

This is revolutionary functionality. This means that you can simply ship your SQL Server database as an .mdf file with your application. You don't need to do anything to install the database. You just put the path to the database in the connection string, and you can select, insert, update, delete, call stored procedures, and access any other database functionality. This is also great functionality for Web applications, which can now just keep a copy of the .mdf file in the Web application directory, and use it as easily as an Access database.
In Listing 1, you can see that the path to the database is specified through the AttachDBFileName value in the connection string. You'll also notice that this connection string is not using the typical SQL OLE-DB provider. When you install SQL Server 2005 Express, it installs a new OLE-DB provider, called the SQL Native Client, that gives you access to some of the new SQL Server 2005 functionality—specifically, the ability to attach to a database by file name. This is specified in the connection string with the statement Provider=SQLNCLI. Once the connection string is specified, you can retrieve recordsets, perform updates, and do any other database operations, exactly as you would normally do with SQL Server.

Multiple Recordsets, One Connection

Another key feature of SQL Server 2005, and SQL Server 2005 Express, is the ability to have multiple result sets off of a single connection. You are probably familiar with the situation in which you are looping through a recordset, and, based on the information in the recordset, you need to open another connection to the database and retrieve additional information. Because of key enhancements made to SQL Server, you no longer need to open multiple connections to the same database. Multiple Active Result Sets (MARS) lets you work with multiple recordsets through a single connection. Consider the code in Listing 2.
Listing 2. Using multiple active recordsets from Visual Basic 6
    '
    ' Connect to the database
    '
    Dim cn As ADODB.Connection
    Set cn = New Connection
    cn.ConnectionString = "Provider=SQLNCLI.1;Integrated Security=SSPI;" & _
        "Persist Security Info=False;" & _
        "AttachDBFileName=" & App.Path & "\northwnd.mdf;Data Source=server1\sqlexpress"
    cn.Open
    
    '
    ' Get all the orders
    '
    Dim rsOrders As Recordset
    Set rsOrders = New Recordset
    rsOrders.Open "Select * from orders", cn
    Do While Not rsOrders.EOF
        '
        ' If the order matches some custom business logic then get the details for
        ' that order, without opening a new connection.
        '
        If SomeBusinessLogic(rsOrders("CustomerID")) Then
            Dim rsDetails As Recordset
            Set rsDetails = New Recordset
            '
            ' Open a new recordset using the same connection. Normally it's not
            ' possible to have two recordsets simultaniously using the same
            ' connection, but MARS makes this possible
            '
            rsDetails.Open "Select sum(quantity * unitprice) as total " & _
                "from [order details] " & _
                "where OrderID=" & rsOrders("OrderID"), _
                cn
            grandTotal = grandTotal + rsDetails("total")
        End If
        rsOrders.MoveNext
    Loop
    
    lblTotalOrders = grandTotal

In this case, a recordset is retrieved that contains all the orders (rsOrders). Based on some custom business logic, the details for certain orders need to be retrieved. You can see that an additional recordset known as rsDetails is opened to retrieve the details, using the same connection as rsOrders, while rsOrders is still open and being used. In the past, this wouldn't have been possible. This allows you to create a single global connection object for your application, and to use this throughout your application for all access to a given database.

But Wait, There's More

SQL Server 2005 Express also includes a number of innovations that you won't find in SQL Server 2000. A good list of the T-SQL enhancements can be found in "T-SQL Enhancements in SQL Server 2005," but this article will explore two that are likely to be of great use to most developers.

VARCHAR(MAX)

In previous versions of SQL Server, you would use a VARCHAR column to store text. The problem was that a VARCHAR column was limited to 8000 characters. If you needed to store more than that, you had to use the TEXT type, and TEXT was significantly harder to work with. SQL Server 2005 (and SQL Server 2005 Express) support a new data type known as VARCHAR(MAX). This type can be treated exactly like a VARCHAR, and it can store 2 GB of data per row.
For binary data, SQL Server 2005 Express also includes a VARBINARY(MAX) type, which replaces the IMAGE type.

Common Table Expressions

It's common, when working with data, to need to create intermediate results. These can show up in the form of temporary tables, or views. Often, this intermediate information is needed only while a given calculation is being done, and it can then be discarded.
With SQL Server 2005 Express, a new mechanism for these kinds of scenarios is the common table expression (CTE). Simply put, a CTE lets you treat the results of a select statement as a table. To look at a concrete example, consider the CTE in Listing 3, which returns the region with the most territories.
Listing 3. Common table expression (CTE) with SQL Server 2005
WITH CountTerritories(RegionID, TerritoryCount) AS
(
    SELECT 
        RegionID, 
        count(*) AS TerritoryCount
    FROM Territories 
    GROUP BY RegionID
)
SELECT * FROM CountTerritories WHERE TerritoryCount = 
( 
    SELECT max(TerritoryCount) FROM CountTerritories 
)

Here, CountTerritories is created as a sort of temporary view that's used just for this single select statement. Once created, it can be queried against in the subsequent SELECT statement, as though it were a table.

Common Language Runtime Integration

The details of this are beyond the scope of this article, but it's also worth noting that with SQL Server 2005, you can build DLLs that run inside of SQL Server. This lets you implement your triggers, stored procedures, user-defined functions, and so, using languages such as Visual Basic .NET or Visual C# .NET. For more information, see "Using CLR Integration in SQL Server 2005."

Security

A final consideration for SQL Server 2005 Express is security. SQL Server 2005 Express is designed to be an application database, not a server database. The typical usage is to provide storage of application data on the desktop or laptop of the user. For this reason, by default, you can not make a remote connection to SQL Server 2005 Express. This, by itself, makes SQL Server 2005 Express safe from a whole host of attacks, such as SQL Slammer types of viruses.

Conclusion

When SQL Server 2005 Express ships, it will be the best database you can use for many scenarios. While you can't use it for production code today, now is the time to start ensuring that you will be able to use this excellent, free database when it ships. If you're currently using MSDE, migrating to SQL Server 2005 Express will be trivial. You can simply take the existing .mdf file for your MSDE database, ship the file with your application, and connect to the file by putting the file path in the connection string. It's likely that no other changes will be needed. However, you may want to make some changes (for example, using MARS instead of multiple connections) to streamline your code.
If you are currently using Access, I won't say that you have to move to SQL Server 2005 Express, just because. Here, you have to analyze a number of factors, including:
  • How much data are your users storing in the database?
  • Would you benefit from stored procedures, user-defined functions, triggers, and so on?
  • Would SQL Server 2005 Express offer a performance improvement?
  • Do you need greater security for the data than Access provides?
  • Does the access data get corrupted, so that you see more reliable storage as significant?
I'm all for keeping a tool that's doing the job, but if you've felt that you're bumping up against the limits of Access, and felt that MSDE would cause too much pain for the gain, SQL Server 2005 Express may be the answer you're looking for.

Resources


About the author Scott Swigart spends his time consulting, authoring, and speaking about converging and emerging technologies. With development experience going back over 15 years, and by staying in constant contact with future software development technologies, Scott is able to help organizations get the most out of today's technology while preparing to leverage the technology of tomorrow. Scott is also the author of several .NET books, a certified Microsoft trainer (MCT) and developer (MCSD), and a Microsoft MVP. Feel free to contact the Scott at scott@swigartconsulting.com, or check out his latest musings at blog.swigartconsulting.com.

Senin, 02 Juli 2012

Membuat Progressbar di VB.NET

Nah Progressbar apakah itu Progressbar ?? Pernah melihat suatu aplikasi mempunyai loading ?? Nah inilah salah satu fungsi dari progressbar. Nah terus bagaimana cara membuat progressbar khusunya di VB.NET ?? Yuk mari kita ikuti tutorial berikut : 1. Buka Visual Studionya 2. New Project –> Windows Form Application , dan beri nama Progresbar dan checklist Create directory for solution nya, lihat gambar berikut : New Project 3. Maka akan muncul form1 di lembar kerja Visual Studionya, 4. Design formnya dan tambahkan beberapa label, progressbar dan timer dari toolbox :

Control Name Text
Progressbar Progressbar1 -
Label Label1 Mohon tunggu sistem sedang mempersiapkan program…….
Label Label2 Created By : ariartama.com
Label Label3 2011
Timer Timer1 -
Lihat gambar berikut : Design Form  5. Double klik formnya sehingga muncul event form load dan coding ini :
   1: Timer1.Start()
6. Double klik timernya sehingga muncul event tick pada timernya dan coding ini :
   1: If Pb_Loading.Value < 100 Then
   2:     Pb_Loading.Value += 2
   3: ElseIf Pb_Loading.Value = 100 Then
   4:     Timer1.Stop()
   5:     MessageBox.Show("Selamat datang di programku ", "Pemberitahuan", MessageBoxButtons.OK, MessageBoxIcon.Information)
   6: End If
7. Code lengkapnya sebagai berikut :
   1: Public Class Form1
   2:     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
   3:         If Pb_Loading.Value < 100 Then
   4:             Pb_Loading.Value += 2
   5:         ElseIf Pb_Loading.Value = 100 Then
   6:             Timer1.Stop()
   7:             MessageBox.Show("Selamat datang di programku ", "Pemberitahuan", MessageBoxButtons.OK, MessageBoxIcon.Information)
   8:         End If
   9:     End Sub
  10:  
  11:     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  12:         Timer1.Start()
  13:     End Sub
  14: End Class
8. Jadi deh tuh progressbar, tinggal running alias di F5 dan tunggu apa yang akan terjadi, lihat gambar berikut : Progressbar Sekian yang dapat saya posting pada kesempatan ini semoga bermanfaat :) Source Code nnya bisa didownload disini

Minggu, 01 Juli 2012

MEMBUAT PROGRAM PENJADWALAN CPU SJF (SHORTEST JOB FIRST) DI VIISUAL BASIC NET

Ni Temen2 Ayo copas2 Mumpung gratis,   Cara Membuat PROGRAM PENJADWALAN CPU DENGAN VB NET.


Public Class Form1
Inherits System.Windows.Forms.Form


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim input(5) As Integer

''''THIS IS MORE LIKE AN ARRAY''''

input(0) = Val(TextBox7.Text)
input(1) = Val(TextBox8.Text)
input(2) = Val(TextBox9.Text)
input(3) = Val(TextBox10.Text)
input(4) = Val(TextBox11.Text)
input(5) = Val(TextBox12.Text)

Array.Sort(input)

TextBox1.Text = input(0)
TextBox2.Text = input(1)
TextBox3.Text = input(2)
TextBox4.Text = input(3)
TextBox5.Text = input(4)
TextBox6.Text = input(5)

Timer1.Enabled = True

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If ProgressBar1.Value < Val(TextBox1.Text) Then
ProgressBar1.Value = ProgressBar1.Value + 1

If ProgressBar1.Value = Val(TextBox1.Text) Then
Label12.Text = TextBox1.Text
Timer1.Enabled = False
Timer1.Stop()
Timer1.Dispose()
Timer2.Enabled = True

End If
End If

End Sub



Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick


If ProgressBar2.Value < Val(TextBox2.Text) Then
ProgressBar2.Value = ProgressBar2.Value + 1

If ProgressBar2.Value = Val(TextBox2.Text) Then
Label14.Text = Val(Label12.Text) + Val(TextBox2.Text)
Timer2.Enabled = False
Timer2.Stop()

Timer2.Dispose()
Timer3.Enabled = True



End If
End If

End Sub

Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick



If ProgressBar3.Value < Val(TextBox3.Text) Then
ProgressBar3.Value = ProgressBar3.Value + 1

If ProgressBar3.Value = Val(TextBox3.Text) Then
Label15.Text = Val(Label14.Text) + Val(TextBox3.Text)
Timer3.Enabled = False
Timer3.Stop()
Timer3.Dispose()
Timer4.Enabled = True


End If
End If

End Sub

Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick



If ProgressBar4.Value < Val(TextBox4.Text) Then
ProgressBar4.Value = ProgressBar4.Value + 1
Label16.Text = Val(Label15.Text) + Val(TextBox4.Text)
If ProgressBar4.Value = Val(TextBox4.Text) Then
Timer4.Enabled = False
Timer4.Stop()
Timer4.Dispose()
Timer5.Enabled = True

End If
End If

End Sub

Private Sub Timer5_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer5.Tick


If ProgressBar5.Value < Val(TextBox5.Text) Then
ProgressBar5.Value = ProgressBar5.Value + 1

If ProgressBar5.Value = Val(TextBox5.Text) Then
Label17.Text = Val(Label16.Text) + Val(TextBox5.Text)
Timer5.Enabled = False
Timer5.Stop()
Timer5.Dispose()

Timer6.Enabled = True




End If
End If

End Sub

Private Sub Timer6_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer6.Tick



If ProgressBar6.Value < Val(TextBox6.Text) Then
ProgressBar6.Value = ProgressBar6.Value + 1

If ProgressBar6.Value = Val(TextBox6.Text) Then
Label18.Text = Val(TextBox6.Text) + Val(Label17.Text)
Timer6.Enabled = False
Timer6.Stop()
Timer6.Dispose()
Label10.Text = Val(Label12.Text) + Val(Label14.Text) + Val(Label15.Text) + Val(Label16.Text) + Val(Label17.Text) + Val(Label18.Text)
Label25.Text = Val(Label10.Text) / 6
End If
End If

End Sub


''''''''''''''WHAT YOU SEE BELOW IS JUST AN OPTION, MORE LIKE EXTRAS''''''''''''
'''''''''''''BUTTON3 IS USED HERE TO CLEAR THE FIELDS'''''''''''''''''
'''''''''''''BUTTON2 IS USED TO EXIT THE APPLICATION'''''''''''''

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim button As DialogResult

button = MessageBox.Show _
("Are you sure you want to clear the fields?", _
"Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)

If button = Windows.Forms.DialogResult.Yes Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
ProgressBar1.Value = 0
ProgressBar2.Value = 0
ProgressBar3.Value = 0
ProgressBar4.Value = 0
ProgressBar5.Value = 0
ProgressBar6.Value = 0

Label12.Text = ""
Label14.Text = ""
Label15.Text = ""
Label16.Text = ""
Label17.Text = ""
Label18.Text = ""
Label25.Text = ""
Label10.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
Else
'Do Nothing
End If
End Sub
End Class

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim button As DialogResult

button = MessageBox.Show _
("Are you sure you want to exit this application?", _
"Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)

If button = Windows.Forms.DialogResult.Yes Then
Application.Exit()
Else
'Do Nothing
End If
End Sub

Twitter Delicious Facebook Digg Stumbleupon Favorites More