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
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
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 Deskripsi
Use case Fungsionalitas yang disediaka sistem sebagai unit- unit 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
Nama usecase
<<extends>>
<<extends>>
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
Arah panah mengarah pada usecase yang ditambahkan;biasanya usecase yang menjadi extend-nya merupakan jenis yang sama dengan usecase yang menjadi induknya.
Validasi username
Validasi sidik jari Validasi user
Generalisasi/generalization Hubungan generalisasi dan spesialisasi (umum- khusus)antara dua buah usecase dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya,misalnya:
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
Validasi sidik jari Mengelola
data Ubah data
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
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
( 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 Deskripsi
Aktor
Atau
Tanpa waktu aktif
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
Nama aktor
3:open()
2:cekStatusLogin() 1:login()
<<create>>
Garis hidup/lifeline Menyatakan kehidupan suatu objek
Objek Menyatakan objek yang berinteraksi pesan
Waktu aktif Menyatakan objek dalam keadaan aktif dan
berinteraksi,semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya,misalnya
Maka cekStatusLogin() da open() dilakukan didalam metode login()
Aktor tidak memiliki waktu aktif
Pesan tipe create Menyatakan suatu objek membuat objek yang lain,arah panah mengarah pada objek yang dibuat
Nama objek : nama kelas
1:nama_metode()
Pesan tipe call Menyatakan suatu objek memanggil
operasi/metode yang ada pada objek lain atau dirinya sendiri,
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 Menyatakan bahwa suatu objek
mengirimkan data/masukan/informasi ke objek lainnya,arah panah mengarah pada objek yang dikirimi
Pesan tipe return 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
Pesan tipe distroy Menyatakan suatu objek mengakhiri hidup objek yang lain,arah panah mengarah pada objek yang diakhiri,sebaiknya jika ada create maka akan destroy
1:nama_metode()
1 : masukan
1 : keluaran
<<destroy>>
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.
Tabel 2. 4 Simbol Class Diagram (Rosa,Salahuddin (2013:146))
Simbol Deskripsi
Kelas Kelas pada struktur sistem
Antarmuka/interface Sama dengan konsep interface dalam pemrograman berorientasi objek
Asosiasi/association Relasi antar kelas dengan makna umum,asosiasi biasanya juga disertai dengan multiplicity
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 semua- bagian (whole-part)
Nama_kelas
+atribut +operasi
Nama_interface
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:
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
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
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)
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
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.