• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM Latar belakang terbentuknya perusahaan IBM ini dikarenakan melihat

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN PROGRAM Latar belakang terbentuknya perusahaan IBM ini dikarenakan melihat"

Copied!
28
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN PROGRAM

3.1 Latar Belakang Perusahaan IBM 3.1.1 Sejarah Perusahaan

Perusahaan IBM (Indonesia Bisnis Mandiri) adalah sebuah perusahaan yang bergerak dibidang trading (perdagangan) kertas, berdiri pada bulan Oktober 1999. Latar belakang terbentuknya perusahaan IBM ini dikarenakan melihat banyaknya sekolah, kampus, perusahaan-perusahaan, bahkan bidang usaha kecil atau menengah ke bawah yang membuat diktat-diktat, buku panduan, booklet untuk seminar,fotocoy dan kebutuhan lain-lainnya. Untuk itulah Direktur Perusahaan IBM dan rekan-rekannya pada saat itu milihat adanya suatu peluang bisnis dan memutuskan untuk membuka suatu usaha, di mana bisa mensuplai kebutuhan kertas ke dalam lingkungan sekolah, kampus, perusahaan-perusahaan, bahkan bidang usaha kecil atau menengah ke bawah.

Perusahaan IBM bukanlah perusahaan yang bergerak dalam bidang pembuatan kertas, yang dilakukan perusahaan ini adalah melakukan menyuplai kertas dengan ukuran yang bermacam-macam atau dapat disebut dengan istilah “cut size” . Perusahaan IBM melakukan usaha pemotongan kertas dengan berbagai macam ukuran, misalnya ukuran A3, A4, Folio, HVS, Plano, tidak hanya terbatas ukuran-ukuran standar tapi pemesanan dengan ukuran tertentu dapat dilakukan sesuai kebutuhan dan permintaan konsumen.

(2)

3.1.2 Struktur Perusahaan

Di awal berdirinya Perusahaan IBM memiliki beberapa anggota orang saja. Saat ini jumlah pegawai Perusahaan IBM sudah mencapai ke level job description.

Semua yang berhubungan tentang keanggotaan Perusahaan IBM diatur dalam Anggaran Dasar dan Anggaran Rumah Tangga.

Struktur Perusahaan IBM 2000-2007

Direktur : Halim Kurniadi Wakil Direktur : Daryanto Sekretaris : Aswarni Kepala bagian Penjualan & Marketing : Hoky Kepala bagian Keuangan : Tine Haryani Kepala bagian Pengiriman : Benny

Kepala Gudang : Handarto

Kepala Administrasi : Herman

3.1.3 Misi Perusahaan

Perusahaan IBM (Indonesia Bisnis Mandiri) mempunyai misi agar masyarakat lebih mengenal faedah dari kertas “cut size” karena kertas-kertas “cut size” tidak hanya diaplikasikan untuk fotocoy saja, tapi bisa untuk fax, scan, dan komputer. Selain itu Perusahaan IBM mempunyai misi untuk bisa menyuplai kertas “cut size” kekonsumen baik di kota bahkan sampai kepelosok daerah, dengan cepat, efisien dan optimal.

(3)

3.1.4 Visi Perusahaan

Semakin banyak Toko, usaha-usaha, kantor, perusahaan yang menggunakan berbagai macam ukuran kertas untuk kepentingan perusahaannya baik itu untuk kebutuhan printing, penggandaan dokumen, atau pencetakan dalam bentuk tertentu, hal ini yang menjadikan sebuah peluang bisnis besar.

3.1.5 Tugas dan Tanggung Jawab Direktur

1. Mengkoordinir seluruh kinerja kerja pegawai

2. Bertanggung jawab terhadap seluruh kegiatan perusahaan 3. Memimpin rapat

Wakil Direktur

1. Menggantikan tugas ketua disaat ketua berhalangan hadir atau ditunjuk oleh ketua

2. Melakukan perpajakan

Sekretasis

1. Mencatat notulen rapat atau pertemuan dengan klien 2. Mengatur jadwal rapat.

3. Penghubung antara klien dengan Direktur

Kepala bagian Penjualan & Marketing

(4)

2. Bertanggung jawab terhadap pemesanan barang

3. Mengkooridnir para sales dalam melakukan aktivitas penjualan

Kepala bagian Keuangan (Kasir dan Akuntan)

1. Kasir : Bertanggung jawab atas aktifitas keuangan perusahaan seperti gaji pegawai, pembelian bahan-bahan yang diperlukan perusahaan (resource), penagihan hutang terhadap konsumen atau pelanggan, dll

2. Akuntan : Bertanggung jawab atas pembuatan neraca rugi laba perusahaan, pembukuan keluar masuk keugangan, membuat renacan budgeting perusahaan serta pengontrolan terhadap seluruh kinerja perusahaan.

Kepala bagian Pengiriman

1. Bertanggung jawah atas pengiriman barang ke konsumen

2. Bertanggung jawah atas produk-produk yang dihasilkan oleh perusahaan dalam keutuhan

3. Mengatur jadwal pemgiriman

Kepala Gudang

1. Bertanggung jawab atas keluar masuknya barang dari gudang 2. Bertanggung jawab atas kinerja para supir dan pekerja kasar.

(5)

Kepala Administrasi

1. Mengatur biaya yang dikeluarkan oleh para supir untuk

melakukan pengangkutan barang dari gudang ke tempat tujuan, misal biaya bensin, biaya tol, parkir.

3.1.6 Lokasi Perusahaan dan Warehouse (gudang)

Lokasi Perusahaan :

Jl. Dr Susilo Raya No. C-2 Grogol

Jakarta Barat 11450 Indonesia

Telp. 021 5644942

Lokasi Warehouse :

Jalan Denpasar No. 17 & 18 Cilincing

Jakarta Utara

Indonesia

3.2 Perancangan Software

3.2.1 Perancangan Perangkat Lunak

Perangkat lunak atau piranti lunak adalah :

1. Program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras, Penerjemah perintah-perintah yang

(6)

dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras.

2. Perintah (berupa sebuah program) yang bila dieksekusi memberikan sebuah fungsi dan unjuk kerja seperti yang diinginkan oleh si pembuat.

3. Struktur data yang memungkinkan program memanipulasi informasi secara proporsional.

Menurut Sommerville (2001, p6), perancangan perangkat lunak adalah disiplin perancangan yang berhubungan dengan semua aspek dari produksi perangkat lunak dari tahap awal spesifikasi sistem sampai dengan pemeliharaan setelah sistem dalam tahap berjalan.

Perangkat lunak ini dibagi menjadi 3 tingkatan:

1. Tingkatan program aplikasi (application program misalnya Microsoft Office).

2. Tingkatan sistem operasi (operating system misalnya Microsoft Windows).

3. Tingkatan bahasa pemrograman (yang dibagi lagi atas bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa Rakitan).

Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras, melakukan perhitungan (memproses), berinteraksi dengan perangkat lunak yang lebih mendasar lainnya seperti sistem operasi, dan bahasa pemrograman, dan lain-lain.

(7)

Menurut Sommerville (2001, p6), perancangan perangkat lunak adalah disiplin perancangan yang berhubungan dengan semua aspek dari produksi perangkat lunak dari tahap awal spesifikasi sistem sampai dengan pemeliharaan setelah sistem dalam tahap berjalan.

3.2.2 Daur Hidup Perangkat Lunak

Salah satu model perancangan perangkat lunak adalah dengan menggunakan model air terjun (waterfall model). Menurut Sommerville (2001, p45), tahap-tahap utama dalam model air terjun yang menggambarkan aktivitas dasar pengembangan perangkat lunak adalah sebagai berikut:

Gambar 3.1 Daur Hidup Perangkat Lunak (Sumber: Sommerville, 2001, p45)

(8)

a. Analisis dan Penentuan Kebutuhan (Requirements)

Tugas, kendala dan tujuan sistem ditentukan melalui konsultasi dengan pemakai sistem. Kemudian ditentukan cara yang dapat dipahami, baik oleh user maupun penulis. Dalam hal ini menggunakan bahasa pemrograman Delphi.

b. Desain Sistem dan Perangkat Lunak (Design)

Proses desain sistem terbagi dalam kebutuhan perangkat keras dan perangkat lunak. hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditransformasikan ke dalam satu atau lebih program yang dapat dieksekusi.

Penulis membuat sebuah desain program menggunakan Delphi dan membuat flowchart jalannya program

c. Implementasi dan Pengujian Unit (Implementation)

Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan program atau unit-unit program. Pengujian unit mencakup kegiatan verifikasi terhadap suatu unit sehingga memenuhi syarat spesifikasinya.

d. Integrasi dan Pengujian Sistem (Verivication)

Unit program secara individual diintegrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat

(9)

lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pengguna.

e. Pengoperasian dan pemeliharaan (Maintenance)

Secara normal, walaupun tidak selalu diperlukan, tahap ini merupakan bagian siklus hidup yang terpanjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam tahap-tahap sebelumnya, meningkatkan implementasi unit-unit sistem dan mempertinggi pelayanan sistem yang disebabkan oleh penemuan kebutuhan baru.

3.3 Alat Bantu Perancangan

3.3.1. State Transition Diagram (STD)

State transition diagram menggambarkan jalannya suatu program dalam kondisi tertentu. Notasi yang digunakan adalah sebagai berikut.

State menunjukkan satu atau lebih kegiatan atau keadaan atau atribut yang menjelaskan bagian tertentu dari program.

(10)

Anak panah berarah menunjukkan perubahan state yang disebabkan oleh aksi (action) terhadap kondisi (condition) tertentu. Kondisi merupakan suatu event pada lingkungan eksternal yang dapat dideteksi oleh suatu sistem, misalnya sinyal, interupsi, atau data. Hal ini akan menyebabkan perubahan dari suatu state ke state yang lainnya atau satu aktivitas ke aktivitas lainnya. Aksi merupakan hal yang dilakukan oleh sistem jika terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi dapat menghasilkan output, tampilan pesan pada layar, kalkulasi atau kegiatan lainnya.

3.3.2. Pseudocode

Pseudocode adalah suatu bahasa pemprograman yang informal dan sangat fleksibel, yang tidak dimaksudkan untuk dieksekusi pada mesin, tetapi hanya digunakan untuk mengatur pemikiran programer sebelum melakukan pengkodean (Page-Jones.1980, p11).

Pseudocode dapat merupakan alternatif lain dalam perancangan perangkat lunak di samping alat-alat bantu berupa diagram. Tidak ada standarisasi dalam hal penulisan pseudocode. Pemprogram dapat menulisnya dalam bahasa apa saja yang mereka suka, dipadukan dengan bahasa pemprograman tertentu. Pemprogram juga bebas menggunakan teknik dan aturannya sendiri. Aturan untuk menulis pseudocode sebagai berikut:

• Pernyataan ditulis dalam bahasa Inggris sederhana.

• Setiap perintah ditulis pada baris tersendiri.

(11)

digunakan untuk menandai struktur kontrol khusus.

• Setiap bimbingan perintah ditulis dari atas ke bawah dengan hanya satu awal dan satu akhir program.

• Kumpulan pernyataan-pernyataan dapat dibentuk dalam modul-modul yang diberi nama tertentu.

3.4 Permasalahan yang Dihadapi Perusahaan

Sistem persediaan yang sekarang sedang dijalankan di Perusahaan IBM tidak memperhatikan biaya-biaya yang timbul akibat melakukan penempatan barang (stuffing plan). Hal ini menyebabkan biaya yang harus dikeluarkan perusahaan hanya untuk membiayai ongkos transport besar dan juga terjadi pemborosan waktu dalam pengiriman. Stuffing plan yang dilakukan pada perusahaan ini juga tidak memakai sistem apapun, di mana para pegawai bagian pengangkutan dan penempatan barang tidak memperhatikan posisi yang baik dalam peletakan barang di dalam mobil box. Stuffing plan yang dilakukan perusahaan ini sering kali tidak optimal, banyak terdapat ruang kosong yang seharusnya bisa diminimalisasi, sehingga terjadi pemborosan tempat dalam mobil box.

3.5 Pemecahan Masalah

Dari permasalahan di atas maka penelitian ini hendak mengembangkan software yang dapat mengoptimalisasi penempatan benda di dalam mobil box. Sehingga dengan software ini dapat menghasilkan solusi untuk permasalahan di

(12)

atas. Dengan permasalahan yang telah diketahui, maka software yang akan dikembangkan memiliki kemampuan sebagai berikut :

1. Memaksimalisasi penggunaan ruang yang tersedia

Sebagai solusi dari permasalahan di atas yaitu bagaimana menempatkan barang ke dalam mobil box adalah memaksimalkan penggunaan ruang yang tersedia dan meminimalkan yang tidak terpakai pada mobil box tersebut dengan beberapa batasan-batasan yang ada.

2. Batasan barang

Diperlukan parameter-parameter untuk batasan barang dan tempat antara lain :

1. Dimensi

Barang berbentuk kotak dan memiliki panjang, lebar serta tinggi, dalam kasus perusahaan ini, barang yang akan diletakkan kedalam mobil box mempunyai tinggi yang sama. Dalam penempatannya di dalam mobil box, barang bisa diputar untuk mencari kemungkinan akan posisi yang terbaik untuk melakukan penempatan (panjang menjadi lebar dan lebar menjadi panjang).

2. Ukuran

Setiap barang memiliki ukuran yang berbeda, sehingga besar benda tidak boleh lebih besar dari mobil box tersebut.

(13)

Diharapkan dari pembuatan software ini didapat hasil yang lebih cepat, akurat, efisien serta optimal dalam melakukan peletakan barang dalam mobil box. Sehingga tidak banyak waktu yang terbuang serta meminimalisasi ruang kosong yang seharusnya bisa ditempati barang.

3.6 Perancangan Sistem

3.6.1 Diagram Transisi Menu Aplikasi

Di bawah ini adalah diagram transisi keadaan sistem.

Diagram 3.1 STD Menu View

Diagram 3.2 STD Menu Add Menu Utama

View

Available Box Log

Open Log Save Log

Klik Klik Klik Klik Klik Menu Utama View Klik

(14)

Diagram 3.3 STD Menu Open File

Diagram 3.4 STD Menu Reset

Diagram 3.5 STD Menu Create Menu Utama Open File Load File Klik Klik Menu Utama Reset Klik Menu Utama Create Klik

(15)

Diagram 3.6 STD Menu Run

Diagram 3.8 STD Menu Layar Output

3.6.2 Rancangan Menu Aplikasi

Dibawah ini adalah perancangan untuk menu aplikasi yang akan dibuat softwarenya, didalam menu ini akan dijabarkan tombol-tombol apa saja yang ada, serta urutan kejadian yang terjadi setelah penekan tombol dilakukan.

Menu Utama Run Run Time Klik Klik Layar Output Menu Utama 2 D 3 D Klik Klik Klik

(16)

Gambar 3.2 Rancangan Menu Aplikasi Menu Utama

Add Open File Reset Create Run

View

Available Box

Log

Open Log Save Log

Load File

Layar Output

2 D

3 D

(17)

3.6.3 Perancangan Layar

Gambar 3.3 Tampilan Layar Program Menu Utama View

Layar Tampilan Box

Panjang Lebar Jumlah List Panjang Lebar Option Run Reset Besar Papan Panjang Lebar Create Add Open File Cutting Box

(18)

Pada layar ini, user bisa melakukan dua pilihan yaitu :

Pertama dengan memasukkan input panjang, lebar barang dan berapa banyak jumlah barang dengan ukuran tersebut, setelah itu di bagian bawah ada bagian untuk melakukan input besar papan, ukuran panjang dan lebar papan, dan di bagian layar tampilan (visualisasi) akan muncul gambar dengan ukuran papan yang kita input atau dengan cara kedua yaitu dengan open file, setelah tombol open file ditekan, maka akan keluar tampilan untuk melakukan open file, disini sudah tersedia data dalam bentuk text yang isinya adalah panjang dan lebar papan , serta panjang dan lebar barang.

Gambar 3.4 Tampilan Layar Program Menu Open File

Setelah cara pertama atau kedua dilakukan, maka selanjutnya dilakukan penekanan tombol run, disini program akan melakukan eksekusi, program akan jalan selama beberapa waktu (tergantung banyaknya jumlah barang). Setelah itu akan muncul Message Dialog yang menyatakan “Sukses” atau “Tidak”nya eksekusi program tersebut.

Open

File Name : File Type :

Open Cancel

(19)

Gambar 3.5 Tampilan Layar Program Menu Sukses

Gambar 3.6 Tampilan Layar Program Menu Gagal

Pada pojok kiri atas dari tampilan program terdapat menu view, ketika tombol view ditekan, maka akan terdapat dua pilihan yaitu “Available box” dan “log”.

Gambar 3.7 Tampilan Layar Program Menu Available Box Sukses ini … Milisecond

Confirm

OK

X

Information

Gagal Mencapai Solusi Pada Bangun ke…

OK X Available Box List Panjang Lebar X

(20)

Gambar 3.8 Tampilan Layar Program Menu Log

3.7 Perancangan FlowChart

Di bawah ini adalah perancangan FlowChart dari program yang akan dibangun.

X

Open Log Save Log Log

(21)

MULAI

Masukkan data Secara manual

Tidak

Ya

Masukkan data dengan Menekan tombol ”Open File” Masukkan data Secara manual Tekan Tombol “add” Tampilkan ke dalam ”List Barang”

Pilih File yang akan Ditampilkan

Tampilkan ke dalam ”List Barang” dan ”Layar Tampilan” A B Masukkan Ukuran Papan Masukkan ukuran barang C

(22)

Tekan tombol “Create” Tampilkan ke dalam “layar tampilan” Ya Tidak Tekan Tombol “Run” Tekan tombol “Reset” Tampilkan Hasil Eksekusi di “Layar Tampilan” Ya Tidak Tampilkan

“Gagal untuk mencapai solusi pada barang ke..”

Tampilkan “Sukses in .. Milisecond” Apa semua data benar? B Apa semua barang tereksekusi dengan sukses? D E A C

(23)

Diagram 3.9 Flowchart Tekan tombol “Ok”

Pilih menu “View”

Ya Tidak Pilih Menu “Available Box” Melakukan “Save Log” Melakukan “Open Log” Klik Ukuran Barang yang terdapat

di list

Menampilkan data hasil eksekusi program

Selesai Pilih menu

box?

(24)

3.8 Perancangan Spesifikasi Proses

Untuk memperjelas proses-proses yang terjadi pada setiap modul terdapat dalam program,maka akan diperinci dengan spesifikasi modul di bawah ini :

Modul Inisialisasi BEGIN

Set nilai awal untuk semua variabel dan komponen. END

Modul add

Menunggu user memasukkan nilai inputan panjang, lebar dan jumlah barang

Menunggu user menekan tombol ‘ADD’ BEGIN

If tombol “add” dipilih then panggil fungsi add cut box masukkan ukuran panjang dan lebar ke dalam list queue END

Modul Add_Cut_Box BEGIN

Masukkan barang ke dalam stack cut (simpan seluruh data barang kedalam array - mengambil parameter dari inputan user untuk ditaruh ke dalam list)

Panggil modul heuristic_luas END

(25)

Modul Heuristic_Luas BEGIN

Menghitung luas tiap barang Sorting barang berdasarkan Luas END

Modul create

Menunggu user memasukkan nilai inputan panjang dan lebar papan Menunggu user menekan tombol ‘CREATE’

Tampilkan secara visualisasi bentuk papan di layar tampilan BEGIN

Panggil modul Init_Cut END

Modul Init_Cut BEGIN

inisialisasi awal array penampung barang END

Modul open file

Menunggu user menekan tombol ‘Open File’ BEGIN

If tombol “open file” dipilih then tampilkan layar pilih file Pilih file

(26)

END

Modul run

Menunggu user menekan tombol ‘Run’ BEGIN

If tombol “run” dipilih then program melakukan eksekusi Panggil modul Init_Queue();

Masukkan semua data ke dalam available list END

Modul Init_Queue BEGIN

Inisialisasi Jumlah barang If ( temp <>nill) then

Panggil Modul Create_Successor();

Panggil Modul Insert_Successor_To_Open(); Else

MessageDlg(“Inputkan besar box yang diinginkan”); END

Modul Create_Successor BEGIN

Dapatkan nilai barang yang akan ditempatkan

while looping seluruh posisi benda yg bisa diletakkan di papan, masuk ke if

(27)

If (bangun = i) then ambil seluruh data barang tersebut If (p<>nil) then masuk ke for

For disini untuk menciptakan nilai heursitic untuk setiap barang

END

Modul Heuristic Sisi BEGIN

Hitung kelilingnya untuk mendapatkan posisi kotak yang dipilih akan diletakan di mana, dengan rumus (((Kel_Box - jml_kena) + (Kel_Cut - jml_Kena)) - jml_kena_bangun) + nilai_tambahan;

END

Modul Insert_Succesor_to_Open BEGIN

Memasukkan queue successor ke squeue open? END

Modul Solution BEGIN

if (Open = nil) then “gagal mencapai solusi” else “SUKSES in … Milisecond”

END

(28)

BEGIN

Memasukkan ukuran dari barang yang ada di queue Closed ke dalam Available List

END

Modul Reset BEGIN

Menghapus semua data dari inputan user maupun dari Open File END

Modul adalah sekumpulan fungsi spesifik yang mendukung satu tujuan yang lebih general.

Gambar

Diagram 3.1   STD Menu View
Diagram  3.3  STD Menu Open File
Diagram 3.8  STD Menu Layar Output
Gambar 3.2  Rancangan Menu AplikasiMenu Utama
+6

Referensi

Dokumen terkait

Akun Akses Layanan Pembelajaran, yang selanjutnya disebut Akun Pembelajaran merupakan akun yang memuat nama akun (user ID) dan akses masuk akun (password) yang diterbitkan

Panduan ini akan menolong Anda untuk mengajar, menyediakan aktivitas- aktivitas yang berpusat pada siswa dan menilai standar kompetensi yang sejalan dengan judul “Mengakses

Pada MM terjadi peningka- tan sel plasma di sumsum tulang, dimana sel plasma abnormal ini membentuk imunoglobu- lin (Ig) yang sama (monoklonal Ig yang disebut M-protein), bisa

Budidaya tanaman secara hidroponik memiliki banyak kelebihan, diantaranya adalah produksi tanaman lebih tinggi, terbebas dari hama dan penyakit, tanaman tumbuh

Berdasarkan literatur yang pengamat dapatkan, cara sederhana perhitungan sperma yaitu dengan menentukan lapangan pandang.. Lapangan pandang diperiksa secara sistematik dan

Kutikula adalah lapisan yang paling luar dari rambut yang terdiri atas sel-sel tanduk yang gepeng atau pipih dan tersusun seperti sisik ikan. Bagian bawah menutupi bagian di

Deskripsi singkat mata kuliah Farmakoterapi Sistem Pencernaan dan Pernafasan: Mata kuliah ini mempelajari mengenai patofisiologi dan farmakoterapi pada penyakit sistem pencernaan