Woensdag 09 April 2014
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 :
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.
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
Macam Macam Kardinalitas
- Kardinalitas Minimum
- Kardinalitas Maximum
Hubungan Antara 2 Entitas
- One to one
- One to many
- Many to manyContohnya :
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
{ 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;
}
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;
}
#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 :
#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 :
Program Maksimum Minimum
Source kode nya : :
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int arr[10];
int i, index;
int max=0;
int min=0;
int jumlah=0;
cout<<"Masukkan Pengulangan dari 1-10 : ";cin>>index;
for(i=0;i<=index;i++)
{
cout<<"Input Nilai ke : "<<i<<" : ";
cin>>arr[i];
}
max = arr[0];
cout<<endl;
for(i=0;i<=index;i++)
{
cout<<"Nilai Array Index ke "<<i<<" : "<<arr[i]<<endl;
if (max<arr[i])
{
max = arr[i];
}
else
{
min = arr[i];
}
jumlah+=arr[i];
}
cout<<"Nilai Index ke 1 : "<<arr[1]<<endl;
cout<<"Nilai Max adalah : "<<max<<endl ;
cout<<"Nilai Min adalah : "<<min<<endl;
cout<<"Jumlah adalah : "<<jumlah<<endl;
system("pause");
return 0;
}
Running nya : :
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int arr[10];
int i, index;
int max=0;
int min=0;
int jumlah=0;
cout<<"Masukkan Pengulangan dari 1-10 : ";cin>>index;
for(i=0;i<=index;i++)
{
cout<<"Input Nilai ke : "<<i<<" : ";
cin>>arr[i];
}
max = arr[0];
cout<<endl;
for(i=0;i<=index;i++)
{
cout<<"Nilai Array Index ke "<<i<<" : "<<arr[i]<<endl;
if (max<arr[i])
{
max = arr[i];
}
else
{
min = arr[i];
}
jumlah+=arr[i];
}
cout<<"Nilai Index ke 1 : "<<arr[1]<<endl;
cout<<"Nilai Max adalah : "<<max<<endl ;
cout<<"Nilai Min adalah : "<<min<<endl;
cout<<"Jumlah adalah : "<<jumlah<<endl;
system("pause");
return 0;
}
Running nya : :
Teken in op:
Plasings (Atom)