Revisi Tb.docx

  • Uploaded by: Rifka Yusra
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Revisi Tb.docx as PDF for free.

More details

  • Words: 4,601
  • Pages: 56
TUGAS BESAR PRAKTIKUM PEMROGRAMAN KOMPUTER

Disusun oleh: DIMAS SEPTIAN IMAM RAHARJA 1800019049 BIMA DZAKY SYAHLANI

1800019050

YUSUF NUR HIDAYAT

1800019051

MUHAMMAD RIFKA YUSRA

1800019052

PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS AHMAD DAHLAN YOGYAKARTA 2018

LEMBAR PENGESAHAN Laporan Praktikum Pemrograman Komputer ini telah disetujui dan disahkan sebagai salah satu syarat lulus praktikum Pemrograman Komputer di Program Studi Teknik Industri Fakultas Teknologi Industri Universitas Ahmad Dahlan Yogyakarta. Nama

: 1. Dimas Septian Imam R

(1800019049)

: 2. Bimma Dzaky S

(1800019050)

: 3. Yusuf Nur Hidayat

(1800019051)

: 4. Muhmaad Rifka Yusra

(1800019052)

Yogyakarta, Desember 2018

Menyetujui, Asisten Pembimbing Mufida Nur Khasanah

ii

KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah swt, atas berkat rahmat dan hidayah-Nya sehingga kami dapat menyelesaikan tugas besar praktikum pemrograman dasar computer yang berjudul “Engineering Pharmacy” dengan lancar untuk menyelesaikan tugas besar. Ucapan terima kasih penulis sampaikan kepada pihak-pihak yang mempunyai andil dalam proses penyusunan laporan ini atas bantuan dan partisipasinya. Ucapan terima kasih disampaikan antara lain kepada: 1. Ibu Amalia Yuli Astuti, S.T.,M.T. Selaku dosen pembimbing mata kuliah pemrograman dasar komputer. 2. Ibu Utaminingsih Linarti, S.T., M.T. Selaku dosen matakuliah pemrograman dasar komputer 3. Mufida Nur Khasanah selaku asisten dosen yang telah membimbing kami sampai laporan ini dapat terselesaikan. 4. Orang tua atas izin, dukungan, dan doanya sehingga laporan tugas besar ini dapat terselesaikan. 5. Teman-teman yang telah memberikan dukungan untuk menyelesaikan laporan tugas besar ini. Walaupun penyusunan laporan tugas besar ini telah diusahakan dengan sebaikbaiknya, namun tentu tak luput dari kekurangan. Oleh karena itu, kami mengharapakan bantuan para pembaca untuk berkenan memberikan kritik dan saran yang membangun. Akhirnya, kami berharap semoga laporan ini dapat diterima untuk ditindaklanjuti. Yogyakarta, 11 Desember 2018

Penulis

iii

DAFTAR ISI HALAMAN MUKA .............................................................................................. i HALAMAN PENGESAHAN ..............................................................................ii KATA PENGANTAR .........................................................................................iii DAFTAR ISI ........................................................................................................ iv DAFTAR TABEL ............................................................................................... vi DAFTAR GAMBAR ..........................................................................................vii DAFTAR LAMPIRAN ....................................................................................... ix BAB I PENDAHULUAN A. Latar Belakang ..................................................................................... 1 B. Rumusan Masalah ................................................................................ 2 C. Tujuan................................................................................................... 2 BAB II LANDASAN TEORI A. Deklarasi, Variabel, Tipe Data, dan Operator ...................................... 3 B. Logika Kondisi ..................................................................................... 4 C. Perulangan (Loop) ................................................................................ 7 D. Array .................................................................................................... 9 E. Visual Component Library (VCL) ..................................................... 10 F. Data Base……………………………………………………………11 G. Data Base Lanjutan………………………………………………………11 BAB III ALGORITMA PROGRAM A. Flow Chart ................................................................................................. 13 BAB IV PROGRAM A. Langkah-Langkah Program ..................................................................... 16 B. Gambar Aplikasi........................................................................................ 17

C. Source code …………………………………………………………….24 BAB V PENUTUP A. Kesimpulan ........................................................................................ 47 B. Saran ................................................................................................... 47 DAFTAR PUSTAKA…………………………………………………………..48

vi

DAFTAR TABEL Tabel 1 Data Jenis Obat Umum……………………………………………….…22 Tabel 2 Data Jenis Obat Dokter….………………………………………………22

vii

DAFTAR GAMBAR Gambar 4.1. Menu Login………………………………………………………………...16 Gambar 4.2 Menu Penjualan Obat ………………………………………………………17 Gambar 4.3. Menu Laporan Penjualan Umum...………………………………………...18 Gambar 4.4. Menu Laporan Penjualan Dokter...………………………………………...18 Gambar 4.5. Struk Pelanggan….………………………………………………………...19 Gambar 4.6. Struk Laporan Umum...…………………………………………………....20 Gambar 4.7. Struk Laporan Dokter……. ...……………………………………………...21

viii

DAFTAR LAMPIRAN Lock Book…………………………………………………………………………..........49

ix

BAB I PENDAHULUAN A. Latarbelakang Apotek merupakan tempat yang dijadikan transaksi jual beli atau pelayanan produk dari farmasi. Di dalam apotek juga telah disediakan tenaga kefarmasian yang ditujukan untuk melakukan pelayanan kepada masyarakat untuk perbekalan kesehatan yang lainnya. Apotek juga dapat dikatakan sebagai suatu temapat pelayanana kesehatan yang berhubungan dengan halhal yang berbau kefarmasian seperti obat, bahan obat, obat tradisioanal, alat kesehatan, kosmetika yang ditujukan pada masyarakat umum. Aplikasi merupakan Teknologi yang berkembang pesat pada saat ini, kemajuan teknologi dalam membantu pengolahan data atau informasi yang tersedia dapat berlangsung secara cepat dan efisien serta akurat. Kemajuan aplikasi dapat dilihat dari banyaknya aplikasi yang dapat memudahkan penggunanya dalam membantu pekerjaannya. Salah satu model aplikasi yang sangat berperan penting adalah aplikasi pengolahan data yang sangat bermanfaat dan membantu dalam penyimpanan data. Sekarang ini memang tidak banyak apotek yang menggunakan cara konvensional untuk penulisan transaksi dan penulisan laporan penjualan secara manual karrena kesulitan dalam pencatatan transaksi dan pencatatan laporan penjualan yang cukup memakan banyak waktu. Aplikasi penjualan adalah aplikasi yang digunakan untuk memudahkan dalam pencatatan atau record data Penjualan. Aplikasi ini banyak digunakan pada bisnis retail dimana pimpinan bisa melihat laporan penjualan mulai dari Laporan Harian, Mingguan, Bulanan bahkan Tahunan. Mempermudah dalam pendataan maka dibuat sebuah aplikasi pendataan transaksi pembayaran bagi sebuah apotek yang berbasis komputer menggunakan program Borland Delphi 7 agar lebih cepat dan efisien.

1

2

Aplikasi engineering pharmacy ini sangat mudah untuk dioperasikan karena tampilan yang sederhana. Oleh karena itu, aplikasi ini dapat membantu dalam pendataan transaksi atau laporan penjualan obat bagi apotek.

B. Identifikasi masalah Berdasarkan latar belakang diatas, maka penulis mengidentifikasikan beberapa masalah yang ada, antara lain: 1. Pengelolaan laporan penjualan yang masih menggunakan cara manual dan laporan penjualan kepada pemilik apotek. 2. Pengelolaan data transaksi yang memakan banyak waktu. 3. Tidak ada bukti penjualan kepada konsumen.

C. Tujuan Berdasarkan latar belakang diatas, tujuan dari pembuatan laporan ini antara lain: 1. Mempermudah dalam pembuatan laporan penjualan baik data ataupun informasi dengan jelas. 2. Mempermudah perhitungan transaksi yang harus dibayar sesuai dengan obat yang dibeli. 3. Mempermudah dalam pencetakan struk kepada pembeli agar mengetahui obat yang dibeli.

BAB II LANDASAN TEORI

A. Deklarasi Variabel, Tipe Data, dan Operator

1.

Deklarasi Variabel Dalam setiap penulisan Bahasa pemrograman deklarasi sangat digunakan apabila dalam penulisan program dibutuhkan identifier atau tanda pengenal. Identifier pada umumnya dibuat oleh programmer yang digunakan untuk mewakili nilai dari suatu objek. Sebelum suatu variable dapat digunakan, variable harus dapat di deklarasikan terlebih dahulu. Pengertian deklarasi disini adalah menyebutkan nama 3ariable dan tipe datanya Variabel di deklarasikan pada bagian yang di awali dengan kata “var”. (Andoyo, 2003).

2.

Tipe Data Tipe data pada dasarnya merupakan nama untuk sejenis data. Ketika kita mendeklarasikan sebuah 3ariable, maka 3ariable tersebut harus mempunyai sebuah tipe data, yang menentukan nilai-nilai yang dapat dimuat dan di operasikan pada 3ariable tersebut. (Andoyo, 2003). Secara sederhana tipe data dapat didefinisikan dengan istilah tempat untuk menentukan pemberian nilai terhadap suatu 3ariable sesuai atau tidak dengan nilai yang diberikan oleh user. Dalam versi lain tipe data juga di definisikan sebagai 3ariabl terhadap fungsi tanda pengenal terhadap semua nilai yang di terima. Logika yang dapat kita berikan adalah ketika kita menempatkan tanda pengenal harga hanya angka, maka ketika kita memberikan nilai berupa string maka secara otomatis data tersebut akan ditolak

karena

nilai 3

tersebut

4

tidak dikenali oleh tipe data yang diberikan. Terdapat beberapa tipe data pada Delphi yaitu string,char,real, dan integer.

3.

Operator Operator dipakai untuk memanipulasi dan mengolah data. Delphi menyediakan bermacam-macam operator. Setiap operator mempunyai tingkat hierarki, yaitu urutan pelaksanaan jika ada beberapa operator dalam suatu proses. Sebagai contoh, jika terdapat ekspresi X+Y*Z, maka akan dilaksanakan terlebih dahulu operasi Y*Z, baru setelah itu, hasil operasi X*Y ditambah X. Hal ini disebabkan operator perkalian (dengan symbol *) hierarkinya lebih tinggi dari operator penambahan (dengan symbol +).

B. Logika Kondisi 1.

If..Then.. Bentuk pertama percabangan adalah bentuk if..then. Pada bentuk ini pemilihan keputusan hanyha untuk satu bagian atau percabangan. Ini artinya jika kondisi percabangan saja yang di kerjakan, dan kondisi percabangan tidak terpenuhi, tidak ada yang dikerjakan. (Mangkulo, 2005). Bentuk sintaks dari percabangan ini adalah: If then Begin {aksi} End;

2.

If..Then..Else Pada percabangan bentuk If..Then..Else terdapat dua bagian atau percabangan. Bagian atau percabangan pertama adalah tempat untuk pernyataan bila kondisi tercapai. Perbedaannya dengan bentuk If..Then adalah

5

pada bentuk ini terdapat dua bagian atau percabangan, pada bentuk If..Then hanya terdapat satu bagian saja atau percabangan tunggal. (Mangkulo, 2005). Bentuk sintaks dari percabangan ini adalah: If then Begin {aksi 1} End Else Begin {aksi 2} End; 3.

Case..Of Perintah bersyarat Case umumnya digunakan untuk kondisi dengan banyak percabangan. Syarat pencabangan pada bentuk ini hanya boleh satu buah parameter dengan tipe data bukan Real. Pemeriksaan kondisi di sini lebih tepat disebutkan dalam hubungan relasi samadengan (=).

Dengan

demikian bila parameter bernilai tertentu maka dilakukan suatu aksi terkain, bila bernilai lain mkaka di lakukan aksi yang lain juga, demikian seterusnya. Bentuk umum penggunaan Case..Of : Case <Parameter> of : ; ; ; : ; … : ; Else End;. (Astuti A. Y. & Utaminingsih , 2017).

6

C. PERULANGAN (LOOP) Salah satu kelebihan 6ariable adalah dapat melakukan perhitungan berulang dengan sangat cepat. Dengan demikian, salah satu algoritma yang penting adalah mempelajari aspek-aspek perulangan. Delphi memberikan tiga alternative pengulangan, yaitu dengan For, While, atau Repeat. Masingmasing memiliki karakteristik, yang akan dipelajari pada bagian ini. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan, yaitu: -Inisialisasi awal -Nilai akhir perulangan atau kondisi berhenti. -Konsep Counter Perhatikan Penugasan berikut ini: i←i+1 Arti dari penugasan diatas adalah I sebelah kiri merupakan harga I yang baru setelah harga I sebelah kanan ditambah dengan 1. Dengan demikian, I merupakan counter (pencacah) dimana setiap kali pernyataan penegasan itu dieksekusi, harga I akan bertambah 1. Perulangan digunakan untuk menjalankan satu atau beberapa pernyataan hanya dengan menuliskan pernyataan tersebut satu kali. 1. Macam-macam Pernyataan Perulangan a. For…to…do Pada perulangan pada For, inisialisasi awal dan kondidi akhir ditentukan dengan menggunakan suatu variable kendali yang nilainya dibatasi dalam suatu range tertentu. Sintaks untuk perintah ini adalah:

7

For := to do Begin ….{aksi}

End;

Atau For := downto do Begin ….{aksi}

End; Perbedaan antara to dan downto adalah pada kondisi nilai awal dan akhir. Pada to

nilai awal lebih kecil dari nilai akhir,

sedangkan pada downto nilai awal lebih besar dari nilai akhir. B. While…do Pada metode pengulangan ini aksi hanya akan diproses bila kondisi pengulangan terpenuhi, bentuk sintaks dari pengulangan ini Whileadalah. do Begin ….{aksi}

End;

8

Selama kondisi_pengulangan bernilai true maka aksi akan dilakukan dan baru akan berhenti setelah kondisi pengulangan bernilai false. Karena kondisi pengulangan diperiksa pada bagian awal, maka ada kemungkinan aksi tidak pernah dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true. C. Repeat…until Metode pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan kondisi pengulangan. Hanya saja alur dari pengulangan ini adalah system seakan-akan memaksa untuk melakukan pengulangan,sampai di ketahui adanya kondisi berhenti. Bentuk sintaks dari pengulangan ini adalah: Repeat ….{aksi}

Until Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi_pengulangan bernilai true, pada pengulangan Repeat, system akan memproses aksi selama kondisi_berhenti bernilai false. Dengan demikian aksi pasti akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi terus-menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah bernilai true (Astuti A. Y. & Utaminingsih , 2017).

D. Array Array (larik) merupakan tipe data terstruktur dimana datanya terdiri dari komponen-komponen yang mempunyai tipe daya yang sama. Didalam array jumlah komponen banyaknya adalah tetap. Didalam suatu larik atau

9

array setiap komponen ditunjukkan oleh suatu index yang unik. Index dari setiap komponen array menunjukkan urutan data atau identitas data yang mewakili data yang ada didalamnya. Logika sederhananya array itu bias disamakan denga dua orang dengan nama yang sama didalam sutu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain makan diberikan inisial tambahan untuk setiap nama. Didalam penulisan 9ariab pemograman setiap penggunaan array harus dideklarsikan terlebih dahulu. Pendeklarasian array diawali dengan nama 9ariable array diikuti dengan indeks array yang dituliskan didalam tanda “[]” , diikuti dengan kata cadangan of dan tipe data yang dibutuhkan. (delphi, 2006).

E. Visual Component Library (VCL)

Visual Component Library (VCL) adalah hierarki dari class (object) yang ditulis dengan Object Pascal dan tergabung dalam IDE Delphi. Dengan Component Palette dan Object Inspector komponen VCL dapat ditempatkan pada form dan memanipulasi property nya tanpa menuiskan program. Bagian visual dari VCL merupakan pembungkus Windows API. VCL membungkus control-kontrol Windows seperti button, kotak edit, tree view, list view. VCL juga memberikan class Tcanvas yang berisi fungsi grafik sehingga anda dapat dengan mudah mengecat ulang sebuah jendela (Astuti A. Y. & Utaminingsih , 2017). . Membangun aplikasi diperlukan komonen-kompnen yang ada pada Delphi. Komponen pada Delphi memiliki dua sifat, yaitu komponen visual adalah komponen visual dan novisual. Komponen visual adalah komponen

10

yang terlihat pada saat aplikasi di jalankan. Contoh dari komponen visual diantaranya adalah Label,Edit, Memo, Button, dan RadioButton. Komponen nonvisual adalah komponen yang tidak terlihat oleh user pada saat aplikasi di jalankan, tetapi komponen tersebut menghasilkan tampilan seseuai dengan fungsi komponen tersebut. Contoh dari komponen nonvisual ini diantaranya adalah MainMenu, PopUpMenu, OpenDialog, dan Timer (Pujianto, 2007). F. Data Base dalam Delphi DataBase adalah program yang disediakan oleh Borland Delphi untuk melakukan pembuatan DataBase. Dengan menggunakan program inilah nanti kita akan membuat tabel-tabel yang kita butuhkan untuk membuat DataBase. DataBase dapat dipanggil dari Menu’Tools>DataBase Desktop’yang ada di Delphi. DataBase dipakai untuk menyimpan data sehingga dapat dimanipulasi dengan mudah. Delphi mempunyai komponen-komponen yang dipakai untuk mengakses tabel dan method untuk memanipulasi record. Delphi memberikan fasilitas untuk memanipulasi database yang kompleks. Alias dipakai untuk memberi nama lojik pada sebuah direktori. Untuk membuka kotak dialog Alias Manager, dari DataBase Desktop (Start| Programs| Borland Delphi7| DataBase Desktop), atau jika sudah masuk di dalam Delphi, pilih menu Tools| DataBase Desktop. Dari database desktop pilih menu Tools| Alias Manager untuk option-option (Astuti A. Y. & Utaminingsih , 2017).

G. Data Base lanjutan DataBase dekstop merupakan sebuah sistem aplikasi database yang sudah disertakan pada saat penginstallan Delphi. Komponen database yang

11

merupakan bawaan Delphi meliputi paradox, dBase, MsSQL, Oracle, Macces, Excel dan lain-lain (delphi, 2006). Pencarian data merupakan operasi yang sangat penting dan merupakan keunggulan dari database sekarang ini. Untuk melakukan operasi seperti edit, cetak, dan lain-lain biasanya harus diawali dengan pencarian. Pada dasarnya, pencarian data ada 2 macam, yaitu a. Pencarian data tanpa index (urutan data) Pencarian ini harus dilakukan secara berurutan (sekuensial). Jenis dari pencarian ini, yaitu locate. b.Pencarian data menggunnakan index Pencarian ini dapat dilakukan dengan tidak berurutan. Macam/jenis dari pencarian ini antara lain: -Setkey -GotoNearest -FindKey -Gotokey -Editkey -FindNearest (Astuti A. Y. & Utaminingsih , 2017).

BAB III ALGORITMA PROGRAM

A. Flow Chart 1. Flowchart Utama Start

Input Id dan Password

Proses Login False

Login True Tampilan menu penjualan

Input nama dan nomer telpon pelanggan Memilih jenis obat

False Jenis obat dokter

Jenis obat umum True

Data Base

False

True

Ouput Tabel jenis obat umum Kode Nama obat Harga Jumlah

Ouput Tabel jenis obat umum Kode Nama oba Harga Jumlah

Input data Jumlah

Input data Jumlah

Total harga=Jumlah*harga jual

Ouput Harga Proses Kembalian=Bayarharga Output Total Kembalian Proses cetak

Struk Pelanggan

Menu Laporan Umum

Menu Laporan dokter

True Kembali False Clear

Close End

12

Data Base

13

2. Flowchart menu laporan umum

Tampilan Menu Umum Proses mencari

Data Base

Ouput Tampilan pencarian

Proses cetak

Struk Laporan

3. Flowchart menu laporan dokter

15

Tampilan Menu dokter Proses Mencari

Output tampilan pencarian

Proses cetak

Struk Laporan

Data Base

BAB IV PROGRAM

A. Langkah-langkah Program 1. Membuka program dan akan muncul tampilan login. 2. Memasukkan username dan password 3. Mengklik tombol login untuk masuk ke menu penjualan obat dan akan muncul tampilan penjualan obat 4. Kemudian input nama dan nomor hp pelanggan. 5. Mengklik input data untuk menyimpan data pada laporan penjualan 6. Memilih jenis obat dokter atau umum, jika memilih jenis obat dokter maka akan muncul data obat dokter dan jika memilih jenis obat umum maka akan keluar tampilan data obat umum. 7. Mencari obat yang akan dibeli. 8. Kemudian input jumlah obat yang dibeli. 9. Kemudian input nominal uang yang di bayarkan oleh konsumen. 10. Mengklik tombol cetak data untuk menampilkan bukti transaksi data. 11. Kemudian mengklik tombol close untuk menutup bukti transaksi. 12. Mengklik main menu pada pojok kanan atas untuk menampilkan pilihan menu. 13. Memilih menu laporan penjualan obat dokter untuk menampilkan panel laporan penjualan obat dokter. 14. Mengklik tombol cari untuk menampilkan tabel data transaksi. 15. Kemudian memilih tombol cetak untuk menampilan butki laporan penjualan yang ditampilkan tabel. 16. Mengklik tombol kembali untuk kembali ke tampilan awal. 17. Mengklik close untuk menutup bukti laporan penjualan. 18. Kemudian kanan pada panel penjualan untuk menampilkan pop up menu yang berisi menu kembali dan close

16

17

19. Memilih menu kembali untuk menampilkan atau kembali pada menu penjualan obat. 20. Kemudian mengulangi langkah 8 untuk memilih menu laporan penjualan umum perbedaannya terletak pada jenis obatnya. 21. Mengikuti langkah yang sama seperti langkah 10 – 14. 22. Kemudian mengklik menu pada pojok menu penjualan obat. 23. Memilih close untuk menutup aplikasi. 24. Selesai.

B. Gambar Aplikasi 1. Tampilan Program Untuk Login Tampilan atau menu login ini berfungsi untuk masuk kedalam menu penjualan obat.

Gambar 4.1 Menu login

18

2. Tampilan Program Menu penjualan obat Tampilan ini berfungsi dalam melakukan pemilihan obat, pengontrolan obatobatan yang tersedia dan pembelian obat.

Gambar 4.2 Menu Penjualan obat

3. Tampilan Program Laporan Penjualan Obat Umum Tampilan ini berfungsi dalam merekap data dan menyimpan data hasil penjualan obat dokter.

19

Gambar 4.3 Menu Penjualan Obat Umum 4. Tampilan Program Laporan Penjualan Obat Dokter Tampilan ini berfungsi dalam melakukan penyimpanan data dan merekap data hasil penjualan obat umum.

Gambar 4.4 Menu Penjualan Obat Dokter

5. Tampilan struk penjualan kepada konsumen.

20

Tampilan ini berfungsi untuk mengetahui jenis obat, jumlah obat, harga obat, dan pembayaran oleh konsumen.

Gambar 4.5 Struk penjualan.

6. Tampilan laporan penjualan umum. Tampilan ini berfungsi untuk mengetahui jumlah penjualan obat perhari.

21

Gambar 4.6 Laporan penjualan umum. 7. Tampilan laporan penjualan dokter. Tampilan ini berfungsi untuk mengetahui penjualan obat per hari yang ditunjukan kepada dokter.

22

Gambar 4.7 Tampilan laporan penjualan dokter. 8. Tabel data obat umum. Tabel ini berfungsi untuk mengetahui jenis obat umum.

23

Tabel 4.1 Data jenis obat umum. 9. Tabel data obat dokter. Tabel ini berfungsi untuk mengetahui jenis obat dokter.

Tabel 4.2 Data jenis obat dokter.

24

C. Source Code Label5: TLabel; unit Unit1;

Label6: TLabel;

interface

Timer1: TTimer;

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons; type TForm1 = class(TForm)

procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations }

Panel1: TPanel; Panel2: TPanel;

end;

Edit1: TEdit; Edit2: TEdit; Label3: TLabel;

var Form1: TForm1;

Image1: TImage; BitBtn2: TBitBtn;

implementation

Image2: TImage; Label1: TLabel; Label2: TLabel; Button1: TButton; Label4: TLabel;

uses Unit2, Unit5;

25

else

{$R *.dfm}

messagebox(0,'Anda Gagal Login','information',mb_ok+mb_icone rror); end;

procedure TForm1.Button1Click(Sender: TObject); var username:string;

procedure TForm1.Timer1Timer(Sender: TObject);

pass:string;

var

begin

ADate:TDateTime;

username:=string(Edit1.Text);

hari:array[1..7] of string;

pass:=string(edit2.text);

begin

if(username='Admin') and (pass='apotekengineering') then

hari[1]:='Minggu';

begin messagebox(0,'Anda Berhasil Login','information',mb_ok+mb_iconi nformation); form2.Edit1.Text:=form1.Edit1.Text; form5.show; form1.Hide; form5.Timer1.Enabled:=true;

end

hari[2]:='Senin'; hari[3]:='Selasa'; hari[4]:='Rabu'; hari[5]:='Kamis'; hari[6]:='Jumat'; hari[7]:='Sabtu'; ADate:=date; Label4.Caption:=timetostr(now); label5.Caption:=hari[DayofWeek(ADa te)];

26

label6.Caption:=datetostr(now);

Label1: TLabel; Label3: TLabel;

end;

Edit1: TEdit; Label5: TLabel;

end.

Edit4: TEdit; Edit5: TEdit; Label6: TLabel;

unit Unit2;

GroupBox2: TGroupBox; Label7: TLabel;

interface

Label8: TLabel; Label11: TLabel;

uses

DBEdit1: TDBEdit;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

DBEdit2: TDBEdit;

Dialogs, StdCtrls, ExtCtrls, jpeg, Mask, DBCtrls, Buttons, Menus, Grids,

GroupBox3: TGroupBox;

DBEdit5: TDBEdit;

Label14: TLabel; Image1: TImage;

DBGrids, DB, DBTables; Label15: TLabel; Image2: TImage; type MainMenu1: TMainMenu; TForm2 = class(TForm) Menu1: TMenuItem; Panel1: TPanel; GroupBox1: TGroupBox;

LaporanPenjualanObatDokter1: TMenuItem;

27

LaporanPenjualanObatUmum1: TMenuItem; Kembali1: TMenuItem; Close1: TMenuItem; DBGrid1: TDBGrid; BitBtn1: TBitBtn; DBNavigator1: TDBNavigator; Image3: TImage; Label16: TLabel; DBGrid2: TDBGrid; DataSource1: TDataSource; Table1: TTable; ListBox1: TListBox; ListBox2: TListBox; GroupBox4: TGroupBox; Label17: TLabel; Label18: TLabel; Label21: TLabel; Image4: TImage; Label25: TLabel; DBEdit4: TDBEdit; DBEdit8: TDBEdit; DBEdit10: TDBEdit;

Label4: TLabel; Timer1: TTimer; Label9: TLabel; Edit3: TEdit; Label10: TLabel; Label12: TLabel; Label13: TLabel; Label19: TLabel; Edit6: TEdit; Label20: TLabel; Edit7: TEdit; Label22: TLabel; DataSource2: TDataSource; Table2: TTable; Label23: TLabel; Edit8: TEdit; Label2: TLabel; Edit2: TEdit; Button1: TButton; PopupMenu1: TPopupMenu; Refesh1: TMenuItem; Timer2: TTimer; RadioButton1: TRadioButton;

28

RadioButton2: TRadioButton; BitBtn2: TBitBtn; procedure LaporanPenjualanObatDokter1Click(S ender: TObject); procedure LaporanPenjualanObatUmum1Click(S ender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure Timer1Timer(Sender: TObject); procedure Label19Click(Sender: TObject); procedure Label10Click(Sender: TObject); procedure Image3Click(Sender: TObject);

procedure DBGrid2CellClick(Column: TColumn); procedure BitBtn2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Kembali1Click(Sender: TObject); procedure Close1Click(Sender: TObject); procedure Refesh1Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

procedure Image4Click(Sender: TObject); var Form2: TForm2;

29

implementation

procedure TForm2.CheckBox1Click(Sender: TObject); begin

uses Unit4, Unit3, Unit6, Unit1;

groupbox2.Show; dbgrid1.Show;

{$R *.dfm}

groupbox4.hide; dbgrid2.Hide;

procedure TForm2.LaporanPenjualanObatDokter 1Click(Sender: TObject);

end;

begin Form4.show;

procedure TForm2.CheckBox2Click(Sender: TObject);

Form2.Hide;

begin

end;

dbgrid2.Show; groupbox4.Show;

procedure TForm2.LaporanPenjualanObatUmum 1Click(Sender: TObject);

groupbox2.hide;

begin

end;

dbgrid1.hide;

Form3.show; Form2.Hide;

procedure TForm2.BitBtn1Click(Sender: TObject);

end;

var a:string;

30

begin

add('

');

a:=listbox1.Items.Text;

add('

');

form6.Show;

add('======================== =========================== ==========' );

with form6.memo1.lines do begin add('--------------------------ENGINEERING PHARMACY-----------------------'); add(' STRUK PEMBELIAN OBAT APOTEK ENGINEERING ');

:

add('....................................................... ................ '); add(' '+edit6.text);

BAYAR

:

add(' KEMBALIAN '+label20.Caption);

add(' ');

add(' ');

add(' ');

add(' ');

add('Tanggal :'+label4.Caption);

add(' ');

add('Transaksi :EP'+edit2.Text );

add(' Terima kasih atas kunjungan anda ');

add('Kasir :'+Edit1.Text);

add(' Semoga anda puas dengan pelayanan kami ');

add('Pelanggan :'+edit4.Text); add('======================== =========================== ==========' );

add(' .......................................................... '); add(' raja*

add(a); add('

add(' Total '+label14.Caption);

');

*Pembeli adalah ') ;

:

31

end; end; procedure TForm2.DBGrid1CellClick(Column: TColumn);

procedure TForm2.Timer1Timer(Sender: TObject); begin

var

label4.Caption:=datetostr(now);

a,b:string;

end;

i:integer; total:real; begin

procedure TForm2.Label19Click(Sender: TObject);

total:=0;

var

a:=dbedit2.Text;

a,b,c:currency;

b:=dbedit5.Text;

begin

listbox1.Items.Append(a+' '+b);

:

listbox2.Items.Append(b); for i:=0 to listbox2.Items.Count-1 do begin total:=total+strtofloat(listbox2.Items[i] ); end; label14.Caption:=floattostr(total);

a:=strtocurr(edit6.Text); b:=strtocurr(Label14.Caption); c:=a-b; Label20.Caption:=currtostr(c); end;

procedure TForm2.Label10Click(Sender: TObject); var

end;

a,b,c:currency;

32

begin

begin

a:=strtocurr(edit3.Text);

if (not table2.locate('Nama Obat',edit8.Text,[])) then

b:=strtocurr(Label14.Caption); c:=a-b; Label12.Caption:=currtostr(c); end;

begin Application.MessageBox('Obat Tidak Tersedia','informasi',MB_OK or MB_ICONINFORMATION); edit8.Text:='';

procedure TForm2.Image3Click(Sender: TObject); begin if (not table1.locate('Nama Obat',edit7.Text,[])) then begin Application.MessageBox('Obat Tidak Tersedia','informasi',MB_OK or MB_ICONINFORMATION);

end else edit8.Text; end;

procedure TForm2.DBGrid2CellClick(Column: TColumn); var

edit7.Text:='';

a,b:string;

end

i:integer;

else

total:real;

edit7.Text;

begin

end;

total:=0; a:=dbedit8.Text;

procedure TForm2.Image4Click(Sender: TObject);

b:=dbedit10.Text;

33

listbox1.Items.Append(a+' '+b);

:

listbox2.Items.Append(b); for i:=0 to listbox2.Items.Count-1 do begin total:=total+strtofloat(listbox2.Items[i] ); end; label14.Caption:=floattostr(total);

end;

procedure TForm2.BitBtn2Click(Sender: TObject); var a:string; begin a:=listbox1.Items.Text; form6.Show; with form6.memo1.lines do begin add('--------------------------ENGINEERING PHARMACY-----------------------');

add(' STRUK PEMBELIAN OBAT APOTEK ENGINEERING '); add(' '); add(' '); add('Tanggal :'+label4.Caption); add('Transaksi :EP'+edit2.Text ); add('Kasir :'+Edit1.Text); add('Pelanggan :'+edit4.Text); add('======================== =========================== ==========' ); add(a); add('

');

add('

');

add('

');

add('======================== =========================== ==========' ); add(' Total '+label14.Caption);

:

34

add('....................................................... ................ '); add(' '+edit3.text);

BAYAR

:

add(' KEMBALIAN '+label12.Caption); add(' ');

edit2.Text:='EP';

end; : procedure TForm2.Kembali1Click(Sender: TObject);

add(' ');

begin

add(' ');

form2.Hide

form1.show;

end; add(' Terima kasih atas kunjungan anda '); add(' Semoga anda puas dengan pelayanan kami ');

procedure TForm2.Close1Click(Sender: TObject);

add(' .......................................................... ');

begin

add(' raja*

end;

*Pembeli adalah ') ;

form2.Close;

end; end;

procedure TForm2.Button1Click(Sender: TObject); begin

procedure TForm2.Refesh1Click(Sender: TObject); begin Listbox1.Clear; Edit4.text:='';

35

Edit5.text:='';

bitbtn2.Visible:=true;

Edit3.text:='';

bitbtn1.Visible:=false;

Label12.caption:='';

end;

Label14.caption:=''; Edit6.text:=''; Label20.caption:='';

procedure TForm2.RadioButton2Click(Sender: TObject);

end;

begin groupbox2.Show;

procedure TForm2.Timer2Timer(Sender: TObject);

dbgrid1.Show;

begin

dbgrid2.Hide;

edit2.Text:=timetostr(now);

listbox1.Visible:=true;

end;

bitbtn1.Visible:=true;

groupbox4.hide;

bitbtn2.Visible:=false; procedure TForm2.RadioButton1Click(Sender: TObject);

end;

begin

end.

dbgrid2.Show; groupbox4.Show;

end;

groupbox2.hide; dbgrid1.hide; listbox1.Visible:=true;

end.

36

unit Unit3;

Panel3: TPanel; Memo1: TMemo;

interface

Panel5: TPanel; Label6: TLabel;

uses

Panel4: TPanel;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Panel6: TPanel;

Dialogs, StdCtrls, ExtCtrls, Buttons, Menus, Grids, DBGrids, jpeg, DB,

ListBox1: TListBox;

DBTables;

Label7: TLabel;

procedure Kembali1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject);

type TForm3 = class(TForm) PopupMenu1: TPopupMenu; Kembali1: TMenuItem; Close1: TMenuItem; Image1: TImage; Panel1: TPanel;

procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

Label1: TLabel; Label2: TLabel; GroupBox1: TGroupBox;

var Form3: TForm3;

Button1: TButton; BitBtn1: TBitBtn;

implementation

37

uses Unit2, Unit7, Unit6;

add('--------------------------ENGINEERING PHARMACY-----------------------');

{$R *.dfm}

add(' ');

procedure TForm3.Kembali1Click(Sender: TObject);

add(' LAPORAN PENJUALAN OBAT '); add(' ');

begin form3.Hide; form2.show; end;

procedure TForm3.BitBtn1Click(Sender: TObject); var a:string; begin

add(' '); add('No Faktur :'+form2.edit2.Text +form2.label4.Caption); add('Kasir :'+form2.Edit1.Text); add('Pelanggan :'+form2.Edit4.Text); add('No HP :'+form2.Edit5.Text); add('Tanggal :'+form2.label4.Caption);

a:=listbox1.Items.Text; add(' '+form2.Label4.Caption); form7.Show; add( 'Nama Obat & Harga'); with form7.memo1.lines do add(a); begin add(' TOTAL TENSAKSI: '+form2.Label14.Caption);

38

add(' BAYAR : '+form2.Edit3.Text);

add(' ') ;

add(' KEMBALIAN : '+form2.label12.Caption);

end;

add('....................................................... ................ '); add(' ');

end;

procedure TForm3.Button1Click(Sender: TObject);

add(' ');

var

add(' ');

begin

a:string;

a:=listbox1.Items.Text; add(' ');

with memo1.lines do begin

add(' Yogyakarta,2018 '); add(' jawab '); add(' '); add(' '); add(' '); add(' ');

add('Tanggal :'+form2.Label4.Caption); Penanggung

Apoteker

add('No Faktur :'+form2.edit2.Text +form2.label4.Caption); add('Nama Kasir :'+Form2.Edit1.Text); add('Nama Pelanggan :'+form2.edit4.Text); add('Bayar :'+form2.edit6.text); add('Kembalian :'+form2.label20.Caption);

39

form3.ListBox1.Items.Text:=form2.Li stBox1.Items.Text; end; end; end.

Kembali1: TMenuItem; Close1: TMenuItem; Panel2: TPanel; Panel4: TPanel; Label4: TLabel; Image1: TImage;

unit Unit4;

Timer1: TTimer; Memo1: TMemo;

interface

GroupBox1: TGroupBox; Button1: TButton;

uses

Panel3: TPanel;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Panel5: TPanel;

Dialogs, Buttons, StdCtrls, ExtCtrls, Menus, Grids, DBGrids, jpeg;

ListBox1: TListBox;

Label3: TLabel;

procedure Kembali1Click(Sender: TObject); type TForm4 = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; BitBtn1: TBitBtn; PopupMenu1: TPopupMenu;

procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations }

40

end;

begin a:=listbox1.Items.Text;

var Form4: TForm4;

form8.Show; with form8.memo1.lines do begin

implementation

add('--------------------------ENGINEERING PHARMACY-----------------------');

uses Unit2, Unit8, Unit7;

add(' ');

{$R *.dfm}

add(' LAPORAN PENJUALAN OBAT ');

procedure TForm4.Kembali1Click(Sender: TObject);

add(' ');

begin form4.Hide; form2.show; end;

procedure TForm4.BitBtn1Click(Sender: TObject); var a:string;

add(' '); add('No Faktur :'+form2.edit2.Text +form2.label4.Caption); add('Kasir :'+form2.Edit1.Text); add('Pelanggan :'+form2.Edit4.Text); add('No HP :'+form2.Edit5.Text); add('Tanggal :'+form2.label4.Caption);

41

add(' '+form2.Label4.Caption); add( 'Nama Obat & Harga');

add(' ');

add(a);

add(' ');

add(' TOTAL TENSAKSI: '+form2.Label14.Caption);

add(' ');

add(' BAYAR : '+form2.Edit3.Text); add(' KEMBALIAN : '+form2.label12.Caption);

add(' ') ;

Apoteker

end; end;

add('....................................................... ................ '); add(' ');

procedure TForm4.Button1Click(Sender: TObject);

add(' ');

var

add(' ');

a:string;

add(' ');

a:=listbox1.Items.Text;

begin

with memo1.lines do add(' Yogyakarta,2018 '); add(' jawab '); add(' ');

begin

Penanggung

add('Tanggal :'+form2.Label4.Caption); add('No Faktur :'+form2.edit2.Text +form2.label4.Caption);

42

add('Nama Kasir :'+Form2.Edit1.Text); add('Nama Pelanggan :'+form2.edit4.Text);

type TForm5 = class(TForm)

add('Bayar :'+form2.edit6.text);

ProgressBar1: TProgressBar;

add('Kembalian :'+form2.label20.Caption);

Timer1: TTimer;

Label1: TLabel;

Label2: TLabel; form4.ListBox1.Items.Text:=form2.Li stBox1.Items.Text;

Label3: TLabel;

end;

Label4: TLabel;

end;

XPManifest1: TXPManifest; procedure Timer1Timer(Sender: TObject); private

end. { Private declarations } public unit Unit5; { Public declarations } end; interface var uses Form5: TForm5; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, XPMan;

implementation

43

uses Unit2;

{$R *.dfm}

begin progressbar1.position:= progressbar1.position+10; end;

procedure TForm5.Timer1Timer(Sender: TObject);

end; end; end.

begin label1.Font.Color:=trunc(clblue*rando m);

unit Unit6;

label2.Font.Color:=trunc(clred*rando m);

interface

label3.Font.Color:=trunc(clgreen*rand om); uses label4.font.Color:=trunc(clwhite*rand om); begin if progressbar1.position=100

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;

then begin form2.show;

type TForm6 = class(TForm)

form5.Hide;

Panel1: TPanel;

timer1.Enabled:=false;

Memo1: TMemo;

end

BitBtn1: TBitBtn;

else

Button1: TButton;

44

procedure Button1Click(Sender: TObject);

end.

private { Private declarations } public

unit Unit7;

{ Public declarations } end;

var Form6: TForm6;

implementation

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;

uses Unit2; type {$R *.dfm}

TForm7 = class(TForm) Panel1: TPanel;

procedure TForm6.Button1Click(Sender: TObject); begin form6.Hide; form2.show; end;

Memo1: TMemo; Button1: TButton; BitBtn1: TBitBtn; procedure Button1Click(Sender: TObject); procedure Memo1Change(Sender: TObject);

45

private { Private declarations } public

procedure TForm7.Memo1Change(Sender: TObject); begin

{ Public declarations } end;

var

end;

end.

Form7: TForm7; unit Unit8; implementation interface uses Unit3; uses {$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject); begin form7.Hide;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;

type TForm8 = class(TForm)

form3.show;

Panel1: TPanel;

end;

Memo1: TMemo; BitBtn1: TBitBtn;

46

Button1: TButton; procedure Button1Click(Sender: TObject); private

uses Unit4;

{$R *.dfm}

{ Private declarations } public { Public declarations } end;

procedure TForm8.Button1Click(Sender: TObject); begin

var Form8: TForm8;

form8.Hide; form4.show; end;

implementation end.

BAB V PENUTUP A. Kesimpulan 1. Aplikasi yang telah terkomputerisasi dengan program komputer sangat membantu dalam menyelesaikan suatu masalah. Dalam hal ini pengolahan transaksi penjualan obat, sehingga konsumen tidak dikecewakan oleh apotik karena lamanya dalam pemrosesan dan pengolahan data tidak terjamin kebenaran dan ketepatannya. Dengan aplikasi Engineering Pharmacy dapat mempercepat proses pembuatan laporan penjualan obat dalam setiap hari. 2. Aplikasi ini akan dapat membantu untuk memperbaiki kesalahan pada penulisan data. Aplikasi Penjualan Obat ini juga diharapkan akan dapat membantu asisten apoteker dalam proses pencarian data.

B. Saran 1. Sebaiknya diadakan suatu pelatihan terhadap para operator yang akan dapat menjalankan aplikasi ini sehingga tidak menghambat rangkaian kerja yang akan dilakukan dan untuk menjamin kebenarannya, ketepatan, dan kecepatan proses data. 2. Agar program aplikasi ini selalu berjalan dengan perkembangan data dan teknologi sebaiknya selalu mengadakan pembaharuan secara berkala terhadap program aplikasi yang ada atau melengkapi kelemahan- kelemahan program ini.

47

DAFTAR PUSTAKA Andoyo, A. (2003). Belajar Sendiri Mengolah Database dengan Borland Delphi. Jakarta: Elex Media Komputindo. Astuti, A. Y., & U. L. (2017). Petunjuk Praktikum Pemrograman Komputer. Yogyakarta: Laboratorium Teknik Industri Universitas Ahmad Dahlan. Delphi, T. p. (2006). Modul Praktek Laboratorium Komputer Borland Delphi. Jakarta: Bina Sarana Informatika. Mangkulo, H. A. (2005). Membuat Aplikasi Database dengan Delphi. Jakarta: Elex Media Komputindo. Pujianto. (2007). 50 Trik Pemrograman Delphi. Jakarta: Elex Media Komputindo.

48

49

LAMPIRAN

Related Documents

Revisi Bkd.docx
May 2020 23
Revisi Kb.docx
October 2019 39
Revisi 1rtff
May 2020 23
Revisi Jiwa.docx
December 2019 40
Proposal Revisi
August 2019 50

More Documents from "Sovia Muspah"

Revisi Tb.docx
May 2020 10
Spt 2018.docx
May 2020 11
Doc1.docx
May 2020 13