Modul 1
Laporan Praktikum TMD02 Algoritma
dan Struktur Data dengan C
NIM/ No. Reg.
|
:
|
49013055
|
Nama
|
:
|
Evi Septiyani
Suparno
|
email
|
:
|
evi_septiyani@ymail.com
|
Laporan
|
:
|
Modul I
|
Coding
1
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %f \n",
LuasSegitiga);
system("pause");
return (0);
}
printf("Perhitungan
Luas Segitiga \n");
apabila
\n dihilangkan maka akan menjadi
printf("Perhitungan
Luas Segitiga");
|
Deskripsi
singkat:
|
Setelah dilakuka pengamatan maka apabila “\n” tersebut dihilangkan maka
kalimat setelah “Perhitungan luas segitiga” akan menyatu dengan kalimat
setelahnya karena \n itu digunakan untuk ke baris baru atau untuk enter kalimat 1 dan kalimat 2
Contohnya pada Gambar 1
Gambar 1 Debug program tanpa \n
|
Coding
2
|
Source
Code:
|
#include <stdlib.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga \n");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %f \n",
LuasSegitiga);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Apabila
codingnya seperti di atas yang tidak memakai #include <stdio.h>, maka
saat di compile ctrl+F7 maka komputer tidak akan mengenali coding seperti
contohnya printf, scanf, gets. Karena #include<stdio.h> merupakan library dari bahasa pemograman C. #include
salah satu pengarah
prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan
terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya :
# include <nama file>
Untuk <stdio.h> itu sendiri untuk perpustakaan input atau output
aliran.
Apabila tidak memakai #include <stdio.h> maka saat dicompile akan muncul seperti Gambar 2
Gambar 2 Execute program tanpa #include<stdio.h>
|
Coding
3
|
Source
Code:
|
Menghilangkan #include <stdlib.h>
#include <stdio.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga \n");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %f \n",
LuasSegitiga);
system("pause");
return (0);
}
Menghilangkan system("pause");
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga\n");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %f \n",
LuasSegitiga);
return (0);
}
|
Deskripsi
singkat:
|
Dari hasil pengamatan apabila #include <stdlib.h> dihilangkan
maka coding seperti “system” untuk mengexecute
program tidak akan terbaca karena perpustakaan #include <stdlib.h> mendefinisikan beberapa fungsi tujuan umum , termasuk
manajemen memori dinamis , generasi nomor acak , komunikasi dengan lingkungan
, arthmetics integer, pencarian, pengurutan dan mengkonversi . Hasil execute program dapat dilihat pada
Gambar 3
Gambar 3 Execute program tanpa #include<stdlib.h>
Dari hasil pengamatan apabila coding di atas tanpa system("pause")maka saat di Debug dan saat memasukan inputan angka
ketika akan menampilkan hasil maka program tidak akan berhenti sejenak.
|
Coding
4
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
int a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga \n");
printf("Alas = ");
scanf_s("%d",&a);
printf("Tinggi = ");
scanf_s("%d",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %f \n",
LuasSegitiga);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Apabila yang bertipe data float tersebut diganti menjadi tipe data
interger maka yang semula debug menampilkan hasil seperti Gambar 4
Gambar 4 Debug program bertipe data Float.
Menjadi Seperti Gambar 5 setelah dirubah menjadi
Integer
Gambar 5 Debug program bertipe data Integer.
Karena angka yang bertipe data Integer akan dibulatkan
artinya tidak akan menerima angka dibelakang koma (,). Jadi apabila
diinputkan bukan bilangan bulat dianggap eksekusi selesai
|
Coding
5
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
int a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga \n");
printf("Alas = ");
scanf_s("%d",&a);
printf("Tinggi = ");
scanf_s("%d",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %d \n",
LuasSegitiga);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Apabila pada luas
segitiga itupun di ganti menjadi %d yang pada awalnya %f, maka hasilnya tidak
akan menghasilkan bilangan yang memiliki bilangan lain dibelakang koma (,),
contoh : 2,00 apabila integer hanya menampilkan 2.
Gambar 6 Debug program bertipe data Integer.
|
Coding
6
|
Source
Code:
|
#include<stdio.h>
#include<stdlib.h>
#define phi 3.14
int main(void)
{
int a; double luas;
printf("masukkan jari-jari lingkaran:");
scanf_s("%d",&a);
luas =
phi*a*a;
printf("luas lingkaran adalah:%.2f",luas);
system("pause");
}
|
Deskripsi
singkat:
|
Nilai phi sudah di definisikan pada #define phi 3.14
Sehingga saat user memasukan nilai jari-jari maka definisi phi akan di
kalikan dengan jari-jari kuadrat. Maka akan menghasilkan hasil perkalian
tersebut dalam tipe data float.
|
Coding
7
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int tgl, bln, thn;
printf("Tanggal-Bulan-Tahun Hari Ini\n");
printf("\n");
printf("Ketik tanggal, bulan dan tahun, secara
berurutan.");
printf("Ket: Tekan SPACEBAR untuk memisahkan tanggal,
bulan
dan tahun. Lalu, akhiri dengan menekan
ENTER \n ");
scanf_s("%d %d %d",&tgl,&bln,&thn);
printf("\n");
printf("Hari ini adalah tanggal %d, bulan %d, tahun %d \n
",tgl,bln,thn);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Dari hasil pengamatan seharusnya program dari contoh program 2 seperti
ini
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int tgl, bln, thn;
printf("Tanggal-Bulan-Tahun Hari Ini\n");
printf("\n");
printf("Ketik tanggal, bulan dan tahun, secara
berurutan.");
printf("Ket: Tekan SPACEBAR untuk memisahkan tanggal,
bulan dan tahun. Lalu, akhiri dengan menekan ENTER \n ");//coding program harus dalam satu baris
scanf_s("%d %d %d",&tgl,&bln,&thn);
printf("\n");
printf("Hari ini adalah tanggal %d, bulan %d, tahun %d \n
",tgl,bln,thn); //coding program harus
dalam satu baris
system("pause");
return (0);
}
Maka hasilnya seperti pada Gambar 7
Gambar 7 Output tanggal, bulan, tahun
Apabila kita memasukkan angka 12 09 92 dengan dipisahkan spasi, maka
setelah di enter akan memunculkan hari ini adalah tanggal 12 bulan 9 tahun 92
|
Coding
8
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %f \n",
LuasSegitiga);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Dari hasil pengamatan, apabila contoh program 1 dimasukkan bilangan alas
sebesar 1.2 dan Tinggi sebesar 1.3
maka akan muncul seperti Gambar 8
Gambar 8 Debug luas segitiga
Yang mana apabila float itu akan menerima data inputan dalam bentuk
bilangan tidak bulat serta hasilnya pun menghasilkan bilangan yang memiliki
bilangan lagi dibelakang koma
|
Coding
9
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %.1f \n",
LuasSegitiga);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Dari hasil pengamatan, apabila contoh program 1 dimasukkan bilangan alas
sebesar 1.2 dan Tinggi sebesar 1.3
maka akan muncul seperti Gambar 9
Gambar 9 Debug dengan hasil menggunakan %.1f
Bedanya antara 9 dengan coding 8 yaitu pada coding 9 menggunakan %.1f,
hanya menampilkan 1 angka dibelakang koma, bilangannya pun dibulatkan ke
atas.
|
Coding
10
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
#define dua 2
int main(void)
{
float a, t, LuasSegitiga;
printf("Perhitungan Luas Segitiga");
printf("Alas = ");
scanf_s("%f",&a);
printf("Tinggi = ");
scanf_s("%f",&t);
LuasSegitiga
= a*t/dua;
printf("Luas Segitiga = %.3f \n",
LuasSegitiga);
system("pause");
return (0);
}
|
Deskripsi
singkat:
|
Dari hasil pengamatan, apabila contoh program 1 dimasukkan bilangan alas
sebesar 1.2 dan Tinggi sebesar 1.3
maka akan muncul seperti Gambar 10
Gambar 10 Debug dengan hasil menggunakan %.3f
Bedanya antara 10 dengan coding 8 dan 9 yaitu pada coding 10 menggunakan
%.3f, hanya menampilkan 3 angka dibelakang koma, bilangannya pun dibulatkan
ke atas.
|
Coding
11
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("D4 Teknologi Media Digital \n");
system("pause");
return(0);
}
Sebelum :
#include <stdio.>
#include <stdlib.h>
int main(void)
{
printf("D4 Teknologi Media Digital \n");
system("pause");
return("0");
|
Deskripsi
singkat:
|
Pada coding diatas salahnya yaitu
-seharusnya menggunakan kurawal tutup “}” setelah return(0);
-seharusnya return 0 tidak
memakai kutip (”)namun hanya return(0);
-seharusnya #include <stdio.h> bukan #include <stdio.>
|
Coding
12
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
Int main(void)
{
int b = 3;
printf("b = %f \n",b)
system("pause");
return(0);
}
Sebelum :
#include <stdio.h>
#include <stdlib.h>
}
int b = 3;
printf("b = %f \n",b)
system("pause");
return("0");
}
|
Deskripsi
singkat:
|
Pada coding program di atas yang salah yaitu tidak menggunakan fungsi
main dan seharusnya sebelum int b = 3; menggunakan kurawal buka “{“ . dan seharusnya return 0 tidak memakai kutip (”) namun
hanya return(0);
|
Coding
13
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float angka; /* Mendeklarasikan variabel ANGKA
bertipe float*/
printf("Ketikan sembarang angka> ");
scanf_s("%f",&angka);
printf("Angka yang Anda ketikan = \n",angka);
system("pause");
return(0);
}
Sebelum :
#include <stdio.h>
#include <stdlib.h>
int Main(void)
{
float ANGKA; /* Mendeklarasikan variabel ANGKA bertipe
float
printf("Ketikan sembarang angka>
");
scanf("%f",&angka);
printf("Angka yang Anda ketikan =
\n",angka);
system("pause")
return("0");
|
Deskripsi
singkat:
|
Pada
potongan program di atas yang salah yaitu
-komentar
seharusnya di tutup /* Mendeklarasikan
variabel ANGKA bertipe float*/
-printf("Angka yang Anda ketikan =
\n",angka); tidak perlu memakai “,angka”
-system("pause")
tidak memakai titik koma (;)
-diakhir menggunakan kurawal tutup “}”
-dan seharusnya return 0
tidak memakai kutip (”) namun hanya return(0);
- seharusnya scanf_s bukan scanf
- seharusnya int main bukan int Main
|
Coding
14
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b=3, c;
printf("Masukan angka> ");
scanf("%d",&a);
c = a+b;
printf("Setelah ditambah 3, yaitu %d + 3 = %d \n",
a, c);
system("pause");
return(0);
}
Sebelum :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b=3, c;
printf("Masukan angka> ");
scanf("%d",&a);
c = a+b;
printf("Setelah ditambah 3, yaitu %d + 3 = %d \n",
&a, &c);
system("pause");
return("0");
}
|
Deskripsi
singkat:
|
- Seharusnya return 0 tidak
memakai kutip (”) namun hanya return(0);
- Seharusnya printf("Setelah ditambah 3, yaitu %d + 3 = %d \n",
a, c); bukan printf("Setelah ditambah 3, yaitu %d + 3 =
%d \n",
&a, &c);
|
Modul 2
Laporan Praktikum TMD02 Algoritma
dan Struktur Data dengan C
NIM/ No. Reg.
|
:
|
49013055
|
|
Nama
|
:
|
Evi Septiyani
Suparno
|
|
email
|
:
|
||
Laporan
|
:
|
Modul II
|
|
Coding
1
|
|||
Source
Code:
|
|||
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int b;
b = 2*3;
printf ("2x3 = %d\n",b);
system("pause");
return (0);
}
Sebelum :
int b;
b = 2*3;
printf ("2x3 = %d\n",b);
system("pause");
return (0);
}
|
|||
Deskripsi
singkat:
|
|||
Pada program seharusnya seperti diatas, dari di modul yang salah yaitu
kurang kurawal buka “{” serta coding di bawah ini
#include <stdio.h>
#include <stdlib.h>
int main(void)
|
|||
Coding
2
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
a =
(2-5)*4;
printf ("2-5x4 = -12 sesuai dengan hasil perhitungan berikut: %d\n",a);
system("pause");
return (0);
}
Sebelum :
a = 2-5)*4;
printf ("2-5x4 = -12 sesuai dengan hasil perhitungan
berikut: %d\n",a);
system("pause");
return (0);
|
Deskripsi
singkat:
|
Pada program harusnya berikan kurung buka pada a=(2-5)*4 maka yang akan
dieksekusi adalah yang berada dalam kurung terlebih dahulu, serta tambahkan
program di bawah ini
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
|
Coding
3
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int Main(void)
{
int a;
a =
(24/2%8+2*(5-2));
printf ("24/2%8+2*5-2 = 10 sesuai dengan hasil perhitungan
berikut: %d\n",a);
}
Sebelum :
#include <stdio.h>
#include <stdlib.h>
int Main(void)
{
int a;
a =
(24/2%8+2*5-2));
printf ("24/2%8+2*5-2 = 10 sesuai dengan hasil perhitungan
berikut: %d\n",a);
}
|
Deskripsi
singkat:
|
Harusnya penulisan coding untuk operasi 5-2 di dahulukan dengan cara
menambahkan kurung, jadi operasi menjadi a = (24/2%8+2*(5-2));
|
Coding
4
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a = 4, b = 12, c;
printf ("Apakah a > b ? (Ket: 1 = Ya, 0 =
Tidak):\n%d\n",c = a >b);
}
Sebelum :
int a = 4, b = 12;
printf ("Apakah a > b ? (Ket: 1 = Ya, 0 = Tidak):\n%d\n",c = a <
b);
|
Deskripsi
singkat:
|
Harusnya programnya
ditambahkan variabel c untuk menyimpan nilai hasil operasi c= a>b
|
Coding
5
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(){
float a, b;
printf("Masukkan angka : ");
scanf_s("%f",&a);
b = 3.5;
a += 5;
b *= (a-2);
printf("\nNilai a: %f",a);
printf("\nHasil (b) : %f\n",b);
system("pause");
}
sebelum :
b = 3.5
a += 5;
b *= (a-2);
|
Deskripsi
singkat:
|
Pada coding program di atas maka saat b = 3.5 dan a merupakan inputan
dari user, maka hasilnya akan keluar setelah melakukan operasi perhitungan.
Output program pada Gambar 1.
Gambar 1 Hasil Debug dari program 5
|
Coding
6
|
Source
Code:
|
Incremental :
++k
int k = 5;
printf("k = %d\n", k); //k = 5
printf ("k = %d\n", ++k); //k = 6
printf("k = %d\n", k); //k = 6
k++
int k = 5;
printf("k = %d\n", k); //k = 5
printf ("k = %d\n", k++); //k = 5
printf("k = %d\n", k); //k = 6
Decremental :
--k
int k = 5;
printf("k = %d\n", k);
printf ("k = %d\n", --k);
printf("k = %d\n", k);
k--
int k = 12;
printf("k = %d\n", k);
printf ("k = %d\n", k--);
printf("k = %d\n", k);
|
Deskripsi
singkat:
|
Dari hasil pengamatan coding di atas yaitu
Incremental
-
Ketika ++k, jika k=5
dilakukan operasi menggunakan operator ++k maka akan menjumlahkan 1 lalu baru
akan di cetak, hasil k menjadi 6 , maka hasil k yang terakhir adalah 6.
-
Ketika k++, jika k=5
dilakukan operasi menggunakan operator k++ maka akan mencetak terlebih dahulu
baru menjumlahkan, saat itu k masih mencetak 5, namun selanjutnya setelah
dijumlahkan k akan menjadi 6, karena telah melakukan penjumlahan. Maka hasil
akhir menjadi 6.
Decremental
-
Ketika --k, jika k=5
dilakukan operasi menggunakan operator --k maka akan mengurangi 1 lalu baru akan
di cetak, hasil k menjadi 4 , maka hasil k yang terakhir adalah 4.
-
Ketika k++, jika k=5
dilakukan operasi menggunakan operator k-- maka akan mencetak terlebih dahulu
baru mengurangi, saat itu k masih mencetak 5, namun selanjutnya setelah dikurangi
k akan menjadi 4, karena telah melakukan penjumlahan. Maka hasil akhir
menjadi 4.
|
Coding
7
|
Source
Code:
|
Sesudah :
int a = 4, b = 12,c;
printf ("Apakah a > b ? (Ket: 1 = Ya, 0 = Tidak):\n%d\n",c = a >
b);
Sebelum :
int a = 4, b = 12;
printf ("Apakah a > b ? (Ket: 1 = Ya, 0 =
Tidak):\n%d\n",c = a
<
b);
|
Deskripsi
singkat:
|
Seharusnya untuk menghasilkan nilai 0, operasi menjadi c=a>b dan
tambahkan variabel c untuk menyimpan nilai dari hasil c= a>b
|
Coding
8
|
Source
Code:
|
Sesudah :
int a = 4, b = 12, c = 10, d;
d = (a && b) > c;
printf ("Apakah a dan b < c? (Ket: 1 = Ya, 0 =
tidak):\n%d\n",d);
Sebelum :
int a = 4, b = 12, c = 10, d;
d = (a && b) < c;
printf ("Apakah a dan b < c? (Ket: 1 = Ya, 0 =
tidak):\n%d\n",d);
|
Deskripsi
singkat:
|
Seharusnya untuk dapat menghasilkan nilai 0 pada program, opertor “<”
ditubah menjadi “>”
|
Coding
9
|
Source
Code:
|
int a = 4, b = 12, c = 10, d;
d = (a || b) < c;
printf ("Apakah a dan b < c? (Ket: 1 = Ya, 0 =
tidak):\n%d\n",d);
|
Deskripsi
singkat:
|
Pada program ini sudah benar karena apabila salah satu bilangan (4 atau
12) kurang dari c maka akan menghasilkan nilai = 1
|
Modul 3
Laporan Praktikum TMD02 Algoritma
dan Struktur Data dengan C
NIM/ No. Reg.
|
:
|
49013055
|
Nama
|
:
|
Evi Septiyani
Suparno
|
email
|
:
|
evi_septiyani@ymail.com
|
Laporan
|
:
|
Modul III
|
Coding
1
|
Source
Code:
|
Sesudah :
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float angka;
int a = 12;
printf("Ketikan sembarang angka> ");
scanf_s("%f",&angka);
if (angka >= a)
printf("Angka yang Anda ketikan lebih besar atau sama
dengan dari %d \n",a);
if (angka < a)
printf("Angka yang Anda ketikan kurang dari dari %d
\n",a);
system("pause");
return(0);
}
Sebelum :
#include <stdio.h>
#include <stdlib.h>
int Main(void)
{
float ANGKA;
int a = 12;
printf("Ketikan sembarang angka> ");
scanf("%f",&angka);
if (angka >= a)
printf("Angka yang Anda ketikan lebih besar atau
samadengan dari %a \n",a);
if (angka < a)
printf("Angka yang Anda ketikan kurang dari dari %d
\n",a);
system("pause");
return("0");
}
|
Deskripsi
singkat:
|
Seharusnya coding program itu sebagai berikut :
-
return(0) bukan
return(“0”)
-
seharusnya bukan %a tetapi
%d pada printf("Angka yang Anda ketikan lebih besar atau sama
dengan dari %d \n",a);
-
printf("Angka yang Anda ketikan lebih besar atau sama
dengan dari %d \n",a); di dalam satu baris tidak boleh di enter
-
int
main bukan int Main
-
deklarasi
angka dengan yang dipakai pada program harus sama.
|
Coding
2
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
int main()
{
float
Nilai_Ujian;
char
Indeks;
printf("NILAI
SISWA \n \n");
printf("Masukkan
Nilai Ujian : ");
scanf_s("%f",
&Nilai_Ujian);
if(Nilai_Ujian
>= 90) {
Indeks = 'A';
}
else if(Nilai_Ujian >= 80) {
Indeks = 'B';
}
else if(Nilai_Ujian >= 60) {
Indeks = 'C';
}
else if(Nilai_Ujian >= 50) {
Indeks = 'D';
}
else {
Indeks = 'E';
}
printf( "
Indeks Siswa = %c \n", Indeks);
system("pause");
return
(0);
}
|
Deskripsi
singkat:
|
Pada coding program diatas menggunakan control flow yang merupakan if
bersarang, jadi apabila nilai tidak memenuhi kriteria paling atas maka akan
masuk pada else if ataupun else, setelah itu baru di print indeksnya (Gambar
1).
Gambar 1 Output if bersarang
|
Coding
3
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
printf("Angka 1 : ");
scanf_s("%d",&a);
switch (a)
{
case 1:
printf("Anda memasukan angka 1 \n");
break;
case 2:
printf("Anda memasukan angka 2 \n");
break;
default:
printf("Anda tidak memasukan angka 1 atau 2 \n");
break;
}
system("pause");
}
|
Deskripsi
singkat:
|
Penjelasan dari program di atas yaitu apabila
diinputkan 1 maka akan dicetak ke case 1 (Gambar 2), apabila diinputkan 2
maka akan dicetak case 2 (Gambar 3) dan apabila selain 1 atau 2 maka akan
muncul default (Gambar 4).
Gambar 2 Output case 1
Gambar 3 Output Case 2
Gambar 4 Output default
|
Coding
4
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, k;
printf("Masukkan angka : ");
scanf_s("%d",&a);
while (a > 5)
{
k = --a;
printf("Nilai = %d\n", k);
}
system("pause");
}
|
Deskripsi
singkat:
|
Maksud dari pemograman di atas adalah ketika kita
memasukkan angka <= 5 maka tidak akan masuk pada while (Gambar 5). Jika
angka >5 maka bilangan tersebut akan dilakukan operasi operator - -a artinya akan melakukan
pengurangan, contohnya apabila menginputkan bilangan 6 maka bilangan yang
dicetak akan keluar menjadi 5, mengapa hasil disini tidak di cetak karena
saat memasukan angka 5, angka 5 tidak lolos seleksi (Gambar 6).
Gambar 5 Debug apabila memasukan angka <=5
Gambar 6 Debug apabila memasukan angka >5
|
Coding
5
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, k;
printf("Masukkan angka : ");
scanf_s("%d",&a);
do
{
k = --a;
printf("Nilai = %d\n", k);
} while (a > 5);
system("pause");
}
|
Deskripsi
singkat:
|
Pada coding di atas maksudnya adalah ketika diinputkan a=5 tetap di
eksekusi dan akan mencetak nilai = 5 karena kondisi while tersebut di
terakhir sehingga angka nilai = 5 itu tidak terseleksi. Bedanya pada pada
while, jadi pada coding 4 while berada di atas sehingga bilangan yang
diinputkan terseleksi terlebih dahulu
Gambar 7 Output eksekusi do-while
|
Coding
6
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, k;
printf("Masukkan angka : ");
scanf_s("%d",&a);
for (a = 10; a > 5; --a)
{
k = a%2;
printf("Nilai = %d\n", k);
}
system("pause");
}
|
Deskripsi
singkat:
|
Gambar 8 Output dari operasi for
|
Coding
7
|
Source
Code:
|
#include <stdio.h>
#include <stdlib.h>
int main()
{
int b;
float la=2,t=3,r=4,phi=3.14;
double VolumeLimas, VolumeBola;
printf("Masukkan Angka: ");
scanf_s("%d",&b);
switch (b)
{
case 1:
VolumeLimas
= la*t*0.33;
printf("Volume Limas adalah %.3f \n",
VolumeLimas);
break;
case 2:
VolumeBola
= 1.33*phi*r*r*r;
printf("Volume Bola adalah %.3f \n",
VolumeBola);
break;
default:
printf("Anda tidak memasukan angka 1 atau 2 \n");
break;
}
system("pause");
}
|
Deskripsi
singkat:
|
Penjelasan program di atas adalah
·
jika angka 1 diketik maka perhitungan volume limas segitiga dimulai atau
·
jika angka 2 diketik maka pehitungan volume bola dimulai.
·
apabila tidak mengetik angka 1 atau 2 maka pada layar ditampilkan kalimat
“Anda tidak mengetik angka 1 atau 2” dan kembali ke tahap awal.
·
Program selesai dijalankan jika salah satu perhitungan luas telah
dilakukan
|
Tidak ada komentar:
Posting Komentar