Successfully reported this slideshow.
Upcoming SlideShare
×

struct & stack

2,815 views

Published on

Tek Informatika UNUD

Published in: Technology, Economy & Finance
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Tanks....

Are you sure you want to  Yes  No
• Be the first to like this

struct & stack

1. 1. Resume Struct & Stack 1Daftar IsiDaftar Isi .................................................................................................................................................1Bab I Struct .............................................................................................................................................21.1. Definisi Struct...............................................................................................................................21.2. Deklarasi Struct ............................................................................................................................21.3. Pengaksesan Elemen Struct ..........................................................................................................31.4. Structure dan Fungsi.....................................................................................................................31.5. Kasus Struct..................................................................................................................................4Bab II Stack.............................................................................................................................................52.1. Definisi Stack................................................................................................................................52.2. Deklarasi Stack dalam Program....................................................................................................52.3. Operasi – operasi dasar dalam stack.............................................................................................6Bab III Infix, Prefix, Postfix ...................................................................................................................83.1. Pendahuluan..................................................................................................................................83.2. Konversi Notasi ............................................................................................................................93.3. Evaluasi Ekspresi........................................................................................................................123.4. Kasus Stack.................................................................................................................................13
2. 2. Resume Struct & Stack 2Bab I Struct1.1. Definisi StructStruct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang bernaungdalam satu nama yang sama dan memiliki kaitan satu sama lain.Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, struct bisamemiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisamenyimpan variabel yang bertipe data array atau struct itu sendiri.Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct.1.2. Deklarasi StructStructure merupakan kumpulan dari satu atau beberapa variabel yang mempunyai tipesama atau berbeda (Heterogenous). Variabel dalam structure sering disebut dengan namakomponen, field, elemen atau members. Suatu struktur dinyatakan dengan kata kuncistruct, daftar pernyataan variable yang disebut anggota, yang terlampir dalam tandakurung { }. Tiap pernyataan anggota dan struktur harus berakhir dengan semicolon ( ; ).Bentuk umum deklarasi structure pada C:struct <struct_name>{<type> <elemen_name1>;<type> <elemen_name2>;} <structure_variable>;Contoh:struct Mahasiswa{char nama[20];float ip;int semester;};Untuk mendefinisikan variabel X dengan tipe struct Mahasiswa adalah sbb:struct Mahasiswa X;Satu atau beberapa variabel dapat juga didefinisikan pada saat structure tersebutdideklarasikan. Contoh: X dan Y adalah variabel bertipe struct Mahasiswastruct Mahasiswa{char nama[20];
3. 3. Resume Struct & Stack 3float ip;int semester;} X,Y;1.3. Pengaksesan Elemen StructBentuk umum:<structure_variable>.<field_name><structure_pointer>→<field_name>Contoh:X.semester = 4;X.ip = 3.75;Mahasiswa *ptr = &X;ptr→semester = 4;1.4. Structure dan Fungsi1. Passing parameterPassing structure ke dalam fungsi sama seperti tipe data yang lain. Contoh mem-passing struct Mahasiswa ke fungsivoid cetak(struct Mahasiswa X){printf(“Nama=%sn”,X.nama);printf(“IP = %fn”,X.ip);}void main(){Mahasiswa X;cetak(X);}2. Structure sebagai return valuestruct Mahasiswa Mhs;..struct Mahasiswa Entry(char *nama, int sem,float ip){strcpy(Mhs.nama,nama);Mhs.semester = sem;Mhs.ip = ip;return(Mhs);}
4. 4. Resume Struct & Stack 41.5. Kasus Struct1. Buatlah sebuah program data siswa dengan menggunakan struct dengan syarat berikut :1. program mempersiapkan sebuah struct yang dapat menyimpan Nama Siswa, ID Siswa,Nilai Siswa.2. Kemudian program dapat menampilkan data Nama, ID, dan Nilai Siswa yang telahdimasukkan.3. Program dapat menampilkan rata-rata nilai dari nilai siswa-siswa yang telah dimasukkanJawab :#include <stdio.h>struct Siswa{int id;char nama[20];float nilai;};void main(){struct Siswa siswa[3];float jumlah;jumlah = 0;for(index = 0; index < 3; index++){printf(“Masukkan ID siswa ke-%d: ”,index + 1);scanf(“%d”, &siswa[index].id);printf(“Masukkan nama siswa ke-%d: ”, index + 1);gets(siswa[index].nama);printf(“Masukkan nilai siswa ke-%d: ”, index + 1);scanf(“%d”, &siswa[index].nilai);jumlah = jumlah + siswa[index].nilai;}for(index = 0; index < 3; index++){Printf(“Data siswa ke-%d: ”, index + 1);Printf(“ID: %d: ”, siswa[index].id);Printf(“Nama : %s”, siswa[index].nama);Printf(“Nilai : %.2f”, siswa[index].nilai);}Printf(“Rata-rata : %2.f” jumlah / 3);}
5. 5. Resume Struct & Stack 5Bab II Stack2.1. Definisi StackStack (tumpukan) sebenarnya adalah sebuah cara dalam mengorganisasikan data-datayang dimiliki. Ibarat seseorang yang menyimpan buku-bukunya, ada yang disusun dengancara ditumpuk, ada juga yang dijejerkan di dalam lemari.Kaidah utama dalam konsep stack adalah LIFO yang merupakan singkatan dari Last InFirst Out, artinya adalah data yang terakhir kali dimasukkan atau disimpan, maka datatersebut adalah yang pertama kali akan diakses atau dikeluarkan. Gambar di bawah inimengilustrasikan kerja sebuah stack.2.2. Deklarasi Stack dalam ProgramSebuah stack di dalam program komputer dideklarasikan sebagai sebuah tipe bentukanbaru, di dalam Bahasa C, biasa disebut struct. Sebuah struktur data dari sebuah stacksetidaknya harus mengandung dua buah variabel, yakni variabel TOP yang akan bergunasebagai penanda bagian atas tumpukan dan ARRAY DATA dari yang akan menyimpandata-data yang dimasukkan ke dalam stack tersebut. Berikut adalah syntax untukmendeklarasikan struktur data dari sebuah stack menggunakan Bahasa Ctypedef struct{int TOP;int data[max+1];}Stack;dimana, nilai MAX didefinisikan sebagai jumlah tumpukan maksimum yang dapatdisimpan dalam stack. Setelah strukutr data dari stack didefinisikan dengan syntax di atas,maka setelah itu dapat dibuat variabel-variabel baru yang mengacu pada tipe data Stack diatas, misalkan membuat sebuah variabel bernama tumpukan yang bertipe Stack:Stack tumpukan;