Jumat, 30 September 2011

2

[C/C++] Program Penghitung Rata-rata

  • Jumat, 30 September 2011
  • Nurkholish Ardi Firdaus
  • Baru belajar bahasa pemrograman baru nih, C++. Dosennya ngasih tugas membuat program penghitung nilai rata-rata. Inti dari tugas ini adalah agar mahasiswa dapat menerapkan kerangka teknik looping pada pembuatan suatu program. Lets listen the code.........




    #include 
    #include 
    
    using namespace std;
    
    int main(void)
    {
        int n, val, count;
        float sum,avrge;
        printf("###############################\n");
        printf("# UNIVERSITAS NEGERI SEMARANG #\n");
        printf("#    Custom Average Solver    #\n");
        printf("#   NURKHOLISH ARDI FIRDAUS   #\n");
        printf("#          5302411244         #\n");
        printf("###############################\n\n");
        printf("Masukkan banyaknya data: ");
        scanf("%d",&n);
        for (count=1;count<=n;count++)
        {
           printf("Masukkan data ke-%d: ",count);
           scanf("%d",&val);
           sum+=val;
        }
        avrge=sum/n;
        printf("\nRata-ratan dari %d data adalah: %.2f",n,avrge);
        return 0;
    }

    Sabtu, 24 September 2011

    7

    [C/C++] Definisi dan Kegunaan Berbagai Keyword ANSI C dalam Pemrograman C/C++

  • Sabtu, 24 September 2011
  • Nurkholish Ardi Firdaus
  • Alhamdulillah, ini adalah postingan pertama saya setelah lama vakum dalam dunia blogging karena masa awal memasuki dunia perkuliahan. Mungkin mulai saat ini saya akan lebih banyak melakukan postingan tentang pemrograman C++ karena bahasa ini termasuk dalam mata prkuliahan saya. Sebisa mungkin saya akan berbagi ilmu yang saya miliki tentang bahasa C++ melalui blog ini. Postingan kali ini akan menjelaskan tentang fungsi berbagai keyword ANSI C dalam pemrograman C++.


    • auto
    Mendefinisikan sebuah variabel lokal sebagai yang memiliki lifetime lokal. Keyword auto menggunakan syntaks sebagai berikut:;
    [auto] definisi-data

    • break
    Membuat kontrol keluar dari pernyataan majemuk. Pernyataan break membuat alur yang sedang dijalankan keluar dari pernyataan iterasi seperti while, do atau switch. Sintaksnya hanya:;
    break;

    • case
    Merupakan bagian dari pernyataan percabangan switch dimana keyword case adalah sebagai pernyataan pilihan yang selanjutnya akan dijalankan jika ekspresi switch memenuhi suatu konstanta case. Syntaksnya adalah sebagai berikut:;
    switch (ekspresi) {
    case ekspresi-konstanta1:
    	alur pernyataan1;
    	break;
    case ekspresi-konstanta2:
    	alur pernyataan2;
    	break;
    case ekspresi-konstanta3:
    	alur pernyataan3;
    	break;
    .
    ..
    }
    Alur diatas dapat dijelaskan secara sederhana layaknya pilihan ganda, jika ekspresi yang mengikuti pernyataan switch sesuai dengan ekspresi-konstanta1 maka pernyataan1 akan dijalankan, jika sesuai dengan ekspresi-konstanta2 maka pernyataan2 akan dijalankan, jika sesuai dengan ekspresi-konstanta3 maka pernyataan3 akan dijalankan dan seterusnya. Jika tidak ada ekspresi-konstanta yang mengikuti pernyataan case dalam lingkup switch diatas yang memenuhi ekspresi maka alur tidak akan melakukan eksekusi apapun.;

    • char
    Merupakan type data mendasar dalam C/C++ yang menampung data berjenis karakter atau teks. Dapat juga dijadikan sebagai penanda type data nilai kembalian suatu fungsi. Contoh sintaksnya adalah sebagai berikut:;
    char huruf;
    huruf='h';
    Syntaks diatas, baris pertama adalah mendeklarasikan variabel huruf bertipe data char yang mempunyai panjang satu karakter. Sedangkan baris kedua adalah pernyataan penugasan yaitu mengisi nilai variabel huruf menjadi sama dengan h. Adapun pengunaan keyword char untuk mendeklarasikan tipe data dari nilai kembalian suatu fungsi:;
    char fungsiku(int x, int y, char z);
    Arti dari pernyatan diatas adalah kita mendeklarasikan fungsi dengan 3 buah parameter argumen (x bertipe data integer, y bertipe data integer, dan z bertipe data character) yang mempunyai nilai kembalian dengan tipe data character.;

    • const
    Mendeklarasikan/membuat nilai dari variabel atau pointer menjadi tidak bisa diubaha (konstanta). Berbeda dengan deklarasi variabel biasa, deklarasi konstanta harus langsung disertai dengan assigment nilai dari variabel konstanta tersebut. Contoh:;
    const x=2;
    Syntaks diatas adalah kita mendeklarasikan variabel konstanta x dengan nilai sama dengan 2.;


    • continue
    Adalah pernyataan yang membuat alur melewati lingkup iterasi seperti while, do, for saat itu dan melanjutkan ke nilai iterasi selanjutnya. Contoh penggunaannya adalah sebagai berikut:;
    for (i = 0; i < 50; i++)
      {
        if (array[i] == 0)
          continue;
        array[i] = array[i]/2;
      }
    Fungsi alur diatas adalah merubah semua nilai dari elemen array menjadi setengahnya tetapi tidak jika nilai elemen array itu sama dengan nol. 

    • dafault 
    Merupakan bagian dari penggunaan keyword switch, penjelasannya adalah pada lingkup pernyataan switch, alur akan mencari nilai dari berbagai kontanta case yang disajikan yang sesuai dengan ekspresi yang mengikuti keyword switch, jika tiak ada dari berbagai pernyataan case yang disajikan maka pernyataan dibawah keyword default -lah yang akan dijalankan. Contoh penggunaannya adalah sebagai berikut:;
    switch (operand)
      {
        case MULTIPLY:
          x *= y; break;
        case DIVIDE:
          x /= y; break;
        case ADD:
          x += y; break;
        case SUBTRACT:
          x -= y; break;
        case INCREMENT2:
          x++;
        case INCREMENT1:
          x++; break;
        case EXPONENT:
        case ROOT:
        case MOD:
          printf ("Not implemented!\n");
          break;
        default:
          printf("Bug!\n");
          exit(1);
      }

    • do
    Merupakan bagian dari pernyataan iterasi while...do yang fungsinya adalah mengulang berbagai pernyataan dengan kriteria pengulangan. Jika kriterianya terpenuhi maka pengulangan akan dilanjutkan, tetapi jika tidak maka pengulangan akan dihentikan. Contoh penggunaannya:;
    x = 1;
    do
      {
        x++;
      } while (x <= 100);
    Penjelasan alur diatas adalah variabel x akan terus bertambah nilainya satu selama nilai x lebih kecil atau sama dengan 100.;

    • double
    Adalah salah satu tipe data floating number dalam bahasa C/C++. Bedanya dengan tipe data float, double mempunyai titik presisi ganda. Contoh penggunaannya adalah sebagai berikut:;
    double modal;
    Code diatas artiya kita mendeklarasikan variabel modal dengan tipe data double.;

    • else
    Adalah bagian dari pernyataan kondisional if. Alur dibawah keyword else akan dijalankan jika ekspresi yang menyertai keyword if bernilai false. Contohnya adalah sebagai berikut:;
    if (ekspresi) pernyataan1;
        else pernyataan2;
    Jika ekspresi bernilai true maka pernyataan1 akan dijalankan, tetapi jika tidak maka pernyataan2 akan dijalankan. Bentuk lain dari pernyataan kondisional if..else adalah sebagai berikut:;
    if (ekspresi)
      {
        pernyataan1;
        pernyataan2;
        …
        …
      }
    else
      {
        pernyataan3;
        pernyataan4;
        …
        …
      }

    • enum
    Membuat tipe data enumerasi berjenis data integer yang mempunyai banyak nilai konstan yang telah didefinisikan.;
    enum [tag] {nama [=nilai], ...};
    Berikut adalah contoh penggunaannya:;
    enum nomor {Satu =1 , Dua = 2, Tiga = 3, Empat = 4};

    • extern
    Menunjukkan bahwa sebuah identifier didefinisikan di tempat lain. Dalam pemrograman modular, extern sangat bermanfaat jika kita ingin mengidentifikasi suatu variabel global yang telah dideklarasikan di tempat/file source code lainnya. Maka dalam pemrograman multifile, kita bisa mendeklarasikan semua variabel global pada suatu file lalu mengidentifikasikannya di file lain. File satu:;
    int x;
    int main(void)
    {
        x=1;
        cout << x << endl;
        return 0;
    }
    File dua:;
    extern int x;
    int func32(void)
    {
        int y;
        y=x;
        cout << y << endl;
        return 0;
    }
    Source code diatas menunjukkn bahwa File dua mengidentifikasi variabel x dari File satu yang telah dideklarasikan.;

    • float
    Sama seperti double, namum hanya mempunyai titik presisi tunggal.;
    float laba;

    • for
    Adalah salah satu pernyataan iterasi selain while..do.;
    for (i=0; i<100; i++) sum += x[i];

    • goto
    Merupakan pernyataan untuk memerintah alur yang sedang berjalan agar berpindah ke baris lain sesuai label. Contohnya adalah:;
    Mulai:
    	pernyataan;
    	..
    	.
    	goto Mulai;
    Alur akan mengulangi eksekusi ke pernyataan setelah mencapai baris goto Mulai;.;

    • if
    Merupakan pernyataan kondidional, keyword if digunakan untuk eksekusi kondisional. Secara mendasar sintaksnya adalah sebagai berikut:;
    if (ekspresi)
    	pernyataan;
    Secara lanjut dapat ditulis sebagai berikut:;
    if (ekspresi) 
    	{
    	pernyatanan1;
    	..
    	.
    	}
    else 
    	{
    	pernyatan2;
    	..
    	.
    	}

    • int
    Adalah tipe data standar berjenis bilangan bulat. Jangkauan tipe data int adalah −32,767 sampai 32,767. Deklarasinya adalah sebagai berikut:;
    int x;

    • long
    ;Merupakan tipe data turunan dari int yang mempunyai jangkauan yang lebih panjang yaitu −2,147,483,647 sampai 2,147,483,647. Contoh deklarasinya adalah sebagai berikut:;
    long x;

    • register
    Memberitahu compiler untuk menyimpan variabel yang dinyatakan dalam register CPU. Penggunaannya adalah sebagai berikut:;
    register definisi-data;
    Contoh penggunaannya adalah sebagai berikut:;
    register int i;

    • return
    Adalah pernyataan yang berfungsi untuk memberikan nilai kembalian suatu fungsi lalu alur akan keluar dari fungsi tersebut. Sintaksnya adalah sebagai berikut: return nilai; Contoh penggunaannya adalah sebagai berikut:;
    bool invers(bool exp) 
    	{
    	return !exp;
    	}

    • signed
    Merupakan type data modifier yang membuat suatu tipe data mempunyai jangkauan dari nilai minus batas atasnnya hingga nilai plus dari baas atasnnya. Penggunaannya adalah sebagai berikut:;
    signed int var1;
    Sebenarnya juga dapat ditulis seperti dibawah ini tanpa mengubah fungsinya:;
    int var1;
    sizeof Adalah fungsi yang mengembalikan nilai ukuran dalam byte dari ekspresi atau type data yang diberikan. Contoh penggunaannya adalah sebagai berikut:;
    x=sizeof(int);

    • static
    Mempertahankan nilai variabel untuk bertahan hidup setelah ruang lingkup berakhir. Kata kunci static dapat diterapkan untuk kedua definisi data dan fungsi:;
    static data-definition;
    static function-definition;
    ; 

    • struct
    Mengelompokkan variabel dalam record tunggal. Sintaksnya adalah sebagai berikut:;
    struct [nama-struktur]
      {
        [type nama-variabel] ;
        ...
      } [variabel-struktur] ;
    Contoh:;
    struct person
     		{
        	string nama, nomor_hp, alamat;
        	int umur, tinggi_badan;
     		};
    Contoh diatas kita mendeklarasikan struktur dengan nama person yang mempunyai anggota data bertipe string 3 buah dan bertipe integer 2 buah. Deklarasi anggota data dengan tipe data sama dipisahkan dengan tanda koma dan titik koma jika tipe datanya berbeda. [variabel-struktur] dapat diisi ataupun tidak (opsional). Penggunaan tipe data struktur diatas dapat seperti ini:;
    struct person orang[100];
    Atau jika kita ingin mendeklarasikan variabel array orang langsung setelah mendeklarasikan strukturnya maka dapat ditulis seperti ini:;
    struct person
     		{
        	string nama, nomor_hp, alamat;
        	int umur, tinggi_badan;
     		}orang[100];

    • switch
    Merupakan pernyataan percabanagan, menyebabkan kontrol melakukan percabangan terhadap daftar pernyataan yang disediakan dalam blok pernyataan. Sintaknya adalah:;
    switch (ekspresi) pernyataan
    Secara lanjut dapat ditulis:;
    switch (ekpresi) 
    	{
    	case ekspresi-konstanta1:
    		..
    	case ekspresi-konstanta2:
    		..
    	}

    • typedef
    Mendefinisikan/membuat tipe data baru. Sinaksnya adalah:
    typedef definisi-type identifier;
    Contoh penggunaannya adalah sebagai berikut:;
    typedef unsigned char byte;
    typedef char str40[41];
    typedef struct {float re, im;} complex;
    typedef char *byteptr;
    typedef int (*fncptr)(int);
    Setelah definisi diatas, maka kita dapat mendeklarasikan:;
    byte m, n;
    str40 myStr;
    complex z1, z2;
    byteptr p;
    fncptr myFunc;
    Sama seperti kita mendeklarasikan:;
    unsigned char m, n;
    char myStr[41];
    struct {float re, im;} z1, z2;
    char *p;
    int (*myFunc)(int);

    • union

    Mengelompokkan variabel yang berbagi ruang penyimpanan yang sama. Sebuah serikat mirip dengan sebuah struct, kecuali union memungkinkan kita untuk menentukan variabel yang berbagi ruang penyimpanan. Sintaks untuk mendefinisikan serikat adalah:;
    union [union-type-name]
      {
        type variable-names;
        ...
      } [union-variables] ;
    Contoh,;
    union short_or_long
      {
        short i;
        long l;
      } a_number;

    • unsigned

    Merupakan type modifier yang dapat diterapkan ke tipe data standar. Seperti namanya unsigned (tanpa tanda) maka jika kita mendeklarasi variabel menggunakan type modifier unsigned maka jangkauan variabel tersebut hanya akan bermula dari 0 hingga batas atas tipe data dasar tersebut dikali 2. Contohnya jika kita mendeklarasikan variabel dengan tipe int yang mempunyai jangkauan – 32,767 sampai 32,767 maka jika kita awali dengan type modifier unsigned variabel itu akan mempunyai jangkauan 0 sampai 6,5534. Contoh deklarasi variabel dengan modifier unsigned adalah seperti dibawah ini:;
    unsigned int x;

    • void

    Adalah type data kosong. Jika kita gunakan dalam deklarasi fungsi maka artinya fungsi tersebut tidak mempunyai nilai kembalian:;
    void hello (char *nama)
    {
      printf("Hallo, %s bagaimana kabar anda?", nama);
    }
    Jika dimasukkan ke deklarasi parameter fungsi maka artinya fungsi tersebut tidak memerlukan parameter apapun.;
    void hello (void)
    {
      printf("Hallo bagaimana kabar anda?”);
    }

    • volatile 
    Menunjukkan bahwa variabel dapat diubah oleh rutinitas latar belakang. Syntaksnya adalah sebagai berikut:;
    volatile data-definition;

    • while 
    Adalah pernyataan iterasi/pengulangan dimana suatu alur akan diulang ketika kondisi yang menyertai while bernilai true. Sintaksnya adalah:;
    while (ekspresi) pernyataan;
    Ketika ekspresi bernilai true maka pernyataan akan terus dijalankan hingga ekspresi bernilai false. Contoh:;
    while (*p == ' ') p++;
    Pernyataan juga dapat dibuat majemuk sesuai keinginan kita.Demikian postingan saya yang sederhana ini. Ditunggu komentarnya yaaa....

    Subscribe