Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.

Presentasi serupa


Presentasi berjudul: "STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen."— Transcript presentasi:

1 STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen struktur. Field tersebut bisa memiliki tipe data yang ataupun berbeda, meskipun field tersebut dalam satu kesatuan tetapi tetap bisa siakses secara individu.

2 STRUCT Struct adalah termasuk tipe data komposit. Berbeda dengan array, tipe data struct mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam struct, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean

3 Stuct Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct itu sendiri. Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct.

4 Struktur (struct) adalah
Sekumpulan data Tipe datanya BOLEH berbeda Menggunakan nama yang sama Dibedakan melalui nama field-nya Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan (dalam bahasa PASCAL, struktur disebut dengan record) Variabel-variabel yang membentuk suatu struktur, selanjutnya disebut sebagai elemen dari struktur atau field. Dengan demikian dimungkinkan suatu struktur berisi elemen-elemen data berbeda tipe seperti char, int, float, double, dan lain-lain. Contoh sebuah struktur adalah informasi data tanggal (date) yang berisi : month day year

5 Mendefinisikan Struktur
Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Dua Contoh pendefinisian sebuah tipe data struktur : struct date { struct date { int month; int month, day, year; int day; }; int year; }; yang mendefinisikan sebuah tipe data struktur bernama struct date yang memiliki tiga buah elemen (field) berupa : - month - day - year

6 Mendeklarasikan Struktur
Untuk mendeklarasikan sebuah variabel today yang bertipe struct date pernyataannya sbb: Pernyataan di atas menyatakan bahwa variabel today bertipe struct date.

7 Mendefinisikan & Mendeklarasikan Struktur
Dalam mendefinisikan sebuah struktur, elemen yang terkandung di dalamnya bisa juga berupa sebuah struktur Contoh : struct date { int month, day, year; }; struct student { char name[30]; struct date birthday; struct student mhs; //deklarasi var mhs Diagram struktur data dari variabel mhs dapat digambarkan sbb :

8 Mengakses Elemen Struktur
Elemen dari suatu variabel struktur dapat diakses dengan menyebutkan nama variabel struktur diikuti dengan operator titik (‘.’) dan nama dari elemen strukturnya. Cara penulisannya sebagai berikut : Misalnya, memberikan data nama ke field name dari variabel student di atas, maka pernyataan yang diperlukan misalnya adalah : strcpy(mhs.name, “Budi"); Pada pernyataan di atas, mhs.name dapat dibaca sebagai "field name dari mhs". Contoh berikut merupakan instruksi untuk mengisikan data pada field birthday : mhs.birthday.day = 10; variabel_struktur.nama_field

9 Mengakses Elemen Struktur
Sedangkan untuk mendapatkan isi suatu field dari variabel struktur, contohnya : tgl = mhs.birthday.day; merupakan instruksi untuk memberikan isi dari field day ke variabel tgl puts(mhs.name); merupakan instruksi untuk menampilkan di layar isi dari field name.

10 Menginisialisasi Struktur
Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan inisialisasi array, yaitu elemen-elemennya dituliskan di dalam sepasang kurung kurawal (‘{ }‘) dengan masing-masing dipisahkan dengan koma. Contoh untuk variabel mhs di atas : struct student mhs = {“Muhammad”, 2, 28, 1970};

11 Array dan Struktur (array of struct)
Elemen-elemen dari suatu array juga dapat berbentuk sebuah struktur (array of struct), misalnya array yang dipakai untuk menyimpan sejumlah data siswa (struct student). Array struktur berdimensi satu ini membentuk suatu tabel, dengan barisnya menunjukkan elemen dari array-nya dan kolomnya menunjukkan elemen/field dari struktur. #define MAKS 20 struct date { //definisi dari tipe struct date int month, day, year; }; struct student { //definisi dari tipe struct student char name[30]; struct date birthday; struct student data_mhs[MAKS]; //deklarasi variabel array mhs yang artinya, mendeklarasikan array data_mhs yang memiliki elemen yang bertipe struct student sebanyak MAKS.

12 Array dan Struktur (array of struct)
Setelah array data_mhs dideklarasikan, maka ruang yang disediakan ditunjukkan dalam gambar di bawah ini.

13 Array dan Struktur #include <stdio.h> #define MAKS 20
struct date { //definisi global dr tipe date int month, day, year; }; struct student { //definisi global dr tipe student char name[30]; struct date birthday; main() { struct student data_mhs[MAKS]; int i=0, jml; char lagi; do //memasukkan data { printf("Name : "); gets(data_mhs[i].name); printf("Birthday (mm-dd-yyyy): "); scanf("%d-%d-%d", &data_mhs[i].birthday.month, &data_mhs[i].birthday.day, &data_mhs[i].birthday.year); i++;

14 Array dan Struktur fflush(stdin); //hapus sisa data dlm buffer keyboard printf(“\nMau memasukkan data lagi [Y/T] ? "); lagi = getchar( ); //baca tombol } while(lagi == 'Y' || lagi == 'y'); jml = i; printf("\nDATA MAHASISWA\n"); for (i=0; i<jml; i++) //menampilkan data { printf("%d. Name : %s", i+1, data_mhs[i].name); printf("\n Birthday : %d-%d-%d\n\n", data_mhs[i].birthday.month, data_mhs[i].birthday.day, data_mhs[i].birthday.year); }

15 Hasilnya….

16 Variasi Pendeklarasian Struktur
Selain cara yang sudah dibahas sebelumnya, struktur juga dapat dideklarasikan dalam berbagai bentuk yang lain sbb: struct date { int month, day, year; } today, tomorrow; struct student { char name[30]; struct date birthday; } data_mhs[MAKS]; yaitu mendefinisikan struct date, sekaligus mendeklarasikan variabel today dan tomorrow dengan tipe struct date. Demikian juga mendefinisikan struct student, sekaligus mendeklarasikan variabel array data_mhs sebanyak MAKS elemen dengan tipe struct student. Cara lainnya : mendefinisikan, mendeklarasikan sekaligus menginisialisasi struktur sbb: } today = {12, 25, 2006};

17 Bentuk Umum Bentuk umum: typedef struct <nama_struct> {
tipe_data <nama_var>; .... }

18 Pendeklarasian dan penggunaan Struct (1) (menggunakan typedef)
typedef struct Mahasiswa { char NIM[8]; char nama[50]; float ipk; }; untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2 Mahasiswa mhs,mhs2; untuk menggunakan struct Mahasiswa dengan membuat variabel array m; Mahasiswa m[100];

19 Pendeklarasian dan penggunaan Struct (2) (tanpa menggunakan typedef)
char NIM[8]; char nama[50]; float ipk; } mhs; Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas.

20 Cara penggunaan struct dan pengaksesan elemen-elemennya
Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.) Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:

21 Program #include <stdio.h> #include <conio.h>
Contoh 1 #include <stdio.h> #include <conio.h> //Pendeklarasian tipe data baru struct Mahasiswa typedef struct Mahasiswa{ char NIM[9]; char nama[30]; float ipk; }; void main(){ //Buat variabel mhs bertipe data Mahasiswa Mahasiswa 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(); }

22 Hasil

23 Program #include <stdio.h> #include <conio.h>
#define phi 3.14 //langsung dianggap variabel 'lingkaran' struct { float jari2; float keliling; float luas; } lingkaran; //fungsi void untuk menghitung luas ingkaran void luasLingkaran(){ //langsung menggunakan luas lingkaran asli lingkaran.luas = lingkaran.jari2 * lingkaran.jari2 * phi; printf("\nLuas lingkaran = %f",lingkaran.luas); } //fungsi yang mengembalikan nilai float untuk menghitung keliling lingkaran float kelLingkaran(float j){ return 2*phi*lingkaran.jari2; int main(){ clrscr(); printf("Jari-jari = ");scanf("%f",&lingkaran.jari2); //panggil fungsi luasLingkaran luasLingkaran(); //panggil fungsi keliling, nilai kembaliannya dikirim ke keliling lingkaran asli lingkaran.keliling = kelLingkaran(lingkaran.jari2); //tampilkan keliling lingkaran asli printf("\nKeliling lingkaran = %f",lingkaran.keliling); getch();

24 Hasil

25 Struct yang berisi struct lain
#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(); }

26 Hasil

27 Array of Struct #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 user[3]; //3 user for(int i=0;i<3;i++){ printf("\nUSER ke-%d\n",i+1); printf("ID : ");scanf("%d",&user[i].ID); printf("Tanggal Login\n"); printf("Hari : ");scanf("%d",&user[i].tglLogin.dd); printf("Bulan : ");scanf("%d",&user[i].tglLogin.mm); printf("Tahun : ");scanf("%d",&user[i].tglLogin.yyyy); printf("Waktu Login\n"); printf("Jam : ");scanf("%d",&user[i].waktuLogin.h); printf("Menit : ");scanf("%d",&user[i].waktuLogin.m); printf("Detik : ");scanf("%d",&user[i].waktuLogin.s); printf("Terimakasih Atas Pengisiannya\n"); printf("\nData User ke-%d:\n",i+1); printf("Login ID : %d\n",user[i].ID); printf("Login Date : %d - %d - %d\n",user[i].tglLogin.dd,user[i].tglLogin.mm,user[i].tglLogin.yyyy); printf("Login Time : %d:%d:%d\n",user[i].waktuLogin.h,user[i].waktuLogin.m,user[i].waktuLogin.s); } getch();

28 Hasil

29 IMAGE Image atau gambar atau citra merupakan tipe data grafik.
Misalnya : grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual tipe data ini telah didukung dengan sangat baik.

30 DATE TIME Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite karena merupakan bentukan dari beberapa tipe data. Berikut ini contoh tipe data dalam Visual Basic. Dim WaktuLahir As Date WaktuLahir = “01/01/1997” WaktuLahir = “13:03:05 AM” WaktuLahir = “02/23/ :13:40 AM” WaktuLahir = #02/23/ :13:40 AM#

31 Deklarasi struktur struct nama_struktur { type1 element1;
type2 element2; anggota / elemen dari struktur type3 element3; . } nama_object; //identifier yang digunakan untuk pemanggilan struktur atau type2 element2; .} ; struct nama_struktur nama_object;

32 Contoh struktur dengan tipe data berbeda :
struct mahasiswa { char nim[10]; char nama[25]; char jurusan[2]; float ipk; }mhs;

33 Contoh struktur dengan tipe data sama :
struct tanggal { int tanggal; int bulan; int tahun; }tgl; ---atau bisa ditulis --- int tanggal, bulan, tahun;

34 Contoh program 1 : //program data stok #include <iostream.h>
#include <conio.h> struct stok { char nama [50]; int jml; }stoks ; main () { cout<<"Masukkan nama barang = ";cin>>stoks.nama; cout<<"Masukkan jumlah barang = ";cin>>stoks.jml; cout<<""; cout<<" \n"; cout<<"Output "<<stoks.nama<<" = "; cout<<stoks.jml; getch();}

35 Bisa juga di tulis : //program data stok #include <iostream.h>
#include <conio.h> struct stok { char nama [50]; int jml; }; struct stok stoks; main () { cout<<"Masukkan nama barang = ";cin>>stoks.nama; cout<<"Masukkan jumlah barang = ";cin>>stoks.jml; cout<<""; cout<<" \n"; cout<<"Output "<<stoks.nama<<" = "; cout<<stoks.jml; getch(); }

36 Contoh program 2 : //program mengakses elemen struktur
#include <iostream.h> #include <conio.h> struct data_tgl { int tgl,bln,thn; }; struct teman { char nama[20]; char j_kel[1]; struct data_tgl tgl; }; struct teman info;

37 main () { //input data cout<<"Masukkan nama anda = ";cin>>info.nama; cout<<"Jenis kelamin anda = ";cin>>info.j_kel; cout<<"Tanggal lahir anda = ";cin>>info.tgl.tgl; cout<<"Bulan lahir anda = ";cin>>info.tgl.bln; cout<<"Tahun lahir anda = ";cin>>info.tgl.thn; cout<<""; cout<<" \n"; //output data cout<<"Nama : "<<info.nama; cout<<"\nKelamin : "<<info.j_kel; cout<<"\nTanggal lahir : "<<info.tgl.tgl<<"-"<<info.tgl.bln <<"-"<<info.tgl.thn; getch();}

38 Enumerasi Enumerasi adalah tipe data yang mempunyai elemen-elemen bertipe konstanta dengan urutan yang sudah dtentukan. Nilai-nilai dari konstanta ini berupa nilai-nilai integer yang diwakili oleh pengenal yang ditulis di antara tanda kurung kurawal “{ “ dan “}”. Tipe ini dideklarasikan dengan kata kunci enum. Deklarasi Enumerasi : Enum nama_enumerasi{nilai1,nilai2,…}

39 Contoh program 3 : //program mengakses elemen struktur
#include <iostream.h> #include <conio.h> enum j_kel{pria,wanita} ; int main() { struct siswa { int nis; char nama[20]; j_kel kelamin; }A; //input data A.nis=123; A.nama=="Yuli"; A.kelamin=wanita; //output data cout<<"\nNis : "<<A.nis<<endl; cout<<"Nama : "<<A.nama; cout<<"\nKelamin : "<<A.kelamin; getch();}

40 Struktur yang berisi struktur yang lain
Suatu struktur dapat berisi dengan elemen berupa struktur yang lain. Contoh : #include <stdio.h> #include <conio.h> #include <iostream.h> main() { struct tanggal{ int hari; int bulan; int tahun; }; struct alamat { char jalan[30]; char kota[20]; };

41 struct { char nama[40]; struct tanggal masuk; struct alamat tinggal; float gaji; } karyawan={"Arief Kurniawan", 17,11,87,"Jalan Raya 5","Yogyakarta", }; /*menampilkan data karyawan*/ cout<<"Nama Karyawan : "<< karyawan.nama; cout<<"\nTangggal Masuk : "<< karyawan.masuk.hari << karyawan.masuk.bulan <<karyawan.masuk.tahun ; cout<<"\nalamat : "<< karyawan.tinggal.jalan; cout<<"\n "<< karyawan.tinggal.kota; cout<<"\nGaji Karyawan Rp "<< karyawan.gaji; getch(); }

42 Output :


Download ppt "STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen."

Presentasi serupa


Iklan oleh Google