16
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

ALGORITMA DAN STRUKTUR DATA 1 - Atiko Website

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS BUDI LUHUR

Jl. Raya Ciledug, Petukangan Utara, Pesanggrahan

Jakarta Selatan, 12260

Telp: 021-5853753 Fax : 021-5853752

http://fti.budiluhur.ac.id