Anda di halaman 1dari 6

TUGAS Algoritma dan Pemrograman

Disusun Oleh : Nur Kholid Utomo L 200070001

JURUSAN TEKNIK INFORMATIKA FAKULTAS KOMUNIKASI DAN INFORMATIKA UNIVERSITAS MUHAMMADIYAH SURAKARTA 2010 Struktur

Pengertian Struktur Struktur adalah koleksi variabel dibawah sebuah nama, Variabel-variabel ini dapat berbentuk berbagai type, misalnya: int, float, char dan lain-lain. Perbedaan utama antara struktur dan array adalah bahwa dalam array memiliki tipe data yang sma, sedangkan struktueadalah sebuah koleksi dari variabel-variabel dibawah nama yang sma, dimana setiap elemen dapat saja memiliki tipe yang berbeda. Mendeklarasikan Struktur Struktur dalam C++ dideklarasikan menggunakan keyword struct diikuti dengan nama struktur, atau sering disebut dengan tag. Variabel-variabel strukur dideklarasikan dalam kurung kurawal { }, setiap elemennya dipisahkan dengan tanda titik koma atau semi colon. Bentuk umum/sintaks deklarasi struktur :
struct nama_struct { anggota_struktur ; } ;

Contoh pendeklarasian struktur untuk data tanggal yang terdiri dari 3 variabel, yaitu: tahun, bulan, dan tanggal yang kebetulan memiliki tipe sama.
struct data_tanggal { int tahun; int bulan; int tanggal; };

Hubungan Struktur dengan Array


STRUCT OF ARRAY Sebuah struct yang di dalamnya terdapat variable/ elemen yang bertipe array.

struct

array

Contoh: struct data { char kode [10]; char nama [20];

char alamat [30]; } ARRAY OF STRUCT Sebuah array yang setiap data elemennya bertipe struct. Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang, dsb.

struct

struct

struct

struct

struct

Indeks : Contoh :

#include "stdio.h" #include "string.h" #include "conio.h" typedef struct mhs { char npm [10]; char nama [20]; char alamat [30]; unsigned angkatan; float ipk; }; main() { mhs student[100]; // deklarasi var, menyiapkan 100 data mhs char lagi = 'y'; int i; for( i = 0; lagi == 'y'; i++) { printf("\nNPM = "); gets(student[i].npm); printf("Nama = "); gets(student[i].nama); printf("Alamat = "); gets(student[i].alamat); printf("Angkatan = "); scanf("%i", &student[i].angkatan); printf("IPK = "); scanf("%f", &student[i].ipk); printf("\nMasukkan Lagi (y/t) ? "); lagi = getche(); flushall(); } printf("\n\nData yang sudah dimasukkan adalah:\n"); for( int j = 0; j < i; j++) { printf("\nNPM : %s", student[j].npm); printf("\nNama : %s", student[j].nama); printf("\nAlamat : %s", student[j].alamat); printf("\nAngkatan : %i", student[j].angkatan);

printf("\nIPK } }

: %f \n", student[j].ipk);

Hubungan Struct dengan Pointer


Poiter adalah variabel yang berisi alamat memori variabel lain dan secara tidak langsung menunjuk ke variabel tersebut. Sebagai contoh Andi berteman dengan Budi, lalu anda ingin mengetahui jumlah keluarga Budi untuk keperluan sensus penduduk. Anda tidak mengetahui alamat Budi, tetapi anda mengenal Andi. Untuk mencari jumlah keluarga Budi, maka pertama-tama anda pergi ke rumah Andi, misalnya di rumah No. 8321. Sesampai di Andi, Andi membaritahukan kepada anda bahwa alamat Budi ada pada alamat 9821. Kemudian anda pergi ke rumah Budi lalu mencatat jumlah keluarga yang dimiliki Budi yaitu lima orang (misalkan). Dalam contoh di atas, Andi bertindak sebagai pointer. Andi tidak memberitahukan jumlah keluarga Budi, tetapi Andi memberitahu alamat Budi, di alamat 9821 (alamat Budi) itulah Anda mengetahui jumlah keluarga Budi. Jika alamat dari ditunjukkan dengan simbol & dan isi dari ditunjukkan dengan symbol *, maka hubungan analogi di atas adalah: Nama Andi Budi Alamat 8321 9821 Isi 9821 = &Budi 5 = *(&Budi)

Pointer Sebagai Anggota Struktur Anda dapat mempunyai karakter, integer, float bahkan pointer untuk dapat dijadikan sebagai tipe data anggota struktur. Contoh : #include <iostream.h> void main() { struct kuliah { char kuliah1[30]; char kuliah2[30];

struct kuliah *ptr; }; kuliah semester[3] = {{"Komputer 207","Matematika 217",&semester[1]}, {"Electronic 210","Sistem Kendali 303",&semester[2]}, {"Analisis Numerik 301","Telekomunikasi 367",&semester[0]}}; int n; for(n=0; n<3;n++) { cout<<"Isi sedang menujuk ke : "; cout<<semester[n].ptr->kuliah1<<endl; } } Keluarannya : Isi sedang menunjuk ke : Electronic 210 Isi sedang menunjuk ke : Analisis Numerik 301 Isi sedang menunjuk ke : Komputer 207 Function Fungsi/function adalah bagian dari program yang memiliki nama tertentu yang unik, digunakan untuk mengerjakan suatu pekerjaan tertentu, serta letaknya dipisahkan dari bagian program yang menggunakan/memanggil fungsi tersebut. Function yang Void Fungsi yang void sering disebut juga prosedur . Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. Ciri: tidak adanya keyword return, tidak adanya tipe data di dalam deklarasi fungsi, menggunakan keyword void, Tidak dapat langsung ditampilkan hasilnya, Tidak memiliki nilai kembalian fungsi. Contoh: clrscr(), printf() Fungsi yang Non-Void Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut

Ciri: ada keyword return, ada tipe data yang mengawali deklarasi fungsi, tidak ada keyword void, Memiliki nilai kembalian. Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya. Contoh: sin(), getch() Passing Structure ke Fungsi void Cetak(struct Matakuliah X){ printf(Nama Matakuliah =%s\n,X.NamaMTK); printf(Sistem Kredit Semester =%d\n,X.SKS); } void main(){ Matakuliah X; Cetak(X); }

Anda mungkin juga menyukai