Anda di halaman 1dari 47

BKPM Pemrograman Terstruktur

Praktikum ke :1
Judul Praktikum : Pengenalan Bahasa C
Alokasi Waktu : 2 X 50 menit

1. Tujuan Instruksional Khusus


o Mahasiswa diharapkan dapat memahami sintaks Bahasa C
o Mahasiswa diharap mampu membuat program sederhana menggunakan
Bahasa C
2. Teori
Bahasa C merupakan perkembangan dari bahasa BCPL yang
dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini
memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa
yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B
adalah bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell Telephone
Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama
kali digunakan di computer Digital Equipment Corporation PDP-11 yang
menggunakan system operasi UNIX. Hingga saat ini penggunaan bahasa C telah
merata di seluruh dunia. Hampir semua perguruan tinggi di dunia menjadikan
bahasa C sebagai salah satu mata kuliah wajib. Selain itu, banyak bahasa
pemrograman populer seperti PHP dan Java menggunakan sintaks dasar yang
mirip bahasa C. Oleh karena itu, kita juga sangat perlu mempelajarinya.
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada
dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi
terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan
untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh
fungsi) diawali dengan tanda kurung kurawal buka ({ ) dan diakhiri dengan tanda
kurung kurawal tutup ( }). Diantara kurung kurawal itu dapat ditulis statemen-
statemen program C. Berikut ini adalah struktur program C

Jurusan Teknologi Informasi 1


BKPM Pemrograman Terstruktur

main()
{
Statement-statement; fungsi utama
}

Fungsi_fungsi_lain()
{ fungsi-fungsi lain
yang
Statement-statement; ditulis oleh pemrogram
}

3. Alat dan Bahan


o BKPM
o Komputer
o LCD
o Alat Tulis Kantor (ATK)

4. Pelaksanaan Praktikum
a. Jalankan editor CodeBlock pada komputer masing-masing, tuliskan
program berikut ini dan simpan dengan nama file hello.c

b. Jalankan editor CodeBlock pada komputer masing-masing, tuliskan


program berikut ini dan simpan dengan nama file hello1.c

Jurusan Teknologi Informasi 2


BKPM Pemrograman Terstruktur

5. Tugas dan Latihan !


a. Apakah keluaran dari program dibawah ini :
#include <stdio.h>
main()
{
printf(„Belajar Pemrograman C !!!“)
}

b. Buatlah program untuk menampilkan kalimat “ Politeknik Negeri Jember”


c. Buatlah program untuk menerima input bilangan dari keyboard dan
menampilkannya kembali.

Jurusan Teknologi Informasi 3


BKPM Pemrograman Terstruktur

Praktikum ke :2&3
Judul Praktikum : Struktur Dasar Bahasa C
Alokasi Waktu : 4 X 50 menit

1. Tujuan Instruksional Khusus


a. Mahasiswa mampu menjelaskan tentang beberapa tipe dasar
b. Mahasiswa mampu menjelaskan tentang variabel dan konstanta
c. Mahasiswa mampu menerapkan beberapa jenis operator
d. Mahasiswa mampu menerapkan beberapa instruksi I/O

2.Teori

Tipe Data Dasar


Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau
variabel. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan
nilai yang dapat diubah-ubah selama eksekusi berlangsung. Data berdasarkan
jenisnya dapat dibagi menjadi lima kelompok yang dinamakan sebagai tipe data
dasar yaitu :
 Bilangan Bulat (integer)
 Bilangan real presisi-tunggal
 Bilangan real presisi-ganda
 Karakter
 Tak bertipe (void)

Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program
untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua buah
nilai, memberikan nilai kesuatu variabel, membandingkan kesamaan dua buah
nilai.

Menampilkan data ke layar monitor

Jurusan Teknologi Informasi 4


BKPM Pemrograman Terstruktur

 menggunakan fungsi printf(), puts(), dan putchar().


 Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric
dan karakter)
 Fungsi puts() digunakan untuk menampilkan data string dan secara
otomatis akan diakhiri
dengan perpindahan baris.
 Fungsi putchar() digunakan untuk menampilkan sebuah karakter.

Dalam bahasa C, terdapat penentu format yang dipakai untuk memberitahu


kompiler mengenai jenis data yang akan ditampilkan. Kode penentu format
tersebut antara lain :
♦ %c : menampilkan sebuah karakter
♦ %s : menampilkan sebuah string
♦ %i, %d : menampilkan sebuah bilangan bulat (integer)
♦ %f, %e : menampilkan sebuah bilangan pecahan (real)
♦ %o : menampilkan sebuah bilangan octal
♦ %x : menampilkan sebuah bilangan heksadesimal
♦ %u : menampilkan sebuah bilangan tak bertanda

Memasukkan/Menerima Data
scanf()
 Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik,
karakter dan string secara terformat.
gets()
 Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak
dapat digunakan untuk memasukkan data numerik.
getchar()
 Fungsi getchar() digunakan untuk membaca data yang bertipe karakter
 Harus diakhiri dengan penekanan tombol enter
 Karakter yang dimasukkan terlihat pada layar

Jurusan Teknologi Informasi 5


BKPM Pemrograman Terstruktur

 Pergantian baris secara otomatis

getch() dan getche()


 Fungsi getch() dan getche() digunakan untuk membaca data karakter.
 Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol
enter.
 Tidak memberikan efek pergantian baris secara otomatis
 Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan
ditampilkan
pada layer sehingga sering digunakan untuk meminta inputan berupa password.
 Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada
layar.
3. Alat dan Bahan
o BKPM
o Komputer
o LCD
o Alat Tulis Kantor (ATK)
2. Pelaksanaan Praktikum
Ketik program berikut ini dan jalankan menggunakan editor CodeBlock
a. Program 1
#include <stdio.h>

main()
{
int x;
float y;
char z;
double w;
x = 10; //variable x diisi dengan 10
y = 9.45; // variable y diisi dengan 9.45
z = ‘C’; // variable z diisi dengan karakter “C”
w = 3.45E+20; // variable w diisi dengan 3.45E+20
printf(“Nilai dari x adalah : %i\n”, x); // Menampilkan isi variable x
printf(“Nilai dari y adalah : %f\n”, y); // Menampilkan isi variable y
printf(“Nilai dari z adalah : %c\n”, z); //Menampilkan isi variable z
printf(“Nilai dari w adalah : %lf\n”, w); // Menampilkan isi variable w
}

Jurusan Teknologi Informasi 6


BKPM Pemrograman Terstruktur

b. Program 2

/* Perbedaan operator peningkatan ++ yang diletakkan di depan dan dibelakang


operand */

#include <stdio.h>
#include <conio.h>
void main()
{
int x, nilai;
x = 5;
nilai = ++x; /* berarti x = x + 1; nilai = x; */
printf("nilai = %d, x = %d\n", nilai, x);
nilai = x++; /* berarti nilai = x; nilai = x + 1; */
printf("nilai = %d, x = %d\n", nilai, x);
getch();
}

c. Program 3

/* Program untuk menampilkan data berupa bilangan integer dan string */

#include <stdio.h>
#include <conio.h>
void main()
{
int umur;
char nama[20];
puts(“Masukkan nama Anda : ); gets(nama);
puts(“Masukkan umur Anda : “); scanf(“%d”, &umur);
printf(“Nama Anda : %s \n”, nama); //tipe data string
printf(“Umur Anda : %d \n”, umur); //tipe data integer
getch();
}

Jurusan Teknologi Informasi 7


BKPM Pemrograman Terstruktur

d. Program 4

/* Program memasukan inputan dengan beberapa tipe data */

#include <stdio.h>
#include <conio.h>
void main()
{
int jumlah;
char huruf[1], nim[10];
float nilai;
printf("Masukkan sebuah bilangan bulat : ");
scanf("%d", &jumlah ); // membaca sebuah bilangan bulat
printf("Masukkan sebuah karakter : ");
scanf("%s", &huruf ); //membaca sebuah karakter
printf("Masukkan nim Anda : ");
scanf("%s", &nim ); // membaca sebuah string
printf("Masukkan sebuah bilangan pecahan : ");
scanf("%f", &nilai ); //membaca sebuah bilangan float
printf("\nNilai variable yang Anda masukkan adalah :\n");
printf("jumlah = %d\n", jumlah );
printf("huruf = %s\n", huruf );
printf("nim = %s\n", nim );
printf("nilai = %f\n", nilai );
getch();
}

e. Program 5

/* Program inputan tipe data karakter/string */

#include <stdio.h>
#include <conio.h>
void main()
{
char nama[20];
printf(“Masukkan nama Anda : “);
gets(nama);
printf(“Hello, Nama Anda adalah %s”, nama);
getch();
}

Jurusan Teknologi Informasi 8


BKPM Pemrograman Terstruktur

f. Program 6

#include <stdio.h>
#include <conio.h>
void main()
{
char huruf1, huruf2;
printf(“Masukkan sebuah karakter : “);
huruf1 = getche(); // karakter yang dimasukkan akan terlihat di layar
printf(“\nKarakter yang Anda masukkan adalah %c\n”, huruf1);
printf(“\nMasukkan sebuah karakter lagi : “);
huruf2 = getch(); // karakter yang dimasukkan tidak terlihat di layar
printf(“\nKarakter yang Anda masukkan adalah : %c, huruf2);
getch();
}

3. Latihan !
Buatlah program dalam Bahasa C untuk :
a. Mencetak deret bilangan 1 3 5 7 9 11 13 15 17
b. Menghitung jumlah dan rata-rata 5 buah bilangan bulat positif

Jurusan Teknologi Informasi 9


BKPM Pemrograman Terstruktur

Praktikum ke :4&5
Judul Praktikum : Pengambilan Keputusan
/Penyeleksian Kondisi
Alokasi Waktu : 4 X 50 menit

1. Tujuan Instruksional Khusus


 Mahasiswa mampu menggunakan operator kondisi (operator relasi dan
logika)
 Mahasiswa mampu menjelaskan penggunaan pernyataan if
 Mahasiswa mampu menjelaskan penggunaan pernyataan if-else
 Mahasiswa mampu menjelaskan penggunaan pernyataan switch

2. Teori
Operator relasi biasa dipakai untuk membandingkan dua buah nilai. Hasil
pembandingan berupa keadaan benar atau salah. Keseluruhan operator relasi pada
C ditunjukkan pada tabel berikut :

Operator Makna
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama dengan
!= Tidak sama dengan

3.

Jurusan Teknologi Informasi 10


BKPM Pemrograman Terstruktur

Struktur Kondisi If
Bentuk umum struktur kondisi if adalah :
if (kondisi)
pernyataan;
salah
kondi
si
benar

pernyataan

Struktur Kondisi If…Else


Bentuk umumnya adalah sebagai berikut :
if(kondisi)
pernyataan-1
else
pernyataan-2 kondi salah
si

benar
Pernyataan-1 Pernyataan-2

Struktur Kondisi Switch..Case


Bentuk umum dari struktur kondisi ini adalah :
switch(kondisi)

Jurusan Teknologi Informasi 11


BKPM Pemrograman Terstruktur

{
case 1 : pernyataan-1;
break;
case 2 : pernyataan-2;
break;
.....
.....
case n : pernyataan-n;
break;
default : pernyataan-m
}

3. Alat dan Bahan


 BKPM
 Komputer
 LCD
 Alat Tulis Kantor (ATK)

4. Pelaksanaan Praktikum
Ketik program berikut ini dan jalankan (run) menggunakan editor CodeBlock
a. Contoh Program If

/* Program struktur kondisi if untuk memeriksa suatu kondisi */


#include <stdio.h>
#include <conio.h>
void main()
{ float nilai;
printf(“Masukan nilai yang didapat : “);
scanf(“%f”, &nilai);
if(nilai > 65)
printf(“\n ANDA LULUS !!!!\n”);
getch();
}

b. Contoh Program If-else


#include <stdio.h>
#include <conio.h>
void main()
{ float nilai;
printf(“Masukan nilai yang didapat : “);
scanf(“%f”, &nilai); /* Masukan akan disimpan dalam variable nilai */
if (nilai > 65)
printf(“\n LULUS !!!\n”);
else
printf(“\n TIDAK LULUS !!!\n”);
Jurusan Teknologi Informasi
getch(); 12
}
BKPM Pemrograman Terstruktur

a. Contoh Program Switch Case

/* Program menentukan nama hari berdasarkan inputan */


#include <stdio.h>
#include <conio.h>
void main()
{
int hari;
puts(“Menentukan nama hari\n”);
puts(“1 = Senin 2 = Selasa 3 = Rabu 4 = Kamis”);
puts(“5 = Jum’at 6 = Sabtu 7 = Minggu”);
printf(“\nMasukan kode hari( 1-7) : “);
scanf(“%d”, &hari);
switch(hari)
{ case 1 : puts(“Hari Senin”); /* kemungkinan pertama */
break;
case 2 : puts(“Hari Selasa”); /* kemungkinan kedua */
break;
case 3 : puts(“Hari Rabu”); /* kemungkinan ketiga */
break;
case 4 : puts(“Hari Kamis”); /* kemungkinan keempat */
break;
case 5 : puts(“Hari Jum’at”); /* kemungkinan kelima */
break;
case 6 : puts(“Hari Sabtu”); /* kemungkinan keenam */
break;
case 7 : puts(“Hari Minggu”); /* kemungkinan ketujuh */
break;
default : puts(“Kode hari yang Anda masukan SALAH”);
}
getch();

5.Tugas dan Latihan !


a. Buatlah program untuk membandingkan sebuah nilai yang diinputkan dari
keyboard dengan variabel integer sum bernilai 65. Jika lebih kecil, maka
tampilkan pesan :” Maaf, Anda harus mencoba lagi !!”

Jurusan Teknologi Informasi 13


BKPM Pemrograman Terstruktur

b. Buatlah program untuk mencetak bilangan terbesar dari 5 buah bilangan


yang dimasukkan oleh user, dengan cara membandingkan bilangan
sebelumnya dg bilangan berikutnya. Misalnya bilangan tersebut A, B, C,
D dan E, maka A dan B dibandingkan, jika A lebih besar dari B, maka A
dibandingkan dengan C, dan seterusnya sampai didapat nilai yang
terbesar.
c. Buatlah program untuk memeriksa isi variabel BIL. Bila variabel tersebut
berisi nilai 1 atau 3 atau 5 maka beri keterangan ”YA”. Selain dari nilai
tersebut beri keterangan ”TIDAK”. Proses berakhir jika isi variabel
BIL=0.
d. Buat Program untuk mengkonversikan nilai angka ke nilai huruf
Petunjuk: nilai_angka <= 40 = E
40<nilai_angka<55 = D
55<nilai_angka<60 = C
60<nilai_angka<80 = B
80<nilai_angka<100 = A
Input : nilai_angka = 62
Output : Nilai huruf adalah B
e. Buat program kalkulator sederhana untuk mendapatkan tampilan hasil
sebagai berikut:
Masukkan bilangan pertama : 5
Masukkan bilangan kedua :3
Menu Matematika
1. Penjumlahan
2. Pengurangan
3. Pembagian
4. Perkalian
Masukkan pilihan Anda : 4
Hasil Operasi perkalian 3 dan 5 = 15

Jurusan Teknologi Informasi 14


BKPM Pemrograman Terstruktur

Praktikum ke : 6, 7 & 8
Judul Praktikum : Pengulangan Proses
Alokasi Waktu : 6 X 50 menit

1. Tujuan Instruksional Khusus


 Mahasiswa mampu menjelaskan proses pengulangan menggunakan for
 Mahasiswa mampu menjelaskan proses pengulangan menggunakan while
 Mahasiswa mampu menjelaskan proses pengulangan menggunakan do-
while

2. Teori
Struktur Perulangan “For”
Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah
diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for
tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk
umum perulangan for adalah sebagai berikut :
for(inisialisasi; syarat; penambahan)
pernyataan;

Keterangan :
􀀛 Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
􀀛 syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.
􀀛 penambahan : pengatur perubahan nilai variabel kontrol.

Jurusan Teknologi Informasi 15


BKPM Pemrograman Terstruktur

Struktur Perulangan ”While”


Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan
ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses
perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan
berhenti bila kondisinya bernilai salah.

Struktur Perulangan „Do..While“


Pada dasarnya struktur perulangan do....while sama saja dengan struktur while,
hanya saja pada proses perulangan dengan while, seleksi berada di while yang
letaknya di atas sementara pada perulangan do....while, seleksi while berada di
bawah batas perulangan. Jadi dengan menggunakan struktur do…while sekurang-
kurangnya akan terjadi satu kali perulangan.

3. Alat dan Bahan


o BKPM
o Komputer
o LCD
o Alat Tulis Kantor (ATK)

4. Pelaksanaan Praktikum
Ketik program berikut ini dan jalankan (run) dengan editor CodeBlock
a. Program For

/* Program perulangan menggunakan for */


#include <stdio.h>
#include <conio.h>
void main()
{ int x;
for(x = 1; x<= 10; x++)
{ printf(“%d BAHASA C\n”, x); }
getch();
}

Jurusan Teknologi Informasi 16


BKPM Pemrograman Terstruktur

b. Program for

/* Mencari total dan rata-rata sejumlah bilangan menggunakan for */


#include <stdio.h>
#include <conio.h>
void main()
{
float r,i,x,t=0;int y;
for(y=1;y<=3;y++)
for(i=0;i<=2;i++)
{ printf("Entry bilangan %i : ",y);scanf("%f",&x);
t=t+x;
y=y+1;
}
printf("\n Total : %.2f",t);
r=t/i;
printf("\n Rata rata : %.2f",r);
getch();
}
c. Program While

/* Program Perulangan menggunakan while */


#include <stdio.h>
#include <conio.h>
void main()
{ int x;
x = 1; /* awal variabel */
while (x <= 10) /* Batas akhir perulangan */
{ printf(“%d BAHASA C\n”, x);
x ++; /* variabel x ditambah dengan 1 */
}
getch();
}

Jurusan Teknologi Informasi 17


BKPM Pemrograman Terstruktur

/* Program mencetak deret bilangan dengan menggunakan while */


#include <stdio.h>
#include <conio.h>
void main()
{
int i=1,x;
while(i<=3)
{ x=1;
while(x<=i)
{ printf("%3i",x);
x=x+1;
}
printf("\n");
i=i+1;
}
getch();
}
d. Program Do While

#include <stdio.h>
#include <conio.h>
void main()
{ int x;
x = 1;
do
{ printf(“%d BAHASA C\n”, x);
x ++;
}
while(x <= 10);
getch();
}

Jurusan Teknologi Informasi 18


BKPM Pemrograman Terstruktur

5. Tugas dan Latihan !

a. Buatlah program menggunakan for untuk menampilakan nilai 1 – 10 dalam


baris-baris yang terpisah
b. Buatlah program menggunakan for untuk mendapatkan tampilan sbb:
1
22
333
4444
55555
c. Gunakan for untuk menjumlahkan seluruh bilangan antara 10 sampai 100
dalam sebuah variable total
d. Gunakan while untuk menampilkan bilangan integer antara 1 sampai 10 dilayar
sbb : 12345678910
e. Gunakan do while untuk mencetak pesan “Learn Programming” sebanyak 5

Jurusan Teknologi Informasi 19


BKPM Pemrograman Terstruktur

Praktikum ke : 9 & 10
Judul Praktikum : Array
Alokasi Waktu : 4 X 50 menit

1. Tujuan Instruksional Khusus


a. Mahasiswa mampu menjelaskan tentang array berdimensi satu
b. Mahasiswa mampu menjelaskan tentang array berdimensi dua

2. Teori
Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam
urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari
elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat
dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi.
Array adalah :
– Sekumpulan data
– Semua tipe datanya HARUS sama
– Menggunakan nama variabel yang sama
– Dibedakan menurut indeksnya, by default dimulai dari 0 s/d (n-1) ,
dengan n adalah jumlah elemen dalam array

Array bisa berupa array berdimensi satu, dua, tiga atau lebih.
Array berdimensi satu (one-dimensional array) mewakili bentuk suatu vektor.

Jurusan Teknologi Informasi 20


BKPM Pemrograman Terstruktur

Array berdimensi dua (two-dimensional array) mewakili bentuk dari suatu


matriks atau tabel
Array berdimensi tiga (three-dimensional array) mewakili bentuk suatu ruang.

Mendeklarasikan Array berdimensi satu


Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

dengan :
– tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
– nama_var : nama variabel array
– ukuran : untuk menyatakan jumlah maksimal elemen array.
Contoh pendeklarasian array :
float nilai[5];
menyatakan bahwa variabel nilai bertipe array of float dan memiliki 5 elemen
bertipe float.
Mengakses Elemen Array
Pada C, data array akan disimpan dalam memori yang berurutan.
Elemen pertama mempunyai indeks bernilai 0.
Jika nilai dideklarasikan sebagai array of float dengan 5 elemen, maka elemen
pertama
memiliki indeks sama dengan 0, dan elemen terakhir memiliki indeks 4.

Jurusan Teknologi Informasi 21


BKPM Pemrograman Terstruktur

Inisialisasi Array
Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan.
Untuk mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara
kurung kurawal ({}) yang dipisahkan dengan koma.

Variasi dalam Mendeklarasikan Array


Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini
yang berdimensi satu), di antaranya adalah sebagai berikut :
– int numbers[10];
– int numbers[10] = {34, 27, 16 };
– int numbers[] = {2, -3, 45, 79, -14, 5, 0, 28, -1, 0 };
– char text[] = "Welcome to New Zealand.";
– float radix[12] = {134.362f, 1913.248f};
– double radians[1000];
Pendeklarasian nama variabel array diperbolehkan tidak disertai ukuran yang
mengindikasikan besarnya array asalkan langsung diinisialisasi.

Jurusan Teknologi Informasi 22


BKPM Pemrograman Terstruktur

Dalam kondisi seperti ini, C akan menginisialisasi ukuran array tersebut


sejumlah elemen yang diberikan di dalam kurung kurawal pada saat proses
inisialisasi.

Array berdimensi dua

Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah
kolom. Bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
Tipe_array nama_array[baris][kolom];
Contoh :
int X[3][4];

Pendeklarasian yang diperlukan untuk menyimpan nilai mahasiswa pada tabel


tsb adalah:
int nilai[5][2];
5 menyatakan banyaknya mahasiswa dan 2 menyatakan banyaknya matakuliah

Mengakses Array dimensi Dua


Array nilai dapat diakses dalam bentuk
nilai[indeks pertama][indeks kedua]

Jurusan Teknologi Informasi 23


BKPM Pemrograman Terstruktur

Contoh :
– nilai[0][1] = 87;
merupakan instruksi untuk memberikan nilai 87 ke array nilai untuk
indeks pertama = 0 dan indeks kedua bernilai 1.
– printf(“%d”,nilai[2][0]);
merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama =
2 dan indeks kedua = 0.

Array Berdimensi banyak


C memungkinkan untuk membuat array yang dimensinya lebih dari dua.
Bentuk umum pendeklarasian array berdimensi banyak :
tipe nama_var[ukuran1][ukuran2}…[ukuranN];
sebagai contoh :
int data_ruang[2][8][8];
merupakan pendeklarasian array data_ruang sebagai array berdimensi tiga.

Inisialisasi Array Tak berukuran


Inisialisasi array yang tak berukuran dapat dilakukan untuk array
berdimensi satu atau lebih. Untuk array berdimensi lebih dari satu, dimensi
terkirilah yang boleh tak berukuran.
Dengan cara ini tabel dalam array dapat diperluas atau dikurangi tanpa
mengubah ukuran array.

Jurusan Teknologi Informasi 24


BKPM Pemrograman Terstruktur

Sebagai contoh :

merupakan pendeklarasian array berdimensi satu yang tak berukuran. Secara


otomatis
skala[ 0 ] bernilai 1
skala[ 1 ] bernilai 2
skala[ 2 ] bernilai 4
skala[ 3 ] bernilai 6
skala[ 4 ] bernilai 8

3. Alat dan Bahan


o BKPM
o Komputer
o LCD
o Alat Tulis Kantor (ATK)

4. Pelaksanaan Praktikum
Ketik program berikut dan jalankan (run) menggunakan CodeBlock

a. Program 1

/* Program untuk menginput nilai mahasiswa ke dalam array satu dimensi */


#include <stdio.h>
#include <conio.h>
void main();
{ int index, nilai[10];
/* input nilai mahasiswa */
printf(“Input nilai 10 mahasiswa : “);
for(index=0; index < 10; index++)
{ printf(“Mahasiswa %i : “, index+1);
scanf(“%i”, &nilai[index]);
}
/* tampilkan nilai mahasiswa */
printf(“Nilai mahasiswa yang telah diinput”);
for(index=0; index < 10; index++)
{ printf(“%5.0i”, nilai[index]);
}
Jurusan Teknologi
getch();Informasi 25
}
BKPM Pemrograman Terstruktur

b. Program 2

/* Program menginput nilai(bilangan) ke dalam array dimensi dua dan


menampilkannya */
#include <stdio.h>
#include <conio.h>
void main()
{ int baris, kolom, matriks[3][4];
// Input elemen array secara Row Major Order
printf(“Input elemen Array : \n“);
for(baris=0; baris<3; baris++)
{ for(kolom=0; kolom<4; kolom++)
{ printf(“matriks[%i][%i]”, baris+1, kolom+1);
scanf(“%i”, &matriks[baris][kolom]);
}

5. Tugas dan Latihan !


a. Buatlah Program untuk menghitung jumlah semua nilai yang ada dalam
array (misalnya jumlah data 10)
b. Buat penjumlahan dua matriks A[2][2]dengan B[2][2]. Hasil penjumlahan
tersebut disimpan dalam matrik C. Tampilkan di layar masingmasing isi
dari matriks A, B dan C
c. Buatlah sebuah variabel array of int yang memiliki ukuran MAKS.
Dengan menggunakan looping for(), masukkan sebanyak n data ke dalam
array tsb kemudian carilah nilai terbesar yang ada dalam array tsb.
d. Diketahui daftar nilai siswa sebagai berikut:

Jurusan Teknologi Informasi 26


BKPM Pemrograman Terstruktur

Buatlah program untuk menampilkan laporan sebagai berikut:

Petunjuk: Gunakan variable array dua dimensi untuk menyimpan data.

Praktikum ke : 11 & 12
Judul Praktikum : String
Alokasi Waktu : 4 X 50 menit

1. Tujuan Instruksional Khusus


a. Mahasiswa mampu menjelaskan tentang array berdimensi satu
b. Mahasiswa mampu menjelaskan tentang array berdimensi dua

2. Teori

Jurusan Teknologi Informasi 27


BKPM Pemrograman Terstruktur

String merupakan bentuk data yang biasa dipakai dalam bahasa


pemrograman untuk keperluan menampung dan memanipulasi data teks, misalnya
untuk menampung (menyimpan) suatu kalimat.
Pada bahasa C, string bukanlah merupakan tipe data tersendiri, melainkan
hanyalah kumpulan dari nilai nilai karakter yang berurutan dalam bentuk array
berdimensi satu à array of char.

Konstanta String
Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik
ganda, misalnya: “ABCDE”
Nilai string ini disimpan dalam memori secara berurutan dengan komposisi
sebagai berikut:
 Setiap karakter akan menempati memori sebesar 1 byte.
 Byte terakhir otomatis akan berisi karakter NULL (\0), dengan demikian maka
akhir dari nilai suatu string akan dapat dideteksi.
 Sebagai sebuah array of char, karakter pertama dari nilai string mempunyai
indeks ke-0, karakter kedua mempunyai indeks ke-1, dan seterusnya.

Variabel String
Variabel string adalah variabel yang dipakai utuk menyimpan nilai string.
misalnya :
char name[15];
merupakan instruksi untuk mendeklarasikan variabel string dengan panjang
maksimal 15 karakter (termasuk karakter NULL). Deklarasi tersebut sebenarnya
tidak lain merupakan deklarasi array bertipe char.

Inisialisasi String
Suatu variabel string dapat diinisialisasi seperti halnya array yang lain
(dalam kurung kurawal dipisahkan koma). Namun tentu saja elemen terakhirnya
haruslah berupa karakter NULL.
Sebagai contoh :
char name[] = {'R','I','N', 'I',’\0’};

Jurusan Teknologi Informasi 28


BKPM Pemrograman Terstruktur

yang menyatakan bahwa name adalah variabel string dengan nilai awal berupa
string : “RINI” .
Bentuk inisialisasi yang lebih singkat :
char name[] = “RINI”;
pada bentuk ini, karakter NULL tidak perlu ditulis. Secara IMPLISIT akan
disisipkan oleh kompiler.

Input Output Data String


Untuk memasukkan atau menampilkan data String digunakan bisa
beberapa fungsi standar yang ada di
stdio.h.
• Untuk operasi input :
– scanf()
– gets()
– fgets()
• Untuk operasi output :
– puts()
– printf()

Memasukkan Data String


Pemasukan data string ke dalam suatu variabel biasa dilakukan dengan
fungsi gets() atau scanf().
Bentuk umum pemakaiannya adalah sebagai berikut :
#include <stdio.h>
gets(nama_array);
atau
#include <stdio.h>
scanf(“%s”, nama_array);

Catatan:

Jurusan Teknologi Informasi 29


BKPM Pemrograman Terstruktur

 nama_array adalah variabel bertipe array of char yang akan digunakan


untuk menyimpan string masukan.
 Di depan nama_array tidak perlu ada operator & (operator alamat),
karena nama_array tanpa kurung siku sudah menyatakan alamat yang
ditempati oleh elemen pertama dari array tsb.
 Kalau memakai scanf(), data string masukan tidak boleh mengandung
spasi
Contoh:
main(){
char name[15];
printf("Masukkan nama Anda : ");
gets(name);
printf("\nHalo, %s. Selamat belajar string.\n", name);
}

Perlu diketahui, fungsi gets() akan membaca seluruh karakter yang diketik
melalui keyboard sampai tombol ENTER ditekan dengan tanpa mengecek batasan
panjang array yang merupakan argumennya.
Jika string yang dimasukkan melebihi ukuran array, maka sisa string (panjang
string masukan dikurangi ukuran array plus karakter NULL) akan ditempatkan di lokasi
sesudah bagian akhir dari array tersebut. Tentu saja kejadian seperti ini bisa menimbulkan
hal yang tidak diinginkan, misalnya berubahnya isi variabel yang dideklarasikan sesudah
array tersebut karena tertumpuki oleh string yang dimasukkan (overwrite), atau perilaku
program yang sama sekali berbeda dengan kemauan user yang dalam hal ini pelacakan
kesalahannya (debugging) sangat sulit dilakukan, atau bahkan terjadi penghentian
program secara tidak normal.
Untuk mengatasi hal itu, disarankan untuk menggunakan fungsi fgets()

Jurusan Teknologi Informasi 30


BKPM Pemrograman Terstruktur

untuk menggantikan fungsi gets() dalam memasukkan data string.


Bentuk umum pemakaian fgets() adalah :
#include <stdio.h>
fgets(nama_array, sizeof nama_array, stdin);

Menampilkan Data String


Untuk menampilkan isi variabel string, fungsi yang digunakan adalah puts() atau
printf(). Bentuk umum pemakaiannya adalah sebagai berikut :
#include <stdio.h>
puts(var_string);
atau
printf("%s",var_string);

Dalam hal ini var_string adalah sebuah variabel yang berupa sebuah array of char.
Fungsi puts() akan menampilkan isi dari var_string dan secara otomatis menambahkan
karakter '\n' di akhir string.
Sedangkan fungsi printf() akan menampilkan isi variabel string tanpa memberikan
tambahan '\n'. Sehingga, agar kedua pernyataan di atas memberikan keluaran yang sama,
maka pada pernyataan printf() dirubah menjadi :
printf("%s\n", var_string);

Mengakses Elemen String


Variabel string merupakan bentuk khusus dari array bertipe char. Oleh karena itu,
elemen dari variable string dapat diakses seperti halnya pengaksesan elemen pada array.
Perhitungan jumlah karakter dari string teks dapat dilakukan dengan memeriksa
elemen dari string dimulai dari posisi yang pertama (indeks ke-0) sampai ditemukannya
karakter NULL.
Program berikut menunjukkan cara mengakses elemen array untuk menghitung
total karakter dari string yang dimasukkan melalui keyboard
#include <stdio.h>
#define MAKS 256
main() {

Jurusan Teknologi Informasi 31


BKPM Pemrograman Terstruktur

int i, jumkar = 0;
char teks[MAKS];
puts("Masukkan suatu kalimat (maks 255 karakter).");
puts("Saya akan menghitung jumlah karakternya.\n");
fgets(teks, sizeof teks, stdin);
for(i=0; teks[i]!=’\0’; i++)
jumkar++;
printf("\nJumlah karakter = %d\n", jumkar);
}

Built In function untuk memanipulasi String


Program berikut menunjukkan cara mengakses elemen array untuk menghitung
total karakter dari string yang dimasukkan melalui keyboard
Untuk manipulasi string, C telah menyediakan beberapa fungsi standar yang ada pada
string.h.
Beberapa yang akan dibahas kali ini adalah
– Fungsi strcpy()
– Fungsi strlen()
– Fungsi strrev()
– Fungsi strcmp()
– Fungsi strcmpi()

3. Alat dan Bahan


 BKPM
 Komputer
 LCD
 Alat Tulis Kantor (ATK)

4. Pelaksanaan Praktikum
Ketik Program Berikut dan Jalankan (run) menggunakan CodeBlock
//Memasukkan Data String dari keyboard
#include1<stdio.h>
a. Program
main()
{
char name[15];
printf(“Masukkan Nama Anda : “);
scanf(“%s”,name);
Jurusan Teknologi Informasi 32
printf(“\nHallo, %s. Selamat Belajar String”);
}
BKPM Pemrograman Terstruktur

b. Program 2
#include <stdio.h>
main( )
{
char Nilai_String[15]=”aBcDe”;
int i;
for (i=0; Nilai_String[i]!=’\0’;i++)
printf(“%c\n”,Nilai_String[i]);
}

c. Program 3

#include <stdio.h>
#include <ctype.h>
main( )
{
char Nilai_String[15]=”aBcDe”;
int i;
for (i=0; Nilai_String[i];i++)
printf(“%c”,toupper(Nilai_String[i]));
}
#include <stdio.h>
#include <string.h>
main( )
d. Program 4
{
char nama[15];
printf(“Masukkan Nama Anda? : “);
scanf(“%[^\n]”, nama);
Jurusan Teknologi printf(“Panjang
Informasi nama 33 anda adalah: %i
karakter\n”,strlen(nama));
}
BKPM Pemrograman Terstruktur

e. Program 5
#include <stdio.h>
#include <string.h>
main( )
{
int lebar_laporan, posisi_judul, panjang_judul, i;
char judul[ ] = “PERGURUAN TINGGI DARMAJAYA”;
lebar_laporan = 80;
/*----------menghitung posisi judul--------------*/
panjang_judul = strlen(judul);
posisi_judul = (lebar_laporan – panjang_judul) / 2;
/*-----------membuat spasi sampai diposisi judul---------*/
for(i=1;i<=posisi_judul; i++) print(“ “);
printf(“%s\n”,judul); /*<--------menampilkan judul -----*/
}

f. Program 6
#include <stdio.h>
#include <string.h>
main( )
{
char string1[80];
char string2[ ] = “ABCDE”;
strcpy(string1, string2);
printf(“ String pertama adalah : %s \n”,string1);
printf(“ String kedua adalah : %s \n”,string2);
}

g. Program 7

Jurusan Teknologi Informasi 34


BKPM Pemrograman Terstruktur

#include <stdio.h>
#include <string.h>
main( )
{
char string1[ ] = “Saya adalah mahasiswa ”;
char string2[ ] = “STMIK Darmajaya”;
strcat(string1, string2);
printf(“ Hasil penggabungan adalah : %s \n”,string1);
}

5. Tugas dan Latihan


a. Lakukan percobaan untuk menginputkan string dari keyboard dengan
menggunakan : scanf(), gets() dan fgets().
Analisislah dan berikan kesimpulan untuk setiap fungsi tsb.
b. Buatlah program untuk menerima input string dari keyboard kemudian
hitunglah panjang dari string tsb dan tampilkan hasilnya
c. Lanjutkan program nomor 2 untuk membalik string tsb, misalnya: budi à
ibud
d. Buatlah program yang mendeklarasikan sekaligus menginisialisasi sebuah
array kata1[], kemudian copy-lah isi array kata1[] tsb ke dalam array
kata2[], selanjutnya tampilkan isi kedua array tsb ke layar

Praktikum ke : 11 & 12
Judul Praktikum : Fungsi
Alokasi Waktu : 4 X 50 menit

1. Tujuan Instruksional Khusus


c. Mahasiswa mampu menjelaskan tentang Fungsi
d. Mahasiswa mampu menjelaskan bagaimana mendeklarasikan Fungsi

2. Teori
Dasar Fungsi

Jurusan Teknologi Informasi 35


BKPM Pemrograman Terstruktur

Fungsi adalah :
– suatu bagian dari program
– yang dirancang untuk melaksanakan tugas tertentu
– letaknya dipisahkan dari program yang menggunakannya.

Macam fungsi:
– standard : sudah disediakan oleh compiler, tinggal dipakai
dengan menyebutkan headernya (kamusnya) pada
preprosessor include, misalnya fungsi :
printf()  stdio.h; exit()  stdlib.h
– user defined : didefinisikan oleh user, disesuaikan dengan
kebutuhan user ybs

Fungsi banyak digunakan dengan tujuan :


– Membuat program menjadi terstruktur, sehingga mudah dipahami dan mudah
dikembangkan. Dengan memisahkan langkah-langkah detail ke satu atau lebih
fungsi-fungsi, maka fungsi utama (main()) menjadi lebih pendek, jelas dan
mudah dimengerti.
– Mengurangi pengulangan (duplikasi) kode, langkahlangkah program yang
sama dan dipakai berulang-ulang di program dapat dituliskan sekali saja secara
terpisah dalam bentuk fungsi-fungsi. Selanjutnya bagian program yang
membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya, tetapi
cukup memanggil fungsi-fungsi tersebut.
Fungsi standar C yang mengemban tugas khusus contohnya adalah ;
– printf() , yaitu untuk menampilkan informasi atau data ke layar.
– scanf() , yaitu untuk membaca kode tombol yang diinputkan.
Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut
sebagai argumen yang akan diolah oleh fungsi.
Hasil akhir fungsi berupa sebuah nilai (disebut sebagai return value atau nilai
keluaran fungsi). Oleh karena itu fungsi sering digambarkan sebagai "kotak
gelap" seperti ditunjukkan pada gambar berikut ini.

Jurusan Teknologi Informasi 36


BKPM Pemrograman Terstruktur

Parameter bisa diatikan sebagai “bahan baku” yang akan diproses dalam fungsi
dan dikirim dari tempat fungsi tsb dipanggil
Keluaran fungsi (return value) bisa diartikan sebagai “oleholeh” yang akan
dibawa ketika proses kembali ke tempat asal fungsi tsb dipanggil

Bentuk umum dari definisi sebuah fungsi adalah sbb :

Keterangan :
• tipe-keluaran-fungsi, dapat berupa salah satu tipe data C, misalnya char atau
int . Kalau penentu tipe tidak disebutkan maka dianggap bertipe int
(secaradefault).
• tubuh fungsi berisi deklarasi variabel (kalau ada) dan statemenstatemen yang
akan melakukan tugas yang akan diberikan kepada fungsi yang bersangkutan.
Tubuh fungsi ini ditulis di dalam tanda kurung kurawal buka dan kurung kurawal
tutup.

3. Alat dan Bahan


 BKPM
 Komputer
 LCD
 Alat Tulis Kantor (ATK)

Jurusan Teknologi Informasi 37


BKPM Pemrograman Terstruktur

4. Pelaksanaan Praktikum
Ketik Program berikut ini dan jalankan menggunakan editor CodeBlock
a. Program 1

#include <stdio.h>
int minimum (int,int);
main( )
{
int a,b,kecil;

printf(“Masukkan nilai a :” );
scanf(“%d”, &a);
printf(“Masukkan nilai b :” );
scanf(“%d”, &b);

kecil = minimum(a,b);
printf(“\nBilangan terkecil antara %d dan %d adalah
%d\n\n”, a, b, kecil);
}
Minimum (int x, int y)
{
if (x < y)
return (x);
else
return (y);
}

b. Program 2
#include <stdio.h>
void info_program();
main( )
{
info_program();
}
void info_program()
{
puts(“===========================”);
puts(“Program dibuat oleh Ika Widiastuti” );
puts(“Tanggal : 8 Oktober 2021 ”);
puts(“ ”);
puts(“Selamat Menggunakannya”);
}

Jurusan Teknologi Informasi 38


BKPM Pemrograman Terstruktur

c. Program 3

#include <stdio.h>
float jumlah (float, float);

main()
{
float a, b, c;
printf (“Masukkan nilai a : “);
scanf(“%f”, &a);
printf (“Masukkan nilai b : “);
scanf(“%f”, &b);

c=jumlah(a,b);
printf(“\n Hasil Penjumlahan a + b = %g\n”, c);
}

5. Tugas dan Latihan


1. a. Buatlah sebuah fungsi yang berfungsi untuk menampilkan sebuah string (di
layar) = “Pilihan Menu” (misalkan nama fungsinya = menu). Fungsi tersebut
tidak memiliki nilai kembalian (return value) dan juga tidak menerima parameter
masukan apapun.
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat function main untuk memanggil function menu() secara berulangulang,
dengan jumlah perulangan yang merupakan input dari user.

2. a. Buatlah sebuah fungsi untuk menghitung jumlah triangular n (misal nama


fungsinya = triangular). Fungsi tersebut memiliki sebuah parameter berupa
bilangan int (n) yang akan dicari triangularnya serta tidak memiliki nilai
kembalian (return value)
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat function main untuk memanggil function triangular() tersebut
dengan nilai n yang merupakan input dari user.

Jurusan Teknologi Informasi 39


BKPM Pemrograman Terstruktur

3. a. Buatlah sebuah fungsi untuk menghitung nilai bilangan kuadrat (misal nama
fungsinya = kuadrat). Fungsi tersebut memiliki sebuah parameter bertipe float,
yaitu bilangan yang akan dikuadratkan serta memiliki sebuah return value bertipe
float, yaitu hasil kuadratnya
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat fungsi main() untuk memanggil function kuadrat() tersebut dengan
bilangan x yang akan dicari kuadratnya merupakan input dari user.

4. a. Definisikan sebuah fungsi ganjil() yang memilliki sebuah parameter bilangan


bulat dan mengembalikan nilai 1 jika parameter yang diberikan adalah bilangan
ganjil dan mengembalikan nilai 0 jika parameter tsb bukan bilangan ganjil
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat fungsi main() untuk memanggil function ganjil() yang menerima input
sebuah bilangan bulat yang akan ditentukan ganjil/genapnya. Tampilkan pesannya
(ganjil/genap) dalam main().

5. Buatlah program untuk menghitung faktorial dengan menggunakan 2 fungsi


(main() dan faktorial()). Fungsi faktorial() memberikan return value bertipe long
int yang akan dicetak ke layar dalam fungsi main().

6. a. Definisikan sebuah fungsi float konversi(suhu, asal, tuj), untuk


mengkonversikan suhu dari Celsius ke Fahrenheit, Celsius ke Reamur,
Fahrenheit ke Celsius, Fahrenheit ke Reamur, Reamur ke Celsius, dan
Reamur ke Fahrenheit. Dimana suhu adalah suhu sumber, asal adalah
satuan awal suhu yang akan dikonversi dan tuj adalah satuan hasil
konversi
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat fungsi main() untuk memanggil fungsi konversi(), setelah
sebelumnya meminta masukan nilai suhu, satuan asal dan satuan
tujuannya.
Contoh tampilan:
Masukkan suhu sumber = 100
Masukkan satuan asal = C
Masukkan satuan tujuan = R
Hasil konversi suhu 100 C = 80 R

Jurusan Teknologi Informasi 40


BKPM Pemrograman Terstruktur

Praktikum ke : 13 & 14
Judul Praktikum : Struktur
Alokasi Waktu : 4 X 50 menit

1. Tujuan Instruksional Khusus


a. Mahasiswa mampu menjelaskan tentang Struktur
b. Mahasiswa mampu mendefinisikan Struktur
c. Mahasiswa mampu mendeklarasikan Struktur

Jurusan Teknologi Informasi 41


BKPM Pemrograman Terstruktur

d. Mahasiswa mampu mengakses elemen Struktur


e. Mahasiswa mampu menginisialisasi Struktur

2. Teori
Pendahuluan
Tipe Data ada 2 Golongan:
- Tipe data standart (standart data type)
 Tipe data yang telah didefinisikan oleh compiler, tinggal
dipakai/dideklarasikan ketika dibutuhkan
 int, float, double, void
- Tipe data yang didefinisikan user (user defined data type)
 Tipe data yang didefinisikan sendiri oleh user sesuai dengan
kebutuhannya.
 Langkah pertama adalah mendefinisikan/membuat tipe data yang
diinginkan terlebih dahulu, barulah mendeklarasikan variable
dengan tipe baru tersebut.
 struct, union
Struktur (struct) adalah
- sekumpulan data
- tipe datanya boleh berbeda
- menggunakan nama yang sama
- dibedakan melalui nama fieldnya
Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang
berkaitan menjadi sebuah kesatuan (dalam PASCAL, struktur disebut dengan
record). Variabel-variabel yang membentuk struktur, selanjutnya disebut
sebagai elemen dari struktur atau field. Dengan demikian dimungkinkan
suatu berisi elemen-elemen data berbeda tipe seperti char, int, float, double.
Contoh sebuah struktur adalah informasi data tanggal (date) yang berisi :
- month
- day
- year

Jurusan Teknologi Informasi 42


BKPM Pemrograman Terstruktur

Mendefinisikan Struktur
Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Dua
contoh pendefinisian sebuah tipe data struktur:
struct date { struct date{
int month; int month, day, year;
int day; };
int year;
};
Yang mendefinisikan sebuah tipe data struktur bernama struct date yang
memiliki tiga buah elemen (field) berupa:
- month
- day
- year

Mendeklarasikan Struktur
Untuk mendeklarasikan sebuah variable today yang bertipe struct date
pernyatannya sebagai berikut:
struct date today;
Pernyataan diatas menyatakan bahwa variable today bertipe struct date.

Mendefinisikan dan Mendeklarasikan Struktur


Dalam mendefinisikan sebuah struktur, elemen yang terkandung
didalamnya bias juga berupa sebuah struktur.
Contoh:
struct date {
int month, day, year;
};
struct student {
char name[30];
struct date birthday;
};
struct student mhs; //deklarasi variable mhs

Mengakses Elemen Struktur

Jurusan Teknologi Informasi 43


BKPM Pemrograman Terstruktur

Elemen dari suatu struktur dapat diakses dengan menyebutkan nama


variable struktur diikuti dengan operator titik (.) dan nama dari elemen
strukturnya. Cara penulisannya sebagai berikut:
Variable_struktur.nama_field
Misalnya, memberikan data nama ke field name dari variable student diatas,
maka pernyataan yang diperlukan misalnya adalah
#include <stdio.h> “Budi”);
strcpy(mhs.name,
#define MAKS 20
Pada
structpernyataan
date { diaatas, mhs.name dapat dibaca sebagai field name dari
int mont,
mhs. Contoh day, merupakan
berikut year; //definisi global
instruksi dari
untuk tipe date data pada field
mengisikan
};
birthday:
struct student {
char name[30];
mhs.birthday.day = 10;
struct date birthday; //definisi global dari tipestudent
};
main()
3. Alat dan Bahan
{
 BKPM
struct student data_mhs[MAKS];
 Komputer
int i=0, jml;
 LCDchar lagi;
 Alat
do Tulis Kantor (ATK)//memasukkan data
{
printf(“Name
4. Pelaksanaan Praktikum :”);
gets(data_mhs[i].name);
Ketik program berikut ini(mm-dd-yyyy):
printf(Birthday dan jalankan menggunakan
“); editor CodeBlock
scanf(“%d-%d-%d”, &data_mhs[i].birthday.month,
&data_mhs[i].birthday.day, &data_mhs[i].birthday.year);
i++;
fflush(stdin); //hapus sisa data dlm buffer keyboard
printf(“\nMau Masukkan data lagi [Y/T] ?”);
lagi = getchar ();
fflush(stdin); //hapus sisa data dlm buffer keyboard
} while (lagi ==’Y’ || lagi == ‘y’);

jml = I;
printf (“\n DATA MAHASISWA \n”);
for (i=0; i<jml; i++)
{
printf(“%d Name : %s”, i+1, data_mhs[i].name);
printf(“\n Birthday : %d-%d-%d \n\n”,
data_mhs[i].birthday.month,
data_mhs[i].birthday.day,
data_mhs[i].birthday.year;
}
Jurusan Teknologi Informasi 44

}
BKPM Pemrograman Terstruktur

5. Tugas dan Latihan


1. a . Definisikan sebuah struktur (misalkan namanya = date) yang memilik
3 field bertipe int (misalkan namanya = day, month dan year).
Kemudian tuliskan program untuk memasukkan 5 buah tanggal yang
disimpan dalam sebuah array struktur yang bertipe date.
b. Tambahkan program no 1 dengan program untuk menampilkan ke 5
buah tanggal tersebut.

Jurusan Teknologi Informasi 45


BKPM Pemrograman Terstruktur

c. Buatlah program didalamnya ada struktur dengan nama person yang


terdiri dari 2 field yaitu : name bertipe char[30] dan Birthday dengan tipe
date (yang telah didefinisikan pada no 1). Pada program tersebut buatlah
array dari person dan beri fasilitas untuk memasukkan data.
d. Tambahkan program no 3 dengan program untuk menampilkan ke 5
buah tanggal tersebut secara mendatar.

2. Buatlah program sebagai berikut dengan menggunakan array of struct:


Input:
Nama Mhs
Nilai Tugas
Nilai UTS
Nilai UAS
Sebanyak n mahasiswa
Output:
Nama Mhs, Nilai Akhir, Nilai Huruf, Keterangan Lulus yang
ditampilkan secara mendatar
Nilai Akhir = 20% tugas + 40% UTS + 40%UAS

3. Dengan menggunakan fungsi buatlah fasilitas untuk menampilkan Nilai-


nilai dari mahasiswa yang diinputkan jika tidak ada maka tampilkan
pesan

Daftar Pustaka

Sa’adah U. Konsep Pemrograman. Politeknik Elektronika Negeri Surabaya. 2006


Kadir, A. Pemrograman Dasar Turbo C Untuk IBM PC. Yogyakarta : Andi Offset.1992.
Kernighan, B.W. and Dennis M.Ritchie, The C Ansi Programming Language, 2nd Edition,
Prentice Hall Software Series. 2001.

Jurusan Teknologi Informasi 46


BKPM Pemrograman Terstruktur

Jurusan Teknologi Informasi 47

Anda mungkin juga menyukai