8 struktur

23
STRUKTUR ALGORITMA DAN DASAR PEMROGRAMAN

Upload: faisal-amir

Post on 09-Aug-2015

21 views

Category:

Healthcare


1 download

TRANSCRIPT

STRUKTURALGORITMA DAN

DASAR PEMROGRAMAN

DEFINISI Struktur adalah sekumpulan variabel

yang masing-masing tipe datanya bisa berbeda, dan dikelompokkan dalam satu nama.

Berbeda dengan suatu larik yang berisi kumpulan elemen-lemen larik bertipe sama dalam satu nama, struktur dapat terdiri dari kumpulan variabel-variabel yang berbeda tipenya dalam satu nama.

Variabel-variabel yang membentuk suatu struktur selanjutnya disebut elemen-elemen atau anggota struktur.

DEFINISI Struktur membantu mengatur data-data yang

rumit, khususnya dalam program yang besar, karena struktur memberikan sekelompok variabel yang diperlakukan sebagai satu unit.

Struktur dimungkinkan dapat berisi elemen-elemen data bertipe int, float, char, dan lainnya.

Pada Pascal, struktur ini juga dikenal sebagai record).

Stuktur sering digunakan untuk mendefinisikan suatu record data yang disimpan di dalam file.

Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type), yang disusun menggunakan obyek dengan tipe yang lain.

MENDEKLARASIKAN STRUKTUR Struktur dapat dideklarasikan menggunakan

kata kunci struct, contohnya seperti berikut:struct IP_Mhs{

int NIM[10];char Nama[50];int Semester;float IP;

}; Struktur di atas memiliki nama IP_Mhs dan

memiliki empat buah elemen, yaitu NIM[10] bertipe int, Nama[50] bertipe char, Semester bertipe int, dan IP bertipe float.

MENDEKLARASIKAN STRUKTUR IP_Mhs merupakan nama dari tipe data

struktur yang mempunyai empat buah elemen tersebut, bukan nama dari suatu variabel struktur.

Variabel struktur selanjutnya dapat dideklarasikan dengan nama tipe data IP_Mhs yang diawali dengan kata kunci struct seperti pada contoh berikut ini:struct IP_Mhs IP_Semester, IP_Kumulatif;

IP_Semester dan IP_Kumulatif merupakan variabel-variabel yang mempunyai tipe data IP_Mhs.

MENDEKLARASIKAN STRUKTUR Deklarasi variabe-variabel tipe data

struktur juga dapat dilakukan dengan menggabungkan kedua deklarasi yang terpisah menjadi sebuah deklarasi, seperti contoh berikut:struct IP_Mhs {

int NIM[10];char Nama[50];int Semester;float IP;} IP_Semester, IP_Kumulatif;

MENDEKLARASIKAN STRUKTUR Nama dari tipe struktur, selanjutnya dapat

digunakan untuk mendeklarasikan variabel-variabel yang lain dengan struktur tersebut.

Jika nama struktur tidak digunakan lagi untuk mendeklarasikan variabel-variabel struktur yang lain, maka nama dari tipe data ini dapat juga tidak dituliskan, sehingga deklarasinya dapat berbentuk seperti ini:struct {int NIM[10];char Nama[50];int Semester;float IP;} IP_Semester, IP_Kumulatif;

MENDEKLARASIKAN STRUKTUR Variabel-variabel struktur dapat juga langsung

diberi nilai awal. Misalnya variabel IP_Semester mempunyai nilai awal NIM-nya adalah 3201416001, Nama Mahasiswanya adalah “Danish”, semesternya adalah 2 dan IP-nya 3.15, maka dapat dituliskan sebagai berikut: struct {

int NIM[10];char Nama[50];int Semester;float IP;} IP_Semester = {

3201416001, “Danish”, 2, 3.15 }, IP_Kumulatif;

MENDEKLARASIKAN STRUKTUR Atau jika nama tipe data strukturnya

telah dideklarasikan sendiri dan variabel strukturnya dideklarasikan terpisah, maka dapat ditulis:struct IP_Semester = {

3201416001, “Danish”, 2, 3.15 }, IP_Kumulatif;

MENGAKSES ELEMEN STRUKTUR Elemen-elemen struktur dapat diakses

secara individual dengan menyebutkan nama variabel strukturnya diikuti oleh operator titik (‘.’) dan nama dari elemen strukturnya, seperti berikut ini:

X = IP_Semester.IP;yang menunjukkan elemen dengan nama IP dari variabel struktur IP_Semester dengan nilai awal 3.15, diisikan ke variabel numerik lain bernama X.

/* ------------------------------------------ Nama Program: ADP_Struktur_1.cpp Struktur ------------------------------------------- */

#include <stdio.h>#include <stdlib.h>

main(){

struct { char Nama[20]; int NIM; float IP;

}Mhs;

printf("Nama Mahasiswa: "); scanf("%s", &Mhs.Nama);

printf("Nomor Induk Mahasiswa: "); scanf("%d", &Mhs.NIM); printf("Indeks Prestasi Semester: "); scanf("%f", &Mhs.IP); printf("\n");

printf("Data Mahasiswa adalah %s, dengan NIM %d, dan IP %.2f\n", Mhs.Nama, Mhs.NIM, Mhs.IP);

printf("\n"); system("pause");}

HASIL EKSEKUSI

/* ------------------------------------------ Nama Program: ADP_Struktur_2.cpp Struktur ------------------------------------------ */

#include <stdio.h>#include <stdlib.h>

main(){

struct { float JariJari; float Keliling; float Luas; }Lingkaran;

printf("Jari-jari Lingkaran: "); scanf("%f", &Lingkaran.JariJari);

printf("\n");

Lingkaran.Keliling = 2*3.14*Lingkaran.JariJari; Lingkaran.Luas = 3.14*Lingkaran.JariJari*Lingkaran.JariJari;

printf("Jadi Keliling Lingkaran adalah %.2f\n", Lingkaran.Keliling); printf("Sedangkan Luas Lingkaran adalah %.2f\n", Lingkaran.Luas);

printf("\n"); system("pause");}

HASIL EKSEKUSI

MENGAKSES ELEMEN STRUKTUR Pada contoh program ADP_Struktur_1.cpp

variabel struktur Mhs, elemen Nama dapat diakses dengan menuliskan Mhs.Nama, elemen NIM dapat diakses dengan menuliskan Mhs.NIM, dan elemen IP dapat diakses dengan menuliskan Mhs.IP.

Sedangkan pada contoh program ADP_Struktur_2.cpp, elemen JariJari dapat diakses dengan menuliskan Lingkaran.JariJari, elemen Keliling dapat diakses dengan menuliskan Lingkaran.Keliling dan elemen Luas dapat diakses dengan menuliskan Lingkaran.Luas.

STRUKTUR BERISI STRUKTUR LAIN Suatu struktur dapat berisi struktur yang lain

dengan elemn berupa struktur yang lain. Jika suatu elemen dari struktur dapat diakses dengan menuliskan sebagai berikut:nama-variabel.nama-elemen;maka sub-elemen dari struktur dapat diakses dengan menuliskan:nama-variabel.nama-elemen.nama-sub-elemen

/* ----------------------------------------- Nama Program: ADP_Struktur_3.cpp Struktur berisi Struktur lain ----------------------------------------- */

#include <stdio.h>#include <stdlib.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 = { "Muhammad Fadly", 17, 11, 87, “Jl. Adisucipto no.35", "Pontianak", 1500000 };

//Menampilkan data karyawan 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, %s\n",Karyawan.Tinggal.Jalan, Karyawan.Tinggal.Kota); printf("Gaji per Bulan : Rp. %10.2f\n",Karyawan.Gaji);

printf("\n"); system("pause");}

HASIL EKSEKUSI

LARIK STRUKTUR Elemen-elemen dari suatu larik dapat

juga berbentuk suatu struktur. Larik struktur dimensi satu membentuk suatu tabel (mirip dengan larik dimensi dua) dengan barisnya menunjukkan elemen dari lariknya dan kolomnya menunjukkan elemen dari struktur. Tiap-tiap elemen dari struktur dapat diakses untuk tiap-tiap elemen larik dengan menuliskan nama dari lariknya diikuti dengan indeksnya, diikuti oleh operator titik dan nama dari elemen strukturnya.

/* -------------------------------- Nama Program: ADP_Struktur_4.cpp Larik Struktur -------------------------------- */

#include <stdio.h>#include <stdlib.h>

main(){ struct Psd{ char Kode[5]; char Nama[20]; int Unit; float Harga; };

struct Psd Persediaan[100] = { "M123","Monitor",5,125000, "D124","DVD",10,10000, "P125","Printer",7,3000000 };

int I, N=3; float Total=0;

//Tampilkan hasilnya dalam bentuk label printf(" DATA PERSEDIAAN\n\n"); printf("Kode Nama Unit Harga Total\n"); printf("_____________________________________________________\n"); printf("\n"); for(I=0;I<N;I++){ printf("%s %-5s %4d %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("\n "); printf("Total %10.2f \n",Total);

printf("\n"); system("pause");}

HASIL EKSEKUSI

PUSTAKA Kristanto, Andri. (2009). Algoritma &

Pemrograman dengan C++ Edisi 2. Yogyakarta. Graha Ilmu.

Hartono, Jogiyanto, MBA., Ph.D. (2002). Konsep Dasar Pemrograman Bahasa C. Yogyakarta. Andi.