1. LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN & STRUKTUR DATA
MODUL V
DISUSUN OLEH
NAMA : DEVI
NIM : 2012081043
KELAS : TI2012A
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2012
2. I. PEMBAHASAN
TIPE DATA TURUNAN (LARIK/ARRRAY)
1. DasarTeori
Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik.
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 subscript atau indeks.
Array bisa berupa array berdimensi satu, dua, tiga atau lebih. Array
berdimensi satu (one-dimensional array) mewakili bentuk suatu vektor. Array
berdimensi dua (two-dimensional array) mewakili bentuk dari suatu matriks atau
tabel. Array berdimensi tiga (three-dimensional array) mewakili bentuk suatu
ruang.
Array Berdimensi Satu
1. Mendeklarasikan Array Berdimensi Satu
Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :
keterangan:
˗ tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
˗ nama_var : nama variabel array
˗ ukuran : untuk menyatakan jumlah maksimal elemen array.
2. Mengakses Elemen Array Berdimensi Satu
Pada C, data array akan disimpan dalam memori yang berurutan. Elemen
pertama mempunyai indeks bernilai 0. Jika variabel nilai_tes dideklarasikan
sebagai array dengan 5 elemen, maka elemen pertama memiliki indeks sama
dengan 0, dan elemen terakhir memiliki indeks 4. Gambar 6.1 di bawah ini
menjelaskan urutan komponen dalam array.
Bentuk umum pengaksesan array adalah sebagaiberikut :
3. Inisialisasi Array Berdimensi Satu
tipe_data nama_var[ukuran];
nama_var[indeks]
3. Sebuah array dapat diinisialisasi sekaligus pada saatdideklarasikan. Untuk
mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara
kurung kurawal ({}) yang dipisahkan dengan koma.
4. Beberapa Variasi dalam Mendeklarasikan Array
Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang
berdimensi satu), di antaranya adalah sebagai berikut :
int numbers[10];
int numbers[10] = { 34, 27, 16 };
int numbers[] = { 2, -3, 45, 79, -14, 5, 9, 28, -1, 0 };
char text[] = "Welcome to New Zealand.";
float radix[12] = { 134.362, 1913.248 };
double radians[1000];
Array Berdimensi Dua
Data seperti yang disajikan pada Tabel 6-1, dapat disimpan pada sebuah
array berdimensi dua. Dimensi pertama dari array digunakan untuk menyatakan
kode program kursus dan dimensi kedua untuk menyatakan tahun kursus.
Tabel 6-1. Data Kelulusan Siswa Pada Sebuah Kursus Komputer
Tahun 1998 1999 2000
Program
1. (INTRO) 80 540 1032
2. (BASIC) 15 83 301
3. (PASCAL) 8 12 15
4. (C) 10 129 257
Bentukumum Array berdimensidua :
Array Berdimensi Banyak
C memungkinkan untuk membuat array yang dimensinya lebih dari dua.
Bentuk umum pendeklarasian array berdimensi banyak :
tipe_data nama_[ukuran][ukuran2];
4. sebagai contoh :
int data_huruf[2][8][8];
merupakan pendeklarasian array data_hurufsebagai array berdimensi tiga.
Array Sebagai Parameter
Array juga dapat dilewatkan sebagai parameter fungsi. Sebagai contoh
ditujukan pada program sorting.c. Program digunakan untuk memasukkan
sejumlah data, kemudian data tersebut diurutkan naik (ascending) dan dicetak ke
layar.
Untuk melakukan sorting (proses pengurutan data), cara yang dipakai yaitu
metode buble sort (suatu metode pengurutan yang paling sederhana, dan memiliki
kecepatan pengurutan yang sangat lambat).
Algoritma pada metode pengurutan ini adalah sebagai berikut :
1. Atur i bernilai 0
2. Bandingkan x[i] dengan x[j], dengan j berjalan dari i + 1 sampai dengan n-1.
3. Pada setiap pembandingan, jika x[i] > x[j], maka isi x[i] dan x[j] ditukarkan
4. Bila i < (n – 1), ulangi mulai langkah 2.
Catatan: i = indeks array
x = nama array untuk menyimpan data
n = jumlah data
Algoritma diatas berlaku untuk pengurutan menaik (ascending). Untuk
pengurutan menurun (descending), penukaran dilakukan jika x[i] < x[j].
Pada fungsi main( );
float data[MAKS];
Merupakan instruksi untuk mendeklarasikan array data dengan elemen bertipe
float dan jumlahnya sebanyak MAKS elemen.
pemasukan_data(data, &jum_data);
Merupakan instruksi untuk memanggil fungsi pemasukan_data ( ). Pada
pemanggilan fungsi, data merupakan array. Yang perlu diperhatikan, parameter
array ditulis tanpa diawali dengan &, sekalipun tujuan dari pemanggilan fungsi
tipe nama_var[ukuran 1][ukuran2}…[ukuranN];
5. yaitu untuk mengisikan data ke array. Sebab nama array tanpa kurung siku dalam
parameter fungsi berarti ”alamat dari array”.
Sedangkan &jum_data berarti ”alamat dari jum_data”. Tanda & harus disertakan
sebab variabel jum_data akan diisi oleh fungsi pemasukan_data ().
pengurutan_data(data, jum_data);
Merupakan instruksi untuk menjalankan fungsi pengurutan _data (), dalam
hal ini data dilewatkan ke fungsi dengan referensi (memberikan alamat array),
karena memang hal ini merupakan cara satu-satunya untuk melewatkan array.
Sedangkan jumlah data dilewatkan ke fungsi dalam bentuk nilai (pemanggilan
dengan nilai).
penampilan_data(data,jum_data);
Merupakan instruksi untuk memanggil fungsi penampilan_data().
Pada fungsi untuk pemasukan data, pengurutan data maupun penampilan data,
data[i]
menyatakan elemen data ke-i.
Beberapa hal tambahan yang perlu diketahui:
Untuk menyatakan alamat dari suatu elemen array, bentuk umumnya adalah
&nama_array[indeks]
Misalnya,
&data[1]
menyatakan alamt dari elemen ke-1. Adapun
&data[0]
sama saja dengan:
data
Suatu array berdimensi satu dalam parameter formal dideklarasikan dengan
bentuk
tipe nama_array[]
Dengan di dalam tanda kurung siku tak disebutkan mengenai jumlah
elemen. Jumlah elemen dinyatakan dalam parameter tersendiri (atau dinyatakan
dalam bentuk variabel eksternal). Untuk array berdimensi lebih dari satu, kurung
siku terkirilah yang kosong.
6. Representasi Larik
Misalkan kita memiliki sekumpulan data ujian seorang mahasiswa, ujian
pertama bernilai 90, kemudian 95, 78, 85. Sekarang kita ingin menyusunnya
sebagai suatu data kumpulan ujian seorang mahasiswa. Dalam array kita
menyusunnya sebagai berikut :
Ujian[0] = 90;
Ujian[1] = 95;
Ujian[2] = 78;
Ujian[3] = 85;
Empat pernyataan di atas memberikan nilai kepada array ujian. Tetapi
sebelum kita memberikan nilai kepada array kita harus mendeklarasikannnya
terlebih dahulu, yaitu :
int ujian[4];
Perhatikan nilai 4 yang da pada tanda kurung menunjukkan jumlah elemen
larik, bukan menunjukkan elemen larik yang ke 4, jadi elemen larik ujian dimulai
dari angka 0 sampai 3. Pemograman juga dapat menginisialisasikan larik
sekaligus mendeklarasikannya, sebagai berikut :
int ujian[4] = {90,95,78,85};
Elemen terakhir dari larik di isi dengan karakter ‘0’, karakter ini
memberitahu compiler bahwa akhir dari elemen larik telah tercapai. Walaupun
pemogram tidak dapat melihat karakter secara eksplisit, namun compiler
mengetahui dan membutuhkannya.
Sekarang kita akan membuat daftar beberapa nama pahlawan di Indonesia
char pahlawan [3][15];
char pahlawan [0][15] = “Soekarno”;
char pahlawan [1][15] = “Diponegoro”;
char pahlawan [2][15] = “Soedirman”;
larik diatas terlihat berbeda dengan contoh larik pertama kita. Perhatikan
bahwa pada alrik pahlawan memilih dua buah tanda kurung [ ][ ]. Larik seperti itu
disebut larik dua dimensi. Tanda kurung pertama menyatakan total elemen yang
dapat dimiliki oleh larik para pahlawan dan tanda kurung kedua menyatakan total
7. elemen yang dapat dimiliki setiap elemen larik pahlawan. Dalam contoh diatas,
tanda kurung kedua menyatakan karakter yang menyatakan nama pahlawan.
Menghitung Jumlah Elemen Larik
Karena fungsi sizeof( ) mengembalikkan jumlah byte yang sesuai dengan
argumennya, maka operator tersebut dapat di gunakan untuk menemukan jumlah
elemen array, misalnya :
int array[ ] = {26,7,82,166};
cout<<sizeof(array)/sizeof(int);
Akan mengembalikkan nilai 4, yaitu sma dengan jumlah elemen yang di miliki
larik.
2. Praktikum
Praktikum1 :PengisianLangsungpadasaatDeklarasi
Dibawahinimerupakansintaks:
–Menulis source kode Program C++
#include <stdio.h>
void main()
{
intbilly [] = {16, 2, 7, 40, 12071}
int n,
result=0
for (n=0;n<5;n++)
{
result+=billy[n];
}
printf(“%d”, result);
}
8. –Melakukan Kompilasi
Pilih menu project, lalu pilih submenu compile atau denngan menekan
ALTF9. Maka akan muncul seperti gambar di bawah ini.
– Menjalankan Program
Menjalankan program dengan cara pilih menu Debug, lalu submenu Run
atau dengan cara menekan CTRL+F9. Maka akan muncul gambar seperti di
bawah ini.
Pembahasan :
Sintaks diatas adalah program untuk menjumlahkan elemen-elemen dari
variabel billy. Dalam program diatas ada 3 variabel yang digunakan yaitu billy, n
dan result atau hasil dimana variabel-variabel tersebut bertipe integer.Untuk
menjumlahkan elemen-elemen tersebut kita gunakan instruksi perulangan For
karena kita sudah tau pasti jumlah perulangan yang akan dilakukan pada program
tersebut. Dalam aray indeks pertama dimulai dari 0 bukan 1, maka pada program
diatas jumlah perulangan yang akan dilakukan sebanyak 5 kali maka instruksinya
adalah For(n=0;n<5;n++) karena indeks pertamanya dimulai dari 0. Instruksi for
tersebut menggunakan increment post-fixed untuk menembahkan satu tingkat
setiap perulangan yang dilakukan. Hasil dari program penjumlah anter sebut
adalah 12136 seperti yang terlihat diatas.
16 + 2 + 7 + 40+
12071 = 12136
9. Praktikum2 :PengaksesandanPengisianLangsung
Dibawah ini merupakan sintaks:
–Menulis source kode Program C++
–Melakukan Kompilasi
#include <stdio.h>
void main()
{
int A [5]={20, 9, 1986, 200, 13};
int n,
clrscr();
printf("Data yang laman");
for(n=0;n<5;n++)
{
printf("%in", A[n]);
}
printf("n Data yang baru:n");
A[0]=4;
A[1]=2;
A[2]=1;
A[3]=3;
A[4]=5;
for(n=0;n<5;n++)
{
printf("%i", A[n]);
}
}
10. –Menjalankan Program
Pembahasan:
Sintaksdiatasadalah program untuk menampilkan data yang lama dan data
yang baru dimana data yang lama diperoleh dari variable A dan data yang baru
diperoleh dari data yang lama atau variable A diubah menjadi elemen-elemen lain.
Program diatas menggunakan instruksi perulangan For karena sudah tau pasti
jumlah perulangannya.Dalam program ini hamper sama dengan program
sebelumnya hanya saja dalam menggunakan instruksi For ini tidak dijumlahkan
hanya untuk ditampilkan elemen-elemen dari variable tersebut.Untuk
memperjelas urutan dari elemen tersebut kita gunakan escape sequence characters
n untuk memberikan karakter garis. Maka tampilannya adalah sebagai berikut:
Praktikum 3 : Penghapusan Data pada Array
Dibawah ini merupakan sintaks:
11. p
–Menulis source kode Program C++
–Melakukan Kompilasi
#include <stdio.h>
void main()
{
int A[5] = {20, 9, 1986, 200, 13};
int n;
inthapus,
clrscr ();
printf ("Data yang lama n");
for(n=0;n<5;n++)
{
printf("%in", A[n]);
}
printf("Data yang ingindihapus:");
scanf("%d", &hapus);
printf("n Data yang baru;n");
for(n=hapus-1;n<5-1;n++)
{
A[n]=A[n+1];
}
for(n=0;n<4;n++)
{
printf("%dn", A[n]);
}
}
12. –Menjalankan Program
Pembahasan :
Sintaks diatas adalah program untuk penghapusan data atau elemen dengan
cara memasukan indeks yang akan di hapus dari piranti masukan. Sintaks diatas
menggunakan header stdio yang memiliki variabel bertipe integer. Program diatas
ada instruksi A[n] yang artinya program tersebut akan menampilkan 5 data yang
ada variabel A, setelah itu akan melakukan proses penghapusan elemen atau data
yang ada pada variabel A dengan instruksi for yang digunakan For (n=hapus-
1;n<5-1;n++) yang artinya bila kita menginput indeks dalam array yang akan
dihapus akan dikurangi 1. Contohnya kita meninput indeks array 0 maka 0-1=-1
yang akan terhapus adalah elemen ke-1 dari urutan elemen-elemen A tersebut.
Seperti terlihat pada gambar diatas.
Inputkan indeks yang akan
dihapus, perlu diingat dalam
array indeks pertama
dimulai dari 0 bukan 1,
missal kita input indeks 0
maka hasilnya adalah
sebagai berikut :
13. II. TUGAS
1. Buatlah program yang menghitung jumlah elemen dalam satu array (larik)
dengan array (larik) 1 dimensi {1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45}
–Menulis source kode Program C++
–Melakukan Kompilasi
–Menjalankan Program
Pembahasan:
Program diatas adalah program untuk menjumlahkan elemen dari
sebuah array. Sintaks diatas diawali dengan header stdio yang memiliki 3 variabel
yang bertipe integer. Untuk menjumlahkan elemen tersebut kita gunakan instruksi
perulangan For yang perulangannya dilakukan sebanyak 11 kali dari indeks array
atau sebanyak 12 kali dalam indeks biasa. Dalam sintaks diatas menggunakan
kode format %d karena untuk memanggil jenis data atau tipe data yang
14. bertipeinteger dan karakter. Maka hasil dari penjumlahan elemen diatas adalah
1+3+5+4+7+2+99+16+45+67+89+45 = 383.
2. Buatlah program untuk menampilkan data mahasiswa yang terdiri dari NIM
dan nama (minimal 5 data)
–Menulis source kode Program C++
–Melakukan Kompilasi
–Menjalankan Program dengan menginput data mahasiswa.
15. Setelah mengisikan data mahasiswa sebanyak 5 data setelah itu enter maka
akan ditampilkan lagi data tersebut seperti dibawah ini:
Pembahasan:
Program diatas adalah program untuk menampilkan Data Mahasiswa yang
berisi NIM dan Nama. Sintaks diatas diawali dengan header stdio yang bertipe
integer dan characters. Pada program diatasa akan diinput 5 data maka kita
gunakan instruksi perulangan sebanyak 5 kali untuk NIM dan Nama. Untuk
menginput data tersebut maka kita gunakan input output printf dan scanf untuk
memasukan data melalui piranti masukan. Kode format yang digunakan adalah
%d untuk menampilkan integer dan %s untuk menampilkan sebuah string. Setelah
kita mengisikan data sebanyak 5 kali lalu kita enter maka akan ditampilkan lagi
data-data tersebut secara berturut-turut.
3. Buatlah kesimpulan dari hasil praktikum dan tugas praktikum.
Dari latihan praktikum dan tugas praktikum diatas dapat disimpulkan bahwa
dengan menggunakan array maka dari satu variabel bisa diisikan dengan banyak
data atau banyak elemen tidak hanya satu elemen saja. elemen tersebut dapat
diakses melalui indeks yang ada dalam elemen tersebut. Indeks dalam array selalu
dimulai dari 0 bukan.
Dari latihan praktikum dan tugas diatas menggunakan struktur perulangan
looping untuk mengisikan nilai ke dalam elemen-elemen array. Cara ini
digunakan agar mengefisiensikan waktu dan memory yang digunakan dalam
sebuah program dibandingkan dengan penulisan array dengan cara manual.
16. III.KESIMPULAN
– 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 subscript atau
indeks.
– Array bisa berupa array berdimensi satu, dua, tiga atau lebih.
– Data array akan disimpan dalam memori yang berurutan, dengan elemen
pertama mempunyai indeks yang bernilai 0.
– Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan, caranya
saat mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di
antara kurung kurawal ({}) yang dipisahkan dengan koma.
– Array juga dapat dilewatkan sebagai parameter fungsi.
17. IV. Daftar Pustaka
˗ http://informatika11d.wordpress.com
˗ ModulPembelajaranAlgoritmaPemrogramandanStruktur Data