Anda di halaman 1dari 6

TIPE DATA TINGKAT LANJUT

ProgStur by Arif Susanto S.kom

1. ENUMERASI Enumerasi merupakan suatu tipe data yang mempunyai elemen-elemen bernilai konstanta dengan urutan yang sudah tertentu. Nilai nilai dari konstanta elemen ini berupa nilai-nilai integer yang diwakili oleh nama-nama pengenal yang ditulis diantara kurung { dan kurung }. Pendeklarasian tipe data ini menggunakan kata kunci enum. Contoh :
#include<stdio.h> main(){ enum{Minggu,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu}; printf("%d,",Minggu); printf("%d,",Senin); printf("%d,",Selasa); printf("%d,",Rabu); printf("%d,",Kamis); printf("%d,",Jumat); printf("%d",Sabtu); }

Hasil dari program tersebut : 0,1,2,3,4,5,6 Dalam contoh diatas nama-nama pengenal tidak diberi nilai awal sehingga nama pengenal pertama akan mewakili konstanta integer 0 nama berikutnya akan mewakili nilai konstanta integer 1,2,3 dan seterusnya. Contoh dengan nilai awal :
#include<stdio.h> main(){ enum{Minggu,Senin,Selasa=5,Rabu,Kamis=10,Jumat,Sabtu}; printf("%d,",Minggu); printf("%d,",Senin); printf("%d,",Selasa); printf("%d,",Rabu); printf("%d,",Kamis); printf("%d,",Jumat); printf("%d",Sabtu); }

Hasil dari program tersebut : 0,1,5,6,10,11,12

2. STRUKTUR Struktur (struct) merupakan pengelompokan dari variable variable dalam satu nama yang sama. Berbeda dengan larik (Array) yang berisi dengan kumpulan elemen-elemen larik bertipe sama dalam satu nama, suatu struktur dapat terdiri dari kumpulan variabel variabel yang berbeda tipenya dalam satu nama. Variabel variabel yang menunjuk suatu struktur dinamakan elemen-elemen atau anggota struktur. Dengan demikinan sutatu struktur dimungkinkan dapat dapat berisi dengan elemen-elemen data bertipe int, float, char dan lainya Mendeklarasikan Struktur Contoh :
struct Struktur_Psd{ Char Kode[5]; Char Nama[30]; Int Unit; Float Harga; } Persediaan_Pusat,Persediaan_Barang;

Struct dalam kode diatas digunakan untuk mendeklarasikan struktur dengan nama Struktur_Psd yang merupakan nama dari tipe strukturnya yang mempunyai 5 buah elemen yang berbeda-beda tipe data. Sedangkan
Persediaan_Pusat,Persediaan_Barang;

merupakan variabel-variabel yang

mempunyai tipe data Struktur_Psd. Mengakses elemen-elemen struktur Elemen-elemen dari variabel struktur dapat diakses secara individual dengan menyebutkan nama variabel strukturnya diikuti oleh operator (.) dan nama dari elemen strukturnya. Contoh :
struct Struktur_Psd{ Char Kode[5]; Char Nama[30]; Int Unit; Float Harga; } Persediaan_Pusat,Persediaan_Barang = { C123,Sabun Wangi,5,125.50 };

Contoh diatas merupakan cara penulisan variabel-variabel struktur (Persediaan_Cabang) diberi nilai awal dengan kode persediaanya C123, nama persediaanya Sabun Wangi, unit sisanya 5 buah, dengan harga perunit Rp 125.50.

Untuk mengakses data tersebut dapat ditulis seperti ini : X = Persediaan_Cabang.Unit;

Menunjukan elemen dengan nama unit dari variabel struktur Persediaan_Cabang, yaitu bernilai awal 5 diisikan ke variabel numeric lain yang bernama X. Contoh Penggunaan :
#include <stdio.h> main(){ /*pendeklarasian tanpa nama tipe data, karena tdk digunakan untuk mendeklarasikan variabel2 yg lain */ struct{ float JariJari; float Keliling; float Luas; }Lingkaran; printf("Jari - Jari Lingkaran ?"); scanf("%f",&Lingkaran.JariJari); Lingkaran.Keliling=2*3.14*Lingkaran.JariJari; Lingkaran.Luas=3.14*Lingkaran.JariJari*Lingkaran.JariJari; printf("Keliling Lingkaran = %f\n",Lingkaran.Keliling); printf("Luas Lingkaran =%f\n",Lingkaran.Luas); }

Pada contoh diatas variabel struktur Lingkaran mempunyai 3 buah elemen struktur. Elemen JariJari yang dapat diakses dengan menuliskan Lingkaran.JariJari begitu juga dengan Keliling dan Luas diawali dengan menuliskan nama variabel diikuti dengan elemen strukturnya. Contoh lain :
#include <stdio.h> main(){ struct Tanggal{ unsigned int Hari; unsigned int Bulan; unsigned int Tahun; }; struct Alamat{ char Jalan[30]; char Kota[20]; }; struct{ char Nama[40]; struct Tanggal Masuk; struct Alamat Tinggal; float Gaji; }Karyawan={ "Arif s", 17, 11, 87, "Jalan Raya 5", "Yogyakarta", 250000 }; printf("Nama Karyawan : %s\n",Karyawan.Nama); printf("Tanggal Masuk : %2d-%2d-%2d\n",Karyawan.Masuk.Hari,

Karyawan.Masuk.Bulan, Karyawan.Masuk.Tahun); printf("Alamat : %s\n",Karyawan.Tinggal.Jalan); printf(" %s\n",Karyawan.Tinggal.Kota); printf("Gaji Per Bulan : Rp.%10.2f\n",Karyawan.Gaji); }

Struktur dalam bentuk Array Struktur dalam sebuah Array dimensi satu membentuk suatu table mirip dengan array dimensi dua dengan barisnya menunjukan elemen dari array dan dengan kolom menunjukan elemen dari struktur. Contoh penggunaan :
#include <stdio.h> main(){ struct Psd{ char Kode[5]; char Nama[20]; int Unit; float Harga; }; struct Psd Persediaan[100]={ "M123", "Monitor", 5, 125000, "D124", "Diskette", 10, 10000, "P125", "Printer", 7, 300000 }; int I,N=3; float Total=0; printf("Kode Nama Unit Harga Total\n"); printf("\n"); for(I=0;I<N;I++){ printf("%s %-20s %5d %10.2f %10.2f\n", Persediaan[I].Kode, Persediaan[I].Nama,Persediaan[I].Unit, Persediaan[I].Harga, Persediaan[I].Unit*Persediaan[I].Harga); Total +=Persediaan[I].Unit*Persediaan[I].Harga; } printf("Total : %10f\n",Total); }

3. KATA KUNCI typedef Dengan typedef programmer memungkinan membuat program untuk mendefinisikan kembali suata nama tipe data yagn baru berdasarkan dengan nama type data yang lama. Untuk mendefinisikan nama tipe data yang baru dapat digunakan kata kunci typedef.
Typedef float Pecahan; Pecahan Nilai;

Contoh penulisan diatas akan membuat nama tipe data yang baru dengan nama Pecahan yang ekuivalent dengan nama tipe data float.

Tidak menggunakan typedef


Struct Tipe_Kar{ Char Nama[20]; Struct Tanggal Masuk; Struct JenisStatus JS; }

Menggunakan typedef
Typedef Struct Tipe_Kar{ Char Nama[20]; Tanggal Masuk; JenisStatus JS; }

Contoh aplikasi :
#include <stdio.h> main(){ typedef struct Tanggal{ //Menggunakan typedef unsigned int Hari; unsigned int Bulan; unsigned int Tahun; }; typedef struct Alamat{ //Menggunakan typedef char Jalan[30]; char Kota[20]; }; struct{ char Nama[40]; Tanggal Masuk; //struct tidak perlu ditulis Alamat Tinggal; float Gaji; }Karyawan={ "Arif s", 17, 11, 87, "Jalan Raya 5", "Yogyakarta", 250000 }; printf("Nama Karyawan : %s\n",Karyawan.Nama); printf("Tanggal Masuk : %2d-%2d-%2d\n",Karyawan.Masuk.Hari, Karyawan.Masuk.Bulan, Karyawan.Masuk.Tahun); printf("Alamat : %s\n",Karyawan.Tinggal.Jalan); printf(" %s\n",Karyawan.Tinggal.Kota); printf("Gaji Per Bulan : Rp.%10.2f\n",Karyawan.Gaji); }

4. POINTER UNTUK STRUKTUR Seperti halnya pointer untuk variabel biasa yang menunjukan alamat letak dari nilai variabelnya, pointer untuk struktur juga menunjukan alamat letak dari variabel strukturnya.

Variabel pointer biasa Alternative 1


Int Nilai, *PN; PN = &Nilai;

Variabel pointer untuk struktur Alternative 1


Struct{ Char Nama[5]; Float IP; } Mahasiswa, *PM; PM=&Mahasiswa;

Alternative 2
Int Nilai; Int *PN=&Nilai;

Alternative 2
Struct{ Char Nama[5]; Float IP; } Mahasiswa, *PM=&Mahasiswa;

5. PENGIRIMAN STRUKTUR KE FUNGSI Pengiriman struktur ke suatu fungsi dapat dilakukan untuk tiap-tiap elementnya atau seluruh strukturnya. Contoh :
#include <stdio.h> void Tampil_Hasil(char Kode[],char Nama[],int Unit,float Harga); main(){ struct Psd{ char Kode[5]; char Nama[20]; int Unit; float Harga; }; struct Psd Persediaan={ "M123","Monitor",5,125000, }; Tampil_Hasil(Persediaan.Kode,Persediaan.Nama,Persediaan.Unit,Pers ediaan.Harga); } void Tampil_Hasil(char Kode[],char Nama[],int Unit,float Harga){ printf("Kode Persediaan :%s\n",Kode); printf("Kode Persediaan :%s\n",Nama); printf("Kode Persediaan :%d\n",Unit); printf("Kode Persediaan :%9.2f\n",Harga); }

PELAJARI CONTOH CONTOH YANG ADA, CARI MATERI DARI SUMBER YANG LAIN BAIK DARI BUKU MAUPUN SEARCHING DI INTERNET. SEMAKIN BANYAK ANDA MENEMUKAN CONTOH PENGAPLIKASIAN DARI SETIAP MATERI YANG DIBERIKAN SEMAKIN CEPAT ANDA MENGUASAI PEMROGRAMAN ------SELAMAT BELAJAR-----

Anda mungkin juga menyukai