Wednesday, October 19, 2016

Aplikasi Inventori Dengan Java dan MySql

Assalamualakum wr. wb......
Sahabat blogger semua pada kesempatan ini saya mau sharing sebuah aplikasi inventory control dengan Java dan MySql metode yang digunakan adalah EOQ (economic order quantity). Teknologi yang digunakan bukan lagi client server tetapi tree tier. Apa itu tree tier silahkan baca kembali wikipedianya :D. Gambarannya kira-kira sebagai berikut.


Bagi anda yang masih bingung silahkan belajar lagi konsep ini.
Ok sekarang kita masuk ke aplikasinya, untuk tampilan login dan home kira-kira sebagai berikut :

Untuk process login gunakan account :
username   : asep
password   : asep

Baca Juga :

Selanjutnya kita masuk ke menu-menu yang dimiliki aplikasi ini  

  • Menu System
Menu ini terdiri dari tiga sub menu yaitu keluar pengguna, keluar aplikasi dan ubah password.
  • Menu Inventory
Menu ini terdiri dari enam sub menu yaitu pengguna, gudang, category, barang, pemasok dan pelanggan



  • Menu Transaksi
Menu ini terdiri dari empat sub menu yaitu penjualan, pembelian, return penjualan dan pembelian
  • Menu Management
Menu ini terdiri dari tiga sub menu diantaranya penyesuaian stok, lihat isi gudang dan management inventory
  • Menu Report
Menu ini digunakan untuk menampilkan report-report yang dibutuhkan dari system inventory

 Tampilan transaksi penjualan





Selanjutnya bagaimana cara menjalankan aplikasi ini
 
Jalankan aplikasi servernya terlebih dahulu
Tunggu sampai muncul tulisan Server berjalan..
Selanjutnya baru jalankan aplikasi clientnya





Klik Tombol Dibawah Untuk Memunculkan Link Download :


Tutorial Cara Download File :


Selamat mencoba...
Jika ada pertanyaan silahkan isi pada kolom komentar......

Karena banyak yang bertanya cara edit reportnya akhirnya saya buat postingan baru cara edit report dengan Ireport Designer, slihlakan kunjungi postingannya:








78 comments

metode eoq nya kok gk ada yaa

metode EOQ rumusnya Q=akar (2AS/H)
A= Jumlah pemakaian
S=Biaya pemesanan(RP) setiap pemesanan
I=Presentasi biaya pemesanan pertahundari nilia barang (%)
c=biaya/harga perunit (Rp)
H=Holding cost=c x i
Q=Jumlah (kuantitas) pemesanan (unit)

donlodnya gmn gan, kok masuk ke drive

Untuk download klik link download, setelah masuk ke google drive ada tombol download di pojok kanan atas.

itu yg inventory-api fungsinya untuk apa ya ?

cara edit repportnya gimana ya ? saya edit ga bisa di save .
Thanks

yang inventory-API itu sebagai penghubung antara client dan servernya

This comment has been removed by the author.

lebih jelasnya coba buka tab library-nya

untuk edit report bisa mengunakan jasper report

pencerahan lagi , saya edit dengan jasper reportnya pas disave dan runing aplikasi saat kita klik report malah error walaupun reportnya cuma diedit nama tokonya. apa harus edit yang lain kalo untuk edit nama tokonya juga .

terimakasih.
maaf banyak bertanya .

kalau saya biasanya mengunakan plugin jasper report yang terintegrasi dengan netbeans, kalau edit hanya nama saja seharusnya tidak error.

jika terjadi error kemungkinan ada yang salah

Kalo edit yg di print out-nya ko ga bisa,udah di edit tapi ga berubah di print outnya

Edit mengunakan Jasper Report dan Ireport

udah ada yg bisa edit repportnya? kalo udah kasih tau yaa

kalo udah ada yg bisa edit reportnya? kalo udah kasih tau pencerahnya

om udah bisa belom edit reportnya? kalo bisa kasih pencerahnya dong

saya sudah edit menggunakan ireport dan jasper report tapi tetap tidak berubah ya? saya edit nama toko, alamat + no hp nya.

Selamat siang pak asep, saya coba download program yang bapak berikan
tapi begitu saya ikuti cara diatas, setelah server berjalan dan saya coba run project client tidak tampil apa-apa.
mohon bantuannya

oh maaf pak ternyata bisa tampil, tapi memang agak lama dan waktu untuk login juga harus menunggu
apakah memang begini pak asep? maaf banyak pertanyaan karena saya terhitung baru belajar. terima kasih sebelumnya

Projek ini mengunakan netbeans 7.1, silahkan lakukan edit dengan ireport yang terintegrasi dengan nerbeans 7.1 dan lakukan compile ulang

Untuk kecepatan banyak faktor yang menentukan, tetapi memang agak berat untuk pertama kali. apaliagi untuk menampilkan report

Dan juga gunakan Ireport 4.7.nbm

Sudah saya berkan postingan cara edit reportnya, silahkan di coba

Permisi pak untuk menu di pembelian ketika mau menginputkan barang terjadi eror terus itu gimana ya pa, mohon penjelsan nya terima kasih...

pesan errornya seperti apa, saya udah lama tidak coba

permisi gan mau tananya, kok saya jalankan servernya langsung eror ya gan??
mohon dibantu gan untuk menanganinya seperti apa?


pesan eror watu saya run Servernya seperti ini


run:
Exception in thread "main" java.rmi.server.ExportException: Port already in use: 2222; nested exception is:
java.net.BindException: Address already in use: JVM_Bind
at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:341)
at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:249)
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411)
at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147)
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:236)
at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:213)
at sun.rmi.registry.RegistryImpl.(RegistryImpl.java:198)
at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:203)
at inventori.server.InventoriServer.main(InventoriServer.java:47)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.(ServerSocket.java:237)
at java.net.ServerSocket.(ServerSocket.java:128)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:45)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:345)
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666)
at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:330)
... 8 more
C:\Users\PRASTYO\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)

gan punya saya kok eror waktu mau menjalankan servernya
mohon bantuannya untuk menanganinya seperti apa gan

pesan erornya seperti ini


run:
Exception in thread "main" java.rmi.server.ExportException: Port already in use: 2222; nested exception is:
java.net.BindException: Address already in use: JVM_Bind
at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:341)
at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:249)
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411)
at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147)
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:236)
at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:213)
at sun.rmi.registry.RegistryImpl.(RegistryImpl.java:198)
at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:203)
at inventori.server.InventoriServer.main(InventoriServer.java:47)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.(ServerSocket.java:237)
at java.net.ServerSocket.(ServerSocket.java:128)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:45)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:345)
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666)
at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:330)
... 8 more
C:\Users\PRASTYO\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)





terima kasih gan

terimakasih pak..izin buat di oprek oprek ya :)

jika dilihat pesan errornya, portnya sudah digunakan.
Silahkan ganti port dengan yang lain..

code :
public class InventoriServer {

/**
* @param args the command line arguments
*/
public static void main(String[] args)throws RemoteException{
// TODO code application logic here
Registry server = LocateRegistry.createRegistry(2222);
AdminDao adminDao = new AdminDaoImpl(); //interface diisi kelas
AutoNumber autoNumber=new inventori.server.daoimpl.AutoNumber();
PemasokDao pemasokDao=new PemasokDaoImpl();
GudangDao gudangDao=new GudangDaoImpl();
PelangganDao pelangganDao=new PelangganDaoImpl();
KategoriDao kategoriDao=new KategoriDaoImpl();
BarangDao barangDao=new BarangDaoImpl();
PenjualanDao penjualanDao=new PenjualanDaoImpl();
PembelianDao pembelianDao=new PembelianDaoImpl();

pada folder :
\inventori-server\src\inventori\server\InventoriServer.java

ini bisa jadi server sudah berjalan kemudian dijalankan kembali atau port 2222 sudah digunakan..

Jika port 2222 sudah digunakan silahkan di ganti dengan yang lain, panduan ada pada komen diatas..

izin donlot pak, moga" semakin bertambah ilmu pak asep dgn berbagi ilmu spt ini kpd kami :)

itu port 2222 sudah digunakan, silahkan ganti port dengan yang lainnya

seharusnya tidak, saya tidak proteksi dengan password

pak kok pas di running ga bisa gan?
pesan errornya :

at inventori.client.InventoriClient.main(InventoriClient.java:54)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.(Socket.java:425)
at java.net.Socket.(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 5 more
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)

mas mau tanya ini, kenapa tidak bisa ya di run saat saya run Login di inventory.client.dialog

malah tertulis

Class "inventori.client.dialog.Login" does not have a main method.

mohon pencerahan nya mas
trims

mas mau tanya ini, kenapa tidak bisa ya di run saat saya run Login di inventory.client.dialog

malah tertulis

Class "inventori.client.dialog.Login" does not have a main method.

mohon pencerahan nya mas
trims

aplikasi yg dibangun dengan konsep three-tier :

end-user interface (client) <-> logic process (server) <-> data storage (database server)

memang baik karena pengembang aplikasi dapat lebih fleksibel utk memodifikasi struktur programnya (seperti memodifikasi rancangan databasenya dan logika pengolahan data) tanpa harus meng-update aplikasi end-user (end-user interface (client)).

Akan tetapi pengembangan aplikasi berdasarkan konsep three tier tidak sederhana karena membutuhkan skill coding yang tinggi di mana pengembang aplikasi harus mampu membangun aplikasi server yg mampu :

1. memiliki performansi yg baik utk melayani thread-thread client.
2. metode komunisasi antara server-klien.

Btw, saya juga ada membuat 1 aplikasi inventori stok, namanya aplikasi pertokoan "MiniMart" (gratis sepenuhnya & open-source). Kalau mau simak, boleh download di halaman blog saya :
http://helloyud.blogspot.co.id/2016/12/aplikasi-pertokoan-minimart.html

coba dilihat error pada netbeansnya..

coba ikuti langkah2 diatas, yang lain pada berhasil ko

oh itu main salah menjalankan main method, coba jalankan dari main methodnya

Assalamu'alaikum kang Asep,, nuwun
jika berkenan, saya mohon untuk dibuatkan cara pembuatan software ini dari awal, saya lagi belajar tuk membuat software2 yg berbasis java dan mysql...
terima kasih sebelumnya..

Assalamu'alaikum kang Asep,
jika berkenan, saya mohon untuk dibuatkan tutorial cara pembuatan aplikasi ini,
saya lagi belajar java dan mysql,,
terima kasih sebelumnya..

sore mas asep terima kasih atas sharing nya , mas saya mau tanya kenapa pas di jalanin button insert di returnpenjualan dan pembelian , data gagal di simpan

gan cara rubah prot nya gimana

gan ko ini di inventory client nya error trus ya

at inventori.client.InventoriClient.main(InventoriClient.java:54)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.(Socket.java:434)
at java.net.Socket.(Socket.java:211)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 5 more
C:\Users\Nepnep\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)

Nanti akan dicoba dibuatkan Silahkan Subscribe Youtube Chanelnya Pojok Code

Nanti akan dicoba dibuatkan Silahkan Subscribe Youtube Chanelnya Pojok Code

mungkin ada bug, bisa di telusuri. saya sudah lupa juga dah lama itu jaman masih kuliah

itu ada error pada mian line 54 coba dilihat isinya seperti apa

Mau nanya di form pembelian pas mau ambil barang ko Hanya bisa kode brg00001 dan brg00002 saja dengan jumlah 225 dan 1500... Trus brg003 yg sudah dibuat. Tidak bisa di ambil data. Itu knpa ya gan?

apakah jumlah barang masih tersedia..

Assalammualaikum pak, mohon maaf, boleh saya jadikan bahan skripsi saya pak? terima kasih pak.

silahkan di kembangkan lagi.. jangan lupa follow media kami

mas kode barangnya kan auto number, terus sudah saya ganti jadi manual dengan menghilangkan autonumbernya tapi kok pas saya mau input barang tidak bisa menulis di kode barang tersebut. mohon pencerahannya tks...

kang asep ini kenapa ya?
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.

Coba dilihat type inputnya, sepertinya readonly atau disabe (silahkan di ganti menjadi normal)

error seprti ini muncul ketika jalankan apa?

waktu jalankan inventorynya muncul seperti itu, dan waktu mau ganti reportnya juga error, padahal sudah di compile. saya juga sudah otak atik tp ttp seperti itu, bagaimana ya itu mas?

*error ketika melakukan report, itu bagaimana ya mas asep?

sepertinya error jasper report.. apakah reportnya jalan?

reportnya tidak muncul mas, tapi muncul error seperti ini :

run:
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: net/sf/jasperreports/compilers/GroovyEvaluator
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClass(JRClassLoader.java:338)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassFromBytes(JRClassLoader.java:261)
at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:102)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:333)
at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:265)
at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:457)
at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:379)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:88)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:103)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:61)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:82)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:634)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:956)
at inventori.client.MainMenu.jMenuItem3ActionPerformed(MainMenu.java:687)
at inventori.client.MainMenu.access$1700(MainMenu.java:68)
at inventori.client.MainMenu$18.actionPerformed(MainMenu.java:451)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)

saya mau tanya pak asep.
untuk laporan pembelian, laporan penjualan, dan laporan retur.
itu kenapa tidak bisa di compile ke jasper ya ?, padahal di .jrxml nya sudah di edit dan di save, tapi ketika di compile malah tidak terjadi apa-apa. dan ketika laporan di jalankan yang muncul malah laporan lama, padahal saya hanya edit nama toko dan alamat saja. untuk laporan admin, laporan pemasok, dan laporan pelanggan yang saya edit dan dicompile berhasil kok, hanya laporan penjualan, pembelian, dan retur yang belum berhasil. mohon pencerahannya.

Pak Asep saya mau tanya.
untuk laporan penjualan, laporan pembelian, dan laporan retur mengapa jika di compile tidak terjadi apa-apa ? padahal file .jrxml nya sudah di save dan hanya saya ganti nama toko dan alamatnya saja tetapi setelah saya compile tidak terjadi apa-apa dan ketika program dijalankan dan laporan yang ditampilkan adalah laporan lama dengan nama toko lama. padahal untuk laporan lainnya seperti contoh laporan admin, pemasok, dan pelanggan yang sama-sama hanya saya edit nama dan alamat berhasil dicompile dan ketika dijalankan laporan telah teredit dengan yang baru. adakah solusi untuk masalah ini ? makasih sebelumnya, mohon pencerahannya.

pak asep saya mau tanya.
mengenai laporan pembelian, laporan penjualan, dan laporan retur mengapa setelah file .jrxml nya saya edit dan saya compile malah tidak terjadi apa-apa ? karena program saya jalankan, laporan yang muncul malah format laporan lama. padahal untuk laporan lainnya seperti laporan admin, laporan pemasok, dan laporan pelanggan yang sama-sama hnya saya edit nama toko dan alamat dan dicompile malah berhasil dan menampilkan laporan yang sudah diedit. adakah solusi untuk masalah ini ? terima kasih sebelumnya, dan mohon pencerahannya.

apakah sudah mengikuti langkah2 pada postiongan edit report? ada 2 kemungkinan gagal comfile atau salah edit file

sudah saya ikuti langkah2 tersebut. dan hasilnya untuk laporan admin, laporan pemasok, dan laporan pelanggan berhasil ter-compile dan ter-edit. tapi yang tidak dapat tercompile ke .jasper adalah laporan penjuala, laporan pembelian, dan laporan retur. intinya yang ada detail-nya tidak dapat ter-compile.

paling kalau dari saya, coba di buat ulang saja, ikuti yang sudah ada.

Sebelumnya terimakasih pak source code nya bisa untuk referensi saya, saya mau tanya untuk di menu manajemen inventori saat di insert muncul notifikasi "qty hari masih kosong" sedangkan textfield qty hari berwarna abu2/tidak bisa diinput manual, mohon pencerahannya pak . Terima kasih

mas kalau programnya di jadikan file exe
harus satu satu ta mas

Asalamualaikum pa asep boleh kah saya kembangkan lagi saya ingin coba belajar ini sebagai bahan juga buat saya buat skripsi nanti

bapak asep, disini gak ada databasenya?

Anda punya beberapa posting hebat di blog Anda. Bersaing dengan pekerjaan yang baik.
Inventory Control


EmoticonEmoticon