static void TambahData(List <Karyawan> karyawan) { Console.Clear(); Console.WriteLine("=========== Menu Menambah Karyawan ==========="); Console.WriteLine("\nPilih Tipe Karyawan: "); Console.WriteLine("[1] Karyawan Tetap \n[2] Karyawan Harian \n[3] Sales"); Console.Write("Masukkan Pilihan Anda [1-3]: "); int pil = int.Parse(Console.ReadLine()); switch (pil) { case 1: { KaryawanTetap karyawanTetap = new KaryawanTetap(); Console.WriteLine("\nTambah Karyawan Tetap"); Console.Write("Masukkan NIK \t\t\t: "); karyawanTetap.NIK = Console.ReadLine(); Console.Write("Masukkan Nama \t\t\t: "); karyawanTetap.Nama = Console.ReadLine(); Console.Write("Masukkan Gaji Bulanan \t\t: "); karyawanTetap.GajiBulanan = Convert.ToDouble(Console.ReadLine()); karyawan.Add(karyawanTetap); break; } case 2: { KaryawanHarian karyawanHarian = new KaryawanHarian(); Console.WriteLine("Tambah Karyawan Harian"); Console.Write("Masukkan NIK \t\t\t: "); karyawanHarian.NIK = Console.ReadLine(); Console.Write("Masukkan Nama \t\t\t: "); karyawanHarian.Nama = Console.ReadLine(); Console.Write("Masukkan Upah per Jam \t\t: "); karyawanHarian.UpahPerJam = Convert.ToDouble(Console.ReadLine()); Console.Write("Masukkan Jam Kerja \t\t: "); karyawanHarian.JumlahJamKerja = Convert.ToDouble(Console.ReadLine()); karyawan.Add(karyawanHarian); break; } case 3: { Sales sales = new Sales(); Console.WriteLine("Tambah sales"); Console.Write("Masukkan NIK \t\t\t: "); sales.NIK = Console.ReadLine(); Console.Write("Masukkan Nama \t\t\t: "); sales.Nama = Console.ReadLine(); Console.Write("Masukkan Jumlah Penjualan \t: "); sales.JumlahPenjualan = Convert.ToDouble(Console.ReadLine()); Console.Write("Masukkan Komisi \t\t: "); sales.Komisi = Convert.ToDouble(Console.ReadLine()); karyawan.Add(sales); break; } default: { Console.WriteLine("Pilihan tidak ada, silahkan masukkan lagi.\nPress Any Button"); Console.ReadKey(); TambahData(karyawan); break; } } }
static void TambahData(List <Karyawan> karyawan) { Console.Clear(); Console.WriteLine("====================================="); Console.WriteLine("========== TAMBAH KARYAWAN =========="); Console.WriteLine("====================================="); Console.WriteLine("\nSilahkan Pilih Jenis Karyawan: "); Console.WriteLine("1. Karyawan Tetap \n"); Console.WriteLine("2. Karyawan Harian \n"); Console.WriteLine("3. Sales"); InvalidOption: string opt; Console.Write("Masukkan Pilihan [1-3]: "); opt = Console.ReadLine(); Console.WriteLine(); if (opt == "1") { KaryawanTetap karyawanTetap = new KaryawanTetap(); Console.WriteLine("Tambah Karyawan Tetap"); Console.Write("Masukkan NIK \t\t: "); karyawanTetap.NIK = Console.ReadLine(); Console.Write("Masukkan Nama \t\t: "); karyawanTetap.Nama = Console.ReadLine(); Console.Write("Masukkan Gaji Bulanan \t: "); karyawanTetap.GajiBulanan = Convert.ToDouble(Console.ReadLine()); // Menambahkan Data karyawan.Add(karyawanTetap); } else if (opt == "2") { KaryawanHarian karyawanHarian = new KaryawanHarian(); Console.WriteLine("Tambah Karyawan Harian"); Console.Write("Masukkan NIK \t\t: "); karyawanHarian.NIK = Console.ReadLine(); Console.Write("Masukkan Nama \t\t: "); karyawanHarian.Nama = Console.ReadLine(); Console.Write("Masukkan Upah per Jam \t: "); karyawanHarian.UpahPerJam = Convert.ToDouble(Console.ReadLine()); Console.Write("Masukkan Jam Kerja \t: "); karyawanHarian.JumlahJamKerja = Convert.ToDouble(Console.ReadLine()); karyawan.Add(karyawanHarian); } else if (opt == "3") { Sales sales = new Sales(); Console.WriteLine("Tambah Karyawan Harian"); Console.Write("Masukkan NIK \t\t: "); sales.NIK = Console.ReadLine(); Console.Write("Masukkan Nama \t\t: "); sales.Nama = Console.ReadLine(); Console.Write("Masukkan Jml Penjualan \t: "); sales.JumlahPenjualan = Convert.ToDouble(Console.ReadLine()); Console.Write("Masukkan Komisi \t: "); sales.Komisi = Convert.ToDouble(Console.ReadLine()); karyawan.Add(sales); } else { Console.WriteLine("Pilihan tidak ada, silahkan masukkan lagi"); goto InvalidOption; } }
static void Main(string[] args) { List <Karyawan> listKaryawan = new List <Karyawan>(); KaryawanTetap karyawanTetap = new KaryawanTetap(); KaryawanHarian karyawanHarian = new KaryawanHarian(); Sales sales = new Sales(); void menu(List <Karyawan> listKaryawan) { back: Console.Clear(); Console.WriteLine("Pilih Menu Aplikasi"); Console.WriteLine(); Console.WriteLine("1. Tambah Data Karyawan"); Console.WriteLine("2. Hapus Data Karyawan"); Console.WriteLine("3. Tampilkan Data Karyawan"); Console.WriteLine("4. Keluar"); Console.WriteLine("5. About Me"); Console.WriteLine(); Console.Write("Nomor Menu [1..5]: "); int Menu = int.Parse(Console.ReadLine()); if (Menu == 1) { tambahDataKaryawan(listKaryawan); Console.WriteLine(); } else if (Menu == 2) { hapusDataKaryawan(listKaryawan); Console.WriteLine(); } else if (Menu == 3) { tampilDataKaryawan(listKaryawan); Console.WriteLine(); } else if (Menu == 4) { System.Environment.Exit(1); } else if (Menu == 5) { aboutme(); Console.WriteLine(); } else { Console.WriteLine("Input Salah"); goto back; } } void tambahDataKaryawan(List <Karyawan> listKaryawan) { back: Console.Clear(); Console.WriteLine("Tambah Data Karyawan"); Console.WriteLine(); Console.Write("Jenis Karyawan [1. Karyawan Tetap, 2. Karyawan Harian, 3. Sales] : "); int kar = int.Parse(Console.ReadLine()); if (kar == 1) { Console.Write("NIK : "); karyawanTetap.NIK = Console.ReadLine(); Console.Write("Nama : "); karyawanTetap.Nama = Console.ReadLine(); Console.Write("Gaji Bulanan : "); karyawanTetap.GajiBulanan = Convert.ToDouble(Console.ReadLine()); listKaryawan.Add(karyawanTetap); Console.WriteLine(); Console.WriteLine("Tekan Enter Untuk Kembali Ke Menu"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); menu(listKaryawan); } else { Console.WriteLine("Inputan Salah"); goto back; } } else if (kar == 2) { Console.Write("NIK : "); karyawanHarian.NIK = Console.ReadLine(); Console.Write("Nama : "); karyawanHarian.Nama = Console.ReadLine(); Console.Write("Upah Per Jam : "); karyawanHarian.UpahPerJam = Convert.ToDouble(Console.ReadLine()); Console.Write("Jumlah Jam Kerja : "); karyawanHarian.JumlahJamKerja = Convert.ToDouble(Console.ReadLine()); listKaryawan.Add(karyawanHarian); Console.WriteLine(); Console.WriteLine("Tekan Enter Untuk Kembali Ke Menu"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); menu(listKaryawan); } else { Console.WriteLine("Inputan Salah"); goto back; } } else if (kar == 3) { Console.Write("NIK : "); sales.NIK = Console.ReadLine(); Console.Write("Nama : "); sales.Nama = Console.ReadLine(); Console.Write("Jumlah Penjualan : "); sales.JumlahPenjualan = Convert.ToDouble(Console.ReadLine()); Console.Write("Komisi : "); sales.Komisi = Convert.ToDouble(Console.ReadLine()); listKaryawan.Add(sales); Console.WriteLine(); Console.WriteLine("Tekan Enter Untuk Kembali Ke Menu"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); menu(listKaryawan); } else { Console.WriteLine("Inputan Salah"); goto back; } } else { Console.WriteLine("Inputan Anda Salah!"); goto back; } } void hapusDataKaryawan(List <Karyawan> listKaryawan) { Console.Clear(); bool ketemu = false; Console.WriteLine("Hapus Data Karyawan"); Console.Write("NIK : "); string nik = Console.ReadLine(); for (int i = 0; i < listKaryawan.Count; i++) { if (listKaryawan[i].NIK == nik) { listKaryawan.Remove(listKaryawan[i]); ketemu = true; } else { ketemu = false; } } if (ketemu == false) { Console.WriteLine("NIK tidak ditemukan"); } else { Console.WriteLine("Data Karyawan Berhasil dihapus"); } back: Console.WriteLine(); Console.WriteLine("Tekan Enter Untuk Kembali Ke Menu"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); menu(listKaryawan); } else { Console.WriteLine("Inputan Salah"); goto back; } } void tampilDataKaryawan(List <Karyawan> listKaryawan) { Console.Clear(); int noUrut = 1; foreach (Karyawan karyawan in listKaryawan) { Console.WriteLine("{0}. NIK: {1}, Nama: {2}, Gaji: {3:N0}, {4}", noUrut, karyawan.NIK, karyawan.Nama, karyawan.Gaji(), karyawan.jenis(karyawan)); noUrut++; } back: Console.WriteLine(); Console.WriteLine("Tekan Enter Untuk Kembali Ke Menu"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); menu(listKaryawan); } else { Console.WriteLine("Inputan Salah"); goto back; } } void aboutme() { back: Console.Clear(); Console.WriteLine("ABOUT ME"); Console.WriteLine("CREATED BY"); Console.WriteLine("Onny Vergiean Saputra"); Console.WriteLine("19.11.27371"); Console.WriteLine(); Console.WriteLine("Tekan Enter Untuk Kembali Ke Menu"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); menu(listKaryawan); } else { Console.WriteLine("Inputan Salah"); goto back; } } menu(listKaryawan); }
static void Main(string[] args) { KaryawanTetap[] karyawanTetap = new KaryawanTetap[20]; KaryawanHarian[] karyawanHarian = new KaryawanHarian[20]; Sales[] sales = new Sales[20]; List <Karyawan> listkaryawan = new List <Karyawan>(); int p1, p2; int i = 0, j = 0, x = 0; do { k1: Console.Title = "Inheritance, Polymorphsim, Abstraction & Collection Bagian #2"; Console.WriteLine("Karyawan"); Console.WriteLine("================================="); Console.WriteLine("Pilihan Menu : "); Console.WriteLine("1. Tambah Data"); Console.WriteLine("2. Hapus Data"); Console.WriteLine("3. Tampilkan Data"); Console.WriteLine("4. Keluar"); Console.WriteLine("=================================="); Console.WriteLine(); Console.Write("Masukan Pilihan : "); p1 = Convert.ToInt32(Console.ReadLine()); switch (p1) { case 1: Console.Clear(); do { Console.WriteLine("Tambah Karyawan"); Console.WriteLine("=================================="); Console.WriteLine("Pilih Karyawan : "); Console.WriteLine("1. Karyawan Tetap "); Console.WriteLine("2. Karyawan Harian"); Console.WriteLine("3. Sales"); Console.WriteLine("4. Kembali"); Console.WriteLine("==================================/n"); Console.WriteLine("Masukan Pilihan : "); p2 = Convert.ToInt32(Console.ReadLine()); switch (p2) { //Tambah Karyawan case 1: //Karyawan Tetap i++; karyawanTetap[i] = new KaryawanTetap(); Console.Clear(); Console.WriteLine("\nTambah Karyawan Tetap \n "); Console.Write("NIK : "); karyawanTetap[i].Nik = Console.ReadLine(); Console.Write("Nama : "); karyawanTetap[i].Nama = Console.ReadLine(); Console.Write("Gaji Bulanan : "); karyawanTetap[i].GajiBulanan = int.Parse(Console.ReadLine()); //list listkaryawan.Add(karyawanTetap[i]); Console.WriteLine("\n"); break; case 2: //Karyawan Harian j++; karyawanHarian[j] = new KaryawanHarian(); Console.Clear(); Console.WriteLine("\nTambah Karyawan Harian \n "); Console.Write("NIk : "); karyawanHarian[j].Nik = Console.ReadLine(); Console.Write("Nama : "); karyawanHarian[j].Nama = Console.ReadLine(); Console.Write("Jumlah Jam Kerja : "); karyawanHarian[j].JumlahJamKerja = Convert.ToDouble(Console.ReadLine()); Console.Write("Upah Per Jam : "); karyawanHarian[j].UpahPerJam = Convert.ToDouble(Console.ReadLine()); //list listkaryawan.Add(karyawanHarian[j]); Console.WriteLine("\n"); break; case 3: //Sales x++; sales[x] = new Sales(); Console.Clear(); Console.WriteLine("\nTambah Sales \n "); Console.Write("NIK : "); sales[x].Nik = Console.ReadLine(); Console.Write("Nama : "); sales[x].Nama = Console.ReadLine(); Console.Write("Jumlah Penjualan : "); sales[x].JumlahPenjualan = Convert.ToDouble(Console.ReadLine()); Console.Write("Komisi : "); sales[x].Komisi = Convert.ToDouble(Console.ReadLine()); //list listkaryawan.Add(sales[x]); Console.WriteLine("\n"); break; case 4: Console.Clear(); goto k1; } }while (p2 != 4); Console.Clear(); break; //Hapus Karyawan case 2: Console.Clear(); Console.WriteLine("Hapus Karyawan"); Console.WriteLine("---------------------------------"); Console.Write("NIK : "); string nikhapus = Console.ReadLine(); if (listkaryawan.Any(n => n.Nik == nikhapus)) { listkaryawan.RemoveAll(x => x.Nik == nikhapus); Console.WriteLine("Data karyawan berhasil dihapus\n\n"); } else { Console.WriteLine("Data tidak ditemukan\n\n"); } break; //Tampil Data Karyawan case 3: Console.Clear(); Console.WriteLine("Tampilkan Data"); Console.WriteLine("---------------------------------"); int nourut = 0; foreach (Karyawan karyawan in listkaryawan) { nourut++; Console.Write("{0}. NIK : {1} | Nama: {2} | Gaji: {3:N0} | ", nourut, karyawan.Nik, karyawan.Nama, karyawan.Gaji()); if (karyawan is KaryawanTetap) { Console.Write("Karyawan Tetap \n"); } else if (karyawan is KaryawanHarian) { Console.Write("Karyawan Harian \n"); } else if (karyawan is Sales) { Console.Write("Sales \n"); } } Console.WriteLine("\n"); break; //KELUAR case 4: Environment.Exit(0); break; default: Console.WriteLine("Input Anda Salah"); break; } }while (p1 != 4); Environment.Exit(0); }