01-pendahuluan-p
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");
}