Anda di halaman 1dari 22

LAPORAN PRAKTIKUM DASAR PEMROGRAMAN 2

FLOWCHART DAN FUNGSI KEPUTUSAN

Nama : Muhammad Fadlan


NIM : 200803107
Kelompok Lab : C7

LABORATORIUM S1 MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2020
LEMBAR PENGESAHAN

Ditetapkan di

Medan, 05 November 2020

Asisten Lab 1 Asisten Lab 2

Gita Shyntia Lumbantobing Favour Get Gea


NIM 180803057 NIM 180803059

Perbaikan I

Pada tanggal : Selasa, 03 November 2020

Perbaikan II

Pada tanggal :

ACC

Pada tanggal : Kamis, 05 November 2020

Nilai

i
DAFTAR ISI

LEMBAR PENGESAHAN .................................................................... i

DAFTAR ISI ......................................................................................... ii

BAB 1 PENDAHULUAN .................................................................... 1

1.1 Latar Belakang ................................................................ 1


1.2 Tujuan ............................................................................. 1
1.3 Dasar Teori ...................................................................... 1
1.3.1 Pengenalan Flowchart ......................................... 1
1.3.2 Pengenalan Fungsi Keputusan ........................... 3

BAB 2 HASIL DAN PEMBAHASAN ................................................ 9

2.1 Pembahasan Algoritma .................................................. 9


2.2 Hasil Program ................................................................. 9
2.2.1 Flowchart Program ............................................. 9
2.2.2 Source Code ......................................................... 11
2.2.3 Hasil Run Program ( Output ) ............................ 17

BAB 3 PENUTUP ............................................................................... 18

3.1 Kesimpulan ...................................................................... 18

DAFTAR PUSTAKA

ii
BAB 1

PENDAHULUAN

1.1 Latar Belakang

Seseorang akan memahami apa yang di ceritakan oleh orang lain apabila
memperhatikan garis besar atau pokok permasalahan suatu cerita. Untuk
menceritakan suatu pokok permasalahan, terkadang seseorang harus banyak cerita
sampingan yang mengiringi pokok permasalahan tersebut. Hal ini dilakukan agar
cerita tersebut indah di dengar oleh pendengar, sehingga orang yang mendengarkan
cerita tersebut tertarik dan terpesona, serta penasaran dan rasa ingin tau seseorang
semakin tinggi dan semakin mendalam. Apalagi seorang pendengar telah
mengetahui garis besar atau pokok permasalahan suatu cerita.

Suatu pokok permasalahan atau garis besar suatu cerita dapat dibuat dalam
bentuk skema atau diagram yang disusun sesuai ketentuan yang disepakati dan
ditulis seindah mungkin agar dapat dimengerti dan dipahami oleh pembaca atau
pendengarnya, maka ketertarikan suatu cerita tersebut akan semakin banyak
pembaca ataupun pendengarnya. Dalam istilah teknologi sekarang ini hal tersebut
di istilahkan dengan Flowchart.

1.2 Tujuan

Berdasarkan latar belakang di atas, praktikum ini diharapkan Mahasiswa


mampu :

1.2.1 Mengenal Flowchart.


1.2.2 Mengenal dan menggunakan fungsi keputusan dengan baik dan benar.
1.2.3 Membuat program menggunakan Bahasa C.

1.3 Dasar Teori

1.3.1 Pengenalan Flowchart

Flowchart atau diagram alir adalah suatu bagan diagram dengan


simbol simbol grafis yang menyatakan aliran algoritma secara detail dan

1
prosedur sistem secara logika. Flowchart ini bisa memberikan solusi
selangkah demi selangkah untuk menyelesaikan masalah yang ada di dalam
proses.

Di dalam praktiknya flowchart ini digunakan untuk membuat suatu


program menjadi sempurna. misalnya, bagi anak smk untuk ujian akhir atau
mahasiswa jurusan IT di setiap makalahnya. Nanti juga kalian akan bertemu
dengan namanya DFD (Data Flow Diagram) dan ERD (Entity Relationship
Diagram).

Jenis-Jenis Flowchart :

 Flowchart Dokumen adalah Jenis flowchart yang menunjukan


kontrol sebuah sistem aliran dokumen. Bagan dari flowchart data
ini menunjukan arus data dari laporan dan formulir tembusan.
 Flowchart Data adalah Jenis flowchart yang menunjukkan
kontrol dari sebuah sistem aliran data.
 Flowchart Sistem adalah Jenis flowchart yang menunjukkan
kontrol dari sebuah sistem aliran secara fisik. Bagan
dari flowchart data ini menunjukan apa yang dikerjakan oleh
sebuah sistem.
 Flowchart Program adalah Jenis flowchart yang menunjukkan
kontrol dari sebuah program dalam sebuah sistem.Bagan yang
menjelaskan secara rinci langkah-langkah dari proses program.

Simbol - simbol flowchart :

2
1.3.2 Pengenalan Fungsi Keputusan

Untuk keperluan pengambilan keputusan, C menyediakan beberapa


jenis pernyataan, berupa ;
 Pernyataan if
 Pernyataan if-else, dan
 Pernyataan switch
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai
basis dalam pengambilan keputusan. Kondisi umum yang dipakai berupa
keadaan benar dan salah.
1. Operator Relasi
Operator relasi biasa dipakai untuk membandingkan dua buah
nilai. Hasil pembandingan berupa keadaan benar atau salah.
Keseluruhan operator relasi pada C ditunjukkan pada Tabel 3-1
Tabel 3-1. Operasi relasi
Operator Makna
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama
!= Tidak sama dengan

2. Operator Logika
Operator logika biasa dipakai untuk menghubungkan ekspresi
relasi. Keseluruhan operator logika ditunjukkan pada tabel 3-2.
Tabel 3-2. Operator logika
Operator Makna
&& dan (AND)
|| atau (OR)
! tidak (NOT)

3
Bentuk pemakaian operator && dan | | adalah
Operator1 operator opreand2
Pernyataan if
Pernyataan if mempunyai bentuk umum :

if (kondisi)
pernyataan;

Bentuk ini menyatakan :


 Jika kondisi yang diseleksi adalah benar (bernilai logika = 1),
maka pernyataan yang mengikutinya akan diproses.
 Sebaliknya, jika kondisi yang diseleksi adalah tidak benar
(bernilai logika = 0), maka pernyataan yang mengikutinya
tidak akan diproses.

Pernyataan if-else
Pernyataan if mempunyai bentuk umum :

if (kondisi )
pernyataan-1;
else (kondisi )
pernyataan-2;

Arti dari pernyataan if-else :


 Jika kondisi benar, maka pernyataan-1 dijalankan.
 Sedangkan bila kondisi bernilai salah, maka pernyataaan-2
yang dijalankan.
Masing-masing pernyataan-1 dan pernyataan-2 dapat berupa
sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan
kosong. Contoh penggunaan pernyataan if-else adalah untuk
menyeleksi nilai suatu bilangan pembagi. Jika nilai bilangan pembagi
adalah nol, maka hasil pembagian dengan nilai nol akan mendapatkan

4
hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka proses
pembagian tidak akan dilakukan.

Pernyataan if di dalam if
Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat
pernyataan if (atau if-else) yang lain. Bentuk seperti ini dinamakan
sebagai nested if. Secara umum, bentuk dari pernyataan ini adalah
sebagai berikut :

if (kondisi-1)
if (kondisi-2)

if(kondisi-n)
pernyataan;
else
pernyataan;

else
pernyataan;
else
pernyataan;

 Kondisi yang akan diseleksi pertama kali adalah kondisi


yang terluar (kondisi-1). Jika kondisi-1 bernilai salah, maka
statemen else yang terluar (pasangan if yang bersangkutan)
yang akan diproses. Jika else (pasangannya tsb) tidak ditulis,
maka penyeleksian kondisi akan dihentikan.
 Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang
lebih dalam (kondisi-2) akan diseleksi. Jika kondisi-2
bernilai salah, maka statemen else pasangan dari if yang
bersangkutan yang akan diproses. Jika else (untuk kondisi-
2) tidak ditulis, maka penyeleksian kondisi akan dihentikan.

5
 Dengan cara yang sama, penyeleksian kondisi akan
dilakukan sampai dengan kondisi-n, jika kondisi-kondisi
sebelumnya bernilai benar.

Pernyataan else-if
Contoh implementasi nested if ini misalnya pembuatan sebuah
program kalkulator sederhana. User memberikan masukan dengan
format :
operand1 operator operand2
Jenis operasi yang dikenakan bergantung pada jenis operator yang
dimasukkan oleh user.
Oleh karena itu program akan mengecek apakah operator berupa
tanda ‘*’, ‘/’, ‘+’, ataukah tanda ‘-‘ .
 Jika operator berupa tanda ‘*’ maka operand1 akan
dikalikan dengan operand2.
 Jika operator berupa tanda ‘/’ maka operand1 akan dibagi
dengan operand2.
 Jika operator berupa tanda ‘+’ maka operand1 akan
dijumlahkan dengan operand2.
 Jika operator berupa tanda ‘-’ maka operand1 akan
dikurangi dengan operand2.
 Kalau operator yang dimasukkan bukan merupakan salah
satu dari jenis operator di atas, maka ekspresi tersebut tidak
akan diproses, dan user akan mendapatkan pesan berupa :
“Invalid operator !”

Pernyataan switch
Pernyataan switch merupakan pernyataan yang dirancang khusus
untuk menangani pengambilan keputusan yang melibatkan sejumlah
alternatif, misalnya untuk menggantikan pernyataan if bertingkat.
Bentuk umum pernyataan switch adalah :

6
switch (ekspresi)
{
case konstanta-1:
pernyataan-1;
...
break;
case konstanta-2:



case konstanta-n:
pernyataan-n;
...
break;
default:
...
...
break;
}

dengan ekspresi dapat berupa ekspresi bertipe integer atau bertipe


karakter. Demikian juga konstanta-1, konstanta-2, …, konstanta-n
dapat berupa konstanta integer atau karakter. Setiap pernyataan-i
(pernyataan-1, … , pernyataan-n) dapat berupa pernyataan tunggal
ataupun pernyataan jamak. Dalam hal ini urutan penulisan pernyataan
case tidak berpengaruh. Proses penyeleksian berlangsung sebagai
berikut :
 pengujian pada switch akan dimulai dari konstanta-1. Kalau
nilai konstanta-1 cocok dengan ekspresi maka pernyataan-
1 dijalankan. Kata kunci break harus disertakan di bagian
akhir setiap pernyataan case, yang akan mengarahkan
eksekusi ke akhir switch.

7
 Kalau ternyata pernyataan-1 tidak sama dengan nilai
ekspresi, pengujian dilanjutkan pada konstanta-2, dan
berikutnya serupa dengan pengujian pada konstanta-1.
 Jika sampai pada pengujian case yang terakhir ternyata tidak
ada kecocokan, maka pernyataan yang mengikuti kata kunci
default yang akan dieksekusi. Kata kunci default ini bersifat
opsional.
 Tanda kurung kurawal tutup (}) menandakan akhir dari
proses penyeleksian kondisi case.

Penggunaan statement penentu keputusan yaitu statement if-


else. Memanfaatkan statement if-else untuk membuat proses perulangan yaitu
dengan dikombinasikan dengan statement goto-label. Mempelajari
statement if-else bersarang (nested if). Mempelajari bentuk lain
dari statement if-else yaitu statement else-if. Mempelajari penggunaan dari
statement switch-case sebagai alternatif pengganti dari statement else-if.
Statement if-else digunakan menentukan pilihan dari suatu kondisi
yang diberikan. Cara kerjanya adalah melakukan perbandingan menggunakan
Relational Operator dan/atau Logical Operator, yang maksudnya adalah
bagian Condition berperan sebagai penentu keputusan pengerjaan dari
kondisi ini. Jika condition terpenuhi (menghasilkan nilai TRUE atau 1), blok
kode program milik if akan dijalankan. Jika condition tidak terpenuhi
(menghasilkan nilai FALSE atau 0), blok kode program bagian else-lah yang
akan diproses. Statement else-if adalah cara lain dari bentuk if-else, yang
digunakan untuk menetukan suatu kondisi yang benar dari beberapa kondisi
yang tersedia.
Statement switch-case adalah bentuk lain dari statement else-if,
namun statement ini agak berbeda. Cara kerjanya adalah dengan
mendaftarkan kondisi (case) yang berbeda atau yang akan atau bisa berubah
dalam suatu kolom sehingga memudahkan dalam hal evaluasi program.

8
BAB 2
HASIL DAN PEMBAHASAN

2.1 Pembahasan Algoritma

Cara kerja program di atas adalah dengan memasukkan nilai input dari
pilihan menu makanan dari (1-6), lalu akan keluar harga dari makanan yang telah
di pilih. Setelah itu, masukkan nilai input berapa makanan yang akan di beli lalu
akan keluar harga dari total makanan. Selanjutnya akan tampil pilihan menu
minuman, lalu masukkan nilai input dari pilihan menu minuman dari 1-6 maka
akan keluar harga dari minuman yang telah di pilih. Setelah itu, masukkan nilai
input berapa minuman yang akan di beli lalu akan keluar harga total minuman.
Dan terakhir akan keluar total harga yang akan di bayar dari total makanan di
tambah total minuman.

Catatan: Jika memasukkan nilai input yang tidak ada di pilihan menu makanan,
maka akan lanjut ke menu minuman. Dan jika memasukkan nilai input yang tidak
ada di pilihan menu minuman maka akan keluar tulisan “ TIDAK ADA PILIHAN
ANDA! “.

2.2 Hasil Program

2.2.1 Flowchart Program

Start

Menu Pilihan
Menu Pilihan
Makanan
Minuman

Total Harga
Input Makanan Input
Pilihan Pilihan
Input
Jumlah

9
Mie Teh
Aceh Dingin

Mie Teh
Tiaw Dingin

Mie Kopi
Goreng Hitam

Mie Susu
Rebus Coklat

Nasi Thai
Goreng Tea

Nasi Ice
Bakar Cream

Input Input
Salah Salah

10
Input
Jumlah

Total Harga TIDAK ADA


Minuman PILIHAN ANDA!

Total Bayar = Total Harga


Makanan + Total Harga
Minuman

End

2.2.2 Source Code

#include <stdio.h>
int main()
{

int
makanan,minuman,totalbayar,total,n,a,b,c,d,e,
f,g,h,i,j,k,l,total1,total2;
printf
("\t==========================\n");
printf ("\tSELAMAT DATANG DI RED CAFE\n");
printf
("\t==========================\n\n");
printf ("Pilih Menu Makanan :\n");
printf ("1.Mie Aceh\n");
printf ("2.Mie Tiaw\n");
printf ("3.Mie Goreng\n");

11
printf ("4.Mie Rebus\n");
printf ("5.Nasi Goreng\n");
printf ("6.Nasi Bakar\n");
printf ("========================\n");
printf ("Pesan makanan : ");
scanf ("%d",&makanan);
printf ("========================\n");
switch(makanan)
{
case 1 :
printf ("Mie Aceh\n");
printf ("Harga: Rp.15000\n");
a=15000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total1=n*a;
printf ("Total makanan = Rp.%d\n",
total1);
printf ("========================\n");
break;

case 2 :
printf ("Mie Tiaw\n");
printf ("Harga: Rp.8000\n");
b=8000;
printf ("\nJumlah pembelian : ");
scanf("%d",&n);
total1=n*b;
printf ("Total makanan = Rp.%d\n",
total1);
printf ("========================\n");
break;

12
case 3 :
printf ("Mie Goreng\n");
printf ("Harga: Rp.10000\n");
c=10000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total1=n*c;
printf ("Total makanan = Rp.%d\n",
total1);
printf ("========================\n");
break;

case 4 :
printf ("Mie Rebus\n");
printf ("Harga: Rp.9000\n");
d=9000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total1=n*d;
printf ("Total makanan = Rp.%d\n",
total1);
printf ("========================\n");
break;

case 5 :
printf ("Nasi Goreng\n");
printf ("Harga: Rp.15000\n");
e=15000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total1=n*e;

13
printf ("Total makanan = Rp.%d\n",
total1);
printf ("========================\n");
break;

case 6 :
printf ("Nasi Bakar\n");
printf ("Harga: Rp.13000\n");
f=13000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total1=n*f;
printf ("Total makanan = Rp.%d\n",
total1);
printf ("========================\n");
break;
}
printf ("Pilih Menu Minuman : \n");
printf ("1. Teh Dingin\n");
printf ("2. Teh Panas\n");
printf ("3. Kopi Hitam\n");
printf ("4. Susu Coklat\n");
printf ("5. Thai Tea\n");
printf ("6. Ice Cream\n");
printf ("Pesan minuman : ");
scanf ("%d",&minuman);
switch(minuman)
{
case 1 :
printf ("Teh Dingin\n");
printf ("Harga: Rp.5000\n");
g=5000;

14
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total2=n*g;
printf ("Total minuman = Rp.%d\n",
total2);
printf
("=============================\n");
break;

case 2 :
printf ("Teh Panas\n");
printf ("Harga: Rp.5000\n");
h=5000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total2=n*h;
printf ("Total minuman = Rp.%d\n",
total2);
printf
("=============================\n");
break;

case 3 :
printf ("Kopi Hitam\n");
printf ("Harga: Rp.7000\n");
i=7000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total2=n*i;
printf ("Total minuman = Rp.%d\n",
total2);

15
printf
("=============================\n");
break;

case 4 :
printf ("Susu Coklat\n");
printf ("Harga: Rp.12000\n");
j=12000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total2=n*j;
printf ("Total minuman = Rp.%d\n",
total2);
printf
("=============================\n");
break;

case 5 :
printf ("Thai Tea\n");
printf ("Harga: Rp.20000\n");
k=20000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total2=n*k;
printf ("Total minuman = Rp.%d\n",
total2);
printf
("=============================\n");
break;

case 6 :
printf ("Ice Cream\n");

16
printf ("Harga: Rp.25000\n");
l=25000;
printf ("\nJumlah pembelian : ");
scanf ("%d",&n);
total2=n*l;
printf ("Total minuman = Rp.%d\n",
total2);
printf
("=============================\n");
break;

default :
printf("TIDAK ADA PILIHAN ANDA!\n");
}
totalbayar = total1+total2;
printf("Total pembayaran =
Rp.%d",totalbayar);
return(0);
}

2.2.3 Hasil Run Program ( Output )

17
BAB 3
PENUTUP

3.1 Kesimpulan

Menjelaskan suatu garis besar atau inti dari cerita dapat diterangkan dalam
bentuk diagram atau istilah flowchart dan disesuaikan dengan judul cerita.
Flowchart atau diagram alir adalah suatu bagan diagram dengan simbol simbol
grafis yang menyatakan aliran algoritma secara detail dan prosedur sistem secara
logika. Flowchart ini bisa memberikan solusi selangkah demi selangkah untuk
menyelesaikan masalah yang ada di dalam proses. Di dalam
praktiknya flowchart ini digunakan untuk membuat suatu program menjadi
sempurna.

Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis


pernyataan berupa ; Pernyataan if , Pernyataan if-else, dan Pernyataan switch .
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam
pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan
salah.
Penggunaan statement penentu keputusan yaitu statement if-
else. Statement if-else digunakan menentukan pilihan dari suatu kondisi yang
diberikan. Cara kerjanya adalah melakukan perbandingan menggunakan Relational
Operator dan/atau Logical Operator, yang maksudnya adalah
bagian Condition berperan sebagai penentu keputusan pengerjaan dari kondisi ini.
Sedangkan Statement switch-case adalah bentuk lain dari statement else-if, namun
statement ini agak berbeda. Cara kerjanya adalah dengan mendaftarkan kondisi
(case) yang berbeda atau yang akan atau bisa berubah dalam suatu kolom sehingga
memudahkan dalam hal evaluasi program.

18
DAFTAR PUSTAKA

Ega Gumilar Pratama, 11 Februari 2017, Mengenal Sekilas Jenis-Jenis Flowchart


Pada Pemrograman, codepolitan.com, dilihat 30 Oktober 2020,
<https://www.codepolitan.com/mengenal-sekilas-jenis-jenis-
flowchart-pada-pemrograman-589be38b9417f>

Naufal Mukhfi Robbani, 3 Oktober 2019, Statement Penentu Keputusan Dalam


Bahasa C, redaksi.pens.ac.id, dilihat 30 Oktober 2020,
<https://redaksi.pens.ac.id/2019/10/03/statement-penentu-keputusan-
dalam-bahasa-c/ >

Reski Wahyuni, 19 Desember 2018, Laporan Praktikum III Pemprograman


Bahasa C Pengambilan KeputusanI, id.scribd.com, dilihat 3 November
2020,<https://id.scribd.com/document/395996057/Laporan-
Praktikum-III-Pemprograman-Bahasa-C-Pengambilan-Keputusan>

Anda mungkin juga menyukai