BAB VI BAHASA C2 - · PDF filea. Buka program Orwell Dev-C++ b. ... c. Isikan program pada...
Transcript of BAB VI BAHASA C2 - · PDF filea. Buka program Orwell Dev-C++ b. ... c. Isikan program pada...
117
BAB VI
BAHASA C2
6.1 Pendahuluan
Bahasa C merupakan evolusi dari bahasa BCPL yang dibuat oleh Martin
Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken
Thompson yang kemudian mengembangkan bahasa B pada tahun 1970.
Selanjutnya dikembangkan kembali menjadi bahasa C oleh Dennis Ritchie
sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang bernama
AT&T Bell Laboratories).
Beberapa alasan mengapa bahasa C banyak digunakan diantaranya
adalah bahasa C tersedia hampir di semua jenis komputer, hanya
menyediakan sedikit kata kunci, terdapat dukungan library yang banyak, dan
memiliki struktur yang baik sehingga mudah dipahami.
6.1.1 Fungsi
Fungsi adalah bagian dari program yang dimaksudkan untuk
mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian
program yang menggunakannya. Fungsi dibuat bertujuan untuk
membuat program menjadi lebih terstruktur sehingga mudah untuk
dipahami, dan untuk mengurangi penulisan kembali kode yang telah
dibuat.
1. Fungsi Tanpa Parameter
Merupakan data fungsi yang penulisan argumennya
menggunakan void atau kosong.
2. Fungsi Dengan Parameter
Fungsi dengan parameter memiliki argument yang bukan void.
Akan tetapi argumennya adalah suatu variable dengan berbagai
macam tipe data.
118
3. Fungsi Dengan Return Value
Pada contoh-contoh sebelumnya, fungsi yang dibuat tidak
memiliki nilai kembalian / return value (bisa dikatakan sebagai
output fungsi). Hal ini dikarenakan fungsi tersebut bertipe void.
Fungsi dapat memiliki tipe selain void seperti: int, float, char,
double, dan lain-lain tergantung tipe data yang akan
dikembalikan/return.
6.1.2 Array (Larik)
Array merupakan koleksi data dengan setiap elemen data
menggunakan nama yang sama dan masing-masing elemen data bertipe
sama. Setiap komponen/elemen array dapat diakses dan dibedakan
melalui indeks array. Deklarasi array didahului oleh jenis tipe data dari
array yang dikehendaki kemudian nama variabelnya. Sedangkan jumlah
elemen ditulis dalam tanda “[ ]”. Array dapat berupa satu dimensi
maupun banyak dimensi.
1. Array 1 Dimensi
Bentuk umumnya adalah sebagai berikut :
tipe_data nama_array [banyak elemen]
misal : int X[5]
Deklarasi di atas berarti array dengan nama variabel X,
memiliki tipe data berupa integer dan memiliki anggota sebanyak 5
buah. Perbedaan antara array dan variabel biasa adalah sebuah
array bisa menyimpan sejumlah nilai, sedangkan variabel biasa
hanya dihubungkan dengan sebuah nilai saja.
2. Array Multidimensi
Array multidimensi merupakan array yang memiliki dimensi
lebih dari satu. Array multidimensi (sering disebut matrix), dapat
direpresentasikan sebagai sebuah tabel yang memiliki baris dan
kolom. Bentuk array 2 dimensi adalah sebagai berikut:
tipe_data nama_array [banyak elemen1][ banyak elemen2]
misal : int X[5][3]
119
Pada contoh di atas, array 2 dimensi X dapat dikatakan
memiliki baris sebanyak 5 dan kolom sebanyak 3. Sehingga elemen
total array X adalah 5x3 = 15 elemen. Jadi ada 15 nilai yang dapat
diisikan ke array X.
3. Array String
Pada dasarnya tipe data string merupakan array dari tipe data
char. Sehingga untuk membuat array string, maka digunakan array
bertipe char 2 dimensi.
6.1.3 Struct
Struktur merupakan sekumpulan variable yang mungkin terdiri dari
beberapa tipe data berbeda dan dikelompokan dalam satu nama untuk
kemudian diakses oleh program. Kehadiran struktur akan sangat
membantu karena dalam struktur kita diizinkan untuk mengelompokan
data-data yang saling berhubungan tersebut ke dalam suatu identitas
yang terpisah.
6.1.4 Operasi File
Operasi file merupakan sumber atau tujuan dari data yang
dihubungkan dengan disk atau peripheral lainnya. Standart library
stdio.h mendukung text stream dan binary stream. Text stream adalah
urutan baris yang tiap barisnya terdiri dari nol atau lebih karakter yang
diakhiri oleh ‘\n”.
1. Menulis File
Dalam bahasa C terdpat fasilitas untuk menulis file. File
tersebut dapat berisi tulisan yang dapat diisi sesuka hati kita.
2. Membaca file
Dalam bahasa C terdapat fasilitas untuk membaca file yang
pernah kita buat sebelumnya. Dengan menu ini kita dapat
mengetahui isi dari file yang pernah disimpan sebelumnya.
120
3. Menghapus file
Dalam bahasa C, kita dapat menghapus file yang pernah kita
buat sebeumnya. Hal ini dapat dibuktikan dengan membuka lokasi
penyimpanan dan dapat dipastikan file tadi sudah tidak ada.
4. Mengedit file
Dalam bahasa C, kita dapat mengedit file yang pernah kita
simpan sebelumnya. Selain itu kita dapat menyimpan kembali
setelah kita edit.
6.2 Tujuan
1. Mengenal dan memahami fungsi (function) dan kegunaanya serta
aplikasinya dalam program sederhana.
2. Mengenal dan memahami fungsi array-larik dan kegunaanya serta aplikasi
dalam program sederhana.
3. Mengenal dan memahami struktur (struct) dan kegunaanya serta aplikasi
dalam program sederhana.
4. Mengenal dan memahami operasi file dan aplikasinya dalam program
sederhana.
121
6.3 Langkah Kerja
6.3.1 Fungsi
Fungsi adalah bagian dari program yang dimaksudkan untuk
mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian
program yang menggunakannya. Fungsi dibagi 2, yaitu dengan
parameter dan tanpa parameter.
1. Membuat Fungsi Tanpa Parameter
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int panjang,lebar,Luas; /*deklarasi variabel*/
Void cetakLuas(void){//deklarasi fungsi
panjang=10;/*pemberian nilai variabel panjang*/
lebar=5;/*pemberian nilai variabel lebar*/
Luas = panjang*lebar; //definisi Luas sebagai
panjang dikalikan lebar
printf("Luasnya adalah %d ",Luas);//output hasil
perhitungan
}
Int main(){//fungsi utama
cetakLuas();//pemanggilan fungsi}
d. Compile dan run dengan menekan F11.
Gambar 6.1 Output fungsi tanpa parameter
122
2. Membuat Fungsi dengan Parameter
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
#include <stdio.h> //#include sebagai preprosesor
dan stdio.h sebagai library
int cetakLuas(int panjang, int lebar){//deklarasi
fungsi
int Luas; /*deklarasi nama variabel*/
Luas = panjang*lebar; //definisi Luas sebagai
panjang dikalikan lebar
printf("Luasnya adalah %d cm",L); //output hasil
perhitungan}
int main(){ // Fungsi Utama
int p=10, l=5;//inisialisasi p dan l
cetakLuas(p,l); //pemanggilan fungsi
}
d. Compile dan run dengan menekan tombol F11.
Gambar 6.2 Output fungsi dengan parameter
3. Membuat Fungsi dengan Return Value
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tulisan program sebagai berikut
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int cetakLuas(int panjang, int lebar){//membuat
fungsi dan delarasi variabel
int Luas;//delarasi variabel luas
123
Luas = panjang*lebar;//perumusan luas
return Luas;//nilai kembali untuk variabel luas
}
int main(){//fungsi utama
int p=10, l=5, L;//deklarasi dan inisialisasi
variabel
L = cetakLuas(p,l);//pemanggilan fungsi
printf("Luasnya adalah %d",L); //perintah
menampilkan hasil
}
d. Compile dan run dengan menekan tombol F11.
Gambar 6.3 Output fungsi dengan return value
6.3.2 Array
Array merupakan koleksi data dengan setiap elemen data
menggunakan nama yang samadan masing-masing elemen data bertipe
sama. Setiap komponen/elemen array dapat diakses dan dibedakan
melalui indeks array. Deklarasi array didahului oleh jenis tipe data dari
array yang dikehendaki kemudian nama variabelnya. Sedangkan jumlah
elemen ditulis dalam tanda “[ ]”. Array dapat berupa satu dimensi
maupun banyak dimensi.
1. Membuat Array 1 Dimensi
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int main(){//fungsi utama
124
int nilai[4];//memberi nilai keempat elemen array
nilai
nilai[0]=2; //array nilai indeks ke 0 bernilai 2
nilai[1]=4; //array nilai indeks ke 1 bernilai 4
nilai[2]=3; //array nilai indeks ke 2 bernilai 3
nilai[3]=7; //array nilai indeks ke 3 bernilai 7
//mencetak masing2 elemen array
for(int i=0;i<4;i++){//perintah perulangan
printf("nilai ke %d adalah
%d\n",i,nilai[i]);//output hasil dari array
}
}
d. Compile dan run dengan menekan tombol F11.
Gambar 6.4 Output fungsi array 1 dimensi
2. Membuat Array Multidimensi
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Isikan program pada fungsi sebagai berikut
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int main(){//fungsi utama
int matrik[2][3];//memberi nilai keenam elemen
array nilai
matrik[0][0]=1;//elemen [0][0] bernilai 1
matrik[0][1]=3;//elemen [0][1] bernilai 3
matrik[0][2]=5;//elemen [0][2] bernilai 5
matrik[1][0]=4;//elemen [1][4] bernilai 4
matrik[1][1]=9;//elemen [1][1] bernilai 9
matrik[1][2]=8;//elemen [1][2] bernilai 8
125
//mencetak nilai elemen2 aray
for(int i=0;i<2;i++){//perintah perulangan
for(int j=0;j<3;j++){//perintah perulangan
printf("matrik[%d][%d]=%d\n",i,j,matrik[i][j]);//
output hasil array
}
}
}
d. Compile dan run dengan menekan tombol F11.
Gambar 6.5 Output fungsi array multidimensi
3. Membuat Array String
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Isikan program pada fungsi sebagai berikut
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int main(){//fungsi utama
int I,J;//mendelarasian variabel
char hari[7][7]={//deklarasi string dengan 2
dimensi
"minggu",
"senin",
"selasa",
"rabu",
"kamis",
"jumat",
"sabtu"
};
126
//perintah menampilkan hasil
for(I=0; I<7; I++) {//perulangan variabel
I
for(J=0; J<7; J++)//perulangan variabel J
printf("%c", hari[I][J]);//menampilkan output
printf("\n");//membuat baris baru
}
}
d. Compile dan run dengan menekan tombol F11.
Gambar 6.6 Output fungsi array string
6.3.3 Struct
Struktur merupakan sekumpulan variable yang mungkin terdiri dari
beberapa tipe data berbeda dan dikelompokan dalam satu nama untuk
kemudian diakses oleh program. Langkah-langkah untuk membuat
struct:
1. Buka program Orwell Dev-C++
2. Buat Project baru
3. Tuliskan program sebagai berikut
#include <stdio.h>//#include sebagai preprosesor dan
stdio.h sebagai library
int main(){//fungsi utama
struct identitas{//perintah struct
char nama[25];//deklarasi variable nama dengan
maksimal karakter 12
127
char NIM[14];//delarasi variable NIM dengan maksimal
karakter 14
float tinggi;//deklarasi variable tinggi dengan tipe
data float
};
struct identitas orang;//memanggil fungsi identitas
printf("Nama Anda? ");//menampilkan karakter
scanf("%s",orang.nama);//input variabel nama
printf("NIM? "); //menampilkan karakter
scanf("%s",&orang.NIM);//input variabel NIM
printf("Tinggi Anda? "); //menampilkan karakter
scanf("%f",&orang.tinggi);//input variabel tinggi
printf("Nama : %s\n",orang.nama);//menampilkan hasil
nama
printf("NIM : %s\n",orang.NIM);//menampilkan hasil
NIM
printf("Tinggi : %.1f",orang.tinggi);//menampilkan
hasil Tinggi
}
4. Compile dan run dengan menekan tombol F11.
Gambar 6.7 Output struct
128
6.3.4 Operasi File
Merupakan sumber atau tujuan dari data yang dihubungkan dengan
disk atau peripheral lainnya. Macam-macam operasi file:
1. Menulis File
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
#include <conio.h>//#include sebagai preprosesor
dan conio.h sebagai library
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int main(){//fungsi utama
FILE *fp;//perintah operasi file
int tekan,a;//deklarasi variabel
char nama_file[20];//deklarasi variabel dan jml
elemen
while(a=1){//perintah while selagi benar perintah
akan dilanjutkan
puts("nama file yang diinginkan : ");//menampilkan
karakter
gets(nama_file);//input variabel nama_file
if ((fp = fopen(nama_file,"w")) == NULL) {
//percabangan if, bila benar dilanjutkan
printf("tidak bisa membuat file
%s",nama_file);//jika salah, perintah ini akan
muncul
return 0;}//nilai kembali
printf("\nMasukkan sebarang input ke dalam file
%s\n",nama_file);//menampilkan karakter
129
printf("\ntekan ctrl+z untuk mengakhiri..\nInput :
\n");//menampilkan karakter
while ((tekan=getchar()) !=EOF)//perintah while,
selagi belium menekan ctrl+z. Program akan
berlanjut
putc(tekan,fp);//menuliskan karakter
fclose(fp);//menutup file
getch();//membaca input
return 0 ;//nilai kembali
break;//agar program jeda sejenak
}getch();}//menahan program
d. Compile dan run dengan menekan tombol F11.
Gambar 6.8 Output menulis file
2. Membaca File
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
#include <conio.h>//#include sebagai preprosesor
dan conio.h sebagai library
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int main(){//fungsi utama
130
FILE *fp;//perintah operasi file
char c;//delarasi variabel c
char baca[50];//deklarasi variabel dan jumlah
elemen
puts("Nama file yang ingin dibaca
:");//menampilkan karakter
gets(baca);//input variabel baca
if((fp=fopen(baca,"r")) == NULL){//pengkondisian
if, bila kondisi benar maka akan lanjut perintah
printf("tidak bisa buka file %s", baca);}//bila
kondisi salah akan tampil karakter tersebut
while((c=getc(fp)) != EOF)//selagi kita tidak
menekan ctrl+z maka penulisan akan tetap berlanjut
putch(c);//input ke variabel c
fclose(fp);//menutup file
return 0;//nilai kembali
}
d. Compile dan run menggunakan tombol F11.
Gambar 6.9 Output membaca file
3. Mengedit dan Menyimpan File
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
131
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
#include <conio.h>//#include sebagai preprosesor
dan conio.h sebagai library
int main(){//fungsi utama
FILE *fp;//perintah operasi file
char c;//deklarasi variabel c
char baca[50];//deklarasi variabel dan jumlah
elemen
puts("Nama file yang ingin diedit
:");//menampilkan Karakter
gets(baca);//fungsi input variabel baca
if((fp=fopen(baca,"w+")) == NULL){//percabangan
if, jika kondisi benar akan dilanjut perintah
selanjutnya
printf("tidak bisa buka file %s", baca);}//jika
kondisi salah akan tampil karakter tersebut
printf("\nMasukkan editan ke dalam file
%s\n",baca);//menampilkan karakter
printf("\ntekan ctrl+z untuk menyimpan..\nEditan :
\n");//menampilkan karater
while ((c=getchar()) !=EOF)//selagi kita belum
menekan ctrl+z, kita dianggap masih mengedit
program
putc(c,fp);//input variabel c dan fp
fclose(fp);//perintah menutup file
getch();//agar program jeda sejenak
return 0 ;//nilai kembali
}
132
d. Compile dan run menggunakan tombol F11.
Gambar 6.10 Output mengedit dan menyimpan file
4. Menghapus File
a. Buka program Orwell Dev-C++
b. Buat Project baru
c. Tuliskan program sebagai berikut
#include <conio.h>//#include sebagai preprosesor
dan conio.h sebagai library
#include <stdio.h>//#include sebagai preprosesor
dan stdio.h sebagai library
int main(){//fungsi utama
FILE *fp;//perintah operasi file
int tekan;//deklarasi variable tekan
char nama[20];//deklarasi variabel dan jumlah
elemen
puts("nama file yang ingin dihapus :
");//menampilkan karater
gets(nama);//input variabel nama
remove(nama);//perintah hapus file
printf("\ntekan ctrl+z untuk mengakhiri
penghapusan\n");//menampilkan karakter
while ((tekan=getchar()) !=EOF)//perintah akan
diteruskan selagi kita belum menekan ctrl+z
133
putc(tekan,fp);//menginput ke variabel tekan dan
fp
getch();//agar program jeda sejenak
return 0 ;}//nilai kembali
d. Compile dan run dengan menekan tombol F11.
Gambar 6.11 Output menghapus file
6.4 Analisa dan Pembahasan
6.4.1 Fungsi
1. Fungsi tanpa Parameter
a. Algoritma
1. Mulai program.
2. Deklarasi fungsi cetakLuas.
3. Deklarasi variabel p, l, Luas.
4. Inisialisasi nilai variabel p=10, l=5.
5. Pemanggilan fungsi cetakLuas oleh fungsi utama.
6. Output hasil perhitungan.
7. Selesai.
134
b. Flowchart
Mulai
Deklarasi
variabel
panjang,
lebar luas
Deklarasi
fungsi
cetakLuas
Inisialisasi
panjang = 5
lebar = 10
luas = panjang * lebar
Output luas
Selesai
Panggil cetakLuas
Gambar 6.12 Flowchart fungsi tanpa parameter
c. Gambar Uji
Gambar 6.13 Output fungsi tanpa parameter
Output luas
135
d. Analisa
Sebelum memulai program, kita menginclude library yang
sesuai. Dilanjutkan dengan deklarasi fungsi cetakLuas, deklarasi
variabel p, l, Luas, serta deklarasi rumus Luas=p*l. Kemudian
pemberian nilai pada tiap-tiap variabel yaitu p=10,l=5. Pada
fungsi utama, fungsi cetakLuas akan dipanggil untuk diproses.
Perbedaan dengan fungsi parameter ialah dalam fungsi tanpa
parameter, argumen diisi void.
Hasil yang muncul sesuai dengan rumus dan nilai yang
diberikan, yaitu luas untuk bidang yang memiliki panjang 10
dan lebar 5 maka akan memiliki luas 50. Hasil yang tampak
pada layar konsol sesuai dengan program yang ada pada fungsi.
Program pada gambar diatas langsung berahir karena tidak
terdapat fungsi getch(); yang berfungsi agar program jeda
sejenak. Untuk menambah fungsi getch(); jangan lupa untuk
include library conio.h terlebih dahulu.
2. Fungsi dengan Parameter
Fungsi dengan parameter ialah fungsi dimana argumennya diisi
dengan delarasi variabel.
a. Algoritma
1. Mulai program.
2. Deklarasi fungsi cetakLuas.
3. Deklarasi variabel p, l, Luas.
4. Deklarasi rumus Luas.
5. Pada fungsi utama, inisialisasi p=10, l=5.
6. Panggil fungsi cetakLuas di fungsi utama.
7. Output hasil perhitungan.
8. Selesai.
136
b. Flowchart
Mulai
Deklarasi fungsi
cetakLuas
Inisialisasi panjang = 5 lebar = 10
luas = panjang * lebar
Output luas
Selesai
Panggil cetakLuas
Gambar 6.14 Flowchart fungsi dengan parameter
c. Gambar Uji
Gambar 6.15 Output fungsi dengan parameter
d. Analisa
Sebelum memulai program, kita menginclude library yang
sesuai. Dilanjutkan dengan deklarasi fungsi cetakLuas, deklarasi
variabel p dan l dalam argumen fungsi. Deklarasi Luas, serta
Output luas
137
deklarasi rumus Luas=p*l. Kemudian pemberian nilai pada tiap-
tiap variabel yaitu p=10, l=5 pada fungsi utama. Lalu pada
fungsi utama, fungsi cetakLuas akan dipanggil untuk diproses.
Perbedaan dengan tanpa parameter ialah dalam fungsi
parameter, argumen diisi deklarasi variabel.
Hasil yang muncul sesuai dengan rumus dan nilai yang
diberikan. Meskipun penulisan perintah perhitungan tidak di
program utama, namun program tetap bisa berjalan dengan
benar berkat fungsi. Program pada gambar diatas langsung
berahir karena tidak terdapat fungsi getch(); yang berfungsi
agar program jeda sejenak. Untuk menambah fungsi getch();
jangan lupa untuk include library conio.h terlebih dahulu.
3. Fungsi dengan Return Value
Pada contoh-contoh sebelumnya, fungsi yang dibuat tidak
memiliki nilai kembalian / return value (bisa dikatakan sebagai
output fungsi). Hal ini dikarenakan fungsi tersebut bertipe void.
Fungsi dapat memiliki tipe selain void seperti: int, float, char,
double, dan lain-lain tergantung tipe data yang akan
dikembalikan/return.
a. Algoritma
1. Mulai program.
2. Deklarasi fungsi cetakLuas.
3. Deklarasi variabel p, l, Luas.
4. Deklarasi rumus luas.
5. Return variabel Luas.
6. Pada fungsi utama, inisialisasi p=10, l=5.
7. Panggil fungsi cetakLuas pada fungsi utama.
8. Output hasil perhitungan.
9. Selesai
138
b. Flowchart
Mulai
Deklarasi fungsi
cetakLuas
Inisialisasi panjang = 5 lebar = 10
Luas = panjang * lebar
Output luas
Selesai
Panggil cetakLuas
Return Luas
Gambar 6.16 Flowchart fungsi dengan return value
c. Gambar Uji
Gambar 6.17 Output fungsi dengan return value
Output luas
139
d. Analisa
Sebelum memulai program, kita menginclude library yang
sesuai. Dilanjutkan dengan deklarasi fungsi cetakLuas, deklarasi
variabel p, l, Luas, serta deklarasi rumus Luas=p*l. Pada fungsi
kali ini kita tambahkan nilai kembali pada variabel Luas.
Kemudian pemberian nilai pada tiap-tiap variabel yaitu
p=10,l=5 pada fungsi utama. Lalu pada fungsi utama, fungsi
cetakLuas akan dipanggil untuk diproses.
Hasil yang muncul sesuai dengan rumus dan nilai yang
diberikan. Perbedaan program diatas dengan yang sebelum-
sebelumnya adalah terdapatnya return value untuk fungsi yang
dipanggil. Fungsi dari return yaitu untuk mengembalikan nilai
pada variabelnya. Program pada gambar diatas langsung berahir
karena tidak terdapat fungsi getch(); yang berfungsi agar
program jeda sejenak. Untuk menambah fungsi getch(); jangan
lupa untuk include library conio.h terlebih dahulu.
6.4.2 Array
Array merupakan koleksi data dengan setiap elemen data
menggunakan nama yang sama dan masing-masing elemen data bertipe
sama. Setiap komponen/elemen array dapat diakses dan dibedakan
melalui indeks array. Deklarasi array didahului oleh jenis tipe data dari
array yang dikehendaki kemudian nama variabelnya. Sedangkan jumlah
elemen ditulis dalam tanda “[ ]”. Array dapat berupa satu dimensi
maupun banyak dimensi.
1. Array 1 Dimensi
a. Algoritma
1. Mulai
2. Deklarasi Array nilai
3. Deklarasi dan inisialisasi i=0
140
4. If i<4 ke langkah 5, else ke langkah 8
5. Output nilai ke i = niali[i]
6. I++
7. Kembali ke langkah 4
8. End
b. Flowchart
Gambar 6.18 Flowchart Array 1 Dimensi
c. Gambar Uji
Gambar 6.19 Output Array 1 Dimensi
141
d. Analisa
Sebelum memulai program, kita include library yang sesuai.
Deklarasi array nilai dan jumlah elemennya sejumlah 4.
Kemudian pemberian nilai pada masing-masing
elemen.deklarasi behwa i=0, maka selagi i<4 maka proses
perulangan untuk menampilkan hasil akan berlanjut.
Hasil diatas sesuai dengan pemberian nilai yang telah
diberikan. Perintah for berguna untuk perulangan seperti diatas.
Karakter yang tampil pada layar konsol sesuai dengan perintah
printf(“nilai ke %d adalah %d”, i,nilai[i]); dimana %d disitu
menandakan bilangan bulat. data yang diambil berasal dari
variabel i dan nilai[i]. Program langsung berakhir karena tidak
diberi perintah getch(); untuk menjeda progam sejenak.
2. Array Multidimensi
Array multidimensi merupakan array yang memiliki dimensi
lebih dari satu, misalkan array 2 dimensi. Array 2 dimensi (sering
disebut matrix), dapat direpresentasikan sebagai sebuah tabel yang
memiliki baris dan kolom.
a. Algoritma
1. Mulai
2. Deklarasi Array matrik.
3. Deklarasi dan inisialisasi i=0.
4. If i<2 ke langkah 5, else ke langkah 12
5. Deklarasi dan inisialisasi j=0
6. If j<3 ke langkah 7, else ke langkah 10
7. Output nilai ke i = niali[i]
8. j++
9. ke langah 6
10. i++
11. ke langkah 4
142
12. End
b. Flowchart
Gambar 6.20 Flowchart Array Multidimensi
143
c. Gambar Uji
Gambar 6.21 Output Array Multidimensi
d. Analisa
Sebelum memulai program, kita include library yang sesuai.
Deklarasi array nilai dengan dimensi sebanyak 2 dan jumlah
elemennya sejumlah 6. Kemudian pemberian nilai pada masing-
masing elemen. inisialisasi bahwa i=0, maka selagi i<2 maka
proses perulangan untuk menampilkan hasil akan berlanjut. Lalu
masuk inisialisasi j=0, maka selagi j<3 proses perulangan akan
dilanjutkan.
Hasil diatas sesuai dengan pemberian nilai yang telah
diberikan. Perbedaan pada perintah array sebelumnya ialah pada
array multidimensi kita dapat membuat lebih dari 1 dimensi.
Misalnya saja pada contoh diatas kita menggunaan 2 dimensi.
Perhitungan jumlah elemen dimulai dari elemen ke 0. Perintah
for berguna untuk perulangan seperti diatas. Program langsung
berakhir karena tidak diberi perintah getch(); untuk menjeda
progam sejenak.
144
3. Array String
Pada dasarnya tipe data string merupakan array dari tipe data
char. Sehingga untuk membuat array string, maka digunakan array
bertipe char 2 dimensi.
a. Algoritma
1. Mulai program.
2. Deklarasi array hari dengan jumlah dimensi 2, jumlah
elemen 49.
3. Inisialisasi nilai tiap elemen.
4. Inisialisasi i=0, maka selagi i<7 proses perulangan untuk
menampilkan hasil berlanjut dengan pola i++.
5. Inisialisasi j=0, maka selagi i<7 proses perulangan untuk
menampilkan hasil berlanjut dengan pola j++.
6. Output dari perintah array.
7. Selesai
145
b. Flowchart
START
i<7
OutputHari
Y
j++
N
END
j<7
Y
i++N
J=0
i=0
Deklarasi hari
Gambar 6.22 Flowchart Array String
146
c. Gambar Uji
Gambar 6.23 Output Array String
d. Analisa
Sebelum memulai program, kita include library yang sesuai.
Deklarasi array nilai dengan dimensi sebanyak 2 dan jumlah
elemennya sejumlah 49. Kemudian pemberian nilai pada
masing-masing elemen. inisialisasi bahwa i=0, maka selagi i<7
maka proses perulangan untuk menampilkan hasil akan
berlanjut. Lalu masuk inisialisasi j=0, maka selagi j<7 proses
perulangan akan dilanjutkan.
Hasil diatas sesuai dengan pemberian karater yang telah
diberikan. Pada program diatas kita gunakan array string karena
array tersebut memiliki kelebihan dapat membuat berbagai tipe
data dengan lebih dari satu dimensi. Perintah for berguna untuk
perulangan seperti diatas. Program langsung berakhir karena
tidak diberi perintah getch(); untuk menjeda progam sejenak.
6.4.3 Struct
Struktur merupakan sekumpulan variable yang mungkin terdiri dari
beberapa tipe data berbeda dan dikelompokan dalam satu nama untuk
kemudian diakses oleh program. Tipe data yang dimaksud adalah tipe
147
data dasar termasuk tipe data bentukan seperti array, pointer, dan juga
struktur lain yang telah didefinisikan sebelumnya.
a. Algoritma
1. Mulai
2. Deklarasi Struct identitas
3. Deklarasi orang dalam identitas
4. Output “Nama Anda?”
5. Input orang.nama
6. Output “NIM Anda?”
7. Input orang.nim
8. Output “Tinggi Anda?”
9. Input orang.tinggi
10. Output nama, nim, tinggi
11. END
148
b. Flowchart
Mulai
Deklarasi
struct identitas
berisi nama,
nim, tinggi
Deklarasi
orang dalam
struct
identitas
Output
Nama:
Output
NIM:
Output
Tinggi:
Input
nama
Input nim
Input
tinggi
Output
nama
Output
tinggi
Output
nim
Selesai
Gambar 6.24 Flowchart Struct
149
c. Gambar Uji
Gambar 6.25 Output Struct
d. Analisa
Sebelum memulai program, kita include library yang sesuai.
Deklarasi variabel string diantaranya nama, NIM, tinggi. Kemudian
input nama, NIM, dan tinggi. Sebagai contoh kita input nama
Miftah_Adiguna, NIM 21060115120004, dan tinggi 175. Hasil
keluaran dari proses akan keluar. Disini kita gunakan fungsi string
karena fungsi tersebut dapat mengolah data lebih dari 1 tipe data
dan lebih dari 1 variabel. Pada hasil run di atas baris nama , NIM,
dan tinggi program dapat menampilkan hasil sesuai dengan input.
Program langsung berakhir karena tidak diberi perintah getch();
untuk menjeda progam sejenak.
6.4.4 Operasi File
1. Menulis File
Dalam bahasa C, kita dapat membuat program yang bisa
digunakan untuk menulis file.
a. Algoritma
1. Mulai
2. Mengaktifkan fungsi operasi file
3. Deklarasi a, tekan, nama_file
150
4. Mencetak nama file yang diinginkan
5. Input nama file yang diinginkan ke variabel nama_file
6. If gagal ke langkah 7, else ke langkah 9
7. Mencetak tidak bisa membuat file
8. Ke langkah 15
9. Mencetak masukan sembarang input
10. Mencetak tekan Ctrl + Z untuk mengakhiri
11. Input isi file
12. If Ctrl + Z ditekan ke langkah 13 else ke langkah 11
13. Menulis karakter kedalam file
14. Menutup file
15. END
151
b. Flowchart
Mulai
Mengaktifkan fungsi operasi file
Deklarasi a, tekan, nama_file
Output nama file yang diinginkan:
Input
nama_file
fopen(nama_file,"w")
== NULL
Output
Masukkan
sebaran input
ke dalam file:
Output Tekan
ctrl+z untuk
mengakhiri..
Input isi
file
ctrl+z ditekan
Menuliskan isi file ke
dalam file
Selesai
Gambar 6.26 Flowchart menulis file
152
c. Gambar Uji
Gambar 6.27 Output menulis file
d. Analisa
Dalam penulisan source code diatas pada bagian if ((fp =
fopen(nama_file,"w")) == NULL) { huruf w pada perintah
disamping berguna untuk menulis file. Apabila nama file yang
ingin dibuat belum ada maka akan dibuat file dengan nama
tersebut. Apabila sudah ada maka file akan dihapus dan diganti
dengan file kosong.
Selanjutnya kita akan menginput karakter kedalam file
tersebut. Apapun yang kita ketikkan akan tersimpan dalam file.
Jika kita sudah mengetik ctrl+z baru penulisan karakter berakhir
diikuti program yang berakhir.
2. Membaca File
Pada bahasa C, file yang telah dibuat juga dapat dibaca isinya
melalui program bahasa C,
a. Algoritma
1. Mulai
2. Mengaktifkan fungsi operasi file
3. Deklarasi c, baca
153
4. Mencetak nama file yang ingin dibaca
5. Input nama file yang ingin dibaca ke variabel baca
6. If gagal ke langkah 7, else ke langkah 9
7. Mencetak tidak bisa membuka file
8. Ke langkah 12
9. Mencetak tekan Ctrl + Z untuk mengakhiri
10. Membaca file
11. If Ctrl + Z ditekan ke langkah 12, else ke langkah 10
12. END
b. Flowchart
Mulai
Mengaktifkan
fungsi operasi file
Deklarasi c,
baca
Output nama
file yang ingin
dibaca:
Input
baca
fp=fopen(baca),
r == NULL
Selesai
Output tidak bisa
buka file
ya
tidak
Output isi
file
Ctrl+z ditekan
tidak
ya
Gambar 6.28 Flowchart membaca File
154
c. Gambar Uji
Gambar 6.29 Output membaca File
d. Analisa
Dalam penulisan source code progam diatas, pada bagian
if((fp=fopen(baca,"r")) == NULL){ huruf r pada perintah
disamping berfungsi untuk membaca isi file. Apabila nama file
yang ingin kita buka belum ada maka akan muncul output gagal
buka. Jika nama file yang dimasukkan benar maka akan
membuka isi file.
3. Mengedit dan Menyimpan File
Dalam bahasa C, file yang telah kita buat dapat diedit dan
disimpan kembali.
a. Algoritma
1. Mulai
2. Mengaktifkan fungsi operasi file
3. Deklarasi c, baca
4. Mencetak nama file yang ingin diedit
5. Input nama file yang ingin diedit ke variabel baca
6. If gagal ke langkah 7, else ke langkah 9
7. Mencetak tidak bisa membuka file
8. Ke langkah 15
9. Mencetak masukan editan ke dalam file
155
10. Mencetak tekan Ctrl + Z untuk mengakhiri
11. Input isi file
12. If Ctrl + Z ditekan ke langkah 13, else ke langkah 11
13. Menulis karakter kedalam file
14. Menutup file
15. END
156
b. Flowchart
Mulai
Mengaktifkan fungsi operasi file
Deklarasi c, baca
Output nama file yang ingin diedit:
Input baca
fopen(baca,"w+ ) ==
NULL
Output
Masukkan
editan ke
dalam file:
Output Tekan
ctrl+z untuk
mengakhiri..
Input isi
file
ctrl+z ditekan
Menuliskan isi file ke
dalam file
Selesai
ya
tidak
Gambar 6.30 Flowchart mengedit dan menyimpan file
157
c. Gambar Uji
Gambar 6.31 Output mengedit dan menyimpan file
d. Analisa
Dalam penulisan source code untuk program diatas, pada
bagian if((fp=fopen(baca,"w+")) == NULL){ huruf w+ pada
bagian tersebut berfungsi untuk proses penulisan dan
pembacaan. Apabil file belum ada maka file akan dibuat.
Apabila file telah ada maka file tersebut akan ditimpa dengan
file baru.
Selanjutnya kita akan menginput karakter kedalam file
tersebut. Apapun yang kita ketikkan akan tersimpan dalam file.
Jika kita sudah mengetik ctrl+z baru penulisan karakter berakhir
diikuti program yang berakhir.
4. Menghapus File
Dalam bahasa C, kita dapat menghapus file yang telah kita buat.
a. Algoritma
1. Mulai
2. Mengaktifkan fungsi operasi file
3. Deklarasi tekan, nama
4. Mencetak nama file yang ingin dihapus
5. Input nama file yang ingin dihapus ke variabel nama
158
6. Menghapus file dalam variabel nama
7. Mencetak tekan Ctrl + Z untuk mengakhiri
8. If Ctrl + Z ditekan ke langkah 9, else ke langkah 8
9. END
b. Flowchart
Mulai
Mengaktifkan fungsi operas i
file
Output nama file
yang dihapus
Deklarasi tekan, nama
End
Output tekan ctrl +
z untuk mengakhiri
Ctrl + Z ditekan
Y
N
Menghapus file
Input nama
Gambar 6.32 Flowchart menghapus file
159
c. Gambar Uji
Gambar 6.33 Output menghapus file
d. Analisa
Dalam program diatas, kita diperintah untuk memasukkan
nama file yang ingin dihapus. Apabila nama file yang ingin
dihapus memang sudah ada filenya, maka file tersebut akan
dieksekusi untuk dihapus. Jika tidak ada, maka nama file yang
kita ketikkan tidak akan ada pengaruh apa-apa. Selanjutnya akan
muncul perintah untuk mengakhiri penghapusan, sebelum kita
menekan ctrl+z maka karakter yang kita tulis dianggap sebagai
perintah hapus file. Jika kita tekan ctrl+z maka proses
penghapusan berakhir diikuti dengan berakhirnya program.
160
6.5 Kesimpulan
1. Bahasa C memilki berbagai macam library yang harus dimasukan dalam
pengcodingan.
2. Program dari bahasa C dibentuk dari kumpulan fungsi, mulai dari fungsi
utama dengan nama main(), fungsi-fungsi pustaka standar, dan fungsi-
fungsi yang dibuat sendiri oleh pemrogram.
3. Jika ingin membuat source code maka kita harus memperhatikan deklarasi
pendiskripsian suatu variable.
4. Fungsi tanpa parameter merupakan data input yang penulisan argumennya
menggunakan void
5. Fungsi dengan parameter merupakan data input yang penulisan
argumennya menggunakan suatu variabel dengan berbagai macam tipe
6. Fungsi return value merupakan fungsi yang memiliki nilai
kembalian/return value, fungsi dengan return value dapat bertipe int, float,
char, double, dan lain-lain
7. Perbedaan fungsi dengan dan tanpa parameter terletak pada pendeklarasian
variable inputnya.
8. Array merupakan koleksi data dengan setiap elemen data menggunakan
nama yang sama dan masing-masing elemen data bertipe sama. Array
terdiri dari array satu dimensi, array multidimensi dan array string.
9. Array 1 dimensi adalah koleksi data dengan banyak dimensi 1 sehingga
banyak elemen sama dengan banyak yang tertulis didalam dimensi[..].
10. Array multidimensi merupakan array yang memiliki dimensi lebih dari
satu. Array multidimensi (sering disebut matrix), dapat direpresentasikan
sebagai sebuah tabel yang memiliki baris dan kolom.
11. Array string adalah array dari tipe data char. Sehingga untuk membuat
array string, maka digunakan array bertipe char 2 dimensi.
161
12. Struktur merupakan sekumpulan variable yang mungkin terdiri dari
beberapa tipe data berbeda dan dikelompokan dalam satu nama untuk
kemudian diakses oleh program.
13. Operasi file adalah sumber atau tujuan dari data yang dihubungkan
dengan disk dan biasanya digunakan untuk mengolah file ataupun folder.
Pada operasi file kerja yang dapat dilakukan adalah menulis file,
membaca file ,menghapus file, dan mengedit file serta menghapus file.
.