Dokumen tersebut membahas tentang bisnis proses, BPA, BPI, BPR, dan studi kasus penerapan BPR pada Ford Motor Company. Secara singkat, bisnis proses adalah serangkaian aktivitas yang saling terkait untuk menyelesaikan suatu masalah, sedangkan BPA, BPI, dan BPR merupakan pendekatan untuk mengotomatisasi, meningkatkan, atau merancang ulang proses bisnis secara fundamental. Studi kasus Ford menunjukkan bahwa penerapan B
Dokumen tersebut membahas tentang penjadwalan dan penentuan jadwal produksi, termasuk faktor-faktor yang mempengaruhi penentuan jadwal, teknik penentuan jadwal seperti jadwal maju dan mundur, serta pengurutan pekerjaan berdasarkan aturan prioritas seperti FCFS dan SPT.
Dokumen ini menjelaskan cara merancang basis data menggunakan perangkat lunak DBDesigner dan mengimplementasikannya pada MySQL. Terdapat penjelasan tentang komponen-komponen perancangan basis data pada DBDesigner seperti tabel, relasi, dan sinkronisasi ke database. Juga dijelaskan cara mengelola basis data MySQL menggunakan perangkat lunak SQLyog seperti membuat database, tabel, manipulasi data, dan mengeksekusi perintah SQL. Diakhir ada latihan untuk mer
Bab ini membahas analisis pekerjaan, termasuk tujuan dan metode pengumpulan informasi seperti wawancara, kuesioner, dan observasi. Metode ini digunakan untuk menulis deskripsi pekerjaan dan spesifikasi pekerjaan. Analisis pekerjaan bermanfaat untuk perekrutan, penilaian kinerja, pelatihan, dan keputusan upah. Bab ini juga membahas penerapan analisis pekerjaan untuk pengangguran.
Dokumen tersebut membahas tentang perancangan jaringan supply chain. Secara singkat, dokumen tersebut menjelaskan bahwa perancangan jaringan supply chain mencakup keputusan tentang lokasi, jumlah, dan kapasitas fasilitas produksi dan distribusi. Dokumen tersebut juga menjelaskan beberapa model yang dapat digunakan dalam merancang jaringan supply chain seperti metode kualitatif dan gravity location models.
Makalah ini membahas tentang data warehouse dan hubungannya dengan sistem pendukung keputusan (decision support system/DSS). Data warehouse dijelaskan sebagai database khusus untuk analisis dan pendukung pengambilan keputusan manajemen, yang menyimpan data terintegrasi dari berbagai sumber selama rentang waktu tertentu. Data warehouse berguna untuk pembuatan laporan, analisis online, penambangan data, dan mendukung keputusan bisnis."
Dokumen tersebut membahas tentang bisnis proses, BPA, BPI, BPR, dan studi kasus penerapan BPR pada Ford Motor Company. Secara singkat, bisnis proses adalah serangkaian aktivitas yang saling terkait untuk menyelesaikan suatu masalah, sedangkan BPA, BPI, dan BPR merupakan pendekatan untuk mengotomatisasi, meningkatkan, atau merancang ulang proses bisnis secara fundamental. Studi kasus Ford menunjukkan bahwa penerapan B
Dokumen tersebut membahas tentang penjadwalan dan penentuan jadwal produksi, termasuk faktor-faktor yang mempengaruhi penentuan jadwal, teknik penentuan jadwal seperti jadwal maju dan mundur, serta pengurutan pekerjaan berdasarkan aturan prioritas seperti FCFS dan SPT.
Dokumen ini menjelaskan cara merancang basis data menggunakan perangkat lunak DBDesigner dan mengimplementasikannya pada MySQL. Terdapat penjelasan tentang komponen-komponen perancangan basis data pada DBDesigner seperti tabel, relasi, dan sinkronisasi ke database. Juga dijelaskan cara mengelola basis data MySQL menggunakan perangkat lunak SQLyog seperti membuat database, tabel, manipulasi data, dan mengeksekusi perintah SQL. Diakhir ada latihan untuk mer
Bab ini membahas analisis pekerjaan, termasuk tujuan dan metode pengumpulan informasi seperti wawancara, kuesioner, dan observasi. Metode ini digunakan untuk menulis deskripsi pekerjaan dan spesifikasi pekerjaan. Analisis pekerjaan bermanfaat untuk perekrutan, penilaian kinerja, pelatihan, dan keputusan upah. Bab ini juga membahas penerapan analisis pekerjaan untuk pengangguran.
Dokumen tersebut membahas tentang perancangan jaringan supply chain. Secara singkat, dokumen tersebut menjelaskan bahwa perancangan jaringan supply chain mencakup keputusan tentang lokasi, jumlah, dan kapasitas fasilitas produksi dan distribusi. Dokumen tersebut juga menjelaskan beberapa model yang dapat digunakan dalam merancang jaringan supply chain seperti metode kualitatif dan gravity location models.
Makalah ini membahas tentang data warehouse dan hubungannya dengan sistem pendukung keputusan (decision support system/DSS). Data warehouse dijelaskan sebagai database khusus untuk analisis dan pendukung pengambilan keputusan manajemen, yang menyimpan data terintegrasi dari berbagai sumber selama rentang waktu tertentu. Data warehouse berguna untuk pembuatan laporan, analisis online, penambangan data, dan mendukung keputusan bisnis."
Tabel, Tipe data, Record & Field Basis datajoshua gidion
Tabel adalah obyek utama untuk menyimpan data dalam basis data. Ia terdiri dari record dan field, dimana record adalah baris data dan field adalah kolom data. Untuk membuat tabel, pengguna dapat menggunakan Datasheet View untuk mengisi data secara langsung atau Design View untuk menentukan tipe data field. Tipe data penting untuk mendefinisikan jenis informasi pada setiap field.
Dokumen tersebut membahas tentang penentuan kebutuhan sistem informasi pada tahap analisis. Secara garis besar, dokumen menjelaskan tentang proses analisis kebutuhan yang meliputi pemahaman situasi saat ini, identifikasi perbaikan, dan pendefinisian kebutuhan sistem baru. Dokumen juga menjelaskan jenis-jenis kebutuhan yang perlu diidentifikasi yaitu kebutuhan fungsional, non-fungsional, serta proses pengumpulan
Dokumen tersebut membahas tentang perencanaan agregat yang meliputi pengertian, tujuan, proses, metode, dan contoh-contoh penerapannya. Perencanaan agregat bertujuan untuk menentukan produksi dan tenaga kerja secara menyeluruh untuk beberapa bulan ke depan dengan mempertimbangkan permintaan, kapasitas, dan biaya. Metode yang dibahas antara lain pola produksi konstan, moderat, dan bergelombang.
Dokumen tersebut membahas uji statistik untuk menguji perbedaan rata-rata kandungan protein di dua daerah dengan asumsi varians sama dan berbeda. Terdapat penjelasan tentang penghitungan statistik uji-t untuk variabel tidak berpasangan, beserta kesimpulannya bahwa tidak terdapat perbedaan kandungan protein antar daerah.
Sistem informasi rental alat berat PT Terlalu Berat dirancang untuk mempermudah proses transaksi penyewaan secara online, mengolah data pelanggan dan alat secara efisien, serta membuat pembukuan transaksi yang cepat dan rapi. Sistem ini diharapkan dapat meningkatkan efisiensi proses bisnis penyewaan alat berat perusahaan.
BPR adalah merancang ulang radikal sistem bisnis untuk meningkatkan kinerja kritis seperti biaya, kualitas, layanan dan kecepatan. Faktor keberhasilan BPR meliputi visi, keterampilan, insentif, sumber daya, dan rencana aksi. Hasil yang diharapkan dari BPR adalah perbaikan proses hingga 100% dan pengurangan biaya secara drastis.
Dokumen tersebut membahas penggunaan Google Apps untuk perkantoran, yang mencakup Google Mail, Google Drive, Google Docs, Sheets dan Slides. Aplikasi-aplikasi ini memungkinkan kerja sama tim secara online melalui konferensi video, media sosial, dan kolaborasi dokumen secara real-time."
Dokumen tersebut membahas tentang struktur data tree, termasuk definisi tree, contoh penggunaannya, representasi tree, jenis-jenis tree seperti binary tree, operasi-operasi pada tree seperti insert, search, traverse, dan implementasinya dalam bahasa pemrograman.
Analisa klasifikasi biaya pasien rawat inap menggunakan teknik data mining at...Koltiva
Sistem Informasi Manajemen Rumah Sakit (SIMRS) secara umum telah digunakan oleh para staf rumah sakit untuk mendukung operasional sehari-hari. Sebagian besar informasi yang didapat pada operasional SIMRS berasal dari pengolahan transactional database. Sedangkan untuk mendukung pengambilan keputusan ditingkat manajerial, diperlukan akses ke database dalam ukuran besar dan dimensi yang lebih kompleks, sehingga diperlukan teknik data mining. Pendekatan data mining biasa dilakukan untuk menggali informasi, pengetahuan, pola-pola baru dan tren dengan menganalisis database dalam ukuran besar, menggunakan teknologi pengenalan pola, teknik statistik dan matematik.
Salahsatu potensi yang dapat dimanfaatkan pada penerapan data mining di rumah sakit adalah mengidentifikasi atribut-atribut penentu biaya pasien rawat inap. Dengan mengetahui atribut penentu biaya rawat, diharapkan pihak manajemen rumah sakit dapat melakukan kontrol terhadap biaya, sehingga ongkos perawatan pasien dapat ditekan tanpa mengurangi kualitas pelayanan.
Untuk mengidentifikasi atribut penentu biaya pasien rawat inap, digunakan data kunjungan pasien rawat inap RSUP Dr. Cipto Mangunkusumo dengan jaminan Jamkesmas periode 1 Januari 2009 s/d 30 September 2010 dari database SIMRS sebanyak 2022 kunjungan (jumlah sebelum dilakukan data cleaning 8383). Dengan teknik analisa Atttibute Importance (AI) didapatkan atribut-atribut penentu biaya dengan urutan sebagai berikut: prosedur medis 1 (AI=0,16), prosedur medis 4 (AI=0,15), prosedur medis 3 (AI=0,14), LOS (AI=0,13), prosedur medis 2 (AI=0,13), organisasi (AI=0.10), diagnosa utama (AI=0,08), jenis kelamin (AI=0.02) dan status kawin (AI=0.01). Hasil klasifikasi dengan teknik Algoritma Naive Bayes menunjukkan model yang dibuat memiliki predictive confidence sebesar 50,41%.
Makalah ini membahas tentang teknik-teknik komunikasi yang efektif antara perawat dan pasien. Ada beberapa teknik komunikasi yang disebutkan seperti pertanyaan terbuka, diam, mendengar, dan refleksi. Makalah ini juga membahas strategi komunikasi antara perawat jaga malam dan pagi untuk evaluasi pasien dengan menggunakan teknik-teknik komunikasi tersebut.
Tabel, Tipe data, Record & Field Basis datajoshua gidion
Tabel adalah obyek utama untuk menyimpan data dalam basis data. Ia terdiri dari record dan field, dimana record adalah baris data dan field adalah kolom data. Untuk membuat tabel, pengguna dapat menggunakan Datasheet View untuk mengisi data secara langsung atau Design View untuk menentukan tipe data field. Tipe data penting untuk mendefinisikan jenis informasi pada setiap field.
Dokumen tersebut membahas tentang penentuan kebutuhan sistem informasi pada tahap analisis. Secara garis besar, dokumen menjelaskan tentang proses analisis kebutuhan yang meliputi pemahaman situasi saat ini, identifikasi perbaikan, dan pendefinisian kebutuhan sistem baru. Dokumen juga menjelaskan jenis-jenis kebutuhan yang perlu diidentifikasi yaitu kebutuhan fungsional, non-fungsional, serta proses pengumpulan
Dokumen tersebut membahas tentang perencanaan agregat yang meliputi pengertian, tujuan, proses, metode, dan contoh-contoh penerapannya. Perencanaan agregat bertujuan untuk menentukan produksi dan tenaga kerja secara menyeluruh untuk beberapa bulan ke depan dengan mempertimbangkan permintaan, kapasitas, dan biaya. Metode yang dibahas antara lain pola produksi konstan, moderat, dan bergelombang.
Dokumen tersebut membahas uji statistik untuk menguji perbedaan rata-rata kandungan protein di dua daerah dengan asumsi varians sama dan berbeda. Terdapat penjelasan tentang penghitungan statistik uji-t untuk variabel tidak berpasangan, beserta kesimpulannya bahwa tidak terdapat perbedaan kandungan protein antar daerah.
Sistem informasi rental alat berat PT Terlalu Berat dirancang untuk mempermudah proses transaksi penyewaan secara online, mengolah data pelanggan dan alat secara efisien, serta membuat pembukuan transaksi yang cepat dan rapi. Sistem ini diharapkan dapat meningkatkan efisiensi proses bisnis penyewaan alat berat perusahaan.
BPR adalah merancang ulang radikal sistem bisnis untuk meningkatkan kinerja kritis seperti biaya, kualitas, layanan dan kecepatan. Faktor keberhasilan BPR meliputi visi, keterampilan, insentif, sumber daya, dan rencana aksi. Hasil yang diharapkan dari BPR adalah perbaikan proses hingga 100% dan pengurangan biaya secara drastis.
Dokumen tersebut membahas penggunaan Google Apps untuk perkantoran, yang mencakup Google Mail, Google Drive, Google Docs, Sheets dan Slides. Aplikasi-aplikasi ini memungkinkan kerja sama tim secara online melalui konferensi video, media sosial, dan kolaborasi dokumen secara real-time."
Dokumen tersebut membahas tentang struktur data tree, termasuk definisi tree, contoh penggunaannya, representasi tree, jenis-jenis tree seperti binary tree, operasi-operasi pada tree seperti insert, search, traverse, dan implementasinya dalam bahasa pemrograman.
Analisa klasifikasi biaya pasien rawat inap menggunakan teknik data mining at...Koltiva
Sistem Informasi Manajemen Rumah Sakit (SIMRS) secara umum telah digunakan oleh para staf rumah sakit untuk mendukung operasional sehari-hari. Sebagian besar informasi yang didapat pada operasional SIMRS berasal dari pengolahan transactional database. Sedangkan untuk mendukung pengambilan keputusan ditingkat manajerial, diperlukan akses ke database dalam ukuran besar dan dimensi yang lebih kompleks, sehingga diperlukan teknik data mining. Pendekatan data mining biasa dilakukan untuk menggali informasi, pengetahuan, pola-pola baru dan tren dengan menganalisis database dalam ukuran besar, menggunakan teknologi pengenalan pola, teknik statistik dan matematik.
Salahsatu potensi yang dapat dimanfaatkan pada penerapan data mining di rumah sakit adalah mengidentifikasi atribut-atribut penentu biaya pasien rawat inap. Dengan mengetahui atribut penentu biaya rawat, diharapkan pihak manajemen rumah sakit dapat melakukan kontrol terhadap biaya, sehingga ongkos perawatan pasien dapat ditekan tanpa mengurangi kualitas pelayanan.
Untuk mengidentifikasi atribut penentu biaya pasien rawat inap, digunakan data kunjungan pasien rawat inap RSUP Dr. Cipto Mangunkusumo dengan jaminan Jamkesmas periode 1 Januari 2009 s/d 30 September 2010 dari database SIMRS sebanyak 2022 kunjungan (jumlah sebelum dilakukan data cleaning 8383). Dengan teknik analisa Atttibute Importance (AI) didapatkan atribut-atribut penentu biaya dengan urutan sebagai berikut: prosedur medis 1 (AI=0,16), prosedur medis 4 (AI=0,15), prosedur medis 3 (AI=0,14), LOS (AI=0,13), prosedur medis 2 (AI=0,13), organisasi (AI=0.10), diagnosa utama (AI=0,08), jenis kelamin (AI=0.02) dan status kawin (AI=0.01). Hasil klasifikasi dengan teknik Algoritma Naive Bayes menunjukkan model yang dibuat memiliki predictive confidence sebesar 50,41%.
Makalah ini membahas tentang teknik-teknik komunikasi yang efektif antara perawat dan pasien. Ada beberapa teknik komunikasi yang disebutkan seperti pertanyaan terbuka, diam, mendengar, dan refleksi. Makalah ini juga membahas strategi komunikasi antara perawat jaga malam dan pagi untuk evaluasi pasien dengan menggunakan teknik-teknik komunikasi tersebut.
Dokumen ini memberikan tutorial singkat tentang algoritma k-means clustering dalam RapidMiner 5.3. Ia menjelaskan konsep dasar k-means, data yang digunakan yang berkaitan dengan evaluasi dosen oleh mahasiswa, dan langkah-langkah untuk menjalankan k-means clustering di RapidMiner.
Algoritma C4.5 digunakan untuk membangun model klasifikasi berbasis pohon keputusan dari sekumpulan data latih. Algoritma ini memilih atribut mana yang paling berguna untuk membedakan kelas target dengan mengukur besarnya pengurangan entropi. Atribut dengan pengurangan entropi terbesar akan menjadi node akar, kemudian proses ini diulang rekursif hingga terbentuk pohon keputusan lengkap. Contoh penerapannya adalah
Dokumen tersebut membahas tentang Standar Pelayanan Minimal (SPM) yang mencakup pengertian, konsep, peran, fungsi, tujuan, prinsip penyusunan, dan unsur-unsur SPM. SPM didefinisikan sebagai ketentuan tentang jenis dan mutu pelayanan dasar yang merupakan hak warga. SPM bertujuan untuk menjamin akses dan mutu pelayanan serta digunakan sebagai pedoman kinerja dan alokasi anggaran. Unsur-unsur SP
1. ALGORITMA PASIEN RAWAT INAP
Procedurepilih(Output pil : Integer)
{I.S. : User memasukkan menu pilihan}
{F.S.: menampilkan hasil dari menu pilihan}
Kamus:
Algoritma:
output('Menu Rawat Inap')
output('===============')
output('1. Isi Data')
output('2. Cari Data Berdasarkan Kode')
output('3. Cari Data Berdasarkan Nama')
output('4. Cari Data Berdasarkan Harga')
output('5. Tampilkan Data Keseluruhan Yang Sudah Terurut')
output('6. Help')
output('0. Keluar')
Input(pil)
EndProcedure
Functionhargakamar(Input kamar : String) ->Integer
{I.S. : }
{F.S. : }
Kamus:
Algoritma:
IF(kamar='vip1')
Then
hargakamar ← 5000000
Else
IF(kamar='vip2')
Then
hargakamar←4000000
Else
IF(kamar='vip3')
Then
hargakamar←3000000
Else
IF(kamar='vip4')
Then
hargakamar←2000000
ElseIF(kamar='vip5')
Then
hargakamar← 1500000
ElseIF(kamar='reguler1')
Then
hargakamar←1400000
ElseIF(kamar='reguler2')
Then
hargakamar← 1300000
ElseIF(kamar='reguler3')
Then
hargakamar← 1200000
ElseIF(kamar='reguler4')
Then
hargakamar←1100000
ElseIF(kamar='reguler5')
2. Then
hargakamar← 1050000
ElseIF(kamar='ekonomi1')
Then
hargakamar← 900000
ElseIF(kamar='ekonomi2')
Then
hargakamar← 600000
ElseIF(kamar='ekonomi3')
Then
hargakamar←3000000
ElseIF(kamar='ekonomi4')
Then
hargakamar← 2000000
ElseIF(kamar='ekonomi5')
Then
hargakamar←1000000
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
EndIF
endFunction
Procedure isi_data(Output data_array : data_inap,Output n :Integer)
{I.S. : }
{F.S. : }
Kamus:
i :Integer
Functionhargakamar(Input kamar : String) ->Integer
Algoritma:
i← 1
Input(data_array[i].id_pasien)
While(data_array[i].id_pasien ≠ ‘stop’) Do
Input(data_array[i].nama, data_array[i].kamar,
data_array[i].kebutuhan1, data_array[i].kebutuhan2)
data_array[i].harga_kamar ← hargakamar(data_array[i].kamar)
data_array[i].harga_kebutuhan ← (data_array[i].kebutuhan1*600000) +
(data_array[i].kebutuhan2*100000)
data_array[i].harga_total ← data_array[i].harga_kebutuhan +
data_array[i].harga_kamar
Output(data_array[i].harga_kamar, data_array[i].harga_kebutuhan,
data_array[i].harga_total)
i←i+1
n← i
EndWhile
6. Procedure binary_search_id(Inputdata_array : data_inap,Input n : Integer)
{I.S. : }
{F.S. : }
Kamus:
i,k : Integer
data_cari :String
ketemu :Boolean
Algoritma:
Input(data_cari)
ketemu← false
i← 1
While((not ketemu) and (i <= n)) Do
k←(i+n) div 2
IF(data_array[k].id_pasien=data_cari)
Then
ketemu←true
Else
IF(data_array[k].id_pasien < data_cari)
Then
i← k+1
Else
n←k-1
EndIF
EndIF
EndWhile
IF(ketemu)
Then
Output(data_array[k].id_pasien, data_array[k].nama,
data_array[k].kamar, data_array[k].harga_kamar,
data_array[k].kebutuhan1, data_array[k].kebutuhan2,
data_array[k].harga_kebutuhan, data_array[k].harga_total)
Else
Output('id pasien ',data_cari,' Tidak Ditemukan!!!')
EndIF
EndProcedure
Procedure binary_search_nama(Input data_array : data_inap,Input n : Integer)
{I.S. : }
{F.S. : }
Kamus:
v,w,i,ia,ib,k : Integer
data_cari :String
ketemu :Boolean
Algoritma:
Input(data_cari)
ia← 1
ib← n
ketemu← false
While((not ketemu) and (ia <= ib)) Do
k←(ia+ib) div 2
IF(data_array[k].nama=data_cari)
7. Then
ketemu←true
Else
IF(data_array[k].nama < data_cari)
Then
ia← k+1
Else
ib←k-1
EndIF
EndIF
EndWhile
IF(ketemu)
Then
i←1
v←k
w←k+1
While (data_cari = data_array[v].nama) Do
Output(data_array[v].id_pasien,
data_array[v].nama,data_array[v].kamar,
data_array[v].harga_kamar,data_array[v].kebutuhan1,
data_array[v].kebutuhan2, data_array[v].harga_kebutuhan,
data_array[v].harga_total)
i←i+1
v←v-1
EndWhile
While (data_cari =data_array[w].nama) Do
Output(data_array[w].id_pasien, data_array[w].nama,
data_array[w].kamar, data_array[w].harga_kamar,
data_array[w].kebutuhan1, data_array[w].kebutuhan2,
data_array[w].harga_kebutuhan, data_array[w].harga_total)
i←i+1
w←w+1
EndWhile
Else
Output('nama pasien ',data_cari,' Tidak Ditemukan!!!')
EndIF
endProcedure
Procedure binary_search_total_bayar(data_array : data_inap, n : Integer)
{I.S. : }
{F.S. : }
Kamus:
v,w,data_cari,i,ia,ib,k : Integer
ketemu :Boolean
Algoritma:
Input(data_cari)
ia← 1
ib← n
ketemu← false
While((not ketemu) and (ia <= ib)) Do
k←(ia+ib) div 2
IF(data_array[k].harga_total=data_cari)
Then
ketemu← true
8. Else
IF(data_array[k].harga_total < data_cari)
Then
ia← k+1
Else
ib←k-1
EndIF
EndIF
EndWhile
IF (ketemu)
Then
i←1
v←k
w←k+1
While (data_cari = data_array[v].harga_total) Do
Output(data_array[v].id_pasien,
data_array[v].nama,data_array[v].kamar,
data_array[v].harga_kamar,data_array[v].kebutuhan1,
data_array[v].kebutuhan2, data_array[v].harga_kebutuhan,
data_array[v].harga_total)
i←i+1
v←v-1
EndWhile
While (data_cari =data_array[w].harga_total) Do
Output(data_array[w].id_pasien, data_array[w].nama,
data_array[w].kamar, data_array[w].harga_kamar,
data_array[w].kebutuhan1, data_array[w].kebutuhan2,
data_array[w].harga_kebutuhan, data_array[w].harga_total)
i←i+1
w←w+1
EndWhile
Else
Output('total bayar ',data_cari,' Tidak Ditemukan!!!')
EndIF
EndProcedure
Procedurehelp()
{I.S. : }
{F.S. : }
Kamus:
Algoritma:
Output('Panduan Cara Menggunakan Program Rawat Inap')
Output('1. cara mengisi kolom ID')
Output('Pada kolom ID, ID yang boleh digunakan adalah dari 0001-1000')
Output('2. cara mengisi kolom Nama')
Output('Untuk kolom nama, ketikan nama pasien yang rawat inap')
Output('3. cara mengisi kolom kamar')
Output('Kolom kamar diisi dengan vip1-vip5,regular1-regular5,ekonomi1-
ekomoni5')
Output('harga kamar akan ditentukan dari jenis kamar yang dimasukkan')
Output('4. cara mengisi kolom infus dan oksigen ')
Output(' Kolom infus dan oksigen diisi dengan berapa banyak infus dan
oksigen yang digunakan oleh pasien')
EndProcedure
9. {AlgoritmaUtama }
rawat_inap
{I.S. : }
{F.S. : }
Kamus:
const
maks = 20
type
data = record
harga_kamar,kebutuhan1,kebutuhan2: Integer
harga_kebutuhan,harga_total : Integer
id_pasien,nama,kamar : String
endRecord
data_inap =array[1..maks] of data
data_array : data_inap
Procedurepilih(Output pil : Integer)
Procedure isi_data(Output data_array : data_inap,Output n :Integer)
Procedure urut_id(Input n:Integer, Output data_array : data_inap)
Procedure urut_nama(Input n:Integer,Output data_array : data_inap)
Procedure urut_harga(Input n:Integer,Output data_array : data_inap)
Proceduretampil(Input data_array : data_inap,Input n : Integer)
Procedure binary_search_id(Inputdata_array : data_inap,Input n : Integer)
Procedure binary_search_nama(Input data_array : data_inap,Input n : Integer)
Procedure binary_search_total_bayar(data_array : data_inap, n : Integer)
Procedure help;
pil,n : Integer
Algoritma:
Repeat
pilih(pil)
case pil of
1 : isi_Data(data_array,n)
2 : urut_id(n,data_array)
binary_search_id(data_array,n)
3 :urut_nama(n,data_array)
binary_search_nama(data_array,n)
4 : urut_harga(n,data_array)
binary_search_total_bayar(data_array,n)
5 : urut_id(n,data_array)
tampil(data_array,n)
6 :Help;
0 :Output('Anda akan keluar program , tekan enter ! ')
endCase
Until(pil=0)
end.
10. PROGRAM PASCAL PASIEN RAWAT INAP
program pasien_rawat_inap;
{I.S. : }
{F.S. : }
uses crt;
const
maks = 20;
type
data = record
harga_kamar,kebutuhan1,kebutuhan2,harga_kebutuhan,harga_total :
integer;
id_pasien,nama,kamar : string;
end;
data_inap =array[1..maks] of data;
var
data_array : data_inap;
pil,n : integer;
procedure pilih( var pil : integer);
begin
gotoxy(33,2);write('Menu Rawat Inap');
gotoxy(33,3);write('===============');
gotoxy(22,5);write('1. Isi Data');
gotoxy(22,6);write('2. Cari Data Berdasarkan Kode');
gotoxy(22,7);write('3. Cari Data Berdasarkan Nama');
gotoxy(22,8);write('4. Cari Data Berdasarkan Harga');
gotoxy(22,9);write('5. Tampilkan Data Keseluruhan Yang Sudah Terurut');
gotoxy(22,10);write('6. Help');
gotoxy(22,11);write('0. Keluar');
gotoxy(22,14);write('Masukkan menu pilihan : '); readln(pil);
end;
function hargakamar(kamar:string):integer;
{I.S. : }
{F.S. : }
begin
if(kamar='vip1')
then
hargakamar := 5000000
else
if(kamar='vip2')
then
hargakamar := 4000000
else
if(kamar='vip3')
then
hargakamar := 3000000
else
if(kamar='vip4')
then
hargakamar := 2000000
else if(kamar='vip5')
then
hargakamar := 1500000
else if(kamar='reguler1')
11. then
hargakamar := 1400000
else if(kamar='reguler2')
then
hargakamar := 1300000
else if(kamar='reguler3')
then
hargakamar := 1200000
else if(kamar='reguler4')
then
hargakamar := 1100000
else if(kamar='reguler5')
then
hargakamar := 1050000
else if(kamar='ekonomi1')
then
hargakamar := 900000
else if(kamar='ekonomi2')
then
hargakamar := 600000
else if(kamar='ekonomi3')
then
hargakamar := 3000000
else if(kamar='ekonomi4')
then
hargakamar := 2000000
else if(kamar='ekonomi5')
then
hargakamar := 1000000;
end;
procedure isi_data(var data_array : data_inap; var n :integer);
var
i : integer;
begin
clrscr;
gotoxy(25,1);write('Masukkan Data Pasien Rawat Inap');
gotoxy(25,2);write('-------------------------------');
i := 1;
gotoxy(1,4);write('---------------Masukkan : "stop" jika data berakhir di ID Pasien----------------');
gotoxy(1,5);write('-----------------Kamar : vip 1-5 ,reguler 1-5, dan ekonomi 1-5------------------');
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
gotoxy(1,8+i);write('| | | | | | | | |');
gotoxy(2,8+i);readln(data_array[i].id_pasien);
while(data_array[i].id_pasien <> 'stop') do
begin
gotoxy(9,8+i);readln(data_array[i].nama);
gotoxy(19,8+i);readln(data_array[i].kamar);
while((data_array[i].kamar<>'vip1')and
(data_array[i].kamar<>'vip2') and
(data_array[i].kamar<>'vip3') and
(data_array[i].kamar<>'vip4') and
(data_array[i].kamar<>'vip5') and
(data_array[i].kamar<>'reguler1') and
(data_array[i].kamar<>'reguler2') and
(data_array[i].kamar<>'reguler3') and
12. (data_array[i].kamar<>'reguler4') and
(data_array[i].kamar<>'reguler5') and
(data_array[i].kamar<>'ekonomi1') and
(data_array[i].kamar<>'ekonomi2') and
(data_array[i].kamar<>'ekonomi3') and
(data_array[i].kamar<>'ekonomi4') and
(data_array[i].kamar<>'ekonomi5')) do
begin
gotoxy(22,i+9);
write('Kamar hanya ada vip 1-5,reguler 1-5,ekonomi 1-5 , Ulangi !');
gotoxy(22,i+10);
write('Tekan Enter untuk melanjutkan');
readln;gotoxy(22,i+9);clreol;gotoxy(22,i+10);clreol;
{memasukkan kembali array kode buku}
gotoxy(19,8+i);clreol;
gotoxy(17,8+i);write('| | | | | | |');
gotoxy(19,8+i);readln(data_array[i].kamar);
end;
data_array[i].harga_kamar := hargakamar(data_array[i].kamar);
gotoxy(29,8+i);writeln(data_array[i].harga_kamar);
gotoxy(39,8+i);readln(data_array[i].kebutuhan1);
gotoxy(47,8+i);readln(data_array[i].kebutuhan2);
data_array[i].harga_kebutuhan := (data_array[i].kebutuhan1*600000) +
(data_array[i].kebutuhan2*100000);
gotoxy(58,8+i);writeln(data_array[i].harga_kebutuhan);
data_array[i].harga_total := data_array[i].harga_kebutuhan +
data_array[i].harga_kamar;
gotoxy(71,8+i);writeln(data_array[i].harga_total);
i:=i+1;
n := i;
gotoxy(1,8+i);write('| | | | | | | | |');
gotoxy(2,8+i);readln(data_array[i].id_pasien);
end;
gotoxy(1,8+i);write('--------------------------------------------------------------------------------');
end;
{procedure pengurutan}
procedure urut_id(n:integer;var data_array : data_inap);
var
temp2,i,k : integer;
temp: string;
begin
for i := 1 to n-1 do
begin
for k := n downto (i+1) do
begin
if(data_array[k].id_pasien) < (data_array[k-1].id_pasien) then
begin
temp := data_array[k].id_pasien;
data_array[k].id_pasien := data_array[k-1].id_pasien;
data_array[k-1].id_pasien := temp;
temp := data_array[k].nama;
data_array[k].nama := data_array[k-1].nama;
data_array[k-1].nama := temp;
13. temp := data_array[k].kamar;
data_array[k].kamar := data_array[k-1].kamar;
data_array[k-1].kamar := temp;
temp2 := data_array[k].harga_kamar;
data_array[k].harga_kamar := data_array[k-1].harga_kamar;
data_array[k-1].harga_kamar := temp2;
temp2 := data_array[k].kebutuhan1;
data_array[k].kebutuhan1 := data_array[k-1].kebutuhan1;
data_array[k-1].kebutuhan1 := temp2;
temp2 := data_array[k].kebutuhan2;
data_array[k].kebutuhan2 := data_array[k-1].kebutuhan2;
data_array[k-1].kebutuhan2 := temp2;
temp2 := data_array[k].harga_kebutuhan;
data_array[k].harga_kebutuhan := data_array[k-
1].harga_kebutuhan;
data_array[k-1].harga_kebutuhan := temp2;
temp2 := data_array[k].harga_total;
data_array[k].harga_total := data_array[k-1].harga_total;
data_array[k-1].harga_total := temp2;
end;
end;
end;
end;
procedure urut_nama(n:integer;var data_array : data_inap);
var
temp2,i,k : integer;
temp: string;
begin
for i := 1 to n-1 do
begin
for k := n downto (i+1) do
begin
if(data_array[k].nama) < (data_array[k-1].nama) then
begin
temp := data_array[k].id_pasien;
data_array[k].id_pasien := data_array[k-1].id_pasien;
data_array[k-1].id_pasien := temp;
temp := data_array[k].nama;
data_array[k].nama := data_array[k-1].nama;
data_array[k-1].nama := temp;
temp := data_array[k].kamar;
data_array[k].kamar := data_array[k-1].kamar;
data_array[k-1].kamar := temp;
14. temp2 := data_array[k].harga_kamar;
data_array[k].harga_kamar := data_array[k-1].harga_kamar;
data_array[k-1].harga_kamar := temp2;
temp2 := data_array[k].kebutuhan1;
data_array[k].kebutuhan1 := data_array[k-1].kebutuhan1;
data_array[k-1].kebutuhan1 := temp2;
temp2 := data_array[k].kebutuhan2;
data_array[k].kebutuhan2 := data_array[k-1].kebutuhan2;
data_array[k-1].kebutuhan2 := temp2;
temp2 := data_array[k].harga_kebutuhan;
data_array[k].harga_kebutuhan := data_array[k-
1].harga_kebutuhan;
data_array[k-1].harga_kebutuhan := temp2;
temp2 := data_array[k].harga_total;
data_array[k].harga_total := data_array[k-1].harga_total;
data_array[k-1].harga_total := temp2;
end;
end;
end;
end;
procedure urut_harga(n:integer;var data_array : data_inap);
var
temp2,i,k : integer;
temp: string;
begin
for i := 1 to n-1 do
begin
for k := n downto (i+1) do
begin
if(data_array[k].harga_total) < (data_array[k-1].harga_total) then
begin
temp := data_array[k].id_pasien;
data_array[k].id_pasien := data_array[k-1].id_pasien;
data_array[k-1].id_pasien := temp;
temp := data_array[k].nama;
data_array[k].nama := data_array[k-1].nama;
data_array[k-1].nama := temp;
temp := data_array[k].kamar;
data_array[k].kamar := data_array[k-1].kamar;
data_array[k-1].kamar := temp;
temp2 := data_array[k].harga_kamar;
data_array[k].harga_kamar := data_array[k-1].harga_kamar;
data_array[k-1].harga_kamar := temp2;
temp2 := data_array[k].kebutuhan1;
data_array[k].kebutuhan1 := data_array[k-1].kebutuhan1;
15. data_array[k-1].kebutuhan1 := temp2;
temp2 := data_array[k].kebutuhan2;
data_array[k].kebutuhan2 := data_array[k-1].kebutuhan2;
data_array[k-1].kebutuhan2 := temp2;
temp2 := data_array[k].harga_kebutuhan;
data_array[k].harga_kebutuhan := data_array[k-
1].harga_kebutuhan;
data_array[k-1].harga_kebutuhan := temp2;
temp2 := data_array[k].harga_total;
data_array[k].harga_total := data_array[k-1].harga_total;
data_array[k-1].harga_total := temp2;
end;
end;
end;
end;
procedure tampil(data_array : data_inap; n : integer);
var
i : integer;
begin
gotoxy(28,2);write('data hasil pengurutan data');
gotoxy(28,3);write('--------------------------');
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
for i:=1 to n do
begin
gotoxy(1,8+i);write('| | | | | | | | |');
gotoxy(2,8+i);writeln(data_array[i].id_pasien);
gotoxy(9,8+i);writeln(data_array[i].nama);
gotoxy(19,8+i);writeln(data_array[i].kamar);
gotoxy(29,8+i);writeln(data_array[i].harga_kamar);
gotoxy(39,8+i);writeln(data_array[i].kebutuhan1);
gotoxy(47,8+i);writeln(data_array[i].kebutuhan2);
gotoxy(58,8+i);writeln(data_array[i].harga_kebutuhan);
gotoxy(71,8+i);writeln(data_array[i].harga_total);
end;
gotoxy(1,8+i);write('--------------------------------------------------------------------------------');
end;
procedure binary_search_id(data_array : data_inap; n : integer);
var
i,k : integer;
data_cari : string ;
ketemu :boolean;
begin
write('Masukkan id pasien : ');readln(data_cari);
ketemu := false;
i := 1;
while((not ketemu) and (i <= n)) do
16. begin
k:=(i+n) div 2 ;
if(data_array[k].id_pasien=data_cari)
then
ketemu:=true
else
if(data_array[k].id_pasien < data_cari)
then
i:= k+1
else
n:=k-1;
end;
if(ketemu)
then
begin
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
gotoxy(1,9);write('| | | | | | | | |');
gotoxy(2,9);writeln(data_array[k].id_pasien);
gotoxy(9,9);writeln(data_array[k].nama);
gotoxy(19,9);writeln(data_array[k].kamar);
gotoxy(29,9);writeln(data_array[k].harga_kamar);
gotoxy(39,9);writeln(data_array[k].kebutuhan1);
gotoxy(47,9);writeln(data_array[k].kebutuhan2);
gotoxy(58,9);writeln(data_array[k].harga_kebutuhan);
gotoxy(71,9);writeln(data_array[k].harga_total);
gotoxy(1,10);write('--------------------------------------------------------------------------------');
end
else
writeln('id pasien ',data_cari,' Tidak Ditemukan!!!');
end;
procedure binary_search_nama(data_array : data_inap; n : integer);
var
v,w,i,ia,ib,k : integer;
data_cari : string ;
ketemu :boolean;
begin
write('Masukkan Nama Pasien : ');readln(data_cari);
ia := 1;
ib := n;
ketemu := false;
while((not ketemu) and (ia <= ib)) do
begin
k:=(ia+ib) div 2 ;
if(data_array[k].nama=data_cari)
then
begin
ketemu:=true;
end
else
if(data_array[k].nama < data_cari)
then
ia:= k+1
17. else
ib:=k-1;
end;
if(ketemu)
then
begin
i:=1;
v:=k;
w:=k+1;
while (data_cari = data_array[v].nama) do
begin
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
gotoxy(1,8+i);write('| | | | | | | | |');
gotoxy(2,8+i);writeln(data_array[v].id_pasien);
gotoxy(9,8+i);writeln(data_array[v].nama);
gotoxy(19,8+i);writeln(data_array[v].kamar);
gotoxy(29,8+i);writeln(data_array[v].harga_kamar);
gotoxy(39,8+i);writeln(data_array[v].kebutuhan1);
gotoxy(47,8+i);writeln(data_array[v].kebutuhan2);
gotoxy(58,8+i);writeln(data_array[v].harga_kebutuhan);
gotoxy(71,8+i);writeln(data_array[v].harga_total);
i:=i+1;
v:=v-1;
gotoxy(1,8+i);write('--------------------------------------------------------------------------------');
end;
while (data_cari =data_array[w].nama) do
begin
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
gotoxy(1,8+i);write('| | | | | | | | |');
gotoxy(2,8+i);writeln(data_array[w].id_pasien);
gotoxy(9,8+i);writeln(data_array[w].nama);
gotoxy(19,8+i);writeln(data_array[w].kamar);
gotoxy(29,8+i);writeln(data_array[w].harga_kamar);
gotoxy(39,8+i);writeln(data_array[w].kebutuhan1);
gotoxy(47,8+i);writeln(data_array[w].kebutuhan2);
gotoxy(58,8+i);writeln(data_array[w].harga_kebutuhan);
gotoxy(71,8+i);writeln(data_array[w].harga_total);
i:=i+1;
w:=w+1;
gotoxy(1,8+i);write('--------------------------------------------------------------------------------');
end;
end
else
writeln('nama pasien ',data_cari,' Tidak Ditemukan!!!');
end;
procedure binary_search_total_bayar(data_array : data_inap; n : integer);
var
v,w,data_cari,i,ia,ib,k : integer;
ketemu :boolean;
18. begin
write('Masukkan total bayar pasien : ');readln(data_cari);
ia := 1;
ib := n;
ketemu := false;
while((not ketemu) and (ia <= ib)) do
begin
k:=(ia+ib) div 2 ;
if(data_array[k].harga_total=data_cari)
then
ketemu := true
else
if(data_array[k].harga_total < data_cari)
then
ia:= k+1
else
ib:=k-1;
end;
if (ketemu) then
begin
i:=1;
v:=k;
w:=k+1;
while (data_cari = data_array[v].harga_total) do
begin
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
gotoxy(1,8+i);write('| | | | | | | | |');
gotoxy(2,8+i);writeln(data_array[v].id_pasien);
gotoxy(9,8+i);writeln(data_array[v].nama);
gotoxy(19,8+i);writeln(data_array[v].kamar);
gotoxy(29,8+i);writeln(data_array[v].harga_kamar);
gotoxy(39,8+i);writeln(data_array[v].kebutuhan1);
gotoxy(47,8+i);writeln(data_array[v].kebutuhan2);
gotoxy(58,8+i);writeln(data_array[v].harga_kebutuhan);
gotoxy(71,8+i);writeln(data_array[v].harga_total);
i:=i+1;
v:=v-1;
gotoxy(1,8+i);write('--------------------------------------------------------------------------------');
end;
while (data_cari =data_array[w].harga_total) do
begin
gotoxy(1,6);write('================================================================================');
gotoxy(1,7);write('| ID | Nama | Kamar | Harga | Infus | Oksigen | Tambahan | Total |');
gotoxy(1,8);write('--------------------------------------------------------------------------------');
gotoxy(1,8+i);write('| | | | | | | | |');
24. ALGORTIMA DAN PEMROGRAMAN
APLIKASI RAWAT INAP
Diajukan Untuk Memenuhi Tugas Mata Kuliah
Algoritma dan Pemograman
Tahun Pelajaran2012 - 2013
DISUSUN OLEH :
HERNANDA (10112237) IF-6
I KADEK MEGANJAYA (10112203) IF-6
GINA MUNAJAT (10112212) IF-6
YOGIE PRASETYO (10112194) IF-6
HENDRA DEDI SUPRIADI (10112224) IF-6
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
2013