TUGAS KELOMPOK RESUME KELOMPOK 3 STRUKTUR DATA 2A
Tugas
Resume
Tahun Akademik 2017/2018
Diajukan untuk memenuhi tugas
dalam mata kuliah struktur data
Disusun
Oleh :
NAMA : 1. Muhammad Kurniawan (1703019002)
2. Bambang Hadi.P (1703015031)
3. Alwi Aldiansyach (1703015047)
4. Luthfi Akbar.R (1703015201)
5. Fikry Rizky.R (1703015025)
6. Erlangga Aji.P (1703015092)
7. Rosyid Azis (1703015181)
8. Dhuhaa Al Fajri.W (1703015200)
9. M. Aldhy Agustino (1703015057)
10. Renanda Alif Saputra
(1703015180)
11. M. Tri Laksono (1703015078)
PEMINATAN : INFORMATIKA
DOSEN
PENGAMPU : Zuhri Halim, S.Kom
FAKULTAS
TEKNIK
UNIVERSITAS
MUHAMMADIYAH PROF.DR.HAMKA
JAKARTA
2018
Array adalah
struktur data paling sederhana. Sekelompok elemen yang memiliki nilai homogenya
(tipe sama) dan tipe data tertentu. Array memiliki elemen berupa data-data yang
memiliki ukuran dan tipe data sama Elemen data di array bisa diakses melalui
posisinya (indeks) pada array, Indeks dapat berupa integer maupun string
(associative array). Array juga dapat dikatakan sebagai baris atau
deret.
Contoh Real : Baris / deretan kamar pada suatu hotel
A. Fungsi Array
· Pengertian Fungsi ( function )
Function/fungsi adalah satu
blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di
eksekusi ketika dipanggil dari bagian lain dalam suatu program.
· Tujuan pembuatan fungsi adalah :
- Memudahkan dalam pembuatan
program.
- Menghemat ukuran program.
· Keuntungan memakai fungsi :
- Menguraikan tugas pemrograman
rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
- Mengurangi duplikasi kode (kode
yang sama ditulis berulang-ulang) dalam program.
- Dapat menggunakan kode yang
ditulis dalam berbagai program yang berbeda.
- Memecah program besar menjadi
kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi
beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
- Menyembunyikan informasi dari
user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau
mengubah program yang kita buat
- Meningkatkan kemampuan
pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi
yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh
program.
B. Parameter
Terdapat dua macam para
parameter fungsi, yaitu :
- Parameter formal adalah
variabel yang ada pada daftar parameter dalam definisi fungsi.
- Parameter Aktual adalah
variabel yang dipakai dalam pemanggilan fungsi.
Bentuk penulisan Parameter
Formal dan Parameter Aktual.
· Passing by Value
- Call by value akan menyalin
nilai dari parameter aktual ke parameter formal.
- Yang dikirimkan ke fungsi
adalah nilai dari datanya, bukan alamat memori letak dari datanya.
- Fungsi yang menerima kiriman
nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang
digunakan oleh bagian program yang memanggil fungsi.
- Perubahan nilai di fungsi
(parameter formal) tidak akan merubah nilai asli di bagian program yang
memanggilnya.
- Pengiriman parameter secara
nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi
ke fungsi yang dipanggil.
- Pengiriman suatu nilai dapat
dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array
atau konstanta saja.
· Passing by Reference
- Call by Referense merupakan
upaya untuk melewatkan alamat dari suatu variabel ke dalam
fungsi.
- Yang dikirimkan ke fungsi
adalah alamat letak dari nilai datanya, bukan nilai datanya.
- Fungsi yang menerima kiriman
alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai
datanya.
- Perubahan nilai di fungsi akan
merubah nilai asli di bagian program yang memanggil fungsi.
- Pengiriman parameter secara
referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil
ke fungsi yang dipanggil dan juga sebaliknya.
- Pengiriman secara acuan tidak
dapat bdilakukan untuk suatu ungkapan.
Array juga dapat digunakan
sebagai parameter. Jenisnya :
a. Array dimensi satu sebagai
parameter :
Pengiriman parameter berupa
array dimensi satu merupakan pengiriman secara acuan/referensi, karena yang
dikirimkan adalah alamat dari elemen pertama arraynya, bukan seluruh
nilai-nilai elemenya. Alamat elemen pertama dari array dapat ditunjukkan oleh
nama lariknya yang tidak ditulis dengan indeknya.
b.
Array dua dimensi sebagai parameter :
Pengiriman parameter berupa
array dua dimensi hampir sama dengan pengiriman parameter array satu dimensi,
hanya saja perbedaannya adalah dalam array dua dimensi harus menyebutkan baris
dan kolom array dimensi dua tersebut, mendeklarasikan MAX_ROWS dan MAX_COLS
yang digunakan untuk pengiriman parameter array dua dimensi dan pada saat
pengiriman parameter formal array dua dimensi, kita harus menyebutkan banyaknya
dimensi array untuk kolom, sehingga ukuran kolom dapat diketahui, hal ini
berkaitan dengan pemesanan variabel array di memori.
C. Macam-macam
Array
1. Array satu dimensi
2. Array dua dimensi
3. Array Multidimensi
1.
Array satu dimensi
oSetiap elemen array dapat diakses melalui index
oIndex array secara default dimulai dari 0
oDeklarasi array :
Tipe_array nama_array[ukuran]
oSetiap elemen array dapat diakses melalui index
oIndex array secara default dimulai dari 0
oDeklarasi array :
Tipe_array nama_array[ukuran]
Contoh codingan ARRAY 1 DIMENSI:
Hasil
Compile and Run
2.
Array dua dimensi
-Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
-Deklarasi array :
Tipe_array nama_array [baris][kolom]
-Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
-Deklarasi array :
Tipe_array nama_array [baris][kolom]
Contoh codingan ARRAY 2 DIMENSI:
Hasil Compile and Run
3.Array multidimensi
-Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
-Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
Perbedaan array dengan tipe data lain :
Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja.
Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja.
Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.
C.
String
String pada
dasarnya adalah kumpulan dari karakter-karakter (karakter bertipe data char). Penulisan string harus diawali den diakhiri
dengan tanda petik dua (“),
sedangkan karakter harus diawali dan diakhiri dengan tanda petik satu (‘). Misalnya :
Penulisan string :
string A = “gaji”;
Penulisan karakter :
char A = ‘g’;
char B = ‘a’;
char C = ‘j’;
char D = ‘i’;
char E = ‘\0’;
Kita dapat membangun sebuah string dengan menggunakan array dari beberapa karakter. Dalam bahasa
C++, string yang digunakan adalah bertipe null terminated string,
yaitu jenis string yang diakhiri
dengan oleh karakter null (‘\0’),
bukan nol. Oleh karena itu, jika kita ingin mendeklarasikan string dalam bentuk array dari char,
maka kita harus menambahkan 1 tempat untuk posisi karakter null. sebagai contoh misalnya kita ingin melakukan
deklarasi variabel yang bertipe string dan
mengisinya dengan teks “Baik”, maka
bentuk deklarasinya adalah sebagai berikut :
//Mendelklarasikan
variabel tipe string dengan lebar 5
char sifat[5];
//Mengisi
nilai ke dalam variabel sifat
sifat = {‘B’,’a’,’i’,’k’,’\0′};
Jika
kita ingin mengisi nilai kedalam variabel string dalam bentuk array char, maka
kita perlu menambahkan karakter null di bagian elemen akhir array. Berikut
contoh kode program dengan bentuk array char.
#include <iostream> // header
#include <conio.h>
using namespace std;
#include <conio.h>
using namespace std;
int main()
{
{
Definisi Struktur (struct) sendiri adalah kumpulan dari variabel yang dinyatakan dengan
sebuah nama , dengan sifat setiap variabel dapat memiliki tipe yang berlainan.
Dalam pemrograman C++, jika kita
membuat suatu program yang memerlukan berbagai tipe data yang akan digunakan.
Tentunya dengan nama variable yang banyak pula. Dalam program yang sederhana,
jika kita manggunakan sedikit variable tentu tidak jadi masalah. Akan tetapi
jika kita akan membuat sebuah program yang lebih kompleks, dengan berbagai
macam nama dan tipe variable dalam pendeklarasianya.
Dengan struct, kita bisa
mengelompokkan berbagai nama dan tipe variable tersebut sesuai dengan
kelompoknya. Hal ini tentunya bisa berguna untuk memudahkan dalam
mengelompokkan sebuah variable. Sebagai contoh umum, ada terdapat berbagai nama
variable : nama, npm, alamat, dll. Variabel – variable tersebut
dapat kita kelompokkan menjadi satu dengan nama data_mahasiswa.
Kemudian jika terdapat variable mata_kuliah, nilai, sks, kelas, dll
dapat kita kelompokkan menjadi satu dengan nama krs.
Dalam mendeklarasikan struct, ada beberapa cara penulisan
yang biasa digunakan.
Pertama :
struct nama_struct {
tipe_data_1 nama_var_1;
tipe_data_2 nama_var_2;
tipe_data_3 nama_var_3;
……
};
Yang kedua adalah dengan deklarasi menggunakan typedef.
typedef struct {
tipe_data_1
nama_var_1;
.
.
tipe_data_n
nama_var_n;
} nama_struct;
Kemudian untuk mendeklarasikan sebuah variable dengan tipe
data struct yang telah dibuat sebelumnya adalah :
struct tipe_struct nama_variabel;
Jika pendeklarasian struct sebelumnya menggunakan typedef,
maka untuk mendeklarasikan sebuah variable dengan tipe data struct adalah :
tipe_struct nama_variabel;
Dan untuk mengakses sebuah struct adalah dengan menggunakan
operator titik (.)
nama_var_struct . nama_var_elemen;
STRUCT OF ARRAY
Sebuah struct yang di dalamnya tedapat variable dengan tipe
data array.
Contoh :
struct data {
char nama[20];
char alamat[100];
};
ARRAY OF STRUCT
Sebuah array yang setiap data elemennya bertipe struct.
Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data
mahasiswa, karyawan, buku, barang, dsb.
Contoh :
typedef struct {
char npm [10];
char nama [20];
char alamat [30];
unsigned angkatan;
float ipk;
} mahasiswa ;
mahasiswa data[100];
// deklarasi var, menyiapkan 100 data
dengan tipe data mahasiswa (struct yang telah dibuat sebelumnya).
CONTOH PROGRAM
Program untuk memasukkan data mahasiswa.
Source code :
#include “stdio.h”
#include “string.h”
#include “conio.h”
typedef struct {
char npm [10];
char nama [20];
char alamat [30];
int angkatan;
float ipk;
} mhs ;
void main()
{
mhs student[100];
char lagi = ‘y’; int i;
for( i = 0; lagi == ‘y’; i++)
{
printf(“nNPM = “); gets(student[i].npm);
printf(“Nama = “); gets(student[i].nama);
printf(“Alamat = “); gets(student[i].alamat);
printf(“Angkatan = “); scanf(“%i”, &student[i].angkatan);
printf(“IPK = “); scanf(“%f”, &student[i].ipk);
printf(“nMasukkan Lagi (y/t) ? “); lagi = getche(); flushall();
}
printf(“nnData yang sudah dimasukkan adalah:n”);
for( int j = 0; j < i; j++)
{
printf(“nNPM : %s”, student[j].npm);
printf(“nNama : %s”, student[j].nama);
printf(“nAlamat : %s”, student[j].alamat);
printf(“nAngkatan : %i”, student[j].angkatan);
printf(“nIPK : %f n”,
student[j].ipk);
}
}
ANALISA PROGRAM
Dalam program di atas, kita mendeklarasikan sebuah struct
dengan nama mhs. Dalam struct mhs, terdapat lima variable yang
dideklarasikan, yaitu array npm, nama, alamat dengan tipe
char, kemudian angkatan dengan tipe integer, serta ipk dengan
tipe float.
Setelah mendeklarasikan sebuah struct, masuk ke fungsi main.
Di dalam fungsi main, terlebih dahulu mendeklarasikan sebuah array student dengan
tipe mhs dengan ukuran 100. Maksudnya kita bisa menginput
sampai dengan 100 data mahasiswa ke dalam array student. Inilah
yang disebut dengan array of struct seperti yang telah dijelaskan sebelumnya.
Kemudian program masuk ke dalam looping untuk memasukkan
data. Maksud dari script gets(student[i].npm); adalah perintah untuk
memasukkan seduah data ke array student yang mengakses variabel npm yang ada di
dalam struct dengan urutan data ke i.
Looping akan berhenti jika user menginputkan karakter selain
‘y’ yang artinya keluar dari looping. Kemudian program akan menampilkan data
yang sudah diinputkan.
UNION
Union memungkinkan suatu lokasi memori ditempati oleh 2 atau
lebih variabel dengan tipe data berlainan. Jumlah memory yang diperlukan untuk
menampung sebuah variabel union ditentukan oleh field terbesar. Jika
elemen-elemen sebuah union terdiri dari data bertipe integer dan char maka
memory yang dibutuhkan adalah sebesar int. Jika elemen-elemen sebuah union
berupa int, float, dan char maka memory yang diperlukan adalah sebesar float.
Dalam pendeklarasian union, sama dengan cara mendeklarasikan
sebuah struct. Cara mengakses union juga sama seperti struct.
Contoh :
union
bil_bulat
{
unsigned
int no;
unsigned
char nama[2];
} ;
Daftar
pustaka
1.
http://hwsmartsolution.com/blog/2016/02/24/pengertian-array-dan-contoh-progam-menampilkan-array-pada-c/
2.
https://beginnersbook.com/2014/01/2d-arrays-in-c-example/
Komentar
Posting Komentar