Showing posts with label kampus. Show all posts
Showing posts with label kampus. Show all posts

Source code Aplikasi Mesin ATM Sederhana menggunakan bahasa pemrograman C++

Gimana kabarnya teman teman sekalian...

Hari ini saya akan membagikan source code  aplikasi Mesin ATM sederhana yang dibuat menggunakan bahasa pemrograman C++,dimana aplikasi ini memiliki 4 menu yaitu:

1. Tarik Tunai

2. Tabung Tunai

3. Cek Saldo

4. Transfer

Di dalam aplikasi ini juga diterapkan perulangan do while untuk menanyakan apakah akan melakukan transaksi kembali setelah transaksi sebelumnya berhasil...

Berikut saya lampir kan source code nya:

#include <iostream>
#include <cstdlib>

using namespace std;
int saldo_awal;

void header(){
cout<<"=========================================\n"
	<<"\t	SELAMAT DATANG DI ATM BERKAH		\n"
	<<"========================================= \n";
}
void footer(){
cout<<"=========================================\n"
	<<"\t	Terima Kasih atas kunjungan anda\n"
	<<"\t silahkan cek kembali uang anda\n"
	<<"dan pastikan tidak ada barang yang tertinggal\n"
	<<"========================================= \n";
}

void cekSaldo(){
    	cout<<"total saldo anda sekarang adalah "<<saldo_awal <<" rupiah"<< endl;
	cout<<"=========================\n";
}

int main(){
	
int tarik,setor,rekTujuan,transfer,kode;
string ulang;

header();
                    
cout<<"silahkan masukkan Saldo Awal anda:";
cin>>saldo_awal;

menu :
	cout<<"\nselamat datang\n\n";
	do{
	 system ("cls");
cout<<"PILIHAN MENU\n";
cout<<"1.tarik tunai\n2,tabung tunai\n3,cek saldo\n4,transfer\n\n";
cout<<"Masukkan kode menu :";
cin>>kode;
if(kode == 1){
	tarik :
cout<<"\n==========================\n";
cout<<"tarik tunai\n";
cout<<"============================\n";
cout<<"silahkan masukkan uang yang anda ingin ambil:";
cin>>tarik;
if(tarik<0){
cout<<"Jumlah penarikan masih kosong\n";
system("cls");
header();
goto tarik;
}
else{
	if (tarik>saldo_awal){
		cout<<"saldo tidak mencukupi\n";
	}
else{
	saldo_awal-=tarik;
	cout<<"=========================\n";
	cout<<"silahkan hitung kembali uang yang telah anda ambil\n";
	cekSaldo();
}
system("cls");
}
}else if (kode==2){
	setor :
cout<<"\n==========================\n";
cout<<"setor tunai\n";
cout<<"============================\n";
cout<<"silahkan masukkan uang yang anda ingin setor:";
cin>>setor;
if(setor<0){
cout<<"Jumlah setor masih kosong\n";
system("cls");
header();
goto setor;
}else{
	saldo_awal+=setor;
	cout<<"=========================\n";
	cout<<"silahkan hitung kembali uang yang telah anda ambil\n";
	cekSaldo();
}
}else if (kode==3){
	cout<<"\n=======================\n";
	cout<<"cek saldo\n";
	cout<<"=========================\n";
	cekSaldo();
system("cls");

}else if (kode==4){
	transfer :
cout<<"\n==========================\n";
cout<<"transfer\n";
	cout<<"=========================\n";
 cout << "Masukkan No. Rekening Tujuan: ";
      cin >> rekTujuan;
cout<<"============================\n";
cout<<"silahkan masukkan jumlah uang yang anda ingin transfer:";
cin>>transfer;
if(transfer<0){
cout<<"Jumlah transfer masih kosong\n";
system("cls");
header();
goto transfer;
}
else{
	if (transfer>saldo_awal){
		cout<<"saldo tidak mencukupi\n";
	}
else{
	saldo_awal-=transfer;
	cout<<"=========================\n";
	cout << " Anda telah transfer ke " << rekTujuan << " sebesar " << transfer <<
	" Rupiah"<< endl;
cekSaldo();
}
system("cls");
}
}else{
	cout<<"\nkode yang anda masukkan tidak ada,\npastikan kode yang anda masukkan benar\n";
system("pause");
system("cls");
header();
goto menu;
}
  cout << "Anda ingin melakukan transaksi lainnya ? <y/n> ";
      cin >> ulang;
      if (ulang == "y")
	{
	  system ("cls");
	}
      else if (ulang == "n")
	{
	  system ("cls");
	  cout <<
	    "Terima Kasih telah menggunakan ATM BERKAH\n Semoga hari anda menyenangkan ";
	}
}  while (ulang == "y");
}


Gambar Hasil menjalankan program


Saya berharap semoga melalui tulisan ini dapat membantu teman teman sekalian..

Keamanan Jaringan CISCO dengan Studi Kasus PART IV


3.5    Mengatur default route agar router GW dapat merutekan paket data ke Internet


1.      Berpindah ke mode global configuration

GW# conf t

2.      Mengatur default route

GW(config)# ip route 0.0.0.0 0.0.0.0 172.16.1.142

3.      Berpindah ke mode privilege

GW(config)# end

4.      Menampilkan informasi routing table
Memverifikasi koneksi dari router GW ke salah satu server yang terdapat di Internet sebagai contoh Server Root DNS menggunakan perintah ping.
Pastikan hasil eksekusi dengan ping adalah sukses.

5.    Menyebarkan default route melalui EIGRP di Router GW

GW(config)# router eigrp 1
GW(config-router)# redistribute static
GW(config-router)# end
Memverifikasi hasil pengaturan penyebaran default route di router GW pada tabel routing di router R1

Memverifikasi hasil pengaturan penyebaran default route di router GW pada tabel routing di router CORE

Memverifikasi hasil pengaturan penyebaran default route di router GW pada tabel routing di router R2

3.6    Mengaktifkan NAT pada interface gi0/0 dan gi0/1

1.      Berpindah ke mode global configuration

GW# conf t

2.      Berpindah ke interface configuration untuk gi0/0

GW(config)# int gi0/ 0

3.      Mengatur NAT inside

GW(config -if)# ip nat inside

4.      Berpindah ke interface configuration untuk gi0/1

GW(config -if)# int gi0/01

5.      Mengatur NAT outside

GW(config -if)# ip nat outside

6.      Berpindah ke mode ke satu mode sebelumnya

GW(config -if)# exit





Keamanan Jaringan CISCO dengan Studi Kasus PART III


3.3     Konfigurasi dasar pada Router ASA
1. Berpindah dari user exec mode ke privilege mode


ciscoasa>enable

Password: <-- (Tekan Enter - Blank Password)

2.  Menampilkan informasi interface dan vlan yang terdapat di Cisco ASA ciscoasa#show switch vlan




3.  Menampilkan informasi konfigurasi aktif yang sedang berjalan

ciscoasa#show run

Terlihat terdapat dhcp pool default

4. Menghapus dhcp pool default

ciscoasa#conf t
ciscoasa(config)#no dhcpd address 192.168.1.5-192.168.1.36 inside

5.  Mengatur pengalamatan IP pada interface vlan 1 (inside) dan mengaktifkan interfacenya

ciscoasa(config)#int vlan 1
ciscoasa(config-if)#ip address 172.16.1.142 255.255.255.252
ciscoasa(config-if)#no shutdown

6.  Mengatur pengalamatan IP pada interface vlan 2 (outside)dan mengaktifkan interfacenya

         ciscoasa(config-if)#int vlan 2
ciscoasa(config-if)#ip address 203.1.1.1 255.255.255.248
ciscoasa(config-if)#no shutdown

7. Mengatur pengalamatan IP pada interface vlan 3 (DMZ)

         ciscoasa(config-if)#int vlan 3
         ciscoasa(config-if)#ip address 172.16.1.146 255.255.255.252

8. Menonaktifkan forwarding ke interface vlan 1

ciscoasa(config-if)#no forward interface vlan 1

9. Mengatur name interface (nameif) DMZ untuk interface vlan 3

ciscoasa(config-if)#nameif DMZ

10. Mengatur security level untuk interface name DMZ

ciscoasa(config-if)#security-level 50

11. Mengatur agar interface e0/2 menjadi anggota dari vlan 3

ciscoasa(config-if)#int e0/2
ciscoasa(config-if)#switchport access vlan 3

14. Berpindah ke satu mode sebelumnya

ciscoasa(config-if)#exit


15. Mengatur default route ke router ISP pada interface outside

ciscoasa(config)#route outside 0.0.0.0 0.0.0.0 203.1.1.2

Berpindah ke privilege exec mode

ciscoasa(config)#end

16.  Menampilkan informasi pengalamatan IP pada keseluruhan interface ciscoasa#show ip address
17. Menampilkan informasi vlan dan keanggotaan port per vlan

ciscoasa#show switch vlan
18. Menampilkan informasi tabel routing

ciscoasa#show route
Sampai tahap ini cisco ASA akan dapat mengakses Internet namun client di LAN belum dapat mengakses Internet karena belum dilakukan pengaturan Port Address Translation (PAT). Begitu pula server Publik pada DMZ belum dapat diakses oleh client di Internet karena belum dilakukan konfigurasi STATIC NAT.


3.4     Konfigurasi Pat Untuk Internet Connection Sharing Pada Cisco Asa

1.  Berpindah ke mode global configuration ciscoasa#conf t

2.  Membuat network object dengan nama LAN-INTERNET ciscoasa(config)#object network LAN-INTERNET

3.  Mengatur atribut subnet

ciscoasa(config-network-object)#subnet 172.16.0.140 255.255.255.252

4. Mengatur atribut nat

ciscoasa(config-network-object)#nat (inside,outside)

dynamic interface

5.   Mengatur Modular Policy Framework (MPF) untuk melakukan inspeksi paket dari inside ke outside agar trafik yg diinisiasi dari inside yang diijinkan kembali pada interface outside

a. Membuat class-map

ciscoasa(config)#class-map inspection_default
ciscoasa(config-cmap)#match default-inspection-traffic
ciscoasa(config-cmap)#exit

b. Membuat policy-map

ciscoasa(config)#policy-map global_policy
ciscoasa(config-pmap)#class inspection_default
ciscoasa(config-pmap-c)#inspect icmp
ciscoasa(config-pmap-c)#inspect http
ciscoasa(config-pmap-c)#inspect dns
ciscoasa(config-pmap-c)#inspect ftp

c. Membuat service-policy

ciscoasa(config)#service-policy global_policy global



Keamanan Jaringan CISCO dengan Studi Kasus PART II


KEBIJAKAN KEAMANAN

Sebuah perusahaan fiktif dengan nama PT. MINERAL ABADI (MA) memiliki jaringan internal untuk memfasilitasi komunikasi antara host-host yang terdapat di bagian keuangan ,bagian karyawan dan bagian sales serta akses ke layanan pada Server TFTP, NTP

&  Syslog , Server Web dan FTP Intranet yang terdapat pada subnet Server Farm. PT. MA juga memiliki koneksi Internet untuk menunjang kegiatan operasional perusahaan dan Server Public dengan nama domain mineralabadi.com yang terdapat di area DMZ.Server Public ini digunakan sebagai media distribusi informasi perusahaan agar dapat diakses oleh pengguna dari Internet. Selain itu PT. MA juga menggunakan layanan email dari gmail.com untuk korespondensi.

Untuk mengamankan akses terhadap sumber daya di jaringan internal dan Internet maka PT. MA membuat kebijakan keamanan yang diimplementasikan menggunakan Cisco Access Control List (ACL) dan untuk mengamankan akses terhadap sumber daya di jaringan internal membuat kebijakan keamanan yang dimplementasikan sebagai Firewall menggunakan Router ASA. Dimana agar antar jaringan internal PT.MA termasuk subnet DMZ dapat saling berkomunikasi maka dilakukan Konfigurasi Routing Protokol EIGRP pada Router R1, CORE, R2 dan GW .

Pada Server Public DMZ dari PT. MA bisa diakses sumber daya dari luar jaringan internal PT.MA dengan hanya tersedia layanan HTTP & HTTPS yang di ijinkan.

Setiap subnet memiliki kebijakan untuk mengakses layanan di internet yang akan diterapkan pada jaringan internal seluruh host yaitu di Subnet KEUANGAN hanya dapat mengakses layanan HTTP & HTTPS serta Email berbeda dengan Subnet KARYAWAN dapat mengakses seluruh layanan pada internet , sedangkan pada Subnet SALES hanya dapat mengakses layanan EMAIL ,tetapi berbeda dengan host PC NetMon pada Subnet SERVER FARM yang dapat mengakses seluruh layanan pada internet.

Untuk mengantisipasi pemadaman listrik atau terjadi masalah pada router maka PT.MA menyediakan server untuk menyimpan konfigurasi yang ada pada semua router pada jaringan internal PT.MA,Adapun router R1, CORE dan R2 di jaringan internal PT. MA yang hanya dapat mengakses TFTP,NTP & SYSLOG Server Intranet pada subnet Server Farm.sedangkan untuk layanan FTP pada Server Web Intranet bisa diakses oleh seluruh host di subnet SALES dan untuk layanan HTTP dan HTTPS pada Server Web Intranet dapat diakses dari subnet KEUANGAN ,subnet KARYAWAN dan subnet SALES.

Untuk komunikasi dengan aman dari Subnet KARYAWAN ataupun Subnet KEUANGAN menuju subnet SERVER FARM maka PT.MA menggunkan fitur VPN,dengan VPN semua Layanan yang ada pada subnet SERVER FARM dapat diakses.



KONFIGURASI DASAR



3.1    Konfigurasi Ip Address Dan Mengaktifkan Interface pada Router

3.1.1    Konfigurasi ip address dan mengaktifkan interfacenya pada router R1

1.      Berpindah ke mode privilege

R1>enable

2.      Berpendah ke mode global configuration
R1#conf t

3.      Menambahkan ip address pada interface Fastethernet 0/0

R1(config)#int fa0/0
R1(config-if)#ip address 172.16.0.1 255.255.255.128
R1(config-if)#no shutdown

4.      Menambahkan ip address pada interface Fastethernet 0/1

R1(config)#int fa0/1

R1(config-if)#ip address 172.16.1.130 255.255.255.252 
R1(config-if)#no shutdown

5.      Menambahkan ip address pada interface vlan 1

R1(config)#int vlan 1 
R1(config-if)#no shutdown

6.      Menampilkan ip address pada interfaces router R1


7.      Konfigurasi DHCP Server untuk pemberian Ip address secara dinamis ke Subnet

KARYAWAN

R1(config)#int fa0/0 
R1(config-if)#ip dhcp pool KARYAWAN

R1(dhcp-config)#net 172.16.0.0 255.255.255.128 
R1(dhcp-config)#default 172.16.0.1 
R1(dhcp-config)#dns-server 202.203.204.1 
R1(dhcp-config)#exit

R1(config)#ip dhcp exc 172.16.0.1 
R1(config)#end


3.1.2     Konfigurasi ip address dan mengaktifkan interfacenya pada router R2

1.      Berpindah ke mode privilege

R2>enable

2.      Berpendah ke mode global configuration
R2#conf t

3.      Menambahkan ip address pada interface Fastethernet 0/0

R2(config)#int fa0/0

R2(config-if)#ip address 172.16.1.133 255.255.255.252
R2(config-if)#no shutdown

4.      Menambahkan ip address pada interface vlan 1

R2(config)#int vlan 1
R2(config-if)#ip address 172.16.1.62 255.255.255.192
R2(config-if)#no shutdown

5.      Menampilkan ip address pada interfaces router R2
3.1.3     Konfigurasi ip address dan mengaktifkan interfacenya pada router CORE

1.      Berpindah ke mode privilege

CORE>enable

2.      Berpendah ke mode global configuration
CORE#conf t

3.      Menambahkan ip address pada interface Fastethernet 0/0

CORE(config)#int fa0/0
CORE(config-if)#ip address 172.16.1.129 255.255.255.252
CORE(config-if)#no shutdown

4.      Menambahkan ip address pada interface Fastethernet 0/1

CORE(config)#int fa0/1
CORE(config-if)#ip address 172.16.1.134 255.255.255.252
CORE(config-if)#no shutdown

5.      Menambahkan ip address pada interface Fastethernet 1/0

CORE(config)#int fa0/1
CORE(config-if)#ip address 172.16.1.137 255.255.255.252
CORE(config-if)#no shutdown
6.       Menambahkan ip address pada interface vlan 1

CORE(config)#int vlan 1
CORE(config-if)#ip address 172.16.1.126 255.255.255.192
CORE(config-if)#no shutdown

7.       Menampilkan ip address pada interfaces router CORE

3.1.4    Konfigurasi ip address dan mengaktifkan interfacenya pada router GW

1.      Berpindah ke mode privilege

GW>enable

2.      Berpendah ke mode global configuration
GW#conf t

3.      Menambahkan ip address pada interface Gigabitethernet 0/0

GW(config)#int gi0/0
GW(config-if)#ip address 172.16.1.138 255.255.255.252
GW(config-if)#no shutdown

4.      Menambahkan ip address pada interface Gigabitethernet 0/1

GW(config)#int gi0/1
GW(config-if)#ip address 172.16.1.141 255.255.255.252
GW(config-if)#no shutdown

5.      Menampilkan ip address pada interfaces router GW

3.1.5     Konfigurasi ip address dan mengaktifkan interfacenya pada router ISP

1.       Berpindah ke mode privilege

ISP>enable

2.       Berpendah ke mode global configuration
ISP#conf t

3.       Menambahkan ip address pada interface Gigabitethernet 0/0

ISPISP(config)#int gi0/0

ISP(config-if)#ip address 203.1.1.2 255.255.255.248
ISP(config-if)#no shutdown

4.       Menambahkan ip address pada interface Gigabitethernet 0/1

ISP(config)#int gi0/1
ISP(config-if)#ip address 202.204.204.14 255.255.255.240
ISP(config-if)#no shutdown

5.       Menampilkan ip address pada interfaces router ISP

3.2    Konfigurasi Routing EIGRP

3.2.1    Konfigurasi EIGRP di router R1

1.      Berpindah ke mode privilege

R1> enable

2.      Berpindah ke mode global configuration

R1# conf t

3.      Mengaktifkan routing protocol EIGRP

R1(config)#router eigrp 1
R1(config-router)#network 172.16.0.0 0.0.0.127
R1(config-router)#network 172.16.0.128 0.0.0.127
R1(config-router)#network 172.16.1.128 0.0.0.3
R1(config-router)#no auto-summary
R1(config-router)#end
4.    Menampilkan informasi routing protocol yang aktif
 5.    Menampilkan informasi routing table


3.2.2    Konfigurasi EIGRP di router R2

1.      Berpindah ke mode privilege

R2> enable

2.      Berpindah ke mode global configuration

R2# conf t

3.      Mengaktifkan routing protocol EIGRP

R2(config)#router eigrp 1
R2(config-router)#network 172.16.1.0 0.0.0.63
R2(config-router)#network 172.16.1.132 0.0.0.3
R2(config-router)#no auto-summary
R2(config-router)#end

4.      Menampilkan informasi routing protocol yang aktif
5.    Menampilkan informasi routing table

3.2.3    Konfigurasi EIGRP di router CORE


1.      Berpindah ke mode privilege

CORE> enable

2.      Berpindah ke mode global configuration

CORE# conf t

3.      Mengaktifkan routing protocol EIGRP

CORE(config)#router eigrp 1
CORE(config-router)#network 172.16.1.128 0.0.0.3
CORE(config-router)#network 172.16.1.132 0.0.0.3
CORE(config-router)#network 172.16.1.64 0.0.0.63
CORE(config-router)#network 172.16.1.136 0.0.0.3
CORE(config-router)#no auto-summary
CORE(config-router)#end

4.      Menampilkan informasi routing protocol yang aktif
5.    Menampilkan informasi routing table

3.2.4    Konfigurasi EIGRP di router GW

1.      Berpindah ke mode privilege

GW> enable

2.      Berpindah ke mode global configuration

GW# conf t

3.      Mengaktifkan routing protocol EIGRP

GW(config)#router eigrp 1 
GW(config-router)#network 172.16.1.144 0.0.0.3
GW(config-router)#network 172.16.1.136 0.0.0.3
GW(config-router)#no auto-summary
GW(config-router)#end

4.      Menampilkan informasi routing protocol yang aktif

5.   Menampilkan informasi routing table
Perhatikan kode D pada output diatas yang menunjukkan informasi tentang jaringan tersebut diperoleh dari hasil routing update EIGRP.

Memverifikasi koneksi antar PC di beda subnet pada jaringan internal PT. Mineral Abadi menggunakan Simple PDU, hasilnya seperti terlihat pada gambar berikut:

Terlihat koneksi dari PC AHMAD ke PC INDRA,Laptop1 , dan SERVER TFTP berhasil dilakukan.