Bab01_Pengenalan1

download Bab01_Pengenalan1

of 27

Transcript of Bab01_Pengenalan1

  • 8/17/2019 Bab01_Pengenalan1

    1/27

    Pengenalan

    Bahasa C

    Deby Tri Widia Lestari

    XII IPA 5

    SMA Negeri 39   1

  • 8/17/2019 Bab01_Pengenalan1

    2/27

    Paradigma Pemrograman

    • Pemrograman Deklarati!"#ngsional

    $ Persoalan diselesaikan denganmengeks%resikan logika %ersoalan

    • Pemrograman Prosed#ral!Terstr#kt#r

    $ Persoalan diselesaikan denganmenent#kan langka& %er langka&

    • Pemrograman 'erorientasi (b)ek$ Penyelesaian %ersoalan dilak#kan dengan

    membagi men)adi ob)ek*ob)ek

    2

  • 8/17/2019 Bab01_Pengenalan1

    3/27

    Pemrograman Prosed#ral

    • Pemrograman terstr#kt#r mer#%akanbagian dari %emrograman %rosed#ral+

    • Pemrograman %rosed#ralmem#ngkinkan seorang %emrogrammende,nisikan se-ara te%at langka&*langka& %enyelesaian %ersoalan+

    • "ok#snya adala& membagi %ersoalanmen)adi k#m%#lan .ariabel/ str#kt#rdata/ dan s#br#tin+

    3

  • 8/17/2019 Bab01_Pengenalan1

    4/27

    0om%onen Pemrograman

     Terstr#kt#r• Se1#en-e 2#r#tan 4$ ksek#si statement!instr#ksi se-ara

    ter#r#t

    • Sele-tion 2seleksi 4

    $ ksek#si sala& sat# statementbergant#ng %ada kondisi tertent#

    • 6e%etition 2%eng#langan 4$ ksek#si seb#a& statement &ingga

    men-a%ai kondisi tertent#

    4

  • 8/17/2019 Bab01_Pengenalan1

    5/27

    Se)ara& 'a&asa 7

    • Akar dari ba&asa 7 adala& ba&asa '7PL*'asi- 7ombine Programming Lang#age2dikembangkan se)ak t&+ 89:

    • Pada tan 89:;/ 0en T&om%sonmengembangkan ba&asa '+

    • 'a&asa 7 %ertama kali dig#nakan %ada

    kom%#ter Digital 1#i%ment7or%oration 2D7 PDP*88 yangmengg#nakan s+o

  • 8/17/2019 Bab01_Pengenalan1

    6/27

    Se)ara& 'a&asa 7

    **lanjutan• Standar 'a&asa 7 yang asliadala& standar dari 3 yang kem#dianmeneta%kan standar ANSI#nt#k ba&asa 7+

    6

    P "

  • 8/17/2019 Bab01_Pengenalan1

    7/27

    Per e aan ar "#ngsIn%#tan!Mas#kan %ada 'a&asa

    7• getchar() Sintak: int getchar(void):"#ngsi4$ mengembalikan seb#a& karakter 2nilai AS7IIberik#tnya dari b#@er keyboard+

    $ 0arakter ditam%ilkan di layar monitor$ Men#ngg# sam%ai ada NT6$ eader ,le ada di stdio+&

    • getch() Sintak: int getch(void):"#ngsi

    $ mengembalikan sat# karakter dari b#@er keyboard$ karakter tidak ditam%ilkan di layar monitor 2no e-&o$ Tidak men#ngg# sam%ai ada NT6$ 7o-ok #nt#k memb#at %assBord$ eader ,le ada di -onio+& 

  • 8/17/2019 Bab01_Pengenalan1

    8/27

    Perbedaan dari "#ngsiIn%#tan!Mas#kan %ada 'a&asa

    7• getche() Sintak : int getche(void)"#ngsi 4$ mengembalikan sat# karakter dari keyboard$ 0arakter ditam%ilkan di layar 2e-&o$ Tidak men#ngg# sam%ai ada NT6$ eader ,le ada di -onio+&

    • gets() Sintak : char *gets(char *bufer)"#ngsi4

    $ memba-a string dari keyboard sam%ai ketem# neB*line dan disim%an %ada b#@er+$ 0em#dian neB*line di re%la-e dengan n#ll -&ara-ter$ Mengembalikan nilai N

  • 8/17/2019 Bab01_Pengenalan1

    9/27

    0arakteristik 7

    • Digolongkan ba&asa tingkat menenga&• Lebi& s#lit dari ba&asa Pas-al dan 'asi-

    yang termas#k tingkat tinggi

    • 7 mengkombinasikan ba&asa tingkattinggi dan tingkat renda&+ T#)#annya#nt#k mengambil kelebi&an dari

    masing*masing tingkat ba&asa+$ Tingkat tinggi 4 lebi& m#da& %en#lisan$ Tingkat renda& 4 lebi& -e%at eksek#sinya

    9

  • 8/17/2019 Bab01_Pengenalan1

    10/27

    0elebi&an 'a&asa 7

    • Tersedia &am%ir di sem#a )enis kom%#ter

    • 0odenya %ortabel yait# da%at dig#nakanantar kom%#ter dengan sedikit %er#ba&an

    • Str#kt#r ba&asanya baik/ se&ingga m#da&di%ela)ari dan di%a&ami

    • Dibanding ba&asa mesin/ 7 lebi& m#da&

    di%a&ami• Da%at memani%#lasi bit dan alamat %ointer

    10

  • 8/17/2019 Bab01_Pengenalan1

    11/27

    0elema&an 7

    • 'anyaknya o%erator sertaCeksibilitas %en#lisan yang kadangmembing#ngkan %engg#na

    • Pointer+ Pemrogram %em#la#m#mnya tidak terbiasamengg#nakan %ointer+

    11

  • 8/17/2019 Bab01_Pengenalan1

    12/27

    Proses 7om%ile Linking

    12

  • 8/17/2019 Bab01_Pengenalan1

    13/27

    7om%iler dan Linking

    • Sebel#m %rogram 7 da%at di)alankan/ &ar#sdi -om%ile dan di linking terlebi& dal#+

    • 7om%ile adala& %roses menter)ema&kan

    sel#r#& %rogram ke dalam ba&asa mesinsekalig#s+

    • 7om%ile da%at ber&asil )ika dalam %rogramtidak ada kesala&an kaida& sama sekali+

    • List %rogram asli da%at dira&asiakan

    • Linking adala& %roses #nt#k menggab#ngkanbebera%a ,le %rogram &asil kom%ilasi+

    13

  • 8/17/2019 Bab01_Pengenalan1

    14/27

    Str#kt#r Pen#lisan

    Program 7• Program 7 ters#s#n atas se)#mla&#ngsi+

    • Paling tidak ada sat# #ngsi #tamayait# #ngsi bernama main+

    • Setia% #ngsi ters#s#n atas bebera%astatement!%ernyataan+

    • Pen#lisan setia% #ngsi diaBali dengantanda EFE dan diak&iri dengan tanda EGH

    14

  • 8/17/2019 Bab01_Pengenalan1

    15/27

    0erangka Program 7

    15

  • 8/17/2019 Bab01_Pengenalan1

    16/27

    Pre%ro-essor 4 de,ne

    • Dig#nakan #nt#k mende,nisikankonstanta ata# makro+

    • 6#m#s 4  #define  

      Contoh :

    #define TRUE 1

    #define FALSE !TRUE#define P "1

    16

  • 8/17/2019 Bab01_Pengenalan1

    17/27

    Pre%ro-essor 4 in-l#de

    • #incl$de mer#%akan sala& sat# %engara&%ra%rosesor 2%re%ro-essor dire-ti.e

    • Di%akai #nt#k memba-a ,le yang

    diantaranya berisi deklarasi #ngsi dankonstanta+

    • "ile yang diba-a adala& ,le berekstensi .h 

    2istila&nya ,le &eader• 7 menyediakan bebera%a ,le &eader sia%

    %akai/ -onto& stdio+&/ stlib+&/ dll

    17

  • 8/17/2019 Bab01_Pengenalan1

    18/27

    7onto& Pengg#naan

    Dire-ti.e• #incl$de

  • 8/17/2019 Bab01_Pengenalan1

    19/27

    Pola Deklarasi "#ngsi

    ti%eJdata namaJ#ngsi 2 parameter F

    !!letakkan variabel lokal di sini

    !!letakkan pernyataan C di sini

    G

    19

  • 8/17/2019 Bab01_Pengenalan1

    20/27

    "#ngsi main2

    • Mer#%akan #ngsi #tama yang &ar#sada %ada %rogram 7+

    • "#ngsi ini men)adi titik aBal dan titikak&ir eksek#si %rogram+

    • 'iasanya ditem%atkan di %aling ataskode/ #nt#k mem#da&kan%enel#s#ran+

    20

  • 8/17/2019 Bab01_Pengenalan1

    21/27

    "#ngsi main2 ** lan)#tan

    • Sintaks 4'oid main ()*+, t$-$h f$n.%i ,+

    /

    • 'oid  men#n)#kkan ba&Ba #ngsi

     main tidak mengembalikan nilaia%a%#n

    21

  • 8/17/2019 Bab01_Pengenalan1

    22/27

    "#ngsi %rint2

    • Mer#%akan #ngsi standar 7 #nt#kmenam%ilkan s#at# kel#aran %adalayar!monitor

    • 'ent#k #m#m 4– printf(“string keluaran”, daftar

    argumen)

    22

  • 8/17/2019 Bab01_Pengenalan1

    23/27

    "#ngsi %rint2 ** lan)#tan

    • String kel#aran da%at ber#%a 4

    $ Kd #nt#k menam%ilkan bil+ b#lat2integer

    $ K #nt#k menam%ilkan bil+%e-a&an

    $ K- #nt#k menam%ilkan karakter$ Ks #nt#k menam%ilkan string!teks

    • 7onto& 4

    #incl$de

  • 8/17/2019 Bab01_Pengenalan1

    24/27

    "#ngsi %rint2 ** lan)#tan

    • Menam%ilkan t#lisan ello World– printf(“Hello World”);

    •Pengg#naan tanda EH 4$ menyatakan karakter %etik ganda$ menyatakan karakter ba-kslas&

    $ t menyatakan karakter tab

    24

  • 8/17/2019 Bab01_Pengenalan1

    25/27

    0omentar %ada Program

    • Dig#nakan #nt#k ke%erl#andok#mentasi

    • DiaBali dengan tanda !O dandiak&iri dengan tanda O!

  • 8/17/2019 Bab01_Pengenalan1

    26/27

    7onto& 0omentar

    ++pen..$naan directi'e

    #include

  • 8/17/2019 Bab01_Pengenalan1

    27/27

    Datar P#staka

    • &tt%4!!kam%oeng*it+blogs%ot+-om!;;9!;>!kelebi&an*kek#rangan*ba&asa*-+&tml

    • &tt%4!!kam%oeng*it+blogs%ot+-om!;8!

    8!%erbedaan*get-&ar*get-&*get-&e*gets+&tml

    • &tt%4!!kam%oeng*it+blogs%ot+-om!;8!

    8;!ba&asa*-*str#kt#r*%rogram*-+&tml

    http://kampoeng-it.blogspot.com/2009/08/kelebihan-kekurangan-bahasa-c.htmlhttp://kampoeng-it.blogspot.com/2009/08/kelebihan-kekurangan-bahasa-c.htmlhttp://kampoeng-it.blogspot.com/2012/12/perbedaan-getchar-getch-getche-gets.htmlhttp://kampoeng-it.blogspot.com/2012/12/perbedaan-getchar-getch-getche-gets.htmlhttp://kampoeng-it.blogspot.com/2012/12/perbedaan-getchar-getch-getche-gets.htmlhttp://kampoeng-it.blogspot.com/2012/10/bahasa-c-struktur-program-c.htmlhttp://kampoeng-it.blogspot.com/2012/10/bahasa-c-struktur-program-c.htmlhttp://kampoeng-it.blogspot.com/2012/10/bahasa-c-struktur-program-c.htmlhttp://kampoeng-it.blogspot.com/2012/10/bahasa-c-struktur-program-c.htmlhttp://kampoeng-it.blogspot.com/2012/12/perbedaan-getchar-getch-getche-gets.htmlhttp://kampoeng-it.blogspot.com/2012/12/perbedaan-getchar-getch-getche-gets.htmlhttp://kampoeng-it.blogspot.com/2012/12/perbedaan-getchar-getch-getche-gets.htmlhttp://kampoeng-it.blogspot.com/2009/08/kelebihan-kekurangan-bahasa-c.htmlhttp://kampoeng-it.blogspot.com/2009/08/kelebihan-kekurangan-bahasa-c.html