for LINUX
======================================
#include <stdio.h>
#include <stdlib.h>
#include <curses.h> //adalah Linux alternative untuk conio.h di windows
//#include <conio.h> //ini untuk di windows
#include <string.h>
/*
UAS Algoritma Pemrograman Semester 1 : PTI 1B Kelompok 2
Bisa langsung dijalankan di Codeblock
dibuat di ZorinOS Linux
di windows perlu sedikit penyesuaian header librari... dan beberapa penyesuaian perintah sytem()
*/
//ini adalah fungsi sebagai pengganti fungsi fflush(stdin)
void clean_stdin(void)
{
int c;
do {
c = getchar();
} while (c != '\n' && c != EOF);
}
//ini adalah fungsi untuk menentukan harga
int fungsi_harga(char kode_brg)
{
int harga;
if (kode_brg=='a' || kode_brg=='A') {harga=2000000; } // || adalah simbol OR, && adalah simbol DAN
if (kode_brg=='b' || kode_brg=='B') {harga=3000000; }
if (kode_brg=='c' || kode_brg=='C') {harga=150000; }
if (kode_brg=='d' || kode_brg=='D') {harga=250000; }
if (kode_brg=='e' || kode_brg=='E') {harga=8000000; }
else {
}
return harga;
}
//ini program utama
int main()
{
int nama_ksr, jumlah, bayar, diskon, grand, coba_son=0;
char kode_brg, usr_kan[10], pas_to[10];
//ini adalah array 2 dimensi untuk data kasir
char kasir[5][15] =
{
{"Fatma N"},
{"Khabib K"},
{"Salma A"},
{"Arif R"},
{"Soni H"}
};
//ini adalah array 2 dimensi untuk data daftar barang
char list_brg[5][15] =
{
{"Televisi"},
{"Kulkas"},
{"Radio"},
{"Magic Com"},
{"Laptop"}
};
printf("\n\n");
printf("\t\t SELAMAT DATANG \n");
printf("\t\t ================================ \n");
printf("\t\t SILAHKAN LOGIN \n\n\n\n\n");
//looping untuk entri password 5x
while (coba_son<5)
{
printf("Masukkan user name: ");
scanf("%s", usr_kan);
printf("Masukkan password: ");
scanf("%s", pas_to);
if (strcmp(usr_kan,"cendol")==0&&strcmp(pas_to,"dawet")==0) // strcmp= adalah untuk membandingkan 2 buah string/kata
{
goto masuk; //label
}
else
{
printf("\n\n");
printf("\t ============================================ \n\n");
printf("\t Maaf user atau password anda salah..!!!\n");
printf("\t Silahkan coba lagi...\n\n");
printf("\t ============================================ \n\n\n");
coba_son++;
}
}
system("clear"); // clear adalah perintah terminal linux untuk membersihkan layar
//system("cls"); // cls adalah perintah cmd windows untuk membersihkan layar
printf("\n\n");
printf("\t\t\t MAAF.. ANDA TELAH 5x SALAH \n\n");
printf("\t\t\t ============================ \n");
printf("\t\t ================ AKSES DI TOLAK ================= \n");
printf("\t\t\t ============================ \n");
printf("\n\n\n");
printf("Tekan Enter untuk keluar.......");
printf("\n\n\n");
exit(0);
masuk: //label
system("clear"); // clear adalah perintah terminal linux untuk membersihkan layar
//system("cls"); // cls adalah perintah cmd windows untuk membersihkan layar
printf("\n");
printf("\t\t SELAMAT DATANG \n");
printf("\t\t Program Penjualan Sangat Sederhana Sekali \n\n");
printf("\t\t UAS ALGORITMA PEMROGRAMAN \n");
printf("\n");
printf("\n");
printf("\t\t Kelompok 2 \n");
printf("\t Fatma N - Khabib K - Salma A - Arif R - Soni H \n");
printf("\t\t ====================================== \n\n\n\n");
printf("Daftar Barang Yang Tersedia: \n\n");
printf("KODE BARANG \t\t HARGA \n");
printf("--------------------------------------\n");
printf("A. Televisi \t\t Harga \t Rp. 2.000.000\n");
printf("B. Kulkas \t\t Harga \t Rp. 3.000.000\n");
printf("C. Radio \t\t Harga \t Rp. 150.000\n");
printf("D. Magic Com \t\t Harga \t Rp. 250.000\n");
printf("E. Laptop \t\t Harga \t Rp. 8.000.000\n");
printf("\n");
printf("Diskon 20%% apabila total pembelian lebih dari Rp 10.000.000 \n\n"); // simbol % harus di tulis ganda, yaitu %%
/*
//ini fungsi LOOP perulangan DO.... WHILE, sekaligus untuk VALIDASI kode barang
//untuk membandingkan saja apa perbedaan dari WHILE vs DO.... WHILE
do {
printf("\t\t\t Ketik kode barang yg ingin di beli: "); scanf("%c", &kode_brg);
clean_stdin(); }
while (kode_brg!='a' && kode_brg!='b' && kode_brg!='c' && kode_brg!='d' && kode_brg!='e' && //simbol && adalah simbol dan
kode_brg!='A' && kode_brg!='B' && kode_brg!='C' && kode_brg!='D' && kode_brg!='E');
*/
//ini fungsi LOOP perulangan WHILE, sekaligus untuk VALIDASI kode barang
while (kode_brg!='a' && kode_brg!='b' && kode_brg!='c' && kode_brg!='d' && kode_brg!='e' && //simbol && adalah simbol dan
kode_brg!='A' && kode_brg!='B' && kode_brg!='C' && kode_brg!='D' && kode_brg!='E')
{
clean_stdin();
printf("\t\t\t Ketik kode barang yg ingin di beli: "); scanf("%c", &kode_brg);
clean_stdin();
}
//print memanggil array list_brg
if (kode_brg=='a' || kode_brg=='A') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[0]); }
else if (kode_brg=='b' || kode_brg=='B') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[1]); }
else if (kode_brg=='c' || kode_brg=='C') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[2]); }
else if (kode_brg=='d' || kode_brg=='D') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[3]); }
else { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[4]); }
// ini fungsi LOOP perulangan, dan juga validasi jumlah barang tidak boleh 0 atau minus...
do {
printf("\t\t\t ketik jumlah barang: "); scanf("%i", &jumlah);
//printf("\n");
clean_stdin();
}
while (0 >= jumlah);
printf("\t\t ====================================== \n");
printf("\t\t Jumlah barang yang di beli: %i\n\n", jumlah);
//ini memanggil fungsi harga
bayar=fungsi_harga(kode_brg) * jumlah;
printf("\t\t\t total harga sebesar: %i\n", bayar);
//untuk menghitung diskon, dengan fungsi if
if (bayar>10000000) diskon=bayar*0.20;
else diskon=0;
printf("\t\t\t Diskon anda adalah: %i\n\n", diskon);
grand=bayar - diskon;
printf("\t\t ====================================== \n");
printf("\t\t TOTAL HARUS DI BAYAR: %i\n\n\n", grand);
printf("Silahkan Pilih Loket Bayar: 1 2 3 4 5 \n");
printf("Nomor Kasir: "); scanf("%i", &nama_ksr);
printf("\n");
//print memanggil array kasir
if (nama_ksr==1) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[0]); }
else if (nama_ksr==2) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[1]); }
else if (nama_ksr==3) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[2]); }
else if (nama_ksr==4) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[3]); }
else { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[4]); }
}
//end for linux
for Windows
=====================================================================
#include <stdio.h>
#include <stdlib.h>
//#include <curses.h> //adalah Linux alternative untuk conio.h di windows
#include <conio.h> //ini untuk di windows
#include <string.h>
/*
UAS Algoritma Pemrograman Semester 1 : PTI 1B Kelompok 2
Bisa langsung dijalankan di Codeblock
dibuat di ZorinOS Linux
di windows perlu sedikit penyesuaian header librari... dan beberapa penyesuaian perintah sytem()
*/
//ini adalah fungsi sebagai pengganti fungsi fflush(stdin)
void clean_stdin(void)
{
int c;
do {
c = getchar();
} while (c != '\n' && c != EOF);
}
//ini adalah fungsi untuk menentukan harga
int fungsi_harga(char kode_brg)
{
int harga;
if (kode_brg=='a' || kode_brg=='A') {harga=2000000; } // || adalah simbol OR, && adalah simbol DAN
if (kode_brg=='b' || kode_brg=='B') {harga=3000000; }
if (kode_brg=='c' || kode_brg=='C') {harga=150000; }
if (kode_brg=='d' || kode_brg=='D') {harga=250000; }
if (kode_brg=='e' || kode_brg=='E') {harga=8000000; }
else {
}
return harga;
}
//ini program utama
int main()
{
int nama_ksr, jumlah, bayar, diskon, grand, coba_son=0;
char kode_brg, usr_kan[10], pas_to[10];
//ini adalah array 2 dimensi untuk data kasir
char kasir[5][15] =
{
{"Fatma N"},
{"Khabib K"},
{"Salma A"},
{"Arif R"},
{"Soni H"}
};
//ini adalah array 2 dimensi untuk data daftar barang
char list_brg[5][15] =
{
{"Televisi"},
{"Kulkas"},
{"Radio"},
{"Magic Com"},
{"Laptop"}
};
printf("\n\n");
printf("\t\t SELAMAT DATANG \n");
printf("\t\t ================================ \n");
printf("\t\t SILAHKAN LOGIN \n\n\n\n\n");
//looping untuk entri password 5x
while (coba_son<5)
{
printf("Masukkan user name: ");
scanf("%s", usr_kan);
printf("Masukkan password: ");
scanf("%s", pas_to);
if (strcmp(usr_kan,"cendol")==0&&strcmp(pas_to,"dawet")==0) // strcmp= adalah untuk membandingkan 2 buah string/kata
{
goto masuk; //label
}
else
{
printf("\n\n");
printf("\t ============================================ \n\n");
printf("\t Maaf user atau password anda salah..!!!\n");
printf("\t Silahkan coba lagi...\n\n");
printf("\t ============================================ \n\n\n");
coba_son++;
}
}
//system("clear"); // clear adalah perintah terminal linux untuk membersihkan layar
system("cls"); // cls adalah perintah cmd windows untuk membersihkan layar
printf("\n\n");
printf("\t\t\t MAAF.. ANDA TELAH 5x SALAH \n\n");
printf("\t\t\t ============================ \n");
printf("\t\t ================ AKSES DI TOLAK ================= \n");
printf("\t\t\t ============================ \n");
printf("\n\n\n");
printf("Tekan Enter untuk keluar.......");
printf("\n\n\n");
exit(0);
masuk: //label
//system("clear"); // clear adalah perintah terminal linux untuk membersihkan layar
system("cls"); // cls adalah perintah cmd windows untuk membersihkan layar
printf("\n");
printf("\t\t SELAMAT DATANG \n");
printf("\t\t Program Penjualan Sangat Sederhana Sekali \n\n");
printf("\t\t UAS ALGORITMA PEMROGRAMAN \n");
printf("\n");
printf("\n");
printf("\t\t Kelompok 2 \n");
printf("\t Fatma N - Khabib K - Salma A - Arif R - Soni H \n");
printf("\t\t ====================================== \n\n\n\n");
printf("Daftar Barang Yang Tersedia: \n\n");
printf("KODE BARANG \t\t HARGA \n");
printf("--------------------------------------\n");
printf("A. Televisi \t\t Harga \t Rp. 2.000.000\n");
printf("B. Kulkas \t\t Harga \t Rp. 3.000.000\n");
printf("C. Radio \t\t Harga \t Rp. 150.000\n");
printf("D. Magic Com \t\t Harga \t Rp. 250.000\n");
printf("E. Laptop \t\t Harga \t Rp. 8.000.000\n");
printf("\n");
printf("Diskon 20%% apabila total pembelian lebih dari Rp 10.000.000 \n\n"); // simbol % harus di tulis ganda, yaitu %%
/*
//ini fungsi LOOP perulangan DO.... WHILE, sekaligus untuk VALIDASI kode barang
//untuk membandingkan saja apa perbedaan dari WHILE vs DO.... WHILE
do {
printf("\t\t\t Ketik kode barang yg ingin di beli: "); scanf("%c", &kode_brg);
clean_stdin(); }
while (kode_brg!='a' && kode_brg!='b' && kode_brg!='c' && kode_brg!='d' && kode_brg!='e' && //simbol && adalah simbol dan
kode_brg!='A' && kode_brg!='B' && kode_brg!='C' && kode_brg!='D' && kode_brg!='E');
*/
//ini fungsi LOOP perulangan WHILE, sekaligus untuk VALIDASI kode barang
while (kode_brg!='a' && kode_brg!='b' && kode_brg!='c' && kode_brg!='d' && kode_brg!='e' && //simbol && adalah simbol dan
kode_brg!='A' && kode_brg!='B' && kode_brg!='C' && kode_brg!='D' && kode_brg!='E')
{
clean_stdin();
printf("\t\t\t Ketik kode barang yg ingin di beli: "); scanf("%c", &kode_brg);
clean_stdin();
}
//print memanggil array list_brg
if (kode_brg=='a' || kode_brg=='A') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[0]); }
else if (kode_brg=='b' || kode_brg=='B') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[1]); }
else if (kode_brg=='c' || kode_brg=='C') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[2]); }
else if (kode_brg=='d' || kode_brg=='D') { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[3]); }
else { printf("\t\t ====================================== \n");
printf("\t\t Nama barang yang dibeli: %s\n\n\n", list_brg[4]); }
// ini fungsi LOOP perulangan, dan juga validasi jumlah barang tidak boleh 0 atau minus...
do {
printf("\t\t\t ketik jumlah barang: "); scanf("%i", &jumlah);
//printf("\n");
clean_stdin();
}
while (0 >= jumlah);
printf("\t\t ====================================== \n");
printf("\t\t Jumlah barang yang di beli: %i\n\n", jumlah);
//ini memanggil fungsi harga
bayar=fungsi_harga(kode_brg) * jumlah;
printf("\t\t\t total harga sebesar: %i\n", bayar);
//untuk menghitung diskon, dengan fungsi if
if (bayar>10000000) diskon=bayar*0.20;
else diskon=0;
printf("\t\t\t Diskon anda adalah: %i\n\n", diskon);
grand=bayar - diskon;
printf("\t\t ====================================== \n");
printf("\t\t TOTAL HARUS DI BAYAR: %i\n\n\n", grand);
printf("Silahkan Pilih Loket Bayar: 1 2 3 4 5 \n");
printf("Nomor Kasir: "); scanf("%i", &nama_ksr);
printf("\n");
//print memanggil array kasir
if (nama_ksr==1) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[0]); }
else if (nama_ksr==2) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[1]); }
else if (nama_ksr==3) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[2]); }
else if (nama_ksr==4) { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[3]); }
else { printf("\t\t ====================================== \n");
printf("\t\t Silahkan menuju ke Kasir: %s\n\n\n", kasir[4]); }
}
//end for windows