TUGAS 2
Disusun oleh:
Nama : DEDEN FARHAN
NPM : 0618104038
BANDUNG
2018
Tugas Pendahuluan II
1. Diketahui suatu data tiket sbb.
1. Isi Data, menu untuk memasukkan data di atas ke dalam struktur tiket
2. Cari data berdasarkan Id_tiket, menu untuk menampilkan Id_tiket, jurusan,
dan harga berdasarkan Id_tiket (Gunakan metode pencarian dengan
sequential search menggunakan variable logika)
3. Keluar Program
Solusi:
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
int NoMenu;
typedef struct {
char id_tiket[100];
char jurusan[100];
int harga; } tiket;
int jml, i;
tiket T[100];
bool cari;
void VInputData();
void VCariData();
void VInputData(){
printf("Masukkan berapa data : "); scanf("%d", &jml);
for(int i=0; i<jml; i++){
printf("Masukkan Id : "); scanf("%s", &T[i].id_tiket);
printf("Masukkan Jurusan : "); scanf("%s", &T[i].jurusan);
printf("Masukkan Harga : "); scanf("%d", &T[i].harga);
}
}
void VCariData(){
i = 0;
cari = false;
char id_tiket_cari[100];
if(cari){
printf("Id Tiket %s Yang Anda Cari Pada Posisi : %d\n", id_tiket_cari, i);
printf("Id Tiket : %s\n", T[i].id_tiket);
printf("Jurusan : %s\n", T[i].jurusan);
printf("Harga : %d\n", T[i].harga);
}
else{
printf("Id Tiket %s Tidak Ditemukan\n", id_tiket_cari);
}
}
2. Diketahui sebuah himpunan nilai Array A={21, 31, 24, 12, 8, 9, 4}. Buatlah
program pencarian nilai X yang diinput oleh user menggunakan :
#include<stdio.h>
void VSentinel(){
int cari, i;
i=7;
printf("Data Nilai Aray : ");
void VBinary(){
int * numb_arr;
int i, j, k, found, cari;
numb_arr = f_sorted(a, 7);
printf("Data Nilai Aray : ");
for(i=0; i<7; i++){
printf("%d", numb_arr[i]);
if(i!=6){
printf(", ");
}
}
printf("\nMasukan Nilai yang dicari : "); scanf("%d", &cari);
i = 0;
j = 6;
2. [TIPE-A]
Diketahui sebuah tiket kereta api sebagai berikut :
Kode Asal Tujuan Harga
1 Bandung Jakarta 100.000
2 Jakarta Bandung 100.000
3 Bandung Surabaya 300.000
4 Surabaya Bandung 300.000
Jika calon penumpang membeli tiket lebih dari 2, maka berhak mendapat
diskon sebesar 5% dari total pembelian. Buatlah program dengan bahasa C
untuk memasukkan data rekap penjualan tiket dengan
struktur : nama_pemesan, Jurusan, dan total penjualan menggunakan array
berdasarkan inputan : nama_pemesan, kode_jurusan, dan jumlah_tiket.
Kemudian tampilkan hasil struktur rekap penjualan tiket yang Total
penjualannya lebih besar dari batas nilai X yang diinput user ! (metode
pencarian : sequential search dengan variable logika)
INPUT Nama Pemesan : Noni
Kode Jurusan : 1
Jumlah Tiket : 3
Data berhasil diinput ! Tambah lagi ?
Ya
Nama Pemesan : Nona
Kode Jurusan : 3
Jumlah Tiket : 1
Data berhasil diinput ! Tambah lagi ?
Tidak Cari data yang total
penjualannya lebih besar dari (X) :
290000
OUTPUT Rekap Penjualan Tiket :
1.
Nama Pemesan : Nona
Jurusan : Bandung-Surabaya
Solusi:
#include <stdio.h>
char jurusan[4][100]={"Bandung-Jakarta", "Jakarta-Bandung", "Bandung-
Surabaya", "Surabaya-Bandung"};
long harga[4]={100000, 100000, 300000, 300000};
typedef struct {
char nama[255];
int kode, jml; } pesan;
pesan p[10];
int i;
void VInputData();
void VCariData();
int main() {
VInputData();
VCariData();
return 0;
}
void VInputData(){
char lanjut;
i=0;
do{
printf("Nama Pemesan : ");
scanf("%s", &p[i].nama);
printf("Kode Jurusan : ");
scanf("%d", &p[i].kode);
printf("Jumlah : ");
scanf("%d", &p[i].jml);
printf("Data Berhasil Input !Tambahlagi(Y/N) ?");
}
void VCariData(){
int j, a;
long byr, x;
printf("Cari data yang total penjualannya lebih besar dari(X): "); scanf("%d",
&x);
printf("Rekap Penjualan Tiket:\n");
j = 0; a=0;
while(j<i){
byr = harga[p[j].kode-1]*p[j].jml;
if(p[j].jml > 2){
byr = byr - (byr*0.05);
}
if(byr > x){
printf("%d\n", a+1);
printf("Nama Pemesan : %s \n", p[j].nama);
printf("Jurusan : %s\n", jurusan[p[j].kode-1]);
printf("Total Penjualan : %d\n", byr);
a++;
}
j++;
}
#include<stdio.h>
void VBinary(){
int * numb_arr;
int i, j, k, found, cari;
numb_arr = f_sorted(a, 7);
printf("Data Nilai Aray : ");
for(i=0; i<7; i++){
printf("%d", numb_arr[i]);
if(i!=6){