You are on page 1of 17

Algoritma dan

Struktur Data
Fransisko E. Sanaky

LOGO
LOGO Quiz...
Angkat selembar kertas
Kerjakan tugas yang diberikan minggu
lalu dengan menggunakan while-loop
waktu 15 menit.
Algoritama Dan
Struktur Data
ADT, Stuct, Unions, Coersion, Enum, Static

LOGO
LOGO Abstrak Data Type
 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.


LOGO Abstrak Data Type
typedef int angka; printf("\nmasukkan bilangan
typedef float pecahan; pecahan ");
typedef char huruf; scanf("%f",&pecah);
printf("Bilangan pecahan
void main() %f",pecah);
{
clrscr(); printf("\nmasukkan huruf : ");
h=getche();
angka umur; printf("\nHuruf anda %c",h);
pecahan pecah;
huruf h; printf("\nmasukkan nama : ");
huruf nama[10]; scanf("%s",nama);
printf("Nama anda %s",nama);
printf("masukkan umur anda : ");
scanf("%d",&umur); getch();
printf("Umur anda adalah }
%d",umur);
LOGO Struct
 Tipe data struct adalah tipe data untuk
menggabung tipe data – tipe data yang kita
inginkan.

 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.
LOGO Struct
 Deklarasi Struct:
Cara 1: Cara 2:
struct gun struct gun
{ {
char name[50]; char name[50];
int magazinesize; int magazinesize;
float calibre; float calibre;
}; }struct gun koleksiku:

struct gun koleksiku;

 Memberi Nilai Struct:


 Struct gun koleksiku={“Pistol”, 30, 7};
 koleksiku.magazinesize = 100;
LOGO Struct
 Struct yang berisi  Cara Akses Struct in
Struct Struct
typedef struct Date{ printf("Nama : %s\n", mhs.nama);
printf("NIM : %s\n", mhs.nim);
int tanggal; printf("Ttl : %d-%d-%d\n", mhs.ttl.tanggal,
int bulan; mhs.ttl.bulan, mhs.ttl.tahun);
int tahun;
};

typedef struct Mahasiswa{


char nama[20];
char nim[10];
Date ttl;
};
LOGO Struct
 Array of Struct
• Cara Deklarasi:
Mahasiswa mhs[10];
• Cara Akses:
mhs[0].nim;
LOGO Unions
 Union adalah tipe data untuk variabel yang dapat
menyimpan obyek yang berbeda ukuran dan tipe.

 Bahasa C menggunakan union untuk menggabung


beberapa tipe yang berbeda.

 Contoh
union number Cara Akses:
{ printf("%ld
short shortnumber; \n",anumber.longnumber);
long longnumber;
double floatnumber;
} anumber ;
LOGO Unions
 Struct & Unions
typedef struct {
int maxpassengers;
} jet;
typedef struct {
int liftcapacity;
} helicopter;
typedef struct {
int maxpayload;
} cargoplane;
typedef union {
jet jetu;
helicopter helicopteru;
cargoplane cargoplaneu;
} aircraft;
LOGO Unions
Perbedaan Unions & Struct
Unions Struct
 Mengalokasikan memori  Mengalokasikan memori
sebesar memori maksimum sebanyak jumlah byte dari
yang diminta oleh field seluruh field anggotanya
anggotanya  Masing-masing field anggota
 Satu blok memori digunakan memiliki ruang memori
bersama oleh seluruh anggota sendiri.
dalam union  Masing-masing elemen
 Menyimpan satu nilai aktual anggota dialokasikan di ruang
saja memori yang berbeda
LOGO Unions
 Persamaan
 Menggunakan operator dot (.) untuk mengakses field anggotanya
 Menggunakan tanda { } untuk menyatakan obyek datanya
 Dapat diketahui alokasi memori maksimumnya dalam byte dengan
menggunakan operator sizeof()
LOGO Coercion atau Type-Casting
 Coersion, yaitu fasilitas untuk memaksa suatu
variabel dengan tipe tertentu berubah menjadi tipe
lain pada saat program berjalan.
 Operator yang digunakan adalah ( ) di depan
variabel yang akan diubah tipenya.
 Contoh:
int integernumber;
float floatnumber=9.87;
integernumber=(int)floatnumber;

int integernumber;
char letter='A';
integernumber=(int)letter;
LOGO Enumerasi
 Tipe enumerasi adalah daftar bilangan-bilangan
konstan yang dapat diberi alamat sebagai bilangan
bulat (integer)

 Contoh:
enum hari {senin, selasa, rabu, kamis, jum’at, sabtu,minggu}
seminggu;

enum hari minggu1, minggu2;


LOGO Static
 Variabel statik adalah variabel yang bersifat lokal
untuk suatu fungsi, nilainya akan diinisialisasi satu
kali saja pada saat dipanggil pertama kali.
 Contoh
void stat(); /* prototype fungsi */ void stat()
{
int main(){ int auto_var = 0;
clrscr(); static int static_var =
int i; 0;
for (i=0;i<5;++i) printf("auto = %d,
stat(); static = %d \n", auto_var,
getch(); static_var);
++auto_var;
_exit(0); ++static_var;
return 0; }
}
LOGO

Ada Pertanyaan ???????

You might also like