23
Laporan Praktikum Algoritma dan Struktur Data Modul 1 STRUCT, ARRAY, DAN POINTER oleh : Indri Widyarti S1 PTI 2011 OFFERING A / 110533406971 PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MALANG

Laporan Praktikum Modul 1

Embed Size (px)

Citation preview

Page 1: Laporan Praktikum Modul 1

Laporan Praktikum

Algoritma dan Struktur Data

Modul 1

STRUCT, ARRAY, DAN POINTER

oleh :

Indri Widyarti

S1 PTI 2011 OFFERING A / 110533406971

PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MALANG

SEPTEMBER 2012

A. Tujuan

Page 2: Laporan Praktikum Modul 1

1. Mahasiswa memahami apakah yang dimaksud dengan struktur data.

2. Mahasiswa memahami apakah yang dimaksud dengan algoritma.

3. Mengingat kembali array, struktur, pointer dalam bahasa C.

B. Dasar Teori

Struktur data adalah sebuah skema organisasi, seperti struktur dan array, yang

diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasioperasi

spesifik dapat dilaksanakan pada data tersebut.Algoritma adalah barisan langkah-langkah

perhitungan dasar yang mengubah masukan (dari beberapa fungsi matematika) menjadi

keluaran.

Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang

menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan

elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan oleh suatu sub

scrip t atau indeks). Deklarasi dari array adalah sebagai berikut: int A[5]; artinya variabel A

adalah kumpulan data sebanyak 5 bilangan bertipe integer. Operasi terhadap elemen di array

dilakukan dengan pengaksesan langsung. Nilai di masing-masing posisi elemen dapat

diambil dan nilai dapat disimpan tanpa melewati posisi-posisi lain.

Terdapat dua tipe operasi, yaitu:

1. Operasi terhadap satu elemen/posisi dari array

2. Operasi terhadap array sebagai keseluruhan

Dua operasi paling dasar terhadap satu elemen/posisi yaitu:

1. Penyimpanan nilai elemen ke posisi tertentu di array

2. Pengambilan nilai elemen dari posisi tertentu di array

Keunggulan dan Kelemahan Array

Keunggulan array :

1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu

secara langsung tanpa melalui elemen-elemen lain.

2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-

elemen tetangga, baik elemen pendahulu atau elemen penerus.

3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,

maka penggunaan penyimpanannya sangat efisien.

Kelemahan array :

Array mempunyai fleksibilitas rendah, karena array mempunyai batasan sebagai

berikut:

Page 3: Laporan Praktikum Modul 1

1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen

adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain

2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit

diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi

terus-menerus, maka representasi statis

Tidak efisien dalam penggunaan memori

Menyiakan banyak waktu komputasi

Pada suatu aplikasi, representasi statis tidak dimungkinkan

Pointer

Keunggulan menggunakan Pointer:

1. Penanganan terhadap array dan string akan lebih singkat, dan efisien.

2. Memungkinkan suatu fungsi untuk menghasilkan lebih dari satu nilai.

3. Memiliki kemampuan untuk mengirimkan alamat suatu fungsi ke fungsi yang lain.

4. Memungkinkan untuk berhubungan langsung ke hardware.

5. Untuk menciptakan data structur yang kompleks.

Misalnya kita ingin membuat beberapa penunjuk ke blok penyimpan yang berisi integer.

Deklarasi pada C adalah:

Tanda asterik (*) yang berada sebelum nama variable IntegerPointer menandakan ‘pointer

pada suatu int’. Jadi deklarasi diatas berarti ‘definisikan sebuah tipe yang terdiri dari pointer

bertipe integer yang bernama IntegerPointer’. Apabila didepannya ditambahkan typedef

sebagai berikut: Typedef int *IntegerPointer; Berarti IntegerPointer merupakan suatu tipe

pointer berbentuk integer.

Linked list terdiri dari sejumlah kelompok elemen (linked ) dengan urutan tertentu.

Linked list berguna untuk memelihara sekelompok data, semacam array, tetapi linked list

lebih menguntungkan dalam beberapa kasus. Linked list lebih efisien dalam proses

penyisipan (insertion ) dan penghapusan (deletion ). Linked list juga menggunakan

pengalokasian penyimpan secara dinamis, dimana penyimpan dialokasikan pada saat waktu

berjalan (runtime).

int *IntegerPointer;

Page 4: Laporan Praktikum Modul 1

Struktur

Struktur yaitu pengelompokan dari variabel-variabel atau sejumlah data dengan tipe

yang berlainan yang bernaung dalam satu nama yang sama. Struktur biasa digunakan

untuk mengelompokkan beberapa informasi yang berkaitan dengan sebuah kesatuan, atau

biasanya disebut dengan record.

C. Latihan

Latihan 1

Hasil Compile

Latihan 2

Page 5: Laporan Praktikum Modul 1

Hasil Compile

Latihan 3

Hasil Compile

Latihan 4

Hasil Compile

Page 6: Laporan Praktikum Modul 1

Latihan 5

Hasil Compile

Page 7: Laporan Praktikum Modul 1

Latihan 6

Hasil Compile

Page 8: Laporan Praktikum Modul 1

D. Praktikum

Tugas Rumah 1

Page 9: Laporan Praktikum Modul 1
Page 10: Laporan Praktikum Modul 1
Page 11: Laporan Praktikum Modul 1
Page 12: Laporan Praktikum Modul 1
Page 13: Laporan Praktikum Modul 1

Hasil Compile

Page 14: Laporan Praktikum Modul 1
Page 15: Laporan Praktikum Modul 1
Page 16: Laporan Praktikum Modul 1

Tugas Rumah 2

Page 17: Laporan Praktikum Modul 1

Hasil Compile

Page 18: Laporan Praktikum Modul 1

E. Kesimpulan

1. Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari

suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel

lain) di dalam memori. Operator Pointer ada dua, yaitu :

Operator &

Operator & bersifat unary (hanya memerlukan satu operand saja). Operator &

menghasilkan alamat dari operandnya.

Operator *

Operator * bersifat unary (hanya memerlukan satu operand saja).Operator *

menghasilkan nilai yang berada pada sebuah alamat

2. Array merupakan tipe data tersetruktur dimana didalamnya terdiri dari komponen –

komponen yang mempunyai tipe data yang sama. Didalam suatu array setiap

kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array

menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya.

3. Struktur yaitu pengelompokan dari variabel-variabel atau sejumlah data dengan

tipe yang berlainan yang bernaung dalam satu nama yang sama. Struktur ini

biasanya digunakan untuk mengelompokkan beberapa informasi yang berkaitan

dengan sebuah kesatuan, atau biasanya disebut dengan record. Sedangkan struktur

data adalah sebuah skema organisasi yang diterapkan pada data, sehingga data

tersebut dapat diinterprestasikan di dalam komputer dan agar bisa dipakai secara

efisien.

F. Daftar Pustaka

Kadir, Abdul. 1995. Pemrograman C++. Yogyakarta:Penerbit Andi.

Modul Praktikum, 2010. Struct, Array, Pointer. Pendidikan Teknik Informatika,

Teknik Elektro, Universitas Negeri Malang.

Modul Praktikum Bahasa Pemrograman Terstruktur. 2010. Modul 6 “Array”.

Pendidikan Teknik Informatika,Teknik Elektro, Universitas Negeri Malang.

Modul Praktikum Bahasa Pemrograman Terstruktur. 2010. Modul 8 “Pointer”.

Pendidikan Teknik Informatika,Teknik Elektro, Universitas Negeri Malang.

Modul Praktikum Bahasa Pemrograman Terstruktur. 2010. Modul 9 “Struct”.

Pendidikan Teknik Informatika,Teknik Elektro, Universitas Negeri Malang.