FAKULTAS TEKNOLOGI INFORMASI SOAL UJIAN AKHIR SEMESTER SEMESTER GENAP TAHUN
AJARAN 2020/2021
: Algoritma dan Struktur Data 1 : Senin / 29 Maret 2021: AGUS UMAR HAMDANI
Petunjuk Umum :1. Tulislah Nim, Nama dan Nomor Absen Anda pada Lembar Jawaban yang telah tersedia.
2.Screenshot kode program dan hasil keluaran yang dihasilkan, kemudian simpanlah dalam format
3. Penamaan folder jawaban UAS mengikuti format berikut : nim-tipesoal, contoh : 1712502029_A.
4. Folder jawaban UAS berisi : source code program (.cpp), screenshot hasil eksekusi program (.jpg, png, jpeg) dan
khusus untuk soal ke-3 ditambahkan file notepad (.txt).
5. Periksa dan bacalah setiap soal dengan seksama sebelum Anda menjawab.
6.Laporkan kepada pengawas ujian apabila terdapat lembar soal yang kurang jelas, rusak atau
jumlah soal kurang.7. Periksalah Jawaban Anda sebelum diserahkan kepada pengawas ujian dan dilarang bekerja
sama. 8.Cantumkan keterangan “Saya Jujur” di pojok kiri atas jawaban anda, apabila anda mengerjakan
soal UAS ini secara mandiri, tanpa bertanya / meminta bantuan atau mencopy jawaban dari teman.
Diketahui array dua dimensi A bertipe integer yang sudah berisi nilai sebagai berikut : A[4][3] =
{11,12,13,14,15,16,17,18,19,20,21,22}
Dan terdapat array dua dimensi B bertipe integer yang masih kosong sebagai berikut : B[4][3] ={ }
Buatlah kode program bahasa C/C++ untuk mencetak isi array A dan menyalin isi data dari array A[4][3] setelah
ditambahkan dengan nilai 5 ke array B[4][3] menggunakan Operator Pointer sehingga akan tampil keluaran sebagai
berikut :
PT. Budi Luhur Bakery adalah perusahaan dagang yang bergerak dibidang penjualan roti bakery di Jakarta. Setiap
hari perusahaan membutuhkan kurir untuk melayani pengiriman produk kepada pelanggan. Waktu tempuh
pengiriman (W) dihitung berdasarkan parameter inputan P (jumlah pesanan), TL (jumlah traffic light) dan J (jarak
tempuh). Berikut ini adalah rumus untuk menghitung waktu tempuh (W) :
Keterangan :W : Waktu tempuh (dalam menit) P : Jumlah pesananTL: Jumlah Traffic LightJ : Jarak tempuh
Susunlah kode program menggunakan bahasa C/C++ untuk membuat fungsi (Function) bernama “Hitung_Waktu()
dengan cara menginput tiga buah parameter diatas sehingga waktu tempuh pengiriman produk tersebut dapat
diketahui!Berikut ini contoh keluaran program dari hasil eksekusi program :
Soal-4 (Materi Struktur dan File Dengan Poin 40).Diketahui data barang dan data pemesanan memiliki struktur
sebagai berikut :
Struktur Pesanan : nomor, jmlpesan, nmproduk(merujuk pada struktur barang) Permintaan :1.
Buatlah kode program dengan bahasa C/C++ menggunakan Struktur dan File untuk menginput nomor
pesanan, jumlah pesanan, nama produk, harga dan satuan, kemudian tampilkanlah total harga dari
pemesanan barang dengan rumus :Totalharga = field harga dari struct barang * field jmlpesan dari struct
pesanan Soal ini Bersifat Rahasia “Harus Dikembalikan” | FTI- UBL |2
Diskon = 3% dari totalharga TotalBayar = totalharga – diskon
2. Kemudian simpanlah hasil keluaran dari program ke dalam file berformat notepad (.txt) dengan nama “jawaban-
uas-A-nim, contoh : jawaban-uas-A-1712502029.Berikut ini adalah contoh data yang tersimpan di dalam
file notepad (txt) :
3. Screenshot kode program dan hasil keluaran / output yang ditampilkan oleh program.
4. Berapakah file berformat notepad yang terbentuk dari hasil ekseksi program diatas.
5. Bukalah file berformat notepad tersebut, kemudian tampilkan isi file tersebut. ~ Selamat Belajar, Selamat
Bekerja, Selamat Berkarya ~
#include<stdio.h>
main()
{
int I, J, *P;
int A[4][3]={11,12,13,
14,15,16,
17,18,19,
20,21,22};
int B[4][3];
//mencetak array a
printf("\nisi array A\n");
for (I=0; I<4; I++)
{
for(J=0; J<3;J++)
{
B[I][J] = A[I][J] + 5 ;
printf("%5i", A[I][J]);
}
printf("\n\n");
}
#include <iostream>
using namespace std;
int main(){
int P,TL,J,hasil;
cout<<"Program Hitung Waktu Tempuh Pengiriman Produk"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"Masukkan jumlah pesanan :"; cin>>P;
cout<<"Masukkan jumlah traffic light :"; cin>>TL;
cout<<"Masukkan jarak tempuh :"; cin>>J;
hasil = hitung_waktu (P,TL,J);
Screenshot no.2
Jawaban no.3
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <iostream>
#include<fstream>
struct Pesanan
{
int Nomor;
int jmlpesan;
struct Barang nmproduk;
};
Pesanan ps,Barang,nmproduk;
main()
{
int Totalharga;
int Diskon;
int Totalbayar;
ofstream myfile1;
//membuka file,
//jika file tidak ditemukan maka file akan otomatis dibuat
myfile1.open("Jawaban-UAS-A-2011520224.txt", ios::app);
//fail() -> untuk memeriksa suatu kesalahan pada operasi file
if(!myfile1.fail()) {
//menulis ke dalam file
myfile1<<"Masukan Nomor pesanan = "<<ps.Nomor<<endl;
myfile1<<"Masukan Nama Produk = "<<Barang.nmproduk.Nama<<endl;
myfile1<<"Masukan Harga = "<<Barang.nmproduk.Harga<<endl;
myfile1<<"Masukan Satuan = "<<Barang.nmproduk.Satuan<<endl;
myfile1<<"Masukan Jumlah Pesanan = "<<ps.jmlpesan<<endl;
myfile1<<"Total Harga = "<<Totalharga<<endl;
myfile1<<"Diskon = "<<Diskon<<endl;
myfile1<<"Total Bayar = "<<Totalbayar<<endl;
myfile1.close(); //menutup file
cout<<"\nText telah ditulis ke dalam File"<<endl;
} else {
cout<<"\nFile tidak ditemukan"<<endl;
}
Screenshot no.3