• Tidak ada hasil yang ditemukan

Struktur Data Modul 02 Array

N/A
N/A
Protected

Academic year: 2018

Membagikan "Struktur Data Modul 02 Array"

Copied!
4
0
0

Teks penuh

(1)

1

A

Modul 2 – ARRAY

I. TUJUAN

1. Memahami konsep dan implementasi Array dalam bahasa C.

2. Memahami penggunaan Array dalam aplikasi sehari-hari.

II. DASAR TEORI

Array atau sering disebut juga sebagai larik adalah sebuah struktur data yang menyimpan

sekumpulan elemen dengan tipe yang sama dan disimpan dalam memori computer yang

kontigu (saling bersebelahan urut, tidak ada skip) dan kapasitas elemen terdefinisi sebelumnya.

Akses setiap elemen harus melalui indexnya. Index larik haruslah tipe data yang menyatakan

keterurutan (order) seperti integer atau character. Array merupakan tipe data yang statis atau

static data type karena lebar nya tidak bisa berubah-ubah setelah kita mendeklarasikan

lebarnya. Oleh karena itu, kita juga tidak dapat men-delete elemen array, hanya dapat

mengubahnya. Berikut ilustrasi dari sebuah array dgn nama A dan memiliki 3 elemen pada

memory:

Kotak kotak yang dicetak tebal adalah array nya, pegindexan array secara

0

integer dimulai dari angka 0.

1

Gambar tersebut merepresentasikan sebuah array dimana dalam memory

sebuah array tersusun secara berurut.

2

(2)

2

Pendeklarasian Larik

Untuk mendeklarasikan sebuah larik dalam bahasa C menggunakan cara yang sama

seperti mendeklarasikan variabel biasa, hanya perlu diberi lebar indexnya dengan

memberi tanda kurung siku ‘[ ]’.

int A[20];

// hal ini berarti: A merupakan array dengan tipe integer dengan lebar 20

(cacah elemen max ada 20 buah)

Pengoprasian Larik

Untuk melakukan pengoprasian terhadap Larik, yang di perlukan adalah permainan

pada indexnya.

B=A[1]+A[2]

Kapan Menggunakan Larik?

Larik digunakan bila kita memiliki sejumlah data yang bertipe sama dan kita perlu melakukan

penyimpanan sementara untuk selanjutnya diproses.

Misalkan kita mempunyai 10 mahasiswa, maka dapat dibangun struktur array of mahasiswa.

III.

DEMO

//file header.h

#include <stdio.h> #include <conio.h> #include <string.h> #include <windows.h>

typedef char string[20]; // string adalah tipe baru typedef struct

{

}Mhs;

int NIM; string Nama; float IPK;

typedef Mhs Kelompok[10]; //Kelompok: tipe baru setara dengan array of Mhs

void InitMhs(Mhs *m, int nim, char nama[], float ipk); //IS: m terdefinisi, belum ada isinya

//FS: nim, nama, ipk terdefinisi dan ada isinya sbg input bagi m

void PrintMhs(Mhs m);

//IS: m terdefinisi dan sudah ada isinya

//FS: tercetak isi elemen data m ke layar komputer void InitKelompok(Kelompok *K);

//IS: K terdefinisi, belum ada isinya

(3)

3

void InitAnggotaKelompok(Kelompok *K, int nim, char nama[], float ipk, int index);

//IS: K terdefinisi, nim, nama, dan ipk terdefinisi dan sudah ada isinya, // semuanya inputan utk K, index terdefinisi dan sudah ada isinya (salah // satu angka dari 0 sd MAX), index adalah indeks dari K dimana ke

// elemennya akan dimasukkan seorang Mhs

//FS: Elemen ke-index dari K akan berisi Mhs dengan NIM=nim, Nama=nama, dan

// IPK=ipk

void PrintKelompok(Kelompok K);

//IS: K terdefinisi dan sudah ada isinya atau kosong //FS: tercetak data-data dari semua elemen K yang efektif

//file source.c

#include "header.h"

void InitMhs(Mhs *m, int nim, char nama[], float ipk) {

(*m).NIM=nim;

strcpy((*m).Nama,nama); (*m).IPK=ipk;

}

void PrintMhs(Mhs m) {

printf("%d %s %4.2f\n",m.NIM,m.Nama,m.IPK); }

void InitKelompok(Kelompok *K) {

void InitAnggotaKelompok(Kelompok *K, int nim, char nama[], float ipk, int index)

(4)

4

//file main.c

#include "header.h"

void main() {

int i,pilihan,n; int nim;

string name; float ipk;

Kelompok grupku;

do {

system("cls"); printf("=====menu=====");

printf("\n1.Inisialisasi Kelompok Mahasiswa"); printf("\n2.Isi n Mahasiswa pertama");

printf("\n3.Print Isi Kelompok Mahasiswa"); printf("\n0.Exit");

printf("\n\nmasukkan pilihan=");scanf("%d",&pilihan); switch(pilihan)

{

case 1: InitKelompok(&grupku);printf("\ndone");getch();break; case 2: printf("\n\nBanyakknya Mahasiswa yang akan dimasukan (Max 10):");scanf("%d",&n);

for(i=0;i<n;i++) //init 4 pertama dari keyword {

printf("NIM :");scanf("%d",&nim); printf("Nama:");scanf("%s",&name); printf("IPK :");scanf("%f",&ipk); printf("\n");

InitAnggotaKelompok(&grupku,nim,name,ipk,i); }

system("pause");break;

case 3:PrintKelompok(grupku);system("pause");break; }

Referensi

Dokumen terkait

Bahkan dalam Pasal 29 butir (e) disebutkan bahwa konsumen listrik berhak mendapat ganti rugi apabila terjadi pemadaman listrik akibat kesalahan/ kelalaian

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, sehingga penulis dapat menyelesaikan skripsi ini dengan judul “ Pengaruh Lingkungan Kerja Non Fisik,

Indonesia merupakan Negara kepulauan dengan kebudayaan yang beragam. Struktur masyarakat Indonesia ditandai dengan keragaman suku bangsa, ras, agama dan budaya.

Adapun dalam hal ini yang menjadi poin-poin yang observasi pada dasarnya diawali dengan argumen yang diberikan oleh informan pada saat wawancara, namun dalam hal ini sebagai

Apakah (orang-orang kafir itu sama dengan) orang-orang yang ada mempunyai bukti yang nyata (Al Qur 'an) dari Tuhannya, dan diikuti pula oleh seorang saksi (Muhammad) [715] dari

Hasil studi empiris menunjukkan bahwa banyak siswa menyelesaikan masalah matematika dengan penalaran imitatif daripada penalaran kreatif.. Siswa meniru prosedur

Akibat yang terlihat pada individu yang mengalami luka bakar merupakan hasil Akibat yang terlihat pada individu yang mengalami luka bakar merupakan hasil dari penyebab efek panas

Penelitian ini bertujuan untuk mengetahui tingkat infestasi protozoa saluran pencernaan (Eimeria sp.) pada kerbau lumpur (Bubalus bubalis Linn.) di Kecamatan Jati