Fiki Nafilah Husna - ALPRO - Praktikum Tipe Data [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 ALGORITMA DAN PEMROGRAMAN DALAM BAHASA C++ DENGAN CODEBLOCKS



Materi Praktikum : Tipe Data



Nama NIM Program studi



Disusun oleh: = FIKI NAFILAH HUSNA = 4101420097 = PENDIDIKAN MATEMATIKA



JURUSAN MATEMATIKA UNIVERSITAS NEGERI SEMARANG 2021



Materi Praktikum : Tipe Data (1 Pertemuan : 1 x 2 SKS) Setelah mempelajari materi pada modul 3, silahkan menjawab pertanyaan berikut ini sesuai dengan petunjuk jawaban: 1. Apa yang terjadi kalau kita memasukkan nilai 32768 pada variabel dengan tipe short int? Tampilan Program Hasil Run



Penjelasan: Banyak nilai maksimum / minimum yang dapat disimpan (range nilai yang dapat disimpan) oleh tipe data short in adalah −32768 → 32767. Sehingga dalam kasus ini 32768 melebihi range tersebut maka output dari input a = 32768 akan dibulatkan ke batas bawah , yakni −32768. 2. Buatlah program yang menggunakan tipe data bilangan real : float, double, long double dalam satu program serta jelaskan perbedaannya? Tampilan Program Hasil Run



Penjelasan: Menurut sumber yang saya baca https://stackoverflow.com/questions/14221612/difference-between-longdouble-and-double-in-c-and-c menyatakan bahwa ada tiga jenis floating point: float, double, dan long double. Tipe ganda memberikan setidaknya presisi sebanyak float, dan tipe panjang ganda memberikan setidaknya presisi sebanyak ganda. Himpunan nilai dari tipe float adalah bagian dari himpunan nilai dari tipe double; himpunan nilai dari tipe double adalah bagian dari himpunan nilai dari tipe



Praktikum Algoritma Pemrograman| 2



long double. Double membutuhkan setidaknya sebanyak memori untuk representasinya sebagai float dan long double setidaknya sebanyak dua kali lipat. Memori ekstra itu digunakan untuk representasi angka yang lebih tepat. Pada sistem x86, float biasanya memiliki panjang 4 byte dan dapat menyimpan angka sebesar sekitar 3×10³⁸ dan sekecil 1,4×10⁻⁴⁵. Ini adalah angka presisi tunggal IEEE 754 yang menyimpan sekitar 7 digit desimal dari angka pecahan. Juga pada sistem x86, double memiliki panjang 8 byte dan dapat menyimpan angka dalam format presisi ganda IEEE 754, yang memiliki jangkauan jauh lebih besar dan menyimpan angka dengan lebih presisi, sekitar 15 digit desimal. Pada beberapa platform lain, double mungkin tidak sepanjang 8 byte dan mungkin memang sama dengan float presisi tunggal. Standar hanya mensyaratkan bahwa long double setidaknya setepat double, sehingga beberapa kompiler hanya akan memperlakukan long double seolaholah sama dengan double. Namun, pada sebagian besar chip x86, format 10byte yang diperluas dengan format presisi angka 80-bit tersedia melalui unit titik-mengambang CPU, yang memberikan lebih banyak presisi daripada ganda 64-bit, dengan presisi sekitar 21 digit desimal. Dengan demikian, dapat disimpulkan bahwa float, long dan long double samasama tipe data numerik yang memungkinkan untuk menyimpan nilai dalam memori bersifat bilangan pecahan atau real, maupun eksponensial. Perbedaanya adalah float disimpan dalam area 4 byte (32 bit) dan memiliki ketelitian sampai dengan 6 digit di belakang koma, double disimpan dalam area 8 byte (64 bit) dan memilki ketelitian hingga 15 digit di belakang koma, sedangkan long double disimpan dalam area 12 byte (96 bit) dan memilki ketelitian hingga 21 digit di belakang koma. 3. Berikan contoh program untuk menggambarkan kegunaan tipe data Boolean? Tampilan Program Hasil Run



Penjelasan: Praktikum Algoritma Pemrograman| 3



Hasil perbandingan operator logika AND atau OR akan menghasilkan nilai boolean yaitu benar (true) atau salah (false). Dalam Bahasa pemrograman C++ tipe Boolean digunakan untuk merepresentasikan nilai boolean. Ekspresi nilai boolean akan direpresentasikan sebagai angka 1 jika bernilai benar (true), dan angka 0 jika bernilai salah (false). Dalam kasus di atas, jika f = 7 dan g = 5, maka f < g salah sehingga benilai 0, f > g benar sehingga bernilai 1 dan seterusnya. 4. Apakah penulisan konstanta 030 dan 30 itu berbeda? Tampilan Program Hasil Run



Penjelasan: Berdasarkan sumber yang saya baca : https://www.geeksforgeeks.org/integerliteral-in-c-cpp-prefixes-suffixes/ Menyatakan bahwa integer literal adalah jenis literal untuk integer yang nilainya langsung direpresentasikan dalam kode sumber. Misalnya, dalam pernyataan penugasan x = 1, string 1 adalah literal integer yang menunjukkan nilai 1, sedangkan dalam pernyataan x = 0x10 string 0x10 adalah literal integer yang menunjukkan nilai 16(dalam desimal), yang diwakili oleh 10 dalam heksadesimal (ditunjukkan dengan awalan 0x). Selanjutnya, dalam x = “1”, “1” adalah string literal (bukan karakter atau integer literal), karena dalam tanda kutip. Nilai string adalah 1, yang merupakan string integer. Sintaksis berupa awalan (prefiks) dan akhiran (sufiks). Yang saya ulas di sini hanya awalan sebagai berikut. Awalan: Pada dasarnya diwakili dalam empat jenis. 1. Desimal-literal (basis 10):- angka desimal bukan nol diikuti oleh nol atau lebih angka desimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Misalnya, 56, 78. 2. Oktal-literal (basis 8) : nol diikuti oleh nol atau lebih angka oktal (0, 1, 2, 3, 4, 5, 6, 7). Misalnya, 045, 076, 06210. 3. Hex-literal (basis 16) : 0x atau 0X diikuti oleh satu atau lebih digit heksadesimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F). Misalnya, 0x23A, 0Xb4C, 0xFEA. 4. Biner-literal (basis 2) : 0b atau 0B diikuti oleh satu atau lebih digit biner Praktikum Algoritma Pemrograman| 4



(0, 1). Misalnya, 0b101, 0B111. Dengan demikian, dapat disimpulkan bahwa perbedaan penulisan konstanta 030 dan 30 adalah 030 menandakan oktal-literal sedangkan 30 menandakan desimal-literal. 5. Apakah notasi ilmiah seperti 1,2E-10 bisa digunakan dalam program? Tampilan Program Hasil Run



Penjelasan: Pada gambar hasil run di atas menunjukkan bahwa notasi ilmiah seperti 1,2E10 (dimana E-n melambangkan 10 pangkat n) dapat digunakan dalam program karena E-10 yang berarti 10 pangkat 10 yang bilangannya besar tidak dapat terdeteksi sehingga tidak dapat dikonversi ke dalam bentuk desimal pada outputnya. Lain halnya pada bilangan 1,2E-4 dan 1,2E5 yang dapat dikonversikan ke dalam bentuk desimal karena E-4 dan E5 yang bilangannya kecil sehingga terdeteksi pada program. 6. Apakah penulisan desimal 0.5 dan .5 apakah berbeda? Tampilan Program Hasil Run



Penjelasan: Berdasarkan gambar hasil run di atas menunjukkan bahwa penulisan decimal 0,5 dan ,5 adalah sama. Karena berdasarkan aturan angka penting pada



Praktikum Algoritma Pemrograman| 5



decimal, angka 0 pada awalan (sebelum koma) dianggap angka tidak penting sehingga apabila angka 0 di depan koma tersebut tidak ditulis maka tidak berpengaruh apa-apa. Jadi, penulisan decimal 0,5 dan ,5 sama. 7. Cobalah program yang menampilkan perintah untuk melihat kode 0XFFF tanpa tanda petik, apa hasilnya? Tampilan Program Hasil Run



Penjelasan: Jenis tipe data karakter digunakan untuk menyimpan kode karakter. Salah satu jenisnya adalah tipe data char, yang digunakan untuk menyatakan karakter tunggal dalam 1 byte (8 bit) seperti huruf alfabet (baik huruf besar maupun huruf kecil), angka, tanda baca, dan karakter kontrol (seperti new line dan tab). Dalam bahasa pemrograman c++ karakter diapit oleh kutip tunggal(‘). Dalam kasus ini, apabila kode tersebut tidak diapit oleh tanda kutip tersebut maka kode tersebut tidak akan bisa ditampilkan dalam program. 8. Apakah komentar dapat diletakkan di kanan atau kiri pernyataan? Tampilan Program Hasil Run



Praktikum Algoritma Pemrograman| 6



Penjelasan: untuk penulisan komentar pada C++ dapat digunakan 2 macam tanda, yaitu : /*….*/ dan //…. . Untuk tanda /*….*/ komentar dapat diletakkan di kanan maupun kiri pernyataan. Hal ini karena pernyataan tidak bersambung (dipisahkan oleh tanda salah satunya) dengan komentar sehingga pernyataan tersebut dapat didefinisikan oleh program. Sedangkan, untuk tanda //…. Komentar hanya dapat diletakkan di kanan pernyataan karena pernyataan tersebut tidak bersambung (dipisahkan oleh tanda //) dengan komentar sehingga pernyataan tersebut dapat didefinisikan oleh program. Sedangkan, jika tanda komentar // diletakkan di kiri pernyataan, maka program tidak akan berjalan. Hal tersebut karena pernyataan bersambung dengan komentar sehingga pernyataan tersebut tidak dapat didefinisikan oleh program. 9. Apakah komentar dapat diberikan dengan simbol selain //? Tampilan Program Hasil Run



Penjelasan: Ya, yaitu dengan tanda /*….*/ atau multiline. Tanda ini dapat digunakan dalam 3 kondisi, yaitu : 1. Komentar satu baris : bisa di kanan maupun di kiri pernyataan. 2. Komentar lebih dari satu baris. 3. Komentar sisipan.



Praktikum Algoritma Pemrograman| 7



10. Kapan sebaiknya komentar diberikan dalam program? Tampilan Program



Hasil Run



Penjelasan: Pada umumnya komentar ini diberikan dalam program untuk menandai keterangan atau pernyataan algoritma yang sangat penting. Karena fungsi komentar dalam bahasa pemrograman C++ adalah sebagai berikut: 











 



Menjelaskan algoritma dan keterangan-keterangan yang diperlukan dalam program sehingga program menjadi lebih mudah dipahami oleh yang melihatnya Membantu dalam proses pemeliharaan (maintenance) dari program yang telah kita buat, sehingga proses maintenance menjadi lebih cepat karena dengan adanya komentar kita dapat lebih cepat mengetahui fungsi dari sebuah program. Menuliskan informasi tentang kode program, misalnya nama nama pembuat kode program, kapan kode tersebut dibuat / dimodifikasi, lisensi dari program tersebut, maupun deskripsi lain yang diperlukan. Mempermudahkan kita dalam mengingat kembali dan menjelaskan kode / deskripsi program pada program yang di buat Mempermudahkan programmer lain dalam memahami program yang kita buat.



Praktikum Algoritma Pemrograman| 8