• Tidak ada hasil yang ditemukan

X-Sync (XML Syncronization) pada sistem penjualan perusahaan : studi kasus di PT. NKI Prembun - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "X-Sync (XML Syncronization) pada sistem penjualan perusahaan : studi kasus di PT. NKI Prembun - USD Repository"

Copied!
174
0
0

Teks penuh

(1)

SKRIPSI

Ditujukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

Disusun Oleh: Henricus Eko Prabowo

035314004

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

A Thesis

Presented as Partial Fulfillment of the Rrequirements to Obtain the Sarjana Teknik Degree

in Department of Informatics Technology

Created By : Henricus Eko Prabowo

035314004

DEPARTMENT OF INFORMATICS TECHNOLOGY

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)

X – SYNC ( XML SYNCRONIZATION )

PADA SISTEM PENJUALAN PERUSAHAAN

(Studi Kasus di PT. NKI Prembun)

Disusun Oleh :

Nama : Henricus Eko Prabowo NIM : 035314004

Telah disetujui oleh :

Dosen Pembimbing I,

(4)

PADA SISTEM PENJUALAN PERUSAHAAN

(Studi Kasus di PT. NKI Prembun)

Dipersiapkan dan disusun oleh : Nama : Henricus Eko Prabowo NIM : 035314004

Telah dipertahankan di depan panitia penguji pada tanggal 12 Desember 2007 dan dinyatakan memenuhi syarat

Susunan Panitia Penguji :

Nama Lengkap Tanda Tangan

Ketua : Ridowati Gunawan, S.Kom., M.T. ...

Anggota : Alb. Agung Hadhiatma, S.T., M.T. ... Anggota : St. Wisnu Wijaya, S.T., M.T. ...

Yogyakarta, ... Fakultas Teknik

Universitas Sanata Dharma

Dekan,

(5)

judul, isi dan gagasan yang tertuang dalam skripsi ini belum pernah dipakai untuk mendapatkan gelar kesarjanaan di tempat lain baik di Indonesia maupun di luar negeri. Pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan dengan jelas sebagai acuan. Hasil – hasil penelitian, jurnal, makalah, buku, termasuk informasi di internet yang dipakai sebagai acuan dan bahan literatur ditulis dalam daftar pustaka.

Yogyakarta, Desember 2007 Penulis

(6)
(7)

!

"

#

(8)

Nama : Henricus Eko Prabowo Nomor Mahasiswa : 035314004

Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

“X-SYNC ( XML-SYNCRONIZATION ) PADA SISTEM PENJUALAN PERUSAHAAN”

Studi Kasus di PT. NKI Prembun

beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenar – benarnya. Dibuat di Yogyakarta

Pada tanggal : 15 Februari 2008 Yang menyatakan

(9)

perusahaan yang mempunyai cabang di beberapa lokasi. Sebuah sistem informasi yang tadinya hanya ditujukan untuk menangani data pada satu lokasi kantor akan menjadi tidak relevan lagi mengingat semakin besarnya volume transaksi yang terjadi dan lokasi yang terdistribusi. Sistem sinkronisasi ini dibuat untuk menangani siklus penjualan pada suatu perusahaan yang memiliki beberapa kantor cabang. Sistem ini dibangun menggunakan teknologi XML sebagai format pertukaran data yang akan menjadi sarana antara aplikasi Java Client dan Java Server untuk berkomunikasi. Sistem menggunakan MySQL Server sebagai databasenya sedangkan komunikasi dibangun diatas jaringan TCP / IP. Tujuan sistem ini adalah untuk efisiensi proses pertukaran data antar kantor yang terpisah secara geografis agar data pada setiap kantor dapat selalu sinkron.

(10)

which has subdivision in some locations. The information system at the begining is only to handle data in one office will become not relevant again considering bigger and bigger the volume of transaction which is happened and location which is distributed. This synchonization system is made to handle the selling cyclus in the company which has some subdivision office. This system is built use the XML technology as the format of exchange data which will be the medium between Java client and java server application to communicate. The system use MySQL server as its database while communication is built base on TCP / IP network. The aim of this system is to efficiency the process of exchange data between separated office in a geography manner so that data in every office can always synchronous.

(11)

yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.

Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan, semangat, kasih sayang, kritikan, maupun saran, antara lain kepada:

1. Ir. Gregorius Heliarko, S.J., S.S., B.S.T., M.A., M.Sc, Selaku Dekan Fakultas Teknik Universitas Sanata Dharma Yogyakarta.

2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.

3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing I, yang telah banyak membantu terutama dalam memberikan bimbingan, dukungan, dan penyediaan sarana yang mendukung, sehingga penulis dapat menyelesaikan laporan tugas akhir ini.

4. Bapak St. Wisnu Wijaya, S.T., M.T. dan Bapak Alb. Agung Hadhiatma, S.T., M.T., selaku panitia penguji pada ujian pendadaran penulis.

(12)

semangat dan dorongan kepada penulis untuk dapat menyelesaikan penulisan laporan tugas akhir ini.

8. Patricia Wenny Megarani, yang selalu ada untuk menemani dan memberikan keceriaan terutama saat stress mulai datang.

9. Teman – teman terdekat dan seperjuangan yang selama kuliah selalu memberi semangat, keceriaan dan kehangatan, Diean, Nug, Ciblek, Breg.

10.Teman – teman yang membantu dalam proses penyusunan tugas akhir, Abe, Jansen, Arie, Pakdhe.

11.Teman – teman yang hadir saat penulis ujian pendadaran, Ruth, Diean, Breg, Ipil, acied, Gepenk, Dhea, Nug, Anice, Hana, Hendro yang memberi pinjaman jas.

(13)

tugas akhir ini.

Penulis menyadari segala keterbatasan dalam menyelesaikan laporan tugas akhir ini. Oleh karena itu, penulis ingin menyampaikan mohon maaf apabila terdapat kesalahan dan kekurangan. Untuk itu, penulis mengharapkan kritik dan saran yang membangun dari seluruh pihak yang membutuhkan laporan tugas akhir ini.

Akhir kata, semoga laporan tugas akhir ini dapat memberikan manfaat bagi siapa saja yang membutuhkannya. Atas segala perhatiannya dan kerjasamanya, penulis ucapkan terima kasih.

(14)

HALAMAN JUDUL ii

HALAMAN PERSETUJUAN iii

HALAMAN PENGESAHAN iv

PERNYATAAN KEASLIAN KARYA v

HALAMAN PERSEMBAHAN vi

HALAMAN MOTTO vii

ABSTRAKSI viii

ABSTRACT ix

KATA PENGANTAR x

DAFTAR ISI xiii

DAFTAR GAMBAR xviii

DAFTAR TABEL xxii

BAB 1. PENDAHULUAN

I. Latar Belakang Masalah 1

II. Rumusan Masalah 2

III. Batasan Masalah 2

IV. Tujuan dan Manfaat Penelitian 3

V. Metodologi Penelitian 4

VI. Sistematika Penulisan 5

BAB 2. LANDASAN TEORI

2.1. Sinkronisasi Database 7

2.2. Struktur Dasar XML 7

2.3. Struktur XML 8

2.4. Sintaks XML 9

2.5. Jenis Dokumen XML 13

2.6. Keuntungan dan Keunggulan XML 13

(15)

2.9.1.1. Object Oriented Analysis (OOA) 17 2.9.1.2. Object Oriented Design (OOD) 18 2.9.2. UML (Unified Modelling Languange)

2.9.2.1. Use Case 2.9.2.2. Class Diagram 2.9.2.3. Sequence Diagram

20 20 22 22

2.10. Perancangan Database 22

2.11. TCP / IP 23

2.12. Pemrograman Berorientasi Objek menggunakan Java 25 2.13. Pemrograman Client / Server dengan Java 37

2.13.1. Pemrograman Client / Server 2.13.2. Java Socket

2.13.3. Socket 2.13.4. Server Socket

37 38 39 39

2.14. MySQL 40

2.14.1. DDL 2.14.2. DML

41 41

2.15. Parser dan DOM 42

BAB 3. ANALISIS DAN DESAIN

3.1. Analisis Sistem 45

3.1.1 Gambaran Umum Sistem Lama 45

3.1.2. Orang Yang Terlibat Dalam Sistem 46

3.1.3. Analisis Masalah 46

3.1.4. Gambaran Umum Sistem Baru 47

3.1.5. Use Case Diagram 48

3.2. Desain Sistem 52

3.2.1. ER Diagram 52

(16)

3.2.2.2. Class Diagram Kantor Pusat 55

3.2.3. Sequence Diagram 56

3.2.3.1. Sequence Digram Kantor Cabang 56 3.2.3.2. Sequence Diagram Kantor Pusat 61 3.2.3.3. Sequence Diagram Penjualan 70

3.2.4. Perancangan Database 72

3.2.4.1. Desain Fisik Database 72 3.2.4.1.1. Kantor Cabang 72

3.2.4.1.2. Kantor Pusat 73

3.2.4.2. Struktur Tabel Database 74 3.2.5. Perancangan Proses Pertukaran Data 81

3.2.6. Perancangan Dokumen XML 83

3.2.7. Perancangan Input 87

3.2.7.1. Kantor Cabang 87

3.2.7.2. Kantor Pusat 93

BAB 4. IMPLEMENTASI SISTEM

4.1. Karakteristik Sistem 99

4.2. Perangkat Lunak yang Digunakan Dalam Pembuatan

Sistem 103

4.3. Implementasi Database 103

4.4. Setting Koneksi dari Java ke MySQL (koneksi.java) 105 4.5. Query dari Java ke MySQL (QueryHandler.java) 106

4.6. Aplikasi Client 106

4.6.1. Komunikasi Client Server (FileSender_Client.java) 106 4.6.2. Form Login (LoginDulu.java) 110 4.6.3. Form Menu Utama (MainMenu_cabang.java) 111 4.6.4. Form Data Customer (IframeDataCustomer.java) 113

(17)

4.6.8. Form Laporan (IFramelaporan.java) 125

4.7. Aplikasi Server 126

4.7.1. Komunikasi Client Server

(SocketConnectionServer.java) 126

4.7.2. Form Login (LginDulu.java) 130 4.7.3. Form Menu Utama (MainMenu_Pusat.java) 131 4.7.4. Form Data Customer (IFrameDataCustomer.java) 133 4.7.5. Form Tambah Customer

(FrameTambahCustomer.java) 133

4.7.6. Form Data Barang (IFrameDataBarang.java) 134 4.7.7. Form Tambah Barang (FrameTambahBarang.java) 136 4.7.8. Form Petugas (FramePetugas.java) 138 4.7.9. Form Kantor (FrameKantor.java) 140 4.7.10. Form Penjualan (IFramePenjualan.java) 142 4.7.11. Form Laporan (LaporanIFrame.java) 143

4.8. Tampilan Halaman Output 143

4.8.1. Nota Penjualan 143

4.8.2. Laporan Penjualan 144

BAB 5. ANALISIS HASIL

5.1. Hasil Pengujian Sistem 146

5.2. Kelebihan Sistem 146

5.3. Kekurangan Sistem 147

5.4. Prospek Pengembangan Sistem 147

BAB 6. PENUTUP

6.1. Kesimpulan 149

6.2. Saran 150

(18)

Gambar 2. 2. Diagram Hirarki XML 10

Gambar 2. 3. Simbol Entity Object 18

Gambar 2. 4. Simbol Interface Object 19

Gambar 2. 5. Simbol Control Object 20

Gambar 2. 6. Simbol Use-Case 21

Gambar 2. 7. Simbol Actor 21

Gambar 2. 8. Simbol Association 22

Gambar 2. 9. Struktur Pohon DOM 44

Gambar 3. 1. Use Case Diagram 48

Gambar 3. 2. Use Case Diagram Administrasi Cabang 49 Gambar 3. 3. Use Case Diagram Adminstrasi Kantor Pusat 50

Gambar 3. 4. Use Case Diagram Input Penjualan 51

Gambar 3. 5. ER Diagram Kantor Cabang 52

Gambar 3. 6. ER Diagram Kantor Pusat 53

Gambar 3. 7. Class Diagram Kantor Cabang 54

Gambar 3. 8. Class Diagram Kantor Pusat 55

Gambar 3. 9. Sequence Diagram Login Petugas 56

Gambar 3. 10. Sequence Diagram Maintain Customer : View Data 56 Gambar 3. 11. Sequence Diagram Maintain Customer : Edit Data 57 Gambar 3. 12. Sequence Diagram Maintain Customer : Insert Data 57 Gambar 3. 13. Sequence Diagram Cek Persediaan Barang 58 Gambar 3. 14. Sequence Diagram Buat Order Barang 58 Gambar 3. 15. Sequence Diagram Cek Pengiriman Barang 59

Gambar 3. 16. Sequence Diagram Buat Laporan 60

(19)

Gambar 3. 23. Sequence Diagram Maintain Data Petugas : Delete

Petugas 64

Gambar 3. 24. Sequence Diagram Maintain Data Kantor : Insert Kantor 65 Gambar 3. 25. Sequence Diagram Maintain Data Kantor : Edit Kantor 66

Gambar 3. 26. Sequence Diagram Cek Order 67

Gambar 3. 27. Sequence Diagram Maintain Data Barang 68

Gambar 3. 28. Sequence Diagram Cetak Laporan 69

Gambar 3. 29. Sequence Diagram Lihat Data Customer 70 Gambar 3. 30. Sequence Diagram Cek Persediaan Barang 70

Gambar 3. 31. Sequence Diagram Input Penjualan 71

Gambar 3. 32. Struktur Fisik Database Cabang 72

Gambar 3. 33. Struktur Fisik Database Pusat 73

Gambar 3. 34. Proses Pertukaran Data 82

Gambar 3. 35. User Interface Cabang Login Petugas 87 Gambar 3. 36. User Interface Menu Utama Kantor Cabang 88 Gambar 3. 37. User Interface Cabang Data Customer – Data Umum 88 Gambar 3. 38. User Interface Cabang Data Customer – Lokasi Tempat

Tinggal 89

Gambar 3. 39. User Interface Cabang Tambah Customer – Data Pribadi 89 Gambar 3. 40. User Interface Cabang Tambah Customer – Data Tempat

Tinggal 90

Gambar 3. 41. User Interface Cabang Data Barang – Data Umum 90 Gambar 3. 42. User Interface Cabang Data Barang – Order Barang 91 Gambar 3. 43. User Interface Cabang Data Barang – Pengiriman 91

Gambar 3. 44. User Interface Cabang Penjualan 92

Gambar 3. 45. User Interface Cabang Laporan 92

Gambar 3. 46. User Interface Login Pusat 93

(20)

Gambar 3. 50. User Interface Tambah Customer Pusat – Data Pribadi 95 Gambar 3. 51. User Interface Tambah Customer Pusat – Data Tempat

Tinggal 95

Gambar 3. 52. User Interface Data Barang Pusat – Data Umum 96 Gambar 3. 53. User Interface Data Barang Pusat – Proses Order 96 Gambar 3. 54. User Interface Tambah Barang – Data Umum 97 Gambar 3. 55. User Interface Tambah Barang – Info Stok 97

Gambar 3. 56. User Interface Data Kantor 98

Gambar 3. 57. User Interface Data Petugas 98

Gambar 3. 58. User Interface Penjualan Pusat 99

Gambar 3. 59. User Interface Laporan Pusat 99

Gambar 3. 60. Output Nota Penjualan 100

Gambar 3. 61. Output Laporan Penjualan 101

Gambar 4. 1. Form Login Aplikasi Cabang 110

Gambar 4. 2. Form Menu Utama Aplikasi Cabang 111

Gambar 4. 3. Form Data Customer Aplikasi Cabang 114 Gambar 4. 4. Form Tabel Search Customer Aplikasi Cabang 115 Gambar 4. 5. Form Tambah Customer Aplikasi Cabang 117 Gambar 4. 6. Form Data Barang Tab Data Umum Aplikasi Cabang 119 Gambar 4. 7. Form Data Barang Tab Order Barang Aplikasi Cabang 120 Gambar 4. 8. Form Data Barang Tab Pengiriman Aplikasi Cabang 122 Gambar 4. 9. Form Data Penjualan Aplikasi Cabang 123

Gambar 4. 10. Form Laporan Aplikasi Cabang 125

Gambar 4. 11. Form Menu Utama Aplikasi Server 131

Gambar 4. 12. Form Data Barang Tab Data Umum Aplikasi Server 134 Gambar 4. 13. Form Data Barang Tab Proses Order Barang Aplikasi

Server 135

(21)

Gambar 4. 18. Form Data Petugas Aplikasi Server 138 Gambar 4. 19. Dialog Input Petugas Aplikasi Server 140 Gambar 4. 20. Frame Data Lokasi Kantor Aplikasi Server 141 Gambar 4. 21. Dialog Input Data Kantor Aplikasi Server 142

Gambar 4. 22. Print Out Nota Penjualan 144

(22)

Tabel 2. 2. Operator Aritmatika yang lain dalam Java 27

Tabel 2. 3. Operator Relasional dalam Java 27

Tabel 2. 4. Operator Kondisional dalam Java 28

Tabel 2. 5. Operator Shift dalam Java 28

Tabel 2. 6. Operator Bitwise dalam Java 29

Tabel 2. 7. Operator Assignment dalam Java 30

Tabel 2. 8. Operator Precedence dalam Java 45

Tabel 3. 1. Customer ( Cabang ) 74

Tabel 3. 2. Tabel Customer ( Pusat ) 74

Tabel 3. 3. Tabel Lokasi_Tempat_Tinggal (Cabang & Pusat) 75

Tabel 3. 4. Tabel Jual ( Cabang ) 75

Tabel 3. 5. Tabel Jual ( Pusat ) 76

Tabel 3. 6. Tabel Detil_Penjualan ( Cabang & Pusat ) 76

Tabel 3. 7. Tabel Barang( Cabang & Pusat ) 76

Tabel 3. 8. Tabel Group( Cabang & Pusat ) 77

Tabel 3. 9. Tabel Kategori ( Cabang & Pusat ) 77 Tabel 3. 10. Tabel Kelompok ( Cabang & Pusat ) 78

Tabel 3. 11. Tabel Info_Stok ( Cabang ) 78

Tabel 3. 12. Tabel Info_Stok ( Pusat ) 78

Tabel 3. 15. Tabel Satuan ( Cabang & Pusat ) 79

Tabel 3. 16. Tabel OrderBarang ( Cabang ) 80

Tabel 3. 17. Tabel OrderBarang ( Pusat ) 80

Tabel 3. 18. Tabel Detil_Order ( Cabang & Pusat ) 80

Tabel 3. 19. Tabel Petugas ( Pusat ) 81

Tabel 3. 20. Tabel LokasiKantor ( Pusat ) 81

Tabel 4. 1. Fungsi Menu File Aplikasi Cabang 111

(23)

Tabel 4. 6. Fungsi Menu Master Aplikasi Server 132 Tabel 4. 7. Fungsi Menu Transaksi Aplikasi Server 132

(24)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Pada perusahan dagang terlebih perusahaan dengan banyak cabang, keunggulan komputer dibutuhkan untuk meningkatkan kinerja perusahaan. Dengan kemudahan dan kecepatan akses informasi, maka manajemen perusahaan dapat menentukan langkah - langkah yang harus diambil secara cepat dan tepat. Dari sisi penjualan, penggunaan teknologi komputer diharapkan dapat meningkatkan kualitas pelayanan dan kuantitas penjualan.

Pada penulisan tugas akhir ini, diambil studi kasus di PT. NKI Prembun. Perusahaan ini adalah perusahaan yang bergerak di bidang perdagangan dan pendistribusian onderdil kendaraan bermotor dan alat – alat pertanian. Lokasi perusahaan ini adalah di kota Prembun, Jawa Tengah. Perusahaan ini adalah perusahaan yang memiliki beberapa cabang, tetapi sebagai sebuah perusahaan yang cukup besar ternyata pencatatan data penjualannya masih dilakukan secara manual yaitu dengan menggunakan Microsoft Excel. Dengan cara ini, terdapat banyak kelemahan misalnya ketidaktepatan informasi stok barang dan arus peneriman kas. Pengorganisasian data juga akan mengalami kendala dengan semakin banyaknya file yang disimpan, resiko data hilang juga akan semakin besar.

(25)

Berdasarkan kenyataan tersebut, penulis tertarik untuk mengambil topik “X – Sync ( XML Syncronization ) Pada Sistem Penjualan Perusahaan”.

1.2 Rumusan Masalah

Dalam penulisan tugas akhir ini ada dua permasalahan, yaitu :

1. Bagaimana menganalisis, mendesain, dan mengimplementasikan Sistem Informasi Siklus Penjualan.

2. Bagaimana cara agar aplikasi pada kantor cabang dan aplikasi pada kantor pusat dapat saling bertukar data dan kemudian menyimpan data tersebut ke database.

1.3 Batasan Masalah

Dalam penulisan tugas akhir ini, batasan masalah meliputi hal – hal sebagai berikut :

1. Perangkat lunak yang digunakan adalah Java sebagai bahasa pemrograman, XML sebagai format pertukaran data dan MySQL sebagai database servernya.

2. Sistem yang dibuat menitikberatkan pada aspek pertukaran data antar aplikasi dalam format XML.

3. Sistem yang dibangun hanya menangani transaksi penjualan tunai perusahaan.

(26)

5. Sistem tidak menangani masalah yang disebabkan oleh fisik jaringan dan oleh pihak ketiga.

1.4 Tujuan dan Manfaat Penelitian

Tujuan dari penulisan Tugas Akhir “X – Sync ( XML Syncronization ) Sinkronisasi Data Berbasis XML Pada Sistem Penjualan Perusahaan” ini adalah :

1. Mengimplementasikan sistem penjualan berbasis komputer dengan menggunakan Java dan MySQL pada perusahaan distribusi menggunakan tahap rekayasa perangkat lunak berorientasi obyek. 2. Mengimplementasikan pertukaran data antar aplikasi client server Java

dengan menggunakan format data XML.

Manfaat dari pembuatan sistem ini adalah :

(27)

1.5 Metodologi Penelitan

Metodologi yang akan digunakan dalam penyusunan tugas akhir ini adalah sebagai berikut :

1. Peninjauan (survey) kebutuhan program.

Pengumpulan data – data dan informasi dari perusahaan yang bersangkutan mengenai proses penjualan dan siklus pendapatan yang dibutuhkan untuk pembuatan sistem yang baru.

2. Studi literatur, meliputi : a. Pendalaman konsep.

Memahami dan mendalami konsep tentang XML dan aplikasinya, juga tentang cara pembuatan dokumen XML dari suatu database di kantor pusat untuk kemudian dipertukarkan dengan database di kantor cabang.

b. Mempelajari perangkat lunak yang terlibat.

Mempelajari konsep – konsep bahasa pemrograman Java untuk membangun suatu aplikasi bisnis dengan tampilan GUI (graphical User Interface). Pemahaman tentang pengaksesan database server

melalui Java, sehingga diperoleh data yang dibutuhkan dan kemudian mengkonversi data tersebut ke dalam format XML. 3. Pengembangan perangkat lunak dengan metode pengembangan

perangkat lunak berorientasi objek (Whitten, 2004), dengan langkah-langkah sebagai berikut:

(28)

1. Pembuatan Use Case Diagram, Class Diagram, dan Sequence

Diagram.

2. Perancangan database.

3. Perancangan user interface.

b. Implementasi

1.6 Sistematika Penulisan

Sistematika yang dipakai dalam penulisan tugas akhir ini terbagi dalam enam bagian dengan garis besarnya sebagai berikut :

BAB 1 PENDAHULUAN

Berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan penulisan, metodologi penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi landasan teori yang dipakai untuk pembahasan penulisan tugas akhir.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini merupakan bab yang membahas tentang analisis dan perancangan sistem yang akan dibuat.

BAB 4 IMPLEMENTASI SISTEM

(29)

BAB 5 ANALISIS IMPLEMENTASI

Bab ini bersi tentang analisis implementasi dari aplikasi yang dibuat dan berisi tentang kelebihan dan kekurangan program.

BAB 6 KESIMPULAN DAN SARAN

(30)

BAB 2 Landasan Teori

2.1. Sinkronisasi Database

Sinkronisasi database adalah proses yang melibatkan dua atau lebih database yang dilakukan untuk menjaga agar pertukaran informasi atau data antar database dapat mencapai suatu fungsi sesuai dengan aturan yang telah ditetapkan.

2.2. Struktur dasar XML

XML ( eXtensible Markup Languange ) adalah markup languange

yang menyediakan format untuk mendeskripsikan data terstruktur atau terurut. Fasilitas yang disediakan XML ini membuat isi ( content ) sebuah data menjadi lebih mudah dimengerti. Seperti halnya HTML, XML jug menggunakan elemen yang ditandai tag pembuka ( diawali dengan ‘<’ dan diakhiri dengan ‘>’ ), tag penutup ( diawali dengan ‘</’ diakhiri ‘>’ ) dan atribut elemen ( parameter yang dinyatakan dalam tag pembuka ). Hanya bedanya, HTML mendefinisikan dari awal tag dan atribut yang dipakai di dalamnya, sedangkan pada XML user bisa menggunakan tag dan atribut sesuai dengan kehendak user.

(31)

2.3. Struktur dasar XML

Struktur dasar dokumen XML pada gambar 2.1 berikut :

<?xml version=”1.0” encoding=”iso-8859-1”?>

<!-Dokumen Ini menjelaskan tentang isi buku-->

<Buku

Judul=”Pengenalan XML”

Penulis=”Moh Junaedi”>

<pengantar/>

<Bab No=”1”>Berkenalan Dengan XML</Bab>

<Bab No=”2”>Lebih Dekat Dengan XML</Bab>

<Bab No=”3”>Elemen - Elemen XML</Bab>

. . . .

</Buku>

Gambar 2.1 Struktur XML

Sebuah struktur atau dokumen XML terdiri dari bagian yang disebut dengan node. Node – node itu adalah :

1. Root node adalah node yang melimgkupi keseluruhan dokumen.

Dalam satu dokumen XML hanya ada satu root node. Node – node

yang lainnya berada dalam root node.

2. Element nodeadalah bagian dari dokumen XML yang ditandai dengan

tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti<anggota nama=”Henry”/>. Root node biasa juga disebut root element.

Comment Standard Header

Attribute

root Node

(32)

3. Atribute nodeadalah node yang termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.

4. Text nodeadalah text yang merupakan isi dari sebuah elemen, ditulis

diantara tag pembuka dan tag penutup.

5. Comment nodeadalah baris yang tidak dieksekusi oleh parser.

2.4. Sintaks XML

Dibandingkan dengan HTML, XML lebih banyak aturan. Kalau

user menulis sebuah dokumen HTML, beberapa kesalahan penulisan masih ditolerir. Ketika menulis suatu dokumen XML, sintaks – sintaks yang ada tidak boleh dilanggar, sintaks – sintaks tersebut antara lain :

1. Heading standard untuk Document XML

Setiap membuat dokumen XML diawali dengan heading standard

XML. Formatnya adalah sebagai berikut :

<?xml version=”1.0” encoding=”iso-8859-1”?>

Penjelasan : xml version=”1.0” berarti bahwa file xml ini dibuat sesuai dengan aturan versi 1.0 dan encoding menunjukkan bahwa file XML ini ditulis berdasarkan kode iso-8859-1.

2. Dokumen XML harus memiliki root tag

Sebuah dokumen XML yang baik harus memiliki root tag. Yaitu tag

(33)

<root>

<child>

<subchild></subchild> </child>

</root>

Bentuk Mengenai diagram hirarki XML tampak pada Gambar 2.2

Gambar 2.2 Diagram Hirarki XML

( Moh Junaedi, Pengantar XML,Ilmu Komputer.com, hlm 8 )

3. Tag pada XML harus lengkap berpasangan.

Pada HTML beberapa elemen tidak harus berpasangan. Contoh berikut merupakan kesalahan yang masih dapat ditoleransi oleh HTML.

<p> paragraph pertama <p> paragraph kedua

Dalam XML, beberapa elemen harus berpasangan. User harus menulis

tag pembuka dan penutup untuk setiap tag yang dibuat. Format penulisan elemen berpasangan adalah sebagai berikut :

<p> paragraph pertama</p>

<p> paragraph kedua</p>

Root Element

Child element 1 Child element 2 Child element 3 Child element 4

Subchild element

(34)

Tag tunggal hanya diperbolehkan untuk elemen kosong. Contoh penulisan elemen kosong adalah sebagai berikut :

<anggota nama=”Henry”/>

4. XML membedakan antara huruf besar dan huruf kecil.

Pada XML, <tanggal> berbeda dengan <Tanggal>. Tag pembuka dan

tag penutup harus sama susunan huruf besar dan kecilnya. Format penulisannya adalah sebagai berikut :

<contoh>Penulisan yang salah</Comtoh>

<contoh>Penulisan betul</contoh>

5. Penyarangan tag harus benar.

Penulisan tag pada XML harus mengikuti aturan Last In First Out (LIFO). Pada XML user tidak diperbolehkan membuat tag yang saling bersilangan seperti format berikut :

<p><b>Huruf tebal</p><b>

Tetapi harus disusun seperti format berikut : <p><b>Huruf tebal</b></p>

Bila tetap dipaksakan juga, browser akan menampilkan pesan error.

6. XML mempertahankan spasi seperti apa adanya.

Berbeda dengn HTML, XML menampilkan spasi persis seperti data yang ditulis. Misalnya dalam HTML terdapat kalimat sebagai berikut :

Kami pergi bersama

(35)

Dalam contoh kalimat “Kami pergi bersama” meskipun digunakan spasi beberapa kali, tetap akan dianggap sebagai satu spasi. Sedangkan pada XML akan ditampilkan sama persis dengan kalimat asalnya. 7. Nilai atribut harus diletakkan diantara tanda petik.

Seperti HTML, XML memiliki atribut. Nilai atribut harus diletakkan diantara dua tanda petik. Tanda petik yang digunakan bisa tanda petik tunggal ataupun tanda petik ganda. Contoh format penulisannya sebagai berikut :

<pesan dari=”Henry”> atau <pesan dari=’Henry’>

8. Penamaan tag dan atribut.

Nama tag bisa terdiri dari huruf, angka dan underscore(“_”). Karakter awal nama tag harus berupa huruf atau underscore(“_”), tidak diawali dengan kata xml atau XML, (misalnya:<xmlstring>) dan tidak mengandung spasi. Aturan penamaan atribut sama dengan aturan penamaan tag.

9. Menyisipkan komentar

Pada bahasa pemrograman atau scripting, dikenal adanya komentar (

comment ). Komentar adalah baris yang tidak dieksekusi oleh

compiler, browser, atau parser. Untuk menyisipkan komentar pada dokumen XML caranya adalah sebagai berikut :

(36)

2.5. Jenis Dokumen XML

Ada dua jenis dokumen XML, yaitu dokumen XML yang well formed dan dokumen XML yang valid. Dokumen XML yang well formed

adalah dokumen yang memenuhi standar dan aturan sintaks pada XML. Dokumen XML yang valid adalah yang memenuhi aturan DTD. DTD adalah suatu aturan yang mendefinisikan bagaimana seharusnya struktur isi suatu dokumen XML. Sesuai namanya DTD berfungsi untuk mendefinisikan tipe dokumen XML. Pada saat mempelajari salah satu bahas pemrograman atau scripting, user diperkenalkan dengan deklarasi variabel, deklarasi fungsi dan deklarasi tipe data. Serupa dengan itu, DTD mendefinisikan struktur dokumen XML dengan daftar elemen yang digunakan.

Di dalam tulisan ini yang akan digunakan adalah dokumen XML yang well formed.

2.6. Keuntungan dan Keunggulan XML

Berikut adalah keuntungan dan keunggulan XML : 1. Ekstensibilitas

Artinya bebas menentukan tag – tag sendiri sesuai dengan kebutuhan. 2. Memisahkan data dengan presentasi

(37)

dokumen XML merupakan data yang menerangkan data itu sendiri.

Tag – tag pada XML menjelaskan mengenai isi datanya. Berbeda dengan HTML yang mencampurkan antara data dan presentasi data tersebut. Misalnya ada tag di HTML yang menjelaskan bagaimana

browser menampilkan data untuk ditulis miring. Contoh :

<i>dono</i>

Namun tag di XML menjelaskan data itu sendiri. <nama>dono</nama>

Di contoh HTML, tidak diketahui apakah dono adalah suatu kota, julukan atau nama seseorang. Namun di XML, sangat jelas bahwa dono merupakan nama.

3. Penyederhanaan Aplikasi

Saat ini, banyak aplikasi memiliki ukuran besar dan menghabiskan sumber daya memori. Biasanya aplikasi pengolah kata maupun gambar harus mengakomodasikan berbagai format file. XML, yang terbuka, akan memudahkan aplikasi untuk mengolah data.

2.7. Pengertian Sistem Informasi

(38)

Karakteristik dari suatu sistem adalah ( Jogiyanto.H M, 1995 ) :

1. Komponen sistem

Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi yang artinya saling bekerjasama membentuk satu kesatuan.

2. Batas sistem

Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau lingkungan luarnya.

3. Lingkungan luar sistem

Lingkungan luar dapat bersifat menguntungkan dan dapat juga bersifat merugikan dimana keduanya dapat mempengruhi operasi sistem.

4. Penghubung sistem

Merupakan media penghubung antara satu subsistem dengan subsistem yang lainnya sehingga dapat berintegrasi membentuk satu kesatuan. Melaui penghubung ini memungkinkan sumber – sumber daya mengalir dari satu subsistem ke subsistem yang lain. Keluaran dari suatu subsistem akan menjadi masukan untuk subsistem yang lain melalui penghubung.

5. Masukan sistem

Adalah sesuatu yang dimasukkan ke dalam sistem yang berupa maintenance input supaya sistem dapat beroperasi untuk memproses sinyal - sinyal inputan sehingga dihasilkan keluaran.

6. Keluaran sistem

(39)

7. Pengolah sistem

Merupakan pengolah inputan sehingga menjadi keluaran yang berguna.

8. Sasaran sistem

Suatu sistem mempunyai tujuan atau sasaran dimana sasaran dari sistem ini sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem.

Informasi adalah data yang telah disaring dan diorganisasikan oleh suatu proses dan untuk maksud tertentu menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan pada saat ini ataupun pada saat yang akan datang. Data adalah fakta mentah mengenai orang, kejadian, dan hal-hal penting dalam organisasi. Tiap fakta dengan sendirinya secara relatih tidak ada artinya ( Whitten, 2004).

Sistem Informasi adalah suatu sistem di dalam organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat managerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Robert Leitch dan Roscoe Davis, 1983).

2.8. Pengertian Sistem Penjualan

(40)

mengurangi persediaan barang. Proses yang membentuk sistem penjualan adalah :

2.8.1. Prosedur order penjualan 2.8.2. Prosedur pencatatan penjualan 2.8.3. prosedur stok barang

Informasi yang umumnya diperlukan oleh manager dari kegiatan transaksi penjualan adalah :

1. Jumlah pendapatan penjualan menurut jenis produk atau kelompok produk selama jangka waktu tertentu.

2. Jumlah harga produk yang dijual selama jangka waktu tertentu.

2.9. Pengembangan Perangkat Lunak Berorientasi Objek 2.9.1. Konsep Objek

Pendekatan berorientasi obyek pada pengembangan sistem didasarkan pada konsep tentang obyek yang telah ada pada sebuah lingkungan sistem.

Obyek sendiri dapat diartikan sesuatu yang dapat dilihat, disentuh atau dirasakan, dan user menyimpan data serta mencatat perilaku mengenai sesuatu itu.

2.9.1.1.Object Oriented Analysis (OOA)

(41)

gambar-gambar yang mengintruksikan obyek-obyek sistem dari berbagai macam perspektif, seperti struktur, behavior, dan interaksi obyek.

2.9.1.2.Object Oriented Design (OOD)

Pendekatan yang digunakan untuk menentukan solusi perangkat lunak dalam hal menggabungkan obyek, attribute, dan metodenya.

Pada Object Oriented Design (OOD) ini dibagi menjadi tiga obyek yaitu:

1. Entity Object

Adalah sebuah obyek yang berisikan informasi yang berhubungan dengan bisnis yang bersifat menetap dan disimpan pada sebuah

database. Entity object memuat informasi tentang tentang obyek tersebut yang disebut attribute. Entity object bersifat menetap/persisten yang dapat diartikan bahwa obyek tersebut “aktif/hidup” setelah mengeksekusi sebuah progam dan disimpan dalam database.

Simbol Entity Object:

: Object En tit y

(42)

2. Interface Object

Adalah sebuah obyek yang menyediakan media di mana pengguna dapat berkomunikasi dengan sistem. Pengguna dapat berkomunikasi menggunakan antarmuka/interface.

Tugas dari Interface Entity adalah:

1. Menterjemah inputan dari pengguna ke dalam informasi sehingga dapat dipahami oleh sistem dan digunakan untuk memproses peristiwa bisnis. 2. Mengambil data yang berkaitan dengan peristiwa bisnis dan menterjemahkan

data tersebut kepada pengguna.

Simbol Interface Object:

: I nte rface Object

Gambar 2.4Simbol Interface Object 3. Control Object

Adalah obyek yang berisi aplikasi logika yang bukan merupakan tanggung jawab entity object.

(43)

: Control Obj ect

Gambar 2.5Simbol Control Object

2.9.2. UML (Unified Modelling Language)

UML merupakan konfensi/perjanjian tentang sekumpulan modeling digunakan untuk menspesifikan dan menjelaskan sustem software dan hardware dalam bentuk objek (Whitten, 2004). UML tidak menemukan sebuah metode untuk mengembangkan sistem tetapi hanya berupa notasi.

UML mendefinisikan diagram-diagram berikut: 1. Use-Case

(44)

Komponen-komponen use-case diagram adalah:

1. Use-Case menggambarkan langkah-langkah yang secara tindakan saling terkait (skenario), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal(Whitten, 2004).

Gambar 2.6Simbol Use-Case

2. Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi (Whitten,2004).

Gambar 2.7Simbol Actor

3. Association (Gabungan) adalah hubungan antara pelaku/actor

dengan use case di mana terjadi interaksi di antara mereka (Whitten, 2004).

UseCase

(45)

Gambar 2.8Simbol Association

2. Class Diagram

Merupakan gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antar kelas objek tersebut (Whitten, 2004).

3. Sequence Diagram

Menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use case.

Sequence Diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case (Whitten, 2004).

2.10.Perancangan Database

Merancang database merupakan suatu hal yang sangat penting. Kesulitan utama dalam merancang database adalah bagaimana merancang struktur database sehingga database dapat memfasilitasi keperluan saat ini dan saat mendatang. Perancangan model konseptual akan menunjukkan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasi.

(46)

Ketika menentukan entity dan relasinya dibutuhkan analisis data tentang informasi yang ada dalam spesifikasi mendatang (Harianto, 1994).

Pada perancangan model konseptual penekanan tinjauan dilakukan pada struktur data dan relasi antar file. Pendekatan yang dilakukan pada perancangan model konseptual adalah menggunakan model data relational. Terdapat dua buah teknik yaitu :

- Teknik Normalisasi - Teknik Entity Relationship

Di laporan ini hanya akan dibahas teknik entity relationship karena teknik entity relationship merupakan teknik yang sederhana karena relasi tidak perlu diuji secara terus menerus. Pada teknik ini hubungan antara file direlasikan dengan kunci relasi ( relation key), yang merupakan kunci utama dari masing-masing file.

2.11.TCP / IP

(47)

sampai ke tujuan sangat dimungkinkan bahwa data yang sampai tidak urut. Tipe koneksi seperti ini disebut dengan connectionless. Komputer Pengirim tidak akan mengetahui apakah data sampai di tujuan atau tidak.

Untuk membantu mencapai komputer tujuan, setiap komputer dalam jaringan TCP/IP harus diberikan IP address. IP address harus unik untuk setiap komputer, tetapi tidak menjadi halangan bila sebuah komputer mempunyai beberapa IP address. IP address terdiri atas 8 byte data yang mempunyai nilai dari 0-255 yang sering ditulis dalam bentuk [xx.xx.xx.xx] (xx mempunyai nilai dari 0-255).

(48)

2.12.Pemrograman Berorientasi Object Menggunakan Java

Java merupakan pemrograman berorientasi objek (OOP), dengan kata lain rancangan java merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface.

1. Objek

Objek merupakan perangkat lunak yang berisikan variabel serta kumpulan dari metode-metode.

2. Message

Objek melakukan interaksi serta komunikasi menggunakan message atau pesan.

3. Class

Class merupakan bentuk dasar yang mendefiniskan variabel serta meode-metode dari semua objek.

Sintaks-sintaks Dasar Bahasa Pemrograman JavaTMadalah :

1. Variabel dalam Java a) Tipe Variabel

Variabel merupakan container yang digunakan untuk menyimpan suatu nilai pada sebuah program dengan tipe tertentu. Pada dasarnya ada 2 macam tipe variabel data dalam bahasa Java, yakni tipe primitif dan tipe reference. Adapun tipe primitif meliputi:

(49)

4. int 5. long 6. char 7. float 8. double

Sedangkan tipe variabel reference, meliputi tipe class, tipe array, dan tipe interface. Ada pula tipe variabel data yang khusus yang disebut dengan null types, namun variabel dalam Java tidak akan pernah memiliki tipe null ini.

b) Konstanta

Variabel dalam Java bisa dijadikan konstanta, sehingga nilainya tidak akan dapat diubah-ubah dengan mendeklarasikan variabel tersebut sebagai variabel final. Berikut cara pendeklarasian variabel yang dijadikan konstanta:

final <tipe data> <nama variabel> = <nilai>

2. Operator dalam Java a) Operator Aritmatika

Sama halnya dengan semua bahasa pemrograman, Java menyediakan operator-operator aritmatika untuk manipulasi variabel data numerik. Tabel penggunaan dan jenis operator aritmatika dalam Java bisa dilihat di bawah ini:

Operator Penggunaan Deskripsi

(50)

/ op1 / op2 Membagi op1 dengan op2

% op1 % op2 Menghasilkan sisa hasil bagi antara op1 dengan op2

Tabel 2.1Operator Aritmatika dalam Java

Selain operator di atas, operator berikut juga termasuk dalam operator aritmatika:

Operator Penggunaan Deskripsi

++ op++ nilai op dinaikkan 1 setelah dilakukan operasi pada op

++ ++op nilai op dinaikkan 1 sebelum dilakukan operasi pada op

-- op-- nilai op diturunkan 1 setelah dilakukan operasi pada op

-- --op nilai op diturunkan 1 sebelum dilakukan operasi pada op

- -op mengubah nilai op menjadi negatifnya, jika op positif maka menjadi negatif, jika op negatif maka menjadi positif

Tabel 2.2 Operator Aritmatika yang lain dalam Java

b) Operator Relasional

Operator relasional dalam Java dapat digunakan untuk membandingkan dua variabel data, lebih lengkapnya dapat dilihat dalam tabel berikut:

Operator Penggunaan Deskripsi

> op1 > op2 menghasilkan true jika nilai op1 lebih besar dari nilai op2

< op1 < op2 menghasilkan true jika nilai op1 lebih kecil dari nilai op2

>= op1 >= op2 menghasilkan true jika nilai op1 lebih besar atau sama dengan nilai op2 <= op1 <= op2 menghasilkan true jika nilai op1 lebih

(51)

sama dengan dari nilai op2

!= op1 != op2 Menghasilkan true jika nilai op1 tidak sama dengan nilai op2

Tabel 2.3Operator Relasional dalam Java

c) Operator Kondisional

Operator kondisional dalam Java terdiri dari 6 jenis sebagaimana digambarkan dalam tabel berikut:

Operator Penggunaan Deskripsi

&& op1 && op2 menghasilkan true jika op1 dan op2, keduanya bernilai true

|| op1 || op2 menghasilkan true jika op1 atau op2, salah satunya bernilai true ! !op1 menghasilkan true jika op1 bernilai

false

& op1 & op2 bitwise AND, menghasilkan true jika op1 dan op2, keduanya bernilai true

| op1 | op2 bitwise OR, menghasilkan true jika op1 atau op2, salah satunya bernilai true

^ op1 ^ op2 menghasilkan true jika salah satu di antara op1 atau op2 bernilai true, namun tidak keduanya

Tabel 2.4Operator Kondisional dalam Java

d) Operator Shift

Operator shift dalam Java digunakan untuk manipulasi bit. Operator ini digunakan untuk menggeser bit-bit sesuai yang diinginkan. Ada 3 operator shift dalam Java, yaitu:

Operator Penggunaan Deskripsi

>> op1 >> op2 menggeser bit op1 ke kanan sejauh op2

(52)

op2

Tabel 2.5Operator Shift dalam Java

e) Operator Bitwise

Operator bitwise dalam Java juga digunakan untuk manipulasi bit. Ada 4 operator bitwise dalam Java, yaitu:

Operator Penggunaan Deskripsi & op1 & op2 bitwise AND

| op1 | op2 bitwise OR ^ op1 ^ op2 bitwise XOR ~ ~op1 bitwose complement

Tabel 2.6Operator Bitwise dalam Java

f) Operator Assignment

Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Operator assignment hanya ‘=’, namun selain itu dalam Java dikenal beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel berikut:

Operator Penggunaan Deskripsi += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2

/= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 |= op1 |= op2 op1 = op1 | op2 ^= op1 ^= op2 op1 = op1 ^ op2 <<= op1 <<= op2 op1 = op1 << op2 >>= op1 >>= op2 op1 = op1 >> op2 >>>= op1 >>>= op2 op1 = op1 >>> op2

(53)

g) Urutan Precedence Operator

Adapun urutan operator precedence dalam Java, secara lengkap digambarkan dalam tabel berikut:

postfix operators [] . (params) expr++ expr-- unary operators ++expr –expr +expr –expr ~ ! creation or cast new (type)expr

multiplicative * / %

additive + -

shift << >> >>>

relational < > <= >= istanceof

equality == !=

bitwise AND & bitwise XOR ^

bitwise OR |

logical AND && logical OR || conditional ? :

assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=

Tabel 2.8Operator Precedence dalam Java

3. Control Flow dalam Java a) Operasi Pengulangan

2. while

Operasi while digunakan untuk mengeksekusi sebuah blok secara berulang selama memenuhi kondisi tertentu. Sintaks penggunaannya sebagai berikut:

while (ekspresi) {

// ... }

(54)

3. do-while

Sama halnya dengan operasi while, operasi do-while digunakan untuk mengeksekusi sebuah blok secara berulang sampai tidak memenuhi kondisi tertentu. Pada penggunaan while, ekspresi diperiksa pada saat awal operasi perulangan, jadi ada kemungkinan pernyataan di dalam blok tidak pernah dieksekusi. Pada penggunaan do-while, ekspresi tidak diperiksa pada awal operasi perulangan, jadi operasi do-while dapat menjalankan operasi perulangan pertama kali tanpa ekspresi apapun. Sintaks penggunaannya sebagai berikut:

do {

// ... } while (ekspresi);

4. for

Operasi for digunakan untuk mengeksekusi sebuah blok secara berulang dalam sebuah range nilai tertentu. Sintaks penggunaannya sebagai berikut:

for (inisialisasi; terminasi; increment) { // ...

}

Inisialisasi dalam operasi for merupakan ekspresi yang dieksekusi pada saat pengeksekusian for. Terminasi digunakan untuk menentukan kapan operasi perulangan akan dihentikan. Increment

(55)

jadi dapat dikosongkan. Namun jika ketiga bagiab tersebut kosong, akan menyebabkan terjadinya perulangan tanpa henti (loop forever).

b) Operasi Kondisional 2. if – else

Operasi if digunakan untuk mengeksekusi sebuah blok jika memenuhi sebuah kondisi tertentu. Sintaks penggunaannya sebagai berikut:

if (ekspresi) {

// ... }

Jika kondisi bernilai true, pernyataan di dalam blok akan dieksekusi. Jika menggunakan if-else, sintaks penggunaannya sebagai berikut:

if (kondisi) {

// ... pernyataan 1 .... } else {

// ... pernyataan 2 .... }

Jika kondisi bernilai true, pernyataan 1 akan dijalankan. Sebaliknya, jika kondisi bernilai false, pernyataan 2 yang akan dijalankan. Jika menggunakan if-elseif-else, sintaks penggunaannya sebagai berikut:

if (kondisi1) {

// ... pernyataan 1 .... } else if (kondisi2) {

// ... pernyataan 2 .... } else {

(56)

}

3. switch-case

Operator switch digunakan untuk mengeksekusi sebuah blok jika memenuhi sebuah kondisi tertentu. Sintaks penggunaannya sebagai berikut:

switch (ekspresi) { case (kondisi1):

// ... pernyataan 1 ...

break;

case (kondisi2):

// ... pernyataan 2 ...

break;

case (kondisin):

// ... pernyataan n ...

break;

default:

// ... pernyataan default ...

break;

}

Kondisi default bersifat opsional, artinya boleh ada atau tidak ada, yang berfungsi sebagai else, pada kasus if-else dengan banyak percabangan, yakni ketika ditemukan kondisi yang tidak memenuhi semua pengecekan kondisi sebelumnya.

Pernyataan break pada operator switch di atas, digunakan untuk terminasi (menghentikan) eksekusi pernyataan di dalam blok

(57)

c) Break, Label, Return, Continue Operator break ada 2 macam, yakni: 1. break with label

2. break without label

Penggunaan break tanpa label umumnya dalam switch. Fungsi

break adalah untuk menghentikan eksekusi sebuah blok program, sebagai contoh untuk memaksa keluar dari sebuah perulangan. Penggunaan break dengan label digunakan pada perualangan yang berkalang, yakni perulangan dalam perulangan, yang mungkin berada dalam perulangan yang lain, dan seterusnya, akan menyebabkan setelah eksekusi sebuah blok pernyataan terhenti, aliran eksekusi akan berlanjut ke posisi perulangan tempat label berada.

Berbeda dengan break, continue digunakan untuk melewatkan eksekusi pada perulangan yang ada, dan melanjutkan ke perulangan berikutnya.

(58)

4. Array/Larik

Larik atau array merupakan struktur data yang penting dalam bahasa pemrograman. Sebuah larik terdiri atas himpunan beberapa nilai data dengan tipe data yang sama, di mana jumlah anggota dari himpunan dalam larik itu ditentukan saat deklarasi larik atau array. Tiap anggota himpunan dalam larik tersebut akan diacu sebagai elemen dengan menunjuk nomor indeks.

idx[0] idx[1] idx[2] idx[3] idx[4] idx[5] ...

Penggambaran di atas menunjukkan sebuah larik, yaitu elemen pertama akan diacu sebagai elemen ke-0, elemen kedua diacu sebagai elemen ke-1, begitu seterusnya. Jika Anda pernah memprogram dengan bahasa lain seperti PHP, ASP, Pascal, C/C++, Perl larik pada Java sama saja dengan larik dengan bahasa-bahasa pemrograman tersebut, hanya saja mungkin pengacuan elemennya berbeda, ada bahasa pemrograman yang mengacu elemen pertama sebagai elemen ke-1 dan bukan ke-0.

Untuk mendefinisikan tipe variabel yang bertipe array digunakan cara seperti ini:

Type[] namaVariabel;

Type menunjukkan bahwa array ini terdiri atas nilai-nilai bertipe data Type. Berikut contoh penggunakan array dalam Java:

(59)

// Membuat array data bertipe data float float[] myArrayOfFloat;

// Membuat array data bertipe data String String[] myArrayOfString;

Setelah mendeklarasikan array dengan cara di atas, langkah selanjutnya adalah menginisialisasi array tersebut. Ada dua cara yang umum digunakan, yaitu:

1. Dengan operator new

Formatnya adalah sebagai berikut: new <type>[ukuran]

Contoh:

int myArrayOfInteger = new int[10];

Dengan menggunakan cara ini, array yang ada belum mempunyai nilai awal. Sebelum dapat digunakan, terlebih dahulu array

tersebut harus memiliki nilai awal.

2. Dengan langsung memberikan nilai-nilai awal

Nilai awal dari array ditempatkan di antara ‘{‘ dan ‘}’ yang elemen-elemenya dipisahkan tanda koma, sperti berikut:

int myArrayOfInteger = { 1, 2, 3, 4, 5 };

5. Java Exception

1. Pengertian Exception

(60)

dijalankan. Banyak hal yang dapat menyebabkan terjadinya kesalahan, sebagai contoh crash, hard disk rusak dengan tiba-tiba. Dalam Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut dengan exception, yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan exception tersebut sering dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah

catch exception. 2. try - catch - finally

Berikut struktur blok try - catch - finally: try {

// ... } catch (Exception xxx) { // ... } catch (Exception xxx) { // ... } finally {

// ... }

Blok try digunakan untuk menempatkan kode-kode program Java yang mengandung kode program yang mungkin melemparkan

exception. Blok catch, digunakan untuk menempatkan kode-kode program Java yang digunakan untuk menangani sebuah exception

tertentu. Blok finally, digunakan untuk clean-up.

(61)

Suatu model umum yang diterapkan untuk pemrograman jaringan adalah model client/server. Konsepnya sederhana, sebuah proses / aplikasi client melakukan permintaan untuk suatu informasi atau mengirim sebuah perintah ke aplikasi server. Aplikasi sever akan menerima perminataan dari client, kemudian memproses berdasarkan permintaan tersebut, dan akan mengembalikan sesuatu ke client sebagai hasil dari pemrosesan yang sudah dilakukan. Sehingga tugas server adalah melakukan

listen untuk suatu koneksi, sedangkan client mencoba membuat koneksi ke server.

Setelah koneksi terbentuk, hubungan pertukaran data antara client dan server diwakili dengan suatu stream input dan output. 2.13.2.Java Socket

Socket adalah sebuah abstraksi perangkat lunak yang digunakan sebgai suatu “terminal” dari suatu hubungan antara dua mesinatau proses yang saling berinterkoneksi. Di setiap mesin yang berinterkoneksi, harus terpasang socket. Pada Java, anda membutuhkan socket untuk membuat suatu hubungan ke mesin atau proses lain, baru kemudian anda akan mendapatkan input stream dan output stream untuk pertukaran data.

(62)

koneksi dan java.net.Socket yang digunakan oleh client untuk menginisialisasi koneksi.

2.13.3.Socket

Kelas Socket adalah sebuah kelas yang dirancang sebagai “wakil” sebuah koneksi menggunakan protokol TCP. Ketika sebuah socket dibuat, sebuah koneksi akan terbentuk ke suatu mesin atau proses yang dituju. Pada Java 2, kelas Socket memiliki 8 konstruktor, yang sering dipakai adalah :

a. Socket(InetAdress adress, int port)

Membuat sebuah stream socket dan koneksi ke suatu nomor port pada sebuah komputer yang memiliki alamat IP.

b. Socket(String host, int port)

Membuat sebuah stream socket dan koneksi ke suatu nomor port pada sebuah komputer berdasarkan namanya.

Selain itu, juga ada dua method dari kelas socket yang pasti akan digunakan, yaitu getInputStream() dan getOutputStream(), dimana keduanya mengembalikan suatu objek stream yang dapat digunakan untuk berkomunikasi dengan socket. Method close() digunakan untuk memberitahukan kepada protokol untuk menutup koneksi.

2.13.4.ServerSocket

(63)

Kelas ServerSocket ini digunakan ketika akan membangun aplikasi server yang menerapakan tipe koneksi Connection Oriented.

Ketika dibuat sebuah objek baru dari kelas ServerSocket, untuk dapat mengirim dan menerima melaui stream, tetap perlu InputStream dan outputStream dari objek socket yang dihasilkan ketika dari kelas ServerSocket menerima permintaan dari client melalui method accept().

Kelas ServerSocket memiliki konstruktor yang menerima sebuh nomor port yang akan digunakan sebagai nomor akses layanan yang disediakannya.

2.14.MySQL

(64)

1. DDL (Data Manipulation Language)

DDL (Data Manipulation Language) adalah suatu bentuk bahasa yang digunakan untuk melakukan pendefinisian data, adapun perintah yang digunakan adalah:

a. CREATE

Perintah ini digunakan untuk membuat tabel dan database. b. DROP :

Perintah ini digunakan menghapus tabel maupun database. c. ALTER :

Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat, baik menambah field (add), mengganti nama field (change) ataupun menamakan kembali (rename), serta menghapus field (drop).

2. DML (Data Manipulation Language)

DML (Data Manipulation Language) adalah suatu bahasa yang digunakan untuk memanipulasi data, adapun query yang digunakan adalah:

d. SELECT

Perintah ini digunakan untuk melihat data dalam tabel. e. INSERT

(65)

Perintah ini digunakan untuk mengubah suatu data dalam suatu tabel.

g. DELETE

Perintah ini digunakan untuk menghapus data dalam suatu tabel

2.15.Parser dan DOM ( Document Object Model ) 2.13.1.Parser

Parser adalah tool XML yang paling penting dan mendasar. Setiap aplikasi XML didasarkan pada parser. Parser adalah suatu komponen

software yang diposisikan diantara aplikasi dan dokumen XML. Tujuan parser adalah untuk melindungi pengembang dari kerumitan dokumen XML. Jadi dengan parser, pengembang tidak perlu bersusah – payah untuk membuat fungsi pembacaan dokumen XML.

Dokumen XML bisa berupa dokumen yang well formed atau dokumenyang valid, sehinggaada dua jenis parser XML yaitu :

a. Nonvalidating Parser

Jenis parser ini bisa membaca dokumen XML yang valid maupun yang well formed tetapi tidak akan melakukan validasi untuk tipe dokumen valid.

b. Validating Parser

(66)

2.13.2.DOM

Pendekatan yang umum dalam memproses dokumen XML adalah dengan menggunakan object-based interface. Dengan pendekatan ini, parser membuat object tree yang memuat seluruh struktur dokumen XML secara eksplisit di memori. Aplikasi sangat cocok untuk memproses XML dengan cara ini.

DOM ( Document Object Model ) adalah salah satu model API (

Application Programming Interface ) yang digunakan untuk mengakses dokumen XML. Dengan API ini, programer dapat mrngakses suatu dokumen XML tanpa harus mempedulikan sintaks dokumen tersebut. Sesuai spesifikasi dari W3C, tujuan yang paling penting dari DOM adalah untuk menyediakan standar antar muka pemrograman yang bisa digunakan pada berbagai variasi lingkungan pemrograman.

Contoh :

Diberikan suatu dokumen HTML seperti berikut, <TABLE> <TBODY> <TR> <TD>Shady Grove</TD> <TD>Aeolian</TD> </TR> <TR>

<TD>Over the River, Charlie</TD> <TD>Dorian</TD>

</TR> </TBODY> </TABLE>

(67)

Gambar 2.9 Struktur Pohon DOM

Pada DOM, dokumen mempunyai struktur logika yang mirip sebuah pohon. Setiap dokumen mempunyai nol atau satu doctype nodes, satu

(68)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

3.1.1. Gambaran Umum Sistem Lama

(69)

3.1.2. Orang Yang Terlibat Dalam Sistem

Dalam sistem penjualan CV. NKI Prembun melibatkan tiga aktor, yaitu :

1. Petugas Pusat

Orang yang bertanggung jawab penuh untuk mengelola sistem di kantor pusat, termasuk memberikan hak akses ke sistem bagi aktor lain. Dalam sistem ini diasumsikan bahwa data – data barang akan ditangani oleh petugas pusat.

2. Kasir Penjualan

Orang yang memasukkan dan menangani data-data yang berhubungan dengan penjualan di kantor pusat.

3. Petugas Cabang

Orang yang bertanggung jawab untuk menginputkan data pelanggan baru di kantor pusat dan menangani administrasi di kantor cabang.

3.1.3. Analisis Masalah

(70)

bagaiman cara kantor pusat dapat mengirimkan data update barang serta data barang yang akan dikirim ke kantor cabang sebagai pemenuhan order. Masalah yang lain adalah bagaimana cara pengiriman data yang efisien agar data – data tersebut dapat sampai ke tujuan secara efisien.

3.1.4. Gambaran Umum Sistem Baru

Untuk menangani permasalahan di atas, maka akan dibuat sebuah sistem baru yang bisa mengkoneksikan masing – masing kantor cabang dengan kantor pusat. Sistem baru ini menerapkan teknologi XML yang akan menjembatani komunikasi dan pertukaran data antara database di kantor cabang dengan database di kantor pusat sehingga data – data di setiap bagian dapat selalu sinkron.

Sinkronisasi akan dilakukan setiap ada perubahan data yang terjadi pada database di kantor cabang maupun database di kantor pusat.

(71)

<<depend on>>

Petugas Pusat Petugas

Cabang

Kasir 3.1.5. Use Case Diagram

Use Case Diagram Secara Umum

Gambar 3.1 Use Case Diagram

Cabang

Pusat

Login

Administrasi Pusat

Administrasi

(72)

3.1.5.1. Use Case Diagram Kantor Cabang

<<Depend On>> Login

(f rom Use Cases)

Cek Persediaan Barang

(f rom Bagian Kasir)

Buat Order Barang

(f rom Bagian Kasir) +theBuat Order Barang

Cek Pengiriman

(f rom Bagian Kasir)

Buat Laporan

(f rom Bagian Kasir)

Petugas Cabang

(f rom Actors)

Maintai n Data Custom er

(f rom BagianPetugasCabang)

(73)

3.1.5.2. Use Case Diagram Kantor Pusat

Login

(f rom Use Cases)

Maintai n Data Barang

(f rom BagianDepo)

Membuat Laporan

(f rom BagianDepo) Lihat Data Transaksi

(f rom BagianDepo) Maintain Data Petugas

(f rom BagianDepo) Maintai n Data Customer Pusat

(f rom BagianDepo)

Maintai n Data Kantor

(f rom BagianDepo) Petugas Pusat

(f rom Actors)

Cek Order

(f rom BagianDepo)

Gambar 3.3 Use Case Diagram Adminstrasi Kantor Pusat

(74)

3.1.5.3. Use Case Diagram Penjualan

Cetak Data T ransaksi

(f rom Penjualan)

Login

(f rom Use Cases)

Cek Persediaan Barang

(f rom Bagian Kasir)

Masukkan Data Penjual anBaru

(f rom Penjualan) Petugas Kasi r

(f rom Actors)

Lihat Data Customer

(f rom Use Cases)

Gambar 3.4 Use Case Diagram Input Penjualan

(75)

3.2.

Design Sistem

3.2.1.

ER Diagram

3.2.1.1.

ER Diagram Kantor Cabang

(76)

3.2.1.2.

ER Diagram Kantor Pusat

(77)

3.2.2.

Class Diagram

3.2.2.1.

Class Diagram Kantor Cabang

(78)

3.2.2.2.

Class Diagram kantor Pusat

(79)

3.2.3.

Sequence Diagram

3.2.3.1.

Sequence Diagram Kantor Cabang

Proses Login Petugas

: Petugas Cabang 5. vi ewStaus : Layar_login : Logi n_control : Petugas

1. input name,password

3. getDataByVal() 2. cekLogin()

4. konfirmasiStatus()

5. viewStatus()

Gambar 3.9

Sequence Diagram Login Petugas

Proses Maintain Data Customer

: Petugas Cabang : LayarCustomer : Custom erControl : Custom er

2. Lihat data

3. getCustomerInPos()

1. selectAll()

4. showCurentCust() 4. dataPerCustom er()

(80)

Gambar 3.11

Sequence Diagram Maintain Customer : Edit Data

(81)

Proses Cek Persediaan Barang

Gambar 3.13

Sequence Diagram Cek Persediaan Barang

Proses Buat Order Barang

(82)

Proses Cek Pengiriman Barang

(83)

Proses Buat Laporan

(84)

3.2.3.2.

Sequence Diagram Kantor Pusat

Proses Login

Gambar 3.17

Sequence Diagram Login Petugas Pusat

Proses Maintain Data Customer

(85)

Gambar 3.19

Sequence Diagram Maintain Customer : Edit Data

(86)

Proses Maintain Data Petugas

Gambar 3.21

Sequence Diagram Maintain Data Petugas : Insert Petugas

(87)
(88)

Proses Maintain Data Kantor

(89)
(90)

Proses Cek Order

(91)

Proses Maintain Data Barang

(92)

Proses Lihat Data Transaksi & Cetak Laporan

(93)

3.2.3.3.

Sequence Diagram Penjualan

Proses Lihat Data Customer

Gambar 3.29

Sequence Diagram Lihat Data Customer

Proses Cek Persediaan Barang

(94)

Proses Input Data Penjualan Baru & Cetak Transaksi

(95)

3.2.4.

Perancangan Database

Pada sistem terdapat 2 buah database, yaitu database untuk menangani

Gambar

Gambar 3.24 Sequence Diagram Maintain Data Kantor : Insert Kantor
Gambar 3.25 Sequence Diagram Maintain Data Kantor : Edit Kantor
Gambar 3.26 Sequence Diagram Cek Order
Gambar 3.27 Sequence Diagram Maintain Data Barang
+7

Referensi

Dokumen terkait

Making use of certain linear operator, we define a new subclass of meromorphically uniformly convex functions with positive coefficients and obtain coefficient estimates, growth

New York-London: Mother Earth Publishing

analyze and identify entrepreneur behaviour on business performance especially to Small Medium Enterprise (SMEs) banana processing in South Garut.. The study was

Berbeda dengan pertambahan panjang, hasil dari pengamatan pertambahan bobot menunjukkan bahwa benih ikan dipuasakan pada perlakuan 2 hari puasa 1 hari diberi pakan

Manajemen Pelatihan Ketenagakerjaan Pendekatan Terpadu Pengembangan Sumber Daya Manusia.. Jakarta:

yang posistif terhadap persepsi perubahan Dalam hal ini orang yang merasa memperoleh organisasi karena apabila persepsi karyawan dukungan sosial, secara emosional

Pada umumnya bank diartikan sebagai lembaga keuangan yang kegiatan usahanya adalah menghimpun dana dari masyarakat dan menyalurkan dana tersebut kepada masyarakat serta

A. Latar Belakang Jurusan Biologi merupakan jurusan yang memperlajari mengenai makluk hidup, lingkungan beserta adaptasinya.