Laporan Praktikum Algo 2-MHD Akbar Ramadhan T
Laporan Praktikum Algo 2-MHD Akbar Ramadhan T
1
KATA PENGANTAR
2
DAFTAR ISI
3
MODUL 6 INPUT DAN OUTPUT .....................................................................27
Percobaan 1. Penggunaan Fungsi Scanf .......................................... 28
Percobaan 2. Penggunaan Fungsi gets ............................................. 29
LEMBAR PENGESAHAN ................................................................................ 30
4
MODUL 13 STRUKTUR PERULANGAN DO…WHILE ..............................48
Percobaan 1. Perulangan Do…While .............................................. 48
LEMBAR PENGESAHAN ................................................................................ 50
5
DAFTAR GAMBAR
6
Gambar 11.1. Program Perulangan For ................................................................43
7
DAFTAR TABEL
8
MODUL 1
MENGENAL PEMROGRAMAN BAHASA C
9
bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah
pembacaan program dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa
C diatur sedemikian rupa sehingga mudah dan enak dibaca.
Source Code
#include <at89c51.h>
main ()
{
………
………
}
Output
10
Adapun penjelasan lebih lengkapnya dapat dilihat sebagai berikut:
Header File, adalah berkas yang berisi prototype fungsi. Definisi konstanta.
dan definisi variable. Fungsi adalah kumpulan code C yang diberi nama dan
ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan.
Contoh: stdio.h, math.h, conio.h.
Preprosesor Directive (#include), Preprosesor directive adalah bagian yang
berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian
konstanta. Contoh:
#include <stdio.h>
#include phi 3.14
Void, artinya fungsi yang mengikutinya tidak memiliki nilai kembalian
(return).
Main ( ), Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika
program dieksekusi. Tanpa fungsi main suatu program tidak dapat dieksekusi
namun dapat dikompilasi.
Statement, Statement adalah instruksi atau perintah kepada suatu program
ketika program itu dieksekusi untuk menjalankan suatu aksi. Setiap statement
diakhiri dengan titik-koma (;).
Kata kunci-kata kunci yang terdapat di C, sebagai berikut:
11
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
12
MODUL 2
TIPE DATA BAHASA C
Tipe data merupakan bagian program yang paling penting karena tipe data
mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya
saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya
bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang
tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
int main(){
int usia = 19;
float berat = 65.3;
double tinggi = 178.43;
char jenis_kelamin = 'L';
return 0;
}
13
Output
void main(){
int a = 5;
int b = 2;
float c = a / b;
Output
14
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
15
MODUL 3
VARIABEL PADA BAHASA C
Variabel adalah identifier yang nilainya dapat berubah atau diubah selama
program berjalan (dieksekusi). Pengubahnya adalah user atau proses.
Deklarasi variabel (tipe_data nama_variabel;)
Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih
dahulu. Pengertian deklarasi di sini berarti memesan memori dan menentukan jenis
data yang bisa disimpan di dalamnya. Contoh : float a, b, c;
Inisialisasi variabel (tipe_data nama_variabel = nilai;)
Contoh : int x=21, y= 9, z=1;
16
Percobaan1: Program Menampilkan Variabel
Source Code
#include <stdio.h>
int main(){
// membuat variabel dengan tipe data integer
int berat;
// membuat variabel dan langsung mengisinya
int tinggi = 169;
return 0;
}
Output
17
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
18
MODUL 4
KONSTANTA DAN KOMENTAR
19
Contoh pertama :
// program ini dibuat oleh ….
Dibelakang tanda // tak akan diproses dalam kompilasi. Tanda ini hanya untuk satu
baris kalimat.
Contoh kedua :
/* program untuk memutar motor DC atau motor stepper */
Bentuk ini berguna kalau pernyataannya berupa kalimat yang panjang sampai
beberapa baris.
20
Percobaan1: Program Konstanta Dan Komentar
Source Code
#include <stdio.h>
#define SEPULUH 10
#define VERSI 4.5
#define JENIS_KELAMIN 'L'
void main(){
printf("isi konstanta SEPULUH adalah %i\n", SEPULUH);
printf("isi konstanta VERSI adalah %f\n", VERSI);
printf("isi konstanta JENIS_KELAMIN adalah %i\n", JENIS_KELAMIN);
}
Output
Source Code
#include <stdio.h>
void main(){
const double PI = 3.14;
const JENIS_KELAMIN = 'P';
const NIM = 11;
//Ini adalah contoh bentuk komentar
/*Dan Ini juga, tetapi harus ditutup kembali ya*/
printf("isi konstanta PI adalah %f\n", PI);
printf("isi konstanta JENIS_KELAMIN adalah %i\n", JENIS_KELAMIN);
printf("isi konstanta VERSI adalah %f\n", NIM);
}
Output
21
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
22
MODUL 5
OPERATOR
Operator adalah simbol atau karakter yang digunakan oleh program untuk
melakukan sebuah operasi dalam sebuah proses program seperti operasi bilangan
dan operasi string. Bahasa C mengenal penggunaan beberapa operator dengan
fungsi yang berbeda-beda. Setiap operator memiliki kedudukan atau hirarki saat
penanganan program. Operator dengan hirarki lebih tinggi akan dikerjakan lebih
dahulu dibandingkan operator dengan hirarki lebih rendah.
| OR X= 5 | 1
~ NOT X= 5 ~ 1
23
^ XOR X= 5 ^ 1
24
Percobaan1: Operator Aritmatika
Source Code
#include <stdio.h>
void main(){
int a, b;
Output
void main(){
int a, b;
25
b = 10;
Output
26
LEMBAR PENGESAHAN
Judul : OPERATOR
Nama : Muhammad Akbar Ramadhan Tanjung
NIM : 0701163110
Program Studi : Ilmu Komputer
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
27
MODUL 6
INPUT DAN OUTPUT
Fungsi Output
Fungsi Printf( ), merupakan fungsi untuk menampilkan output ke
layar komputer. Fungsi ini terdapat pada library stdio.h. Oleh sebab itu,
ketika kita diharuskan untuk menuliskan #include <stdio.h> di bagian atas
program agar bisa menggunakan fungsi ini. Pada fungsi printf() kita
menggunakan simbol %s, %d, dan \n untuk format teks.
Fungsi Input
Fungsi Scanf( ), adalah fungsi untuk mengambil input dari keyboard.
Fungsi ini memiliki format seperti fungsi printf(). Dalam menggunakan
scanf(), kita dianjurkan menggunakan simbol & sebelum nama variabel.
Simbol & berfungsi untuk mengambil alamat memori dari sebuah
variabel.Fungsi scanf() membutuhkan tempat untuk menyimpan nilai yang
akan diinputkan.Karena itu kita memberikan simbol & di depan nama
variabel untuk menentukan alamat memori yang akan digunakan oleh
scanf().
28
Fungsi gets() adalah fungsi untuk mengambil input dalam satu baris.
Fugnsi gets() tidak memerlukan format seperti scanf().Untuk fungsi gets()
tidak disarankan karena dapat menimbulkan masalah buffer overflow.
Sebaiknya gunakan fgets() saja.
// membuat variabel
char name[20], web_address[30];
printf("Nama: ");
scanf("%s", &name);
printf("Alamat web: ");
scanf("%s", &web_address);
printf("\n------------------------------\n");
printf("Nama yang diinputkan: %s\n", name);
printf("Alamat Web yang diinputkan: %s\n", web_address);
return 0;
}
Output
29
Percobaan2: Penggunaan Fungsi gets( )
Source Code
#include <stdio.h>
int main () {
char name[50], web_address[50];
printf("Nama: ");
gets(name);
return(0);
}
Output
30
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
31
MODUL 7
STRUKTUR KONDISI IF
Bentuk paling sederhana pilihan tunggal adalah jika hanya ada satu pilihan
kondisi yang disediakan.
Bentuk umum:
if (kondisi)
{
true statement;
}
Percobaan1: Perulangan If
Source Code
#include <stdio.h>
void main(){
printf("== Program Pembayaran ==\n");
int total_belanja = 0;
32
Output
printf("\n");
if (a > b) {
printf("Variabel a lebih besar dari variabel b \n");
}
if (a < b) {
printf("Variabel a lebih kecil dari variabel b \n");
}
if (a == b) {
printf("Variabel a sama besar dengan variabel b \n");
}
return 0;
}
Output
33
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
34
MODUL 8
STRUKTUR KONDISI IF…ELSE
if kondisi
{
true statement;
}
else
{
false statement;
}
Source Code
#include <stdio.h>
void main(){
// membuat array karakter untuk menyimpan password
char password[30];
// percabangan if/esle
if( strcmp(password, "kopi") == 0 ){
printf("Selamat datang bos!\n");
} else {
printf("Password salah, coba lagi!\n");
}
35
Output
Output
36
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
37
MODUL 9
STRUKTUR KONDISI ELSE…IF
if kondisiA
{
if kondisiB
{
true statementB
}
else
{
false statementB
}
}
else
{
false statementA
}
void main(){
int nilai;
char grade;
38
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 {
grade = 'F';
}
Output
39
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
40
MODUL 10
STRUKTUR KONDISI SWITCH…CASE…DEFAULT
switch(kondisi)
{
case 1 : pernyataan-1;
break;
case 2 : pernyataan-2;
break;
.....
.....
case n : pernyataan-n;
break;
default : pernyataan-m
}
Percobaan1: Switch…Case…Default
Source Code
#include <stdio.h>
void main(){
char grade;
switch (toupper(grade)){
case 'A':
printf("Luar biasa!\n");
break;
case 'B':
case 'C':
printf("Bagus!\n");
41
break;
case 'D':
printf("Anda lulus\n");
break;
case 'E':
case 'F':
printf("Anda remidi\n");
break;
default:
printf("Grade Salah!\n");
}
Output
42
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
43
MODUL 11
STRUKTUR PERULANGAN FOR
Output
44
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
45
MODUL 12
STRUKTUR PERULANGAN WHILE
Source Code
#include <stdio.h>
void main(){
char ulangi = 'y';
int counter = 0;
// 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);
}
46
Output
47
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
48
MODUL 13
STRUKTUR PERULANGAN DO…WHILE
do
{
statement-statement;
}
while (condition expression);
Source Code
#include <stdio.h>
void main(){
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);
}
49
Output
do
{
printf("%d ILMU KOMPUTER UINSU\n", x);
x ++;
}
while(x <= 5);
getch();
}
Output
50
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
51
MODUL 14
PERNYATAAN GOTO DAN LABEL
goto label;
Source Code
#include <stdio.h>
int main ()
{
int angka = 1;
tampil:
printf("%d ",angka);
if(++angka <= 15)
goto tampil;
return 0;
}
Output
52
Source Code
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
char nama[20];
char lagi;
atas:
system("cls");
Output
53
Percobaaan2: Program Kasir
Source Code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
awal://LABEL"awal"
printf("\t\t\t Masukkan banyak barang: ");
scanf("%i",&brng);
for(i=1; i<=brng; i++)
{
printf("\t\t\t Masukkan nama barang ke-%i\t: ",i);
scanf("%s", &nama[i]);
printf("\t\t\t Masukkan harga per barang\t: Rp. ");
scanf("%i",&hrg[i]);
printf("\t\t\t Masukkan jumlah barang\t\t: ");
scanf("%i", &jmlh[i]);
printf("\n");
}
for(i=1; i<=brng; i++)
{
ttlhrg[i]=jmlh[i]*hrg[i];
tsh=tsh+ttlhrg[i];
}
printf("\t\t\t Total harga keseluruhan\t: Rp. %i\n", tsh);
printf("\t\t\t Masukkan jumlah pembayaran\t: Rp. ");
scanf("%i", &pmbyr);
kmbl=pmbyr-tsh;
printf("\t\t\t=========================================\n");
printf("\t\t\t Daftar belanja anda:\n");
for(i=1; i<=brng; i++)
{
54
printf("\t\t\t%i. %i buah %s (@ Rp. %i)\t: Rp. %i\n", i, jmlh[i],
nama[i], hrg[i], ttlhrg[i]);
}
if(pmbyr>=tsh)
{
printf("\t\t\t\tTotal harga\t\t: Rp. %i\n", tsh);
printf("\t\t\t\tPembayaran\t\t: Rp. %i\n", pmbyr);
printf("\t\t\t\tKembalian\t\t: Rp. %i\n", kmbl);
printf ("\t\t\t|=================================|\n");
printf ("\t\t\t| Terimakasih |\n");
printf ("\t\t\t| Telah berbelanja |\n");
printf ("\t\t\t| Di Toko |\n");
printf ("\t\t\t| SERBA ADA |\n");
}
else
{
k2=-1*kmbl;
printf("\t\t\tTotal harga\t: Rp. %i\n", tsh);
printf("\t\t\tPembayaran\t: Rp. %i\n", pmbyr);
printf("\t\t\tKekurangan\t: Rp. %i\n", k2);
}
printf("\t\t\t===================================\n");
pilih://LABEL "pilih"
printf("\nUlangi (y/t): ");
scanf("%s", &p);
if(strcmp(p,"y")==0||strcmp(p,"Y")==0)
{
goto awal;
}
else if(strcmp(p,"t")==0||strcmp(p,"T")==0)
{
printf("\t\t\t Anda akan keluar dari program ini...\n");
}
else
{
printf("\t\t\t Masukkan pilihan yang benar...\n");
goto pilih; }
return 0;
}
55
Output
56
LEMBAR PENGESAHAN
Medan, 2019
Menyetujui,
( ) ( )
Mengetahui,
( )
57
DAFTAR PUSTAKA
https://www.petanikode.com/tutorial/c/
http://pawangsmart.blogspot.com/2015/11/struktur-
perulangan-bahasa-c.html
http://comlab.ilkom.unsri.ac.id/wp-
content/uploads/2016/10/Modul-Praktikum-Alpro-
I_tibil.pdf
https://www.researchgate.net/publication/315711056_Mod
ul_Praktikum_Algoritma_dan_Pemrograman_Bahasa_C
https://www.coursehero.com/file/30341341/pengenalan-c-
sdccpdf/
58