Konsep Pemrograman 2
Konsep Pemrograman 2
Nana R
PENS-ITS 2006
Materi
Pengulangan
Pengulangan dengan while
Pengulangan dengan for
Counter dan Akumulator
Pengulangan Berkalang
Array
Array 1D
Array 2D
Fungsi
Fungsi Internal
Fungsi Eksternal
Parsing Variabel Array
Pengulangan
Pengulangan adalah suatu kegiatan
untuk melakukan pengulangan
terhadap proses yang sama sampai
pengulangan dinyatakan selesai.
Pengulangan dapat menggunakan
variabel counter atau tanpa variabel
counter.
Pengulangan Menggunakan While
Pengulangan dilakukan selama keadaan
dipenuhi menggunakan perintah while.
Format penulisan pengulangan
menggunakan while adalah sebagai
berikut:
while (kondisi) {
Proses yang diulang
selama kondisi dipenuhi
}
Contoh 1
Pengulangan Menggunakan While
Lakukan pengulangan proses penambahan
temperatur sebesar 1oC per proses selama
temperatur kurang dari 100oC. Kondisi awal
temperatur adalah 0oC.
temperatur=0;
while(temperatur<100){
temperatur++;
}
bilangan=1.0;
while(bilangan>0.001){
bilangan=bilangan/2.0;
}
Contoh 3
Pengulangan Menggunakan While
Lakukan pengulangan proses memasukkan data
bilangan selama bilangan yang dimasukkan
kurang dari 1 atau lebih besar dari 10. Nilai awal
bilangan sama dengan 0.
bilangan=0;
while((bilangan<1) || (bilangan>10)){
printf(Masukkan bilangan = );
scanf(%d,&bilangan);
}
Latihan
Pengulangan Menggunakan WHILE
Buat program untuk menampilkan bilangan dan
menambahkan satu-persatu selama bilangan kurang
dari 15. Nilai awal bilangan sama dengan 5.
Buat program menampilkan bilangan bulat positif
kelipatan 3 yang kurang dari 20.
Buat program untuk memasukkan bilangan yang
nilainya harus kelipatan 5, bila bilangan bukan
kelipatan 5 ulangi proses memasukkan bilangan.
Buat program untuk memasukkan bilangan yang
nilainya antara 10 sampai dengan 20, bila nilainya
tidak dalam range tersebut maka ulangi proses
memasukkan bilangan
Pengulangan Menggunakan FOR
Pengulangan FOR ini menggunakan variabel
counter di dalam pengulangannya.
Pengulangan FOR merupakan bentuk
pengulangan yang mengecek apakan
bilangan counter seudah mencapai kondisi
akhir
Format penulisan pengulangan FOR adalah
sebagai berikut:
For(var=nilai_awal;var[<>=]nilai_akhir;counter){
Proses yang diulang;
}
Contoh 1
Pengulangan Menggunakan FOR
for(bil=1;bil<=10;bil++){
printf(%d ,bil);
}
Contoh 2
Pengulangan Menggunakan FOR
for(bil=2;bil<=20;bil=bil+2){
printf(%d ,bil);
}
atau
for(bil=2;bil<=20;bil+=2){
printf(%d ,bil);
}
for(bil=10;bil>=1;bil--){
printf(%d ,bil);
}
Contoh 4
Pengulangan Menggunakan FOR
for(bil=1;bil>=20;bil++){
printf(%d ,bil);
if(bil % 2 ==0)
printf( genap\n);
else printf( ganjil\n);
}
Contoh 5
Pengulangan Menggunakan FOR
for(bil=65;bil<70;bil++){
printf(%c ,bil);
}
Latihan
Pengulangan Menggunakan FOR
Menampilkan bilangan kelipatan 3
yang kurang dari 20.
Menampilkan bilangan dari 50 sampai
dengan 20 dengan step turun 5.
Menampilkan 15 bilangan ganjil
pertama
Menampilkan huruf kecil a sampai
dengan z, bila kode ASCII dari a
adalah 97 dan seterusnya.
Counter dan Akumulator
Counter digunakan untuk menghitung
jumlah proses, jumlah data atau jumlah
obyek yang digunakan. Dengan kata lain
menghitung jumlah pengulangan.
1 2 3 4 5 6 Counter = 6
Akumulator adalah jumlah semua nilai yang
digunakan dalam suatu pengulangan
1+2+3+4+5+6 Akumulator = 21
Perintah FOR sudah menggunakan counter
dalam proses pengulangannya
Contoh Counter
Menghitung nilai pengulangan dari memasukkan
bilangan selama bilangan yang dimasukkan lebih
besar dari 0
bil=1;
n=0;
while(bil>=0){
printf(Masukkan bilangan = );
scanf(%d,&bil);
n++;
}
printf(Jumlah pengulangan = %d\n,n);
s=0;
for(bil=1;bil<=10;bil++) {
s=s+bil;
}
printf(Jumlah = %d\n,s);
For(i=1;i<=3;i++){
for(bil=1;bil<=5;bil++)
printf(%d ,bil);
printf(\n);
}
Contoh 1
Pengulangan Berkalang
Menampilkan barisan bilangan berikut:
1
12
123
1234
12345
For(i=1;i<=3;i++){
for(bil=1;bil<=i;bil++)
printf(%d ,bil);
printf(\n);
}
Latihan
Pengulangan Berkalang
Buat program untuk menampilkan barisan bilangan berikut:
1 1 2345 1
2 1 1 234 23
3 21 1 23 456
4 321 1 2 7 8 9 10
5 4321 1 11 12 13 14 15
1 2 3 4 5 1 -1 1 -1 1 1 0 1 0 1
5 4 3 2 1 2 -2 2 -2 2 0 1 0 1 0
1 2 3 4 5 3 -3 3 -3 3 1 0 1 0 1
5 4 3 2 1 4 -4 4 -4 4 0 1 0 1 0
1 2 3 4 5 5 -5 5 -5 5 1 0 1 0 1
Latihan
Pengulangan Berkalang
Buatlah program untuk menampilkan
barisan bilangan 1 sampai dengan 5, lalu
kembali ke 1 dan ke 5 demikian seterusnya
sampai 8 kali.
1 2 3 4 5 4 3 2 1 2 3 4 5 4 3 2
Buatlah program untuk menampilkan n
bilangan prima pertama. Bilangan prima
adalah bilangan yang hanya habis dibagi
satu dan bilangan itu sendiri, atau tidak
habsi dibasi oleh semua bilangan mulai 2
sampai dengan bilangan-1
Array
Array adalah sekumpulan atau himpunan
data yang bertipe sama dan disimpan
menjadi seuatu barisan data dengan
pengenal indeks.
Array dapat dipanggil menggunakan
indeksnya.
Dengan array dimungkinkan menyimpan
banyak data dalam 1 variabel, misalkan
bilangan[].
Penulisan array menggunakan tanda [], di
dalamnya adalah indeks dari data, misalkan
data bilangan ke 5 dituliskan dengan
bilangan[5].
Gambaran Array
0 1 2 3 4 5
4 3 7 1 0 6
printf(%d,x[2]); 7
printf(%d,x[4]); 0
Cara Mendefinisikan Array
Cara mendefinisikan array 1D adalah:
TIPE var[maks_indeks];
#include <stdio.h>
void main(){
int x[6]={5,3,4,6,7,0};
int i;
for(i=0;i<6;i++)
printf(%d ,x[i]);
}
Contoh 2
Array 1D
Menampilkan data bilangan hasil pengukuran temperatur dalam
array, dengan jumlah pengukuran adalah 6 kali.
#include <stdio.h>
void main(){
int T[30];
int i;
for(i=0;i<6;i++){
printf(Masukkan data pengukuran = );
scanf(%d,&T[i]);
}
}
Contoh 3
Array 1D
Menghitung rata-rata dari data pengukuran yang dimasukkan
#include <stdio.h>
void main(){
int T[30];
int i;
for(i=0;i<6;i++){
printf(Masukkan data pengukuran = );
scanf(%d,&T[i]);
}
// Menghitung rata-rata
float rata2=0;
for(i=0;i<6;i++) rata2+=T[i];
rata2=(float)rata2/6.;
printf(Rata-rata = %1.2f\n, rata2);
}
Contoh 1
Array 2D
Memasukkan dan #include <stdio.h>
menampilkan matrik
berukuran 3x3 void main(){
int x[3][3]
int i;
for(i=0;i<3;i++)
for(j=0;j<3;j++){
printf(A(%d,%d) = ,i,j);
scanf(%d,x[i][j]);
}
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf(%d ,x[i][j]);
printf(\n);
}
}
Latihan
Array 1D dan 2D
Masukkan 10 data float, dan hitung rata-
ratanya.
Masukkan 10 data integer, hitung nilai
minimum dan pada data ke berapa nilai
minimum itu terjadi
Masukkan 10 data integer, hitung nilai
maksimum dan pada data ke berapa nilai
maksimun itu terjadi
Masukkan 2 buah matrik berukuran 3x3 dan
tampilkan hasil penjumlahan dua matrik
tersebut
Masukkan 2 buah matrik berukuran 3x3 dan
tampilkan hasil perkalian dua matrik tersebut
Fungsi
Fungsi adalah suatu modul program atau suatu
bagian program yang bisa dipanggil oleh
bagian/modul program yang lain.
Fungsi bisa menghasilkan suatu nilai, juga bisa tidak
menghasilkan suatu nilai.
Fungsi adalah modul-modul yang bisa disimpan
secara terpisah dan digunakan pada program yang
lain.
Dalam bahasa C, adalah dua macam fungsi, yaitu
fungsi yang sudah disediakan oleh compiler (biasanya
diletakkan dalam file header), dan fungsi yang dibuat
sendiri.
Elemen penulisan fungsi adalah:
NamaFungsi(Parameter);
Fungsi Standard
Bahasa C adalah suatu bahasa modular, setiap
perintahnya adalah fungsi yang disimpan pada setiap
file header
Perhatikan perintah printf dan scanf, perintah tersebut
adalah suatu fungsi yang letaknya ada di file header
stdio.h
Fungsi-fungsi matematika seperti sin, cos, abs, sqrt,
log terdapat di dalam file header math.h
Fungsi-fungsi waktu seperti time() terdapat di file
header time.h
Fungsi-fungsi untuk mengelola string (kalimat atau
kata atau karakter) sepert strcat, strcopy terdapat
pada file header string.h
Membuat Fungsi Sendiri
Fungsi kadang harus dibuat sendiri, karena
tiudakmungkin bahasa C menyediakan
semua fungsi yang dibutuhkan.
Cara penulisan pembuatan fungsi adalah
sebagai berikut:
TIPE/VOID NamaFungsi(Parameter){
Program di dalam fungsi;
}