Woensdag 09 April 2014

Tugas Basis Data ERD

ERD Toko Buku
tokobuku

• Pengarang(ID,nama)
• Buku(ISBN,judul,,ID_pengarang,nama)
• Gudang(ID,alamat)
• Penerbit(ID,nama,alamat)
• Keranjang belanja(ID)
• Pelanggan(ID,nama,alamat,telp)

Maandag 07 April 2014

Refleksi Basis Data Ke - 6

Assalamualaikum Wr.Wb
Di minggu  Minggu ke-6  Kuliah Basis Data ini kami mempelajari tentang “AGREGASI”. Agregasi  itu menggambarkan sebuah himpunan relasi secara langsung dan menghubungkan sebuah entitas dengan sebuah relasi himpunan delam ERD. Secara umum menyatakan telash adanya suatu relasi yang lain, dan relasi itu terbentuk tidak hanya dari entitas tapi juga ada unsur relasi yang lain.
Contoh Agresi :




Selanjutnya membahas Transformasi Model Data ke Basis Data Fisik.
1.       ERD direpresntasikan menjadi suatu basis data secara fisik.

2.       Komponen ERD (himpunan relasi dan entitas) ditransformasikan menjadi suatu tabel yang merupakan komponen utama pembentuk basis data.
3.       Atribut yang melekat pada masing-masing himpunan entitas dan relasi akandinyatakan sebagai field dari tabel yang sesuai. Jadi setiap himpunan entitas akan diimplementasikan sebagi tabel atau bisa disebut juga file data.



Transormasi Dasar
      Relasi dengan derajat relasi 1-1 yang menghubungkan 2 buah himpunan entitas dan di jabarkan ke dalam bentuk penjumlahan atau disertakan dalam atribut relasi ke dalam tabel yang mewakili salah satu dari kedua entitas himpunan. Relasi dengan derajat 1-N yang akan menghubungkan dua buah himpunan entitas, juga akan dipresentasikan dalam bentuk pemberian atau panandaan atribut key dari himpunan entitas berderajat 1 ke tabel yang mewakili himpunan entitas berderajat N. Relasi N-N yang menghubungkan dua buah himpunan entitas, ditandakan dalam bentuk tabel khusus yang memiliki foerign key yang berasal dari kunci-kunci himpunan entitas yang dapat disambungkan.



Sekian semoga bermanfaat ^_^:)
Wassalmualaikum Wr.Wb.

Refleksi Basis Data Ke - 5

Assalamualaikum Wr.Wb
Di minggu  Minggu ke-5  Kuliah Basis Data ini kami mempelajari tentang Kardinalitas/ Derajat Relasi.
Langsung aja ya ke Materi yang kami dapat diminggu ini :
Macam Macam Kardinalitas
  • Kardinalitas Minimum
  • Kardinalitas Maximum
Hubungan Antara 2 Entitas
  1. One to one
  2. One to many
  3. Many to many
    Contohnya :





    Varian Entitas & Contohnya Varian entitas berarti macam-macam entitas. Varian Entitas terbagi menjadi 2 yaitu :
    1. Entitas Kuat       
    adalah entitas yg dapat berdiri sendiri dan tidak bergantung dengan himpunan entitas lain. contoh nya adalah primary key, candidate key, alternate key. Entitas kuat merupakan entitas yg mempunyai nilai sendiri, nilai yg diinputkan user. contohnya entitas mahasiswa adalah entitas kuat karena nilai yg beradada     pada entitas ini tidak tergantung dari entitas lain. walaupun ada ada entitas lain yg ditambah atau dikurangi     nilai entitas mahasiswa tidak berubah. 
    2.Entitas Lemah
    Entitas lemah adalah entitas yg keberadaanya bergantung pada entitas lainnya. Entitas yang terbentuk dengan mengambil nilai entitas lain. Misaknya Entitas Nilai_mahasiswa tidak dapat berdiri sendiri karena Nilai Mahasiswa bergantung pada Entitas Mahasiswa tanpa ada entitas Mahasiswa maka Entitas Nilai_Mahasiswa tidak dapat dibaca informasinya dengan jelas, Nilai Mahasiswa tidak ada namanya akan sulit dibaca oleh pengguna.

    contoh nya :



    Sekian semoga bermanfaat  ^_^:)

    Wassalmualaikum Wr.Wb.


Vrydag 04 April 2014

Program Pencocokan String

procedure PencocokanString(input P : string, T: string, n, m : integer, output idx : integer)
{ Masukan: pattern P yang panjangnya m dan teks
T yang panjangnya n. Teks T direpresentasika
sebagai string (array of character)
Keluaran: lokasi awal kecocokan (idx)
}
Deklarasi
i : integer
ketemu : boolean
Algoritma:
i <-- 0
ketemu <-- false
while (i <-- n-m) and (not ketemu) do
j <-- 1
while (j <-- m) and (Pj = Ti+j ) do
        j <-- j+1
endwhile
{ j > m or Pj <-- Ti+j }
if j = m then { kecocokan string
ditemukan }
ketemu <-- true
else
i <-- i+1 {geser pattern satu karakter ke
kanan teks }
endif
endfor
{ i > n – m or ketemu }
if ketemu then
idx <-- i+1
else
idx <-- -1
endif

Program

#include <cstdlib>
#include <iostream>

using namespace std;

void PencocokanString( string P, string T, int n, int m, int idx){
     int i;
     int j;
     bool ketemu;
    
    
i = 0;
ketemu = false;
while (( i <= n - m ) && ( ! ketemu)){
      j == 1;
      while (( j <= m ) && ( P[j] = T[i + j])){
            j = j + 1;
      }
//{ j > m or P[j] =! T[i + j]}
if ( j == m ){
     ketemu = true;
     }else {
          i = i + 1;
          }
}
//{ i > n - m or ketemu }
if ( ketemu ){
     idx = i + 1;
     }else{
           idx = -1;
           }
}
int main(int argc, char *argv[])
{
    int idx;
    string T;
    string P;
    cout<<"Masukkan teks = ";
    cin>>T;
    cout<<"Masukksn kata yang dicari (pattern) = ";
    cin>>P;
    cout<<"Ditemukan di karakter ke = "<<idx;
  
    cout<<endl;
  
    system("PAUSE");
    return EXIT_SUCCESS;

}
Running



Program Bilangan Prima

Algoritma

Program Prima{
    faktor bilangan bulat N, tampilkan TRUE jika Prima FALSE jika bukan.
Deklarasi :
     n       : int
     Prima : boolean
      i        : int
      fak    : int
Deskripsi :
      for i <-- 2 to n do
           if n mod i = 0 then
           fak <-- fak+1
           endif
      endfor
      if fak = 2 then
          Prima <-- TRUE
      else
          Prima <-- FALSE
          write (Prima)
Program

#include <cstdlib>
#include <iostream>

using namespace std;

bool Prima(int n){
int i, fak;
bool prima;

fak=1;

for ( i = 2; i <= n; i++){
   if ( n % i == 0 ){
    fak = fak + 1;
   }
 }
if ( fak == 2 ){
 prima = true;
}else{
 prima = false;
}

return prima;
}
int main(int argc, char *argv[])
{
 int x;
 cout << "Masukkan bilangan : ";
 cin >> x;
 if ( Prima(x) == 0 ){
  cout << "Bilangan " << x << " bukan bilangan prima" <<endl;
 }
 else{
  cout << "Bilangan " << x << " adalah bilangan prima" <<endl;
 }
 system("pause");
 return 0;
}


Running


Program Brute Force Pangkat

Program

#include <cstdlib>
#include <iostream>

using namespace std;
int pangkat (int a, int n){
    int k,hasil;
    hasil = 1;
    for (k = 1;k <= n;k++){
        hasil = hasil*a;
        }
    return hasil;
}

int main(int argc, char *argv[])
{                   
    int a,n;
    cout<<"Masukkan angka :";cin>>a;
    cout<<endl;
    cout<<"Masukkan pangkat :";cin>>n;
    cout<<endl;
    cout<<"Hasil perpangkatan = "<<pangkat(a,n);
    cout<<"\n";

    cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}



Running

Program Tukar Bilangan

Ini adalah   Algoritma Program Menukar 2 buah bilangan bulat Menggunakan Bahasa Perograman C++ : 
Algoritmanya :

Deklarasi :
A      : Integer;
B      : Integer;
temp : Integer;

Deskripsi
(baca nilai A dan B )
read ( A, B )
cetak nilai A dan B sebelum pertukaran
write ( A, B )

proses pertukaran :
temp ← A
A ← B
B ← temp
cetak (A,B)
 
Source-Code Programnya : #include <cstdlib>
#include <iostream>
                      
using namespace std;
void tukar(int& A,int& B){
     int temp = A;
     A = B;
     B = temp;
}

int main(int argc, char *argv[])
{
    int bil1,bil2;
    cout<<"Masukkan bilangan 1:";cin>>bil1;
    cout<<"Masukkan bilangan 2:";cin>>bil2;
    tukar(bil1,bil2);
    cout<<"bilangan 1 ="<<bil1<<endl;
    cout<<"bilangan 2 ="<<bil2<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Running nya :