Bab 3 Metode Penelitian Dalam merancang dan mengimplementasikan sistem informasi persediaan pada Apotek Budi Asih Banjarmasin ini digunakan metode prototype. Metode prototype merupakan salah satu teknik yang memungkinkan pengguna sistem untuk ikut serta dalam menentukan kebutuhan dan pembentukan sistem serta seperti apa pengerjaan sistem untuk memenuhi kebutuhannya tersebut. Prototype digunakan untuk mengembangkan kebutuhan pengguna yang sulit didefinisikan dalam memperlancar proses System Development Life Cycle (SDLC). 3.1 Tahapan Penelitian Tahapan penelitian ini menunjukan tahapan-tahapan dalam pemodelan analisis dan desain sistem informasi persediaan pada Apotek Budi Asih Banjarmasin. Setiap tahapan yang terjadi, terdiri dari tujuan yang ingin dicapai dalam tahapan tersebut, metode/alat/bahan yang digunakan untuk mencapai tujuan tahap itu sendiri, serta output seperti apa yang akan dihasilkan oleh tahapan tersebut. Tahap-tahap yang ada pada Tahapan Penelitian ini dapat dilihat pada gambar 3.1. 21 22 Gambar 3.1 Tahapan Penelitian 23 Pada tahap pertama, penulis melakukan wawancara dan observasi yang bertujuan untuk mengetahui sejauh mana kebutuhan user, dan dari tahapan ini, output yang dihasilkan adalah kebutuhan user berhasil teridentifikasi. Selanjutnya dari kebutuhan yang telah teridentifikasi, penulis memasuki tahap kedua yang merupakan perancangan perangkat lunak sesuai dengan kebutuhan user dengan mengunakan tool Rational Rose untuk membuat unified modelling language (UML) dan tool Paint untuk merancang user interface (UI), dan pada tahapan ini output yang dihasilkan berupa diagramdiagram UML, yaitu use case diagram, activity diagram, sequence diagram, class diagram dan deployment diagram. Selanjutnya setelah desain perangkat lunak, penulis memasuki tahap ketiga, yaitu tahapan yang bertujuan untuk mengimplementasikan desain yang telah dibuat ke dalam sebuah aplikasi sistem informasi persediaan berbasis desktop, dengan mengunakan tool Visual Basic 2008 untuk membuat aplikasi, tool SQL Server 2008 sebagai database dan tool Crystal Reports 2008 untuk membuat laporan, output yang dihasilkan dari tahapan ini adalah aplikasi sistem informasi persediaan pada Apotek . 3.2 Metode Prototyping Prototyping adalah proses yang digunakan untuk membantu pengembangan perangkat lunak dalam membentuk model dari perangkat lunak yang harus dibuat. Model tersebut dapat berupa tiga bentuk: 1. Bentuk prototype di kertas/model berbasis komputer yang menggambarkan interaksi manusia yang mungkin terjadi. 24 2. Working prototype, yang mengimplementasikan sebagian dari fungsi yang ditawarkan perangkat lunak. 3. Program jadi yang melakukan sebagian atau seluruh fungsi yang akan dilakukan, tapi masih ada fitur yang harus dikembangkan. Secara umun tahapan kejadian dari metode ini dapat dilihat pada Gambar 3.2. Gambar 3.2 Metode Prototype (Sommerville, 2004) Seperti metode pada umumnya, prototyping dimulai dari pengumpulan kebutuhan. Dengan perencanaan yang tepat akan dibentuk sebuah konstruksi dari prototipenya. Prototype ini dievaluasi oleh pelanggan dan digunakan untuk mengelaola kembali kebutuhan dari perangkat lunak yang dikembangkan. Suatu proses interaksi terjadi, setelah prototype disesuaikan dengan kebutuhan pelanggan, sementara pihak pengembang makin mengerti keinginan user. Setiap metode yang digunakan dalam pembangunan suatu sistem, pasti memiliki kelebihan dan kekurangannya tersendiri, dan untuk metode prototype ini kelebihan dan kekurangannya adalah sebagai berikut: 25 Kelebihan Metode Prototype 1. Menghasilkan syarat yang lebih baik dari produksi yang dihasilkan oleh metode ’spesifikasi tulisan’. 2. User dapat mempertimbangkan sedikit perubahan selama masih dalam bentuk prototype. 3. Metode ini cukup efektif sebagai paradigma dalam rekayasa perangkat lunak. Kuncinya adalah mendapatkan kebutuhan dan aturan yang jelas yang disetujui pelanggan dan pembuat perangkat lunak. Walaupun pada umumnya prototype akan dihilangkan dan dibuat perangkat yang sebenarnya. 4. User merasa puas. Pertama, user dapat mengenal melalui working version. Dengan melakukan prototype (dengan analisis yang sudah ada), user belajar mengenai komputer dan aplikasi yang akan dibuat untuknya. Kedua, user terlibat langsung dari awal dan memotivasi semangat untuk mendukung analisis selama proyek berlangsung. Kekurangan Metode Prototype 1. Pelanggan yang melihat working version dari model yang diminta/diperlihatkan tidak menyadari bahwa mungkin saja bentuk prototype dibuat secara tergesa-gesa dan perancangan tidak tersusun dengan baik. 2. Pengembang terkadang membuat implementasi secara sembarangan, karena ingin working version selesai dengan cepat (Nur, 2010). 26 3.3 Analisa Kebutuhan Tahap ini adalah tahap pertama dalam merancang sistem informasi persediaan pada Apotek Budi Asih Banjarmasin. Tahap ini terdiri dari terdiri dari pengumpulan data dan mengidentifikasi kebutuhan pengguna. 3.3.1 Jenis Data dan Penelitian Hasil dari tahap persiapan yang sebelumnya dilakukan, berlanjut dalam tahap pengumpulan data dan kebutuhan pengguna. Waktu dan tempat penelitian, instrument penelitian serta konsep pada judul yang diangkat dalam penulisan akan menjadi masukan pada tahap kedua ini. Jenis Penelitian yang akan dilakukan adalah studi kasus, yang artinya melakukan penelitian secara langsung pada objek penelitian dengan cara mengumpulkan data, mengolah dan menganalisis data, serta menyimpulkannya sehingga kesimpulan diperoleh berdasarkan objek yang diteliti. Dan kesimpulan adalah berupa perancangan dan implementasi program. Data yang digunakan dalam penelitian ini adalah sebagai berikut: • Data Primer Data primer adalah data yang diperoleh langsung dari objeknya. Data ini biasanya belum diolah. Dalam penelitian ini, data primer yang digunakan adalah hasil wawancara. Contoh proses bisnis yang terjadi. • Data Sekunder Data sekunder adalah data yang diperoleh dalam bentuk sudah jadi dan hasil olahan pihak lain. Data sekunder yang digunakan 27 dalam penelitian ini adalah teori-teori penunjang yang didapatkan dari buku maupun internet. 3.3.2 Proses Pengumpulan Data Proses untuk melengkapi bahan-bahan penelitian dilakukan pengumpulan data sebagai bahan penelitian. Teknik yang digunakan oleh penulis dalam pengumpulan data adalah: 1. Observasi Observasi langsung, yaitu pengumpulan data yang dilakukan dengan mengamati secara langsung mengenai proses pembelian barang, penjualan barang dan manajemen persediaan barang di Apotek Budi Asih Banjarmasin. 2. Wawancara Wawancara, yaitu teknik pengumpulan data yang dilakukan dengan cara tanya jawab langsung dengan pegawai yang terkait di dalamnya. Wawancara dilakukan oleh Ibu Sandriani selaku apoteker pengelola Apotek Budi Asih Banjarmasin. Wawancara yang dilakukan mengenai manajemen persediaan yang terjadi pada Apotek Budi Asih Banjarmasin bertujuan untuk menentukan kebutuhan yang harus dipenuhi untuk merancang aplikasi yang akan dibangun. 3. Studi Literatur Studi literatur, adalah ppencarian data dan informasi pada bukubuku/kepustakaan sebagai bahan referensi yang berhubungan dengan materi penelitian, seperti definisi persediaan oleh Rudianto (2009), definisi manajemen persediaan oleh Magge & 28 Boddman (1982) dan klasifikasi persedian berdasarkan aliran arus barang oleh Warman (2004). 3.3.3 System Requirements Specification Tahap ini adalah penentu dari spesifikasi yang dibutuhkan dari sistem yang akan dirancang. Kebutuhan spesifikasi sistem yang dibagi menjadi: 1. Kebutuan Input. Kebutuhan input data yang ada pada aplikasi adalah: - Data barang : yaitu data-data barang yang ada di apotek. - Data pembelian : yaitu data-data barang yang dibeli oleh apotek. - Data penjualan : yaitu data-data barang yang sudah terjual. 2. Kebutuhan Proses. Kebutuhan proses sistem pada saat aplikasi berjalan adalah: - Penentuan klasifikasi persediaan berdasarkan aliran arus barang : yaitu proses pengolahan data pembelian dan data penjulan dalam suatu periode, dari data tersebut sistem dapat melakukan penghitungan sesuai dengan rumus penentuan klasifikasi persediaan dalam coding aplikasi. - Pesan pengingat kadaluarsa : yaitu proses sistem dimana ketika suatu barang kadalurasanya telah kurang dari tiga bulan maka aplikasi menampilkan pesan yang mengingatkan bahwa barang ready to expired. 3. Kebutuhan Output. Kebutuhan output sistem pada saat aplikasi berjalan adalah: - Laporan persediaan : yaitu data persediaan barang di gudang. 29 - Laporan kadaluarsa : yaitu data dari hasil pembelian barang tersebut dapat menghasilkan sebuah data kadaluarsa suatu barang. - Laporan klasifikasi barang : yaitu data dari hasil pembelian dan penjualan barang tersebut dapat menghasilkan sebuah data barang yang telah diproses sesuai dengan coding apilkasi klasifikasi barang menurut aliran arus barangnya. - Laporan pembelian : yaitu data laporan dari hasil pembelian barang. - Laporan penjualan : data laporan dari hasil penjualan barang. 4. Kebutuhan Hak Akses Pengguna. Kebutuhan hak akses pengguna adalah sebagai berikut: - Apoteker Pengelola Apoteka adalah pengguna yang juga berperan sebagai admin dapat melakukan manajemen data apotek dan mempunyai kebutuhan sebagai berikut: Melakukan login sebagai admin, manajemen data apotek, mengatur hak akses user, melihat data klasifikasi persediaan, melihat harga pokok penjualan (HPP) suatu barang, memvalidasi surat pesanan pembelian dan menginputkan harga jual suatu barang. - Petugas Gudang adalah pengguna yang berperan manajemen proses barang masuk dan keluar dan mempunyai kebutuhan sebagai berikut: Melakukan login sebagai petugas gudang, manajemen data barang, melihat data persediaan barang, melihat data kadalursa barang, membuat surat izin permintaan (SIP) atau proses mendata barang yang harus dilakukan pemesanan dan membuat laporan penerimaan barang (LPB) jika ada barang yang masuk ke gudang. 30 - Petugas Pembelian adalah pengguna yang berperan melakukan pemesanan atau pembelian barang dan mempunyai kebutuhan sebagai berikut: Melakukan login sebagai petugas pembelian, manajemen data supplier, membuat surat pesanan pembelian (SPP) dan membayar pembelian barang. - Petugas Penjualan adalah pengguna yang berperan melakukan penjualan barang dan mempunyai kebutuhan sebagai berikut: Melakukan login sebagai petugas penjualan, manajemen data customer dan melakukan proses penjualan barang. 3.4 Perancangan Sistem Perancangan sistem tahapan kedua dari perancangan sistem informasi persediaan. Tahap ini dibagi kedalam tiga tahap, yaitu perancangan alur sistem, perancangan database, dan perancangan interface. 31 3.4.1 Flowchart Pesan Pengingat Kadaluarsa Suatu Barang Mulai Input Data Pembelian Ambil Data Jumlah Barang dan Expired Date Berdasarkan Nomor LPB Jumlah Barang dan Expired Date Sesuai Nomor LPB Penentuan Jumlah Barang Terjual Berdasarkan Nomor LPB Jumlah Barang Terjual Sesuai Nomor LPB Penentuan Sisa Persediaan Berdasarkan Nomor LPB Ya Sisa Persediaan = 0 Tidak Cek Expired Date Expired Date ≤ 3 Bulan Ya Ready to Expired Tidak Save Selesai Gambar 3.3 Flowchart Pesan Pengingat Kadaluarsa 3.4.2 Flowchart Penentuan Klasifikasi Persediaan Suatu Barang 32 Gambar 3.4 Flowchart Penentuan Klasifikasi Persediaan 33 3.4.3 Perancangan Alur Sistem Pada tahap ini, Unified Modelling Language (UML) yang digunakan untuk membuat pemodelan software dari aplikasi berbasis desktop yang akan dibangun, diantaranya: 1. Use Case Diagram Use case diagram ini menggambarkan interaksi antara aktor dengan semua proses atau sistem yang dibangun secara keseluruhan. Untuk use case diagram aplikasi persediaan ini lebih jelasnya dapat dilihat pada gambar 3.5. Gambar 3.5 Use Case Diagram Aplikasi Gambar 3.5 menggambarkan diagram use case untuk sistem informasi persediaan di mana terdapat empat pengguna. Pengguna pertama seorang apoteker pengelola apotek yang memiliki hak akses dalam pengelolaan data apotek, maintenance data, validasi surat 34 pesanan barang, hitung HPP dan input harga jual barang. Pengguna kedua yaitu bagian gudang memiliki hak akses untuk pengelolaan data barang, data satuan, membuat defecta dan membuat laporan penerimaan barang. Pengguna ketiga yaitu bagian pembelian memiliki hak akses untuk pengelolaan data supplier, membuat surat pesanan barang dan melakukan pembayaran pembelian barang sedangkan pengguna keempat untuk bagian penjualan memiliki hak akses dalam pengelolaan data customer dan pengelolaan transaksi penjualan. 2. Activity Diagram Activity diagram berfungsi untuk menggambarkan proses- proses yang terjadi dari aktivitas dimulai sampai aktivitas berakhir. Dengan kata lain activity diagram merepresentasikan bisnis dan juga workflow operasional dari sistem. Activity diagram dari use case pengelolaan data apotek dapat dilihat pada gambar 3.6. 35 Gambar 3.6 Activity Diagram Pengelolaan Data Apotek Dimulai dari apoteker pengelola apotek yang juga berperan sebagai admin masuk ke dalam sistem, dimana apoteker pengelola apotek harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama 36 aplikasi. Kemudian apoteker pengelola apotek memilih menu master, dengan begitu secara otomatis sistem akan menampilkan beberapa sub menu diantaranya data pegawai, data user, data barang, data supplier, dan data customer. Dari sub menu yang tersedia apoteker pengelola apotek kemudian memilih salah satu sub menu, misalkan apoteker pengelola apotek memilih sub menu data barang, maka sistem akan menampilkan menu set data (insert, edit, delete) barang. Apoteker pengelola apotek dapat memilih salah satu dari menu tersebut dan otomatis sistem akan mengupdate data barang yang tersimpan di database. Activity diagram dari use case membuat defekta dapat dilihat pada gambar 3.7. Gambar 3.7 Activity Diagram Membuat Defekta 37 Dimulai dari petugas gudang masuk ke dalam sistem, dimana petugas gudang harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. Selanjutnya petugas gudang memilih menu defekta, maka sistem akan otomatis menampilkan form defekta. Di dalam form tersebut terdapat menu set data (insert, edit, delete) dimana petugas gudang dapat membuat, mengedit, dan menghapus defekta dan secara otomatis sistem akan mengupdate data yang tersimpan di database. Defekta ini dibuat berdasarkan barang yang telah masuk stok minimal dan datanya akan disimpan kemudian dilihat oleh petugas pembelian sebagai acuan pembuatan surat pesanan. Gambar 3.8 merupakan gambar activity diagram dari use case mengolah surat pesanan yang dilakukan oleh petugas pembelian. Dimulai dari petugas pembelian melakukan login untuk dapat masuk ke dalam aplikasi, dimana petugas pembelian harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. 38 Gambar 3.8 Activity Diagram Membuat Surat Pesanan Selanjutnya petugas pembelian memilih menu surat pesanan, maka sistem akan otomatis menampilkan form surat pesanan. Di dalam form tersebut terdapat menu set data (insert, edit, delete) dimana petugas pembelian dapat membuat, mengedit, dan menghapus surat pesanan dan secara otomatis sistem akan mengupdate data yang tersimpan di database. Surat pesanan ini dibuat berdasarkan defekta yang telah dibuat oleh petugas gudang, datanya akan disimpan berdasarkan waktu yang telah ditentukan dan selanjutnya akan divalidasi oleh apoteker pengelola apotek. Setelah divalidasi maka bagian pembelian sudah dapat melakukan pemesanan barang kepada supplier. Activity diagram dari use case validasi surat pesanan dapat dilihat pada gambar 3.9. 39 Gambar 3.9 Activity Diagram Validasi Surat Pesanan Dimulai dari apoteker pengelola apotek masuk ke dalam sistem, dimana apoteker pengelola apotek harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. Kemudian apoteker pengelola apotek memilih menu validasi surat pesanan, maka sistem akan otomatis menampilkan form validasi surat pesanan. Di dalam form ini apoteker pengelola apotek dapat memilih surat pesanan yang akan divalidasi. Setelah memilih surat 40 pesanan, apoteker pengelola apotek mengisi keterangan validasi dan melakukan validasi dengan menekan button validasi dan otomatis sistem akan mengupdate surat permintaan pembelian yang tersimpan di database. Kemudian data surat pesanan yang telah divalidasi akan dikirim kepada petugas pembelian dan akan dicetak sebagai tanda bahwa petugas pembelian sudah dapat melakukan pemesanan barang. Activity diagram dari use case laporan penenrimaan barang dapat dilihat pada gambar 3.10. Gambar 3.10 Activity Diagram Penerimaan Barang Dimulai dari petugas gudang masuk ke dalam sistem, dimana petugas gudang harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan 41 password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. Kemudian petugas gudang memilih menu laporan peneriman barang, maka sistem akan otomatis menampilkan form laporan penerimaan barang. Di dalam form tersebut terdapat menu set data (insert, edit, delete) dimana bagian gudang dapat menginputkan, mengedit, dan menghapus data barang yang masuk ke gudang dan secara otomatis sistem akan mengupdate data yang tersimpan di database. Activity diagram dari use case input harga jual barang dapat dilihat pada gambar 3.11. Dimulai dari apoteker pengelola apotek yang juga berperan sebagai admin masuk ke dalam sistem, dimana apoteker pengelola apotek harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. 42 Gambar 3.11 Activity Diagram Input Harga Jual Barang Kemudian apoteker pengelola apotek memilih menu master barang, maka sistem akan otomatis menampilkan form master barang. Apotek pengelola apotek dapat memilih barang yang akan divalidasi harga jualnya. Setelah memilih barang yang akan divalidasi, apotek pengelola apotek dapat melakukan validasi harga jual dengan cara menginputkan harga jual barang. dan secara otomatis sistem akan mengupdate data yang tersimpan di database. Activity diagram dari use case pengelolaan transaksi penjualan dapat dilihat pada gambar 3.12. 43 Gambar 3.12 Activity Diagram Transaksi Penjualan Dimulai dari petugas penjualan masuk ke dalam sistem, dimana petugas penjualan harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. Kemudian bagian penjualan memilih menu penjualan barang, maka sistem akan otomatis menampilkan form transaksi penjualan barang. Di dalam form tersebut terdapat menu set data (insert, edit, delete) dimana bagian penjualan dapat membuat, mengedit, dan menghapus transaksi 44 penjualan dan secara otomatis sistem akan menyimpan data ke database. Gambar 3.13 Activity Diagram Melihat Laporan Kadaluarsa Dimulai dari petugas gudang masuk ke dalam sistem, dimana petugas gudang harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. Kemudian petugas gudang memilih menu laporan kadalurasa, maka sistem akan otomatis menampilkan form laporan kadalurasa. Di dalam form tersebut petugas gudang dapat melihat status kadaluarsa barang apakah masih aman atau sudah mendekati tanggal kadaluarsa. 45 Gambar 3.14 Activity Diagram Melihat Laporan Klasifikasi Persediaan Dimulai dari apoteker pengelola apotek masuk ke dalam sistem, dimana apoteker pengelola apotek harus mengisikan username dan password. Kemudian sistem akan melakukan pemeriksaan username dan password yang dimasukan, apakah sesuai atau tidak. Apabila data yang dimasukan tidak sesuai maka secara otomatis sistem akan memberi peringatan dan kembali menampilkan halaman login. Namun bila data yang dimasukan sesuai, maka sistem akan menampilkan form utama aplikasi. Kemudian apoteker pengelola apotek memilih menu laporan klasifikasi persediaan, maka sistem akan otomatis menampilkan form laporan klasifikasi persediaan. Di dalam form tersebut apoteker pengelola apotek dapat melihat barang yang termasuk fast moving, medium moving dan slow moving. 46 3. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horisontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkahlangkah yang dilakukan sebagai tanggapan dari sebuah event untuk menghasilkan output tertentu (Dharwiyanti, 2003). Gambar 3.15 Sequence Diagram Membuat Defekta 47 Gambar 3.15 adalah proses yang dilakukan oleh bagian gudang untuk aktivitas membuat defekta. Pertama dimulai dari login pada level pengguna bagian gudang kemudian database akan memeriksa data user di dalamnya, jika tidak tersedia menampilkan pesan salah dan login kembali, jika tersedia langsung menampilkan form utama. Setetah masuk form utama, bagian gudang memilih menu defekta maka secara otomatis database akan mengirimkan data dan sistem akan menampilakan form defekta. Melihat data barang yang sudah memasuki stok minimal adalah hal yang pertama kali dilakukan bagian gudang sebelum membuat defecta. Bagian gudang dapat melihat data barang yang sudah memasuki stok minimal dengan memilih laporan stok barang minimal, lalu database akan mengirimkan data dan interface akan menampilkan laporan saldo stok barang. Selanjutnya bagian gudang membuat defekta berdasarkan laporan tersebut. Setelah selesai data akan disimpan ke database dan aplikasi akan menampilkan pesan berhasil. Gambar 3.16 merupakan gambar sequence diagram untuk proses mengolah surat pesanan. Pertama petugas pembelian login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Petugas pembelian memilih menu surat pesanan, kemudian interface akan menampilkan form surat pesanan. Petugas pembelian memilih salah satu nomor defekta, secara otomatis database akan megirimkan data dan interface akan menampilkan data grid untuk detail defekta sesuai dengan nomor defekta. Selanjutnya petugas pembelian membuat surat pesanan, pertugas pembelian dapat mengubah jumlah pembelian dan mengiputkan 48 harga pembelian sesuai kesepakatan dengan supllier. Setelah selesai data akan disimpan ke database dan aplikasi akan menampilkan pesan berhasil. Gambar 3.16 Sequence Diagram Membuat Surat Pesanan 49 Gambar 3.17 menggambarkan sequence diagram untuk aktivitas validasi surat pesanan yang dilakuan oleh apoteker pengelola apotek yang juga berperan sebagai admin. Gambar 3.17 Sequence Diagram Validasi Surat Pesanan Pertama apoteker pengelola apotek login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Apoteker pengelola apotek memilih menu validasi surat pesanan, kemudian interface akan menampilkan form validasi surat pesanan. Kemudian apoteker pengelola apotek melakukan pencarian surat pesanan yang belum divalidasi, secara otomatis database akan 50 megirimkan data dan interface akan menampilkan data grid untuk surat pesanan yang belum divalidasi. Selanjutnya apoteker pengelola apotek memilih surat pesanan dan mengisi keterangan validasi. Setelah selesai data akan disimpan ke database dan aplikasi akan menampilkan pesan berhasil. Gambar 3.18 menggambarkan sequence diagram untuk proses penerimaan barang yang dilakuan oleh petugas gudang ketika barang masuk ke gudang. Pertama petugas gudang login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Petugas gudang kemudian memilih menu laporan penerimaan barang, interface akan otomatis menampilkan form laporan penerimaan barang. Selanjutnya petugas gudang menginputkan data barang yang masuk yaitu tanggal jatuh tempo pembayaran, jumlah barang masuk, tanggal kadaluarsa dan jumlah retur barang jika ada barang yang rusak. Setelah selesai data akan disimpan ke database dan aplikasi akan menampilkan pesan berhasil. 51 Gambar 3.18 Sequence Diagram Penerimaan Barang Gambar 3.19 menggambarkan sequence diagram untuk membuat atau merubah harga jual barang yang dilakuan oleh apoteker pengelola apotek yang juga berperan sebagai admin. Pertama apoteker pengelola apotek login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Apoteker pengelola apotek memilih menu data barang, kemudian interface akan menampilkan form data barang. Menghitung harga pokok penjualan adalah hal yang pertama kali dilakukan apoteker pengelola apotek untuk mempermudah penentuan harga jual. Apoteker pengelola apotek dapat menghitung harga pokok penjualan dengan memilih menu hitung HPP. Setelah 52 apoteker pengelola apotek menentukan periode peritungan HPP secara otomatis aplikasi akan melakukan perhitungan sesuai dengan data yang ada di dalam database, kemudian interface akan harga pokok penjualan sesuai dengan periode yang telah ditentukan. Selanjutnya apoteker pengelola apotek dapat menginputkan harga jual. Setelah selesai data akan disimpan ke database dan aplikasi akan menampilkan pesan berhasil. Gambar 3.19 Sequence Diagram Input Harga Jual Barang 53 Gambar 3.20 menggambarkan sequence diagram untuk proses penjualan barang yang dilakukan oleh petugas penjualan. Gambar 3.20 Sequence Diagram Transaksi Penjualan Pertama bagian penjualan login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Kemudian bagian penjualan memilih menu transaksi penjualan, secara otomatis interface menampilkan form transaksi penjualan. Bagian penjualan mulai melakukan penjualan barang dengan cara menginputkan data penjualan. Setelah selesai data akan disimpan ke database dan aplikasi akan menampilkan pesan berhasil. 54 Gambar 3.21 Sequence Diagram Melihat Laporan Kadaluarsa Gambar 3.21 menggambarkan sequence diagram untuk proses melihat laporan kadalurasa yang dilakukan oleh petugas gudang. Pertama petugas gudang login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Kemudian petugas gudang memilih menu laporan kadalurasa, secara otomatis interface menampilkan form laporan kadalurasa. Gambar 3.22 menggambarkan sequence diagram untuk proses melihat laporan klasifikasi persediaan yang dilakukan oleh apoteker pengelola apotek. Pertama apoteker pengelola apotek login terlebih dahulu lalu database menyocokkan username dan password dan memberi validasi gagal ketika tidak sesuai dan berhasil ketika keduanya sesuai. Kemudian apoteker pengelola apotek memilih 55 menu laporan klasifikasi persediaan, secara otomatis interface menampilkan form laporan klasifikasi persediaan. Gambar 3.21 Sequence Diagram Melihat Laporan Klasifikasi Persediaan 4. Class Diagram Diagram kelas (class diagram) adalah diagram yang digunakan untuk menampilkan beberapa kelas serta paket-paket yang ada dalam sistem/perangkat lunak yang sedang dikembangkan. Diagram kelas memberikan gambaran/diagram statis tentang sistem/perangkat lunak dan relasi-relasi yang ada di dalamnya. 56 Gambar 3.22 Class Diagram Gambar 3.22 merupakan class diagram dari tabel basis data untuk aplikasi persediaan. Dimana masing-masing tabel mempunyai atribut dan operasi sendiri-sendiri. Masing-masing tabel juga memiliki keterkaitan satu dengan yang lain, misalnya pada tabel pegawai memiliki relasi satu ke satu dengan tabel user. Begitu pula untuk tabel-tabel yang lain hubungan antar tabel ditandai dengan tanda satu ke banyak atau satu ke satu. 5. Deployment Diagram Deployment / physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. (Sri, 2003) 57 Gambar 3.23 Deployment Diagram Sistem Informasi Persediaan Gambar 3.23 menunjukkan gambar deployment diagram yang menjelaskan tentang perangkat yang digunakan dalam sistem. terdapat dua perangkat yaitu aplikasi persediaan dan database sebagai tempat penyimpanan data. 3.4.4 Perancangan Database Setelah merancang alur sistem dengan UML langkah selanjutnya adalah membuat perancangan data fisik. Perancangan data fisik berupa perancangan database yang diperlukan oleh sistem. Karena salah satu komponen penting dalam membangun sebuah database adalah tabel. Pada aplikasi ini dibangun beberapa tabel yang diperlukan dalam aplikasi. Berikut ini adalah table-tabel yang diperlukan dalam pembuatan aplikasi persediaan. 1. Tabel User Tabel 3.1 Tabel User Field Username Type nvarchar Length 50 Password nvarchar 50 Status nvarchar 25 58 Tabel user berfungsi untuk menampung data-data user yang akan digunakan untuk login ke aplikasi persediaan. Tabel user terdiri dari tiga field, yaitu: - Username : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan username yang akan digunakan untuk login ke aplikasi. - Password : Merupakan field yang bertipe nvarchar, berfungsi untuk keamanan bagi user untuk mengakses aplikasi. - Status : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan status atau informasi jabatan pengguna aplikasi. 2. Tabel Pegawai Tabel 3.2 Tabel Pegawai Field NIP Type nvarchar Length 50 NamaLengkap nvarchar 50 Alamat nvarchar 50 Kelamin nvarchar 10 Telp nvarchar 20 Status nvarchar 50 Jabatan nvarchar 50 Tabel pegawai berfungsi untuk menampung data-data pegawai yang ada di Apotek Budi Asih Banjarmasin. Tabel pegawai terdiri dari tujuh field, yaitu: - NIP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor induk pegawai. - NamaLengkap : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nama lengkap pegawai. - Alamat : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan alamat tempat tinggal pegawai. 59 - Kelamin : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan jenis kelamin pegawai. - Telp : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor telepon pegawai. - Status : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan status atau informasi jabatan pegawai. - Jabatan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan jabatan pegawai. 3. Tabel Barang Tabel 3.3 Tabel Barang Field KodeBarang Type nvarchar Length 20 NamaBarang nvarchar 50 Kategori nvarchar 50 Satuan nvarchar 10 Dimensi nvarchar 20 IDSupplier nvarchar 20 StokMinimal int HargaJual money Tabel barang berfungsi untuk menampung data-data barang yang ada di Apotek Budi Asih Banjarmasin. Tabel barang terdiri dari delapan field, yaitu: - KodeBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode barang. - NamaBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nama barang. - Kategori : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kategori barang. 60 - Satuan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan satuan barang. - Dimensi : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan dimensi barang. - IDSupplier : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode supplier. - StokMinimal : Merupakan field yang bertipe int, berfungsi untuk menyimpan minimal stok barang. - HargaJual : Merupakan field yang bertipe money, berfungsi untuk menyimpan harga jual barang. 4. Tabel Supplier Tabel 3.4 Tabel Supplier Field IdSupplier Type nvarchar Length 20 Nama nvarchar 50 Alamat nvarchar 50 Kota nvarchar 50 Telp nvarchar 20 NoRekening nvarchar 25 Keterangan nvarchar 100 Tabel supplier berfungsi untuk menampung data-data supplier. Tabel supplier terdiri dari tujuh field, yaitu: - IdSupplier : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode supplier. - Nama : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nama supplier. - Alamat : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan alamat tempat supplier. 61 - Kota : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kota tempat supplier. - Telp : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor telepon supplier. - NoRekening : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor rekening supplier. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan supplier. 5. Tabel Customer Tabel 3.5 Tabel Customer Field IdCustomer Type nvarchar Length 20 Nama nvarchar 50 Alamat nvarchar 50 Kota nvarchar 50 Telp nvarchar 20 Keterangan nvarchar 100 Tabel customer berfungsi untuk menampung data-data customer. Tabel customer terdiri dari enam field, yaitu: - IdCustomer : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode customer. - Nama : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nama customer. - Alamat : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan alamat tempat customer. - Kota : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kota tempat customer. 62 - Telp : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor telepon customer. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan customer. 6. Tabel Surat Izin Permintaan Header Tabel 3.6 Tabel Surat Izin Permintaan Header Field No_SIP Type nvarchar Length 20 TanggalDefecta nvarchar 20 Keterangan nvarchar 100 UserRequest nvarchar 50 Tabel surat izin permintaan header berfungsi untuk menampung data awal dalam pembuatan surat izin permintaan. Tabel surat izin permintaan header terdiri dari empat field, yaitu: - No_SIP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor surat izin permintaan. - TanggalDefecta : Merupakan field yang bertipe nvarchar, berfungsi menyimpan tanggal pembuatan surat izin permintaan. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan surat izin permintaan. - UserRequest : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan status user yang membuat surat izin permintaan. 63 7. Tabel Surat Izin Permintaan Detail Tabel 3.7 Tabel Surat Izin Permintaan Detail Tabel Field No_SIP Type nvarchar Length 20 KodeBarang nvarchar 20 Qty decimal 18, 2 Deltime nvarchar 20 Keterangan nvarchar 100 surat izin permintaan detail berfungsi untuk menampung semua data yang diperlukan dalam pembuatan surat izin permintaan. Tabel surat izin permintaan detail terdiri dari lima field, yaitu: - No_SIP: Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor surat izin permintaan. - KodeBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode barang. - Qty : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah barang yang akan dibeli. - Deltime : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan tanggal yang digunakan sebagai batas akhir barang masuk ke gudang. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan surat izin permintaan. 8. Tabel Surat Pesanan Pembelian Header Tabel 3.8 Tabel Surat Pesanan Pembelian Header Field No_SPP Type nvarchar Length 20 Tanggal_SPP nvarchar 20 Keterangan nvarchar 100 64 Tabel surat pesanan pembelian header berfungsi untuk menampung data awal dalam pembuatan surat pesanan pembelian. Tabel surat pesanan pembelian header terdiri dari tiga field, yaitu: - No_SPP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor surat pesanan pembelian. - Tanggal_SPP : Merupakan field yang bertipe nvarchar, berfungsi menyimpan tanggal pembuatan surat pesanan pembelian. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan surat pesanan pembelian. 9. Tabel Surat Pesanan Detail Tabel 3.9 Tabel Surat Pesanan Detail Field No_SPP Type nvarchar Length 20 No_SIP nvarchar 20 KodeBarang nvarchar 20 Qty decimal 18, 2 Deltime nvarchar 20 Keterangan nvarchar 100 Validasi nvarchar 10 TglValidasi nvarchar 20 KetValidasi nvarchar 100 Harga money 50 Tabel surat pesanan pembelian detail berfungsi untuk menampung semua data yang diperlukan dalam pembuatan surat pesanan pembelian. Tabel surat pesanan pembelian detail terdiri dari 10 field, yaitu: - No_SPP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor surat pesanan. - No_SIP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor defecta. 65 - KodeBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode barang. - Qty : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah barang yang akan dibeli. - Deltime : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan tanggal yang digunakan sebagai batas akhir barang masuk ke gudang. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan surat pesanan. - Validasi : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan status validasi surat pesanan. - TglValidasi : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan tanggal validasi surat pesanan. - KetValidasi : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan validasi surat pesanan. - Harga : Merupakan field yang bertipe money, berfungsi untuk menyimpan harga beli barang. 10. Tabel Laporan Penerimaan Barang Tabel 3.10 Tabel Laporan Penerimaan Barang Tabel Field No_LPB Type nvarchar Length 20 Tanggal_LPB nvarchar 20 Keterangan nvarchar 100 JatuhTempo int laporan penerimaan barang berfungsi untuk menampung data barang yang masuk ke gudang. Tabel laporan penerimaan barang terdiri dari empat field, yaitu: 66 - No_LPB : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor laporan penerimaan barang. - Tanggal_LPB : Merupakan field yang bertipe nvarchar, berfungsi menyimpan tanggal masuk barang ke gudang. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan laporan penerimaan barang. - JatuhTempo : Merupakan field yang bertipe int, berfungsi untuk menyimpan jumlah hari jatuh tempo pembayaran. 11. Tabel Penjualan Tabel 3.11 Tabel Penjualan Field IdCustomer Type nvarchar Length 20 KodeBarang nvarchar 20 Qty decimal 18 , 2 Harga money Diskon money TglTransaksi date NIP nvarchar NoNota int No_LPB nvarchar 20 Keterangan nvarchar 20 50 Tabel penjualan berfungsi untuk menampung data-data penjualan Apotek Budi Asih Banjarmasin. Tabel penjualan terdiri dari 10 field, yaitu: - IDCustomer : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode customer. - KodeBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode barang. - Qty : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah barang yang akan dibeli 67 - Harga : Merupakan field yang bertipe money, berfungsi untuk menyimpan harga jual barang. - Diskon : Merupakan field yang bertipe money, berfungsi untuk menyimpan jumlah diskon barang. - TglTransaksi : Merupakan field yang bertipe date, berfungsi untuk menyimpan tanggal transaksi penjualan. - NIP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor induk pegawai yang bertugas melakukan transaksi penjualan. - NoNota : Merupakan field yang bertipe int, berfungsi untuk menyimpan nomor transaksi penjualan. - No_LPB : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor laporan penerimaan barang. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan penjualan. 12. Tabel Satuan Tabel 3.12 Tabel Satuan Field Satuan Type nvarchar Length 10 Deskripsi nvarchar 20 Tabel satuan berfungsi untuk menampung data satuan barang. Tabel satuan terdiri dari dua field, yaitu: - Satuan: Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan satuan barang. - Deskripsi : Merupakan field yang bertipe nvarchar, berfungsi menyimpan keterangan satuan barang. 68 13. Tabel Gudang Debet Tabel 3.13 Tabel Gudang Debet Field No_LPB Type nvarchar Length 20 No_SPP nvarchar 20 KodeBarang nvarchar 20 Qty decimal 18, 2 Harga money Keterangan nvarchar Diskon money 100 StokSisa decimal 18, 2 QtyRetur decimal 18, 2 HPP money ExpDate nvarchar 10 Tabel gudang debet berfungsi untuk menampung data pembelian barang. Tabel gudang debet terdiri dari 11 field, yaitu: - No_LPB : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor laporan penerimaan barang. - No_SPP : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor surat pesanan. - KodeBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode barang. - Qty : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah barang yang akan dibeli. - Harga : Merupakan field yang bertipe money, berfungsi untuk menyimpan harga beli barang. - Keterangan : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan keterangan surat pesanan. - Diskon : Merupakan field yang bertipe money, berfungsi untuk menyimpan jumlah diskon barang. 69 - StokSisa : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah barang sebelum dilakuan pembelian. - QtyRetur : Merupakan field yang bertipe decimal, berfungsi menyimpan untuk jumlah barang yang rusak. - HPP : Merupakan field yang bertipe money, berfungsi untuk menyimpan harga pokok penjualan. - ExpDate : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan tanggal kadaluarsa barang. 14. Tabel Pembayaran Tabel 3.14 Tabel Pembayaran Field No_LPB Type nvarchar Length 20 No_Resi nvarchar 30 NamaBank nvarchar 20 NoRekening nvarchar 50 NamaPenerima nvarchar 50 Total money Tabel pembayaran berfungsi untuk menampung data pembayaran pembelian barang. Tabel pembayaran terdiri dari enam field, yaitu: - No_LPB : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor laporan penerimaan barang. - No_Resi : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor resi pembelian. - NamaBank : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nama bank supplier. - NoRekening : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nomor rekening supplier. 70 - NamaPenerima : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan nama penerima pembayaran. - Total : Merupakan field yang bertipe money, berfungsi untuk menyimpan jumlah pembayaran. 15. Tabel Tmp Moving Tabel 3.15 Tabel Tmp Moving Field KodeBarang Type nvarchar Length 20 Debet decimal 18, 2 Kredit decimal 18, 2 SisaStok decimal 18, 2 Status nvarchar 20 Periode nvarchar 20 Tahun nvarchar 4 Tabel tmp moving berfungsi untuk menampung data yang digunakan untuk menentukan barang menurut status aliran barangnya. Tabel tmp moving terdiri dari tujuh field, yaitu: - KodeBarang : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan kode barang. - Debet : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah pembelian barang. - Kredit : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah penjualan barang. - SisaStok : Merupakan field yang bertipe decimal, berfungsi untuk menyimpan jumlah sisa stok. - Periode : Merupakan field yang bertipe nvarchar, berfungsi untuk menyimpan periode. - Tahun : Merupakan field yang bertipe money, berfungsi untuk menyimpan tahun. 71 3.4.5 Perancangan Interface Perancangan antarmuka (interface) merupakan rancang bangun dari interaksi pengguna dengan komputer. Perancangan ini dapat berupa input data maupun output data untuk menampilkan informasi kepada pengguna. Kebutuhan antar muka yang dibuat bersifat user friendly (mudah digunakan) dengan tujuan agar program yang telah dibangun dapat digunakan dengan mudah oleh pengguna. Berikut ini adalah rancangan antarmuka yang ada pada aplikasi sistem informasi persediaan. Gambar 3.21 Desain Tampilan Form Login Gambar 3.21 merupakan desain login aplikasi sistem informasi persediaan. Semua pengguna diharuskan untuk login terlebih dahulu. Aplikasi tak dapat digunakan oleh pihak yang tidak terdaftar. Gambar 3.22 Desain Tampilan Form Defekta 72 Gambar 3.22 merupakan desain tampilan untuk membuat defekta. Form ini terdiri dari dua bagian, yaitu header dan detail. Defekta header berfungsi untuk membuat data awal defekta, sedangkan defekta detail berfungsi untuk membuat order list barang. Setelah defekta selesai, datanya akan disimpan dan akan ditampilkan pada petugas pembelian untuk dibuat surat pesanan Gambar 3.23 Desain Tampilan Form Surat Pesanan Gambar 3.23 merupakan desain tampilan untuk membuat surat pesanan. Form ini juga terdiri dari dua bagian, yaitu header dan detail. Surat pesanan header berfungsi untuk membuat data awal surat pesanan, sedangkan pada surat pesanan detail terdapat data grid yang berfungsi untuk menampilkan defekta yang sudah dibuat oleh petugas. Petugas pembelian dapat merubah data dan menginputkan total harga pembelian pada data grid ini. Setelah surat pesanan selesai, datanya akan disimpan dan akan ditampilkan pada apoteker pengelola apotek untuk divalidasi. 73 Gambar 3.24 Desain Tamplian Form Validasi Surat Pesanan Gambar 3.24 merupakan desain tampilan untuk validasi surat pesanan. Pada form ini terdapat fasilitas pencarian surat pesanan yang sudah valid dan yang belum valid. Data grid berguna untuk menampilkan data hasil pencarian surat pesanan. Apoteker dapat melakukan validasi surat pesanan setelah mengisikan keterangan validasi yang terdapat pada data grid. Kemudian menyimpan data dengan menekan tombol validasi. Gambar 3.25 Desain Tamplian Form Penerimaan Barang 74 Gambar 3.25 merupakan desain tampilan untuk penerimaan barang. Data grid pada penerimaan barang detail ini berguna untuk menampilkan data pembelian barang. Pada form ini petugas gudang dapat mengiputkan tanggal jatuh tempo pembayaran, jumlah barang masuk, jumlah retur, dan tanggal kadaluarsa barang. Gambar 3.26 Desain Tamplian Form Transaksi Penjualan Barang Gambar 3.26 merupakan desain tampilan untuk transaksi penjualan barang. Data grid pada form ini berguna untuk menampilkan data penjualan barang. Pada form ini terdapat fasilitas penambahan jasa racikan, kalkulasi jumlah pembayaran dan pencarian nomor nota yang berfungsi untuk mencetak nota penjualan. 75 Gambar 3.27 Desain Tamplian Form Laporan Gambar 3.27 merupakan desain tampilan untuk laporan, dimana pengguna dapat menentukan kriteria laporan yang akan ditampilakan. Setelah menentukan kriteria maka laporan akan ditampilkan pada data grid. Kriteria yang ditampilkan akan disesuaikan dengan laporan yang ingin ditampilkan. Contoh menampilkan laporan klasifikasi persediaan aliran arus barang maka pengguna harus mengisi periode waktu, kemudian data grid akan menampilkan data barang yang termasuk fast moving, medium moving, dan slow moving. 76 Gambar 3.28 Desain Tamplian Form Data Barang Gambar 3.28 merupakan desain tampilan untuk master data barang. Pada form ini petugas gudang dapat menginputkan data barang yang ada di apotek. Dalam form ini juga terdapat fasilitas perhitungan harga pokok penjualan yang dapat digunakan sebagai patokan harga jual. Sebelum melakukan perhitungan HPP seorang apoteker pengelola apotak harus menetukan periode terlebih dahulu, setelah periode ditentukan maka data grid akan menampilkan harga pokok penjualannya.