Anda di halaman 1dari 70

LAPORAN

PRAKTEK KERJA LAPANGAN

APLIKASI PEREDIAAN OBAT APOTIK BERBASIS WEB

Diajukan Untuk Memenuhi Persyaratan Memperoleh Kelulusan


Mata Kuliah Praktek Kerja Lapangan

Disusun Oleh:
NAMA : M. ARIES ANDRIYANTO
NIM : 161080200226

FAKULTAS TEKNIK PRODI INFORMATIKA


UNIVERSITAS MUHAMMADIYAH SIDOARJO
2018
LEMBAR PERSETUJUAN
PELAKSANAAN PRAKTEK KERJA LAPANGAN

1. Judul : Aplikasi persediaan obat apotik berbasis web


2. Lokasi : Krembung
3. Pelaksanaan Magang :
4. Pelaksana : M. ARIES ANDRIYANTO (161080200226)
5. Waktu Pelaksanaan : 18 Agustus 2018 – 1 Desember 2018

Disusun Oleh :

Mahasiswa

M. ARIES ANDRIYANTO
NIM.161080200226

Menyetujui

Dosen Pembimbing

Ika Ratna I.A S.Kom.,M.T

NIDN. 0713058102
LEMBAR PENGESAHAN
PELAKSANAAN PRAKTEK KERJA LAPANGAN

1.Judul : Aplikasi persediaan obat apotik berbasis web


2.Lokasi : Krembung
3. Pelaksanaan Magang :
4. Pelaksana : M. ARIES ANDRIYANTO (161080200226)
5. Waktu Pelaksanaan : 18 Agustus 2018 – 1 Desember 2018

Mengetahui,
Dosen Pembimbing

Ika Ratna I.A S.Kom.,M.T

NIDN. 0713058102

Menyetujui,

Kepala Program Studi Informatika

ARIF SENJA FITRANI, S.Kom., M.Kom

NIP. 204240
KATA PENGANTAR

Puji syukur kami panjatkan kepada Allah SWT, yang selalu memberikan
perlindungan, rahmat serta hidayahnya sehingga pada kesempatan kali ini kami bias
menyelesaikan laporan Praktek Kerja Lapangan (PKL) dengan judul “Aplikasi
persediaan obat apotik berbasis web “di Lembaga Penelitian dan Pengabdian
Masyarakat” tanpa ada halangan apapun.
Dalam menyusun laporan ini penyusun banyak mendapat bantuan dan
bimbingan dari berbagai pihak. Untuk itu dengan segala kerendahan hati penyusun
ingin mengucapkan rasa terima kasih kepada :
1. Arif Senja Fitrani, S.Kom., M.Kom selaku Kaprodi Jurusan Informatika
Universitas Muhammadiyah Sidoarjo.
2. Ika Ratna I.A S.Kom., M.Kom. selaku Dosen Pembimbing PKL yang telah
menyediakan waktu. Tenaga dan pikiran untuk memberikan bimbingan,
petunjuk dan saran hingga penyusunan laporan PKL ini dapat terselesaikan.
3. Serta rekan-rekan dari Lembaga Penelitian dan Pengabdian Masyarakat yang
turut membantu dalam memberikan bimbingan dan pengarahan selama
proses Praktik Kerja Lapangan di Lembaga Penelitian dan Pengabdian
Masyarakat Universitas Muhammadiyah Sidoarjo.
Besar harapan kami, bahwa laporan ini dapat bermanfaat khususnya bagi
kami, bagi pembaca serta bagi kehidupan sehari-hari. Saran dan kritik kami
harapkan dari pembaca karena sangat berguna dan membangun dalam kemajuan
ilmu pengetahuan kami dan orang lain.

Sidoarjo, 1 Desember 2018

Penyusun

iii
DAFTAR ISI

COVER
LEMBAR PERSETUJUAN............................................................................. i
LEMBAR PENGESAHAN ............................................................................. ii
KATA PENGANTAR ..................................................................................... iii
DAFTAR ISI .................................................................................................... iv
DAFTAR TABEL ............................................................................................ vi
BAB 1 PENDAHULUAN
1.1 Latar belakang .................................................................................. 1
1.2 Identifikasi dan rumusan masalah .................................................... 1
1.3 Batasan masalah................................................................................ 2
1.4 Maksud dan tujuan ............................................................................ 2
1.5 Lokasi dan waktu praktek kerja lapangan ........................................ 2
1.6 Sistematika penulisan ....................................................................... 3
BAB 2 TINJAUAN PUSTAKA
2.1 Kajian Teori ...................................................................................... 4
2.1.1 Internet ................................................................................... 4
2.1.2 Website .................................................................................. 4
2.1.3 Flowchart ............................................................................... 4
2.1.4 Data Flow Diagram ............................................................... 6
2.1.5 Entity Relationship Diagram ................................................. 8
2.1.6 Entitas .................................................................................... 9
2.1.7 Relasi ..................................................................................... 9
2.1.8 Atribute .................................................................................. 9
2.1.9 Xampp ................................................................................... 10
2.1.10 Hyper Text Markup Leanguage ........................................... 10
2.1.11 Database ............................................................................... 10

BAB 3 GAMBARAN UMUM PERUSAHAAN


3.1 Profil instansi .................................................................................... 13
3.1.1 Visi dan Misi Citra Medika ........................................................... 13

iv
3.2 Lokasi perusahaan ............................................................................ 13
BAB 4 PERANCANGAN APLIKASI
4.1 Flochart ............................................................................................. 14
4.2 Data Flow Diagram........................................................................... 14
4.3 Entity realsinship diagram ................................................................ 16
4.4 Database ............................................................................................ 16
4.5 Relasi Antar Tabel ............................................................................ 16
4.6Struktur Tabel .................................................................................... 17
BAB 5 HASIL PRAKTEK KERJA LAPANGAN
5.1 Hasil Pengamatan ............................................................................. 19
5.2 Kebutuhan Perangkat Keras dan Perangkat Lunak .......................... 19
5.3 Menginstal Xampp............................................................................ 19
5.4 Sistem Persediaan obat apotik .......................................................... 26
BAB 6 PENUTUP
6.1 Kesimpulan ....................................................................................... 62
6.2 Saran ................................................................................................. 62
DAFTAR PUSTAKA ...................................................................................... 63
LOGBOOK ...................................................................................................... 64

v
DAFTAR TABEL

Tabel 1 Tabel Logbook PKL............................................................................ 64

vi
BAB I
PENDAHULUAN

1.1 Latar Belakang


Teknologi Informasi saat ini telah mengalami perkembangan yang sangat cepat,
tingkat pertumbuhan ini di dukung oleh kesadaran masyarakat atas manfaat teknologi
informasi diberbagai bidang kehidupan. Teknologi Informasi telah mampu
mengintegrasikan nilai – nilai sebelumnya dianggap mustahil tercapai, diantaranya
kecepatan informasi, efisiensi dan efektivitas. Sistem informasi adalah sebagai salah satu
instrumennya, tidak bisa dihindari lagi telah menjadi kebutuhan masyarakat saat ini.
Teknologi Informasi diaplikasikan sebagai basis sistem informasi mulai dari sarana dalam
pemerintahan,sarana dalam rumah sakit , sekolah, universitas, industri hiburan, LSM,
UKM dan lain sebagainya.
Apotek merupakan salah satu sarana kesehatan yang diperlukan dalam menunjang
upaya pelayanan kesehatan. Apotek adalah suatu tempat tertentu tempat dilakukan
pekerjaan kefarmasian dan penyaluran sediaan farmasi. Perbekalan kesehatan lainnya
kepada masyarakat. ( Peraturan Pemerintah Nomor 25 tahun 1998 dan Keputusan Menkes
Nomor 1332/Menkes/SK/X/ 2002). Dalam menunjang sarana apotek dalam melakukan
pelayanan, pembelian obat, penjualan obat, serta stok obat yang tersedia. yang dilakukan
secara manual sering terjadi kesalahan sekaligus tidak efisiennya waktu yang digunakan
untuk memproses transaksi .
Dalam penulisan Laporan Praktek Kerja Lapangan ini kami ingin mencoba
membuat suatu program aplikasi penyediaan obat apotek pada sebuah Apotik Rama
dengan menggunakan pengolahan database agar pengolahan data menjadi terintegrasi dan
terorganisasi dalam satu tempat penyimpanan sehingga memudahkan
petugas apotek dalam melayani transaksi pembelian, penjualan, dan stok obat , serta
memudahkan petugas dalam membuat laporan.
Untuk memudahkan hal tersebut diatas kami mencoba untuk membuat “Aplikasi
penyediaan obat Apotek di apotik Rama”. Dengan harapan agar dapat mengatasi
permasalahan dalam pelayanan transakasi pembelian, penjualan, stok obat serta pelaporan
karyawan di apotik Rama Krembung.

1
1.2 Identifikasi dan Rumusan Masalah
Berdasarkan uraian pada latar belakang masalah dan identifikasi yang telah
dijelaskan, maka permasalahan yang akan dikaji dalam Praktek Kerja Lapangan ini
dapat dirumuskan:
1. Bagaimana cara membuat aplikasi penyediaan obat apotik?

1.3 Batasan Masalah


Agar pembahasan dan penyusunan laporan ini secara terarah dan mendapat
gambaran yang jelas, maka diperlukan batasan-batasan masalah yaitu:
1. Aplikasi ini hanya untuk persedian obat dan pengolahan data obat
2. tidak bisa digunakan untuk transaksi utang piutang dalam jaminan
kesehatan atau Bpjs.

1.4 Maksud dan Tujuan


Maksud dari pelaksanaan kerja praktek ini adalah untuk mengimplementasikan
pengetahuan yang didapat di perkuliahan dengan yang di lapangan menjadi objek
yang diteliti. Adapun tujuan dalam pembuatan laporan kerja praktek ini adalah:
1. Bagi apoteker untuk memberi kemudahan melihat data obat secara rinci dan
terkonsep.
2. Bagi pembeli lebih cepat dalam hal pelayan mengenai obat yang akan di
beli .

1.5 Sistematika Penulisan


Sistematika pelaksanaan kerja praktek digunakan untuk menjelaskan penulisan
laporan tiap bab, dapat dijelaskan sebagai berikut:

2
Bab 1 Pendahuluan
Pendahuluan menjelaskan latar belakang masalah, inti masalah yang dibahas akan
menjadi perumusan masalah. Pembatasan masalah yang menjelaskan tentang
batasan-batasan dari sistem yang dibuat agar tidak menyimpang dari ketentuan
yang ditetapkan. Tujuan dari kerja praktek adalah menganalisa permasalahan
sehingga dapat berkonstribusi dengan melakukan penanganan permasalahan secara
efektif dan efisien.

Bab 2 Tinjauan Pustaka


Membahas teori-teori yang berkaitan dalam penyelesaian laporan, yaitu
menjelaskan tentang analisa dan penyelesaian masalah. Teori-teori tersebut
diperlukan untuk memecahkan masalah yang telah dirumuskan.

Bab 3 Gambaran Umum Perusahaan


Gambaran umum Lembaga Penelitian dan Pengabdian Masyarakat, yang akan
menjelaskan kepada pembaca tentang sejarah serta visi dan misi dari instansi
tersebut.

Bab 4 Hasil Praktek Kerja Lapangan


Membahas dan menjelaskan tentang pekerjaan yang dilakukan selama penyelesaian
tugas praktek lapangan, yaitu menyelesaikan permasalahan web dan pembuatan
sistem antrian nomor rumah sakit. Semua itu ditulis dalam LOG BOOK PKL.

Bab 5 Penutup
Membahas kesimpulan dan saran dari laporan yang dibuat. Tujuannya adalah agar
ada pihak lain yang dapat menyempurnakan laporan sehingga bisa menjadi lebih
baik dan berguna bagi instansi.

3
BAB II
TINJAUAN PUSTAKA
2. Kajian Teori
2.1 Internet
“Internet adalah kelompok atau kumpulan dari jutaan komputer” (Simarmata,
2010:47). Jadi Internet merupakan dua komputer atau lebih yang saling
berhubungan membentuk jaringan komputer hingga meliputi jutaan komputer
di dunia, yang saling berinteraksi dan bertukar informasi. Maka dapat
disimpulkan internet merupakan sarana komunikasi global yang saling
menghubungkan orang yang satu dengan yang lain di belahan dunia yang lain.
Sehingga memudahkan dalam melakukan hubungan komunikasi.

2.2 Website
Website atau situs dapat diartikan sebagai kumpulan halaman yang
menampilkan gambar dan diam atau gerak, data animasi, suara, video dan atau
gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang
membentuk satu rangkaian bangunan yang saling berkaitan dimana masing-
masing dihubungkan dengan jaringan-jaringan halaman (hyperlink).

2.3 Flowchart
Flow chart merupakan bagan (chart) yang menunjukkan alir (flow) di dalam
program atau prosedur sistem secara logika. Bagan alir digunakan terutama
untuk alat bantu komunikasi dan untuk dokumentasi. Pengertian flowchart
dapat ditinjau dari penggabungan dua kata asing, yaitu flow yang berarti
aliran atau arus, dan chart yang berarti grafik atau diagam. Secara hukum
tata bahasa, gabungan dua kata ini memiliki arti “grafik arus”. Sehingga,
dengan analisis ini kita dapat mengetahui pengertian flowchart adalah
sebagai penampakan atas arus dalam sebuah grafik, tentu saja karena dalam
bentuk grafik maka kita dapat melihatnya sebagai art (seni gambar yang
dapat disaksikan dengan indra penglihatan: mata) (Supardi, 2013 : 51).

Flowchart dibuat dengan tujuan utama untuk membuat rangkaian sistem


informasi menjadi lebih simpel dan mudah dipelajari oleh pengguna awam.

4
Dalam hal ini, pengertian flowchart hampir mirip dengan prosedur
pemakaian sesuatu yang dibuat dalam gambar sederhana. Pembuatan
flowchart dengan desain yang sederhana dapat memperjelas, meringkas, dan
memperlogis atas suatu prosedur, di mana hal ini akan membuat pengguna
atau user atas suatu sistem dapat memahami langkah pemakaian sistem
tersebut secara otodidak, atau paling tidak secara lebih mudah, tanpa harus
mengandalkan bantuan orang lain untuk mengajari.

Untuk dapat membaca flowchart Anda harus mengetahui simbol simbol


flowchart. Ada banyak simbol simbol flowchart yang dapat dipergunakan
sebagai komponen dalam penyusunan prosedur sistematis tersebut. Berikut
simbol simbol flowchart sesuai pengelompokannya.

5
gambar 2. 1 simbol - simbol flowchart
2.4 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) merupakan gambaran suatu system yang telah
ada atau sistem baru yang dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir.
Dengan adanya data flow diagram, maka pemakai system yang kurang
memahami di bidang komputer dapat mengerti system yang sedang berjalan.

6
gambar 2. 2 simbol - simbol dfd
Di dalam dfd terdapat tiga level, yaitu:
a. Diagram konteks
Menggambarkan satu lingkaran besar yang dapat mewakili
seluruh proses yang terdapat didalam suatu system.
Merupakan tingaktan tertinggi dala dfd dan biasanya diberi
nomor 0(nol). Semua entitas eksternal yang ditunjukkan pada
diagram kontek, aliran – aliran data utama menuju dan dari
sistem. Diagram ini sama sekali tidak memuat penyimpanan
data dan tampak sederhana untuk diciptakan.

gambar 2. 3 contoh diagram konteks

7
b. Diagram nol(diagram level-1)
Merupakan satu lingkaran besar yang mewakili lingkaran –
lingkaran kecil yang ada didalamnya. Merupakan pemecahan
dari diagram konteks ke diagram nol. Didalam diagram ini
memuat penyimpanan data.

gambar 2. 4 contoh dfd level-1


c. Diagram rinci(dfd level-2,3,…)
Merupakan diagram yang menguraikan proses apa yang ada
dalam diagram level-1.

gambar 2.5 contoh dfd level-2


2.5 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) adalah sebuah alat yang digunakan
untuk menggambarkan struktur data yang berjalan pada sebuah aplikasi
dengan cara menggambarkan apa saja yang menjadi entitas, relasi dan
atribute.

8
2.6 Entitas
Entitas Merupakan abstraksi yang mewakili objek pada dunia nyata dimana
data dari objek tersebut akan digunakan dan disimpan dalam sistem(sri
mulyani,2016:101). Biasanya nama entitas berupa objek atau subyek,
Contoh entitas dan pemodelannya: entitas “mahasiswa”.

mahasiswa

gambar 2.6: contoh entitas


.
2.7 Relasi
Dua atau lebih entitas memiliki sebuah hubungan satu samalain, itu yang
disebut relasi. Penamaan sebuah relasi biasanya mewakili nama kejadian
yang mewakili pada dunia nyata, contohnya: mahasiswa dapat memilih
banyak matakuliah

n n
mahasiswa matakuliah
memilih

gambar 2.7: contoh dua entitas berelasi memilih


.
2.8 Atribute
Atribute adalah field yang ada pada setiap entitas, setiap entitas memiliti
atribute kunci atau primary key(suatu hal yang unik), atribute juga
merupakan identitas dari sebuah entitas, contohnya, entitas mahasiswa
memiliki atribute nim(primary key), nama, alamat, no.tlp.

nama alamat

NIM no.tlp

mahasiswa

gambar 2.8: contoh atribute pada entitas mahasiswa

9
2.9 Hyper Text Markup Leanguage
Hyper Text Markup Language (HTML) adalah “bahasa komputer yang di
gunakan untuk membuat suatu halaman situs” (MADCOMS, 2009:18). Di
dalam skema tambahan HTML terdapat kekuatan
untuk membuat aplikasi-aplikasi client-server, multimedia, form, interaktif.
HTML sebenarnya adalah dokumen ASCII atau teks biasa, yang dirancang
untuk tidak tergantung pada satu system operasi tertentu. Secara teknis,
HTML didefinisikan sebagai Standard Generalized Markup Language
(SGML). Sebuah dokumen HTML dapat dikatakan contoh sebuah dokumen
SGL.

2.10 Database
Basisdata adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut. Perangkat
lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis
data disebut sistem manajemen basis data (database management system,
DBMS). Sistem basis data dipelajari dalam ilmu informasi (Williams, B.K
& Sawyer, S.C, 2007).
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya
semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini
mengenai basis data komputer. Catatan yang mirip dengan basis data
sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku
besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan
terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini
disebut skema. Skema menggambarkan objek yang diwakili suatu basis
data, dan hubungan di antara objek tersebut. Ada banyak cara untuk
mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal
sebagai model basis data atau model data. Model yang umum digunakan
sekarang adalah model relasional, yang menurut istilah layman mewakili

10
semua informasi dalam bentuk tabel-tabel yang saling berhubungan di mana
setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya
menggunakan terminologi matematika). Dalam model ini, hubungan antar
tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang
lain seperti model hierarkis dan model jaringan menggunakan cara yang
lebih eksplisit untuk mewakili hubungan antar tabel.
Basis Data atau Database sering dianggap sebagai suatu sitem komponen
yang harus ditunjang oleh perangkat lunak dan perangkat keras. Perangkat
lunak bias berupa aturan-aturan ,tata cara, program atau aplikasi (software
khusus), atau pun pengolahan data. Sedangkan perangkat keras dapat berupa
kertas, buku, seperangkat komputer, atau lemari arsip. Salah satı tugas atau
kegunaan database adalah membuat model konseptual. Pembuatan model
konseptual adalah pembuatan model berdasarkan sistem informasi dari user,
tanpa tergantung pada database manajemen sistem (DBMS) yang akan
dipakai. Struktur model data dari database manajemen sistem (DBMS) ada
3 macam yaitu :
1. Model data relational
2. Model data hirarki
3. Model data network.

2.11Frame Work
Menurut Siena (2009), Framework adalah sekumpulan library yang
diorganisasikan pada sebuah rancangan arsitektur untuk memberikan
kecepatan, ketepatan, kemudahan dan konsistensi di dalam
pengembangan aplikasi dari definisi tersebut”. Framework terdiri
dari :
a. View
View merupakan bagian yang menangani presentation logic. Pada
suatu aplikasi web bagian ini biasanya berupa file template HTML,
yang diatur oleh controller. View berfungsi untuk menerima dan
mempresentasikan data kepada user. Bagian ini tidak memiliki
akses langsung terhadap bagian model.

11
b. Model
Model biasanya berhubungan langsung dengan databse untuk
memanipulasi data (insert, update, delete, search), menangani
validasi dari bagian controller, namun tidak dapat berhubungan
langsung dengan bagian view.
c. Controller
Controller merupakan bagian yang mengatur hubungan antara bagian
model dan bagian view, controller berfungsi untuk menerima request
data dari user kemudian menentukan apa yang akan diproses oleh
aplikasi

12
BAB III
GAMBARAN UMUM APOTIK RAMA
3.1 Profil

Gambar 3.1 Apotik

3.2 Visi Dan Misi Apotik Rama


Apotik Rama didirikan pada 5 juli 2005 yang terletak di desa
krembung kecamatan krembung Kabupaten sidoarjo. Dengan Apoteker
Pengelola saat ini adalah Rise Desnita, S. Farm., Apt.

Visi:
Menjadi Apotik yang terdepan dalam hal penyediaan obat dan pelayanan
kepada konsumen

Misi :
Misi Apotik Rama adalah:
1. Kami selalu memberi pelayanan dengan penuh semangat dan antusiasme
yang tinggi sehingga pelayanan merasa dihargai dan puas terhadap
pelayanan kami.
2. Mimiliki kemauan tinggi untuk terus belajar, mengembangkan diri dan terus
berusaha untuk mencari cara yang lebih efektif dan efisien untuk
meningkatkan pelayanan dan kualitas produk kami.
3. Senantiasa memupuk rasa kepedulian terhadap customer, supplier dan mitra
kerja .
3.2 Lokasi Apotik Rama
Apotek Rama jln krembung no 5 kec Krembung

13
BAB IV
PERANCANGAN APLIKASI
4.1 Flowchart
Ketika mulai dengan membuka web aplikasi, disitu ada menu login Masukkan
username dan password jika benar akan masuk ke Aplikasi ,ada data obat dan obat
masuk . Jika ingin keluar klik tombol logout.

Gambar. 3.1 Flowchart Aplikasi persedian obat Apotik


4.2 Data Flow Diagram (DFD
DFD Level 0
DFD level 0 dapat dilihat dari gambar 4.2 dibawah ini. Pada DFD Level 0

14
Gambar 4.2 DFD 0 Aplikasi persediaan obat apotik

menggambarkan proses-proses dan aliran data pada Aplikasi secara keseluruhan.

DFD level 0 menunjukan bahwa semua aliran data yang ada menuju pada satu

proses, yaitu proses sistem Aplikasi persediaan obat. Ada Tiga entitas yang terlibat

di sistem ini yaitu entitas Manager, Gudang dan entitas Super Admin. Masing-

masing entitas memiliki data masukkan dan data keluaran pada sistem.

Gambar 4.2 DFD 1 Aplikasi persediaan obat apotik

15
DFD level 1 merupakan pengembangan dari DFD level 0. Didalam DFD level 1

terdapat tiga entitas yaitu entitas super admin , gudang dengan entitas Manager

dimana setiap entitas memiliki aliran data masing-masing. DFD level 1 ini juga

memiliki tiga proses yaitu proses memasukkan data , mencetak data dan

menyimpan data .proses memiliki aliran data input maupun output dari atau ke data

laporan.

4.3 Entity Relationship Diagram (ERD)

Gambar 4.3 ERD Aplikasi persediaan obat apotik

4.4 Database

a. Perancangan Relasi Antar Tabel

Pada model data relasional hubungan antar tabel direlasikan dengan kunci utama
(primary key) dari masing-masing tabel. Perancangan relasi antar tabel pada sistem
yang akan dibangun ini dapat di lihat pada gambar

16
Gambar 4.4 Relasi Antar Tabel
b. Perancangan struktur tabel
Berikut adalah struktur tabel yang dihasilkan:
1. Tabel User
Tabel User digunakan untuk menyimpan data – data user yang memiliki
field –
field Id_user sebagai primary key,username dan password.

Field type Size Key Keterangan

Id_user Int 5 Primary key Kode user

Username Varchar 20 Username

Password varchar 20 Password

Nama user varchar 20 Nama

Email Varchar 25 Email

Telephone Varchar 25 Telephone

Gambar 4.4 Struktur Table User

2. Tabel Obat

Tabel Data obat digunakan untuk menyimpan data – data obat yang
memiliki field –
Field id_obat sebagai primary key,kode obat.

17
Field type Size key Keterangan

Id_Obat Int 5 Primary key Kode Obat

Nama obat Varchar 20 Nama obat

Harga beli varchar 20 Harga beli

Harga jual Varchar 20 Harga jual

Stok Varchar 20 Stok

Satuan Varchar 20 Satuan

Gambar 4.4 Struktur Tabel Data Obat

3. Tabel Obat Masuk


Tabel Obat Masuk digunakan untuk menyimpan data – data obat yang
memiliki field –
Field id_obat sebagai primary key, kode obat.
Field Type Size key Keterangan

Id_obat Int 5 Primary key Kode obat

Kode transaksi Varchar 25 Kode transaksi

Tanggal Varchar 20 Tanggal


Masuk Masuk

Jumlah Masuk Varchar 20 Jumlah Masuk

Gambar 4.4 Struktur Tabel Obat Masuk

18
BAB V
HASIL PRAKTEK KERJA LAPANGAN
5.1 Hasil Pengamatan
Dari pengamatan yang penulis lakukan terhadap Lembaga Penelitian dan
Pengabdian Masyarakat, maka penulis dapat menganalisis beberapa permasalahan.
Permasalahan tersebut dapat diidentifikasikan sebagai berikut:
1. Banyak informasi yang belum dapat diinformasikan.
2. Perlunya pengupdatean atau pembaruan berita.
Dari permasalahan yang ada, penulis diarahkan oleh pembimbing lapangan untuk
menyelesaikannya dengan membuat beberapa projek diantaranya:
1. Menampilkan berita dan informasi ke dalam web LPPM.
2. Pembaruan berita dan informasi ke dalam web LPPM.
5.2 Kebutuhan Perangkat Keras dan Perangkat Lunak
Dalam perancangan pembuatan program android ada beberapa faktor yang harus
diperhatikan yaitu alat - alat yang diperlukan. Dalam perancangan ini penulis
menggunakan spesifikasi hardware dan software sebagai berikut :
a. Hardware dengan spesifikasi minimal sebagai berikut:
1. Processor Intel core i3
2. Memory DDR3 RAM 3 GB
3. Hardisk 2 GB free space
4. Screen Resolution 1280 x 800
b. Software dengan spesifikasi sebagai berikut:
1. Database : MySQL
2. Software Pendukung : Xampp, Sublime text, Web browser

5.3 Menginstal Xampp


Langsung saja kita mulai melangkah pada inti bagaimana cara memasang xampp
localhost di komputer:
1. Download xampp, tidak harus terbaru, bisa download disini Xampp versi
1.8.3-5
2. Jalankan file installasi xampp yang sudah Anda download tadi.
3. Muncul Tampilan awal, klik Next.

19
Gambar 5.1 Tampilan Setup Xampp
4. Biarkan saja semua opsi service terpilih secara default untuk diinstal, klik
Next

Gambar 5.2 Tampilan select Components


5. Biarkan juga folder untuk menaruh file-file xampp ada di c:\xampp, klik
Next

20
Gambar 5.3 Tampilan installation folder
6. Lewatkan saja opsi Learn more about Bitnami for XAMPP dengan
mengosongkan centangan yang ada, selanjutnya klik Next

Gambar 5.4 Tampilan Bitnami for Xampp

7. Proses installasi xampp di komputer windows sedang berjalan, tunggu


beberapa saat hingga selesai.

21
Gambar 5.5 Tampilan Installation Xampp
8. Selanjutnya pastikan Opsi Do you want to start the Control Panel now?
tercentang untuk langsung menjalankan XAMPP Control Panel saat
installasi selesai, klik Finish.

Gambar 5.6 Tampilan Completing the Xampp Setup Wizard


9. Jendela XAMPP Control Panel terbuka, lihatlah beberapa service module
yang tersedia. Untuk bisa menginstall blog berbasis cms (content
management system) seperti wordpress, joomla dan lain sebagainya, cukup

22
jalankan 2 (dua) servise/module saja, yaitu Apache dan MySQL, klik start
untuk menjalankan servis

Gambar 5.7 Tampilan Xampp Control Panel


10. Sampai disini Anda telah berhasil menginstall xampp di windows, untuk
memastikan apakah service berjalan dengan baik, buka Web browser Anda,
#google chromemisalnya lalu ketikkan di address bar “localhost” tanpa
tanda kutip, lalu tekan Enter. 11. Jika Anda berhasil maka akan muncul opsi
bahasa, misalnya Anda pilih English, Lalu Akan muncul halaman utama
XAMPP. Komputer Anda telah berhasil diinstall XAMPP dan sudah
berfungsi sebagai server lokal. Sekarang sudah siap utnuk Anda pasang atau
install #blog secara offline

Gambar 5.8 Tampilan Xampp di Browser


11. Jika sudah berhasil install dan menjalankan xampp di windows,
unzip/ekstrak file wordpress terbaru yang baru Anda download. Ekstrak di
folder C:/xampp/htdocs

23
Gambar 5.9Tampilan Localhost di Browser

12. Hasilnya ada folder latihan yang berisi file-file blog latian
diC:/xampp/htdocs/Aris_226
13. Rename folder latihan menjadi nama domain blog yang Anda
kehendaki, misal localhost/latihan, begini hasilnya C:/xampp/htdocs/
localhost/latihan
14. Selanjutnya adalah membuat database blog, bukalah web browser
kesayangan Anda, disini saya pakai #google chrome, terserah Anda mau
pakai apa yang penting sama fungsinya. Ketikkan “localhost/phpmyadmin”
di Address bar tanpa tanda kutip. (localhost ini akan selalu Anda ikutkan
ketika mengakses blog yang masih disimpan di localhosting komputer
Anda).

24
Gambar 5.10 Tampilan Database
15. Akan terlihat halaman utama PHP My Admin, klik NEW, kemudian
isilah Database namesesuai yang Anda kehendaki, Pada kolom Collation
rubahlah menjadi utf8_unicode_ci, lalu klik tombol Create, simpan atau
ingat-ingat nama database yang telah Anda buat ini.
16. Berikutnya kita mulai di localhost, masih dengan web browser
kesayangan Anda, kita akan panggil folder blog yang telah kita buat
sebelumnya di C:/xampp/htdocs/Nama_Blog_Anda dengan mengetik di
address bar “localhost/Nama_Blog_Anda” tanpa tanda kutip, contoh
“localhost/kolongseo.com“

25
5.4 Aplikasi Persediaan Obat Apotik
5.4.1 Halaman Utama
Aplikasi persediaan obat apotik berbasis web adalah sebuah sistem yang
dirancang untuk mengolah data persediaan obat. Tampilan login ini dikhusukan
buat user untuk masuk ke dalam aplikasi.

Gambar 5.4 Tampilan Utama Aplikasi persediaan obat apotik


Source code :
<!-- Aplikasi Persediaan Obat pada Apotek

*******************************************************

-->

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Login | Aplikasi Persediaan Obat</title>

<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-


scalable=no' name='viewport'>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="description" content="Aplikasi Persediaan Obat pada Apotek">

<meta name="author" content="M. ARIES ANDRIYANTO" />


26

<!-- favicon -->


<!-- favicon -->

<link rel="shortcut icon" href="assets/img/favicon.png" />

<!-- Bootstrap 3.3.2 -->

<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" />

<!-- Font Awesome Icons -->

<link href="assets/plugins/font-awesome-4.6.3/css/font-awesome.min.css"
rel="stylesheet" type="text/css" />

<!-- Theme style -->

<link href="assets/css/AdminLTE.min.css" rel="stylesheet" type="text/css" />

<!-- iCheck -->

<link href="assets/plugins/iCheck/square/blue.css" rel="stylesheet" type="text/css" />

<!-- Custom CSS -->

<link href="assets/css/style.css" rel="stylesheet" type="text/css" />

</head>

<body class="login-page bg-login">

<div class="login-box">

<div style="color:#3c8dbc" class="login-logo">

<img style="margin-top:-12px" src="assets/img/logo-blue.png" alt="Logo"


height="50"> <b>Apotek</b>

</div><!-- /.login-logo -->

<?php

// fungsi untuk menampilkan pesan

// jika alert = "" (kosong)

// tampilkan pesan "" (kosong)

if (empty($_GET['alert'])) {

echo "";

// jika alert = 1

// tampilkan pesan Gagal "Username atau Password salah, cek kembali Username dan
27
Password Anda"

elseif ($_GET['alert'] == 1) {
// jika alert = 1

// tampilkan pesan Gagal "Username atau Password salah, cek kembali Username dan
Password Anda"

elseif ($_GET['alert'] == 1) {

echo "<div class='alert alert-danger alert-dismissable'>

<button type='button' class='close' data-dismiss='alert' aria-


hidden='true'>&times;</button>

<h4> <i class='icon fa fa-times-circle'></i> Gagal Login!</h4>

Username atau Password salah, cek kembali Username dan Password Anda.

</div>";

// jika alert = 2

// tampilkan pesan Sukses "Anda telah berhasil logout"

elseif ($_GET['alert'] == 2) {

echo "<div class='alert alert-success alert-dismissable'>

<button type='button' class='close' data-dismiss='alert' aria-


hidden='true'>&times;</button>

<h4> <i class='icon fa fa-check-circle'></i> Sukses!</h4>

Anda telah berhasil logout.

</div>";

?>

<div class="login-box-body">

<p class="login-box-msg"><i class="fa fa-user icon-title"></i> Silahkan Login</p>

<br/>

<form action="login-check.php" method="POST">

<div class="form-group has-feedback">

<input type="text" class="form-control" name="username"


placeholder="Username" autocomplete="off" required />
28
<span class="glyphicon glyphicon-user form-control-feedback"></span>

</div>
<span class="glyphicon glyphicon-user form-control-feedback"></span>

</div>

<div class="form-group has-feedback">

<input type="password" class="form-control" name="password"


placeholder="Password" required />

<span class="glyphicon glyphicon-lock form-control-feedback"></span>

</div>

<br/>

<div class="row">

<div class="col-xs-12">

<input type="submit" class="btn btn-primary btn-lg btn-block btn-flat"


name="login" value="Login" />

</div><!-- /.col -->

</div>

</form>

</div><!-- /.login-box-body -->

</div><!-- /.login-box -->

<!-- jQuery 2.1.3 -->

<script src="assets/plugins/jQuery/jQuery-2.1.3.min.js"></script>

<!-- Bootstrap 3.3.2 JS -->

<script src="assets/js/bootstrap.min.js" type="text/javascript"></script>

</body>

</html>

29
5.4.2 Halaman Beranda
Halaman ini berisikan tampilan awal saat setelah berhasil login dimana
ada data obat, data obat masuk dan laporan di tampilan ini.

Gambar 5.4 Tampilan Halaman Beranda

Berikut ini tampilan script Tampilan Halaman Beranda

<!-- Aplikasi Persediaan Obat pada Apotek

*******************************************************

-->

<!-- Content Header (Page header) -->

<section class="content-header">

<h1>

<i class="fa fa-home icon-title"></i> Beranda

</h1>

<ol class="breadcrumb">

<li><a href="?module=beranda"><i class="fa fa-home"></i> Beranda</a></li>

</ol>

</section>

<!-- Main content --> 30

<section class="content">
<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-lg-12 col-xs-12">

<div class="alert alert-info alert-dismissable">

<button type="button" class="close" data-dismiss="alert" aria-


hidden="true">&times;</button>

<p style="font-size:15px">

<i class="icon fa fa-user"></i> Selamat datang <strong><?php echo


$_SESSION['nama_user']; ?></strong> di Aplikasi Persediaan Obat.

</p>

</div>

</div>

</div>

<!-- Small boxes (Stat box) -->

<div class="row">

<div class="col-lg-3 col-xs-6">

<!-- small box -->

<div style="background-color:#00c0ef;color:#fff" class="small-box">

<div class="inner">

<?php

// fungsi query untuk menampilkan data dari tabel obat

$query = mysqli_query($mysqli, "SELECT COUNT(kode_obat) as jumlah


FROM is_obat")

or die('Ada kesalahan pada query tampil Data Obat:


'.mysqli_error($mysqli));

// tampilkan data

?>
31
<h3><?php echo $data['jumlah']; ?></h3>

<p>Data Obat</p>
$data = mysqli_fetch_assoc($query);

?>

<h3><?php echo $data['jumlah']; ?></h3>

<p>Laporan Stok Obat</p>

</div>

<div class="icon">

<i class="fa fa-file-text-o"></i>

</div>

<a href="?module=lap_stok" class="small-box-footer" title="Cetak Laporan" data-


toggle="tooltip"><i class="fa fa-print"></i></a>

</div>

</div><!-- ./col -->

<div class="col-lg-3 col-xs-6">

<!-- small box -->

<div style="background-color:#dd4b39;color:#fff" class="small-box">

<div class="inner">

<?php

// fungsi query untuk menampilkan data dari tabel obat masuk

$query = mysqli_query($mysqli, "SELECT COUNT(kode_transaksi) as jumlah


FROM is_obat_masuk")

or die('Ada kesalahan pada query tampil Data obat Masuk:


'.mysqli_error($mysqli));

// tampilkan data

$data = mysqli_fetch_assoc($query);

?>

<h3><?php echo $data['jumlah']; ?></h3>

<p>Laporan Obat Masuk</p>

</div>

<div class="icon"> 32

<i class="fa fa-clone"></i>


</div>

<div class="icon">

<i class="fa fa-clone"></i>

</div>

<a href="?module=lap_obat_masuk" class="small-box-footer" title="Cetak


Laporan" data-toggle="tooltip"><i class="fa fa-print"></i></a>

</div>

</div><!-- ./col -->

</div><!-- /.row -->

</section><!-- /.content -->

33
5.4.3 Halaman Data Obat

Halaman ini berisikan tentang data obat yang tersedia di apotik .dan
tampilan data obat tersedia menu edit dan hapus.

Gambar 5.4 Tampilan Data obat

Berikut ini script Tampilan data obat

<?php

// fungsi untuk pengecekan tampilan form

// jika form add data yang dipilih

if ($_GET['form']=='add') { ?>

<!-- tampilan form add data -->

<!-- Content Header (Page header) -->

<section class="content-header">

<h1>

<i class="fa fa-edit icon-title"></i> Input Obat

</h1>

<ol class="breadcrumb">

<li><a href="?module=beranda"><i class="fa fa-home"></i> Beranda </a></li>

<li class="active"> Tambah </li> 34

</ol>

</section>
<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-md-12">

<div class="box box-primary">

<!-- form start -->

<form role="form" class="form-horizontal"


action="modules/obat/proses.php?act=insert" method="POST">

<div class="box-body">

<?php

// fungsi untuk membuat id transaksi

$query_id = mysqli_query($mysqli, "SELECT RIGHT(kode_obat,6) as kode


FROM is_obat

ORDER BY kode_obat DESC LIMIT 1")

or die('Ada kesalahan pada query tampil kode_obat :


'.mysqli_error($mysqli));

$count = mysqli_num_rows($query_id);

if ($count <> 0) {

// mengambil data kode_obat

$data_id = mysqli_fetch_assoc($query_id);

$kode = $data_id['kode']+1;

} else {

$kode = 1;

// buat kode_obat

$buat_id = str_pad($kode, 6, "0", STR_PAD_LEFT);

$kode_obat = "B$buat_id";

?>
35

<div class="form-group">
<div class="form-group">

<label class="col-sm-2 control-label">Kode Obat</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="kode_obat" value="<?php


echo $kode_obat; ?>" readonly required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Nama obat</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="nama_obat"


autocomplete="off" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Harga Beli</label>

<div class="col-sm-5">

<div class="input-group">

<span class="input-group-addon">Rp.</span>

<input type="text" class="form-control" id="harga_beli" name="harga_beli"


autocomplete="off" onKeyPress="return goodchars(event,'0123456789',this)"
required>

</div>

</div>

</div>

36
<div class="form-group">

<label class="col-sm-2 control-label">Harga Jual</label>


<div class="form-group">

<label class="col-sm-2 control-label">Satuan</label>

<div class="col-sm-5">

<select class="chosen-select" name="satuan" data-placeholder="-- Pilih --"


autocomplete="off" required>

<option value=""></option>

<option value="Botol">Botol</option>

<option value="Box">Box</option>

<option value="Kotak">Kotak</option>

<option value="Strip">Strip</option>

<option value="Tube">Tube</option>

</select>

</div>

</div>

</div><!-- /.box body -->

<div class="box-footer">

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<input type="submit" class="btn btn-primary btn-submit" name="simpan"


value="Simpan">

<a href="?module=obat" class="btn btn-default btn-reset">Batal</a>

</div>

</div>

</div><!-- /.box footer -->

</form>

</div><!-- /.box -->

</div> <!-- /.row -->


37
</section><!-- /.content -->

<?php
// jika form edit data yang dipilih

// isset : cek data ada / tidak

elseif ($_GET['form']=='edit') {

if (isset($_GET['id'])) {

// fungsi query untuk menampilkan data dari tabel obat

$query = mysqli_query($mysqli, "SELECT


kode_obat,nama_obat,harga_beli,harga_jual,satuan FROM is_obat WHERE
kode_obat='$_GET[id]'")

or die('Ada kesalahan pada query tampil Data obat :


'.mysqli_error($mysqli));

$data = mysqli_fetch_assoc($query);

?>

<!-- tampilan form edit data -->

<!-- Content Header (Page header) -->

<section class="content-header">

<h1>

<i class="fa fa-edit icon-title"></i> Ubah Obat

</h1>

<ol class="breadcrumb">

<li><a href="?module=beranda"><i class="fa fa-home"></i> Beranda </a></li>

<li><a href="?module=obat"> Obat </a></li>

<li class="active"> Ubah </li>

</ol>

</section>

38
<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-md-12">

<div class="box box-primary">

<!-- form start -->

<form role="form" class="form-horizontal"


action="modules/obat/proses.php?act=update" method="POST">

<div class="box-body">

<div class="form-group">

<label class="col-sm-2 control-label">Kode Obat</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="kode_obat" value="<?php


echo $data['kode_obat']; ?>" readonly required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Nama obat</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="nama_obat"


autocomplete="off" value="<?php echo $data['nama_obat']; ?>" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Harga Beli</label>

<div class="input-group">
39
<span class="input-group-addon">Rp.</span>

<input type="text" class="form-control" id="harga_beli" name="harga_beli"


<div class="form-group">

<label class="col-sm-2 control-label">Harga Jual</label>

<div class="col-sm-5">

<div class="input-group">

<span class="input-group-addon">Rp.</span>

<input type="text" class="form-control" id="harga_jual"


name="harga_jual" autocomplete="off" onKeyPress="return
goodchars(event,'0123456789',this)" value="<?php echo
format_rupiah($data['harga_jual']); ?>" required>

</div>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Satuan</label>

<div class="col-sm-5">

<select class="chosen-select" name="satuan" data-placeholder="-- Pilih --"


autocomplete="off" required>

<option value="<?php echo $data['satuan']; ?>"><?php echo


$data['satuan']; ?></option>

<option value="Botol">Botol</option>

<option value="Box">Box</option>

<option value="Kotak">Kotak</option>

<option value="Strip">Strip</option>

<option value="Tube">Tube</option>

</select>

</div>

</div>

</div><!-- /.box body -->

40

<div class="box-footer">

<div class="form-group">
5.4.4 Halaman Data Obat Masuk
Menampilkan tentang stock obat yang baru saja diinputkan. Seperti
kode obat dan tanggal masuk serta jumlah obat. Halaman ini berisikan
tentang masuknya belanja obat baru.

Gambar 5.4 Halaman Data Obat Masuk

Berikut ini script Halaman data obat masuk

<script type="text/javascript">

function tampil_obat(input){

var num = input.value;

$.post("modules/obat-masuk/obat.php", {

dataidobat: num,

}, function(response) {

$('#stok').html(response)

document.getElementById('jumlah_masuk').focus();

});

function cek_jumlah_masuk(input) { 41

jml = document.formObatMasuk.jumlah_masuk.value;

var jumlah = eval(jml);


function cek_jumlah_masuk(input) {

jml = document.formObatMasuk.jumlah_masuk.value;

var jumlah = eval(jml);

if(jumlah < 1){

alert('Jumlah Masuk Tidak Boleh Nol !!');

input.value = input.value.substring(0,input.value.length-1);

function hitung_total_stok() {

bil1 = document.formObatMasuk.stok.value;

bil2 = document.formObatMasuk.jumlah_masuk.value;

if (bil2 == "") {

var hasil = "";

else {

var hasil = eval(bil1) + eval(bil2);

document.formObatMasuk.total_stok.value = (hasil);

</script>

<?php

// fungsi untuk pengecekan tampilan form

// jika form add data yang dipilih

if ($_GET['form']=='add') { ?>

<!-- tampilan form add data --> 42

<!-- Content Header (Page header) -->

<section class="content-header">
<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-md-12">

<div class="box box-primary">

<!-- form start -->

<form role="form" class="form-horizontal" action="modules/obat-


masuk/proses.php?act=insert" method="POST" name="formObatMasuk">

<div class="box-body">

<?php

// fungsi untuk membuat kode transaksi

$query_id = mysqli_query($mysqli, "SELECT RIGHT(kode_transaksi,7) as kode


FROM is_obat_masuk

ORDER BY kode_transaksi DESC LIMIT 1")

or die('Ada kesalahan pada query tampil kode_transaksi :


'.mysqli_error($mysqli));

$count = mysqli_num_rows($query_id);

if ($count <> 0) {

// mengambil data kode transaksi

$data_id = mysqli_fetch_assoc($query_id);

$kode = $data_id['kode']+1;

} else {

$kode = 1;

// buat kode_transaksi

$tahun = date("Y");

43
$kode_transaksi = "TM-$tahun-$buat_id";

?>
<div class="form-group">

<label class="col-sm-2 control-label">Kode Transaksi</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="kode_transaksi"


value="<?php echo $kode_transaksi; ?>" readonly required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Tanggal</label>

<div class="col-sm-5">

<input type="text" class="form-control date-picker" data-date-format="dd-


mm-yyyy" name="tanggal_masuk" autocomplete="off" value="<?php echo date("d-
m-Y"); ?>" required>

</div>

</div>

<hr>

<div class="form-group">

<label class="col-sm-2 control-label">Obat</label>

<div class="col-sm-5">

<select class="chosen-select" name="kode_obat" data-placeholder="--


Pilih Obat --" onchange="tampil_obat(this)" autocomplete="off" required>

<option value=""></option>

<?php

$query_obat = mysqli_query($mysqli, "SELECT kode_obat, nama_obat


FROM is_obat ORDER BY nama_obat ASC")

while ($data_obat = mysqli_fetch_assoc($query_obat)) {

echo"<option value=\"$data_obat[kode_obat]\"> 44
$data_obat[kode_obat] | $data_obat[nama_obat] </option>";

}
<div class="form-group">

<label class="col-sm-2 control-label">Jumlah Masuk</label>

<div class="col-sm-5">

<input type="text" class="form-control" id="jumlah_masuk" name="jumlah_masuk"


autocomplete="off" onKeyPress="return goodchars(event,'0123456789',this)"
onkeyup="hitung_total_stok(this)&cek_jumlah_masuk(this)" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Total Stok</label>

<div class="col-sm-5">

<input type="text" class="form-control" id="total_stok" name="total_stok" readonly


required>

</div>

</div>

</div><!-- /.box body -->

<div class="box-footer">

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<input type="submit" class="btn btn-primary btn-submit" name="simpan"


value="Simpan">

<a href="?module=obat_masuk" class="btn btn-default btn-reset">Batal</a>

</div>

</div>

</div><!-- /.box footer -->

</form>

</div><!-- /.box -->

</div><!--/.col -->

</div> <!-- /.row -->

</section><!-- /.content -->

<?php

} 45

?>
<?php

session_start();

// Panggil koneksi database.php untuk koneksi database

require_once "../../config/database.php";

// fungsi untuk pengecekan status login user

// jika user belum login, alihkan ke halaman login dan tampilkan pesan = 1

if (empty($_SESSION['username']) && empty($_SESSION['password'])){

echo "<meta http-equiv='refresh' content='0; url=index.php?alert=1'>";

// jika user sudah login, maka jalankan perintah untuk insert, update, dan delete

else {

if ($_GET['act']=='insert') {

if (isset($_POST['simpan'])) {

// ambil data hasil submit dari form

$kode_transaksi = mysqli_real_escape_string($mysqli,
trim($_POST['kode_transaksi']));

$tanggal = mysqli_real_escape_string($mysqli,
trim($_POST['tanggal_masuk']));

$exp = explode('-',$tanggal);

$tanggal_masuk = $exp[2]."-".$exp[1]."-".$exp[0];

$kode_obat = mysqli_real_escape_string($mysqli, trim($_POST['kode_obat']));

$jumlah_masuk = mysqli_real_escape_string($mysqli,
trim($_POST['jumlah_masuk']));

$total_stok = mysqli_real_escape_string($mysqli, trim($_POST['total_stok']));

$created_user = $_SESSION['id_user'];
46

// perintah query untuk menyimpan data ke tabel obat masuk


// perintah query untuk mengubah data pada tabel obat

$query1 = mysqli_query($mysqli, "UPDATE is_obat SET stok = '$total_stok'

WHERE kode_obat = '$kode_obat'")

or die('Ada kesalahan pada query update :


'.mysqli_error($mysqli));

// cek query

if ($query1) {

// jika berhasil tampilkan pesan berhasil simpan data

header("location: ../../main.php?module=obat_masuk&alert=1");

?>

47
5.4.5. Tampilan Laporan

Tampilan laporan disini meliputi tentang stok data obat. yang akan
ditunjukakan kepada pemilk atau super admin dengan metode cetak.

Gambar 5.4 Tampilan Laporan Stock Obat

Berikut ini script Tampilan Laporan stock Barang

<?php

session_start();

ob_start();

// Panggil koneksi database.php untuk koneksi database

require_once "../../config/database.php";

// panggil fungsi untuk format tanggal

include "../../config/fungsi_tanggal.php";

// panggil fungsi untuk format rupiah

include "../../config/fungsi_rupiah.php";

$hari_ini = date("d-m-Y");

$no = 1; 48

// fungsi query untuk menampilkan data dari tabel obat

$query = mysqli_query($mysqli, "SELECT


$no = 1;

// fungsi query untuk menampilkan data dari tabel obat

$query = mysqli_query($mysqli, "SELECT


kode_obat,nama_obat,harga_beli,harga_jual,satuan,stok FROM is_obat ORDER BY
nama_obat ASC")

or die('Ada kesalahan pada query tampil Data Obat:


'.mysqli_error($mysqli));

$count = mysqli_num_rows($query);

?>

<html xmlns="http://www.w3.org/1999/xhtml"> <!-- Bagian halaman HTML yang akan


konvert -->

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>LAPORAN STOK OBAT</title>

<link rel="stylesheet" type="text/css" href="../../assets/css/laporan.css" />

</head>

<body>

<div id="title">

LAPORAN STOK OBAT

</div>

<hr><br>

<div id="isi">

<table width="100%" border="0.3" cellpadding="0" cellspacing="0">

<thead style="background:#e8ecee">

<tr class="tr-title">

<th height="20" align="center" valign="middle">NO.</th>

<th height="20" align="center" valign="middle">KODE OBAT</th>

<th height="20" align="center" valign="middle">NAMA OBAT</th>

<th height="20" align="center" valign="middle">HARGA BELI</th>

<th height="20" align="center" valign="middle">HARGA JUAL</th> 49

<th height="20" align="center" valign="middle">STOK</th>


<th height="20" align="center" valign="middle">HARGA BELI</th>

<th height="20" align="center" valign="middle">HARGA JUAL</th>

<th height="20" align="center" valign="middle">STOK</th>

<th height="20" align="center" valign="middle">SATUAN</th>

</tr>

</thead>

<tbody>

<?php

// tampilkan data

while ($data = mysqli_fetch_assoc($query)) {

$harga_beli = format_rupiah($data['harga_beli']);

$harga_jual = format_rupiah($data['harga_jual']);

// menampilkan isi tabel dari database ke tabel di aplikasi

echo " <tr>

<td width='40' height='13' align='center' valign='middle'>$no</td>

<td width='80' height='13' align='center'


valign='middle'>$data[kode_obat]</td>

<td style='padding-left:5px;' width='180' height='13'


valign='middle'>$data[nama_obat]</td>

<td style='padding-right:10px;' width='80' height='13' align='right'


valign='middle'>Rp. $harga_beli</td>

<td style='padding-right:10px;' width='80' height='13' align='right'


valign='middle'>Rp. $harga_jual</td>

<td style='padding-right:10px;' width='80' height='13' align='right'


valign='middle'>$data[stok]</td>

<td width='80' height='13' align='center'


valign='middle'>$data[satuan]</td>

</tr>";

$no++;

?>

</tbody>
50
</table>
?>

</tbody>

</table

<div id="footer-tanggal">

Sidoarjo, <?php echo tgl_eng_to_ind("$hari_ini"); ?>

</div>

<div id="footer-jabatan">

Pimpinan

</div>

<div id="footer-nama">

aris andriyanto

</div>

</div>

</body>

</html><!-- Akhir halaman HTML yang akan di konvert -->

<?php

$filename="LAPORAN STOK OBAT.pdf"; //ubah untuk menentukan nama file pdf yang

// panggil library html2pdf

require_once('../../assets/plugins/html2pdf_v4.03/html2pdf.class.php');

try

$html2pdf = new HTML2PDF('P','F4','en', false, 'ISO-8859-15',array(10, 10, 10, 10));

$html2pdf->setDefaultFont('Arial');

$html2pdf->writeHTML($content, isset($_GET['vuehtml']));

$html2pdf->Output($filename);}

catch(HTML2PDF_exception $e) { echo $e; }

?>

51
<section class="content-header">

<h1>

<i class="fa fa-file-text-o icon-title"></i> Laporan Stok Obat

<a class="btn btn-primary btn-social pull-right" href="modules/lap-stok/cetak.php"


target="_blank">

<i class="fa fa-print"></i> Cetak

</a>

</h1>

</section>

<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-md-12">

<div class="box box-primary">

<div class="box-body">

<!-- tampilan tabel obat -->

<table id="dataTables1" class="table table-bordered table-striped table-hover">

<!-- tampilan tabel header -->

<thead>

<tr>

<th class="center">No.</th>

<th class="center">Kode Obat</th>

<th class="center">Nama Obat</th>

<th class="center">Harga Beli</th>

<th class="center">Stok</th>
52
<th class="center">Satuan</th>

</tr>
<th class="center">Harga Jual</th>

<th class="center">Stok</th>

<th class="center">Satuan</th>

</tr>

</thead>

<!-- tampilan tabel body -->

<tbody>

<?php

$no = 1;

// fungsi query untuk menampilkan data dari tabel obat

$query = mysqli_query($mysqli, "SELECT


kode_obat,nama_obat,harga_beli,harga_jual,satuan,stok FROM is_obat ORDER
BY nama_obat ASC")

or die('Ada kesalahan pada query tampil Data Obat:


'.mysqli_error($mysqli));

// tampilkan data

while ($data = mysqli_fetch_assoc($query)) {

$harga_beli = format_rupiah($data['harga_beli']);

$harga_jual = format_rupiah($data['harga_jual']);

// menampilkan isi tabel dari database ke tabel di aplikasi

echo "<tr>

<td width='30' class='center'>$no</td>

<td width='80' class='center'>$data[kode_obat]</td>

<td width='180'>$data[nama_obat]</td>

<td width='100' align='right'>Rp. $harga_beli</td>

<td width='100' align='right'>Rp. $harga_jual</td>

<td width='80' align='right'>$data[stok]</td>

<td width='80' class='center'>$data[satuan]</td> 53


</tr>";

$no++;
<td width='100' align='right'>Rp. $harga_jual</td>

<td width='80' align='right'>$data[stok]</td>

<td width='80' class='center'>$data[satuan]</td>

</tr>";

$no++;

?>

</tbody>

</table>

</div><!-- /.box-body -->

</div><!-- /.box -->

</div><!--/.col -->

</div> <!-- /.row -->

</section><!-- /.content

5.4.6. Tampilan User


Tampilan ini menjelaskan tentang management user yang menjalankan Aplikasi
ini Terdapat tiga user yang mampu menjalankan apliksai ini : Super admin ,
manager dan Gudang.

54
Gambar 5.5 Tampilan Tabel user

Source code Tampilan table user

<?php

// fungsi untuk pengecekan tampilan form

// jika form add data yang dipilih

if ($_GET['form']=='add') { ?>

<!-- tampilkan form add data -->

<!-- Content Header (Page header) -->

<section class="content-header">

<h1>

<i class="fa fa-edit icon-title"></i> Input User

</h1>

<ol class="breadcrumb">

<li><a href="?module=beranda"><i class="fa fa-home"></i> Beranda </a></li>

<li><a href="?module=user"> User </a></li>

<li class="active"> Input </li>

</ol>

</section>
55
<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-md-12">

<div class="box box-primary">

<!-- form start -->

<form role="form" class="form-horizontal" method="POST"


action="modules/user/proses.php?act=insert" enctype="multipart/form-data">

<div class="box-body">

<div class="form-group">

<label class="col-sm-2 control-label">Username</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="username"


autocomplete="off" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Password</label>

<div class="col-sm-5">

<input type="password" class="form-control" name="password"


autocomplete="off" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Nama User</label>

<div class="col-sm-5"> 56
<input type="text" class="form-control" name="nama_user"
autocomplete="off" required>
<div class="col-sm-5">

<input type="text" class="form-control" name="nama_user"


autocomplete="off" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Hak Akses</label>

<div class="col-sm-5">

<select class="form-control" name="hak_akses" required>

<option value=""></option>

<option value="Super Admin">Super Admin</option>

<option value="Manajer">Manajer</option>

<option value="Gudang">Gudang</option>

</select>

</div>

</div>

</div><!-- /.box body -->

<div class="box-footer">

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<input type="submit" class="btn btn-primary btn-submit"


name="simpan" value="Simpan">

<a href="?module=user" class="btn btn-default btn-reset">Batal</a>

</div>

</div>

</div><!-- /.box footer -->

</form>

</div><!-- /.box -->

</div><!--/.col --> 57

</div> <!-- /.row -->

</section><!-- /.content -->


</div><!-- /.box -->

</div><!--/.col -->

</div> <!-- /.row -->

</section><!-- /.content -->

<?php

// jika form edit data yang dipilih

elseif ($_GET['form']=='edit') {

if (isset($_GET['id'])) {

// fungsi query untuk menampilkan data dari tabel user

$query = mysqli_query($mysqli, "SELECT * FROM is_users WHERE


id_user='$_GET[id]'")

or die('Ada kesalahan pada query tampil data user :


'.mysqli_error($mysqli));

$data = mysqli_fetch_assoc($query);

?>

<!-- tampilkan form edit data -->

<!-- Content Header (Page header) -->

<section class="content-header">

<h1>

<i class="fa fa-edit icon-title"></i> Ubah Data User

</h1>

<ol class="breadcrumb">

<li><a href="?module=beranda"><i class="fa fa-home"></i> Beranda</a></li>

<li><a href="?module=user"> User </a></li>

<li class="active"> Ubah </li>

</ol>

</section> 58
</ol>

</section>

<!-- Main content -->

<section class="content">

<div class="row">

<div class="col-md-12">

<div class="box box-primary">

<!-- form start -->

<form role="form" class="form-horizontal" method="POST"


action="modules/user/proses.php?act=update" enctype="multipart/form-data">

<div class="box-body">

<input type="hidden" name="id_user" value="<?php echo


$data['id_user']; ?>">

<div class="form-group">

<label class="col-sm-2 control-label">Username</label>

<div class="col-sm-5">

<input type="text" class="form-control" name="username"


autocomplete="off" value="<?php echo $data['username']; ?>" required>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Password</label>

<div class="col-sm-5">

<input type="password" class="form-control" name="password"


autocomplete="off" placeholder="Kosongkan password jika tidak diubah">

</div>

</div>

59
<div class="form-group">

<label class="col-sm-2 control-label">Nama User</label>


if ($data['foto']=="") { ?>

<img style="border:1px solid #eaeaea;border-radius:5px;" src="images/user/user-


default.png" width="128">

<?php

else { ?>

<img style="border:1px solid #eaeaea;border-radius:5px;" src="images/user/<?php


echo $data['foto']; ?>" width="128">

<?php

?>

</div>

</div>

<div class="form-group">

<label class="col-sm-2 control-label">Hak Akses</label>

<div class="col-sm-5">

<select class="form-control" name="hak_akses" required>

<option value="<?php echo $data['hak_akses']; ?>"><?php echo


$data['hak_akses']; ?></option>

<option value="Super Admin">Super Admin</option>

<option value="Manajer">Manajer</option>

<option value="Gudang">Gudang</option>

</select>

</div>

</div>

</div><!-- /.box body -->

<div class="box-footer">

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">


60
<input type="submit" class="btn btn-primary btn-submit" name="simpan"
value="Simpan">

<a href="?module=user" class="btn btn-default btn-reset">Batal</a>


<div class="box-footer">

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<input type="submit" class="btn btn-primary btn-submit"


name="simpan" value="Simpan">

<a href="?module=user" class="btn btn-default btn-reset">Batal</a>

</div>

</div>

</div><!-- /.box footer -->

</form>

</div><!-- /.box -->

</div><!--/.col -->

</div> <!-- /.row -->

</section><!-- /.content -->

<?php

?>

61
BAB VI
PENUTUP
6.1 Kesimpulan
Dari hasil pembahasan dan penulisan laporan PKL, penulis memberikan
kesimpulan merancang website sebagai pengembangan media informasi
pada Rumah Sakit dapat dijadikan sebagai situs website yang baik karena
konteks, isi, komunitas, kustomisasi, komunikasi, hubungan ini dapat
memberikan kemudahan bagi khayalak dalam memperoleh informasi
penelitian secara mendetail.
6.2 Saran
Berdasarkan kesimpulan dan analisis yang dilakukan selama PKL, penulis
ingin memberikan beberapa saran sebagai berikut:
1. Isi Webite tentang adanya penambahan data obat terbaru.
2. Mengikuti perkembangan sistem persediaan obat ini sehingga dapat
menambah komponen yang diperlukan sebagai pelengkap website supaya
website lebih interaktif dan menarik.

62
DAFTAR PUSTAKA

As Haris Sumadiria, 2005. “Jurnalistik Indonesia, Menulis Berita dan Feature,


Panduan, Praktis Jurnalis Profesioan”. Bandung: Penerbit PT. Remaja
Rosda karya Bandung.

Kadir, Abdul. 2003.Pemograman WEB Mencakup:HTML,CSS, JavaScript &PHP.


Yogyakarta: Andi

Kotler, Philip dan Gary Armstrong. 2008. Prinsip prinsip Pemasaran. Edisi 12 .
Jakarta : PT. Gelora Aksara Pratama

MADCOMS. 2011. Sukses Membangun Toko Online dengan E-Commerce.


Yogyakarta: Andi

Newson, Doug & James A. Wollert. 1985. “Media Writing, News for The Mass
Media”. California: Wadworth Publishing Company.

Simarmata Janner. 2010 Rekayasa Perangkat Lunak. Yogyakarta : Andi

http://wikitekno.net/2015/12/pengertian-widget-dalam-smartphone.html,
06/10/2010

http://www.nyekrip.com/cara-membuat-website-sederhana-dengan-h

63

Anda mungkin juga menyukai