Anda di halaman 1dari 16

LAPORAN AKHIR

PRAKTIKUM PEMROGRAMAN TERSTRUKTUR


MODUL KE-[3] [PERCABANGAN]

OLEH:
[Mukhlis Sholihin]
[201610370311065]

LABORATORIUM PEMROGRAMAN
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2016/2017

H a l a m a n 1 | 16
1. TUGAS PENDAHULUAN

Buatlah potongan program untuksoal-soal di bawah ini:

1. Gunakan statemen if untuk membandingkan nilai dari sebuah variabel integer(sum) dengannilai
65. Jika lebih kecil, maka tampilkan pesan :Maaf, Anda harus mencoba lagi!.
#include <stdio.h>

main(){

int sum,A;

sum=65;

scanf("%d",&A);

if(A<sum){

printf("Maaf anda harus mencoba lagi!");

}
}

2. Jika variable total sama dengan variable tebak,cetaklah nilai dari total, jika tidak sama, maka
cetaklah nilai dari tebak.
#include <stdio.h>
main(){
int total,tebak;
printf("Masukan nilai total:\n");
scanf("%d",&total);
printf("Masukan nilai tebak:\n");
scanf("%d",&tebak);
if (total=tebak){
printf("Hasilnya:%d",total);
} else {
printf("Hasilnya:%d",tebak);
}
}
}
}

H a l a m a n 2 | 16
3. Jika variable sum sama dengan 10 dan variable total kurang dari 20, maka tampilkan pesan
:Tidaksesuai!
#include <stdio.h>

main(){

int sum,total;

printf("Masukkan nilai sum:");

scanf("%d",&sum);

printf("Masukan nilai total:");

scanf("%d",&total);

if(sum=10&&total<20){

printf("Tidak sesuai");

4. Jika variable flag sama dengan 1 atau variable letter bukan X, maka assign nilai0 kepada variable
exit_flag, jika tidak, maka set exit_flag sama dengan 1.
#include <stdio.h>
main(){
int flag;
char letter;
int exit_flag;
printf("Masukan nilai flag:");
scanf("%d",&flag);
printf("Masukan nilai letter:");
scanf("%s",&letter);
if (flag==1||letter!='X'){
exit_flag=0;
printf("%d",exit_flag);
}
else(exit_flag=1);{
printf("%d",exit_flag);
}
}
5. Tulislah kembali pernyataan-pernyataan di bawah ini dengan menggunakan pernyataan switch
if( letter == 'X' )
sum = 0;
else if ( letter == 'Z' )
valid_flag = 1;
else if( letter == 'A' )
sum = 1;
else
printf("Unknown letter -->%c\n", letter );

H a l a m a n 3 | 16
#include <stdio.h>

main(){

char letter;

int sum,valid_flag;

switch(letter){

case 'X';{

sum=0

break;}

case 'Z';{

valid_flag=1;

break;}

case 'A';{

sum=1;

break;}

default;

printf("unknown letter-->%s\n",letter);

H a l a m a n 4 | 16
2. HASIL PERCOBAAN

Berikut adalah uraian kegiatan pada praktikum :


Kegiatan I
1. Ketikkan kode program berikut ini:
#include <stdio.h>
int main(int argc, char** argv) {
int mark;
char pass;
printf("input value of mark:");
scanf("%d",&mark);

if (mark>40)
{
pass='Y';
printf("You passed");
}
else
{
pass='N';
printf("You failed");
}
printf("pass status:%c",pass);
return 0;
}
2. Jalankan program, ketikkan nilai 50, apa yang muncul di monitor:
Jawaban: You Passed pass status : Y
3. Jalankan program, ketikkan nilai 40, apa yang muncul di monitor
Jawaban: You failde pass status: N
4. Apa fungsi pernyataan if(mark > 40) pada kode program di
atas
Jawaban: untuk merumuskan jika mark benar lebih dari 40, maka program dijalankan, dan jika
tikdak lebih dari 40 maka program if tidak di jalankan.
5. Apa fungsi pernyataan else pada kode program di atas
Jawaban: Unttuk menamplikan alternatif, jika if tidak benar, maka else nya di jalankan.
6. Hapus kurung kurawal { dan } di baris 10, 13, 15, 18
7. Jalankan program, ketikkan nilai 50, nilai apa yang muncul di monitor
Jawaban: Program tidak dapat dijalankan, tanpa adanya kurung kurawal.
8. Jalankan program, ketikkan nilai 40, nilai apa yang muncul di monitor
Jawaban: Program tidak dapat dijalankan, tanpa adanya kurung kurawal.
9. Mengapa hasil seperti di nomor 7 dan 8 bisa terjadi:
Jawaban:Karena tidak adanya kurung kurawal, sehingga if tidak akan terbaca begitu juga else.
10. Apa fungsi tanda kurung kurawal
Jawaban: untuk mengawali dan mengakhiri sebuah fungsi agar dapat dikenali.

3. KEGIATAN PRAKTIKUM

H a l a m a n 5 | 16
Kegiatan II

1. Ketikkan kode program berikut ini


#include <stdio.h>

int main()
{
int a,b;
printf("input first number:");scanf("%d",&a);
printf("input second number:");scanf("%d",&b);
if(a>0&&b>0)
printf("booth number are positive number\n");
if(a==0 || b==0)
printf("at least one of the numbers -0\n");
if(!(a>0)&&!(b>0))
printf("boot number are negative numbers\n");
return 0;
}
2. Jalankan program, ketikkan nilai 10 dan 20, apa yang muncul di monitor?
Jawaban: Booth number are positive number
3. Jalankan program, ketikkan nilai 11 dan -1, apa yang muncul di monitor?
Jawaban: Tidak ada yang muncul
4. Jalankan program, ketikkan nilai -1 dan -90, apa yang muncul di monitor?
Jawaban: booth number are negative numbers
5. Apa fungsi dari operator && di baris 8 dan 11?
Jawaban: fungsinya untuk membaca operator dan sehingga dibaca oleh program.
6. Apa fungsi dari operator || di baris 10?
Jawaban: fungsinya untuk membaca operator atau sehingga dibaca oleh program.
7. Di baris 12 terdapat kode !(a>0), apa jadinya kalau kode tersebut diganti menjadi !a>0
? Buktikan dengan mengubah kode program!
#include <stdio.h>

int main()
{
int a,b;
printf("input first number:");scanf("%d",&a);
printf("input second number:");scanf("%d",&b);
if(a>0&&b>0)
printf("booth number are positive number\n");
if(a==0 || b==0)
printf("at least one of the numbers -0\n");
if(!a>0&&!(b>0))
printf("boot number are negative numbers\n");
return 0;
}
Program tidak mau menampilkan fungsi printf yang ada di baris 13 nya.
8. Apa fungsi dari tanda ( dan ) di soal no 7?
jawaban: sebagai pembatas untuk melengkapi fungsi.

H a l a m a n 6 | 16
Kegiatan III

1. Ketikkan kode program berikut ini


#include <stdio.h>

int main()
{
char fruit;
printf("which one is your favorite fruit:\n");
printf("a.)Apples\n");
printf("b. Bananans\n");
printf("c.Cherries\n");
scanf("%c",&fruit);

switch(fruit)
{
case 'a':
printf("You like apples\n");
break;
case 'b':
printf("You like bananas\n");
break;
case 'c':
printf("You like cherries\n");
break;
default:
printf("You entered invalid choice\n");
break;
}
return 0;
}
2. Jalankan program, ketikkan huruf a, apa yang muncul di monitor?
Jawaban: You like apples
3. Jalankan program, ketikkan huruf b, apa yang muncul di monitor?
Jawaban: You like bananas
4. Jalankan program, ketikkan huruf c, apa yang muncul di monitor?
Jawaban: You like cherries
5. Jalankan program, ketikkan huruf d, apa yang muncul di monitor?
Jawaban: You entered invalid choice
6. Dari langkah 2-5, apa yang bisa anda simpulkan? Lihat kode!
Jawaban: switch berfungsi hampir sama dengan if else, tetapi lebih sederhana, dan switch hanya
berfungsi pada alur percabangan untuk tipe data int dan char.
7. Hilangkan semua kode break; yang ada di baris 15, 18, 21

H a l a m a n 7 | 16
#include <stdio.h>

int main()

char fruit;

printf("which one is your favorite fruit:\n");

printf("a.)Apples\n");

printf("b. Bananans\n");

printf("c.Cherries\n");

scanf("%c",&fruit);

switch(fruit)

case 'a':

printf("You like apples\n");

case 'b':

printf("You like bananas\n");

case 'c':

printf("You like cherries\n");

default:

printf("You entered invalid choice\n");

break;

return 0;

8. Jalankan program, ketikkan huruf a, apa yang muncul di monitor?


You like apples
You like bananas
You like cherries
You entered invalid choice

H a l a m a n 8 | 16
9. Mengapa hasil di langkah 2 dan langkah 8 berbeda?
Jawaban: Karena break dihapus maka pada langkah 8 akan langsung menampilkan semua fungsi
printfnya.
10. Apakah fungsi dari break; ?
Jawaban: Sebagai jeda, sehingga ketika program awal sudah benar maka fungsi selanjutnya tidak
dijalankan
11. Bisakah kode switch-case diatas diubah menjadi if-else? Tulis kode yang diubah!
#include <stdio.h>

int main()
{
char fruit;
printf("which one is your favorite fruit:\n");
printf("a.)Apples\n");
printf("b. Bananans\n");
printf("c.Cherries\n");
scanf("%c",&fruit);

if(fruit=='a')
{
printf("You like apples\n");
}
else
if(fruit=='b')
{
printf("You like bananas\n");
}
else
if(fruit=='c')
{
printf("You like cherries\n");
}
else
printf("You entered invalid choice\n");

return 0;
}
Kegiatan IV
1. Ketikan kode program dibawah ini
#include <stdio.h>

int main()
{
int number;
printf("enter a number:\n");
scanf("%d",&number);

if (number==0)
{
printf("the number is zero");
}
else {
if(number>0)
{
printf("the number is positif");
}
else if(number<0)
{
printf("the number is negative");
}
}

H a l a m a n 9 | 16
2. Jalankan program, masukkan bilangan 0, apa output yang dihasilkan?
the number is zero
3. Jalankan program, masukkan bilang 90, apa output yang dihasilkan?
the number is positif
4. Jalankan program, masukkan bilangan -100, apa output yang dihasilkan?
the number is negative
5. Ubah kode program pada baris ke 14 dengan menuliskan operas number>=0
kemudian masukkan jalankan program dan inputkan bilangan 100, apa output yang
dihasilkan? Mengapa demikian?
Jawaban: the number is positif
Karena program akan membaca, apabila angka yang di input lebih dari atau sama dengan 0, maka
jalankan programnya.
6. Jelaskan maksud kode program pada baris 14-21, kenapa bisa ditulis di dalam blok
else?
Untuk memberikan output lain jika logika yang di berikan tidak sesuai dengan pernyataan awal.
7. Ubah kode program pada baris ke 13-22 menjadi berikut
else if(number>0)
{
printf("the number is positif");
}
else
{
printf("the number is negative");
}
Jalankan program dan masukkan masing-masing input 0, 90, dan -100. Apa yang
dihasilkan masing-masing input tersebut? Kenapa bisa demikian?
Jawaban: Hasil tetap sama, karena if yang terakhir memberikan output yang akan di keluarkan jika
seluruh pernyataan di atas tidak sesuai dengan input yang di masukkan.

8. Jelaskan perbedaan antara, if, else-if, dan else!!


Jawaban: If merupakan fungsi yang apa bila pernyataannya benar maka akan di jalankan. Dan jika
salah tidak di jalankan.
Sedangkan else-if jika suatu kondisi apabila if tidak bernilai benar, maka dia akan mengerjakan fungsi
yang ada di else-if.
Sedangkan else suatu kondisi jika pernyataan yang ada di if salah, dan yang ada di if-else juga salah,
makan else yang akan di jalankan.

H a l a m a n 10 | 16
TUGAS PRAKTIKUM
1. Buatlah flowchart dan program yang dapat mengkonversi data kecepatan angin, menjadi
kategori-kategori tertentu. Program akan membaca data berupa ukuran (nilai) kecepatan
angin, sedangkan output dari program berupa status kategori dari kecepatan angin. Data
tentang kategori kecepatan angin dapat dilihat pada tabel dibawah.

H a l a m a n 11 | 16
#include <stdio.h>

main(){

int a;

printf("Program Mengkonversi Kecepatan Angin\n");

printf("Input Wind Speed (mph):");

scanf("%d",&a);

if(a<25){

printf("not a stromg wind");

if (a>=25&&a<=38){

printf("strong wind");

if(a>=39&&a<=54){

printf("gale");

if (a>=55&&a<=72){

printf("whole gale");

if(a>72){

printf("hurricane");

H a l a m a n 12 | 16
2. Buatlah program Tambah 1 detik
#include <stdio.h>

main(){

int detik,menit,jam;

printf("program menambah satu detik\n");

printf("input jam:");

scanf("%d",&jam);

printf("Input menit:");

scanf("%d",&menit);

printf("input detik:");

scanf("%d",&detik);

detik=detik+1;

if(detik>59){

detik=0;

menit=menit+1;

}if(menit>59){

menit=0;

jam=jam+1;

}if(jam>23){

jam=0;

printf("\nHasil jam di tambah 1 detik:\n");

printf("%d:",jam);

printf("%d:",menit);

printf("%d\n",detik);

H a l a m a n 13 | 16
3. Buatlah flowchart dan program yang akan menghitung gaji di sebuah perusahaan swasta

H a l a m a n 14 | 16
#include <stdio.h>

main(){

char nama;

int usia,tahun,anak,lama;

int gaji1=2500000;

int gaji2=3000000;

int gaji3=3500000;

int gaji;

int pesangon;

lama=2015-tahun;

printf("PROGRAM HITUNG GAJI KARYAWAN");

printf("\n1.Nama:");

scanf("%s",&nama);

printf("2.Tahun Masuk:");

scanf("%d",&tahun);

printf("3.Jumlah Anak:");

scanf("%d",&anak);

printf("4.Usia:");

scanf("%d",&usia);

if(usia>55){

if(lama<20){

pesangon=450000000;

printf("Maka Karyawan Berstatus Pensiun dengan pesangon:Rp.%d\n",pesangon);

if(lama>=20){

pesangon=750000000;

printf("Maka Karyawan Berstatus Pensiun dengan pesangon:Rp.%d\n",pesangon);

H a l a m a n 15 | 16
Lanjutan...

if(usia<=55){

if(lama<2&&anak<=3){

gaji=gaji1+(anak*250000);

printf("Maka Gaji Karyawan:Rp.%d\n",gaji);

if(lama<2&&anak>3){

gaji=gaji1+(3*250000);

printf("Maka Gaji Karyawan:Rp.%d\n",gaji);

if(lama>=2&&lama<=10&&anak<=3){

gaji=gaji2+(anak*350000);

printf("Maka Gaji Karyawan:Rp.%d\n",gaji);

if(lama>=2&&lama<=10&&anak>3){

gaji=gaji2+(3*350000);

printf("Maka Gaji Karyawan:%d\n",gaji);

if(lama>10&&anak<=3){

gaji=gaji3+(anak*400000);

printf("Maka Gaji Karyawan:Rp.%d\n",gaji);

if(lama>10&&anak>3){

gaji=gaji3+(3*400000);

printf("Maka Gaji Karyawan:Rp.%d\n",gaji);

H a l a m a n 16 | 16

Anda mungkin juga menyukai