1
BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Informasi Manajer yang tidak memiliki kemampuan menggunakan komputer mungkin akan menjadi penghambat bagi organisasi, atau lebih buruk lagi, tak bermanfaaat sebagai pengambil keputusan. Kesimpulan tersebut mencerminkan kenyataan bahwa untuk beberapa decade, fokus pada penggunaan komputer lebih tertuju kepada mesin ketimbang kepada dimensi yang jauh lebih penting, yaitu penerapannya. Meskinpun fakta menunjukan bahwa komputer tidak lebih dari sekedar sebuah alat pengolah data, banyak manajer memandangnya sebagai elemen sentral yang penting dalam suatu sistem informasi. Sikap ini cendrung menyanjung dan merancukan peran komputer yang sesungguhnya, yaitu menyajikan informasi untuk pengambilan keputusan dan untuk perencanaan serta pengendalian operasi. Sistem informasi bukan merupakan hal yang baru.Yang baru adalah komputerisasinya sebelum ada komputer, teknik penyaluran informasi yang memungkinkan manajer merencanakan serta mengendalikan operasi telah ada.Komputer menambahkan satu atau dua dimens, seperti kecepatan, ketelitian, dan penyediaan data dengan volume yang lebih besar yang memberikan bahan pertimbangan yang lebih banyak untuk mengambil keputusan. Suatu organisasi terdiri atas sejumlah unsur, orang-orang yang mempunyai berbagai peran, kegiatan atau tugas yang harus diselesaikan, tempat kerja, wewenang, serta huubungan sistem komunikasi yang mengikat organisasi tersebut, sistem informasi merupakan penerapan sistem di dalam organisasi untuk mendukung informasi yang dibutuhkan oleh semua tingkat manajemen. Telah diketahui bahwa informasi merupakan hal yang sangat penting bagi manajemen di dalam pengambilan keputusan.Darimana informasi tersebut bisa didapat informasi diperoleh dari sistem informasi. Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi
2
operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu. (Tata Sutabri 2012:2). 2.2 Komponen Sistem Informasi Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data, dan blok kendali. Sebagai suatu sistem, keenam blok tersebut saling berinteraksi satu dengan yang lain membentuk satu kesatuan untuk mencapai sasaran. Tata Sutabri (2012:39) 2.3 Pengertian Persediaan Persediaan merupakan sejumlah/barang yang disediakan perusahaan baik berupa barang jadi,bahan mentah,maupun barang dalam proses yang disediakan untuk menjaga kelancaran operasi perusahaan guna memenuhi permintaan konsumen setiap waktu. 2.4 UML (Unified Modelling Language) Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang diberbagai negara dapat mengerti pemodelan perangkat
lunak.
Pada
perkembanga
teknik
pemrograman
berorientasi
objek,muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek yaitu Unified Modelling Language (UML). UML (Unified Modelling Language) adalah standar bahasa yang banyak digunakan didunia industri untuk mendefinisikan requirement, membuat analisis & desain,serta menggambarkan arsitektur dala pemrograman berorientasi objek. 1.4.1 Usecase Diagram Usecase
atau
diagram
usecase
merupakan
pemodelan
untuk
kelakuan(behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan
3
sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Tabel 2. 1 Simbol Use Case Diagram (Rosa,Salahuddin (2013:156))
Simbol Use case Nama usecase
Deskripsi Fungsionalitas yang disediaka sistem sebagai unitunit yang saling bertukarrr pesan antar unit atau aktor;biasanya dinyataka denga menggunakan kata kerja diawal frase usecase
Aktor/actor
Orang,proses,atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri,jadi walaupun simbol dari aktor adalah gambar orang,tapi aktor belum tentu merupakan orang,biasanya dinyatakan menggunakan kata benda di awal frase nama aktor
Asosiasi/association
Komunikasi antar aktor dan usecase yang berpartisipasi pada usecase atau usecase memiliki interaksi dengan aktor
4
Ekstensi/extend
Relasi usecase tambahan ke sebuah usecase dimana use case yang ditambahkan dapat berdiri sendiri walau tapa usecase tambahan itu;mirip dengan prinsip inheritance pada pemrograman berorientasi objek;biasanya usecase tambahan memiliki nama depan yang sama dengan usecase yang ditambahkan,misal Validasi username
<<extends>> Validasi user
<<extends>> Validasi sidik jari
Arah panah mengarah pada usecase yang ditambahkan;biasanya usecase yang menjadi extend-nya merupakan jenis yang sama dengan usecase yang menjadi induknya.
5
Generalisasi/generalization
Hubungan generalisasi dan spesialisasi (umumkhusus)antara dua buah usecase dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya,misalnya: Ubah data
Mengelola data
Validasi sidik jari
Arah panah mengarah pada usecase yang menjadi generalisasinya(umum). include/uses
<<uses>>
Relasi usecase tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untu menjalankan fungsinya atau sebagai syarat yang dijalankan usecase ini Ada dua sudut pandang yag cukup besar mengenai include di usecase: Include berarti usecase yang ditambahkan akan selalu dipanggil saat usecase tambahan dijalankan Include berarti usecase yang tambahan akan selalu melakukan pengecekan apakah usecase yang ditambahkan telah dijalankan sebelum usecase tambahan dijalankan
6
Kedua interpretasi diatas dapat dianut salah satu atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan.
Gambar 2. 1 Use case diagram ( Jurnal Informatika ,mulawarman 2011 :3)
1.4.2 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow(aliran kerja)atau aktifitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor,jadi aktifitas yang dilakukan oleh sistem. Tabel 2. 2 Simbol Activity Diagram (Rosa,Salahuddin (2013:162))
Simbol
Deskripsi
Status awal
Status awal aktivitas sistem,sebuah diagram aktifitas memiliki sebuah status awal
Aktivitas
Aktivitas yang dilakukan sistem,aktivitas
7
biasanya diawali dengan kata kerja Percabangan/decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
Penggabungan/join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
Status akhir
Status akhir yang dilakukan sistem,sebuah diagram aktivitas memiliki sebuah status akhir
Swimlane
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktifitas yang terjadi
Gambar 2. 2 Activity Diagram
8
( Jurnal Telematika MKOM , deni mahdiana 2011 :40)
1.4.3 Sequence Diagram Diagram sekuen atau sequ0ence diagram menggambarkan kelakuan objek pada usecase dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah usecase beserta metode-metode yang dimiliki kelas yang diinstansi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada usecase. Banyaknya diagram sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak usecase yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. Tabel 2. 3 Simbol sequence Diagram (Rosa,Salahuddin (2013:165))
Simbol Aktor
Deskripsi Orang,proses,atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri,jadi walaupun simbol dari aktor adalah gambar orang,tapi aktorbelum tentu merupakan orang;biasanya dinyatakan menggunakan kata benda diawal frase nama aktor
Atau Nama aktor
Tanpa waktu aktif
9
Garis hidup/lifeline
Menyatakan kehidupan suatu objek
Objek
Menyatakan objek yang berinteraksi pesan
Nama objek : nama kelas
Waktu aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi,semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya,misalnya
1:login()
2:cekStatusLogin() 3:open()
Maka cekStatusLogin() da dilakukan didalam metode login()
open()
Aktor tidak memiliki waktu aktif
Pesan tipe create <
>
Menyatakan suatu objek membuat objek yang lain,arah panah mengarah pada objek yang dibuat
10
Pesan tipe call 1:nama_metode()
Menyatakan suatu objek memanggil operasi/metode yang ada pada objek lain atau dirinya sendiri,
1:nama_metode()
Arah panah mengarah pada objek yang memiliki operasi/metode,karena ini memanggil operasi/metode maka operasi/metode yang dipanggil harus ada pada diagram kelas objek yang berinteraksi
Pesan tipe send 1 : masukan
Pesan tipe return
1 : keluaran
Pesan tipe distroy <<destroy>>
Menyatakan bahwa suatu objek mengirimkan data/masukan/informasi ke objek lainnya,arah panah mengarah pada objek yang dikirimi
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu,arah panah mengarah pada objek yang menerima kembalian
Menyatakan suatu objek mengakhiri hidup objek yang lain,arah panah mengarah pada objek yang diakhiri,sebaiknya jika ada create maka akan destroy
11
Gambar 2. 3 sequence diagram ( Jurnal Informatika mulawarman 2011 :14)
1.4.4 Class Diagram Diagram kelas atau Class Diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
12
Tabel 2. 4 Simbol Class Diagram (Rosa,Salahuddin (2013:146)) Simbol Kelas
Nama_kelas
Deskripsi Kelas pada struktur sistem
+atribut +operasi
Antarmuka/interface
Sama dengan konsep interface dalam pemrograman berorientasi objek
Nama_interface
Asosiasi/association
Relasi antar kelas dengan umum,asosiasi biasanya juga dengan multiplicity
makna disertai
Asosiasi berarah/directed association
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi
Relasi antar kelas denga makna generalisasi-spesialisasi(umum khusus)
Kebergantungan/dependency
Relasi antarkelas dengan makna Kebergantungan antar kelas
Agregasi/agregation
relasi antar kelas dengan makna semuabagian (whole-part)
13
Gambar 2. 4 class diagram ( Jurnal Informatika mulawarman 2011 :12)
1.5
PHP PHP adalah salah satu bahasa pemrograman skrip yang dirancang untuk
membangun aplikasi web. Ketika di panggil dari web browser, program yang ditulis dengan PHP akan di-parsing didalam web server oleh interpreter PHP dan diterjemahkan ke dalam dokumen HTML, yang selanjutnya akan ditampilkan kembali ke web browser. Karena pemrosesan program PHP dilakukan dilingkungan web server,PHP dikatakan sebagai bahasa sisi server(server-side). Menurut [Zainal Arifin & Smitdev:2008]. PHP adalah sebuah bahasa pemrograman scripting untuk membuat halaman web yang dinamis. Walaupun dikenal sebagai bahasa untuk membuat halaman web,tapi PHP sebenarnya juga dapat digunakan untuk membuat aplikasi command line dan juga GUI. 1.5.1 Cara Kerja PHP Cara kerja aplikasi web yang ditulis dengan PHP dapat diilustrasikan dengan gambar dibawah ini:
14
Gambar 2. 5 cara kerja PHP (Modul Pemrograman Web HTML,PHP,Mysql,Budi raharjo,Imam Heryanto,Enjang RK,2012:41) 1.5.2 MySQL (Structured Query Language) Mysql merupakan sistem database yang banyak digunakan untuk pengembangan aplikasi web. Alasannya mungkin karena pengelolaan datanya sederhana,memiliki tingkat keamanan yang bagus,mudah diperoleh dan lain-lain. MySQL merupakan sebuah database server yang free,artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL ini pertama kali dirintis oleh seorang programmer database bernama Michael Widenius. 1.5.3 Kelebihan MySQL MySQL adalah sebuah database server ,dapat juga berperan sebagai client sehingga sering disebut database client/server. Selain itu database ini memiliki beberapa kelebihan dibandingkan database lainnya,diantaranya adalah : 1.
MySQL dapat berjalan dengan stabil pada berbagai sistem operasi, seperti Windows,Linux,FreeBSD,Mac Os X Server,Solaris dan masih banyak lagi
2.
Bersifat
open
source,
MySQL
didistribusikan
secara
open
source(gratis),dibawah lisensi GNU General Public Licence(GPL) 3.
Bersifat Multiuser,MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah
15
4.
MySQL memiliki kecepatan yang baik dalam menangani query (perintah SQL), dengan kata lain,dapat memproses lebih banyak SQL persatuan waktu
5.
Dari segi security atau keamanan data,MySQL memiliki beberapa lapisa security,seperti level subnet mask,nama host,dan izin akses user dengan sistem perizinan yang mendetail serta password yang terenkripsi.
1.6
Metode Waterfall Model air terjun menyediakan pendekatan alur hidup perangkat lunak
secara
sekuensial
atau
terurut
dimulai
dari
analisis,desain,pengodean,pengujian,dan tahap pendukung (support). Ada 2 (dua) keuntungan dari pendekatan desain struktur air terjun (waterfall) yaitu mengidentifikasi keperluan sistem untuk jangka panjang sebelum program dibuat dan meminimalkan perubahan yag diperlukan saat proses proyek dikerjakan.
Gambar 2. 6 Ilustrasi model Waterfall (Rosa,salahudin Rekayasa Perangkat Lunak,2013:29) Analisis kebutuhan perangkat lunak Proses
pengumpulan
kebutuhan
dilakukan
secara
intensif
untuk
menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yag dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk direkomendasikan Desain Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data,arsitektur
16
perangkat lunak,representasi antarmuka,dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisi kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan Pembuatan kode program Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (erorr) dan memastikan keluaran yang dihaslkan sesuai dengan yang diinginkan. Pendukung (support) atau pemeliharaan (maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada,tapi tidak untuk membuat perangkat lunak baru.
1.7
Perancangan pengujian Sebuah perangkat lunak perlu dijaga kualitasnya bahwa kualitas tergantung
kepada kepuasan pelanggan (customer). Kualitas perangkat lunak perlu dijaga untuk keperluan sebagai berikut :
Agar dapat “survive” bertahan hidup didunia bisnis perangkat lunak
Dapat bersaing dengan perangkat lunak lain
Penting untuk pemasaran global (global marketing)
17
Mengefektifkan biaya agar tidak banyak membuang perangkat lunak karena kegagalan pemasaran atau kegagalan produksi.
Memperhatikan pelanggan (customer) dan meningkatkan keuntungan Pengujian diperlukan tidak hanya untuk meminimalisasi kesalahan secara
teknis tapi juga kesalahan non teknis (misalnya pengujian pesan kesalahan sehingga user bingung dan tidak mengerti dengan pesan kesalahan yang muncul,atau juga jika masukan dan keluaran yang diperlukan berkapasitas sangat besar). Pengujian adalah satu set aktifitas yang direncanakan dan sistematis untuk menguji atau mengevaluasi kebenaran yang diinginkan. Aktifitas pengujian terdiri dari satu set atau sekumpulan langkah dimana dapat menempatkan desain kasus uji yang spesifik dan metode pengujian. Pengujian perangkat lunak adalah sebuah elemen sebuah topik yang memiliki cakupan luas dan sering dikaitkan dengan verifikasi (verification) dan validasi (validation). Verifikasi mengacu pada sekumpulan aktifitas yang menjamin bahwa perangkat lunak mengimplementasikan dengan benar sebuah fungsi yang spesifik.
Gambar 2. 7 Tahapan pengujian perangkat lunak (Rosa,salahudin Rekayasa Perangkat Lunak,2013:274) a.
Pengujian black box Yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa
menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi,masukan,dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan. Pengujian kotak hitam dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai denga spesifikasi yang dibutuhkan
18
b.
Pengujian white box yaitu menguji perangkat lunak dari segi desain dan kode program apakah
mampu menghasilkan fungsi-fungsi,masukan,dan keluaran yang sesuai dengan spesifikasi kebutuhan. Pengujian kotak putih dilakukan dengan memeriksa lojik dari kode program.