Pengenalan konsep pemrograman c++

  • View
    126

  • Download
    2

Embed Size (px)

Text of Pengenalan konsep pemrograman c++

  • PEMROGRAMAN TERSTRUKTUR(dalam bahasa C)

    STTQ - 2010

  • Sejarah Bahasa CBersumber dari bahasa BCPL (Martin Richards -1967) dan B (Ken Thompson -1970)C diciptakan Dennis Ritchie dari Bell Laboratories pada tahun 1972 dan diimplementasikan pada komputer DEC PDP-11Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian mempublikasikan buku The C Programming Language yang semakin memperluas pemakaiannya dan dijadikan standar oleh ANSI (American National Standard Institute) pada tahun 1989C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi C++ (1986)C dan/atau C++ banyak digunakan (sehingga menjadi standar) sebagai bahasa pemrograman untuk membuat sistem operasi

    STTQ - 2010

  • Proses penerjemahan bahasa CEditorPreprocessorCompilerLinkerLoaderCPUDISK.c.h.obj.out (UNIX).exe (MS)Primary Memory

    STTQ - 2010

  • Program sederhana I [1]Contoh program untuk menampilkan sebaris teks Selamat menggunakan bahasa C! pada layar:

    /* Program pertama dalam bahasa C */#include

    /* fungsi main mulai eksekusi program */int main( void ){ printf( Selamat menggunakan bahasa C!\n" );

    return 0; /* indikasi program berakhir dengan sukses */

    } /* akhir fungsi main */Selamat menggunakan bahasa C! Program Output

    STTQ - 2010

  • Program sederhana I [2]Komentar diawali dengan /* dan diakhiri dengan */ (seperti terdapat pada baris-1,3,7,dan 8), komentar tidak dipedulikan/diproses oleh compiler. Bermanfaat untuk memudahkan pembacaan dan pemahaman sebuah program.Baris dengan awalan # (seperti pada baris-2) diproses oleh preprocessor C sebelum program dikompilasi. Baris tersebut menunjukkan bahwa preprocessor harus mengikutsertakan standard input/output header (stdio.h) pada program.Header ini mengandung informasi yang digunakan compiler untuk mengkompilasi pemanggilan fungsi standar input/output seperti printf (baris-6).int main() merupakan fungsi utama program dan selalu merupakan bagian dari program dalam C, karena berjalannya program/instruksi ditentukan oleh fungsi ini. int berarti fungsi main mengembalikan nilai integerTanda kurung kurawal buka { dan tutup } merupakan penanda body dari sebuah fungsi atau sering disebut juga block fungsi/program.printf( Selamat menggunakan bahasa C!\n" ); menghasilkan aksi yaitu menampilkan teks Selamat menggunakan bahasa C!return 0; selalu diikutsertakan pada akhir fungsi main. Keyword return untuk menyatakan keluar dari suatu fungsi, dan angka 0 menunjukkan nilai yang dihasilkan/dikembalikan oleh fungsi tersebut.

    STTQ - 2010

  • Program sederhana I [3]/* Program pertama dalam bahasa C */#include

    /* fungsi main mulai eksekusi program */int main( void ){ printf( Selamat menggunakan bahasa C!\n" );

    return 0; /* indikasi program berakhir dengan sukses */

    } /* akhir fungsi main */komentarpreprocessormain functionstatementfunction body

    STTQ - 2010

  • Program sederhana I [4]Karakter escape

    KarakterDeskripsi\nPindah kursor ke baris baru\tHorisontal tab, pindah kursor ke posisi tab berikutnya\aMembunyikan bel sistem/beep\\Mencetak/menampilkan \ (backslash)\Mencetak/menampilkan

    STTQ - 2010

  • Program sederhana I [5]Modifikasi 1: mencetak 1 baris dengan 2 buah perintah printf

    Welcome to C! Program Output

    STTQ - 2010

    1 /* Fig. 2.3: fig02_03.c

    2 Printing on one line with two printf statements */

    3 #include

    4

    5 /* function main begins program execution */

    6 int main()

    7 {

    8 printf( "Welcome " );

    9 printf( "to C!\n" );

    10

    11 return 0; /* indicate that program ended successfully */

    12

    13 } /* end function main */

  • Program sederhana I [6]Modifikasi 2: mencetak banyak baris dengan sebuah perintah printf

    WelcometoC! Program Output

    STTQ - 2010

    1 /* Fig. 2.4: fig02_04.c

    2 Printing multiple lines with a single printf */

    3 #include

    4

    5 /* function main begins program execution */

    6 int main()

    7 {

    8 printf( "Welcome\nto\nC!\n" );

    9

    10 return 0; /* indicate that program ended successfully */

    11

    12 } /* end function main */

  • Program sederhana II [1]Membaca 2 buah bilangan bulat dari keyboard dan menampilkan hasil penjumlahannya

    STTQ - 2010

  • Enter first integer 45 Enter second integer 72 Sum is 117 Program Output

    STTQ - 2010

    1 /* Fig. 2.5: fig02_05.c

    2 Addition program */

    3 #include

    4

    5 /* function main begins program execution */

    6 int main()

    7 {

    8 int integer1; /* first number to be input by user */

    9 int integer2; /* second number to be input by user */

    10 int sum; /* variable in which sum will be stored */

    11

    12 printf( "Enter first integer\n" ); /* prompt */

    13 scanf( "%d", &integer1 ); /* read an integer */

    14

    15 printf( "Enter second integer\n" ); /* prompt */

    16 scanf( "%d", &integer2 ); /* read an integer */

    17

    18 sum = integer1 + integer2; /* assign total to sum */

    19

    20 printf( "Sum is %d\n", sum ); /* print sum */

    21

    22 return 0; /* indicate that program ended successfully */

    23

    24 } /* end function main */

  • Program sederhana II [2]Baris ke-1 hingga ke-7 serupa dengan program Iint integer1, integer2, sum;Pendefinisian variable-variabelVariabel: lokasi di memori tempat sebuah nilai disimpanint berarti variabel dapat menyimpan bilangan bulat (-1, 3, 0, 47)Nama-nama variabel (identifier)integer1, integer2, sum Identifier: mengandung huruf,angka (tidak boleh dimulai dengan angka) dan underscores( _ ) Case sensitive (huruf besar dan kecil dibedakan)Deklarasi variabel harus muncul sebelum eksekusi statement yang menggunakannyaJika eksekusi statement mengacu kepada variabel yang belum dideklarasikan maka akan menghasilkan syntax (compiler) error

    STTQ - 2010

  • Program sederhana II [3]scanf( "%d", &integer1 );Mengambil sebuah nilai dari userscanf menggunakan standar input (biasanya keyboard)scanf statement ini memiliki dua buah argumen%d - menunjukkan data yang diambil adalah bilangan bulat desimal&integer1 berlokasi di memori untuk menyimpan nilai variabel tsbTanda & dapat membingungkan di awal untuk saat ini sertakan pada nama variabel pada statement scanf Ketika program dieksekusi user merespon statement scanf dengan mengetik sebuah bilangan kemudian menekan tombol enter (return)= (assignment operator)Assigns (memberi) sebuah nilai kepada sebuah variabelMerupakan sebuah operator biner (memiliki dua buah operand)sum = variable1 + variable2;sum memperoleh hasil dari variable1 + variable2;Variabel penerima nilai berada di sebelah kiri

    STTQ - 2010

  • Program sederhana II [4]printf( "Sum is %d\n", sum );Serupa dengan pada scanf%d berarti bilangan bulat desimal akan ditampilkan/dicetakNilai variabel sum menentukan bilangan bulat yang akan ditampilkan/dicetakPerhitungan dapat langsung dilakukan dalam statement printf printf( "Sum is %d\n", integer1 + integer2 );

    STTQ - 2010

  • Konsep Memori [1]Variabel Nama-nama variabel berkaitan dengan lokasi-lokasi di memori komputerSetiap variabel memiliki sebuah nama, sebuah tipe, sebuah ukuran dan sebuah nilaiKetika sebuah nilai baru diberikan pada sebuah variabel (misalnya melalui scanf) maka nilai yang lama akan diganti (dan hilang)Membaca variabel dari memori tidak akan mengubah nilainyaRepresentasi visual:

    STTQ - 2010

  • Konsep Memori [2]117

    STTQ - 2010

  • Aritmatika [1]Perhitungan AritmatikaGunakan * untuk perkalian dan / untuk pembagianPembagian bilangan bulat membuang sisa pembagian7 / 5 dievaluasi menjadi 1Operator Modulus (%) menghasilkan sisa pembagian7 % 5 dievaluasi menjadi 2Operator precedenceBeberapa operator aritmatika lebih diprioritaskan (dihitung lebih dahulu) dibandingkan operator lainnya (misalkan perkalian dan pembagian didahulukan dibandingkan penjumlahan dan pengurangan)Gunakan tanda kurung jika diperlukanContoh: Hitung nilai rata-rata dari variabel-variabel a, b and cJangan gunakan: a + b + c / 3 Gunakan: (a + b + c ) / 3

    STTQ - 2010

  • Aritmatika [2]Operator-operator aritmatika:

    Aturan precedence operator:

    STTQ - 2010

    C operation

    Arithmetic operator

    Algebraic expression

    C expression

    Addition

    +

    f + 7

    f + 7

    Subtraction

    -

    p c

    p - c

    Multiplication

    *

    bm

    b * m

    Division

    /

    x / y

    x / y

    Modulus

    %

    r mod s

    r % s

    Operator(s)

    Operation(s)

    Order of evaluation (precedence)

    ()

    Parentheses

    Evaluated first. If the parentheses are nested, the expression in the innermost pair is evaluated first. If there are several pairs of parentheses on the same level (i.e., not nested), they are evaluated left to right.

    *, /, or %

    Multiplication,Division, Modulus

    Evaluated second. If there are several, they areevaluated left to right.

    + or -

    Addition

    Subtraction

    Evaluated last. If there are several, they are evaluated left to right.

  • Aritmatika [3]

    STTQ - 2010

  • Pengambilan Keputusan: Persamaan dan Operator Relasional [1]Eksekusi statementMenghasilkan aksi-aksi (penghitungan, input/output data)Menghasilkan keputusanIngin menampilkan lulus" or gagal" berdasarkan suatu syarat nilai tertentuif control statementVersi sederhana dahulu, lebih detail kemudianJika suatu kondisi true, maka body