MODUL MATA KULIAH
ALGORITMA DAN STRUKTUR DATA 1
KP002 – 3 SKS
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR
JAKARTA
SEPTEMBER 2019
TIM PENYUSUN
Painem, S.Kom, M.Kom Reva Ragam, S.Kom., M.Kom
Ir. Moch. Sjukani
UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI
MODUL PERKULIAHAN #14
STRUCTURE
Capaian Pembelajaran : Mahasiswa mampu memahami konsep
struktur sehingga dapat menerapkan
pemecahan masalah yang lebih komplek dan
mahasiswa mampu memahami pengertian
structure dalam pemrograman
Sub Pokok Bahasan : 1.1. Pengertian Struktur
1.2. Struktur dalam struktur
1.3. Struktur dan Fungsi
1.4. Array pada Struktur
Daftar Pustaka : 1. Sjukani M, “Struktur data dengan
C++(Algoritma dan Struktur Data 2
dengan C, C++)”, Mitra Wacana Media,
2007
2. Kristanto Andri, “Algoritma dan
Pemrograman dengan C++”, Graha Ilmu,
2003
3. Darmawan Erico, “Pemrograman Dasar C-
Java-C#”,Informatika,2012
2019/2020 1 Algoritma dan Struktur Data 1 (KP002)
STRUCTURE
1.1. PENGERTIAN STRUCTURE
Structure merupakan kumpulan elemen data yang digabungkan menjadi satu
kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen
struktur. Field tersebut bisa memiliki tipe data yang sama ataupun berbeda. Meskipun
field tersebut dalam satu kesatuan tetapi tetap bisa diakses secara individu.
Tipe data struct adalah tipe data bentukan, dimana kita harus buat dulu seperti apa
isi komponen dari struct, baru kemudian diakses dari kode program utama. Proses
pembuatan tipe data struct biasanya ditulis sebelum main().
Deklarasi struktur (struct) :
struct nama_struktur
{
Tipe1 elemen1;
Tipe2 elemen2;
Tipe3 elemen3;
.
.
}
Nama object;
==============================================
Atau
==============================================
struct nama_struktur
{
Tipe1 elemen1;
Tipe2 elemen2;
Tipe3 elemen3;
.
.
}
struct nama_structur Nama object;
Analisis dan Desain Algoritma (PG167) 2 2019/2020
Contoh deklarasi struct dengan tipe data yang berbeda
struct mahasiswa
{
char nim[10];
char nama[30];
int nilaiakhir;
float ipk;
} mhs;
Setelah keyword struct, diikuti dengan nama identitas atau nama tipe data yang kita
inginkan atau nama struct. Dalam contoh ini diatas membuat tipe data Mahasiswa.
Tentu saja bisa menggunakan nama lain. Sebuah struct terdiri dari berbagai variabel
yang ditulis di antara tanda kurung kurawal.
Atau bisa dideklarasikan sebagai berikut :
struct mahasiswa
{
char nim[10];
char nama[30];
int nilaiakhir;
float ipk;
};
struct mahasiswa mhs;
Contoh deklarasi struct dengan tipe data yang sama :
struct tanggal
{
int tanggal,bulan,tahun;
}tgl;
Kata Kunci yang
menyatakan struktur
Nama struktur
Nama object
2019/2020 3 Algoritma dan Struktur Data 1 (KP002)
Contoh -1
Output contoh-1 :
Pada baris 12 dan 13, Pengaksesan elemen struct dilakukan secara individual dengan
menyebutkan nama variabel struktur diikuti dengan tanda titik.
printf(“Nama barang :%s”, stok.namabarang)
Atau
Contoh 2 :
Analisis dan Desain Algoritma (PG167) 4 2019/2020
Output contoh 2:
Catatan :
Pada bahasa C pendefinisian seperti :
struct stockbarang barang;
Kata struct pada bentuk seperti diatas boleh tidak dituliskan. Sehingga
bisa langsung ditulis sebagai berikut :
stockbarang barang;
1.2. STRUKTUR DALAM STRUKTUR
Struktur yang salah satu anggotanya adalah struktur lain disebut sebagai nested
structure.Deklarasi struktur lain dilakukan sebelum deklarasi struktur yang
memuatnya.
Contoh :
- Struct Mhs berisi Nim, Nama, Alamat, Tanggal Lahir
- Alamat merupakan struct yang terdiri dari Nama Jalan, Nomor Rumah, Kota,
Provinsi
- Tanggal Lahir merupakan struct yang berisi Tanggal, Bulan dan Tahun
struct Alamat {
char Jalan[40]; int NoRumah;
char Kota[20], Propinsi[20];
};
struct TanggalLahir {
int Tanggal, Bulan, Tahun;
};
2019/2020 5 Algoritma dan Struktur Data 1 (KP002)
Contoh
struct Mhs{
int Nim;
char Nama[20];
struct Alamat address;
struct TanggalLahir tgllahir;
};
Analisis dan Desain Algoritma (PG167) 6 2019/2020
Output :
1.3. STRUKTUR DAN FUNGSI
Structure dapat dikirim ke function sebagai parameter.Jika structure ini hanya
merupakan data masukan, maka dapat dikirimkan dengan call by value, tetapi bila
structure yang dikirimkan akan mengalami perubahan nilai maka pengiriman
parameter harus dengan call by reference dengan mengirimkan pointer to struct.
Struct juga dapat menjadi return type sebuah function.
Melewatkan sebuah struktur untuk menjadi parameter sebuah fungsi dapat dilakukan
sama denga pengiriman parameter berupa variabel biasa. Fungsi yang mendapat
kiriman parameter terseut jga bisa mengirimkan hasil baliknya yang sama juga berupa
sebuah struktur (pas by reference)
Melewatkan parameter berupa elemen struktur dapat dilakukan sebagaimana
pengiriman parameter berupa variabel biasa, dapat dilakukan baik secara nilai (pass
by value) maupun secara acuan (pass by reference)
Contoh call by value :
2019/2020 7 Algoritma dan Struktur Data 1 (KP002)
Output :
1.4. ARRAY PADA STRUKTUR
Array merupakan kumpulan elemen yang bertipe sama dalam urutan tertentu yang
menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh
index atau posisi.
Struktur dan array mempunyai kesamaan dan perbedaan. Kesamaannya adalah
alokasi memori untuk elemen-elemennya sudah ditentukan sebelum program
dijalankan. Sedangkan perbedaannya, array adalah struktur data yang tipe data dari
Analisis dan Desain Algoritma (PG167) 8 2019/2020
elemen-elemennya harus sama dan elemen tersebut diakses melalui indeks,
sedangkan struktur adalah struktur data yang tipe data dari elemen-elemennya tidak
harus samadan elemen tersebut diakses melalui identifier atau nama variabel.
Dalam beberapa buku array sering juga disebut dengan istilah Larik atau Tabel.
Array termasuk dalam struktur data statis, artinya adalah lokasi memori untuk array
tidak dapat ditambah atau dikurangi selama program dijalankan.
Perlu kalian ketahui bahwa suatu structure juga dideklarasikan menjadi sebuah array
apabila structure tersebut hendak menggunakan suatu struct untuk beberapa kali.
Konteks sebenarnya yaitu sama dengan struktur tunggal yang sudah saya bahas pada
artikel sebelumnya, namun perbedaannya adalah hanya saat pendeklarasian
variabelnya saja.
struct nama_struct
{
nama_field_1;
nama_field_2;
. . . .
nama_field_n;
};
Kemudian untuk melakukan pendeklarasian suatu variabel bertipe structure diatas bisa
kalian gunakan bentuk umum dibawah ini :
Nama_struct nama_var_struct[banyak_elemen];
Contoh
struct Mahasiswa {
char NIM[9];
char Nama[25];
char Alamat[30];
float Ipk;
2019/2020 9 Algoritma dan Struktur Data 1 (KP002)
};
Kemudian untuk mendeklarasikan variabel struct diatas kalian bisa menggunakan
format dibawah ini :
Mahasiswa Mhs[5];
Contoh :
Misalkan ada 3 orang mahasiswa, dimana masing-masing mahasiswa terdiri dari nim,
nama mahasiswa,nilai akhir mahasiswa. Kemudian menampikan kelayar beserta nilai
rata-ratanya. Untuk membuat program tersebut menjadi lebih baik, maka kita dapat
menyatukan data-data yang berhubungan dengan nim, nama mahasiswa, dan nilai
akhir mahasiswa. Ketiga data tersebut digabungkan dengan membuat struct mhs.
Analisis dan Desain Algoritma (PG167) 10 2019/2020
Output
SOAL LATIHAN Soal-1
Buat program menggunakan struct untuk menghitung gaji harian pegawai , dengan
ketentuan program sebagai berikut :
Input : Nomor induk pegawai harian, nama pegawai, Jumlah jam kerja
Proses :
- Gaji perjam 15000
- Bila jumlah jam kerja > 7 jam maka kelebihan dihitung lembur yang besarnya
20000/jam
Output :
==========================
2019/2020 1
1 Algoritma dan Struktur Data 1 (KP002)
SLIP GAJI PEGAWAI HARIAN
==========================
NIP HARIAN :
NAMA PEGAWAI :
JUMLAH JAM KERJA :
GAJI PERJAM :
LEMBUR :
TOTAL GAJI :
==========================
Soal -2
Berdasarkan struct berikut :
struct automobile {
int year;
char model[8];
int engine_power;
float weight;
};
Buatlah aplikasi menggunakan array of structure untuk menginput 5 jenis mobil,
kemudian tampilkan dalam format yang layak
Soal-3
Buatlah sebuah struct
struct nilaimhs {
char Nim[11];
char Nama [30];
char KodeMtk [5];
int sks;
char grade;
};
Analisis dan Desain Algoritma (PG167) 12 2019/2020
Buat program (tanpa menggunakan array) untuk menginput struct tersebut, kemudian
tampilkan nim, nama, kodemtk, sks, grade.
Soal-4
Menggunakan struct berikut :
struct ipkmhs {
char nim[11];
char nama[30];
float ipk;
};
Buatlah program untuk menginput data 5 mahasiswa, dan tampilkan data mahasiswa
ipk >= 3.0 dan ipk < 3.0
Contoh :
Mhs ipk >=3.0 :
Andi
Budi
Candra
Mhs ipk < 3.0 :
Dadu
Emin
KESIMPULAN 1. Struktur adalah pengelompokkan variabel-variabel yang bernaung dalam satu
nama yang sama
2. Berbeda dengan array yang berisi kumpulan variabel-variabel yang bertipe dama
dengan satu nama, maka suatu struktur dapat terdiri atas variabel-variabel yang
berbeda tipenya dalam satu nama struktur
3. Suatu strktur didefiniskan dengan menggunakan kata kunci struct. Contohnya :
struct tanggal
{
int tanggal;
2019/2020 1
3 Algoritma dan Struktur Data 1 (KP002)
int bulan;
int tahun;
}tgl;
4. Elemen dari suatu variabel struktur dapat diakses dengan menyebutkan
nama variabel struktur diikuti dengan operator titik (‘.’) dengan nama
dari elemen strukturnya.
5. Pengiriman parameter berupa elemen struktur dapat dilakukan
sebagaimana pengiriman parameter berupa biasa, dapat dilakukan baik
secara nilai (pass by value) maupun pass by reference