Upload
gilankupn
View
912
Download
10
Embed Size (px)
DESCRIPTION
Dalam praktikum Simulasi Sistem ini khususnya pada materi Simulasi Inventory (Untuk Single Produk) tujuan yang hendak dicapai adalah untuk memilih policy order inventory yang menghasilkan biaya inventory paling rendah.
Citation preview
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan yang pesat di bidang ilmu dan teknologi dewasa ini
menuntut adanya kemampuan manusia dalam mempertimbangkan segala
kemungkinan sebelum mengambil keputusan dan tindakan. Perkembangan
naluriah atau dengan perkiraan-perkiraan kualitatif yang sederhana pada dasarnya
hanya dapat dipertanggung jawabkan untuk keputusan-keputusan yang sederhana
pula. Keputusan-keputusan terutama di dunia usaha, yang mengandung resiko
besar, tentunya perlu didukung oleh perhitungan-perhitungan yang matang. Agar
resiko kerugian dapat dihindari. Tentu saja pada keadaan tersebut pertimbangan-
pertimbangan naluriah saja tidak cukup. Diperlukan peralatan-paralatan, teknik-
teknik, atau metode-metode kuantitatif yang lebih lengkap untuk
memecahkannya.
Masalah pengendalian persediaan merupakan salah satu masalah penting
yang dihadapi oleh perusahaan. Pendekatan – pendekatan kuantitatif akan sangat
membantu dalam memecahkan masalah ini.
Alasan utama yang menyebabkan perhatian terhadap masalah
pengendalian persediaan adalah karena pada kebanyakan perusahaan persediaan
merupakan bagian atau porsi yang besar yang tercantum dalam neraca. Persediaan
yang terlalu besar atau terlalu kecil dapat menimbulkan masalah – masalah yang
pelik. Kekurangan persediaan bahan mentah akan mengakibatkan hambatan dalam
proses produksi. Kekurangan persediaan barang dagangan akan mengakibatkan
Modul IVGilank P. (0932010064)Kamis I/ D
kekecewaan langganan dan mengakibatkan perusahaan kehilangan mereka.
Kelebihan persediaan akan menimbulkan biaya ekstra disamping resiko. Sehingga
dapat dikatakan persediaan yang efektif dapat memberikan sumbangan yang
berarti kepada keuntungan perusahaan.
Dengan alasan itulah diadakannya praktikum Simulasi Sistem Industri
yang mengacu pada dasar-dasar riset operasi khususnya dalam hal ini Simulasi
Inventory (Untuk Single Produk), serta untuk pengaplikasiannya didukung dengan
menggunakan program TPW.
1.2 Tujuan Praktikum
Dalam praktikum Simulasi Sistem ini khususnya pada materi Simulasi
Inventory (Untuk Single Produk) tujuan yang hendak dicapai adalah untuk
memilih policy order inventory yang menghasilkan biaya inventory paling rendah.
1.3 Manfaat Praktikum
Manfaat yang diperoleh dalam praktikum modul 4 ini adalah:
1. Mengetahui perhitungan rata-rata dari biaya pemesanan, biaya simpan dan
biaya backlog.
2. Untuk mendapatkan total biaya rata-rata paling kecil.
3. Diharapkan nantinya dengan program tersebut kita dapat menentukan level
persediaan min untuk mengadakan pemesanan dan level persediaan max
yang diperoleh.
Modul IVGilank P. (0932010064)Kamis I/ D
1.4 Batasan Masalah
Dalam praktikum kali ini agar tidak memperluas masalah maka kami
memberi batasan sebagai berikut:
1. Untuk tugas praktikum nilai InitialInvLevel = 60; Nummonths = 120;
Numpolicies = 9; NumValuesDemand = 4; MeanInterDemand = 0.10;
SetupCost = 32; IncrementalCost = 3; HoldingCost = 3; ShortageCost = 1;
Minlag = 0.5; Maxlag = 1.00.
2. Untuk tugas laporan resmi nilai InitialInvLevel = 120; Nummonths = 80;
Numpolicies = 8; NumValuesDemand = 5; MeanInterDemand = 0.10;
SetupCost = 32; IncrementalCost = 3; HoldingCost = 3; ShortageCost = 1;
Minlag = 0.5; Maxlag = 1.00.
1.5 Sistematika Penulisan
Pada dasarnya, sistematika penulisan berisikan mengenai uraian yang akan
dibahas pada masing-masing bab. Sehingga dalam setiap bab akan memiliki
pembahasan topik tersendiri. Adapun sistematika penulisan laporan modul ini
sebagai berikut:
BAB I : PENDAHULUAN
Bab ini mengemukakan mengenai latar belakang, tujuan dan
manfaat dari Praktikum SSI, batasan masalah, serta sistematika
penulisan laporan resmi.
BAB II : TINJAUAN PUSTAKA
Pada bab ini menjelaskan tentang definisi program yang
digunakan serta teori program yang dibuat.
Modul IVGilank P. (0932010064)Kamis I/ D
BAB III : PEMBAHASAN
Pada bab ini akan menjelaskan tentang listing program serta
flowchart.
BAB IV : ANALISA
Pada bab ini berisikan mengenai output program, perhitungan
manual serta analisa output program baik tugas praktikum
maupun tugas laporan resmi.
BAB V : KESIMPULAN DAN SARAN
Pada bab ini berisikan tentang kesimpulan dari praktikum modul
2 serta berisi saran-saran untuk masukan yang lebih baik.
DAFTAR PUSTAKA
Modul IVGilank P. (0932010064)Kamis I/ D
BAB II
TINJAUAN PUSTAKA
2.1 Definisi Program yang Dibuat
Ketika program yang dibuat sudah terlalu panjang ratusan bahkan puluhan
ribu baris, sehingga kita mengalami kesulitan untuk memahami jalannya program
secara keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi
beberapa bagian yang biasanya disebut modul, subprogram atau subrutin. Konsep
semacam ini biasa disebut dengan pemrograman prosedural. Dalam tulisan ini
selanjutnya akan digunakan kata modul supaya lebih ringkas. Turbo Pascal yang
digunakan pada percobaan ini adalah versi 7.1, bila anda menggunakan Turbo
Pascal 7.0 maka prosesnya tidak jauh berbeda.
Pascal merupakan salah satu bahasa pemrograman tingkat tinggi.
Pemrograman tingkat tinggi menandakan bahwa Pascal banyak menggunakan
bahasa manusia dalam penulisan sintaksnya.
Beberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu
BASIC dan DELPHI.
Bahasa pemrograman yang digunakan pada metode Pembangkit Bilangan
Random ini adalah bahasa Turbo Pascal. Pascal adalah bahasa tingkat tinggi, dan
supaya dieksekusi pada sebuah komputer, bahasa tingkat tinggi memerlukan
program khusus yang dinamakan Interpreter / Compiler yang akan
menterjemahkan bahasa tersebut ke dalam urutan instruksi biner yang dapat
dimengerti oleh komputer.
Modul IVGilank P. (0932010064)Kamis I/ D
Program dalam bahasa Pascal mempunyai bentuk / struktur tertentu.
Bentuk ini harus dipenuhi agar program tidak dapat disalahkan oleh compiler.
Program Pascal terdiri dari bagian-bagian :
1. Judul program
Judul program ialah sebuah statement di awal program yang diawali dengan
pengenal khusus program diikuti dengan nama program.
2. Deklarasi
Bagian ini berisi deklarasi pengenal maupun data yang dipergunakan di dalam
program. Bagian deklarasi akan mengingatkan pemrogram tentang variabel,
konstanta, fungsi maupun prosedur yang digunakan dalam program.
a. Deklarasi Const
Deklarasi ini berguna untuk mendeklarasikan nama pemgenal tertentu yang
berisi suatu konstanta.
b. Deklarasi Var
Deklarasi ini berguna untuk menyatakan bahwa nama pengenal tertentu
adalah suatu variabel, yaitu pengenal yang isinya dapat berubah.
c. Deklarasi Type
Deklarsi ini digunakan untuk menyusun suatu bentuk tipe data yang baru
sebagai hasil penggabungan dari tipe-tipe yang sudah ada sebelumnya.
d. Deklarasi Label
Deklarasi ini menjelaskan adanya nomer-nomer Label yang digunakan
dalam program.
Modul IVGilank P. (0932010064)Kamis I/ D
e. Deklarasi Function
Deklarasi ini berguna untuk mendeklarasikan suatu nama pengenal sebagai
fungsi.
f. Deklarasi Procedure
Deklarasi ini berguna untuk mendeklarasikan suatu nama pengenal sebagai
prosedur.
Aturan penulisan program Pascal sebagai berikut :
1. rogram Pascal boleh ditulis mulai kolom berapa saja dan diakhiri pada kolom
erapa saja.
2. Setiap statement diakhiri dengan tanda koma (;).
3. Beberapa statement boleh ditulis sekaligus dalam satu baris (setiap statement
diakhiri dengan tanda ;).
4. Akhir sebuah Program Pascal ditandai dengan tanda baca titik (.) setelah
perintah End yang terakhir.
5. Spasi antar pengenal diabaikan.
6.
Jenis / Tipe Data :
1. Tipe Integer
Tipe Integer adalah terdiri dari bilangan dan tidak mempunyai titik desimal.
Tanda plus / minus dapat mendahului bilangan tersebut. Data tipe ini
digunakan untuk pencacah.
Modul IVGilank P. (0932010064)Kamis I/ D
2. Tipe Real
Tipe Real adalah bilangan yang berisi paling sedikit satu digit titik desimal
sebelum atau sesudah titik desimal. Tidak boleh ada koma dan nilai dapat
positif atau negatif.
3. Tipe Char
Kata Char (Karakter) digunakan untuk mendefinisikan tipe data yang nilainya
berupa himpunan karakter yang dikenal komputer. Dalam pemrograman nilai
rinci data tipe Char ditulis diantara tanda petik.
4. Tipe Boolean
Tipe data Boolean memiliki dua nilai saja yaitu True / False. Nilai Boolean
sangat penting terutama untuk pengambilan keputusan dalam suatu program.
Statement Baca dan Tulis :
1. Statement Baca
Pascal mempunyai dua statement untuk membaca data yaitu statement Read
dan Readln. Statement Read tidak memperlihatkan batas baris, rinci data (yang
tersedia) akan selalu dibaca, tidak tergantung apakah mereka ada dibaris yang
sama atau tidak. Statement Readln memulai pembacaan data pada posisi baris
saat itu dan pergi ke awal baris baru setelah pembacaan selesai.
2. Statement Tulis
Pascal mempunyai dua statement keluaran yaitu Write dan Writeln. Untuk
kedua statement lebar baris dalam suatu baris yang bisa digunakan untuk
mencetak keluaran bervariasi sesuai dengan piranti keluaran yang digunakan.
Statement Write digunakan untuk mencetak pada baris yang sama dari
Modul IVGilank P. (0932010064)Kamis I/ D
beberapa argumen. Sedangkan Writeln yang tidak diikuti argumen tidak akan
mencetak nilai argumen tersebut dan berpindah ke baris berikutnya.
Perintah Pengulangan :
1. Statement For
Statement For digunakan untuk melakukan operasi Loop. Dalam statement ini
cacah pengerjaan sejumlah statement dapat diketahui dengan pasti.
2. Statement While
Statement While digunakan untuk proses berulang dimana salah satu atau lebih
statement akan dieksekusi berulang kali sampai kondisi yang dinyatakan dalam
Statement While tidak dipenuhi.
3. Statement Repeat
Cara kerja Statement Repeat adalah kebalikan dari While. Perintah Repeat
dapat digunakan untuk mengulang sekelompok perintah dalam suatu program.
Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa
pemrograman yang masih banyak menggunakan tanda-tanda sehingga bahasa ini
cenderung lebih “kotor”. Beberapa bahasa pemrograman tingkat rendah yang
sering digunakan adalah C, C++ dan Java.
Mari kita melihat perbedaan antara bahasa Pascal dan C untuk
pembanding dalam sintaks yang digunakan:
PASCAL
uses crt;
var a : integer;
begin
Modul IVGilank P. (0932010064)Kamis I/ D
clrscr;
writeln('Masukkan nilai antara 0 sampai 100 : ');
readln(a);
if a > 5 then begin
writeln('Nilai a lebih besar dari 5');
writeln('Tekan sembarang tombol untuk keluar');
end
else begin
writeln('Nilai a lebih kecil atau sama dengan 5');
writeln('Tekan sembarang tombol untuk keluar');
end;
readkey;
end.
C
#include <stdio.h>
#include <conio.h>
int a;
void main() {
clrscr();
printf(“Masukkan nilai antara 0 sampai 100 : “);
scanf(“%d”, &a);
if (a > 5) {
printf(“Nilai a lebih besar dari 5\nTekan sembarang tombol untuk keluar”);
Modul IVGilank P. (0932010064)Kamis I/ D
} else {printf(“Nilai a lebih kecil atau sama dengan 5\nTekan sembarang tombol
untuk keluar”);}
getch();
Memecah program menjadi modul-modul tentunya akan lebih
memudahkan dalam mencari kesalahan, memperbaiki serta membuat
dokumentasinya. Pembuatan modul di Turbo Pascal dibagi dua jenis yaitu :
Prosedur dan Fungsi. Prosedur atau Fungsi adalah suatu modul program yang
terpisah dari program utama, diletakan dalam blok tersendiri yang berfungsi
sebagai bagian dari program. Setiap prosedur diawali dengan kata cadangan
(reserver word) Procedure, sedangkan Fungsi diawali dengan kata cadangan
Function.
Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena :
1. Merupakan penerapan konsep modular, yaitu memecah program menjadi
modul-modul atau subprogram-subprogam yang lebih sederhana.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali
saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila
diperlukan.
Penulisan Prosedur (Procedure)
Prosedur memiliki struktur yang sama dengan struktur program, yaitu
terdiri dari nama prosedur, deklarasi-deklarasi dan bagian deskripsi (statement
atau aksi di dalam prosedur). Semua deklarasi di dalam prosedur bersifat lokal
sehingga hanya bisa digunakan oleh prosedur itu saja, sedangkan deklarasi di
Modul IVGilank P. (0932010064)Kamis I/ D
dalam program utama bersifat global sehingga dapat dikenali di seluruh bagian
program. Struktur umum prosedur adalah sebagai berikut :
Gambar 1. Cara Penulisan Prosedur di dalam Turbo Pascal
Struktur blok program utama beserta prosedur, adalah sebagai berikut :
Gambar 2. Struktur blok program beserta prosedur tanpa parameter
Dua penggalan program di atas akan menghasilkan program yang sama
persis yaitu meminta sebuah input berupa angka antara 0 sampai 100. Kemudian
sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan Dari 2
bahasa tersebut, dapat dilihat bahwa dalam bahasa Pascal lebih sederhana dan
Modul IVGilank P. (0932010064)Kamis I/ D
Procedure Nama_Prosedur (param_formal1:tipe_param1, param_formal2:tipe_param2,…);{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}var{bagian deklarasi prosedur, sifatnya lokal}begin
statement-1;statement-2;…………Statement-n;
end;
Program judul_program;var{bagian deklarasi prosedur, sifatnya global}
Procedure Nama_Prosedur; {Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}var{bagian deklarasi prosedur, sifatnya lokal}begin
statement-1;statement-2;…………Statement-n;
end;
{program utama}begin Nama_Prosedur;end.
lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa C, lebih
banyak penggunaan simbol.
Turbo Pascal dan C merupakan program compiler. Compiler sendiri
berarti program yang menerjemahkan tulisan berupa kode program menjadi
bahasa mesin yang dapat dimengerti oleh komputer. Proses yang dilakukan
disebut compile atau compiling. Suatu program dapat di-compile dengan
menggunakan kombinasi tombol Alt + F9. Sedangkan untuk menjalankan
program, tombol yang dapat digunakan adalah Ctrl + F9. Bila selama proses
compile terdapat error atau kesalahan dalam penulisan program, maka Turbo
Pascal atau C akan memberitahukan letak kesalahan tersebut sehingga pengguna
dapat memperbaikinya di halaman editor.
Turbo Pascal merupakan bahasa yang case insensitive yang berarti
penulisan dalam huruf kapital maupun huruf kecil tidak dipermasalahkan. Akan
tetapi pada C yang case sensitive, maka penulisan huruf kapital atau kecil harus
benar-benar diperhatikan.
Untuk pembahasan berikutnya, kita akan menggunakan program Turbo
Pascal dengan bahasa pemrograman Pascal sebagai pengantar contoh. Perlu
diingat bahwa bila anda telah menguasai satu bahasa pemrograman, maka anda
akan dengan cukup mudah berpindah ke bahasa pemrograman lainnya selama
anda memiliki dasar algoritma dan logika yang baik. Oleh sebab itu, pada
pembahasan yang selanjutnya, yang akan ditekankan adalah algoritma dan logika,
bukan sintaks dan function / procedure yang terdapat dalam Turbo Pascal.
Function atau procedure yang telah disediakan oleh Turbo Pascal dapat anda
pelajari sendiri penggunaannya melalui Help yang terdapat di Turbo Pascal.
Modul IVGilank P. (0932010064)Kamis I/ D
Struktur kode
Pada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar
program tersebut dapat menjalankan (compile) suatu program dengan baik tanpa
error. Struktur utama pada Turbo Pascal adalah sebagai berikut.
program ... ; {deklarasi nama program}
uses ... ; {deklarasi penggunaan unit}
label ... ; {deklarasi label}
const ... ; {deklarasi konstant}
type ... ; {deklarasi tipe data}
var ... ; {deklarasi variabel}
procedure ... ; {deklarasi procedure}
function ... ; {deklarasi function}
begin
statement; {program ditulis di sini}
...
end.
Tulisan yang diapit oleh tanda kurung kurawal {} adalah comment dan
tidak dianggap sebagai bagian program ketika di-compile oleh compiler. Pada
baris pertama, anda dapat mendeklrasikan nama program. Umumnya untuk
mengefisiensikan pengerjaan suatu program (khususnya pada lomba), baris
pertama dapat diacuhkan atau dilewatkan.
Baris kedua yaitu “USES” merupakan deklarasi penggunaan unit dalam
Turbo Pascal. Unit merupakan bagian dari program yang berisi kumpulan
function dan procedure. Contoh fungsi yang banyak digunakan adalah CRT,
Modul IVGilank P. (0932010064)Kamis I/ D
dengan function yang terdapat di dalamnya yaitu clrscr dan readkey. Anda dapat
menjalankan suatu program tanpa menggunakan USES, akan tetapi anda hanya
dapat menggunakan function dan procedure yang sudah terkandung secara native
dalam Turbo Pascal. Contohnya anda tidak dapat menggunakan clrscr atau
readkey tanpa CRT, tetapi bisa menggunakan writeln dan readln tanpa CRT
tersebut karena CRT merupakan unit untuk pengolahan output ke layar dan input
dari keyboard.
Label digunakan bersamaan dengan keyword GOTO. GOTO sendiri
jarang digunakan karena tidak efisien dan cenderung membingungkan
penggunanya.
Const digunakan untuk mendeklarasikan suatu konstan. Konstan
merupakan suatu keyword yang memiliki nilai tertentu. Misalnya bila anda
mendeklrasikan PI sebagai 3.14, maka ketika anda menggunakan PI pada baris
program, PI akan digantikan dengan 3.14. Type digunakan untuk mendeklarasikan
suatu tipe data baru dari tipe data yang sudah ada sebelumnya. Berguna ketika
harus menggunakan pointer.
Var digunakan untuk mendeklarasikan suatu variabel. Variabel yang
dideklarasikan harus memiliki tipe data tertentu. Penjelasan dalam penggunaan
variabel akan dibahas di bagian berikutnya.
Procedure dan function merupakan sub-program. Procedure tidak
mengembalikan nilai, sedangkan function mengembalikan nilai. Procedure dan
function mengandung suatu penggalan program yang dapat dipanggil oleh
program utama atau sub-program yang lainnya. Bila anda belum mengerti maksud
dari “mengembalikan nilai” maka anda dapat membayangkan bahwa hasil dari
Modul IVGilank P. (0932010064)Kamis I/ D
function dapat dimasukkan ke dalam suatu variabel atau menghasilkan suatu nilai,
sedangkan procedure hanya menjalankan suatu potongan program. Contoh
procedure adalah writeln dan clrscr karena kedua procedure tersebut tidak
mengembalikan nilai apapun. Sedangkan contoh function adalah “sqrt” yang akan
mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan.
Sebagai informasi: “procedure” adalah istilah yang digunakan pada Pascal. Pada
bahasa pemrograman yang lainnya, biasa disebut “function yang tidak
mengembalikan nilai” atau “void function”.
Program utama yang akan dijalankan oleh Turbo Pascal dapat ditulis
diantara BEGIN sampai dengan END.
Variabel dan tipe data
Terdapat beberapa tipe data yang dapat dipergunakan dalam suatu
variabel, di antaranya adalah (beserta range yang dapat diterima):
Integer
Integer (-2^15 sampai 2^15), word (0 sampai 2^16), shortint (-2^7 sampai 2^7),
byte (0
sampai 2^7), longint (-2^23 sampai 2^23)
Float / Real
Real (6 byte), singel (4 byte), double (8 byte), extended (10 byte), comp (8 byte)
Boolean
Bernilai TRUE atau FALSE (1 atau 0)
Char
Merupakan integer yang telah dikonversikan ke kode ASCII.
Modul IVGilank P. (0932010064)Kamis I/ D
Array
Merupakan deretan suatu variabel yang bertipe data sama. Pembahasan yang lebih
lengkap akan terdapat di bagian tersendiri. String merupakan array dari char.
Algoritma dasar
Pada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam
pemrograman yaitu:
1. Operator
2. Input/output: Bagaimana meminta suatu input dan menampilkan suatu output.
3. Selection: Bagaimana membuat program yang dapat memilih bagian yang akan
dijalankan.
4. Repetition / looping: Bagaimana membuat program yang dapat mengulang
suatu bagian program yang dijalankan.
Rangkuman operator
Dalam bahasa pemrograman, sebuah proses dibagi menjadi 2 yaitu
operand dan operator. Operand dapat berupa variabel atau nilai. Sedangkan
operator merupakan tanda-tanda yang dipakai untuk mengolah.
Terdapat banyak jenis operator, tapi 4 jenis yang perlu dipelajari untuk
saat ini adalah assignment operator, arithmatic operator, comparison operator,
logical operator.
Assignment operator ditandai dengan :=, dan digunakan untuk memberi nilai ke
suatu variabel.
Arithmatic operator ditandai dengan *, /, +, -, div, mod. Digunakan untuk
Modul IVGilank P. (0932010064)Kamis I/ D
pengolahan nilai matematika.
Comparison / Relational operator ditandai dengan =, <, >, <=, >=, <>, dan IN.
Digunakan untuk perbandingan 2 nilai sehingga menghasilkan nilai true dan false.
Logical operator ditandai dengan AND, OR, XOR dan NOT. Digunakan untuk
perbandingan logika antara dua pernyataan atau lebih.
Penting: penggunaan = dan := harus diperhatikan karena penggunaan operator ini
erkadang salah tempat.
Input Output
Terdapat 2 jenis input/output secara umum yaitu layar/keyboard dan file.
Input menggunakan readln() dan read(). Dalam penggunaan melalui
keyboard, kedua procedure ini tidak berbeda. Akan tetapi bila input berasal dari
file, kedua procedure akan berbeda dalam mengambil input. Readln() akan
mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke baris
selanjutnya. Pada read() akan mengambil input dalam suatu baris, kemudian
cursor akan dipindahkan ke sebelah bagian yang diinput. Bila tidak ada lagi
bagian yang dapat diinput, maka cursor baru dipindah ke bawah.
Output menggunakan writeln() dan write(). Penggunaannya hampir sama
dengan yang read() dan readln(). Pada writeln dan write, keduanya akan
berpengaruh baik di file maupun di layar.
Contoh program:
uses crt;
var a,b: integer;
begin
Modul IVGilank P. (0932010064)Kamis I/ D
clrscr;
write('Masukkan bilangan antara 1 - 100: ');
readln(a);
b:= a * 2;
writeln('Bilangan yang dimasukkan adalah ', a);
writeln('Bilangan setelah dikali 2 adalah ', b);
readkey;
end.
Rangkuman Repetition / Looping
Repetition dapat digunakan untuk menjalankan suatu bagian program
secara berulangulang sesuai dengan kondisi yang ada.
Looping pada Pascal menggunakan beberapa keyword seperti FOR...DO,
WHILE...DO dan REPEAT...UNTIL.
FOR...DO dipergunakan ketika nilai yang akan digunakan sudah
diketahui dengan nilai yang ada di dalamnya selalu ditambah atau dikurangi satu
ketika mengalami perulangan.
Sintaks:
FOR variable := startindex (TO/DOWNTO) endindex DO BEGIN
statement;
END;
Dari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan,
yaitu TO dan DOWNTO. TO akan menghasilkan nilai incremental atau
penambahan satu setiap kali terjadi perulangan. Sedangkan DOWNTO akan
Modul IVGilank P. (0932010064)Kamis I/ D
menghasilkan nilai decremental atau pengurangan satu setiap kali terjadi
perulangan.
WHILE...DO dapat digunakan tanpa harus ada perubahan pada nilai
kondisi. Selama kondisi masih bernilai TRUE, maka perulangan akan dilakukan
terus.
Sintaks:
WHILE (condition) DO BEGIN
statement;
END;
REPEAT...UNTIL berfungsi hampir sama dengan WHILE...DO. Pada
REPEAT...UNTIL, looping akan berhenti justru ketika kondisi bernilai TRUE.
Selain itu kondisi akan diuji pada akhir perulangan sehingga blok di dalam
perulangan akan dijalankan minimal satu kali walaupun kondisi yang ada masih
FALSE.
Sintaks:
REPEAT
statement;
UNTIL (condition);
Dari penggalan program di atas, dapat dilihat bahwa REPEAT...UNTIL
tidak memerlukan BEGIN dan END untuk menjalankan suatu blok statement.
2.2 Teori Program yang Dibuat
Fungsi utama persediaan pengendalian persediaan adalah “menyimpan”
untuk melayani kebutuhan perusahaan akan barang mentah / barang jadi dari
waktu ke waktu. Fungsi ini ditentukan oleh berbagai kondisi seperti :
Modul IVGilank P. (0932010064)Kamis I/ D
Apabila jangka waktu pengiriman bahan mentah relative lama maka
perusahaan perlu persediaan bahan mentah yang cukup untuk memenuhi
kebutuhan perusahaan selama jangka waktu pengiriman. Atau pada perusahaan
dagang, persediaan barang dagangan harus cukup untuk melayani permintaan
langganan selama jangka waktu pengiriman barang dari supplier atau produsen.
Seringkali jumlah yang dibeli atau diproduksi lebih besar daripada yang
dibutuhkan. Hal ini disebabkan karena membeli dan memproduksi dalam
jumlah yang besar pada umumnya lebih ekonomis. Karenanya sebagian barang
/ bahan yang belum digunakan disimpan sebagai persediaan.
Apabila permintaan barang bersifat musiman sedangkan tingkat produksi setiap
saat adalah konstan maka perusahaan dapat melayani permintaan tersebut
dengan membuat tingkat persediaannya berfluktuasi permintaan. Tingkat
produksi yang konstan umumnya lebih disukai karena biaya – biaya untuk
mencari dan melatih tenaga kerja baru, upah lembur dan sebagainya (bila
tingkat produksi berfluktuasi) akan lebih besar daripada biaya penyimpanan
barang di gudang (bila tingkat persediaan berfluktuasi).
Selain untuk memenuhi permintaan langganan, persediaan juga diperlukan
apabila biaya untuk mencari barang / bahan pengganti atau biaya kehabisan
barang/ bahan (stockout cost) relative besar.
Komponen-Komponen Biaya Persediaan
Masalah utama yang ingin dicapai oleh pengendalian persediaan adalah
meminimumkan biaya operasi total perusahaan. Jadi, ada dua keputusan yang
Modul IVGilank P. (0932010064)Kamis I/ D
perlu diambil dalam hal ini, yaitu berapa jumlah yang harus dipesan setiap kali
pemesanan, dan kapan pemesanan itu harus dilakukan.
Dalam menentukan jumlah yang dipesan pada setiap kali pemesanan, pada
dasarnya harus dipertemukan dua titik ekstrim yaitu memesan dalam jumlah yang
sebesar-besarnya untuk meminimumkan ordering cost dan memesan dalam
jumlah sekecil-kecilnya untuk meminimumkan carrying cost. Kedua titik ekstrim
ini mempunyai pengaruh yang tidak menguntungkan perusahaan. Hasil yang
terbaik akan memperoleh dengan mempertemukan keduanya.
Berbagai macam biaya yang perlu diperhitungkan disaat mengevaluasi
masalah persediaan. Diantara biaya-biaya tersebut, ada tiga kelompok utama,yaitu
:
a. Ordering Cost
Merupakan total biaya pemesanan dan pengadaan bahan sehingga siap untuk
dipergunakan atau diproses lebih lanjut dengan kata lain, mencakup pula biaya-
biaya pengangkutan, pengumpulan, pemilikan, penyusunan dan penempatan di
gudang, sampai kepada biaya-biaya manajerial dan klerikal yang berhubungan
dengan pemesanan sampai penempatan bahan/ barang di gudang.
b. Holding Cost
Timbul karena perusahaan menyimpan persediaan. Biaya ini sebagian besar
merupakan biaya penyimpanan (secara fisik), disamping pajak dan asuransi
barang yang disimpan. Unsur penting (dan merupakan proporsi yang besar)
dalam holding cost adalah opportunity cost dan pada dana yang tertahan di
dalam persediaan, yang mungkin akan lebih menguntungkan bila ditanamkan/
digunakan untuk keperluan lain.
Modul IVGilank P. (0932010064)Kamis I/ D
c. Shortage Cost
Timbul apabila ada permintaan terhadap barang yang kebetulan sedang tidak
tersedia di gudang. Untuk barang-barang tertentu, langganan dapat diminta
untuk menunda pembeliannya atau dengan kata lain langganan diminta untuk
menunggu. dalam hal ini shortage cost yang timbul selain biaya ekstra untuk
membuat lagi barang yang dipesan, juga berupa berkurangnya “good will”
langganan, apabila pesanannya terlambat dipenuhi.
Dalam mengevaluasi kebijaksanaan di bidang persediaan, biaya-biaya
yang disebutkan diatas harus diperhatikan. Satu hal yang perlu diingat adalah
bahwa yang diperhitungkan adalah biaya – biaya yang relevan (relevant cost)
yang meliputi seluruh biaya yang timbul karena kebijaksanaan persediaan
tersebut. Akibatnya beberapa biaya perlu diabaikan, misalnya sewa gudang tidak
dapat dikategorikan sebagai “Carrying Cost” apabila sewa gudang tetap dibayar
tanpa tergantung pada jumlah barang yang disimpan disana untuk kasus ini sewa
gudang harus diperlakukan sebagai unsur biaya overhead seperti halnya gaji.
Unsur overhead tidak diperhitungkan dalam perhitungan biaya persediaan. Dan
dalam praktek sangat tergantung pada keputusan manajemen perusahaan.
Model persediaan (Inventory Model) yang paling sederhana mengandung
ciri – ciri sebagai berikut :
barang / bahan mentah yang dipesan dan disimpan hanya satu macam,
kebutuhan / permintaannya per periode diketahui (tertentu),
barang / bahan mentah yang dipesan segera dapat tersedia, dan tidak ada “back
order”,
waktu ancang – ancang (lead time) bersifat konstan),
Modul IVGilank P. (0932010064)Kamis I/ D
setiap pemesanan diterima dalam sekali pengiriman dan langsung dapat
digunakan,
tidak ada pemesanan ulang (back order) karena kehabisan persediaan
(shortage),
tidak ada diskon untuk jumlah pembelian yang banyak (quantity discount)
Model persediaan yang sederhaan memakai parameter berikut ini :
k = ordering cost per pesanan
D = jumlah barang yang dibutuhkan dalam 1 periode (misal 1 tahun)
c = purchasing cost per satuan nilai persediaan
h = holding cost per satuan nilai persediaan per satuan waktu
T = waktu antara satu pesanan dengan lainnya
ECONOMIC ORDER QUANTITY (EOQ)
Model persediaan (inventory model) yang paling sederhana mengandung
ciri-ciri sebagai berikut :
Barang / bahan mentah yang dipesan dan disimpan hanya satu macam.
Kebutuhan / permintaannya per periode diketahui (tertentu).
Barang / bahan mentah yang dipesan segera dapat tersedia, dan tidak ada “back
order”.
Tujuan model ini adalah untuk menentukan jumlah (Q) setiap kali
pemesanan (EOQ) sehingga meminimasi biaya total persediaan dimana :
Secara grafis, model dasar persediaan ini dapat digambarkan sebagai berikut :
Modul IVGilank P. (0932010064)Kamis I/ D
Q – Dt
Tingkat persediaan
Q Titik saat pesanan diterima (order point)
Rata-rata persediaan = Q/2
Waktu
T=Q
D
Lamanya t sama dengan proporsi kebutuhan satu periode (D) yang dapat
dipenuhi oleh Q, sehingga dapat ditulis t=Q
D . Tujuan secara matematis model ini
kita mulai dengan komponen biaya ordering cost yang tergantung pada jumlah
(frekuensi) pemesanan dalam 1 periode, dimana frekuensi pemesanan tergantung
pada :
Jumlah kebutuhan barang selama 1 periode (D)
Jumlah setiap kali pemesanan (Q)
Dari keterangan diatas, kita bias tuliskan bahwa frekuensi pemesanan = D
Q .
Ordering cost setiap periode diperoleh dengan mengalikan
DQ dengan biaya setiap
kali pesan (k), sehingga :
Ordering Cost per-periode =( D
Q )k
Modul IVGilank P. (0932010064)Kamis I/ D
Komponen biaya kedua, yaitu Holding cost dipengaruhi jumlah barang
yang disimpan dan lamanya barang disimpan. Dalam hal ini perlu diperhatikan
adalah tingkat persediaan rata-rata. Karena persediaan bergerak dari Q unit ke nol
unit dengan tingkat pengurangan konstan (gradien-D) selama t waktu, maka
persediaan rata-rata untuk setiap siklus adalah :
Q+02
=Q2 , sehingga :
Holding cost per-periode =h(Q
2 )Komponen biaya ketiga, yaitu Purchasing cost merupakan kebutuhan
barang selama periode (D) dengan harga barang per-unit (c) sehingga :
Purchasing cost per periode = D.c
Dengan menggabungkan ketiga komponen biaya persediaan diatas, maka :
Biaya total persediaan (TC) =( D
Q )k+h(Q2 )+D . c
Tujuan model EOQ ini adalah menentukan nilai Q sehingga
meminimumkan biaya total persediaan. Komponen biaya ketiga, yaitu purchasing
cost dapat diabaikan karena biaya tersebut akan timbul tanpa tergantung pada
frekuensi pemesanan, sehingga tujuan model EOQ ini adalah meminimasi biaya
total persediaan dengan komponen biaya ordering cost dan holding cost saja,
atau :
Biaya Total Persediaan Incremental (TIC)=( D
Q )k+h(Q2 )
Jumlah pemesanan yang optimal (EOQ) secara matematis dihitung dengan
mendeferensialkan TIC terhadap Q, dan persamaan diferensial itu diberi harga
nol, sehingga :
Modul IVGilank P. (0932010064)Kamis I/ D
TIC=(DQ )k+h(Q2 )
dTICdQ
=−DQ2
k+h2=0
DQ2
k=h2
Q2=2 Dkh
maka :
Q01=√ 2 Dk
h
Bila Q0 (Q optimal = EOQ) telah diperoleh, maka t optimal diperoleh
sebagai berikut :
t0=Q0
D
Besarnya TC dapat diperoleh dengan memasukkan harga Q0 pada TIC
sehingga diperoleh persamaan :
TIC=√2 Dkh
Gambar berikut menunjukkan posisi titik EOQ yang membentuk kurva TC
minimum :
Modul IVGilank P. (0932010064)Kamis I/ D
Re-Order Point
Setelah berapa banyak order telah diputuskan, maka akan dilihat
pertanyaan inventory yang kedua, kapan ordering dilakukan. Model inventory
sederhana menggunakan asumsi bahwa penerimaan sebuah order bersifat seketika.
Dengan kata lain, diasumsikan (1) bahwa suatu perusahaan akan menempatkan
sebuah order ketika tingkat inventory untuk item tertentu tersebut mencapai nol,
dan (2) bahwa ia akan menerima item yang dipesan dengan segera.
Pada kondisinya dilapangan, asumsi barang bersifat instaneous sulit
diterapkan karena diperlukan suatu tenggang waktu tertentu untuk mengirmkan
bahan yang dipesan karena mungkin produsenbarang yang dipesan tiak
mempunyai cukup persediaan pada saat pesanan datang. Tenggang waktu antara
saat dilakukan pemesanan dengan saat barang datang disebut lead time. Saat
dimana pemesanan kembali harus dilakukan agar barang yang dipesan datang
tepat pada saat yang dibutuhkan disebut titik pemesanan kembali (reorder point =
R).
Hal ini berarti perusahaan harus mengamati secaraterus meneus tingkat
persediaannya sampai reorder point tercapai. Mungkin ini sebabnya mengapa
model EOQ kadang-kadang dikalsifikasikan sebagai model “Model Pengulangan
Kontinyu’ (continues Review Model).
Reorder point ditentukan berdasarkan 2 variabel, yaitu Lead time (L) dan
tingkat kebutuhan selama lead time. Ada 2 kemungkinan Lead time (L) bila kita
bandingkan dengan waktu antara satu pemesanan ke pemesanan berikut (t), yaitu:
a. L < t
b. L > t
Modul IVGilank P. (0932010064)Kamis I/ D
Gambar – Perbandingan L dan t
Untuk kondisi L < t, maka R = L x D dan untuk kondisi L > t, maka R = (L-t) x D
Robustness
Manfaat model EOQ adalah bahwa EOQ robust. Robust berarti ia
memberikan jawaban yang memuaskan meskipun terdapat beragam variasi dalam
parameternya. Seperti yang telah diamati, seringkali sulit untuk menentukan
ordering cost dan holding cost yang akurat. Sebagai konsekuensinya, sebuah
model yang robust merupakan sebuah keberuntungan. Biaya total EOQ berubah
sedikit secara minimal. Kurvanya sangat dangkal. Hal ini berarti bahwa variasi
pada setup cost, holding cost, demand, atau bahkan EOQ relatif sedikit dalam
biaya total.
Penyebab dan Fungsi Persediaan
Persediaan merupakan suatu hal yang tak terhindarkan. Penyebab
timbulnya persediaan adalah sebagai berikut (Baroto,Teguh. Hal 52):
1. Mekanisme pemenuhan atas permintaan.
2. Keinginan untuk meredam ketidakpastian.
3. Keinginan melakukan spekulasi yang bertujuan mendapatkan keuntungan besar
dari kenaikan harga di masa mendatang.
Beberapa fungsi persediaan adalah sebagai berikut :
Modul IVGilank P. (0932010064)Kamis I/ D
1. Fungsi independensi
2. Fungsi ekonomis
3. Fungsi antisipasi
4. Fungsi fleksibilitas
Persediaan mempunyai beberapa fungsi dalam memenuhi kebutuhan,
diantaranya adalah sebagai berikut (Sofyan Assauri, 1993, hal. 219) :
1. Menghilangkan resiko keterlambatan datangnya barang atau bahan-bahan yang
dibutuhkan perusahaan.
2. Menghilangkan resiko dari material yang dipesan tidak baik sehingga harus
dikembalikan.
3. Untuk menumpuk bahan-bahan yang dihasilkan secara musiman sehingga
dapat digunakan bila bahan itu tidak ada dalam pasaran.
4. Mempertahankan stabilitas operasi perusahaan atau menjamin kelancaran arus
produksi.
5. Mencapai penggunaan mesin yang optimal.
6. Memberikan pelayanan (service) kepada langganan dengan sebaik-baiknya,
dimana keinginan langanan pada suatu waktu dapat dipenuhi atau memberikan
jaminan tetap tersedianya barang jadi tersebut.
7. Membuat pengadaan atau produksi tidak perlu sesuai dengan penggunaan atau
penjualannya.
Jenis Persediaan
Persediaan dapat dibedakan dalam lima jenis, yaitu:
a. Persediaan bahan baku (raw materials stock) yaitu persediaan dari barang-
barang yang digunakan dalam proses produksi, dimana barang tersebut
Modul IVGilank P. (0932010064)Kamis I/ D
diperoleh dari sumbersumber alam atau dibeli dari supplier yang menghasilkan
bahan baku bagi perusahaan yang menggunakannya.
b. Persediaan barang setengah jadi atau barang dalam proses (work in process)
yaitu persediaan barang-barang yang keluar dari tiap proses yang kemudian
diproses kembali menjadi barang jadi.
c. Persediaan barang-barang pembantu atau perlengkapan (supplier stock) yaitu
persediaan barang-barang yang diperlukan dalam proses produksi untuk
membantu menghasilkan produk tetapi tidak merupakan bagian komponen dari
barang jadi.
d. Persediaan komponen produk (components stock) yaitu persediaan barang-
barang yang terdiri dari komponen-komponen diterima dari perusahaan lain,
yang dapat secara langsung di-assembling dengan komponen lain, tanpa
melalui proses produksi sebelumnya
e. Persediaan barang jadi (finished good stock) yaitu persediaan barang-barang
yang telah selesai diproses dan siap untuk dijual kepada pelanggan atau
perusahaan lain.
Ukuran Lot Dan Persediaan Pengaman
Ukuran lot adalah jumlah minimum pesanan, yang didasarkan atas
ketentuan pemasok. Hal ini hanya sebagian yang benar karena sebetulnya ukuran
lot ditentukan oleh beberapa faktor yaitu : (Indrajit, Eko & Djokopranoto,
Richardus, (2003), Grasindo-Jakarta. hal 246)
1. Ketentuan pemasok
2. Perhitungan ekonomis (EOQ)
3. Frekuensi pengiriman
Modul IVGilank P. (0932010064)Kamis I/ D
4. Ukuran kontainer pengiriman
5. Total ukuran berat (tonase) atau volume (m3)
Dalam hal persediaan pengaman, perlu diperhatikan bahwa pengadaan
persediaan pengaman ini berbeda antara sistem distribusi satu tingkat atau tunggal
dengan sistem distribusi multitingkat. Dalam distribusi multitingkat, harus
dihindari adanya duplikasi penimbunan persediaan pengaman.
Teknik- teknik penentuan ukuran lot diantaranya adalah sebagai berikut:
1. Economic Order Quantity ( EOQ ).
2. Lot for Lot ( LFL ).
3. Fixed Order Interval ( FOI)
4. Period Order Quantity ( POQ ).
5. Least Uni Cost.
6. Least Total Cost.
7. Part Period Balancing.
8. Wagner Within Algoritma.
9. Fixed Period Requirement.
Ukuran lot tidak didasarkan pada minimasi biaya pemesanan dan biaya
penyimpanan, bila biaya penyimpanan tidak didefinisikan baik secara marginal
maupun incremental.
Modul IVGilank P. (0932010064)Kamis I/ D
BAB III
PEMBAHASAN
3.1 Listing Program Bilangan Acak
Modul IVGilank P. (0932010064)Kamis I/ D
3.2 Listing Program
3.2.1 Listing Program Praktikum
Modul IVGilank P. (0932010064)Kamis I/ D
Modul IVGilank P. (0932010064)Kamis I/ D
Modul IVGilank P. (0932010064)Kamis I/ D
3.2.2 Listing Program Laporan Resmi
Modul IVGilank P. (0932010064)Kamis I/ D
Modul IVGilank P. (0932010064)Kamis I/ D
Modul IVGilank P. (0932010064)Kamis I/ D
Modul IVGilank P. (0932010064)Kamis I/ D
3.3 Flowchart
3.3.1 Flowchart Main Program Inventory
A. Flowchart Main Program Inventory Tugas Praktikum
Modul IVGilank P. (0932010064)Kamis I/ D
amount, bigs, demandindex, initialinvlevel,invlevel, nexteventtype, numevents, nummonths,numpolicies, numvaluesdemand, policy, smalls
areaholding, areashortage,
holdingcost,incrementalcost, maxlag,
meaninterdemand, minlag, setupcost, shortagecost,
Data Input : InitialInvLevel:=60; NumMonths:=120; NumPolicies:= 9; NumValuesDemand:=4; MeanInterdemand:= 0.10; SetupCost:= 32; IncrementalCost:=3; HoldingCost:= 1; ShortageCost:=5; Minlag:=0.5; Maxlag:=1.00;
START
Prtocedure Randdf
Procedure Initialize
A
Gambar 3.1. Flowchart Main Program Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
Next Event Type ≥ 1
Policy := to Num Policies do
Tidak
Ya
END
Procedure Timing
ProcedureOrderArrival Procedure Demand Procedure Evaluate
Procedure Report
Prosedure Update Time AVGStats
Function Expon
Function RandomInteger
Function Uniform
A
B. Flowchart Main Program Inventory Tugas Resmi
Modul IVGilank P. (0932010064)Kamis I/ D
amount, bigs, demandindex, initialinvlevel,invlevel, nexteventtype, numevents, nummonths,numpolicies, numvaluesdemand, policy, smalls
areaholding, areashortage,
holdingcost,incrementalcost, maxlag,
meaninterdemand, minlag, setupcost, shortagecost,
Data Input : InitialInvLevel:=120; NumMonths:=180; NumPolicies:= 7; NumValuesDemand:=5; MeanInterdemand:= 0.10; SetupCost:= 32; IncrementalCost:=3; HoldingCost:= 1; ShortageCost:=5; Minlag:=0.5; Maxlag:=1.00;
Prtocedure Randdf
Procedure Initialize
A
START
Gambar 3.2 Flowchart Main Program Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
Next Event Type ≥ 1
Policy := to Num Policies do
Tidak
Ya
END
Procedure Timing
ProcedureOrderArrival Procedure Demand Procedure Evaluate
Procedure Report
Prosedure Update Time AVGStats
Function Expon
Function RandomInteger
Function Uniform
A
Function Rand (Stream:Integer):Real;
Procedure Randst (Zset:Integer;Stream:Integer);
Function Randgt (Stream: Integer):Integer;
RANDDF
RETURN
Time :=0.0;
TimeNextEvent[1] := );1.0e+30;TimeNextEvent[2] := Time + Expon( MeanInterDemand);
TimeNextEvent[3] := NumMonths;TimeNextEvent[4] := 0.0;
INITIALIZE
RETURN
3.3.2 Flowchart procedure Randdf Inventory
Gambar 3.3. Flowchart Procedure Randdf Inventory.
3.3.3 Flowchart Procedure Initialize Inventory
Gambar 3.4. Flowchart Procedure Initialize Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
3.3.4 Flowchart Procedure Timing Inventory
Gambar 3.5. Flowchart Procedure Timing Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
Yes
No
Writeln('Event list empty at time',Time); halt
I, MinTimeNextEvent
MinTimeNextEvent =1.0e+29;NextEventType :=0;for i := 1 to NumEvents do
TIMING
Next EventType =
0
No
Time := MinTimeNextEvent
Yes
RETURN
TimeNextEvent <
MinTimeNextEven
MinTimeNextEvent := TimeNextEvent[i];NextEventType := i;
ORDER ARRIVAL
RETURN
InvLevel :=InvLevel +AmountTimeNextEvent [1] := 1.0e +30
3.3.5 Flowchart Procedure OrderArrival Inventory
Gambar 3.6. Flowchart Procedure OrderArrival Inventory
3.3.6 Flowchart Procedure Demand Inventory
Gambar 3.7. Flowchart Procedure Demand Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
Save Demand
DEMAND
SaveDemand := RandomInteger (ProbDistribDemand);InvLevel := InvLevel – SaveDemand;
TimeNextEvent[2] := Time + Expon (Mean InterDemand)
RETURN
AvgHoldingCost, AvgOrderingCost, AvgShortageCost, AvgTootCost
REPORT
AvgOrderingCost := TotalOrderingCost / NumMonths ;AvgHoldingCost := HoldingCost * AreaHolding / NumMonths AvgShortageCost := ShortageCost * AreaShortage / NumMonths AvgTotCost := AvgOrderingCost + AvgHoldingCost + AvgShortageCost;
RETURN
3.3.7 Flowchart Procedure Evaluate Inventory
Gambar 3.8. Flowchart Procedure Evaluate Inventory
3.3.8 Flowchart Procedure Report Inventory
Gambar 3.9. Flowchart Procedure Report Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
EVALUATE
InvLevel <
Amount := Bigs – InvLevel ;TotalOrderingCost := Total OrderingCost + SetupCost + IncrementalCost * Amount;
TimeNextEvent [1] := Time + Uniform (Minlag, Maxlag)TimeNextEvent [4] := Time + Uniform (Minlag, Maxlag)
RETURN
Tidak
Ya
Time Since Last Event :real;
TimeSinceLastEvent := Time - TimeLastEvent;TimeLastEvent :=Time;
UPDATE TIME AVGSTATS
RETURN
InvLevel < 0
AreaShortage := AreaShortage – InvLevel * Time SinceLastEvent
InvLevel > 0
AreaShortage := AreaShortage – InvLevel * Time SinceLastEvent
Ya Ya
3.3.9 Flowchart Procedure Update Time AvgStats Inventory
Gambar 3.10. Flowchart Prosedure Update Time Avg Stats Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
Tidak Tidak
U ,I
U := Rand(1);I := 0;
FUNCTION EXPON
RETURN
RepeatI := I+1Until U < ProbDistribDemand [1];RandomInteger := I
3.3.10 Flowchart Prosedure Function Expon Inventory
Gambar 3.11. Flowchart Function Expon Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
Ya
Tidak
Ya
Tidak
I : Integer;U : Real;
START
RETURN
U:= Rand [1];I:=0;
I:= I + 1;
U < Prob DistribDemand[I]
Random Integer := 1;
I : Integer;U : Real;
START
RETURN
U:= Rand [1];I:=0;
I:= I + 1;
U < Prob DistribDemand[I]
Random Integer := 1;
FUNCTION UNIFORM
U := Rand [1];
U
Uniform := A+U*(B-A)
RETURN
3.3.11 Flowchart Procedure Function Random Integer
Gambar 3.12. Flowchart Procedure Function Random Integer Inventory
3.3.12 Flowchart Procedure Function Uniform Inventory
Gambar 3.3.13 Flowchart Function Uniform Inventory
Modul IVGilank P. (0932010064)Kamis I/ D
BAB IV
ANALISA
4.1 Tugas Praktikum
4.1.1 Input Program
4.1.2 Output Program
Modul IVGilank P. (0932010064)Kamis I/ D
Keterangan :
1. Intitial inventory level = jumlah inventory awal
2. Number of demand = jumlah permintaan
3. Distribution function of demand sizes = fungsi distribusi ukuran permintaan
4. Mean inter demand time = rata – rata waktu permintaan
5. Delivery lag range = rata - rata waktu pengiriman
6. Length of simulation = panjang simulasi
7. k = biaya tetap
8. i = biaya tidak tetap
9. h = biaya holding
10. pi = shortage cost
4.1.3 Analisa Output Program
Dengan menginput variabel: Jenis inventory awal sebanyak 60 item, jumlah
permintaan sebanyak 4, rata-rata waktu permintaan 0,10 bulan, rata-rata
pengiriman 0,50 bulan
Maka diperoleh output sebagai berikut :
1. Untuk order inventory (20,40)
Average ordering cost ( rata – rata biaya pemesanan ) = 9,25
Average holding cost ( rata – rata biaya simpan ) = 18,10
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 126,61
Average total cost ( rata – rata biaya inventory ) = 99,26
Modul IVGilank P. (0932010064)Kamis I/ D
2. Untuk order inventory (20,60)
Average ordering cost ( rata – rata biaya pemesanan ) = 17,39
Average holding cost ( rata – rata biaya simpan ) = 14,83
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 122,74
Average total cost ( rata – rata biaya inventory ) = 90,52
3. Untuk order inventory (20,80)
Average ordering cost ( rata – rata biaya pemesanan ) = 26,24
Average holding cost ( rata – rata biaya simpan ) = 10,26
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 123,86
Average total cost ( rata – rata biaya inventory ) = 87,36
4. Untuk order inventory (20,100)
Average ordering cost ( rata – rata biaya pemesanan ) = 36,00
Average holding cost ( rata – rata biaya simpan ) = 7,95
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 125,32
Average total cost ( rata – rata biaya inventory ) = 81,37
5. Untuk order inventory (40,60)
Average ordering cost ( rata – rata biaya pemesanan ) = 25,99
Average holding cost ( rata – rata biaya simpan ) = 1,95
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 126,37
Average total cost ( rata – rata biaya inventory ) = 98,43
Modul IVGilank P. (0932010064)Kamis I/ D
6. Untuk order inventory (40,80)
Average ordering cost ( rata – rata biaya pemesanan ) = 35,92
Average holding cost ( rata – rata biaya simpan ) = 1,14
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 125,46
Average total cost ( rata – rata biaya inventory ) = 88,40
7. Untuk order inventory (40,100)
Average ordering cost ( rata – rata biaya pemesanan ) = 46,42
Average holding cost ( rata – rata biaya simpan ) = 1,30
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 132,34
Average total cost ( rata – rata biaya inventory ) = 84,63
8. Untuk order inventory (60,80)
Average ordering cost ( rata – rata biaya pemesanan ) = 44,02
Average holding cost ( rata – rata biaya simpan ) = 0,31
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 150,02
Average total cost ( rata – rata biaya inventory ) = 105,69
9. Untuk order inventory (60,100)
Average ordering cost ( rata – rata biaya pemesanan ) = 53,91
Average holding cost ( rata – rata biaya simpan ) = 0,24
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 143,20
Average total cost ( rata – rata biaya inventory ) = 89,05
Modul IVGilank P. (0932010064)Kamis I/ D
Analisa : Jika dilihat ke 9 police pada output diatas terlihat bahwa yang
mempunyai total cost paling kecil adalah police ke 4. Dengan level persediaan
minimal untuk mengadakan pemesanan sebesar 20 dan level persediaaan
maksimal yang diperoleh sebesar 100. Sehingga diperoleh (20,100) dengan
average total cost 81,37.
4.2 Tugas Laporan Resmi
4.2.1 Input
4.2.2 Output
Modul IVGilank P. (0932010064)Kamis I/ D
Keterangan :
1. Intitial inventory level = jumlah inventory awal
2. Number of demand = jumlah permintaan
3. Distribution function of demand sizes = fungsi distribusi ukuran permintaan
4. Mean inter demand time = rata – rata waktu permintaan
5. Delivery lag range = rata - rata waktu pengiriman
6. Length of simulation = panjang simulasi
7. k = biaya tetap
8. i = biaya tidak tetap
9. h = biaya holding
10. pi = shortage cost
4.2.3. Analisa Output Program
Dengan menginput variabel: Jenis inventory awal sebanyak 120 item,
jumlah permintaan sebanyak 5, rata – rata waktu permintaan 0,10 bulan, rata-rata
pengiriman 0,5 bulan.
Maka diperoleh output sebagai berikut :
a. Untuk order inventory (20,40)
Average ordering cost (rata-rata biaya pemesanan) = 9,42
Average holding cost (rata-rata biaya simpan) = 18,19
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
128,15
Average total cost (rata-rata biaya inventory) = 100,54
Modul IVGilank P. (0932010064)Kamis I/ D
b. Untuk order inventory (20,60)
Average ordering cost (rata-rata biaya pemesanan) = 18,89
Average holding cost (rata-rata biaya simpan) = 12,03
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
119,40
Average total cost (rata-rata biaya inventory) = 88,48
c. Untuk order inventory (20,80)
Average ordering cost (rata-rata biaya pemesanan) = 28,43
Average holding cost (rata-rata biaya simpan) = 8,84
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
121,96
Average total cost (rata-rata biaya inventory) = 84,69
d. Untuk order inventory (20,100)
Average ordering cost (rata-rata biaya pemesanan) = 36,56
Average holding cost (rata-rata biaya simpan) = 7,47
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
124,33
Average total cost (rata-rata biaya inventory) = 80,30
e. Untuk order inventory (40,60)
Average ordering cost (rata-rata biaya pemesanan) = 26,13
Average holding cost (rata-rata biaya simpan) = 1,81
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
128,79
Average total cost (rata-rata biaya inventory) = 100,84
Modul IVGilank P. (0932010064)Kamis I/ D
f. Untuk order inventory (40,80)
Average ordering cost (rata-rata biaya pemesanan) = 34,32
Average holding cost (rata-rata biaya simpan) = 2,19
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
129,83
Average total cost (rata-rata biaya inventory) = 93,32
g. Untuk order inventory (40,100)
Average ordering cost (rata-rata biaya pemesanan) = 47,79
Average holding cost (rata-rata biaya simpan) = 0,33
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
128,17
Average total cost (rata-rata biaya inventory) = 80,06
Analisa : Jika dilihat ke 7 police pada output diatas terlihat bahwa yang
mempunyai total cost paling kecil adalah police ke 7. Dengan level persediaan
minimal 40 untuk mengadakan pemesanan sebesar dan level persediaaan
maksimal yang diperoleh sebesar 100 Sehingga diperoleh (40,100) dengan
average total cost 80,06.
Modul IVGilank P. (0932010064)Kamis I/ D
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan yang dapat ditarik dari penggunaan program Simulasi Sistem
Antrian Single Server adalah sebagai berikut :
1. Tugas Praktikum
a. Untuk order inventory (20,40)
Average ordering cost ( rata – rata biaya pemesanan ) = 9,25
Average holding cost ( rata – rata biaya simpan ) = 18,10
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 126,61
Average total cost ( rata – rata biaya inventory ) = 99,26
b. Untuk order inventory (20,60)
Average ordering cost ( rata – rata biaya pemesanan ) = 17,39
Average holding cost ( rata – rata biaya simpan ) = 14,83
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 122,74
Average total cost ( rata – rata biaya inventory ) = 90,52
c. Untuk order inventory (20,80)
Average ordering cost ( rata – rata biaya pemesanan ) = 26,24
Average holding cost ( rata – rata biaya simpan ) = 10,26
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 123,86
Modul IVGilank P. (0932010064)Kamis I/ D
Average total cost ( rata – rata biaya inventory ) = 87,36
d. Untuk order inventory (20,100)
Average ordering cost ( rata – rata biaya pemesanan ) = 36,00
Average holding cost ( rata – rata biaya simpan ) = 7,95
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 125,32
Average total cost ( rata – rata biaya inventory ) = 81,37
e. Untuk order inventory (40,60)
Average ordering cost ( rata – rata biaya pemesanan ) = 25,99
Average holding cost ( rata – rata biaya simpan ) = 1,95
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 126,37
Average total cost ( rata – rata biaya inventory ) = 98,43
f. Untuk order inventory (40,80)
Average ordering cost ( rata – rata biaya pemesanan ) = 35,92
Average holding cost ( rata – rata biaya simpan ) = 1,14
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 125,46
Average total cost ( rata – rata biaya inventory ) = 88,40
g. Untuk order inventory (40,100)
Average ordering cost ( rata – rata biaya pemesanan ) = 46,42
Average holding cost ( rata – rata biaya simpan ) = 1,30
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 132,34
Modul IVGilank P. (0932010064)Kamis I/ D
Average total cost ( rata – rata biaya inventory ) = 84,63
h. Untuk order inventory (60,80)
Average ordering cost ( rata – rata biaya pemesanan ) = 44,02
Average holding cost ( rata – rata biaya simpan ) = 0,31
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 150,02
Average total cost ( rata – rata biaya inventory ) = 105,69
i. Untuk order inventory (60,100)
Average ordering cost ( rata – rata biaya pemesanan ) = 53,91
Average holding cost ( rata – rata biaya simpan ) = 0,24
Average shortage cost ( rata – rata biaya karena pembelian tidak terlayani )
= 143,20
Average total cost ( rata – rata biaya inventory ) = 89,05
Jika dilihat ke 9 police pada output diatas terlihat bahwa yang mempunyai
total cost paling kecil adalah police ke 4. Dengan level persediaan minimal untuk
mengadakan pemesanan sebesar 20 dan level persediaaan maksimal yang
diperoleh sebesar 100. Sehingga diperoleh (20,100) dengan average total cost
81,37.
2. Analisa Tugas Laporan Resmi
a. Untuk order inventory (20,40)
Average ordering cost (rata-rata biaya pemesanan) = 9,42
Average holding cost (rata-rata biaya simpan) = 18,19
Modul IVGilank P. (0932010064)Kamis I/ D
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
128,15
Average total cost (rata-rata biaya inventory) = 100,54
b. Untuk order inventory (20,60)
Average ordering cost (rata-rata biaya pemesanan) = 18,89
Average holding cost (rata-rata biaya simpan) = 12,03
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
119,40
Average total cost (rata-rata biaya inventory) = 88,48
c. Untuk order inventory (20,80)
Average ordering cost (rata-rata biaya pemesanan) = 28,43
Average holding cost (rata-rata biaya simpan) = 8,84
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
121,96
Average total cost (rata-rata biaya inventory) = 84,69
d. Untuk order inventory (20,100)
Average ordering cost (rata-rata biaya pemesanan) = 36,56
Average holding cost (rata-rata biaya simpan) = 7,47
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
124,33
Average total cost (rata-rata biaya inventory) = 80,30
e. Untuk order inventory (40,60)
Average ordering cost (rata-rata biaya pemesanan) = 26,13
Average holding cost (rata-rata biaya simpan) = 1,81
Modul IVGilank P. (0932010064)Kamis I/ D
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
128,79
Average total cost (rata-rata biaya inventory) = 100,84
f. Untuk order inventory (40,80)
Average ordering cost (rata-rata biaya pemesanan) = 34,32
Average holding cost (rata-rata biaya simpan) = 2,19
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
129,83
Average total cost (rata-rata biaya inventory) = 93,32
g. Untuk order inventory (40,100)
Average ordering cost (rata-rata biaya pemesanan) = 47,79
Average holding cost (rata-rata biaya simpan) = 0,33
Average shortage cost (rata-rata biaya karena pembelian tidak terlayani) =
128,17
Average total cost (rata-rata biaya inventory) = 80,06
Jika dilihat ke 7 police pada output diatas terlihat bahwa yang mempunyai
total cost paling kecil adalah police ke 7. Dengan level persediaan minimal 40
untuk mengadakan pemesanan sebesar dan level persediaaan maksimal yang
diperoleh sebesar 100 Sehingga diperoleh (40,100) dengan average total cost
80,06.
Modul IVGilank P. (0932010064)Kamis I/ D
5.2 Saran
Saran yang dapat diberikan sebagai masukan dari penggunaan program
Simulasi Sistem Antrian Single Server adalah sebagai berikut:
a. Hal-hal yang menyangkut kesalahan dalam penulisan program sebaiknya
diketahui terlebih dahulu sehingga tidak memakan waktu saat praktikum
sedang berlangsung.
b. Selalu dibina hubungan saling kekeluargaan antara praktikan dengan
pembimbing.
Modul IVGilank P. (0932010064)Kamis I/ D
DAFTAR PUSTAKA
Buku Panduan Praktikum Simulasi Sistem industri, Jurusan Teknik Industri, 2012Kelton, W.David, Simulation Modeling and Analysis, third edition, McGraw-Hill,
Newyork ,2000O’BRIEN, Stephen K., Turbo Pascal 6: The Complete Reference, Borland
International Inc., USA, 1994.Pidd,S, Computer Simulasi In Managementb Science, John Willey and Sooons
itd, Singapura, 1991QUALIMETRICS, Manual for Recording Wind System Model 2362, Qualimetrics,
Inc., Sacramento, 1982.
Modul IVGilank P. (0932010064)Kamis I/ D