Anda di halaman 1dari 10

STMIK KHARISMA KARAWANG

MODUL
PEMPROGRAMAN
TERSTRUKTUR
DENGAN BAHASA C

ARIF SETIAWAN, S.KOM

2013
Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

BAB 1
TIPE ARRAY
Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah nilai dengan
tipe data tertentu.
Misalnya : int a1, a2, a3, a4, a5.
Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer dimana masing-
masing variabel diberi nama a1, a2, a3, a4, dan a5. Jika kita memiliki 10 data, 100 data
integer bahkan mungkin data yang ingin kita proses tidak kita ketahui atau bersifat
dinamis, kita tidak mungkin menggunakan variabel seperti diatas. Di dalam C dan
pemrograman yang lain, terdapat suatu fasilitas untuk menyimpan data-data yang bertipe
data sama dengan suatu nama tertentu.
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 elemen-
elemen array. Letak urutan elemen array ditunjukkan dengan index atau subscript.
Dilihat dari dimensinya array dapat dinagi menjadi array satu dimensi, array dua dimensi
dan array tiga dimensi.

1.1 Array Satu Dimensi


Mendeklarasikan array satu dimensi :
Tipe_data Nama_array[ukuran_array]
 Tipe data elemen array: int, float, char, long int, dll.
 Nama array: menunjukkan nama array yang dipakai
 Ukuran array: menunjukkan jumlah maksimal elemen array
 Contoh : int X[5]
 Dalam bahasa C, indeks array dimulai dengan nol.

Ilustrasi array satu dimensi:

Contoh Program 1
Program untuk menjumlahkan elemen dalam array satu dimensi.
#include "stdio.h"
#include "conio.h"
void main()
{float X[]={5,3,7},Total=0;
int i;
clrscr();
for(i=0;i<=2;i++)
Total=Total+X[i];
printf("Total=%f\n",Total);
getch();
}

STMIK Kharisma Karawang 1


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

Output dari program setelah dijalankan:


Total=15.000000

Contoh Program 2
#include "stdio.h"
#include "conio.h"
void main()
{float A[5]={75,73,78,81,80};
int i,x,indeks;
clrscr();
printf("Masukkan nilai yang akan dicari:\n");
scanf("%d",&x);
indeks=0;
for(i=0;i<5;i++)
if(A[i]==x)
indeks=i;
printf("Nilai ditemukan pada indeks ke- %d",indeks);
getch();
}

1.2 Array Dua Dimensi


Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah matriks. Jika
array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua
terdiri dari banyak baris dan banyak kolom yang bertipe sama.

Mendeklarasikan array dua dimensi :


Tipe_data Nama_array[baris][kolom]
 Tipe data elemen array: int, float, char, long int, dll.
 Nama array: menunjukkan nama array yang dipakai
 Ukuran array: menunjukkan jumlah maksimal elemen array
 Contoh : int Matrik[2][3]
 Dalam bahasa C, indeks array dimulai dengan nol.

Ilustrasi array dua dimensi:

STMIK Kharisma Karawang 2


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

Contoh Program 3
Program untuk menampilkan array dua dimensi
#include "stdio.h"
#include "conio.h"
void main()
{float X[][4]={12.34,25.36,17.45,18.37,
15.15,18.05,11.25,55.55,
43.21,17.11,62.85,13.01};
int i,j;
clrscr();
{for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%2.3f ",X[i][j]);
printf("\n");
}
printf("\n");
getch();
}
}

Output setelah program dijalankan:


12.340 25.360 17.450 18.370
15.150 18.050 11.250 55.550
43.210 17.110 62.850 13.010

Contoh Program 4
Program untuk menampilkan array dua dimensi
#include "stdio.h"
#include "conio.h"
void main()
{int MatriksA[100][100],MatriksB[100][100],MatriksC[100][100];
int i,j,barisAB,kolomAB;
clrscr();
//Memasukkan Orde dari Matriks
printf("Jumlah Baris Matriks A dan B? ");
scanf("%d",&barisAB);
printf("Jumlah Kolom Matriks A dan B? ");
scanf("%d",&kolomAB);
printf("\n");

//Memasukkan data matriks A


printf("Masukkan nilai matriks A:\n");
for(i=0;i<barisAB;i++){
for(j=0;j<kolomAB;j++)

STMIK Kharisma Karawang 3


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

{printf("A (%3d,%3d)?",i+1,j+1);
scanf("%d",&MatriksA[i][j]);
}
printf("\n");
}

//Memasukkan data Matriks B


printf("Masukkan nilai matriks B:\n");
for(i=0;i<barisAB;i++){
for(j=0;j<kolomAB;j++)
{printf("B (%3d,%3d)?",i+1,j+1);
scanf("%d",&MatriksB[i][j]);
}
printf("\n");
}

//Menghitung matriks C yang merupakan hasil jumlahan matriks A dan B


for(i=0;i<barisAB;i++){
for(j=0;j<kolomAB;j++){
MatriksC[i][k]=MatriksA[i][j]+MatriksB[i][j];
}
}

//Menampilkan hasil jumlahan matriks A dan B


printf("Hasil jumlahan matriks:\n");
for(i=0;i<barisAB;i++){
for(j=0;j<kolomAB;j++)
printf("%d ",MatriksC[i][k]);
printf("\n");
}
printf("\n");

getch();
}

Output setelah program dijalankan:


Jumlah Kolom Matriks A dan B? 2
Jumlah Kolom Matriks A dan B? 3

Masukkan nilai matriks A:


A ( 1, 1)?1
A ( 1, 2)?2
A ( 1, 3)?3

A ( 2, 1)?4
A ( 2, 2)?5
STMIK Kharisma Karawang 4
Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

A ( 2, 3)?6

Masukkan nilai matriks B:


B ( 1, 1)?7
B ( 1, 2)?8
B ( 1, 3)?9

B ( 2, 1)?10
B ( 2, 2)?11
B ( 2, 3)?12

Hasil jumlahan matriks:


8 10 12
14 16 18

Latihan
1. Buatlah program untuk mengurutkan bilangan-bilangan berikut: 8,3,7,1,6,4,2 dan 5
dalam sebuah array satu dimensi dengan hasil pengurutannya meningkat dan
menurun.
2. Buatlah program untuk menghitung selisih 2 buah matriks.
3. Buatlah program untuk menghitung perkalian matriks dengan sebuah skalar positif.

STMIK Kharisma Karawang 5


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

BAB 2
SUB PROGRAM
(FUNGSI DAN PROSEDUR)
Fungsi dan prosedur merupakan bagian dari program yang dibuat untuk tugas tertentu.
Fungsi dan prosedur banyak dilibatkan dalam pemrograman yang bertujuan untuk
menjadikan program lebih terstruktur sehingga mudah dipahami dan mudah
dikembangkan karena dengan adanya fungsi dan prosedur akan mengurangi pengulangan
penulisan kode. Fungsi dan prosedur letaknya terpisah dari program yang memanggil
fungsi dan prosedur itu sendiri.

Fungsi akan memberikan nilai akhir yang dinyatakan dengan pernyataan return,
sedangkan prosedur tidak memberikan nilai akhir.

2.1 Dasar fungsi


Tugas khusus yang diemban sebuah fungsi dapat kita lihat pada beberapa fungsi standart,
misalnya:
- getch(), dengan tugas membaca kode tombol.
- printf(), dengan tugas untuk menampilkan informasi atau data ke layar.
Pada umumnya fungsi memerlukan masukan yang dinamakan argumen atau parameter.
Masukan ini selanjutnya diolah oleh fungsi. Hasil akhir fungsi berupa sebuah nilai
(disebut nilai keluaran fungsi atau nilai balik fungsi).

Bentuk umum fungsi


Tipe_fungsi Nama_fungsi(Parameter_fungsi)
{Pernyataan_1
Pernyataan_2
.......................
.......................
}

Sebuah fungsi yang sederhana bisa saja tidak mengandung parameter sama sekali dan
tentu saja untuk keadaan ini deklarasi parameter juga tidak ada. Sebagai contoh:
inisialisasi()
{
return(0);
}

Pada tipe fungsi diatas:


- Tipe fungsi tidak disebutkan, berarti keluaran fungsi bertipe int.
- inisialisasi adalah nama fungsi
- Tanda () sesudah nama fungsi menyatakan bahwa fungsi tak memiliki parameter.
- return (0); merupakan sebuah pernyataan dalam tubuh fungsi.

2.2 Memberikan nilai akhir fungsi


Sebuah fungsi terlihat memiliki nilai keluaran. Didalam fungsi, pernyataan yang
diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return. Sebagai contoh
fungsi inisialisasi yaitu return (0); merupakan pernyataan untuk memberikan nilai akhir
pada fungsi berupa nol,

STMIK Kharisma Karawang 6


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

Contoh Program 1

#include"stdio.h"
#include"conio.h"
inisialisasi(); //deklarasi fungsi

void main()
{int x,y;
clrscr();
x=inisialisasi(); //pemanggilan fungsi inisialisasi
printf("x=%d\n",x);
y=inisialisasi(); //pemanggilan fungsi inisialisasi
printf("y=%d\n",y);
getch();
}

inisialisasi() //fungsi inisialisasi


{return(0);
}

Output setelah program dijalankan:


x=0
y=0

Program di atas menjelaskan bahwa suatu fungsi cukup didefinisikan satu kali tetapi bisa
digunakan beberapa kali. Pada keadaan semacam ini, seandainya tubu fungsi banyak
mengandung pernyataan, maka pemakaian fungsi dapat menghindari duplikasi kode dan
tentu saja menghemat penulisan program maupun kode dalam memori.
Bagi suatu fungsi, jika suatu pernyataan return dieksekusi maka eksekusi terhadap fungsi
akan berakhir dan nilai pada parameter return akan menjadi keluaran fungsi.

Contoh Program 2
Program untuk menghitung penjumlahan dan pengurangan dua buah bilangan dengan
pembuatan masing-masing fungsi jumlah dan kurang.
#include "stdio.h"
#include "conio.h"
float tambah(float a,float b); //deklarasi fungsi jumlah//
float kurang(float x,float y); //deklarasi fungsi kurang//

void main()
{float a,b,c,x,y,z;
clrscr();
printf("A= ");
scanf("%f",&a);
printf("B= ");
scanf("%f",&b);
printf("X= ");

STMIK Kharisma Karawang 7


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

scanf("%f",&x);
printf("Y= ");
scanf("%f",&y);

c=tambah(a,b);
z=kurang(x,y);

printf("A+B=%f\n",c); //pemanggilan fungsi jumlah//


printf("X-Y=%f",z); //pemanggilan fungsi kurang//
getch();
}

float tambah(float a,float b) //definisi fungsi jumlah//


{return(a+b);
}

float kurang(float x,float y) //definisi fungsi kurang//


{return(x-y);
}

Output setelah program dijalankan:


A= 7
B= 3
X= 9
Y= 2
A+B=10.000000
X-Y=7.000000

Latihan
1. Tentukan output dari program setelah program dijalankan!

#include ”stdio.h”
#include “conio.h”
int ubah(int y);

void main()
{int x,temp;
clrscr();

temp=ubah(x); //pemanggilan fungsi ubah//


printf("x=%d\n",temp);
getch();
}

STMIK Kharisma Karawang 8


Modul Praktikum Pemrograman Terstruktur dengan Bahasa C

int ubah(int y) //definisi fungsi ubah//


{y=85;
return(y);
}

2. Buatlah program untuk menentukan suatu bilangan apakah termasuk bilangan ganjil,
genap, prima, kelipatan 3 atau kelipatan 5. Buatlah fungsi atau prosedur dalam
program tersebut untuk melaksanakan perintah tersebut.
3. Buatlah program untuk menentukan nilai maksimum dan minimum diantara beberapa
nilai yang dimasukkan sebagai inputan. Buatlah fungsi atau prosedur dalam program
tersebut untuk melaksanakan perintah tersebut.
4. Tentukan output dari program berikut

#include ”stdio.h”
#include “conio.h”
void fung_a(void);
void fung_b(void);
int x=20;

void main()
{ clrscr();
x+=2;
fung_a();
fung_b();
printf(“x=%d\n”,x);
getch();
}

void fung_a(void)
{static int x=5;
x++;
printf(“x=%d\n”,x);
fung_b();
}

void fung_b(void)
{ x--;
printf(“x=%d\n”,x);
}

STMIK Kharisma Karawang 9

Anda mungkin juga menyukai