Page language

Senin, 09 April 2012

Tipe Data Tingkat Lanjut


                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
Menggunakan typedef
Struct Tipe_Kar{
    Char Nama[20];
    Struct Tanggal Masuk;
    Struct JenisStatus JS;
}
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
Variabel pointer untuk struktur
Alternative 1
Alternative 2
Alternative 1
Alternative 2
Int Nilai, *PN;
PN = &Nilai;
Int Nilai;
Int *PN=&Nilai;
Struct{
  Char Nama[5];
  Float IP;
} Mahasiswa, *PM;
PM=&Mahasiswa;
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,Persediaan.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-----

0 komentar:

Posting Komentar

language

EnglishFrenchGermanSpainItalianDutchRussianPortugueseJapaneseKoreanArabicChinese Simplified