Anda di halaman 1dari 72

LAPORAN HASIL

PRAKTEK ALGORITMA DAN PEMROGRAMAN

Oleh :
Reni Lestari
0701191115

PROGRAM STUDI ILMU KOMPUTER


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

Bismillahirrahmanirrahim
Segala puji bagi Allah yang telah memberikan kemudahan sehingga dapat
menyelesaikan laporan ini. Tanpa pertolongan-Nya mungkin saya tidak akan sanggup
menyelesaikannya dengan baik. Shalawat dan salam semoga terlimpah curahkan
kepada baginda tercinta kita yakni Nabi Muhammad SAW.
Dalam penyusunan laporan ini, saya mengucapkan banyak terimakasih kepada
Bapak Armansyah, M.Kom selaku dosen mata kuliah Algoritma dan Pemrograman
yang memberi bimbingan dan kepercayaan. Sehingga, laporan ini dapat saya susun
dengan baik.
Semoga laporan ini dapat bermanfaat terutama untuk saya. Walaupun laporan ini
masih jauh dari kata sempurna, mengingat kurangnya pengetahuan dan pengalaman
saya.
Terima Kasih.

Medan, Mei 2020


Penyusun

Reni Lestari

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 .................................................................................................... 9
Modul 2 Variabel dan Tipe Data ............................................................................ 11
2.1 Tujuan Praktikum .................................................................................. 11
2.2 Dasar Teori ............................................................................................ 11
2.3 Percobaan .............................................................................................. 15
2.4 Laporan .................................................................................................. 17
Modul 3 Operator C ................................................................................................. 19
3.1 Tujuan Praktium .................................................................................... 19
3.2 Dasar Teori ............................................................................................ 19
3.3 Percobaan .............................................................................................. 23
3.4 Laporan .................................................................................................. 26
Modul 4 Struktur Keputusan .................................................................................. 29
4.1 Tujuan Praktikum .................................................................................. 29
4.2 Dasar Teori ............................................................................................ 29
4.3 Percobaan .............................................................................................. 33
4.4 Laporan .................................................................................................. 35
Modul 5 Perulangan ................................................................................................. 37
5.1 Tujuan Praktikum .................................................................................. 37
5.2 Dasar Teori ............................................................................................ 37
5.3 Percobaan .............................................................................................. 38
5.4 Laporan .................................................................................................. 41
Modul 6 Array .......................................................................................................... 44
6.1 Tujuan Praktikum .................................................................................. 44
6.2 Dasar Teori ............................................................................................ 44
6.3 Percobaan .............................................................................................. 46
6.4 Laporan .................................................................................................. 48

ii
Modul 7 Fungsi ......................................................................................................... 53
7.1 Tujuan Praktikum .................................................................................. 53
7.2 Dasar Teori ............................................................................................ 53
7.3 Percobaan .............................................................................................. 54
7.4 Laporan .................................................................................................. 58
Modul 8 Structure
8.1 Tujuan Praktikum .................................................................................. 62
8.2 Dasar Teori ............................................................................................ 62
8.3 Percobaan .............................................................................................. 63
8.4 Laporan .................................................................................................. 65
Daftar Pustaka .......................................................................................................... 68

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
A. Menyiapkan Perangkat Lunak
Setelah memahami konsep dasar yang diuraikan pada subtopik teori singkat
diatas, selanjutnya siapkanlah perangkat lunak editor dan emulator yang
dibutuhkan untuk diinstalasikan kedalam komputer.
1) Instalasi DosBox 0.74

3
a. Pilih perangkat lunak DosBox0.74-win32-installer klik kanan dan
tekan Run As Administrator, lalu tekan Yes untuk melanjutkan
penginstalasian. Perhatikan gambar berikut:

b. Kemudian, klik next, dan next kembali.


c. Langkah selanjutnya menentukan lokasi penyimpanan DosBox 0.74.
Secara default sistem akan menempatkan pada lokasi C:\Program
Files\DOSBox-0.74. Klik Install untuk melanjutkan hingga muncul
tombol Close. Pada posisi ini, instalasi DosBox telah berhasil klik
Close untuk menutup jendela penginstalasian DosBox0.74.
2) Instalasi Turbo C
a. Pilih dan ekstrak Turbo C++ 3.2.2.0 berikut seperti yang
ditunjukkan pada gambar berikut:

4
b. Buka folder Turbo C++3.2.2.0 tersebut dan klik ganda file Setup
atau boleh juga klik ganda file berekstensi .msi. Selanjutnya akan
tampil jendela “Welcome to the install Shield Wizard for Turbo C++
3.2.2.0”. Klik Next untuk melanjutkan.

c. Pada jendela selanjutnya akan ditampilkan lembar persetujuan. Pada


jendela ini perangkat lunak meminta user untuk menyetujui
ketentuan-ketentuan yang harus dipatuhi jika benar-benar yakin
akan menggunakannya. Pilih “I accept the terms in the license
agreement” jika benar ingin melanjutkan instalasi. Lalu klik tombol
Next, dan pada jendela selanjutnya Klik tombol Install. Tunggu
beberapa saat, perangkat lunak sedang melakukan proses instalasi
hingga muncul jendela konfirmasi. Pada jendela konfirmasi, klik
Yes.

5
d. Proses instalasi selesai, jendela menampilkan pernyataan
“InstallShield Wizard Completed” centang pilihan “Launch
Program” lalu klik Finish, maka jendela Turbo C++ akan tampil
seperti gambar berikut:

6
Jika proses instalasi (editor) Turbo C++ 3.2.2.0 selesai dilakukan,
editor tersebut secara default akan tersimpan pada direktori root C:\
dengan nama folder TURBOC3 seperti yang ditunjukkan pada gambar
berikut:

3) Menulis program
1. Buka editor Turbo C, lalu Klik menu File – New.
2. Simpan program dengan menekan File – Save As.. Ganti
NONAME00.CPP dengan MODUL.c lalu KlikOK
3. Kemudian ketik kode program berikut :
#include <stdio.h>

int main() {
clrscr();
printf("Selamat Belajar Pemrograman C\n");
getch();
return 0;
}

7
4) Latihan 1
1. Buka program baru, File – New
2. Ganti file NONAME00.CPP terlebih dahulu dengan nama test11.c
3. Selanjutnya tulis program berikut :
#include <stdio.h>

int main() {
clrscr();
printf("Selamat\nBelajar\n\"Pemrograman C\"\n");
printf("Mahasiswa\nIlmu Komputer\'UINSU\'");
getch();
return 0;
}
5) Latihan 2
1. Buka program baru, pilih File – New
2. Simpan program,KlikFile – Save As.. lalu ganti NONAME00.CPP
dengan test12.c , KlikOK
3. Selanjutnya tulis program berikut :
#include <stdio.h>

int main()
{
char huruf = 'A';
char kata[20] = "Computer Science";
float bilangan_float = 10.234;
double bilangan_double = 20.123456;
int bilangan = 150;
printf("Ini adalah huruf%c\n", huruf);
printf("Ini adalah string%s\n" , kata);
printf("Ini tipe data float%f\n", bilangan float);
printf("Ini bilangan tipe double%lf\n", bilangan_double);
printf("Ini bilangan tipe data integer%d\n", bilangan);
printf("Bilangan bertipe oktal%o\n", bilangan);
printf("Bilangan bertipe hexadesimal%x \n", bilangan);

1.4 LAPORAN
1) Menulis program
1. Jalankan program, Klik menu Run – Run (CTRL+F9).
2. Hasil progam seperti pada gambar berikut :

2) Latihan 1
1. Kompilasilah program, Compile – Compile (ALT + F9)
2. Jalankan program dengan Run – Run (CTRL + F9)
Keluaran

8
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()
3) Latihan 2
1. Kompilasi dan jalankan program diatas. Perbaikilah jika muncul pesan
error, cek kembali kode program yang kamu tulis. Eksplorasi berbagai
sumber tentang variabel jika terjadi kesalahan program.
Keluaran

Terdapat kesalahan pada penulisan variabel bilangan_float, dan


penambahan spasi di dalam printf

9
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

10
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

11
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

12
%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
1) Kegiatan Praktikum
1. Bukalah program turbo C++, lalu ketik kode program dibawah ini:
Test program 2.0test20.c

13
#include <stdio.h>

int main() {
int a = 67;
float b = 67;
char c = 'A';

clrscr();

printf("Nilai a dalam integer adalah %d\n", a);


printf("Nilai a dalam float adalah %f\n", b);
printf("Nilai a dalam char adalah %c\n", c);

getch();

2. Simpan program, klik File - Save As. Ganti NONAME00.CPP dengan


test20.c

2) 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
#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;
}

3) Latihan 2
1. Buka program baru, klik menu File - New
2. Simpan terlebih dahulu file program untuk menghindari hal-hal yang tak
diinginkan. Pilih File - Save (F2) ganti nama file menjadi var22.c klik

14
OK atau enter untuk memulai menulis kode program.
3. Selanjutnya tulis program berikut Latihan program 2.2 var22.c
#include <stdio.h>
#include <string.h>

int main() {
int bilangan;
unsigned char kar;

clrscr;

printf("Input karakter : "); scanf("%c", &kar);

bilangan = kar;

printf("Huruf %c dipresentasikan dengan bilanggan %d di komputer \n", kar, bilangan);

getch();
return 0;
4) Latihan 3
1. Buka program baru, klik menu File - New
2. Simpan terlebih dahulu file program untuk menghindari hal-hal yang tak
diinginkan. Pilih File - Save (F2) ganti nama file menjadi var23.c klik
OK atau enter untuk memulai menulis kode program.
3. Selanjutnya tulis program berikut Latihan program 2.3 var23.c
#include <stdio.h>
#include <string.h>

int main() {
const float persen = 0.025;
const double penghasilan = 2950000;
float zakat;

clrscr;

zakat = penghasilan * persen;


printf("Total zakat penghasilan keluarga Rakhmat adalah %lf perbulan \n", zakat);
printf("\nTotal zakat setelah dibulatkan %4.2f perbulan\n\n", zakat);

getch();
return 0;
}

2.4. LAPORAN
1) Kegiatan Praktikum
1. Kompilasi program, klik Compile - Compile (ALT + F9)
2. Perhatikan hasil kompilasi program test20.c tersebut, jika kolom error

15
menampilkan jumlah tertentu, ceklah kembali kode program kamu atau
mintalah bantuan teman sebelah. Jika mereka belum juga selesai,
mintalah bantuan dari pembimbing atau instruktur.
3. Jika kompilasi berhasil sukses, jalankan program, klik Run - Run (CTRL
+ F9) output program kurang lebih akan seperti pada gambar berikut

2) 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.
3) Latihan 2
1. Kompilasi program diatas, klik menu Compile - Compile - OK
2. Jalankan program, klik menu Run - Run
3. Keluaran

Program diatas akan merubah karakter ke bilangan integer ASCII,


seperti contoh karakter d mewakili angka 100 di komputer.
4) Latihan 3
1. Kompilasi program diatas, klik menu Compile - Compile - OK
2. Jalankan program, klik menu Run - Run
Keluaran

Program diatas merupakan program untuk mencari zakat penghasil yang

16
dimana penghasilan dikali persen (penghasilan = 2950000, persen = 0.025)
maka dapat hasilnya 73750.000000, setelah dibulatkan 73750.00

17
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
dimiliki oleh dua variabel yang berbeda. Berikut ini beberapa operator relasi
dalam bahasa C, yang diuraikan pada tabel dibawah ini:

18
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:

OPERATOR ARTI CONTOH KETERANGAN


&& AND (a>1) && (b<1) Akan bernilai benar jika
kondisi (a>1) dan (b<10)

19
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
terbesar atau sebaliknya. Pencacah nilai meningkat satu poin ke nilai selanjutnya
atau turun satu point berikutnya. Operator ini terdiri dari operator increment dan
decrement:

20
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
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

21
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
1) Contoh 1
1. Jalankan editor program Turbo C, lalu buka program baru, klik File-New
2. Simpan program terlebuh dahulu, klik File - Save As. Ganti
NONAME00.CPP menjadi opr30.c
3. Selanjutnya tulis program berikut pada editor turbo C.
#include <stdio.h>

int main() {
int x = 60, y = 30, tambah, kurang, kali, bagi, sisa_bagi;

clrscr();

tambah = x + y;
kurang = x - y;
kali = x * y;
bagi = x / y;
sisa_bagi = x % y;

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();

return 0;

2) 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.

22
#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();

3) Latihan 2
1. Buka program baru kembali, klik menu File – New
2. Ganti file, KlikFile – Save (F2) – ganti NONAME00.CPP menjadi
opr32.c.
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();

4) Latihan 3
1. Buka program baru, klik File – New

23
2. Simpan program, klik File – Save (F2), ganti NONAME00.CPP dengan
opr33.c
3. Tulis (ketik) program berikut ke kotak editor
#include <stdio.h>

int main() {
int i, bilangan;

clrscr();
printf("Input bilangan : "); scanf(nomor);
if(bilangan>0 && bilangan<=bilangan) {
for(i=0; i<bilangan; i++) {
printf("Nilai i adalah %d\n", i);
}
}

getch();
return 0;

5) Latihan 4
1. Buka program baru kembali, klik menu File – New
2. Ganti file, KlikFile – Save (F2) – ganti NONAME00.CPPmenjadi
opr34.c.
3. Klik Ok atau Enter untuk memulai menulis kode program.
4. Selanjutnya tulis program berikut Latihan program 2.2 opr34.c
#include <stdio.h>

int main() {
int x = 5;
int Total = 13;
clrscr();
printf("Nilai Total = %d \n", Total += x );
printf("Nilai Total= %d \n", total -= x );
printf("Nilai Total = %d \n", Total *= x );
printf("Nilai Total= %d \n", total /= x );
printf("Nilai Total = %d \n", Total %= x );
getch();
return 0;
3.4 LAPORAN
1) Contoh 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:

24
2) 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.

3) 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
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.

25
4) Latihan 3
1. Simpan perubahan program, klik File – Save (F2)
2. Kompilasilah program diatas, klik Compile – Compile – OK
3. Jalankan program, klik menu Run – Run
4. Amatilah setiap keluaran program untuk meningkatkan pemahaman

Program di atas merupakan program perulangan untuk menampilkan


bilangan dengan maksimal angka di input user, seperti contoh 10 maka akan
tampil nilai i adalah 0 - nilai i adalah 9
5) Latihan 4
1. Simpan perubahan program, klik File – Save (F2)
2. Kompilasilah program diatas, klik Compile – Compile – OK
3. Analisa kesalahan yang terjadi, dan perbaiki, lalu kompilasi kembali
untuk melihat apakah program sudah benar (sukses)
4. Jalankan program, klik menu Run – Run
Keluaran

Kesalahan terdapat pada variabel total yang dimana huruf t menggunakan


huruf kecil sedangkan di pendeklarasian total menggunakan huruf besar di
awal yaitu Total.

26
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:

27
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 ..

28
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)

29
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:

30
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) Contoh 1
1. Jalankan Editor Program Turbo C++, lalu buka program baru, klik File –
New
2. Simpan program terlebih dahulu, klik File – Save As.., ganti
NONAME00.CPP menjadi opt40.c
3. Selanjutnya tulis program berikut pada editor turbo C++
#include <stdio.h>

int main()
{
clrscr();
if ( 5 < 10 )
printf( "Lima lebih besar dari 10" );
getch();
return 0;

2) 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

31
#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;

3) Latihan 2
1. Buka program baru, klik menu File – New
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) Latihan 3
1. Buka program baru, klik menu File – New
2. Simpan program, klikFile – Save As.. – ganti nama file menjadi opt43.c.
3. Selanjutnya tulis program berikut :

32
#include <stdio.h>

int main(){
int nilai;
clrscr();
printf("Masukkan nilai antara 0-100 : ");
scanf("%d", &nilai);
if(nilai>= 80 && nilai<=100){
printf("NILAI KAMU : A\n");
} else if (nilai >= 70 && nilai <= 79){
printf("NILAI KAMU : B\n");
} else if (nilai >= 60 && nilai <= 69){
printf("NILAI KAMU : C\n");
printf("NILAI KAMU : D\n");

}
else {
printf("NILAI KAMU : Gagal\n");
}
getch();
return(0);
}

5) Latihan 4
1. Buka program baru, klik menu File – New
2. Simpan program, klikFile – Save As.. – ganti nama file menjadi opt44.c.
3. Selanjutnya tulis program berikut :
#include <stdio.h>

void main() {
int i;
clrscr();
printf("Masukkan nilai [1-3] : ");
scanf("%d", &i);
switch(i)
{
case 1:
printf("A");
break;
case 2:
printf("B");
break;
case 3:
printf("C");
break;
default:
printf("Kamu salah menekan kuncinya");
break;

4.4 LAPORAN
1) Contoh 1
1. Simpan perubahan program tersebut, klik File – Save (F2)

33
2. Selanjutnyakompilasi, klikCompile – Compile (ALT + F9).
3. Jalankan program, klikRun – Run (CTRL + F9).
Keluaran program kurang lebih akan seperti pada gambar berikut :

2) 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

3) 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

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

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

34
35
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:

36
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) Contoh 1
1. Jalankanlah editor Turbo C, lalu buka program baru, klik File – New
2. Simpan terlebih dahulu untuk menghindari hal-hal yang tidak diinginkan
3. Klik File – Save As..
4. Ganti NONAME00.CPP menjadi cth50.c
5. Selanjutnya ketika program seperti berikut

37
#include<stdio.h>

void main( )
{
int x;
for(x = 1; x <= 10; x++)
{
printf("%d\t", x);
}

2) Contoh 2
1. Buka program baru, klik File – New
2. Simpan program, File – Save As..
3. Ganti program dengan nama cth51.c
4. Tik program berikut :
#include <stdio.h>

int main () {
int a = 10;
clrscr();
while( a < 20 ) {
printf("Nilai a adalah : %d\n ", a);
a++;
}
getch();
return 0;
3) 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 :
#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;
4) 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 :

38
#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) Latihan 3
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop53.c, klik File – Save As..
3. Tik program berikut :
// Program penjumlahan
#include <stdio.h>

int main()
{
double bilangan, jumlah = 0;
clrscr();
do
{
printf("Masukkan sebuang bilang : ");
scanf("%lf", &bilangan);
jumlah += bilangan;
}
while (bilangan != 0.0);
printf("jumlah = %.2lf",jumlah);
getch();

6) Latihan 4
1. Buka program baru, klik menu File – New
2. Simpan program dengan nama loop54.c, klik File – Save As..
3. Tik program berikut :
// Program segitiga dengan Nested For
#include <stdio.h>
int main() {
int a,b;
clrscr();
for(a=1; a<10; a++) {
for(b=1; b<a; b++){
printf("%d ", b);
}
printf("\n");
}

39
return 0;
}

5.4 LAPORAN
1) Contoh 1
1. Kompilasi program, klik menu Compile – Compile – OK
2. Jalankan program, klik menu Run – Run
Jika program berjalan sukses akan menampilkan keluaran seperti berikut

2) Contoh 2
1. Kompilasilah program tersebut, klik Compile – Compile – OK
2. Jika sukses, jalankan program. Klik Run – Run
Jika program berhasil, akan menampilkan keluaran berikut

3) 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
maka hasil akhirnya 15
4) Latihan 2
1. Simpan perubahan terlebih dahulu, klik File – Save (F2)

40
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.
5) Latihan 3
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

41
Program diatas merupakan program perulangan penjumlahan
menggunakan do..while yang dimana kita bisa menginput nilai sebanyak
yang kita mau selama kita tidak menginput nilai 0, jika kita menginput nilai 0
maka akan perulangan tersebut berhenti dan menampilkan hasil penjumlahan
dari bilangan yang kita input tadi.
6) Latihan 4
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

Dalam perulangan kita bisa membuat bentuk bentuk seperti segitiga kita
membutuhkan perulangan majemuk atau nested loop.

42
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

43
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:

44
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) Contoh 1
1. Jalankan program editor Turbo C
2. Bukan program baru, klik File – New
3. Simpan program, klik menu File – Save As..
4. Tulis program berikut
#include <stdio.h>

int main () {
int ArrBilangan[10];
int i;

clrscr();
for (i = 0; i < 10; i++) {
ArrBilangan[i] = i + 100;
}

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


printf("Elemen ke [%d] = %d\n", i, ArrBilangan[i]);
}

getch();

2) Contoh 2
1. Jalankan program editor Turbo C
2. Bukan program baru, klik File – New
3. Simpan program, klik menu File – Save As..
4. Tulis program berikut
#include <stdio.h>

int main () {
char abjat[2][5];

45
int i, j;

clrscr();

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


for (j = 0; j < 5; j++) {
printf("Huruf ke [%d][%d]: ", i, j);
scanf("%s", &abjat[i],[j]);
}
}

printf("\n");

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


for (j = 0; j < 5; j++) {
printf("%c", abjat[i][j]);
}
printf("\n");
}

getch();

3) 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();
4) 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

46
#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();
5) Latihan 3
1. Buka program baru, File – New
2. Simpan program, File – Save As..dengan nama arr63.c
3. Tulis program di editor Turbo C
#include <stdio.h>

int main () {
char s1[50];

clrscr();

printf("Masukkan beberapa huruf : ");


gets(s1);
printf("\n Input string Anda adalah : %s", strrev(s1));

getch();

return 0;
6.4 LAPORAN
1) Contoh 1
1. Simpan perubahan program, klik File – Save [F2)
2. Jalankan program, jika berhasil program akan menampilkan keluaran
seperti berikut :

47
2) Contoh 2
1. Simpan perubahan program, klik File – Save [F2)
2. Jalankan program, jika berhasil program akan menampilkan keluaran
seperti berikut :

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

48
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
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

49
rerata = jumlah/5
= 15/5
=3
Dapat hasil rerata yaitu 3 dan di keluarkan kelayar.
4) 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
5) Latihan 3
1. Simpan perubahan terlebih dahulu, File – Save (F2)
2. Kompilasi program, Compile – Compile – OK
3. Jalankan program, Run – Run
Keluaran

50
Di dalam program di atas kita menggunakan fungsi gets untuk
menginput data, gets ini berguna untuk menyimpan data yang banyak, untuk
menyelesaikan input data bisa dengan menekan enter. Kemudian ada strrev
yang dimana fungsi ini berguna untuk reverse data atau membalikkan urutan
data yang kita input tadi.

51
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

52
Contoh 1
1. Jalankan program editor Turbo C, selanjutnya buat program baru, File - New
2. Simpan program terlebih dahulu dengan nama cthfg70.c, File - Save As.
3. Kemudian ketikkan program berikut.
//Fungsi dengan metode call by value

#include <stdio.h>
#include <conio.h>

int hitung(int x);

int main() {
int x = 10;

clrscr();
printf("Nilai x adalah %d", x);
getch();
return 0;
}

int hitung(int x) {
x = x + 10;

Contoh 2
1. Buat program baru, File - New
2. Simpan program dengan nama cthfg71.c, File - Save As.
3. Kemudian ketik program berikut
// Fungsi dengan metode Call by reference

#include <stdio.h>
#include <conio.h>

void hitung(int *p);

int main() {
int x = 10;

clrscr();
hitung(&x);
printf("Nilai x adalah %d\n", x);
getch();

return 0;
}

void hitung(int *p) {

Latihan 1
1. Buat program, File - New

53
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);

54
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;

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

void inc(int array[], int size);


void print(int array[], int size);

int main() {
clrscr();
// Array, sebelum ditambah

55
print(a1, 5);

// Array, setelah ditambah


inc(a1, 5);
print(a1, 5);

getch();

return 0;
}

// Fungsi tambah array


void inc(int array[], int size) {
int i;
for (i = 0; i < size; ++i) {
array[i]++;
}
}

// Fungsi cetak array


void print(int array[], int size) {
int i;
printf("{");
for (int i = 0; i < size; ++i) {
printf("%d", array[i]);
if (i < size - 1) {
printf(",");
}

Latihan 5
1. Buat program baru, File - New
2. Simpan progoram dengan nama fungsi75.c, File - Save As.
3. Ketik program berikut
// Fungsi Rekursif

#include <stdio.h>
#include <conio.h>

unsigned long long int factorial(unsigned int i) {


if (i <= 1) {
return 1;
}

return i * factorial(i - 1);


}

int main() {
int i;

clrscr();

printf("Masukkan bilangan bulat >4 : ");


scanf("%d", &i);

printf("Nilai faktorial %d adalah %ld\n", i, faktorial(%d, &i));

56
return 0;
}

Latihan 6
1. Buat program baru, File - New
2. Simpan program dengan nama fungsi76.c, File - Save As.
3. Ketik program berikut
// Deret fibonacci

#include <stdio.h>
#include <conio.h>

int fibonacci(int i) {
if (i == 0) {
return 0;
}

if (i == 1) {
return 1;
}

return fibonacci(i - 1) + fibonacci(i - 2);


}

int main() {
int i;

clrscr();

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


printf("%d\n", fibonacci(i));
}

getch();

7.4 LAPORAN
Contoh 1
1. Simpan perubahan program untuk menghindari hal-hal yang tidak diinginkan
2. Kompilasi program, klik Compile - Compile (Alt - F9) - OK
3. Jalankan program, klik Run - Run (Ctrl - F9)
4. Jika program berhasil akan menampilkan keluaran sebagai berikut:

57
Contoh 2
1. Simpan perubahan program klik File - Save (F2)
2. Kompilasi program, klik Compile - Compile (Alt + F9) - OK
3. Jalankan program, klik Run - Run (Ctrl + F9)
4. Jika program berhasil akan menampilkan keluaran sebagai berikut:

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

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

58
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

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

Latihan 4
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 diatas merupakan progam fungsi yang dimana setiap nilai di index
array akan ditambahkan satu seperti {8, 4, 5, 3, 2} jika ditambahkan satu maka
hasilnya {9, 5, 6, 4 3}.

Latihan 5

59
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 program fungsi rekursif untuk mencari faktorial


sebuah nilai. Dengan menggunakan rekursif kita tidak memerlukan sebuah
perulangan for, tetapi kekurangannya kita tidak bisa menggunakan nested loop.
Latihan 6
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 program fungsi rekursif untuk mencari nilai


fibonacci, fibonacci adalah serangkaian deret angka sederhana yang susunan
angkanya merupakan penjumlahan dari dua angka sebelumnya.

60
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.

61
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
1. Menggunakan dan mengakses struct
1) Buat program baru, File - New
2) Simpan program dengan nama fungsi76.c, File - Save As.
3) Ketik program berikut
#include <stdio.h>

int main () {
struct pgw {
char gol;
char *nama;
char *jab;
float gaji;
};
struct pgw data;

clrscr();
data.gol = 'A';
data.nama = "Irham";
data.jab = "Programmer";
data.gaji = 5.59;

printf("\nGOLOGNGAN : %c",data.gol);
printf("\nNAMA PGW : %s",data.nama);
printf("\nJABATAN PGW : %s",data.jab);
printf("\nGAJI PGW : %.2f",500*data.gaji);

2. Menginput elemen struct


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

int main () {
struct pgw {
char gol;
char nama[15];
char jab[15];

62
};
struct pgw data;

clrscr();
printf("INPUT GOLONGAN : "); scanf("%c", &data.gol);
printf("INPUT NAMA PGW : "); scanf("%s", &data.nama);
printf("INPUT JABATAN PGW : "); scanf("%s", &data.jab);
printf("GAJI /Baris : "); scanf("%f", &data.gaji);

printf("\nGOLONGAN : %c", data.gol);


printf("\nNAMA PGW : %s", data.nama);
printf("\nJABATAN PGW : %s", data.jab);
printf("\nGAJI PGW : %.2f", data.gaji*500);
getch();
return 0;

3. Struct didalam Array


1) Buat program baru, File - New
2) Simpan program dengan nama fungsi76.c, File - Save As.
3) Ketik program berikut
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int main () {
struct pgw {
char gol;
char nama[15];
char jab[15];
float gaji;
};
struct pgw data[3];
clrscr();
int i;
for (i = 0; i < 2; i++) {
printf("INPUT GOLONGAN : "); scanf("%s", &data[i].gol);
printf("INPUT NAMA PGW : "); scanf("%s", data[i].nama);
printf("INPUT JABATAN PGW : "); scanf("%s", data[i].jab);
printf("GAJI /Baris : "); scanf("%f", &data[i].gaji);
printf("\n");
}

printf("\nGol\tNama\tJabatan Gaji\n");
printf("------------------------------\n");

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


printf("%c\t%s\t%s\t%f\n",data[i].gol,data[i].nama,data[i].jab,data[i].gaji*500);
}
printf("------------------------------\n");
getch();
4. Mengirim struct ke fungsi
1) Buat program baru, File - New

63
2) Simpan program dengan nama fungsi76.c, File - Save As.
3) Ketik program berikut
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int htgGaji(int g);

int main () {
struct pgw {
char gol;
char nama[15];
char jab[15];
float gaji;
};
struct pgw data[3];
clrscr();
int i;
for (i = 0; i < 2; i++) {
printf("INPUT GOLONGAN : "); scanf("%s", &data[i].gol);
printf("INPUT NAMA PGW : "); scanf("%s", data[i].nama);
printf("INPUT JABATAN PGW : "); scanf("%s", data[i].jab);
printf("GAJI /Baris : "); scanf("%f", &data[i].gaji);
printf("\n");
}

printf("\nGol\tNama\tJabatan Gaji\n");
printf("------------------------------\n");
for (i = 0; i < 2; i++) {
printf("%c\t%s\t%s\t%f\n",data[i].gol,data[i].nama,data[i].jab,
htgGaji(data[i].gaji));
}
printf("------------------------------\n");
getch();
return 0;
}

8.4 LAPORAN
1. Menggunakan dan mengakses struct
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

64
2. Menginput elemen struct
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

3. Struct didalam Array


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

4. Mengirim struct ke fungsi


1) Simpan perubahan program, File - Save (F2)
2) Kompilasi program, Compile - Compile - OK (Alt + F9)

65
3) Jalankan program, Run - Run (Ctrl + F9)
4) Keluaran program

66
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)

67
Lembar pengesahan yang ditandatangani pejabat lab yang terkait

68

Anda mungkin juga menyukai