Monday, May 6, 2019

Analisa dan Perancangan Sistem Penjualan Berbasis Desktop dengan Metode Waterfall pada Toko Alamtaro

Latar Belakang

Saat ini pemanfaatan teknologi komputer serta ilmu pengetahuan sebagai sarana penunjang suatu bisnis sangat membantu dalam hal mencapai tujuan yang diinginkan. Bukan hanya dapat mengurangi tingkat kesalahan (human error) namun juga mengurangi penggunaan tenaga manusia sehingga dapat menghemat biaya produksi.


Toko Alamtaro merupakan salah satu perusahaan yang bergerak dalam bidang penjualan kebutuhan sehari-hari. Saat ini perusahaan ini mengalami perkembangan yang sangat pesat sehingga dibutuhkan kecepatan dalam proses transaksi penjualan serta adanya kemudahan dalam memperoleh informasi yang dibutuhkan secara tepat dan akurat.

Data transaksi penjualan merupakan data yang sangat penting bagi perusahaan, sehingga dibutuhkan sebuah keamanan data yang sangat baik untuk mencegah kehilangan maupun rusaknya data. Saat ini Toko Alamtaro melakukan proses pencatatan data barang, serta data transaksi penjualan masih menggunakan tulisan tangan yang dapat menyita waktu yang cukup lama dan apabila terjadi kesalahan dalam penulisan menyebabkan data yang ada tidak akurat. Juga adanya penumpukan data dokumen yang sangat rentan terhadap kerusakan dan kehilangan serta banyak menyita tempat dalam penyimpanan dokumennya.

Dengan banyaknya kendala dan masalah yang dihadapi perlu adanya suatu sistem komputerisasi yang dapat membantu mengatasi semua masalah tersebut yaitu sebuah aplikasi penjualan yang mampu menampilkan informasi data barang maupun transaksi penjualan serta dapat mencetak laporan barang maupun transaksi penjualan.

Tujuan

Tujuan dari analisa dan perancangan sistem aplikasi penjualan pada Toko Alamtaro ini adalah membuat sebuah aplikasi dengan menggunakan Visual Basic dan Microsoft Access. Selain itu aplikasi yang dibuat harus dapat:
  1. Menyediakan interface yang dapat mempermudah user dalam mengolah data secara efisien, mudah, tepat dan teratur.
  2. Menyediakan sarana untuk memasukan data barang dan transaksi penjualan. Serta dapat menampilkan data barang dan transaksi penjualan barang dari database.
  3. Menyediakan aplikasi yang mampu membuat laporan data barang dan transaksi penjualan secara cepat, tepat serta efisien.  

Metode Pengembangan Sistem

Pengembangan sistem informasi yang berbasis komputer dapat merupakan tugas kompleks yang membutuhkan banyak sumber daya dan dapat memakan waktu berbulan-bulan bahkan bertahun-tahun untuk menyelesaikannya. Proses pengembangan sistem melewati beberapa tahapan dari mulai sistem itu direncanakan sampai dengan sistem tersebut diterapkan, dioperasikan, dan dipelihara. Bila operasi sistem yang sudah dikembangkan masih timbul kembali suatu permasalahan-permasalahan yang kritis serta tidak dapat diatasi dalam tahap pemeliharaan sistem, maka perlu dikembangkan kembali suatu system untuk mengatasinya dan proses ini kembali ke tahap yang pertama, yaitu tahap perencanaan sistem.

Metode Waterfall merupakan suatu cara pengembangan software yang fase-fasenya berurutan. Sebuah fase tidak bisa dikerjakan sebelum fase sebelumnya telah selesai dikerjakan.

Berdasarkan pendapat diatas metode waterfall merupakan metode yang menyarankan sebuah pendekatan yang sistematis melalui fase-fase pengembangan sistem untuk membangun sebuah perangkat lunak.Metode pengembangan system waterfall merupakan urutan kegiatan atau aktivitas yang dilakukan dalam pengembangan system mulai dari penentuan masalah, analisis kebutuhan, perancangan implementasi, integrasi, uji system, penerapan dan pemeliharaan.

Struktur pengembangan sistem waterfall digambarkan sebagai berikut:
 














Struktur pengembangan sistem yang digunakan dalam metode waterfall meliputi beberapa fase, Fase-fase yang ada pada metode waterfall adalah sebagai berikut:
1. Survey sistem
2. Analisis sistem
3. Desain sistem
4. Pembuatan sistem
5. Implementasi sistem
6. Pemeliharaan sistem

Analisa Sistem Berjalan

 Use Case Sistem Berjalan

Deskripsi use case diagram:


Nama Use Case
Use Case Diagram Sistem Penjualan yang Sedang Berjalan
Deskripsi kegiatan
Pelanggan memesan barang kepada kasir, setelah barang
diterima kemudian melakukan transaksi pembayaran
Aktor
Pelanggan, Kasir
Pra Kondisi
-
Tindakan Utama
Pelanggan memesan barang secara langsung kepada kasir kemudian dilakukan pengecekan stok barang, apabila barang tersedia sesuai dengan pesanan pembeli langsung melakukan transaksi pembayaran kepada kasir.
Pasca Kondisi
-
 

Activity Diagram Sistem Berjalan



Deskripsi Activity diagram:


Nama Activity Diagram
Activity Diagram Sistem Penjualan yang Sedang Berjalan
Deskripsi kegiatan
Pelanggan memesan barang kepada kasir, kemudian kasir mengecek barang sesuai pesanan, apabila barang tidak tersedia kasir menghubungi bag gudang
Aktor
Pembeli, Kasir, Bag Gudang, Supplier
Pra Kondisi
-
Tindakan Utama
Pembeli memesan barang secara langsung kepada kasir kemudian dilakukan pengecekan stok barang, apabila barang tersedia sesuai dengan pesanan pembeli langsung melakukan transaksi pembayaran kepada kasir. Apabila barang tidak tersedia kasir segera menghubungi bag gudang agar menyediakan barang sesuai pesanan.
Pasca Kondisi
-

Evaluasi Sistem Berjalan

Adapun kelemahan-kelemahan dari sistem yang sedang berjalan meliputi:
  1. Tidak adanya sistem atau aplikasi yang mampu mengolah data dan menampilkan informasi secara efisien, mudah, tepat dan teratur.
  2. Belum tersedianya aplikasi penjualan yang mampu menampilkan informasi data barang maupun transaksi penjualan , sehingga pada saat membutuhkan informasi harga barang maupun stok barang kasir mengalami kesulitan karena harus mengecek secara manual dari buku daftar harga maupun buku stok barang yang hal tersebut kurang efisien.
  3. Pada saat pembuatan laporan banyak menghadapi kendala dikarenakan adanya berkas yang hilang ataupun data yang belum tercatat dibuku.

Sistem Usulan

Sistem yang diusulkan telah terkomputerisasi, lebih mudah digunakan, integritas data terjaga, serta dapat menghemat waktu pada saat melakukan transaksi maupun pembuatan laporan-laporan.

Perancangan Basis Data


Normalisasi

Normalisasi dilakukan agar basis data yang akan diterapkan dapat digunakan dan dioperasikan dengan efesien, mudah dan tidak mengalami anomali atau keanehan. Normalisasi dimulai dengan menganalisa tabel dalam bentuk tidak normal.

Bentuk Tidak Normal

Bentuk tidak normal (Unnormalized) adalah bentuk basis data yang memiliki semua atribut yang diperlukan, tidak memiliki format tertentu dan bahkan kemungkinan basis data dalam bentuk yang redudansi.Pada tahap ini semua datayang ada akan direkam tanpa format tertentu dan data bisa jadi mengalami duplikasi.


Atribut
Kd_Brng, Nm_Brng, Harga, Jumlah, Stock, No_Nota_Penj, Tgl_Nota_Penj, Id_User, Nm_User,Harga, Jumlah, Stock, Id_User, Nm_User.

Bentuk Normal Pertama (1NF)

Suatu relasi dikatakan mempunyai bentuk normal pertama bila semua domain adalah sederhana. Artinya setiap atribut mempunyai  domain tunggal.


Atribut
Id_User, Nm_User,Kd_Brng, Nm_Per, Alamat, No_Telp,  Nm_Brng, Harga, Jumlah, No_Nota_Penj, Tgl_Nota_Penj, Stock.

Bentuk Normal Kedua (2NF)

Menentukan atribut dari normalisasi pertama yang digunakan sebagai primary key, untuk itu tabel dipecah setiap tabel memiliki primary key dimana semua atribut non primary key bergantung secara fungsional kepada atribut primary key, bentuk normal 2 sebagai berikut:

Tabel
Atribut
TbBarang
Kd_Brng*, Nm_Brng, Harga, Stock.
TbUser
Id_User*, Nm_User.
TbPenjualan
No_Nota*, Tgl_Nota, Id_User, No_Nota*, Kd_Brng, Harga, Jumlah.
 
Keterangan : (*) = simbol primary key

Bentuk Normal Ketiga (3NF)

Bentuk tahap ketiga terpenuhi jika pada sebuah tabel, semua atribut yang  tidak termasuk pada primary key memiliki ketergantungan fungsional primary key  secara utuh, pada normalisasi ketiga ditentukan field-field mana saja yang dijadikan kunci tamu dan kunci primer pada tiap tabel sebagai relasi/penghubung tabel satu ke tabel yang  lain. Seperti terlihat dibawah ini: 

Tabel
Atribut
TbBarang
Kd_Brng*, Nm_Brng, Harga, Stock.
TbUser
Id_User*, Nm_User.
TbPenjualan
No_Nota*, Tgl_Nota, Id_User**.
TbDetailPenjualan
No_Nota*, Kd_Brng**, Harga, Jumlah.
 
Keterangan: (*) = primary key, (**) = kunci tamu (foreign key)

ERD (Entity Relationship Diagram)

Entity Relationship Diagram atau diagram hubungan kumpulan objek-objek dasaratau disebut entitas dari sistem penjualan yang diusulkan berfungsi untuk menggambarkan model basis data yang akan dipakai. Model basis data yang digunakan adalah basis data relasional, dimana setiap entitas saling memiliki hubungan dengan entitas lain. Entitas dan hubungan yang digambarkan dalam model ERD tersebut nantinya akan dipakai untuk merancang basis data sistem penjualan. Berikut adalah ERD sistem usulan:












Diagram Relasi

 Perancangan Prosedur Usulan

Tahapan perancangan prosedur ini akan dijelaskan menggunakan bahasa pemodelan berorientasi objek dengan unified modeling language (UML) mencakup use case diagram, activity diagram, class diagram, component diagram, sequence diagram, serta deployment diagramdilanjutkan dengan model desain analisis digunakan untuk pemetaan awal mengenai perilaku yang diisyaratkan sistem aplikasi kedalam elemen-elemen pemodelan sistem yang menghasilkan sistem baru yang lebih baik serta mudah dipahami dan dimengerti.

Diagram Use Case

Use case diagram adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diwakili oleh sebuah aktor.Berdasarkan analisissistem yang telah dilakukan sebelumnya, maka perancangan yang diusulkan pada sistem penjualan di Toko Alamtaro adalah sebagai berikut:

Gambar diatas merupakan use case diagram sistem yang diusulkan pada Toko Alamtaro. Dalam use case diagram tersebut digambarkan kasir sebagai aktor, dimana dalam penggunaan sistem yang baru kasir terlebih dahulu melakukan login sebelum masuk kedalam menu utama sistem. Setelah login berhasil sistem baru dapat digunakan baik melakukan input data, transaksi penjualan dan pembelian maupun pembuatan laporan.



No
A1
Nama
Login
Tujuan
Validasi Login Kasir
Deskripsi
Aktor
Kasir
Skenario Utama
Kondisi Awal
Kasir memiliki username dan password
Aktor
Sistem

1.      Masuk ke halaman login

2.      Memasukkan username dan password

1.      Validasi data login yang diisi oleh Kasir (jika berhasil Kasir login, jika tidak Kasir mengisikan kembali username dan password)


1.         Masuk ke halaman menuutama Aplikasi Penjualan

1.      Tampilkan halaman menu utama Aplikasi Penjualan


Kondisi Akhir

KasirLogin




No
A2
Nama
Data Barang
Tujuan
Input Data Barang
Deskripsi
Aktor
Kasir
Skenario Utama
Kondisi Awal
Kasir telah melakukan login
Aktor
Sistem

1.      Masuk ke halaman menu data barang

2.      Menampilkan menu data barang




3.      Input data barang dan menyimpan data barang

4.      Konfirmasi data barang berhasil disimpan

Kondisi Akhir

Menampilkan data barang



No
A3
Nama
Penjualan
Tujuan
Input Data Penjualan
Deskripsi
Aktor
Kasir
Skenario Utama
Kondisi Awal
Kasir telah melakukan login
Aktor
Sistem

1.      Masuk ke halaman menu transaksi penjualan

2.      Menampilkan halaman menu transaksi penjualan

3.      Input data transaksi penjualan

4.      Konfirmasi data transaksi penjualan telah disimpan


Kondisi Akhir

Menampilkan data transaksi penjualan



No
A4
Nama
Laporan
Tujuan
Pembuatan Laporan
Deskripsi
Aktor
Kasir
Skenario Utama
Kondisi Awal
Kasir telah melakukan login
Aktor
Sistem

1.      Masuk ke halaman menu laporan

2.      Menampilkan halaman menu laporan

3.      Mencetak laporan

4.      Konfirmasi laporan telah dicetak


Kondisi Akhir

Menampilkan laporan

Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing).


Activity Diagram Login

 
Activity Diagram Input Data

Activity Diagram Penjualan

Sequence Diagram

Sequence Diagram menggambarkan interaksi antar objek di dalam dan disekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu.Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).



Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Di awali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Diagram ini secara khusus berasosiasi dengan use casediagram.

Masing-masing objek, termasuk actor, memiliki lifeline vertikal.Message digambarkan sebagai garis berpanah satu dari satu objek ke objek lainnya. Pada fase desain berikutnya, messageakan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya di awali dengan diterimanya sebuah message.Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan entity.


Sequence Diagram Login

Sequence Diagram Input Data Barang
  

Sequence Diagram Penjualan
 

Class Diagram
Class Diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan  (atribut/property) suatu sistem. Sekaligus menawarkan layanan unik manipulasi keadaan tersebut (metode/fungsi).Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti pewarisan dan lain-lain.Berikut adalah gambar class diagram sistem aplikasi penjualan pada Toko Alamtaro yang diusulkan: 


Perancangan Antarmuka (Interface)


Perancangan antar muka sangat penting dalam membangun sebuah aplikasi, karena dapat memberikan gambaran mengenai aplikasi yang dibuat sehingga memudahkan user berinteraksi dengan dengan sistem yang baru.

Struktur Menu

Struktur menu merupakan bentuk umum dari suatu rancangan aplikasi untuk memudahkan user pada saat menjalankan aplikasi,sehingga user tidak mengalami kesulitan untuk memilih menu-menu yang diinginkan.Pada perancangan ini dibuat menu yang dapat mengintegrasikan seluruh data dalam suatu sistem dan disertai dengan instruksi yang ada pada pilihan menu tersebut. Berikut gambar struktur menu aplikasi penjualan pada Toko Alamtaro:


Form Utama




Perancangan Input
Perancangan input merupakan proses dimulainya suatu sistem aplikasi. Dalam proses perancangan input ini suatu data yang dimasukan akan mempengaruhi data yang akan ditampilkan.

Form Login
Form User Account



Form Ganti Password

Form Input Barang


Form Input Penjualan





Implementasi Basis Data

Struktur Table

Pada setiap struktur tabel terdapat nama field yang terdiri dari beberapa record dan tipe data untuk menentukan tipe data apa saja yang akan digunakan untuk mendeskripsikan record yang akan dibuat.

Table User

Tabel user terdiri dari 4 field name yaitu Id_User, Nm_User, Password dan Hak Akses.
Berikut adalah struktur tabel user: 


No
Nama Field
Jenis
Lebar
Keterangan
1

2

3

4
Id_User

Nm_User

Password

HakAkses
Char

Varchar

Varchar

Char
10

40

70

20
Id User ( PK )

Nama User

Password

Hak Akses
Keterangan: PK = primary Key

Table Barang
Tabel barang terdiri dari 4 field name yaitu Kd_Brng, Nm_Brng, Harga dan Stock.
Berikut adalah struktur tabel barang: 

No
Nama Field
Jenis
Lebar
Keterangan
1

2

3

4
Kd_Brng

Nm_Brng

Harga

Stock
Char

Varchar

Integer

Integer
10

30

-

-
Kode Barang ( PK )

Nama Barang

Harga

Stock
Keterangan: PK = Primary Key

Tabel Penjualan
Tabel penjualan terdiri dari No_Nota, Tgl_Nota dan Id_User. Berikut adalah struktur tabel penjualan:

No
Nama Field
Jenis
Lebar
Keterangan
1

2

3
No_Nota

Tgl_Nota

Id_User
Char

Datetime

Char
10

-

10
No Nota ( PK )

Tanggal Nota

Id User ( FK )
 
Keterangan: PK = Primary Key, FK = Foreign Key 


Tabel Detil Penjualan
Tabel detail penjualan terdiri dari No_Nota, Kd_Brng, harga dan Jumlah. Berikut adalah struktur tabel detail penjualan:


No
Nama Field
Jenis
Lebar
Keterangan
1

2

3

4

5
No_Nota

Kd_Brng

Harga

Jumlah

Total_Bayar
Char

Char

Money

Integer

int
10

10

-

-

-
No Nota ( PK )

Kode Supplier ( PK )

Harga

Jumlah

Total Bayar

Keterangan: PK = Primary Key
 

Penutup 

Berdasarkan uraian-uraian yang telah paparkan diatas, saya menarik kesimpulan mengenai solusi yang tepat untuk mengatasi semua permasalahan yang timbul dengan membuat suatu aplikasi penjualan yang berfungsi sebagai sistem alternatif yang dapat membantu dalam transaksi penjualan pada Toko Alamtaro. Aplikasi ini digunakan sebagi pelengkap dari aktivitas penjualan sehingga dapat melayani dengan cepat kebutuhan palanggan dan membantu mempermudah pekerjaan user serta dapat mengikuti perkembangan teknologi sehingga dapat membantu kemajuan perkembangan perusahaan. Dengan pembuatan aplikasi penjualan ini dapat diambil beberapa kesimpulan antara lain:
  1. Sistem yang baru diharapkan dapat mengatasi semua permasalahan yang dihadapi selama ini.
  2. Dengan adanya aplikasi penjualan yang dipakai akan meningkatkan keuntungan serta kemajuan  perusahaan.
  3. Proses kerja dapat dilakukan dengan cepat dan efisien serta memberikan kemudahan dalam menjalankan pekerjaan user.