BAB II LANDASAN TEORI 2.1
Konsep Dasar Distributor Distributor adalah bentuk organisasi
usaha yang titik focus aktivitasnya adalah
penjualan.banyak pabrik gagal karena hanya memproduksi saja,tetapi tidak siap dalam memasarkan produk yang dihasilkan,untuk itu menggunakan jasa distributor atau mendirikan sendiri perusahaan distributor adalah peluang yang sangat besar dalam pengembangan usaha (Frans M.Royan, 2011:01). Distributor tentunya merupakan usaha yang memiliki daya tarik tersendiri distributor sebagai bagian dari saluran distribusinya.mulai dari produk ektronik,FMCG (fast moving consumer good),suku cadang sepeda motor,suku cadang mobil,peralatan industry,dan lain nya pasti membutuhkan saluran yang bernama distributor ini.sayang,tidak banyak praktisi atau pengamat pemasaran yang berkonsentrasi di bidang ini.selain belum adanya literatur yang mendukung perhatian dan pemasaran umum yang hanya mengurusi soal merek,pelayanan,dan penjualan.padahal,apa yang diurusi selama ini ternyata dalam praktiknya sudah masuk dalam ranah distributor dan selalu dipraktikan sehari- hari oleh para distributor (Frans M.Royan, 2011:02). Distributor akan sangat bermanfaat bagi masyarakat luas atas aktivitasnya yang selalu menjadi penyedia barang secara cepat bagi masyarakat memang,distributor tidak langsung bekerja menjadi penyedia ke konsumen langsung,melainkan melainkan menyalurkannya melalui para pengecer yang dibinanya .pengecer yang tersebar di seluruh wilayah penjualan distributor itulah yang membantu para konsumen untuk mendapatkan barang lebih cepat dan harga terjangkau (Frans M.Royan, 2011:03).
1.
Beberapa Bentuk Saluran Distribusi
Ada beberapa bentuk saluran distribusi yang digunakan produsen dalam memasar kan.produkproduknya saluran
tersebut adalah distributor,subdistributor,grosir, dan pengecer (Frans
M.Royan, 2011:04). Di bawah ini akan dibahas mengenai saluran-saluran tersebut: Distributo-distributor Adalah saluran pertama setelah produsen,distributor untuk produk tertentu memiliki nilai bisnis yang besar ,bisa dimulai dari volume penjualan Rp.1 milliar sampai ke atas.
Subdistributor-subdistributor Adalah saluran kedua setelah distributor.subdistributor untuk produk tertentu memiliki nilai yang lebih kecil dari distributor pemberi barang,meskipun pada kasus tertentu subdistributor omzetnya melebihi distributor.volume penjualannya mulai dari yang bernilai Rp.250 juta ke atas. Grosir-Grosir Adalah
saluran
distribusi
yang
kedua
atau
ketiga
setelah
distributor
subdistributor.volume penjualan bisa melebihi volume penjualan distributor,sebab produk yang dijualnya cukup beragam,dan jangkauan penjualannya bisa sampai ke luar pulau.
Pengecer Adalah saluran distribusi yang paling akhir.volume penjualannya bisa bernilai Rp.1 juta sampai Rp.5 juta perhari.pengecer ini bisa dalam bentuk tradisional dan modern,volume penjualannya bisa bernilai miliaran rupiah,sebab pengecer ini di dominasi ritel modernsekelas minimarket,supermarket,dan hypermarket.
Agen Yang dimaksud dengan agen tentunya mirip dengan distrib utor .agen ini lingkupnya lebih kecil.misalnya di satu kota saja.agen yang menjual satu produk itu antara lain adalah agen jamu jago dan agen minyak tanah agen lebih condong penjualan satu produk
Main dealer dan dealer
Istilah ini banyak digunakan dalam industry otomotif.misalnya sepeda motor .Produsen dari jepang akan menunjuk perusahaan assembler di Indonesia.perusahaan assembler ini akan bertindak sebagai produsen. Ia kemudian bermitra dengan perusahaan local dan menunjukannya sebagai main dealer.sementa ra itu main dealer selain membuka ruang pamer miliknya sendiri sebagai dealer,ia juga bekerja sama dengan berbagai dealer lainnya yang disebut dengan subdealer.main dealer kalau di industry FMCG dianggap sebagai distributor tunggal sementara cabang-cabang perwakilannya adalah subdistributor.
Distributor tunggal ini juga bekerja
samadengan para mitra lainnya yaitu distributor local yang disebut dengan subdistributor ,atau subdealer.main dealer dan dealer atau subdealer adalah samasama saluran seperti di industry FMCG.
2.2
KONSEP DASAR SISTEM Suatu sistem sangat dibutuhkan dalam suatu perusahaan atau instansi pemerintahan, karena
sistem sangatlah menunjang terhadap kinerja perusahaan atau instansi pemerintah, baik yang berskala kecil maupun besar.Supaya dapat berjalan dengan baik diperlukan kerjasama diantara unsur-unsur yang terkait dalam sistem tersebut.
2.1.1
Teori Sistem Sistem dapat diartikan sebagai serangkaian komponen – komponen yang saling
berinteraksi dan bekerjasama untuk mencapai tujuan tertentu (Soeherman dan Pinontoan, 2008:3). Sedangkan menurut Sutabri (2012), Suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu. Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel – variabel yang saling terorganisasi, saling interaksi, dan saling bergantung satu sama lain. Dalam istilah sistem terkandung tiga elemen penting, yaitu rangkaian komponen, interaksi serta kerjasama, dan yang terakhir adalah tujuan. Dari beberapa pengertian sistem tersebut maka pengertian sistem ini akan mempunyai peranan yang sangat penting dalam melakukan pendekatan sistem yang akan dianalisa.
2.1.2
Karakteristik Sistem Sebuah sistem mempunyai karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal
tersebut bisa dikatakan sebagai suatu sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut : 1.
Komponen Sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu bentuk sub-sistem. Setiap subsistem memiliki sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Batasan Sistem (Boundary)
2.
Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem yang lain atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisahkan.
3.
Lingkungan Luar Sistem (Environtment) Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut disebut lingkungan luar sistem.Lingkungan luar sistem ini dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut.
4.
Penghubung Sistem (Interface) Media yang menghubungkan sistem dengan subsistem lain disebut penghubung sistem atau interface. Penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lain. Bentuk keluaran dari satu subsistem akan menjadi masukan untuk subsistem lain melalui penghubung tersebut. Dengan demikian, dapat terjadi suatu integrasi sistem yang membentuk satu kesatuan.
5.
Masukan Sistem (Input) Energi yang dimasukkan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (maintenanceinput) dan sinyal (signalinput). Contoh, di dalam suatu unit sistem komputer,
“program” adalah maintenance
input yang digunakan untuk
mengoperasikan komputernya dan “data” adalah signal input untuk diolah menjadi informasi. 6.
Keluaran Sistem (Output)
Hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini bisa merupakan masukan bagi subsistem yang lain seperti sistem informasi. Keluaran yang dihasilkan adalah informasi. 7.
Pengolah Sistem (Proses) Suatu sistem dapat mempunyai suatu proses yang akan megubah masukan manjadi keluaran, contohnya adalah sistem akuntansi. Sistem ini akan mengolah data transaksi menjadi laporan-laporan yang dibutuhkan oleh pihak manajemen.
8.
Sasaran Sistem (Objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic.Kalau suatu sistem tidak memiliki sasaran maka operasi sistem tidak ada gunanya.Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang telah direncanakan.
2.1.3
Klasifikasi Sistem Sitem merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain
karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi yang ada di dalam sistem tersebut. Oleh karena itu, sistem dapat diklasifikasikan dari beberapa sudut pandang, di antaranya :
1.
Sistem abstrak dan sistem fisik Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik. Sedangkan sistem fisik merupakan sistem yang ada secara fisik.
2.
Sistem alamiah dan sistem buatan manusia Sistem alamiah adalah sistem yang terjadi melaui proses alam, tidak dibuat oleh manusia. Sedangkan sistem buatan manusia merupakan sistem yang me libatkan interaksi manusia dengan mesin yang disebut human machine system.
3.
Sistem determinasi dan sistem probabilistik
Sistem yang beroperasi dengan tingkah laku yang dapat diprediksi disebut sistem deterministic. Sedangkan sistem bersifat probabilistik adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilistic. 4.
Sistem terbuka dan sistem tertutup Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh oleh lingkungan luarnya. Sedangkan sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya.
2.3
KONSEP DASAR INFORMASI
2.3.1
Pengertian Informasi Soeherman dan Pinontoan (2008:4) mengemukakan bahwa informasi merupakan hasil
pemrosesan data (fakta) menjadi sesuatu yang bermakna dan bernilai untuk pengambilan keputusan. Informasi juga dapat diartikansebagai data yang telah diklasifikasi atau diinterpretasi untuk digunakan dalam proses pengambilan keputusan. (Sutabri, 2012) Sumber dari sebuah informasi diartikan sebagai data, dimana definisi dari data itu sendiri adalah suatu kenyataan yang menggambarkan suatu kejadian – kejadian dan kesatuan dari sebuah kenyataan. Dalam kehidupan sehari- hari, segala aktivitas pengambilan keputusan kita juga menjadi lebih mudah dengan adanya informasi. Informasi tidak dapat terlepas dari aspek kehidupan manusia. Siapa, kapan dan dimanapun seseorang akan membutuhkan informasi. 2.3.2
Kualitas Informasi Dengan informasi yang berkualitas kita bisa mudah mengambil suatu keputusan. Me nurut
Al-Bahra bin Ladjamudin (Sutabri, 2012) kualitas informasi (quality of information) dipengaruhi oleh beberapa faktor. Faktor- faktor yang dapat mepengaruhi kualitas informasi diantaranya adalah sebagai berikut: 1.
Akurat (accurate) Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya.
2.
Tepat waktu (timeline) Informasi yang datang pada si penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi karena informasi merupakan landasan dalam pengambilan keputusan.
3.
Relevan (relevance) Informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi informasi untuk orang satu dengan yang lain berbeda.
4.
Ekonomis (economy) Informasi yang dihasilkan mempunyai daya jual yang tinggi serta biaya operasinal untuk menghasilkan informasi tersebut minimal, informasi tersebut juga mampu memberikan dampak yang luas terhadap laju pertumbuhan ekonomi dan teknologi informasi.
5.
Efisien (efficiency) Informasi yang berkualitas memiliki sintaks ataupun kalimat yang sederhana (tidak berbelit-belit), namun mampu memberikan makna dan hasil.
6.
Dapat dipercaya (reliability) Informasi tersebut berasal dari sumber yang dapat dipercaya.Sumber tersebut juga telah teruji tingkat kebenarannya. Misalkan output suatu program komputer, bisa dikategorikan sebagai reliability karena program komputer akan memberikan output sesuai dengan input yang diberikan.
2.4
KONSEPDASAR SISTEM INFORMASI
2.4.1
Pengertian Sistem Informasi Dalam pemahaman pengertian dari sistem informasi harus melihat keterkaitan antara data
dan informasi sebagai entitas terpenting dalam pembentuk sistem informasi. Sistem informasi merupakan serangkaian komponen berupa manusia, prosedur, data, dan teknologi (seperti komputer) yang digunakan untuk melakukan sebuah proses untuk menghasilkan informasi yang bernilai untuk pengambilan keputusan (Soeherman dan Pinontoan, 2008:5). Sistem informasi melekat dan merupakan infrastruktur penunjang keberhasilan bagi setiap organisasi dalam mencapai tujuannya. Sebagai contoh, dalam organisasi bisnis, laporan omset penjualan dibuat sebagai bahan evaluasi dan dasar pengambilan keputusan untuk melakukan perbaikan bagi pihak internal. Bagi pihak eksternal, laporan keuangan juga digunakan untuk mengambil keputusan seperti investasi, pemberian kredit dan fasilitas asuransi, atau perhitungan pajak. Sistem informasi bukan lagi menjadi monopoli orang-orang manajemen, akuntansi, dan teknik saja. Saat ini sistem informasi telah berfungsi sebagai aktivitas penunjang yang
compatibleterhadap segala aktivitas dan bidang pekerjaan, karena seperti telah disebutkan sebelumnya bahwa sistem informasi hanya sebagai tool untuk memproses data menjadi informasi untuk meningkatkan kualitas pengambilan keputusan. 2.4.2
Komponen dan Jenis Sistem Informasi Sistem informasi terdiri dari komponen-komponen yang disebut blok. Blok-blok tersebut
saling berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran. Ke-enam blok tersebut antara lain:
1.
Blok masukan (input block) Input mewakili data yang masuk ke dalam sistem informasi. Input yang dimaksud adalah metode dan media untuk menangkap data yang akan dimasukan, yang dapat berupa dokumen-dokumen dasar
. 2.
Blok model (model block) Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data tersimpan di basis data dengan cara tertentu untuk menghasilkan keluaran yang diinginkan.
3.
Blok keluaran (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem.
4.
Blok teknologi (technology block) Teknologi merupakan “tool box” dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirim keluaran dan membantu pengendalian dari sistem secara keseluruhan.
5.
Blok basis data (database block) Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu sama lain, tersimpan di perangkat keras komputer dan menggunakan perangkat lunak untuk memanipulasinya.
6.
Blok kendali (control block)
Banyak hal yang dapat merusak sistem informasi, seperti bencana alam, api, temperature, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, hal yang menyebabkan sistem tidak efisien, sabotase dan lain sebaginya. Beberapa pengendalian perlu dirancang dan diterapkan untuk menyakinkan bahwa hal- hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi maka kesalahan-kesalahan dapat langsung cepat diatasi.
2.5
PEMODELAN SISTEM pemodelan sistem yang dapat dijadikan panduan untuk menghasilkan tujuan yang dicapai
atau yang diharapkan, salah satu metode yang dapat digunakan diantaranya menggunakan metode Waterfall. Metode Waterfall atau model yang sering disebut juga sebagai classic life cycle adalah sebuah metode pemodelan sistem yang membutuhkan pendekatan sistematis dan sequencial dalam pengembangan perangkat lunak atau sistem, yang memiliki tingkatan dimulai dari tingkat sistem dan kemajuan melalui tahapan – tahapan nya, yaitu : System Engineering ( rekayasa dan pemodelan sistem ), Analysis, Design, Coding, Testing, dan Maintenance.
Gambar 2.1 Model Waterfall (Ian Sommerville, 2011)
1. System Engineering Yaitu sebuah tahapan yang sering disebut juga sebagai Project Definition, pada tahap ini digunakan untuk mencari kebutuhan dari keseluruhan sebuah sistem ke dalam bentuk perangkat. 2. Analysis ( Analisa ) Sebuah tahapan untuk mengetahui sifat dari sistem yang aka n dibuat sehingga bagi para engineer dapat mengerti domain informasi dari sistem yang dibutuhkan . 3. Design ( Desain ) Tahap ini digunakan untuk mengubah kebutuhan – kebutuhan diatas menjadi representasi ke dalam bentuk
“blueprint” perangkat lunak sebelum coding.
Design
harus dapat
mengimplementasikan apapun kebutuhan – kebutuhan yang telah diuraikan pada tahap sebelumnya. Pada tahapan sebelumnya harus didokumentasikan sebagai konfigurasi dari sebuah perangkat lunak. 4. Coding Pada tahap ini adalah tahapan untuk mengubah tahapan desain sebelumnya menjadi bentuk yang dimengerti oleh mesin, yaitu bahasa pemrograman melalui proses coding.Tahap ini secara teknis nantinya dikerjakan oleh seorang programmer. 5. Testing atau Implementasi Pada tahap ini adalah tahap dimana semua fungsi – fungsi perangkat lunak yang telah dibuat pada tahaapan sebelumnya dibuat harus diujicobakan, hal ini dilakukan guna mengetahui error – error yang ada dana dapat diatasi dan bebas dari error sehingga hasilnya akan benar – benar sesuai dengan kebutuhan yang telah didefinisikan sebelumnya. 6. Maintenance Pemeliharaan pada perangkat lunak sangat diperlukan terlebih apabila adanya pengembangan dalam suatu organisasi, pergantian sistem operasi ataupun perangkat lainnya pastilah akan muncul masalah atau eror kecil seiring berjalannya digunakan sistem atau perangkat lunak tersebut sehingga perlu dilakukan maintenance atau pemeliharaan rutin.
2.6
KONSEP DASAR BASIS DATA
2.6.1
Pengertian Basis Data Basis data didefinisikan sebagai kumpulan terorganisasi dari data-data yang berhubungan
sedemikian rupa sehingga mudah disimpan, dimanipulasi serta dipanggil o leh pengguna (Nugroho, 2010). Basis data merupakan sekumpulan data yang disusun secara logis dan dikendalikan secara sentral. Basis data memiliki bagian-bagian yang penting, yaitu : 1.
Karakter-karakter Karakter merupakan bagian data yang terkecil, dapat berupa karakter numeric, huruf ataupun karakter-karakter khusus yang membentuk suatu item data.
2.
Field Suatu field menggambarkan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat dan lain sebagianya. Kumpulan dari field membentuk suatu record.
3.
Record Kumpulan dari field membentuk suatu record.Record menggambarkan suatu unit data individu tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan.
4.
File File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file matakuliah berisi data tentang semua mata kulia h yang ada.
5.
Database Kumpulan dari file membentuk suatu database.
2.6.2
Sistem Basis Data Sistem basis data dapat terbagi dalam beberapa komponen penting, yakni:
2.
Data Merupakan informasi yang disimpan dalam suatu struktur tertentu yang terintegrasi.
3.
Hardware
Merupakan perangkat keras berupa komputer dengan media penyimpanan sekunder yang digunakan untuk menyimpan data karena pada umumnya basis data memiliki ukuran yang besar. 4.
Sistem Operasi (Software) Program yang mengaktifkan/memfungsikan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi-operasi dasar dalam komputer yang meliputi operasi input-output (IO), pengelolaan file dan sebagainya.
5.
Basis Data Basis data sebagai inti dari sistem basis data.Basis data menyimpan data serta struktur sistem basis data baik untuk entitas maupun objek-objeknya secara detail.
6.
Database Management System (DBMS) Merupakan perangkat lunak yang digunakan untuk melakukan pengelolaan basis data.
7.
User Merupakan pengguna yang menggunakan data yang tersimpan dan terkelola.
8.
Aplikasi Lain Program yang dibuat untuk memberikan interface kepada user sehingga lebih mudah dan terkontrol dalam mengakses basis data.
2.6.3
Perancangan Basis Data Perancangan basis data merupakan tahap merancang spesifikasi basis data yang akan
diterapkan oleh sistem. Aktifitas perancangan basis data akan mentrasformasikan spesifikasi kebutuhan untuk tempat penyimpanan data yang akan dikembangkan selama analisis basis data ke dalam spesifikasi terstuktur untuk memandu implementasi langsung basis data. Ada tiga tahapan atau bentuk spesifikasi perancangan basis data, yakni : 1.
Perancangan basis data konseptual Merupakan upaya untuk membuat model yang masih bersifat konsep. Perancangan basis data secara konseptual terdiri dari tiga langkah, yaitu: a. Penentuan entitas pada basis data
b. Pendefinisian hubungan antar entitas c. Penerjemahan hubungan ke dalam entita. 2.
Perancangan basis data secara logika
3.
Sasaran perancangan basis data secara logika untuk menterjemahkan perancangan konseptual (mencerminkan kebutuhan data pada organisasi yang kita analisis di tahaptahap sebelumnya) ke perancangan basis data logika yang dapat langung di implementasikan pada sistem basis data yag dipilih.
4.
Perancangan basis data secara fisik Merupakan tahapan untuk menuangkan basis data yang bersifat logis menjadi basis data fisik yang tersimpan pada media penyimpanan eksternal.Sasaran utama perancangan basis data secara fisik adalah meningkatkan efisiensi dalam pemrosesan basis data. Perancangan basis data secara fisik membutuhkan beberapa pilihan kritis yang akan berimbas pada integritas dan kinerja dari aplikasi termasuk diantaranya pemilihan DBMS yang spesifik. Kunci-kunci untuk melakukan pilihan-pilihan mencangkup :
5.
Pemilihan format penyimpanan (dinamakan tipe data) untuk tiap atribut dari model data logika. Format dipilih untuk meminimalisasi dan mengoptimalkan penggunaan ruang fisik dan untuk memaksimalkan integritas data.
6.
Pengelompokan atribut-atribut dari model data logika ke-rekaman fisik.
7.
Perancangan rekaman-rekaman pada memori sekunder (terutama hardisk) sehingga rekaman-rekaman secara individual maupun kelompok
rekaman (kita
namakan
pengorganisasian berkas) dapat disimpan, dipanggil kembali serta diperbaharui dengan cepat. 8.
Memilih struktur (dinamakan indeks dan arsitektur basis data) untuk menyimpan dan menghubungkan berkas-berkas (file) sehingga pemanggilan data berlangsung dengan cara yang efisien.
9.
Menyiapkan strategi-strategi untuk menangani query pada basis data dengan tujuan mengoptimalisasikan kinerja basis data dalam menangani query.
2.6.4
Kamus Data Kamus data biasanya merupakan bagian dari katalog sistem (system catalog) yang
dibentuk untuk setiap basis data. Katalog sistem mendeskripsikan semua objek basis data, termasuk data tentang tabel-tabel seperti nama tabel, pembuat tabel, pengguna yang berhak menggunakanya, nama dan tipe data, kunci tamu (foreign key) dan kunci primer (primary key), berkas indeks dan sebagainya. Katalog sistem diciptakan oleh DBMS dan informasinya disimpan di tabel sistem, yang padanya dapat dilakukan permohonan seperti tabel data biasa, jika pengguna memiliki hak yang memadai (Nugroho, 2010).
Tabel 2.1 Notasi Struktur Data Notasi Struktur Data (Nugroho: 2010) Notasi
Keterangan
=
Terdiri dari
+
Dan ( and )
()
Pilihan ( ya atau tidak )
{}
Pengulangan proses/ Iterasi
[]
Pilih salah satu jawaban
I
Pemisah pilihan didalam [ ]
*
Keterangan atau catatan
@
Petunjuk (key field)
Tabel 2.2 Contoh Struktur Data (www.w3schools.com) No. 1 2 3 4
Nama Arus Data
Struktur Data
Customer
= customer_code + customer_name + address +
Dimension
city + zip
Product Dimension
= product_code + product_name + category + price
Employee
= customer_code + empoyee_name + supervisor +
Dimension
departement + region + territory
Time Dimension
= order_date + year + quarter+ month
5
Fact Table
2.7
= trans_code + total + quantity + freight + discount
PEMROGRAMAN BERORIENTASI OBJEK Dalam pemodelan sistem informasi pada saat ini khususnya dalam pengembangan nya
memiliki banyak logika menentukan masalah – masalah yang terdapat dalam sistem sehingga diperlukan sebuah cara diantaranya dengan menggunakan pola pikir logika diantaranya menggunakan logika pemrograman yang berorientasi objek atau OOP (Object Oriented Programming). OOP atau pemrograman berorientasi objek merupakan salah satu cara pola pikir serta berlogika yang baru dalam menghadapi masalah – masalah pada sistem yang akan diatasi dengan bantuan komputer. Pemrogram berorientasi objek tidak sama dengan cara sebelumnya yaitu pemrograman yang terstruktur, dimana pemrograman berorientasi objek dalam melihat permasalahan di dalam dunia nyata bahwa setiap objek adalah sebuah entitas tunggal yang memiliki kombinasi struktur data dan fungsi yang tertentu, sedangkan pemrogram terstruktur dimana struktur data dan fungsi didefinisikan secara terpisah dan tidak berhubungan secara erat. Secara garis besar, suatu bahasa pemrograman dapat dikatakan sebagai bahasa pemrograman yang berorientasi objek (OOP) yaitu apabila suatu bahasa pemrograman tersebut telah mendukung konsep abstraksi (abstraction), enkapsulasi (encapsulation), polimorfisme (polymorphism), dan pewarisan (inheritance). Berikut karakteristik pemrograman berorientasi objek dalam implementasinya antara lain: 1. Class Merupakan gambaran dari suatu objek, benda atau kumpulan atas definisi data – data dan fungsi – fungsi dalam suatu unit untuk suatu tujuan tertentu.Sebuah class secara tipikasl sebaiknya harus mudah dikenali oleh orang selain programmer sekalipun terkait dengan domain masalah yang dihadapi dan kode yang terdapat dalam sebuah class sebaiknya relative bersifat mandiri dan independen. Salah satu contoh dari sebuah class diantaranya, class kendaraan motor maka penyusun object nya bisa dikatakan mobil, motor, kereta, dll.
2. Object
Merupakan pembungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek, contoh : objek dari kelas pelajaran sekolah yaitu IPA, IPS, Matematika, dll. 3. Inheritance Merupakan bentuk yang lebih spesifik dari Object, misalnya : Mobil, maka inheritance dari objek mobil dapat berupa mobil polisi, mobil balap, mobil pick up, dll. 4. Encapsulation Merupakan cara menyembunyikan suatu proses dari sebuah sistem dalam rangka menyederhanakan pengaplikasian dari sistem tersebut dan menghindari gangguan sistem tersebut atau memastikan pengguna sebuah objek tidak tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak seharusnya.Contoh : Gagang pintu pada pintu rumah, tombol lampu pada motor, dll. 5. Polymorfisme Merupakan karakteristik yang berfungsi sebagai parameter yang digunakan oleh suatu class atau object.Contoh : suatu class sepatu mempunyai objek sepatu olahraga dan sepatu roda, dalam menggunakan sepatunya sama namun dalam penggunaannya sepatu olahraga tinggal menggunakan tanpa perlu mengkhaawatirkan apapun, sedangkan sepatu roda dalam penggunaannya harus menyeimbangkan tubuh dengan baik supaya dapat digunakan.
2.7.1
Analisa dan Perancangan Berorientasi Objek Pemrograman berorientasi objek bekerja dengan baik ketika dibarengi dengan Object-
oriented Analysis and Design Process (OOAD). (Wampler, 2001:2) mengatakan jika kita membuat program berorientasi tanpa OOAD, ibarat membangun rumah tanpa terlebih dahulu menganalisa apa saja yang dibutuhkan oleh rumah itu, tanpa perencanaan, tanpa blueprint, tanpa menganalisis ruangan apa saja yang diperlukan, berapa besar rumah yang akan dibagung dan sebagainya (Widodo dan Herlawati, 2011:2). Analisa dan perancangan berorientasi objek berarti merumuskan dan menyelesaikan masalah serta menghasilkan suatu hipotesa atau diagnosa (solusi), memodelkannya dengan pendekatan objek (Nugroho, 2010). Berikut adalah kegiatan-kegiatan yang dilakukan dalam menganalisa sistem:
1.
Menganalisa sistem yang ada dan mempelajari apa yang dikerjakan oleh sistem yang ada.
2.
Menspesifikasikan sistem yaitu menspesifikasikan masukan yang digunakan database, proses yang dilakukan dan keluaran yang dihasilkan. Pendekatan-pendekatan yang digunakan dalam analisa berorientasi objek adalah sebagai
berikut: 1.
Pendekatan top down yaitu memecahkan masalah ke dalam bagian-bagianterkecil atau per level sehingga mudah untuk diselesaikan.
2.
Pendekatan modul yaitu membagi sistem ke dalam modul- modul yang dapat beroperasi tanpa ketergantungan.
3.
Penggunaan alat-alat bantu dalam bentuk grafik dan teks sehingga mudah untuk mengerti serta dapat dikoreksi apabila terjadi perubahan. Pendekatan dalam analisa berorientasi objek dilengkapi dengan alat-alat dan teknik-teknik
yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang dikembangkan dan didapatkan sistem dapat terdefinisi dengan baik dan jelas.
2.7.2
Unified Modeling Language (UML) Unifield Modeling Language (UML)
adalah
bahasa
untuk
menspesifikasi,
menvisualisasikan serta mengonstruksi bangunan dasar sistem perangkat lunak, termasuk melibatkan pemodelan aturan-aturan bisnis (Nugroho, 2010). UML disebut sebagai bahasa pemodelan bukan metode.Bahasa pemodelan (sebagaian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.Bahasa pemodelan merupakan bagian terpenting dari metode.UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak. Tujuan daripada menggunakan UML sebagai sebuah bahasa pemodelan diantaranya : 1.
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan sistem dan yang dapat saling menukar model dengan mudah dan dimengerti secara umum.
2.
Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
3.
Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
2.7.3
Diagram UML Dalam pembuatannya sendiri UML terdiri dari diagram, konsep, notasi, dan aturan yang
digunakan untuk memodelkan sistem.UML memilki 9 diagram yang memilki fungsi dan notasi masing, kesembilan diagram tersebut dibagi dalam 2 kategori yaitu diagram yang menggambarkan struktur yang statis dari sistem dan diagram yang menggambarkan struktur yang dinamis dari sistem. Namun dalam penggunaan nya diagram UML yang paling sering digunakan diantaranya : 1. Use Case Diagram 2. Activity Diagram 3. Sequence Diagram 4. Class Diagram
1.
Use Case Diagram Menurut Pilone (2005:Bab 7.1) use case menggambarkan fungsi tertentu dalam suatu
sistem berupa komponen, kejadian atau kelas. Sedangkan menurut Whitten (2004:258) mengartikan use case sebagai urutan langkah – langkah yang secara tindakan saling terkait (skenario), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugasbisnis tunggal (Widodo dan herlawati, 2011:21). Use Case Diagram merupakan alat bantu termudah untuk mendeskripsikan fungsi – fungsi yang terdapat dalam sistem.
Use Case Diagram adalah salah satu diagram untuk menampilkan gambaran kegunaan atau fungsi dasar yang terdapat dalam sistem terhadap apa yang dapat dilakukan oleh para user dan bagaimana system tersebut merespon terhadap perilaku user yang menggunakan sitem tersebut. Narasi pada use case diagram digunakan untuk menggambarkan secara tekstual langkah – langkah dalam interaksi sistem dengan penggunanya. Diagram Use Case memiliki beberapa notasi – notasi untuk menggambarkan kegunaan atau fungsi – fungsi yang terdapat dalam sistem . Berikut notasi – notasi yang terdapat pada diagram use case :
Tabel 2.1. Notasi Use Case Diagram (Jon Wiley & Sons, 2009)
Gambar 2.2. Contoh Use Case Diagram (Jon Wiley & Sons, 2009)
2.
Activity Diagram Activity Diagram digunakan untuk memberikan gambaran atau model daripada perilaku
yang terdapat dalam bisnis proses terhadap objek. Tidak seperti Data Flow Diagram, Activity Diagram berserta notasi yang terdapatnya memberikan bahasa pemodelan yang bersifat paralel, dapat menggambarkan kegiatan secara bersamaan, dan dapat memberikan gambaran keputusan yang sangat jelas. Namun demikian Activity Diagram juga dapat memberikan model penggambaran dari use case dari level yang paling tinggi sampai dengan use case level yang paling rendah. Singkatnya Activity Diagram dapat memodelkan seluruh bisnis proses yang ada. Berikut notasi – notasi yang terdapat pada Activity Diagram :
Tabel 2.2. Notasi Activity Diagram (Jon Wiley & Sons, 2009) NO
1
NOTASI
NAMA
Activity
KETERANGAN Activity digunakan sebagai aktivitas yang terjadi Control Flow adalah simbol atau notasi yang
2
Control Flow
menunjukkan alir dari aktivitas yang dilakukan pada system Decision adalah notasi yang
3
Decision
menggambarkan pengambilan keputusan pada system Object Flow adalah notasi
4
Object Flow
yang menunjukkan alir data dari satu aktivitas kepada aktivitas lainnya Notasi inisial digunakan
5
Inisial
untuk menggambarkan sebagai awal mula aktivitas Final merupakan notasi yang
6
Final Activity
menggambarkan akhir dari aktivitas yang terjadi
Gambar 2.3. Contoh Activity Diagram (Jon Wiley & Sons, 2009) 3.
Class Diagram Class Diagram adalah model statis yang menampilkan class – class dan hubungan –
hubungan antar class yang tetap konstan di dalam sebuah sistem. Class Diagram merupakan himpunan dari objek – objek yang sejenis. Sebuah objek memiliki keadaan sesaat (state) dan perilaku (behavior). State sebuah objek adalah kondisi objek tersebut yang dinyatakan dalam attributr / properties. Sedangkan perilaku suatu objek mendefinisikan bagaimana sebuah objek bertindak / beraksi dan memberikan reaksi. Class Diagram dapat memberikan gambaran – gambaran tentang sistem dan relasi – relasi yang terdapat di dalamnya.. Berikut notasi yang terdapat dalam Class Diagram :
Tabel 2.4. Notasi Class Diagram (Jon Wiley & Sons, 2009) NO
NOTASI
NAMA
KETERANGAN Class adalah blok - blok pembangun pada pemrogram berorientasi objek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas
1
Class
adalah bagian nama dari class, bagian tengah mendefinisikan property atau atribut class, bagian akhir mmendefinisikan method - method dari sebuah class Association menggambarkan tipe - tipe
Associati
2
on
relationship dan juga dapat menampilkan hukum - hukum multiplisitas pada sebuah relationship (Contoh : One-to-One, Oneto-Many, Many-to-Many) Umumnya penggunaan dependency
3
Depende
digunakan untuk menunjukkan operasi
ncy
pada suatu class menggunakan class yang lain
Gambar 2.5. Contoh Class Diagram (Jon Wiley & Sons, 2009)
4.
Sequence Diagram Sequence Diagram adalah satu dari dua buah Diagram Interaksi. Sequence Diagram
menggambarkan peran – peran objek yang berpartisipasi dalam sebuah use case dan melakukan penggambaran alur pesan pada satu use case. Sequence Diagram adalah sebuah model dinamis
yang menampilkan urutan atau langkah – langkah secara jelas terhadap aktivitas atau pesan – pesan yang dijalankan antara objek dalam mendeskripsikan interaksi. Berikut notasi – notasi yang terdapat pada Sequence Diagram : Tabel 2.3. Notasi Sequence Diagram (Jon Wiley & Sons, 2009) NO
NOTASI
NAMA
KETERANGAN Object atau biasa disebut juga sebagai partisipan merupakan instance dari sebuah class dan
1
Object (Partisipan)
dituliskan tersusun secara horisontal. Digambarkan sebagai sebuah class (kotak) dengan nama objek di dalamnya Actor sebagai pelaku yang terdapat dalam sistem yang dapat
2
Actor
berkomunikasi dengan object sehingga dalam penempatannya juga diurutkan sebagai kolom Lifeline bertugas untuk
3
Lifeline
mengindikasikan keberadaan sebuah object dalam basis waktu Execution adalah notasi atau
4
Execution
simbol yang mengindikasikan sebuah objek yang akan melakukan aksi Message adalah notasi atau simbol
5
Message
yang mengindikasikan komunikasi antar object – object
Gambar 2.4. Contoh Sequence Diagram (Jon Wiley & Sons, 2009)
2.8
SQL dan MySQL
2.8.1 Didalam sebuah sistem terdapat basis data yang sangat banyak maka diperlukan suatu cara atau teknik untuk komunikasi dengan basis data tersebut. SQL (yang biasa dibaca dengan Sequel) adalah singkatan dari “Structured Query Language” yaitu suatu bahasa standar yang digunakan untuk memanipulasi dan memperoleh data dari seb uah basis data yang saling berelasi.SQL merupakan bahasa yang kuat dan dengan kepandaian menggunakan unsur – unsur bahasa tersebut, seorang database administrator dapat melakukan pengoperasian basis data yang kompleks dan sulit. Secara umum SQL dapat dibagi menjadi 2, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Data Definition Language (DDL) adalah suatu sub bahasa SQL yang digunakan untuk membangun kerangka sebuah basis data atau bisa juga merupakan suatu fungsi yang digunaka n untuk mendefinisikan atribut – atribut basis data, table, atribut kolom, dan batasan – batasan terhadap atribut serta hubungan antar tabel. Perintah SQL yang termasuk dalam DDL diantaranya :
1. CREATE Perintah ini digunakan untuk membuat sebuah database baru, tabel baru, dan kolom. Contoh : CREATE DATABASE Penjualan 2. ALTER Perintah ini digunakan untuk mengubah struktur terhadap atribut – atribut yang terdapat didalam suatu database, tabel, maupun kolom yang sudah ada pada basis data tersebut. Contoh : ALTER TABLE Transaksi ADD Tanggal DATE 3. DROP Perintah ini digunakan melakukan penghapusan terhadap database ataupun tabel yang telah ada pada database tersebut. Contoh : DROP DATABASE Penjualan
Data Manipulation Language (DML) adalah suatu sub bahasa SQL yang d igunakan untuk melakukan manipulasi terhadap data yang terdapat dalam basis data tersebut.Perintah SQL yang termasuk dalam DML diantaranya : 1. SELECT Perintah ini digunakan untuk melakukan pengambilan atau menampilkan data yang diinginkan pada database tersebut. Contoh : SELECT Regional FROM Transaksi 2. INSERT Perintah ini digunakan untuk melakukan penyisipan atau masukan data ke dalam tabel sebuah database. Contoh : INSERT INTO Transaksi VALUES („Sumatera Utara‟,‟Medan‟) 3. UPDATE Perintah ini digunakan untuk melakukan pengupdatean terhadap data yang terdapat di dalam tabel tersebut. Contoh : UPDATE Transaksi SET kota = „Aceh‟ WHERE regional = „Sumatera Utara‟
4. DELETE
Perintah ini digunakan untuk melakukan penghapusan terhadap data yang terdapat di dalam tabel tersebut. Contoh : DELETE kota FROM Transaksi
2.8.2
MySQL MySQL bukan termasuk bahasa pemrograman, akan tetapi MySQL merupakan salah satu
databaseyang
cukup
populer
dan
mendunia.
MySQL
bekerja
menggunakan
SQL
Language(Structure Query Language) yang berarti MySQL merupakan standar penggunaan databasedi dunia untuk pengolahan data.
2.9
PHP DAN PHPMyAdmin Pada saat ini bahasa pemrograman website yang paling banyak digunakan untuk
membangun suatu sistem yang berbasis website menggunakan bahasa pemro graman PHP.PHP diperkenalkan pertama kali oleh Rasmus Lerdorf pada tahun 1994 dimana pada awalnya PHP adalah singkatan dari “Personal Home Page Tools” yang selanjutnya diganti menjadi FI (Forms Intrepeter) namun semenjak dikeluarkannya versi 3.0 dirubah menjadi “PHP : Hypertext Preprocessor” yang disingkat dengan PHP. PHP merupakan suatu bahasa pemrograman website yang memungkin untuk para web developer untuk membuat aplikasi berbasis website yang dinamis dengan cepat yang dapat digunakan bersamaan dengan HTML. PHP dapat diintegrasikan atau disisipkan (embedded) ke dalam web server atau dapat berperan sebagai CGI yang terpisah. Karakteristik yang paling unggul dan paling kuat dalam bahasa pemrograman PHP adalah lapisan integrasi database (integration database layer). Beberapa database yang dapat didukung oleh PHP diantaranya; Oracle, Adabas-D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, dan PostgreSQL. Keuntungan membuat sistem berbasis website menggunakan bahasa pemrograma n PHP antara lain : 1. Practical atau Praktis PHP adalah bahasa pemrograman yang sangat longgar di dalam penulisannya, dan ini meningkatkan kepraktisan buat para penggunanya.
2. Power PHP mampu membuat halaman yang dinamis, memanipulasi form, dan dapat dihubungkan dengan database. 3. Power PHP mampu membuat halaman yang dinamis, memanipulasi form, dan dapat dihubungkan dengan database. 4. Possibility Jarang ada developer PHP yang terikat pada suatu implementasi pemecahan masalah. Di lain sisi banyak pilihan yang ditawarkan oleh PHP. 5. Price PHP merupakan software yang open source sehingga dengan kata lain PHP dapat dimodifikasi, didistribusikan, dan di integrasikan dengan produk laen oleh penggunanya, pengembangan dan auditing dapat dilakukan secara terbuka, se mua orang bebas berpartisipasi.
Dalam penggunaannya, bahasa pemrograman PHP selalu diawali dengan simbol . Pada pembuatan sistem berbasis website tersebut menggunakan editor PHP yaitu Macromedia Dreamweaver 8, berikut screenshot editor tersebut :
Gambar 2.6. Editor Macromedia Dreamweaver 8Data (Nugroho: 2010)
Berikut contoh penulisan PHP pada editor Macromedia Dreamweaver 8 dan hasil nya ke dalam website :
Gambar 2.7. Contoh Penulisan Script PHPData (Nugroho: 2010)
Gambar 2.8.Contoh Hasil Script PHP pada WebsiteData (Nugroho: 2010)
Untuk mengakomodir database atau basis data yang ada pada sistem yang akan dibuat sehingga terintegrasi dengan sistem yang berbasis website, penulis menggunakan editor PHPMyAdmin sebagai editor untuk mengakomodir database yang ada dengan metode bahasa basis data yang digunakan pada editor PHPMyAdmin adalah SQL, berikut screen shot editor PHPMyAdmin :
Gambar 2.9. Editor PHPMyAdminData (Nugroho: 2010)
2.10 JAVASCRIPT DAN JQUERY Javascript adalah sebuah bahasa pemrograman yang berbasis prototype yang berjalan pada sisi klien.Sekiranya Javascript adalah bahasa pemrograman khusus yang berjalan pada halaman web sehingga website menjadi lebih hidup. Secara fungsional Javascript digunakan untuk menyediakan akses script pada objek yang dibenamkan atau disisipkan (embedded).Javascript sendiri merupakan modifikasi dari bahasa pemrograman C++ dengan pola penulisan yang lebih sederhana dari bahasa pemrograman C++. Yang harus diperhatikan dalam pengelolaan Javascript diantaranya adalah “Case Sensitive”, yang artinya Javascript membedakan huruf besar dan huruf kecil dalam penggunaannya. Kegunaan daripada menggunakan bahasa pemrograman Javascript di dalam website yaitu Javascript bekerja pada sis browser, yaitu suatu proses yang dilaksanakan terlebih dahulu di dalam browser melalui website itu sendiri sehingga tidak perlu adanya proses pengiriman ke server pada website tersebut, dengan adanya hal ini maka Javascript dapat diartikan sebagai salah satu script yang cepat dan hemat. Berikut penulisan Javascript di dalam sebuah editor dan hasil nya pada website :
Gambar 2.10. Contoh Penulisan Javascript pada editorData (Nugroho:2010)
Gambar 2.11. Contoh Hasil Javascript pada WebsiteData (Nugroho: 2010)
Selain daripada menggunakan Javascript dalam pembuatan sistem tersebut sebagai atribut tambahan terhadap script yang ada, penulis juga menggunakan beberapa javascript yang telah diringkas dengan sebutan Jquery.Jquery adalah sebuah library Javascript yang sangat ringkas dan sederhana untuk memanipulasi komponen yang ada pada dokumen HTML, menangani event, animasi, efek dan memproses interaksi Ajax.Jquery dirancang sedemikian rupa supaya membuat program menggunakan Javascript menjadi relative sangat mudah. Jq uery memiliki ukuran yang sangat kecil sehingga tidak memperlambat proses halaman loading yang telah dibuat dan Jquery juga kompatibel dengan CSS3 dan dapat berjalan di semua browser. Jquery adalah sebuah library Javascript yang gratis dan open source.Oleh karenanya menggunakan Jquery dapat digunakan dengan bebas untuk keperluan pengembangan sebuah website. Berikut screenshot penulisan Jquery pada editor dan hasilnya pada website :
Gambar 2.12. Contoh penulisan penggunaan Jquery pada editorData (Nugroho: 2010)
Gambar 2.13. Contoh hasil Jquery pada Website (www.jqueryui.com) 2.11 METODE PEGUJIAN Pengujian perangkat lunak adalah sebuah proses yang diejawantahkan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan
kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal(Rizky, 2011). Alasan utama yang mengapa pengujian (testing) perangkat lunak harus dilakukan adalah berdasarkan atas dua hal yaitu: 1. Software Requirement atau kebutuhan data yang harus dipenuhi perangkat lunak 2. SoftwareQuality atau kualitas perangkat lunak
Kebutuhan Testing Perangkat Lunak
Kualitas Perangkat Lunak (Software Quality )
Tujuan
Kebutuhan Perangkat Lunak (Software Requirement )
Gambar 2.9
Testing Pe rangkat Lunak(Rizky, 2011)
2.11.1 Metode White Box White Box testing secara umum merupakan jenis testing yang lebih berkonsentrasi terhadap „isi‟ dari perangkat lunak itu sendiri. Jenis ini lebih banyak berkonsentrasi kepada source code dari perangkat lunak yang dibuat sehingga membutuhkan proses testing yang jauh lebih lama dan lebih „mahal‟ dikarenakan membutuhkan ketelitian dari para tester serta kemampuan teknis pemrograman bagi para tester-nya (Rizky, 2011). Prinsip dari keluaran tipe testing ini adalah: 1.
Menjamin bahwa semua alur program yang independen (dalam bentuk modul, form, procedure, class, dan lainnya) telah dites minimal satu kali.
2.
Telah melakukan testing terhadap semua kondisi percabangan dengan nilai true dan false.
3.
Telah melakukan testing terhadap semua jenis perulangan dengan kondisi normal dan kondisi yang dianggap melampaui batas perulangan (umumnya kondisi yang melampaui batas harus diatasi oleh prosedur tertentu)
4.
Telah melakukan testing terhadap struktur data internal (seperti variabel) agar terjaga validasinya.
Beberapa teknik yang terdapat dalam jenis white box testing antara lain: 1.
Decision(branch) Coverage Teknik testing ini focus terhadap hasil dari setiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if … then … else).
2.
ConditionCoverage Teknik ini hampir mirip dengan teknik Decision(branch) Coverage, tetapi dijalankan terhadap percabangan yang dianggap kompleks atau percabangan majemuk.
3.
PathAnalysis Teknik testing ini berusaha menjalankan kondisi yang ada dalam perangkat lunak serta berusaha mengoreksi apakah kondisi yang dijalankan telah sesuai dengan alur diagram yang terdapat dalam proses perancangan.
4.
Executiontime Pada teknik ini, perangkat lunak berusaha dijalankan atau dieksekusi kemudian dilakukan pengukuran waktu pada saat inpu dimasukkan hingga input dikeluarkan. Waktu eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan dianalisa lebih lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksud oleh tester.
5.
AlgorithmAnalysis Teknik ini pada umumnya jarang dilakukan jika perangkat lunak yang dibuat berjenis sistem informasi. Sebab tekni ini membutuhkan kemampuan matematis yang cukup tinggi dari para tester karena didalamnya berusaha melakukan analisa terhadap algoritma yang diimplementasikan pada perangkat lunak.
2.11.2 Metode Black Box Black Boxtesting adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah „kotak hitam‟ yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luarnya. Jenis testing ini hanya memandang perangkat lunak dari sisi spesifikasi dan kebutuhan yang telah didefinisikan pada saat awal perancangan(Rizky, 2011). Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain:
1.
Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis di bidang pemrograman
2.
Kesalahan dari perangkat lunak ataupun „bug’ seringkali ditemukan oleh komponen tester yang berasal dari pengguna.
3.
Hasil dari black box testing dapat memperjelas kontradiksi ataupun kerancuan yang mungkin timbul dari eksekusi sebuah perangkat lunak.
4.
Proses testing dapat dilakukan lebih cepat disbanding dengan white box testing. Beberapa teknik testing yang tergolong dalam tipe ini antara lain:
1.
EquivalencePartitioning Pada teknik ini, setiap inputan data dikelompokkan dalam grup tertentu, yang kemudian dibandingkan outputnya.
2.
BoundaryValue Analysis Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data.
3.
CauseEffect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan.
4.
RandomData Selection Teknik ini berusaha melakukan proses inputan data dengan menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan.
5.
FeatureTest Pada teknik ini, dilakukan proses testing terhadap terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.