1. Apa perbedaan Primary Key dan Foreign Key ?
Selamat Datang di Blog Riki Rusnandar
Berbagi Materi dan Cerita
Rabu, 08 April 2015
SISTEKBD Modul 2
1. Apa perbedaan Primary Key dan Foreign Key ?
Data Base Manajemen Sistem Modul 1 (SISTEKBD)
Algoritma modul 9
MODUL 9
ANTRIAN (QUEUE)
I. Dasar Teori
Antrian (queue) adalah duatu kumpulan data yang penambahan elemennya hanya bisa dilakukan pada suatu ujung ( disebut dengan sisi belakang atau rear ), dan penghapusan atau pengambilan elemen dilakukan lewat ujung yang lain ( disebut atau sisi depan atau front ) . antrian ( queue ) mempunyai prinsip FIFO ( First In First Out ) bahwa yang pertama masuk yang pertama keluar.
Operasi dasar queue
- Create Queue
- Untuk menciptakan dan menginisialisasi queue
- Dengan cara membuat Head dan Tail = -1
- Bentuk umum :Void create ( )
{
Antrian.Head = -1;
Antrian.head = -1;
} - Empty Queue
- Untuk memeriksa apakah antrian sudah penuh atau belum
- Dengan memeriksa nilai tail, jika Tail = -1 maka empty
- Kita tidak memeriksa head, karena head adalah tanda untuk kepala antrian ( elemen pertama dalam antrian ) yang tidak akan berubah-ubah
- Peergerakan pada antrian terjadi dengan penambahan elemen antria kebelakang, yaitu menggunakan nilai Tail.
- Bentuk umum :Void IsEmpty ( )
{
If (antrian.tail = -1)
Return 1;
Else
Return 0;
} -
-
Full Queue
- Untuk mengecek apakah antrian sudah penuh atau belum
- Dengan cara mengecek nilai Tail, jika tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
- Bentuk umum :void isfull ( )
{
if (antrian.tail = max-1)
return 1;
else
return 0;
} -
-
Enqueue
- Untuk menambahkan elemen kedalam antrian, penambahan elemen selalu ditambahkan di elemen paling belakang
- Penambahan selalu menggerakan variabel tail dengan cara increment counter tail terlebih dahulu
- Bentuk umum :void enqueue (int data)
{
if (isempty ( ) = 1) {
antrian.head=antrian.tail=0;
antrian.data[antrin.tail] =data;
printf(“%d,masuk”,antrian.data[antrian.tail] );
}
else
if (isfull ( ) = 0) {
antrian.tail++;
antrian.data[antrian.tail]=data;
printf(“%d,masuk”,antrian.data[antrian.tail] );
} -
-
Dequeue
- Digunakan untuk menghapus elemen terdepan/pertama (head) dari antrian
- Dengan cara menggeser semua elemen antrian kedepan dan mengurangi tail dengan 1
- Pergeseran dilakukan dengan menggunakan looping
- Bentuk umum :int dequeue ( )
{
int i;
int e = antrian.data[antrian.head];
for (i=antrian.head;i<=antrian.tail;i++)
{
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
return e;
} -
-
Clear queue
- Untuk menghapus elemen elemen antrian dengan cara membuat tail dan Head = -1
- Penghapusan elemen-elemen antrian sebenarnya tidak menghapus arraynya, namun hamya mengeset indeks pengaksesannya ke nilai -1 sehingga elemen-elemen antrian tidak lagi terbaca
- Bentuk umum :void clear ( )
{
antrian.head = -1;
antrian.tail = -1;
printf(“data clear”);
} -
-
Tampil queue
- Untuk menampilkan elemen elemen antrian
- Menggunakan looping dan head s/d tail
- Bentuk umum :Void clear ( )
{
Antrian.head = -1;
Antrian.tail = -1;
Printf(“data clear”);
}
II. Praktikum
Untuk praktikum, klik aja link di bawah ini :
https://www.scribd.com/doc/261308241/Praktikum-modul9
III. Tugas Modul 6
Untuk tugas, klik aja link di bawah ini :
https://www.scribd.com/doc/261308340/Tugas-Modul9
Catatan : Jangan asal CoPas aja ya,,,harus dipelajari lebih dalam...!!!hehe...
Algoritma modul 8
MODUL 8
TUMPUKAN (STACK)
I. Dasar Teori
Stack bisa diartikan sebagai suatu kumpulan data yang seolah-olah diletakan diatas data yang lain. Satu hal yang perlu diingat bahwa kita bisa menambah (menyisipkan) data dan mengambil (menghapus) data melalui ujung yang sama, yang disebut sebagai ujung atas stack ( top of stack ). Stack mempunyai sifat LIFO ( LAST IN FIRST OUT ) yang terakhir masuk adalah yang pertama keluar.
Ada beberapa operasi dasar dalam stack, yaitu menyisipkan data (push), operasi menghapus data (pop) dan lainnya. Berikut ini beberapa operasi dalam stack :
- Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
- Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
- Clear : digunakan untuk mengosongkan stack
- IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
- IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh.
Bentuk umum STACK
Contoh deklarasi MAX_STACK
#define MAX_STACK 10 |
Contoh deklarasi STACK dengan struct dan array data
Typedef struct STACK |
Deklarasi/buat variabel dari struct
STACK tumpuk; |
Inisialisasi STACK
- Pada mulanya isi top dengan -1,karena array dalam bahasa C dimulai dari 0, yang berarti bahwa data dalam stack adalah KOSONG!
- Top adalah suatu variabel penanda dalam stack yang menunjukan elemen teratas data stack sekarang.
- Bentuk umum :
void inisialisasi ( )
{
tumpuk.top = -1;
}
Fungsi isFull
- Untuk memeriksa apakah stack sudah penuh?
- Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK -1 maka full
- Bentuk umum :
Int isFull ( )
{
If (tumpuk.top == MAX_STACK -1)
Return 1;
Else
Return 0;
}
Fungsi isEmpty
- Untuk memeriksa apakah data stack masih kosong?
- Dengan cara memeriksa top of stack, jika masih -1 maka data stack masih kosong!
- Bentuk umum :
Int isEmpty ( )
{
If (tumpuk.top == -1)
Return 1;
Else
Return 0;
}
Fungsi Push
- Untuk memasukan data kedalam stack.
- Jika data belum penuh,
- Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan kedalam array data stack.
- Isikan data baru kedalam stack berdasarkan top of stack yang telah di increment sebelumnya. - Jika tidak, outputkan “penuh”
- Bentuk umum :
Void push ( char d[10] )
{
Tumpuk.top++;
Strcpy (tumpuk.data [tumpuk.top].d);
} - Untuk mengambil data stack yang terletak paling atas (data yang ditunjuk oleh TOP).
- Tampilkan terlebih dahulu nilai elemen teratas stack dengan mengakses indeks sesuai dengan top of stacknya, baru dilakukan di-decrement nilai top of stacknya sehingga jumlah elemen stack berkurang.
- Bentuk umum :
void pop ( )
{
Printf(“data terambil = %s\n”, tumpuk.data[tumpuk.top] );
Tumpuk.top--;
}
Fungsi Pop
II. Praktikum
Untuk praktikum, klik aja link di bawah ini :
https://www.scribd.com/doc/261307836/Praktikum-modul8
III. Tugas Modul 6
Untuk tugas, klik aja link di bawah ini :
https://www.scribd.com/doc/261308014/Tugas-Modul8
Catatan : Jangan asal CoPas aja ya,,,harus dipelajari lebih dalam...!!!hehe...
Algoritma modul 7
STRUKYUR (STRUCT)
Struktur adalah sekumpulan variabel yang masing-masing tipe datanya bisa berbeda, namun dikelompokan kedalam satu nama. Dalam C++ struktur sering diistilah kan sebagai struct.
Deklarasi
Ada dua cara mendeklarasikan struktur, yaitu :
Deklarasi 1 : | Deklarasi 2 : |
Struct nama_struct { Tipe_data nama_var; Tipe_data nama_var; . . . . . . } ; |
Struct nama_struct { Tipe_data nama_var; Tipe_data nama_var; . . . . . . } nama struktur ; |
Struct mahasiswa { Char NIM [8] Char Nama [50] Float ipk; } |
Struct mahasiswa { Char NIM [8] Char Nama [50] Float ipk; } mhs; |
Untuk mengakses sebuah elemen dalam sebuah struct digunakan operator titik (.)
Sintaks :
Nama_Struktur . Nama_var;
|
Sebuah kondisi dimana di dalam sebuah struct terdapat tipe data berupa struct lagi
Bentuk :
Struct nama_struktur2 { Tipe_data nama_var; Tipe_data nama_var; Struct nama_struktur1 Nama_var; . . . . . . } |
Apabila hendak menggunakan 1 struct untuk beberapa kali, ada dua cara :
- Deklarasi Manual
- Array of struct
II. Praktikum
Untuk praktikum, klik aja link di bawah ini :
https://www.scribd.com/doc/261307323/Praktikum-modul7
III. Tugas Modul 7
Catatan : Jangan asal CoPas aja ya,,,harus dipelajari lebih dalam...!!!hehe...
Selasa, 13 Januari 2015
Algoritma modul 6
FUNGSI (FUNCTION)
I. Dasar TeoriFungsi atau function adalah suatu kumpulan intruksi/perintah/program yang dikelompokan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut. Memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu.
Adapun tujuan dari pembuatan fungsi ini adalah :
- Program menjadi tekstruktur
- Dapat mengurang duplikasi kode
- Fungsi dapat dipanggil dari program atau fungsi yang lain.
Keuntungan dari fungsi adalah :
- Dapat melakukan pendekatan top-down dan divide-and-conquer.
- Top down : penelusuran program mudah
- Divide-and-conquer : program besar dapat dipisah menjadi program-program kecil.
- Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami.
- Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah.
- Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana.
- Kesalahan dapat dialokasi dalam suatu modul tertentu saja.
- Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa menunggu program keseluruhan.
- Fungsi-fungsi menjadikan program mempunyai struktur yang jelas.
- Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.
- Langkah-langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya, karena tidak cukup memanggil fungsi tersebut.
- Mempermudah dokumentasi.
- Reusability : suatu fungsi dapat digunakan kembali oleh program atau fungsi lain.
- Data yang diperlukan sebagai inputan
- Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya
- Algoritma apa yang harus digunakan untuk mengolah data menjadi informasi.
- Deklarasi fungsi (function prototype/declaration), terdiri dari :
- Judul fungsi
- Tipe data yang akan dikembalikan/void
- Tidak ada kode implementasi function tersebut.
Bentuk umum :
Dalam perancangan fungsi, perlu diperhatikan:
Stuktur fungsi :
II. Praktikum
tipe_data | void nama_fungsi ([arguman 1, arguman 2, …]);
- Tubuh function/definisi function (function definition), terdiri dari :
- Function prototype yang disertai denagn kode implementasi dari function tersebut.
- Yang berisikan statemen/intruksi yang akan melakukan tugas sesuai dengan tujuan dibuatnya fungsi tersebut.- Bentuk Umum :
//prototype fungsi
Tipe_data/void nama_fungsi (arguman 1, arguman 2, …)
{
//bagian ini merupakan tubuh fungsi
[variable_lokal ;]
[statement_1];
[statement_2];
…
[statement_3];
[return(variabel1];
}
Untuk praktikum, klik aja link di bawah ini :
https://www.scribd.com/doc/252574016/Praktikum-modul6
III. Tugas Modul 6
Untuk tugas, klik aja link di bawah ini :https://www.scribd.com/doc/252574690/Tugas-Modul6
Catatan : Jangan asal CoPas aja ya,,,harus dipelajari lebih dalam...!!!hehe...
Algoritma modul 5
TIPE DATA TURUNAN (LARIK/ARRAY)
Larik merupakan sekumpulan data yang mempunyai nama dan tipe yang sama. Larik sering disebut juga variabel berindeks. Nilai suatu data dalam larik ditentukan oleh data indeks. Larik banyak digunakan pada operasi yang melibatkan indeks seperti pada statistik dan matriks. Tipe data larik dapat berupa satu dimensi, dua dimensi, tiga dimensi atau banyak dimensi.
Tipe_larik nama_larik [ukuran] |
Tipe_larik nama_larik [ukuran1] [ukuran2] |
- Tanda kurung [] digunakan untuk menunjukan elemen larik
- Perhitungan elemen larik dimulai 0, bukan 1
Representasi Larik
Misalkan kita memiliki sekumpulan data ujin seorang siswa, ujian pertama bernilai 90, kemudian 95,78,85. Sekarang kita ingin menyusunnya sebagai suatu kumpulan data ujian seorang siswa. Dalam array kita menyusunnya sebagai berikut :
Ujian[0] = 90;
Ujian[1] = 95;
Ujian[2] = 78;
Ujian[3] = 85;
Empat nilai diatas memberikan nilai kepada array ujian. Tapi sebelum kita memberikan nilai kepada array, kita harus mendeklarasikannya terlebih dahulu, yaitu : int ujian[4];
Perhatikan bahwa nilai 4 yang berada didalam tanda kurung menunjukan jumlah elemen larik, bukan menunjukan elemen larik yang ke-4. Jadi lemen larik ujian dimulai dari angka 0 sampai 3. Pemogram juga dapat menginisialisasi larik sekaligus mendeklarasikannya, contoh :
Int ujian[4] = {90,95,78,85};
Elemen terakhir dari larik diisi dengan karakter ‘\0’. Karakter ini memberitahu kompiler bahwa akhir dari elemen larik telah dicapai.
Sekarang kita akan membuat daftar beberapa nama pahlawan di indonesia
Char pahlawan[3][15];
Char pahlawan[0][15] = “soekarno”;
Char pahlawan[1][15] = “diponegoro”
Char pahlawan[2][15] = “soedirman”
Larik diatas terlihat berbeda dengan contoh larik pertama, perhatikan bahwa pada larik pahlawan memilih dua buah tanda kurung [ ][ ]. Larik seperti itu disebut larik dua dimensi. Tanda kurung pertama menyatakan total elemen yang dapat dimiliki oleh larik pahlawan dan tanda kurung kedua menyatakan elemen yang dapat dimiliki setiap elemen larik pahlawan.
Menghitung jumlah elemen larik
Karena fungsi sizeof( ) mengembalikan jumlah byte yang sesuai dengan argumennya, maka operator tersebut dapat digunakan untuk menemukan jumlah elemen array, misalnya :
Int array[ ] = {26,7,82,166};
Cout<<sizeof(array)/sizeof(int);
Akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki larik.
II. Praktikum
Untuk praktikum, klik aja link di bawah ini :https://www.scribd.com/doc/252573419/Praktikum-modul5
III. Tugas Modul 1
https://www.scribd.com/doc/252573577/Tugas-Modul5
Catatan : Jangan asal CoPas aja ya,,,harus dipelajari lebih dalam...!!!hehe...