Perancangan Sistem Informasi Penjualan Obat di Apotik Denai Menggunakan Java2SE dengan Editor Netbeans Ide 7.0.1

(1)

PERANCANGAN SISTEM INFORMASI PEJUALAN OBAT DI

APOTIK DENAI MENGGUNAKAN JAVA2SE DENGAN

EDITOR NETBEANS IDE 7.0.1

TUGAS AKHIR

SYABRUL MAJID 102406004

D3 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

PERANCANGAN SISTEM INFORMASI PEJUALAN OBAT DI

APOTIK DENAI MENGGUNAKAN JAVA2SE DENGAN EDITOR

NETBEANS IDE 7.0.1

TUGAS AKHIR

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh gelar Ahli Madya

SYABRUL MAJID 102406004

D3 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(3)

PERSETUJUAN

Judul :

PERANCANGAN SISTEM INFORMASI

PEJUALAN OBAT DI APOTIK DENAI

MENGGUNAKAN JAVA2SE DENGAN

EDITOR NETBEANS IDE 7.0.1

Kategori : TUGAS AKHIR

Nama : SYABRUL MAJID

Nomor Induk Mahasiswa : 102406004

Program Studi : DIPLOMA (D3) TEKNIK INFORMATIKA

Departemen : MATEMATIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2013

Diketahui/Disetujui oleh

Departemen Matematika FMIPA USU

Ketua, Pembimbing

Prof. Dr. Tulus, M.Si. Prof. Dr. Saib Suwilo M.Sc NIP. 19620901 198803 1 002 NIP. 19640109 198803 1 004


(4)

PERNYATAAN

PERANCANGAN SISTEM INFORMASI PEJUALAN OBAT DI

APOTIK DENAI MENGGUNAKAN JAVA2SE DENGAN EDITOR

NETBEANS IDE 7.0.1

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dari ringkasan yang masing-masing disebutkan sumbernya.

Medan, Mei 2013

SYABRUL MAJID 102406004


(5)

PENGHARGAAN

Syukur Alhamdulillah penulis ucapkan serta panjatkan ke hadirat Allah SWT yang telah memberikan Rahmat, berkah serta hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan tugas akhir ini sebagai salah satu syarat untuk menyelesaikan perkuliahan pada Program Studi Diploma 3 Teknik Informatika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Pada kesempatan ini penulis mengucapkan terima kasih serta penghargaan yang sebesar-besarnya kepada Ayahanda Syahril dan Ibunda tersayang Anyam yang telah membimbing dengan penuh cinta kasih sayang, memelihara dan memperhatikan penulis sejak kecil serta selalu mencukupi segala keperluan baik secara moril maupun materil hingga akhirnya penulis mampu menyelesaikan laporan tugas akhir ini.

Selanjutnya penulis menyampaikan rasa terima kasih dan penghargaan yang sebesar-besarnya kepada semua pihak yang telah memberikan bantuan dan masukan, baik secara moril dan materil dalam menyelesaikan penulisan tugas akhir ini, terutama sekali kepada:

1. Bapak Prof. Dr. Saib Suwilo M.Sc selaku Dosen pembimbing penulis yang selalu memberikan masukan, baik kritik dan saran kepada penulis selama pembuatan tugas akhir ini mulai dari awal sampai dengan selesai. 2. Bapak Syahriol Sitorus, S.Si, MIT selaku Ketua Program Studi D3 Teknik

Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

3. Bapak Prof. Dr. Tulus, M.Si selaku Ketua Departemen Fakultas Matematika Universitas Sumatera Utara.

4. Bapak Dr. Sutarman, M.Sc selaku Dekan Fakultas MIPA Universitas Sumatera Utara

5. Bapak dan Ibu Dosen serta Staf Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

6. Buat Abangku Tersayang Nur Jamal yang telah memberikan semangat kepada penulis dalam penyelesaian tugas akhir ini.

7. Buat Adikku Tersayang Yuli Marni yang telah memberikan semangat kepada penulis dalam penyelesaian tugas akhir ini.


(6)

8. Buat Adikku Tersayang Widia Yaswinta yang telah memberikan semangat kepada penulis dalam penyelesaian tugas akhir ini.

9. Buat seluruh teman angkatan 2010 yang selama ini telah menjadi keluarga dan sahabat penulis.

10.Semua Keluarga, Alumni, Saudara dan juga rekan-rekan Pengurus HMI Komisariat FMIPA USU baik dikampus maupun diluar kampus yang

masih sama motto hidup “Yakin Usaha Sampai (YUS)”.

11.Semua keluarga, saudara dan juga rekan-rekan baik dikampus maupun diluar kampus.

12.Untuk teman-teman Selama di Asrama Putra USU Apandi Saragih, Irwanto, Sahril Nasution serta teman-teman Asrama Lainnya yang tidak dapat disebutkan satu persatu yang telah memberikan persahabatan yang indah kepada penulis.

Laporan ini sudah selesai, namun penulis menyadari bahwa masih ada kekurangan didalamnya karena keterbatasan pengetahuan dan kemampuan penulis. Untuk itu, diharapkan kritik dan saran yang bersifat membangun demi perbaikan dan penyempurnaan laporan ini. Semoga laporan ini bermanfaat bagi semua yang membaca sebagai wacana dalam memperluas cakrawala pengetahuan. Kiranya Allah SWT memberikan hidayah-Nya kepada kita semua sehinga sukses dalam menggapai cita-cita yang diinginkan. Amin.

Medan, Juni 2013


(7)

ABSTRAK

Tugas Akhir ini bertujuan untuk membangun aplikasi Java desktop yang bersifat portable dan plattform independent. Aplikasi ini dikembangkan dengan menggunakan perangkat lunak NetBeans IDE 7.0.1 dan Java SDK. Apotek merupakan pelayanan produk dan jasa yang dikaitkan dengan kepuasan customer. Pengelolaan Apotek adalah segala upaya dan kegiatan yang dilakukan oleh seorang Apoteker Pengelola Apotek (APA) dalam rangka tugas dan fungsi apotek yang meliputi perencanaan, pengorganisasian, pelaksanaan, pengawasan dan penilaian. Aplikasi Sistem Informasi Apotek merupakan suatu sistem informasi yang dibuat untuk memudahkan dalam penyampaian informasi mengenai apotek secara meluas, menggunakan MYSQL yang merupakan perangkat lunak pengolah basis data atau yang disebut sebagai mesin basis data atau database engine didalam penggunaannya dianggap mudah.


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Daftar isi vii

Daftar Tabel ix

Daftar Gambar x

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 TINJAUAN PUSTAKA


(9)

2.1.1 Sistem 7 2.1.2 Informasi

2.2 Database dan Database Management System (DBMS) 9

2.2.1 Database 9

2.2.2 DBMS (Database Management System) 9

2.2.3 Komponen Utama DBMS 10

2.2.4 Keunggulan DBMS 10

2.3 Pemograman Java 11

2.3.1 J2EE (Java 2 Enterprise Edition) 12

2.3.3 J2SE (Java 2 Standart Edition) 13

2.3.3 J2ME ( Java 2 Micro Editon) 16

2.3.4 GUI (Grapichal User Interface) 17

2.4 Bahasa Pemograman Java 20

2.4.1 Sejarah Perkembangan Java 21

2.4.2 Kelebihan Pemograman Java 22

2.4.3 Kekurangan Pemograman Java 26

2.4.4 Contoh Pemograman Java 28

2.5 Tahapan Kompilasi Java 28

2.6 Swing 29

2.6.1 Sejarah Swing 29

2.6.2 Arsitektur Swing 30

2.6.3 Komponen Dasar Swing 32


(10)

2.7.1 Sejarah AWT 33

2.7.2 Arsitektur AWT 34

2.8 Koneksi Database Java 35

2.9 Database MySQL 36

2.9.1 Perkembangan Database MySQL 37

2.10 Netbeans IDE 7.0.1 38

2.10.1 Komponen Netbeans 7.0.1 42

BAB 3 GAMBARAN UMUM PERUSAHAAN

3.1 Sejarah Ringkas 47

3.2 Visi dan Misi 47

3.2.1 Visi 47

3.2.2 Misi 48

3.2.3 Tempat dan Kedudukan Apotik Denai 48

3.3 Struktur Organisasi 48

BAB 4 Analisis Dan Perancangan

4.1 Analisis 50

4.1.1 Analisis Masalah 50

4.1.2 Penyelesaian Masalah 50

4.2 Perancangan Sistem 51

4.2.1 Perancangan Database 50

4.3 Diagram Konteks 55


(11)

4.4.1 FlowChart Login Admin Apotik Denai 58

4.4.2 FlowChart Pada Apotik Denai 59

BAB 5 IMPLEMENTASI SISTEM

5.1 Defenisi Implementasi Sistem 60

5.2 Komponen Utama Dalam Implementasi Sistem 60

5.3 Tujuan Implementasi Sistem 62

BAB 6 KESIMPULAN

6.1 Kesimpulan 63

6.2 Saran 63


(12)

DAFTAR TABEL

Halaman

Tabel 2.1 Tabel Package pada J2SE 15

Tabel 4.1 Tabel Penjualan 52

Tabel 4.2 Tabel Obat 52


(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Tools Dasar JDK 14

Gambar 2.2 Arsitektur J2ME 17

Gambar 2.3 Hasil Program dengan menggunakan Java 28

Gambar 2.4 Skema koneksi database Java 35

Gambar 2.5 NetBeans IDE 7.0.1 39

Gambar 2.6 New Project NetBeans IDE 7.0.1 39

Gambar 2.7 New Java Application 40

Gambar 2.8 New JFrame Form 41

Gambar 2.9 Layar Project NetBeans IDE 7.0.1 41

Gambar 2.10 Component Palette Netbeans IDE 7.0.1 43

Gambar 2.11 Component Properties 44

Gambar 2.12 Form Kerja NetBeans IDE 7.0.1 44

Gambar 2.13 Source Editor 45

Gambar 2.14 Object Project 45

Gambar 2.15 Inspector 46

Gambar 3.1 Struktur Organisasi Apotik Denai 49

Gambar 4.1 Hubungan Antar Tabel 54


(14)

Gambar 4.3 Flowchart Login Admin 57 Gambar 4.4 Flowchart Data Apotik Denai


(15)

ABSTRAK

Tugas Akhir ini bertujuan untuk membangun aplikasi Java desktop yang bersifat portable dan plattform independent. Aplikasi ini dikembangkan dengan menggunakan perangkat lunak NetBeans IDE 7.0.1 dan Java SDK. Apotek merupakan pelayanan produk dan jasa yang dikaitkan dengan kepuasan customer. Pengelolaan Apotek adalah segala upaya dan kegiatan yang dilakukan oleh seorang Apoteker Pengelola Apotek (APA) dalam rangka tugas dan fungsi apotek yang meliputi perencanaan, pengorganisasian, pelaksanaan, pengawasan dan penilaian. Aplikasi Sistem Informasi Apotek merupakan suatu sistem informasi yang dibuat untuk memudahkan dalam penyampaian informasi mengenai apotek secara meluas, menggunakan MYSQL yang merupakan perangkat lunak pengolah basis data atau yang disebut sebagai mesin basis data atau database engine didalam penggunaannya dianggap mudah.


(16)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Sistem Informasi Merupakan suatu hal yang sangat penting bagi perusahaan. Dengan adanya manajemen dalam perusahaan maka diaharapkan segala tindakan atau kegiatan yang dilakukan oleh perusahaan akan berjalan dengan baik dan terkontrol. Apotik adalah suatu tempat tertentu, tempat dilakukan perbekalan informasi Farmasi kepada masyarakat. Dengan demikian apotik memerlukan manajemen yang baik sehingga fungsi dan tugas apotik dapat berjalan dengan baik.

Apotik Denai selama ini menangani manajemen secara manual dalam persediaan obat, transaksi penjualan dan pembelian obat serta dalam pembuatan laporan bulanan sehingga memerlukan waktu yang lama dalam pelaksanaannya. Hal ini tentu akan menghambat pengaturan manajemen secara optimal.


(17)

Dengan hadirnya Aplikasi ini diharapkan memudahkan dalam pengolahan data secara optimal dan terkomputerisasi. Dan diolah secara akurat dan cepat. Sistem Informasi pengolahan data dimasudkan dalam pengimputan data dan disimpan dalam database. Perusahaan dalam mengalami kesuksesan bila mereka mampu mengolah data menjadi sebuah informasi.

Dalam penggunaan Sistem Informasi Penjualan Obat di apotik denai ini banyak keuntungan yang bisa di dapatkan baik itu waktu maupun biaya. Waktu untuk mengatur dan mengihitung banyaknya barang sudah dimuat dalam sistem informasi ini.

Sistem informasi ini diatur untuk mengetahui harga juga dapat melihat apakah stok dan persediaan barang di toko tersebut sudah habis atau belum. Hadirnya Sistem ini tentunya dibutuhkan manajemen apotik sistem yang akan dibuat membahas pengolahan data pembeli dan disimpan dalam database. Oleh sebab itu penulis tertarik untuk membuat tugas akhir dengan judul “Perancangan Sistem Informasi Pejualan Obat Di Apotik Denai Menggunakan Java2se Dengan Editor Netbeans Ide 7.0.1”

Sistem Informasi ini dirancang oleh sistem operasi Windows 7 SP1 yang didukung oleh sofware Netbeans IDE 7.0.1 dan JAVA2SE.


(18)

1.2 Perumusan Masalah

Masalah Sistem Informasi Penjualan Obat di Apotik dapat dirumuskan sebagai berikut: barang yang sudah dibeli dapat disimpan dalam database. Penulisan dan penginputan data lebih mudah dan akurasi data lebih terjamin.


(19)

1.3 Batasan Masalah

Agar penulisan Tugas Akhir ini tidak menyimpang dari tujuan penulisannya dan masalah yang diambil tidak terlalu luas maka pada Sistem Informasi Penjualan Obat ini diberikan batasan masalah sebagai berikut:

1. Perancangan Sistem Informasi ini dapat yaitu bertujuan untuk menginput barang yang sudah terjual dan disimpan dalam basis data.

2. Sistem hanya menangani pencatatan transaksi penjualan obat, transaksi pembelian obat, penambahan data pemasok dan pembuatan laporan penjualan. 3. Sistem tidak bisa menangani penjualan penjualan dan pembelian obat tidak

termasuk alat-alat kesehatan.

4. Laporan yang dibuat meliputi laporan pembelian obat, laporan penjualan obat, laporan persediaan obat.

5. Sistem ini tidak menangani proses manajemen lain seperti manajemen kepegawaian dan laporan keuangan secara detail.

6. Aplikasi ini hanya dapat di implementasikan pada perangkat keras yang mendukung fasilitas java.

1.4 Tujuan Penelitian

Tujuan penelitian ini diantaranya:


(20)

2. Mampu Menyajikan informasi Stok barang.

3. Mampu menyajikan Persediaan Barang di Apotik Denai.

1.5 Manfaat Penelitian

Manfaat penelitian ini antara lain:

1. Menghasilkan Sistem Informasi Penjualan Obat di Apotik menggunakan Java. 2. Dengan adanya penelitian ini diharapkan dapat digunakan dalam pengaplikasian

komputer tentang penginputan barang.

3. Dengan adanya aplikasi ini diharapkan dapat menjadi refrensi dalam pemograman Java.

1.6 Metodologi Penelitain

Penelitian ini akan dilaksanakan dengan mengikuti beberapa langkah yang akan digunakan penulis, yaitu:

1. Pengumpulan data-data pendukung

Pengumpulan data dalam penelitian penulis lakukan dengan mengamati penjualan Obat di Apotik yang ada di pasaran global.


(21)

Proses pembuatan ini meliputi pembuatan rancangan aplikasi dan pembuatan user interface aplikasi.

3. Pengujian Aplikasi

Menguji apakah aplikasi yang dibuat telah berhasil berjalan sesuai dengan keinginan dan melakukan perbaikan kesalahan jika masih terdapat error pada aplikasi.

4. Implementasi Aplikasi

Penerapan aplikasi yang dirancang setelah melalui tahap pengujian dan telah berjalan dengan baik.

5. Penyusunan dan pengadaan laporan

Tahap akhir dari penelitian yang dilakukan, yaitu membuat laporan tentang penelitian yang telah dilakukan.

1.7 Sistematika Penulisan

Secara garis besar Tugas Akhir ini terdiri dari 6 bab dan beberapa lampiran. Setiap bab terdiri dari sub – sub bab. Sistematika penulisan Tugas Akhir ini adalah :


(22)

Bab ini berisikan Latar Belakang Pemilihan Judul, Perumusan Masalah, Batasan Masalah, Tujuan Penelitian, Manfaat Penelitian, Metodologi Penyelesaian Masalah, dan Sistematika Penulisan.

BAB 2 TINJAUAN PUSTAKA

Bab ini Menjelaskan tentang tinjauan teoritis yang meliputi uraian singkat mengenai Download, Java, Swing, AWT, Database MySQL dan NetBeans IDE 7.0.1 yang berhubungan dengan penulisan ini, yang sangat membantu penyelesaian masalah dan perancangan program.

BAB 3 GAMBARAN UMUM PERUSAHAAN

Pada bagian ini mencakup hal mengenai perusahaan baik itu mengenai sejarah ringkas berdidrinya perusahaan dalahm hal ini Apotik Denai, Alamat serta hal yang mendukung tentang perusahan tempat melakukan riset.

BAB 4 ANALISIS DAN PERANCANGAN SISTEM

Dalam bab ini penulis menjabarkan tentang perancangan sistem. Medesain database, diagram alir sistem (flowchart) yang dibuat. Dalam bab ini penulis akan menjelaskan pengertian dan tujuan dari implementasi system yang dibangun


(23)

Dalam bab ini penulis akan menjelaskan pengertian dan tujuan dari implementasi sistem yang dibangun

BAB 6 KESIMPULAN DAN SARAN

Bab ini merupakan bab terakhir, dalam bab ini berisikan tentang kesimpulan yang dapat di tarik oleh penulis berdasarkan hasil rancangan sistem aplikasi yang telah dibangun. Dan juga berisikan saran yang di tuliskan oleh penulis mengenai pengembangan yang mungkin di lakukan terhadap aplikasi ini.


(24)

BAB 2

TINJAUAN PUSTAKA

2.1 Sistem dan Inforamsi

2.1.1 Sistem

Menurut Davis ( 1985 ) yang mendefinisikan sistem sebagai bagian – bagian yang saling berkaitan yang beroperasi bersama untuk mencapai beberapa saran dan maksud.

Lucas ( 1989 ) mendefinisikan sistem sebagai suatu komponen atau variable yang terorganisir, saling berinteraksi, saling bergantung, satu sama lain dan terpadu.

Begitu pula Robert G. Murdick ( 1993 ) mendefinisikan sistem sebagai seperangkat elemen – elemen yang terintegrasi denga maksud yang sama untuk mencapai suatu tujuan yang sama.

Maka pada dasarnya sistem adalah sekumpulan elemen yang saling terkait atau terpadu yang di maksudkan untuk mencapai suatu tujuan. Sebagai gambaran,


(25)

jika dalam sebuah sistem terdapat elemen yang tidak memberikan manfaat dalam mencapai tujuan yang sama, maka elemen tersebut dapat dipastikan bukanlah bagian dari sistem.

2.1.2 Informasi

McFadden, dkk ( 1999 ) mendefinisikan informasi sebagai data yang telah diproses sedemikian rupa sehingga meningkatkan pengetahuan seseorang yang menggunakan data tersebut. Shannon dan weaver, dua orang insinyur listrik, melakukan pendekatan secara matematis untuk medefinisikan informasi.

Kroenke (1992 ). Menurut mereka , informasi adalah “ jumlah Ketidakpastian yang dikurangi ketika sebuah pesan di terima “. Artinya, dengan adanya informasi, tingkat kepastian menjadi meningkat.

Menurut Davis (1999), informasi adalah data yang telah di olah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau saat mendatang.

Secara umum informasi dapat didefinisikan sebagai hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian-kejadian yang nyata yang digunakan untuk pengambilan keputusan. Informasi merupakan data yang telah diklasifikasikan


(26)

atau diolah atau diinterpretasi untuk digunakan dalam proses pengabilan keputusan.

2.2 Database dan Database Management System (DBMS)

2.2.1 Database

Database adalah sekumpulan koleksi data yang berhubungan secara logikal, dan sebuah diskripsi dari data tersebut. Didesain untuk menemukan keperluan informasi pada sebuah perusahaan ( Connoly, p15). Database tempat penyimoanan data yang benar yang dapat digunakan secara bersamaan oleh banyak pengguna dan berisi deskripsi dari data itu sendiri selain data operasional milik perusahaan.

2.2.2 DBMS (Database Managenent System)

Menurut james A. Hall, DBMS adalah sebuah sistem perangkat lunak khusus yang diprogram untuk mengetahui elemen data mana yang bisa diakses ( di dapatkan otorisasinya) oleh pemakai.

Meneurut Connoly, DBMS merupakan sebuah perangkat lunak yang memungkinkan pengguna untuk mendefinisikan membuat, mengambil data, dan mengontrol akses kepada database.


(27)

Biasanya, DBMS menyediakan fasilitas sebagai berikut :

a. Data Definition Language (DDL) memperbolehkan pengguna untuk mendeskripsikan database, misalnya merinci tipe dan batasan yang akan disimpan dalam database.

b. Data Manipulation Language (DML) memperbolehkan pengguna untuk memanipulasi data, misalnya memasukan data, menghapus data, dan mendapatkan data dari database.

c. Menyediakan akses terkontrol ke database, misalnya security system, integrity sistem, concurency control system,recovery control system, user_accesible catalog.

2.2.3 Komponen Utama DBMS

Komponen utama DBMS dapat di bagi 4 macam :

a. Perangkat keras yaitu berupa komputer bagian – bagian di dalamnya seperti prosesor, memory dan hardisk.

b. Data yaitu didalam basis data mempunyai sifat terpadu dan berbagi, terpadu berarti bahwa berkas – berkas data yang ada pada basis data saling terkait, tapi kemubaziran data tidak akan terjadi sedikit sekali.Berbagi data berarti bahwa data dapat di pakai oleh sejumlah pengguna dalam waktu bersamaan.


(28)

d. Pengguna yaitu dapat di kategorikan menjadi tiga yaitu : Penggunaan akhir, pemrogram aplikasi, dan administrator basis data.

2.2.4 Keunggulan DBMS

Berikut ini keunggulan menggunakan DBMS untuk mengolah data yaitu :

a. Kemandirian data : program aplikasi idealnya tidak di ekspos pada detail representasi dan penyimpanan data. DBMS menyediakan satu pandangan abstrak tentang data yang menyembunyikan detail tersebut.

b. Akses data efisien : DBMS memanfaatkan berbagai teknik yang canggih untuk menyimpan dan mengambil data secara efisien. Fitur ini terutama penting jika data di simpan pada alat penyimpanan eksternal.

c. Integritas dan keamanan data : jika data selalu di akses melalui DBMS maka DBMS dapat memanfaatkan batasan integritas.

d. Administrasi Data : ketika beberapa pengguna berbagi data, pemusatan administrasi data dapat memberikan perbaikan signifikasi.

e. Akses konkuren and Crash Recovery : DBMS menjadwalkan akses konkuren pada data dalam cara tertentu sehingga pengguna dapat memandang data sebagau data yang sedang diakses oleh hanya satu pengguna pada satu waktu. Lebih lanjut, DBMS memproteksi pengguna dari efek.


(29)

Waktu Pengembangan Aplikasi : Tentu saja DBMS mendukung fungsi penting yang merupakan hal yang biasa bagi banyak aplikasi untuk mengakses data dalam DBMS.

2.3 Pemograman Java

Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman, dan sekaligus suatu platform. Sebagai bahasa pemrograman, Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++. Java merupakan bahasa pemrograman berorientasi objek yang merupakan paradigma pemrograman masa depan. Sebagai bahasa pemrograman Java dirancang menjadi handal dan aman. Java juga dirancang agar dapat dijalankan di semua platform, dan juga dirancang untuk menghasilkan aplikasi-aplikasi dengan performansi yang terbaik, seperti aplikasi database Oracle 8i/9i yang core-nya dibangun menggunakan bahasa pemrograman Java. Sedangkan Java bersifat neutral architecture, karena Java Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras.

Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu: 1. Java Virtual Machine (JVM)

2. Java Application Programming Interface (Java API) Sun membagi arsitektur Java membagi tiga bagian, yaitu:


(30)

1. J2EE (Java 2 Enterprise Edition) 2. J2SE (Java 2 Second Edition) 3. J2ME (Java 2 Micro Edition)

2.3.1 J2EE (Java 2 Enterprise Edition)

J2EE adalah kelompok dari beberapa API (Application Programming Interface) dari Java dan teknologi selain Java. J2EE dirancang untuk membuat aplikasi yang rumit. J2EE sering dianggap sebagai middle-ware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat digunakan disemua lapisan dari sebuah sistem informasi.

Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dan rutin standard untuk aplikasi client maupun server, termasuk aplikasi yang berjalan di web browser. untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi.

2.3.2 J2SE (Java 2 Standard Edition)

Aplikasi yang dibuat dan dikembangkan penulis dalam penulisan ini menggunakan bahasa pemrograman berbasis Java 2 Standard Edition (lebih dikenal dengan J2SE). Pada bagian ini, penulis akan menjelaskan dasar-dasar


(31)

J2SE, meliputi pengenalan J2SE dan komponen pada J2SE. Berikut adalah penjelasannya:

J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman Java untuk aplikasi desktop yang merupakan object-oriented programming. Pada J2SE, terdiri dari dua buah produk yang dikeluarkan untuk membantu dalam membuat aplikasi tanpa tergantung dari platform yang digunakan, yaitu:

1. Java SE Runtime Environment (JRE)

Java Runtime Environment (JRE) menyediakan perpustakaan, Java Virtual Machine (JVM), dan komponen lain untuk menjalankan applet dan aplikasi yang ditulis dengan bahasa pemrograman Java. Selain itu, terdapat dua buah kunci teknologi yang merupakan bagian dari JRE, yaitu: d Plug-in, yang memungkinkan menjalankan applet di browser populer dan Java Web Start, yang menyebarkan aplikasi mandiri melalui jaringan. JRE tidak mengandung utilitas seperti compiler atau debugger untuk mengembangkan applet dan aplikasi.

2. Java Development Kit (JDK)

Java Development Kit (JDK) merupakan perangkat lunak yang digunakan untuk menajemen dan membangun berbagai aplikasi Java. JDK merupakan superset dari JRE, berisikan segala sesuatu yang ada di JRE ditambahkan compiler dan debugger yang diperlukan untuk mengembangkan applet dan aplikasi.

Pada JDK, terdapat berbagai tools yang digunakan untuk membangun aplikasi Java. Tools tersebut digambarkan dengan diagram berikut:


(32)

Gambar 2.1 Tools DasarJDK

Bahasa pemrograman Java menyediakan library-library standar yang telah di-compile dan dapat langsung digunakan dalam implementasi pembuatan sebuah aplikasi. Pada library, terdapat berbagai macam class yang dapat digunakan dan telah dikelompokkan ke dalam package. Package yang tersedia dalam J2SE akan dijabarkan pada tabel berikut:


(33)

Package Nama Package Keterangan

Language java.lang Class-class utama yang merupakan inti dari bahasa Java

Untilities java.until Class-class yang mendukung utilitas struktur Java

I/O java.io Class-class yang mendukung berbagai macam tipe input dan output

Text java.text Class yang mendukung lokalisasi penanganan teks, tanggal, bilangan, dan message

Math java.math Class untuk melakukan perhitungan aritmatik arbitrary-precesion, baik integer atau floatingpoint

AWT java.awt Class untuk perancangan user-interface dan event-handling

Swing java.swing Class untuk membuat berbagai komponen dalam Java yang bertingkahlaku sama dengan berbagai platform

Javax Javax Perluasan dari bahasa Java Applet java.applet Class untuk membuat applet


(34)

Reflection java.lang.reflect Class untuk memperoleh informasi run-time

SQL java.sql Class untuk mendukung akses dan pengolahan data dalam database RMI java.rmi Class untuk mendukung distributed

programming

Networking java.net Class untuk mendukung dalam membangun aplikasi jaringan

Security java.security Class untuk mendukungkeamanan kriptografi

Tabel 2.1 Tabel Package pada J2SE

2.3.3 J2ME ( Java 2 Micro Editon)

J2ME adalah lingkungan pengembangan yang dirancang untuk meletakan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat, maka belum tentu juga berfungsi baik pada perangkat yang lainnya.

J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil


(35)

dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan sejenisnya.

J2ME adalah bagian dari J2SE, karena itu tidak semua librabry yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa library khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat seperti pada Gambar 2.2.

Gambar 2.2 Arsitektur J2ME

2.3.4 GUI (Graphical User Interface)

Class dapat digambarkan sebagai cetakan untuk membuat object dengan karakteristik sesuai yang dimiliki oleh class tersebut. Class menyediakan kemampuan bagi objectobject yang dibangun dari class tersebut. Class dapat dipandang sebagai gambaran umum dari sebuah object, sedangkan bentuk aktual object dalam Java disebut instance. Analoginya, andaikan Class sebagai gambar rancangan sebuah gedung, maka instance adalah gedung yang telah dibangun berdasarkan rancangan tersebut. Jadi sebenarnya tidak ada perbedaan antara


(36)

Object dan Instance, hanya saja object merupakan definisi umum sedangkan instance merupakan sebutan bagi object yang nyata terlihat. Keduanya mengacu pada benda yang sama.

Dalam Java, class dikelompokkan berdasarkan fungsi umumnya, misalkan untuk membuat program berbasis GUI (Graphical User Interface), atau fungsi lainnya. Kelompok class ini disebut classlibrary. Pemrograman tidak perlu repot membuat class library, karena development kit yang ada telah membuat library sedemikian rupa, sehingga mudah digunakan. Misalnya library java.awt untuk memprograman GUI. Dengan adanya program berbasis grafis ini, mengolah database akan menjadi lebih mudah, disamping tampilannya lebih menarik. Beberapa bagian dasar GUI adalah:

1. JLabel

JLabel namaLabel = new JLabel(“label”)

Sama seperti namanya, class ini akan membuat suatu label pada sebuah window.

2. JTextField

JTextField namaText = new JTextField(jumlah_karakter_max);\ JTextField adalah suatu class yang akan memudahkan dalam membentuk isian text pada suatu frame.

3. JButton

JButton namaButton = new JButton(“label_pada_button”);

JButton adalah suatu class yang akan membantu membentuk objek tombol.


(37)

4. JFrame

JFrame sebenarnya adalah suatu class yang disediakan untuk memudahkan dalam membuat suatu window.

5. JInternalFrame

Sama halnya dengan JFrame, JInternalFrame akan membantu dalam membuat window. Bedanya JInternalFrame akan berada didalam suatu window lainnya, jadi tidak dapat berdiri sendiri seperti JFrame.

6. JMenu

JMenu akan membuat objek menu bar pada sebuah frame. 7. ActionListener

ActionListener bukan merupakan suatu objek, melainkan sebuah class yang akan menampung aksi-aksi dari sebuah objek (yang banyak dipakai disini adalah tombol). Aksi-aksi itu akan ditampung dalam sebuah metode bernama ActionPerformed. Jadi bila menggunakan ActionListener, maka harus menyertakan metode ActionPerformed pada class tersebut.

8. Container

Container.setLayout(new GridLayout(jumlah_baris, jumlah_kolom)); Container akan membantu dalam mengatur penempatan objek seperti text, label,ataupun tombol. Ada banyak cara yang disediakan untuk mengatur penempatan objek. GridLayout akan membagi sebuah window menjadi beberapa baris dan kolom sesuai yang masukkan


(38)

pada saat setLayout. Dan penempatan objeknya dimulai dari kiri atas lalu kekanan.

Empat hal utama untuk membangun program berbasis GUI menggunakan swing, yaitu:

1. Menciptakan dan konfigurasi component Untuk menciptakan component GUI sama seperti membuat object lain dalam Java, dengan menjalankan constructor. Setiap component dapat dilihat karakteristiknya dalam dokumentasi Java.

2. Menambahkan component pada container Setiap component dalam Java harus diletakkan didalam container. Container dalam Java terdapat di java.awt.Container. Container yang sering digunakan yaitu JFrame dan JDialog. Untuk program berbasis web, dapat menggunakan container Applet dalam class java.applet.Applet. Ketiga container tersebut merupakan top level-container, yaitu container dasar yang menjadi tempat dasar bagi component dan container yang lain. Selain tiga di atas masih ada beberapa container lain seperti JPanel.

3. Mengatur tata letak component Setelah meletakkan component dalam container, maka component dapat diatur ukuran dan tata letaknya. Selain itu dapat juga diatur warna dan bentuknya. Untuk mengatur layout, object yang digunakan yaitu LayoutManager.

4. Menangani kejadian (event-handling) yang dihasilkan oleh component Component seringkali mengalami kejadian seperti button diklik, frame


(39)

digeser, dan lain sebagainya. Kejadian merupakan hasil interaksi user dan program. Kejadian ini lebih lanjut disebut dengan event. Agar program dapat merespon event, maka perlu adanya event-listener.

2.4 Bahasa Pemrograman Java

Java adalah bahasa pemrograman yang dapat dijalankan diberbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan dirilis tahun 1995. Java berbeda dengan JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser.

2.4.1 Sejarah Perkembangan Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai


(40)

pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.

Perusahaan baru ini bertambah maju, jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide diantara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya dikalangan akademisi dan militer.

Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.

Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.

Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape. Nama Oak, di ambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak di pakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar


(41)

dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Java. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Java (bahasa Inggris untuk Java adalah Java).

2.4.2 Kelebihan Pemrograman Java

Java memiliki beberapa kelebihan dibandingkan dengan bahasa pemrograman lainnya. Adapun kelebihan tersebut di antaranya:

1. Sederhana dan Ampuh

Java dirancang untuk mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++ akan mudah sekali untuk berpindah ke Java. Pemakai dapat belajar membuat program dengan Java secara cepat jika telah memahami konsep dasar pemrograman berorientasi objek. Java member programmer kemampuan untuk menuangkan semua ide, karena bahasa pemrograman ini bukan merupakan scripting language (bahasa naskah) yang menghilangkan kemampuan programmer untuk berinovasi, tetapi dengancara berorientasi objek yang mudah dan jelas.

2. Aman

Java dirancang sebagai bahasa pemrograman yang handal dan aman. Aplikasi-aplikasi yang dibangun dengan bahasa Javasangat handal dengan manajemen memori yang bagus. Aplikasi Java juga dikenal sangat secure,


(42)

yaitu kasus-kasus seperti buffer everflow yang umumnya menjadi lubang keamanan aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena pengaturan keamanannya yang bagus.

3. Berorientasi-Objek

Java merupakan bahasa pemrograman berorientasi objek dan bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tida kompetibel dengan semuanya. Java memiliki keseimbangan, menyediakan mekanisme peng-class-an sederhana, dengan model antar muka dinamik yang intuitif hanya jika diperlukan.

4. Kokoh

Kesalahan sering terjadi pada saat kompilasi karena Java merupakan bahasa pemrograman yang sensitif dalam hal deklarasi dan tipe data. Oleh karena hal

tersebut, Java memiliki batasan agar dapat menemukan kesalahan lebih cepat saat mengembangkan program yaitu dengan langsung memeriksa program saat ditulis, dan sekali lagi ketika program di jalankan. Hal ini akan lebih menghemat waktu jika dibandingkan dengan keharusan menjalankan program terlebih dahulu dan memeriksa semua bagian program untuk melihat ketidakcocokan dinamis selama program berjalan. 5. Interaktif

Java memiliki kemampuan yang memungkinkan program melakukan beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah


(43)

digunakan memungkinkan programmer untuk memikirkan pembuatan perilaku khusus, tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman global yang mengatur perulangan kejadian.

6. Netral Terhadap Berbagai Arsitektur

Java memiliki kemampuan yang memungkinkan program melakukan beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan memungkinkan programmer untuk memikirkan pembuatan perilaku khusus, tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman global yang mengatur perulangan kejadian.

7. Terinterpretasi dan Berkinerja-Tinggi

Java dirancang untuk tetap berkinerja baik pada CPU yang tidak terlalu kuat. Walaupun Java merupakan bahasa terinterpretasi, kode-kode Java telah dirancang dengan hati-hati sehingga mudah diterjemahkan ke dalam bahasa asli suatu mesin untuk menghasilkan kinerja yang tinggi. Java dilengkapi keajaiban lintas-platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut kode-byte Java(Javabyte-code), yang dapat diterjemahkan oleh sistem manapun yang memilki program Java didalamnya. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yakni :

a. Java virtual machine (jvm)

b. Java application programming interface (Javaapi) 8. Multiplatform


(44)

Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/ sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin/bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk menginterpretasikan bytecode tersebut.

9. Perpustakaan Kelas yang Lengkap

Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman Java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

10.Bergaya C++

Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java sendiri memiliki sintaks seperti bahasa pemrograman C++, dengan


(45)

tambahan yang sangat istimewa yaitu komentar yang nantinya digunakan untuk menciptakan dokumentasi secara otomatis oleh suatu aplikasi yang disebut javadoc, sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid-murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. 11.Pengumpulan sampah otomatis

Memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). Serupa dengan C, java mengalokasikan operator baru untuk mengalokasikan memori pada heap untuk objek baru.

2.4.3 Kekurangan Pemrograman Java

Adapun kekurangan pemrograman Java, yaitu: 1. Tulis sekali, perbaiki di mana saja

Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.


(46)

Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. 3. Penggunaan memori yang banyak

Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

2.4.4 Contoh Pemrograman Java

Contoh program Hello World yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:

public class HelloWorld {

public static void main(String args[]) { System.out.println("Hello, world!"); }


(47)

Kode program tersebut dituliskan pada sebuah text editor seperti JCreator serta disimpan dengan ekstensi *.Java (contoh: HelloWorld.Java) pada direkori D:/area_Java dan outputnya jika dijalankan di command prompt windows adalah sebagai berikut:

Gambar 2.3 Hasil Program dengan Menggunakan Java

2.5 Tahapan Kompilasi Java

Adapun tahapan kompilasi Java sebagai berikut: 1. Tulis/Ubah

Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.Java'.

2. Kompilasi

Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.

3. Muat


(48)

4. Verifikasi

Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.

5. Jalankan

Penerjemah menerjemahkan bytecodes ke bahasa mesin dan memilih mana yang tidak bisa di pakai.

2.6 Swing

Java Swing merupakan library Java yang digunakan untuk menciptakan Graphic User Interface (GUI) yang berbasis cross platform atau OS independent. User interface yang dibangun dengan Java swing dapat dijalankan pada sistem operasi apa saja yang mendukung Java dengan tampilan yang relatif sama, bahkandapat menyerupai user interface Windows XP, Windows7, Mac OS atau Linux.

2.6.1 Sejarah Swing

Internet Foundation Classes (IFC) merupakan library grafik untuk Java yang dikeluarkan pertama kali oleh Netscape Comminication Corporation pada 16 Desember 1996. Pada 2 April 1997, Sun Microsystems dan Netscape Comminication Corporation menggabungkan IFC dengan teknologi lain untuk membangun Java Foundation Classes.


(49)

Swing diperkenalkan sebagai mekanime yang dapat dilihat dan dirasakan tiap-tiap komponen dalam sebuah aplikasi tanpa membuat perubahan pada substansi dalam pengkodean dari aplikasi. Perkenalan tersebut didukung dengan pluggabke kook and feel yang membuat komponen swing dapat digunakan dalam berbagai platform. Pada dasarnya, swing merupakan library yang terpisah. Namun, sejak Java Standard Edition 1.2 dipublikasikan, swing sudah termasuk ke dalam bagian J2SE.

2.6.2 Arsitektur Swing

Swing merupakan platform-independent, Model View Controller framework untuk Java yang mengikuti model pemrograman tunggal. Arsitekturdari swing terdiri dari:

1. Platform Independence

Swing dapat digunakan diberbagai platform seperti Windows OS, Mac OS, dan Linux karena ekspresi Java dan implementasinya hamper sama untukberbagai platform.

2. Extensible

Swing merupakan arsitektur terpartisi, yang memungkinkan untuk penggunaan implementasi berbagai framework interface tertentu. Penggunadapat menyediakan kustom implementasi sendiri dari komponen untukmenggantikan implementasi default. Secara umum, pengguna Swing dapat menambahkan framework dengan memperluas framework yang


(50)

sudah adadan menyediakan implementasi alternatif komponen inti. Swing jugamerupakan framework berbasis komponen, dimana komponen Swing adalah komponen Java Beans yang kompatibel dengan spesifikasi Java Beans Component Architecture.

3. Customizable

Atas dasar model program rendering dari framework Swing, kendali atas rincian rendering komponen dimungkinkan dalam Swing. Representasi visual dari komponen Swing pada umumnya berupa satu set standar elemen. Pengguna program biasanya menyesuaikan komponen Swing standar dengan menetapkan beberapa elemen untuk membuat visualisasi kontrol GUI yang unik.

4. Configurable

Swing bergantung pada mekanisme runtime dan pola komposisi tidak langsung untuk merespon perubahan pengaturan secara run-time. Contohnya aplikasi berbasis Swing dapat mengubah tampilan pada saat run-time, dimana pengguna dapat memberikan tampilan mereka sendiri dan diimplementasikan tanpa perubahan apapun pada kode program. 5. Loosely-Coupled and MVC

Pustaka Swing memanfaatkan pola model/view/controller(mvc) desain perangkat lunak yang secara konseptual pasangan data yang dilihat dari kontrol interface pengguna melalui yang dilihat. Karena hal tersebut, komponen Swing dikaitkan model dan programmer dapat menggunakan berbagai macam implementasi atau menyediakan sendiri implementasi


(51)

tersebut. Penggunaan framework Swing tidak memerlukan penciptaan model, karena telah tersedia satu set implementasi yang transparan secara default, yang terkait dengan kelas Jcomponent di perpustakaan Swing. Komponen yang kompleks mungkin memerlukan implementasi model disekitar data spesifik aplikasi seperti: tabel dan pohon.

2.6.3 Komponen Dasar Swing

Secara umum, komponen swing terdiri dari lima bagian yang sering digunakan, yaitu:

1. Top-level Container

Merupakan container dasar dimana komponen lainnya diletakkan. Toplevel Container ini terdiri dari Frame, Dialog, dan Applet yang diimplementasikan dalam class JFrame, JDialog, dan JApplet.

2. Intermediate Container

Merupakan komponen perantara untuk peletakkan komponen lainnya, yaitu class JPanel.

3. Atomic Container

Merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan jenis komponen ini. Komponen ini terdiri dari:JButton, JTextField, dan JTextArea.


(52)

Layout Manager berfungsi untuk mengatur posisi dari komponen yang diletakkan pada container. Terdapat lima macam layout, yaitu: class BorderLayout, Boxlayout, FlowLayout, GridBagLayout, dan GridLayout. 5. Event Handling

Event Handling berfungsi untuk menangani event yang dilakukan user, misalnya menekan tombol, mengklik mouse, dan lain sebagainya.

2.7 AWT

AWT atau Abstract Window Toolkit adalah salah satu platformindependent Java untuk windowing, graphics, dan user-interface widget toolkit. Saat ini, AWT sudah termasuk ke dalam bagian dari Java Foundation Classes (JFC), yaitu standar API untuk pemrograman Java berbasis GUI. AWT merupakanGUI toolkit untuk beberapa profil Java ME, seperti konfigurasi alat yang terhubung meliputi Java runtimes pada mobile telephone untuk mendukung AWT.

2.7.1 Sejarah AWT

Ketika Java pertama kali dirilis oleh Sun Microsystems pada tahun 1995, komponen AWT memberikan tingkat abstraksi yang tipis yang mendasari interface pengguna. Contohnya, menciptakan checkbox AWT akan menyebabkan pemanggilan langsung subroutine yang mendasari pembuatan checkbox. Program


(53)

GUI yang ditulis dengan menggunakan AWT tampak seperti aplikasi asli ketika dijalankan pada sistem operasi yang menjalankan aplikasi tersebut.

Dalam J2SE 1.2, komponen AWT sebagian besar digantikan dari toolkit Swing. Selain menyediakan satu set komponen UI, Swing menarik komponen sendiri(dengan menggunakan Java 2D untuk memanggil ke subroutine tingkat rendah dalam subsistem grafis lokal) bukan mengandalkan modul pengguna tingkat tinggi interface sistem operasi. Swing menyediakan pilihan baik

menggunakan sistem “tampilan dan nuansa” menggunakan platform asli tampilan

dan nuansa atau platform-silang yang terlihat pada semua platform. Namun, Swing bergantung pada AWT untuk tampilan interface untuk sistem windowing asli.

2.7.2 Arsitektur AWT

AWT menyediakan dua tingkat API, yaitu:

1. Interface umum antara Java dengan sistem asli, digunakan untuk windowing, manajer layout. API ini merupakan inti dari pemrograman Java GUI dan juga digunakan oleh Swing dan Java 2D yang berisi:

a. Interface antara sistem windowing asli dan aplikasi Java. b. Inti dari event subsistem GUI.

c. Beberapa manajer layout.


(54)

e. Paket java.awt.datatransfer untuk digunakan dengan clipboard dan Drag and Drop.

2. Satu set dasar komponen GUI seperti button, textbox, dan menu yang juga menyediakan interface dasar AWT, yang memungkinkan librari render dikompilasi ke kode asli untuk langsung menarik ke AWT canvas permukaan objek gambar.

AWT juga membuat beberapa fungsionalitas tinggti yang tersedia untuk aplikasi, seperti:

1. Akses ke sistem tray pada sistem pendukung.

2. Kemampuan untuk meluncurkan beberapa aplikasi dekstop seperti browser web dan klien email dari aplikasi.

Baik AWT ataupun Swing secara inheren aman, karena kode yang meng-update GUI harus dijalankan pada thread event pengirim. Kegagalan untuk melakukan hal ini dapat menyebabkan kondisi kebuntuan atau ras. Untuk mengatasi masalah ini, kelas utilitas bernama SwingWorker memungkinkan aplikasi untuk melakukan tugas-tugas yang memakan waktu mengikuti acara-interaksi pengguna di threadacara pengirim.

2.8 Koneksi Database Java

Koneksi database Java sering disebut sebagai JDBC, adalah sebuah application programming interface (API) untuk bahasa pemrograman Java yang mendefinisikan bagaimana klien dapat mengakses database. Ini menyediakan


(55)

metode untuk query dan meng-update data dalam database. JDBC berorientasi pada database relasional. Sebuah jembatan JDBC-ke-ODBC memungkinkan sambungan ke sumber data ODBC dapat diakses dalam lingkungan host JVM.

Gambar 2.4 Skema koneksi database Java

2.9 Database MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan GPL.


(56)

Tidak sama dengan proyek-proyek seperti Apache, di mana perangkat lunak dikembangkan oleh komunitas umum dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, di mana memegang hak cipta hampir atas semua kode sumbernya sehingga pengguna dapat mengunduh software ini dan memakainya secara gratis.

2.9.1 Perkembangan Database MySQL

MySQL merupakan hasil buah pikiran dari Michael “Monty” Widenius, David Axmark dan Allan Larsson yang dimulai pada tahun 1995. Mereka kemudian mendirikan perusahaan bernama MySQL AB di Swedia. Tujuan awal ditulisnya program ini adalah untuk mengembangkan aplikasi web yang akan digunakan oleh salah satu klien MySQL AB.

MySQL versi 1.0 dirilis pada Mei 1996 dan penggunaannya hanya terbatas di kalangan intern saja. Pada bulan Oktober 1996, MySQL versi 3.11.0 dirilis ke

masyarakat luas di bawah lisensi “Terbuka Tapi Terbatas”. Barulah pada bulan

Juni 2000, MySQL AB mengumumkan bahwa mulai MySQL versi 3.23.19 diterapkan sebagai GPL (General Public License). Dengan lisensi ini, maka

“Siapa pun boleh melihat program aslinya dan menggunakan program

eksekusinya dengan cuma-cuma. Dan bila ingin memodifikasi pada program aslinya, maka program modifikasi tersebut harus dilepas di bawah lisensi GPL


(57)

Hingga kini MySQL terus berkembang dengan berbagai penyempurnaan sehingga dirilis MySQL versi 5.0.21 pada bulan Mei 2006, yang semula untuk melakukan administrasi dalam basis data MySQL, dengan menggunakan modul yang berupa Command Prompt (perintah: mysql dan mysqladmin). Saat ini dapat dirancang sebuah database melalui modul berbasis grafik GUI (Graphical User Interface) seperti PhpMyAdmin dan MySQL Query Browser Tools.

2.8.2 Perintah Dasar Database MySQL

Dalam menjalan MySQL diperlukan berbagai perintah untuk membuat suatu database, berikut ini disebutkan beberapa perintah dasar dalam menggunakan MySQL. Untuk menjalankan MySQL pertama kali cukup dengan mengetikkan mysql pada Command Prompt. Perintah-perintahnya adalah sebagai berikut :

1. Menampilkan database : SHOW DATABASE;

2. Membuat database baru : CREATE DATABASE database; 3. Memilih database yang akan digunakan : USE database; 4. Menampilkan tabel : SHOW TABLE;

5. Membuat tabel baru : CREATE TABLE tabel (field spesifikasi_field,...); 6. Menampilkan struktur tabel : SHOW COLUMNS FROM tabel atau

DESCRIBE tabel;


(58)

8. Mengisikan data : INSERT INTO table(kolom1, ) VALUES

(„data_kolom1‟, ); atau INSERT INTO table SET kolom1 =

„data_kolom1‟, ;

9. Menampilkan data : SELECT kolom FROM tabel WHERE kriteria ORDER BY kolom atau SELECT * FROM tabel;

10.Mengubah data : UPDATE tabel SET kolom = pengubahan_data WHERE kriteria;

11.Menampilkan data dengan kriteria tertentu : SELECT kolom1,... FROM table WHERE kriteria;

12.Menghapus data : DELETE FROM tabel WHERE kriteria; 13.Menghapus tabel : DROP tabel;

14.Menghapus database : DROP database; 15.Keluar dari MySQL : QUIT; atau EXIT;

2.10 NetBeans IDE 7.0.1

Penulisan menggunakan Text Editor NetBeans IDE 7.0.1 untuk membuat kode sumber dapat dilihat pada Gambar 2.5.


(59)

Gambar 2.5 NetBeans IDE 7.0.1

2.9.1 Langkah Awal Menjalankan Aplikasi NetBeans IDE 7.0.1

Langkah-langkah dalam menjalankan Aplikasi NetBeans IDE 6.8 sebagai erikut: 1. Klik tombol start pada bagian Taskbar.

2. Pilih menu Programs dan pilih Netbeans, kemudian klik Netbeans. 3. Setelah itu pilih New Project seperti Gambar 2.6.


(60)

Gambar 2.6 New Project Netbeans IDE 7.0.1

4. Kemudian pilih Java pada Categories dan pilih Java Application pada Projects. Lalu Klik Next.

5. Kemudian akan Muncul Tampilan sebagai berikut.


(61)

6. Kemudian isi project name dengan nama file yang diinginkan. Kemudian klik Finish.

7. Untuk membuat form pada netbeans klik kanan pada Source Packages, pilih New Jframe Form. Akan tampil gambar dibawah ini.

Gambar 2.8 New JFrame Form

8. Kemudian isi Class name-nya lalu klik Finish.

9. Setelah klik Finish akan muncul tampilan seperti dibawah ini. Selanjutnya silahkan membuat Aplikasi yang diinginkan.


(62)

Gambar 2.9 Layar Project NetBeans IDE 7.0.1

IDE merupakan sebuah lingkungan dimana semua tombol perintah yang diperlukan untuk mendesain aplikasi, menjalankan dan menguji sebuah aplikasi disajikan dengan baik untuk memudahkan pengembangan program.

2.9.2 Komponen NetBeans 7.0.1

1. Main Windows

Jendela utama ini bagian dari IDE yang mempunyai fungsi yang sama dengan semua fungsi utama dari program aplikasi Windows lainnya. Jendela utama Netbeans terbagi menjadi tiga bagian, berupa Main Menu, Toolbar dan Component Pallete.


(63)

Netbeans Netbeans memiliki beberapa toolbar yang masing-masing memiliki perbedaan fungsi dan setiap tombol pada bagian toolbar berfungsi sebagai pengganti suatu menu perintah yang sering digunakan. Toolbar sering disebut juga dengan Speedbar. Toolbar terletak pada bagian bawah baris menu. Pada kondisi default Netbeans memiliki beberapa bagian toolbar, antara lain : Build Main Project, Clean and Build Main Project, Run Main Project, Debug Main Project, dan Profile Main Project.

3. Component Palette

Component Pallete berisi kumpulan ikon yang melambangkan komponen-komponen yang terdapat pada VCL (Visual Component Library), pada Component Pallete akan ditemukan beberapa page control, seperti Swing Containers, Swing Controls, Swing Menus, Swing Windows, AWT, Beans, dan Java Persistence. Dalam Pallete dapat juga ditambahkan dari user seperti pada dibawah penulis menambahkan beberapa pallete yang memudahkan pembuatan proyek kerja, seperti yang tampak pada Gambar 2.10.


(64)

Gambar 2.10 Component Palette Netbeans IDE 7.0.1

4. Component Properties

Component Properties berisi kumpulan yang melambangkan komponen-komponen yang terdapat pada VCL (Visual Component Library), pada Component Properties terdapat beberapa bagian yaitu, DefaultCloseOperation, title, alwaysOnTop, alwaysOnTopSupported, autoRequestFocus, background, bounds, cursor, enabled, extendedState, focusCycleRoot, FocusTraversalPolicyProvider, focusable, focusableWindowState, font, foreground, graphic, iconimages, insets, locationByPlatform, MaximizeBound, MaximumSize, seperti yang tampak pada Gambar 2.11.


(65)

Gambar 2.11 Component Properties

5. From Designer

Form Designer merupakan suatu objek yang dapat dipakai sebagai tempat untuk merancang program aplikasi. Form berbentuk sebuah meja kerja yang dapat diisi dengan komponen-komponen yang diambil dari Component Pallete seperti yang tampak pada Gambar 2.12.

Gambar 2.12 Form Kerja NetBeans IDE 7.0.1 6. Source Editor


(66)

Source Editor merupakan tempat untuk menuliskan kode program. Pada bagian ini dapat dituliskan pernyataan-pernyataan dalam Object Java. Keuntungan bagi pemakai Netbeans adalah bahwa tidak perlu menuliskan kode-kode sumber, karena Netbeans telah menyediakan kerangka penulisan sebuah program seperti yang tampak pada Gambar 2.13

Gambar 2.13 Source Editor 7. Object Project

Adalah objek tampilan project (lembar kerja) disini semua lembar kerja akan tampil baik berupa Frame, Class, database, Ireport dan lain


(67)

(68)

8. Object Inspektor

Object Inspector digunakan untuk mengubah properti atau karakteristik dari sebuah komponen. Object Inspector terdiri dari dua tab, yaitu Properties dan Events seperti yang tampak pada Gambar 2.15.


(69)

BAB 3

GAMBARAN UMUM PERUSAHAAN

3.1 Sejarah Ringkas

Apotek Medan Denai merupakan salah satu dari sarana kesehatan, yang bertujuan untuk menciptakan daerah yang cinta akan kesehatan dan mewujudkan derajat kesehatan yang optimal bagi masyarakat Denai.Apotik Medan Denai didirikan

pada tahun 2012 dengan nama “Apotik Denai” yang beralamatkan Jl Denai no

198 B, Mandala, Medan. Apotik ini mengelola penjualan obat baik yang obat dari rsesep dokter, maupun obat yang umum dan juga menjual alat kesehatan lainnya. Apotik ini menciptakan lapangan pekerjaan bagi masyarakat dan melayani masyarakat dalam halnya kesehatan khususnya obat-obatan. Apotik ini terdiri dari Pemilik Modal Apotik, Apoteker dan kasir. Melihat perkembangan yang telah dialaminya, apotik dua saudara berkembang dengan cepat dan memiliki pelanggan yang cukup banyak hingga sampai sekarang apotik itu berjalan.


(70)

3.2 Visi dan Misi

3.2.1 Visi

Menjadikan Apotik yang berkualitas dibidang kesehatan dan terjangkau oleh masyarakat kota Medan.

3.2.2 Misi

1. Menyelenggarakan pelayanan kesehatan yang baik pada pelanggan 2. Meningkatkan kualitas dan kuantitas sumber daya manusia

3. Mengupayakan perlindungan hukum bagi sumber daya manusia 4. Menciptakan dan mengembangkan lingkunagn yang sehat 5. Meningkatkan program-program yang menunjang Apotik

3.2.3 Tempat Dan kedudukan Apotik Denai

Jl. Denai No. 198 B. Mandala. Medan, Kode Pos 20227.

3.3 Struktur Organisasi

Dalam sebuah perusahaan dan instansi struktur organisasi merupakan salah satu faktor pendukung keberhasilan untuk mencapai sebuah tujuan yang telah


(71)

ditetapkan dalam perusahaan. Dimana struktur organisasi menggambarkan wewenang, tanggung jawab, dan hubungan tiap bagian yang ada didalamnya.

Perusahaan ini mempunyai struktur line (Garis), hal ini dinyatakan dengan jelas tentang susunan tugas – tugas dan tanggung jawab yang ada demi lancarnya proses operasional perusahaan dengan baik dan teratur sesuai dengan fungsi dan Jabatan yang ada di dalam perusahaan ini. Berikut ini merupakan bentuk struktur organisasi pada Apotik Denai.

Gambar 3.1 Struktur organisasi Apotik Denai Keterangan :

1. Owner

Orang yang memiliki perusahaan tersebut, owner bertugas mengontrol staf/Asisten apoteker dalam bekerja dan sekaligus memegang keuangan didalam penggajian karyawan. Owner juga bertugas menjadi admin untuk mengetahui semua data obat, mengolah data user,mengolah transaksi baik penjualan atau pembelian obat dan pembuatan laporan.


(72)

Apoteker adalah orang yang bertanggung jawab diapotek itu, yang mengontrol penjualan obat, dan pengecekan obat.

3. Asisten Apoteker (AA)

Asisten apoteker (AA) atau staff yang bertugas melayani pembelian obat, meracik obat, melakukan transaksi dan membuat laporan.

4. Gudang


(73)

BAB 4

ANALISIS DAN PERANCANGAN SISTEM

4.1Analisis

Dalam merancang sebuah sistem, analisis harus mutlak dilakukan. Dengan melakukan analisis yang baik terbaik terhadap sistem akan dikerjakan akan memudahkan kita dalam melakukan perancangan sistem.

4.1.1 Analisis Masalah

Sistem Informasi Sebuah perusahaan memberikan manfaat bagi manajemen dari berbagai aspek. Baik itu dalam manajemen obat maupun memanfaatkan waktu untuk pengolahan data. Salah satu dapat digunakan yaitu Sofware komputer yaitu di implementasikan kedalam Sistem Informasi Manajemen Obat.

4.1.2 Penyelesaian Masalah

Berdasarkan permasalahan diatas, maka dibutuhkan suatu Sistem Informasi yang diharapkan hadir memberikan solusi permasalahan tersebut. Hal yang pertama


(74)

dilakukan adalah menganalisis kebtuhan dari perangkat lunaknya terlebuh dahulu. Baik kebutuhan fungsionalnya maupun yang lainnya.

4.2 Perancangan Sistem

Perancangan sistem merupakan salah satu unsur atau tahapan dari keseluruhan pembangunan sistem komputerisasi. Unsur pokok yang harus dipertimbangkan dlam pembangunan sistem kompuerisasi adalah mengenai perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan.

4.2.1 Perancangan Database

Dalam pembuatan suatu sistem diperlukan perancangan database. Database sebagai media penyimpanan data merupakan salah satu aspek penting yang akan menetukan mutu kerja data program dibuat.

Perancangan sebuah database berdasarkan bagaimana cara merancang dari sistematika tersebut. Pada dasarnya database telah disiapkan untuk menghasilkan sebuah laporan informasi tertentu.

Pada Sistem Informasi Penjualan Obat di Apotik Denai menggunakan MYSQL. Secara garis besar Sistem Informasi Penjualan Obat menggunakan Struktur sebagai Berikut:


(75)

a. Struktur Tabel Pembelian

Nama Field Tipe Data Ukuran Index Keterangan

nopembelian int 3 - Nomor Pembelian

Obat

tglpembelian date 10 - Tanggal Masuk Obat namasuplier varchar 30 - Nama Pemasok

jenis varchar 30 - Jenis Obat

namaobat varchar 30 - Nama Obat

kodeproduk int 10 - Nomor Registrasi Obat

banyak int 3 - Banyaknya Obat

diskon int 6 - Diskon Obat

Total int 10 - Total Obat Masuk

Tabel 4.1 Tabel Pembelian

b. Struktur Tabel Penjualan

Nama Field Tipe Data Ukuran Index Keterangan notransaksi Int 3 - Nomor transakasi

penjualan

namacostumer Varchar 30 - Nama Pelanggan tglpenjualan Date 10 - Tanggal penjualan

obat

namadokter Varchar 30 - Nama dokter pemberi resep namaobat Varchar 30 - Nama obat terjual jenisobat Varchar 30 - Jenis obat terjual kemasanobat Varchar 30 - Kemasan obat


(76)

totalharga int 10 - Total harga

Tabel 4.2 Tabel Penjualan

c. Tabel Obat

Nama Field Tipe

Data Ukuran Index Keterangan

noobat int 30 - nomor obat dalam

database

noproduk Varchar 15 - nomor registrasi produk

nama Varchar 30 - nama

jenis Varchar 30 - jenis obat

kemasan Varchar 30 - kemasan oabt

hargapokok Varchar 10 - harga pokok hargajual Varchar 10 - harga jual obat

Tabel 4.3 Tabel Obat

d. Tabel Distributor

Nama Field

Tipe

Data Ukuran Index Keterangan

nodistributor int 5 -

nomor distributor dalam database


(77)

kodedistributor int 30 - kode distributor

nama Varchar 30 - nama distributor

alamat Varchar 30 - alamat distributor telepon Varchar 13 - telepon distributor


(78)

e. Hubungan Antar Tabel

Gambar 4.1 Hubungan Antar Tabel Username

Password

Admin Data

Pembelian nopembelian; tglpembelian namadistributor jenis namaobat; noproduk private String notransaksi namacostumer tnglpenjualan namadokter namaobat namadistributor jenisobat kemasanobat totalharga Noobat Noproduk namadisrtibutor Namaobat Jenis Kemasan Hargapokok Nodistributor Kodedistributor Namadistributor Alamatdistributor telepondistributor Data Penjualan Data Obat Data Distributor


(79)

4.3 Diagram Konteks

Diagram Konteks merupakan alat bantu dalam perancangan aplikasi yang dibuat. Tujuannya adalah untuk mengambarkan keadaan sistem yang akan dibangun secara umum. Adapun diagram konteks persediaan Obat Apotik Denai adalah sebagai berikut:

Laporan Pembelian Data Obat

Data Obat Laporan Persedian

Obat

Laporan Penjualan

LaporanPenjualan

Gambar 4.2 Diagram Konteks

Penjelasan Mengenai gambar diatas:

Distributor

Sistem

Persediaan

Obat

Stok Obat Tersedia


(80)

Sistem Menyerahkan laporan obat yang akan dipesan setelah pemasok akan menyerahkan laporan obat yang akan dibeli kepada sistem dan menghasilkan laporan pembelian. Sistem akan menyerahkan data obat yang ada (meyediakan aobat yang akan dijual) dan jika pelanggan dan adak menghasilkan laporan pejualan. Sistem akan memberikan keseluruhan data obat (obat yang telah dijual dan dibeli) untuk di proses dalam bagian stok obat. Bagian stok obat. Bagian stok obat akan memeriksa apakah obat tersebut masih ada atau sudah habis, setelah di periksa maka bagian stok barang akan membuat laporan stok barang untuk di kirim ke sistem.


(81)

4.4 Flow Chart (Diagram Alir)

Flowchart atau diagram alir adalah sebuah diagram yang di gambarkan dengan menggunakan simbol – simbol grafis. Flowchart memiliki fungsi untuk menjelaskan aliran algoritma dari suatu aplikasi, dan menganalisis masalah kedalam segmen – segmen untuk menganalisis alternative – alternative lain dala pengoperasian.

Flowchart biasanya di simbol kan dalam bentuk bentuk seperti:

NO Simbol NAMA Fungsi

1 Oval Terminal, Untuk Memulai Dan mengakhiri Suatu Program

2 Anak

Panah

Digunakan untuk menunjukkan alur proses. Sebuah anak panah beawal dan berakhir dengan simbol lain

3 Persegi Panjang

digunakan untu langkah proses seperti perhitungan dan instruksi lain

4 Jajaran

Genjang digunakan untuk mewakili input dan output

5 Dokumen Digunakan untuk mewakili output sebagai alternatif simbol simbol jarjaran genjang pada simbol output 6 Diamond Digunakan untuk menyatakan keputusan


(82)

4.4.2 FlowChart Data pada Apotik Denai Yes NO No No No

Gambar 4.4 FlowChart Apotik Denai Start

GUI

File Tampilan

awal

Data Obat

Menampilka n jenis Obat

Lapora n

Dokumentasi Data penjualan Dan Pembelian

Admin Tampilan

untuk masuk ke menu

A Start


(83)

4.4.1 FlowChart Login Admin Pada Apotik Denai

Username tidak cocok

Cek

Yes

Yes

No

Gambar 4.3 Flowchart Login Admin A

Halaman Admin

Admin Input username

And password

Log out

Username dan password salah

GUI (Graphic User Interface)


(84)

BAB 5

IMPLEMENTASI SISTEM

5.1 Defenisi Implementasi sistem

Implementasi Sistem merupakan prosesdur yang dilakukan untuk menyelesaikan desain sistem yang ada dalam dokumen desain tang disetujui menguji sistem, mengintall dan memulai sistem baru yang telah diperbaiki.

5.2 Komponen Utama dalam Implementasi Sistem

Untuk menguji Sistem Informasi Penjualan Obat Apotik Denai ini dibutuhkan beberapa komponen yang mendukung agar berjalan dengan baik. Oleh sebab itu Dalam mengimplementasikan sistem ini dibutuhkan 3 buah komponen penting yaitu:

1. Hardware (Perangkat Keras)

Perangkat keras adalah komponen atau peralatan yang terdapat pada sebuah komputer yang diperlukan komputer tersebut untuk dapat beroperasi. Untuk mengimplementasikan aplikasi ini sebaiknya menggunakan komputer yang


(85)

memiliki spesifikasi perangkat keras yang tinggi karena komputer ini harus menangani permintaan dalam jumlah yang banyak. Adapun spesifikasi yang direkomendasikan adalah sebagai berikut:

a. RAM minimal 512 Mb

b. Processor minimal Intel Pentium IV 3.00 GHz c. Harddisk minimal 40 Gb

d. Monitor SVGA 14”

e. VGA Card 64 Mb

f. KeyboardStandard PS/2 Keyboard g. Mouse PS/2

2. Software (Perangkat Lunak)

Perangkat lunak adalah program atau instruksi yang terpasang didalam komputer yang memiliki fungsi tertentu. Tujuan utamanya adalah memudahkan pekerjaan manusia. Spesifikasi perangkat lunak(software) yang digunakan sebagai berikut :

a. Microsoft Windows 7 Ultimate Service Pack 1

Microsoft Windows 7 Ultimate Service Pack 1 disini merupakan sistem operasi yang digunakan dalam pembuatan aplikasi ini.

b. JDK 1.6.0_18 for Windows i586.

Penulis menggunakan java versi 1.6 dalam pembuatan aplikasi sebagai pustaka JAVA utama.

c. JRE 1.6.0_18 for Windows i586.

Penulis menggunakan java environment versi 1.6 dalam pembuatan aplikasi sebagai pendukung JDK 1.6.


(86)

d. NetBeans IDE 7.0.1

Penulis menggunakan NetBeans versi 7.0.1 sebagai editor sekaligus compiler

dan builder dalam pembuatan aplikasi.

3. Brainware (Pengguna)

Pengguna mutlak diperlukan karena sistem ini memerlukan perawatan atau

maintenance, baik perawatan hardware maupun software. Aplikasi ini tidak dapat beroperasi dengan sendirinya tanpa ada instruksi dari operator atau user.

5.3 Tujuan Implementasi sistem

a. Membuat desain selama penelitian

b. Menguji dan mendokumentasikan prosedur dan program yang diperlukan oleh dokumen desain sistem yang telah dibuat.

c. Menyelesaikan desain sistem yang telah dibuat.

d. Menyelesaikan desain sistem yang ada didalam desain sistem yang telah disetujui.


(87)

BAB 6

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Dari pembahasan bab – bab sebelumnya maka penulisa dapat mengambil beberapa kesimpulan dari permasalahan pembuatan Sistem Informasi Penjualan Obat Apotik Denai. Kesimpulan tersebut adalah:

1. Aplikasi ini didesain berbasis GUI dimana fungsi-fungsi dimana user dapat menambahkan data penjualan dan data pembelian kedalam database serta tersedia juga pelaporan data.

2. Aplikasi ini dapat dijalankan pada berbagai sistem operasi, seperti Sistem operasi Windows yang terinstal aplikasi yang mendukung aplikasi Java.

6.2 SARAN

Untuk pengembangan sistem lebih lanjut lebih lanjut agar hasilnya lebih baik lagi, maka ada beberapa hal yang dapat penulis sarankan antara lain:


(88)

1. Di harapkan dapat melakukan perbaikan dan penyempurnaan terhadap sistem ini. Sehingga nantinya Sistem ini dapat memenuhi permintaan pasar.

2. Sistem yang telah di buat masih memerlukan perbaikan karena masih memiliki banyak kelemahan – kelemahan dalam memenuhi kebutuhan, baik kebutuhan untuk admin maupun kebutuhan untuk pengolahan data.


(89)

DAFTAR PUSTAKA

Reese, George. 2001. Database Programming with JDBC and JAVA 2nd Edition USA. Orielly.

Gata Windu, G. Grace. 2013. Sukses Membangun Aplikasi Penjualan dengan Java.

Jakarta. PT Elex Media Komputindo

Hartati, G. Sri.2008. Pemrograman GUI Swing Java dengan NetBeans 5. Yogyakarta: Penerbit Andi.

Kadir, Abdul. 2003. Dasar Pemrograman Java 2. Yogyakarta: ANDI.

Shalahuddin,M dan Rosa A.S.2007.Belajar Pemograman dengan Bahasa C++ dan Java. Bandung: Informatika Bandung.

Sigit W, Aloysius.2010. 7 Proyek Aplikasi dengan Java. Jakarta: Elex Media Komputindo.

Supardi,Ir. Yuniar.2009. Belajar Semua Edisi Java 2 untuk Segala Tingkat. Jakarta: Elex Media Komputindo.

Paniangan Rajo, 2011. Perancangan Aplikasi Download Manager Menggunakan Java2se Dengan Editor Netbeans IDE 6.8.Medan


(90)

L

A

M

P

I

R

A

N


(91)

LAMPIRAN

Tampilan Interface Sistem Informasi Apotik Denai

Tampilan Login.java


(92)

Tampilan PenjualanObat.java


(93)

Tampilan DataDistributor.java


(1)

private void

tambahButtonActionPerformed(java.awt.event.ActionEvent evt) {

if (tambahButton.getText().equals("Tambah")) { this.tambahStatus();

} else if (tambahButton.getText().equals("Simpan")) { if (isTextFieldNotEmpty()) {

if (JOptionPane.showConfirmDialog(this, "Yakin simpan data?", "Konfirmasi", JOptionPane.YES_NO_OPTION) == 0) {

try {

Obat obat = new Obat();

obat.setKodeObat(kodeTextField.getText());

obat.setNama(namaTextField.getText()); obat.setJenis(jenisTextField.getText());

obat.setKemasan(kemasanTextField.getText());

obat.setIndikasi(indikasiTextField.getText());

obat.setJumlahStok(Integer.parseInt(stokTextField.getText()) );

obat.setHargaPokok(Double.valueOf(hargaPokokTextField.getTex t()));

obat.setHargaJual(Double.valueOf(hargaJualTextField.getText( )));

obat.setPpn(Integer.valueOf(ppnTextField.getText()));


(2)

DBConnection conn = DBConnection.getInstance();

ObatDAO dao = new ObatDAO(conn.getConnection());

dao.insert(obat);

JOptionPane.showMessageDialog(this, "Data tersimpan!");

this.initStatus(); } catch (SQLException ex) {

JOptionPane.showMessageDialog(this, "Gagal simpan data!");

} } } else {

JOptionPane.showMessageDialog(this, "Semua data harus diisi!");

kodeTextField.requestFocusInWindow(); }

}

}

private void

resetButtonActionPerformed(java.awt.event.ActionEvent evt) { this.initStatus();

}

private void

ubahButtonActionPerformed(java.awt.event.ActionEvent evt) { if (ubahButton.getText().equals("Ubah")) {

this.ubahStatus();

} else if (ubahButton.getText().equals("Simpan")) { if (isTextFieldNotEmpty()) {


(3)

DBConnection conn = DBConnection.getInstance();

ObatDAO dao = new ObatDAO(conn.getConnection());

Obat obat = new Obat();

obat.setKodeObat(kodeTextField.getText()); obat.setNama(namaTextField.getText()); obat.setJenis(jenisTextField.getText()); obat.setKemasan(kemasanTextField.getText());

obat.setIndikasi(indikasiTextField.getText());

obat.setJumlahStok(Integer.parseInt(stokTextField.getText()) );

obat.setHargaPokok(Double.valueOf(hargaPokokTextField.getTex t()));

obat.setHargaJual(Double.valueOf(hargaJualTextField.getText( )));

obat.setPpn(Integer.valueOf(ppnTextField.getText()));

obat.setDiskon(Integer.valueOf(diskonTextField.getText()));

dao.update(records.get(jTable1.getSelectedRow()).getKodeObat (), obat);

} catch (SQLException ex) {

JOptionPane.showMessageDialog(this, "Error : "+ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); }

}

this.setClearTextField();


(4)

this.setPencarianItemEnabled(true); this.jTable1.setEnabled(true); this.cariButton.setEnabled(true); //ke posisi awal

this.tambahButton.setEnabled(true); this.ubahButton.setText("Ubah");

this.loadRecords(kategoriComboBox.getSelectedIndex(), itemTextField.getText());

}

}

private void

itemTextFieldActionPerformed(java.awt.event.ActionEvent evt) {

}

private void

cariButtonActionPerformed(java.awt.event.ActionEvent evt) { if (!itemTextField.getText().isEmpty()) {

loadRecords(kategoriComboBox.getSelectedIndex(), itemTextField.getText());

} else {

this.loadRecords(); }

}

// Variables declaration - do not modify private View.backgroundForm backgroundForm1;

private javax.swing.JButton cariButton;

private javax.swing.JTextField diskonTextField; private javax.swing.JTextField hargaJualTextField; private javax.swing.JTextField hargaPokokTextField; private javax.swing.JTextField indikasiTextField;


(5)

private javax.swing.JTextField itemTextField; private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private View.ScrollPane jScrollPane1; private javax.swing.JTable jTable1;

private javax.swing.JTextField jenisTextField; private javax.swing.JComboBox kategoriComboBox; private javax.swing.JTextField kemasanTextField; private javax.swing.JTextField kodeTextField; private javax.swing.JTextField namaTextField;

private View.PanelWarnaTransparan panelWarnaTransparan1; private View.PanelWarnaTransparan panelWarnaTransparan2; private javax.swing.JTextField ppnTextField;

private javax.swing.JButton resetButton; private javax.swing.JTextField stokTextField; private javax.swing.JButton tambahButton; private javax.swing.JButton ubahButton;

// End of variables declaration }


(6)