BAB 2
TINJAUAN PUSTAKA
2.1 Analisis Sistem
Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan (Jogiyanto Hartono, 1995).
Analisis sistem adalah suatu proses mengumpulkan dan menginterpretasikan kenyataan-kenyataan yang ada, mendiagnosa persoalan dan menggunakan keduanya untuk memperbaiki sistem (Kristanto, 2003).
2.2 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) merupakan diagram yang mengunakan notasi-notasi atau simbol-simbol untuk mengambarkan sistem jaringan kerja antar fungsi-fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data (Jogiyanto Hartono, 2005).
DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau dimana data tersebut akan disimpan. Salah satu keuntungan menggunakan diagram aliran data adalah memudahkan pemakai (user) yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan.
Universitas Sumatera Utara
DFD terdiri dari diagram konteks (context diagram) dan diagram rinci (level diagram). Diagram konteks adalah diagram yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke sistem atau output dari sistem. Sistem dibatasi oleh boundary (dapat digambarkan dengan garis putus). Dalam diagram konteks biasanya hanya ada satu proses. Tidak boleh ada store dalam diagram konteks. Diagram rinci adalah diagram yang menguraikan proses apa yang ada dalam diagram level di atasnya.
Adapun yang digunakan dalam DFD adalah: 1. Entitas Eksternal (External Entity) Entitas Eksternal (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Suatu kesatuan luar dapat disimbolkan dengan suatu notasi persegi panjang.
Gambar 2.1 Entitas Eksternal
2. Aliran data Aliran data di DFD diberikan simbol suatu panah. Aliran data ini mengalir diantara proses (process), simpanan data (data store) dan kesatuan luar (External entity). Aliran data ini menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem.
Gambar 2.2 Aliran Data
Universitas Sumatera Utara
3. Proses Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu aliran data yang masuk ke dalam proses untuk dihasilkan aliran data yang akan keluar dari proses. Suatu proses dapat disimbolkan dengan notasi lingkaran.
Gambar 2.3 Proses
4. Penyimpan Data (Data Store) Penyimpan data (data store) merupakan penyimpan data yang dapat berupa:
a. Suatu file atau basis data di sistem komputer. b. Suatu arsip atau catatan manual. c. Suatu tabel acuan manual. d. Suatu agenda atau buku.
Simpanan data di DFD dapat disimbolkan dengan sepasang garis horizontal paralel yang ujungnya tidak ditutup.
Gambar 2.4 Penyimpan Data
2.3 Microsoft Visual Basic 6.0
Microsoft Visual Basic 6.0 merupakan bahasa pemrograman yang sangat mudah dipelajari, dengan teknik pemrograman visual yang memungkinkan penggunanya untuk berkreasi lebih baik dalam menghasilkan suatu program aplikasi. Ini terlihat
Universitas Sumatera Utara
dari dasar pembuatan dalam visual basic adalah form, dimana pengguna dapat mengatur tampilan form kemudian dijalankan dalam script yang sangat mudah.
2.3.1 Interface Microsoft Visual Basic 6.0
Interface Microsoft Visual Basic 6.0, berisi menu, toolbar, toolbox, form, project explorer dan property seperti terlihat pada gambar berikut.
Gambar 2.5 Interface Microsoft Visual Basic 6.0 2.3.2 Konsep Dasar Pemrograman dalam Microsoft Visual Basic 6.0
Konsep dasar pemrograman Microsoft Visual Basic 6.0, adalah pembuatan form dengan mengikuti aturan pemrograman Property, Metode dan Event. Hal ini berarti: Property: Setiap komponen di dalam pemrograman Visual Basic dapat diatur propertinya sesuai dengan kebutuhan aplikasi. Property yang tidak boleh dilupakan pada setiap komponen adalah “Name”, yang berarti nama variabel (komponen) yang akan digunakan dalam scripting. Properti “Name” ini hanya bisa diatur melalui jendela Property, sedangkan nilai peroperti yang lain bisa diatur melalui script seperti Command1.Caption=”Play” Text1.Text=”Visual Basic” Label1.Visible=False
Universitas Sumatera Utara
Timer1.Enable=True Metode: Bahwa jalannya program dapat diatur sesuai aplikasi dengan menggunakan metode pemrograman yang diatur sebagai aksi dari setiap komponen. Metode inilah tempat untuk mengekpresikan logika pemrograman dari pembuatan suatu prgram aplikasi. Event: Setiap komponen dapat beraksi melalui event, seperti event click pada command button yang tertulis dalam layar script Command1_Click, atau event Mouse Down pada picture yang tertulis dengan Picture1_MouseDown. Pengaturan event dalam setiap komponen yang akan menjalankan semua metode yang dibuat.
2.4 MySQL SQL merupakan singkatan dari Structured Query Language. SQL juga merupakan bahasa standar untuk sistem manajemen database (DBMS – Database Management System) relasional. Standar SQL didefinisikan oleh ISO (International Standard Organization) dan ANSI (American National Standard Institute). Sistem Database yang menggunakan SQL adalah Oracle, DB2, MySQL, MS SQL Server, Sybase, dll.
Statemen SQL terdiri dari reserved word dan user-defined word. Reserved word adalah bagian yang tetap (fixed) dalam bahasa SQL dan memiliki makna yang tetap. User-defined word adalah bagian yang ditetapkan oleh pemakai untuk mewakili bermacam-macam objek sebuah database, seperti relasi, kolom, indeks, dan sebagainya. Statemen SQL adalah case insensitive, yaitu boleh ditulis dengan huruf besar atau huruf kecil.
Jenis perintah SQL:
1. DDL (Data Definition Language) 2. DML (Data Manipulation Language) 3. DCL (Data Control Language)
Universitas Sumatera Utara
2.4.1 Menjalankan MySQL
Untuk menjalankan MySQL C:\apache\mysql\bin>mysql –u root
2.4.2 Data Definition Language
Merupakan bahasa yang mendefinisikan data, atau kelompok perintah yang digunakan untuk melakukan pendefinisian database dan tabel. Kita dapat membuat tabel, mengubah strukturnya, menghapus tabel, membuat indeks untuk tabel dan sebagainya.
1. Membuat Database Database dibuat melalui pernyataan CREATE DATABASE. CREATE DATABASE namadatabase;
Nama database sebaiknya diawali dengan huruf besar,
lalu
dikombinasikan dengan huruf dan karakter. Sebaiknya nama database tidak mengandung spasi dan tanda baca.
2. Membuat Tabel Setiap tabel dalam database harus didefinisikan dan dibuat. Hal ini dapat dilakukan dengan menggunakan perintah CREATE TABLE. CREATE TABLE namatabel( nama_kolom_1 tipe_data([ukuran]), nama_kolom_2 tipe_data([ukuran]), nama_kolom_3 tipe_data([ukuran]), …, nama_kolom_n tipe_data([ukuran]));
Supaya tabel yang kita buat dapat berguna, kita perlu menambah atau mengisi informasi ke dalamnya. Kita bisa melakukan dengan perintah INSERT.
Universitas Sumatera Utara
Bentuk umum 1 : INSERT INTO namatabel (nama_kolom_1, nama_kolom_2, ...) VALUES (nilai1, nilai2, ...); Bentuk umum 2 : INSERT INTO namatabel SET nama_kolom_1 = nilai1, nama_kolom_2 = nilai2, ...;
Dibanding dengan cara pertama, maka cara kedua ini lebih jelas posisi data akan diletakkan pada kolom (field) mana saja. Hanya saja, bila jumlah data yang akan kita masukkan banyak, maka dengan cara kedua ini sangat merepotkan sekali.
Bentuk umum 3 : INSERT INTO namatabel VALUES (nilai1, nilai2, …);
Syntax perintah INSERT INTO diikuti nama tabel yang akan diisi, nama field yang akan diisi, dan values / isi data yang akan dimasukkan.
Memilih record dalam database MySQL menggunakan perintah select. Ketika perintah ini dieksekusi dari shell, MySQL mencetak semua record yang cocok dengan query yang dimasukkan. Perintah yang paling gampang adalah SELECT * FROM namatabel;
Tanda * berarti “menampilkan isi dari semua field pada tabel” from tabel yang akan dibuka.
3. Melihat Struktur Tabel SHOW COLUMNS FROM namatabel; atau DESCRIBE namatabel;
Universitas Sumatera Utara
4. Mengubah Struktur Tabel Ada saatnya kita sadar kalau ternyata struktur tabel yang pernah kita buat perlu penyempurnaan. Penyempurnaan bisa dalam hal penambahan kolom, pengubahan lebar kolom, penghapusan kolom, dan sebagainya. ALTER TABLE namatabel jenis_pengubahan
Jenis pengubahan yang dapat dilakukan antara lain penambahan kolom (ADD), penghapusan kolom dan indeks (DROP), penggantian nama kolom sekaligus jenis kolomnya (RENAME), dan pengubahan jenis kolom (MODIFY).
5. Melihat Struktur Tabel Untuk melihat struktur tabel: DESC namatabel; atau dapat ditulis dengan DESCRIBE namatabel;
6. Mengganti Struktur Tabel Untuk menambah kolom: ALTER TABLE namatabel ADD nama_kolom tipe_data([ukuran]);
Untuk menghapus kolom: ALTER TABLE namatabel DROP COLUMN nama_kolom;
Untuk mengubah nama tabel: ALTER TABLE namatabel_lama RENAME namatabel_baru;
Untuk mengubah tipe data ALTER TABLE namatabel MODIFY nama_kolom tipe_data_baru([ukuran_baru]);
Untuk mengubah nama kolom dan tipe data sekaligus ALTER TABLE namatabel CHANGE nama_kolom_lama nama_kolom_baru tipe_data_baru;
Universitas Sumatera Utara
2.4.3 Data Manipulation Language
DML (Data Manipulation Language) merupakan bagian dari MySQL yang digunakan untuk melakukan manipulasi dalam database. Manipulasi data pada tabel meliputi pemasukan, perubahan dan penghapusan data. Contohnya: INSERT, UPDATE, DELETE, dan QUERY.
1. Memasukkan Data dengan INSERT Perintah INSERT digunakan untuk memasukkan data ke dalam tabel. Data yang dimasukkan pada kolom suatu tabel harus sesuai dengan struktur tabel yang dibuat pada perintah CREATE TABLE. Perintahnya adalah sebagai berikut: INSERT INTO namatabel(nama_kolom1,nama_kolom2,…) VALUES (isi_kolom1,isi_kolom2,…);
Nama_kolom1, 2, dst adalah field atau kolom pada tabel yang akan diisi. Isi_kolom1, 2, dst merupakan data yang akan dimasukkan ke dalam field tersebut. Penulisan nilai disesuaikan dengan tipe datanya. Jika tipe datanya merupakan tipe data karakter maka data harus diapit dengan tanda petik.
Untuk memasukkan data pada semua kolom, tanpa menulis nama_kolom dapat ditulis seperti di bawah ini: INSERT INTO namatabel VALUES (isi_kolom1,isi_kolom2,…);
Penulisan tanpa menyebutkan nama kolom dapat diberikan apabila akan mengisi ke seluruh kolom yang ada dalam tabel, urutan data dalam bagian values menunjukkan urutan kolom yang akan diisi. Jadi harus hati-hati, agar tidak tertukar urutan datanya.
Untuk menampilkan data, perintah yang digunakan adalah SELECT yang diikuti beberapa pernyataan khusus berkenaan dengan tabel yang diseleksi.
Universitas Sumatera Utara
a. Menampilkan data tanpa kriteria tertentu Menampilkan semua data pada sebuah tabel Bentuk umum : SELECT * FROM nama_tabel; Contoh : SELECT * FROM daftarteman;
b. Menampilkan data untuk kolom tertentu Bentuk umum : SELECT nama_kolom1,nama_kolom2,nama_kolom3,… FROM nama_tabel; Contoh : SELECT no,nama,usia,alamat FROM daftarteman;
c. Menampilkan data yang unik Digunakan untuk menghindari redundan data pada kolom yang diinginkan. Bentuk umum : SELECT DISTINCT nama_kolom FROM nama_tabel; Contoh : SELECT DISTINCT alamat FROM daftarteman;
d. Menampilkan data berdasarkan kriteria tertentu KLAUSA WHERE Klausa WHERE digunakan untuk menampilkan data dengan kondisi tertentu sehingga hasil yang dikeluarkan hanya sesuai dengan kriteria yang diinginkan.
i.
Operator Relasional Operator Relasional digunakan untuk menentukan kondisi pada WHERE.
Universitas Sumatera Utara
Bentuk umum : SELECT * FROM nama_tabel WHERE nama_kolom operator nilai; Contoh : SELECT * FROM daftarteman WHERE usia > 19;
ii.
Operator Boolean Operator Boolean juga digunakan untuk menentukan kondisi pada WHERE.
Tabel 2.1 Tabel Operator Boolean Operator
Keterangan
AND
Data benar bila kedua data bernilai benar.
OR
Data bernilai benar bila salah satu data bernilai benar, atau keduanya benar.
NOT
Data dianggap benar bila bernilai salah atau data tidak sesuai dengan nilai pembanding.
XOR
Data dianggap benar jika salah satu data bernilai salah.
iii.
Operator AND Bentuk umum : SELECT * FROM nama_tabel WHERE pembanding AND pembanding; Contoh : SELECT no,nama,usia FROM daftarteman WHERE alamat=’Medan’ AND usia > 19;
iv.
Operator OR Bentuk umum : SELECT * FROM nama_tabel WHERE pembanding OR pembanding;
Universitas Sumatera Utara
Contoh : SELECT no,nama,usia FROM daftarteman WHERE alamat=’Medan’ OR usia > 19;
v.
Operator NOT Bentuk umum : SELECT * FROM nama_tabel WHERE NOT pembanding; Contoh : SELECT nama,usia FROM daftarteman WHERE NOT usia > 19;
vi.
Operator XOR Bentuk umum : SELECT * FROM nama_tabel WHERE pembanding XOR pembanding; Contoh : SELECT no,nama,usia FROM daftarteman WHERE alamat=’Medan’ XOR usia > 19;
e. UPDATE (Mengubah Data) Perintah UPDATE digunakan untuk mengubah (memperbaiki) data dalam suatu baris dalam suatu tabel. Perintah : UPDATE nama_tabel SET nama_ko lom1 = nilai_baru1, nama_kolom2 = nilai_baru2,… WHERE kondisi; Catatan: klausa WHERE bersifat opsional. Bila klausa WHERE tidak disebutkan, maka semua baris akan diubah. Contoh: UPDATE mahasiswa set nama=adi WHERE nim=’051401001’;
Universitas Sumatera Utara
f. DELETE (Menghapus Data) Perintah DELETE digunakan untukmelakukan penghapusan baris dari suatu tabel yang memiliki kondisi yang dinyatakan dalam pernyataan kondisi. Perintah : DELETE FROM nama_tabel WHERE kondisi;
g. REPLACE Perintah : REPLACE INTO nama_tabel (nama_kolom1,nama_kolom2,…) VALUES (nilai_kolom1,nilai_kolom2,…); Contoh : REPLACE INTO mahasiswa (nim,fakultas) VALUES (‘nim’,’Ilmu Komputer’);
2.5 Model Economic Order Quantity (EOQ)
Dalam persoalan persediaan dikenal beberapa model. Masing-masing model mempunyai karakteristik tersendiri sesuai dengan parameter persoalan. Pada dasarnya model persediaan dibagi menjadi dua kelompok utama, yaitu model deterministik dan model stokastik. Model deterministik semua parameter-parameternya diasumsikan diketahui dengan pasti sedangkan model stokastik nilai-nilai parameternya tidak diketahui dengan pasti, berupa nilai-nilai acak. Berikut ini jenis-jenis model persediaan deterministik:
1. Model EOQ Klasik 2. Model EOQ Back Order 3. Model EOQ Fixed Production Rate 4. Model EOQ Quantity Discount
Dan pada pembahasan ini hanya pada model EOQ klasik.
Universitas Sumatera Utara
2.5.1 Model EOQ Klasik
Asumsi-asumsi dasar dari model ini adalah:
1. Permintaan per periode diketahui dan konstan 2. Ordering cost konstan 3. Holding cost berdasarkan rata-rata persediaan 4. Harga per unit barang konstan 5. Barang yang dipesan segera tersedia
Sedangkan parameter-parameter yang digunakan adalah:
1. k = ordering cost per pemesanan 2. A = jumlah barang yang dibutuhkan dalam 1 periode 3. c = procurement cost per unit barang yang dipesan 4. h = holding cost per unit nilai persediaan 5. T = waktu antara pemesanan
Total annual cost = ordering cost + holding cost
Dari model persoalan persediaan ini akan dicari berapa jumlah pemesanan (Q) sehingga total annual cost mencapai minimum. Order point adalah satu di mana siklus persediaan yang baru dimulai dan yang lama berakhir. Setiap siklus persediaan menpunyai periode T, artinya setiap T satuan waktu pemesanan kembali dilakukan dan ini tergantung pada Q. lamanya T sama dengan proporsi kebutuhan selama satu periode (A). T=
Q A
Sedangkan frekuensi pemesanan tergantung pada A dan Q yang dirumuskan oleh: Frekuensi pemesanan =
A Q
Universitas Sumatera Utara
Jika frekuensi pemesanan dikali dengan biaya setiap pemesanan (k), akan diperoleh: A Annual ordering cost = k Q
Komponen biaya kedua adalah holding cost, yang ditentukan oleh jumlah dan lamanya barang disimpan. Setiap waktu jumlah barang berkurang sehingga perlu diperhatikan tingkat persediaan rata-rata. Rata-rata persediaan =
Q 2
Holding cost dihitung berdasarkan satuan nilai persediaan dan procurement cost (c), sehingga: Holding cost per unit barang = hc Sehingga:
Q Annual holding cost = hc 2
Jika komponen tersebut di atas digabung maka akan didapat: A Q Total annual cost = k + hc 2 Q
Total annual cost minimum dapat dicari dengan menentukan berapa jumlah pemesanan (Q). Total annual cost mencapai minimum jika antara fungsi annual order cost dan total annual holding cost berharga sama. Secara matematis ditulis: Q A hc = k 2 Q
Q=
2 Ak hc
Universitas Sumatera Utara