Tutorial Pemrograman C (Konversi basis bilangan ‘Printf’, Output File)

Tutorial ini adalah tutorial membuat program dengan menggunakan bahasa c dengan memanfaatkan fungsi printf, scanf, dan frintf untuk membuat beberapa program yang dapat menampilkan, menerima input dari pengguna, serta kemudian menuliskannya dalam file untuk menyimpannya.

salah satu dari program tersebut telah saya buatkan video tutorialnya untuk melengkapi tugas dan memperjelas bagaimana ngoding dengan bahasa c di visual studio 2010. Berikut adalah video yang dapat anda saksikan :

Video ini merupakan video tutorial membuat program dengan menggunakan bahasa pemrograman c dan IDE visual studio 2010. Video ini dibuat untuk memenuhi tugas mata kuliah algoritma dan struktur data dengan c. dalam video tersenut dijelaskan tentang bagaimana mengatur output dengan mengatur format string “printf” yang digunakan. Dalam video ini juga dijelaskan bagaimana agar program dapat menyimpan dan membuat file *.txt dan menuliskan output sesuatu kedalam file tersebut.

Untuk tutorial dan program yang lain, anda dapat lihat source code serta deskripsi dan penjelasannya dibawah ini :

–>

Laporan Praktikum TMD02 Algoritma dan Struktur
Data dengan C

NIM/ No. Reg.

:

49013035

Nama

:

Wayan Widya Artana

Email

:

wayanwidyaartana@yahoo.co.id

Laporan

:

Tugas 1

 

Coding 1

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

#include <stdio.h>

#include <stdlib.h>

 

int main(void){

 

       int p,q;

       float x,y,z;

       long int hitung;

       short int flag;

       int index;

       unsigned int pos;

       double untung, rugi, pajak;

       unsigned int kanan;

      

       FILE * file;

       file = fopen(“myfile.txt”,“w”);

 

       printf(“a. Bilngan bulat integer p dan q \n”);

       printf(“Masukkan nilai p : “);scanf(“%i”,&p);

       printf(“Masukkan nilai q : “);scanf(“%i”,&q);

       printf(“b. Bilangan pecahan x,y,z \n”);

       printf(“Masukkan bilangan pecahan x : “);scanf(“%f”,&x);

       printf(“Masukkan bilangan pecahan y : “);scanf(“%f”,&y);

       printf(“Masukkan bilangan pecahan z : “);scanf(“%f”,&z);

       printf(“c. Long integer hitung \n”);

       printf(“Masukkan long integer hitung : “);scanf(“%ld”,&hitung);

       printf(“d. Short Integer flag \n”);

       printf(“Masukkan nilai short integer flag “);scanf(“%hi”,&flag);

       printf(“e. Integer index \n”);

       printf(“Masukkan nilai integer index : “);scanf(“%i”,&index);

       printf(“f. Unsigned Integer pos \n”);

       printf(“Masukkan nilai unsined integer pos : “);scanf(“%u”,&pos);

       printf(“g. Double presision untung, rugi, pajak \n”);

       printf(“Masukkan nilai untung : “);scanf(“%lf”,&untung);

       printf(“Masukkan nilai rugi : “);scanf(“%lf”,&rugi);

       printf(“Masukkan nilai pajak : “);scanf(“%lf”,&pajak);

       printf(“h. Bilangan bulat tak negatif kanan \n”);

       printf(“Masukkan bilangan bulat tak negatif nilai kanan : “);scanf(“%u”,&kanan);

      

       printf(“Nilai p = %d\n”,p);

       printf(“Nilai q = %d\n”,p);

       printf(“Nilai x = %f\n”,x);

       printf(“Nilai y = %f\n”,y);

       printf(“Nilai z = %f\n”,z);

       printf(“Nilai hitung = %ld\n”,hitung);  

       printf(“Nilai flag = %hi\n”,flag);

       printf(“Nilai index = %i\n”,index);

       printf(“Nilai pos = %u\n”,pos);

       printf(“Nilai untung = %.5lf\n”,untung);

       printf(“Nilai rugi = %.5lf\n”,rugi);

       printf(“Nilai pajak = %.5lf\n”,pajak);

       printf(“Nilai kanan = %u\n”,kanan);

 

       fprintf(file,“Nilai p = %d\n”,p);

       fprintf(file,“Nilai q = %d\n”,p);

       fprintf(file,“Nilai x = %f\n”,x);

       fprintf(file,“Nilai y = %f\n”,y);

       fprintf(file,“Nilai z = %f\n”,z);       

       fprintf(file,“Nilai hitung = %ld\n”,hitung);   

       fprintf(file,“Nilai flag = %hi\n”,flag);       

       fprintf(file,“Nilai index = %i\n”,index);

       fprintf(file,“Nilai pos = %u\n”,pos);   

       fprintf(file,“Nilai untung = %.3lf\n”,untung);

       fprintf(file,“Nilai rugi = %.2lf\n”,rugi);

       fprintf(file,“Nilai pajak = %.4lf\n”,pajak);


fprintf(file,“Nilai kanan = %u\n”,kanan);

      

       fclose(file);

       system(“pause”);

       return 0;

}

Deskripsi singkat:

Program diatas dapat menerima inputan pengguna dalam format bilangan yang telah ditentukan dan kemudian menampilkan dan menuliskan kedalam file yang bernama myfile.txt.

Baris 1 dan 2 digunakan untuk memanggil file header yang diperlukan yaitu stdio.h dan stdlib.h. Fungsi pada file header stdlib yang digunakan adalah fungsi system(“pause”), yang digunakan untuk menahan sementara program yang dijalankan dan menunda eksekusi selanjutnya. Fungsi lain seperti printf, scanf, FILE terdapat di file header stdio.h.

Baris ke 3 adalah tanda dari dimulainya main dari program. Baris 6 sampai 13 berfungsi untuk mendeklarasikan variabel yang bertipe integer, float, long integer, short integer, unsigned integer, double, dan terakhir unsign integer. Baris 15 dan 16 masing-masing digunakan untuk mendeklarasikan file dan membuka file dalam mode write dengan nama file myfile.txt.

 

Baris ke 18 sampai 39 masing-masing digunakan untuk mengoutputkan petunjuk inputan dan menerima inputan yang kemudian diterima dengan fungsi scanf dengan format yang telah ditentukan. Baris ke 41 sampai dengan 41 sampai dengan 53 berfungsi untuk menampilkan ke layar hasil inputan pengguna yang sebelumnya telah disimpan dalam masing-masing variabel. Sementara baris ke 55 sampai dengan ke 67 masing-masing berfungsi untuk menuliskan ke file hasil output yang dimunculkan oleh program.

Baris ke 69 berfungsi untuk menutup file yang telah dibuka sebelumnya. Baris 70 berfungsi untuk menunda eksekusi selanjutnya sehingga pengguna dapat melihat hasil output program sebelum aplikasi menutuk secra cepat.

 



 

Coding 2

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

#include <stdio.h>

#include <stdlib.h>

 

int
main(void){

 

       float a=-8.2, b=0.0005;

       short int x = 129,y = 87, z = -22;

       double d1 = 0.0000000288, d2 = -840000;

       int U = 457, v = 65535;

       long int big = 123456789;

       double c = 1.0 / 3;

      

       FILE * file;

       file = fopen(“myfile.txt”, “w”);

 

       printf(“a. a=%.1f, b=%.5f \n”,a,b);

       printf(“b. x=%i,y=%i,z=%i \n”,x,y,z);

       printf(“c. d1=%g,d2=%.1e \n”,d1,d2);

       printf(“d. U=%o(oktal),v=%x(hexadesimal) \n”,U,v);

       printf(“e. big=%hi \n “,big);

       printf(“f. c=%.10f \n “,c);

 

       fprintf(file,“a. a=%.1f, b=%.5f \n”,a,b);

       fprintf(file,“b. x=%i,y=%i,z=%i \n”,x,y,z);    

       fprintf(file,“c. d1=%g,d2=%.1e \n”,d1,d2);
fprintf(file,“d.U=%o(oktal),v=%x(hexadesimal) \n”,U,v);
fprintf(file,“e. big=%hi \n “,big);
fprintf(file,“f. c=%.10f \n “,c);

       fclose(file);

       system(“pause”);

      

       return 0;

}

Deskripsi singkat:

Program diatas adalah program yang berfungsi untuk mengisi atau menginisialisasi variabel kemudian menampilkannya kembali pada format tertentu. Selain itu, program ini juga membuka file dan menuliskan hasil output pilihan pengguna pada file tersebut.

Baris 1 dan 2 digunakan untuk memanggil file header yang diperlukan yaitu stdio.h dan stdlib.h. Fungsi pada file header stdlib yang digunakan adalah fungsi system(“pause”), yang digunakan untuk menahan sementara program yang dijalankan dan menunda eksekusi selanjutnya. Fungsi lain seperti printf, scanf, FILE terdapat di file header stdio.h.

Baris ke 4 berfungsi untuk menandai main dari program. Baris 6 sampai 11 merupakan deklarasi sekaligus inisialisasi nilai dari variabel variabel yang akan digunakan oleh sistem. Baris 13 dan 14 masing-masing berfungsi untuk mendeklarasikan file dan membuka file dalam mode write. Dengan fungsi printf dari baris no 16 sampai no 21 program mengoutputkan masing-masing variabel beserta nilainya dengan format yang telah ditentukan.

 

Baris 23 sampai ke 28 dengan fungsi fprintf program menuliskan variabel beserta nilainya ke dalam file myfile.txt yang telah di deklarasikan sebelumnya. Baris 30 berfungsi untuk menutup file yang tadinya dibuka. Baris 31 berfungsi untuk menunda sementara eksekusi perintah selanjutnya, agar pengguna dapat melihat hasil output dari program sebelum eksekusi perintah selanjutnya.

 

 

Coding 3

Source Code:

1

2

3

4

5

6

7

8

9

10

 

11

12

 

13

14

 

15

16

 

17

18

 

19

20

 

21

22

 

23

24

 

25

26

 

27

28

29

30

 

31

32

33

34

35

36

37

#include <stdio.h>

#include <stdlib.h>

 

int main(void){

 

       int a;

       FILE * file;

       file = fopen(“myfile.txt”,“w”);

 

       printf(“a. masukkan nilai hexadesimal yang akan dikonversi
ke desimal :”
);scanf(“%x”,&a);

       printf(“Nilai desimal dari bilangan hexadesimal %x adalah : %d \n\n”,a,a);

       fprintf(file,“Nilai desimal dari bilangan hexadesimal %x adalah
: %d \n”
,a,a);

             

       printf(“b. masukkan nilai desimal yang akan dikonversi ke
hexadesimal: “
);scanf(“%d”,&a);


printf(“Nilai hexadesimal dari bilangan
desimal %d adalah : %x \n\n”
,a,a);

       fprintf(file,“Nilai hexadesimal dari bilangan desilmal %d adalah : %x \n”,a,a);

       printf(“c. masukkan nilai hexadesimal yang akan dikonversi
ke oktal : “
);scanf(“%x”,&a);

       printf(“Nilai oktal dari bilangan hexadesimal %x adalah : %o \n\n”,a,a);

       fprintf(file,“Nilai oktal dari bilangan hexadesimal %x adalah :
%o \n”
,a,a);

      

       printf(“d. masukkan nilai oktal yang akan dikonversi ke hexadesimal
: “
);scanf(“%o”,&a);

       printf(“Nilai hexadesimal dari bilangan oktal %o adalah : %x \n\n”,a,a);

       fprintf(file,“Nilai hexadesimal dari bilangan oktal %o adalah :%x \n”,a,a);

      

       printf(“e. masukkan nilai desimal yang akan dikonversi keoktal : “);scanf(“%d”,&a);
printf(“Nilai oktal dari bilangan desimal % dadalah : %o \n\n”,a,a);

       fprintf(file,“Nilai oktal dari bilangan desimal %d adalah : %o \n”,a,a);

      

       printf(“f. masukkan nilai oktal yang akan dikonversi ke desimal :

);scanf(“%o”,&a);

       printf(“Nilai desimal dari bilangan oktal %o adalah : %d \n\n”,a,a);

       fprintf(file,“Nilai desimal dari bilangan oktal %o adalah : %d \n”,a,a);


       fclose(file);

       system(“pause”);

       return 0;

}

Deskripsi singkat:

Program diatas, berfungsi untuk dapat melakukan konversi dari satu basis bilangan ke basis bilangan lainnya. Program diatas juga menuliskan hasil konversi ke file yang bernama myfile.txt yang dideklarasikan pada baris ke 7 dan 8.

Program memberikan petunjuk ke pengguna untuk menginputkan nilai dengan format angka basis tertentu yang kemudian dikonversi ke format basis lainnya. Mulai dari baris 10 dengan format %x yang berarti program menerima format angka hexadesimal yang kemudian dikonversi dan dimunculkan ke layar dalam bilangan basis 10 atau desimal dalam format %d. Begitu juga pada baris ke 14 yang menerima inputan bilangan basis desimal dan dikonversi ke bilangan basis hexadesimal pada baris ke 15. Baris 19 mengkonversi hexadesimal ke oktal (%x ke %o). Baris 23 mengkonversi oktal ke desimal (%o ke %x). Baris 27 mengkonversi desimal ke oktal (%d ke %o). Baris 31 mengkonversi oktal ke desimal (%o ke %d). Hasil dari masing-masing konversi juga dituliskan ke dalam file yang telah dideklarasikan. Perintah untuk menuliskan ke file terdapat pada baris ke 12, 16, 20, 24, 28, dan 32. Baris ke 34 berfungsi untuk menutup file yang dibuka sebelumnya. Dan baris ke 35 berfungsi untuk menunda eksekusi perintah selanjutnya sehingga pengguna dapat melihat terlebih dahulu output dari program.

 

Coding 4 (l)

Source Code:

Setelah Perbaikan

Sebelum Perbaikan

1

2

3

4

5

6

7

8

9

#include <stdio.h>

#include <stdlib.h>

 

int main(void){

       int b = 3;

       printf(“b = %d \n”,b);

       system(“pause”);

       return 0;

}

#include <stdio.h>

#include <stdlib.h>

 

}

int b = 3;

printf(“b = %f \n”,b)

system(“pause”);

return(“0”);

}

Deskripsi singkat:

Program teersebut merupakan program yang mendeklarasikan sekaligus menginisialisasi variabel b sebagai variabel yang dapat menampung nilai integer, dan mengisinya dengan nilai 3, kemudian menampilkan di layar.

Sebelum diperbaiki, masih ada kesalahan di baris ke 4 yang belum berisikan int main(void){ untuk menandakan bahwa main program dimulai pada baris tersebut. selain itu kurung kurawal yang digunakan juga terbalik. Pada baris ke 6 format printf yang digunakan juga salah, deklarasi yang digunakan adalah deklarasi integer, jadi semestinya digunakan %d bukan %f yang seharusnya digunakan untuk format output tipe float. Selain itu juga masih kurang tanda ; di akhir baris yang menandakan baris tersebut adalah sebuah perintah yang harusnya dieksekusi. Format penulisan return juga salah. Seharusnya adalah return 0; tanpa “” atau ().

 

Coding 5 (m)

Source Code:

Setelah Perbaikan

Sebelum Perbaikan

1

2

3

4

5

6

 

7

 

8

9

 

10

11

12

#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 = %.2f \n”,ANGKA);

 system(“pause”);

 return 0;

}

 

#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:

Program tersebut mendeklarasikan variabel yang bernama ANGKA dan menyimpan nilai bertipe float. Setelah itu menerima inputan pengguna dan menampilkannya kembali ke
layar.

Sebelum perbaikan tanda untuk memberikan komentar belum di tutup sehingga perintah yang ada di bawahnya tidak di detect sebagai baris perintah melainkan sebagai komentar. Saat mulai menerima inputan, seharusnya menggunakan huruf besar semua, karena telah di deklarasikan huruf besar di atas. C merupakan bahasa pemrograman yang case sensitif. Di akhir program juga belum di berikan tanda } untuk menandakan bahwa program telah selesai. Code main yang digunakan juga masih salah. Dalam pemrograman c main seharusnya ditulis dengan huruf kecil seluruhnya. Pada fungsi printf juga belum diletakkan format output yang benar dengan %f sebagai tanda bahwa program mengoutputkan nilai dari variabel yang bertipe float.

 

Coding 6 (n)

Source Code:

Setelah Perbaikan

Sebelum Perbaikan

1

2

3

4

5

6

7

8

9

10

 

11

12

13

#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;

}

#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:

Program tersebut menerima inputan angka integer, yang kemudian menambahkannya dengan 3 dan dimunculkan hasilnya ke layar.

Sebelum perbaikan hal-hal yang masih salah adalah pada baris printf untuk memunculkan hasil penambahan, yaitu dalam pengambilan variabel a dan c yang seharusnya tanpa tanda &. Variabel tersebut juga seharusnya ada dalam satu baris perintal atau satu line. Selain itu, fungsi return yang dipanggil juga masih salah, seharusnya tanpa menggunakan tanda “” dan tanpa ().

 

                                                                                                 


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s