Anda di halaman 1dari 20

Laporan Praktikum Algoritma dan Pemrograman

Nama : Dewa Ayu Putri Diah Pramesti


NIM : 1908561035
Kelas :B

Laboratorium Programing
Jurusan Ilmu Komputer/Teknik Informatika
Fakultas Matematika dan Pengetahuan Alam
Universitas Udayana
Badung
2020
BAB I
LANDASAN TEORI

1.1 Pengenalan Bahasa C

1.1.1 Struktur Dasar Bahasa C


Bahasa C tergolong bahasa tingkat tinggi dalam bahasa pemrograman
karena banyak perintah dasar dari bahasa C yang menggunakan bahasa
yang dapat dimengerti oleh manusia (bahasa Inggris). Bahasa C memiliki
beberapa struktur dalam programnya, di antaranya sebagai berikut:

1. Header File
Header file juga bisa disebut dengan berkas. Berkas atau header file berisi
fungsi, di mana fungsi-fungsi tersebut telah didefinisikan di dalam berkas.
Misalnya saja pendefinisian konstanta, variabel, dan sebagainya. Contoh
penulisan header dalam bahasa C:

stdio.h

conio.h

Biasanya, penulisan header file dalam program bahasa C diikuti dengan


bagian yang berfungsi untuk mengikutsertakan berkas fungsi. Bagian
tersebut ditulis dengan:

#include

Jadi, bila digabungkan, penulisan header file akan menjadi seperti:

#include<stdio.h>

#include<conio.h>

2. Fungsi main()
Ketika program mulai dijalankan oleh user, fungsi main() merupakan
fungsi yang pertama kali dijalankan oleh program. Terdapat beberapa jenis
penulisan dalam fungsi main() ini, yaitu tipe data yang akan dikembalikan.
Jika dalam fungsi ini memakai kata “int” di depannya, maka dalam
penulisan programnya harus menggunakan return 0 saat fungsi ini selesai.
Namun, jika dalam fungsi ini memakai kata“void” di depannya, maka
dalam penulisan proramnya tidak menggunakan return 0 karena void
berarti kosong, yang dengan kata lain, void tidak mengembalikan nilai
output sata program dijalankan.
Penulisan fungsi main() dalam bahasa C:

Jika menggunakan int main():

int main()
{
printf(“Selamat Belajar Bahasa C, Dewa Ayu”);

return 0;
}

Jika menggunakan void main()

void main()
{

printf(“Selamat Belajar Bahasa C, Dewa Ayu”);

3. Statement
Dalam bahasa C, program akan diberi perintah atau instruksi pada program
untuk menjalankan suatu aksi yang diinginkan oleh user. Perintah atau
instruksi ini biasanya disebut dengan statement. Statement harus diakhiri
dengan tanda semicolon (;) untuk memberi statement sebuah jeda pada
program, agar program tersebut tidak galat saat dijalankan. Contoh
penulisan statement:

printf(“Selamat Belajar Bahasa C, Dewa Ayu”);

Statement di atas berfungsi untuk menampilkan kata “Selamat Belajar


Bahasa C, Dewa Ayu” pada layar.

Ketiga struktur dasar tersebut merupakan hal yang paling penting untuk
dimengerti sebelum membuat program dalam bahasa C. Jika user tidak
mengetahui tentang struktur dasar bahasa C, maka user akan kesulitan
untuk mengimplementasikannya dalam program.

1.1.2 Tipe Data Bahasa C


Tipe data, atau yang lebih sederhananya biasa disebut dengan ‘tipe’ saja,
merupakan sebuah klasifikasi dari data itu sendri yang akan memberitahu
compiler atau menginterpretasikan bagaimana user akan mengolah data
tersebut. Bagian ini merupakan salah satu bagian penting dalam bahasa
pemrograman agar komputer bisa mengerti bagaimana pengolahan data
yang diinginkan oleh user. Akan ada beberapa jenis output ketika user
memakai tipe data yang berbeda. Misalnya saja saat user mengoperasikan
sebuah bilangan, contohnya seperti 7 dibagi 3. Jika user memakai tipe data
integer, maka hasilnya akan dibulatkan menjadi 2. Namun, jika user
memakai tipe data float, maka hasilnya akan menjadi 2.33. Adapun
beberapa jenis tipe data dasar, yaitu:
1. Integer
Integer merupakan sebuah tipe data yang dideklarasikan untuk angka,
khususnya bilangan bulat. Tipe data ini tersimpan dalam memori 4 byte
(32 bit). Contoh implementasinya dalam bahasa C:

int b;

2. Long
Tipe data long hampir sama dengan tipe data integer yang berfungsi
untuk mendeklarasikan angka, khususnya bilangan bulat. Namun
bedanya, long dapat menyimpan data dengan skala yang lebih besar
daripada tipe data integer. Contoh implementasinya dalam bahasa C:

long b;

3. Float
Bila tipe data integer dideklarasikan untuk bilangan bulat, maka tipe
data float dideklarasikan untuk bilangan riil. Contoh implementasinya
dalam bahasa C:

float b;

4. Double
Tipe data double hampir sama dengan tipe data float yang berfungsi
untuk mendeklarasikan bilangan riil. Namun bedanya, double dapat
menyimpan data dengan skala yang lebih besar daripada tipe data float.
Contoh implementasinya dalam bahasa C:

double b;

5. Char
Char merupakan tipe data yang digunakan untuk sebuah karakter.
Contohnya adalah karakter dari semua abjad yang ada, kharakter
khusus, dan angka. Misalnya seperti: B, $, #, 9, 8, dan lain-lain. Contoh
implementasi dalam bahasa C:

char b;
1.1. 3 Konstanta
Sesuai dengan namanya, konstanta merupakan nama yang diberikan
pada suatu variabel dalam bahasa C, di mana konstanta ini tidak dapat
dimodifikasi atau diubah saat konstanta telah didefinisikan. Terdapat
beberapa jenis konstanta seperti integer, float, octal, heksadesimal,
konstanta karakter, dan lain-lain.

1.1.4 Variabel
Jika konstanta merupakan nilai yang tidak bisa diubah begitu dia
didefinisikan, berbeda halnya dengan variabel. Nilai variabel berubah
sesuai dengan kehendak dan kebutuhan user. Variabel dapat memiliki
tipe data seperti integer, float, char, dan sebagainya.
Aturan-aturan dalam memberikan nama pada sebuah variabel:
1. Nama dari sebuah variabel harus diawali dengan sebuah huruf atau
tanda underscore.
2. Variabel bersifat case-sensitive, yang artinya sensitif terhadap huruf
besar dan kecil dalam penulisannya. Contohnya saja seperti Dewa
Ayu, dewa Ayu, DewA Ayu, akan dianggap berbeda oleh program.
3. Variabel dapat berupa huruf atau angka.
4. Tidak ada tanda lain yang boleh digunakan selain underscore.

Mendeklarasikan dan menginisialisasi variabel:


1. Variabel harus dideklarasikan sebelum program dijalankan oleh user.
2. Memori tidak dialokasikan untuk variabel ketika variabel
dideklarasikan. Memori baru dialokasikan pada definisi variabel.
3. Inisialisasi variabel berarti menetapkan nilai ke variabel.

Tipe Sintaks
Tipe_data nama_variabel
Deklarasi Variabel Contoh: int a, b, c; char flat,
ch;
Data_tipe variabel_nama:
Inisialisasi Variabel Contoh: int a = 70, b = 55;
char flag = ‘d’, letter = ‘w’
1.1.5 Deklarasi
Jika user ingin memasukkan sebuah variabel, konstanta, ataupun fungsi,
user harus mendeklarasikan variabel, konstanta, dan fungsi tersebut
sebelum menjalankan sebuah program. Deklarasi merupakan sebuah
pengenal (yang juga disebut identifier) dalam sebuah program.
1. Deklarasi Variabel
Seperti yang telah dijelaskan sebelumnya, ada aturan tertentu dalam
sintaks deklarasi variabel. Bentuk penulisan dari sintaks tersebut
adalah:

Tipe_data nama_variabel;

Contoh:
Misalkan saja terdapat sebuah variabel yang menyimpan nilai dari
bilangan riil. User ingin memberi nama luas pada variabel tersebut.
Maka, penulisannya adalah:

float luas;

2. Deklarasi Konstanta
Dalam mendeklarasikan konstanta dalam bahasa C biasanya selalu
diikuti dengan fungsi pemanggil atau preprocessor #define

Contoh:

#define phi 3.14


#define nim “1908561035”

3. Deklarasi Fungsi
Dalam bahasa C, fungsi merupakan sebuah bagian yang terletak di
luar program utama. Terdapat fungsi yang tidak perlu dideklarasikan
penggunaannya, seperti printf(), scanf(), getch(), dan lain-lain.
Namun, terdapat pula fungsi yang harus dideklarasikan terlebih
dahulu, yaitu fungsi yang dibuat oleh user. Sintaksnya adalah:

Tipe_fungsi nama_fungsi (parameter_fungsi;

Contoh:

void utama(int panjang);


1.1.6 Operator
Bahasa C mendukung beragam operator built-in. Operator adalah simbol
yang memberi tahu kompiler untuk melakukan manipulasi matematis
atau logis tertentu. Operator digunakan dalam program untuk
memanipulasi data dan variabel. Operator mengoperasikan operand, yaitu
sebuah kuantitas di mana operasi harus dilakukan.
Jenis-jenis Operator:
1. Operator Aritmatika
C mendukung semua operator aritmatika dasar.
Operator Deskripsi
+ Untuk menambahkan
- Untuk mengurangi
* Untuk mengalikan
/ Untuk membagi
% Untuk mencari sisa hasil bagi
(modulus)

2. Operator Penugasan
Operator Deskripsi Contoh
= menetapkan nilai dari a=b
operand sisi kanan ke
operand sisi kiri
+= menambahkan a+=b sama dengan
operand kanan ke a = a+b
operand kiri dan
menetapkan hasilnya
ke kiri
-= kurangi operand a-=b sama dengan a
kanan dari operand = a-b
kiri dan tetapkan
hasilnya ke operand
kiri
*= kalikan operand kiri a*=b sama dengan
dengan operand kanan a = a*b
dan tetapkan hasilnya
ke operand kiri
/= membagi operan kiri a/=b sama dengan a
dengan operan kanan = a/b
dan menetapkan
hasilnya ke operan
kiri
%= menghitung modulus a%=b sama dengan
menggunakan dua a = a%b
operan dan
menetapkan hasilnya
ke operan kiri

3. Operator Logika atau Boolean


Biasanya operator logika digunakan untuk menggabungkan dua
kondisi atau bahkan lebih di dalam sebuah program. Yang akan
dihasilkan dari menggabungkan kedua kondisi adalah nilai true atau
false. Misalnya saja a =1, b= 0

Operator Deskripsi Contoh


&& Logika AND (a && b) bernilai
salah
|| Logika OR (a || b) bernilai benar
! Logika NOT (!b) bernilai benar

4. Operator Hubungan (Perbandingan)


Operator ini digunakan ketika programmer ingin membandingkan dua
buah nilai yang ada pada program. Operator hubungan dalam bahasa
C antara lain:

Operator Deskripsi Contoh


< Kurang dari a < b, apakah a
kurang dari b
<= Kurang dari sama a <=b, apakah a
dengan kurang dari sama
dengan b
> Lebih dari a > b, apakah a lebih
dari b
>= Lebih dari sama a >=b, apakah a
dengan lebih dari sama
dengan b
== Sama dengan a == b, apakah a
sama dengan b
!= Tidak sama dengan a != b, apakah a
tidak sama dengan b

5. Operasi Bitwise
Operator bitwise melakukan manipulasi data pada level bit.
Operator Deskripsi
<< Pergeseran bit ke kiri
>> Pergeseran bit ke kanan
& Bitwise AND
^ Bitwise XOR (exclusive OR)
| Bitwise OR
~ Bitwise NOT

6. Operator Unary
Operator Unary merupakan sebuah operator yang hanya
menggunakan satu operand saja. Macam-macam operator unary di
antaranya:

Operator Deskripsi Contoh


- unary minus A + (-B) * C
++ penambahan nilai
1 A++

-- Pengurangan nilai
1 A--

sizeof Ukuran dari sizeof(A)


operand dalam
byte
! Unary NOT !A
~ Bitwise NOT ~A
& Menghasilkan
alamat memori &A
operand
* Menghasilkan nilai
dari pointer *A

1.1.7 Komentar
Dalam Bahasa Pemrograman C, Anda dapat menempatkan komentar
dalam kode sumber yang tidak dieksekusi sebagai bagian dari program.

Komentar memberikan kejelasan pada kode sumber C yang


memungkinkan orang lain untuk lebih memahami apa yang ingin
dicapai dan sangat membantu dalam debugging kode. Komentar sangat
penting dalam proyek besar yang berisi ratusan atau ribuan baris kode
sumber atau dalam proyek di mana banyak kontributor bekerja pada
kode sumber.

Contoh penulisan dari komentar:

//program menghitung luas lingkaran

Adapun penulisan lain yang bisa digunakan


/*
Baris pertama untuk menghitung luas lingkaran

Baris kedua untuk menghitung keliling lingkaran


*/

1.1.8 Input dan Output


Input berarti menyediakan program dengan beberapa data untuk
digunakan dalam program dan output berarti menampilkan data di layar
atau menulis data ke printer atau file.

 Ketika user akan memasukkan data yang telah dideklarasikan untuk


digunakan dalam program, user bisa menggunakan fungsi scanf().
Ketika proses memasukkan data berlangsung, user harus menulis tipe
data sesuai dengan yang dimasukkan dengan kode penentu format,
dan harus menggunakan operator ‘&’ pada variabel yang akan
dimasukkan data. Kode penentu formatnya adalah:

Kode Penentu deskripsi Contoh


Format
%d atau %i Untuk sebuah 19
bilangan bulat
%s Untuk sebuah string DewaAyu
atau kumpulan kata
%f Untuk bilangan 2,9
desimal
%c Sebuah karakter
(angka atau huruf $ atau 3 atau D
atau karakter
khusus)

Contoh penulisannya adalah:

scanf(“kode_format_variabel”, &nama_variabel);
Misalkan saja dewaayu digunakan untuk memuat data berbentuk
float.

scanf(“%f”, &dewaayu);

 Dalam menampilkan data dalam bahasa C, baik itu jenis data


numerik, string, maupun karakter, fungsi yang digunakan adalah
prinf(). Fungsi ini juga memerlukan kode format dalam penulisannya.
Contohnya adalah sebagai berikut:

printf(“kode_format_variabel”, nama_variabel);

printf(“kode_format_variabel”, konstanta);

printf(“%nf”, argument); (penulisan ini khusus untuk


menampilkan bilangan real. Variabel n merupakan jumlah digit angka
yang diinginkan di belakang koma).

Misalnya saja user menginginkan 3 angka di belakang koma pada


bilangan real, maka contohnya adalah:

printf(“%3f”, dewaayu);

1.2 Perbedaan bahasa C dan bahasa C++


Selain bahasa C, C++ juga merupakan bahasa pemrograman tingkat tinggi.
Secara garis besar, penggunaan bahasa C dan C++ hampir sama. Hanya saja
terdapat beberapa perbedaan dalam penggunaannya, di antara lain:

1. Dalam hal Header File


Dalam bahasa C, header file yang digunakan adalah:

#include<stdio.h>

#include<stdlib.h>

Dalam bahasa C++, header file yang digunakan adalah:

#include<iostream>

using namespace std;

2. Dalam Hal Input


Dalam bahasa C, fungsi yang digunakan adalah:
scanf(“kode_format_variabel”, &nama_variabel);

Dalam bahasa C++, fungsi yang digunakan adalah:


cin>>nama_variabel;

3. Dalam Hal Output

Dalam bahasa C, fungsi yang digunakan adalah:

printf(“kode_format_variabel”, nama_variabel);

Dalam bahasa C++, fungsi yang digunakan adalah:

Cout<<“argument”<<nama_variabel;
BAB II
PERMASALAHAN
1. Bagaimana cara mencetak angka sebelas pada nomor 111, 211, 2011, dan
lainnya?
2. Bagaimana cara menentukan jumlah hari dalam bulan Februari dalam tahun
kabisat?
3. Bagaimana cara membulatkan kembalian jika tidak ada pecahan uang tersebut
di dalam program?
BAB III
PEMBAHASAN
1. Karena antara puluhan dan satuan dalam angka 11 merupakan satu kesatuan,
jadi kita hilangkan terlebih dahulu ratusan atau ribuannya hingga tersisa
puluhan dan satuan saja.

string WordToNumber(int angka){

string satuan[10]={"", "satu", "dua", "tiga", "empat",


"lima", "enam", "tujuh", "delapan",
"sembilan"};

if(angka == 0){

return "Masukkan angka tidak nol" ;

}else if (angka < 10){

return satuan[angka];

}else if (angka == 10){

return "sepuluh";

}else if (angka == 11){

return "sebelas";

}else if (angka < 20){

return satuan[angka-10] + " belas";

}else if (angka < 100){

return satuan[angka/10] + " puluh " + satuan[angka


%10];

}else if (angka < 200){

return "seratus " + WordToNumber(angka%100);

}else if (angka < 1000){


return satuan[angka/100] + " ratus " +
WordToNumber(angka%100);

}else if (angka < 2000){

return "seribu " + WordToNumber(angka%1000);

}else if (angka < 3000){

return "dua ribu " + WordToNumber(angka%2000);

}
}

Contoh output:

2. Sebelum menentukan jumlah hari dalam bulan Februari dalam tahun kabisat,
kita harus terlebih dahulu membuat program untuk menentukan apakah tahun
yang diinputkan merupakan tahun kabisat atau bukan

int checkYear(int tahun){


int kabisat;
if(tahun%4==0){
if(tahun%100==0){
if(tahun%400==0){
kabisat = 1;
}else{
kabisat = 0;
}
}else{
kabisat = 1;
}
}else{
kabisat = 0;
}
return kabisat;
}

Setelah mengetahui tahun yang diinputkan adalah tahun kabisat atau tidak,
baru kita bisa membuat program untuk menyatakan jumlah hari dalam bulan
Februari

}else if(month == "februari" || tampung == 2 || month ==


"feb" || month == "peb" || month == "pebruari"){
kabisat = checkYear(tahun);
if(kabisat == 1){
if(number > 0 && number < 30){
convertTwoDigit(number);
}else{
cout << "<Inputan tanggal salah>";
}
}else{
if(number > 0 && number < 29){
convertTwoDigit(number);
}else{
cout << "<Inputan tanggal salah>";
}
}

Saat memasukkan tanggal 29 pada tahun kabisat


Saat memasukkan tanggal 29 pada tahun yang bukan tahun kabisat

3. void pembulatan(char* uangKembalian){


int i, z, x, j;
string str;
if(uangKembalian[0] != '-'){
for (i=0;i<100;i++){
if(uangKembalian[i]=='k'){
uangKembalian[i]='0';
uangKembalian[i+1]='0';
uangKembalian[i+2]='0';
stringstream str(uangKembalian);
str >> z;
break;
}else if(uangKembalian[i]=='.'){
x = i;
for(j=x;j<=x+13;j++){
uangKembalian[j]=uangKembalian[j+1];
stringstream str(uangKembalian);
str >> z;
}
}else{
if(i == 99){
stringstream str(uangKembalian);
str >> z;
}
}
}
if((z%100)>=50){
z = (z-(z%100))+100;
cout << "\t\tHasil pembulatan uang : Rp" << z;
}else{
z = (z-(z%100));
cout << "\t\tHasil pembulatan uang : Rp" << z;
}
}else{
exitprogram();
}
}
Karena dalam program tidak terdapat pecahan uang empat puluh lima rupiah,
maka, ketika kita menginputkan kembalian sebesar Rp. 90545, maka akan
dibulatkan menjadi Rp. 90500. Outputnya akan menjadi seperti berikut:

Anda mungkin juga menyukai