Anda di halaman 1dari 15

Nama : Aditio Wibowo

NPM : 18.03.0.021

Jurusan Teknik Elektro


Uneversitas Riau Kepulauan
Batam – 2019
JAWABAN NO 2

#include <stdio.h>
#include <conio.h>
int main ()
{

printf ("\n SELAMAT DATANG DI TOKO A.IPANHAR \n");


printf ("\n\nProgram menghitung Total Pembayaran");
printf ("\nSetelah Diskon");
float Jum_pembelian, discount, tot_pembayaran;
printf ("\nMasukkan Total Pembelian Rp :");
scanf ("%f",&Jum_pembelian);
if (Jum_pembelian >= 1800000);
discount = Jum_pembelian*0.1;
printf ("\nAnda memperoleh discount 10 %");
printf ("\nBesarnya Potongan : Rp %f",discount);
tot_pembayaran = Jum_pembelian - discount;
printf ("\nJumlah yang Anda bayar adalah : Rp %1f",tot_pembayaran);
printf ("\nTERIMAH KASIH");
getch ();
}
JAWABAN NO 1

#include <stdio.h>
#include <stdbool.h>

int main()
{
int data_lulus[5][4];
int tahun, jurusan;

// Isikan data ke array


data_lulus[0][0] = 70; // data TM = 2014
data_lulus[0][1] = 65; // data TM = 2015
data_lulus[0][2] = 80; // data TM = 2016
data_lulus[0][3] = 50; // data TM = 2017
data_lulus[1][0] = 55; // data TE = 2014
data_lulus[1][1] = 45; // data TE = 2015
data_lulus[1][2] = 77; // data TE = 2016
data_lulus[1][3] = 40; // data TE = 2017
data_lulus[2][0] = 75; // data TI = 2014
data_lulus[2][1] = 70; // data TI = 2015
data_lulus[2][2] = 85; // data TI = 2016
data_lulus[2][3] = 60; // data TI = 2017
data_lulus[3][0] = 45; // data TS = 2014
data_lulus[3][1] = 55; // data TS = 2015
data_lulus[3][2] = 60; // data TS = 2016
data_lulus[3][3] = 42; // data TS = 2017
data_lulus[4][0] = 20; // data TA = 2014
data_lulus[4][1] = 15; // data TA = 2015
data_lulus[4][2] = 11; // data TA = 2016
data_lulus[4][3] = 15; // data TA = 2017
// Pemasukan data jurusan
while (true)
{
printf("MASUKAN KODE JURUSAN (0 = TM, 1 = TE, 2 = TI, 3 = TS, 4 = TA) ");
scanf("%d", &jurusan);

if ("jurusan == 0 || jurusan == 1 || jurusan == 2 jurusan == 3 || jurusan == 4 || jurusan ==


5");
break; // Keluar dari while
}
// Pemasukan data tahun
while (true)
{
printf("Pilih Tahun Lulusan (2014-2017): ");
scanf("%d", &tahun);
if (tahun >= 2014 && tahun <= 2017)
{
tahun = tahun - 2014; // Konversi ke 0, 1, ...
break; // Keluar dari while
}
}

// Tampilkan informasi kelulusan


printf("Jumlah yang lulus = %d\n",
data_lulus[jurusan][tahun]);
return 0;
}
JAWABAN NO 3
// ---------------------------------

// Program senarai berantai

// - memasukkan data

// - menampilkan data

// - menghapus data

// ---------------------------------

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <ctype.h>

#define PANJANG_NOMORKENDARAAN 20

#define PANJANG_NAMAKENDARAAN 20

struct simpul_kendaraan

char nomor[PANJANG_NOMORKENDARAAN + 1];

char nama[PANJANG_NAMAKENDARAAN + 1];

struct simpul_kendaraan *lanjutan;

};

// Deklarasi variabel global

struct simpul_kendaraan *ptr_kepala = NULL; // Ujung senarai

struct simpul_kendaraan *ptr_pos_data; // Posisi data

struct simpul_kendaraan *ptr_pendahulu; // Posisi pendahulu

// ptr_pos_data

// Prototipe fungsi

void pemasukan_data(void);

void masukan_string(char *keterangan, char *masukan,

int panjang_maks);
void tampilkan_data(void);

void cari_data(char *nama);

void hapus_data(void);

void menu_pilihan(void);

// --------- PROGRAM UTAMA

int main()

for ( ; ; )

menu_pilihan();

puts(""); // Baris kosong

return 0;

// ------- Akhir program utama

// ----------------------------------------------

// Definisi fungsi untuk menangani pemasukan data

// ----------------------------------------------

void pemasukan_data(void)

char jawaban;

struct simpul_kendaraan *ptr_baru;

do

ptr_baru = (struct simpul_kendaraan *)

malloc(sizeof(struct simpul_kendaraan));

if (ptr_baru)

masukan_string("Nomor kendaraan : ",


ptr_baru->nomor,

PANJANG_NOMORKENDARAAN);

masukan_string("Nama kendaraan : ",

ptr_baru->nama,

PANJANG_NAMAKENDARAAN);

ptr_baru->lanjutan = ptr_kepala;

ptr_kepala = ptr_baru;

printf("Mau memasukkan data lagi (Y/T)? ");

do

jawaban = toupper(getchar());

fflush(stdin); // Hapus sisa data di keyboard

} while (!(jawaban == 'Y' || jawaban == 'T'));

else

printf("Memori tak cukup!");

break; // Keluar dari do-while

} while (jawaban == 'Y');

// -------------------------------------

// Definisi fungsi untuk membaca string

// -------------------------------------

void masukan_string(char *keterangan, char *masukan,

int panjang_maks)

char st[256];

do
{

printf(keterangan); // Tampilkan keterangan

gets(st); // Baca string

if (strlen(st) > panjang_maks)

printf("Terlalu panjang. Maksimal %d karakter\n",

panjang_maks);

} while (strlen(st) > panjang_maks);

// Salin string st ke mauskan

strcpy(masukan, st);

// -------------------------------------

// Definisi fungsi untuk menampilkan

// isi senarai berantai

// -------------------------------------

void tampilkan_data(void)

struct simpul_kendaraan *ptr_sementara;

printf("\nIsi senarai berantai\n");

ptr_sementara = ptr_kepala;

while (ptr_sementara)

printf("%s %s\n", ptr_sementara->nomor,

ptr_sementara->nama);

ptr_sementara = ptr_sementara->lanjutan;

// -------------------------------------------------

// Definisi fungsi cari_data

//
// Digunakan untuk mencar nama pada senarai berantai

// Jika nama ditemukan, maka

// 1. ptr_pos_data menunjuk simpul yang berisi

// nama yang dicari

// 2. ptr_pendahulu enunjuk simpul pendahulu

// dari simpul posisi nama yang dicari.

// Jika berisi NULL, menyatakan bahwa

// ptr_pendahulu menunjuk simpul yang ditunjuk

// oleh ptr_kepala

// Jika nama tak ditemukan,

// ptr_po_data berisi NULL

// -------------------------------------------------

void cari_data(char *nama)

ptr_pendahulu = NULL;

ptr_pos_data = ptr_kepala;

while (ptr_pos_data)

if (strcmp(nama, ptr_pos_data->nama) != 0)

ptr_pendahulu = ptr_pos_data;

ptr_pos_data = ptr_pos_data->lanjutan;

else

break; // Ditemukan- Selesai

// -------------------------------------

// Definisi fungsi hapus_data()


//

// Digunakan untuk menghapus simpul

// pada senarai berantai

// -------------------------------------

void hapus_data(void)

char nama[PANJANG_NAMAKENDARAAN + 1];

masukan_string("Masukkan nama yang akan dihapus: ",

nama, PANJANG_NAMAKENDARAAN);

cari_data(nama);

if (ptr_pos_data == NULL)

puts("Nama tak ditemukan di senarai berantai");

else

// Proses penghapusan

if (ptr_pendahulu == NULL)

// Simpul ujung akan dihapus

ptr_kepala = ptr_kepala->lanjutan;

else

// Bukan simpul ujung yang akan dihapus

ptr_pendahulu->lanjutan =

ptr_pos_data->lanjutan;

// Bebaskan memori

free(ptr_pos_data);

puts("OK. Penghapusan sudah dilakukan");

// ------------------------------------------
// Definisi fungsi untu menangai menu pilihan

// ------------------------------------------

void menu_pilihan(void)

char pilihan;

puts("======MENU PILIHAN ======");

puts("* *");

puts("* [1] Memasukkan data *");

puts("* [2] Menghapus data *");

puts("* [3] Menampilkan data *");

puts("* [4] Selesai *");

puts("* *");

puts("=========================");

printf("\nPilihan Anda (1..4): ");

do

pilihan = getchar();

fflush(stdin); // Hapus sisa data di keyboard

while (pilihan < '1' || pilihan > '4');

switch(pilihan)

case '1':

pemasukan_data();

break;

case '2':

hapus_data();

break;

case '3':
tampilkan_data();

break;

case '4':

puts("Selesai");

exit(0); // Selesai

}
Terima kasih

Anda mungkin juga menyukai