01-pendahuluan-p

17
  1 Bab 1 Bentuk Program C dan Cara Menjalankannya 1.1 Tahapan Pemrograman Bahasa C Pemrosesan program C umumnya melalui lima tahapan, yaitu edit ,  preprocess/compile, link , load , dan execute. Setiap tahap dilakukan satu per satu (bila menggunakan UNIX), atau ada beberapa tahap yang dapat digabungkan (misalnya menggunakan DevC++ dimana empat tahap terakhir dapat dilakukan dalam satu waktu sekaligus). Berikut adalah  penjelasan dari setiap tahapan: 1. Tahap edit adalah proses penulisan program dengan menggunakan program editor dan kemudian disimpan ke dalam penyimpanan sekunder, misalnya disk. File  program C diberi nama dengan menambahkan ekstensi .c. 2. Tahap selanjutnya adalah mengkompilasi program, dimana kompilator akan menerjemahkan program C yang telah ditulis ke dalam kode bahasa mesin (sering disebut object code = .obj). 3. Proses link dilakukan untuk mengkombinasikan kode obyek (obj) dengan pustaka C yang tersedia agar menghasilkan file program lengkap yang dapat dieksekusi oleh komputer. File yang d ihasilkan mempunyai ekstensi .exe. 4. Tahap selanjutnya adalah memanggil file program hasil langkah (3) ke dalam memori untuk dapat dijalankan oleh komputer. 5. Tahap terakhir adalah menjalankan program tersebut. 1.2 Struktur Program C Struktur dari program C dapat digambarkan sebagai kumpulan dari satu atau lebih fungsi- fungsi. Fungsi utama dan yang memang harus senantiasa ada dalam sebuah program C adalah fungsi main (namanya harus main). Isi atau sintaks code dari C sendiri dibuka dengan tanda { (kurung kurawal pembuka) dan diakhiri tanda } (kurun g kurawal  penutup). Setiap statement diakhiri oleh titik koma ;. mai n () { St at emen t ; } Fungsi _f ungsi _l ai n( ) { St at emen t ; } Berikut contoh sederhana sebuah program C. /* ProgramC sederhana */

Upload: ahmad-zaky-nugraha

Post on 07-Jul-2015

30 views

Category:

Documents


0 download

TRANSCRIPT

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 1/17

1

Bab 1

Bentuk Program C dan Cara Menjalankannya 

1.1 Tahapan Pemrograman Bahasa C

Pemrosesan program C umumnya melalui lima tahapan, yaitu edit ,  preprocess/compile,

link , load , dan execute. Setiap tahap dilakukan satu per satu (bila menggunakan UNIX),atau ada beberapa tahap yang dapat digabungkan (misalnya menggunakan DevC++

dimana empat tahap terakhir dapat dilakukan dalam satu waktu sekaligus). Berikut adalahpenjelasan dari setiap tahapan:

1.  Tahap edit adalah proses penulisan program dengan menggunakan program editor

dan kemudian disimpan ke dalam penyimpanan sekunder, misalnya disk. Fileprogram C diberi nama dengan menambahkan ekstensi .c.

2.  Tahap selanjutnya adalah mengkompilasi program, dimana kompilator akan

menerjemahkan program C yang telah ditulis ke dalam kode bahasa mesin (seringdisebut object code = .obj).

3.  Proses link dilakukan untuk mengkombinasikan kode obyek (obj) dengan pustaka

C yang tersedia agar menghasilkan file program lengkap yang dapat dieksekusioleh komputer. File yang dihasilkan mempunyai ekstensi .exe.

4.  Tahap selanjutnya adalah memanggil file program hasil langkah (3) ke dalammemori untuk dapat dijalankan oleh komputer.

5.  Tahap terakhir adalah menjalankan program tersebut.

1.2 Struktur Program C

Struktur dari program C dapat digambarkan sebagai kumpulan dari satu atau lebih fungsi-fungsi. Fungsi utama dan yang memang harus senantiasa ada dalam sebuah program C

adalah fungsi main (namanya harus main). Isi atau sintaks code dari C sendiri dibukadengan tanda { (kurung kurawal pembuka) dan diakhiri tanda } (kurung kurawal

penutup). Setiap statement diakhiri oleh titik koma ;.

main ()

{

Statement;

}

Fungsi_fungsi_lain(){

Statement;

}

Berikut contoh sederhana sebuah program C.

/* Program C sederhana */

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 2/17

2

#include <stdio.h>

main()

{

printf(“Assalamu’alaikum Ilkomerz”);

}

Penjelasan singkat program:

/* Program C sederhana */

Diawali /* dan diakhiri */, untuk menuliskan komentar, yaitu bagian code yang tidak akan dieksekusi. Biasanya digunakan untuk menambahkan keterangan pada source

code. Setiap program C harus mengandung sedikitnya sebuah fungsi, yang disebut dengan main(). Pernyataan pertama yang dieksekusi oleh program adalah main().

Pada program ini digunakan sebuah fungsi standar pada C yaitu printf,

merupakan fungsi untuk mencetak teks kepada layar. Karena pustaka fungsi yang

menyimpan fungsi printf tersebut pada stdio.h maka kita harus memasukkanlibrary tersebut ke dalam program dengan sintaks berikut

#include <stdio.h>

Sedangkan statement dari program itu sendiriprintf(“Assalamu’alaikum Ilkomerz”);

memiliki makna cetakan teks ”Assalamu’alaikum Ilkomerz” pada layar.

1.3 Lingkungan Kerja DevC++

Untuk menulis program, pertama harus disiapkan sebuah layar editor dari layar utama.Untuk menampilkan sebuah layar editor, langkah-langkahnya adalah sebagai berikut:

1.  Tekan menu File New Source File seperti pada Gambar 12.  Selanjutnya akan muncul layar editor seperti pada Gambar 2

Setelah layar editor tampil, coba ketikkan potongan program di atas seperti pada Gambar3. Langkah-langkah untuk proses selanjutnya adalah sebagai berikut:

1.  Untuk melakukan kompilasi, pilih menu Execute Compile. Jika diminta untuk menyimpan program, ketikkan nama file program tersebut dengan nama

latihan1.c, kemudian simpan ke folder yang diinginkan.2.  Jika tidak terdapat kesalahan pada program, akan tampil sebuah kotak dialog yang

menyatakan bahwa program telah selesai dikompilasi dan memiliki 0 Error dan 0Warning seperti terlihat pada Gambar 4.

3.  Untuk menjalankan program setelah kompilasi, pilih menu Execute Run.Seringkali layar output tidak dapat terlihat karena tampil sangat cepat. Untuk 

melihat layar output, tambahkan perintah system(“pause”); atau getch(); sepertipada Gambar 5, sehingga layar output akan tampil seperti pada Gambar 6.

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 3/17

3

 Gambar 1. Membuka layar editor baru

Gambar 2. Layar editor baru dengan nama Untitled 1

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 4/17

4

 Gambar 3. Menulis program pada editor

Gambar 4. Kotak dialog Compile Progress

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 5/17

5

 Gambar 5. Perintah getch( ) dan system(“pause”)

Gambar 6. Tampilan layar output

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 6/17

6

1.4 Pemecahan masalah sederhana menggunakan Algoritme dan implementasinya

dalam program

Untuk membuat sebuah program yang baik, terlebih dahulu sangat dianjurkan untuk membuat sebuah algoritme Algoritme adalah langkah-langkah yang disusun secara

berstruktur dan terurut untuk menjawab suatu persoalan dengan menggunakan bahasa

manusia. Secara umum tahapan algoritme terdiri dari input, proses, dan output. Inputdapat berupa masukan dari user, proses adalah operasi-operasi yang dilakukan untuk mendapatkan hasil, sedangkan output adalah hasil operasi yang umumnya

ditampilkan pada layar monitor. Berikut adalah langkah-langkah penyelesaianmasalah sederhana dengan menggunakan algoritme dan implementasinya dalam

program.

 Masalah :Menjumlahkan dua bilangan yang diberikan pengguna dan menampilkan hasilnya

pada layar monitor.

 Analisis Masalah :Secara sederhana, permasalahan ini sebenarnya adalah menjumlahkan dua bilangan,

misalnya a dan b menggunakan operator penjumlahan +, dan meletakkan hasilnyapada c menggunakan =. Secara matematis dituliskan c = a + b.

Algoritme untuk permasalahan ini dapat dituliskan sebagai berikut:1.  Baca bilangan pertama dan simpan dalam variabel a.

2.  Baca bilangan kedua dan simpan dalam variabel b.3.  Lakukan operasi penjumlahan menggunakan + dan simpan hasilnya

menggunakan = pada variabel c: c = a + b4.  Tampilkan c pada layar monitor.

 Implementasi Masalah :Pada algortime diatas, dibutuhkan beberapa hal sebagai berikut:1.  Variabel a, b, c.

2.  Operator + dan =.3.  Fungsi untuk membaca masukan yang diberikan, dan fungsi untuk menulis

atau menampilkan hasil pada layar.

Fungsi untuk menulis pada layar adalah fungsi printf, sedangkan fungsi untuk membaca masukan adalah scanf. Printf dan scanf berada pada library yang sama,

yaitu stdio.h. Implementasi programnya seperti terlihat pada Gambar 7.

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 7/17

7

 Gambar 7. Program menjumlahkan dua bilangan bulat

Komponen-komponen program pada Gambar 7 tersebut dapat dijelaskan sebagai

berikut:

/*Program menjumlahkan dua bilangan bulat*/

#include <stdio.h>

main()

{

int a, b, c;

scanf("%d",&a);

scanf("%d",&b);

c=a+b;

printf("%d",c);

}

1.5 Menulis dan Membaca

Fungsi standard yang sering digunakan di dalam program C untuk menuliskan nilai

ke layar dan membaca nilai dari papan ketik adalah printf dan scanf . Kedua fungsiini dapat dilihat penggunaannya sebagai berikut:

printf("\nKetikkan dua bilangan bulat : ");

printf("\nHasilnya adalah : %d", x);

scanf("%d %d", &Nilai1, &Nilai2);

Fungsi printf yang pertama mempunyai satu argumen, yang bertujuan untuk 

menuliskan suatu string kalimat 'Ketikkan dua bilangan bulat :' di layar. Kalimat inidiawali dengan karakter '\n' yang berarti bahwa kursor terlebih dahulu dipindahkan ke

baris baru sebelum menuliskan kalimat tersebut. Sedangkan fungsi printf yang keduamempunyai dua argumen, dimana argumen pertama adalah string kalimat yang akan

ditulis ke layar, dan argumen kedua adalah nilai suatu variabel yang akan ditulis (x).Nilai x ini ditulis dengan menggunakan notasi desimal (karakter '%d' pada argumen

pertama). Fungsi kedua adalah scanf yang digunakan untuk membaca nilai suatuvariabel yang diketikkan dari papan ketik saat program diproses. Pada contoh ini,

Komentar

Library yang digunakan

scanf untuk membaca masukan dari pengguna

(input program)

Nama fungsi

printf untuk menampilkan ke layar monitor

(output

Operasi penjumlahan (proses)

Deklarasi variabel

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 8/17

8

nilai yang dibaca terdiri dari dua buah dan masing-masing akan dimasukkan ke dalamvariabel Nilai1 dan Nilai2. Karakter '%d' menunjukkan bahwa nilai yang diketik 

harus dalam notasi desimal, sedangkan karakter '&' menunjukkan bahwa argumenfungsi scanf berupa reference variable (akan dibahas pada bab selanjutnya).

1.6 Debugging

Untuk melakukan eksekusi program, kita dapat langsung menjalankan compile

and run. Jika tidak terdapat kesalahan sintaks, maka program dapat dijalankan. Meskipundemikian, program yang sudah terbebas dari kesalahan sintaks tidak berarti benar secara

logik. Artinya, program yang berhasil di compile belum tentu menghasilkan output yangdiharapkan. Jika hal ini terjadi, maka mungkin program mengalami kesalahan logik.

Untuk dapat mengetahui dibagian mana dari program kesalahan tersebut terjadi, makakita harus menelusuri program dan memperhatikan setiap perubahan variabel yang terjadi

pada setiap baris yang dieksekusi. Proses penelusuran ini dikenal dengan istilahdebugging.

Pada DevC++, untuk memulai debugging, langkah-langkah yang perlu dilakukanadalah sebagai berikut:

1.  Tempatkan breakpoints pada awal baris yang akan dieksekusi. Untuk 

menempatkan breakpoints, pertama pilih baris tempat breakpoints tersebutakan diletakkan. Klik kanan pada baris tersebut, kemudian pilih Toggle

Breakpoints (shortcut : Ctrl+F5) seperti pada Gambar 8.

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 9/17

9

Gambar 8. Memilih baris untuk menempatkan Breakpoints

Setelah Breakpoints diletakkan, pada tab Debug, tekan tombol Debugseperti terlihat pada Gambar 9.

Gambar 9. Tombol Debug pada tab Debug

2.  Setelah tombol Debug ditekan, maka program akan memasuki proses

debugging ditandai dengan baris biru pada baris yang akan dieksekusiberikutnya. Tahap ini terlihat pada Gambar 10.

Gambar 10. Line biru penanda baris yang akan dieksekusi berikutnya

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 10/17

10

3.  Tampilkan perubahan variabel untuk setiap baris yang dieksekusi. Untuk menampilkan perubahan variabel, daftarkan variabel yang akan dilihat

perubahannya dengan menekan tombol Add Watch. Pada kotak dialogAddWatch, masukkan nama variabel yang akan dilihat, lalu tekan enter.

Setelah semua variabel dimasukkan, maka jendela AddWatch akan

tampak seperti Gambar 11.

Gambar 11. Jendela Debug berisi nilai variabel saat ini

4.  Jalankan per baris. Setelah semua variabel masuk ke dalam jendela Debug,

lakukan debug baris perbaris dengan menekan tombol NextStep. Setiaptombol NextStep ditekan, maka line biru akan bergerak untuk 

mengeksekusi baris per baris, dan setiap perubahan variabel yang

disebabkan oleh eksekusi tersebut akan terlihat pada jendela Debug.Perubahan variabel diakhir proses debug terlihat pada Gambar 12.

Gambar 12. Nilai variabel diakhir proses debug

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 11/17

11

BAB 1

Lembar Kerja Praktikum

Nama : Tanggal Praktikum :

NRP : Waktu Praktikum :Nilai : Nama Asisten :

Penjelasan Asisten (30 menit)Asisten akan menjelaskan dan membimbing peserta praktikum untuk mengenal

lingkungan kerja DevC++, memahami komponen-komponen program, dan melakukandebugging.

Lembar Kerja Bagian I (45 menit)

Tuliskan program-program berikut, simpan nama file sesuai dengan nama yang

sudah ditentukan pada folder (nama folder sesuaikan dengan NRP), kemudian jawablahpertanyaan singkat terkait dengan program tersebut pada tempat yang telah disediakan.

Program 1

Nama Program: hello1.c

#include <stdio.h>

main()

{

printf(“Raisha”);

printf("Hello");

printf(“Apa Kabar?”);}

Apakah Anda berhasil menjalankan program tersebut? Jika tidak berhasil, apa yang

menjadi penyebabnya?Jawab:

________________________________________________________________________________________________________________________________________________

________________________________________________________________________________________________________________________________________________

Program 2

Nama Program: hello2.c

#include <stdio.h>

main()

{

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 12/17

12

printf(“Raisha”);

printf("Hello\n");

printf(“Apa Kabar?”);

}

Apa yang menyebabkan adanya perbedaan pada output hello2.c dengan hello1.c? Apakegunaan \n pada hello2.c?

Jawab:

________________________________________________________________________________________________________________________________________________

________________________________________________________________________________________________________________________________________________

Program 3Nama Program: hello3.c

#include <stdio.h>

main()

{

printf(“Raisha”);

printf("\nHello");

printf(“Apa Kabar?”);

}

Apa perbedaan hello2.c dengan hello3.c? Apa kesimpulan Anda terhadap posisi \n?

Jawab:________________________________________________________________________

________________________________________________________________________________________________________________________________________________

________________________________________________________________________

Program 4

Nama Program: cetak1.c

#include <stdio.h>

main()

{

printf("Programku yang pertama");

printf("Aku harus banyak berlatih.");

printf("Tidak ada yang tidak bisa,");

printf("yang ada adalah seberapa besar");

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 13/17

13

printf("aku berusaha.");

printf("Agustus");

printf("2008");

printf("17");

printf("07:00:30");

}

Program 5

Nama Program: cetak2.c

#include <stdio.h>

main()

{

printf("Programku yang pertama"); printf("Aku harus banyak berlatih."); printf("Tida

ada yang tidak bisa,");printf("yang ada adalah seberapa besar");printf("aku

berusaha.");printf("Agustus");printf("2008");printf("17");printf("07:00:30");

}

Adakah perbedaan pada output cetak1.c dengan cetak2.c? Apa kesimpulan Anda?

Jawab:________________________________________________________________________

________________________________________________________________________________________________________________________________________________

________________________________________________________________________

Program 6Nama Program: jumlah1.c

#include <stdio.h>

main()

{

int a, b, c;

scanf("%d",&a);

scanf("%d",&b);

c=a+b;

printf("%d",c);

getch();

}

Setelah program jumlah1.c dijalankan, akan muncul layar hitam. Pada layar hitamtersebut, ketikkan bilangan 3, kemudian tekan Enter, lalu ketikkan bilangan 5, kemudian

tekan Enter. Setelah itu pada layar akan muncul bilangan 8. Dari tahapan diatas, apa yangdapat anda simpulkan mengenai hubungan antara penekanan enter dan fungsi scanf?

Jawab:________________________________________________________________________

________________________________________________________________________

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 14/17

14

________________________________________________________________________________________________________________________________________________

Program 7

Nama Program: jumlah2.c

#include <stdio.h>

main()

{

int a, b, c;

printf(“Bilangan 1:”); //printf 1

scanf("%d",&a);

printf(“Bilangan 2:”); //printf 2

scanf("%d",&b);

c=a+b;

printf(“Hasilnya:”); //printf 3

printf("%d",c); //printf 4getch();

}

Lakukan modifikasi seperti pada Program 7 pada jumlah1.c dan simpan hasilnya pada

  jumlah2.c. Pada jumlah2.c terdapat perbedaan sintaks pada fungsi printf 1,2,3, denganfungsi printf 4. Jelaskan perbedaan tersebut.

Jawab:________________________________________________________________________

________________________________________________________________________________________________________________________________________________

________________________________________________________________________

Program 8

Nama Program: jumlah3.c

#include <stdio.h>

main()

{

int a, b, c;

printf(“Bilangan 1:”); //printf 1

scanf("%d",&a);

printf(“Bilangan 2:”); //printf 2

scanf("%d",&b);c=a+b;

printf(“Hasilnya:%d”,c); //printf 3

getch();

}

Lakukan modifikasi seperti pada Program 8 pada jumlah2.c dan simpan hasilnya pada  jumlah3.c. Adakah perbedaan tampilan pada layar monitor antara jumlah2.c dan

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 15/17

15

 jumlah3.c? Apa kesimpulan Anda mengenai fungsi printf 3 dan 4 pada jumlah2.c denganfungsi printf 3 pada jumlah3.c?

Jawab:________________________________________________________________________

________________________________________________________________________

________________________________________________________________________________________________________________________________________________

Program 9

Nama Program: jumlah4.c

#include <stdio.h>

main()

{

int a, b, c;

printf(“Bilangan 1 dan 2:”);

scanf("%d %d", &a, &b);

c=a+b;printf(“Hasilnya:%d”,c);

getch();

}

Lakukan modifikasi seperti pada Program 9 pada jumlah3.c dan simpan hasilnya pada

 jumlah4.c. Apa kesimpulan Anda mengenai fungsi scanf pada jumlah4.c?Jawab:

________________________________________________________________________________________________________________________________________________

________________________________________________________________________

________________________________________________________________________

Lembar Kerja Bagian II (45 menit)Buatlah program sesuai dengan instruksi yang diberikan simpan nama file sesuai dengan

yang tertera pada soal di dalam folder NRP Anda, dan tuliskan program pada tempatyang tersedia di bawah.

Tugas 1

Nama Program: tugas1.c

Ketentuan: Setiap satu kalimat harus berada dalam satu fungsi printf, dan setiap

printf harus berada pada awal baris baru dalam programMasukan/Input: (tidak ada)

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 16/17

16

Keluaran/Output:Programku yang pertama.

Aku harus banyak berlatih.

Tidak ada yang tidak bisa, yang ada adalah seberapa besar

aku berusaha.

Agustus 2008 1707:00:30 

Program:

#include <stdio.h>

main()

{

printf("Programku yang pertama");

printf("Aku harus banyak berlatih.");

printf("Tidak ada yang tidak bisa,");

printf("yang ada adalah seberapa besar");

printf("aku berusaha.");

printf("Agustus");printf("2008")

Tugas 2

Deskripsi Tugas:

Sebuah program yang dapat menampilkan hasil penjumlahan, pengurangan, danperkalian dari dua bilangan bulat yang dimasukkan oleh pengguna.

Nama Program: tugas2.c

Contoh Masukan/Input:

Bilangan 1:10

Bilangan 2:4 

Contoh Keluaran/Output:Hasil penjumlahan:14

Hasil pengurangan:6

Hasil perkalian:40

Program:

#include <stdio.h>

main()

{

printf("Programku yang pertama");

printf("Aku harus banyak berlatih.");

printf("Tidak ada yang tidak bisa,");

printf("yang ada adalah seberapa besar");

printf("aku berusaha.");

printf("Agustus");

printf("2008");

printf("17");

printf("07:00:30");

}

5/9/2018 01-pendahuluan-p - slidepdf.com

http://slidepdf.com/reader/full/01-pendahuluan-p 17/17

17