Top Banner
5 BAB II LANDASAN TEORI 2.1 Latar Belakang Perusahaan 2.1.1 Sejarah Singkat Pendirian Perusahaan PT Kalbe Morinaga Indonesia ( Perusahaan ) didirikan berdasarkan Akta notaris No.33 tanggal 7 Februari 2005 dari notaris DR. Irawan Soerodjo, S.H., Msi. Aktapendirian tersebut telah disahkan oleh Menteri Hukum dan Hak Asasi ManusiaRepublik Indonesia dalam Surat Keputusannya No.C-06329 HT.01.01.TH.2005 pada tanggal 10 Maret 2005 serta diumumkan dalam Berita Negara Republik Indonesia No.70 tanggal 1 September 2005, Tambahan No.9374. Anggaran Dasar telah diubah berdasarkan aktaNotaris No.46 tanggal 28 Agustus 2008 dari notaris Tjong Trisnawati,SH. tentang penyesuaian Anggaran Dasar Perusahaan dengan Undang-Undang Nomor40 tahun 2007 tentang Perseroan Terbatas. Perubahan anggaran dasar telah disetujui Menteri Hukum dan hak Asasi manusia Republik Indonesia dengan surat keputusan No.AHU- 85901.AH.01.02 Tahun 2008 tanggal 13 November 2008.Kantor dan pabrik Perusahaan beralamat di Kawasan Industri Indotaisei Sektor I A BlokQ1 Kawasan Industri Indotaisei, Kota Bukit Indah Kalihurip Cikampek Karawang, JawaBarat. Perusahaan tergabung dalam kelompok usaha (grup) Kalbe.Perusahaan dimiliki oleh PT Kalbe (70%), Morinaga Milk Industry Co. Ltd, Japan(30%).
33

Thesis Bab2 Kalbe

Feb 20, 2016

Download

Documents

yis_love

Thesis Bab2 Kalbe
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Thesis Bab2 Kalbe

5

BAB II LANDASAN TEORI

2.1 Latar Belakang Perusahaan

2.1.1 Sejarah Singkat Pendirian Perusahaan

PT Kalbe Morinaga Indonesia ( Perusahaan ) didirikan berdasarkan Akta

notaris No.33 tanggal 7 Februari 2005 dari notaris DR. Irawan Soerodjo, S.H.,

Msi. Aktapendirian tersebut telah disahkan oleh Menteri Hukum dan Hak Asasi

ManusiaRepublik Indonesia dalam Surat Keputusannya No.C-06329

HT.01.01.TH.2005 pada tanggal 10 Maret 2005 serta diumumkan dalam Berita

Negara Republik Indonesia No.70 tanggal 1 September 2005, Tambahan

No.9374. Anggaran Dasar telah diubah berdasarkan aktaNotaris No.46 tanggal 28

Agustus 2008 dari notaris Tjong Trisnawati,SH. tentang penyesuaian Anggaran

Dasar Perusahaan dengan Undang-Undang Nomor40 tahun 2007 tentang

Perseroan Terbatas. Perubahan anggaran dasar telah disetujui Menteri Hukum dan

hak Asasi manusia Republik Indonesia dengan surat keputusan No.AHU-

85901.AH.01.02 Tahun 2008 tanggal 13 November 2008.Kantor dan pabrik

Perusahaan beralamat di Kawasan Industri Indotaisei Sektor I A BlokQ1 Kawasan

Industri Indotaisei, Kota Bukit Indah Kalihurip Cikampek Karawang, JawaBarat.

Perusahaan tergabung dalam kelompok usaha (grup) Kalbe.Perusahaan dimiliki

oleh PT Kalbe (70%), Morinaga Milk Industry Co. Ltd, Japan(30%).

Page 2: Thesis Bab2 Kalbe

6

2.1.2. Jenis Layanan Manufaktur Perusahaan

Sesuai dengan pasal 3 anggaran dasar Perusahaan, ruang lingkup kegiatan

perusahaan adalah bergerak dalam bidang penerimaan titip olah produksi(toll

manufacturing) atas susu bayi dan produk-produk lainnya. Layanan manufaktur

perusahaan untuk pelanggan antara lain adalah :

1. Layanan manufaktur produksi susu bayi.

2. Layanan manufaktur produksi susu ibu hamil.

3. Layanan manufaktur produksi susu untuk anak umur 1-3 tahun.

4. Layanan manufaktur produksi susu untuk anak umur 3-6 tahun.

2.1.3 Visi dan Misi Perusahaan secara Umum

Dalam menjalankan kegiatan usahanya serta sebagai arah dalam mencapai

tujuannya setiap perusahaan memiliki visi dan misi yang jelas. Demikian pula

dengan PT. Kalbe Morinaga Indonesia yang juga memiliki visi dan misi untuk

menentukan arah bisnisnya. Adapun visi dari PT. Kalbe Morinaga Indonesia

adalah : “To become an Excellent Toll Manufacturing in Indonesia, prioritized for

Morinaga Products”. Sementara itu misi dari PT. Kalbe Morinaga Indonesia yaitu

: “To Provide Excellent Services for Our Customer and To become and remain

Market Leaders”.

2.1.5. Sejarah Pemegang Saham

PT. Kalbe Farma mendistribusikan produk susu bayi Morinaga sejak tahun

1978 (Perusahaan Farmasi), karena produk morinaga di Indonesia

Page 3: Thesis Bab2 Kalbe

7

(pertumbuhannya)sangat baik, maka di tahun 1985 morinaga ( Jepang ) menunjuk

Kalbe Farma sebagai distributor tunggal produk Morinaga. Pertumbuhan

Morinaga yang pesat menjadi pemimpin pasar dan pemain dominan di Indonesia

untuk susu bayi. Di tahun 2005 Kalbe Farma dan Morinaga menyetujui untuk

membangun pabrik yang memproduksi susu bayi berlokasi di Indonesia. Total

investasi US$ 45-50 juta dengan kapasitas 12,000 ton per tahun.

2.1.6. Struktur Perusahaan

Setiap perusahaan membutuhkan struktur organisasi untuk mencapai

tujuanperusahaan yang telah ditetapkan. Struktur organisasi perusahaan bertujuan

untukmelaksanakan kegiatan atau aktivitas perusahaan, seperti masalah

pembagian kerja,pembagian fungsi, pembagian tugas dan tanggung jawab, agar

dalam pelaksanaannyadapat berjalan dengan efektif dan efisien. Untuk mencapai

tujuan yang telah ditetapkan tersebut diperlukan suatu penetapan struktur

organisasi yang jelas dan sesuai dengankebutuhan.

Dengan adanya struktur organisasi, masing-masing karyawan divisi dapat

memahami tugas dan tanggung jawab apa yang dilimpahkan kepadanya. Selain itu

jugauntuk mengetahui hubungan formal antar unit dalam organisasi. Struktur

organisasiperusahaan tidak selalu bersifat tetap, karena adanya kemungkinan

perubahan situasidan kondisi didalam perusahaan yang memungkinkan terjadinya

perubahan strukturorganisasi perusahaan.

Page 4: Thesis Bab2 Kalbe

2

I

2.1.6.1. Stru

Berik

Indonesia.

uktur Organ

kut ini mer

Gambar

Gambar 2

nisasi Perus

rupakan str

2.1 Struktur

2.2 Struktur O

sahaan

ruktur organ

r Organisasi

Organisasi M

nisasi dari

Menengah k

Menengah ke

PT. Kalbe

ke Atas

e Bawah

8

Morinaga

:

Page 5: Thesis Bab2 Kalbe

9

2.1.6.2. Detail Wewenang dan Tanggung Jawab

Struktur organisasi perusahaan membantu menelusuri wewenang dan

tanggungjawab masing-masing karyawan di perusahaan. Uraian dan penjelasan

wewenang dantanggung jawab dari PT Kalbe Morinaga Indonesia adalah sebagai

berikut :

1. Board of Commisioners ( Dewan Komisaris )

Board of Commisioners berada pada posisi teratas perusahaan dalam

struktur organisasi dipimpin oleh seorang Presiden Komisaris yang

membawahi tiga orang commisioner, dan satu orang tambahan

commisioner saat ini.

2. Board of Director ( Dewan Direktur )

Dipimpin oleh seorang President Director yang membawahi seorang

Direktur Teknis dan Direktur Administrasi & Keuangan.

3. President Director

President Director berada pada posisi teratas perusahaan dalam struktur

organisasi dan memimpin pihak manajemen dengan uraian tanggung

jawab sebagai berikut :

a. Menerapkan tujuan perusahaan agar tumbuh terus menerus di

ataspertumbuhan perusahaan lain yang sejenis.

b. Selalu meningkatkan strategic position perusahaan agar lebih

unggul dibanding pesaing.

c. Membuat strategi 5 tahunan,dan diimplementasikan tahun demi

tahun secara konsisten dengan menjabarkan seluruh activity yang

relevan dan tercermin dalam budget tahunan.

Page 6: Thesis Bab2 Kalbe

10

d. Menjabarkan dan mengkomunikasikan strategi tahunan perusahaan

baik secara verbal maupun dalam bentuk Individual Score Card

(ISC) yang juga menjadi tolak ukur keberhasilan karyawan itu

sendiri maupun perusahaan.

e. Membangun budaya kerja yang inovatif, penuh dengan

improvement, pembelajar, membuat jaringan kerja/informasi

dengan pihak lain serta sistem berpikir yang rasional ( speak with

data ).

4. Technical Director

Bersama dengan President Director, bertanggung jawab dalam :

a. Memastikan bahwa proses produksi memenuhi standart kualitas

Morinaga.

b. Memastikan proses produksi telah memenuhi kualitas yang telah

ditetapkanoleh perusahaan.

c. Memberikan nasehat teknis dalam pencapaian mutu, target

produksi dan dalam trial formula baru.

5. Administration, Finance and Accounting Director

Secara umum, bertanggung jawab dalam perencanaan dankontrol dalam

perusahaan baik dari sisi perencanaan finansial dan kebijakan perusahaan,

bertanggung jawab atas akunting dan hubungan dengan institusi utama,

pemegang saham dan komunitas finansial.

Page 7: Thesis Bab2 Kalbe

11

6. Secretary BOD

Secara umum, bertanggung jawab untuk mengatur jadwal rapat, jadwal

kerja, dan jadwal pertemuan (Board of Director) dengan client perusahaan

dan membuat notulen hasil rapat koordinasi.

7. Finance & Accounting Manager

Secara umum, memiliki tanggung jawab untuk memacu pertumbuhan

bisnis yang berkesinambungan melalui pengendalian dan optimalisasi

penggunaan uang serta aset berdasarkan sistem informasi keuangan yang

terintegrasi, akurat, tepat waktu serta membangun team yang solid

Memiliki uraian tanggung jawab sebagai berikut :

a. Membuat perencanaan strategis jangka panjang (5 tahun) Divisi

Finance & Accounting.

b. Mengendalikan dan mengoptimalkan penggunaan uang dan aset

perusahaan.

c. Mengarahkan bawahan dalam pembuatan rencana jangka

menengah dan jangka pendek (3 dan 1 tahun) berikut penyusunan

anggaran tahunan.

d. Menganalisa, mengantisipasi, memberikan usulan kepada

Manajemen mengenai penanganan issue keuangan baik internal

maupun eksternal.

e. Mengkoordinir seluruh kegiatan di Divisi Finance & Acccounting

untuk mencapai Visi dan target perusahaan.

f. Mengelola hubungan, terutama dengan eksternal auditor, Bank,

suppliers, kantor Pajak.

Page 8: Thesis Bab2 Kalbe

12

g. Mengelola sumberdaya manusia di Divisi Finance & Accounting

termasuk perencanaan tenaga kerja, rekrutmen, pengelolaan

kinerja, pelatihan dan pengembangan SDM.

h. Memonitor, me-review dan mempertanggungjawabkan kinerja

Divisi Finance & Accounting.

8. Senior Plant Manager

Secara umum, memiliki tanggung jawab untuk mengelola seluruh sumber

daya Plant (manusia, mesin, teknologi, informasi, uang dan sumberdaya

lainnya), agar seluruh aktivitas Plant berlansung efektif dan efisien, sesuai

dengan objective perusahan dengan berlandaskan pada QCS (Quality,

Cost, dan Speed) serta membangun team yang solid dan memiliki

kompetensi tinggi dalam proses pengolahan susu formula.

Memiliki uraian tanggung jawab sebagai berikut :

a. Membuat perencanaan strategis jangka panjang (5 tahun) Plant

division sesuai objektif perusahan.

b. Memastikan seluruh aktivitas Plant division berlangsung sejalan

dengan objektifperusahaan.

c. Mengarahkan bawahan dalam pembuatan rencana jangka

menengah (3 tahun) dan jangka pendek (1 tahun) berikut

penyusunan anggaran tahunan.

d. Memastikan seluruh aktivitas Plant Division sesuai dengan

Standard Quality System (HACCP, GMP, ISO) dan prosedur

standar yang telah ditetapkan.

Page 9: Thesis Bab2 Kalbe

13

e. Me-monitor, mereview, dan mempertanggungjawabkan kinerja

Plant division.

9. Human Resource Manager

Secara umum, bertanggung jawab untuk memacu pertumbuhan bisnis yang

berkesinambungan dengan mempersiapkan dan mengelola sumber daya

manusia melalui sistem HRD, pengembangan yang terintegrasi dan

menciptakan iklim kerja yang mendukung produktivitas di perusahaan

dengan membangun team yang solid.

Memiliki uraian tanggung jawab sebagai berikut :

a. Membuat perencanaan strategis jangka panjang (5 tahun) Divisi

Human Resource Department.

b. Mengarahkan bawahan dalam pembuatan rencana jangka

menengah dan jangka pendek (3 dan 1 tahun) berikut penyusunan

anggaran tahunan.

c. Mengembangkan sistem dan policy pengelolaan HRD.

d. Mengembangkan sistem dan policy pengelolaan General Affairs.

e. Mengembangkan sistem Succession Planning untuk

mempersiapkan kader yang kompeten.

f. Mengembangkan dan mengimplementasikan Human Resource

Programs yang ditujukan untuk menjaga dan memelihara tingkat

kepuasan karyawan.

g. Mendayagunakan sumber daya manusia secara optimal untuk

meningkatkan produktivitas.

Page 10: Thesis Bab2 Kalbe

14

h. Mengembangkan dan mengelola HRIS (Human Resources

Information System) untuk seluruh proses bisnis HRD.

i. Mengkoordinir seluruh kegiatan di Divisi Human Resources dan

General Affairs untuk mencapai visi dan target perusahaan.

j. Mengelola hubungan, terutama dengan bagian internal organisasi,

Institusi pemerintah, dan perwakilan karyawan.

10. Quality Assurance Manager

Secara umum, bertanggung jawab untuk memastikan produk yang

dihasilkan sesuai standar yang telah ditetapkan melalui penerapan Quality

System (HACCP, GMP, ISO) yang baik dan benar selama proses produksi

dan membangun team Quality Assurance yang solid dan memiliki

kompetensi tinggi dalam aktivitas pengawasan mutu susu formula dan

membangun team QA yang solid dan memiliki kompetensi tinggi dalam

aktivitas pengawasan mutu susu formula.

Memiliki uraian tanggung jawab sebagai berikut :

a. Membuat perencanaan program kerja departement QA jangka

menengah (3 tahun) dan jangka pendek (1 tahun).

b. Mengelola seluruh kegiatan di Quality Assurance dengan :

i. Memastikan penerapan Quality System dalam segala

aktivitas plant.

ii. Memonitor sistem kerja Plant, mulai dari penerimaan Raw

Material/Packaging Material sampai penyimpanan

Finished Goods, agar sesuai dengan standar yang

ditetapkan.

Page 11: Thesis Bab2 Kalbe

15

iii. Mengelola proses internal audit sistem mutu di Plant.

iv. Menangani keluhan pelanggan berkaitan dengan kualitas

produk.

v. Mengelola hubungan dengan suppliers.

vi. Mengevaluasi hasil analisa dan menentukan status produk.

vii. Mengelola sumberdaya manusia di Departemen QA

termasuk perencanaan tenaga kerja, rekrutmen, pengelolaan

kinerja, pelatihan dan pengembangan SDM dalam rangka

membangun team yang solid dan memiliki kompetensi

tinggi.

viii. Me-monitor, me-review dan mempertanggungjawabkan

kinerja departemen QA.

11. Warehouse Manager

Memiliki uraian tanggung jawab sebagai berikut :

a. Memastikan gudang memiliki stok yang akurat.

b. Memastikan pengambilan barang mudah dan cepat.

c. Memastikan pengiriman tepat waktu, jenis, dan jumlah.

d. Me-monitor, me-review dan mempertanggungjawabkan kinerja

departemen Warehouse.

12. Production Manager

Secara umum, bertanggung jawab untuk mengelola seluruh sumber daya

produksi (manusia, mesin, waktu, informasi, material, uang dan sumber

daya lainnya). Agar departemen produksi dapat melaksanakan fungsinya

untuk memproduksi produk secara efektif dan efisien berlandaskan

Page 12: Thesis Bab2 Kalbe

16

QCS(Quality, Cost, dan Speed) serta membangun team produksi yang

solid dan memiliki kompetensi tinggi dalam bidang pengolahan susu

formula.

Memiliki uraian tanggung jawab sebagai berikut :

a. Membuat perencanaan produksi jangka menengah (3 tahun), dan

jangka pendek (1 tahun) berdasarkan objective perusahan.

b. Mengkoordinir seluruh kegiatan untuk menunjang pelaksanakan

proses produksi secara efektif dan efisien dengan :

i. Mengelola penggunaan sumber daya manusia.

ii. Mengelola penggunaan RM, PM.

iii. Mengelola pemeliharaan sarana Produksi dengan baik.

iv. Menjamin penerapan Quality System ( GMP, HACCP, ISO)

secara konsisten.

v. Meningkatkan Produktivitas dan menurunkan loss.

c. Mengelola sumberdaya manusia di departemen produksi termasuk

perencanaan tenaga kerja, rekrutmen, pengelolaan kinerja,

pelatihan dan pengembangan SDM dalam rangka membangun

team yang solid dan memiliki kompetensi tinggi.

d. Bekerjasama dengan depertemen terkait (QA, WH, ENG, HRD),

untuk menjamin proses produksi berlansung lancar, sesuai standar,

efektif dan efisien.

13. Engineering Manager

Secara umum, bertanggung jawab untuk mengelola seluruh sumberdaya

departemen Engineering, agar departemen Engineering dapat

Page 13: Thesis Bab2 Kalbe

17

melaksanakan fungsinya untuk merawat mesin produksi, bangunan,

fasilitas utility, dan penanganan limbah dengan baik, berlandaskan konsep

QCS(Quality, Cost, dan Speed) serta membangun team Engineering yang

solid dan memiliki kompetensi tinggi dalam bidang penanganan mesin-

mesin pengolahan susu formula.

Memiliki uraian tanggung jawab sebagai terikut :

a. Membuat perencanaan jangka menengah (3 tahun) dan jangka

pendek (1 tahun) berdasarkan berdasarkan objective Perusahaan.

b. Mengelola sumberdaya manusia di departemen enginering

termasuk perencanaan tenagakerja, rekrutmen, pengelolaan kinerja,

pelatihan dan pengembangan SDM dalam rangka membangun

team enginering yang solid dan memiliki kompetensi tinggi dalam

penanganan mesin mesin pengolahan susu formula.

c. Mengelola persediaan spare part agar proses maintenance

berlangsung efektif dan efisien.

d. Memastikan aktivitas perawatan dan perbaikan mesin produksi,

sarana utility, bangunan dan sarana lainya terlaksana dengan baik

sesuai rencana.

e. Berkoordinasi dengan departemen terkait, untuk menjaga

kelancaran proses produksi.

f. Me-monitor, me-review dan mempertanggungjawabkan kinerja

departemen Enginering.

Page 14: Thesis Bab2 Kalbe

18

14. IT Supervisor

Secara umum, bertanggung jawab terhadap pengelolaan operasional

sumber daya teknologi informasi dalam perusahaan. Memiliki uraian

tanggung jawab sebagai berikut :

a. Mengembangkan ketentuan dan prosedur teknologi informasi

untuk mendukung tujuan dari bisnis perusahaan.

b. Mengevaluasi kebutuhan bisnis perusahaan yang berhubungan

dengan pengaturan informasi, sistem, peralatan, dukungan dan

pelatihan yang ditujukan untuk bahan pertanggung jawaban dalam

memutuskan dan melaksanakan serta mengatur segala aspek dari

kondisi teknologi informasi guna mendukung kebutuhan didalam

perusahaan.

c. Bertanggung jawab dalam mengatur dan memberi dorongan

kepada staf dan mengembangkan level kemampuan teknologi

informasi yang berguna untuk pelaksanaan bisnis perusahaan.

d. Mengatur kegiatan IT termasuk pengaturan keuanganyang sesuai

dengan peraturan yang berlaku.

e. Memberi masukan dalam hal perubahan sistem yang ditujukan

pada kebutuhan perusahaan dan meningkatkan keefektifitasan

operasional.

f. Me-monitor, me-review dan mempertanggungjawabkan kinerja

departemen IT.

Page 15: Thesis Bab2 Kalbe

19

15. HR Finance and Accounting Supervisor

Secara umum, Finance dan Accounting Supervisor memiliki tanggung

jawab memaksimalkan penggunaan keuangan perusahaan dan menjaga

asset perusahaan terhadap resiko-resiko keuangan.

Memiliki uraian tanggung jawab sebagai berikut :

a. Membuat perencanaan strategi jangka pendek (1 tahun)

departemenFinance & Accounting selaras dengan sasaran jangka

panjang DepartemenFinance & Accounting beserta anggaran.

b. Mengarahkan bawahan dalam menyusun rencana jangka pendek (1

tahun).

c. Mengatur cash flow perusahaan untuk mendukung kegiatan

operasional, antara lain :

i. Memastikan sesuai dengan target yang ditetapkan

manajemen.

ii. Memaksimalkan penggunaan kelebihan uang kas bekerja

sama dengan treasury Corporate.

iii. Me-review proses pinjaman bank dan cadangan valas.

d. Mengelola sumber daya manusia termasuk perencanaan tenaga

kerja, pengelolaan kinerja, pelatihan dan pengembangan SDM di

Finance & Accounting Department.

e. Mengelola hubungan dengan Bank, Institusi Keuangan.

f. Memastikan compliance proses pembayaran, penerimaan sesuai

dengan aturan yang berlaku dan memastikan tersedianya budget.

Page 16: Thesis Bab2 Kalbe

20

g. Me-monitor dan me-review kondisi keuangan cabang secara

periodik serta merekonsiliasi laporan keuangan cabang dan catatan

kantor pusat.

2.2 Software Testing

Software testing adalah proses mengevaluasi suatu sistem atau komponen

dengan tujuan untuk menemukan bahwa apakah software memenuhi persyaratan

yang ditentukan atau tidak. Hasil kegiatan ini sebenarnya, diharapkan dan

perbedaan antara hasil mereka. Dengan kata sederhana pengujian mengeksekusi

sistem untuk mengidentifikasi kesenjangan, kesalahan atau persyaratan yang

hilang bertentangan dengan keinginan yang sebenarnya atau persyaratan.

Menurut standar ANSI / IEEE 1059, Pengujian dapat didefinisikan sebagai

suatu proses menganalisis item perangkat lunak untuk mendeteksi perbedaan

antara kondisi yang ada dan yang dibutuhkan (yang cacat / kesalahan / bug) dan

untuk mengevaluasi fitur item perangkat lunak (Perry, E. W., 2006).

2.2.1 Jenis Software Testing

Ada dua jenis cara dalam melakukan pengujian software (Perry, E. W.,

2006), yakni :

1. Manual Testing

Pengujian ini dilakukan secara manual yakni tanpa menggunakan alat

otomatis atau tulisan apapun. Pada tipe ini tester mengambil alih peran

pengguna akhir dan menguji software untuk mengidentifikasi respon yang

Page 17: Thesis Bab2 Kalbe

21

tidak diharapkan atau bug. Ada tahapan yang berbeda untuk pengujian

manual seperti unit testing, pengujian Integrasi, pengujian sistem dan

pengguna.

Penguji menggunakan tes rencana, uji kasus atau skenario tes untuk

menguji software untuk memastikan kelengkapan pengujian. Pengujian

manual juga mencakup pengujian eksplorasi sebagai penguji

mengeksplorasi perangkat lunak untuk mengidentifikasi kesalahan di

dalamnya.

2. Automation Testing

Automation test adalah ketika tester menulis skrip dan menggunakan

perangkat lunak lain untuk menguji software. Pengujian Otomasi

digunakan untuk kembali menjalankan skenario pengujian yang dilakukan

secara manual, cepat dan berulang.

Terlepas dari pengujian regresi, pengujian Otomasi juga digunakan untuk

menguji aplikasi dari beban (load testing), kinerja (performance testing)

dan stress testing. Hal ini meningkatkan cakupan tes, meningkatkan

akurasi, menghemat waktu dan uang dibandingkan dengan pengujian

manual.

Page 18: Thesis Bab2 Kalbe

22

2.2.2 Metode Testing

Ada beberapa metode untuk melakukan web testing (Perry, E. W., 2006),

di antaranya adalah :

1. Black Box Testing

Teknik testing yang dijalankan tanpa dibutuhkannya pengetahuan tentang

cara kerja interior (kode) dari aplikasi. Tester menyadari arsitektur sistem

namun tidak memiliki akses ke kode sumber. Biasanya, ketika melakukan

black box testing, tester akan berinteraksi dengan user interface sistem

dengan memberikan masukan dan memeriksa output tanpa mengetahui

bagaimana dan di mana input bekerja.

Table 2.1 Keunggulan dan Kerugian Metode Black Box Testing

Keunggulan Kerugian

Tepat dan efisien untuk segmen software yang

cakupannya luas.

Terbatasnya area cakupan pengujian karena yang

diuji hanya sebatas skenario yang telah

ditentukan.

Tidak membutuhkan akses ke dalam kode. Pengujian bisa menjadi tidak efisien apabila

penguji tidak memahami alur kerja software.

Memisahkan perspektif pengguna/tester

dengan perspektif pengembang

Skenario pengujian sulit untuk dirancang.

Tester/penguji tidak perlu memahami bahasa

pemrograman/sistem operasi.

Page 19: Thesis Bab2 Kalbe

23

2. White Box Testing

White box testing adalah penyelidikan rinci logika internal dan struktur

kode. White box testing juga disebut glass testing atau open box testing.

Dalam rangka untuk melakukan white box testing pada aplikasi, tester

perlu memiliki pengetahuan tentang alur kerja internal kode. Tester perlu

melihat dalam sumber dan mengetahui unit / serangkaian kode yang

terdapat pada software.

Table 2.2 Keunggulan dan Kerugian Metode White Box Testing

Keunggulan Kerugian

Sebagai tester yang memiliki pengetahuan

tentang sumber kode, akan menjadi sangat

mudah untuk mengetahui jenis data. Hal ini

dapat membantu dalam pengujian aplikasi

secara efektif.

Dibutuhkan biaya besar untuk melakukan

pengujian.

Tester berfungsi sebagai penguji ataupun

pengoptimasi kode.

Kadang-kadang sulit untuk melihat ke setiap

sudut untuk mengetahui kesalahan tersembunyi

yang dapat menimbulkan masalah karena

banyaknya proses yang harus diuji.

Dapat secara langsung memperbaiki kode dari

aplikasi tersebut.

Sulit untuk mempertahankan white box testing

menggunakan alat bantu seperti analisis kode dan

alat debugging yang diperlukan.

Karena pengetahuan tester mengenai kode,

jangkauan maksimum dicapai selama

pengujian berdasarkan skenario.

Page 20: Thesis Bab2 Kalbe

24

3. Grey Box Testing

Grey box testing adalah teknik untuk menguji aplikasi dengan

pengkombinasian antara white box testing dan black box testing. Dalam

pengujian software. Menguasai sistem selalu memberikan tester

keunggulan atas seseorang dengan pengetahuan sistem yang terbatas, baik

dari sisi kode maupun alur kerja software. Tidak seperti black box testing,

di mana tester hanya menguji aplikasi user interface, dalam grey box

testing, tester memiliki akses ke dokumen desain dan database. Dengan

memiliki pengetahuan ini, tester dapat lebih mempersiapkan data uji dan

skenario pengujian ketika membuat rencana uji.

Table 2.3 Keunggulan dan Kerugian Metode Grey Box Testing

Keunggulan Kerugian

Memiliki keunggulan dari white box testing

dan black box testing.

Karena akses ke dalam kode dan database

terbatas, maka cakupan tes terbatas.

Grey box tester tidak hanya bergantung pada

kode sumber, namun dapat juga bergantung

pada interface aplikasi dan spesifikasi

fungsional.

Tes dapat berlebihan jika desainer perangkat

lunak telah menjalankan uji kasus.

Skenario tes yang sangat baik terutama di

sekitar protokol komunikasi dan penanganan

tipe data.

Pengujian setiap aliran masukan yang mungkin

tidak realistis akan mamakan banyak waktu.

Tes ini dilakukan dari sudut pandang

pengguna dan bukan desainer.

Page 21: Thesis Bab2 Kalbe

25

2.3 Level of Testing

Dalam software testing, ada beberapa tingkat yang berbeda selama

pengujian (Perry, E. W., 2006), di mana masing-masing tingkat pengujian

meliputi beberapa metodologi testing yang berbeda. Berikut ini adalah beberapa

tingkat software testing :

1. Pengujian fungsional

2. Pengujian non-fungsional

2.3.1 Pengujian Fungsional

Pengujian fungsional adalah pengujian yang menggunakan metode black

box testing yang didasarkan pada pengujian kode software berdasarkan spesifikasi

software yang akan diuji. Apalikasi akan diuji dengan memberikan masukkan dan

kemudian hasilnya diperiksa. Pengujian fungsional dari software ini dilakukan

secara lengkap, berdasarkan kebutuhan sesuai dengan standar yang telah

ditetapkan oleh perusahaan.

Ada lima langkah dalam melakukan pengujian aplikasi secara fungsional :

1. Menentukan bagian mana saja yang ingin diuji sesuai dengan kebutuhan.

2. Menentukan data yang akan dijadikan masukkan (input) ketika pengujian

berlangsung.

3. Menentukan keluaran (output) berdasarkan masukkan yang telah

ditentukan.

4. Penulisan skenario pengujian dan pelaksanaan pengujian kasus.

Page 22: Thesis Bab2 Kalbe

26

5. Perbadingan hasil aktual dan yang diharapkan didasarkan pada hasil

pengujian yang telah dieksekusi.

Sebuah praktek pengujian akan efektif jika mengikuti langkah di atas

sebagai standar pengujian pada semua organisasi. Langkah di atas memberikan

standar yang ketat untuk pengujian sebuah perangkat lunak dalam sebuah

organisasi.

Di dalam fungsional testing dikenali beberapa jenis urutan ujian yang

diterapkan sebagai standar pengujian, antara lain :

1. Unit Testing

Jenis pengujian yang dilakukan oleh pengembang sebelum aplikasi

diserahkan kepada tim penguji aplikasi secara resmi untuk melakukan uji

kasus. Unit testing dilakukan oleh masing-masing pengembang aplikasi

pada setiap bagian kode yang areanya telah ditentukan. Para pengembang

menggunakan data uji yang terpisah dari data uji yang akan digunakan

oleh tim penguji kualitas.

Tujuan dari unit testing adalah mengisolasi setiap bagian dari program dan

menunjukkan bahwa masing-masing dari bagian program itu tidak

memiliki kesalahan baik dalam hal fungsionalitas maupun berdasarkan

standar yang telah ditentukan oleh perusahaan.

Keterbatasan dalam unit testing adalah tidak dapat menangkap semua bug

dari aplikasi. Hal ini tidak dimungkinkan karena tidak mungkin

mengevaluasi setiap jalur eksekusi di dalam sebuah software. Keterbatasan

jumlah skenario dan data uji bahwa pengembang dapat digunakan untuk

Page 23: Thesis Bab2 Kalbe

27

memverifikasi sumber kode. Jadi setelah pengembang kehabisan opsi,

maka biasanya pengujian terhenti karena dianggap telah berhasil.

2. Integration Testing

Pengujian pengintegrasian sistem secara bersama-sama, baik dari hasil

kode yang telah dibuat oleh developer maupun dari pihak organisasi.

Pengujian ini ditujukan untuk mengetahui apakah hasil yang telah jadi

sesuai dengan kesepakatan sebelumnya. Ada dua metode dalam

melakukan integration testing, yakni bottom-up integration test dan top

down integration test.

Bottom-up integration test dimulai dari unit testing (testing internal dari

tim developer), diikuti dengan test yang yang lebih jauh baik dalam hal

pemanggilan modul/fungsionalitas secara lebih menyeluruh. Top down

integration test dimulai dari pemanggilan modul/fungsionalitas yang lebih

tinggi dan secara perlahan menuju ke modul/fungsionalitas yang lebih

rendah.

Dalam lingkungan pengembangan software yang baik, bottom-up testing

biasanya tidak dilakukan bergantian dengan top-down testing. Proses

meliputi berbagai macam test dari dari aplikasi secara menyeluruh

berdasarkan skenario yang telah didesain guna mencegah kesalahan yang

akan terjadi baik dari pihak pengguna, sistem itu sendiri maupun kesalahan

teknis lainnya.

3. System Testing

System testing adalah tingkat berikutnya dalam pengujian dan tes sistem

secara menyeluruh. Setelah semua komponen terintegrasi, aplikasi secara

Page 24: Thesis Bab2 Kalbe

28

keseluruhan diuji secara ketat untuk melihat bahwa aplikasi telah

memenuhi standar mutu. Jenis pengujian dilakukan oleh tim khusus.

Pengujian sistem ini sangat penting karena langkah ini adalah langkah

pertama dalam Software Development Life Cycle, di mana aplikasi ini diuji

secara keseluruhan. Aplikasi diuji secara menyeluruh untuk melakukan

verifikasi bahwa aplikasi telah memenuhi spesifikasi fungsionalitas dan

teknis. Aplikasi harus diuji di dalam lingkungan yang sangat dekat dengan

lingkungan produksi di mana aplikasi akan diterapkan. Pengujian sistem

memungkinkan kita untuk menguji, memverifikasi dan memvalidasi baik

untuk kebutuhan bisnis maupun kepentingan arsitektur dari aplikasi itu

sendiri.

4. Regression Testing

Regression testing dilakukan apabila ada beberapa bagian dari software

aplikasi mengalami perubahan, dan di mana perubahan itu akan

mempengaruhi beberapa area lain dari aplikasi itu sendiri. Untuk

memverifikasi bahwa bug tetap tidak menghasilkan fungsi yang salah pada

beberapa bagian dari software maupun keseluruhan. Tujuan dari pengujian

regresi adalah memastikan bahwa perubahan seperti perbaikan bug tidak

menimbulkan masalah atau kesalahan lain yang ditemukan di dalam

aplikasi.

Pengujian regresi sangat penting karena meminimalkan kesenjangan dan

kesalahan aplikasi terhadap perubahan yang telah dilakukan. Pengujian

baru yang dilakukan untuk memverifikasi bahwa perubahan tidak

mempengaruhi area lain dalam aplikasi. Hal ini mengurangi resiko

Page 25: Thesis Bab2 Kalbe

29

terjadinya kesalahan karena tes dapat dilakukan ketika perubahan terjadi

tanpa memanjangkan jadwal pengembangan selanjutnya. Oleh karena itu

pengujian regresi sangat penting untuk meningkatkan kecepatan dalam

memverifikasi aplikasi sehingga aplikasi dapat dengan cepat digunakan

ataupun dipasarkan.

5. Acceptance Testing

Acceptance testing dapat dikatakan sebagai jenis tes yang paling penting

dalam pengujian fungsionalitas. Pengujian ini dilakukan oleh tim penjamin

mutu, dan tes ini dilakukan untuk mengukur sampai sejauh mana aplikasi

telah memenuhi spesifikasi aplikasi yang diingikan dan diharapkan

sebagaimana keinginan pengguna. Tim penjamin mutu akan memiliki satu

set pra skenario tertulis dan uji kasus yang akan digunakan untuk menguji

aplikasi.

Banyaknya ide yang tercantum dalam pengujian dapat meningkatkan

keakuratan aplikasi agar dapat diterima oleh pengguna. Tes ini tidak hanya

ditujukan untuk menunjukkan kesalahan-kesalahan sederhana seperti

ejaan, kesalahan tampilan atau kesenjangan interface, namun juga

ditujukan untuk menunjukkan bug dalam apikasi yang akan menghasilkan

kesalahan yang lebih besar berdasarkan kesalahan-kesalahan yang

ditemukan di dalam aplikasi.

Dengan melakukan acceptance test pada aplikasi yang diuji, tim dapat

menyimpulkan sampai sejauh mana aplikasi dapat digunakan atau diterima

oleh pengguna terutama pengguna yang dekat dengan area produksi atau

pengguna software secara langsung.

Page 26: Thesis Bab2 Kalbe

30

Acceptance testing dibagi menjadi dua tahap, yakni :

a. Alpha Testing

Alpha testing adalah tahap pertama dari acceptance testing dan

dilakukan hanya di dalam area tim pengembang aplikasi. Unit

testing, integration testing dan system testing digabungkan untuk

melakukan aplha testing. Selama fase ini ada beberapa hal yang

biasanya diuji, hal-hal seperti kesalahan ejaan, pengecekan broken

link, waktu yang dibutuhkan untuk membuka aplikasi dengan

menggunakan mesin yang memiliki spesifikasi terendah untuk

menjalankan aplikasi, serta masalah latency ketika aplikasi

dijalankan.

b. Beta Testing

Beta testing dilakukan setelah alpha testing dilakukan. Dalam beta

testing pengujian sampel dari audiens atau pengguna dibutuhkan

sebagai tester utama dari aplikasi. Beta testing dikenal juga dengan

istilah pre-release testing. Versi beta dari software idealnya

didistribusikan kepada banyak orang, sebagai bentuk tes program

dalam dunia nyata dan hasil preview dari tes ini akan digunakan

sebagai acuan dasar untuk melakukan perilisan aplikasi. Dalam

fase ini pengguna akan menggunakan dan menjalankan aplikasi

guna menyediakan feedback kepada tim developer aplikasi.

Setiap kesalahan kecil, baik dalam hal-hal yang menyulitkan

pengguna baik dari sisi kesalahan penulisan kata di dalam aplikasi

atau bahkan crash wajib dilaporkan pengguna agar perbaikan dapat

Page 27: Thesis Bab2 Kalbe

31

dilakukan. Hasil feedback dari pengguna harus diteliti dan

diperbaiki oleh tim developer agar memastikan masalah yang sama

tidak muncul kembali dalam versi berikutnya. Semakin banyak

masalah yang muncul dan semakin banyak perbaikan yang

dilakukan, maka tingkat kualitas aplikasi semakin tinggi. Hal ini

dikarenakan semakin sedikit masalah yang muncul, berarti semakin

tinggi tingkat aplikasi dapat diterima oleh pengguna. Tingginya

kualitas dari sebuah aplikasi ditentukan oleh tingkat kepuasan

pengguna.

2.3.2 Pengujian Non-Fungsional

Pengujian non-fungsional dilakukan berdasarkan pengujian aplikasi tanpa

didasarkan oleh fungsionalitas dari aplikasi itu sendiri. Pengujian ini melibatkan

pengujian tingkat kinerja software, keamanan, user interface dan lain sebagainya.

Berikut ini adalah beberapa jenis pengujian non-fungsional yang biasanya

digunakan oleh dunia luas, antara lain :

1. Performance Testing

Performance testing banyak digunakan untuk menunjukkan dan

memverifikasi permasalahan-permasalahan kinerja ataupun masalah-

masalah yang lumrah terjadi seperti bottleneck. Performance testing tidak

ditujukan untuk menunjukkan kesalahan-kesalahan aplikasi dari sisi kode

(bugs) dalam software. Ada beberapa hal yang kerap menjadi

permasalahan dalam penurunan performa software aplikasi, hal-hal seperti

Page 28: Thesis Bab2 Kalbe

32

network delay, client side processing, database transaction processing,

load balancing between servers maupun data rendering.

Performance testing biasanya dilakukan sebagai salah satu bagian

terpenting dan mandatori dalam pengujian aplikasi non-fungsionalitas.

Aspek-aspek seperti kecepatan (baik dari sisi waktu respon aplikasi, data

rendering dan pengaksesan), kapasitas, stabilitas dan skalabilitas.

Performance test dapat berupa kegiatan pengujian kualitatif ataupun

kuantitatif dan dapat dibagi menjadi sub jenis pengujian seperti Load dan

Stress testing.

Load testing adalah sebuah proses testing yang menguji perilaku software

dengan menerapkan beban maksimum dalam hal pengaksesan aplikasi dan

mainpulasi data input dalam jumlah yang besar. Hal ini dapat dilakukan

pada kondisi beban normal dan puncak. Jenis pengujian

mengidentifikasikan kapasitas maksimum software dan perilakunya saat

puncak. Biasanya load testing menggunakan tools untuk melakukan

pengujian secara otomatis. Pengguna virtual (VUsers) dari automation

tools tersebut didefinisikan dalam alat pengujian otomatis dan script yang

dijalankan untuk memverifikasi pengujian beban pada software. Jumlah

pengguna dapat dimanipulasi sesuai dengan kebutuhan, baik meningkat

maupun menurun.

Sedangkan stress teseting adalah sebuah proses pengujian perilaku

software dalam kondisi abnormal. Tes ini menggunakan sumber daya yang

melebihi batas normal dari beban software, oleh karena itu tes ini disebut

sebagai stress testing. Tujuan utama adalah untuk menguji software

Page 29: Thesis Bab2 Kalbe

33

dengan menerapkan beban ke sistem dan mengambil sumber daya yang

biasanya digunakan software untuk mengidentifikasikan titik putus (shut

down). Test ini dapat dilakukan dengan cara mengacak port jaringan dan

melakukan tindakan seperti restart atau shut down port jaringan tersebut,

mematikan atau menghidupkan database dengan waktu acak maupun

menjalankan proses yang berbeda guna mengurangi sumber daya

komputer seperti CPU, memori ataupun hal lainnya dari server aplikasi.

2. Usability Testing

Usability testing meliputi konsep dan definisi yang berbeda dari pengujian

kegunaan dari sudut pandang software. Metode black box testing

digunakan bukan untuk menangkap kesalahan dari software (bugs), namun

kesalahan dari pengguna software tersebut ketika menggunakan dan

menemukan kesalahan dalam software. Usability testing dapat

didefinisikan ke dalam lima faktor yakni efisiensi, learning (mudah

dipelajari), satisfaction (memuaskan), software mudah untuk diingat serta

mudah untuk digunakan. Software dapat berguna dan berjalan dengan baik

apabila pengguna memiliki semua faktor di atas.

Usability testing adalah persyaratan dari sebuah software agar dapat

diterima dengan baik oleh pengguna, karena berkaitan dengan interaksi

antara sistem dengan manusia. Apabila pengguna akhir puas dengan

aplikasi yang telah jadi, maka software dapat secara efektif digunakan oleh

pengguna. Hal ini ditetapkan dengan beberapa standar dan kualitas model

dan metode yang menentukan kegunaan dalam bentuk atribut maupun sub

Page 30: Thesis Bab2 Kalbe

34

atribut, seperti diterangkan di dalam ISO-9126, ISO-9241-11, ISO-13407

dan IEEE std.610.12 dan lain-lain.

Pengujian Graphical User Interface (GUI) software memastikan bahwa

software sesuai dan tepat dalam hal pemilihan warna, keselarasan, ukuran

maupun sifat-sifat lainnya yang berhubungan dengan tampilan software

agar dapat diterima dengan baik oleh pengguna. Pengujian usability sisi

lain memastikan user interface bersifat user friendly dan dirancang agar

mudah digunakan, mudah diingat, efisien, tidak menimbulkan

kebingungan bagi pengguna akhir (end user). Pengujian user interface

merupakan sub bagian dari pengujian usability.

3. Security Testing

Security testing meliputi testing keamanan software dari sisi keamanan

untuk mengidentifikasikan setiap celah yang terdapat dalam software. Hal

ini penting karena setiap celah ataupun titik kerentanan software terhadap

serangan siber dari luar maupun dari dalam. Setiap sudut software harus

diperhatikan agar tidak menimbulkan permasalahan-permasalahan sosial

seperti hilangnya data pribadi, pembajakan identitas pengguna, maupun

pengoprekan software oleh pihak lain untuk dijadikan milik pribadi.

Berikut ini adalah aspek-aspek utama yang perlu diperhatikan dalam

pengujian keamanan, antara lain :

a. Confidentiality

b. Integritas

c. Otentikasi

d. Availability

Page 31: Thesis Bab2 Kalbe

35

e. Ototisasi

f. Non-repudiation

g. Keamanan data

h. Validasi input

i. Pertahanan terhadap SQL injection

j. Software sesuai dengan semua standar kebijakan yang ada

k. Session management

l. Penyerangan software dari cross site scripting

m. Kerentanan buffer overflow

n. Directory transversal attacks

4. Portability Testing

Portability testing meliputi pengujian software yang dilakukan dengan

tujuan mengecek apakah software dapat digunakan secara berulang (re-

useable) dan dapat dipindahkan ke dalam bentuk operating system maupun

software lain. Berikut ini adalah beberapa cara untuk melakukan

portability testing, antara lain ;

a. Percobaan melakukan instalasi software dari satu komputer ke

komputer lainnya.

b. Melakukan instalasi software dari satu platform ke dalam suatu

platform yang berbeda (baik operating system, browser, dan lain

sebagainya).

Pengujian portabilitas dianggap sebagai salah satu pengujian yang cukup

penting dari pengujian sebuah sistem, karena hal jenis pengujian ini dapat

dijadikan titik ukur sampai sejauh mana software dapat menerima

Page 32: Thesis Bab2 Kalbe

36

lingkungan yang berbeda (interopability). Perbedaan komputer, operating

system serta browser menjadi fokus utama dari pengujian ini. Portability

testing dapat dilakukan apabila software telah menetapkan aturan dasar

bahwa software dapat ditempatkan di lingkungan yang berbeda. Pengujian

ini dapat dilakukan setelah tahap-tahap pengujian lain seperti unit testing,

integration testing telah dilakukan terhadap software yang terkait dan

batasan lingkungan untuk melakukan testing telah dilakukan.

2.4 Throughput

Througput pada dasarnya memiliki definisi yang berbeda dengan

bandwith. Bandwith adalah jumlah besaran data yang mengalir melewati jaringan

dalam ukuran bits per second, sedangkan throughput adalah besaran rerata dari

paket yang berhasil dikirim lewat jaringan. Data yang dimaksudkan di sini dapat

berupa link fisik atau logikal, atau dikirimkan melewati sebuah node network

tertentu.

Pada jaringan, throuput dibatasi oleh faktor-faktor seperti protokol

jaringan yang digunakan, kemampuan router dan switch, maupun jenis kabel

seperti ethernet dan serat optik. Throughput pada jaringan wireless dipengaruhi

juga oleh adapter jaringan yang terdapat pada sistem klien. Berikut ini adalah

perumusan dasar dari perhitungan throughput :

Page 33: Thesis Bab2 Kalbe

37

Throughput = / RTT

Keterangan :

Total window size = besaran TCP window size pada operating system

RTT = Round Trip Time adalah waktu yang dibutuhkan untuk

mengirimkan paket data.

2.5 Web Application Performance Tools (WAPT).

Web application performance tools (WAPT) digunakan untuk menguji

aplikasi web serta interface dari web itu sendiri. Tools ini digunakan untuk load

dan stress testing pada aplikasi web, situs web, web server dan interface. WAPT

cenderung mensimulasikan pengguna virtual yang akan mengulangi baik direkam

URL atau URL tertentu dan memungkinkan pengguna untuk menentukan berapa

kali atau iterasi yang pengguna virtual akan harus mengulang rekaman URL.

Dengan demikian, alat ini berguna untuk memeriksa hambatan dan kebocoran

kinerja di website atau web aplikasi sedang diuji. WAPT memiliki spesifikasi

sebagai berikut (Kundu, S., 2012):

a. Menangani konten dinamis dan HTTPS / SSL.

b. Mudah digunakan.

c. Dukungan untuk pengalihan dan segala jenis proxy.

d. Jelas laporan dan grafik.