Oleh :
Dimas Kurniawan
0701192060
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
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
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;
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
4
MODUL 2 VARIABEL DAN TIPE DATA
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
6
long double 10 byte 3.4E-4932 to 1.1E+4932 19 decimal places
Atau:
#define indentifier nilai
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
9
MODUL 3 OPERATOR C
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:
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:
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)
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:
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:
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();
tambah = a+b;
kurang = a-b;
kali = a*b;
bagi = a/b;
sisa_bagi = a%b;
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
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;
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();
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
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
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
26
MODUL 6 ARRAY
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];
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();
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();
mean = (double)sum/SIZE;
printf("Mean is %.2lf\n", mean);
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
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
32
MODUL 7 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 main() {
int a = 100;
int b = 200;
int maks;
clrscr();
maks = maksimal(a, b);
getch();
return 0;
}
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;
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;
}
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();
getch();
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
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
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;
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() {
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
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
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
43