structure palopo komputer: organisasi berkas relatif...

19

Click here to load reader

Upload: nila-pbhe-naomesyralifika

Post on 31-Oct-2015

8 views

Category:

Documents


2 download

DESCRIPTION

Palopo Komputer: Organisasi Berkas Relatifpintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan sebagai sebuah kaset, maka organisasi file relatif digambarkan sebagai sebuah compac disk ...Organisasi Berkas Relatif | thebutterflyboythebutterflyboy.wordpress.com/2012/06/03/organisasi-berkas-relatif/3 Jun 2012 – Organisasi berkas relative ini tidak menguntungkan bila penyimpanan sekundernya berupa media SASD, seperti magnetic tape. Berkas relatif ...

TRANSCRIPT

Page 1: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

StructUswatun Khasanah, S.Kom

Page 2: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Pengantar Struct Struct adalah tipe data bentukan yang berisi

kumpulan variabel-variabel yang bernaung dalam satu nama yang sama.

Berbeda dengan array yang berisi kumpulan variabel yang bertipe data sama, struct dapat memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct

Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct

Page 3: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

ADT (Abstract Data Type) atau Tipe Data BentukanBahasa C/C++ memiliki tipe data numerik dan

karakter (seperti integer, float, char dan lainlain). Bagaimana jika kita ingin membuat tipe data baru?

ADT adalah tipe data yang dibuat oleh programmer sendiri yang memiliki suatu nama tertentu.

ADT dapat berupa tipe data dasar namun diberi nama baru atau berupa kumpulan tipe data berbeda yang diberi nama baru.

Untuk pembuatan ADT digunakan keyword typedef

Page 4: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh ADT#include <stdio.h>#include <conio.h>typedef int angka;typedef float pecahan;typedef char huruf;void main(){clrscr();angka umur;pecahan pecah;huruf h;huruf nama[10];printf("masukkan umur anda : ");scanf("%d",&umur);printf("Umur anda adalah %d",umur);printf("\nmasukkan bilangan pecahan : ");scanf("%f",&pecah);printf("Bilangan pecahan %f",pecah);printf("\nmasukkan huruf : ");h=getche();printf("\nHuruf anda %c",h);printf("\nmasukkan nama : ");scanf("%s",nama);printf("Nama anda %s",nama);getch();}

Page 5: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Ilustrasi StructStruct bisa diumpamakan sebagai

sebuah record, misalnya: MahasiswaStruct Mahasiswa memiliki property

atau atribut atau variabel atau field yang melekat padanya:◦- NIM yaitu karakter sejumlah 8◦- Nama yaitu karakter◦- IPK yaitu bilangan pecahan

Page 6: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Bentuk umum pendeklarasian struct

typedef struct nama_struct{tipe_data <nama_var>;tipe_data <nama_var>;....

};atau

struct {tipe_data <nama_var>;tipe_data <nama_var>;....

} nama_struct;

Page 7: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Pendeklarasian dan penggunaan Struct (1)

typedef struct Mahasiswa {char NIM[8];char nama[50];float ipk;

};

Atau

Page 8: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Pendeklarasian dan penggunaan Struct (2)

struct {char NIM[8];char nama[50];float ipk;

} mhs;

Page 9: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Cara penggunaan struct dan pengaksesan elemen-elemennyaPenggunaan struct dilakukan dengan

membuat suatu variabel yang bertipe struct tersebut

Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)

Page 10: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh mhs.cpp#include<stdio.h> #include<conio.h> #include<iostream.h>

main() { struct { char nim[8]; char nama[50]; float ipk; } mahasiswa;

clrscr(); cout<<"masukan NIM = "; cin>>mahasiswa.nim; cout<<"masukan Nama = "; cin>>mahasiswa.nama; cout<<"masukan ipk Akhir = "; cin>>mahasiswa.ipk; cout<<"\n\nData Yang di Inputkan adalah : \n\n"; cout<<"NIM = "<<mahasiswa.nim<<endl; cout<<"Nama = "<<mahasiswa.nama<<endl; cout<<"ipk Akhir = "<<mahasiswa.ipk<<endl; getch(); }

Page 11: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh mhs.c

#include <stdio.h>#include <conio.h>//Pendeklarasian tipe data baru struct Mahasiswatypedef struct Mahasiswa{char NIM[9];char nama[30];float ipk;};void main(){//Buat variabel mhs bertipe data MahasiswaMahasiswa mhs;clrscr();printf("NIM = ");scanf("%s",mhs.NIM);printf("Nama = ");scanf("%s",mhs.nama);printf("IPK = ");scanf("%f",&mhs.ipk);printf("Data Anda : \n");printf("NIM : %s\n",mhs.NIM);printf("Nama : %s\n",mhs.nama);printf("IPK : %f\n",mhs.ipk);getch();}

Page 12: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Nested Structure Nested Structure merupakan suatu

Structure yang dapat digunakan didalam structure yang lainnya.

Page 13: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh neststruct.cpp#include<stdio.h> #include<conio.h> #include<iostream.h> main() { struct dtmhs { char nim[9]; char nama[15]; }; struct dtnil { float nil1; float nil2; }; struct { struct dtmhs mhs; struct dtnil nil; } nilai; clrscr(); //-> masukan data cout<<"masukan NIM = "; cin>>nilai.mhs.nim; cout<<"masukan Nama = "; cin>>nilai.mhs.nama; cout<<"masukan Nilai UTS = "; cin>>nilai.nil.nil1; cout<<"masukan Nilai UAS = "; cin>>nilai.nil.nil2; cout<<endl; //-> menampilkan hasil masukan cout<<"masukan NIM = "<<nilai.mhs.nim<<endl; cout<<"masukan Nama = "<<nilai.mhs.nama<<endl; cout<<"masukan Nilai UTS = "<<nilai.nil.nil1<<endl; cout<<"masukan Nilai UAS = "<<nilai.nil.nil2<<endl; cout<<endl; getch(); return(0); }

Page 14: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh neststruct.c #include <stdio.h>#include <conio.h>typedef struct Date{int dd;int mm;int yyyy;};typedef struct Time{int h;int m;int s;};typedef struct Login{int ID;Date tglLogin;Time waktuLogin;};int main(){Login user1;printf("USER 1\n");printf("ID : ");scanf("%d",&user1.ID);printf("Tanggal Login\n");printf("Hari : ");scanf("%d",&user1.tglLogin.dd);printf("Bulan : ");scanf("%d",&user1.tglLogin.mm);printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);printf("Waktu Login\n");printf("Jam : ");scanf("%d",&user1.waktuLogin.h);printf("Menit : ");scanf("%d",&user1.waktuLogin.m);printf("Detik : ");scanf("%d",&user1.waktuLogin.s);printf("Terimakasih\n");printf("Data Anda :\n");printf("ID : %d\n",user1.ID);printf("Date : %d - %d -%d\n",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy);printf("ID :%d:%d:%d\n",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s);getch();}

Page 15: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Structure dengan ArrayPenggunaan Array sering dikaitkan

dengan Structure, sehingga membentuk Array dari Structure.

Page 16: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

deklarasi array structure

struct { elemen_struktur; ..... .....

} nama_tipe_struktur[jml_index];

Page 17: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh Program#include<stdio.h> #include<conio.h> #include<iostream.h> main() { int i, j=1; struct { char nim[5]; char nama[15]; float nilai; } mhs[5]; clrscr(); for(i=0; i<2; i++) { cout<<"masukan NIM = "; cin>>mhs[i].nim; cout<<"masukan Nama = "; cin>>mhs[i].nama; cout<<"masukan Nilai Akhir = "; cin>>mhs[i].nilai; }for(i=0; i<2; i++) { cout<<"Data Ke - "<<j++<<endl; cout<<"NIM = "<<mhs[i].nim<<endl; cout<<"Nama = "<<mhs[i].nama<<endl; cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl; cout<<endl; } getch(); }

Page 18: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

Contoh Program

#include <stdio.h>#include <iostream.h>#include <conio.h>typedef struct orang{ char nama[30]; short umur; };void main() { orang saya[5]; int i,x; for(i=0;i<=4;i++) { printf("nama ke-%i : ",i+1); cin.getline(saya[i].nama,30); printf("umur ke-%i : ",i+1); scanf("%i",saya[i].umur); printf("%s berumur %i",saya[i].nama,saya[i].umur); } for(x=0;x<=4;x++) { printf("nama %s berumur %d",saya[x].nama,saya[x].umur); } }

Page 19: Structure Palopo Komputer: Organisasi Berkas Relatif pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html20 Des 2011 – Jika pada organisasi file sequential digambarkan

LATIHANBuat struct untuk data buku yang berisi

tentang : kode buku, nama buku, tahun terbit, pengarang, dan harga. Gunakan array of struct.