modul bahasa c final

45
Pemograman C  1 Berkenalan dengan Bahasa C 1. Sejarah Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tah un 196 7. el an! utnya bah asa ini member ika n ide kep ada "en #ho mps on ya ng ke mudian mengembangkan bahasa yang disebut bahasa B pada tahun 197$. Perkembangan selan!utnya dari  bahasa B adalah bahasa C oleh %ennis Ricthie sekitar tahun 197$&an di Bell #elephone Laboratories 'nc. (sekarang adalah )#*# Bell Laboratories+. Bahasa C pertama kali digunakan di computer %igital ,-ui pment Co rporat ion P%P&11 ya ng me ngguna ka n system operas i /'0. i ngga saat ini  penggunaan bahasa C telah merata di seluruh dunia. ampir semua perguruan tinggi di dunia men!adikan bahasa C sebagai salah satu mata kuliah 2a!ib. elain itu3 banyak bahasa pemrograman  populer seperti PP dan 4a5a menggunakan sintaks dasar yang mirip bahasa C. leh karena itu3 kita  !uga sangat perlu me mpela!arinya. 2. Kelebihan dan Kekurangan Bahasa C Kelebihan Bahasa C Bahasa C tersedia hampir di semua !enis computer. "ode bahasa C siatnya adalah portable dan leksibel untuk semua !enis computer. Bahasa C hanya menyediakan sedikit kata&kata kunci3 hanya terdapat 8 kata kunci. Proses e:ecutable program bahasa C lebih cepat %ukungan pustaka yang banyak. C adalah bahasa yang terstruktur  Bahasa C termasuk bahasa tingkat menengah Kekurangan Bahasa C Banyaknya perator serta leksibilitas penulisan program kadang&kadang membingungkan  pemakai. Bagi pemula pada umumnya akan kesulitan menggunakan pointer 3. Mengenal Editor Bahasa C Memulai Bahasa C Buka ,ditor Bahasa C yang ada3 seperti Bordland C3 #urbo C;; dan sebagainya. emua program yang ada di tutorial ini bisa d icoba #urbo C;;.  Sekilas Mengenai Editor Turbo C ntuk mengkompilasi Program3 langkah&langkahnya sbb < Pilih menu Compile dengan menekan Alt + ! atau Pilih ubmenu "roje#t$ Com%ile ,nter )kan ditampilkan hasil kompilasi Program3 tekan sembarang tombol ntuk men!alankan program < Pilih menu Run dengan menekan Ctrl + ! atau Pilih submenu &ebug$ 'un dan tekan ,nter  Menu(menu dalam Turbo C++ < Jurusan Matematika – FMIPA UNRI

Upload: khoirul-affandi

Post on 12-Apr-2018

259 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 1/44

Pemograman C   1

Berkenalan dengan Bahasa C

1. SejarahBahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards padatahun 1967. elan!utnya bahasa ini memberikan ide kepada "en #hompson yang kemudianmengembangkan bahasa yang disebut bahasa B pada tahun 197$. Perkembangan selan!utnya dari bahasa B adalah bahasa C oleh %ennis Ricthie sekitar tahun 197$&an di Bell #elephone Laboratories'nc. (sekarang adalah )#*# Bell Laboratories+. Bahasa C pertama kali digunakan di computer %igital,-uipment Corporation P%P&11 yang menggunakan system operasi /'0. ingga saat ini penggunaan bahasa C telah merata di seluruh dunia. ampir semua perguruan tinggi di duniamen!adikan bahasa C sebagai salah satu mata kuliah 2a!ib. elain itu3 banyak bahasa pemrograman populer seperti PP dan 4a5a menggunakan sintaks dasar yang mirip bahasa C. leh karena itu3 kita !uga sangat perlu mempela!arinya.

2. Kelebihan dan Kekurangan Bahasa C→ Kelebihan Bahasa C

Bahasa C tersedia hampir di semua !enis computer.

"ode bahasa C siatnya adalah portable dan leksibel untuk semua !enis computer.

Bahasa C hanya menyediakan sedikit kata&kata kunci3 hanya terdapat 8 kata kunci.

Proses e:ecutable program bahasa C lebih cepat

%ukungan pustaka yang banyak.

C adalah bahasa yang terstruktur 

Bahasa C termasuk bahasa tingkat menengah

→ Kekurangan Bahasa C

Banyaknya perator serta leksibilitas penulisan program kadang&kadang membingungkan

 pemakai. Bagi pemula pada umumnya akan kesulitan menggunakan pointer 

3. Mengenal Editor Bahasa CMemulai Bahasa C

Buka ,ditor Bahasa C yang ada3 seperti Bordland C3 #urbo C;; dan sebagainya. emua program yangada di tutorial ini bisa dicoba #urbo C;;.

  Sekilas Mengenai Editor Turbo C

ntuk mengkompilasi Program3 langkah&langkahnya sbb <

Pilih menu Compile dengan menekan Alt + ! atau

Pilih ubmenu "roje#t$ Com%ile

,nter )kan ditampilkan hasil kompilasi Program3 tekan sembarang tombolntuk men!alankan program <

Pilih menu Run dengan menekan Ctrl + ! atau

Pilih submenu &ebug$ 'un dan tekan ,nter 

  Menu(menu dalam Turbo C++ <

Jurusan Matematika – FMIPA UNRI

Page 2: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 2/44

Pemograman C   2

Tampilan Menu Editor Turbo C 

). "enulisan "rogram Bahasa CProgram Bahasa C tidak mengenal aturan penulisan di kolom tertentu3 !adi bisa dimulai dari kolommanapun. /amun demikian3 untuk mempermudah pembacaan program dan untuk keperluandokumentasi3 sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak dibaca.

Berikut contoh penulisan Program Bahasa C yang baik dan yang kurang baik <

*in#lude stdio.h,

-oid main/

0

%rintBahasa Cn,/

%rintAidil itrians4ahn,/

5

=include >stdio.h?5oid main(+ @ print(>Bahasa C?+A

"edua Program di atas bila di!alankan akan menghasilkan hasil yang sama berupa tulisan >Bahasa C?di layar3 namun dari segi penulisannya program yang pertama tampaknya lebih mudah dibaca dan lebihrapih dibanding dengan program yang kedua.

Jurusan Matematika – FMIPA UNRI

Page 3: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 3/44

Pemograman C   3

Struktur &asar Bahasa C

1. Ti%e &ata#ipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiapinstruksi yang akan dilaksanakan oleh computer. Misalnya sa!a dibagi bisa sa!a menghasilkan hasilyang berbeda tergantung tipe datanya. 4ika dan bertipe integer maka akan menghasilkan nilai 3namun !ika keduanya bertipe loat maka akan menghasilkan nilai .$$$$$$. Pemilihan tipe data yangtepat akan membuat proses operasi data men!adi lebih eisien dan eekti.%alam bahasa C terdapat lima tipe data dasar3 yaitu <

2. Konstanta"onstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung."onstanta nilainya selalu tetap. "onstanta harus dideinisikan terlebih dahulu di a2al program."onstanta dapat bernilai integer3 pecahan3 karakter dan string. Contoh konstanta < $A 18A 8.1DAD.$$$A E)FA EBahasa CF. elain itu3 bahasa C !uga menyediakan beberapa karakter khusus yangdisebut karakter escape3 antara lain <

  Ga < untuk bunyi bell (alert+

  Gb < mundur satu spasi (backspace+

  G < ganti halaman (orm eed+

  Gn < ganti baris baru (ne2 line+

  Gr < ke kolom pertama3 baris yang sama (carriage return+

  G5 < tabulasi 5ertical  G$ < nilai kosong (null+

Jurusan Matematika – FMIPA UNRI

Page 4: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 4/44

Pemograman C   4

  GF < karakter petik tunggal

  G? < karakter petik ganda

  GG < karakter garis miring

3. 6ariable

Hariabel adalah suatu pengenal (identiier+ yang digunakan untuk me2akili suatu nilai tertentu didalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap3 nilai dari suatu 5ariable bisa diubah&ubah sesuai kebutuhan. /ama dari suatu 5ariable dapat ditentukan sendiri oleh pemrogramdengan aturan sebagai berikut <

#erdiri dari gabungan huru dan angka dengan karakter pertama harus berupa huru. Bahasa C bersiat case&sensiti5e artinya huru besar dan kecil dianggap berbeda. 4adi antara nim$ 78M dan7im dianggap berbeda.

#idak boleh mengandung spasi.

#idak boleh mengandung symbol&simbol khusus3 kecuali garis ba2ah (underscore+. Iangtermasuk symbol khusus yang tidak diperbolehkan antara lain < J3 K3 3 =3 3 *3 N3 (3 +3 &3 ;3 O dsb

Pan!angnya bebas3 tetapi hanya 8 karakter pertama yang terpakai.

Contoh penamaan 5ariabel yang benar < /'M3 a3 :3 namamhs3 8$9Q3 D3 nilai3 budi3 dsb.Contoh penamaan 5ariable yang salah <nilaimahasis2a3 Q$mahasis2a3 rata&rata3 ada spasi3 penting3 ds

). &eklarasi%eklarasi diperlukan bila kita akan menggunakan pengenal (identiier+ dalam program. 'dentiier dapat berupa 5ariable3 konstanta dan ungsi.

  &eklarasi 6ariabel

Bentuk umum pendeklarasian suatu 5ariable adalah < /amatipe nama5ariabelAContoh <int :A  Deklarasi x bertipe integer char y3 huru3 nimS1$TA  Deklarasi variable bertipe char 

loat nilaiA  Deklarasi variable bertipe float 

double betaA  Deklarasi variable bertipe double

int arraySTSDTA  Deklarasi array bertipe integer 

char NpA  Deklarasi pointer p bertipe char 

  &eklarasi Konstanta

%alam bahasa C konstanta dideklarasikan menggunakan preprocessor =deine. Contohnya <=deine P' 8.1D=deine nim >$111$$8Q?

=deine nama >ri Uidhiyanti?

  &eklarasi ungsi

Vungsi merupakan bagian yang terpisah dari program dan dapat diaktikan atau dipanggil di manapundi dalam program. Vungsi dalam bahasa C ada yang sudah disediakan sebagai ungsi pustaka seperti print(+3 scan(+3 getch(+ dan untuk menggunakannya tidak perlu dideklarasikan. Vungsi yang perludideklarasikan terlebih dahulu adalah ungsi yang dibuat oleh programmer. Bentuk umum deklarasisebuah ungsi adalah <

#ipeungsi namaungsi(parameterungsi+AContohnya <

loat luaslingkaran(int !ari+A5oid tampil(+A

Jurusan Matematika – FMIPA UNRI

Page 5: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 5/44

Pemograman C   5

int tambah(int :3 int y+A

9. :%erator  :%erator "enugasan

perator Penugasan ( Assignment operator + dalam bahasa C berupa tanda sama dengan (>O?+. Contoh <

nilai O Q$A) O : N yA)rtinya < 5ariable >nilai? diisi dengan Q$ dan 5ariable >)? diisi dengan hasil perkalianantara : dan y.

  :%erator Aritmatika

Bahasa C menyediakan lima operator aritmatika3 yaitu <

N < untuk perkalian

  < untuk pembagian

  < untuk sisa pembagian (modulus+

 ; < untuk pertambahan

 & < untuk pengurangan

Catatan < operator digunakan untuk mencari sisa pembagian antara dua bilangan.Misalnya <9 O 19 8 O $

  :%erator ;ubungan "erbandingan/

perator ubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah

nilai atau 5ariable. perator hubungan dalam bahasa C <

Jurusan Matematika – FMIPA UNRI

Page 6: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 6/44

Pemograman C   6

  :%erator <ogika

4ika operator hubungan membandingkan hubungan antara dua buah operand3 maka operator logikadigunakan untuk membandingkan logika hasil dari operator&operator hubungan. perator logika adatiga macam3 yaitu <

** < Logika )/% (%)/+

WW < Logika R ()#)+

  < Logika /# ('/X")R)/+

  :%erator Bit=ise

perator bit2ise digunakan untuk memanipulasi bit&bit dari nilai data yang ada di memori. perator bit2ise dalam bahasa C <

YY < Pergeseran bit ke kiri

 ZZ < Pergeseran bit ke kanan

 * < Bit2ise )/%

 [ < Bit2ise 0R (e:clusi5e R+

 W < Bit2ise R  

 \ < Bit2ise /#

  :%erator >nar4

perator nary merupakan operator yang hanya membutuhkan satu operand sa!a. %alam bahasa Cterdapat beberapa operator unary3 yaitu <

Catatan "enting ? @

perator peningkatan ;; dan penurunan && !ika diletakkan sebelum atau sesudah operand terdapat perbedaan. Perhatikan contoh berikut <

Jurusan Matematika – FMIPA UNRI

Page 7: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 7/44

Pemograman C   7

. Kata Ter#adang 'eser-ed ord/

Bahasa C standar )/' memiliki 8 kata tercadang (reser5ed 2ord+ dan #urbo C menambahkannyadengan 7 kata tercadang. emua reserved word tidak boleh digunakan dalam penamaan identiier(5ariable3 nama ungsi dll+. "ata #ercadang yang tersedia dalam bahasa C adalah sbb<

 Keterangan < tanda N menun!ukkan tambahan dari #urbo C

. Komentar "rogram

"omentar program hanya diperlukan untuk memudahkan pembacaan dan pemahaman suatu program(untuk keperluan dokumentasi program+. %engan kata lain3 komentar program hanya merupakanketerangan atau pen!elasan program. ntuk memberikan komentar atau pen!elasan dalam bahasa Cdigunakan pembatas N dan N atau menggunakan tanda untuk komentar yang hanya terdiri dari satu

 baris. "omentar program tidak akan ikut diproses dalam program (akan diabaikan+.Contoh Program

Jurusan Matematika – FMIPA UNRI

Page 8: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 8/44

Pemograman C  

<atihan 2 @

Buatlah Program dalam Bahasa C untuk <1. Mencari !a2aban dari sebuah persamaan kuadrat dengan menggunakan rumus abc.. Mencetak deret bilangan 1 D Q 16 8 6D8. Menghitung !umlah dan rata&rata dari buah bilangan bulat positip.

Jurusan Matematika – FMIPA UNRI

Page 9: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 9/44

Pemograman C   !

8n%ut dan :ut%ut

1. MEMAS>KKA7 &ATA%alam bahasa C proses memasukkan suatu data bisa menggunakan beberapa ungsi pustakayang telah tersedia. Beberapa ungsi pustaka yang bisa digunakan adalah <

  s#an/

Vungsi pustaka scan(+ digunakan untuk menginput data berupa data numerik3 karakter dan stringsecara terormat.al&hal yang perlu diperhatikan dalam pemakaian ungsi scan(+ <

Vungsi scan(+ memakai penentu ormat

Vungsi scan(+ memberi pergantian baris secara otomatis

Vungsi scan(+ tidak memerlukan penentu lebar ield

Hariabelnya harus menggunakan operator alamat *

 Kode penentu format :

c < Membaca sebuah karakter s < Membaca sebuah stringi3 d < Membaca sebuah bilangan bulat (integer+3 e < Membaca sebuah bilangan pecahan (real+o < membaca sebuah bilangan octal: < Membaca sebuah bilangan heksadesimalu < Membaca sebuah bilangan tak bertanda

  gets/

Vungsi gets(+ digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untukmemasukkan data numerik.

arus diakhiri dengan penekanan tombol enter 

Cursor secara otomatis akan pindah baris

#idak memerlukan penentu ormat

Jurusan Matematika – FMIPA UNRI

Page 10: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 10/44

Pemograman C   1"

Contoh Program

  get#har/

Vungsi getchar(+ digunakan untuk membaca data yang bertipe karakter 

arus diakhiri dengan penekanan tombol enter 

"arakter yang dimasukkan terlihat pada layar 

Pergantian baris secara otomatis

  get#h/ dan get#he/

Vungsi getch(+ dan getche(+ digunakan untuk membaca data karakter.

"arakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.

#idak memberikan eek pergantian baris secara otomatis

4ika menggunakan ungsi getch(+ karakter yang dimasukkan tidak akan ditampilkan pada layersehingga sering digunakan untuk meminta inputan berupa pass2ord.

edangkan pada getche(+ karakter yang dimasukkan akan ditampilkan pada layar.Contoh Program

CATATA7 @

4ika terdapat beberapa proses input (memasukkan data+ sekaligus3 maka sebaiknya ditambahkan ungsilushstdin/ setelah ungsi scan(+. Vungsi lush(stdin+ berungsi menghapus buer di dalam alat'.

2. ME7AM"8<KA7 &ATA Menampilkan data ke layer monitor 

Menggunakan ungsi print(+3 puts(+3 dan putchar(+.

Vungsi print(+ digunakan untuk menampilkan semua !enis data (numeric dan karakter+

Vungsi puts(+ digunakan untuk menampilkan data string dan secara otomatis akan diakhiridengan perpindahan baris.

Vungsi putchar(+ digunakan untuk menampilkan sebuah karakter.

 Mengatur tampilan bilangan pecahan (float).

Jurusan Matematika – FMIPA UNRI

Page 11: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 11/44

Pemograman C   11

Bentuk umum < print(>m.n?3 argument+Am < menyatakan pan!ang rangen < menyatakan !umlah digit di belakang koma.)rgument < nilai atau 5ariable yang akan ditampilkan.

Contoh < print(>.?3 nilai+Aartinya 5ariable nilai akan ditampilkan sebanyak digit dengan digit di belakang koma.Contoh Program !"

 Menampilkan data ke printer 

ntuk menampilkan data ke printer dapat menggunakan ungsi print(+3 puts(+ dan putc(+.

Vungsi print(+ digunakan untuk mencetak semua !enis tipe data ke printer dan secaraotomatis memberikan eek perpindahan baris.

Vungsi puts(+ digunakan untuk mencetak tipe data string ke printer 

Vungsi putc(+ digunakan untuk mencetak tipe data karakter ke printer 

Jurusan Matematika – FMIPA UNRI

Page 12: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 12/44

Pemograman C   12

<AT8;A7 3Buatlah Program dalam Bahasa C untuk <

1. Menginput dan menampilkan biodata pribadi seseorang yang terdiri dari nama3 tempat3 tanggal

lahir3 alamat3 nomor telepon3 agama3 dan !enis kelamin.. Mencetak se!umlah deret bilangan gan!il antara 1 sampai /3 dimana / dimasukkan oleh user.8. Menentukan bilangan terbesar dan terkecil dari se!umlah bilangan yang dimasukkan oleh user

(misalnya / buah bilangan+.

Jurusan Matematika – FMIPA UNRI

Page 13: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 13/44

Pemograman C   13

"en4eleksian KondisiPenyeleksian kondisi digunakan untuk mengarahkan per!alanan suatu proses. Penyeleksian kondisidapat diibaratkan sebagai katup atau kran yang mengatur !alannya air. Bila katup terbuka maka airakan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui

tempat lain. Vungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C3 terutama untuk program yang kompleks.

1. ST'>KT>' K:7&8S8 8D.,truktur i dibentuk dari pernyataan i dan sering digunakan untuk menyeleksi suatu kondisi tunggal.Bila proses yang diseleksi terpenuhi atau bernilai benar3 maka pernyataan yang ada di dalam blok iakan diproses dan diker!akan. Bentuk umum struktur kondisi i adalah <i(kondisi+ pernyataanA

Contoh Program !

Bila program tersebut di!alankan dan kita memasukan nilai Q$3 maka perintah mencetak perkataanLL akan dilaksanakan3 namun sebaliknya bila kita memasukan sebuah nilai yang kurang dari6 maka program akan berhenti dan tidak dihasilkan apa&apa.

Jurusan Matematika – FMIPA UNRI

Page 14: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 14/44

Pemograman C   14

2. ST'>KT>' K:7&8S8 8......E<SED.,%alam struktur kondisi i.....else minimal terdapat dua pernyataan. 4ika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan !ika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut <

i(kondisi+ pernyataan&1

else pernyataan&

Jurusan Matematika – FMIPA UNRI

Page 15: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 15/44

Pemograman C   15

Contoh Program

Bila program tersebut di!alankan dan kita memasukan nilai Q$ maka akan dicetak perkataan>LL ? namun bila kita memasukan nilai yang kurang dari 6 maka akan tercetak perkataan>#'%)" LL ?. al ini berbeda dengan struktur i dimana program akan berhenti bila kitamemasukan nilai kurang dari 6.

3. ST'>KT>' K:7&8S8 S8TC;....CASE....&EA><TD,truktur kondisi s2itch....case....deault digunakan untuk penyeleksian kondisi dengan kemungkinanyang ter!adi cukup banyak. truktur ini akan melaksanakan salah satu dari beberapa pernyataan EcaseFtergantung nilai kondisi yang ada di dalam s2itch. elan!utnya proses diteruskan hingga ditemukan pernyataan EbreakF. 4ika tidak ada nilai pada case yang sesuai dengan nilai kondisi3 maka proses akanditeruskan kepada pernyataan yang ada di ba2ah EdeaultF.Bentuk umum dari struktur kondisi ini adalah <

s2itch(kondisi+@case 1 < pernyataan&1A breakAcase < pernyataan&A breakA..........case n < pernyataan&nA breakAdeault < pernyataan&mContoh Program

Jurusan Matematika – FMIPA UNRI

Page 16: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 16/44

Pemograman C   16

Bila program tersebut di!alankan3 dan kita memasukan kode hari dengan 1 maka akan tercetak >arienin?3 bila akan tercetak >ari elasa? dan seterusnya.

N PRXR)M /)M) /)M) BL)/ NN Mencetak nama bulan bila diberikan nomornya N

=include Ystdio.hZ

main(+@N %,"L)R)' Nint )ngkaBulan

N %,"R'P'< N print(]Masukkan angka bulan (1&1+<]+A scanC]d]3 *)ngkaBulan+As2itch ()ngkaBulan+  @

case 1 < print(]4anuari Gn]+A breakAcase < print(]Vebruari Gn]+A breakAcase 8 < print(]Maret Gn]+A breakAcase D < print(])pril Gn]+A breakAcase < print(]Mei Gn]+A breakAcase 6 < print(]4uni Gn]+A breakAcase 7 < print('4uli Gn]+A breakAcase Q < print(])gustus Gn]+A breakAcase 9 < print(]eptember Gn]+A breakAcase 1$ < print(]ktober Gn]+A breakAcase 11 < print(]/o5ember Gn]+A breakAcase 1 < print(]%esember Gn]+A breakAdeault < print(]Bukan bulan yang benar Gn]+A

 

N PRXR)M ,MP)# P,R,X' P)/4)/X N

Jurusan Matematika – FMIPA UNRI

Page 17: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 17/44

Pemograman C   17

N )lgoritma uneuk menampilkan menu perhitungan einpat persegri pan!ang3 memilih menu3 danmelakukan proses perhitungan N

=include Ystdio.hZ

main(+@N %,"L)R)' N

int /omorMenuAloat pan!ang3 lebarAloat luas3 keliling3 diagonalA

N Cetak menu N

 print(''M,/ ,MP)# P,R,C' P)/4)/X Gn]+A

 print(> 1. itung luas Gn]+A print(> . itung keliling Gn^+A print(> 8. itung pan!ang diagonal Gn]+A print(> D. "eluar program Gn^+A print(] Masukkan pilihan anda(l8D+K ]+A scan(]d^A*nomormenu+A

s2itch (nomormenu+

case 1 < @ print(]Pan!angK ]+A scan(]?3*pan!ang+A print(]LebarK ]+A scan(]]3*lebar+AluasOpan!angNlebarA

 print(]Luas O Gn]3luas+A breakA

  case < @  print(]Pan!angK ]+A scan(]]*pan!ang+A  Print(]LebarK ]+A scan(]]*lebar+A  kelilingONpan!ang ; NlebarA  print(]"eliling O Gn]3keliling+A  breakA  case 8 < @  Print(]Pan!angK >+Ascan(]]*pan!ang+A

  print(]LebarK ]+A scan(]]*lebar+A  diagonalOs-rt((double+pan!angNpan!ang ;(double+lebarNlebar+A  print(]%iagonal O Gn]3diagonal+A  breakA  case D < print(]"eluar program... sampai !umpa Gn]+A  breakA

Jurusan Matematika – FMIPA UNRI

Page 18: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 18/44

Pemograman C   1

<AT8;A7 ) @

1. Buatlah sebuah Program untuk mencetak bilangan terbesar dari buah bilangan yangdimasukkan oleh user3 dengan cara membandingkan bilangan sebelumnya dengan bilangan berikutnya. Misalnya bilangan tersebut )3 B3 C3 %3 dan , maka ) dan B diperbandingkan.

4ika ) lebih besar dari B maka ) dibandingkan dengan C3 !ika ) lebih besar dari C maka )dibandingkan dengan %3 demikian seterusnya sampai didapat nilai yang terbesar.

2. Buatlah Program yang membaca pan!ang #$nteger% tiga buah bilangan sisi sebuah segitiga3

a3 b3 dan c3 yang dalam hal ini a ≤  b ≤ c3 lalu menentukan apakah ketiga sisi tersebut

membentuk segitiga siku&siku3 segitiga lancip3 atau segitiga turnpul (Petun!uk gunakanhukum Phytagoras+.

Jurusan Matematika – FMIPA UNRI

Page 19: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 19/44

Pemograman C   1!

"engulangan%alam bahasa C tersedia suatu asilitas yang digunakan untuk melakukan proses yang berulangulangsebanyak keinginan kita. Misalnya sa!a3 bila kita ingin menginput dan mencetak bilangan dari 1 sampai1$$ bahkan 1$$$3 tentunya kita akan merasa kesulitan. /amun dengan struktur Pengulangan proses3

kita tidak perlu menuliskan perintah sampai 1$$ atau 1$$$ kali3 cukup dengan beberapa perintah sa!a.truktur Pengulangan dalam bahasa C mempunyai bentuk yang bermacam&macam.

1. ST'>KT>' "E7><A7A7 ;8<E,Pengulangan U'L, banyak digunakan pada program yang terstruktur. Pengulangan ini banyakdigunakan bila !umlah Pengulangannya belum diketahui. Proses Pengulangan akan terus berlan!utselama kondisinya bernilai benar (true+ dan akan berhenti bila kondisinya bernilai salah.Contoh Program !

Pada Pengulangan 2hile di atas3 proses atau perintah mencetak kata&kata >B))) C? akan terusdilakukan selama 5ariabel : masih kurang atau sama dengan 1$. etiap kali melakukan Pengulangan3nilai dari 5ariabel : akan bertambah 1.

Jurusan Matematika – FMIPA UNRI

Page 20: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 20/44

Pemograman C   2"

2. ST'>KT>' "E7><A7A7 &:.....;8<ED,Pada dasarnya struktur Pengulangan do....2hile sama sa!a dengan struktur 2hile3 hanya sa!a pada proses Pengulangan dengan 2hile3 seleksi berada di 2hile yang letaknya di atas sementara padaPengulangan do....2hile3 seleksi 2hile berada di ba2ah batas Pengulangan. 4adi dengan menggunakanstruktur do_2hile sekurang&kurangnya akan ter!adi satu kali Pengulangan.Contoh Program

3. ST'>KT>' "E7><A7A7 :',

truktur Pengulangan or biasa digunakan untuk mengulang suatu proses yang telah diketahui !umlahPengulangannya. %ari segi penulisannya3 struktur Pengulangan or tampaknya lebih eisien karenasusunannya lebih simpel dan sederhana. Bentuk umum Pengulangan or adalah sebagai berikut <Vor (inisialisasiA syaratA penambahan+

 pernyataanA"eterangan <

   Inisialisasi  < pernyataan untuk menyatakan keadaan a2al dari 5ariabel kontrol.

  syarat  < ekspresi relasi yang menyatakan kondisi untuk keluar dari Pengulangan.

   penambahan < pengatur perubahan nilai 5ariabel kontrol.

Jurusan Matematika – FMIPA UNRI

Page 21: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 21/44

Pemograman C   21

Contoh Program !

Jurusan Matematika – FMIPA UNRI

Page 22: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 22/44

Pemograman C   22

Contoh <atihan

&engan Struktur :' 

N PRXR)M P,/4ML))/ %,R,# N

N Men!umlahkan deret 1 ; ; 8 ;_; /dengan / adalah bilangan bulat positi yang dibaca dari piranti masukan. 4umlah deret dicelak ke piranii keluaran. N

=include Ystdio.hZ

main (+@

int /A N banyaknya suku deret3 nilainya positil Nint kA N suku deret Nint !umlahA N !umlah deret N

  print(]Berapa /K]+A scan(]d]3*/+A  !umlahOA

or (kOlAkYO/Ak;;+  @  !umlahO!umlah ; kA    print(]!umlah deret O d3 !umlah+A

Struktur ;8<E(&:

N PRXR)M P,/4ML))/ %,R,# N

N Men!umlahkan deret 1 ; ; 8 ;_; /dengan / adalah bilangan bulat positi yang dibaca dari piranti masukan. 4umlah deret dicelak ke

 piranii keluaran. N

=include3Ystdio.hZ

main (+@

int /A N banyaknya suku deret3 nilainya positi  int kA N suku deret Nint !umlahA N !umlah deret

 print(]Berapa /K?+A scan(]d]3*/+A !umlahOAkOlA2hile (k YO /+  @  !umlahO!umlah ; k;A  k;;A

 print(]4umlah deret O d?3 !umlah+A

Jurusan Matematika – FMIPA UNRI

Page 23: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 23/44

Pemograman C   23

Struktur 'E"EAT

N PRXR)M P,/4ML))/ %,R,# NN Men!umlahkan deret 1 ; ; 8 ;_; /dengan / adalah bilangan bulat positi yang dibaca dari piranti masukan. 4umlah deret dicelak ke

 piranii keluaran. N

=include Ystdio.hZ

main (+@

int /A N banyaknya suku deret3 nilainya positi  int kA N suku deret Nint !umlahA N !umlah deret

  print(]Berapa /K]+A scan(]d]3*/+A !umlahO$A

kOlAdo @  !umlahO!uinlah ; kA  k;;A2hile (kYO/+A

 print(]!umlah deret O d]3 !umlah+A

Jurusan Matematika – FMIPA UNRI

Page 24: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 24/44

Pemograman C   24

3. Tulislah %rogram untuk menam%ilkan semua solusi bilangan bulat tidak negati dari

%ersamaan berikut ini <F + 4 + G H 29

Iang dalam hal ini J $ 4 $ dan G

). Buatlah "rogram untuk menghitung jumlah bilangan ganjil dari 1 sam%ai 7 4aitu$ 1 +3 + 9 + ..../.

 

Jurusan Matematika – FMIPA UNRI

Page 25: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 25/44

Pemograman C   25

 Beberapa Contoh Soal Cerita :

1. eorang pengirim surat menuliskan nama kota pada amplop surat tetapi tidakmencantumkan kode pos&nya. Buatlah program yang menerima masukkan namakota dan menuliskan kode pos kota tersebut ke piranti kularan. "ota&kota yang

tersedia di dalam datar sebagai berikut ini <Pekanbaru < Q$$$Padang < $$$olo < 1$$$%enpasar < 7$$$Palu < 98$$

. akar&akar persamaan kuadrat <a: ; b: ; c O $dapat dihitung dengan rumus abc sebagai berikut ini <

4enis akar bergantung pada nilai b ` Dac (diskriminan atau %+ <& !ika b & DacY$3 maka akar&akarnya imaginer 

& !ika b & DacZ$3 maka akar&akarnya riil dan berbeda3 01≠0

& !ika b & DacO$3 maka akar&akarnya riil dan kembar3 01O0

8. Buatlah program untuk memcari bilangan Vaktorial

n O 1 : : 8 : D : : 6 : n 3 n Z $dan khusus untuk n O $ maka aktorial dari $ di deenisikan sebagai $ O 1

D. Buatlah Program untuk mengkon5ersi sistem bilangan %esimal men!adi bilangandalam sistem biner3 misalnya 1Q1$ O 1$$1$

Cara mengkon5ersinya <1Q O 9 sisa $9 O D sisa 1D O sisa $ O 1 sisa $1 O $ sisa 1

urutan bilangan biner sesiau arah panah sehingga di peroleh O 1$$1$.

Jurusan Matematika – FMIPA UNRI

Page 26: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 26/44

Pemograman C   26

Arra4 <arik/)rray merupakan kumpulan dari nilai&nilai data yang bertipe sama dalam urutan tertentu yangmenggunakan nama yang sama. Letak atau posisi dari elemen array ditun!ukkan oleh suatu inde:.%ilihat dari dimensinya array dapat dibagi men!adi )rray dimensi satu3 array dimensi dua dan array

multi&dimensi.

1. A''AI &8ME7S8 SAT> etiap elemen array dapat diakses melalui indeks.

'ndeks array secara deault dimulai dari $.

%eklarasi )rray

Bentuk umum <#ipearray namaarraySukuranTAContoh <

CATATA7 @tring !uga sebenarnya merupakan array yang bertipe karakter. 4umlah elemen array menyatakan !umlah string.

Contoh aplikasi array satu dimensi

Jurusan Matematika – FMIPA UNRI

Page 27: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 27/44

Pemograman C   27

2. A''AI &8ME7S8 &>A  )rray dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom.

Bentuknya dapat berupa matriks atau tabel.

%eklarasi array <#ipearray namaarraySbarisTSkolomTAContoh <

'nt 0S8TSDTA0S$TS$T 0S$TS1T 0S$TST 0S$TS8T

Jurusan Matematika – FMIPA UNRI

Page 28: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 28/44

Pemograman C   2

0S1TS$T 0S1TS1T 0S1TST 0S1TS8T0STS$T 0STS1T 0STST 0STS8T

Cara mengakses array <ntuk mengakses array3 misalnya kita ingin mengisi elemen array baris kolom 8 dengan1$ maka perintahnya adalah sbb <

0S1TST O 1$A

ntuk mengisi dan menampilkan isi elemen array ada dua cara yaitu <

Ro2 Ma!or rder (secara baris per baris+

Column Ma!or rder (secara kolom per kolom+Contoh Program !

Jurusan Matematika – FMIPA UNRI

Page 29: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 29/44

Pemograman C   2!

Jurusan Matematika – FMIPA UNRI

Page 30: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 30/44

Pemograman C   3"

Contoh aplikasi )rray untuk menghitung in5ers suatu matriks dengan ukuran m : n denganmetode Xauss&4ordan <

Jurusan Matematika – FMIPA UNRI

Page 31: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 31/44

Pemograman C   31

3. A''AI M><T8(&8ME7S8)rray multi&dimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasianarray sama sa!a dengan array dimensi satu maupun array dimensi dua. Bentuk umumnya yaitu <

tipearray namaarraySukuran1TSukuranT_Sukuran/TAContoh <loat 0STSDTS8TA

Jurusan Matematika – FMIPA UNRI

Page 32: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 32/44

Pemograman C   32

<AT8;A7 @1. Buatlah sebuah program untuk menginput3 menghitung dan mencetak perkalian matriks 8 : 8. )pa yang tercetak dari program berikut ini <

=include Ystdio.hZ=deine ', 1$int 2hat's#his(int ST3 int+A5oid main(+ @int total3 aS',T O @13 3 83 D3 3 63 73 Q3 93 1$Atotal O 2hat's#his(a3 ',+A print(]Gn/ilai 5ariabel total adalah d]3 total+Aint 2hat's#his(int bST3 int sie+ @i (sie OO 1+return bS$TAelsereturn bSsie&1T ; 2hat's#his(b3 sie&1+A

Jurusan Matematika – FMIPA UNRI

Page 33: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 33/44

Pemograman C   33

ungsi1. "E7E'T8A7 >7S8Vungsi merupakan suatu bagian dari program yang dimaksudkan untuk menger!akan suatu tugastertentu dan letaknya terpisah dari program yang memanggilnya. Vungsi merupakan elemen utama

dalam bahasa C karena bahasa C sendiri terbentuk dari kumpulan ungsi&ungsi. %alam setiap program bahasa C3 minimal terdapat satu ungsi yaitu ungsi main(+. Vungsi banyak diterapkan dalam program& program C yang terstruktur. "euntungan penggunaan ungsi dalam program yaitu program akanmemiliki struktur yang !elas (mempunyai readability yang tinggi+ dan !uga akan menghindari penulisan bagian program yang sama. %alam bahasa C ungsi dapat dibagi men!adi dua3 yaitu ungsi pustaka atauungsi yang telah tersedia dalam #urbo C dan ungsi yang dideinisikan atau dibuat oleh programmer.

2. BEBE'A"A >7S8 ">STAKA &A<AM BA;ASA C  ungsi :%erasi String tersim%an dalam header ile string.h,/

str#%4/

Berungsi untuk menyalin suatu string asal ke 5ariable string tu!uan.

Bentuk umum < strcpy(5artu!uan3 stringasal+A

strlen/

 berungsi untuk memperoleh !umlah karakter dari suatu string.

Bentuk umum < strlen(string+

str#at/

%igunakan untuk menambahkan string sumber ke bagian akhir dari string tu!uan.

Bentuk umum < strcat(tu!uan3 sumber+Astru%r/

%igunakan untuk mengubah setiap huru dari suatu string men!adi huru capital.

Bentuk umum < strupr(string+Astrl=r/

%igunakan untuk mengubah setiap huru dari suatu string men!adi huru kecil semua.

Bentuk umum < strl2r(string+A

Jurusan Matematika – FMIPA UNRI

Page 34: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 34/44

Pemograman C   34

Contoh Program

str#m%/ %igunakan untuk membandingkan dua buah string.

asil dari ungsi ini bertipe integer dengan nilai <(a+ /egati5e3 !ika string pertama kurang dari string kedua.(b+ /ol3 !ika string pertama sama dengan string kedua(c+ Positi3 !ika string pertama lebih besar dari string kedua.

Bentuk umum < strcmp(string13 string+.

Contoh Program <

  ungsi :%erasi Karakter tersim%an dalam header #t4%e.h,/

islo=er/

Vungsi akan menghasilkan nilai benar (bukan nol+ !ika karakter merupakan huru kecil.

 Bentuk umum < islo2er(char+A

isu%%er/ Vungsi akan menghasilkan nilai benar (bukan nol+ !ika karakter merupakan huru kapital.

Bentuk umum < isupper(char+A

Jurusan Matematika – FMIPA UNRI

Page 35: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 35/44

Pemograman C   35

isdigit/

Vungsi akan menghasilkan nilai benar (bukan nol+ !ika karakter merupakan sebuah digit.

Bentuk umum < isdigit(char+A

tolo=er/

Vungsi akan mengubah huru capital men!adi huru kecil.

Bentuk umum < tolo2er(char+A

tou%%er/

Vungsi akan mengubah huru kecil men!adi huru kapital.

Bentuk umum < toupper(char+A

Contoh Program

ungsi :%erasi Matematik tersim%an dalam header math.h, dan stdlib.h,/

sLrt/

%igunakan untuk menghitung akar dari sebuah bilangan. Bentuk umum < s-rt(bilangan+A

%o=/

%igunakan untuk menghitung pemangkatan suatu bilangan.

Bentuk umum < po2(bilangan3 pangkat+A

Contoh Program

Jurusan Matematika – FMIPA UNRI

Page 36: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 36/44

Pemograman C   36

sin/$ #os/$ tan/

Masing&masing digunakan untuk menghitung nilai sinus3 cosinus dan tangens dari suatu sudut.

Bentuk umum <sin(sudut+Acos(sudut+Atan(sudut+A

Contoh Program

ato/

%igunakan untuk mengkon5ersi nilai string men!adi bilangan bertipe double.

Bentuk umum < ato(char :+A

atoi/

%igunakan untuk mengkon5ersi nilai string men!adi bilangan bertipe integer.

Bentuk umum < atoi(char :+AContoh Program <

Jurusan Matematika – FMIPA UNRI

Page 37: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 37/44

Pemograman C   37

di-/

%igunakan untuk menghitung hasil pembagian dan sisa pembagian.

Bentuk umum < di-t di-int J$ int 4/

trukturnya <

typede struct@ int -outA hasil pembagian  int rem sisa pembagian di5tA

Contoh Program <

maJ/

%igunakan untuk menentukan nilai maksimal dari dua buah bilangan.

Bentuk umum < ma:(bilangan13 bilangan+A

min/ %igunakan untuk menentukan bilangan terkecil dari dua buah bilangan.

Bentuk umum < min(bilangan13 bilangan+A

Contoh Program

Jurusan Matematika – FMIPA UNRI

Page 38: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 38/44

Pemograman C   3

3. MEMB>AT >7S8 SE7&8'8&eklarasi ungsi

ebelum digunakan (dipanggil+3 suatu ungsi harus dideklarasikan dan dideinisikan terlebih dahulu.Bentuk umum pendeklarasian ungsi adalah <

tipeungsi namaungsi(parameterungsi+Aedangkan bentuk umum pendeinisian ungsi adalah <#ipeungsi namaungsi(parameterungsi+@ statementstatement___...___...

;al(hal 4ang %erlu di%erhatikan dalam %enggunaan ungsi @

"alau tipe ungsi tidak disebutkan3 maka akan dianggap sebagai ungis dengan nilai keluaran bertipe integer.

ntuk ungsi yang memiliki keluaran bertipe bukan integer3 maka diperlukan pendeinisian penentu tipe ungsi.

ntuk ungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam tipe 5oidPernyataan yang diberikan untuk memberikan nilai akhir ungsi berupa pernyataan return.

uatu ungsi dapat menghasilkan nilai balik bagi ungsi pemanggilnya.

Contoh Program !

Jurusan Matematika – FMIPA UNRI

Page 39: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 39/44

Pemograman C   3!

"arameter ormal dan "arameter Aktual

"arameter ormal adalah 5ariabel yang ada pada datar parameter dalam deinisi ungsi.

"arameter Aktual adalah 5ariabel (parameter+ yang dipakai dalam pemanggilan ungsi.

%alam contoh program pertambahan di atas parameter ormal terdapat pada pendeinisisan ungsi <

loat tambah(loat :3 loat y+ parameter ormal

Jurusan Matematika – FMIPA UNRI

Page 40: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 40/44

Pemograman C   4"

Cara Mele=atkan "arameter

Cara mele2atkan suatu parameter dalam Bahasa C ada dua cara yaitu <Pemanggilan ecara /ilai (Call by &alue+

Call by 5alue akan menyalin nilai dari parameter aktual ke parameter ormal.

Iang dikirimkan ke ungsi adalah nilai dari datanya3 bukan alamat memori letak dari datanya.

 Vungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinyayang digunakan oleh bagian program yang memanggil ungsi.

Perubahan nilai di ungsi (parameter ormal+ tidak akan merubah nilai asli di bagian programyang memanggilnya.

Pengiriman parameter secara nilai adalah pengiriman searah3 yaitu dari bagian program yangmemanggil ungsi ke ungsi yang dipanggil.

Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan3 tidak hanya untuk sebuah5ariabel3 elemen array atau konstanta sa!a.

Contoh Program

Pemanggilan ecara Reerensi (Call by 'eference+ Pemanggilan secara Reerensi merupakan upaya untuk mele2atkan alamat dari suatu 5ariabel

ke dalam ungsi.

Iang dikirimkan ke ungsi adalah alamat letak dari nilai datanya3 bukan nilai datanya.

Vungsi yang menerima kiriman alamat ini makan menggunakan alamat yang sama untukmendapatkan nilai datanya.

Perubahan nilai di ungsi akan merubah nilai asli di bagian program yang memanggil ungsi.

Pengiriman parameter secara reerensi adalah pengiriman dua arah3 yaitu dari ungsi pemanggil ke ungsi yang dipanggil dan !uga sebaliknya.

Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan.

Jurusan Matematika – FMIPA UNRI

Page 41: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 41/44

Pemograman C   41

"enggolongan 6ariabel berdasarkan Kelas "en4im%anan Storage Class/

Hariabel lokalHariabel lokal adalah 5ariabel yang dideklarasikan di dalam ungsi.iat&siat 5ariabel lokal <

ecara otomatis akan diciptakan ketika ungsi dipanggil dan akan lenyap ketika proseseksekusi terhadap ungsi berakhir.

anya dikenal oleh ungsi tempat 5ariabel dideklarasikan

#idak ada inisialisasi secara otomatis (saat 5ariabel diciptakan nilainya random+.

 %ideklarasikan dengan menambahkan kata >auto? (opsional+.Hariabel global (eksternal+Hariabel global (eksternal+ adalah 5ariabel yang dideklarasikan di luar ungsi.iat&siat 5ariabel global <

%ikenal (dapat diakses+ oleh semua ungsi.

4ika tidak diberi nilai a2al secara otomatis berisi nilai nol.

%ideklarasikan dengan menambahkan kata >eJtern? (opsional+.Contoh Program

Jurusan Matematika – FMIPA UNRI

Page 42: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 42/44

Pemograman C   42

6ariabel Statis

Hariabel statis adalah 5ariabel yang nilainya tetap dan bisa berupa 5ariabel lokal(internal+ dan 5ariabel global (eksternal+.iat&siat 5ariabel statis <

4ika bersiat internal (lokal+3 maka 5ariabel hanya dikenal oleh ungsi tempat 5ariabeldideklarasikan.

4ika bersiat eksternal (global+3 maka 5ariabel dapat dipergunakan oleh semua ungsi yangterletak pada program yang sama.

 /ilai 5ariabel statis tidak akan hilang 2alau eksekusi terhadap ungsi telah berakhir.

'nisialisasi hanya perlu dilakukan sekali sa!a3 yaitu pada saat ungsi dipanggil pertama kali.

4ika tidak diberi nilai a2al secara otomatis berisi nilai nol.

%ideklarasikan dengan menambahkan kata >stati#?.

6ariabel 'egister

Hariabel Register adalah 5ariabel yang nilainya disimpan dalam resister dan bukandalam memori R)M.iat&siat 5ariabel register <

anya dapat diterapkan pada 5ariabel lokal yang bertipe int dan char.

%igunakan untuk mengendalikan proses Pengulangan (looping+. Proses Pengulangan akan lebih cepat karena 5ariabel register memiliki kecepatan yang lebih

tinggi dibandingkan 5ariabel biasa.

%ideklarasikan dengan menambahkan kata >register?.

Contoh Program

ungsi 'ekursi 

Vungsi rekursi adalah ungsi yang memanggil dirinya sendiri.Contoh Program <

Jurusan Matematika – FMIPA UNRI

Page 43: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 43/44

Pemograman C   43

<AT8;A7 @1. Buat ungsi untuk menentukan apakah suatu bilangan bulat bersiat gan!il atau genap. 4ika

genap maka ungsi menghasilkan nilai 13 dan $ untuk selainnya.. Buatlah ungsi men!umlahkan bilangan 13383 _..3 n secara rekursi.8. Buatlah Program untuk menghitung !arak maksimum (:ma:+ dan ketinggian maksimum

(hma:+ dari sebuah peluru yang ditembakkan dengan sudut ele5asi ). )nggap g O 1$ ms(Xunakan ungsi sin(+ dan cos(+ +.

Jurusan Matematika – FMIPA UNRI

Page 44: Modul Bahasa C Final

7/21/2019 Modul Bahasa C Final

http://slidepdf.com/reader/full/modul-bahasa-c-final 44/44

Pemograman C   44

Jurusan MatematikaM8"A N >7'8

#am$us %ina &i'(a #m) 12)5 *im$ang %aru Panam – Pekan+aru,e-$) ."761/ 7"711! Fa0) ."761/ 63273

Pengantar :Pemograman CKode@ MM112)