Minggu, 07 April 2013

PROGRAM C

                                     INPUT / OUTPUT FILE DAN KONVERSI NILAI 

             Bahasa pemograman C merupakan salah satu bahasa pemrograman komputer.Meskipun C dibuat untuk memprogram sistem dan jaringan komputer, namun bahasa ini juga banyak digunakan untuk mengembangkan sofware aplikasi.
              Dibawah ini merupakn video yang menjelaskan mengenai konversi nilai Pada Pemograman c.



FUNGSI PRINTF DAN SCANF


Penyelesaian :
         
Coding 1
Source Code: SOAL NOMOR 1
                   /*Nama : ROYAN RODIANA
                            49013031 */
#include <stdio.h>
#include <stdlib.h>

int main(void)

{
       int p,q,index;
       float x, y, z;
       long int hitung;
       short int flag;
       unsigned int pos;
       double untung,rugi,pajak;
       unsigned long kanan;

       FILE *file;
       file = fopen("output tugas.txt","a");
      
       //Tugas 1 Nomor 1a

       printf("--------------------------------------------\n");
       printf("-        a. BILANGAN BULAT : p,q           -\n");
       printf("--------------------------------------------\n\n");
      

       printf("Masukan nilai p : ");
       scanf("%d",&p);                   // Tanda " %d " digunakan untuk type integer

       printf("Masukan nilai q : ");
       scanf("%d",&q);

       printf("\nNilai bilangan bulat yang anda masukan adalah\n\n P = %d\n Q = %d \n\n",p,q);

       fprintf(file,"a.Bilangan bulat\n Nilai bilangan bulat yang anda masukan adalah P = %d dan Q = %d \n",p,q);

       //Tugas 1 Nomor 1b

       printf("--------------------------------------------\n");
       printf("-        b. BILANGAN PECAHAN : x,y,z       -\n");
       printf("--------------------------------------------\n\n");

       printf("Masukan nilai x : ");// Tanda " %f " digunakan untuk type float /double
       scanf("%f",&x);                         
       printf("Masukan nilai y : ");          
       scanf("%f",&y);
       printf("Masukan nilai y : ");
       scanf("%f",&z);
       printf("\nNilai bilangan pecahan yang anda masukan adalah\n\n x = %.2f \n y = %.2f \n z = %.2f \n",x,y,z);
       fprintf(file,"b.Bilangan pecahan\n Nilai bilangan pecahan yang anda masukan adalah\n x = %.2f \n y = %.2f \n z = %.2f \n",x,y,z);
      
       //Tugas 1 Nomor 1c

       printf("--------------------------------------------\n");
       printf("-        c. BILANGAN LONG INTEGER          -\n");
       printf("-    '-2.147.483.648 s/d 2.147.483.647'    -\n");
       printf("--------------------------------------------\n\n");
      
       printf("Masukan nilai long integernya : ");
       scanf("%ld",&hitung);       // Tanda " %ld " digunakan untuk type long integer
       printf("\nNilai bilangan long integer masukan adalah %ld \n\n",hitung);
       fprintf(file,"c.Bilangan long integer\n Nilai bilangan long integer masukan adalah %ld \n",hitung);
      
       //Tugas 1 Nomor 1d

       printf("--------------------------------------------\n");
       printf("-           d. SHORT INTEGER               -\n");
       printf("--------------------------------------------\n\n");
      

       printf("Masukan nilai short integer : ");
       scanf("%hd",&flag);


       printf("\nNilai short integer yang anda masukan adalah %hd \n\n",flag);
       fprintf(file,"d.short integer\n Nilai short integer yang anda masukan adalah %hd \n",flag);

       //Tugas 1 Nomor 1e

       printf("--------------------------------------------\n");
       printf("-           e.INTEGER                      -\n");
       printf("--------------------------------------------\n\n");
      

       printf("Masukan nilai integer : ");
       scanf("%d",&index);


       printf("\nNilai integer yang anda masukan adalah %d \n\n",index);
       fprintf(file,"e.integer\n Nilai integer yang anda masukan adalah %d \n",index);
      
       //Tugas 1 Nomor 1f

       printf("--------------------------------------------\n");
       printf("-           f.UNSIGNED INTEGER             -\n");
       printf("--------------------------------------------\n\n");
      

       printf("Masukan nilai UNSIGNED INTEGER : ");
       scanf("%o",&pos);

       printf("\nNilai UNSIGNED INTEGER yang anda masukan adalah %u \n\n",pos);
       fprintf(file,"f.UNSIGNED INTEGER\n Nilai UNSIGNED INTEGER yang anda masukan adalah %u \n",pos);
      
       //Tugas 1 Nomor 1g

       printf("--------------------------------------------\n");
       printf("-           g.DOUBLE PRECISION             -\n");
       printf("--------------------------------------------\n\n");
      

       printf("Masukan nilai keuntungan : ");
       scanf("%lf",&untung);
       printf("\nNilai keuntungan adalah %lf \n\n",untung);
       fprintf(file,"g.DOUBLE PRECISION \n Nilai keuntungan adalah %lf \n",untung);

       printf("Masukan nilai kerugian : ");
       scanf("%lf",&rugi);
       printf("\nNilai keurugian adalah %lf \n\n",rugi);
       fprintf(file,"Nilai kerugian adalah %lf \n",rugi);

       printf("Masukan nilai pajak : ");
       scanf("%lf",&pajak);
       printf("\nNilai pajak adalah %lf \n\n",pajak);
       fprintf(file,"Nilai kerugian adalah %lf \n",pajak);

       //Tugas 1 Nomor 1h
       printf("--------------------------------------------\n");
       printf("-       h.BILANGAN BULAT TAK NEGATIF       -\n");
       printf("--------------------------------------------\n\n");

       printf("Masukan BILANGAN BULAT TAK NEGATIF : ");
       scanf("%lu",&kanan);
       printf("\nNilai h.BILANGAN BULAT TAK NEGATIF  adalah %lu \n\n",kanan);
       fprintf(file,"h.BILANGAN BULAT TAK NEGATIF  \n Nilai bilangan bulat tak negatif adalah %lu \n",kanan);

       system("pause");
return(0);
}



Deskripsi singkat:
Dalam program diatas terdapat beberapa penggunaan fungsi yaitu :
·         Fungsi main ( ) fungsi yang harus ada pada setiap program
·         Fungsi printf merupakan fungsi yang digunakan untuk menampilkan output pada layar
·         Fungsi scanf merupakan fungsi yang digunakan untuk menerima data dari inputan keyboard/user
Terdapat beberapa type data yang digunakan yaitu :
·         int conversion spesifiernya adalah %d
·         float conversion spesifiernya adalah %f
·         long int conversion spesifiernya adalah %ld
·         unsigned int conversion spesifiernya adalah %u
·         double conversion spesifiernya adalah %lf
·         unsigned long conversion spesifiernya adalah %lu
·         short int conversion spesifiernya adalah %hd



Penyelesaian :

Coding 2
Source Code: soal no.2

                   /*Nama : ROYAN RODIANA
                            49013031 */

#include <stdio.h>

int main (void)
{

       float a=-8.2,b=0.005;
       int x=129, y=87, z=-22;
       long float d1=2.88e-8, d2=-8.4e5;
       int u = 457;
       int v = 0xFFFF;
       unsigned int big=123456789;
       long float c=0.33333333333;

       FILE * file;
       file = fopen("soal2.txt","a");

       printf("-----------------------------------------------------\n");
       printf("-             MENAMPILKAN VARIABLE                  -\n");
       printf("-----------------------------------------------------\n");

       //soal 2a
       printf("2.a Menampilkan nilai variable a=-8.2 , b=0.005\n\n");
       printf("          Nilai variable yang ditampilkan\n");
       printf("          a = %.1f \n          b = %.3f \n\n",a,b);
       fprintf(file,"Variable yang ditampilkan\n          a = %.1f \n          b = %.3f \n\n",a,b);

       //soal 2b
       printf("2.b Menampilkan nilai variable x=129, y=87, z=-22\n\n");
       printf("          Nilai variable yang ditampilkan\n");
       printf("          x = %d \n          y = %d \n          z = %d \n\n",x,y,z);
       fprintf(file,"Variable yang ditampilkan\n          x = %d \n          y = %d \n          z = %d \n\n",x,y,z);

       //soal 2c
       printf("2.c \n\n");
       printf("          Nilai variable yang ditampilkan\n");
       printf("          d1 = %g \n          d2 = %g \n\n",d1,d2);
       fprintf(file,"Variable yang ditampilkan\n          d1 = %g \n          d2 = %g \n\n",d1,d2);

       //soal 2d
       printf("2.d Menampilkan nilai variable U = 711 (octal) v = ffff (hexadecimal) \n\n");
       printf("          Nilai variable yang ditampilkan\n");
       printf("          U = %o\n          v = %x \n\n",u,v);
       fprintf(file,"Variable yang ditampilkan\n          U = %o\n          v = %x \n\n",u,v);

       //soal 2e
       printf("2.e Menampilkan nilai variable big = 123456789 \n\n");
       printf("          Nilai variable yang ditampilkan\n");
       printf("          big = %u\n\n",big);
       fprintf(file,"Variable yang ditampilkan\n           big = %u\n\n",big);

       //soal 2f
       printf("2.f Menampilkan nilai variable c = 0.33333333333 \n\n");
       printf("          Nilai variable yang ditampilkan\n");
       printf("          c = %.10lf\n\n       ",c);
       fprintf(file,"Variable yang ditampilkan\n            c = %.10lf\n\n       ",c);

       system("pause");
return(0);
}

Deskripsi singkat:
Dalam code diatas erdapat beberapa penggunaan type data
  • float digunakan untuk bilangan real dengan jangkauan nilai 3.4x10-38
  • int digunakan untuk bilangan bulat dengan jangkauan nilai -32768 s/d 32768
  • long float digunakan untuk bilangan real dengan rentang terluas.jangkauan nilainya 3.4x10-4932 s/d 3.4x104932      
  • unsigned long digunakan untuk bilangan bulat positif dengan rentang yang lebih luas, jangkauan nilainya 0 s/d 4294967295
Conversion specifier yang digunakan adalah :
·         %f untuk type data float
·         %d untuk type data integer
·         %lf untuk type data long float
·         %u untuk type data unsigned int
·         %x untuk bilangan hexadecimal
·         %o untuk bilangan octal
Terdapat penulisan “%.10lf” artinya 10 angka yang akan tertulis dibelakang koma.

Penyelesaian
Coding 3
Source Code: soal no 3
#include <stdio.h> //librari untuk mengakses fungsi printf dan scanf
#include <stdlib.h>//librari untuk mengakses fungsi system ("pause");


int main(void) //main fungsi yang pertama kali dieksekusi
{
       int nilai; //nilai untuk bilangan bulat
       FILE * file;
       file = fopen("tugas3.txt","a"); //merupakan jenis operasi pada file untuk membuka file untuk ditambah dengan data,
                                       //jika belum ada akan dibuat yang baru.

       printf("\n\n\n"); //printf untuk menampilkan output pada layar

       printf("          ===============================================\n");
       printf("          ==  PROGRAM KONVERSI NILAI By ROYAN RODIANA  ==\n");
       printf("          ===============================================\n\n\n");

//3.a konversi hexadesimal ke desimal

       printf("   a. Konversi hexadesimal ke desimal \n\n");
       printf("            Masukan nilai Hexadesimal : ");
       scanf("%x",&nilai); // digunakan untuk meminta/menerima inputan data dari user

       fprintf(file,"Nilai hexadesimal %x",nilai); // "%x" merupakan conversion character untuk hexadesimal

       printf("            Maka Nilai Desimalnya adalah %d \n\n",nilai); // "%d" merupakan conversion character untuk hexadesimal

       fprintf(file," = %d (desimal)\n",nilai); //fprintf untuk menyimpan output di external file

//3.b konversi desimal ke hexadesimal
       printf("  b. Konversi desimal ke hexadesimal \n\n");
       printf("            Masukan nilai Desimalnya : ");
       scanf("%d",&nilai);

       fprintf(file,"Nilai desimal %d ",nilai);

       printf("            Maka Nilai hexadesimalnya adalah %x\n\n ",nilai);
       fprintf(file,"= %x (hexadesimal)\n",nilai);

//3.c konversi hexadesimal ke octal
       printf("   c. Konversi hexadesimal ke octal \n\n");
       printf("            Masukan nilai Hexadesimal : ");
       scanf("%x",&nilai);

       fprintf(file,"Nilai hexadesimal %x ",nilai);

       printf("            Maka Nilai octalnya adalah %o \n\n",nilai); //"%o" merupakan conversion character untuk octal
       fprintf(file,"=%o (octal)\n",nilai);

//3.d konversi Konversi octal ke hexadesimal
       printf("   d. Konversi octal ke hexadesimal \n\n");
       printf("            Masukan nilai octal : ");
       scanf("%o",&nilai);

       fprintf(file,"Nilai octal %o ",nilai);

       printf("            Maka Nilai Hexadesimalnya adalah %x \n\n",nilai);
       fprintf(file,"=%x (hexadesimal)\n",nilai);

//3.e konversi Konversi desimal ke octal
       printf("   e. Konversi desimal ke octal \n\n");
       printf("            Masukan nilai desimal : ");
       scanf("%d",&nilai);

       fprintf(file,"Nilai desimal %d ",nilai);

       printf("            Maka Nilai octalnya adalah %o \n\n",nilai);
       fprintf(file,"=%o (octal)\n",nilai);

//3.f konversi octal ke desimal
       printf("   f. Konversi octal ke desimal\n\n");
       printf("            Masukan nilai octal : ");
       scanf("%o",&nilai);

       fprintf(file,"Nilai octal %o ",nilai);
       printf("            Maka Nilai desimalnya adalah %d \n\n",nilai);
      
       fprintf(file,"=%d (desimal)\n\n",nilai);

       system("pause"); //untuk menahan program supaya tetap tampil/berjalan
       return(0); //nilai balikan dari fungsi main sama dengan nol

}

Deskripsi singkat:
Source code diatas merupakan program c untuk konversi nilai. Conversion specifier yang digunakan adalah :
·         %x untuk bilangan hexadecimal
·         %d untuk bilangan decimal
·         %o untuk  bilangan octal
Code
·         “printf ” untuk menampilkan output pada layar
·         “scanf” untuk mengambil input dari keyboard
·         FILE *file
File = fopen(“tugas3.txt”,”a”)
Berfungsi untuk penyimpanan output hasil.
“a” merupakan jenis operasi pada file untuk membuka file untuk ditambah dengan data,jika belum ada akan dibuat yang baru.


MENGANALISA KESALAHAN PENULISAN CODE PROGRAM C

soal L



Penyelesaian

Coding 4
Source Code: modul l
#include <stdio.h>
#include <stdlib.h>

//kesalahan tidak ada fungsi main

int main(void)

//kesalahan penulisan tanda kurung "}" seharusnya "{"
       //}
{
       int b=3;

//kesalahan pada baris akhir syntax kurang tanda ";"
       //printf("b= %f \n",b)
       printf("b= %f \n",b);

       system("pause");
//kesalahan pada tanda kutip seharusnya tanpa tanda kutip
       //return("0");
       return(0);
}

Deskripsi singkat:
Terdapat bebrapa kesalahan dalam program sebelum diperbaiki yaitu
·         Tidak terdapat fungsi main ( )
·         Salah satu tanda kurung terbalik “}” seharunya “{“
·         Kurang tanda titik koma “;” diakhir baris syntax
·         Adanya penggunaan tanda petik dua yang salah yaitu pada return(“0”);




Soal M


Penyelesaian 

Coding 5
Source Code: modul m
#include <stdio.h>
#include <stdlib.h>
//kesalahan pada penulisan Main
//int Main (void)
int main (void)
{

       //kesalahan penulisan komentar untuk dua baris komentar/lebih seharusnya menggunakan "*/" diakhir komentar
float ANGKA; /*Mendeklarasikan variable angka bertipe
                      float */
       printf("ketikan sembarang angka> ");

//indentifier tidak tedeklarasikan karena tulisan dalam c bersifat sensitif
       //scanf("%f",&angka);
       scanf("%f",&ANGKA);
//indentifier tidak tedeklarasikan karena tulisan dalam c bersifat sensitif dan supaya terpanggil inputan nilainya tambahkan "%f"
       //printf("Angka yang anda ketikan \n",angka);
       printf("Angka yang anda ketikan %f \n",ANGKA);
//kurang tanda titik koma
       //system("pause")
       system("pause");
//kesalahan pada penulisan kutip dua seharusnya dihilangkan
       //return("0");
       return(0);
//kesalahan kurang tanda kurung penutup
}

Deskripsi singkat:
Terdapat bebrapa kesalahan dalam program sebelum diperbaiki yaitu
·         Kesalahan pada penulisan fungsi main ( ) seharusnya tidak menggunakan huruf besar
·         Kesalahan pada penulisan untuk komentar lebih dari dua baris
·          Identifier tidak terdefinisikan karena pada variable ditulis dengan huruf besar tetapi pemangilanya menggunakan huruf kecil
·         Kurang tanda titik koma pada salah satu baris code.
·         Kesalahan pada penggunaan tanda kutip dua
·         Kurang tanda kurung kurawal sebagai penutup



soal n


Penyelesaian :

Coding 6
Source Code:modul n
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
       int a,b=3,c;
       printf("masukan angka> ");
       scanf("%d",&a);
       c=a+b;
//tanda  " & " dihilangkan
       printf("setelah ditambah 3, yaitu %d + 3 = %d \n", a, c);
       system("pause");
//seharusnya tanda kutip dihilangkan
       return(0);
}

Deskripsi singkat:
Terdapat bebrapa kesalahan dalam program sebelum diperbaiki yaitu
·         Kesalahan pada penulisan “&”
·         Kesalahan pada penulisan tanda kutip dua

0 komentar:

Posting Komentar