Kamis, 21 Juni 2018

PERBEDAAN IPV4 DENGAN IPV6 (KELEBIHAN DAN KEKURANGAN)

Sebagai protokol pengalamatan internet generasi baru, IPv6 hadir dengan berbagai kelebihan ketimbang sang pendahulunya, IPv4.

Berikut adalah perbedaan (kelebihan dan kekurangan) antara IPv4 dan IPv6 menurut Kementerian Komunikasi dan Informatika (Kominfo):

Fitur

IPv4: Jumlah alamat menggunakan 32 bit sehingga jumlah alamat unik yang didukung terbatas 4.294.967.296 atau di atas 4 miliar alamat IP saja. NAT mampu untuk sekadar memperlambat habisnya jumlah alamat IPv4, namun pada dasarnya IPv4 hanya menggunakan 32 bit sehingga tidak dapat mengimbangi laju pertumbuhan internet dunia.

IPv6: Menggunakan 128 bit untuk mendukung 3.4 x 10^38 alamat IP yang unik. Jumlah yang masif ini lebih dari cukup untuk menyelesaikan masalah keterbatasan jumlah alamat pada IPv4 secara permanen.

Routing

IPv4: Performa routing menurun seiring dengan membesarnya ukuran tabel routing. Penyebabnya pemeriksaan header MTU di setiap router dan hop switch.

IPv6: Dengan proses routing yang jauh lebih efisien dari pendahulunya, IPv6 memiliki kemampuan untuk mengelola tabel routing yang besar.

Mobilitas

IPv4: Dukungan terhadap mobilitas yang terbatas oleh kemampuan roaming saat beralih dari satu jaringan ke jaringan lain.

IPv6: Memenuhi kebutuhan mobilitas tinggi melalui roaming dari satu jaringan ke jaringan lain dengan tetap terjaganya kelangsungan sambungan. Fitur ini mendukung perkembangan aplikasi-aplikasi.

Keamanan

IPv4: Meski umum digunakan dalam mengamankan jaringan IPv4, header IPsec merupakan fitur tambahan pilihan pada standar IPv4.

IPv6: IPsec dikembangkan sejalan dengan IPv6. Header IPsec menjadi fitur wajib dalam standar implementasi IPv6.

Ukuran header

IPv4: Ukuran header dasar 20 oktet ditambah ukuran header options yang dapat bervariasi.

IPv6: Ukuran header tetap 40 oktet. Sejumlah header pada IPv4 seperti Identification, Flags, Fragment offset, Header Checksum dan Padding telah dimodifikasi.

Header checksum

IPv4: Terdapat header checksum yang diperiksa oleh setiap switch (perangkat lapis ke 3), sehingga menambah delay.

IPv6: Proses checksum tidak dilakukan di tingkat header, melainkan secara end-to-end. Header IPsec telah menjamin keamanan yang memadai

Fragmentasi

IPv4: Dilakukan di setiap hop yang melambatkan performa router. Proses menjadi lebih lama lagi apabila ukuran paket data melampaui Maximum Transmission Unit (MTU) paket dipecah-pecah sebelum disatukan kembali di tempat tujuan.

IPv6: Hanya dilakukan oleh host yang mengirimkan paket data. Di samping itu, terdapat fitur MTU discovery yang menentukan fragmentasi yang lebih tepat menyesuaikan dengan nilai MTU terkecil yang terdapat dalam sebuah jaringan dari ujung ke ujung.

Configuration

IPv4: Ketika sebuah host terhubung ke sebuah jaringan, konfigurasi dilakukan secara manual.

IPv6: Memiliki fitur stateless auto configuration dimana ketika sebuah host terhubung ke sebuah jaringan, konfigurasi dilakukan secara otomatis.

Kualitas Layanan

IPv4: Memakai mekanisme best effort untuk tanpa membedakan kebutuhan.

IPv6: Memakai mekanisme best level of effort yang memastikan kualitas layanan. Header traffic class menentukan prioritas pengiriman paket data berdasarkan kebutuhan akan kecepatan tinggi atau tingkat latency tinggi.

FUNGSI PROTOKOL PADA JARINGAN KOMPUTER

Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
berikut adalah beberapa jenis Protoko dan fungsinya :

ICMP (Internet Control Message Protocol)

ICMP berbeda tujuan dengan TCP dan UDP dalam hal ICMP tidak digunakan secara langsung oleh aplikasi jaringan milik pengguna. salah satu pengecualian adalah aplikasi ping yang mengirim pesan ICMP Echo Request (dan menerima Echo Reply) untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket yang dikirimkan dibalas oleh komputer tujuan. protokol internet. ICMP utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau.

POP3 (Post Office Protocol)

POP3 ( Post Office Protocol version 3) adalah protokol yang digunakan untuk mengambil email dari email server. Protokol POP3 dibuat karena desain dari sistem email yang mengharuskan adanya email server yang menampung email untuk sementara sampai email tersebut diambil oleh penerima yang berhak. Kehadiran email server ini disebabkan kenyataan hanya sebagian kecil dari komputer penerima email yang terus-menerus melakukan koneksi ke jaringan internet.

SMTP (Simple Mail Transfer Protocol)

Dengan pengertian singkat SMTP adalah protokol yang mengatur pengiriman email dari pengirim.Cara kerja SMTP ini sama dengan Kantor Pos, tempat dimana kita menitipkan surat kita agar dikirimkan kepada penerima yang tertera di surat tersebut.

SMTP biasanya diimplementasikan untuk beroperasi melalui Internet Port 25 atau Port 26 (secure).

FTP ( File Transfer Protocol )

FTP adalah sebuah protocol internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) computer antar mesin-mesin dalam sebuah internetwork. FTP atau protocol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga diantara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. FTP hanya menggunakan metode autentikasi standar, yakni menggunakan User name dan paswordnya yang dikirim dalam bentuk tidak terenkripsi. Pengguana terdaftar dapat menggunakan username dan password-nya untuk mengakses ,men-download ,dan meng- updload berkas- berkas yang ia kehenaki. Umumnya, para pengguna daftar memiliki akses penuh terdapat berapa direkotri , sehingga mereka dapat berkas , memuat dikotri dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login,yakni dengan menggunakan nama pengguna anonymous & password yang diisi dengan menggunakan alamat e-mail. Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.
Tujuan FTP server adalah sebagai beikut :


  • Untuk men-sharing data.
  • Untuk menyediakan indirect atau implicit remote computer.
  • Untuk menyediakan tempat penyimpanan bagi User.
  • Untuk menyediakan tranper data yang reliable dan efisien.


ARP (Address Resolution Protocol)
ARP  merupakan sebuah protokol yang bertanggung jawab mencari tahu Mac Address atau alamat hardware dari suatu Host yang tergabung dalam sebuah jaringan LAN dengan memanfaatkan atau berdasarkan IP Address yang terkonfigurasi pada Host yang bersangkutan. Dalam OSI layer, protokol ini berkeja antara Layer 2 dan Layer 3.

Penting bagi kita untuk mengetahui apa saja peranan dari protokol ARP ini. Oleh karena itu, berikut saya jabarkan sedikit apa saja fungsi serta peran dari Protokol ARP.

  • Peran protokol ARP ini sangat penting dalam jaringan, terutama mengenai komunikasi data yang terjadi dalam jaringan. Setiap host yang tergabung atau terhubung dalam sebuah jaringan LAN saling berkomunikasi menggunakan alamat fisik (Mac Address) dan tidak menggunakan alamat logis (IP Address).
  • Dikatakan pada poin nomor satu, bahwa setiap Host berkomunikasi menggunakan alamat fisik (Mac Address). Jadi, mau tidak mau setiap sebuah Host yang ingin berkomunikasi dengan Host lain harus mengetahui Mac Address yang dimiliki oleh Host tujuannya tersebut.
  • Lalu bagaimana sebuah Host bisa mendapatkan informasi mengenai Mac Address dari Host tujuannya? Jawabannya adalah pada tahapan transfer data. Sebelum sebuah data diberikan Mac address, terlebih dahulu data tersebut diberi alamat logis berupa IP Address. IP address yang ditambahkan ini merupakan IP address dari Host pengirim dan Host penerima.
  • Baru kemudian menentukan alamat fisik atau Mac Address dari Host tujuan. Nah, apabila belum diketahui alamat fisiknya, mau tidak mau harus dicari terlebih dahulu. Disinilah peran protokol ARP, dengan memanfaatkan informasi IP address Host tujuan yang ada, maka Host pengirim melakukan pencarian dengan menugaskan Protokol ARP.


Kamis, 19 April 2018

KEKURANGAN DAN KELEBIHAN TOPOLOGI JARINGAN


Topologi jaringan adalah suatu aturan atau cara untuk menghubungkan komputer yang satu dengan komputer yang lainnya sehingga membentuk suatu jaringan. Topologi jaringan juga dapat didefinisikan sebagai gambaran secara fisik dari pola hubungan antara komponen jaringan, yang meliputi Server, Workstation, Hub, dan pengkabelannya.

TOPOLOGI STAR
Topologi Star merupakan bentuk topologi jaringan yang berupa konvergensi dari node tengah ke setiap node atau pengguna. Topologi jaringan bintang termasuk topologi jaringan dengan biaya menenengah.
Kelebihan
Kerusakan pada satu saluran hanya akan memengaruhi jaringan pada saluran tersebut dan station yang terpaut.
Tingkat keamanan termasuk tinggi.
Tahan terhadap lalu lintas jaringan yang sibuk.
Penambahan dan pengurangan station dapat dilakukan dengan mudah.
Akses Kontrol terpusat.
Kemudahan deteksi dan isolasi kesalahan/kerusakan pengelolaan jaringan.
Kekurangan
Jika node tengah mengalami kerusakan, maka seluruh rangkaian akan berhenti.
Boros dalam pemakaian kabel.
HUB/SWITCH jadi elemen kritis karena kontrol terpusat.
Peran hub sangat sensitif sehingga ketika terdapat masalah dengan hub maka jaringan tersebut akan down.
Jaringan tergantung pada terminal pusat.
Jika menggunakan HUB dan lalu lintas data padat dapat menyebabkan jaringan lambat.
Biaya jaringan lebih mahal daripada bus atau ring.


TOPOLOGI RING
Topologi Ring  adalah topologi jaringanberbentuk rangkaian titik yang masing-masing terhubung ke dua titik lainnya, sedemikian sehingga membentuk jalur melingkar membentuk cincin.
Pada Topologi ring, masing-masing titik/node berfungsi sebagai repeater yang akan memperkuat sinyal disepanjang sirkulasinya, artinya masing-masing perangkat saling bekerjasama untuk menerima sinyal dari perangkat sebelumnya kemudian meneruskannya pada perangkat sesudahnya.
Kelebihan
Mudah untuk dirancang dan diimplementasikan
Memiliki performa yang lebih baik daripada topologi bus, bahkan untuk aliran data yang berat sekalipun.
Mudah untuk melakukan konfigurasi ulang dan instalasi perangkat baru.
Mudah untuk melakukan pelacakan dan pengisolasian kesalahan dalam jaringan karena menggunakan konfigurasi point to point
Hemat kabel
Tidak akan terjadi tabrakan pengiriman data (collision), karena pada satu waktu hanya satu node yang dapat mengirimkan data
Kekurangan
Peka kesalahan, sehingga jika terdapat gangguan di suatu node mengakibatkan terganggunya seluruh jaringan. Namun hal ini dapat diantisipasi dengan menggunakan cincin ganda (dual ring).
Pengembangan jaringan lebih kaku, karena memindahkan, menambah dan mengubah perangkat jaringan dan mempengaruhi keseluruhan jaringan.
Kinerja komunikasi dalam jaringan sangat tergantung pada jumlah titik/node yang terdapat pada jaringan.
Lebih sulit untuk dikonfigurasi daripada Topologi bintang
Diperlukan penanganan dan pengelolaan khusus bandles

 

TOPOLOGI BUS
Topologi Bus  Instalasi jaringan Bus sangat sederhana, murah dan maksimal terdiri atas 5-17 komputer. Kesulitan yang sering dihadapi adalah kemungkinan terjadinya tabrakan data karena mekanisme jaringan relatif sederhana dan jika salah satu node putus maka akan mengganggu kinerja dan trafik seluruh jaringan.

Kelebihan
Pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain.
Hemat kabel.
Layout kabel sederhana.

Kelemahan
Bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan.
Kepadatan pada jalur lalu lintas.
Diperlukan Repeater untuk jarak jauh.

TOPOLOGI MESH
Topologi mesh adalah suatu bentuk hubungan antar perangkat dimana setiap perangkat terhubung secara langsung ke perangkat lainnya yang ada di dalam jaringan. Akibatnya, dalam topologi mesh setiap perangkat dapat berkomunikasi langsung dengan perangkat yang dituju .

Kelebihan
Hubungan dedicated links menjamin data langsung dikirimkan ke komputer tujuan tanpa harus melalui komputer lainnya sehingga dapat lebih cepat karena satu link digunakan khusus untuk berkomunikasi dengan komputer yang dituju saja (tidak digunakan secara beramai-ramai/sharing)
Memiliki sifat Robust, yaitu Apabila terjadi gangguan pada koneksi komputer A dengan komputer B karena rusaknya kabel koneksi (links) antara A dan B, maka gangguan tersebut tidak akan memengaruhi koneksi komputer A dengan komputer lainnya.
Privacy dan security pada topologi mesh lebih terjamin, karena komunikasi yang terjadi antara dua komputer tidak akan dapat diakses oleh komputer lainnya.
Memudahkan proses identifikasi permasalahan pada saat terjadi kerusakan koneksi antar komputer.

Kekurangan
Membutuhkan banyak kabel dan Port I/O. semakin banyak komputer di dalam topologi mesh maka diperlukan semakin banyak kabel links dan port I/O (lihat rumus penghitungan kebutuhan kabel dan Port).
Hal tersebut sekaligus juga mengindikasikan bahwa topologi jenis ini * Karena setiap komputer harus terkoneksi secara langsung dengan komputer lainnya maka instalasi dan konfigurasi menjadi lebih sulit.
Banyaknya kabel yang digunakan juga mengisyaratkan perlunya space yang memungkinkan di dalam ruangan tempat komputer-komputer tersebut berada.

TOPOLOGI TREE

Topologi Tree merupakan salah satu topologi yang paling banyak diterapkan dalam jaringan komputer.dengan bentuk geometris menyerupai pohon (tree).

Pada topologi Tree terdapat sebuah komputer (atau perangkat jaringan lainnya berupa hub atau switch) pada level teratas (yang disebut root) yang menjadi pusat utama komunikasi bagi semua komputer lain yang terhubung dengannya.Koneksi ini menggunakan Topologi Peer To Peer (P2P).Kemudian topologi di bawahnya terdapat satu atau lebih komputer (yang disebut central) yang menjadi pusat bagi sejumlah komputer yang berada di bawahnya yang membentuk topologi seperti Topologi Star.Central ini menjadi penghubug antara root dengan semua komputer lainnya yang ada di bawah central.


Kelebihan

Topologi Tree memenuhi salah satu sifat dan syarat pada jaringan komputer ,yaitu Scalable.Ini berarti kita dapat menyesuaikan jaringan komputer kita sesuai dengan keperluan dan kondisi dengan memanfaatkan Topologi Tree ini.Misalkan pada ruangan bertingkat atau skala yang lebih besar dan kompleks.
Topologi Tree sangat banyak diterapkan pada beragam tempat,karena bersifatScalable dan lebih andal.Selain itu sesuai poin 1 di atas, maka Topologi Tree ini mendukung jaringan skala besar hingga skala kecil.

Topologi Tree mudah dikembangkan sesuai kebutuhan dan mudah diperbaiki jika terdapat masalah maupun kesalahan.

Topologi Tree merupakan perbaikan dari Topologi Star,dimana kita dapat dengan mudah menambahkan komputer,central dan root sesuai dengan kebutuhan kita.

Topologi Tree mendukung koneksi Point to Point pada jaringan komputer.


Kekurangan

Pada Topologi Tree potensi untuk terjadinya Collision (tabrakan) paket data sangat besar.

Topologi Tree memerlukan usaha yang sangat besar untuk melakukan perawatan dan perbaikan (maintenance) pada skala jaringan besar.

Topologi Tree memerlukan perancangan yang matang untuk mengimplementasikannya,dalam hal penyediaan jumlah jaringan,lokasi setiap komputer dan lain-lain.

Pada Topologi Tree apabila salah satu komputer central maupun rootmengalami gangguan,maka komputer-komputer yang berada di bawahnya ikut terganggu.



TOPOLOGI HYBRID

Topologi Hybrid merupakan penggabungan dari beberapa (dua atau lebih) topologi jaringan yang berbeda. Misalnya ketika suatu jaringan yang menggunakan topologi Ring, digabungkan dengan jaringan lain yang menggunakan topologi star; maka topologi baru yang terbentuk dari gabungan kedua topologi jaringan ini disebut sebagai topologi Hybrid. Jika jaringan yang digabungkan memiliki jenis topologi yang sama, maka penggabungan kedua jaringan tersebut bukanlah topologi hybrid. Misalnya jaringan dengan topologi bus digabungkan dengan jaringan lain yang juga menggunakan topologi bus, maka penggabungan kedua jaringan tersebut tetap merupakan topologi bus, bukan topologi hybrid.
Kelebihan

Dapat menyatukan dua atau lebih topologi jaringan yang berbeda.
Fleksibel dan efisien; dapat diterapkan pada lingkungan jaringan yang berbeda, tanpa perlu merombak topologi jaringan yang telah terbentuk sebelumnya. Selain itu dapat mengurangi space jaringan yang terbuang.

Kustomisasi, memungkinkan penyesuaian cara pengaturan jaringan untuk mencapai tujuan tertentu.

Aliran data dapat bekerja dengan sempurna meskipun berjalan dalam sejumlah lalu lintas jaringan yang berbeda akibat mengkombinasikan berbagai konfigurasi topologi jaringan yang berbeda.

Sangat mudah untuk menambah node atau koneksi peripheral baru, meskipun topologi jaringan berbeda.

Ketika salah satu link dalam jaringan mengalami gangguan, bagian link jaringan lainnya tidak akan ikut mengalami gangguan.

Kecepatan jaringan konsisten sebab menggabungkan kelebihan dan menghilangkan kelemahan masing-masing topologi jaringan.


Kekurangan
Pengelolaan jaringan cenderung sulit, karena penggabungan beberapa topologi menyebabkan struktur jaringan menjadi rumit dan sukar dipahami.

Biaya untuk membangun topologi ini cukup mahal, sebab menggunakan banyak hub dan kabel untuk menghubungkan jaringan.

Biaya perawatan jaringan juga cukup mahal. Hub harus terus bekerja meskipun salah satu node dalam jaringan tidak bekerja, sebab hub harus mengelola beberapa jenis jaringan sekaligus.

Instalasi dan konfigurasi jaringan rumit, sebab harus menghubungkan beberapa topologi yang berbeda dan disaat yang sama juga harus memastikan semua node berfungsi dengan baik.


Rabu, 11 April 2018

PERANGKAT JARINGAN KOMPUTER (PENGERTIAN REPEATER, BRIDGE DAN NIC )


Prangkat jaringan komputer adalah perangkat yang yang digunakan untuk menghubngkan dua atau lebih komputer sehingga dapat saling berinteraksi atau saling berbagi data. Perangkat jaringan sangat dibutuhkan karena merupakan tool pokok yang harus ada dalam sebuah jaringan komputer.
Berikut beberapa jenis perangkat Jaringan ,


REPEATER

Repeater merupakan sebuah perangkat yang mempunyai fungsi menerima sinyal berisikan data dalam sebuah jaringan. Dengan  repeater dapat memperluas jangkauan jaringan. Repeater akan bekerja dengan cara menerima sinyal untuk kemudian memancarkannya kembali dengan gelombang yang identik dengan sinyal asal namun menggunakan cara yang sedikit berbeda. Pada umumnya, sebuah repeater memancarkan kembali sinyal tersebut dalam suatu frekuensi yang beda dari frekuensi sinyal asalnya.

FUNGSI REPEATER

Repeater mempunyai fungsi untuk memperluas jangkauan jaringan wifi sebagaimana telah berkali-kali disebutkan pada paragraf sebelumnya. Hardware pada repeater telah diprogram untuk dapat menerima sinyal wifi dari sebuah transmitter untuk kemudian diperkuat. Setelah sinyal diperkuat, repeater akan menyebarkan kembali sinyal tersebut demi mendapatkan jangkauan wifi yang lebih luas.

CARA KERJA REPEATER

Pada dasarnya, repeater mempunyai dua komponen, yaitu komponen yang bertugas menerima data sinyal dari transmitter dan komponen yang berfungsi memancarkan kembali data sinyal tersebut. sebelum data sinyal dipancarkan kembali, hardware pada repeater biasanya akan melakukan perubahan frekuensi agar sinyal data yang dipancarkan menjadi lebih kuat dari sebelumnya. Dengan demikian, sinyal pun akan dipancarkan kembali dengan lebih kuat dan tentunya dengan jarak jangkauan yang juga lebih luas.


BRIDGE

Bridge adalah suatu alat yang dapat menghubungkan jaringan komputer LAN (Local arean Network) dengan jaringan LAN yang lain. Bridge dapat menghubungkan tipe jaringan komputer berbeda-beda (misalnya seperti Ethernet & Fast Ethernet), ataupun tipe jaringan yang serupa atau sama.
Bridge bekerja pada data Link layer model OSI (Open System Interconnection), Karena itu bridge bisa menyambungkan jaringan komputer yang memakai metode transmisi atau medium access control yang tidak sama atau berbeda. Bridge juga adalah alat yang bisa mempelajari alamat link yang ada pada setiap perangkat yang terhubung dengannya dan juga mengatur alur frame berdasarkan alamat tersebut.

Fungsi Bridge

Memecah jaringan LAN yang besar, menjadi jaringan – jaringan kecil untuk gedung atau ruangan tertentu
Menghemat biaya operasional, hanya membutuhkan satu server saja untuk banyak gedung dalam jangkauan yang luas
Bisa digunakan untuk memecah jaringan LAN hingga ke luar pulau
Menjaga keamanan data dari suatu organisasi
Mempermudah proses monitoring pada suatu jaringan yang lebih kecil 

Cara Kerja Bridge

Bridge memetakan alamat Ethernet dari setiap titik atau node yang terdapat pada masing-masing segmen jaringan komputer, dan hanya dapat memperbolehkan lalulintas data yang memang dibutuhkan melintasi bridge. Saat menerima sebuah paket data, bridge akan menentukan segmen tujuan dan juga sumbernya. Kalau segmennya sama, paket data akan di tolak dan kalau segmennya tidak sama atau berbeda paket-paket data akan di teruskan ke segmen yang dituju. Dengan begitu bridge dapat mencegah pesan rusak supaya tidak menyebar keluar dari satu segmen.


NIC (Network Interface Card)

NIC adalah sebuah peralatan elektronik yang dibuat pada sebuah papan PCB yang akan melakukan konversi sinyal sehingga sebuah workstation bisa mengirim dan menerima data dalam jaringan. NIC Sering disebut juga dengan Ethernet card, atau sering juga disebut LAN card. NIC merupakan kartu jaringan yang dipasang pada slot ekspansi pada komputer. Slot yang diperlukan bisa berupa slot PCI atau ISA. Selain itu terdapat juga beberapa card yang diperuntukkan khusus bagi laptop atau notebook dengan socket PCMCIA. Sedangkan untuk output portnya dapat berupa port BNC, AUI (Thick Ethernet), dan UTP.
Sebuah NIC memiliki alamat khusus yang disebut sebagai ethernet address atau MAC address. Alamat ini adalah berupa kode heksa 48-bit. Setiap NIC memiliki alamat yang berbeda. Bila sebuah komputer hendak berkomunikasi dengan komputer lainnya maka ia akan memancarkan sinyal untuk mencari alamat NIC yang dituju. Jika alamat tersebut telah ditemukan, maka komunikasi antar dua kartu ethernet dapat dilakukan. Bila NIC yang dituju ternyata tengah menangani komunikasi dengan kartu ethernet lain nya, maka terjadi tabrakan. Keduanya kemudian akan berhenti memancarkan sinyal, menunggu untuk kembali memancarkan sinyal dalam waktu yang acak, hingga dapat berkomunikasi kembali.

Fungsi NIC

NIC digunakan sebagai sarana menerima dan mengirimkan data melalui kabel jaringan. Adapun tugas dari NIC adalah sebagai berikut :

Transfer data ke komputer lain dengan terlebih dahulu mempersiapkan data dari komputer agar dapat dilewatkan ke media penghubung.

Mengontrol aliran data antar komputer dan sistem perkabelan.

Menerima data yang ditransfer dari komputer lain lewat kabel dan menterjemahkannya ke dalam bit yang dimengerti oleh komputer.


Prinsip Kerja NIC

NIC bekerja pada lapisan fisik, di mana data dipecah menjadi bit kemudian dikirim melalui jaringan ke komputer lain yang kemudian dirangkai kembali menjadi data utuh. Setiap NIC memiliki kode unik tersendiri, artinya cuma ada satu, yang terdiri atas 12 digit kode yang disebut dengan MAC Address (Media Access Control). Tujuan adanya MAC address adalah untuk menghindari tabrakan antar data di jaringan. Misalnya node akan mengirimkan paket data, maka sebelumnya akan melihat apakah jaringan sedang mengirimkan paket data atau tidak. Jika node melihat jaringan tidak melakukan pengiriman paket data, maka node akan melakukan pengiriman paket data.

Senin, 19 Maret 2018

JENIS - JENIS JARINGAN KOMPUTER


Jaringan komputer merupakan rangkaian yang terdiri dari dua komputer atau lebih, sehingga memungkinkan setiap kompter yang terhubung  dapat berbagi data, program, penyimpanan, printer, dll.  Jaringan komputer dibedakan berdasrkan luas area yang dijangkau dan beikut adalah jenis - jenis jaringan komputer :


PAN (Personal Area Network) adalah jaringan komputer yang biasa diguakan untuk transmisi data antar perangkat.
Jarak                :  1 s.d 10 meter
Contoh area     :  Ruangan

LAN (Lokal Area Network) adalah jaringan komputer yang luas areanya terbatas. Biasanya untuk jaringan rumahan, kantor, sekolah atau lab komputer dimana masing-masing komputer saling berinteraksi. LAN biasanya sebagian besar mengandalkan koneksi kabel untuk meningktkan kecepatan dan keamanan. Kecepatan tinggi dan biaya yang relatif rendah merupakan karakteristik jaringan LAN.  Jika LAN sepenuhnya menggunakan wireless, maka jenis jaringan ini disebut sebagai WLAN (Wireless Lokal Area Network).
Jarak                :  10 s.d 1000 meter
Contoh area     :  Gedung

MAN (Metropolitan Area Network) merupakan jaringan dengan skala yang lebih besar dari LAN. Digunakan untuk jaringan antar kantor/perusahaan yang jaraknya berdekatan. Media yang  biasa digunakan adalah kabel serat optic (wireless).
Jarak                :  10.000 s.d 100.000 meter
Contoh area     :  Kota

WAN (Wide Area Network) adalah bentuk jaringan komputer dengan skala yang sangat luas berupa jaringan komputer antar kota atau pulau.
Jarak                :  100.000 s.d 1000.000 meter
Contoh area     :  Negara

Penggunaan jaringan komputer bisa kita terapkan pada saat kita akan mengirim data baik lewat LAN, WAN maupun Internet. Dengan adanya jaringan komputer  dapat mempermudah pekerjaan manusia.


Minggu, 07 Januari 2018

PROGRAM E-TRANS

BAB I
PENDAHULUAN

1.1  Latar Belakang
Jual Beli adalah kegiatan manusia yang ada sejak zaman dahulu, sebelum mengenal uang masyarakat indonesia melakukan aktifitas jual beli dengan Sistem Barter (saling tukar barang). Sejak tahun 1817 masyarakat indonesia telah mengenal Uang sebagai alat pembayaran yang sah yang diperkenalkan oleh Belanda ketika masa penjajahan. 

Ketika uang di indonesia telah diketahui oleh banyak masyarakat, masyarakat indonesia menggunakan uang tersebut dengan berbagai hal yang tentunya bisa ditukarkan atau diperjual belikan oleh barang maupun jasa yang setara dengan nilai tukar uang tersebut. Banyak toko yang sudah menggunakan teknologi komputer untuk memudahkan transaksi penjualan seperti penjualan tiket kereta, pembayaran uang kuliah dan pengiriman uang.

Perkembangan teknologi informasi, yang ditandai  dengan perkembangan teknologi komputer dan teknologi komunikasi serta transportasi, membuat setiap lembaga / instansi dituntut memiliki infrastruktur teknologi informasi, sebagai tuntutan kemajuan zaman. Di era globalisasi sekarang ini, seluruh sistem pelayanan diotomatisasi dengan peralatan yang bersifat efisien dalam waktu dan tenaga. Hal ini diharapkan akan memuaskan keinginan konsumen dan proses permintaan pasar sehingga menjangkau keseluruh bidang kehidupan.

Mobilitas manusia yang tinggi menuntut dunia perdagangan mampu menyediakan layanan jasa dan barang dengan cepat sesuai permintaan konsumen. Untuk mengatasi masalah tersebut, kini muncul transaksi yang menggunakan media internet untuk menghubungkan produsen dan konsumen.

Terkait dengan uraian diatas, maka penulis tertarik untuk membuat suatu program yang dapat digunakan untuk melakukan transaksi elektronik penjualan tiket kereta api, pembayaran uang kuliah serta pengiriman uang. Dengan hadirnya sistem ini, diharapkan mampu memenuhi kebutuhan transaksi konsumen, sehingga transaksi lebih efisien dan cepat.

1.2  Perumusan Masalah
Berdasarkan latarbelakang tersebut diatas maka rumusan masalah yang akan dibahas adalah “Bagaimana cara membuat program yang dapat digunakan untuk transaksi penjualan tiket kereta api, pembayaran uang kuliah dan pengiriman uang”.

1.3  Pembatasan Masalah
Untuk menjaga kemungkinan semakin berkembangnya masalah, mengingat objek yang dijadikan makalah memiliki banyak ragamnya maka penulis hanya menitikberatkan permasalahan yang berupa pembuatan program transaksi menggunakan Borland C++

1.4  Manfaat Makalah
Hasil makalah ini diharapkan akan memberi manfaat bagi penulis, rekan rekan mahasiswa 13.1D.01 Teknik Komputer Kelas Sore serta pelaku usaha atau toko yang mengaplikasikan program e-Trans.

1.5 Tujuan Makalah
Tujuan makalah ini adalah untuk memenuhi salah satu tugas dari mata kuliah Dasar Pemrograman berupa pembuatan program e-Trans yang diharapkan mampu meningkatkan efisiensi kerja dan waktu sehingga dapat memuaskan semua pihak.




BAB II
LANDASAN TEORI

2.1 Pengertian C++
C++ adalah bahasa pemrograman komputer yang di buat oleh Bjarne Stroustrup, yang merupakan perkembangan dari bahasa C dikembangkan di Bong Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu B, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix,
Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an. Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding).

2.2 Perkembangan Bahasa C
      Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan oleh bahasa sebelumnya, yaitu BCL. Bahasa C, pada awalnya dirancang sebagai bahasa pemrograman yang dioperasikan pada sistem operasi UNIX.
      Bahasa C merupakan bahasa pemrograman tingkat menengah yaitu diantara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE, Word Star dan lain-lain.



2.3 Perbedaan Antara Bahasa C Dengan C++
      Bahasa C merupakan bahasa pemrograman prosedural, di mana penyelesaian atas suatu masalah dilakukan dengan membagi-bagi masalah tersebut ke dalam sub-sub masalah yang lebih kecil. Sedangkan C++ merupakan bahasa pemrograman yang memiliki sifat Object Oriented Programming (OOP). Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan mendefinisikan class-class yang merupakan a.-class yang dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class tersebut berisi keadaan objek, anggota-anggotanya, dan kemampuan dari objeknya. Setelah beberapa class dibuat, masalah dipecahkan menggunakan class.

2.4 Pengenalan IDE Borland C++
IDE merupakan singkatan dari Integrated Development Environment, merupakan Lembar kerja terpadu untuk pengembangan program. IDE dari Borland C++, dapat digunakan untuk:
a.       Menulis Naskah Program.
b.      Mengkompilasi Program ( Compile )
c.       Melakukan Pengujian Program ( Debugging )
d.      Mengaitkan Object dan Library ke Program ( Linking )
e.       Menjalankan Program ( Running )

2.5 Struktur program C++
Sama seperti struktur program C yang terdahulu, struktur program C++ terdiri dari sejumlah blok fungsi, setiap fungsi terdiri dari satu atau beberapa pernyataan yang melaksanakan tugas tertentu.

Bentuk Umum :

#include <file-header>
main()
{
pernyataan;
}

Contoh :                #include <conio.h>
#include <iostream.h>
main()
{
cout<<”Teknik Komputer BSI Margonda”;
getch();
}

Penjelasan :
a.       #include <file-header> merupakan preprocessor pada C++ untuk pemanggilan file header yang memuat beberapa perintah-perintah dari C++ (contoh, apabila ingin menggunakan perintah cout maka harus menggunakan file header iostream.h)
b.      main( ) merupakan awal mula dari blok program utama
c.       tanda { dan } sebagai punctuator yang awal blok program hingga akhir blok program
d.      cout merupakan perintah keluaran pada C++
e.       getch( ); apabila ditempatkan sebelum funtuator }, maka berfungsi sebagai penahan dari tampilan hasil

2.6 Pengenalan Tipe Data
Borland C++ memiliki 7 tipe data dasar dan 3 tipe tambahan, diantaranya:

Table 2.1 Tipe Data
Tipe
Data
Ukuran
Memori
Jangkauan Nilai
Jumlah
Digit
Char
1 Byte
-128 s.d 127

Int
2 Byte
-2,147,435,648 s.d 2,147,435,647

Short
2 Byte
-32768 s.d 32767

Long
4 Byte
-2,147,435,648 s.d 2,147,435,647

Float
4 Byte
3.4 x 10-38 s.d 3.4 x 10+38
5 – 7
Double
8 Byte
1.7 x 10-308 s.d 1.7 x 10+308
15 – 16
Long
Double
10 Byte
3.4 x 10-4932 s.d 1.1 x 10+4932
19

2.7 Variabel
Adalah suatu tempat menampung data atau konstanta dimemori yang mempunyai nilai atau data yang dapat berubah-ubah selama proses program.

Dalam pemberian nama variabel, mempunyai ketentuan-ketentuan antara lain :
1.      Tidak boleh ada spasi ( contoh : gaji bersih ) dan dapat menggunakan tanda garis bawah ( _ ) sebagai penghubung (contoh : gaji_bersih).
2.      Tidak boleh diawali oleh angka dan menggunakan operator aritmatika.

         Variabel, dibagi menjadi dua jenis kelompok, yaitu :
A.    Variabel Numerik
B.     Variabel Teks

         A. Variabel Numerik
Variabel numerik ini dibagi menjadi menjadi 3 (tiga) macam :
1.      Bilangan Bulat atau Integer
2.      Bilangan Desimal Berpresisi Tunggal atau Floating Point.
3.      Bilangan Desimal Berpresisi Ganda atau Double Precision.

         B. Variabel Text
1.      Character ( Karakter Tunggal )
2.      String ( Untuk Rangkaian Karakter )

         Deklarasi Variabel
Adalah proses memperkenalkan variabel kepada Borland C++ dan pendeklarasian tersebut bersifat mutlak karena jika tidak diperkenalkan terlebih dahulu maka Borland C++ tidak menerima variabel tersebut.
Deklarasi Variabel ini meliputi tipe variabel, seperti integer atau character dan nama variabel itu sendiri. Setiap kali pendeklarasian variabel harus diakhiri oleh tanda titik koma ( ; ).

Bentuk penulisan :
Tipe data nama_variabel;

   Contoh Deklarasi :
char nama_mahasiswa[20];
char grade;
float rata_rata ;
int nilai;
2.8 Operator Aritmatika
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program, yang digunakan untuk melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain-lain.

Operator mempunyai sifat sebagai berikut:
A.    Unary
Sifat Unary pada operator adalah hanya melibatkan sebuah operand pada suatu operasi aritmatik
Contoh : -5
B.     Binary
Sifat Binary pada operator adalah melibatkan dua buah operand pada suatu operasi aritmatik
Contoh : 4 + 8
C.    Ternary
Sifat Tenary pada operator adalah melibatkan tiga buah operand pada suatu operasi aritmatik
Contoh : (10 % 3) + 4 + 2

Operator untuk operasi aritmatika yang tergolong sebagai operator Unary adalah:
Tabel 2.2 Operator Aritmatika (Unary)
Operator
Keterangan
Contoh
+
Tanda Plus
−4
Tanda Minus
+6

Operator yang tergolong sebagai operator Binary, adalah:

Tabel 2.3 Operator Aritmatika (Binary)
Operator
Keterangan
Contoh
*
Perkalian
4 * 5
/
Pembagian
8 / 2
%
Sisa Pembagian (mod)
5 % 2
+
Penjumlahan
7 + 2
Pengurangan
6 − 2


2.9 Operasi Penyeleksian Kondisi
Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain.

Pernyataan IF
Pernyataan if mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”.
Bentuk umum dari pernyataan if

if (kondisi)
pernyataan;

Penulisan kondisi berada di dalam tanda kurung kurawal jika pemakaian if diikuti dengan pernyataan majemuk, bentuk penulisannya sebagai berikut :
if (kondisi)
{
pernyataan;
……
}

        Pernyataan IF - ELSE
Pernyataan if mempunyai pengertian, “Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”.
Bentuk umum dari pernyataan if –else
if (kondisi)
perintah-1;
else
perintah-2;

Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Jika pemakaian if-else diikuti dengan pernyataan majemuk, bentuk penulisannya sebagai berikut :
if (kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...

Pernyataan NESTED IF
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(syarat)
{
if(syarat)
… perintah;
else
… perintah;
}
else
{
if(syarat)
… perintah;
else
… perintah;
}

2.10  Perulangan (Looping)
Struktur pengulangan digunakan untuk menguang suatu perintah sebanyak yang diinginkan. Untuk melakukan perintah dengan melakukan banyak perulangan akan lebih efisien apabilaa kita menggunakan perulangan. Ada beberapa perulangan dalam C++ yaitu : for, nested for, goto, while, do..while.

String Compare digunakan membandingkan dua string dengan cara membandingkan string 1 ke string 2. Fungsi ini dimulai membandingkan karakter pertama dari setiap string.
Jika mereka sama satu sama lain, terus dengan pasangan berikutnya sampai membandingkan karakter yang berbeda atau sampai ke terminator karakter null.
(referensi : Utama, Didit N & Widayanti, Riya, “Algoritma dan Pemrograman dengan Borland C++”, Graha Ilmu – Yogyakarta, 2005)

Array adalah suatu variable yang terdiri dari sekumpulan data dimana data-data tersebut mempunyai tipe data yang sama. Setiap data disimpan dalam alamat memori yang berbeda-beda dan disebut dengan elemen array.
Setiap elemen mempunyai nilai indek sesuai dengan urutannua, melalui indek inilah kita dapat mengakses data-data tersebut.
Array didekatkan dengan tanda [] (bracket). Baik dalam Bahasa C++ dan Java. Bentuk umum dari tipe data array adalah :
tipe_data nama_array[jumlah_elemen]

A.    Array Dimensi Satu
Setiap elemen array dapat diakses melalui index
-          Index array secara default dimulai dari 0
-          Deklarasi array :
tipe_array nama_array[ukuran]

B.     Array Dimensi Dua
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom bentuknya dapat berupa matriks atau table
Deklarasi array :
tipe_array nama_array[baris][kolom]
















BAB III
PEMBAHASAN

3.1    Ketentuan Program
3.1.1    Menu Utama
            Dalam menu utama ada tiga pilihan transaksi :

Tabel 3.1 Menu Utama
Kode
Jenis Transaksi
K
Pemesanan Tiket Kereta Api
B
Pembayaran Biaya Kuliah BSI
U
Pengiriman Uang

3.1.2    Pemesanan Tiket Kereta Api
Maksimal pemesanan tiket 4
Bayi (0-3 Tahun) tidak mendapatkan kursi
Jika ingin memesan kursi untuk bayi data tanggal lahir bayi di isi dengan data orang dewasa (orang tua)
Pilihan tujuan perjalanan Kereta Api, antara lain :

Tabel 3.2 Menu Pemesanan Tiket Kereta Api
Kode
Tujuan
S
Gambir - Surabaya
M
Gambir – Malang
Y
Gambir – Yogyakarta
P
Gambir - Purwokerto
                    
Setelah memilih tujuan perjalanan, dapat memilih jenis kereta.
Data perjalanan disesuaikan dengan data dari PT. KAI

3.1.3        Pembayaran Biaya Kuliah BSI
Tabel 3.3 Menu Pembayaran Biaya Kuliah BSI
Kode
Jurusan
Semester
Harga
A
Komputer Akuntansi
1
3.000.000
2
2.800.000
3
2.600.000
>3
2.400.000
Kode
Jurusan
Semester
Harga
B
Akademi Bahasa Asing
1
3.100.000
2
2.900.000
3
2.750.000
>3
2.500.000
M
Manajemen Informatika
1
3.000.000
2
2.750.000
3
2.500.000
>3
2.450.000
T
Teknik Komputer
1
3.000.000
2
2.700.000
3
2.650.000
>3
2.400.000

3.1.4        Pengiriman Uang
Tabel 3.4 Menu Pengiriman Uang
Ketentuan
Maksimal Pengiriman
Rp. 6.000.000
Biaya Pengiriman
< 1.000.000
15.000
Biaya Pengiriman
> =1.000.000
25.000













3.2    Flow Chart
3.2.1 Pemesanan Tiket Kereta Api
Gambar 3.1 Flowcart Pemesanan Tiket Kereta Api

3.2.2    Pembayaran Biaya Kuliah

Gambar 3.2 Flowcart Pembayaran Biaya Kuliah BSI
3.2.3 Pengiriman Uang

Gambar 3.3 Flowcart Pengiriman Uang









3.3    Studi Kasus
3.3.1 Menu Utama
Aplikasi E-Trans ini digunakan untuk beberapa transaksi yang dimuat dalam satu menu utama. Ketika seorang pelanggan ingin memulai transaksi, maka tampilan Menu Utama pada E-Trans adalah pilihan transaksi.
Pelanggan tersebut diminta untuk memasukan kode transaksi yang akan dilakukan.
 










Gambar 3.4 Menu Utama
3.3.2 Pemesanan Tiket Kereta Api
Jika pelanggan memasukan Kode “K” maka transaksi yang dipilih adalah Pemesanan Tiket Kereta Api.
-          Pelanggan akan diminta memasukan tanggal keberangkatan.
-          Kemudian pelanggan memilih tujuan keberangkatan kereta api, jumlah penumpang dewasa dan penumpang bayi
(maksimal total tiket 4)
-          Setelah tujuan keberangkatan dipilih, maka pelanggan memilih jenis kereta api, kelas dan jam keberangkatan yang tersedia dalam menu.
-          Biodata penumpang dibutuhkan untuk kelengkapan  data pemesanan.
-          Pelanggan juga diminta memasukan kode tujuan, jumlah penumpang).
 









Gambar 3.5 Input Tanggal Keberangkatan Kereta Api
 








Gambar 3.6 Pemilihan Tujuan Keberangkatan Kereta Api
 











Gambar 3.7 Daftar Jadwa Kereta Api
 













Gambar 3.8 Input Data Diri Penumpang
-          Jika semua data yang dibutuhkan telah dimasukan, maka akan terlihat total harga yang harus dibayarkan untuk pemesanan tiket kereta api
-          tersebut dan juga biaya administrasi.
-          Pelanggan akan diminta membayar sesuai dengan total harga yang tertera, Jumlah Bayar dimasukan jumlah uang yang dibayarkan.
-          Setelah Jumlah Bayar dimasukan, maka akan tampil jumlah uang kembalian.
 























Gambar 3.9 Struk Pembayaran Tiket Kereta Api

-          Pelanggan akan diminta memasukan kode [Y/T] untuk melanjutkan transaksi atau tidak.

3.3.3        Pembayaran Kuliah
Jika pelanggan memasukan Kode “B” maka transaksi yang dipilih adalah Pembayaran Biaya Kuliah BSI
-          Pelanggan akan diminta memasukan data diri Mahasiswa BSI, yaitu berupa Nama Mahasiswa, NIM, Kode Juruan dan Semester
 









Gambar 3.10 Input Data Pembayaran Biaya Kuliah

-          Jika semua data yang dibutuhkan telah dimasukan, maka akan terlihat total harga yang harus dibayarkan untuk Pembayaran Biaya Kuliah BSI tersebut dan juga biaya administrasi.
-          Pelanggan akan diminta membayar sesuai dengan total harga yang tertera, Jumlah Bayar dimasukan jumlah uang yang dibayarkan.
-          Setelah Jumlah Bayar dimasukan, maka akan tampil jumlah uang kembalian.
 












              Gambar 3.11 Struk Pembayaran Biaya Kuliah BSI
-          Pelanggan akan diminta memasukan kode [Y/T] untuk melanjutkan transaksi atau tidak.
3.3.4 Pengiriman Uang
Jika pelanggan memasukan Kode “U” maka transaksi yang dipilih adalah Pengiriman Uang.
-          Pelanggan akan diminta memasukan data diri pengirim uang, berupa Nama Pengirim, Nomor Identitas dan Nomor Kontak.
-          Pelanggan juga diminta memasukan data diri penerima uang, berupa Nama Penerima, Nomor Identitas, Nomor Kontak dan Alamat.
-          Pelanggan diminta memasukan jumlah uang yang akan dikirim  ke penerima.
 








                 Gambar 3.12 Input Data Pengiriman Uang
-          Jika semua data yang dibutuhkan telah dimasukan, maka akan terlihat total harga yang harus dibayarkan untuk Pengiriman Uang tersebut dan juga biaya administrasi.
-          Pelanggan akan diminta membayar sesuai dengan total harga yang tertera, Jumlah Bayar dimasukan jumlah uang yang dibayarkan.
-          Setelah Jumlah Bayar dimasukan, maka akan tampil jumlah uang kembalian.
 













                Gambar 3.13 Struk Pembayaran Pengiriman Uang
3.4    Coding
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<iomanip.h>
garis()
{cout<<"\n\t===============================================\n";}
garis1()
{cout<<"\n\t\t------------------------------------------\n";}

main()
{
char ko,kod,ket[10],jur[30],tuj[30],nk[10],kls[10],nama[7][20],lagi,nj[25],id[7][20],kontak[7][20],alamat[25],jam[12];
int k,bt,nim,smt,uang,tot=0,kk,pd,pb;
float harga1[7],harga,bayar,total,kembali,adm,tgl,bln,thn,tl[7],bl[7],thl[7];
awal:
clrscr();
garis();
cout<<"\t           SELAMAT DATANG DI E-TRANS";
garis();
cout<<"\t                 MENU E-TRANS\n\n";
cout<<"\t KODE            TRANSAKSI\n\n";
cout<<"\t  K              PEMESANAN TIKET KERETA API\n";
cout<<"\t  B              PEMBAYARAN KULIAH BSI\n";
cout<<"\t  U              PENGIRIMAN UANG\n";
garis();
cout<<"\t Masukkan Kode : ";cin>>ko;

switch (ko)
{
case strcmp,'K':
case strcmp,'k':
input:
clrscr();
cout<<"\n\t E- KAI PENCARIAN JADWAL KERETA 2018";
cout<<"\n\n\t Isi 0 untuk kembali ke menu utama";
cout<<"\n\n\tTanggal Keberangkatan \t(dd mm yyyy) : ";
cin>>tgl;
if(tgl>31)
{goto input;}
else if(tgl==0)
{goto awal;}
cin>>bln;
if(bln>12)
{goto input;}
cin>>thn;
if(thn<2018)
{goto input;}
else if(thn>2018)
{goto input;}
clrscr();
cout<<"\n\t=====================================";
cout<<"\n\t| Kode  |         Tujuan            |";
cout<<"\n\t-------------------------------------";
cout<<"\n\t|   S   |      Gambir-Surabaya      |";
cout<<"\n\t|   M   |       Gambir-Malang       |";
cout<<"\n\t|   Y   |     Gambir-Yogyakarta     |";
cout<<"\n\t|   P   |     Gambir-Purwokerto     |";
cout<<"\n\t=====================================";
cout<<"\n\t\tMasukkan Kode Tujuan\t : ";cin>>kod;
cout<<"\t\tPenumpang Dewasa : ";cin>>pd;
if(pd>4)
{printf ("\n\t\tJumlah Pemesanan Melebihi Batas !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  {goto awal; }
 else
  {goto akhir;  }
  }
cout<<"\t\tPenumpang Bayi   : ";cin>>pb;
bt=pd+pb;

if(kod=='S'||kod=='s')
{
strcpy(jur,"Gambir-Surabaya");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f  ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode |         Nama         |  Stasiun Awal  |   Kelas   |   Harga   |";
cout<<"\n\t|     |        Kereta        | Stasiun Tujuan |           |   Tiket   |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|  1  | Argo Bromo Anggrek 2 |     Gambir     | Eksekutif |  485.000  |";
cout<<"\n\t|     |     09:30-18:30      |  Sby. Ps. Turi |           |           |";
cout<<"\n\t|  2  | Argo Bromo Anggrek 7 |     Gambir     |   Bisnis  |  425.000  | ";
cout<<"\n\t|     |     21:30-06:30      |  Sby. Ps.Turi  |           |           |";
cout<<"\n\t|  3  |    Bangunkarta 56    |     Gambir     | Eksekutif |  450.000  |";
cout<<"\n\t|     |     15:00-03:30      |   Sby. Gubeng  |           |           |";
cout<<"\n\t|  4  |    BangunKarta 66    |     Gambir     |   Bisnis  |  350.000  |";
cout<<"\n\t|     |     15:30-04:10      |   Sby. Gubeng  |           |           |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta : ";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Argo Bromo Anggrek 2");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Sby. Pasar Turi ");strcpy(jam,"09:30-18:30");harga1[k]=485000;}
else if (kk==2)
{strcpy(nk,"Argo Bromo Anggrek 7");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Sby. Pasar Turi ");strcpy(jam,"21:30-06:30");harga1[k]=425000;}
else if (kk==3)
{strcpy(nk,"Bangun Karta 56 ");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Surabaya Gubeng ");strcpy(jam,"15:00-03:30");harga1[k]=450000;}
else if (kk==4)
{strcpy(nk,"Bangun Karta 66 ");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Surabaya Gubeng ");strcpy(jam,"15:30-04:10");harga1[k]=350000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
 goto akhir;
  }
 }
 }
else if(kod=='M'||kod=='m')
{
strcpy(jur,"Gambir-Malang");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f  ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode |         Nama         |  Stasiun Awal  |   Kelas   |   Harga   |";
cout<<"\n\t|     |        Kereta        | Stasiun Tujuan |           |   Tiket   |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|  1  |     Gajayana 42      |     Gambir     | Eksekutif |  465.000  |";
cout<<"\n\t|     |     16:30-08:15      | Malang Kepanjen|           |           |";
cout<<"\n\t|  2  |     Gajayana 41      |     Gambir     |   Bisnis  |  420.000  | ";
cout<<"\n\t|     |     20:30-12:20      | Malang Kepanjen|           |           |";
cout<<"\n\t|  3  |       Bima 44        |     Gambir     | Eksekutif |  460.000  |";
cout<<"\n\t|     |     17:40-09:06      | Malang Lawang  |           |           |";
cout<<"\n\t|  4  |       Bima 45        |     Gambir     |   Bisnis  |  415.000  |";
cout<<"\n\t|     |     19:45-11:11      | Malang Lawang  |           |           |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta : ";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Gajayana 42");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Malang Kepanjen ");strcpy(jam,"16:30-08:15");harga1[k]=465000;}
else if (kk==2)
{strcpy(nk,"Gajayana 41");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Malang Kepanjen ");strcpy(jam,"20:30-12:20");harga1[k]=420000;}
else if (kk==3)
{strcpy(nk,"Bima 44 ");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Malang Lawang ");strcpy(jam,"17:40-09:06");harga1[k]=460000;}
else if (kk==4)
{strcpy(nk,"Bima 45 ");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Malang Lawang ");strcpy(jam,"19:45-11:11");harga1[k]=415000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
 goto akhir;
  }
  }
  }
else if(kod=='Y'||kod=='y')
{
strcpy(jur,"Gambir-Yogyakarta");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f  ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode |         Nama         |  Stasiun Awal  |   Kelas   |   Harga   |";
cout<<"\n\t|     |        Kereta        | Stasiun Tujuan |           |   Tiket   |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|  1  |      Taksaka 52      |     Gambir     | Eksekutif |  300.000  |";
cout<<"\n\t|     |     08:30-16:25      | Tugu Yogyakarta|           |           |";
cout<<"\n\t|  2  |      Taksaka 54      |     Gambir     |   Bisnis  |  260.000  | ";
cout<<"\n\t|     |     20:45-04:15      | Tugu Yogyakarta|           |           |";
cout<<"\n\t|  3  |     Argo Lawu 7      |     Gambir     | Eksekutif |  290.000  |";
cout<<"\n\t|     |     08:57-16:27      | Tugu Yogyakarta|           |           |";
cout<<"\n\t|  4  |     Argo Lawu 8      |     Gambir     |   Bisnis  |  265.000  |";
cout<<"\n\t|     |     20:15-03:48      | Tugu Yogyakarta|           |           |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta : ";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Taksaka 52");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Tugu Yogyakarta");strcpy(jam,"08:30-16:25");harga1[k]=300000;}
else if (kk==2)
{strcpy(nk,"Taksaka 54");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Tugu Yogyakarta");strcpy(jam,"20:45-04:15");harga1[k]=260000;}
else if (kk==3)
{strcpy(nk,"Argo Lawu 7");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Tugu Yogyakarta");strcpy(jam,"08:57-16:27");harga1[k]=290000;}
else if (kk==4)
{strcpy(nk,"Argo Lawu 8");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Tugu Yogyakarta");strcpy(jam,"20:15-03:48");harga1[k]=265000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
 goto akhir;
  }
  }
  }
  else if(kod=='P'||kod=='p')
{
strcpy(jur,"Gambir-Purwokerto");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f  ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode |         Nama         |  Stasiun Awal  |   Kelas   |   Harga   |";
cout<<"\n\t|     |        Kereta        | Stasiun Tujuan |           |   Tiket   |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|  1  |  Argo Dwipangga 10   |     Gambir     | Eksekutif |  285.000  |";
cout<<"\n\t|     |     08:00-12:56      | Prwokerto (PWT)|           |           |";
cout<<"\n\t|  2  |  Argo Dwipangga 11   |     Gambir     |   Bisnis  |  250.000  | ";
cout<<"\n\t|     |     20:15-01:09      | Prwokerto (PWT)|           |           |";
cout<<"\n\t|  3  |    Purwo Jaya 55     |     Gambir     | Eksekutif |  280.000  |";
cout<<"\n\t|     |     17:40-22:34      | Prwokerto (PWT)|           |           |";
cout<<"\n\t|  4  |    Purwo Jaya 58     |     Gambir     |   Bisnis  |  255.000  |";
cout<<"\n\t|     |     22:05-03:08      | Prwokerto (PWT)|           |           |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta : ";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Argo Dwipangga 10" );strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Prwokerto (PWT)");strcpy(jam,"08:00-12:56");harga1[k]=285000;}
else if (kk==2)
{strcpy(nk,"Argo Dwipangga 11 ");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Prwokerto (PWT)");strcpy(jam,"20:15-01:09");harga1[k]=250000;}
else if (kk==3)
{strcpy(nk,"Purwo Jaya 55");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Prwokerto (PWT)");strcpy(jam,"17:40-22:34");harga1[k]=280000;}
else if (kk==4)
{strcpy(nk,"Purwo Jaya 58");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Prwokerto (PWT)");strcpy(jam,"22:05-03:08");harga1[k]=255000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
 goto akhir;
  }
  }
  }

clrscr();
cout<<"\t=============================================================================\n";
cout<<"\t ASAL - TUJUAN  : "<<tuj<<endl;
cout<<"\t NAMA KERETA    : "<<nk<<endl;
printf("\t JADWAL         : %.f/%.f/%.f  %s \n",tgl,bln,thn,jam);
cout<<"\t KELAS          : "<<kls<<endl;
cout<<"\t=============================================================================\n";
cout<<"\t* Harga Tiktet Bayi (0-3 Thn)  : 0 (Tidak mendapatkan kursi)\n";
cout<<"\t* Tgl. Lahir Bayi yg mengambil kursi, isi dengan Tgl. Lahir dewasa (Org Tua)\n";
cout<<"\t* Harga Tiket Bayi yg mengambil kursi = Harga Tiket Dewasa \n";
cout<<"\t=============================================================================\n";
for (k=1;k<=bt;k++)
{
cout<<"PENUMPANG KE- "<<k;
cout<<"\n\t\tNama\t\t\t : ";gets(nama[k]);
cout<<"\t\tTgl. Larir (dd mm yyyy)  : ";cin>>tl[k];cin>>bl[k];cin>>thl[k];
cout<<"\t\tNo. HP\t\t\t : ";cin>>kontak[k];
cout<<"\t\tNo.Identitas\t\t : ";cin>>id[k];
}
 clrscr();
cout<<"\n\t  ==========================================================";
cout<<"\n\t             DATA PEMESANAN TIKET KERETA API ";
cout<<"\n\t  ----------------------------------------------------------";
printf("\n\t\tStasiun Asal-Tujuan\t : %s",tuj);
printf("\n\t\tNama Kereta\t\t : %s",nk);
printf("\n\t\tKelas   \t\t : %s",kls);
printf("\n\t\tJadwal Keberangkatan     : %.f/%.f/%.f %s\n",tgl,bln,thn,jam);
cout<<"\t  ==========================================================\n";
  for (k=1;k<=bt;k++)
 {
 if(thl[k]>2014)
 {strcpy(ket,"Bayi");
 harga1[k]=0;
 }
 else
  {strcpy(ket,"Dewasa");}
 cout<<"PENUMPANG KE-"<<k;
 cout<<"\n\t\tNama Penumpang      No.Identitas       No.Kontak  \n\n";
 cout<<"\t\t";
 cout<<setiosflags(ios::left)<<setw(20)<<nama[k];
 cout<<setiosflags(ios::left)<<setw(19)<<id[k];
 cout<<setiosflags(ios::left)<<setw(14)<<kontak[k];
 cout<<"\n\t  ----------------------------------------------------------";
 printf("\n\t\tKeterangan\t\t : %s",ket);
 printf("\n\t\tHarga Tiket\t\t : %.f",harga1[k]);
 cout<<"\n\t  ==========================================================\n";
 tot=tot+harga1[k];
 }

 adm=1*tot/100;
 total=tot+adm;
 printf("\n\t\tJumlah Harga\t\t : %d",tot);
 printf("\n\t\tBiaya  Admin\t\t : %.f",adm);
 printf("\n\t\tTotal Harga\t\t : %.f",total);
 garis1();
 printf("\t\tJumlah Bayar\t\t : ");cin>>bayar;
 kembali=bayar-total;
 printf("\t\tKembali\t\t\t : %.f",kembali);
 cout<<"\n\t  ==========================================================";
 cout<<"\n\t                 Segera lakukan cetak tiket          ";
 cout<<"\n\t                   paling lambat 30 menit          ";
 cout<<"\n\t                Sebelum jadwal keberangkatan       ";
 cout<<"\n\t  ==========================================================";
 cout<<"\n\t\t\tIngin Cetak lagi? [Y/T]  : ";cin>>lagi;

 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;
case strcmp,'B':
case strcmp,'b':
clrscr();
cout<<"\n\t  ======DAFTAR PEMBAYARAN KULIAH BSI=======";
cout<<"\n\t----------------------------------------------";
cout<<"\n\t| KODE  |   NAMA JURUSAN                     |";
cout<<"\n\t----------------------------------------------";
cout<<"\n\t|  A                |   Komputer Akutansi                |";
cout<<"\n\t|  B                |   Manejemen Bahasa Asing           |";
cout<<"\n\t|  M               |   Manejemen Informatika            |";
cout<<"\n\t|  T                 |   Teknik Komputer                  |";
cout<<"\n\t----------------------------------------------";
cout<<"\n\n\t\tNama Mahasiswa\t : ";gets(nama[0]);
cout<<"\t\tNIM     \t : ";cin>>nim;
if(nim>99999999||nim<=9999999)
{printf ("\n\t\tNIM Tidak Terdaftar !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;
  }
cout<<"\t\tKode Jurusan\t : ";cin>>kod;
cout<<"\t\tSemester\t : ";cin>>smt;
if(smt==1)
{printf ("\n\t\tAnda Sudah Tidak Memiliki Tagihan Untuk Semester ini !!!");
 cout<<"\n\t\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;
  }

clrscr();
if (kod=='A'||kod=='a')
 {strcpy(nj,"Komputer Akuntansi");
if (smt==2)
 harga=2800000;
 else if (smt==3)
 harga=2600000;
 else
 harga=2400000;
  }
else if (kod=='B'||kod=='b')
 {
 strcpy(nj,"Manajemen Bahasa Asing ");
if (smt==2)
 harga=2900000;
 else if (smt==3)
 harga=2750000;
  else
  harga=2500000;
  }
else if (kod=='M'||kod=='m')
 {
 strcpy(nj,"Manajemen Informatika");
if (smt==2)
 harga=2750000;
 else if (smt==3)
 harga=2500000;
  else
  harga=2450000;
  }
else if (kod=='T'||kod=='t')
 {
 strcpy(nj,"Teknik Komputer");
if (smt==2)
 harga=2700000;
 else if (smt==3)
 harga=2650000;
  else
  harga=2400000;
  }

 else
 {printf ("\n\t\tKode Salah !!!");
 cout<<"\n\t\tIngin Cetak lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;
  }
 clrscr();
 adm=0.2/100*harga;
 total=harga+adm;
 cout<<"\n\t Bukti Pembayaran Kuliah Bina Sarana Informatika";
 cout<<"\n\t+++++++++++++++++++++++++++++++++++++++++++++++++++";
 printf("\n\n\t\tNama \t\t : %s",nama[0]);
 printf("\n\t\tNIM\t\t : %i",nim);
 printf("\n\t\tJurusan\t\t : %s",nj);
 printf("\n\t\tSemeter\t\t : %d",smt);
 printf("\n\t\tBiaya kuliah\t : %.f",harga);
 cout<<"\n\t\tBiaya Admin\t : "<<adm;
 cout<<"\n\t--------------------------------------------------";
 printf("\n\t\tTotal Biaya\t : %.f ",total);
 cout<<"\n\t--------------------------------------------------";
 printf("\n\t\tJumlah Bayar\t : ");cin>>bayar;
  kembali=(bayar-total);
 printf("\t\tKembali\t         : %.f ",kembali);
 cout<<"\n\t===================================================";
 cout<<"\n\t+++++ Simpan struk ini untuk bukti transaksi ++++++";
 cout<<"\n\t+++++++++++++++++++++++++++++++++++++++++++++++++++";
 cout<<"\n\tApakah anda ingin melakukan transaksi lagi ? [Y/T] : ";cin>>lagi;

 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;

case strcmp,'U':
case strcmp,'u':
clrscr();
cout<<"\n\t============== PENGIRIMAN UANG ===============";
cout<<"\n\t========= Masukkan Data Pengiriman ===========";
cout<<"\n\n\tNama Pengirim\t\t : ";gets(nama[0]);
cout<<"\tNo. Identitas/KTP\t : ";cin>>id[0];
cout<<"\tNo. Kontak\t\t : ";cin>>kontak[0];
cout<<"\t------------------------------------------------";
cout<<"\n\tNama Penerima\t  : ";gets(nama[1]);
cout<<"\tNo. Identitas/KTP : ";cin>>id[1];
cout<<"\tNo. Kontak\t  : ";cin>>kontak[1];
cout<<"\tAlamat\t\t  : ";gets(alamat);
cout<<"\tJumlah Uang \t  : ";cin>>uang;
if (uang>6000000)
{printf ("\n\tJumlah Uang Melebihi Batas Pengiriman !!!");
 cout<<"\n\tApakah anda ingin melakukan transaksi  lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;
  }

clrscr();
if(uang>1000000)
adm=25000;
else
adm=15000;
cout<<"\n\t=========================================================";
cout<<"\n\t           Bukti Transaksi Pengiriman Uang";
cout<<"\n\t=========================================================";
cout<<"\n\tNama                     No.                 No.  ";
cout<<"\n\tPengirm                  Identitas/KTP       Kontak  \n\n";
cout<<"\t"<<setiosflags(ios::left)<<setw(25)<<nama[0];
cout<<setiosflags(ios::left)<<setw(20)<<id[0];
cout<<setiosflags(ios::left)<<setw(15)<<kontak[0];
cout<<"\n\t---------------------------------------------------------\n";
cout<<"\n\t\tNama Penerima\t\t : "<<nama[1];
cout<<"\n\t\tNo. Identitas/KTP\t : "<<id[1];
cout<<"\n\t\tNo. Kontak\t         : "<<kontak[1];
cout<<"\n\t\tAlamat\t\t\t : "<<alamat;
cout<<"\n\t\t------------------------------------------";
cout<<"\n\t\tJumlah Uang \t         : "<<uang;
cout<<"\n\t\t------------------------------------------";
cout<<"\n\t\tBiaya Pengiriman\t : "<<adm;
tot=(uang+adm);
cout<<"\n\t\tTotal\t\t         : "<<tot;
cout<<"\n\t\tTunai\t\t\t : ";cin>>bayar;
kembali=bayar-tot;
cout<<"\t\tKembali\t\t\t : "<<kembali;
cout<<"\n\t=========================================================";
cout<<"\n\tPenerima dapat mengambil uang kiriman di Capmart terdekat";
cout<<"\n\t     dengan membawa kartu identitas sesuai data pemesanan";
cout<<"\n\t=========================================================";
cout<<"\n\t        Simpan struk ini sebagai bukti transaksi";
cout<<"\n\t*********************************************************";
cout<<"\n\tIngin melakukan transaksi lagi ? [Y/T] : ";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
 default:
 printf ("\n\t\tKode Salah !!!");
 cout<<"\n\t\tIngin Melakukan Transaksi Lagi? [Y/T] : ";
 cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  {goto awal;  }
 else
 { goto akhir; }
  }
 akhir :
 printf("\n\t\t\tTerima Kasih");
 getch();
}



























BAB IV
PENUTUP
4.1    Kesimpulan
Pembuatan program e-Trans diyakini mampu meningkatkan efisiensi kerja dan waktu sehingga dapat memuaskan baik pihak manajemen toko maupun pihak konsumen.

4.2    Kritik dan Saran
Penulis menyadari masih banyak kekurangan dalam makalah ini. Oleh karenanya, masukan dari Ibu Dewi Laraswati selaku pembimbing dan rekan rekan mahasiswa kami harapkan, guna perbaikan makalah dan karya tulis dikemudian hari.




















DAFTAR PUSTAKA

         Utama, Didit N & Widayanti, Riya, “Algoritma dan Pemrograman dengan Borland C++”, Graha Ilmu – Yogyakarta, 2005

         Tim Penyusun Komisi MI, “Modul Praktikum Pemrograman C++”, Akademi Manajemen Informatika dan Komputer BSI – Depok, 2017