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]

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]


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.
Contoh codingan ARRAY MULTIDIMENSI:                                             Hasil Compile and run 

 









                           

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 cermati, sebenarnya kita hanya mengisi 4 karakter kedalam variable sifat, sedangkan sisa ruangnya akan digunakan untuk menempatkan karakter null. Untuk lebih jelasnya perhatikan gambar berikut.





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;
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

Postingan populer dari blog ini

Tugas Struktur Data

Tugas Rangkuman Materi Struktur Data