STRUKTUR DATA – TEKNIK INFORMATIKA S1

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

STRUKTUR DATA array stack dan queue
Abstract data type (Structure, Union, Enumeration)
Struktur Sugeng Supriyadi, M.Kom.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
ARRAY Dr. Lily Wulandari.
STACK (TUMPUKAN).
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA
STRUKTUR DATA (1).
Algoritma & Struktur Data Abstract Data Type Evangs Mailoa.
Algorithm and Data Structures.
STRUKTUR DATA Structure.
SEMESTER GANJIL 2009/2010.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
PRAKTIKUM STRUKTUR DATA STACK SULIDAR FITRI, M.Sc MARCH, 2014.
STRUKTUR DATA (4) array stack dan queue
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
STRUKTUR DATA Queue atau Antrian.
STACK.
Pertemuan 8 Stack dengan Array
Stack Pertemuan 11.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Universitas Budi Luhur
Array (bagian 2).
Stack.
Sapta Candra Miarsa,S.T.,M.T.
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA STACK.
STRUCT (Dalam Bahasa C)
Abstract Data Type (ADT) and Stack Array
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Defri Kurniawan QUEUE Defri Kurniawan
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
Algoritma dan Struktur Data
Struktur Data Khoiriya Latifa, M.Kom.
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
Stack.
STACK Yohana Nugraheni.
Algoritma dan Struktur Data
Algoritme dan Stuktur Data
Stack.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
BAB II – ADT (ABSTRACT DATA TYPE)
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
STRUKTUR DATA STACK.
STRUKTUR DATA Stack atau Tumpukan.
Algoritma dan Struktur Data
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK.
Algoritma dan Struktur Data
STACK (Tumpukan) Tumpukan Koin.
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

STRUKTUR DATA – TEKNIK INFORMATIKA S1 ADT STACK STRUKTUR DATA – TEKNIK INFORMATIKA S1

Struct Seorang mahasiswa memiliki atribut data berupa Nim, Nama, dan IPS Nim Nama IPS Tentukan tipe data tiap atribut data? Dan tipe data bentukan yang tepat?

Struct - Lanjut Seorang mahasiswa memiliki atribut data berupa Nim, Nama, dan IPS Nim (char) Nama (char) IPS (float) mahasiswa struct mahasiswa { char nim[13]; char nama[25]; float ips; }; NIM terdiri dari Kode Jurusan/Prodi Tahun Angkatan Nomor Urut (5 digit)

Struct - Lanjut Kode_jur (char) Thn_masuk (int) NIM terdiri dari Kode Jurusan/Prodi Tahun Angkatan Nomor Urut (5 digit) Kode_jur (char) Thn_masuk (int) No_urut (int) Nim struct Nim { char kode_jur[3]; int thn_masuk; int no_urut; };

Struct Bertingkat (Nested Struct) mahasiswa Nama (char) IPK (float) Nim (char) Nama (char) IPK (float) Kode_jur Thn_masuk No_urut Nim mahasiswa struct mahasiswa { struct Nim nim; char nama[25]; float ips; };

Cara Akses Member Nested Struct struct Nim { char kode_jur[3]; int thn_masuk; int no_urut; }; Cara Akses Member:: kode_jur mhs.nim.kode_jur Cara Akses Member:: thn_masuk mhs.nim.thn_masuk Cara Akses Member:: no_urut mhs.nim.no_urut struct mahasiswa { struct Nim nim; char nama[25]; float ips; }; Jika variabel pointer operator (.) diganti dengan anak panah (->)

Cara Akses Member Nested Struct struct mahasiswa mhs; printf("Masukkan Kode Jurusan : "); scanf("%s",&mhs.nim.kode_jur); printf("Masukkan Tahun Masuk : "); scanf("%d",&mhs.nim.thn_masuk); printf("Masukkan No Urut (5 digit) : "); scanf("%d",&mhs.nim.no_urut); printf("Masukkan Nama Lengkap : "); scanf("%s",&mhs.nama); printf("Masukkan IPS : "); scanf("%f",&mhs.ips); printf("Data Mahasiswa\n"); printf("NIM : %s.%d.%d \n",mhs.nim.kode_jur,mhs.nim.thn_masuk,mhs.nim.no_urut); printf("Nama Lengkap : %s \n",mhs.nama); printf("IPS : %f \n",mhs.ips);

ADT Suatu data jam dapat dibentuk menjadi suatu tipe data abstrak, dimana jam memiliki elemen-elemen pendukung seperti detik, menit dan jam itu sendiri. Serta dapat memuat fungsi-fungsi operasi dasar yang mendukung operasional data jam.

Header ADT Jam (jam.h) #include <stdio.h> #include <stdlib.h> typedef int time; typedef struct { time HH,MM,SS; }jam; void resetJam(jam *J); void tulisJam(jam *J,time hours,time minutes,time seconds);

Realisasi (Body) dari jam.h (jam.c) #include "jam.h" void resetJam(jam *J){ J->HH=0; J->MM=0; J->SS=0; } void tulisJam(jam *J,time hours,time minutes,time seconds){ J->HH=hours; J->MM=minutes; J->SS=seconds;

Main Program ADT Jam (main.c) #include "jam.h" int main() { jam WIB,WIT,WITA; tulisJam(&WIB,20,50,10); printf("Jam Waktu Indonesia Barat: %.2d:%.2d:%.2d \n",WIB.HH,WIB.MM,WIB.SS); resetJam(&WIB); printf("Reset Jam WIB %.2d:%.2d:%.2d",WIB.HH,WIB.MM,WIB.SS); return 0; }

Penggunaan Nested Struct (jam.h) typedef int time; typedef char * String; struct daerah{ String kota[20]; String provinsi[20]; }; typedef struct { struct daerah area; time HH,MM,SS; }jam;

Penggunaan Nested Struct (mjam.c) void tulisJamDaerah(jam *J,time hours,time minutes,time seconds,String k,String p) { J->HH=hours; J->MM=minutes; J->SS=seconds; strcpy(J->area.kota,k); strcpy(J->area.provinsi,p); }

Penggunaan Nested Struct (mjam.c) int main() { jam WIB,WITA,WIT; tulisJamDaerah(&WIB,20,50,1,"Semarang","Jawa Tengah"); printf("Jam WIB area %s provinsi %s %.2d:%.2d:%.2d \n",WIB.area.kota,WIB.area.provinsi,WIB.HH,WIB.MM,WIB.SS); resetJam(&WIB); printf("Reset Jam WIB %.2d:%.2d:%.2d \n",WIB.HH,WIB.MM,WIB.SS); return 0; }

ADT STACK

Pengertian STACK STACK berarti tumpukan. Konsep STACK digunakan dalam struktur data. A B C D TOP IN OUT Berlaku prinsip LIFO (Last In First Out)

Stack Stack dapat direpresentasikan menggunakan array satu dimensi. 25 12 1 17 2 15 33 3 4 5 6 7 8 9 S[10] TOP X

Kondisi Stack Kondisi Stack ditentukan oleh posisi atau isi TOP. Jika n adalah jumlah data array Kondisi Stack Posisi TOP KOSONG Top = -1 PENUH Top = n-1 BISA DIISI Top < n-1 ADA ISINYA Top > -1

Pembuatan Stack dengan Array of Struct Definisikan STACK dengan struct Definisikan konstanta (ex: MAX_STACK) untuk menyimpan maksimum isi elemen stack Menentukan elemen Struct Stack meliputi data array untuk menampung data stack dan top untuk menandakan posisi data teratas Buat variabel dari Struct Stack Tentukan operasi – operasi / function diatas

Program Stack #define MAX_STACK 10 Typedef struct { int top; char data[10][10]; } stack; stack tumpuk;

Operasi-operasi Dasar Stack Digunakan untuk menambah item pada stack pada tumpukan paling atas Push Digunakan untuk mengambil item pada stack pada tumpukan paling atas Pop Fungsi untuk mengecek apakah stack kosong IsEmpty Fungsi untuk mengecek apakah stack penuh IsFull

Inisialisasi Stack Top diisi dengan -1, karena array (dalam bahasa C) dimulai dari 0, yang berarti bahwa data stack kosong Top adalah variabel penanda dalam stack yang menunjukkan elemen teratas data stack (Top Of Stack)

Memeriksa Stack Penuh Fungsi isFull Apakah stack penuh ? Dengan cara memeriksa ToS, jika sudah sama dengan MAX_STACK–1 maka stack full, Jika masih kurang dari MAX_STACK–1 maka belum full

Memeriksa Stack Kosong Fungsi IsEmpty Apakah stack kosong ? Memeriksa ToS, jika masih -1 maka stack masih kosong

Menambah Data Stack Fungsi Push Memasukkan data ke stack Data yang diinput menjadi data teratas dari stack (ditunjuk oleh ToS) Jika data belum penuh, tambah satu (increment) nilai ToS lebih dahulu setiap kali ada penambahan ke dalam array data stack Isikan data baru ke stack berdasarkan index ToS yang telah di-increment

Mengambil Data Stack Fungsi Pop Mengambil data stack yang terletak paling atas (data yang ditunjuk ToS) Tampilkan terlebih dahulu nilai elemen teratas dengan mengakses index sesuai dengan ToS Decrement nilai ToS sehingga elemen stack berkurang

Terima Kasih