Laporan Akhir AP-I 52.doc

20
TUGAS AKHIR I. Program Praktikum PROGRAM 1.4 Listing Program /*Program 1.4 Penggunaan Statement if dan operator relasi Labkom-2011*/ #include <stdio.h> void main() { int bil1, bil2; printf("Masukkan dua bilangan integer, \n"); printf("hubungan antara dua bilangan trsebut adalah :"); scanf("%d %d", &bil1, &bil2); if (bil1 == bil2) printf("%d sama dengan %d\n", bil1, bil2); if (bil1 != bil2) printf("Kalimat A"); if (bil1 < bil2) printf("Kalimat B"); if (bil1 > bil2) printf("Kalimat C");

description

ini adalah laoran pertama praktikum algoritma pemrograman di jurusan fisika fakultas MIPA universitas Padjadjaran. materi pertaman ini mengenai pengenalan bahasa C dimana di dalam nya membahas mengenai sejarah bahasa C, dan mengenai hal-hal umum yag perlu di bahas dalam mempelajari bahasa C. seperti looping, statement, pengkondisian, dll

Transcript of Laporan Akhir AP-I 52.doc

Page 1: Laporan Akhir AP-I 52.doc

TUGAS AKHIR

I. Program Praktikum

PROGRAM 1.4

Listing Program

/*Program 1.4

Penggunaan Statement if dan operator relasi

Labkom-2011*/

#include <stdio.h>

void main()

{

int bil1, bil2;

printf("Masukkan dua bilangan integer, \n");

printf("hubungan antara dua bilangan trsebut adalah :");

scanf("%d %d", &bil1, &bil2);

if (bil1 == bil2)

printf("%d sama dengan %d\n", bil1, bil2);

if (bil1 != bil2)

printf("Kalimat A");

if (bil1 < bil2)

printf("Kalimat B");

if (bil1 > bil2)

printf("Kalimat C");

if (bil1 <= bil2)

printf("Kalimat D");

if (bil1 >= bil2)

printf("Kalimat E");

}

Page 2: Laporan Akhir AP-I 52.doc

Tampilan Program

Analisa Program

Kalimat yang berada diantara tanda /* */ merupakan komentar, yang tidak

akan ditampilkan pada saat program dieksekusi namun dapat membantu kita

untuk mengetahui program apa yang dibuat, dan dapat juga untuk mengetahui

peletakan source code mengenai program tertentu yang berada pada suatu file

program yang memiliki line yang cukup banyak. Namun untuk komentar yang

hanya berisi satu baris atau line dapat menggunakan tanda “//”.

Pada program ini #include adalah sebagai preprocessor directive dan stdio.h

sebagai library yang digunakan. Dan main() merupakan fungsi utama pada

program ini. Penambahan void sebelum main memiliki arti bahwa fungsi main

tidak memiliki nilai pengembalian (return).

Tipe data yang digunakan pada program ini adalah int (integer), yaitu tipe

data bilangan bulat. Tipe data yang disertai nama variabel merupakan deklarasi

variabel, yaitu pemesanan memori dan menentukan jenis data yang bisa disimpan

di dalamnya. Fungsi printf merupakan perintah untuk output argumen yang

terdapat diantara tanda (“ ”), dan penambahan tanda titik koma (;) merupakan

tanda akhir bagi statement. Fungsi scanf merupakan perintah untuk input. %d

merupakan kode format untuk bilangan integer, berarti data yang diinput harus

berupa bilangan integer. Tanda ‘&’ merupakan pointer yang digunakan untuk

menunju ke alamat variabel memori yang dituju.

If merupakan sintax dasar pengkondisian, yaitu untuk mengeksekusi

beberapa kode hanya jika suatu kondisi tertentu adalah benar. Pada tampilan

program hasil untuk hubungan antara bilangan 4 dan 3 adalah “Kalimat A”,

“Kalimat C”, dan “Kalimat E” karena itu adalah argumen yang akan ditampilkan

Page 3: Laporan Akhir AP-I 52.doc

untuk kondisi yang sesuai dengan operator relasi untuk hubungan 4 dan 3. Pada

tampilan program hasil yang keluar terdiri dari 3 argumen yang berderet karena

pada source code tidak dimasukkan karakter \n atau pun spasi untuk memisahkan

argumen yang satu dan lainnya. Operator relasi yang digunakan adalah “==”

(sama dengan), “!=” (tidak sama dengan), “<” (lebih kecil dari), “>” (lebih besar

dari), “<=” (lebih kecil atau sama dengan dari), “>=” (lebih besar atau sama

dengan dari).

Listing Program

/*Program 1.4

Penggunaan Statement if dan operator relasi

Labkom-2011*/

#include <stdio.h>

void main()

{

int bil1, bil2;

printf("Masukkan dua bilangan integer, \n");

printf("hubungan antara dua bilangan trsebut adalah :");

scanf("%d %d", &bil1, &bil2);

if (bil1 == bil2)

printf("%d sama dengan %d\n", bil1, bil2);

if (bil1 != bil2)

printf("%d tidak sama dengan %d\n", bil1, bil2);

if (bil1 < bil2)

printf("%d lebih kecil dari %d\n", bil1, bil2);

if (bil1 > bil2)

printf("%d lebih besar dari %d\n", bil1, bil2);

if (bil1 <= bil2)

printf("%d lebih kecil atau sama dengan dari %d\n",

bil1, bil2);

Page 4: Laporan Akhir AP-I 52.doc

if (bil1 >= bil2)

printf("%d lebih besar atau sama dengan dari %d\n",

bil1, bil2);

}

Tampilan Program

Analisa Program

Program ini sama dengan program yang sebelumnya hanya telah sedikit

dimodifikasi yaitu “Kalimat A” sampai “Kalimat E” telah diubah menjadi

argumen yang sesuai dengan fungsi yang sesuai dengan operator relasinya. Dan

juga telah ditambahkan dengan karakter pada akhir argumen sehingga tampilan

hasil program ini dapat tersusun lebih rapih.

II. Program Tugas Akhir

1. Buatlah program C yang menanyakan tiga buah bilangan integer melalui

keyboard, kemudian program akan menampilkan jumlah, rata-rata, product

(perkalian ketiga bilangan tersebut), nilai terkecil dan nilai terbesar

diantara ketiga bilangan tersebut. Sebagai contoh tampilkan yang

diinginkan adalah sebagai berikut

Masukkan tiga buah bilangan integer : 13 27 14

Penjumlahan : 54

Rata-rata : 18

Product : 4914

Page 5: Laporan Akhir AP-I 52.doc

Bilangan terkecil : 13

Bilangan terbesar : 27

Listing Program

/*Tugas Akhir 1

Labkom-2011*/

#include <stdio.h>

void main()

{

int bil1, bil2, bil3, jumlah, product;

float rerata;

printf("Masukkan tiga buah bilangan integer: \n");

scanf("%d %d %d", &bil1, &bil2, &bil3);

jumlah = bil1 + bil2 + bil3; /*penjumlahan*/

printf("\npenjumlahan : %d\n", jumlah);

rerata = jumlah / 3; /*rata-rata*/

printf("rata-rata : %.2g\n", rerata);

product = bil1 * bil2 * bil3; /*perkalian*/

printf("product : %d\n", product);

if (bil1 <= bil2 && bil1 <= bil3) /*bilangan terkecil*/

printf("bilangan terkecil : %d\n", bil1);

else if (bil2 <= bil1 && bil2 <= bil3)

printf("bilangan terkecil : %d\n", bil2);

else

printf("bilangan terkecil : %d\n", bil3);

if (bil1 >= bil2 && bil1 >= bil3) /*bilangan terbesar*/

printf("bilangan terbesar : %d\n", bil1);

else if (bil2 >= bil1 && bil2 >= bil3)

printf("bilangan terbesar : %d\n", bil2);

Page 6: Laporan Akhir AP-I 52.doc

else

printf("bilangan terbesar : %d\n", bil3);

}

Tampilan Program

Analisa Program

Program ini adalah program untuk operator aritmatika. Preprocessor dan

library yang digunakan adalah #include <stdio.h>. fungsi utama pada program ini

adalah main(). Dan penambahan void sebelum main() adalah agar fungsi main

tidak memiliki nilai pengembalian. Tipe data yang digunakan adalah int yaitu tipe

data untuk bilangan integer dan juga float yaitu tipe data untuk bilangan real yang

bisa mengandung pecahan dan bisa ditulis dalam bentuk eksponensial. Setelah

penulisan tipe data, dituliskan variabel-variabel yang akan digunakan pada fungsi

main(), hal ini dilakukan untuk mendeklarasikan variabel. Fungsi printf digunakan

untuk perintah output dan fungsi scanf berfungsi untuk perintah input. Kode

format untuk integer adalah %d sedangkan yang digunakan untuk float adalah %f

dan %e (float scientific), namun pada program ini menggunakan %g yaitu sebagai

pengganti %f atau %e tergantung kepada yang terpendek. Penambahan .2 sebelum

g pada %g dimaksudkan agar angka desimal yang ditampilkan pada hasil

program hanya 2 angka dibelakang koma. Nama variabel yang ditulis dibelakang

argumen menunjukan variabel mana yang dituju. Dan penambahan “&” pada

nama variabel di akhir statement merupakan pointer yang digunakan untuk

menunju ke alamat variabel memori yang dituju.

Pada operasi mencari bilangan terkecil dan terbesar menggunakan statement

if... else if... else if... karena pada program ini memiliki beberapa pengkondisian

Page 7: Laporan Akhir AP-I 52.doc

untuk dapat menemukan nilai terkecil dan terbesar. Pada program ini

ditambahkan “=” pada setiap operator relasinya agar jika data yang diinput

memiliki nilai yang sama program tidak akan error. Seperti pasa contoh berikut

ini:

2. Buatlah Program yang menghasilkan keluaran sebagai berikut

Page 8: Laporan Akhir AP-I 52.doc

Listing Program

/*Tugas Akhir 2

Labkom-2011*/

#include <stdio.h>

main()

{

printf("********** * *\n");

printf("* * * * * *\n");

printf("* * * * * * *\n");

printf("* * * * *\n");

printf("* * * * *\n");

printf("* * * * *\n");

printf("* * * * *\n");

printf("* * * * *\n");

printf("********** * *\n");

}

Tampilan Program

Analisa Program

Pada program ini untuk menampilkan hasil yang diperintahkan dapat

membuatnya dengan cara manual. Namun dapat juga dengan cara looping atau

pengulangan, seperti pada contoh berikut ini:

Page 9: Laporan Akhir AP-I 52.doc

/*Tugas Akhir 2

Labkom-2011*/

#include <stdio.h>

main()

{

int i, j, k;

for (i=1 ; i<=10 ; i++) {

printf("*");

}

printf("\n");

for (j=1 ; j<=7 ; j++) {

for (k=1 ; k<=2 ; k++) {

printf("*\t ");

}

printf("\n");

}

for (i=1 ; i<=10 ; i++){

printf("*");

}

printf("\n *\n");

printf(" * *\n");

printf("* * *\n");

for (i=1 ; i<=6 ; i++){

printf(" *\n");

}

return 0;

}

Page 10: Laporan Akhir AP-I 52.doc

Tampilan Program

Namun pada contoh ini saya hanya baru bisa membuat ini saja.

Penambahan tanda “{}” pada awal dan akhir statement for adalah untuk

memisahkan antara statement for yang satu dan yang lainnya, dan juga agar

membuat listing program yang dibuat terlihat lebih rapih.

Tugas Tambahan

Membuat program untuk mencari akar-akar persamaan kuadrat

Page 11: Laporan Akhir AP-I 52.doc

Flow Chart untuk mencari akar persamaan kuadrat

Page 12: Laporan Akhir AP-I 52.doc

Listing Program

/*Tugas Tambahan

Mencari akar-akar persamaan kuadrat

Labkom-2011*/

#include <stdio.h>

#include <math.h>

main()

{

int a, b, c, D;

float x1, x2;

printf("Mencari akar-akar persamaan kuadrat dari ax2 + bx +

c\n");

printf("masukkan a, b, dan c : ");

scanf("%d %d %d", &a, &b, &c);

if ( a == 0){

printf("\ntidak ada solusi\n");

return 0;

}

else{

D = (b*b) - (4*a*c);

}

if (D < 0){

printf("\ntidak ada solusi\n");

return 0;

}

else{

x1 = (-b + sqrt(D)) / (2*a);

x2 = (-b - sqrt(D)) / (2*a);

}

if (x1 * x2 == c/a && x1 + x2 == -b/a){

printf("\nx1 : %.2g \n", x1);

Page 13: Laporan Akhir AP-I 52.doc

printf("x2 : %.2g \n", x2);

}

else{

printf("\ntidak ada solusi\n");

}

return 0;

}

Tampilan Program

Analisa Program

Pada program mencari akar persamaan kuadrat ini library ditambah dengan

math.h karena syntax sqrt tidak dikenal di library stdio.h. pada program ni tipe

data yang digunakan adalah int (integer) dan float.

Pada program ini banyak yang menggunakan statement if... else... karena

program ini membutuhkan banyak pengkondisian. Setelah menuliskan if dan

kondisinya ditambahkan tanda “{}” karena statement yang digunakan lebih dari 1

baris dan juga berfungsi untuk membuat listing program menjadi terlihat lebih

rapih.

Penambahan library math.h dimaksudkan agar syntax sqrt (square root)

dapat dikompilasi sehingga program dapat terbaca oleh komputer.

Penambahan return 0; sama dengan void yang dituliskan sebelum main()

yaitu fungsi tidak memiliki nilai kembalian. Sehingga return 0; ditambahkan pada

statement if agar ketika if terpenuhi program tidak meneruskan proses.

Page 14: Laporan Akhir AP-I 52.doc

KESIMPULAN

Bahasa C diciptakan olehBrian W. Kernighan dan Dennis M. Ritchie.

Statement input dan output yang dapat digunakan dalam bahasa C diantaranya

adalah printf dan scanf. Tipe-tipe data ynag terdapat pada C diantaranya adalah

char, string, integer, boolean. Operator aritmatika yang dapat digunakan dalam

bahasa C dengan library stdio.h hanyalah “+” (penjumlahan), “-” (pengurangan),

“*” (perkalian), “/” (pembagian). Sehingga untuk menampilkan operator lain

harus menambahkan library yang lain.

Page 15: Laporan Akhir AP-I 52.doc

Daftar Pustaka

http://octavianopratama.wordpress.com/

http://www.nusinau.com/tag/char/

http://www.amhusite.co.cc/

http://teknik-informatika.com/bahasa-pemrograman/

http://ndoware.com/

http://kebelmerah.blogspot.com/