Upload
rendra-budi-hutama
View
264
Download
3
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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