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
i
DAFTAR ISI
Halaman
KATA PENGANTAR
DAFTAR ISI
BAB 1 PENDAHULUAN
1.1. Latar Belakang
1.2. Rumusan Masalah
1.3. Tujuan
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
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.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
#include <stdio.h>
int main(){
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
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;
int 3buah;
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
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.
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;
G
ambar 4.1. Output If Statement
#include <stdio.h>
void main(){
// membuat array karakter untuk menyimpan password
char password[30];
// percabangan if/else
if( strcmp(password, "kopi") == 0 ){
printf("Selamat datang bos!\n");
12
} else {
printf("Password salah, coba lagi!\n");
}
Jadi seperti itulah If-Else Statement, percabangan yang mengeksekusi If, jika
kondisinya terpenuhi, namun mengeksekusi Else jika kondisi if tidak terpenuhi.
13
#include <stdio.h>
void main(){
int nilai;
char grade;
grade = 'F';
}
#include <stdio.h>
void main(){
char 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");
}
}
#include <stdio.h>
void main(){
int jawaban;
#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");
}
}
#include <stdio.h>
void main(){
for(int i = 0; i < 10; i++){
printf("Perulangan ke-%i\n", i);
}
}
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);
}
#include <stdio.h>
void main(){
23
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);
}
#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);
}
}
}
#tipeDataKembalian namaFunction(){
// Isi function disini…
// Isi function disini…
Return nilai;
}
#include <stdio.h>
int main(void)
{
// Jalankan function
namaFunction(arg 1, arg 2)
return 0;
}
#include <stdio.h>
// Prototipe fungsi
void sapaYazid();
int main(void)
{
29
// Memanggil fungsi
sapaYazid();
return 0;
}
// Definisi fungsi
void sapaYazid(){
printf("Hai Yazid\n");
}
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
#include <stdio.h>
void main(){
char huruf[5] = {'a', 'b', 'c', 'd', 'e'};
#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]);
}
#include <stdio.h>
void main(){
// membuat array
int nilai[5] = {33, 22, 11, 44, 21};
Berikut Outputnya:
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};
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/