Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Jawaban :
1. array adalah sekumpulan elemen yang bertipe sama dan dinyatakan dengan
nama yag sama.
2. variabel array telah memiliki lokasi yang telah di tentukan didalam memori,
sedangkan variabel biasa tidak, dan juga perbedaan saat pendeklarasian.
3. – array satu dimensi: elemen array yang hanya memiliki satu buah baris /
kolom dan hanya dapat di akses oleh program menggunakan satu indeks
tertentu.
- array dua dimensi: elemen array yang memiliki baris dan kolom dan sering
digambarkan sebagai sebuah matriks atau bentuk grid.
-array tiga dimensi: elemen array yang memiliki baris, kolom dan ukuran
lebih banyak dari pada array dua dimensi, ini adalah array peluasan dari
array dua dimensi dan dapat dikembangkan ke lebih dari dua dimensi.
4. Source code:
#include
using namespace std;int main()
{
cout<<endl;
cout<<"\tARRAY 3 DIMENSI\n\n";
char data [2][3][6] = {“1”, “2”, “3”, “4”, “5”, “6”};
int i,j;
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
cout<<data[i][j]<<" ";
}
cout<<"\n\n";
}
return 0;
} Output:
LAPORAN AKHIR
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Souce code:
#include<iostream>
#include<conio.h>
using namespace std;
int main()
int nilai[12]={8,12,20,15,7,5,6,4,32,3};
int i, jumlah= 0;
float rata_rata;
//menghitung jumlah
jumlah +=nilai[i];
for(i=0;i<10;i++)
cout<<nilai[i]<<" ";
getch();
Output:
Tugas Akhir Pertemuan 1
#include<iostream>
#include<conio.h>
int main()
int i, jumlah=0;
float rata_rata;
//menghitung jumlah
jumlah+=nilai[i];
rata_rata= (float)jumlah/12;
for(i=0;i<12;i++)
cout<<nilai[i]<<" ";
getch();
Output:
LAPORAN AWAL
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
3. Source code:
#include<iostream>
main()
struct Mahasiswa
int Nim;
char Nama[30];
char Almt[50];
};
cout<<"Nama : aw"<
cout<<"NIK : 484848477"<
Mahasiswa Mhs;
cout< : ";cin>>Mhs.Nama;
cout<>Mhs.Almt;
cout<
cout<<"NIM : "<
cout<<"NAMA : "<
cout<<"ALAMAT : "<
return 0;
4. Source code:
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <iomanip>
using namespace std;
struct TINGGAL{
char jalan[50];
int kode_pos;
char kota[50];
};
struct TANGGAL{
char tanggal[5];
char bln[10];
char thn[4];
};
struct BIODATA{
TANGGAL tanggal_mulai_kerja;
TINGGAL alamat;
TANGGAL tanggal_lahir;
};
main()
BIODATA pegawai[5];
int i,a;
system(“cls”);
cout<<“NIP : “;cin>>pegawai[i].NIP;
cout<<“Nama : “;cin>>pegawai[i].nama;
cout<<“Jabatan : “;cin>>pegawai[i].jabatan;
cout<<“Agama : “;cin>>pegawai[i].agama;
cout<<“Tanggal : “;cin>>pegawai[i].tanggal_lahir.tanggal;
cout<<“Bulan : “;cin>>pegawai[i].tanggal_lahir.bln;
cout<<“Tahun : “;cin>>pegawai[i].tanggal_lahir.thn;
cout<<“—>Alamat \n”;
cout<<“Jalan : “;cin>>pegawai[i].alamat.jalan;
cout<<“Kota : “;cin>>pegawai[i].alamat.kota;
cout<<“Tanggal : “;cin>>pegawai[i].tanggal_mulai_kerja.tanggal;
cout<<“Bulan : “;cin>>pegawai[i].tanggal_mulai_kerja.bln;
cout<<“Tahun : “;cin>>pegawai[i].tanggal_mulai_kerja.thn;
system(“cls”);
cout<<“———–DATA PEGAWAI———–“<<endl;
cout<<“NIP : “<<pegawai[i].NIP<<endl
<<“Nama : “<<pegawai[i].nama<<endl
<<“Jabatan : “<<pegawai[i].jabatan<<endl
<<“Agama : “<<pegawai[i].agama<<endl
<<pegawai[i].tanggal_lahir.bln<<“-“
<<pegawai[i].tanggal_lahir.thn<<endl
<<“Alamat : “<<pegawai[i].alamat.jalan<<“, “
<<pegawai[i].alamat.kota<<” – “
<<pegawai[i].alamat.kode_pos<<endl
<<pegawai[i].tanggal_mulai_kerja.bln<<“-“
<<pegawai[i].tanggal_mulai_kerja.thn<<endl
getch();
system(“PAUSE”);
Kesimpulan materi array: Array adalah tipe data terstruktur yang berfungsi untuk
menyimpan sejumlah data yang tipenya sama. Bagian yang menyusun array
disebut dengan isi atau elemen array, masing-masing elemen bisa diakses melalui
indeks array.
Array Satu Dimensi : elemen array yang hanya memiliki satu buah baris atau
kolom dan hanya dapat diakses oleh program menggunakan suatu indeks tertentu.
Array Dua Dimensi : elemen array yang hanya memiliki satu buah baris atau
kolom dan sering digambarkan sebagai sebuah matriks atau bentuk grid.
LAPORAN AKHIR
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Source code:
#include<iostream>
#include<conio.h>
int main()
int nilai[10];
int i, jumlah = 0;
float Rata_rata;
cin>>nilai [i];
jumlah+=nilai [i];
for (i=0;i<10;i++)
{
cout<<nilai[i]<<"";
getch();
Output:
Source code:
#include <iostream>
#include <conio.h>
#include <iomanip>
int main()
cout<<endl;
do
while
((baris>10)||(kolom>10));
cout<<"\nMatrix A"<<endl;
for(i=0;i<baris;i++)
for(j=0;j<kolom;j++)
cout<<"\nMatrix B"<<endl;
for(i=0;i<baris;i++)
for(j=0;j<kolom;j++)
cout<<endl;
cout<<endl;}
getch();
Output:
LAPORAN AWAL
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Jawaban:
1. Pointer adalah suatu variabel yang berisi alamat memori dari variasi variabel
lain. Alamat ini merupakan lokasi dari variabel lain didalam memori, dengan kata
lainpointer berisi alamat dari variabel yang mempunyai nilai tertentu.
2. Variabel pointer berarti variabel yang berisi alamat memori suatu nilai.
3.a. Operator deference (&): Variabel akan ditempatkan karena penempatan suatu
variabel ditemukan oleh system operasi, untuk suatu keperluan tertentu terkadang
kita harus mengetahui alamat suatu variabel didalam memori,untuk memperoleh
alamat dari suatu variabel dapat kita lakukan dengan bentuk.
4. #include "stdio.h"
#include "conio.h"
main ()
int x, *alamat_x;
x=200;
alamat_x = &x;
printf ("\n Variabel x tersebut disimpan pada alamat memori : %p", alamat_x);
getch();
Bentuk umum:
struct nama_struct
...
}
LAPORAN AKHIR
PRAKTIKUM STRUKTUR DATA
LAPORAN PERTEMUAN KE-3
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Buatlah program untuk struktur data Nilai yg terdiri dari NIM, Nama,
Nilai_tugas, Nilai_UTS, Nilai_UAS, Nilai_Akhir, Nilai_Huruf.
Ketentuan:
Source code:
#include<iostream>
struct mahasiswa
char nim[20];
char nama[50];
float nilai_akhir;
char nilai_huruf;
};
int main()
mahasiswa mhs;
cout<<"=================================="<<endl;
cout<<"Nama Mahasiswa: "; cin.getline(mhs.nama, 50);
mhs.nilai_akhir= (0.2*mhs.nilai_tugas)+(0.35*mhs.nilai_uts)
+(0.45*mhs.nilai_uas);
if(mhs.nilai_akhir>=85)
mhs.nilai_huruf='A';
else if(mhs.nilai_akhir>=70)
mhs.nilai_huruf='B';
else if(mhs.nilai_akhir>=55)
mhs.nilai_huruf='C';
else if(mhs.nilai_akhir>=40)
mhs.nilai_huruf='D';
}
else if(mhs.nilai_akhir>=0)
mhs.nilai_huruf='E';
cout<<endl;
cout<<"=================================="<<endl;
cout<<"\tDATA MAHASISWA"<<endl;
cout<<"=================================="<<endl;
cout<<"NIM: "<<mhs.nim<<endl;
Output:
Tugas Akhir Pertemuan 3
Source code:
#include<iostream>
struct data
};
struct tinggal
char jalan[50];
int kode_pos;
char kota[15];
};
struct tanggal
{
char bulan[10];
};
int main()
data bd;
tinggal tl;
cout<<"==================================="<<endl;
cout<<"alamat: "<<endl;
cout<<"==================================="<<endl;
cout<<"==================================="<<endl;
cout<<"==================================="<<endl;
cout<<"==================================="<<endl;
cout<<"DATA KARYAWAN"<<endl;
cout<<"==================================="<<endl;
cout<<"NIP: "<<bd.nip<<endl;
cout<<"Nama: "<<bd.nama<<endl;
cout<<"Jabatan: "<<bd.jabatan<<endl;
cout<<"Agama: "<<bd.agama<<endl;
Output:
LAPORAN AWAL
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Soal.
2. Jelaskan yang dimaksud dengan pemanggilan secara nilai ( call by value ) dan
pemanggilan secara referensi ( call by reference )
3. Jelaskan yang dimaksud dengan variabel lokal, Varabel eksternal atau global,
dan variabel statis
Jawaban:
main(){
int al,tg,hsl;
cout<<"Alas = ";cin>>al;
cout<<"Tinggi = ";cin>>tg;
luas(hsl,al,tg);
cout<<"Luas Segitiga = "<<hsl;
getch();
}
- Operator reference ( * )
LAPORAN AKHIR
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Menjalankan program
Source code:
#include<stdio.h>
#include<conio.h>
#include<iostream>
using namespace std;
main()
{
int Nilai [] = {45, 23, 50, 8, 12, 10, 15};
int *Ptr_Nilai;
int i;
Ptr_Nilai = Nilai;
cout<<"\nNilai Ptr_Nilai"<<Ptr_Nilai;
cout<<"\nAlamat Array Nilai"<<Ptr_Nilai;
cout<<"\nNilai Yang Ada Pada Alamat
"<<Ptr_Nilai<<"Adalah"<<*Ptr_Nilai;
cout<<"\nElemen Array Indeks Pertama "<<Nilai [0];
cout<<"\nElemen Array ( Dengan Array ) :";
for (i=0;i<7;i++)
cout<<Nilai[i]<<" ";//Mencetak Elemen Array
cout<<"\n\nElemen Array ( Dengan Pointer ) :";
for (i=0;i<7;i++)
cout<<*( Nilai )<<" ";//Mencetak Elemen Array
getch ( );
}
Output:
Tugas Akhir Pertemuan 4
Buatlah program menggunakan kombinasi antara pointer dengan
array 2 dimensi!
Source code:
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
system("COLOR F0");
char number[2][5] = { { 'R', 'I', 'Z', 'K', 'Y'}, { 'F', 'A', 'U', 'Z', 'I' } };
char *pNumbers[2];
*pNumbers = number[0];
*(pNumbers+1) = number[1];
return 0;
}
cout << "\nIndeks ke - [" << i << "][" << j << "]: " << (*(nbr+i))[j];
Output:
LAPORAN AWAL
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Soal
1. Apa yang dimaksud dengan searching!
2. Jelaskan perbedaan dari sequential search, binary search, dan
interpolation search sebagai metode-metode searching!
3. Jelaskan apa saja yang mempengaruhi kecepatan proses pencarian data di
dalam penyimpanan data!
4. Buatlah contoh program sederhana menggunakan searching!
Jawaban
Binary Search : metode pencarian suatu data atau elemen didalam suatu
array dengan kondisi data dalam keadaan terurut.
4. Source code:
#include <conio.h>
#include <iostream.h>
main(){
int c,i,posisi;
int A[20]={3,2,4,10,20,1,5,8,7,9,6,5,11,12,14,13,16,15,17,19};
cout<<“Data : “;
for(i=0;i<20;i++){
cout<<A[i]<<” “;
}
cout<<“\nData yang ingin dicari : “;
cin>>c;
i=0;
posisi=0;
while(i<19 && A[i]!=c){
i++;
}
if (A[i]!=c){
cout<<“Maaf data yang dicari tidak ada”;
}else if(posisi=i+1)
cout<<“ditemukan pada posisi ke “<<posisi;
getch();
}
Output:
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Source code:
#include<iostream>
#include<conio.h>
using namespace std;
Output:
Tugas Akhir Pertemuan 5
Buatlah program dengan menggunakan kombinasi antara fungsi
dan pointer!
Source code:
#include <stdio.h>
#include <iostream>
#include <windows.h>
using namespace std;
int hitung(const char *);
main()
{
char string[80];
system("COLOR F0");
cout<<"PROGRAM FUNGSI DENGAN POINTER"<<endl;
cout<<"\nMenghitung Banyaknya Karakter Yang Di Input
Menggunakan Fungsi Dan Pointer"<<endl;
cout<<"\nKetikkan Kata / Kalimat : ";
cin.getline(string,80);
cout<<"\nJumlah Karakter : "<<hitung(string)<<" Karakter";
return 0;
}
}
Output:
LAPORAN AWAL
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Soal
1. Apa yang dimaksud dengan shorting!
2. Jelaskan perbedaan dari pengurutan internal dan pengurutan eksternal!
3. Jelaskan perbedaan metode2 sorting seperti bubble sort, quick sort,
selection sort, merge sort, tree sort, maximum sort, dan insertion sort!
4. Buatlah contoh program sederhana menggunakan sorting!
Jawaban
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
struct biodata{
int nip;
char nama[20];
char jabatan[20];
char agama[10];
char alamat[50];
}pegawai[0];
int main()
{
int i, n;
cout <<endl;
cout << " --- Biodata Pegawai Kampus Unpam --- " <<endl;
cout << "======================================"
<<endl;
Output:
Tugas Akhir Pertemuan 6
Source code:
#include <iostream>
#include <conio.h>
main()
bool ketemu;
int posisi[25];
int c,i,banyak=0;
int
data[25]={34,8,50,74,87,90,12,25,20,30,35,45,40,22,29,72,60,55,53,12,32,33,12,4
1,12};
cout<<"Data : ";
for(i=0;i<25;i++)
cout<<data[i]<<" ";
for (i=0;i<25;i++)
if (data[i]==c)
ketemu=true;
posisi[banyak]=i+1;
banyak++;
if (ketemu)
cout<<"Data : "<<c;
for(i=0;i<banyak;i++)
cout<<posisi[i]<<" ";
else
{
getch();
Output:
LAPORAN AWAL
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
Soal
Jawaban:
Data yang diurut dapat berupa data bertipe data dasar atau tipe data bentukan.
Jika data bertipe bentukan (structure), maka harus disebutkan berdasarkan field
apa data tersebut akan diurutkan.
1. Bubble Sort
2. Selection Sort
3. Quick Sort
4. Merge Sort
5. Heap Sort
6. Shell Sort
7. Radix Sort
8. Tree Sort
9. Maximum Sort
10.Insertion Sort
LAPORAN AKHIR
PRAKTIKUM STRUKTUR DATA
Disusun oleh:
Nama: Rizky Fauzi
NIM: 191011400265
Kelas: 04TPLP003
#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;
int main()
{
int Nilai[20];
int i, j, k, N;
int temp;
bool tukar;
cout<<"Masukkan Banyak Bilangan : ";
cin>>N;
for(i=0; i<N; i++)
{
cout<<"Elemen ke-"<<i<<" : ";
cin>>Nilai[i];
}
//Proses Pengurutan
i=0;
tukar = true;
while ((i<=N-2) && (tukar))
{
tukar=false;
for(j=N-1; j>=i+1; j--)
{
if(Nilai[j] > Nilai[j-1])
{
temp = Nilai[j];
Nilai[j] = Nilai[j-1];
Nilai[j-1] = temp;
tukar = true;
cout<<endl;
for(k=0; k<N; k++)
cout<<setw(3)<<Nilai[k];
}
}
i++;
}
//Proses Cetak Setelah diurutkan
cout<<"\nData Setelah di urut : ";
for(i=0; i<N; i++)
cout<<setw(3)<<Nilai[i];
getch();
}
Output:
Tugas Akhir Petemuan 7
Buatlah program untuk mengurutkan sederetan data: 34, 12, 56, 78, 6, 43,
32, 20, 90, 50, 55, 75, 85, 95, 25!
Source code:
#include <iostream>
int A[50];
int main()
{
int i, elemen;
cout<<endl;
for(i=1;i<=elemen;i++)
cin>>A[i];
cout<<endl;
MergeSort(1,elemen);
cout<<endl;
for(i=1;i<=elemen;i++)
return 0;
//prosedure Mergesort
void MergeSort(int low, int high)
int mid;
if(low<high)
mid = (low+high)/2;
MergeSort(low,mid);
MergeSort(mid+1, high);
//Prosedure Merge
int h,i,j,k,b[50];
h=low;
i=low;
j=mid+1;
while((h<=mid)&&(j<=high))
{
if(A[h]<A[j])
b[i]=A[h];
h++;
}else{
b[i]=A[j];
j++;
i++;
if(h>mid)
for(k=j;k<=high;k++)
b[i]=A[k];
i++;
}else{
for(k=h;k<=mid;k++)
b[i]=A[k];
i++;
for(k=low;k<=high;k++)
A[k]=b[k];
Output:
Kartu ujian
Kartu pembayaran