Anda di halaman 1dari 8

STRUKTUR DATA

(UAS)

DISUSUN OLEH:
DIVA AGUSTARA
C2055201002

SEKOLAH TINGGI MANAJEMEN INFORMATIKA


PALANGKARAYA
TEKNIK INFORMATIKA
2020/2021
1. Struktur Data List Linear:
Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa
dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau
keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk
tulisan, suara, gambar, sinyal atau simbol.
List linier adalah sekumpulan elemen bertipe sama yang mempunyai keturutan tertentu, dan
setiap elemen nya terdiri dari dua bagian, yaitu informasi mengenai elemen nya dan informasi
mengenai alamat elemen suksesornya. Penggunaan List dalam Kehidupan Sehari - hari
Misalnya:
• Urutan angka pada keyboard komputer
• Urutan lagu pada playlist Mp3 player
• Dll
Linked List ( LL ) Adalah koleksi data item yang tersusun dalam sebuah barisan  secara linear,
dengan penyisipan dan pemindahan dapat dilakukan dalam semua tempat di LL tersebut. Single
Linked List Adalah sebuah LL yang menggunakan sebuah variabel pointer saja untuk
menyimpan banyak data dengan metode LL, suatu daftar isi yang saling berhubungan. Double
Linked List, Dalam double LL ( Linked List berpointer ganda ) dapat mengatasi kelemahan-
kelemahan single LL tersebut. Circular Linked List Adalah double / single LL yang simpul
terakhirnya menunjuk ke simpul awal, dan simpul awalnya menunjuk ke simpul akhir, atau dapat
disebut LL yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik awal dan titik
akhir saling bersebelahan jika LL tersebut masih kosong.
List linier memiliki 2 jenis, yaitu:
Stack (Tumpukan): Struktur data linear dimana penambahan atau pengurangan komponen
dilakukan di satu ujung saja dan merupaan suatu bentuk khusus dari linear list di mana operasi
penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja.
Operasi pada stack:
1). Push : Operator ini berfungsi untuk menambahkan satu elemen ke dalam stack.
2). Pop : Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack.
Queue (Antrian): Struktur data linear dimana penambahan komponen dilakukan di satu ujung,
sementara pengurangan dilakukan di ujung lain.
Struktur Data, meliputi:
Struktur data sederhana, misalnya array dan record.
Struktur data majemuk, yang terdiri dari:
Linier : Stack, Queue, sertaList dan Multilist
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma
yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan
sederhana.
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:
* List linier (Linked List) dan variasinya
* Multilist
* Stack (Tumpukan)
* Queue (Antrian)
* Tree ( Pohon)
* Graph ( Graf )
2. Data List Linear
Secara umum jenis data dapat digolongkan menjadi 4 golongan, yaitu :
• Jenis dasar, adalah jenis data yang dianggap sudah terdefinisi misalnya integer, real,
boolean, character; suatu data yang memiliki jenis ini setiap saat hanya dapat memiliki satu nilai.
• Jenis bentukan, adalah jenis data yang merupakan komposisi dari jenis dasar; suatu data
yang memiliki jenis ini setiap saat hanya dapat memiliki satu nilai yang sesuai dengan susunan
dari jenis dasar yang didefinisikannya.
• Tabel, adalah jenis data yang terdiri atas sekumpulan unsur berjenis sama yang tersusun
secara kontinu dan setiap unsur dapat diperoleh melalui indeks tabel; suatu data yang memiliki
jenis ini setiap saat dapatmemiliki banyak nilai sesuai dengan ukuran tabel.
• Pointer, adalah jenis data yang menyimpan alamat komputer dari suatu data.
Data yang ada di dunia nyata seringkali amat kompleks, sehingga membutuhkan suatu abstraksi
dari representasi data tersebut, agar memudahkan dalam merancang struktur datanya.
3. . Stack secara sederhana memiliki pengertiannya yaitu adalah struktur data yang
memungkinkan penyisipan dan pengambilan data dilakukan dari satu ujung yang disebut puncak.
Metode stack ini memiliki sifat tersendiri, yaitu last in first out. Jadi, data yang terakhir masuk
akan keluar paling terakhir sendiri, metode stack ini mirip antrian yang terjadi di toko - tokok.
Siapa yang antri duluan maka akan di layani terlebih dahulu dan akan keluar dari toko lebih dulu.
Kurang lebih seperti itulah ilustrasi metode stack yang akan kita buat nanti. Contoh program
stack yang akan kita buat nanti adalah antrian yang terdapat pada toko.Stack juga memiliki 2
operasi yaitu, operasi push dan operasi pop. Operasi push merupakan menginputkan data ke
dalam stack dan operasi pop adalah menghapus data yang ada di stack. Selain itu, stack juga
memiliki beberapa fungsi dasar untuk mengecek apakah stack dalam keadaan penuh atau tidak
dan stack dalam keadaan kosong atau tidak.

Kode Program Contoh Program C++ Menggunakan Metode Stack

Program C++ Menggunakan Metode Stack

#include <iostream>

#define JumlahAntrian 10 // Inisialisasi bahwa variabel JumlahAntrian dapat menampung


antrian sebanyak 10

using namespace std;

struct ANTRIANTOKO{ /* Mendeklarasasikan struct ANTRIANTOKO yang terdiri

int antrianAtas; atas variabel antrianAtas dan antrian untuk menyimpan data

int antrian[JumlahAntrian]; antrian */


}toko;

void inisialisasi(){ /* fungsi untuk memastikan bahwa posisi sedang berada

toko.antrianAtas = -1; di indeks ke 0 */

bool kondisiKosong(){ /* kondisiKosong akan memberikan hasil true apabila

return toko.antrianAtas == -1; toko.antrianAtas sama dengan -1 */

bool kondisiPenuh(){ /* kondisiPenuh akan memberikan nilai true apabila

return toko.antrianAtas == JumlahAntrian - 1; toko.antrianAtas sama

} dengan JumlahAntrian - 1 */

void inputData(){ /* sebelum menginputkan data, akan di lakukan pengecekan

if (kondisiPenuh()) { terlebih dahulu apakah kondisiPenuh atau tidak, jika

cout << "\nAntrian penuh"<<endl; tidak maka akan dilanjutkan proses

} memasukkan data */

else {

toko.antrianAtas++;

cout << "\nMasukkan Antrian = "; cin >> toko.antrian[toko.antrianAtas];

cout << "Antrian " << toko.antrian[toko.antrianAtas] << " Telah Masuk Ke Toko
Antrian"<<endl;

}
void hapusData(){ /* sebelum menghapus data, di lakukan pengecekan apakah

if (kondisiKosong()) { kondisi stack kosong atau tidak, jika tidak maka akan

cout << "\nAntrian kosong\n"<<endl; lanjut ke pemrosesan penghapusan

} data */

else {

cout << "\nAntrian "<<toko.antrian[toko.antrianAtas]<<" Telah Di Hapus"<<endl;

toko.antrianAtas--;

void tampilData(){ /* apabila kondisiKosong sama dengan benar, maka stack

if (kondisiKosong()) { dalam keadaan kosong */

cout << "Antrian kosong";

else { /* Jika tidak maka akan di tampilkan seluruh antrian pada stack */

cout << "\nAntrian : ";

for (int i = toko.antrianAtas; i >= 0; i--)

cout << toko.antrian[i] << ((i == 0) ? "" : ",");

int main(){
int pilihan;

inisialisasi();

do {

tampilData();

cout << "\n1. Masukkan Data\n"

<<"2. Hapus Data\n"

<<"3. Keluar\n"

<<"Masukkan Pilihan: ";

cin >> pilihan;

switch (pilihan)

case 1:

inputData();

break;

case 2:

hapusData();

break;

default:

cout << "Pilihan tidak tersedia" << endl;

break;

} while (pilihan

4. . Queue dalam bahasa Indonesia berarti “antrian”. Sehingga tidak heran jika pernah mendengar
atau pernah sekilas mengetahui queue. Pada dasarnya struktur data queue ini tidak jauh berbeda
dengan stack. Karena pada beberapa bagian, queue memiliki kemiripan dengan stack. Hanya
saja, struktur data queue ini memiliki sifat  atau prinsip FIFO (First In First Out), yang artinya
“pertama masuk, pertama keluar”.
Queue (antrian) adalah salah satu list linier dari struktur data yang beroperasi dengan cara First
In First Out (FIFO) yaitu elemen pertama yang masuk merupakan elemen yang pertama keluar.
Data-data di dalam antrian dapat bertipe integer, real, record dalam bentuk sederhana atau
terstruktur. Queue dilakukan dengan cara penyisipan di satu ujung, sedang penghapusan di ujung
lain. Ujung penyisipan biasa disebut rear/tail, sedang ujung penghapusa disebut front/head.
Sebuah queue dalam program setidaknya harus mengandung tiga variabel, yakni: head untuk
penanda bagian depan antrian, tail unttuk penanda bagian belakang antrian, dan array data untuk
menyimpan data-data yang dimasukkan ke dalam queue tersebut.
Pada queue ada operasi-operasi dasar, yaitu: prosedur create untuk membuat queue baru yang
kosog, fungsi IsEmpty untuk mengecek queue tersebut kosong atau tidak, fungsi IsFull untuk
mengecek queue tersebut penuh atau tidak, prosedur EnQueue untuk memasukkan data kedalam
queue, prosedur DeQueue untuk mengeluarkan sebuah elemen pada posisi head dari queue,
fungsi clear untuk menghapus elemen queue, dan prosedur tampil untuk menampilakn elemen
yang ada pada queue.
Ada beberapa queue, yaitu: queue dengan linear array yaitu queue yang dibuat seakan-akan
merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar, queue dengan
circular array yaitu queue yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik
awal (head) dan titik akhir (tail) saling bersebelahan jika array tersebut masih kosong, dan queue
dengan linked-list.
5. #include <iostream>
using namespace std;

main ()
{

long gaji,tunj_suami,tunj_anak,lembur,jum_gaji,jam_lembur,tot_lembur,tot_gaji;

cout<<" Program Menghitung Gaji Butet 1 Tahun"<<endl;

cout<<"[1] Gaji / Bulan = 2500000"<<endl;

cout<<"[2] Tunjangan Anak = 100000"<<endl;

cout<<"[3] Lembur / Jam = 50000"<<endl;

cout<<""<<endl;

lembur=50000;

cout<<"Masukkan Gaji Butet / Bulan :";cin>>gaji;

cout<<"Masukkan Tunjangan Suami / Bulan :" ;cin>>tunj_suami;


cout<<"Masukkan Tunjangan Anak / Bulan :" ;cin>>tunj_anak;

cout<<"Masukkan Jam Lembur / Hari :" ;cin>>jam_lembur;

tot_lembur=jam_lembur*lembur;

cout<<"Maka Total Lembur :"<<tot_lembur;

jum_gaji = gaji+tunj_suami+tunj_anak+tot_lembur;

tot_gaji=jum_gaji*12;

return 0;

}
Penjelasan:Program yang berada disoal ini akan error jika dimasukkan ke C++,dank ode diatas
tidak

Anda mungkin juga menyukai