Anda di halaman 1dari 42

DASAR PEMROGRAMAN

YAZID CHAIRY SYAHPUTRA NASUTION


231712029
KOM A’23

PROGRAM STUDI D-3 TEKNIK INFORMATIKA


FAKULTAS VOKASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2

2023
KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpah
karunia-Nya penulis dapat menyelesaikan penyusunan makalah ini dengan judul
“Dasar-Dasar Pemrograman”.
Terima kasih penulis sampaikan kepada setiap pihak yang sudah mendukung
selama berlangsungnya pembuatan makalah ini. Terkhusus lagi penulis sampaikan.
Terima kasih kepada Bapak Dr. Suyanto, M.Kom selaku dosen pengajar dan Asisten
Laboratorium Egi Ribeka Br Singarimbun yang telah membimbing. Penulis
sekaligus juga berharap semoga makalah ini bisa bermanfaat bagi setiap pembaca.
Disertai keseluruhan rasa rendah hati, kritik dan saran yang membangun amat
penulis nantikan, agar nantinya penulis dapat meningkatkan dan merevisi kembali
pembuatan makalah di tugas lainnya dan di waktu berikutnya

Medan, 23 November 2023

Yazid Chairy Syahputra Nasution

i
DAFTAR ISI

Halaman
KATA PENGANTAR
DAFTAR ISI

BAB 1 PENDAHULUAN
1.1. Latar Belakang
1.2. Rumusan Masalah
1.3. Tujuan

BAB 2 PENGENALAN DASAR PEMROGRAMAN DAN BAHASA C


2.1. Definisi Dasar dan Pemrograman
2.2. Definisi Bahasa C
2.3. Sejarah Bahasa C
2.4. Struktur Dasar Bahasa C
2.5. Variabel dalam Bahasa C

BAB 3 OPERATOR DAN JENIS-JENIS TIPE DATA


3.1. Jenis-jenis Tipe Data dalam Bahasa C
3.2. Operator dalam Bahasa C
3.2.1. Operator Aritmatika
3.2.2. Operator Increment dan Decrement
3.2.3. Operator Perbandingan/Relasional
3.2.4. Operator Logika/Boolean

BAB 4 PERCABANGAN
4.1. If Statement
4.2. If-Else Statement
4.3. If-Else If Statement
4.4. Switch Case
4.5. Operator Ternary
4.6. Percabangan Bersarang (Nested)

BAB 5 LOOPING
5.1. Looping For
5.2. Looping While
5.3. Looping Do-While
5.4. Looping Bersarang (Nested Loop)

BAB 6 FUNCTION
6.1. Pengertian Function
6.2. Jenis-jenis Function
6.2.1. Void Function
6.2.2. Return Value Function
6.2.3. Fungsi dengan Parameter

ii
iii

6.2.4. Fungsi Rekursif


6.3. Membuat Function

BAB 7 ARRAY
7.1. Pengertian Array
7.2. Jenis-jenis Array
7.2.1. Array Satu Dimensi
7.2.2. Array Dua Dimensi
7.2.3. Mengambil Panjang Array

BAB 8 PENUTUP
8.1. Kesimpulan
8.2. Kritik dan Saran

DAFTAR PUSTAKA

iii
BAB 1
PENDAHULUAN

1.1. Latar Belakang


Dalam perjalanan saya melalui kuliah, praktikum, dan bimbingan Asisten
Laboratorium, saya telah memahami Dasar-Dasar Pemrograman yang esensial, yang
juga merupakan syarat untuk mengikuti Ujian Akhir Semester. Makalah ini saya
susun yang isinya mengenai dasar pemrograman singkat yang telah dipelajari dan
contoh-contohnya. Makalah ini juga saya susun untuk menambah ilmu dan
meningkatkan keterampilan saya dalam Bahasa C yang merupakan Bahasa Dasar-
Dasar Pemrograman. Semoga makalah ini dapat bermanfaat sebagai bacaan bagi
Mahasiswa/i prodi Teknik Informatika yang bertujuan untuk meningkatkan
keterampilan dan pengetahuan dasar pemrograman.

1.2. Rumusan Masalah


Berikut merupakan masalah yang akan muncul dalam makalah ini, yaitu:
1. Apa itu Bahasa C dan bagaimana sifat-sifat serta kegunaannya dalam
Pemrograman?
2. Apa saja jenis-jenis tipe data dan bagaimana operator bekerja dalam Bahasa C?
3. Apa saja Conditional Statement dalam Bahasa C dan bagaimana mereka bisa
melakukan percabangan
4. Bagaimana blok kode diulangi dalam Looping

1.3. Tujuan
Tujuan dari Makalah ini adalah sebagai berikut:
1. Melengkapi salah satu tugas Dasar-Dasar Pemrograman
2. Mempelajari Pemrograman Bahasa C
3. Memenuhi Syarat untuk mengikuti UAS (Ujian Akhir Semester) dan Praktikum
Dasar-Dasar Pemrograman
BAB 2
PENGENALAN DASAR PEMROGRAMAN DAN BAHASA C

2.1. Definisi Dasar dan Pemrograman


Dasar adalah asas atau fondasi. Pemograman adalah proses menulis, menguji,
dan memperbaiki kode yang membentuk suatu program komputer. Jadi dasar
pemrograman adalah rangkaian instruksi-instruksi dalam bahasa komputer yang
disusun secara logika dan sistematis.
Program adalah suatu rancangan struktur, desain, kode skema, maupun
bentuk yang lainnya dengan yang disusun sesuai alur Algoritma dengan tujuan
mempermudah suatu permasalahan.

2.2. Definisi Bahasa C


Bahasa C atau dibaca “si” adalah bahasa pemrograman tingkat tinggi
dan general-purpose yang digunakan dalam sehari-hari. Maksud dari general-
purpose adalah bisa digunakan untuk membuat program apa saja. Oleh karena itu
Bahasa C telah menginspirasi banyak bahasa pemrograman lain seperti C++, C#,
Java, PHP, Javascript, dll.

2.3. Sejarah Bahasa C


Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi
pertama dari buku yang berjudul The C Programming Language. Buku ini hingga
sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang
pemrogram yang ingin mengetahui tentang bahasa C, terutama karena begitu
lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang
dicontohkan dalam buku ini. Versi bahasa C yang ditampilkan dalam buku ini
kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku The C
Programming Language edisi kedua kemudian melingkupi ANSI C yang
diperkenalkan belakangan.
3

Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya


membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983,
American National Standards Institute (ANSI) membuat sebuah komite untuk
membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang
dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI
X3.159-1989, versi ini sering kali dinamakan ANSI C, atau kadang-kadang C89.
Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization
(ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini sering
kali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki
sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama.
Versi C99 dibuat oleh ISO C pada tahun 1999. Versi ini dimaksudkan
terutama untuk memperbanyak dukungan kepada pemrograman berorientasi objek,
terutama setelah C++, yang dibuat berdasarkan bahasa ini mendapat tempat yang
istimewa di kalangan pemrogram yang banyak di cari.

2.4. Struktur Dasar Bahasa C

#include <stdio.h>

int main(){

// kode atau logika program kita di sini

return 0;

Ini adalah struktur dasar yang wajib dipahami. Kalau kita perhatikan, struktur
program tersebut dibagi menjadi dua bagian utama, yaitu Bagian Include dan Blok
Fungsi Main.
Pada program C, #include berfungsi untuk mengimpor fungsi-fungsi yang
sudah didefinisikan pada header file. Header file adalah file yang berisi definisi
fungsi yang sudah dibuat. Tujuannya agar bisa digunakan pada program C yang
lainnya. File ini berekstensi .h, contoh: stdio.h.
4

Pada contoh sebelumnya, kita mengimpor file stdio.h. File ini berisi deklarasi
fungsi-fungsi dasar yang kita butuhkan untuk membuat program C,
seperti printf(). File stdio.h sudah ada di dalam komputer kita saat
menginstal gcc.
Fungsi main() adalah fungsi utama dalam program. Fungsi ini akan
dieksekusi pertamakali saat program dijalankan. Karena itu, kita harus menuliskan
logika program di dalam fungsi ini.

int main(){

//...

return 0

Maksud dari int di depan main adalah Tipe Data yang akan dikembalikan.
Maka di dalam fungsi main(), wajib kita sertakan return 0. Artinya,
fungsi main akan mengembalikan nilai 0 setelah selesai dieksekusi.
Cara lain kita bisa menggunakan void.

void main(){

//...

Void artinya tidak ada (kosong). Jika kita menggunakan void, maka kita tidak
perlu menuliskan kata kunci return di akhir fungsi. Karena fungsi void tidak akan
mengembalikan nilai apapun. Oleh karena itu, Anda tidak perlu menuliskan kata
kunci return dengan nilai apa pun di akhir fungsi void

2.5. Variabel dalam Bahasa C


Variabel adalah tempat menampung Data atau konstanta yang mempunyai
nilai atau Data yang dapat berubah-ubah selama proses program. Nama dari suatu
variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut :
5

1. Terdiri dari gabungan huruf, angka, dan underscore dengan karakter pertama harus
berupa huruf atau underscore. Bahasa C bersifat case-sensitive artinya huruf besar
dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis
bawah(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan
antara lain: $, ?, %, #, !, &, *, (,), -, +, =
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai
5. Tidak boleh menggunakan kata kunci pada bahasa C, contoh: if, int, void, dll.

Contoh perbandingan Variabel yang benar dan yang salah ada pada dibawah ini:

int angka;

float nilaiRata;

char karakter; // Yang benar

int 3buah;

float nilai rata;

char karakter#; // Yang Salah

Dan sama halnya berlaku seperti “nilai_Rata” dan “nilai_rata”. Kedua hal
tersebut berbeda dari “r” dan “R” dikarenakan Bahasa C yang memiliki sifat Case
Sensitive. Jadi jika ingin membuat program dalam Bahasa C, alangkah baiknya untuk
memperhatikan variabel dikarenakan adanya Case Sensitive.
BAB 3
OPERATOR DAN JENIS-JENIS TIPE DATA

3.1. Jenis-jenis Tipe Data dalam Bahasa C


Ada 8 Jenis-jenis Tipe Data dalam Bahasa C, yaitu:
1. Tipe Data Dasar: Sesuai dengan namanya, Tipe Data dasar adalah Tipe Data
paling dasar yang tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis Tipe
Data dasar:
a. Char: Tipe Data yang berisi 1 huruf atau 1 karakter. Format Specifiernya
yaitu “%c”.
b. Integer: Tipe Data untuk menampung angka bulat. Format Specifiernya yaitu
“%d” atau “%i”.
c. Float: Tipe Data untuk menampung angka pecahan. Format Specifiernya
yaitu “%f”.
2. Tipe Data Turunan: Tipe Data turunan berasal dari Tipe Data dasar yang
dikelompokkan atau di modifikasi. Terdapat 3 Tipe Data turunan di dalam bahasa
pemrograman C:
a. Array: Tipe Data yang terdiri dari kumpulan Tipe Data dasar. Tipe Data
tersebut harus 1 jenis.
b. Structure: Tipe Data yang terdiri dari kumpulan Tipe Data dasar. Tipe Data
tersebut bisa lebih dari 1 jenis.
c. Pointer: Tipe Data untuk mengakses alamat memory secara langsung.
3. Tipe Data bentukan: Tipe Data yang dibuat sendiri oleh kita (programmer). Isinya
berupa Data-Data yang sudah ditentukan. Tipe Data bentukan ini dikenal juga
sebagai Enumerated Data Type atau disingkat sebagai enum.
4. Tipe Data void: Tipe Data khusus yang menyatakan tidak ada Data.
Penggunaannya khusus untuk beberapa situasi seperti function yang tidak
mengembalikan nilai (return void), atau mengisi argumen function dengan nilai
kosong.
7

5. Tipe Data Boolean: Tipe Data Boolean merupakan Tipe yang memiliki dua nilai
yaitu benar (true) atau salah (false). Nilai yang digunakan pada Tipe ini sangat
penting dalam mengambil keputusan suatu kejadian tertentu.

3.2. Operator dalam Bahasa C


Operator itu sendiri adalah tanda yang digunakan untuk menyelesaikan suatu operasi
tertentu. Berikut merupakan Operator-operator dalam Bahasa C.

3.2.1. Operator Aritmatika


Operator aritmatika adalah operator yang biasa kita temukan untuk operasi
matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang membahas
perhitungan sederhana, seperti kali, bagi, tambah dan kurang.

Operator Penjelasan Contoh


+ Penambahan a = 5 + 2
- Pengurangan a = 5 – 2
* Perkalian a = 5 * 2
/ Pembagian a = 5 / 2
% Sisa hasil bagi (Modulus) a = 5 % 2
+ Plus a = +5
- Minus a = -5
Tabel 3.1. Operator Aritmatika
8

3.2.2. Operator Increment dan Decrement


Increment digunakan untuk menambah variabel sebanyak 1 angka, sedangkan
Decrement digunakan untuk mengurangi variabel sebanyak 1 angka.

Operator Penjelasan Contoh


Pre-Increment Tambah a sebanyak 1 angka, lalu ++a
tampilkan hasilnya
Pre-Decrement Kurangi a sebanyak 1 angka, lalu --a
tampilkan hasilnya
Post-Increment Tampilkan nilai a, lalu tambah a++
sebanyak 1 angka
Post-Decrement Tampilkan nilai a, lalu kurangi a--
sebanyak 1 angka
Tabel 3.2. Increment/Decrement

3.2.3. Operator Perbandingan/Relasional


Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah nilai
tersebut sama besar, lebih kecil, lebih besar, dll.

Operator Penjelasan Contoh Hasil


== Sama dengan 5 == 5 1 (true)
!= Tidak sama dengan 5 != 5 0 (false)
> Lebih besar dari 5 > 5 0 (false)
< Lebih kecil dari 5 < 5 0 (false)
>= Lebih besar sama 5 >= 5 1 (true)
dengan
<= Lebih kecil sama dengan 5 <= 5 1 (true)
Tabel 3.3. Operator Perbandingan/Relasional
9

3.2.4. Operator Logika/Boolean


Operator logika dipakai untuk menghasilkan nilai Boolean true atau false dari 2
kondisi atau lebih.

Operator Nama Penjelasan Contoh


&& And Akan menghasilkan 1 jika kedua 1 && 0,
operand 1 hasilnya: 0
|| Or Akan menghasilkan 1 jika salah 1 || 0,
satu operand 1 hasilnya: 1
! Not Akan menghasilkan 1 jika operand 1 ! 0, hasilnya:
0 1
Tabel 3.4. Operator Logika/Boolean

3.2.5. Operator Assignment/Penugasan


Operator Assignment merupakan operator untuk memberikan tugas pada variabel.
Biasanya untuk mengisi nilai.

Tabel 3.5. Operator Assignment/Penugasan


Nama Operator Simbol
Pengisian Nilai =
Pengisian dan Penambahan +=
Pengisian dan Pengurangan -=
Pengisian dan Perkalian *=
Pengisian dan Pembagian /=
Pengisian dan Sisa bagi %=
Pengisian dan Shift Left <<=
Pengisian dan Shift Right >>=
BAB 4
PERCABANGAN

4.1. If Statement
If Statement atau Pernyataan If adalah pernyataan bersyarat dan digunakan
untuk pengambilan keputusan. Ini bertindak sebagai persimpangan jalan atau cabang.
Pernyataan bersyarat mengambil tindakan tertentu berdasarkan hasil pemeriksaan
atau perbandingan yang terjadi. Jadi, secara keseluruhan, if pernyataan tersebut
mengambil keputusan berdasarkan suatu kondisi. Kondisinya adalah ekspresi
Boolean. Ekspresi Boolean hanya dapat berupa salah satu dari dua nilai – benar atau
salah. Jika kondisi yang diberikan bernilai “true” hanya maka kode di dalam if blok
akan dieksekusi. Jika kondisi yang diberikan bernilai “false”, kode di dalam if blok
akan diabaikan dan dilewati. Contoh Program dari if statement dalam C adalah
sebagai berikut:

#include <stdio.h>

void main(){
printf("== Program Pembayaran ==\n");
int total_belanja = 0;

printf("Inputkan total belanja: ");


scanf("%i", &total_belanja);

// menggunakan blok percabangan if


if( total_belanja > 100000 ){
printf("Selamat, Anda mendapatkan hadiah!\n");
}

printf("Terimakasih sudah berbelanja di toko kami\n\n");


}
11

Yang menghasilkan output seperti ini:

G
ambar 4.1. Output If Statement

4.2. If-Else Statement


Pada pernyataan if, kita hanya diberi sebuah pilihan atau pernyataan yang
dieksekusi jika kondisi bernilai benar. Namun, ada suatu kondisi tertentu dimana kita
membutuhkan pengeksekusian suatu perintah khusus jika kondisi bernilai salah.
Pernyataan if-else adalah bentuk pernyataan percabangan yang memiliki dua blok
pilihan. Blok pilihan pertama akan dieksekusi jika kondisi true dan blok pilihan
kedua akan dieksekusi jika kondisi bernilai false. Contoh Program dari if-else
statement dalam C adalah sebagai berikut:

#include <stdio.h>

void main(){
// membuat array karakter untuk menyimpan password
char password[30];

printf("==== Program Login ====\n");


printf("Masukan password: ");
scanf("%s", &password);

// percabangan if/else
if( strcmp(password, "kopi") == 0 ){
printf("Selamat datang bos!\n");
12

} else {
printf("Password salah, coba lagi!\n");
}

printf("Terimakasih sudah menggunakan aplikasi ini!\n");


}

Yang menghasilkan Output seperti ini (jika benar):

Gambar 4.2. Output If-Else Statement (jika benar)

Dan menghasilkan Output seperti ini (jika salah):

Gambar 4.3. Output If-Else Statement (jika salah)

Jadi seperti itulah If-Else Statement, percabangan yang mengeksekusi If, jika
kondisinya terpenuhi, namun mengeksekusi Else jika kondisi if tidak terpenuhi.
13

4.3. If-Else If Statement


Percabangan jenis ini merupakan perluasan dari struktur if else yang memiliki
dua kondisi atau lebih, yaitu dengan menyisipkan 1 atau lebih kondisi ke dalamnya.
Percabangan if-else if ini penting untuk diketahui sebab pada kondisi tertentu kita
memerlukan pengeksekusian suatu perintah khusus dari beberapa perintah khusus
yang ada. Pada sintaks if-else if berikut kita dapat melihat bahwa terdapat lebih dari
satu kondisi di dalam rangkaian blok percabangan. Proses pengujian kondisinya
dimulai dari kondisi paling atas ke bawah. Berikut Contoh Sintaks If-Else If:

#include <stdio.h>

void main(){
int nilai;
char grade;

printf("=== Program Grade Nilai ===\n");


printf("Inputkan nilai: ");
scanf("%i", &nilai);

// menggunakan percabangan if/else/if


if (nilai >= 90) {
grade = 'A';
} else if (nilai >= 80) {
grade = 'B'; // seharusnya B+
} else if (nilai >= 70) {
grade = 'B';
} else if (nilai >= 60) {
grade = 'C'; // seharusnya C+
} else if (nilai >= 50) {
grade = 'C';
} else if (nilai >= 40) {
grade = 'D';
} else if (nilai >= 30) {
grade = 'E';
} else {
14

grade = 'F';
}

printf("Nilai: %i\n", nilai);


printf("Grade anda: %c\n", grade);
}

Yang menghasilkan Output seperti ini:

Gambar 4.4. Output Program If-Else If Statement

4.4. Switch Case


Switch Case adalah percabangan kode program dimana kita membandingkan
isi sebuah variabel dengan beberapa nilai. Jika proses perbandingan tersebut
menghasilkan nilai true, maka block kode program akan dijalankan. Kondisi Switch
Case terdiri dari 2 bagian, yakni perintah Switch dimana terdapat nama variabel yang
akan diperiksa, serta 1 atau lebih perintah Case, masing-masing untuk setiap nilai
yang ingin diperiksa. Berikut merupakan contoh Program Switch Case:

#include <stdio.h>

void main(){

char grade;

printf("Inputkan grade: ");


scanf("%c", &grade);

switch (toupper(grade)){
case 'A':
15

printf("Luar biasa!\n");
break;
case 'B':
case 'C':
printf("Bagus!\n");
break;
case 'D':
printf("Anda lulus\n");
break;
case 'E':
case 'F':
printf("Anda remidi\n");
break;
default:
printf("Grade Salah!\n");
}
}

Yang menghasilkan Output seperti ini:

Gambar 4.5. Output Switch Case

4.5. Operator Ternary


Operator ternary, juga dikenal sebagai operator kondisional, adalah cara
ringkas untuk menulis pernyataan if-else sederhana dalam banyak bahasa
pemrograman. Operator ternary merupakan cara ringkas untuk menyatakan kondisi
sederhana, tetapi penting untuk menggunakannya dengan bijak agar tetap
mempertahankan keterbacaan kode. Untuk kondisi yang lebih kompleks atau
16

beberapa pernyataan, penggunaan pernyataan if-else mungkin lebih tepat. Berikut


merupakan contoh Program Operator Ternary:

#include <stdio.h>

void main(){

int jawaban;

printf("Berapakah hasil 3+4?\n");


printf("jawab> ");
scanf("%d", &jawaban);

printf("Jawaban anda: %s\n", (jawaban == 7) ? "Benar"


: "Salah");

Yang menghasilkan Output seperti ini:

Gambar 4.6. Output Operator Ternary

4.6. Percabangan Bersarang (Nested)


Percabangan bersarang (nested) adalah konsep dalam pemrograman di mana
satu percabangan (if, else if, atau else) ditempatkan di dalam percabangan lain. Ini
memungkinkan kita untuk mengevaluasi beberapa kondisi secara bersarang. Berikut
merupakan contoh Program Percabangan Bersarang (Nested):

#include <stdio.h>
17

void main(){
char username[30], password[30];
printf("=== Welcome to Awesome Program ===\n");
printf("Username: ");
scanf("%s", &username);
printf("Password: ");
scanf("%s", &password);
if(strcmp(username, "petanikode") == 0){
if(strcmp(password, "kopi") == 0){
printf("Selamat datang bos!\n");
} else {
printf("Password salah, coba lagi!\n");
}
} else {
printf("Anda belum terdaftar\n");
}
}

Yang menghasilkan Output seperti ini:

Gambar 4.7. Output Percabangan Nested


BAB 5
LOOPING

5.1. Looping For


Perulangan for merupakan perulangan yang termasuk dalam couted loop,
karena sudah jelas berapa kali ia akan mengulang. Dalam perulangan for, kita telah
menentukan jumlah iterasi atau perulangan sejak awal. Berikut Flowchart Looping
For:

Gambar 5.1. Flowchart Looping For


19

Dan berikut Contoh Program Looping for:

#include <stdio.h>

void main(){
for(int i = 0; i < 10; i++){
printf("Perulangan ke-%i\n", i);
}
}

Yang menghasilkan Output seperti ini:

Gambar 5.2. Output Looping For

Dalam contoh ini, variabel i diinisialisasi dengan nilai 1, perulangan


dilakukan selama nilai i kurang dari 10, dan setiap iterasi nilai i bertambah satu.
Perlu diingat bahwa variabel yang diinisialisasi, kondisi, dan iterasi dapat
disesuaikan sesuai dengan kebutuhan program. Perulangan for sangat berguna untuk
kasus-kasus di mana kita tahu jumlah iterasi yang pasti. Looping For juga sangat
cocok untuk perulangan terhitung, yaitu perulangan yang bergantung pada variabel
penghitung atau indeks. Inisialisasi, kondisi, dan pembaruan variabel penghitung
dapat ditangani secara langsung di dalam pernyataan for.
20

5.2. Looping While


Perulangan while merupakan perulangan yang termasuk dalam perulangan
uncounted loop. Perulangan while juga dapat menjadi perulangan yang counted
loop dengan memberikan counter di dalamnya. Berikut ini Flowchart Looping

While:

Gambar 5.3. Flowchart Looping While

Dan Berikut ini contoh Program Looping While:

#include <stdio.h>

void main(){
char ulangi = 'y';
int counter = 0;
21

// perulangan while
while(ulangi == 'y'){
printf("Apakah kamu mau mengulang?\n");
printf("Jawab (y/t): ");
scanf(" %c", &ulangi);

// increment counter
counter++;
}

printf("\n\n----------\n");
printf("Perulangan Selesai!\n");
printf("Kamu mengulang sebanyak %i kali.\n", counter);
}

Yang menghasilkan Output seperti ini:

Gambar 5.4. Output Looping While

Perulangan akan terjadi selama variabel ulangi bernilai y. Lalu kita


menggunakan fungsi scanf() untuk mengambil input. Selama kita menjawab
y pada input, maka perulangan akan terus dilakukan. Tapi kalau kita jawab yang lain,
maka perulangan akan dihentikan. Karena kondisi perulangannya tidak terpenuhi.
22

5.3. Looping Do-While


Perulangan do/while sama seperti perulangan while. Perbedaanya hanya pada
Perulangan do/while akan melakukan perulangan sebanyak 1 kali terlebih dahulu,
lalu mengecek kondisi yang ada di dalam kurung while. Berikut Flowchart Looping
Do-While:

Gambar 5.5. Flowchart Looping Do-While

Dan berikut contoh Program Looping Do-While:

#include <stdio.h>

void main(){
23

char ulangi = 'y';


int counter = 0;

do {
printf("Apakah kamu mau mengulang?\n");
printf("Jawab (y/t): ");
scanf(" %c", &ulangi);

// increment counter
counter++;
} while(ulangi == 'y');

printf("\n\n----------\n");
printf("Perulangan Selesai!\n");
printf("Kamu mengulang sebanyak %i kali.\n", counter);
}

Yang menghasilkan Output seperti ini:

Gambar 5.6. Output Looping Do-While


24

5.4. Looping Bersarang (Nested Loop)


Di dalam blok perulangan, kita juga dapat membuat perulangan. Ini disebut
dengan nested loop atau perulangan bersarang atau perulangan di dalam perualangan.
Berikut contoh Programnya:

#include <stdio.h>

void main(){
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
printf("Perulangan ke (%d, %d)\n", i, j);
}
}
}

Yang menghasilkan Output seperti Ini:

Gambar 5.7. Output Nested Loop


25
BAB 6
FUNCTION

6.1. Pengertian Function


Fungsi (function) dalam pemrograman adalah blok kode terorganisir yang
dapat dieksekusi untuk menyelesaikan tugas tertentu. Fungsi membantu
mengorganisasi kode ke dalam bagian yang dapat dipanggil dari bagian lain program,
membuatnya lebih mudah dimengerti, dikelola, dan digunakan kembali. Fungsi ini
memang wajib ada di program C karena akan dieksekusi pertama kali. Berikut
sintaks dasar dari Fungsi (Function):

#tipeDataKembalian namaFunction(){
// Isi function disini…
// Isi function disini…
Return nilai;
}

Bagian tipeDataKembalian diisi dengan tipe data nilai yang dikembalikan


sebuah fungsi. Tipe data ini sudah kita pelajari sebelumnya
seperti int, double atau char. Jika suatu fungsi tidak mengembalikan
nilai, tipeDataKembalian ditulis sebagai void. Sebuah fungsi yang tidak
mengembalikan nilai kadang disebut juga sebagai procedure.
Penulisan namaFunction boleh bebas, tidak ada standar penamaan tertentu untuk
fungsi bahasa C selama mengikuti aturan penulisan identifier, yakni tidak boleh di
awali angka dan tidak boleh mengandung spasi. Setelah penulisan namaFunction,
terdapat tanda kurung (). Nantinya tanda kurung ini bisa diisi dengan parameter atau
argument. Parameter adalah sebutan untuk nilai inputan fungsi pada saat fungsi itu
didefinisikan, sedangkan argumen adalah sebutan untuk nilai inputan fungsi pada
saat fungsi itu dipanggil.Tergantung kebutuhan, sebuah fungsi bisa menerima 1, 2,
atau lebih dari 5 parameter atau argumen, namun bisa juga tidak memerlukan sama
sekali.
26

6.2. Jenis-jenis Function


Dalam Bahasa C ada beberapa jenis-jenis Function. Berikut merupakan jenis-jenis
Function:

6.2.1. Void Function


Void Function dalam bahasa pemrograman C adalah jenis fungsi yang tidak
mengembalikan nilai. Artinya, fungsi ini hanya digunakan untuk menjalankan
serangkaian pernyataan atau tugas tertentu, tetapi tidak memberikan hasil atau nilai
kembali kepada pemanggil. Berikut sintaks dasarnya:

void namaFungsi(parameter1_tipe parameter1, parameter2_tipe


parameter2,…) {
// Blok pernyataan atau tugas fungsi
// …

6.2.2. Return Value Function


Fungsi dengan nilai kembali atau Return Value Function dalam bahasa
pemrograman C adalah jenis fungsi yang mengembalikan nilai kepada pemanggil. Ini
memungkinkan hasil dari suatu komputasi atau operasi dapat digunakan di tempat
pemanggil fungsi tersebut. Berikut Sintaks dasarnya:

tipe_data namaFungsi(parameter1_tipe parameter1,


parameter2_tipe parameter2, …) {
// Blok pernyataan atau tunas fungsi
// …
return nilai_kembali; // Tergantung pada tipe data fungsi
}
27

6.2.3. Fungsi dengan Parameter


Fungsi dengan Parameter dalam bahasa pemrograman C adalah jenis fungsi
yang menerima satu atau lebih parameter sebagai input. Parameter adalah nilai-nilai
yang diberikan kepada fungsi saat pemanggilan dan fungsi dapat menggunakan nilai-
nilai ini untuk melakukan operasi atau perhitungan. Berikut Sintaks dasarnya:

tipe_data namaFungsi(tipe_parameter1 parameter1,


tipe_parameter2 parameter2,…) {
// Blok pernyataan atau tugas fungsi
// Menggunakan parameter1, parameter2, dan seterusnya
// …
return nilai_kembali; // Tergantung pada tipe data fungsi
}

6.2.4. Fungsi Rekursif


Fungsi Rekursif dalam bahasa pemrograman adalah jenis fungsi yang
memanggil dirinya sendiri selama proses eksekusi. Fungsi Rekursif berguna untuk
menyelesaikan masalah atau tugas yang dapat dibagi menjadi submasalah yang
serupa. Pemanggilan Fungsi Rekursif harus memiliki kondisi basis atau kondisi
berhenti untuk menghindari pemanggilan tak terbatas. Berikut Sintaks dasarnya:

tipe_data namaFungsi(tipe_parameter1 parameter1,


tipe_parameter2 parameter2,…) {
// Blok pernyataan atau tugas fungsi
// Menggunakan parameter1, parameter2, dan seterusnya
// …
return nilai_kembali; // Tergantung pada tipe data fungsi
}
28

6.3. Membuat Function


Pendefinisian User Defined Function harus ditulis di luar function main() seperti
format berikut:

#include <stdio.h>

tipeDataKembalian namaFunction(tipeData param1, tipeData


param2){
// Isi function disini…
// Isi function disini…
return nilai;
}

int main(void)
{
// Jalankan function
namaFunction(arg 1, arg 2)

return 0;
}

Dalam contoh format di atas, pendefinisian function ada di baris 3 – 7. Ketika


sebuah function di definisikan, function tersebut belum berjalan. Disini kita hanya
memberitahu compiler bahasa C bahwa sebuah function sudah disiapkan. Agar bisa
berjalan, sebuah function harus dipanggil dengan cara menulis nama fungsi tersebut
di dalam method main(). Inilah yang dilakukan oleh perintah di baris 12. Berikut
contoh programnya:

#include <stdio.h>

// Prototipe fungsi
void sapaYazid();

int main(void)
{
29

// Memanggil fungsi
sapaYazid();

return 0;
}

// Definisi fungsi
void sapaYazid(){
printf("Hai Yazid\n");
}

Yang menghasilkan Output seperti ini:

Gambar 6.1. Output Function

Prototipe fungsi yang memberitahu kompiler bahwa akan ada sebuah fungsi
bernama sapaYazid yang akan didefinisikan nanti dalam program. Ini membantu
compiler untuk mengetahui tentang fungsi sebelum fungsi tersebut dipanggil dalam
fungsi main.
BAB 7
ARRAY

7.1. Pengertian Array


Array merupakan struktur data yang digunakan untuk menyimpan
sekumpulan data dalam satu tempat. Setiap data dalam Array memiliki indeks,
sehingga kita akan mudah memprosesnya. Indeks Array selalu dimulai dari angka nol
(0).

7.2. Jenis-jenis Array


Array memiliki banyak jenis, tapi secara umum ada dua, yaitu Array Satu Dimensi
dan Array Dua Dimensi.

7.2.1. Array Satu Dimensi


Array satu dimensi dalam Bahasa C adalah struktur data yang menyimpan
elemen-elemen sejajar satu sama lain. Array ini memiliki satu indeks yang digunakan
untuk mengakses setiap elemen di dalamnya. Contoh programnya:

#include <stdio.h>

void main(){
char huruf[5] = {'a', 'b', 'c', 'd', 'e'};

printf("Huruf: %c\n", huruf[2]);


}

Yang menghasilkan Output Seperti ini:


31

Gambar 7.1. Output Array Satu Dimensi

7.2.2. Array Dua Dimensi


Array Dua Dimensi dalam Bahasa C adalah struktur data yang menyimpan
elemen-elemen dalam bentuk matriks dengan dua indeks: satu untuk baris dan satu
untuk kolom. Contoh Programnya:

#include <stdio.h>
void main(){
int matriks[3][3] = {
{1, 3, 5},
{5, 3, 1},
{6, 2, 3}
};
printf("Isi Data pada indeks ke-(1,0): %d\n",
matriks[1][0]);
}

Dan berikut Outputnya:

Gambar 7.2. Output Array Dua Dimensi

7.2.3. Mengambil Panjang Array


Kita dapat mengambil panjang Array dengan sizeof(). Sizeof()
sendiri adalah operator dalam bahasa pemrograman C yang digunakan untuk
mengukur ukuran dari tipe data atau variabel tertentu dalam byte. Operator ini dapat
digunakan untuk menghitung ukuran tipe data, array, struktur. Berikut contoh
Programnya:
32

#include <stdio.h>

void main(){
// membuat array
int nilai[5] = {33, 22, 11, 44, 21};

// mengambil banyaknya isi array


int length = sizeof(nilai) / sizeof(*nilai);

printf("Banyaknya isi array nilai: %d\n", length);


}

Berikut Outputnya:

Gambar 7.3. Output Panjang Array

Perlu diingat bahwa nilai yang dikembalikan oleh sizeof adalah unsigned
integer yang biasanya diwakili oleh tipe size_t. Ukuran dalam byte dapat berbeda-
beda tergantung pada arsitektur dan sistem tempat program dijalankan. Penting untuk
dicatat bahwa hasil sizeof tidak selalu sama di setiap platform atau sistem. Array juga
berguna dalam alokasi memori dinamis, seperti ketika menggunakan fungsi malloc
atau calloc. Ini contohnya:

#include <stdio.h>

void main(){
// membuat array
int nilai[5] = {33, 22, 11, 44, 21};

// mengambil banyaknya isi array


int length = sizeof(nilai) / sizeof(*nilai);
33

printf("Banyaknya isi array nilai: %d\n", length);


}

Outputnya dibawah ini:

Gambar 7.4. Array dengan malloc atau calloc

Jadi perbedaan antara Array satu Dimensi dan dua Dimensi ada pada struktur
penyimpanan data di dalamnya. Array satu Dimensi menyimpan elemen-elemen data
dalam satu baris atau satu kolom. Setiap elemen Array satu Dimensi dapat diakses
dengan menggunakan satu indeks saja. Elemen-elemennya disusun secara berurutan,
sehingga representasinya linear. Sedangkan, Array dua Dimensi menyusun elemen-
elemen data dalam bentuk matriks, dengan dua indeks (baris dan kolom). Setiap
elemen Array dua Dimensi memerlukan dua indeks (baris dan kolom) untuk diakses.
Elemen-elemen disusun dalam baris dan kolom, menciptakan struktur matriks
BAB 8
PENUTUP

8.1. Kesimpulan
Pemrograman memiliki akar yang dalam sejarah, dengan Bahasa C sebagai
pionir yang berasal dari bahasa BCPL oleh Martin Richards pada tahun 1967.
Kemudian, C++ dikembangkan oleh Bjarne Stroustrup pada awal tahun 1980-an
untuk mendukung pemrograman berorientasi objek yang tidak dimiliki oleh Bahasa
C.
Bahasa pemrograman C dan C++ memiliki sifat standar yang memungkinkan
portabilitas kode antar platform dengan sedikit modifikasi. Keduanya memiliki peran
penting dalam pengembangan perangkat lunak, dengan C++ membawa konsep
pemrogramn berorientasi objek untuk memfasilitasi desain yang lebih modular dan
mudah dimengerti.
Selain itu, Code::Blocks sebagai lingkunan pengembangan terpadu
menambahkan nilai dengan bersifat bebas, nirlaba, dan bersumber terbuka.
Code::Blocks menyedikan dukungan lintas platform, memudahkan pengembang
dalam proses pengembang dalam proses pengembangan perangkat lunak, terutama
dalam bahasa C dan C++.

8.2. Saran
Dalam mengembangkan kemampuan dalam bahasa pemrograman, ada
beberapa saran yang dapat diambil untuk meningkatkan keterampilan dan
pemahaman, terutama dalam Bahasa C. Pertama, disarankan bagi individu yang ingin
mempelajari bahasa pemrograman untuk memulai perjalanan belajar mereka sejak
usia dini. Pemahaman dasar dan eksplorasi awal dapat memberikan landasan yang
kuat untuk pemahaman konsep-konsep yang lebih kompleks di masa depan. Selain
itu bagi individu juga dapat meningkatkan skill dari tutorial di internet, buku, dan
juga kursus dari luar. Karena mengandalkan pembelajaran dari sekolah atau kampus
saja, tidak akan cukup.
35
DAFTAR PUSTAKA

https://www.duniailkom.com/tutorial-belajar-c-cara-membuat-fungsi-function-
bahasa-c/

https://www.dicoding.com/blog/belajar-pemrograman-c-pemula/

https://www.petanikode.com/c-perulangan/

https://www-freecodecamp-org.translate.goog/news/if-statement-in-c-how-to-use-if-
else-statements-in-the-c-programming-language/?
_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc

https://id.wikipedia.org/wiki/C_(bahasa_pemrograman)

https://onlinelearning.binus.ac.id/computer-science/post/pemograman-bahasa-c

https://revou.co/kosakata/bahasa-c

https://danacita.co.id/blog/bahasa-pemrograman-c-untuk-pemula/

https://academy.alterra.id/blog/belajar-bahasa-c-untuk-pemula/

Anda mungkin juga menyukai