Laporan Resmi 18-19 Konsep Pemrograman [Array]

18
8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array] http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 1/18 PRAKTIKUM 18 Array 1 A. Dasar Teori 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. Mendeklarasikan Array Berdimensi Satu Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa dengan  tipe_data nama_var[ukuran]; tipe!data untuk menyatakan tipe dari elemen array, misalnya int, char, "loat. nama!#ar nama #ariabel array ukuran untuk menyatakan jumlah maksimal elemen array. $ontoh pendeklarasian array float nilai_tes[5]; menyatakan bah%a array nilai!tes mengandung & elemen bertipe "loat. Mengakses Elemen Array Berdimensi Satu 'ada $, data array akan disimpan dalam memori yang berurutan. lemen pertama mempunyai indeks bernilai . *ika #ariabel nilai!tes dideklarasikan sebagai array dengan & elemen, maka elemen  pertama memiliki indeks sama dengan , dan elemen terakhir memiliki indeks +. entuk umum  pengaksesan array adalah sbb nama_var[indeks] sehingga, untuk array nilai!tes, maka nilai!tes / elemen pertama dari nilai!tes nilai!tes+ / elemen ke-& dari nilai!tes $ontoh nilai_tes[0] = 70; scanf(“%f”, nilai_tes[!]"; $ontoh pertama merupakan pemberian nilai 0 ke nilai!tes. Sedangkan contoh 1 merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke nilai!tes1. 'ada contoh 1 ini nilai_tes[!]  berarti 2alamat dari nilai!tes13. 'erlu diingat bah%a scan"() memerlukan argumen berupa alamat dari #ariabel yang digunakan untuk menyimpan nilai masukan. Inisialisasi Array Berdimensi Satu Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. 4ntuk mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung kura%al (56) yang dipisahkan dengan koma. int #um_$ari[!] = &', !, ', '0, ', '0, ', ', '0, ', '0, '); Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Transcript of Laporan Resmi 18-19 Konsep Pemrograman [Array]

Page 1: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 1/18

PRAKTIKUM 18

Array 1

A. Dasar Teori

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.

Mendeklarasikan Array Berdimensi Satu

Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa dengan  tipe_data nama_var[ukuran];

tipe!data untuk menyatakan tipe dari elemen array, misalnya int, char, "loat.nama!#ar nama #ariabel array

ukuran untuk menyatakan jumlah maksimal elemen array.

$ontoh pendeklarasian array float nilai_tes[5];

menyatakan bah%a array nilai!tes mengandung & elemen bertipe "loat.

Mengakses Elemen Array Berdimensi Satu

'ada $, data array akan disimpan dalam memori yang berurutan. lemen pertama mempunyai

indeks bernilai . *ika #ariabel nilai!tes dideklarasikan sebagai array dengan & elemen, maka elemen

 pertama memiliki indeks sama dengan , dan elemen terakhir memiliki indeks +. entuk umum

 pengaksesan array adalah sbb nama_var[indeks]

sehingga, untuk array nilai!tes, maka

nilai!tes / elemen pertama dari nilai!tes

nilai!tes+ / elemen ke-& dari nilai!tes

$ontoh

nilai_tes[0] = 70;scanf(“%f”, nilai_tes[!]";

$ontoh pertama merupakan pemberian nilai 0 ke nilai!tes. Sedangkan contoh 1

merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke

nilai!tes1. 'ada contoh 1 ininilai_tes[!]

 berarti 2alamat dari nilai!tes13. 'erlu diingat bah%a scan"() memerlukan argumen berupa

alamat dari #ariabel yang digunakan untuk menyimpan nilai masukan.

Inisialisasi Array Berdimensi SatuSebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. 4ntuk mendeklarasikan

array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung kura%al (56) yang dipisahkan

dengan koma.int #um_$ari[!] = &', !, ', '0, ', '0, ', ', '0, ', '0, ');

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 2: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 2/18

Beera!a "ariasi dalam Mendeklarasikan Array

Ada beberapa #ariasi cara mendeklarasikan sebuah array (dalam hal ini yang berdimensi satu),

di antaranya adalah sebagai berikut

int num*ers[0];

int num*ers[0] = &'+, !7, );

int num*ers[] = &!, -', +5, 7., -+, 5, ., !, -, 0);

c$ar te/t[] = 1elcome to 2e3 4ealand;

float radi/[!] = &'+'!, .'!+);

dou*le radians[000];

Array Berdimensi Dua

Array berdimensi satu dapat disimpan pada sebuah array berdimensi dua. 'endeklarasian array

 berdimensi dua adalah sebagai berikut int data_lulus[+]['];

 Nilai + untuk menyatakan banyaknya baris dan 7 menyatakan banyaknya kolom. 8ambar 9&.9

memberikan ilustrasi untuk memudahkan pemahaman tentang array berdimensi dua.

Sama halnya pada array berdimensi satu, data array akan ditempatkan pada memori yang

 berurutan. 'erhatikan 8ambar 9&.1.

Mengakses Elemen Array Berdimensi Dua

Array seperti data!lulus dapat diakses dalam bentuk data!lulusindeks pertama, indeks kedua

(" data_lulus[0][] = 5+0;

merupakan instruksi untuk memberikan nilai &+ ke array data!lulus untuk indeks pertama :

dan indeks kedua bernilai 9.

(!" printf(“%d”,data_lulus[!][0]";

merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama : 1 dan indeks

kedua : .

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 3: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 3/18

B. Tugas Penda#uluan

1. Algoritma menam!ilkan isi dari seua# array

Deklarasikan n sebagai bilangan bulat, dan da$tarAngka%& sebagai array bilangan bulat.

;nisiasi isi dari da$tarAngka%&.

9. ;nisiasi nilai n dengan nol

1. *ika n kurang dari jumlah dari isi array da$tarAngka%&, maka ke langkah 7, jika tidak

maka langsung ke langkah &7. <ampilkan nilai dari da$tarAngka%& dengan indeks ke-n

+. =embali ke langkah 1

&. Selesai

'. Algoritma menam!ilkan deret $ionan(i

De"inisikan MAKS sebagai bilangan bulat dengan nilai 1

Deklarasikan i)*)n sebagai bilangan bulat, dan arrBil%& sebagai array bilangan bulat dengan

 jumlah data sebanyak MAKS. ;nisiasi nilai arrBil%& dengan 9 dan 1 untuk indeks ke dan 9.

9. >asukkan nilai n

1. erikan nilai kepada i dengan angka 17. *ika nilai dari arrBil%i+'& ditambah arrBil%i+1& kurang dari n, maka lakukan langkah +,

 bila tidak, langsung ke langkah 0

+. <ambahkan arrBil%i+'&  dengan arrBil%i+1&, simpan hasilnya di arrBil%i&

&. Naikkan nilai i sebanyak 9

?. =embali ke langkah 7

0. erikan nilai kepada * dengan angka @. *ika nilai * kurang dari i, maka lakukan langkah , bila tidak langsung ke langkah 91. <ampilkan nilai dari arrBil%*&

9. Naikkan nilai * sebanyak 9

99. =embali ke langkah @91. Selesai

,. Algoritma men*umla#kan dua matriks

De"inisikan MAKS sebagai bilangan bulat dengan nilai 1

Deklarasikan a%&%&) %&%&) (%&%& sebagai array dua dimensi bertipe bilangan bulat dengan jumlah baris dan kolom sesuai MAKS. Deklarasikan pula i dan * sebagai bilangan bulat.

9. erikan nilai i dengan angka nol.1. *ika i kurang dari MAKS, maka lakukan langkah 7, bila tidak ke langkah 9

7. erikan nilai * dengan angka nol.

+. *ika * kurang dari MAKS, maka lakukan langkah &, bila tidak ke langkah @&. >asukkan nilai a%i&%*&

?. Naikkan nilai * sebanyak 9

0. =embali ke langkah +@. Naikkan nilai i sebanyak 9

. =embali ke langkah 19. erikan nilai i dengan angka nol.

99. *ika i kurang dari MAKS, maka lakukan langkah 91, bila tidak ke langkah 991. erikan nilai * dengan angka nol.

97. *ika * kurang dari MAKS, maka lakukan langkah 9+, bila tidak ke langkah 90

9+. >asukkan nilai %i&%*&

9&. Naikkan nilai * sebanyak 9

9?. =embali ke langkah +

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 4: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 4/18

90. Naikkan nilai i sebanyak 9

9@. =embali ke langkah 1

9. erikan nilai i dengan angka nol.

1. *ika i kurang dari MAKS, maka lakukan langkah 19, bila tidak ke langkah 1@19. erikan nilai * dengan angka nol.

11. *ika * kurang dari MAKS, maka lakukan langkah 17, bila tidak ke langkah 1?

17. <ampilkan nilai a%i&%*& ditambah %i&%*&1+. Naikkan nilai * sebanyak 9

1&. =embali ke langkah +

1?. Naikkan nilai i sebanyak 910. =embali ke langkah 1

-. Algoritma men(ari nilai teresar dalam array

De"inisikan MAKS sebagai bilangan bulat dengan nilai 1.

Deklarasikan a sebagai array bilangan bulat dengan jumlah indeks sebanyak MAKS,deklarasikan n, i dan ma sebagai bilangan bulat.

9. >asukkan jumlah data(n)1. erikan nilai i dengan angka

7. *ika i kurang dari n, maka lakukan langkah 7, bila tidak ke langkah ?

+. >asukkan nilai dari a%i&

&. Naikkan nilai i sebanyak 9

?. =embali ke langkah 1

0. erikan nilai i dengan angka

@. *ika i kurang dari n, maka lakukan langkah 7, bila tidak ke langkah 91. *ika i sama dengan 1 atau *ika i lebih dari ma, maka berikan nilai a%i& ke ma

9. Naikkan nilai i sebanyak 9

99. =embali ke langkah 191. <ampilkan nilai dari ma

97. Selesai

/. Per(oaan

9. Deklarasikan sebuah 0ariael array o$ int, selanjutnya isi array tsb kemudiantampilkan isi #ariabel tersebut menggunakan statement "or(). ;ngat apabila jumlah deklarasi

indeB adalah n  maka nilai indeB-nya adalah dimulai dari sampai dengan n+1

a. Listing program

6include stdio$8

main("

&

int n,daftar9n:ka[5] = &!,,0,7,+);

printf(<9>?@A BC9D En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(Aenampilkan deret an:ka dari arraJ";

printf(En======================================== EnEn";

printf(Geret arraJ = ";for(n=0;n5;nKK"

printf(%d ,daftar9n:ka[n]";

)

 b. $apture 'rogram

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 5: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 5/18

c. Analisis 'rogram

Array merupakan #ariable yang dapat menyimpan data lebih dari 9 namun tipenya harus

sama. Sebelum digunakan array perlu dideklarasikan dahulu ukurannya. lemen darisuatu array dapat kita akses nilai dari elemennya dengan cukup memanggil indeks dari

elemen array tersebut, contohnya daftarAngka[indeks]. Agar nilai dari array

mudah ditampilkan, maka digunkanlah loo!ing $or sesuai dengan ukuran array tersebut.

1. Deret "ibonacci adalah deret yang dimulai dengan dua angka yang bernilai dan 9,

kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut, sedangkan

deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya. Sehinggadidapatkan deret "ibonanci sebagai berikut 9 9 1 7 & @ 97 19 C

uatlah program untuk meminta input dari user berupa sebuah bilangan, kemudian

tampilkan deret "ibonacci mulai dari 9 sampai dengan bilangan tsb.

a. Listing 'rogram

6include stdio$8

6define A9B !0

main("

&

int arrIil[A9B] = &0,),i,#,n;printf(<9>?@A BC9D !En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(Aenampilkan Geret Li*onacci";

printf(En======================================== EnEn";

printf(Aasukkan #umla$ data ( kuran: dari %d "Et= ,A9B";

scanf(%d,n";

puts(";

for(i=!;arrIil[i-!] K arrIil[i-]n;iKK"

arrIil[i] = arrIil[i-!] K arrIil[i-];

for(#=0;#i;#KK"

printf(%'d ,arrIil[#]";)

 b. $apture 'rogram

c. Analisis 'rogram

Deret ibonacci adalah deret yang dimulai dengan dua angka yang bernilai dan 9,

kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut,

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 6: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 6/18

sedangkan deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya.

4ntuk melakukan hal tersebut dalam bahasa pemrograman dapat menggunakan array

agar prosesnya lebih mudah. 'ertama kita perlu menginisiasi nilai pertama dan kedua

sebagai a%al, kemudian selanjutnya dengan pengulangan kita isi nilai array ketiga dan

seterusnya dengan menjumlahkan nilai dari dua elemen array sebelumnya.

7. uat penjumlahan dua matriks A11dengan 11. Easil penjumlahan tersebut

disimpan dalam matrik $. <ampilkan di layar masing -masing isi dari matriks A, dan

$

$atatan modi"ikasi (gunakan nested loop)

- indeks >A=S dibuat konstanta

- #ariabel ordo matriks diinputkan

- memungkinkan pengulangan proses dengan menginputkan ordo yang lain

a. Listing 'rogram

6include stdio$8

6define A9B !

main("

&

int a[A9B][A9B],*[A9B][A9B],c[A9B][A9B],i,#;

printf(<9>?@A BC9D 'En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(Aen#umla$kan 2ilai dari Aatriks";

printf(En======================================== EnEn";

for(i=0;iA9B;iKK"

&for(#=0;#A9B;#KK"

&

fflus$(stdin";

printf(Aasukkan nilai matriks 9 indeks[%d][%d] Et= ,iK,#K";

scanf(%d,a[i][#]";

)

puts(";

)

for(i=0;iA9B;iKK"

&

for(#=0;#A9B;#KK"

&

fflus$(stdin";

printf(Aasukkan nilai matriks I indeks[%d][%d] Et= ,iK,#K";

scanf(%d,*[i][#]";

)

puts(";

)

puts(";

puts(Aatriks 9";

for(i=0;iA9B;iKK"

&for(#=0;#A9B;#KK"

&

printf(%d ,a[i][#]";

)

puts(";

)

puts(";

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 7: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 7/18

puts(Aatriks I";

for(i=0;iA9B;iKK"

&

for(#=0;#A9B;#KK"

printf(%d ,*[i][#]";

puts(";

)

MMAen:$itun: en#umla$an

puts(";

puts(Aatriks 9KI";

for(i=0;iA9B;iKK"

&

for(#=0;#A9B;#KK"

printf(%'d ,a[i][#] K *[i][#]";

puts(";

)

)

 b. $apture 'rogram

c. Analisis 'rogram

Sebenarnya konsep matriks dan array dua dimensi hampir sama. *adi, untuk 

menjumlahkan dua matriks dengan array, hal pertama yang dilakukan tentu saja

memasukkan nilai dari semua elemen matrikFarray dari kedua array. Setelah semua

dimasukkan, tinggal ditambahkan antara nilai elemen dengan indeks yang sama padakedua array.

+. uatlah sebuah #ariabel array o" int yang memiliki ukuran >A=S. Dengan

menggunakan looping "or(), masukkan sebanyak n data ke dalam array tsb kemudian

carilah nilai terbesar yang ada dalam array tsb.

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 8: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 8/18

a. Listing 'rogram

6include stdio$8

6define A9B !0

main("

&

int a[A9B],n,i,ma/;printf(<9>?@A BC9D +En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(Aen#cari nilai ter*esar dalam matriks";

printf(En======================================== EnEn";

printf(Aasukkan #umla$ data ( kuran: dari %d "Et= ,A9B";

scanf(%d,n";

puts(";

for(i=0;in;iKK"

&

printf(Aasukkan nilai arraJ indeks ke %d Et= ,i";

scanf(%d,a[i]";)

for(i=0;in;iKK"

&

if(i == 0 HH a[i] 8 ma/"

ma/ = a[i];

)

printf(En2ilai ter*esar di arraJ adala$ EtEt= %d,ma/";

)

 b. $apture 'rogram

c. Analisis 'rogram

4ntuk mencari nilai terbesar dari suatu elemen array. >aka yang kita lakukan adalah

membanding-bandingkan nilai dari semua elemen array tersebut setelah diinputkan.

'ertama kita harus mengasumsikan bah%a nilai elemen array pertama adalah nilai

terbesar, kemudian dibandingkan bila nilai element array selanjutnya, apabila lebih

 besar maka dia yang terbesar. egitu selanjutnya hingga semua elemen selesai

dibandingkan.

D. Kesim!ulan

9. Array adalah kumpulan dari nilai-nilai data erti!e sama  dalam urutan tertentu yang menggunakan seua# nama yang sama.

1. lemen dari array array dapat kita akses dengan memanggil indeksnya.

7. Array dapat memiliki dimensi sebanyak satu, dua, tiga atau lebih.+. 'ada bahasa $, ukuran dari array tidak dapat diubah setelah dideklarasikan

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 9: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 9/18

&. 'ada praktiknya, array digunakan untuk menyimpan data bertipe data sama, seperti nilai

ujian atau harga barang.

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 10: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 10/18

PRAKTIKUM 1

Array '

A. Dasar Teori

Array Seagai Parameter

Array juga dapat dile%atkan sebagai parameter "ungsi. Sebagai contoh ditujukan pada

 program sorting.c. 'rogram digunakan untuk memasukkan sejumlah data, kemudian data

tersebut diurutkan naik (ascending) dan dicetak ke layar.

4ntuk melakukan sorting (proses pengurutan data), cara yang dipakai yaitu metode

sorting (suatu metode pengurutan yang paling sederhana, dan memiliki kecepatan pengurutan

yang sangat lambat).

Algoritma pada metode pengurutan ini adalah sebagai berikut

9. Atur i bernilai

1. andingkan Bi dengan Bj, dg j berjalan dari i G 9 sampai dengan n-9.

7. 'ada setiap pembandingan, jika Bi H Bj, maka isi Bi dan Bj ditukarkan

+. Selama i I (n J 9), ulangi mulai langkah 1.

$atatan

i : indeks array

B : nama array untuk menyimpan datan : jumlah data

Algoritma diatas berlaku untuk pengurutan menaik  

(ascending). 4ntuk pengurutan menurun (descending),

 penukaran dilakukan jika Bi I Bj.

>isal, data semula (sebelum pengurutan) adalah

&,& 7,7 1,1 1&,1 79,7

Setelah pengurutan menaik (secara ascending), hasil yang

diharapkan berupa

1,1 1&,1 7,7 79,7 &,&

'roses secara lengkapnya bisa dilihat pada gambar 9?.9

MM Lile pro:ram N sortin:c

6include stdio$8

6define A9B !0

void pemasukan_data(float []";

void pen:urutan_data(float []";

void penampilan_data(float []";

int #ml;

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 11: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 11/18

main("

&

float data[A9B];

pemasukan_data(data";

pen:urutan_data(data";

penampilan_data(data";

)

void pemasukan_data(float /[]"

&

int i;

printf(Oumla$ data = ";

scanf(%d, #ml";

for(i=0; i#ml; iKK" &

printf(Gata ke-%d N , iK";

scanf(%f, /[i]";

)

)

void pen:urutan_data(float /[]"&

int i, #;

float temp;

for(i=0; i#ml-; iKK"for(#=iK; ##ml; #KK"

if(/[i] 8 /[#]"

&

temp = /[i];

/[i] = /[#];

/[#] = temp;

)

)

void penampilan_data(float /[]"&

int i;

printf(EnGata setela$ diurutkan NEnEn";

for (i=0; i#ml; iKK"

printf(Gata ke-%d N %:En, iK, /[i]";)

B. Tugas Penda#uluan

1. Algoritma men(ari nilai teresar dalam array menggunakan $ungsi

De"inisikan MAKS sebagai bilangan bulat dengan angka 1

De"inisikan "ungsi in!ut23 dan $indma23 sebagai #oid

Deklarasikan *ml sebagai bilangan bulat dan nilai sebagai array dengan ukuran sesuai

MAKS

9. 'anggil "ungsi in!ut23 dengan nilai sebagai parameter 

1. 'anggil "ungsi $indma23 dengan nilai sebagai parameter 

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 12: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 12/18

Algoritma $ungsi in!ut23

<erima nilai sebagai array data%& bertipe bilangan bulat. Deklarasikan i sebagai bilangan

 bulat.

9. >asukkan jumlah data( *ml)

1. erikan nilai i dengan angka 7. *ika i kurang dari *ml, maka lakukan langkah 7, bila tidak ke langkah ?+. >asukkan nilai dari data%i&

&. Naikkan nilai i sebanyak 9

?. =embali ke langkah 1

0. Selesai

Algoritma $ungsi in!ut23

<erima nilai sebagai array data%& bertipe bilangan bulat. Deklarasikan i sebagai bilangan

 bulat.

9. >asukkan jumlah data( *ml)1. erikan nilai i dengan angka

7. *ika i kurang dari *ml, maka lakukan langkah 7, bila tidak ke langkah ?

+. >asukkan nilai dari data%i&

&. Naikkan nilai i sebanyak 9

?. =embali ke langkah 1

0. Selesai

Algoritma $ungsi $indma23

<erima nilai sebagai array data%& bertipe bilangan bulat. Deklarasikan i dan maBsebagai

 bilangan bulat.

9. erikan nilai i dengan angka

1. *ika i kurang dari n, maka lakukan langkah 7, bila tidak ke langkah 91

7. *ika i sama dengan 9 atau *ika i lebih dari ma, maka berikan nilai a%i& ke ma

+. Naikkan nilai i sebanyak 9

&. =embali ke langkah 1

?. <ampilkan nilai dari ma

0. Selesai

'. Algoritma men(ari nilai rata+rata dalam array

De"inisikan MAKS sebagai bilangan bulat dengan angka 7De"inisikan "ungsi (ariRata23 dan tampilkan sebagai #oid

Deklarasikan nilai sebagai array "loat dengan ukuran sesuai MAKS.

;nisiasi nilai%& dengan 559,@9,,?16,51,&,@7,@06,57,@,&&,?&6,5+,00,0,166

9. 'anggil "ungsi tampilkan() dengan nilai%& sebagai parameter 

1. 'anggil "ungsi cariKata() dengan nilai%& sebagai parameter 

Algoritma $ungsi (ariRata23

 Data pada array nilai[] akan dijumlah per baris kemudian dicari rata-ratanya.

<erima nilai%& sebagai array data%& bertipe bilangan bulat. Deklarasikan i)* dan *umData 

sebagai bilangan bulat. ;nisiasi *umData dengan +.

9. erikan nilai i dengan angka nol.1. *ika i kurang dari *umData, maka lakukan langkah 7, bila tidak ke langkah 9

7. erikan nilai * dengan angka nol.

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 13: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 13/18

+. *ika * kurang dari 7, maka lakukan langkah &, bila tidak ke langkah @

&. <ambahkan total dengan data%i&%*&, simpan hasilnya di total kembali.

?. Naikkan nilai * sebanyak 9

0. =embali ke langkah +@. <ampilkan nilai total yang sudah dibagi dengan *

. Naikkan nilai i sebanyak 9

9. =embali ke langkah 1

Algoritma $ungsi tam!ilkan23

 Data pada array nilai[] akan ditampilkan ke layar menggunakan looping.

<erima nilai%& sebagai array data%& bertipe bilangan bulat. Deklarasikan i)* dan *umData 

sebagai bilangan bulat. ;nisiasi *umData dengan + dan total dengan angka sebagai "loat.

9. erikan nilai i dengan angka

1. *ika i kurang dari *ml, maka lakukan langkah 7, bila tidak ke langkah ?

7. <ampilkan data%i&%1&) data%i&%'&, data%i&%,& dan data%i&%-&,+. Naikkan nilai i sebanyak 9

&. =embali ke langkah 1?. Selesai

,. Algoritma memuat tael trigonometri

De"inisikan "ungsi P4I sebagai bilangan pecahan "loat.

Deklarasikan "ungsi radian23 sebagai "ungsi dengan tipe "loat. Deklarasikan pula "ungsi

isi523 dan tam!ilkan23 dengan tipe #oid.

Deklarasikan  sebagai array "loat dengan ukuran sebanyak 91

9. 'anggil "ungsi isi523 dengan  sebagai parameter 

1. 'anggil "ungsi tam!ilkan23 dengan  sebagai parameter 

Algoritma $ungsi isi523

.

<erima %& sebagai array sudut%& bertipe "loat. Deklarasikan nilai i dengan angka . ;nisiasi pula dera*ad sebagai bilangan "loat dengan angka .

9. erikan nilai i dengan angka 1. *ika dera*ad kurang dari 7?, maka lakukan langkah 7, bila tidak ke langkah ?

7. erikan nilai dera*ad kepada sudut%i&

+. Naikkan nilai i sebanyak 7&. Naikkan nilai i sebanyak 9

?. =embali ke langkah 1

0. Selesai

Algoritma $ungsi tam!ilkan23

 Data pada array x[] akan ditampilkan ke layar menggunakan looping.

<erima %& sebagai array sudut%& bertipe bilangan bulat. Deklarasikan i bilangan bulat.

9. erikan nilai i dengan angka

1. *ika i kurang dari 91, maka lakukan langkah 7, bila tidak ke langkah ?

7. <ampilkan nilai dari sudut%i&

+. <ampilkan nilai cosinus dari sudut%i& yang telah diproses menggunakan "ungsi radian

&. <ampilkan nilai sinus dari sudut%i& yang telah diproses menggunakan "ungsi radian

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 14: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 14/18

?. <ampilkan nilai tangen dari sudut%i& yang telah diproses menggunakan "ungsi radian

0. Naikkan nilai i sebanyak 9

@. =embali ke langkah 1

. Selesai

Algoritma $ungsi radian23

<erima nilai sudut sebagai dera*ad sebagai bilangan "loat.

9. Eitung nilai dera*ad dalam radian dengan rumus (dera*ad F 9@.") P4I

1. =embalikan hasil perhitungan diatas ke "ungsi pemanggil

/. Per(oaan

9. uatlah program yang terdiri atas

- "ungsi input() yang bertugas menanyakan jumlah data sekaligus memasukkan data

 bilangan sebanyak yang diminta ke dalam array nilai

- "ungsi "indmaB()yang bertugas mencari nilai terbesar yang ada pada array nilaitsb

- "ungsi main() yang memanggil "ungsi input() dan "ungsi "indmaB() , selanjutnyamenampilkan nilai terbesar yang ada pada array nilai

a. Listing 'rogram

6include stdio$8

6define A9B '0

void input(int[]";

void findma/(int[]";

int #ml;

main("

&

int nilai[A9B];

printf(<9>?@A . BC9D En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(Aencari nilai ter*esar dalam arraJ";

printf(En======================================== EnEn";

input(nilai";

findma/(nilai";

)

void input(int data[]"

&

int i;

printf(Aasukkan #umla$ data Et= ";

scanf(%d,#ml";

for(i=0;i#ml;iKK"

&

printf(Aasukkan nilai ke-%d Et= ,iK";

scanf(%d,data[i]";

)

)

void findma/(int data[]"

&

int i,ma/;

for(i=0;i#ml;iKK"

&

if(i == 0 HH ma/ data[i]"

ma/ = i;

)

printf(2ilai ter*esar adala$ %d,ma/";

)

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 15: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 15/18

 b. $apture 'rogram

c. Analisis 'rogram

Array yang dile%atkan melalui "ungsi sangat memudahkan kita. Dengan "ungsi yang

telah dibuat, sebuah array dapat dikenai proses secara terpisah sehingga mudah dalam

 penulisan dan pembacaan. Seperti pada program diatas, array dile%atkan "ungsi input

untuk mengisi nilai dari setiap elemen array tersebut, kemudian "ungsi "indmaB yaitu

"ungsi untuk mencari nilai terbesar dari elemen array.

1. Diketahui da"tar nilai sis%a sebagai berikut

uatlah program untuk menampilkan laporan sebagai berikut

a. Listing 'rogram

6include stdio$8

6define A9B '0

void cari<ata(float[A9B][+]";

void tampilkan(float[A9B][+]";

main("

&

float nilai[A9B][+] = &&,,.0,!),&!,50,',7),&',.,55,5),&+,77,70,.!));

printf(<9>?@A . BC9D !En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(Aencari rata-rata dari sekumpulan nilai";

printf(En======================================== EnEn";

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 16: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 16/18

tampilkan(nilai";

cari<ata(nilai";

)

void tampilkan(float data[A9B][+]"

&

int i,#,#umGata = +;

printf(Gata 2ilai Aa$asis3a=EnEn";

printf(---------------------------------------------En";

printf(H %!s H %0s H %0s H %0s HEn,2o, Ia$asa,Aatematika,Gi:ital";

printf(---------------------------------------------En";

for(i=0;i#umGata;iKK"

printf(H %!d H %00f H %00f H %00f HEn,iK,data[i][],data[i]

[!],data[i][']";

printf(---------------------------------------------En";

)

void cari<ata(float data[A9B][+]"

&

int i,#,#umGata = +;

float total = 0;

printf(En2ilai <ata-rata=EnEn";

printf(-------------------En";

printf(H %!s H %!sEn,2o,<ata-rata H";

printf(-------------------En";

for(i=0;i#umGata;iKK"

&

total = 0;

for(#=0;#';#KK"

&

 total = total K data[i][#];

)printf(H %!d H %0!f HEn,iK,totalM#";

)

printf(-------------------En";

)

 b. $apture 'rogram

c. Analisis 'rogram

Sudah kita ketahui bersama bah%a array hanya bisa menyimpan data dengan tipe data

yang sama. Mleh karena itu da"tar nama tidak diikutsertakan pada program karena bertipe string  sendiri. 'rogram ini mele%atkan array nilai ke "ungsi-"ungsi seperti

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 17: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 17/18

"ungsi cariKata untuk mencari rata-rata dan juga "ungsi tampilkan untuk menampilkan

inter"ace dari hasil proses semua "ungsi yang telah dijalankan.

7. uat program untuk menampilkan tabel trigonometri dengan menggunakan looping "or()dan 1 buah array

- -B sebagai array berdimensi satu yang diinisialisasi dengan sudut sFd 7?

- -data sebagai array berdimensi dua. data adalah array yg berisi nilai sin, cos dantan dari masing-masing nilai sudut yang ada dalam array B.

'etunjuk - gunakan "ungsi radian() untuk mengkon#ersi nilai derajat menjadi radian.

rad : drjt F 9@. ';.

'; : 7.9+9&

a. Listing 'rogram

6include stdio$8

6include mat$$8

6define P? '+f;

float radian(float";

void isiQ(float[]";

void tampilkan(float[]";

main("

&

float /[!];

printf(<9>?@A . BC9D 'En<F2G<9 H !0'0' H G+?>IEn";

printf(En======================================== En";

printf(>a*el >ri:onometri";

printf(En======================================== EnEn";

isiQ(/";

tampilkan(/";

)

void isiQ(float sudut[]"

&

int i = 0;

float dera#ad=0;

for(i=0;dera#ad='0;iKK"

&

sudut[i] = dera#ad;

dera#adK='0;)

)

void tampilkan(float sudut[]"

&

int i;

printf(----------------------------------------En";

printf(H %s H %7s H %7s H %7s HEn,/,sin(/",Ros(/",>an(/"";

printf(----------------------------------------En";

for(i=0;i!;iKK"

printf(H %0f H %7!f H %7!f H %7!f

HEn,sudut[i],sin(radian(sudut[i]"",cos(radian(sudut[i]"",tan(radian(sudut[i]""";

printf(----------------------------------------En";)

float radian(float dera#ad"

&

return (dera#ad M 00f" S P?;

)

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama

Page 18: Laporan Resmi 18-19  Konsep Pemrograman [Array]

8/20/2019 Laporan Resmi 18-19 Konsep Pemrograman [Array]

http://slidepdf.com/reader/full/laporan-resmi-18-19-konsep-pemrograman-array 18/18

 b. $apture 'rogram

c. Analisis 'rogram

4ntuk mebuat table trigonometri seperti diatas, pertama yang kita lakukan adalah membuat

da"tar array sudut setiap kelipatan 7, selanjutnya, setiap sudut tadi di ubah menjadi radian

dan terkahir tinggal kita cari sin, cos, tan Jnya dengan menggunakan "ungsi yang telahtersedia di math.h. ariabel yang cocok digunakan adalah "loat agar memberikan presisi

 pembagian yang spesi"ik. 'ada program ini masih terjadi bug, yaitu tan dan 10 yang

seharusnya berilai in"initi#e, namun disini menjadi sebuah bilangan.

D. Kesim!ulan

9. Sebuah array juga dapat dile%atkan sebagai parameter "ungsi.

1. Dalam parameter aktual, array yang dile%atkan tidak perlu ditambahkan karakter 23karena array tanpa tanda tersebut sudah menyatakan alamat indeks ke dari array tersebut.

7. =arena yang dikirimkan adalah alamatnya, maka di dalam "ungsi, tanpa return #alue pun

nilai array akan berubah sesuai proses yang dijalankan.

Laporan Resmi Praktikum Konsep Pemrograman : Array  | Rendra Budi Hutama