Puji syukur saya panjatkan kehadirat Allah SWT Tuhan Yang Maha Esa karena berkat limpahan
Rahmat dan Karunia-Nya sehingga saya dapat menyusun makalah ini dengan tepat waktu.
Tidak lupa juga saya ucapkan terima kasih kepada Dosen mata kuliah “Dasar Pemprograman”
yang telah membimbing saya dalam mata kuliah yang bersangkutan.
Dalam tugas ini saya dapat menyelesaikan makalah dengan judul “Pembayaran Rumah Sakit
Sederhana ”. Tugas ini dibuat dalam rangka memenuhi tugas mata kuliah Dasar Pemprograman
(C++). Semoga makalah yang saya buat ini dapat bermanfaat bagi saya dan semua pihak yang
membacanya.
Demikian kata pengantar ini saya buat. Saya menyadari bahwa makalah ini masih sangat jauh
dari kata sempurna, untuk itu saya mohon maaf bila ada kesalahan kata dalam pembuatan
makalah ini maupun kata pengantar ini, juga saya meminta kritik dan saran yang membangun
agar dapat dibuatnya makalah yang lebih baik. Semoga makalah ini bermanfaat bagi para
pembaca dan dapat menambah cakrawala pengetahuan kita.
1|Page
Daftar Isi
Kata Pengantar……………………………………………………………………………….1
Daftar Isi …………………………………………………………………………………….2
Bab I Pendahuluan
1.1 Latar Belakang…………………………..………………………………………3
1.2 Tujuan …………………………..……………………………………………....3
1.3 Ruang Lingkup ………………………………………………………………....3
Bab II Pembahasan
2.1 Listing…………………………………………..…………………………….…4
2.2 Tampilan Program ……………………………………………………………..18
2.3 Penjelasan…………………………………………..…………………………..21
Bab III Penutup
3.1 Kesimpulan……………….…………………………………………………….27
2|Page
BAB I
PENDAHULUAN
1.1Latar Belakang
Pemograman dalam struktur data ada beberapa macam, salah satunya adalah
pemograman C++. Dalam pemograman ini kami hanya menggunakan variable if dan nested
if. Karena keterbatasan penulis, untuk saat ini kami hanya bisa membuat pemogramn dengan
variable tersebut.
Program yang kami buat adalah program sederhana untuk input data base pasien pada
sebuah ruma sakit umum. Dimana program ini hanya berfungsi untuk pengumpulan data
pasien yang sudah terdata pada lembar pendaftaran dan menghitung biaya periksa dokter dan
biaya rawat inap pada sebuah rumah sakit umum. Dan program ini juga untuk print out hasil
pembayaran yang telah dilakukan.
1.2 Tujuan
Tujuan di buat atau disusunya Makalah ini yaitu untuk menyelesaikan salah satu
tugas mata pelajaran yang khususnya mata pelajaran Dasar Pemograman .
Selain itu, penulis berharap di buatnya makalah ini bukan hanya untuk tugas yang di
berikan semata, akan tetapi bias membantu kita semua dalam hal mempelajari ilmu
pengetahuawn yang khususnya Pemograman C++ ini. Harapan penulis yaitu semoga
makalah ini tidak hanya bermanfaat bagi penulis akan tetapi sangat-sangat bermanfaat
khususnya juga bagi para pembaca atau kita semua yang membutuhkan untuk referensi
ataupun salah satu sarana untuk menambah wawasan dalam hal ilmu pengetahuan yang
khususnya Pemograman C++.. Semoga makalah ini bisa bermanfaat bagi penulis khsususnya
dan kita semua amiin.
1.3Ruang Lingkup
Ruang lingkup makalah ini adalah untuk mahasiswa AMIK BSI khususnya yang memiliki
mata kuliah Dasar Pemograman.
3|Page
BAB II
PEMBAHASAN
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include "kacrut.h"
#include "dokter.cpp"
void garis()
cout<<"===============================================================
======="<<endl;
void garis1()
cout<<"----------------------------------------------------------------------"<<endl;
void garis2()
cout<<"-----------------------------"<<endl;
4|Page
}
gg()
struct
char nama[30];
int nip;
}admin;
int nomor[10]={1,2,3,4,5,6,7,8,9,10};
int harga[5]={150000,250000,200000,300000,120000};
char nama_dkt[5][20]={"Dr. Susi S","Dr. Susi U","Dr. Susi L","Dr. Susi I","Dr. Susi T"};
char kamar[5][20]={"Mawar","Melati","Bogenvile","Kamboja","Raflesia"};
char kelas[5][10]={"I","II","III","VIP","VVIP"};
int hakam[5]={800000,600000,300000,1300000,1500000};
char pilih,np[20],alm[20],jk[40],dg[20],jkm,km[20],in;
int lm,i,hrg_km,ttl_km,data,u_bayar,kembali,kembali1,ttl_byr;
long total[20],fix[20]={0};
kosongkan();
garis();
5|Page
cout<<"Nama petugas :";cin>>admin.nama;
cout<<"Nip :";cin>>admin.nip;
garis();
pegangan();
kosongkan();
awal:
kosongkan();
garis();
cout<<"3.Quit"<<endl;
garis();
if(pilih=='1')
{ goto inap;}
else if(pilih=='2')
{goto umum;}
inap:
kosongkan();
garis();
6|Page
cout<<"\t\t\tINPUT DATA PASIEN"<<endl;
garis();
cout<<"Alamat :";cin>>alm;
cout<<"Diagnosa :";cin>>dg;
garis();
cout<<"\t\t\tJenis Kamar"<<endl;
garis1();
garis1();
cout<<setiosflags(ios::left)<<setw(5)<<nomor[0]<<setw(15)<<kamar[2]<<setw(8)<<kelas[2]<<
setw(10)<<hakam[2]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[1]<<setw(15)<<kamar[1]<<setw(8)<<kelas[1]<<
setw(10)<<hakam[1]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[2]<<setw(15)<<kamar[0]<<setw(8)<<kelas[0]<<
setw(10)<<hakam[0]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[3]<<setw(15)<<kamar[3]<<setw(8)<<kelas[3]<<
setw(10)<<hakam[3]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[4]<<setw(15)<<kamar[4]<<setw(8)<<kelas[4]<<
setw(10)<<hakam[4]<<endl;
cout<<endl;
garis1();
7|Page
if(jkm=='1')
{strcpy(km,"Kelas III");
hrg_km=300000;
else if(jkm=='2')
{strcpy(km,"Kelas II");
hrg_km=600000;
else if(jkm=='3')
{strcpy(km,"Kelas I");
hrg_km=800000;
else if(jkm=='4')
{strcpy(km,"Kelas VIP");
hrg_km=1300000;
else
{strcpy(km,"Kelas VVIP");
hrg_km=1500000;
8|Page
ttl_km=hrg_km*lm;
pegangan();
kosongkan();
garis();
dtr dokter[20];
for(i=1;i<=lm;i++)
cout<<"Hari Ke="<<i<<endl;
garis();
garis();
cout<<setiosflags(ios::left)<<setw(5)<<nomor[0]<<setw(25)<<nama_dkt[0]<<setw(22)<<dokto
r[0]<<setw(10)<<harga[0]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[1]<<setw(25)<<nama_dkt[1]<<setw(22)<<dokto
r[1]<<setw(10)<<harga[1]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[2]<<setw(25)<<nama_dkt[2]<<setw(22)<<dokto
r[2]<<setw(10)<<harga[2]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[3]<<setw(25)<<nama_dkt[3]<<setw(22)<<dokto
r[3]<<setw(10)<<harga[3]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[4]<<setw(25)<<nama_dkt[4]<<setw(22)<<dokto
r[4]<<setw(10)<<harga[4]<<endl;
garis1();
9|Page
if(pilih=='1')
dokter[i].hrg=150000;
dokter[i].spec="Dr.Anak";
else if(pilih=='2')
dokter[i].hrg=250000;
dokter[i].spec="Dr.Penyakit Dalam";
else if(pilih=='3')
dokter[i].hrg=200000;
dokter[i].spec="Dr.THT";
else if(pilih=='4')
dokter[i].hrg=300000;
dokter[i].spec="Dr.Bedah";
else
10 | P a g e
dokter[i].hrg=120000;
dokter[i].spec="Dr.Umun";
kosongkan();
total[i]=dokter[i].hrg*dokter[i].jml;
fix[data]=total[i]+ttl_km;
garis();
cout<<"\t\t\tData Pasien"<<endl;
garis();
cout<<"Alamat :"<<alm<<endl;
cout<<"Diagnosa :"<<dg<<endl;
11 | P a g e
garis();
cout<<"\t\t\tRINCIAN BIAYA"<<endl;
garis();
garis1();
for(i=1;i<=lm;i++)
cout<<setiosflags(ios::left)<<setw(5)<<i;
cout<<setiosflags(ios::left)<<setw(16)<<dokter[i].ndr;
cout<<setiosflags(ios::left)<<setw(21)<<dokter[i].spec;
cout<<setiosflags(ios::left)<<setw(5)<<dokter[i].jml;
cout<<setiosflags(ios::left)<<setw(12)<<dokter[i].hrg;
cout<<setiosflags(ios::left)<<setw(5)<<total[i];
cout<<endl;
cout<<endl;
garis();
garis2();
kembali=u_bayar-fix[data];
12 | P a g e
cout<<endl;
cout<<endl;
cout<<endl;
if(in=='Y'||in=='y'){
goto awal;}
else{
goto end;
umum:
kosongkan();
garis();
garis();
cout<<"Alamat :";cin>>alm;
cout<<"Diagnosa :";cin>>dg;
garis();
13 | P a g e
garis();
cout<<setiosflags(ios::left)<<setw(5)<<nomor[0]<<setw(25)<<nama_dkt[0]<<setw(22)<<dokto
r[0]<<setw(10)<<harga[0]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[1]<<setw(25)<<nama_dkt[1]<<setw(22)<<dokto
r[1]<<setw(10)<<harga[1]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[2]<<setw(25)<<nama_dkt[2]<<setw(22)<<dokto
r[2]<<setw(10)<<harga[2]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[3]<<setw(25)<<nama_dkt[3]<<setw(22)<<dokto
r[3]<<setw(10)<<harga[3]<<endl;
cout<<setiosflags(ios::left)<<setw(5)<<nomor[4]<<setw(25)<<nama_dkt[4]<<setw(22)<<dokto
r[4]<<setw(10)<<harga[4]<<endl;
garis1();
if(pilih=='1')
dokter[i].hrg=150000;
dokter[i].spec="Dr.Anak";
else if(pilih=='2')
dokter[i].hrg=250000;
dokter[i].spec="Dr.Penyakit Dalam";
else if(pilih=='3')
14 | P a g e
{dokter[i].ndr="Dr. Susi L";
dokter[i].hrg=200000;
dokter[i].spec="Dr.THT";
else if(pilih=='4')
dokter[i].hrg=300000;
dokter[i].spec="Dr.Bedah";
else
dokter[i].hrg=120000;
dokter[i].spec="Dr.Umun";
cout<<"Pembayaran :";cin>>ttl_byr;
kembali1=ttl_byr-dokter[i].hrg;
garis2();
cout<<endl;
15 | P a g e
pegangan();
kosongkan();
garis();
garis();
cout<<"Alamat :"<<alm<<endl;
cout<<"Diagnosa :"<<dg<<endl;
cout<<"Pembayaran :"<<ttl_byr<<endl;
garis1();
cout<<endl;
cout<<endl;
if(in=='Y'||in=='y'){
16 | P a g e
goto awal;}
else{
goto end;
pegangan();
end:
17 | P a g e
2.2 TAMPILAN
18 | P a g e
Gambar 2.2.3 Tampilan output data pasien rawat inap
19 | P a g e
Gambar 2.2.5 Tampilan output data pasien rawat jalan
20 | P a g e
2.3 PENJELASAN PROGRAM
#stdio.h adalah Merupakan singkatan dari standar input output header yang digunakan
sebagai standar input output operasi yang digunakan oleh bahasa C, akan tetapi bisa juga
digunakan dalam bahasa C++. Fungsi-fungsi yang ada didalamstdio.h antara lain sebagai
berikut :
printf() : merupakan fungsi keluaran yang digunakan untuk menampilkan
informasi/pesan kelayar secara terformat (menentukan tipe data yang
akan dikeluarkan).
gets() : merupakan fungsi masukan yang khusus untuk menerima masukan tipe
data string (tanpa harus melakukan penentuan tipe data terlebih
dahulu).
#conio.h : Merupakan File Header yang berfungsi untuk menampilkan hasil antarmuka
kepada pengguna. Fungsi -fungsi yang ada didalam conio.h antara lain sebagai berikut :
getch() : merupakan singkatan dari get character and echo yang digunakan untuk menahan
(pause) output suatu program dan akan kembali mengeksekusi setelah kita
melakukan inputan baik itu tombol enter atau tombol lainnya dan inputan tersebut
tidak ditampilkan dalam window.
getche() : secara fungsi sama dengan getch() akan tetapi ketika melakukan inputan, inputan
tersebut tampil dalam window.
clrscr() : merupakan singkatan dari clear screen yang digunakan untuk membersihkan layar
windows .
21 | P a g e
#iostream.h : Merupakan singkatan dari input outout stream header yang digunakan sebagai
standar input output operasi yang digunakan oleh bahasa C++. Fungsi-fungsi yang ada didalam
iostream.h antara lain sebagai berikut :
cout : merupakan fungsi keluaran pada C++ yang menampilkan data dengan tipe data apapun
kelayar.
cin : merupakan fungsi masukan pada C++ yang bisa memasukan data berupa numerik dan
karakter.
endl : merupakan suatu fungsi yang manipulator yang digunakan untuk melakukan perintah
Newline atau pindah baris
Jika ditinjau dari bahasan mengenai struktur perulangan, penggunaan pernyataan goto
ini dapat mewakili penggunaan pernyataan break maupun continue, tergantung di mana
kita menempatkan label. Label sendiri didalam kode program berfungsi untuk menyatakan
lokasi yang akan dituju.
22 | P a g e
Pernyataan goto juga sering diartikan sebagai sebuah instruksi untuk mengarahkan
eksekusi program ke-pernyataan yang diawali dengan suatu label. Perlu juga diperhatikan
bahwa untuk menuliskan sebuah label, kita harus menggunakan tanda titik dua (:)
dibelakang nama label tersebut. Dalam mendefinisikan nama label juga tidak perlu
dilakukan pendeklarasian seperti halnya sebuah variabel karena label hanya digunakan
untuk tanda saja sehingga tidak memiliki tipe data.
- IF Tunggal
- Nested IF
If digunakan jika hanya terdapat satu kondisi saja.Perintah ini akan dijalankan jika
pernyataan benar dan akan diabaikan jika pernyataan salah.Berikut contoh
menggunakan seleksi if:
If(Kondisi)
{Pernyataan}
- IF – Else
- IF - Else Majemuk
}
else{
Pernyataan;
}
23 | P a g e
- Nested IF
Nested if atau dalam bahasa simplenya fungsi if didalam fungsi if.Beriku adalah
contoh penulisan secara umum if dalam if :
if(kondisi)
if(kondisi)
..Perintah yang akan di eksekusi apabila syarat terpenuhi;
else
... Perintah yang akan di eksekusi apabila tidaksyarat terpenuhi;
else
if(kondisi)
... Perintah yang akan di eksekusi apabila syarat terpenuhi;
else
... Perintah yang akan di eksekusi apabila syarat tidak terpenuhi;
2.3.5 Looping
24 | P a g e
pernyataan_n;
}
Penjelasannya :
ungkapan1 merupakan pernyataan inisialisasi nilai awal keadaan
ungkapan2 berlaku sebagai kondisi yang menenukan pengulangan terhadap
pernyataan.
ungkapan3 digunakan sebagai pengatur variabel yang digunakan di dalam ungkapan1
2. WHILE
merupakan pernyataan yang berguna untuk memproses suatu
pernyataan/pernyataan beberapa kali ( jumlah perulangan tidak ditentukan). Bentuk
umum dari pernyataan while adalah :
while ( ungkapan )
pernyataan;
atau jika pernyataan lebih dari 1 :
while (ungkapan)
{
pernyataan1;
pernyataan2;
……….
pernyataan_n;
}
pada pernyataan yang mengikuti (bawah ) while akan dieksekusi selama
ungkapan pada while ernilai benar ( tidak sama dengan nol ). Perlu diketahui bahwa
pengujian terhadap ungkapan pada while dilakukan sebelum bagian pernyataan. Oleh
karena itu ada kemungkinan pernyataan while tidak jalan sama sekali jika kondisi yang
pertama kali bernilai salah.
3. DO WHILE
pernyataan yang digunakan untuk mengulang proses. perbedaan dengan while,
do… while memiliki pengecekan kondisi yang terletak setelah statemen perulangan.
Bentuk perulangan do while sebagai berikut :
25 | P a g e
perulangan do while sebagai berikut :
do
{
pernyataan1;
pernyataan2;
……………….
pernyataan_n;
}
while (ungkapan);
Bagian pernyataan1 hingga pernyataa_n dijalankan secara berulang sampai
ungkapan bernilai salah ( sama dengan nol ). Namun berbeda dengan while,
pengujian ungkapan dilakukan di belkang ( setelah bagian pernyataan ).
2.3.6 ARRAY
Array adalah tumpukan variabel yang sejenis dan memiliki nama yang sama. Konsep
suatu array menjadikan tumpukan variabel tersebut mampu menampung nilai yang
berbeda asalkan tetap dengan tipe yang sama dengan tipe array. Sintaks penulisan array
adalah sebagai berikut:
tipe nama_array[elemen];
Tipe array merupakan tipe data tumpukan variabel tersebut, sedangkan nama_array
adalah nama tumpukan variabel. Untuk elemen atau indeks, merupakn pembeda yang
membedakan tumpukan variabel yang satu dengan yang lainnya dalam satu array, karena
di awal sudah Mimin jelaskan bahwa array memiliki nama dan jenis yang sama namun
pembendanya terletak di indeks atau elemen itu sendiri.
26 | P a g e
BAB III
PENUTUPAN
3.1 KESIMPULAN
1. Dalam Bahasa C++ semua hal yang berhubungan dengan sintaks harus diperhatikan secara
seksama. Hal ini dikarenakan sebuah program tidak akan bisa berjalan apabila salah satu dari
sintaks itu missing.
2. Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian struktur data
yang tepat didalam proses pemograman dan hasil algoritma yang jelas dan tepat sehingga
menjadi program secara keseluruhanlebih sederhana.
3. Seleksi kondisi if tunggal merupakan suatu kondisi yang hanya berisikan satu pernyataan.
Sedangkan if – else digunakan jika kita memiliki seleksi yang lebih dari satu pernyataan,
misalkan 2 pernyataan atau lebih.
4. Pernyataan GOTO adalah pernyataan yang memungkinkan kita untuk mengatur arahnya
aliran pengeksekusian CPU terhadap program kita. GOTO berfungsi untuk memerintahkan
CPU melompat ke baris manapun berdasarkan label yang telah dibuat.
27 | P a g e
Daftar Pustaka
Utama .didit N. & Widayanti, Riya, “ Algoritma & Pemograman dengan Borlan C++”,Graha
Ilmu – Yogya,2005
28 | P a g e