UJIAN TENGAH SEMESTER PRODI TEKNOLOGI INFORMASI

1. Seorang petugas perpustakaan ingin membuat program sederhana untuk menghitung
denda keterlambatan pengembalian buku. Aturan denda perpustakaan sebagai berikut:
• Jika keterlambatan antara 1 hingga 5 hari, denda adalah Rp3.000 per hari.
• Jika keterlambatan antara 6 hingga 10 hari, denda adalah Rp4.500 per hari.
• Jika keterlambatan lebih dari 10 hari, denda adalah Rp6.000 per hari.
Buatlah program yang meminta pengguna untuk memasukkan jumlah hari keterlambatan,
kemudian menghitung dan menampilkan total denda yang harus dibayar.
a) Buat Pseudocode untuk menyelesaikan masalah di atas.
b) Gambarkan Flowchart untuk menggambarkan alur logika program.
c) Implementasikan program tersebut dalam bahasa C.

2. Seorang guru ingin membuat program untuk menghitung nilai rata-rata dan menentukan
kategori nilai berdasarkan nilai ujian siswa. Program ini akan meminta input berupa tiga
nilai ujian untuk seorang siswa, kemudian menghitung rata-rata dari ketiga nilai tersebut.
Berdasarkan rata-rata nilai, program akan menentukan kategori nilai sebagai berikut:
• Jika rata-rata nilai 80 atau lebih, kategori: A
• Jika rata-rata nilai antara 70 dan 79, kategori: B
• Jika rata-rata nilai antara 60 dan 69, kategori: C

• Jika rata-rata nilai kurang dari 60, kategori: D
a. Buat dua fungsi dalam bahasa C:
• Fungsi hitungRataRata untuk menghitung nilai rata-rata dari tiga nilai ujian.
• Fungsi tentukanKategori untuk menentukan kategori berdasarkan rata-rata nilai.
b. Gunakan kedua fungsi tersebut dalam main program untuk menampilkan rata-rata nilai
dan kategori yang sesuai.

3.Dalam bahasa C, konsep kelas dan objek seperti pada bahasa pemrograman berorientasi
objek lainnya tidak didukung secara langsung. Namun, kita bisa mengimplementasikan
konsep tersebut dengan menggunakan struktur data (struct) dan fungsi terkait untuk
mensimulasikan cara kerja kelas dan objek.
Soal
Anda diminta untuk membuat program sederhana untuk mengelola data buku di
perpustakaan. Setiap buku memiliki informasi sebagai berikut:
• Judul (string)
• Penulis (string)
• Tahun Terbit (integer)
• Harga (float)
Program harus memiliki fitur untuk:
1. Menyimpan data sebuah buku menggunakan struktur Buku.
2. Menampilkan informasi buku.
3. Mengubah harga buku.
Tugas:
1. Buatlah struktur Buku untuk menyimpan data buku di perpustakaan.
2. Buat fungsi tampilkanBuku untuk menampilkan informasi buku.
3. Buat fungsi ubahHarga untuk mengubah harga buku berdasarkan parameter harga
yang baru.
4. Buat contoh program dalam fungsi main yang membuat objek Buku, menampilkan
data buku, lalu mengubah harga buku dan menampilkan data buku yang sudah
diperbarui.

4. Seorang pemilik toko elektronik ingin menyimpan dan mengelola data harga beberapa
produk elektronik yang dijualnya. Setiap produk memiliki harga yang berbeda-beda.
Pemilik toko ingin dapat melakukan beberapa operasi berikut pada data harga produk:
• Menyimpan harga produk dalam bentuk array.

• Mengurutkan harga produk dari yang termurah ke yang termahal agar memudahkan
pelanggan dalam melihat daftar harga.
• Mencari harga tertentu di dalam daftar untuk memastikan ketersediaan produk
dengan harga tersebut.
1. Buatlah sebuah program dalam bahasa C yang menyimpan data harga dalam sebuah
array.
2. Implementasikan fungsi pengurutan menggunakan Bubble Sort untuk mengurutkan
harga produk dari yang termurah ke yang termahal.
3. Implementasikan fungsi pencarian menggunakan Linear Search untuk mencari
harga produk dalam array.
4. Di dalam fungsi main, masukkan beberapa harga produk sebagai data awal, urutkan
daftar harga tersebut, dan kemudian cari harga tertentu berdasarkan input pengguna.



                                                                    JAWABAN
1.  Pseudocode
  1. Mulai
  2. Minta pengguna untuk memasukkan jumlah hari keterlambatan
  3. Jika jumlah hari keterlambatan antara 1 hingga 5 hari, maka:
    • Total denda = jumlah hari keterlambatan * 3000
  4. Jika jumlah hari keterlambatan antara 6 hingga 10 hari, maka:
    • Total denda = jumlah hari keterlambatan * 4500
  5. Jika jumlah hari keterlambatan lebih dari 10 hari, maka:
    • Total denda = jumlah hari keterlambatan * 6000
  6. Tampilkan total denda
  7. Selesai
 Flowchart



c) Program dalam Bahasa C  

 codingan :

hasil : 

Penjelasan Program

  1. Program meminta pengguna untuk memasukkan jumlah hari keterlambatan.
  2. Berdasarkan jumlah hari keterlambatan, program menghitung denda sesuai ketentuan.
  3. Program menampilkan total denda yang harus dibayar.
2.  coding : 




hasil :        


Penjelasan Program

  1. Fungsi hitungRataRata: Mengambil tiga nilai ujian sebagai parameter, menjumlahkan ketiga nilai tersebut, dan mengembalikan rata-rata.
  2. Fungsi tentukanKategori: Mengambil rata-rata nilai sebagai parameter, dan mengembalikan karakter kategori (A, B, C, atau D) berdasarkan rata-rata tersebut.
  3. Program Utama (main): Meminta pengguna memasukkan tiga nilai ujian, menghitung rata-rata nilai menggunakan hitungRataRata, menentukan kategori dengan tentukanKategori, dan menampilkan hasil rata-rata serta kategori nilai.
3.  

Implementasi Program dalam Bahasa C

  1. Struktur Buku digunakan untuk menyimpan data buku.
  2. Fungsi tampilkanBuku untuk menampilkan informasi buku.
  3. Fungsi ubahHarga untuk mengubah harga buku.
coding : 


hasil : 

Penjelasan Program

  1. Struktur Buku: Menyimpan informasi tentang buku, termasuk judul, penulis, tahun terbit, dan harga.
  2. Fungsi tampilkanBuku: Menampilkan informasi dari buku yang diberikan sebagai parameter.
  3. Fungsi ubahHarga: Mengubah harga buku menggunakan pointer ke struktur Buku agar perubahan harga langsung memengaruhi data asli.
  4. Program Utama (main):
    • Membuat objek buku1 dari struktur Buku.
    • Mengisi data buku buku1 dengan nilai awal.
    • Menampilkan informasi buku awal.
    • Mengubah harga buku menjadi Rp90.000, kemudian menampilkan informasi buku setelah perubahan harga.

4. Implementasi Program dalam Bahasa C

  1. Array hargaProduk untuk menyimpan data harga produk.
  2. Fungsi bubbleSort untuk mengurutkan harga dari yang termurah ke yang termahal.
  3. Fungsi linearSearch untuk mencari harga produk tertentu dalam array.
coding : 




hasil: 

Penjelasan Program

  1. Fungsi bubbleSort:
    • Mengurutkan array arr dari elemen terkecil ke terbesar menggunakan algoritma Bubble Sort.
  2. Fungsi linearSearch:
    • Mencari nilai target dalam array arr menggunakan Linear Search.
    • Mengembalikan indeks jika nilai ditemukan, atau -1 jika tidak ditemukan.
  3. Program Utama (main):
    • Membuat array hargaProduk dengan beberapa harga awal.
    • Mengurutkan harga menggunakan bubbleSort dan menampilkan hasil pengurutan.
    • Meminta pengguna memasukkan harga yang ingin dicari, lalu mencari harga tersebut di array menggunakan linearSearch.
    • Menampilkan hasil pencarian apakah harga ditemukan atau tidak.
     Nama : ALAN FERDINAN
     Nim   :24022016
    Prodi  : Teknologi Informasi
    Dosen Pembimbing : Pak TOTOK

Komentar

Postingan populer dari blog ini

Pratikum 9 (String)

Praktikum 1: Pengantar Pemograman....

Pratikum 14 (Struktur)