Laporan Praktikum 2 Pengenalan Bahasa C [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN PRAKTIKUM 2 PENGENALAN BAHASA C



Oleh Muhammad Rizieq Kaifan NIM



: 1957301069



Kelas



: TI 1 C



Program Studi



: Teknik Informatika



No.Praktikum



: 02/ /TI/2019



Dosen Pembimbing



: Hendrawaty ST.,MT.



KEMENTERIAN RISET, TEKNOLOGI DAN PERGURUAN TINGGI POLITEKNIK NEGERI LHOKSEUMAWE TAHUN AJARAN 2019



LEMBAR PENILAIAN Nomor Praktikum



: 02 /TI/1C/2019



Nama Praktium



: Praktikum Pengenalan Bahasa C



Judul Praktikum



: Pengenalan Bahasa C



Tanggal Praktikum



: 25 September 2019



Tanggal Penyerahan Laporan



:



Nama Praktikan



: Muhammad Rizieq Kaifan



NIM / Kelas



: 1957301069 / TI 1.C



Nilai



:



Keterangan



:



Buketrata, 25 September 2019 Dosen Pembimbing,



Hendrawaty ST.,MT Nip. 197002261998022001 ii



DAFTAR ISI Halaman Judul ................................................................................................................... I Lembar Penilaian ..............................................................................................................II Daftar Isi ......................................................................................................................... III Modul Praktikum ............................................................................................................. 1 Tugas Pendahuluan ........................................................................................................... 6 Hasil Percobaan .............................................................................................................. 10 Analisis Hasil Percobaan ................................................................................................ 24 Kesimpulan ..................................................................................................................... 25 Laporan Sementara ......................................................................................................... 26



iii



Praktikum 2



PENGENALAN BAHASA C



A. TUJUAN 1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C 2. Mampu membuat flowchart untuk algoritma untuk memecahkan suatu masalah sederhana, selanjutnya mengimplementasikannya dalam bahasa C



B. DASAR TEORI Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan pada komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX. Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi standar, ANSI (American National Standards Institute) membentuk suatu komite (ANSI committee X3Jll) pada tahun 1983 yang kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang diperluas.



Proses Kompilasi dan Linking Program C Proses dari bentuk source program, yaitu program yang ditulis dalam bahasa C hingga menjadi program yang executable ditunjukkan pada Gambar 1 di bawah ini.



1



EDITOR



EDITOR



FILE INCLUDE (FILE UDUL)



FILE PROGRAM SUMBER



xxx.h



yyy.c



KOMPILER



FILE PUSTAKA



FILE OBYEK



(library file)



FILE OBYEK LAIN



LINKER



FILE



Gambar 1 Proses Kompilasi-Linking dari program C Struktur Penulisan Program C Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri dengan tanda kurung kurawal tutup (}). Di antara kurung kurawal itu dapat dituliskan statemen-statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap ada. Sebab kurung kurawal mengisyaratkan awal dan akhir definisi fungsi. Berikut ini adalah struktur dari program C



2



main O { }



statemen-statemen;



fungsi_fungsi_lain O { statemen-statemen; }



fungsi utama



fungsi-fungsi lain yang ditulis oleh pemrogram



Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya (subroutine). Fungsifungsi yang ada selain fungsi utama (main()) merupakan program-program bagian. Fungsifungsi ini dapat ditulis setelah fungsi utama atau diletakkan di file pustaka (library). ika fungsi-fungsi diletakkan di file pustaka dan akan dipakai di suatu program, maka nama file judulnya (header file) harus dilibatkan dalam program yang menggunakannya dengan preprocessor directive berupa #include.



Pengenalan Fungsi-Fungsi Dasar a. Fungsimain() Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program, sedangkan tanda } di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus adalah akhir eksekusi program. ika program terdiri atas lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi. Hal ini hanya merupakan kebiasaan. Tujuannya untuk memudahkan pencarian terhadap program utama bagi pemrogram. adi bukanlah merupakan suatu keharusan.



b. Fungsi print/(). Fungsi printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan Selamat belajar bahasa C misalnya, pernyataan yang diperlukan berupa: printf("Selamat belajar bahasa C");



3



Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen atau parameter berupa string. Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik- ganda ("). Perlu juga diketahui pernyataan dalam C selalu diakhiri dengan tanda titik koma (;). Tanda titik koma dipakai sebagai tanda pemberhentian sebuah pernyataan dan bukanlah sebagai pemisah antara dua pernyataan. Tanda \ pada string yang dilewatkan sebagai argumen printf() mempunyai makna yang khusus. Tanda ini bisa digunakan untuk menyatakan karakter khusus seperti karakter baris-baru ataupun karakter backslash (miring kiri). adi karakter seperti \n sebenarnya menyatakan sebuah karakter. Contoh karakter yang ditulis dengan diawali tanda \ adalah: \"



menyatakan karakter petik-ganda



\\



menyatakan karakter backslash



\t



menyatakan karakter tab



Dalam bentuk yang lebih umum, format printf() printf("string kontrol", daftar argumen); dengan string kontrol dapat berupa satu atau sejumlah karakter yang akan ditampilkan ataupun berupa penentu format yang akan mengatur penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu format di antaranya berupa: %d



untuk menampilkan bilangan bulat (integer)



%f



untuk menampilkan bilangan titik-mengambang (pecahan)



%c



untuk menampilkan sebuah karakter



%s



untuk menampilkan sebuah string



Contoh: #include main( ) { printf("No %d\n", 10); printf("Nama %s\n", "Ali"); printf("Nilai %f\n",80.5); printf("Huruf %c\n",'A'); }



4



Pengenalan Praprosesor #include #include merupakan salah satu jenis pengarah praprosesor (preprocessor directive). Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi. Bentuk umum #include: #include "namafile" Bentuk pertama (#include ) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan bentuk kedua (#include "namafile") menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber dan seandainya tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi. Kebanyakan program melibatkan file stdio.h (file-judul I/O standard, yang disediakan dalam C). Program yang melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output) standar seperti printf().



Komentar dalam Program Untuk keperluan dokumentasi dengan maksud agar program mudah dipahami di suatu saat lain, biasanya pada program disertakan komentar atau keterangan mengenai program. Dalam C, suatu komentar ditulis dengan diawali dengan tanda /* dan diakhiri dengan tanda */. Contoh : /* Tanda ini adalah komentar untuk multiple lines */ #include main() { printf("Coba\n"); }



//Ini komentar satu baris



5



C. TUGAS PENDAHULUAN Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini : 1. Mencetak kalimat "Hello World!" dalam satu baris 2. Mencetak kalimat dalam beberapa baris, dengan tampilan sbb : Hello... ..oh my ...when do i stop? 1 ..2 ...3 3. Menghitung penjumlahan 1024 + 4096 dan mencetak hasilnya



4. Mengisi nilai 2 variabel int, menjumlahkan kedua isi variabel tersebut dan mencetak hasilnya



5. Mengisi nilai sebuah variabel float, mengalikan isi variabel tersebut dengan 50 dan mencetak hasilnya



6. Menampilkan nilai sebuah bilangan float dengan tanpa menentukan format tampilannya (default)



7. Menampilkan nilai sebuah bilangan float dengan format : lebar medan 10 digit dan 2 digit di belakang koma



8. Menerima masukan dengan format int dan char kemudian menampilkannya kembali dengan format yang sesuai



D. PERCOBAAN Implementasikan semua desain yang telah dibuat dalam tugas pendahuluan menggunakan bahasa pemrograman C



6



E. LAPORAN RESMI 1. Cetak listing program yang anda buat



2. Kerjakan soal-soal di bawah ini, dan sertakan jawaban Anda pada Laporan Resmi a. Berapakah nilai jawaban yang ditampilkan oleh program di bawah ini : main() { int jawab, hasil; jawab 100; hasil jawab - 10; printf("Jawabannya adalah %d\n", hasil + 6); }



b. Apakah keluaran dari potongan program di bawah ini main() { int value1, value2, sum; value1



35;



value2



18;



sum value1 + value2; printf("The sum of %d and %d is %d\n", value1,value2,sum); }



c. Program di bawah ini tidak berhasil di-compile karena masih terdapat beberapa kesalahan. Temukan paling sedikit 6 buah kesalahannya. Selanjutnya tampilkan keluaran, setelah program ini berhasil dijalankan. main () { INT jumlah; /* PERHITUNGAN HASIL jumlah 25 + 37 - 19; /* TAMPILKAN HASIL printf("Berapa hasil perhitungan 25 + 37 - 19 ?\n); printf("Jawabannya adalah %d\n" jumlah); } 7



d. Buatlah program yang menerima masukan dua buah bilangan. Tampilkan keluaran berupa jumlah, rata-rata dan kuadrat dari kedua bilangan yang dimasukkan.



e. Program di bawah ini seharusnya menampilkan keluaran satu baris sbb : c * c



25,000000



Namun, belum berhasil karena masih ada beberapa kesalahan.



Temukan



minimal 3 kesalahan dalam program tersebut. #include main () { float a, b, c; a b



3; 4.0;



c a * a + b * b printf("c * c %d", c); }



3. Berilah kesimpulan hasil praktikum.



8



HASIL PERCOBAAN Tuliskan desain algoritma dan flowchart untuk soal-soal di bawah ini : 1. Mencetak kalimat "Hello World!" dalam satu baris 2. Mencetak kalimat dalam beberapa baris, dengan tampilan sbb : Hello... ..oh my ...when do i stop? 1 ..2 ...3 3. Menghitung penjumlahan 1024 + 4096 dan mencetak hasilnya



4. Mengisi nilai 2 variabel int, menjumlahkan kedua isi variabel tersebut dan mencetak hasilnya



5. Mengisi nilai sebuah variabel float, mengalikan isi variabel tersebut dengan 50 dan mencetak hasilnya



6. Menampilkan nilai sebuah bilangan float dengan tanpa menentukan format tampilannya (default)



7. Menampilkan nilai sebuah bilangan float dengan format : lebar medan 10 digit dan 2 digit di belakang koma



8. Menerima masukan dengan format int dan char kemudian menampilkannya kembali dengan format yang sesuai



9



1. Cetak Listing Program Soal No 1 Algoritma 1. Buka Dev C++ 2. Masukkan printf(“Hello World”) 3. Cetak Hasil Flowchart



Start



printf(“Hello World”)



Cetak Hasil Has End



Program



OUTPUT



10



Soal No 2 Algoritma 1. 2. 3. 4. 5. 6. 7. 8. 9.



Mulai printf(“Hello…”); printf(“\n..oh my”); printf(“\n..when do I stop?”); printf(“\n1”); printf(“\n..2”); printf(“\n…3”); Cetak Hasil Selesai



Flowchart



Start



printf(“Hello…”)



printf(“\n.oh my”)



printf(“\n…when do I stop”)



printf(“\n1”)



printf(“\n..2”)



Printf\n…3”)



Cetak Hasil Has End



11



Program



OUTPUT



Soal No 3 Algoritma 1. 2. 3. 4.



Deklarasikan tipe data dan nama variabel Input nilai variabel Proses printf(“Hasil penjumlahan adalah %d”,bil+bil2) Cetak hasil



Flowchart Start



Int bil1,bil2



bil1=1024; bil2=4096;



Printf(“Hasil Penjumlahan=%d”,bil1 +bil2);



End



12



Program



OUTPUT



Soal No 4 Algoritma 1. 2. 3. 4.



Buka Dev C++ Mendeklarasikan variabel bil1, bil2, jumlah ke variabel integer Masukan variabel integer Cetak hasil dari masukkan bil1 dan bil 2



Flowchart



Start



Masukkan 2 variabel



Bil1 + bil2



Cetak Hasil Has End



13



Program



OUTPUT



Soal No 5 Algoritma 1. 2. 3. 4.



Buka Dev C++ Mendeklarasikan variabel bil, hasil_kali kevariabel float Masukkan Variabel bil (nilai) dan kalikan 50(*50) pada variabel hasil_kali Cetak hasil keluaran dari hasil_kali



Flowchart



Start



Masukkan 2 variabel



Bil1 + bil2



Cetak Hasil Has End



14



Program



OUTPUT



Soal No 6 Algoritma 1. 2. 3. 4.



Buka Dev C++ Masukkan Fungsi float untuk menentukan bilangan pecahan Tampilkan %f untuk outputnya 26.0 Cetak hasil keluaran



Flowchart



Start



26.0(%f)



End



15



Program



OUTPUT



Soal No 7 Algoritma 1. 2. 3. 4.



Buka Dev C++ Masukkan fungsi float untuk memntukan bilangan pecahan Tampilkan % 10.2f dan outputnya 26.0 Cetak hasil keluaran



Flowchart



Start



26.0(%10.2f)



End



16



Program



OUTPUT



Soal No 8 Algoritma 1. 2. 3. 4. 5.



Buka Dev C++ Mendeklarasikan variabel a ke variabel integer Mendeklarasikan variabel b ke variabel karakter Masukkan karakter dan nilai Cetak hasil dan masukkan a dan b



Flowchart



Start



a (int) b (char)



Karakter = a Nilai = B Cetak Hasil Has End



17



Program



18



2. Kerjakan soal-soal di bawah ini, dan sertakan jawaban Anda pada Laporan Resmi a. Berapakah nilai jawaban yang ditampilkan oleh program di bawah ini : #include main() { int jawab, hasil; jawab 100; hasil jawab - 10; printf("Jawabannya adalah %d\n", hasil + 6); } Jawabannya adalah 96, karena 100 – 10 = 90. Lalu 90 + 6 = 96



OUTPUT



b. Apakah keluaran dari potongan program di bawah ini #include main() { int value1, value2, sum; value1



35;



value2



18;



sum value1 + value2; printf("The sum of %d and %d is %d\n", value1,value2,sum); }



Keluarannya adalah : The sum of 35 and 18 is 53 19



OUTPUT



c. Program di bawah ini tidak berhasil di-compile karena masih terdapat beberapa kesalahan. Temukan paling sedikit 6 buah kesalahannya. Selanjutnya tampilkan keluaran, setelah program ini berhasil dijalankan. main () { INT jumlah; /* PERHITUNGAN HASIL jumlah 25 + 37 - 19; /* TAMPILKAN HASIL printf("Berapa hasil perhitungan 25 + 37 - 19 ?\n); printf("Jawabannya adalah %d\n" jumlah); } Kesalahannya adalah: Pada baris ke 3 INT seharusnya menggunakan tulisan kecil, yaitu int untuk deklarasi file integer Pada baris ke 4 komentar seharusnya diakhiri dengan tanda */ Pada baris ke 5 program tidak terbaca, karena dianggap sebagai komentar. Pada baris ke 6 komentar seharusnya diakhiri dengan tanda */ Pada baris ke 7 diakhir \n tidak terdapat tanda kutip 2 (“) Pada baris ke 8 kesalahannya adalah tidak terdapat tanda koma (,) sebelum jumlah



20



Program Yang Benar



OUTPUT



d. Buatlah program yang menerima masukan dua buah bilangan. Tampilkan keluaran berupa jumlah, rata-rata dan kuadrat dari kedua bilangan yang dimasukkan. Jawaban #include main() { float a,b,jumlah,rata,kuadrat; printf("Masukkan 2 buah bilangan = \n\n"); scanf("%f%f",&a,&b); jumlah=a+b; rata=(a+b)/2; kuadrat=(a+b)*(a+b); printf("\nhasilnya adalah\njumlah=%f\nrata-rata=%f\nkuadrat=%f\n",jumlah, rata, kuadrat); }



21



OUTPUT



e. Program di bawah ini seharusnya menampilkan keluaran satu baris sbb : c * c



25,000000



Namun, belum berhasil karena masih ada beberapa kesalahan.



Temukan



minimal 3 kesalahan dalam program tersebut. #include main () { float a, b, c; a b



3; 4.0;



c a * a + b * b printf("c * c %d", c); }



22



Kesalahannya adalah: Pada baris 1 seharusnya #include bukan #include Pada baris 7 kesalahannya adalah tidak diakhiri dengan tanda titikkoma (;) Pada baris 8 kesalahannya adalah menggunakan %d, seharusnya menggunakan %f karena menggunakan deklarasi bilangan float Pada baris 5,6 dan 7 kesalahannya tidak menggunakan sama dengan (=) pada awal variabel Program yang benar



OUTPUT



3. Berilah kesimpulan hasil praktikum. Berdasarkandarilaporanini, kami dapat menyimpulkan bahwa program C DOS bisa dikuasai tetapi banyak menemui kesalahan selama penyusunan coding, penjalanan program dan hasil output program. Lalu program ini, banyakdikatakansebagai program yang “Termudah” dan “Terumit”. Termudah maksudnya bahasa yang digunakan telah dipersingkat. Dan Terumit maksudnya bahasa yang digunakan sangat peka ataus ensitif. Bahasa C adalah bahasa terstruktur, jadi fungsi harus benar-benar sesuaidengan perintah atau aturan yang berlaku dalam bahasa c++ sendiri.Bahasa C adalah case sensitive yang artinya huruf besar dan huruf kecil dibedakan.



23



ANALISA: Pada semua progam praktikum 2 memakai fungsi printf(),yaitu untuk menampilkan suatu keluaran pada layar output. Dan juga memakai tipe data int(integer) untuk bilangan bulat, float untuk bilangan decimal(pecahan), dan char untuk character(karakter/kalimat). Pada program praktikum 2 juga memakai direktori #include yang mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus, yaitu direktori file include. Pada progam tersebut juga terdapat pemakaian untuk kolom komentar dengan format double slash(//) untuk satu baris, dan untuk komentarnya berbaris menggunakan awalan(/*) dan di akhiri(*/).



24



KESIMPULAN: Untuk menampilkan ke layar output kita harus memperhatikan tipe data apa yang kita gunakan, misalkan bilangan yang bernilai decimal, maka tipe data yang kita gunakan adalah float (%f). Pengeksekusian operator dalam progam c dilakukan secara berurutan sesuai dengan tingkatan masing masing dan Penulisan nama variabel harus sesuai dengan aturan yang berlaku.



25