Anda di halaman 1dari 8

Modul I :: Praktikum Struktur Data 2013

::

ARRAY
Pertemuan kali ini kita akan kembali membahas materi yang sudah diberikan di
algoritma dan pemrograman, yaitu array. Secara singkat, array adalah suatu tipe
data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang
jumlahnya tetap dan diberi suatu nama tertentu.
Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.

DEKLARASI
tipe_data nama_var_array [ukuran];

tipe_data
nama_var_array
ukuran

: menyatakan jenis tipe data elemen larik (int, char, float, dll)
: menyatakan nama variabel yang dipakai.
: menunjukkan jumlah maksimal elemen larik.

Contoh :
Int nilai[6];

INISIALISASI
Menginisialisasi array sama dengan memberikan nilai awal array pada saat
didefinisikan.
int nilai[6] = {8,7,5,6,4,3};

Contoh diatas berarti berarti anda memesan tempat di memori komputer
sebanyak 6 tempat
dengan indeks dari 0-5, dimana indeks ke-0 bernilai 8, ke-1 bernilai 7, dst, dan
dimana semua elemennya bertipe data integer.

PENGAKSESAN
nama_var_array [indeks];

Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan
mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Pengaksesan
elemen array dapat dilakukan berurutan atau random berdasarkan indeks
tertentu secara langsung.
Contoh pengisian langsung saat deklarasi:
#include <stdio.h>
void main ()
{ int billy [] = {16, 2, 77, 40, 12071};
int n, result=0;
for ( n=0 ; n<5 ; n++ )
{
result += billy[n];
}
printf("%d",result);
}

Contoh pengaksesan dan pengisian langsung ke tiap elemen dari array:
#include <stdio.h>

Disusun oleh :: TIM Asisten Struktur Data 2009

edit.&hapus). scanf("%i".200.n++) { printf("%i ". A[2]=1.h> void main () { int A [5]={20. A[4]=5.n++) { printf("%i ".n. Source code : Disusun oleh :: TIM Asisten Struktur Data 2009 .n.n++) { printf("%i ".hapus. A[0]=4.n<5.13}.A[n]).1986. for (n=0.200. for (n=0. A[1]=2. Penghapusan data pada array.A[n]).A[n]). clrscr(). for (n=hapus-1. } printf("data yang ingin dihapus : ").n<5.9. for (n=0. } printf("\nData yang baru : \n"). A[3]=3.9. clrscr(). } } LATIHAN TERBIMBING ARRAY 1.n<4. } for (n=0.h> #include <conio.n++) { A[n]=A[n+1].Modul I :: Praktikum Struktur Data 2013 :: #include <conio.1986.h> void main () { int A [5]={20.13}.A[n]). } } Contoh penghapusan data(elemen) pada array: #include <stdio. printf("\nData yang baru : \n").n<5-1. printf("Data yang lama\n"). Ketentuan : data yang akan dihapus adalah data pada indeks ke-0 (data paling depan).n<5.n++) { printf("%i ". printf("Data yang lama\n").

11}.i<n-1.9. }while(n!=-1).data[i]). getch(). printf("\n"). // jumlah data berkurang n=n-1. // untuk menghapus data for(i=0.2.i<n.Modul I :: Praktikum Struktur Data 2013 :: #include <stdio.43. printf("\n"). do{ //menampilkan data for(int i=0.h> void main(){ int data[]={1. int n=8.h> #include <conio.6.i++) printf("%i ". Apakah yang terjadi? Bagaimana jika penghapusan terjadi pada data yang berada di indeks terakhir? Bagian program yang mana yang harus diubah? Disusun oleh :: TIM Asisten Struktur Data 2009 .12. if(n==0) printf("Data kosong!!!").87. } Cobalah program di atas.i++) data[i]=data[i+1].

h> Disusun oleh :: TIM Asisten Struktur Data 2009 .saya.h> #include <iostream. cin.. Deklarasi manual Contoh : #include <stdio. yaitu : Deklarasi 1: typedef struct Mahasiswa { char NIM[8]. Bentuk umum : typedef struct nama_struct{ tipe_data <nama_var>. float ipk. char nama[50]. namun memiliki tipe data yang berbeda ataupun sama. }.nama.umur). } mhs.Modul I :: Praktikum Struktur Data 2013 :: STRUCT  Bentuk struktur data yang dapat menyimpan variabel-variabel dalam 1 nama. tipe_data <nama_var>. printf("%s berumur %i". Deklarasi 2 : struct { char NIM[8].saya.&saya. Contoh struct: #include <stdio.umur). char nama[50]. scanf("%i". . float ipk..40). printf("nama : "). Variablevariabel tersebut memiliki kaitan satu sama yang lain.. DEKLARASI Ada 2 cara pendeklarasian struct. } ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali. }saya.getline(saya. }.nama. printf("umur :" ). ada 2 cara : 1.h> void main() { struct orang { char nama[40]. short umur.

printf("umur ke-%i : ".umur). Array of struct Contoh : #include <stdio.nama.30). dan mhs[2]. yaitu mhs[0]. yaitu a.b. void main() { Mahasiswa mhs[3]. } for(x=0.saya[i].getline(saya[i].saya[i]. } Disusun oleh :: TIM Asisten Struktur Data 2009 . Contoh lainnya : #include <stdio.x++) { printf("nama %s berumur %d".i+1).h> #include <conio.saya[i].i+1). }. float ipk.nama.h> #include <iostream. cin. printf("%s berumur %i".h> typedef struct orang { char nama[30].h> typedef struct Mahasiswa { char NIM[8].c 2. …… …… …… } artinya struct mahasiswa dapat digunakan untuk tiga variabel mhs.umur). …… …… …… artinya struct mahasiswa digunakan untuk 3 variabel. void main() { orang saya[5].saya[x]. short umur. float ipk. char nama[50].x. int i.Modul I :: Praktikum Struktur Data 2013 :: typedef struct Mahasiswa { char NIM[8].saya[x]. }.umur).x<=4.b. for(i=0.nama. void main() { } Mahasiswa a. scanf("%i". char nama[50]. mhs[1].i<=4.i++) { printf("nama ke-%i : ". }.c.

&book.&book.h> typedef struct buku{ char judul[15]. printf("Tahun terbit : ").tahun_terbit).judul).LATIHAN MANDIRI DI KELAS 1.scanf("%i". printf("Harga : "). Program untuk melakukan update data. tahun terbit dan harga buku.scanf("%i".harga). printf("Tahun terbit : %i\n". Ketentuan :  Semua data yang sesuai dengan inputan user akan terhapus. printf("Harga : %i". printf("Judul buku : ").book. Ketentuan : Yang harus disimpan adalah judul buku. } LATIHAN . void main(){ buku book.tahun_terbit). Source code : #include <stdio.&book.Modul I :: Praktikum Struktur Data 2013 :: } LATIHAN TERBIMBING STRUCT Buatlah struct untuk buku dengan deklarasi manual.scanf("%s". Disusun oleh :: TIM Asisten Struktur Data 2009 . }. Program penghapusan data dengan inputan berupa angka yang ingin dihapus oleh user.  Capture : 2.h> #include <conio.  Bonus jika terdapat counter untuk menghitung berapa data yang terhapus.judul). int harga. printf("\nJudul buku : %s\n". int tahun_terbit.harga).book.book.

edit. tahun produksi. Note : operasi-operasi tersebut dapat dilakukan pada data dan indeks mana saja. Ketentuan :  program ini akan memiliki dua buah struct. Data yang akan ditampilkan sebagai output adalah :  Nama  NIM  Tanggal peminjaman (dd/mm/yyyy)  Kode buku. Buatlah struct untuk data lagu yang berisi tentang judul lagu. yaitu inputan data yang akan diubah dan data baru (data pengganti)  Semua data yang sesuai dengan inputan user akan diupdate nilainya. 2. Buatlah menu add. 20 lagu) LATIHAN – LATIHAN MANDIRI DI RUMAH / TES 1.Modul I :: Praktikum Struktur Data 2013 :: Ketentuan :  Terdapat dua inputan. nomor track dan kode album. Program untuk melakukan penambahan data. 3. 4. dengan format nomor rak-kategori buku : o Nomor rak (inputan terserah) o Kategori : R (Referensi) atau U (Umum) o Contoh : 1234-R Gunakan tiga struct untuk kasus ini! Gabungkan soal 1 dan 2 di atas sehingga menghasilkan program berisi struct yang dapat melakukan fungsi add. maka jumlah data akan bertambah dan posisi data akan bergeser sesuai dengan penambahan yang telah dilakukan. penyanyi. view dan delete data menggunakan array.  Jumlah data yang diinputkan dinamis (maks. edit. view dan delete Disusun oleh :: TIM Asisten Struktur Data 2009 . yaitu struct lagu dan struct kodeRBT.  Inputan dari user berupa : o Nilai yang akan ditambahkan o Indeks ke berapa yang dituju  Setelah penambahan. (Inputan data dan indeks dinamis). Ketentuan :  Penambahan data dapat dilakukan di mana saja. Buatlah dengan menggunakan struct dan array 1 dimensi : record peminjaman buku di perpustakaan.

Modul I :: Praktikum Struktur Data 2013 :: Contoh tampilan program : <Asisten-asisten dapat memodifikasi atau mengembangkan soal-soal di atas sesuai dengan kelasnya> END Disusun oleh :: TIM Asisten Struktur Data 2009 .