Anda di halaman 1dari 30

LAPORAN PRAKTIKUM

STRUKTUR DATA

Disusun Oleh :
Nama : Syahren Maulana Siddik
NIM : 181011400979
Kelas : 04TPLP009 V.219

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
Jl. Surya Kencana No. 1 Pamulang Telp. (021) 7412566, Fax. (021)
7412566
KATA PENGANTAR

Dengan mengucapkan puji syukur Alhamdulillah kepada Allah SWT, yang telah
melimpahkan segala rahmat dan hidayah-Nya, sehingga kami dapat mengerjakan
makalahElektronikaDasar ini dengan baik dan lancar. Kami berharap makalah ini dapat
memberikan motivasi kepada para mahasiswa-mahasiswi untuk lebih giat mempelajarinya.
Kami juga meminta maaf  yang sebesar-besarnya apabila ada kekurangan, kesalahan bahkan
kata-kata yang tidak berkenan di hati dan disisi lain kami sangat mengharapkan ada masukan
baik kritik maupun saran dari saudara. Sehingga penyusun dapat memperbaiki apa yang jadi
kekurangan kami karena tidak ada manusia yang sempurna kecuali Allah SWT. Akhir kata
kami mengharapkan makalah ini banyak manfaatnya bagi saya sendiri khususnya maupun
semua pihak pada umumnya.
DAFTAR ISI

KATA PENGANTAR.................................................................................................................................2
DAFTAR ISI.............................................................................................................................................3
BAB I PENDAHULUAN...........................................................................................................................4
Teori..................................................................................................................................................4
Pertemuan I Tipe Data...................................................................................................................4
Pertemuan II Aritmatika Tipe Data................................................................................................5
Pertemuan III Array.......................................................................................................................5
Pertemuan IV Array Pointer...........................................................................................................6
Pertemuan V Struct.......................................................................................................................6
Pertemuan VI Stack.......................................................................................................................9
Pertemuan VII Double Stack........................................................................................................10
Source Kode.....................................................................................................................................11
Petemuan I Tipe data...................................................................................................................11
Pertemuan II Aritmatika Tipe Data..............................................................................................15
Pertemuan III Array.....................................................................................................................16
Pertemuan IV Array Pointer.........................................................................................................18
Pertemuan V Struct.....................................................................................................................20
Pertemuan VI Stack.....................................................................................................................21
Pertemuan VII Double Stack........................................................................................................23
KESIMPULAN.......................................................................................................................................27
SARAN..................................................................................................................................................27
Daftar Pustaka.....................................................................................................................................28
BAB I
PENDAHULUAN

Teori
Pertemuan I Tipe Data
Tipe data adalah himpunan nilai yang dapat dimiliki oleh sebuah data. Tipe data
menentukan apakah sebuah nilai dapat dimiliki sebuah data atau tidak, serta operasi apa yang
dapat dilakukan pada data tersebut. Contoh tipe data dalam dunia nyata adalah bilangan bulat.

Untuk menyimpan suatu variabel diperlukan tempat khusus di memory komputer.


Besar dan tipe dari variabel-variabel dalam standar program C++ dispesifikasikan sebagai
berikut : Nama Keterangan Ukuran Jangkauan char Abjad/karakter atau untuk bilangan bulat
kecil 1 byte signed: -128 to 127unsigned: 0 to 255short int (short) Bilangan bulat dengan
jangkauan pendek 2 byte signed: -32768 to32767unsigned: 0 to 65535int Bilangan bulat 4
byte signed: -2147483648 to 2147483647unsigned: 0 to 4294967295long int (long) Integer
dengan jangkauan panjang 4 byte signed: -2147483648 to2147483647unsigned: 0 to
4294967295 bool Boolean, dapat bernilai benar atau salah (true or false) 1 byte true or false
float Angka dengan titik mengambang (bilangan cacah) 4 byte 3.4e +/- 38 (7digits)double
Bilangan cacah dengan ketelitian ganda 8 byte 1.7e +/- 308 (15 digits)long double Bilangan
cacah dengan ketelitian ganda panjang 8 byte 1.7e +/- 308 (15digits)wchar_t Karakter lebar,
biasa dipakai untuk Unicode karakter 2 byte 1 karakter lebar.
Pertemuan II Aritmatika Tipe Data
Tipe data adalah himpunan nilai yang dapat dimiliki oleh sebuah data. Tipe data
menentukan apakah sebuah nilai dapat dimiliki sebuah data atau tidak, serta operasi apa yang
dapat dilakukan pada data tersebut. Contoh tipe data dalam dunia nyata adalah bilangan bulat.
Jika sebuah data, misalnya umur harus berupa bilangan bulat maka dapat dipastikan bahwa
25, 13, 7 dapat menjadi nilai umur, sedangkan angka yang menggunakan koma seperti 7.5,
19.655 bukan merupakan contoh dari nilai umur.
 
Contoh bilangan bulat ini dapat kita lihat dalam kasus sehari - hari khususnya dalam hal
pencacahan (Ingat kembali bilangan cacah : 1, 2, 3, 4, ... yang merupakan himpunan bagian
dari himpunan bilangan bulat).

Pertemuan III Array

  Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik. Array
adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan
sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen array.
Letak urutan dari elemen-elemen array ditunjukkan oleh suatu subscript atau indeks.

Array bisa berupa array berdimensi satu, dua, tiga atau lebih. Array berdimensi satu
(one-dimensional array) mewakili bentuk suatu vektor. Array berdimensi dua
(twodimensional array) mewakili bentuk dari suatu matriks atau table. Array berdimensi tiga
(three-dimensional array) mewakili bentuk suatu ruang.
Pertemuan IV Array Pointer
Hubungan antara pointer dan array sangatlah erat. Perhatikan contoh berikut :

1 char str[80], *p1;


2 p1 = str;
Disini, p1 telah diset ke alamat dari elemen pertama array str. Untuk mengakses
elemen ke lima dari array kita bisa menuliskan
1 str[4];
2 /* atau */
3  *(p1+4)
Kedua pernyataan diatas akan mengembalikan nilai dari elemen ke lima. Ingat, array
dimulai dengan 0. Untuk mengakses elemen ke lima, kita harus menggunakan 4
untuk mengindekskan str. Kita juga menambahkan 4 ke pointer p1 untuk mengakses
elemen ke lima karena p1 sebelumnya menunjuk ke elemen pertama array str.
(Ingat bahwa sebuah nama array tanpa indeks mengembalikan alamat pertama dari
array itu, yang merupakan alamat dari elemen pertama.)
C/C++ menyediakan dua cara untuk mengakses array: aritmatika pointer dan
mengindeks array (array-indexing). Meskipun array-indexing kelihatan lebih mudah,
aritmatika pointer lebih cepat. Karena kecepatan adalah sebuah perbandingan
dalam pemrograman C/C++, programmer biasanya menggunakan pointer untuk
mengakses array.

Pertemuan V Struct
Struct atau record adalah kumpulan data yang memiliki tipe data yang berbeda. Secara
pendeklarasian, struct sangat berbeda dengan array yang hanya memiliki satu buah tipe data
untuk setiap kumpulannya. Struct digunakan apabila data yang ingin dikelompokkan
memiliki tipe data yang berbeda. Pendeklarasian struct sebagai berikut:
1 stuct data_mahasiswa
2 {
3  
4    long int nim;
5    char nama[100];
6    char fakultas[100];
};
7
 
8 data_mahasiswa mahasiswa1, mahasiswa2;
9
Deklarasi di atas merupakan suatu tipe data yang bernama data_mahasiswa di mana setiap
data yang akan dideklarasikan menggunakan tipe data data_mahasiswa akan mempunyai field
nim, nama, dan fakultas. Untuk dapat menggunakan tipe data tersebut sebuah variabel harus
dideklarasikan menggunakan nama struct nya. Bentuk umum pendeklarasian variabel struct
nya adalah sebagai berikut:
1 struct data_mahasiswa mahasiswa1, mahasiswa2;

Deklarasi dua variabel di atas ada dua variabel bernama Mahasiswa1 dan Mahasiswa2 setiap
variabel tersebut mempunyai field sesuai dengan data_mahasiswa.
Selain dekalrasi variabel ada hal yang harus diperhatikan yaitu cara untuk mengisi dan
memanggil nilai yang ada di dalam sebuah struct, yaitu sebagai berikut:
1 //Untuk mengisi nilai struct
2 cin>>mahasiswa1.nim;
3  
4 //Untuk memanggil nilai struct
cout<<mahasiswa1.nim<<endl;
5
Untuk lebih jelasnya, berikut source coding struct C++

1 #include <iostream>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <conio.h>
5  
using namespace std;
6
 
7 //Deklarasi struct
8 struct data_mahasiswa
9 {
10     long int nim;
    char nama[100];
11     char fakultas[100];
12 };
13  
14 //Deklarasi variabel struct
15 data_mahasiswa mahasiswa1, mahasiswa2;
16  
17 int main()
{   
18     //Input struct data mahasiswa
19     cout<<" Data Mahasiswa Pertama\n";
20     cout<<"-----------------------\n";
21     cout<<" NIM      : "; cin>>mahasiswa1.nim;
22     cout<<" Nama     : "; fflush(stdin); gets(mahasiswa1.nama);
    cout<<" Fakultas : "; fflush(stdin); gets(mahasiswa1.fakultas);
23     cout<<"\n\n";
24     cout<<" Data Mahasiswa Kedua\n";
25     cout<<"-----------------------\n";
26     cout<<" NIM      : "; cin>>mahasiswa2.nim;
    cout<<" Nama     : "; fflush(stdin); gets(mahasiswa2.nama);
27     cout<<" Fakultas : "; fflush(stdin); gets(mahasiswa2.fakultas);
28     cout<<"\n\n";
29  
30     //Output struct data mahasiswa
31     cout<<" Data Mahasiswa Pertama\n";
32     cout<<"-----------------------\n";
    cout<<" NIM      : "<<mahasiswa1.nim<<endl;
33     cout<<" Nama     : "<<mahasiswa1.nama<<endl;
34     cout<<" Fakultas : "<<mahasiswa1.fakultas<<endl;
35     cout<<"\n\n";
36     cout<<" Data Mahasiswa Kedua\n";
    cout<<"----------------------\n";
37
    cout<<" NIM      : "<<mahasiswa2.nim<<endl;
38     cout<<" Nama     : "<<mahasiswa2.nama<<endl;
39     cout<<" Fakultas : "<<mahasiswa2.fakultas<<endl;
40     cout<<"\n\n";
41     getch();
}
Pertemuan VI Stack
Stack merupakan suatu tumpukan dari benda dengan konsep utamanya adalah LIFO (Last In
Fist Out). Benda yang masuk terakhir dalam stack akan menjadi benda pertama yang di
keluarkan dari stack. Ilustrasinya bisa di liat di bawah :
 

                                   

   Pada gambar diatas, jika kita ingin mengambil sesuatu dari tumpukan maka kita harus
mengambilnya dari tumpukan yang paling atas dahulu. Misalkan jika kita mengambil yang A
terlebih dahulu maka  yang B akan jatuh. Dalam program c++ ada 2 cara penerapan prinsip
stack ini yakni dengan array dan linked list . operasi-operasi dalam stack :
1. Push                  : untuk menambahkan item pada tumpukan paling atas
2. Pop                    : untuk mengambil item paling atas
3. Clear                  : untuk mengosongkan stack
4. IsEmpty            : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
5. IsFull                 : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
Pertemuan VII Double Stack

Double stack sering juga disebut stack ganda. Prinsip dari double stack adalah LIFO (Last In First
Out) baik untuk stack1 dan stack2.  Dalam double stack terjadi beberapa proses diantaranya :

 AWAL (Inisialisasi)

 PUSH1 (Push untuk stack1)

 POP1 (Pop untuk stack1)

 PUSH2 (Push untuk stack2)

 POP2 (Pop untuk stack2)

Kondisi untuk double stack


Source Kode
Petemuan I Tipe data
Boolean
#include <iostream>
using namespace std;

int main()
{
int angka;
bool hasil;
cout << "Masukan angka = "; cin >> angka;
hasil = angka > 15;
cout << hasil;
}

Char
#include <iostream>
using namespace std;

int main(){
char nilai;

cout << "Masukan angka : "; cin >> nilai;


cout << "Angka yang anda masukkan : " << nilai;
}

Double
#include <iostream>
using namespace std;

int main() {
double jari, hasil ;
const double p = 3.1428;

cout << "Menghitung Luas Lingkaran" << endl;


cout << endl;
cout << "Masukan jumlah jari-jari : "; cin >> jari;
hasil = jari*(jari * p);
cout << "Luas lingkaran : " << hasil;

return 0;
}

Float
#include <iostream>
using namespace std;

int main() {
float jari, hasil ;
const float p = 3.14;
cout << "Menghitung Keliling Lingkaran" << endl << endl;
cout << "Masukan jumlah jari-jari : "; cin >> jari;
hasil = (jari * p) * 2;
cout << "Keliling dari lingkaran adalah : " << hasil;
return 0;
}
Int
#include <iostream>
using namespace std;

int main() {
int x, y, z;
cout << "Program Menampilkan Bilangan Perkalian"<<endl<<endl;
cout << "Masukkan Angka Pertama : "; cin >> x;
cout << "Masukkan Angka Kedua : "; cin >> y;

z = x * y;
cout << "Hasil dari " << x << " x " << y << " = ";
cout << z << endl;

return 0;
}

Short
#include <iostream>
using namespace std;
int main() {
short int x, y, z;

cout << "Masukkan Angka Pertama : "; cin >> x;


cout << "Masukkan Angka Kedua : "; cin >> y;

z = x + y;
cout << "Hasil dari " << x << " + " << y << " = ";
cout << z << endl;

return 0;
}
String
#include <iostream>
using namespace std;

int main() {
string nim;

cout << "MASUKAN ANGKA : "; cin >> nim;


cout << "ANGKA YG DIMASUKAN : " << nim;

return 0;

}
Pertemuan II Aritmatika Tipe Data
#include<iostream>
using namespace std;

int main() {
int a, b, c, d, e;

a = 11+6; //operator penjumlahan


b = 13-40; //operator pengurangan
c = 50*2; //operator perkalian
d = 110/2; //operator pembagian
e = 610%20; //operator sisa bagi (modulus)

cout<<"A = 11 + 6"<<endl;
cout<<"B = 13 - 40"<<endl;
cout<<"C = 50 * 2"<<endl;
cout<<"D = 110 / 2"<<endl;
cout<<"E = 610 % 20"<<endl;

cout<<endl;
cout<<"Hasil dari A = "<<a<<endl;
cout<<"Hasil dari B = "<<b<<endl;
cout<<"Hasil dari C = "<<c<<endl;
cout<<"Hasil dari D = "<<d<<endl;
cout<<"Hasil dari E = "<<e<<endl;

return 0;

}
Pertemuan III Array
#include<iostream>
using namespace std;
main()
{
cout<<"Syahren Maulana SIddik - 181011400979 - 04TPLP009 \n"<<endl;
cout<<"Program Sederhana Pengolahan Ujian Mahasiswa"<<endl;
cout<<"-------------------------------------------\n"<<endl;
//Mendeklarasikan array
int data[2][2];

//Mendeklarasikan pointer
int *p;

//Mengisi nilai p dengan array


p=&data[0][0];
char kembali;
do
{
int kode;
cout<<endl;
cout<<" MENU PILIHAN"<<endl;
cout<<"---------------"<<endl;
cout<<" 1. Nilai Mahasiswa"<<endl;
cout<<"---------------"<<endl;
cout<<" MASUKAN PILIHAN : ";
cin>>kode;
switch(kode)
{

case 1:
{
int nilai;
cout<<"Masukkan nilai :";
cin>>nilai;
if(nilai>=80&nilai <=100)
cout<<"Grade = A"<<endl;
else
if(nilai >=71&nilai <=81)
cout<<"Grade = B"<<endl;
else
if(nilai >=61&nilai <=71)
cout<<"Grade = C"<<endl;
else
if(nilai >=51&nilai <=61)
cout<<"Grade = D"<<endl;
else
if(nilai <51)
cout<<"Grade = E"<<endl;
else
cout<<"Tampilkan Grade : ";
break;
}default:
cout<<endl;
cout<<" Kode Tidak Terdaftar";
} cout<<"\n\n Kembali ke menu pilihan [Y], Exit [N] : ";
cin>>kembali;
}while(kembali=='N',kembali=='Y');

}
Pertemuan IV Array Pointer
#include<iostream>
using namespace std;

int main()
{
// PENGGUNAAN ARRAY

char nama[30], grade;


int tugas, uts, uas, nilaitugas, nilaiuts, nilaiuas, nilaiakhir;

cout<<"------------------ TUGAS Praktikum Struktur Data------------------"<<endl<<endl;


cout<<"Nama: Syahren Maulana Siddik"<<endl;
cout<<"NIM: 181011400979"<<endl;
cout<<"Kelas: 04TPLP009"<<endl;
cout<<endl<<endl;
cout<<"------------------ PROGRAM MENGHITUNG NILAI AKHIR
------------------"<<endl<<endl;
cout<<"Masukkan Nama Siswa : "; gets(nama);
cout<<"Masukkan Nilai Tugas : "; cin>>tugas;
cout<<"Masukkan Nilai UTS : "; cin>>uts;
cout<<"Masukkan Nilai UAS : "; cin>>uas;

// sebagai contoh saja, bobot nilai tugas 30%, nilai uts 35%, dan nilai uas 35%

nilaitugas = tugas*30/100;
nilaiuts = uts*35/100;
nilaiuas = uas*35/100;
nilaiakhir = nilaitugas+nilaiuts+nilaiuas;

if(nilaiakhir>=80)
{
grade = 'A';
}
else if (nilaiakhir>=70)
{
grade = 'B';
}
else if (nilaiakhir>=60)
{
grade = 'C';
}
else if (nilaiakhir>=50)
{
grade = 'D';
}
else
{
grade = 'E';
}

// PENGGUNAAN POINTER

char *pointer;
pointer = &grade;

cout<<endl<<endl;
cout<<"------------------ Hasil Nilai Akhir Siswa --------------------"<<endl<<endl;
cout<<"Siswa yang bernama "<<nama<<" dengan nilai persentasi yang dihasilkan : "<<endl;
cout<<"Nilai Tugas * 30% = "<<nilaitugas<<endl;
cout<<"Nilai UTS * 35% = "<<nilaiuts<<endl;
cout<<"Nilai UAS * 35% = "<<nilaiuas<<endl;
cout<<endl;
cout<<"Jadi, siswa yang bernama "<<nama<<" memperoleh nilai akhir sebesar
"<<nilaiakhir<<endl<<endl;
cout<<"Grade nilai yang didapat adalah "<<grade<<endl;
cout<<endl<<endl;

// MENAMPILKAN TAMPILAN ALAMAT DATA dari POINTER'

cout<<"------------------ Tampilan Alamat Data --------------------"<<endl<<endl;


cout<<"Nilai variabel grade adalah : "<<grade<<endl;
cout<<"Alamat variabel grade adalah: "<<&grade<<endl;
cout<<"Nilai yang tertampung dalam variabel pointer adalah : "<<*pointer<<endl;

}
Pertemuan V Struct
#include <iostream>
#include <string>
using namespace std;

struct mahasiswa{
string nama;
string jurusan;
float ipk;
};

int main(){

mahasiswa mhs;

mhs.nama="Syahren Maulana Siddik";


mhs.jurusan="Teknik Informatika";
mhs.ipk=3.42;

cout<<"DATA MAHASISWA"<<endl;
cout<<"--------------------"<<endl;
cout<<"Nama : "<<mhs.nama<<endl;
cout<<"Jurusan : "<<mhs.jurusan<<endl;
cout<<"IPK : "<<mhs.ipk<<endl;

return 0;
}
Pertemuan VI Stack
#include <iostream>

#define MAX 10

using namespace std;


struct Stack {
int top, data[MAX];
} Tumpukan;
void init() {
Tumpukan.top = -1;
}
bool isEmpty() {
return Tumpukan.top == -1;
}
bool isFull() {
return Tumpukan.top == MAX - 1;
}
void push() {
if (isFull()) {
cout << "\nTumpukan penuh" << endl;
} else {
Tumpukan.top++;
cout << "\nMasukkan data = ";
cin >> Tumpukan.data[Tumpukan.top];
cout << "Data " << Tumpukan.data[Tumpukan.top] << " masuk ke stack"
<< endl;
}
}
void pop() {
if (isEmpty()) {
cout << "\nData kosong\n" << endl;
} else {
cout << "\nData " << Tumpukan.data[Tumpukan.top] << " sudah terambil"
<< endl;
Tumpukan.top--;
}
}
void printStack() {
if (isEmpty()) {
cout << "========================================="<<endl;
cout << "Contoh Program Stack Sederhana "<< endl;
cout << "========================================="<<endl;
cout << endl;
cout << "NAMA: Syahren Maulana SIddik"<<endl;
cout << "NIM: 181011400979"<<endl;
cout << "KELAS: 04TPLP009"<<endl<<endl;
cout << "Tumpukan Kosong"<<endl;
} else {
cout << "\nTumpukan : ";
for (int i = Tumpukan.top; i >= 0; i--)
cout << Tumpukan.data[i] << ((i == 0) ? "" : ",")<<endl;
}
}
int main() {
int pilihan, data;
init();
do {
printStack();
cout << "\n1. Input (Push)\n"
<< "2. Hapus (Pop)\n"
<< "3. Keluar\n"
<<endl
<< "Masukkan Pilihan: ";
cin >> pilihan;
switch (pilihan) {
case 1:
push();
break;
case 2:
pop();
break;
default:
cout<<endl;
cout << "Pilihan tidak tersedia" << endl;
break;
}
} while (pilihan != 3);
}
Pertemuan VII Double Stack
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#define n 10
using namespace std;
char P[]={'>',' ',' ',' ',' ',' '};
int S[n],mov[2],X,Y,pil=0;
int *top1,*top2,*dasar1,*dasar2,*helpI;
//utama
void awal(){
top1=&S[-1];
top2=&S[n];
dasar1=&S[-1];
dasar2=&S[n];
helpI=&S[-1];
}
void push1(int x){
top1=top1+1;
*top1=x;
}
void push2(int y){
top2=top2-1;
*top2=y;
}
void pop1(){
X=*top1;
*top1=0;
top1=top1-1;
}
void pop2(){
Y=*top2;
*top2=0;
top2=top2+1;
}
int BisaDiisi(int k){
if(top2-top1>k)
return 1;
else
return 0;
}
int BisaDiambil1(){
if(top1>dasar1)
return 1;
else
return 0;
}
int BisaDiambil2(){
if(top2<dasar2)
return 1;
else
return 0;
}
void tampil(){
cout<<"\n================ data menjadi ==================="<<endl;
while(helpI!=(dasar2-1)){
helpI++;
cout<<*helpI<<" ";
}

cout<<"\n======================================================"<<end
l;
helpI=&S[-1];
}
//tambahan
void tampilMenu(){
cout<<"PROGRAM MEMASUKAN NILAI ABSENSI MAHASISWA"<<endl;

cout<<"========================================================"<<en
dl;

cout<<"========================================================"<<en
dl;
cout<<"1. isi nilai dari kiri"<<endl;
cout<<"2. isi nilai dari kanan"<<endl;
cout<<"3. isi kedua stack"<<endl;
cout<<"4. pop stack 1"<<endl;
cout<<"5. pop stack 2"<<endl;
cout<<"6. pop kedua stack"<<endl;

cout<<"========================================================="<<e
ndl;
cout<<"pilihan anda : ";cin>>pil;

int main(){
cout<<"Syahren Maulana Siddik"<<endl;
cout<<"181011400979"<<endl;
cout<<"04TPLP009"<<endl;
awal();
do{
tampilMenu();
cout<<endl;
switch(pil){
case 1: if(BisaDiisi(1)){
cout<<"masukkan bilangan = ";
cin>>X;
push1(X);
}
else{
cout<<"maaf tidak ada tempat untuk push";
}break;
case 2: if(BisaDiisi(1)){
cout<<"masukkan bilangan = ";
cin>>Y;
push2(Y);
}
else{
cout<<"maaf tidak ada tempat untuk push";
}break;
case 3: if(BisaDiisi(2)){
cout<<"masukkan bilangan 1= ";
cin>>X;
push1(X);
cout<<"masukkan bilangan 2= ";
cin>>Y;
push2(Y);
}
else{
cout<<"maaf ruang tidak cukup";
}break;
case 4: if(BisaDiambil1()){
pop1();
cout<<"data yang diambil = "<<X<<endl;
}
else{
cout<<"maaf stack 1 tidak ada isinya"<<endl;
}break;
case 5: if(BisaDiambil2()){
pop2();
cout<<"angka yang diambil = "<<Y<<endl;
}
else{
cout<<"maaf stack 2 tidak ada isinya"<<endl;
}break;
case 6: if(BisaDiambil1()&&BisaDiambil2()){
pop1();
pop2();
cout<<"isi yang baru di pop = "<<X<<" dan "<<Y<<endl;
}
else{
cout<<"maaf salah satu atau kedua stack tidak ada isinya"<<endl;
}break;
}
tampil();
cout<<"\nenter untuk mengulang dan esc untuk keluar !";
do{
mov[0]=getch();
if(mov[0]==27)
exit(0);
}while(mov[0]!=13);
}while(mov[0]==13);
getch();
}
KESIMPULAN

Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media
penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.2.
 
Apabila kita membuat program dengan data yang sudah kita ketahui batasnya, makakita bisa
menggunakan array (tipe data statis), namun apabila data kita belum kitaketahui batasnya,
kita bisa menggunakan pointer (tipe data dinamis).5.
 
Untuk sekumpulan data dengan tipe data yang berlainan, namun merupakan satu-kesatuan,
kita dapat menggunakan struktur untuk merepresentasikannya.

SARAN

Perdalam ilmu computer kalian, karena jaman sekarang sudah canggih. Segala sesuatunya
sudah menggukan computer atau elektronik. Jadi jangan malas untuk belajar , terutama
tentang computer.
Daftar Pustaka

http://mieke.lecturer.pens.ac.id/bhs-c/prakt-c/p9-array.pdf
https://www.levatra.com/2017/02/pengertian-tipe-data-variabel-dan-operator-
pemrograman.html
https://www.academia.edu/9923054/Dasar_teori_tipe_data_dan_ekspresi
https://haganesite.wordpress.com/2016/07/30/pointer-dan-array/
http://jagocoding.com/tutorial/666/Struct_Pada_Pemrograman_C
https://kuliahanku.wordpress.com/2014/09/23/single-stack-dan-double-stack/
https://mdteckno.blogspot.com/2015/06/definisistack-stack-merupakan-suatu.html

Anda mungkin juga menyukai