Anda di halaman 1dari 47

LAPORAN HASIL

PRAKTEK ALGORITMA DAN PEMROGRAMAN

Oleh :
Dimas Kurniawan
0701192060

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUMATERA UTARA
MEDAN
2020
KATA PENGANTAR

Puji syukur kita panjatkan kehadirat Allah SWT yang telah memberikan rahmat
dan hidayah-Nya sehingga saya dapat menyelesaikan tugas Laporan Praktikum
Algoritma dan Pemrograman ini tepat pada waktunya.
Adapun tujuan dari penulisan dari makalah ini adalah untuk memenuhi tugas
pada mata kuliah Prak. Algoritma dan Pemrograman 2. selain itu, makalah ini juga
bertujuan untuk menambah wawasan tentang Algoritma dan bahasa pemrograman
bagi para pembaca dan juga bagi penulis.
Saya mengucapkan terima kasih kepada Bapak Abdul Halim Hasugian, M.Kom,
selaku Dosen Prak. Algoritma dan Pemrograman 2 yang telah memberikan tugas ini
sehingga dapat menambah pengetahuan dan wawasan sesuai dengan bidang studi
yang saya tekuni ini.
Saya juga mengucapkan terima kasih kepada semua pihak yang tidak dapat saya
sebutkan semua, terima kasih atas bantuannya sehingga saya dapat menyelesaikan
tugas ini.
Saya menyadari, tugas yang saya tulis ini masih jauh dari kata sempurna. Oleh
karenan itu, kritik dan saran yang membangun kami butuhkan demi kesempurnaan
makalah ini.
Medan, 17 Juli 2020

Penulis

i
DAFTAR ISI

Kata Pengantar ........................................................................................................... i


Daftar Isi ..................................................................................................................... ii
Modul 1 Pengantar Bahasa C ................................................................................... 1
1.1 Tujuan Praktikum .................................................................................... 1
1.2 Dasar Teori .............................................................................................. 1
1.3 Percobaan ................................................................................................ 3
1.4 Laporan .................................................................................................... 4
Modul 2 Variabel dan Tipe Data .............................................................................. 5
2.1 Tujuan Praktikum .................................................................................... 5
2.2 Dasar Teori .............................................................................................. 5
2.3 Percobaan ................................................................................................ 9
2.4 Laporan .................................................................................................... 9
Modul 3 Operator C ................................................................................................. 10
3.1 Tujuan Praktium .................................................................................... 10
3.2 Dasar Teori ............................................................................................ 10
3.3 Percobaan .............................................................................................. 14
3.4 Laporan .................................................................................................. 16
Modul 4 Struktur Keputusan .................................................................................. 17
4.1 Tujuan Praktikum .................................................................................. 17
4.2 Dasar Teori ............................................................................................ 17
4.3 Percobaan .............................................................................................. 21
4.4 Laporan .................................................................................................. 22
Modul 5 Perulangan ................................................................................................. 23
5.1 Tujuan Praktikum .................................................................................. 23
5.2 Dasar Teori ............................................................................................ 23
5.3 Percobaan .............................................................................................. 24
5.4 Laporan .................................................................................................. 25
Modul 6 Array .......................................................................................................... 27
6.1 Tujuan Praktikum .................................................................................. 27
6.2 Dasar Teori ............................................................................................ 27
6.3 Percobaan .............................................................................................. 29
6.4 Laporan .................................................................................................. 30

ii
Modul 7 Fungsi ......................................................................................................... 33
7.1 Tujuan Praktikum .................................................................................. 33
7.2 Dasar Teori ............................................................................................ 33
7.3 Percobaan .............................................................................................. 34
7.4 Laporan .................................................................................................. 36
Modul 8 Structure .....................................................................................................38
8.1 Tujuan Praktikum .................................................................................. 38
8.2 Dasar Teori ............................................................................................ 38
8.3 Percobaan .............................................................................................. 39
8.4 Laporan .................................................................................................. 41
Daftar Pustaka .......................................................................................................... 43

iii
MODUL 1 PENGANTAR BAHASA C

1.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul 1 ini, mahasiswa diharapkan mampu
dalam beberapa kompetensi pokok diantaranya:
1. Mampu menjelaskan konsep dasar bahasa C dan komponen-komponen yang
identik dengan bahasa C
2. Mampu menjelaskan struktur bahasa C dan mendeskripsikan berbagai
komponen yang terkandung di dalamnya
3. Mampu menggunakan editor Turbo C untuk menulis program berbahasa C
4. Mampu menulis program bahasa C dengan berbabgai editor C, secara khusus
dengan editor Turbo C
1.2 DASAR TEORI
A. Sejarah Singkat Bahasa C
C adalah bahasa tinggkat tinggi dengan tujuan umum yang pada awalnya
dikembangkan oleh Dennis M. Ritchie untuk mengembangkan sistem operasi
UNIX di Bell Labs. Bahasa C merupakan penerus dari bahasa B yang
diperkenalkan pada tahun 1970an. Bahasa C pada awal pertama kalinya
diimplementasikan pada komputer DEC PDP-11 pada tahun 1972, dan pada
tahun 1988 bahasa C ini diformalkan oleh America National Standart Institute
(ANSI).
Pada tahun 1978, Brian Kernighan dan Dennis Ritchie menghasilkan
deskripsi C pertama yang tersedia untuk public, yang sekarang dikenal sebagai
standar K & R. Sistem operasi UNIX, kompiler C, dan pada dasarnya semua
program aplikasi UNIX telah ditulis dalam C. C kini telah menjadi bahasa
profesional yang digunakan secara luas karena berbagai alasan, diantaranya:
 Mudah untuk dipelajari
 Bahasanya yang terstruktur
 Program yang dihasilkan efisien
 Dapat menangani aktivitas tingkat rendah
 C dapat dikompilasi pada berbagai platform sistem operasi
B. Perangkat Lunak Editor
Program C dapat bervariasi dari 3 baris hingga jutaan baris dan harus ditulis
ke dalam satu atau file text extensi “.c”; misalnya, hello.c. Penggunaan bahasa C

1
memerlukan dua perangkat lunak editor dan kompiler.
1) Editor C
Perangkat lunak editor digunakan untuk menulis kode program,
sementara kompiler digunakan untuk mengkompilasi kode program yang
ditulis oleh perancang program. Perangkat lunak editor bahasa C yang paling
ringan adalah Turbo C++. Selanjutnya Turbo C++ ini akan kita sebut dengan
Turbo C. Turbo C merupakan perangkat lunak editor bahasa C yang gratis
dan dapat didownload secara bebas melalui url
https://archive.codeplex.com/?p=turboc
2) Emulator
Editor Turbo C yang berjalan di lingkungan windows 7 dan versi
diatasnya memerlukan dukungan perangkat lunak emulator. Emulator yang
umum digunakan penggiat teknologi informasi adalah DosBox. Emulator
DosBox umum digunakan untuk membantu menjalankan aplikasi
berarsitektur rendah (misal: MS-Dos) pada komputer yang memiliki
arsitektur 32 dan 64bit atau pada komputer arsitektur tinggi.
DosBox juga merupakan aplikasi yang free, yang juga penggunaannya
dapat menggunakan sistem donasi. Aplikasi ini dapat di download di internet
di situs resmi pengembangnya di https://www.dosbox.com/download.php?
main=1
C. Struktur Bahasa C
Struktur merupakan formula, atau rumus yang harus digunakan. Dimana
struktur bahasa C merupakan landasan bagi perancang program untuk menulis
kode program. Setiap bahasa program memiliki struktur masing-masing yang
dikenali oleh compiler program tersebut. Struktur bahasa C terdiri dari beberapa
komponen diantaranya:
 Preposessor, yang selalu diikuti oleh file header dengan ekstensi .h.
preposessor ditulis dengan format #include dan diikuti headernya.
Contohnya #include <stdio.h> atau #include “stdio.h”
 Fungsi utama, yang dibuka dan ditutup dengan tanda kuraung bulat ( )
untuk menyertakan argumen jika dibutuhkan.
 Tubuh program, yang merupakan bagian inti program untuk menulis
kode sumber program. Seperti misalnya, int main ().
 Nilai balik fungsi, bagian ini tidak musti disertakan, bergantung kepada

2
sifat fungsi utama yang digunakan. Jika fungsi utama menggunakan tipe
fungsi maka nilai baik fungsi harus disertakan di akhir program dengan
format return nilai;. contoh return 0; dimana return 0; adalah nilai balik
dari fungsi int main () yang digunakan pada fungsi utama.
 Ekspresi / Statement, yang merupakan kode perintah program. Pada
bagian inilah kode program ditulis sesuai dengan tujuan perancangan
program. Pada bagian ini algoritma diterapkan untuk menentukan
tindakan apa yang harus dikerjakan oleh komputer melalui perintih
program. Ekspresi / statement program ditulis ditubuh fungsi utama
diantara tanda kurung pembuka { dan kurung penutup }.
 Komentar, bagian ini bukan bagian yang harus disertakan. Karena
komentar biasa digunakan untuk menjelaskan makna dari suatu block
program. Komentar, tidak akan dibaca oleh kompilator, sehingga
keberadaannya tidak musti disertakan. Ada kalanya komentar penting
disertakan untuk memudahkan pengembang jika suatu waktu ingin
merevisi program. Komentar dapat berupa komentar paragraf yang
ditulis seperti /* teks komentar */, atau komentar tunggal yang ditulis
seperti // teks komentar.
Dengan melihat komponen-komponen yang terkandung pada struktur bahasa
C diatas, dapat dilihat struktur bahasa C seperti pada kota berikut:
#include <stdio.h>

int main () {
/* my first program in C */

printf("Hello, World!\n");

return 0;

Dapat kita amatai pada struktur diatas, kode printf(“Hello, World!\n”);


merupakan kode program yang ditulis diantara fungsi utama int main () { }.
1.3 PERCOBAAN
Latihan 1
1. Buka program baru, File – New
2. Ganti file NONAME00.CPP terlebih dahulu dengan nama test11.c
3. Selanjutnya tulis program berikut :

3
#include <stdio.h>

int main() {
clrscr();
printf("Selamat\nBelajar\n\"Pemrograman C\"\n");
printf("Mahasiswa\nIlmu Komputer\'UINSU\'");
getch();
return 0;
}
1.4 LAPORAN
Latihan 1
1. Kompilasilah program, Compile – Compile (ALT + F9)
2. Jalankan program dengan Run – Run (CTRL + F9)
Keluaran

Didalam main() terdapat clrscr(); berfungsi untuk membersihkan


teks yang tidak diperlukan, kemudian ada
printf("Selamat\nBelajar\n\"Pemrograman C\"\n"); syntax ini akan
menampilkan hasil Selamat Belajar “Pemrograman C” dimana setiap
kata akan dikeluarkan pada baris baru karena adanya kata kunci“\n”
yang berfungsi untuk membuat baris baru dan kemudian
ada \”Pemrograman C\”, \”\” berfungsi untuk membuat tanda kutip di
layar output. Dan printf("Mahasiswa\nIlmu Komputer\'UINSU\'"); sama
seperti yang tadi. Getch(); ini berfungsi untuk membuat karakter yang
dimasukkan tidak terlihat di layar. Dan return 0; ini untuk membalik
fungsi karena kita menggunakan int pada main()

4
MODUL 2 VARIABEL DAN TIPE DATA

2.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul 2 ini, mahasiswa diharapkan mampu
dalam beberapa kompetensi pokok diantaranya:
1. Mampu menjelaskan konsep dasar variabel dan tipe data dalam bahasa C
2. Mahir menggunakan variabel dan tipe data untuk merancang program
sederhana dengan bahasa C
3. Mahir dalam mendeklarasikan variabel dan tipe data C pada suatu
permasalahan program
4. Mampu mengidentifikasi penggunaan variabel dan tipe data pada berbagai
studi kasus pemrograman C
2.2 DASAR TEORI
A. Variabel
Variabel adalah “penanda” identitas yang digunakan untuk menampung suatu
nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis, variabel
merujuk kepada suatu alamat di memory komputer. Setiap variabel memiliki
nama yang sebagai identitas untuk variabel tersebut.
Aturan penamaan variabel dalam bahasa C
 Variabel terdiri dari huruf, angka dan karakter underscore / garis bawah (
_ ).
 Karakter pertama dari variabel hanya boleh berupa huruf dan underscore,
tidak bisa berupa angka. Meskipun dibolehkan, sebaiknya tidak
menggunakan karakter underscore sebagai awak dari variabel karena
bisa bentrok dengan beberapa variabel settingan program.
 Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa
memakai kata int sebagai nama variabel, karena int merupakan keyword
untuk menandakan tipe data integer.
 Beberapa compiler bahasa C ada yang membatasi panjang variabel
maksimal 31 karakter. Agar lebih aman, sebaiknya tidak menulis nama
variabel yang lebih dari 31 karakter.
B. Tipe Data
Tipe Data dalam C mengacu pada sistem ekstensif (format, sifat, ukuran,
bentuk) yang digunakan untuk mendeklarasikan variabel atau fungsi dari

5
berbagai jenis. Jenis tipe data suatu variabel menentukan berapa banyak ruang
yang ditempati dalam penyimpanan dan bagaimana pola bit yang disimpan
diinterpretasikan. Setiap tipe data memiliki ukuran daya menyimpan suatu data
yang berbeda.
Jenis tipe data pada C dapat diklasifikasikan menjadi beberapa tipe data yaitu:
1. Tipe dasar, merupakan tipe aritmatika dan diklasifikasikan lebih lanjut
menjadi: (a) tipe bilangan bulat integer dan (b) tipe floating-point.
2. Tipe Enumerated, yang merupakan jenis aritmatika yang dapat
menetapkan nilai integer diskrit tertentu di seluruh program.
3. Tipe void, yakni jenis tipe yang mengindikasikan bahwa tidak memiliki
nilai.
4. Tipe bentukan atau disebut juga tipe turunan yang diantaranya terdiri
dari: (a) Tipe Pointer, (b) Tipe Array, (c) Tipe Struktur, (d) Tipe Union
(gabungan) dan (e) Tipe Fungsi.
Tipe data bilangan bulat integer digunakan untuk operasi-operasi bilangan
yang tidak memiliki pecahan berkoma. Secara lengkap, tipe data bilangan bulat
standar ditampilkan pada tabel berikut:
TIPE DATA UKURAN MEMORI VALUE RANGE
char 1 byte -128 - 127 atau 0 - 255
unsigned char 1 byte 0 - 255
signed char 1 byte -128 - 127
int 2 atau 4 bytes -32,768 - 32,767 atau
- 2,147,483,648 - 2,147,483,647
unsigned int 2 atau 4 bytes 0 - 65,535 atau
0 - 4,294,967,295
short 2 bytes -32,768 - 32,767
unsigned short 2 bytes 0 - 65,535
long 4 bytes -2,147,483,648 - 2,147,483,647
unsigned long 4 bytes 0 - 4,294,967,295

Sedangkan untuk tipe bilangan pecahan (floating point) digunakan untuk


operasi-operasi bilangan yang memiliki pecahan titik mengambang. Secara
lengkap tipe data jenis ini disajikan dalam tabel berikut ini:
TIPE UKURAN JANGAKAUAN PRESISI
MEMORI
float 4 byte 1.2E-38 to 3.4E+38 6 decimal places
double 8 byte 2.3E-308 to 1.7E+308 15 decimal places

6
long double 10 byte 3.4E-4932 to 1.1E+4932 19 decimal places

C. Tipe Data Konstan


Tipe data konstan merupakan tipe data milik suatu variabel yang nilainya
tetap dan tidak dapat diubah oleh program selama proses program berlangsung.
Pendeklarasian tipe data konstan pada bahasa C dapat dilakukan dengan dua
format dasar, yaitu dengan menggunakan format penulisan yang umum, dan
melalui preprocessor. Adapun struktur penulisannya mengacu kepada struktur
format berikut:
Struktur umum:
const typedata variabel = nilai_konstanta;

Atau:
#define indentifier nilai

Berdasarkan format penulisan variabel bertipe konstanta diatas, dapat


diambil contoh sebagai berikut:
Struktur umum:
const float fii = 3.14;

Atau:
#define fii 3.14

D. Format Penentu
Format penentu atau format specifiers merupakan format pendukung suatu
tipe data. Setiap tipe data memiliki format yang berbeda dan nilai yang berbeda
pula. Format ini harus disertakan bila mana variabel yang dideklarasikan pada
blok pendeklarasian digunakan kembali (dipanggil) pada suatu baris. Jika tidak
disertakan, maka ini bsia menimbulkan error atau tidak menampilkan hasil.
Penggunaan format specifier didahului dengan simbol persen % dan dilanjutkan
dengan karakter formatnya. Adapun jenis-jenis format ini ditampilkan pada tabel
berikut:
FORMAT SPECIFIER DIGUNAKAN UNTUK TIPE DATA
%d Integer
%f Float
%c Karakter
%s String
%u Unsigned Integer
%ld Long Integer

7
%lf Double
%Lf Long Double

Disamping format yang ditampilkan pada tabel diatas, masih terdapat format
lain sesuai dengan jenis tipenya. Beberapa tipe ada pula yang memiliki lebih dari
satu format lain namun dapat diterapkan untuk tipe yang sama.
E. Karakter
Bahasa C mendukung pencetakan data karakter khusus untuk mengganti
fungsi-fungsi tertentu, seperti tabulasi, enter, mundur, maju, dan lain sebagainya
yang ditangani dengan format standar. Adapun format yang dimaksud dapat
dilihat pada tabel berikut:
KARAKTER KHUSUS PENGGUNAAN
\a Untuk bunyi bell(alert)
\b Mundur satu spasi (backspace)
\f Pindah halaman (form feed)
\n Pindah baris baru (new line)
\r Menuju ke kolom pertama, baris yang
sama (carriagereturn)
\v Tabulasi vertikal
\t Tabulasi horizontal
\0 Nilai kosong (null)
\’ Kutip tunggal
\” Kutip ganda
\\ Karakter garis miring (backslash)

2.3. PERCOBAAN
Latihan 1
1. Buka program baru, pilih menu File - New
2. Simpan terlebih dahulu file program untuk menghindari hal-hal yang tak
diinginkan. Pilih File - Save (F2) ganti NONAME00.CPP menjadi
var21.c, OK atau enter untuk memulai menulis kode program.
3. Selanjutnya tulis kode program berikut

8
#include <stdio.h>
#include <string.h>

int main() {
char nama1[7] = "Aisyah";
char nama2[10] = "Ramadhani";
float nilai_akhir;

clrscr();

strcat(nama1, nama2);
printf("Nama kamu adalah %s\n", nama1);
printf("Input value here : ");
scanf("%f", &nilai_akhir);
printf("Ok, %s nilai anda adalah %4.2f\n", nama1, nilai_akhir);

getch();

return 0;
}

2.4. LAPORAN
Latihan 1
1. Compile program tersebut, jika sukses, lanjutkan dengan
mengeksekusinya, outputnya
Keluaran

Strcat(nama1, nama2); merupakan sebuah fungsi untuk menggabungkan 2


buah string maka hasil nya AisyahRamadhani.

9
MODUL 3 OPERATOR C

3.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul 3 ini, mahasiswa diharapkan mampu
dalam beberapa kompetensi pokok diantaranya:
1. Mampu menjelaskan konsep dasar operator dalam pemrograman
2. Mampu menguraikan klasifikasi operator bahasa C dan menjelaskan
fungsinya pada penulisan program
3. Mampu mengidentifikasi kebutuhan operator C dalam permasalahan program
4. Mahir menggunakan operator aritmatika, penugasan, relasi, logika dan
operator lainnya dalam program berbahasa C, dan bahasa turunannya
3.2 DASAR TEORI
Operator merupakan simbol-simbol yang digunakan untuk menjalankan operasi-
operasi matematis,operasi logika dan operasi-operasi lainnya. Operator membantu
menghubungkan antara satu variabel dengan variabel lain, atau mengoperasikan
variabel tunggal, ada berbagai macam operator dalam pemrograman. Pada
pemrograman C terdapat beberapa jenis operator, seperti operator aritmatika, operator
penugasan, relasi, logika, bitwise, operator kondisional, operator penambahan dan
pengurangan, dan operator spesial.
A. Operator Aritmatika
Merupakan operator yang digunakan untuk operasi matematis, seperti
penambahan, pengurangan, perkalian dan sebagainya. Perhatikan klasifikasi pada
tabel berikut:
OPERATOR OPERASI CONTOH
+ Penambahan X+Y
- Pengurangan X-Y
* Perkalian X*Y
/ Pembagian X/Y
% Sisa bagi (modulus) X%Y

B. Operator Relasi
Merupakan operator yang digunakan untuk membandingkan nilai yang

10
dimiliki oleh dua variabel yang berbeda. Berikut ini beberapa operator relasi
dalam bahasa C, yang diuraikan pada tabel dibawah ini:

OPERATOR CONTOH KETERANGAN


> A>B A lebih besar dari B
< A<B A lebih kecil dari B
>= A >= B A lebih besar atau sama
dengan B
<= A <= B A lebih kecil atau sama
dengan B
== A == B A sama dengan B
!= A != B A tidak sama dengan B

C. Operator Penugasan
Merupakan operator yang digunakan untuk memberikan nilai atau tindakan
operasi kepada suatu variabel. Misal, 5 adalah nilai yang diberikan kepada
variabel x. Maka x = 5. Dalam bahasa C, operator penugasan terdiri dari operator
penugasan sederhana, dan penugasan majemuk (gabungan). Penjelasan jenis
operator penugasan, dapat dilihat pada tabel berikut:

OPERATOR CONTOH KETERANGAN


Operator penugasan sederhana
= X=5 Memberikan nilai 5 kepada
variabel x
Operator penugasan gabungan
+= X += 5 Melakukan operasi x = x + 5
-= X -= 5 Melakukan operasi x = x - 5
*= X *= 5 Melakukan operasi x = x * 5
/= X /= 5 Melakukan operasi x = x / 5
%= X %= 5 Melakukan operasi x = x % 5
&= X &= 5 Melakukan operasi x = x & 5
^= X ^= 5 Melakukan operasi x = x ^ 5

D. Operator Logika
Merupakan operator yang digunakan untuk menjalankan operasi logika pada
ekspresi perintah yang diberikan. Operator logika selalu menghasilkan keluaran
true atau false. Operator logika dapat berupa operator yang dijelaskan pada tabel
dibawah ini:

11
OPERATOR ARTI CONTOH KETERANGAN
&& AND (a>1) && (b<1) Akan bernilai benar jika
kondisi (a>1) dan (b<10)
adalah benar
|| OR (a>=1) || (b>=1) Akan bernilai benar jika
salah satunya bernilai
benar
! NOT ! ((a>1) && (b<1)) Jika ! ((a>1) && (b<1))
bernilai benar, maka
operator ! akan
membalikkan nilai
menjadi salah (false)

E. Operator Bit wise


Merupakan operator yang digunakan untuk menjalankan operasi bit. Nilai
desimal diubah menjadi nilai biner yang merupakan urutan bit. Operator bit wise
pada bahasa C terdiri dari operasi &, |, ~, ^, <<, dan >>.

X Y X|Y X&Y X^Y


0 0 0 0 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 0

F. Operator Kondisional
Merupakan operator yang berfungsi membalikkan nilai jika kondisi bernilai
benar, dan membalikkan nilai yang ketika kondisi bernilai salah. Operator ini
dilambangkan dalam bentuk simbol tanda tanya ?. penggunaan operator ini
menggunakan sintaks dasar berikut:
(kondisi ? nilai_jika_kondisi_benar : nilai_jika_kondisi_salah);

Contoh:
(x == 20 ? 2 : 3); // hasilnya : 3

G. Operator Pencacah
Operator ini berfungsi mencacah nilai variabel dari posisi kecil keposisi

12
terbesar atau sebaliknya. Pencacah nilai meningkat satu poin ke nilai selanjutnya
atau turun satu point berikutnya. Operator ini terdiri dari operator increment dan
decrement:

OPERATOR SIMBOL CONTOH KETERANGAN


Increment Nilai ditambahkan sebelum
++x
diberikan untuk variabel x
++ Nilai ditambahkan setelah
x++ nilai diberikan kepada variabel
x
Decrement Nilai dikurangi sebelum
--x
diberikan kepada variabel x
--
Nilai dikurangi setelah nilai
x--
diberikan kepada variabel x

H. Operator Khusus
Merupakan operator yang digunakan pada bahasa C untuk menunjukkan
alamat dari posisi file dari suatu variabel. Operator ini terdiri dari beberapa
operator seperti dijelaskan pada tabel berikut:

OPERATOR CONTOH KETERANGAN


* *x Digunakan untuk menunjukkan posisi variabel x
& &x Digunakan untuk menemukan alamat dari
variabel x
Sizeof() Sizeof(int) Untuk melihat ukuran dari tipedata integer

I. Fungsi printf() dan Scanf()


Fungsi dari printf() dan scanf() merupakan fungsi bawaan yang disimpan
pada pustaka bahasa C. kedua fungsi tersebut telah dideklarasikan pada file
header stdio.h. Karenanya, penggunaan fungsi tersebut harus menyertakan file
header stdio.h tersebut. Fungsi printf() berfungsi untuk melakukan cetak data
bertipe karakter, string, bilangan bulat, bilangan pecahan, oktal, dan nilai
heksadesimal ke perangkat keluaran standar, seperti monitor. Penggunaan fungsi
printf() harus menyertakan format penentu (format specifier) seperti %d untuk
integer dan format lainnya.
Sementara fungsi scanf() merupakan fungsi yang digunakan untuk membaca

13
nilai yang diinput oleh pengguna. Mekanisme kerja fungsi ini adalah pengguna
menginput nilai, selanjutnya fungsi scanf() akan membaca nilai yang diinput
tersebut untuk ditempatkan pada memori untuk suatu variabel. Jika nilai yang
diinput tidak sesuai dengan tipe data yang dikenalkan pada bagian deklarasi,
kompilasi akan memberikan pesan error ketika proses kompilasi dilakukan.
Fungsi scanf() ini selalu berkonsolidasi dengan fungsi printf(). contoh printf() dan
scanf() dapat dilihat pada gambar berikut:
printf(“number of x %d”, number);
scanf(“%c”, &character);

3.3 PERCOBAAN
Latihan 1
1. Buka program baru, pilih menu File – New
2. Simpan terlebih dahulu program untuk menghindari hal-hal yang tidak
diinginkan. Klik File – Save (F2) – ganti NONAME00.CPP menjadi
opr31.c, Ok atau Enter untuk memulai menulis kode program.
#include <stdio.h>

int main() {
int a, b, tambah, kurang, kali, bagi, sisa_bagi;

clrscr();

printf("Input bilangan a : "); scanf("%d", &a);


printf("Input bilangan b : "); scanf("%d", &b);

tambah = a+b;
kurang = a-b;
kali = a*b;
bagi = a/b;
sisa_bagi = a%b;

printf("Penambahan dari a dan b adalah : %d\n", tambah);


printf("Pengurangan dari a dan b adalah : %d\n", kurang);
printf("Perkalian dari a dan b adalah : %d\n", kali);
printf("Pembagian dari a dan b adalah : %d\n", bagi);
printf("Modulus dari a dan b adalah : %d\n", sisa_bagi);

getch();

Latihan 2
1. Buka program baru kembali, klik menu File – New
2. Ganti file, KlikFile – Save (F2) – ganti NONAME00.CPP menjadi
opr32.c.

14
3. Klik Ok atau Enter untuk memulai menulis kode program.
4. Selanjutnya tulis program berikut Latihan program 2.2 opr32.c
#include <stdio.h>

int main() {
char nama[20], kursus[20];
float praktek, teori, total_nilai;

clrscr();
printf("Input Nama: "); scanf("%s", &nama);
printf("Input Kursus: "); scanf("%s", &kursus);
printf("Input Nilai praktek: "); scanf("%f", &praktek);
printf("Input nilai teori: "); scanf("%f", &teori);
total_nilai = (praktek + teori) / 2;
printf("Total nilai %s adalah %4.2f", nama, total_nilai);

getch();

3.4 LAPORAN
Latihan 1
1. Simpan perubahan program tersebut, klik File - Save (F2)
2. Kompilasikan program, klik Compile - Compile (ALT + F9)
3. Jika kompilasi berhasil sukses, jalankan program. Klik Run - Run
(CTRL + F9)
Keluaran:

Program diatas sama seperti program pada contoh 1 tetapi disini user
input nilai sendiri seperti contoh user input bilangan a 20 dan bilangan b 5.

Latihan 2
1. Kompilasilah program diatas, klik menu Compile – Compile – OK
2. Jalankan program, klik menu Run – Run.
3. Selanjutnya tulis hasil keluaran pada kotak yang tersedia. Tambahkan

15
4. beberapa informasinya sesuai dengan bahasamu namun gunakan bahasa
yang baik.
Keluaran

Pada kode dari program diatas terdapat simbol %s dan %f, simbol %s
berguna untuk menampilkan nilai string, dan %f berguna untuk menampilkan
bilangan pecahan.

16
MODUL 4 STRUKTUR KEPUTUSAN

4.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul 4 ini, mahasiswa diharapkan mampu
dalam beberapa kompetensi pokok diantaranya:
1. Mampu menjelaskan konsep dasar struktur keputusan
2. Mampu mengidentifikasi penggunaan struktur keputusan pada suatu
permasalahan program berdasarkan kasus ketersediaan datanya
3. Mampu menggunakan struktur keputusan dengan IF statement
4. Mampu menggunakan struktur keputusan dengan switch statement
4.2 DASAR TEORI
Struktur keputusan, atau yang umum disebut dengan seleksi atau pemilihan, atau
ada juga yang menyebut dengan istilah percabangan, merupakan struktur dimana
penyeleksian satu ekspresi atau perintah (statement) berdasarkan kondisi tertentu.
Artinya suatu ekspresi hanya akan dijalankan jika memenuhi syarat pada pengujian
kondisi. Secara umum struktur ini dibagi dalam dua model. If statement dan switch
statement.
A. IF Statement
If statement merupakan struktur pilihan terdiri dari ekspresi yang diikuti oleh
satu atau lebih statement. Ekspresi boolean selalu bernilai benar atau salah
sebagai syarat terpilihnya suatu keputusan yang akan diambil. Statement yang
dipilih harus memenuhi persyaratan yang ditentukan berdasarkan kebutuhan.
Struktur keputusan untuk model ini menggunakan struktur dasar sebagai berikut:
if (boolean_expression) {
Statement;
...
}
Struktur dasar keputusan diatas dapat diartikan dengan melihat bagan alur
berikut ini:

17
Dimana jika nilai suatu variabel memenuhi syarat pada kondisi maka
statement akan dikerjakan dan jika tidak memenuhi syarat, maka statement akan
diabaikan. Dengan kata lain, struktur If statement merupakan struktur dengan
opsi tunggal. Sehingga jika kondisi variabel tidak terpenuhi pada nilai benar,
maka statement diabaikan.
B. Else .. statement
Jika dilihat dari struktur dasarnya, struktur keputusan else..statement ini
merupakan struktur dengan dua pilihan yang menanti untuk dijalankan. Statement
akan dijalankan berdasarkan kondisinya. Perhatikan struktur dasar keputusan else
.. statement berikut ini:
If (boolean_expression) {
Statement_one;
} else {
Statement_n;
}
Statement_one dijalankan hanya jika kondisi pada boolean_expression
bernilai benar, sebaliknya statement tidak akan dijalankan jika kondisi pada
boolean_expression bernilai salah. Struktur dasar else..statement diatas, dapat
diamati melalui bagan alur berikut:

C. Else If Ladder
Struktur keputusan ini merupakan pengembangan dari struktur else ..

18
statement. Dalam beberapa referensi struktur ini disebut dengan nama if
majemuk. Dimana ada banyak opsi dengan syarat kondisi yang berbeda. Setiap
opsi statement yang akan dijalankan bergantung kepada syarat kondisinya
masing-masing. Perhatikan bagan alur berikut:

Mengacu kepada bagan alir di atas, struktur keputusan Else If ladder dapat
dituliskan pada struktur dasar berikut:
if (condition_expression_One) {
statement1;
} else if (condition_expression_Two) {
statement2;
} else if (condition_expression_Three) {
statement3;
} else {
statement4;
}
Struktur keputusan else if ladder diatas, dapat diartikan seperti berikut:
1. Jika condition_expression_One bernilai benar, maka statement1 yang
akan dikerjakan, tetapi jika tidak memenuhi syarat kebenaran, kondisi
dikatakan salah, dan pengujian akan menuju else if
(condition_expression_Two)

19
2. Jika condition expression_Two bernilai benar, maka statement2 yang
akan dijalankan, tetapi jika condition_expression_Two bernilai salah,
maka pengujian akan ke condition_expression_Three
3. Jika condition_expression_Three bernilai benar, maka statement3 yang
akan dijalankan, tetapi jika condition_expression_Three bernilai salah,
maka statement4 yang akan dikerjakan dan pengujian akan berhenti.
D. Nested If
Ada kalanya struktur keputusan mengandung struktur keputusan lain di
dalamnya. Kasus seperti ini disebut dengan nested if. Dimana ada struktur if
dalam struktur if. Ini disebut juga dengan struktur if bersarang, dimana struktur if
di dalamnya merupakan anak dari struktur if yang berada pada posisi paling luar.
Struktur dasar struktur if bersarang dapat dilihat struktur keputusan berikut:
if (boolean_expression 1) {
statement_if_utama;

if (boolean_expression 2) {
statement_if_within_if;
}
}
E. Switch Statement
Struktur ini merupakan struktur keputusan dengan banyak opsi, dimana
keputusan untuk menjalankan ekspresi perintah didasarkan pada syarat pada
kondisi tertentu. Struktur ini hampir sama dengan struktur else if ladder. Hanya
saja else if ladder memiliki batasan opsi yang dapat ditangani.
Struktur dasar penulisan dengan switch case mengacu pada alur else if ladder
diatas. Sehingga, struktur penulisannya dapat melihat struktur berikut:
switch (expression) {
case value-1:
block-1;
break;
case value-2:
block-2;
break;
case value-3:
block-3;
break;
case value-4:
block-4;
break;
default:
default-block;

Mekanisme kerja struktur diatas dapat dilihat pada uraian berikut:

20
1. Jika case value_1 bernilai benar, maka block_1 yang akan dikerjakan,
tetapi jika tidak memenuhi syarat, kondisi dikatakan tidak sesuai, dan
pengujian akan menuju ke case value_2.
2. Jika case value_2 bernilai benar, maka statement pada block_2 yang
akan dijalankan, tetapi jika case value_2 tidak sesuai, maka pengujian
akan ke case value_3.
3. Jika value_3 bernilai benar, maka statement pada block_3 yang akan
dijalankan, tetapi jika kondisi bernilai salah, maka pengujian akan
dilanjutkan pada case value_4.
4. Dan jika case value_4 bernilai benar, maka statement pada block_4 yang
akan dikerjakan, tetapi jika case value_4 bernilai logika salah, maka
statemen default yang akan dijalankan.
4.3 PERCOBAAN
1) Latihan 1
1. Buka program baru, pilih menu File – New
2. Ganti nama program, klikFile – Save As..gantiopt41.c, Ok atau Enter
3. Selanjutnya tulis kode program berikut
#include <stdio.h>

int main()
{
int usia;

clrscr();

printf( "Input usia Anda : " );


scanf( "%d", &usia );
if ( usia < 100 ) {
printf ("Kamu gadis muda yang cantik!\n" );
else if ( usia == 100 ) {

printf( "Kamu sudah tua\n" );


}
else {
printf( "Kamu sudah terlalu tua\n" );
}

getch();

return 0;

2) Latihan 2
1. Buka program baru, klik menu File – New

21
2. Simpan program, klikFile – Save As.. – ganti nama file menjadi opt42.c.
3. Selanjutnya tulis program berikut :
#include <stdio.h>

int main () {
int a = 100;
int b = 200;
clrscr();
if( a == 100 ) {
if( b == 200 ) {
printf("Nilai a adalah 100 dan b adalah 200\n" );
}
}
printf("Nilai a adalah : %d\n", a );
printf("Nilai b adalah : %d\n", b );
getch();

4.4 LAPORAN
1) Latihan 1
1. Simpan perubahan, klik File – Save (F2)
2. Kompilasi program terebut, klik menu Compile – Compile – Ok
3. Jalanakan program,klik menu Run – Run.
Keluaran

2) Latihan 2
1. Simpan perubahan, klik File – Save (F2)
2. Kompilasi program terebut, klik menu Compile – Compile – Ok
3. Jalanakan program,klik menu Run – Run.
Keluaran

22
MODUL 5 PERULANGAN

5.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul 5 ini, mahasiswa diharapkan mampu
dalam beberapa kompetensi pokok diantaranya:
1. Mampu menjelaskan konsep dasar perulangan dan model-modelnya dalam
bahasa C
2. Mampu mengidentifkasi pengunaan perulangan dalam studi kasus
pemrograman
3. Mampu menggunakan perulangan model, for, while, dan do..while dalam
permasalahan program dengan bahasa C dan turunannya
5.2 DASAR TEORI
Dalam pemrograman perulangan selalu dijumpai terutama pada aplikasi-aplikasi
game. Perulangan merupakan struktur algoritma dimana program dalam melakukan
iterasi terhadap suatu expresi / statement berdasarkan kondisi tertentu. Dalam
implementasinya perulangan menerapkan prinsip struktur keputusan, dimana
perulangan hanya akan dilakukan jika memenuhi syarat yang ditentukan. Perulangan
dalam bahasa C dibagi dalam beberapa model yaitu perulangan For, While, dan Do ..
While.
A. Perulangan FOR
Perulangan model ini merupakan perulangan dengan jumlah iterasi yang
sudah tetapi berapa kali iterasi akan dilakukan. Struktur dasar perulangan For
mengacu pada struktur berikut:
for (inisialisasi; syarat; pengubah)
statement;
B. Perulangan While
Perulangan while merupakan struktur algoritma dimana perulangan akan
terus dijalankan selama kondisi bernilai benar. Perulangan yang dimaksud disini
bisa saja berupa perulangan terhadap proses menghitung, mencetak
(menampilkan) atau justru melakukan iterasi lain didalam perulangan tersebut.
Kondisi nilai benar akan salah kondisi yang menjadi syarat bagi variabel yang
menjadi kontrol keputusan. Struktur perulangan while mengacu pada struktur
berikut:

23
Inisialisasi
while (syarat_kondisi) {
statements;

ekspresi_increment;
}
C. Do..While
Perulangan ini merupakan perulangan hampir sama dengan perulangan
while. Dimana perulangan hanya akan dilakukan selama kondisi benar. Hanya
saja pada perulangan do..while ini ekspresi dilakukan minimal satu kali. Jika
kondisi benar maka ekspresi selanjutnya akan dilakukan. Dengan kata lain
perulangan do..while mengerjakan ekspresi satu kali terlebih dahulu, kemudian
melakukan pengujian untuk membuat keputusan apakah perulangan dilakukan
atau tidak. Untuk menggunakan perulangan ini mengikuti struktur dasar sebagai
berikut:
do {
.....
.....
} while (condition);

D. Perulangan Nested
Selain ketika model perulangan diatas perulangan bersarang atau disebut
dengan nested looping juga sering digunakan untuk pemrograman. Perulangan
bersarang dapat terjadi pada for, while maupun do..while. Misal perulangan ini
diterapkan pada perulangan for, maka bentuk umum yang dapat digunakan adalah
seperti struktur berikut ini:
for (inisialisasi; syarat; pengubah) {
for (inisialisasi; syarat; pengubah) {
statement;
}
}
5.3 PERCOBAAN
1) Latihan 1
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop51.c, klik File – Save As..
3. Tik program berikut :

24
#include <stdio.h>

int main()
{
int bilangan, i, jumlah = 0;
clrscr();
printf("Input bilangan : ");
scanf("%d", &bilangan);
for(i = 1; i <= bilangan; ++i) {
jumlah += i;
}
printf("Jumlah = %d", jumlah);
getch();
return 0;
2) Latihan 2
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop52.c, klik File – Save As..
3. Tik program berikut :
#include <stdio.h>

int main()
{
int bilangan;
long long faktorial;
clrscr();
printf("Input bilangan bulat positif : ");
scanf("%d",&bilangan);
faktorial = 1;
while (bilangan > 0) {
faktorial *= bilangan;
--bilangan;
}
printf("Hasil faktorial adalah = %lld", faktorial);
getch();
5.4 LAPORAN
1) Latihan 1
1. Simpan perubahan terlebih dahulu, klik File – Save (F2)
2. Kompilasilah program, klik menu Compile – Compile – OK
3. Jika program sukses, jalankan. Klik Run –Run
Keluaran

Perulangan diatas adalah menambahkan dengan angka sebelumnya, user


input bilangan yaitu 5 maka hasilnya 15. didalam perulangan for terdapat
statement jumlah += i dengan inisialisasi perulangan for 5 dan dimulai dari
angka 1, berarti jumlah = 0 + 1, jadi jumlah = 1 begitu sampai ke angka 5

25
maka hasil akhirnya 15
2) Latihan 2
1. Simpan perubahan terlebih dahulu, klik File – Save (F2)
2. Kompilasilah program, klik menu Compile – Compile – OK
3. Jika program sukses, jalankan. Klik Run –Run
Keluaran

Program hasil faktorial pertama akan menginputkan bilangan bulat positif 5


untuk
syarat perulangan
faktorial = 1;
while (bilangan > 0) {
faktorial *= bilangan;
--bilangan;
}Berarti selama 5 (bilangan yang di input pertama) lebih besar dari 0,
lakukan faktorial
*= bilangan, decrementnya bilangan kurang 1;
faktorial *= bilangan; sama dengan faktorial = faktorial * bilangan;
faktorial = 1
faktorial = 1 x 5
=5
faktorial = 5 x 4
= 20
Seterusnya sampai faktorial = 120 x 1
= 120
Jadi hasil faktorial dari 5 adalah 120.

26
MODUL 6 ARRAY

6.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul 6 ini, mahasiswa diharapkan mampu
dalam beberapa kompetensi pokok diantaranya:
1. Mampu menjelaskan konsep dasar struktur data array
2. Mampu menjelaskan struktur array dalam algoritma maupun program
berbahasa C
3. Mampu menggunakan array multidimensi, minimal array berdimensi dua
4. Mampu mengidentifikasi penggunaan array dalam studi kasus pemrograman
untuk menyelesaikan permasalahan program
6.2 DASAR TEORI
Array merupakan sekumpulan elemen data yang memiliki tipe data dan nama
variabel yang sama. Misal, beberapa data yang nilainya Aisyah, Faisal, Abdullah,
Hasan, dan Fadilah, kelima data tersebut tentunya disimpan didalam variabel.
Variabel yang tepat untuk kelima data tersebut adalah data_nama. Dalam hal ini
variabel disebut dengan array. Dimana kelima data tersebut memiliki nama variabel
yang sama. Kelima data tersebut diakses oleh bilangan positif yang selalu diawali
dengan nilai terkecil sebagai elemen pertama. Bilangan positif disini dikenal dengan
istilah indeks atau subscript. Perhatikan gambar:

Dari gambar diatas dapat diamati, kelima data tersebut tersusun secara
berdekatan. Karakteristik ini merupakan identifikasi array. VariabelIndex array selalu
bertipe bilangan bulat (integer), dan pada pemrograman C indeks pertama diawali
dengan nilai nol (0). sehingga jika mengacu struktur array, gambar tersebut
menjelaskan bahwa sebagai berikut:
1. data_nama sebagai array (nama array)
2. Aisyah, Faisal, Abdullah, Hasan, dan Fadhilah adalah elemen data array
3. 0, 1, 2, 3, 4, merupakan indeks array yang berfungsi untuk mengakses setiap

27
elemen
A. Pendeklarasian Array
Untuk menggunakan Array dalam bahasa C dapat menggunakan struktur sebagai
berikut:
type_data nama_array [ukuran_data];

Contoh
int bilangan [5]; atau
char nama[5];

Pendeklarasian array dapat juga langsung menginisialisasikan nilai array tersebut


bersamaan dengan pendeklarasian seperti misalnya:
int bilangan [5] = {90, 76, 88, 67, 83}; atau
char nama[5] = {“Aisyah”, “Faisal”, “Abdullah”, “Hasan”, “Fadilah”};

Contoh diatas memiliki arti seperti berikut:


bilangan[0] = 90;
bilangan[1] = 76;
bilangan[2] = 88;
bilangan[3] = 67;
bilangan[4] = 83;
Sehingga jika mengacu pada data array diatas, untuk mengakses elemen nilai 88,
maka dapat dipanggil dengan struktur bilangan[2];. index 0, 1, 2, 3, 4 diwakili oleh
sebuah variabel bertipe bilangan bulat. Umpama variabel diberikan dengan nama i,
maka untuk mengakses kelimat elemen tersebut dipanggil dengan struktur bilangan[i];
B. Array Dua Dimensi
Array dua dimensi merupakan array multidimensi yang merepresentasikan
sebuah matriks atau tabel. Array multidimensi terdiri dari indeks yang mewakili baris,
dan indeks yang mewakili kolom. Indeks yang sebelah kiri adalah ukuran banyaknya
baris dalam array sedangkan indeks sebelah kanan merupakan ukuran banyaknya
kolom dalam array. Sementara array tiga atau lebih, indeks selanjutnya adalah indeks
yang merepresentasikan kolom dan baris dimensi kebelakang atau lainnya. Array dua
dimensi menggunakan struktur berikut:
tipe_data nama_array[baris] [kolom];

Untuk array tiga dimensi atau multidimensi yang lain, dapat menggunakan
struktur berikut:

28
tipe_data nama_array[baris] [kolom] [kolom2];

Inisialisasi nilai array juga dapat diberikan pada array dua dimensi pada saat
pendeklarasian array. Dengan menggunakan contoh berikut, array dapat
dideklarasikan seperti:
int bilangan [3][4] = {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
6.3 PERCOBAAN
1) Latihan 1
1. Buka program baru, File – New
2. Simpan program, File – Save As..dengan nama arr61.c
3. Tulis program di editor Turbo C
#include <stdio.h>

int main () {
int rerata = 0;
int jumlah = 0;
int i = 0;
int bilangan[5];

clrscr();

for (i = 0; i < 5; i++) {


printf("Masukkan bilangan %d \n", (i+1));
scanf("%d", &bilangan[i]);
}

for (i = 0; i < 5; i++) {


jumlah = jumlah + bilangan[i];
}

rerata = jumlah / 5;
printf("Rerata dari nilai yang di input adalah: %d\n", rerata);

getch();
2) Latihan 2
1. Buka program baru, File – New
2. Simpan program, File – Save As..dengan nama arr62.c
3. Tulis program di editor Turbo C

29
#include <stdio.h>
#include <math.h>
#define SIZE 7

int main () {
int marks[] = {74, 43, 58, 60, 90, 64, 70};
int sum = 0;
int sumSq = 0;
double mean, stdDev;
int i;

clrscr();

for (i = 0; i < SIZE; ++i) {


sum += marks[i];
sumSq += marks[i] * marks[i];
}

mean = (double)sum/SIZE;
printf("Mean is %.2lf\n", mean);

stdDev = sqrt((double)sumSq/SIZE - mean*mean);


printf("Std dev is %.2lf\n", stdDev);

getch();
6.4 LAPORAN
1) Latihan 1
1. Simpan perubahan terlebih dahulu, File – Save (F2)
2. Kompilasi program, Compile – Compile – OK
3. Jalankan program, Run – Run
Keluaran

Program di atas merupakan program mencari rata-rata menggunakan array,


dimana
kita akan menginput nilai ke dalam array sebanyak ukuran arraynya.
Di atas ukuran array nya adalah 5, masukkan bilangan 1-5, kita akan
menggunakan

30
dua perulangan yang satu untuk memasukkan nilai dan satu lagi untuk
menjumlahkannya.
Pertama untuk menginput
for (i = 0; i < 5; i++) {
printf(“Masukkan bilangan %d \n”, (i+1));
scanf(“%d”, &bilangan[i];}
Terdapat &bilangan[i] untuk mengakses array bilangan, i merupakan angka
dari
perulangan.
&bilangan [i] akan menghasilkan &bilangan[0], &bilangan[1], .. &bilangan
[4]
Kita memasukkan nilai di setiap index array bilangan di dalam perulangan
&bilangan[0] = 1; &bilangan[1] = 2; , ... , &bilangan[4] = 5;
Setelah memasukkan nilai nya kedalam array bilangan kemudian di
jumlahkan semua
bilangan yang sudah di inputkan sebelumnya menggunakan perulangan juga.
for (i = 0; i < 5; i++) {
jumlah = jumlah + bilangan[i];
}
jumlah = jumlah + bilangan[0]
= 0 + 1;
=1
jumlah = jumlah + bilangan[1]
= 1 + 2;
=3
Sampai jumlah = jumlah + bilangan[4]
= 10 + 5
= 15
Dapat hasil jumlah nilai array kemudian reratanya
rerata = jumlah/5
= 15/5
=3
Dapat hasil rerata yaitu 3 dan di keluarkan kelayar.

31
2) Latihan 2
1. Simpan perubahan terlebih dahulu, File – Save (F2)
2. Kompilasi program, Compile – Compile – OK
3. Jalankan program, Run – Run
Keluaran

#define SIZE 7, merupakan nilai konstan


int marks[] = {74, 43, 58, 60, 90, 64, 70};array diatas tidak dituliskan ukuran
dari sebuah array tersebut. Ukuran array tersebut
akan digenerate secara otomatis dari banyaknya nilai yang diinputkan ke
dalam array
tersebut.
for (i = 0; i < SIZE; ++i) {
sum += marks[i];
sumSq += marks[i] * marks[i];
}
Perulangan tersebut untuk mencari jumlah dari array marks dan jumlah array
marks
kuadrat.
Mean = (double) sum / SIZE; Untuk mencari nilai tengah
stdDev = sqrt((double)sumSq/SIZE - mean*mean); Untuk mencari standar
deviasi

32
MODUL 7 FUNGSI

7.1 TUJUAN PRAKTIKUM


Setelah mengikuti praktikum pada modul Fungsi, mahasiswa dapat menguasai
beberapa kompetensi praktis sebagai berikut:
1) Mampu menjelaskan konsep dasar fungsi dan kegunaannya dalam program
2) Mampu menjelaskan struktur fungsi
3) Mampu menggunakan fungsi dalam menyelesaikan permasalahan program
bahasa c
7.2 DASAR TEORI
Fungsi merupakan blok program yang memiliki keterkaitan dengan blok program
yang lain, terutama blok program utama (fungsi utama: main()). Fungsi berisi
pernyataan-pernyataan yang memiliki tugas tertentu. Dengan fungsi, programmer
dapat membagi program dalam beberapa fungsi yang terpisah dengan fungsi
utamanya.
A. Pendeklarasian Fungsi
Fungsi dapat ditulis diawal maupun setelah fungsi utama. Pada umumnya
para perancang menuliskan fungsi diawal fungsi utama. Penulisan fungsi yang
dilakukan setelah fungsi utama, harus menyertakan prototype fungsi. Adapun
penggunaan fungsi mengacu pada struktur program berikut:
tipe_fungsi nama_fungsi(parameter) {
Tubuh fungsi;
}

B. Prototipe Fungsi
Dalam bahasa C, suatu fungsi harus dinyatakan sebelum dapat dipanggil. Ini
dapat dicapai dengan menempatkan definisi fungsi sebelum digunakan, atau
mendeklarasikan apa yang disebut dengan prototipe fungsi.
Prototipe fungsi memberitahu kompilator antarmuka fungsi, yaitu, tipe-
kembali, nama fungsi, dan daftar jenis parameter (jumlah dan jenis parameter).
penggunaan prototipe fungsi memungkinkan perancang program dapat
meletakkan dibawah program utama. Prototipe fungsi dideklarasikan setelah
preporcessor dengan format sebagai berikut:
Tipe_fungsi nama_fungsi(tipe1 parameter1, tipe2 paramter2, ...);

7.3 PERCOBAAN

33
Latihan 1
1. Buat program, File - New
2. Simpan program dengan nama fungsi71.c, File - Save As.
3. Ketik program berikut
#include <stdio.h>
#include <conio.h>

int maksimal(int bilangan1, int bilangan2);

int main() {
int a = 100;
int b = 200;
int maks;

clrscr();
maks = maksimal(a, b);

printf("Nilai maksimalnya adalah: %d\n", maks);

getch();

return 0;
}

int maksimal(int bilangan1, int bilangan2) {


int hasil;

if (bilangan1 > bilangan2)


result = bilangan1;
else
hasil = bilangan2;

Latihan 2
1. Buat program baru, File - New
2. Simpan program dengan nama fungsi72.c, File - Save As.
3. Ketik program berikut
#include <stdio.h>
#include <conio.h>
const int PI = 3.14159265;

float getArea(float radius);

int main() {
float radius1 = 1.1, area1, area2;

clrscr();

area1 = getArea(radius1);
printf("Area 1 adalah %.2f\n", area1);

area2 = getArea(2.2);

34
printf("Area 3 adalah %.2f\n", getArea(3.3));

getch();

return 0;
}

float getArea(float radius) {


return radius * radius * PI;

Latihan 3
1. Buat program baru, File - New
2. Simpan program dengan nama fungsi73.c, File - Save As.
3. Ketik program berikut
#include <stdio.h>
#include <conio.h>

int ganjil(int);

int main() {
clrscr();

printf(" %d\n", ganjil(5));


printf(" %d\n", ganjil(6));
printf(" %d\n", ganjil(-5));

getch();

return 0;
}

int ganjil(int bilangan) {


if (bilangan % 2 == 1) {
return 1;
} else {
return 0;

7.4 LAPORAN
Latihan 1
1. Simpan perubahan program, File - Save (F2)
2. Kompilasi program, Compile - Compile - OK (Alt + F9)
3. Jalankan program, Run - Run (Ctrl + F9)
4. Keluaran program dan kesimpulan
Keluaran

35
Program diatas merupakan program untuk mencari nilai maksimal dari dua
buah variabel menggunakan fungsi maksimal dimana parameternya terdapat int
bilangan1 dan int bilangan2 di dalam fungsi tersebut akan mencari nilai maksimal
menggunakan if statement yang dimana jika bilangan1 lebih besar dari bilangan2
hasil = bilangan1, jika tidak hasil = bilangan2 dan membalikkan nilai hasil.
Di bagian main() terdapat 3 variabel yaitu int a = 100, int b = 200 dan int
maks untuk menampung nilai maksimalnya. Kemudian fungsi maksimal() di
panggil dan dimasukan ke dalam variabel maks, dan akan di keluarkan hasil nilai
maksimalnya kelayar.

Latihan 2
1. Simpan perubahan program, File - Save (F2)
2. Kompilasi program, Compile - Compile - OK (Alt + F9)
3. Jalankan program, Run - Run (Ctrl + F9)
4. Keluaran program dan kesimpulan
Keluaran

Program di atas merupakan progam untuk mencari radius


Latihan 3
1. Simpan perubahan program, File - Save (F2)
2. Kompilasi program, Compile - Compile - OK (Alt + F9)
3. Jalankan program, Run - Run (Ctrl + F9)
4. Keluaran program dan kesimpulan
Keluaran

36
Program di atas merupakan program untuk mencari nilai ganjil, yang dimana
fungsi int ganjil(int bilangan) akan mencari nilai ganjil dan akan mengembalikan
sebuah nilai yaitu 1 dan jika tidak akan mengembalikan nilai 0

37
MODUL 8 STRUCTURE

8.1 TUJUAN PRAKTIKUM


Setelah mengikuti pada modul 8, mahasiswa menguasai beberapa kompetensi
praktis sebagai berikut:
1) Mampu menjelaskan konsep dasar structure, serta fungsinya dalam program
2) Mampu menjelaskan konsep dasar structure, serta fungsinya dalam program
3) Mampu menggunakan structure dalam studi kasus pemrograman struktur data
4) Mampu menyelesaikan suatu permasalahan program menggunakan structure
8.2 DASAR TEORI
A. Kosep Dasar
Structure adalah tipedata bentukan yang ditentukan oleh pengguna, yang
memungkinkan untuk menggabungkan data dari berbagai tipe data bersama-
sama. Structure membantu membangun tipe data kompleks yang lebih bermakna.
Konsep structuremirip dengan Array, tetapi memiliki perbedaan yang
mencolok dari kemampuannya menampung data. Dimana array hanya mampu
menyimpan data dari tipe yang sama saja (tunggal), sedangkan structure dapat
menyimpan jenis data yang berbeda dan lebih bermakna.
Structure dapat diterapkan dengan menggunakan struktur program seperti
berikut ini :
Struct {
variabel1 tipe1;
variabel2tipe2;
...
Variabel_n tipe_n;
} [variabel_gabungan];

Contoh:
Struct {
char judul[50];
char penulis[50];
char pelajaran[100];
int kode_buku;
} data_buku;

Mengacu pada contoh diatas, ini dapat diartikan dengan judul, penulis,
pelajaran, dan kode_buku adalah variabel-variabel yang dimiliki oleh struktur
data data_buku dengan tipe struct.

38
B. Mengakses Data Structure
Untuk mengakses elemen-elemen didalam structadalah dengan menyebutkan
nama struct dan dikoneksikan ke variabel-variabel didalamnya dengan menggunakan
simbol titik. Adapun struktur untuk mengakses elemen struct adalah
tipe_structure.nama_variabel;

data_buku.judul;
Contoh
8.3 PERCOBAAN
Latihan 1
1. Buat program baru, File - New
2. Simpan program, File - Save As.
3. Ketik program berikut
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct mahasiswa {
int kd_mhs;
char nama[20];
float persentase;
};

int main() {
struct mahasiswa record = {0};
// Menginisialisasi dengan nilai 0

clrscr();

record.kd_mhs = 1;
strcpy(record.nama, "Abdullah");
record.persentase = 86.5;

printf("Kode mahasiswa : %d \n", record.kd_mhs);


printf("Nama Mahasiswa : %s \n", record.nama);
printf("Persentasenya : %f \n", record.persentase);

getch();

Latihan 2
1. Buat program baru, File - New
2. Simpan program, File - Save As.
3. Ketik program berikut

39
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct mahasiswa {
int kd_mhs;
char nama[20];
float persentase;
} record;

int main() {

struct mahasiswa record = {0};


// Menginisialisasi dengan nilai 0
clrscr();
record.kd_mhs = 1;
strcpy(record.nama, "Abdullah");
record.persentase = 86.5;

printf("Kode mahasiswa : %d \n", record.kd_mhs);


printf("Nama Mahasiswa : %s \n", record.nama);
printf("Persentasenya : %f \n", record.persentase);
getch();

Latihan 3
1. Buat program baru, File - New
2. Simpan program, File - Save As.
3. Ketik program berikut
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct mahasiswa {
int no_mhs;
char nama[30];
float persentase;
} record;

int main() {
int i;
struct mahasiswa record[3];

clrscr();
// Data pertama
record[0].no_mhs = 1;
strcpy(record[0].nama, "Abdullah");
record[0].persentase = 86.5;

// Data kedua
record[1].no_mhs = 2;

strcpy(record[1].nama, "Hasan");
record[1].persentase = 90.5;

// Data ketiga

40
for(i = 0; i < 3; i++) {
printf("Data mahasiswa : %d \n", i+1);
printf("Nomor Mahasiswa : %d \n", record[i].no_mhs);
printf("Nama mahasiswa : %d \n", record[i].nama);
printf("Persentasenya : %d \n", record[i].persentase);
}

getch();
return 0;
}
8.4 LAPORAN
Latihan 1
1. Simpan perubahan program, File - Save (F2)
2. Kompilasi program, Compile - Compile - OK (Alt + F9)
3. Jalankan program, Run - Run (Ctrl + F9)
4. Keluaran program dan kesimpulan

Program di atas merupakan program untuk menyimpan data mahasiswa


menggunakan struct, struct dengan nama mahasiswa dan isinya terdapat bebrapa
data yaitu int kd_mhs; char nama[20]; dan float persentase;, kemudian struct
mahasiswa di panggil di kode main(), dengan cara struct mahasiswa record = {0};
baris tersebut digunakan untuk menginisialisasi dengan nilai 0. record merupakan
katakunci untuk memanggil struct mahasiswa sebagai contoh record.kd_mhs.

Latihan 2
1. Simpan perubahan program, File - Save (F2)
2. Kompilasi program, Compile - Compile - OK (Alt + F9)
3. Jalankan program, Run - Run (Ctrl + F9)
4. Keluaran program dan kesimpulan

Program ini sama seperti program dilatihan 1 modul 8 tetapi di struct


mahasiswa {} terdapat record; record itu merupakan kata kunci jadi kita tidak
perlu menambahkan struct mahasiswa record = {0} di bagian main() kode.

41
Latihan 3
1. Simpan perubahan program, File - Save (F2)
2. Kompilasi program, Compile - Compile - OK (Alt + F9)
3. Jalankan program, Run - Run (Ctrl + F9)
4. Keluaran program dan kesimpulan

Kita bisa menyimpan banyak data mahasiswa menggunakan struct dan tidak
membuat banyak variabel baru, buat struct menjadi sebuah array dengan “struct
mahasiswa record[3];” kita bisa merubah banyak data yang ingin kita masukkan.

42
DAFTAR PUSTAKA

Armansyah. 2018. Naskah Tutorial Algoritma dan Pemgrograman 2, Medan. UIN


Sumatera Utara
Andre. 2017. Tutorial Belajar C Part 10: Pengertian Variabel dan Cara Penulisan
Variabel Bahasa C. https://www.duniailkom.com/tutorial-belajar-c-
pengertian-variabel-dan-cara-penulisan-variabel-bahasa-c/ (20
Desember 2017)
Muahrdian, Ahmad. 2019. Belajar Pemrograman C #5: Mengenal Variabel,
Tipe Data, Konstanta. https://www.petanikode.com/c-variabel/ (18 Mei
2019)

43

Anda mungkin juga menyukai