Queue juga bisa disebut dengan antrianm , data yang pertama masuk dalam antrian akan keluar terlebih dahulu, bisa juga di ibaratkan dengan antrian bioskop, siapa yang pertama datang dia pula yang akan pertama mendapatkan tiket dan sebutan untuk queue ini juga bisa dibilang FIFO ( First In First Out)
contoh coding queue
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#define n 10
int Q[n],L,R,x;
void awal()
{
R=-1;L=0;
}
void insertkiri()
{
cout<<"Inputkan data :";cin>>x;
if (L>0)
{
L--;
Q[L]=x;
}
else
cout<<"Antrian penuh kiri";
}
void insertkanan()
{
cout<<"Inputkan data :";cin>>x;
if (R<n-1)
{
R++;
Q[R]=x;
}
else
cout<<"Antrian penuh kiri";
}
void deletekiri()
{
if (L<R+1)
{
x=Q[L];
L++;
cout<<x;
}
else
cout<<"Antrian kosong";
}
void deletekanan()
{
if (L<R+1)
{
x=Q[R];
R--;
cout<<x;
}
else
cout<<"Antrian kosong";
}
void main()
{
int pilih;
char jawab;
awal();
jawab='y';
while ((jawab=='y')||(jawab=='Y'))
{
clrscr();
cout<<"1.INSERT KIRI"<<endl;
cout<<"2.INSERT KANAN"<<endl;
cout<<"3.DELETE KIRI"<<endl;
cout<<"4.DELETE KANAN"<<endl;
cout<<"5.EXIT"<<endl;
cout<<"Inputkan pilihan :";cin>>pilih;
switch (pilih)
{
case 1:
insertkiri();
break;
case 2:
insertkanan();
break;
case 3:
deletekiri();
break;
case 4:
deletekanan();
break;
case 5:
exit;
break;
}
cout<<endl<<"Ulangi proses lagi ? [y/t]";
cin>>jawab;
}
}
hasil dari coding
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
Struktur Data
Senin, 08 Juni 2015
SORTING (Selection Sort dan Insertion Sort)
A. Selection Sort
Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sort adalah sebagai berikut:
Ø Cari data terkecil dalam interval j = 0 sampai dengan j = N-1
Ø Jika pada posisi pos ditemukan data yang terkecil, tukarkan data diposisi pos dengan data di posisi i jika k.
Ø Ulangi langkah 1 dan 2 dengan j = j+i sampai dengan j = N-1, dan seterusnya sampai j = N - 1.
contoh coding selection sort
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int Data[MAX];
// Fungsi pertukaran bilangan
void Tukar (int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void SelectionSort()
{
int i, j, k;
for(i=0; i<MAX-1;i++)
{
k = i;
for (j=i+1; j<MAX; j++)
if(Data[k] > Data[j])
k = j;
Tukar(&Data[i], &Data[k]);
}
}
void main()
{
int i;
srand(0);
// Membangkitkan bilangan acak
printf("DATA SEBELUM TERURUT");
for(i=0; i<MAX; i++)
{
Data[i] = (int) rand()/1000+1;
printf("\nData ke %d : %d ", i, Data[i]);
}
SelectionSort();
// Data setelah terurut
printf("\nDATA SETELAH TERURUT");
for(i=0; i<MAX; i++)
{
printf("\nData ke %d : %d ", i, Data[i]);
}
getch();
}
hasil dari coding
B. Insertion Sort
Metode penyisipan (Insertion sort) yang bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil diurutkan. Metode ini mengurutkan bilangan-bilangan yang telah dibaca dan berikutnya secara berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut.
contoh coding insertion sort
#include <iostream.h>
#include <conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i<=n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}
int main()
{
cout<<"------METODE INSERTION SORT------"<<endl<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : ";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort();
cout<<"\n\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting Selesai";
getch();
return 0;
}
hasil dari coding
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sort adalah sebagai berikut:
Ø Cari data terkecil dalam interval j = 0 sampai dengan j = N-1
Ø Jika pada posisi pos ditemukan data yang terkecil, tukarkan data diposisi pos dengan data di posisi i jika k.
Ø Ulangi langkah 1 dan 2 dengan j = j+i sampai dengan j = N-1, dan seterusnya sampai j = N - 1.
contoh coding selection sort
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int Data[MAX];
// Fungsi pertukaran bilangan
void Tukar (int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void SelectionSort()
{
int i, j, k;
for(i=0; i<MAX-1;i++)
{
k = i;
for (j=i+1; j<MAX; j++)
if(Data[k] > Data[j])
k = j;
Tukar(&Data[i], &Data[k]);
}
}
void main()
{
int i;
srand(0);
// Membangkitkan bilangan acak
printf("DATA SEBELUM TERURUT");
for(i=0; i<MAX; i++)
{
Data[i] = (int) rand()/1000+1;
printf("\nData ke %d : %d ", i, Data[i]);
}
SelectionSort();
// Data setelah terurut
printf("\nDATA SETELAH TERURUT");
for(i=0; i<MAX; i++)
{
printf("\nData ke %d : %d ", i, Data[i]);
}
getch();
}
hasil dari coding
B. Insertion Sort
Metode penyisipan (Insertion sort) yang bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil diurutkan. Metode ini mengurutkan bilangan-bilangan yang telah dibaca dan berikutnya secara berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut.
contoh coding insertion sort
#include <iostream.h>
#include <conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i<=n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}
int main()
{
cout<<"------METODE INSERTION SORT------"<<endl<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : ";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort();
cout<<"\n\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting Selesai";
getch();
return 0;
}
hasil dari coding
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
ARRAY
a. Array 1 Dimensi
Array atau larik adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data pada suatu larik disebut dengan elekmen-elemen larik. Letak urutan dari suatu larik ditunjukkan oleh suatu subscript atau index.
Contoh coding array dimensi1
#include<iostream.h>
void main()
{
int A[10];
int i,jml,max;
//isi data
jml=0;
for(i=0;i<=9;i++)
{
cout<<"Inputkan data ke-"<<i<<":";
cin>>A[i];
jml=jml+A[i];
}
//tampilkan data
for(i=0;i<=9;i++)
{
cout<<A[i]<<" ";
}
cout<<endl;
for(i=0;i<=9;i++)
{
cout<<&A[i]<<" ";
}
cout<<endl;
cout<<"Hasil penjumlahan = "<<jml<<endl;
max=A[0];
for(i=1;i<=9;i++)
{
if (A[i]>max)
max=A[i];
}
cout<<"Bilangan terbesar = "<<max<<endl;
}
B. Array dimensi 2
Pendeklarasian array 2 dimensi :
tipe_data nama_var_array [batas_baris][batas_kolom];
int matriks[5][9];
int matriks [3][4]={{5,2,1,18}, {4,7,6,-9}, {9,0,4,43}};
Pendefinisiannya : int data [a] [b];
Pada pendefinisian diatas :
- a menyatakan jumlah baris
- b menyatakan jumlah kolom
contoh coding array dimensi 2
#include<iostream.h>
void main()
{
int A[3][4];
int b,k;
for(b=0;b<=2;b++)
{
for(k=0;k<=3;k++)
{
cout<<"Isikan data baris ke-"<<b<<" kolom ke-"<<k<<":";
cin>>A[b][k];
}
}
for(b=0;b<=2;b++)
{
for(k=0;k<=3;k++)
{
cout<<A[b][k]<<" ";
}
cout<<endl;
}
cout<<endl;
for(b=0;b<=2;b++)
{
for(k=0;k<=3;k++)
{
if (b==k)
cout<<A[b][k]<<" ";
}
}
cout<<endl;
cout<<"Matriks segitiga :"<<endl;
for(b=0;b<=2;b++)
{
for(k=0;k<=b;k++)
{
cout<<A[b][k]<<" ";
}
cout<<endl;
}
}
hasil coding array dimensi 2
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
Array atau larik adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data pada suatu larik disebut dengan elekmen-elemen larik. Letak urutan dari suatu larik ditunjukkan oleh suatu subscript atau index.
Contoh coding array dimensi1
#include<iostream.h>
void main()
{
int A[10];
int i,jml,max;
//isi data
jml=0;
for(i=0;i<=9;i++)
{
cout<<"Inputkan data ke-"<<i<<":";
cin>>A[i];
jml=jml+A[i];
}
//tampilkan data
for(i=0;i<=9;i++)
{
cout<<A[i]<<" ";
}
cout<<endl;
for(i=0;i<=9;i++)
{
cout<<&A[i]<<" ";
}
cout<<endl;
cout<<"Hasil penjumlahan = "<<jml<<endl;
max=A[0];
for(i=1;i<=9;i++)
{
if (A[i]>max)
max=A[i];
}
cout<<"Bilangan terbesar = "<<max<<endl;
}
B. Array dimensi 2
Pendeklarasian array 2 dimensi :
tipe_data nama_var_array [batas_baris][batas_kolom];
int matriks[5][9];
int matriks [3][4]={{5,2,1,18}, {4,7,6,-9}, {9,0,4,43}};
Pendefinisiannya : int data [a] [b];
Pada pendefinisian diatas :
- a menyatakan jumlah baris
- b menyatakan jumlah kolom
contoh coding array dimensi 2
#include<iostream.h>
void main()
{
int A[3][4];
int b,k;
for(b=0;b<=2;b++)
{
for(k=0;k<=3;k++)
{
cout<<"Isikan data baris ke-"<<b<<" kolom ke-"<<k<<":";
cin>>A[b][k];
}
}
for(b=0;b<=2;b++)
{
for(k=0;k<=3;k++)
{
cout<<A[b][k]<<" ";
}
cout<<endl;
}
cout<<endl;
for(b=0;b<=2;b++)
{
for(k=0;k<=3;k++)
{
if (b==k)
cout<<A[b][k]<<" ";
}
}
cout<<endl;
cout<<"Matriks segitiga :"<<endl;
for(b=0;b<=2;b++)
{
for(k=0;k<=b;k++)
{
cout<<A[b][k]<<" ";
}
cout<<endl;
}
}
hasil coding array dimensi 2
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
SEARCHING
SEARCHING (Sequential Search dan Binarry Search)
Searching adalah metode pencarian informasi dalam suatu
aplikasi, dengan suatu kunci( key ). Pencarian diperlukan untuk mencari
informasi khusus dari table pada saat lokasi yang pasti dari informasi tersebut
sebelumnya tidak diketahui. Pencarian selalu dinyatakan dengan referensi pada
adanya sekelompok data yang tersimpan secara terorganisasi, kelompok data
tersebut kita sebut table.
Pada metode searching (pencarian) ada 2 teknik yang
digunakan yaitu :
a. Pencarian sekuensial (sequential search)
b. Pencarian biner (Binary search).
a. Sequential Search
Pencarian sekuensial (sequential search) atau sering disebut
pencarian linier menggunakan prinsip sebagai berikut : data yang ada di
bandingkan satu persatu secara berurutan dengan yang dicari. Pada dasarnya,
pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data.
Pada setiap perulangan , di bandingkan data ke-i dengan yang dicari. Apabila
sama , berarti data telah ditemukan . Sebaliknya apabila sampai akhir
pengulangan , tidak ada yang sama berarti data tidak ada.
Pencarian Sekuensial memiliki beberapa kelebihan dan
kekurangan yaitu :
1. Kelebihannya
:
- Relatif lebih cepat dan efisien untuk data yang terbatas
- Algoritma sederhana
2. Kekuranganya
:
- Kurang cepat untuk data dalam jumlah besa
- Beban komputasi cenderung lebih besar
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
main()
{
int n,i,posisi,x,temu;
int a[5];
printf("Pencarian data dengan sequential search \n\n");
printf("Banyak data : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Masukan bilangan : ");
scanf("%d",&a[i]);
}
printf("Data yang akan dicari : ");
scanf("%d",&x);
temu=0;
i=0;
while((temu == 0)&&(i<n))
{
if(a[i]==x)
{
temu=1;
posisi=i;
}
else
i=i+1;
}
if(temu==1)
printf("%d Ditemukan pada posisi %d\n",x,posisi+1);
else
printf("%d Tidak ditemukan \n",x);
getch();
}
HASIL
b. Binarry Search
Binary search adalah sebuah algoritma pencarian dengan cara
membagi data menjadi dua bagian setiap kali terjadi proses pencarian untuk
menemukan nilai tertentu dalam sebuah larik (array) linear. Sebuah pencarian
biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk
menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian
mencari setengah sisanya dengan cara yang sama. Pencarian Biner (Binary Search)
dilakukan untuk :
a) Memperkecil
jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan
data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar
ukurannya.
b) Beban komputasi
juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah.
c) Prinsip
dasarnya adalah melakukan proses pembagian ruang pencarian secara
berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat
dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
d) Syarat utama
untuk pencarian biner adalah data di dalam tabel harus sudah terurut.
Langkah dalam pencarian biner adalah :
1. Mula-mula
diambil dari posisi awal=1 dan posisi akhir = n
2. Kemudian kita
cari posisi data tengah dengan rumus posisi tengah = (posisi awal + posisi
akhir ) div 2
3. Kemudian data
yang di cari dibandingkan dengan data tengah
a. Jika sama,
data ditemukan, Proses selesai
b. Jika lebih
kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi
tengah -1
c. Jika lebih
besar , proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi
tengah +1.
4. Ulangi langkah
kedua hingga data ditemukan , atau tidak ditemukan.
5. Pencarian
biner ini akan berakhir jika data ditemukan posisi awal lebih besar dari pada
posisi akhir. Jika posisi awal sudah lebih besar dari posisis akhir berarti
data tidak diketemukan.
Pencarian Biner :
a. Kelebihannya
:
o Untuk data dalam
jumlah besar, waktu searching lebih cepat
o Beban komputasi
lebih kecil
b. Kekuranganya :
o Data harus sudah
di-sorting lebih dulu ( dalam keadaan terurut )
Contoh Program Binary Search pada Bahasa C++ :
#include <iostream.h>
#include <conio.h>
int data[10]={1,3,4,7,12,25,40,65,78,90};
int binary_search(int cari)
{
int a,b,c;
int n=10;
a=0;
b=n-1;
int ketemu=0;
while (a<=b && ketemu==0)
{
c=(a+b)/2;
if (data[c]==cari)
ketemu=1;
else
if(cari<data[c])
b=c-1;
else a=c+1;
}
if(ketemu==1) return 1; else return 0;
}
void main()
{
clrscr();
int cari, hasil;
cout<<"masukan data yang ingin di cari= ";
cin>>cari;
hasil = binary_search(cari);
if(hasil==1)
{
cout<<"data ada!"<<endl;
}
else
if(hasil==0)
cout<<"data tidak ada!"<<endl;
getch();
}
#include <conio.h>
int data[10]={1,3,4,7,12,25,40,65,78,90};
int binary_search(int cari)
{
int a,b,c;
int n=10;
a=0;
b=n-1;
int ketemu=0;
while (a<=b && ketemu==0)
{
c=(a+b)/2;
if (data[c]==cari)
ketemu=1;
else
if(cari<data[c])
b=c-1;
else a=c+1;
}
if(ketemu==1) return 1; else return 0;
}
void main()
{
clrscr();
int cari, hasil;
cout<<"masukan data yang ingin di cari= ";
cin>>cari;
hasil = binary_search(cari);
if(hasil==1)
{
cout<<"data ada!"<<endl;
}
else
if(hasil==0)
cout<<"data tidak ada!"<<endl;
getch();
}
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
STACK
STACK
Stack atau tumpukan sebagai list dimana penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack.
Dua operasi dasar pada stack adalah PUSH (operasi pemasukan elemen ke dalam stack) dan POP (operasi pengambilan satu elemen dari dalam stack). Stack terdiri dari 2 jenis yaitu :
1. Single Stack
2. Double Stack
a. Single Stack
Single Stack dapat direpresentasikan menggunakan array satu dimensi. Pada single stack berlaku aturan LIFO (Last In First Out), yaitu elemen yang terakhir masuk akan pertama kali diambil atau dilayani.
ALGORITMA PUSH
if (Top < n-1)
{
Top = Top + 1;
S[Top] = x;
}
else
cout<<“Stack Penuh”;
ALGORITMA POP
if (Top > -1)
{
x = S[Top];
Top = Top - 1;
}
else
cout<<“Stack Kosong”;
Contoh program stack
#include<iostream.h>
#define n 10
void main()
{
int S[n];
int x,top;
top=-1;
while (top<=n-1)
{
cout<<"Inputkan isi stack : ";
cin>>x;
top=top+1;
S[top]=x;
}
cout<<"Isi stack : "<<endl;
while (top>=0)
{
x=S[top];
cout<<x<<" ";
top=top-1;
}
}
b. Double Stack
Double Stack atau Stack Ganda adalah stack yang hanya terdiri dari dua single stack. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus melalui salah satu arah.
Algoritma PUSH1 (mengisi Stack1)
· Periksa apakah Stack1 BISA DIISI
if (Top2 – Top1 > 1)
{ Top1 = Top1 + 1;
S[Top1] = x;
}
else
cout<<“Stack Penuh”;
Algoritma POP1 (mengambil isi Stack1)
· Periksa apakah Stack1 ADA ISINYA
if (Top1 > -1)
{ x = S[Top1];
Top1 = Top1 - 1;
}
else
cout<<“Stack Kosong”;
Algoritma PUSH2 (mengisi Stack2)
· Periksa apakah Stack2 BISA DIISI
if (Top2 – Top1 > 1)
{ Top2 = Top2 - 1;
S[Top2] = x;
}
else
cout<<“Stack Penuh”;
Algoritma POP2 (mengambil isi Stack2)
· Periksa apakah Stack2 ADA ISINYA
if (Top2 < n)
{ x = S[Top2];
Top2 = Top2 + 1;
}
else
cout<<“Stack Kosong”;
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
Stack atau tumpukan sebagai list dimana penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack.
Dua operasi dasar pada stack adalah PUSH (operasi pemasukan elemen ke dalam stack) dan POP (operasi pengambilan satu elemen dari dalam stack). Stack terdiri dari 2 jenis yaitu :
1. Single Stack
2. Double Stack
a. Single Stack
Single Stack dapat direpresentasikan menggunakan array satu dimensi. Pada single stack berlaku aturan LIFO (Last In First Out), yaitu elemen yang terakhir masuk akan pertama kali diambil atau dilayani.
ALGORITMA PUSH
if (Top < n-1)
{
Top = Top + 1;
S[Top] = x;
}
else
cout<<“Stack Penuh”;
ALGORITMA POP
if (Top > -1)
{
x = S[Top];
Top = Top - 1;
}
else
cout<<“Stack Kosong”;
Contoh program stack
#include<iostream.h>
#define n 10
void main()
{
int S[n];
int x,top;
top=-1;
while (top<=n-1)
{
cout<<"Inputkan isi stack : ";
cin>>x;
top=top+1;
S[top]=x;
}
cout<<"Isi stack : "<<endl;
while (top>=0)
{
x=S[top];
cout<<x<<" ";
top=top-1;
}
}
b. Double Stack
Double Stack atau Stack Ganda adalah stack yang hanya terdiri dari dua single stack. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus melalui salah satu arah.
Algoritma PUSH1 (mengisi Stack1)
· Periksa apakah Stack1 BISA DIISI
if (Top2 – Top1 > 1)
{ Top1 = Top1 + 1;
S[Top1] = x;
}
else
cout<<“Stack Penuh”;
Algoritma POP1 (mengambil isi Stack1)
· Periksa apakah Stack1 ADA ISINYA
if (Top1 > -1)
{ x = S[Top1];
Top1 = Top1 - 1;
}
else
cout<<“Stack Kosong”;
Algoritma PUSH2 (mengisi Stack2)
· Periksa apakah Stack2 BISA DIISI
if (Top2 – Top1 > 1)
{ Top2 = Top2 - 1;
S[Top2] = x;
}
else
cout<<“Stack Penuh”;
Algoritma POP2 (mengambil isi Stack2)
· Periksa apakah Stack2 ADA ISINYA
if (Top2 < n)
{ x = S[Top2];
Top2 = Top2 + 1;
}
else
cout<<“Stack Kosong”;
referensi : materi dari ppt. teori struktur data/ STIKOM-Bali
Coding dari dosen praktikum struktur data/ STIKOM-Bali/ dengan sedikit perubahan
Kamis, 04 Juni 2015
Variabel, Konstanta, Tipe Data
Variabel, Konstanta, Tipe Data
Identifier
Di dalam program, selalu dibutuhkan suatu tempat untuk menyimpan nilai yang disebut identifier.
Identifier dibagi menjadi 2 jenis, yaitu:
1.Variabel
2.Konstanta
1. Variabel adalah nama yang digunakan dalam memori komputer untuk menyimpan suatu nilai.
Nilai suatu variabel dapat berubah-ubah selama program berjalan.
Cara mendeklarasikan variabel:
tipe_data nama_variabel;
Penamaan Variabel memiliki ketentuan sebagai berikut:
- Tidak boleh sama dengan nama keyword reserved, function, dan harus unik.
- Maksimum 32 karakter. Bila lebih, maka karakter selebihnya tidak akan diperhatikan oleh komputer.
- Case sensitive : membedakan huruf besar dan kecil
- Karakter pertama harus huruf atau underscore (_)
- Tidak boleh mengandung spasi / blank , tanda – , dan tanda #
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubah-ubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta
3.Tipe Data
tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer).
Contoh TipeData dasar dalam C++
Cara mendeklarasikan konstanta:
#define
nm_konstanta nilai;
3.Tipe Data
tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer).
Contoh TipeData dasar dalam C++
Langganan:
Postingan (Atom)