Senin, 14 Januari 2013

Mengelola tabel pada mysql

1. Menambah Data 

Bagaimana kita menambah data dalam tabel ?

Sebagai latihan kita, bangunlah sebuah database yang baru dengan nama 'akademikdb'

    mysql> CREATE database akademikdb;
Kemudian aktifkan database tersebut

    mysql> USE akademikdb;

Kemudian bangun sebuah tabel dengan nama 'mahasiswa'

    mysql> CREATE TABLE mahasiswa (nim varchar(8), nama varchar(20), tglhr date,
        -> almt varchar(25), agama varchar(15), jk char(1), primary key(nim));

tampilkanlah tabel dan strukturnya untuk memastikan tabel sudah ada

    mysql> SHOW TABLES;
    +----------------------+
    | Tables_in_akademikdb |
    +----------------------+
    | mahasiswa            |
    +----------------------+
    1 row in set (0.00 sec)


    mysql> DESC MAHASISWA;

    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | nim   | varchar(8)  |      | PRI |         |       |
    | nama  | varchar(20) | YES  |     | NULL    |       |
    | tglhr | date        | YES  |     | NULL    |       |
    | almt  | varchar(25) | YES  |     | NULL    |       |
    | agama | varchar(15) | YES  |     | NULL    |       |
    | jk    | char(1)     | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    6 rows in set (0.01 sec)


Untuk menambahkan data kedalam tabel mahasiswa diatas lakukan perintah query berikut ini:    mysql> INSERT INTO mahasiswa VALUES
           -> ('07310001', 'ALI OPAN', '1980-03-21', 'JL. LUKU 20', 'KATOLIK', 'L'),
            -> ('07310002', 'SANUSI', '1981-05-11', 'JL. SAWO 21', 'ISLAM', 'L'),
           -> ('07310003', 'ISPANI', '1980-02-13', 'JL. SAMPUNA 23', 'ISLAM', 'L'),
            -> ('07310004', 'SANTI', '1985-09-19', 'JL. BROMO 22', 'KRISTEN', 'P'),
            -> ('07310005', 'TITIN', '1988-11-29', 'JL. BROMO 342', 'KRISTEN', 'P');
    Query OK, 5 rows affected (0.06 sec)
    Records: 5  Duplicates: 0  Warnings: 0

Untuk melihat data dalam tabel lakukan perintah query berikut ini:

    mysql> SELECT * FROM mahasiswa;

    +----------+----------+------------+----------------+---------+------+
    | nim      | nama     | tglhr      | almt           | agama   | jk   |
    +----------+----------+------------+----------------+---------+------+
    | 07310001 | ALI OPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
    | 07310002 | SANUSI   | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
    | 07310003 | ISPANI   | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
    | 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
    | 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
    +----------+----------+------------+----------------+---------+------+
    5 rows in set (0.00 sec)



menambah data kedalam tabel dapat juga dilakukan per satu record seperti berikut ini:

    mysql>INSERT INTO mahasiswa VALUES
           -> ('07310006', 'BERNAD ', '1985-01-29', 'JL. TUKUL 20', 'BUDHA', 'L');


    mysql>INSERT INTO mahasiswa VALUES
           -> ('07310007', 'CHEN SYI', '1985-01-31', 'JL. ASIA 21', 'BUDHA', 'P');


Untuk melihat data yang diinputkan ke dalam tabel lakukan perintah query berikut

    mysql> SELECT * FROM mahasiswa;

    +----------+----------+------------+----------------+---------+------+
    | nim      | nama     | tglhr      | almt           | agama   | jk   |
    +----------+----------+------------+----------------+---------+------+
    | 07310001 | ALI OPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
    | 07310002 | SANUSI   | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
    | 07310003 | ISPANI   | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
    | 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
    | 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
    | 07310006 | BERNAD   | 1985-01-29 | JL. TUKUL 20   | BUDHA   | L    |
    | 07310007 | CHEN SYI | 1985-01-31 | JL. ASIA 21    | BUDHA   | P    |
    +----------+----------+------------+----------------+---------+------+
    5 rows in set (0.00 sec)



menampilkan data secara parsial juga dapat dilakukan seperti berikut ini:

    mysql> SELECT nim, nama, jk FROM mahasiswa;

    +----------+----------+------+
    | nim      | nama     | jk   |
    +----------+----------+------+
    | 07310001 | ALI OPAN | L    |
    | 07310002 | SANUSI   | L    |
    | 07310003 | ISPANI   | L    |
    | 07310004 | SANTI    | P    |
    | 07310005 | TITIN    | P    |
    | 07310006 | BERNAD   | L    |
    | 07310007 | CHEN SYI | P    |
    +----------+----------+------+
    5 rows in set (0.00 sec)


menampilkan data mahasiswa dan diurutkan berdasarkan nama;

    mysql> SELECT * FROM mahasiswa ORDER BY nama;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI OPAN  | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | KRISTEN   | P    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | KRISTEN   | P    |
    +----------+-----------+------------+----------------+-----------+------+
    7 rows in set (0.38 sec)



menmpilkan data mahasiswa khusus untuk yang berjenis kelamin jk = P dan diurutkan
berdasarkan nama

    mysql> SELECT * FROM mahasiswa WHERE jk='P' ORDER BY nama;

    +----------+----------+------------+---------------+-----------+------+
    | nim      | nama     | tglhr      | almt          | agama     | jk   |
    +----------+----------+------------+---------------+-----------+------+
    | 07310007 | CHEN SYI | 1985-01-31 | JL. ASIA 21   | BUDHA     | P    |
    | 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22  | KRISTEN   | P    |
    | 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342 | KRISTEN   | P    |
    +----------+----------+------------+---------------+-----------+------+
    3 rows in set (0.00 sec)


menampilkan data mahasiswa dengan nama ALI OPAN dan SANTI 

    mysql> SELECT * FROM mahasiswa WHERE nim='07310001' OR nim='07310004';

    +----------+-----------+------------+--------------+-----------+------+
    | nim      | nama      | tglhr      | almt         | agama     | jk   |
    +----------+-----------+------------+--------------+-----------+------+
    | 07310001 | ALI  OPAN | 1980-03-21 | JL. LUKU 20  | KATOLIK   | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22 | KRISTEN   | P    |
    +----------+-----------+------------+--------------+-----------+------+
    2 rows in set (0.00 sec)


Menampilkan data mahasiswa yang beragama KRISTEN dan yang jenis kelamin jk = P

    mysql> SELECT * FROM mahasiswa WHERE agama='KRISTEN' AND  jk='P';

    +----------+-------+------------+---------------+---------+------+
    | nim      | nama  | tglhr      | almt          | agama   | jk   |
    +----------+-------+------------+---------------+---------+------+
    | 07310005 | TITIN | 1988-11-29 | JL. BROMO 342 | KRISTEN | P    |
    +----------+-------+------------+---------------+---------+------+
    1 row in set (0.00 sec)


menampilkan data jumlah mahasiswa berdasarkan kelompok agama

    mysql> SELECT agama, COUNT(*) AS jumlah FROM mahasiswa GROUP BY agama;
    +-----------+--------+
    | agama     | jumlah |
    +-----------+--------+
    | BUDHA     |      2 |
    | ISLAM     |      2 |
    | KATOLIK   |      1 |
    | KRISTEN   |      1 |
    | PROTESTAN |      1 |
    +-----------+--------+
    5 rows in set (0.38 sec)



menampilkan data jumlah mahasiswa berdasarkan kelompok jenis kelamin jk

    mysql> SELECT jk AS 'Jenis Kelamin', COUNT(*) AS jumlah FROM mahasiswa GROUP BY jk;

    +---------------+--------+
    | Jenis Kelamin | jumlah |
    +---------------+--------+
    | L             |      4 |
    | P             |      3 |
    +---------------+--------+
    2 rows in set (0.00 sec)


menampilkan data jumlah mahasiswa berdasarkan kelompok jenis kelamin jk 

    mysql> SELECT IF(jk='L','LAKI-LAKI','PEREMPUAN') AS 'jenis kelamin',
            -> COUNT(*) AS 'jumlah' FROM mahasiswa GROUP BY jk;

    +---------------+--------+
    | jenis kelamin | jumlah |
    +---------------+--------+
    | LAKI-LAKI     |      4 |
    | PEREMPUAN     |      3 |
    +---------------+--------+
    2 rows in set (0.00 sec)


menampilkan data nama mahasiswa dan menentukan jumlah karakternya

    mysql> SELECT nama, length(nama) AS 'panjag karakter' FROM mahasiswa;

    +-----------+-----------------+
    | nama      | panjang karakter|
    +-----------+-----------------+
    | ALI OPAN  |               8 |
    | SANUSI    |               6 |
    | ISPANI    |               6 |
    | SANTI     |               5 |
    | TITIN     |               5 |
    | CHEN SYI  |               8 |
    | BERNAD    |               6 |
    +-----------+-----------------+
    7 rows in set (0.36 sec)



2. Merubah Data 

Jika ada terjadi kesalahan data yang dientri kedalam tabel dan akan dilakukan perubahan 
terhadap isi tabel dapat dilakukan perintah query berikut ini:

    mysql> UPDATE nama_tabel SET nama_field_yg_dirubah='isikan data yang sebenarnya'

sebagai contoh pada tabel mahasiswa terdapat kesalahan nama untuk nim = 07310001 maka
untuk merubahnya dapat dilakukan query berikut ini:

    mysql> UPDATE mahasiswa SET nama='ALI TOPAN' WHERE nim='07310001';
    Query OK, 1 row affected (0.09 sec)
    Rows matched: 1  Changed: 1  Warnings: 0

kemudian cek kembali data dalam tabel lihat perubahan nama pada data nim='07310001'

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+---------+------+
    | nim      | nama      | tglhr      | almt           | agama   | jk   |
    +----------+-----------+------------+----------------+---------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
    | 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA   | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA   | P    |
    +----------+-----------+------------+----------------+---------+------+
    7 rows in set (0.00 sec)

sebagai latihan rubahlah data untuk field agama dari KRISTEN menjadi PROTESTAN. Dapat di
lakukan query berikut ini:

    mysql> UPDATE mahasiswa SET agama='PROTESTAN' WHERE agama='KRISTEN';
    Query OK, 2 rows affected (0.00 sec)
    Rows matched: 2  Changed: 2  Warnings: 0

kemudian cek kemabli data mahasiswa

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
    | 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | PROTESTAN | P    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
    +----------+-----------+------------+----------------+-----------+------+
    7 rows in set (0.00 sec)



3. Menghapus Data

Jika hehdak melakukan penghapusan data dari dalam tabel maka dapat dilakukan sebagai berikut:

    mysql> DELETE FROM nama_tabel WHERE kriteria

lakukanlah penghapusan data untuk data TITIN

    mysql> DELETE FROM mahasiswa WHERE nim='07310005';
    Query OK, 1 row affected (0.00 sec)

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
    +----------+-----------+------------+----------------+-----------+------+
    6 rows in set (0.00 sec)

Jika akan menghapus data secara per group dapat dilakukan seprti berikut ini:

    mysql> DELETE FROM mahasiswa WHERE agama='BUDHA';
    Query OK, 2 rows affected (0.00 sec)

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
    +----------+-----------+------------+----------------+-----------+------+
    4 rows in set (0.00 sec)

semoga bermanfaat...!!!!

Perintah-Perintah MySQL Dasar


Dalam penggunaan Database kita sering membuat perintah-perintah SQL, berikut ini contoh-contoh perintah SQL sederhana. Harapannya dengan memahami perintah sederhana kita bisa mengembangkan perintah yang lebih kompleks.

Merubah nama Tabel:
RENAME TABLE `sekolah`.`nilai` TO `sekolah`.`tbl_nilai` ;

Merubah isi field (nama)
UPDATE `sekolah`.`guru` SET `nama` = 'joni a' WHERE `guru`.`idguru` = 'g010';

Menghapus data field (id=g001)
DELETE FROM `sekolah`.`guru` WHERE `guru`.`idguru` = 'g001


Menampilkan isi table (table guru)
Select * from guru

Menampilkan sebagian field (table siswa field nis dan field nama)
Select nis, nama, from siswa;

Menampilkan isi field/record (table pelajaran dengan kode p001)
SELECT * FROM `pelajaran` WHERE pelajaran.kode_mp = 'p001'

Menghitung isi data sebuah table (table siswa)
select count(*) from siswa;    => (count(*) tanpa spasi)

Menambah isi sebuah field (table tbl_nilai field nilai)
SELECT sum( nilai ) FROM tbl_nilai;  =>tipe data harus angka

MElihat isi data antara nilai (table tbl_nilai field nilai)
select * from tbl_nilai where nilai between 80 and 90;

Mengurutkan isi data sebuah field (table siswa field nama)
SELECT * FROM `siswa` order by nama asc;(asc => AZ, desc =>ZA)

Menampilkan sesuai karakter yang diinginkan (data ada karakter “JO”)
SELECT * FROM `siswa` WHERE nama like '%jo%'; (tanda % mewakili karakter didepan atau belakang)

Menampilkan sesuai karakter yang diinginkan (sebelah kiri)
SELECT * FROM `siswa` WHERE left(nama,1)=’a’; (abdul, aan, ani dll)

Menampilkan sesuai karakter yang diinginkan (sebelah kanan)
SELECT * FROM `siswa` WHERE right(nama,1)=’i’; (ani, joni,kiki, dll)

Menampilkan sesuai karakter yang diinginkan (sebelah tengah)
SELECT * FROM `siswa` WHERE mid(nama,2,1)=’d’; (ade, ida, edo, dll)

Untuk tipe data numeric(double, integer, dll)
Menampilkan nilai tertinggi
Select max(nilai) from tbl_nilai;  (table tbl_nilai field nilai)

Menampilkan nilai terendah
Select min(nilai) from tbl_nilai;  (table tbl_nilai field nilai)

Menampilkan nilai rata-rata
Select avg(nilai) from tbl_nilai;  (table tbl_nilai field nilai)

Menampilkan satu kelompok satu data
select * from siswa group by jurusan;

Menampilkan data lebih dari 1 tabel
Select namatabel.field, namatabel.field from tabel1, tabel2 where namatabel.field=namatabel.field;
SELECT siswa.nis, siswa.nama, tbl_nilai.nilai FROM siswa, tbl_nilai where siswa.nis=tbl_nilai.nis;

Mengetahui jumlah data di suatu table dengan referensi data lainnya
select count(*), siswa.nis, tbl_nilai.nis from siswa,tbl_nilai where siswa.nis=tbl_nilai.nis;  =>Jumlah yang muncul adalah sesuai record di table tbl_nilai

Membuat table baru dari table yang sudah ada
create view RELASI_NILAI as select siswa.nis, siswa.nama, tbl_nilai.kode_mp, tbl_nilai.nilai from siswa,tbl_nilai where siswa.nis=tbl_nilai.nis;


Selasa, 04 Desember 2012

Sistem Basis Data Apotek

Nama Anggota :
Aditya Nurahman (10110202)
Cornelius Hendrick Septyawan (11110629)
Dipo Sumar Prabowo (12110095)
Gendian Barran Permana (12110971)
Herul Fitman Hermawan (13110293)
Slamet Raharjo (16110630)

                                 
Kelas       :       3KA11
UNIVERSITAS GUNADARMA
FAKULTAS ILMU KOMPUTER
JURUSAN SISTEM INFORMASI
2012
 
 
  ****************************************************************************

 
System manajemen basisdata

Sistem manajemen basis data atau DBMS (database management system)adalah perangkat lunak untuk mendefinisikan, menciptakan, mengelola, dan mengendalikan pengaksesan basis data. Fungsi sistem manajemen basis data saat iniyang paling penting adalah menyediakan basis untuk sistem informasi manajemen.

Sistem informasi Apotek


Sistem informasi apotik diperlukan untuk mempermudah dan memperlancar seluruh transaksi yang dilakukan oleh apotek, baik penjualan pada konsumen maupun pembelian obat dari para supplier. Dengan memakai sistem informasi yang di dasarkan pada DBMS, seluruh operasi dalam apotek bias berjalan secara lancar dan terecord dalam database apotek, sehingga tidak ada kekeliruan dalam transaksi maupun laporan yang dihasilkan. System informasi apotik memuat semua proses transaksi yang dilakukan oleh apotek, terdapat pula record yang berfungsi sebagai laporan baik laporan penjualan maupun pembelian. Dalam sistem informasi apotik ini, dapat pula diketahui jumlah stock yang tersedia dalam apotek, stock dapat bertambah secara otomatis kalau kita melakukan transaksi pembelian dari supplier, begitupun kalau kita melakukan penjualan pada konsumen maka secara otomatis stock yang ada di warehouse akan berkurang. Itu akan memudahkan kita untuk melakukan stock opname, jadi tinggal kita lihat laporan penjualan dan pembelian kemudian dicocokkan dengan fisik barang.Terdapat pula database supplier, sehingga proses pembelian obat lebih mudah danberjalan secara optimal. Dimuat pula database langganan, yang bias digunakan untuk melengkapi proses transaksi.
            Di apotek menggunakan rancangan sebuah program aplikasi untuk sistem administrasi penjualan pada Apotek yang dapat menghasilkan laporan-laporan penjualan dengan menggunakan bahasa pemrograman Visual Fox Pro9.0
            Dengan berikut maka proses kegiatan jual beli data di Apotek dapat dengan mudah untuk diakses dan dapat mudah untuk mendapatkan hasil report, apabila memang dibutuhkan. Untuk saat ini sudah cukup membudahkan, namun apabila nanti memang diperlukan maka kami mungkin akan mengupdate program yang kami pakai.

Tujuan
Tujuan yang dicapai dalam wawancara ini adalah untuk menghetahui apakah Apotek yang berada didaerah Citayam menggunakan Sistem Basis Data atau tidak, Dan apabila apotek tersebut menggunakan Sistem Basis Data bagaimana cara perancangan Sistemnya dan Aplikasi apa Saja yang digunakan oleh Apotek tersebut.


Berikut adalah tampilan dari program yang digunakan oleh Apotek:







 Entity Relationship Diagrams (ERD) :