STUDI KASUS PERANCANGAN SISTEM
Prosedur
Singkat Penjualan Barang di “Rachmana Tamaya”
A. Pengantar
Sistem adalah kumpulan elemen yang masing-masing elemen
tersebut memiliki fungsi masing-masing, namun secara bersama-sama bekerja untuk
mencapai tujuan dari adanya sistem tersebut. Sebuah mobil dapat dikatakan
sebuah sistem karena di dalamnya terdapat kumpulan elemen (seperti kemudi, rem,
mesin, roda, kaca spion, lampu sen, dan sebagainya) yang masing-masing elemen
tersebut memiliki fungsi masing-masing, namun secara bersama-sama bekerja untuk
mencapai tujuan dibuatnya mobil tersebut yaitu sebagai alat transportasi.
Sistem yang kita bahas sebagai contoh sederhana di sini
adalah sistem komputerisasi administrasi di suatu unit usaha. Misalkan unit
usahanya adalah “Mini Market ‘Rachmana Tamaya’” yang akan kita buat “sistem
penjualan barang”-nya.
B. Prosedur Singkat Penjualan Barang di “Rachmana Tamaya”
Mini market “Rachmana Tamaya” tidak melakukan pendataan
pelanggan, sehingga pembeli manapun dapat melakukan transaksi pembelian. Namun
demikian, untuk meningkatkan pelayanan kepada pembeli, di kasir (hanya ada 1
kasir), pembeli dapat menanyakan apakah barang yang dicari tersedia di sana,
masih ada berapa unit, dan berapa harganya.
Setiap barang yang sudah dilakukan transaksi tidak dapat
ditukar atau dikembalikan, dan setiap pembelian harus dilakukan secara tunai.
Meskipun data pembeli tidak dicatat, namun di setiap struk belanja yang dicetak
diberi kode. Kode tersebut terdiri dari masing-masing 2 digit tanggal, bulan,
tahun, dan 3 digit nomor urut. Misalkan kode = “120903056” berarti, transaksi
yang terjadi pada tanggal 12 bulan September tahun 2003 di nomor urut 056.
C. Analisis (Persiapan) Merancang Sistem
Ada beberapa hal yang harus dianalisis sebelum membuat perancangan
sistem, yaitu : (1) ruang lingkup atau batasan sistem, (2) apa yang ingin
dihasilkan oleh sistem (tujuan sistem/ output), (3) siapa saja yang terlibat di
dalamnya, dan sebagainya.
Ruang lingkup sistem yang akan kita bahas adalah tentang
penjualan barang di mini market “Rachmana Tamaya”, tidak membahas pembelian
barang untuk keperluan stok di mini market tersebut, maupun bagaimana
penanganan barang rusak, kadaluarsa, dan sebagainya. Masih dalam batasan
sistem, pihak-pihak/ orang-orang yang berada di “lingkar luar” adalah
pengunjung mini market yang selanjutnya disebut dengan “Pembeli” dan “Pemilik,”
yaitu pemilik mini market yang harus diberi laporan hasil penjualan barang
setiap hari (setelah toko tutup).
Tujuan pembuatan sistem ini adalah untuk mencatat transaksi
penjualan barang di mini market tersebut (sehingga dapat digunakan untuk
mengecek uang masuk, selanjutnya juga dapat dimanfaatkan untuk menghitung
keuntungan unit usaha, dan sebagainya).
Pihak-pihak yang terlibat di dalamnya (pada proses penjualan
barang) adalah kasir, dan beberapa penjaga toko yang merangkap pengontrol
keberadaan barang di rak-rak pajang).
D. Penggambaran Perancangan Sistem
Di bahasan ini, penggambaran perancangan sistem yang
digunakan adalah Data Flow Diagram (DFD), Entity/ Relationship
Diagram (E/R Diagram), dan Data Normalization. DFD dibagi menjadi
tiga strata (tingkatan), yaitu Context Diagram, Zero Diagram,
dan Detail Diagram.
D.1. Context
Diagram (Diagram konteks)
Diagram konteks berisi gambaran umum (secara garis besar)
sistem yang akan dibuat. Secara kalimat, dapat dikatakan bahwa diagram konteks
ini berisi “siapa saja yang memberi data (dan data apa saja) ke sistem, serta
kepada siapa saja informasi (dan informasi apa saja) yang harus dihasilkan
sistem.”
Jadi, yang dibutuhkan adalah (1) Siapa saja pihak
yang akan memberikan data ke sistem, (2) Data apa saja yang
diberikannya ke sistem, (3) kepada siapa sistem harus memberi
informasi atau laporan, dan (4) apa saja isi/ jenis laporan yang
harus dihasilkansistem.
Kata “Siapa” di atas dilambangkan dengan kotak persegi
(disebut dengan terminator), dan kata “apa” di atas dilambangkan dengan
aliran data (disebut dengan data flow), dan kata “sistem” dilambangkan
dengan lingkaran (disebut dengan process).
Gambar 1 Lambang - Lambang yang akan di gunakan di Diagram
Konteks
Beberapa kemungkinan (data) yang diberikan pembeli kepada
kasir adalah : (1) barang yang ditanyakan, (2) barang yang akan dibeli, dan (3)
Uang pembayaran. Sebaliknya, kemungkian informasi yang diberikan kasir kepada
pembeli adalah (1) keadaan barang yang ditanyakan, (2) jumlah uang yang harus
dibayar.
Sedangkan informasi yang diberikan kasir kepada Pemilik
adalah Laporan Jumlah Uang Masuk beserta Jumlah Barang yang
Terjualnya. DFD Konteksnya :
Gambar 2 Diagram Konteks
D.2. Zero
Diagram (Diagram Nol).
Tujuan dari diagram nol adalah untuk “memerinci” sebuah
sistem menjadi “proses-proses” yang harus dilakukan ‘orang dalam.’ Atau jika
dibuat dalam kalimat adalah : “Apa saja proses yang harus dilakukan agar
mencapai sistem tersebut ?.”
Jadi, diagram ini adalah kelanjutan dari diagram konteks,
yang “memperbanyak lingkaran,” sedangkan untuk (jumlah dan
isi)terminator serta (jumlah dan isi) data flow dari dan ke
terminator tersebut harus tetap.
Pada diagram ini pula mulai ditampilkan data
store (penyimpan data/ file) yang dibutuhkan
Gambar 3. Lambang Penyimpanan Data
File apa saja yang dibutuhkan di sistem ini ?.
Jenis file data ada dua, yakni (1) master file, dan
(2) transaction file.. Master file adalah file berisi
(mencatat) mengenai objek yang harus ada di sebuah unit usaha yang jika tidak
ada objek tersebut maka unit usaha tersebut tidak akan berjalan secara
sempurna.
Objek-objek yang harus ada di sebuah mini
market adalah : (1) barang, (2) pengelola, (3) pembeli, dan (4) fasilitas.
Jika salah satu objek tersebut tidak ada, maka mini market tidak akan berjalan
sempurna. Dalam pencatatan penjualan barang, master
file yang dibutuhkan hanya barang, pengelola (kasir), dan
fasilitas (Rak, yang digunakan untuk memajang barang). File Pembeli
tidak diperlukan karena data pembeli tidak dicatat.
Sedangkan transaction
file adalah file yang digunakan untuk mencatat transaksi yang
terjadi di mini market tersebut. Transaksi adalah berelasinya
(berhubungannya) dua master file (atau lebih). Jika kita lihat apa
saja master file yang harus ada di atas, dan mana yang berhubungan
sehingga terjadi transaksi, maka kemungkinan-kemungkinan transaksi yang terjadi
di mini markettersebut adalah :
1. “Pembeli
membeli barang”
2. “Kasir
menjual barang”
3. “Pembeli
membeli barang, dan Kasir Menjual Barang” (gabungan 1 dan 2)
Karena Pembeli tidak dicatat, maka kita menggunakan
transaksi yang ke 2 saja, sehingga transaksi yang terjadi akan dicatat
di file“JUAL”. (Nama file terserah perancang sistem)
Mari kita susun diagram nol-nya.
Ketika “Pembeli” datang, ada 2 kemungkinan yang akan
dilakukannya, yaitu (1) bertanya keberadaan barang yang akan dibelinya, dan (2)
ia mengambil barang-barang yang akan dibelinya dan menyerahkan kepada kasir
untuk dihitung berapa yang harus dibayarnya. Apa aksi (proses yang harus
dilakukan kasir) untuk kedua kemungkinan tersebut ?.
Gambar 4. Diagram Nol
D.3. Detail
Diagram (Diagram Detil).
Diagram detil adalah diagram yang memungkinkan proses yang
ada di diagram nol lebih diperinci lagi. Misalkan untuk proses 1 di atas.
D.4. Entity/ Relationship
Diagram (Diagram E/R)
Diagram E/R digunakan untuk memperlihatkan hubungan
antarfile (data store) yang ada di DFD. Di sini, file (data
store) disebut dengan entity (entitas). Bagian dari file,
yaitufields, di sini disebut dengan attributes (atribut-atribut).
Berikut lambang-lambangnya.
Gambar 5. Diagram Detil Proses 1
Berikut contoh diagram E/R dalam kasus ini :
Gambar 6. Lambang - Lambang E / R
Berikut contoh diagram E/R dalam kasus ini :
Gambar 7. Diagram E/R Kasus di Atas.
Berikut penjelasan atribut-atribut yang digunakan :
Nama File(Entitas)
|
Nama Field(Atribut)
|
Keterangan
|
KASIR
|
NOPEG
|
Nomor Pegawai
|
NAMA
|
Nama Pegawai
|
|
ALAMAT
|
Alamat Pegawai
|
|
BARANG
|
KD_BRG
|
Kode Barang
|
NM_BRG
|
Nama Barang
|
|
HARGA
|
Harga Satuan Barang
|
|
STOK
|
Jumlah Barang Tersedia
|
|
MEREK
|
Merek Barang
|
|
JENIS
|
Jenis Barang
|
Nama File(Entitas)
|
Nama Field(Atribut)
|
Keterangan
|
JUAL
|
NOPEG
|
Nomor Pegawai
|
KD_BRG
|
Kode Barang
|
|
NO_KWI
|
Nomor Kwitansi
|
|
JML_BRG
|
Jumlah barang yang dibeli per kode barang
|
|
TTL_BYR
|
Jumlah uang yang dibayar
|
Atribut-atribut ini disesuaikan dengan kebutuhan oleh
perancang sistemnya, misalkan, KASIR boleh saja memiliki atribut tempat dan tanggal
lahir “TT_Lahir,” tetapi karena atribut itu tidak diperlukan maka tidak perlu
dibuat/ ditulis. Tetapi harus dipatuhi bahwa setiap atribut yang ada di entitas
adalah memang merupakan atribut (identitas) dari entitasnya. Jadi, jangan
masukkan atribut “NM_BRG” di atribut KASIR, karena nama barang bukanlah atribut
si KASIR.
Entitas “JUAL” adalah entitas yang
merupakan file transaksi, jadi, (atribut-atribut) yang tercantum di
sana adalah bagian-bagian transaksi yang harus dicatat. Adapun atribut NOPEG dan
KD_BRG adalah atribut dari entitas lain yang menjadi “jembatan” untuk mengambil
atribut-atribut dari master file-nya. (Penjelasan ini ada di bagian
berikutnya).
Ada kekuatan hubungan di dalam Diagram E/R yang dinamakan
dengan derajat kardinalitas (cardinality degree). Ada empat jenis derajat
kardinalitas yaitu (1) one to one(dilambangkan dengan 1 : 1), (2) one
to many (dilambangkan dengan 1 : M), (3) many to
one (dilambangkan dengan M : 1), dan (4) many to many (yang dilambangkan
dengan M : M). Untuk menetapkan derajat kardinalitas di atas, ikuti
kalimat-kalimat berikut ini :
“Satu KASIR bisa menJUAL satu atau
lebih BARANG.” Satu atau lebih = Many
Gambar 8. Proses Pertama Penderajatan Kardinalitas Diagram
E/R
Selanjutnya, kalimat yang dibalik :
“Satu (kode) BARANG bisa diJUAL oleh satu atau
lebih KASIR”
Gambar 9. Proses Kedua Penderajatan Kardinalitas Diagram E/R
Selanjutnya, pilih yang terbesar dari masing-masing sisi :
Gambar 10. Proses Ketiga Penderajatan Kardinalitas
Kini kita dapatkan “M” (many) di kedua sisinya yang berarti
derajat kardinalitas relasi tersebut adalah “many to many.” Namun, karena dalam
matematika, nilai M akan selalu sama dengan M, sedangkan belum tentu kalimat
(jika nilai M di atas = 10), “Sepuluh KASIR akan selalu menJUAL sepuluh
BARANG,” maka penulisan M di salah satu sisinya diganti dengan N, tetapi
pembacaannya tetapmany. Jadi, nilai M dan N bisa jadi sama, dan bisa jadi tidak
sama (M = N atau M ¹ N).
Gambar 11. Proses Akhir Penderajatan Kardinalitas Diagram
E/R
D.5. NORMALISASI DATA TINGKAT
PERTAMA
Normalisasi data adalah salah satu cara membentuk
sebuah fileyang efektif dan efisien, sehingga dapat
memanfaatkan spacememori komputer seoptimal mungkin. Proses normalisasi
data juga bertingkat-tingkat, dan di sini hanya akan dibahas mulai tingkat 1
hingga tingkat 3 saja.
Normalisasi data tingkat pertama (First Normal
Form/ 1NF) adalah proses penganalisisan setiap atribut yang ada di
semuafile yang terbentuk hingga Diagram E/R. Penganalisisan ditujukan agar
setiap atribut yang dibentuk dapat diolah untuk menghasilkan informasi yang
dibutuhkan.
Syarat 1NF adalah “setiap atribut harus bersifat atomik,”
artinya, setiap atribut merupakan unsur terkecil dari identitas entitas (tidak
perlu dipecah-pecah lagi). Contoh : akan kita periksa atribut “NAMA,” apakah
atribut tersebut sudah atomik ?. Misalkan salah satu isi atribut NAMA adalah
“Rachmi Hidayat,” jika nama itu selamanya akan digunakan demikian, maka atribut
tersebut sudah atomik. Tetapi, jika nama itu suatu saat harus dicetak menjadi
“Hidayat, Rachmi,” maka atribut NAMA tersebut belum atomik. Bagaimana mencetak
“Rachmi Hidayat” menjadi “Hidayat Rachmi” ?.
Jadi, jika di “negara barat,” biasanya atribut nama
dipecah-pecah menjadi first name (FNAME), middle
name (MNAME), danlast name (LNAME), karena memang nama mereka sering
dibolak-balik.
Periksa juga atribut-atribut lainnya, seperti atribut
ALAMAT, perlu tidak dipecah-pecah. Bayangkan saja, jika panjang atribut ALAMAT
100 karakter, kemudian kita diminta mengirim surat, apa jadinya ketika di
amplop kita print alamat yang panjangnya 100 karakter ?.
D.6. NORMALISASI DATA TINGKAT
KEDUA
Normalisasi data tingkat kedua (second normal form/ 2NF)
bersyarat : (1) telah memenuhi 1NF, (2) setiap atribut non keyharus
tergantung secara fungsional dengan atribut key-nya. Apa itu
atribut key dan non key ?.
Key Field (Kunci Atribut)
Kunci atribut adalah atribut yang dipilih untuk dapat
mewakili atribut-atribut lain dalam sebuah record yang membedakan
dengan record-record lainnya Misalkan, untuk seorang mahasiswa, apa
atribut yang bisa mewakili dirinya yang bisa membedakan dengan mahasiswa
lainnya ?.
Jika dipilih nama, banyak nama mahasiswa lain yang sama.
Jika dipilih tanggal lahir, kemungkinan akan ada yang sama, dan sebagainya.
Bagaimana cara menentukannya ?.
Super Key (Kunci Super)
Kunci super adalah satu atau beberapa kombinasi atribut yang
mungkin dapat dipilih menjadi kunci atribut. Misalkan, File“Mahasiswa”
memiliki atribut-atribut : NPM, NAMA, KELAS, ALAMAT, dan TGL_LAHIR, maka atribut(-atribut)
yang bisa dipilih menjadi kunci atribut adalah :
(1) NPM
(2) NAMA (dengan syarat tidak
ada nama mahasiswa yang sama)
(3) NPM + NAMA
(4) NPM + TGL_LAHIR
(5) NPM + NAMA + TGL_LAHIR
(6) Dan seterusnya, berbagai
kombinasi yang mungkin
Candidate Key (Kunci Calon)
Kunci calon adalah kunci atribut yang merupakan (kumpulan)
kunci atribut yang jumlahnya paling sedikit di kunci super. Kita dapatkan dua
buah atribut yang merupakan kunci atribut dengan jumlah atributnya tersedikit
(1 atribut), yaitu :
(1) NPM
(2) NAMA (dengan syarat tidak
ada nama mahasiswa yang sama)
Primary Key (Kunci Utama), yang sering disebut
dengan key field.
Adalah kunci kandidat yang dipilih untuk dijadikan key
field. Pemilihan dilakukan dengan mempertimbangkan kemungkinan yang tidak akan
pernah sama, maka kunci atribut yang dipilih adalah NPM.
Alternate Key (Kunci Alternatif)
Kunci alternatif adalah kunci kandidat yang tidak terpilih
menjadi primary key, dalam hal ini, NAMA.
Foreign Key (Kunci Tamu)
Adalah kunci utama dari file (master) lain yang
digunakan di file(transaksi). Kunci atribut tersebut digunakan sebagai
“jembatan” untuk mengambil nilai data dari atribut-atribut lain. Perhatikan
Diagram E/R berikut ini (dari kasus sebelumnya) :
Gambar 12. Penulisan Kunci Atribut di Diagram E/R
Di master file (entity) KASIR, kunci utamanya :
NOPEG (nomor pegawai)
Di master file (entity) BARANG, kunci utamanya :
KD_BRG (kode barang)
Di transaction file (relationship) JUAL, kunci
utamanya : NO_KWI (nomor kwitansi)
kunci
tamunya : NOPEG dan KD_BRG
NOPEG sebagai kunci tamu di JUAL digunakan untuk menganbil
nilai data atribut NAMA dan ALAMAT di file KASIR. KD_BRG sebagai
kunci tamu di JUAL digunakan untuk mengambil nilai data NM_BRG,
HARGA, dan berbagai atribut di file BARANG, sehingga bisa diketahui
barang tertentu dijual oleh kasir yang mana.
Kembali ke 2NF, kata “tergantung secara fungsional” menurut
pengertiannya adalah (untuk contoh kasus file KASIR yang kunci
atributnya NOPEG ) : “jika NOPEG berubah, maka harus pasti orangnya (NAMA, dan
ALAMAT si Kasir) berubah pula.” Meski demikian, bisa saja alamatnya tidak
berubah karena dua orang kasir tinggal di alamat yang sama, itu tidak masalah.
Kasus di atas sudah memenuhi syarat 2NF. Contoh jika belum
memenuhi syarat 2 NF adalah jika pada file BARANG terdapat atribut
NAMA (kasir), atau TGL_BYR (tanggal bayar di JUAL), dan berbagi contoh lainnya
yang pada satu file terdapat atribut yang tidak
semestinya dapat dijadikan atribut file tersebut.
D.7. NORMALISASI DATA TINGKAT
KETIGA
Normalisasi data tingkat ketiga (third normal form/ 3NF)
bersyarat : (1) telah memenuhi 2NF, (2) setiap atribut non keytidak boleh
tergantung dengan atribut non key lainnya (tidak boleh terjadi
ketergantungan transitif).
Contoh transitif : Jika A ® B, dan
B ® C, maka sudah pasti A ®C.
Kebetulan, di kasus di atas tidak ada atribut yang bersifat
transitif.
Contoh atribut yang bersifat transitif. Jika A = NPM, B =
KODE_POS, dan C = KOTA yang misalnya ada di file MAHASISWA,
maka file tersebut harus dipecah menjadi, file 1
(MAHASISWA) berisi atribut NPM, dan KODE_POS, dan file 2 (KODEPOS)
berisi atribut KODE_POS dan KOTA.
E. PEMROGRAMAN
Setelah perancangan sistem dibuat (oleh system analys),
maka kini giliran programmer membuat programnya. File
data yang harus dibuat sesuai dengan data store yang tercipta di
DFD, atau entitas di ERD, dan atribut-atributnya mengikuti hasil final proses
normalisasi data.
Program yang dibuat mengikuti langkah-langkah proses yang
ada di DFD zero dan detil, selain itu ditambah lagi dengan program
umum untuk filing, yaitu Input (memasukkan data, menyisipkan data, dan
menambah data), Proses (menghapus, mengganti, mengolah, dsb.), Output (membuat
laporan/ sesuai DFD, menampilkan data, dsb.).
Selain perancangan sistem di
atas, programmer perlu memanfaatkan alat-alat bantu lain, seperti
kamus data (data dictionary) yang berfungsi untuk mendefinisikan setiap elemen
data, sehingga dapat mencegah data yang salah yang dimasukkan ke komputer.
Misalkan, program harus mengecek apakah isian tentang NPM sudah benar, jangan
sampai user mengetik misalkan NPM dengan awalan karakter ‘9’ karena
NPM di Gunadarma maksimal karakter ‘5’, dan sebagainya.
Perlu juga HIPO chart, Flowchart, dan sebagainya
untuk menyusun algoritma dan logika pemrograman. Perlu juga melakukan rancangan
bentuk input (input design), dan output (output design) agar tampilan yang
dihasilkan program tampak indah, menarik, dan komunikatif.
F. KESIMPULAN
Merancang suatu sistem administrasi komputer adalah
pekerjaan yang tidak ringan yang biasanya dilakukan secara berkelompok,
sehingga tidak boleh main-main dan diperlukan kedisiplinan waktu dan
konsentrasi. Banyak software house kini mengambil bisnis ini, dan
bagi mereka yang belum berpengalaman, kesulitan utama yang muncul adalah (1)
koordinsasi anggota, (2) estimasi waktu pengerjaan proyek, dan (3) estimasi
biaya.
Tidak ada komentar:
Posting Komentar