| 8  BAB 2  LANDASAN TEORI  2.1  Teori-Teori Umum  Teori-teori  umum  yang  digunakan  sebagai  landasan  dalam  penyusunan  skripsi ini akan dijelaskan dalam sub-bab berikutnya.  2.1.1  Data, Database dan DBMS  Menurut Connolly dan  Begg (2010,  p20),  data adalah komponen  terpenting dari DBMS (Database Management Sistem), yang berasal dari  sudut pandang end-users.  Menurut  Connolly dan  Begg  (2010,  p15),  database  adalah  kumpulan  data  logikal  yang  saling  terkait  dan  dirancang untuk  memperoleh informasi yang dibutuhkan oleh organisasi.  Menurut Connoly dan Begg (2010, p16), Database Management  Sistem adalah sebuah  sistem software yang memperbolehkan pengguna  untuk  mendefinisikan, membuat,  menjaga,  dan  mengontrol  akses  ke  database.  Biasanya operasi manipulasi data yang digunakan adalah:  1.  Menyisipkan data baru kedalam database.  2.  Memodifikasi  atau  mengubah  data  yang telah disimpan  dalam  database.  | 
|  9  3.  Mengambil data yang terdapat dalam database.  4.  Menghapus data yang terdapat dalam database.  2.1.2  Database Language  Database  Language  adalah sebuah data sublanguage terdiri atas  dua bagian yaitu Data Definition Language  (DLL) dan  Data  Manipulation Language  (DML). DLL digunakan untuk menentukan  skema Database dan DML digunakan untuk membaca dan mengupdate  Database. Keduanya disebut data sub  language karena kedua data  tersebut tidak membangun semua kebutuhan pemprogramman komputer  seperti pernyataan kondisi dan iterative yang digunakan pada beberapa  bahasa pemprogramman tingkat tinggi lainnya. (Connoly & Carolyn,  2010, hal. 91)  Data Definition Language  Data Definition Language  (DDL) adalah suatu bahasa yang  memperoleh DBA atau pengguna untuk mendeskripsikan dan  memberi nama enititas, atribut dan relationship yang diperlukan  untuk aplikasi. DDL berfungsi untuk mengubah suatu data menjadi  suatu data yang bermanfaat bagi pengguna. (Connoly & Carolyn,  2010, hal. 92)  | 
|  10  Data Manipulation Language  Data Manipulation Language  (DML) adalah suatu bahasa yang  memberikan sekumpulan operasi untuk mendukung operasi dasar  dari manipulasi data yang ada dalam Database. Operasi manipulasi  data biasanya termasuk dalam data berikut :  Penyisipan data bari ke dalam Database (insertion)  Mengubah atau memodifikasi data yang disimpan dalam  Database (modify)  Pemanggilan data yang ada dalam Database (retrieve)  Menghapus data dari Database (delete)  (Connoly & Carolyn, 2010, hal. 92)  Data Manipulation Language  (DML) terbagi atas dua  tipe yang berbeda, yakni Prosedural DML dan Non Prosedural  DML. Berikut adalah penjelasan mengenai Prosedural DML   dan Non Prosedural DML :  a.  Prosedural DML  Prosedural DML adalah suatu bahasa yang memungkinkan  pengguna untuk memberikan instruksi ke sistem tentang  data apa saja yang dibuhkan serta bagaimana cara  memanggilnya (retrieve).  | 
| 11  b.  Non Prosedural DML  Non Prosedural DML adalah suatu bahasa yang  memungkinkan pengguna untuk menyatakan apakah  suatau data itu dibutuhkan daripada bagaimana data  tersebut diambil. (Connoly & Carolyn, 2010, hal. 93)  2.1.3  Tahap   tahap dalam merancang suatu database application  lifecycle  Menurut  Connolly dan  Begg  (2010,  p284),  tahapan  database  application lifecycle dapat dilihat seperti keterangan berikut:  Pertama kita lakukan database planning dimana kita melakukan  perencanaan untuk membuat satu database yang terintergrasi.  Selanjutnya kita mendifiniskan sistem pada database yang akan kita buat.  Dalam mendifinisikan sistem kita lakukan analisis dan melakukan  requirement collection  dimana kita harus sesuai dengan  tahap-tahap  untuk membuat aplikasi desain database yaitu : Conceptual Database  Design, Logical Database Design, Physical Database Design. Setelah  semua sesuai dengan kriteria maka akan di lanjutkan pada tahap  prototyping  (optional) yang selanjutnya akan dilanjutkan proses  implementasi. Setelah semuanya berjalan dengan baik maka akan di  lakukan tesing dan maintenance secara berkala.  | 
|  12  2.1.4  Siklus Hidup Database  Dalam Database  juga terdapat siklus hidup Database  yang  digambarkan sebagai berikut :  Gambar 2.1 Siklus Hidup Database  (Sumber : Connolly & Begg, 2010, p. 314)  | 
| 13  Berikut ini adalah penjelasan mengenai tahap-tahap dari  gambar  siklus hidup Database :  Tahap 1 Perencanaan Basis Data (Database Planning)   Kegiatan manajemen yang memungkinkan tahapan dari siklus  hidup pengembangan sistem Database  untuk direalisasikan  seefisien dan seefektif mungkin. Perencanaan Database  harus  terintegrasi dengan strategi sistem informasi dalam organisasi.   Tahap 2 Definisi Sistem  Definisi Sistem menggambarkan ruang lingkup dan batasan  aplikasi Database yang akan dibuat dan diterjemahkan ke major  user view. User View  adalah mendefinisikan apa yang akan  dibutuhkan dari sistem basis data dari perspektif peran  pekerjaan tertentu (seperti manajer atau supervisor) atau area  aplikasi perusahaan (seperti marketing, personalia dan bagiang  gudang.)  Tahap 3 Pengumpulan Persyaratan dan Analisis  Proses mengumpulkan dan menganalisis informasi tentang  bagian dari organisasi yang harus didukung oleh sistem basis  data dan menggunakan informasi tersebut untuk  mengidentifikasi persyaratan untuk sistem yang baru. Tahap ini  melibatkan pengumpulan dan analisis informasi tentang bagian  dari perusahaan yang akan didukung oleh Database. Banyak  | 
| 14  tehnik digunakan untuk mendapatkan informasi tersebut yang  disebut tehnik fact-finding. Tehnik fact-finding  adalah tehnik  mengumpulkan fakta untuk merancanga Database.   Tahap 4 Desain Basis Data Konseptual  Suatu kegiatan untuk membangung model semua data yang  digunakan oleh perusahaan dan tidak bergantung dari semua  pertimbangan fisik. Model data dibangun menggunakan  informasi terdokumentasi dalam spesifikasi kebutuhan  pengguna. Desain Basis Data Konseptual sepenuhnya tidak  bergantung pada target DBMS, program aplikasi, perangkat  keras.  Tahap 5 Desain Basis Data Logikal  Untuk menerjemahkan model data konseptual ke dalam model  data logikal dan kemudian untuk memvalidasi model ini untuk  memeriksa bahwa secara structural  benar dan mampu  mendukung transaksi yang diperlukan.   Tahap 6 Desain Basis Data Fisik  Proses menghasilkan deskripsi implementasi Database  pada  penyimpanan sekunder yang menggambarkan relasi dasar,  organisasi file dan indeks yang digunakan untuk mencapai  akses yang efisien ke data  | 
| 15  Tahap 7 Pemilihan DBMS  Tujuan pada tahap ini adalah pemilihan DBMS yang tepat  untuk mendukung sistem basis data. Langkah-langkah yang  dilakukan adalah sebagai berikut :  1.  Mendefinisikan kerangka acuan studi.  2.  Daftar dua atau tiga produk.  3.  Mengevaluasi produk.  Tahap 8 Desain Aplikasi  Tujuan pada tahap ini adalah mendesain antarmuka pengguna  dan aplikasi yang digunakan dan memproses sistem basis data.  Namun sebelum tahap ini dilakukan, desain Database  harus  sudah jadi. Pada tahap ini juga harus dipastikan bahwa semua  fungsi yang dinyatakan dalam spesifikasi kebutuhan pengguna  harus ditampilkan dalam desain aplikasi untuk sistem basis  data.   Tahap 9 Prototipe   Pada beberapa titik sepanjang porses mendesain,  memiliki  pilihan untuk sepenuhnya mengimplementasikan sistem basis  data atau membangun prototype.  Tujuan pada tahap ini adalah membangun sebuah model kerja  untuk sistem basis data. Prototype adalah model kerja yang  biasanya tidak memiliki semua fitur yang biasnya diperlukan  | 
| 16  atau menyediakan semua fungsi dari sistem akhir. Dengan  cara ini dapat memperjelas kebutuhan user dan pengembang  sistem khususnya mengevaluasi kelayakan dari desain sitem  Tahap 10 Implementasi  Tujuan pada tahap ini adalah untuk merealissasikan sistem  basis data dan desain aplikasi. Pada tahap penyelesaian  desain, tahap selanjutnya adalah untuk mengimplementasikan  sistem basis data dan aplikasi.  Mengimplementasikan  Database  dapat menggunakan Data Definition Language  (DDL) dan DBMS yang dipilih atau Graphical User Interface  (GUI). Program aplikasi yang akan diimplementasikan  menggunakan bahas pemprograman generasi ketiga atau ke  empat seperti Visual  Basic (VB), VB.net, Phyton,Delphi, C,  C++, Java ,COBOL, Fortran, Ada, atau Pascal.  Tahap 11 Data konversi dan Pemuatan (Data Conversion  and Loading)  Tujuan pada tahap ini adalah men-transfer data yang ada ke  dalam Database  baru dan menkonversi setiap aplikasi yang  ada untuk dijalankan pada Database  yang baru. Tahap ini  dibutuhkan hanya ketika sistem Database  yang baru akan  menggantikan sistem yang lama. Saat ini , adalah hal yang  biasa bagi DBMS untuk memiliki utilitas yang  memuat file  | 
| 17  yang ada ke dalam Database  yang baru. Utilitas biasanya  membutuhkan spesifikasi dari sumber file dan taget Database  dan secara otomatis menkonversi data ke format yang  dibutuhkan oleh Database yang baru.  Tahap 12 Pengujian  Tujuan pada tahap ini adalah untuk menjalankan Database  dengan maksud menemukan kesalahan. Sebelum dijalankan,  sistem basis data yang baru harus melewati proses pengujian.  Pengujian dicapai menggunakan strategi pengujian yang  direncanakan dan data realistis sehingga proses pengujian  tidak boleh memiliki pandangan bahwa kesalahan tidak ada.   Tahap 13 Pemeliharaan Operasional  Tujuan pada tahap ini adalah untuk memantau dan  memelihara sistem Database. Pada tahap sebelumnya, sistem  basis data sudah diimplementasikan dan diuji. Tahap  selanjutnya adalah tahap pemeliharaan yang  melibatkan  kegiatan-kegiatan seperti :  1.  Memantau kinerja dari sistem  2.  Pemeliharaan dan peningkatan kinerja sistem basis  data (jika diperlukan)  Setelah sistem basis dara sepenuhnya  berfungsi untuk  kegiatan operasional, pengawasan yang ketat terjadi untuk  | 
| 18  memastikan kinerja yang tetap dalam tingkat  yang dapat  diterima. DBMS menyediakan berbagai utulitas untuk  membantu Database  administrator termasuk utilitas untuk  memuat data  ke dalam Database  dan untuk memnatau  sistem. Utilitas tersebut juga memungkinkan sistem  monitoring untuk memberikan informasi tentang pengguanaa  Database, melihat efiseinsi (termasuk melihat deadlock yang  terjadi) dan strategi eksekusi query.  (Connoly & Carolyn, 2010, hal. 335).  2.1.5  Entity Relationship Modeling  Menurut  Connolly  dan  Begg   (2010,  p342),   salah   satu   aspek tersulit  dalam  merancang  database  adalah  kenyataan  bahwa  perancang, programmer,  dan  end-user  cenderung melihat  data  dan  kegunaannya dengan  sudut   pandang  yang   berbeda.  Untuk   memastikan  pemahaman yang  tepat  dari  data  dan  bagaimana data  tersebut  digunakan oleh perusahaan, diperlukan  sebuah  model  komunikasi yang  non-teknis  dan tidak  ambigu,  contohnya:  model  Entity Relationship (ER).  Permodelan ER  merupakan  pendekatan  top-down  pada  perancangan   database   yang   dimulai   dengan   menentukan   data- data penting yang  disebut entitas  dan  relasi  antar  data  yang  harus  direpresentasikan dalam  model.  Langkah  selanjutnya  adalah  | 
| 19  menambahkan  detail   lainnya,  seperti  informasi   mengenai  entitas   dan relasi yang dinamakan atribut, serta batasan-batasan pada entitas,  relasi, dan atribut tersebut.  2.1.6   Struktur Data Relational  Struktur data relational dibagi menjadi beberapa bagian, yakni :  1.  Relasi : merupakan sebuah tabel dengan baris dan kolom.  Digunakan untuk menyimpan informasi tentang objek yang  digambarkan dalam Database.  2.  Atribut : merupakan nama kolom dari relasi. Atribbut dapat  ditampilkan dalam berbagai perintah dan dalam relasi yang sama  sehingga menyampaikan arti yang sama.  3.  Domain: merupakan sekelompok nilai yang diinjinkan bagi satu  atau lebih atribut. Setiap atribut dalam relasi didefinisikan pada  sebuah domain. Domain dapat berbeda bagi setiap atribut, atau dua  atau lebih atribut dapat  didfinisikanpada domain yang sama.  Konsep domain sangat penting karena  memungkinkan pengguna  menjelasan arti dan sumber nilai yang ada pada atribut.  4.  Tuple: merupakan baris dari sebuah relasi. Tuple dapat disebut  intention jika struktur relasi, domain serta batasan-batasan yang  lainnya pada nilai yang mungkin bersifat tetap,namun sebaliknya  jika relasi berubah setiap waktu ini disebut extension.  | 
| 20  5.  Degree  : merupan jumlah atribut yang terdapat dalam relasi. Jika  relasi mempunyai satu atribut akan mempunyai derajat  satu yang  disebut relasi unary atau satu tuple.  6.  Cardinality  : merupakan jumlah tuple yang terdapat dalam relasi.  Merupakan property dari extension relasi dan ditentukan dari  instance tertentu.  7.  Database  relasional  : merupakan kumpulan dari relasi yang  ternormalisasi dengan nama relasi yang berbeda.  (Connoly & Carolyn, 2010, hal. 144 - 146)  2.1.7   Normalisasi  Normalisasi adalah suatu teknik untuk  memproduksi satu set  hubungan dnegan kebutuhan yang diinginkan,  memberi kebutuhan  data dari suatu perusahaan. Tujuan lain dari normalisasi adalah  mencegah adanya redudansi  atau pengulangan data yang nantinya  akan menghemat tempat pada penyimpanan.   2.1.8  Interaksi Manusia dan Komputer  Menurut Ben Shneiderman dan Catherine Plaisant (2010,p22),  Interaksi Manusia dan Komputer (IMK) atau Human Computer  Interface adalah disiplin ilmu yang berhubungan dengan pembuatan,  evaluasi, dan implementasi sistem komputer yang interaktif sehingga  | 
| 21  memungkinkan manusia (user) untuk berkomunikasi dengan  komputer itu sendiri. Tujuan penerapan disiplin ilmu ini adalah untuk  memberikan sebuah antarmuka pemakai (user interface) yang  sesuai  dengan kebutuhan si pemakai. Sedangkan,  antarmuka pemakai itu  sendiri adalah sebuah bagian dari sistem komputer yang bisa  berinteraksi dengan manusia (user).  2.1.9  Perancangan Antarmuka Pemakai  Menurut Ben Shneiderman dan Catherine Plaisant (2010, p88- 89), dalam merancang desain antarmuka (interface) terdapat delapan  prinsip aturan emas (Eight Golden Rules of interface design) yang  harus diperhatikan yaitu :  1. Konsistensi  Istilah  istilah yang sejenis harus dipakai pada prompt, menu,  layar bantuan (help screen) dan konsistensi dari warna, layout,  kapitalisasi, fonts  dan lain-lain harus sesuai dengan interface  lainnya.   2. Menyediakan shortcuts (jalan pintas) untuk pengguna  Untuk memperkaya desain dari sebuah antarmuka (interface),  penambahan fitur-fitur untuk pemula seperti penjelasan- penjelasan mengenai antarmuka (interface) dan juga fitur-fitur  untuk para pengguna yang ahli seperti singkatan, tombol fungsi,  | 
| 22  dan fasilitas makro  juga bisa dilakukan untuk  meningkatkan  kecepatan interaksi dan juga kualitas dari sistem itu sendiri.  3. Memberikan respon atau umpan balik yang informatif  Untuk setiap tindakan dari user, sebaiknya diberikan suatu sistem  umpan balik. Untuk tindakan yang sering dilakukan dan tidak  terlalu penting, dapat diberikan suatu umpan balik yang  sederhana. Namun, ketika tindakan tersebut jarang dilakukan dan  merupakan tindakan yang penting, respon atau umpan balik yang  diberikan haruslah lebih substansial atau besar.  4. Merancang dialog untuk menghasilkan suatu penutupan  Urutan tindakan sebaiknya diorganisir ke dalam beberapa  kelompok dengan bagian awal, tengah, dan akhir. Umpan balik  yang informatif akan memberikan indikasi bahwa cara yang  dilakukan oleh pemakai sudah benar dan bisa dijadikan sebuah  persiapan untuk tindakan-tindakan selanjutnya.  5. Memberikan pencegahan dan penanganan kesalahan yang  sederhana  Kesalahan fatal yang mungkin dilakukan oleh user bisa dicegah  dengan sistem yang sudah dirancang sedemikian rupa. Jika  terjadi kesalahan, sistem dapat mendeteksi kesalahan dengan  | 
| 23  cepat dan memberikan penanganan yang sederhana dan mudah  dipahami oleh user.  6. Mudah kembali ke tindakan sebelumnya  Hal ini dapat mengurangi kekhawatiran karena pemakai (user)  tahu bahwa kesalahan yang dilakukan bisa dibatalkan dengan  segera sehingga memberikan keberanian kepada pemakai (user)  untuk mengeksplorasi pilihan  pilihan lain yang belum biasa  digunakan.   7. Mendukung pusat kendali internal  Peran antara pemakai dan sistem sangat penting disini. Pemakai  ingin menjadi pengontrol sistem, sedangkan sistem akan  merespon tindakan yang dilakukan oleh pengguna, bukan  sebaliknya yaitu sistem yang mengontrol pengguna. Dengan  demikian, sistem harus dirancang sedemikian rupa agar  pengguna menjadi sebuah inisiator daripada menjadi sebuah  responden.  8. Mengurangi beban ingatan jangka pendek  Tampilan yang sederhana sangat dibutuhkan mengingat  keterbatasan ingatan manusia dalam memori jangka pendek.  Informasi yang diberikan dalam beberapa halaman sebaiknya  disatukan kedalam satu halaman. Selain itu, diberikan juga waktu  | 
| 24  pelatihan yang cukup untuk menangani urutan tindakan-tindakan  yang kompleks.  Prinsip-prinsip tersebut memberikan penjelasan tentang  bagaimana meningkatkan produktivitas dari si pemakai dengan cara  menyediakan prosedur-prosedur yang sederhana, tampilan yang  mudah dimengerti dan umpan balik yang cepat untuk meningkatkan  keahlian dari si pemakai.  2.1.10  Storyboard  Menurut Simon (2007 ,pp3-7), storyboard  adalah sebuah  tampilan ilustrasi seperti sebuah komik, yang mengambarkan tentang  hasil modifikasi terakhir dari sebuah produk final sang produser.  Selain itu storyboard juga dipakai sebagai salah satu cara komunikasi  yang efektif antara direktur atau produser dan semua anggota. Pada  jaman sekarang storyboard  dipakai untuk mengembangkan sebuah  script, menuangkan ide, menambahkan sebuah script  dan  memvisualisasikan sebuah script  yang telah selesai. Sebuah  storyboard yang baik dapat mempresentasikan sebuah motion visual,  seperti kartun dan gambar dimana gambar tersebut dapat berjalan  secara selaras dengan story.  | 
| 25  2.1.11  UML  Menurut Whiten dan Bentley (2007, p371), Unified Modelling  Language (UML) adalah suatu kumpulan dari konvensi pemodelan  yang digunakan untuk menjelaskan secara spesifik tentang apa yang  dilakukan oleh sistem software yang dikemas dalam bentuk objek.  2.1.11.1   Use Case Model Diagam  Menurut Whiten dan Bentley (2007, p245), Use  case menjelaskan tentang bagaimana sebuah sistem akan  digunakan, siapa yang akan menggunakan sistem  tersebut, dan bagaimana sebuah sistem merespon  kembali. Selain itu sebuah use case juga menggambarkan  hubungan interaksi antara  sebuah sistem dengan  pengguna sistem tersebut. Use case  diagram  merepresentasikan setiap fungsi dari sistem, ke dalam  sebuah objek.  Langkah   langkah dalam membangun sebuah use case  adalah :  A.  Mengidentifikasi aktor.  B.  Mengidentifikasi use case yang diperlukan.  C.  Merancang diagram use case.  D.  Mendokumentasikan analisis sistem di dalam narasi  use case.  | 
|  26  Berikut adalah notasi simbol-simbol yang digunakan  dalam use case diagram :  Tabel 2.1 Notasi dalam Use Case  No   Simbol  Gambar  Deskripsi  1  Aktor  Aktor adalah segala sesuatu yang  berinteraksi dengan sistem untuk  petukaran informasi. Aktor  berperan untuk memulai kegiatan  sistem di dalam use case.  Seorang Aktor dapat berupa  manusia, organisasi, sistem  informasi dan perangkat  eksternal.  2  Use case  Use case menjelaskan  serangkaian fungsi di dalam  sistem yang menjelaskan tujuan  sistem dan mendeskripsikan  aktivitas dan interaksi pengguna  dengan sistem untuk mencapai  tujuan tersebut.  3  Relationship  Atau  Menggambarkan hubungan  antara 2 simbol dalam use case  diagram, bentuk dari hubungan  tersebut berbeda-beda tergantung  pada bagaimana garis tersebut  digambarkan dan tipe simbol apa  yang dihubungkan.  | 
|  27        Gambar 2.2 Contoh Use Case (Whitten &Bentley, 2007,p256)  2.1.11.2  Class Diagram  Menurut Indrajani  (2009,p206)  Class diagram  merupakan suatu struktur yang menghubungkan antara  class,objek, entity dan behaviour yang menggambarkan  objek tersebut.  Class diagram menunjukkan hubungan  antar kelas dalam sistem yang sedang dibangun dan  bagaimana mereka saling berkolaborasi untuk mencapai  suatu tujuan. Dalam class diagram setiap kelas diwakili  dengan sebuah kotak yang berisi tiga bagian yaitu :  | 
| 28  a.  Bagian atas berisi nama kelas.  b.  Bagian tengah berisi atribut-atribut dari kelas.  c.  Bagian bawah berisi metode atau operasi yang kelas  tersebut dapat lakukan.  Menurut Whitten dan Bentley (2007,p400) class  diagram adalah gambar grafis mengenai sebuah struktur  obyek statis dari sebuah sistem. Class  diagram juga  menunjukan kelas   kelas objek yang menyusun sebuah  sistem dan hubungan antara objek dan kelas objek. Berikut  adalah langkah   langkah yang harus dilakukan dalam  membangun class diagram :  1.  Mengidentifikasikan hubungan dan keragaman  Dalam langkah ini, dilakukan identifikasi hubungan  antara objek dan kelas. Setelah hubungan antara kelas  dan objek telah diidentifikasi maka keragaman yang  mempengaruhi hubungan tersebut harus didefinisikan.  2.  Mengidentifikasikan hubungan umum dan spesial  Saat mengidentifikasikan hubungan dan keragaman  maka, langkah selanjutnya  kita harus menentukan  hubungan umum dan spesialnya. Hubungan umum dan  spesial disebut juga dengan pengelompokan hirarki,  | 
| 29  yang terdiri dari supertype (abstrak atau parent) class  dan kelas subtype (konkret atau child). Supertype class  memiliki atribut-atribut umum dari hirarki, sedangkan  subtype  class hanya memiliki artibut-  atribut khusus  dari sebuah hirarki dan atribut-atribut umum dari  supertypeclass dapat diwariskan kepada subtypeclass.   3.  Mengidentifikasikan hubungan aggregation  atau  composition  Di dalam langkah ini kita harus dapat menentukan  apakah terdapat hubungan agregasi atau komposisi  dasar. Agregrasi merupakan tipe hubungan unik  dimana bagian dari salah satu objeknya merupkan  bagian dari objek lain. Hal ini sering dikaitkan dengan  hubungan sebagian atau keseluruhan. Sedangkan  composition  merupakan hubungan yang dimana suatu  kelas bagian bergantung kepada kelas induk. Apabila  kelas induk hancur, maka kelas bagian hancur juga.  4.  Mempersiapkan class diagram  Model ini merefleksikan hubungan objek  atau  kelas  dan multiplicity  yang diidentifikasi pada langkah  pertama, kemudian hubungan umum dan khusus pada  | 
|  30  langkah kedua, dan hubungan agregasi pada langkah  ketiga.  Gambar 2.3 Contoh Class Diagram (Whitten &Bentley, 2007,p256)  | 
|  31  2.1.11.3  Activity Diagram  Menurut Whitten dan Bentley (2007,p390)   Activity  diagram merupakan diagram yang  menggambarkan alur proses data yang berurutan, mulai  dari proses bisnis, langkah-langkah usecase, atau logika  dari sebuah objek. Berikut adalah notasi yang digunakan  dalam activity diagram :  Tabel 2.2 Notasi dalam Activity Diagram  no  Nama  Symbol  Deskripsi  1  Initial node  Menunjukan awal mula dari  suatu proses  2  Action  Action  Menunjukan langkah  langkah  dari setiap aktivitas sistem yang  terjadi  3  Flow  Menunjukan arah ke proses  selanjutnya. Biasanya tidak  memerlukan kata-kata namun  apabila berasal dari decision  maka dilengkapi dengan kata- kata.  4  Decision  Memiliki 1 buah aliran masuk  dan dua atau lebih aliran keluar.  Menujukan aktivitas yang dapat  dipilih  | 
|  32  5  Merge  Memiliki 2 atau lebih aliran  masuk  dan 1 aliran keluar.  Digunakan untuk  menyatukan  kembali aliran yang  sebelumnya terpisah oleh  decision  6  Fork  Menunjukan proses aliran data  yang berjalan bersamaan secara  paralel yang terjadi di dalam  sistem.  7  Join  Menggabungkan semua aksi  yang berjalan secara paralel  oleh join  8  Activity Final  Menunjukan akhir dari suatu  proses.  | 
|  33  Gambar 2.4 Contoh Activity Diagram (Whiten &Bentley, 2007, p392)  | 
| 34  2.1.11.4  Sequence Diagram   Menurut Whitten dan Bentley (2007,p390),  Sequence diagram merupakan diagram yang menjelaskan  perjalanan kegiatan sistem, berdasarkan urutan waktu.  Diagram sequence  juga menunjukan urutan dari  pertukaran pesan antar objek dan tugas yang di lakukan.  Sequence diagram  biasa digunakan untuk  menggambarkan skenario atau serangkaian langkah- langkah yang dilakukan sebagai respons dari sebuah event  untuk menghasilkan output tertentu. Diawali dari apa yang  mengawali aktivitas tersebut,  proses dan perubahan apa  saja yang terjadi secara internal dan output apa saja yang  di hasilkan. Sequence diagram memiliki beberapa simbol  diantaranya :  1.  Aktor : Digambarkan dalam bentuk manusia, aktor  memiliki arti seseorang yang melakukan interaksi  ke dalam sistem.  2.  System : Digambarkan di dalam sebuah kotak dan  biasanya diawali oleh simbol : yang menyatakan  sistem yang sedang berjalan.  3.  Lifeness : Digambarkan oleh garis putus   putus  secara vertikal yang terdapat di bawah aktor dan  | 
| 35  sistem yang menunjukkan asal kehidupan dari  sebuah sequence.  4.  Activation bars : Digambarkan dalam bentuk  persegi panjang yang memanjang ke bawah.  5.  Input message : Digambarkan dengan tanda panah  horizontal yang memiliki arti sebuah input dari  sistem yang satu ke sistem yang lain.  6.  Output message : Digambarkan dengan tanda panah  yang memiliki garis putus   putus yang memiliki  arti sebuah respon yang dilakukan oleh sistem yang  satu ke sistem yang lain.  7.  Reciver aktor : Digambarkan dalam bentuk seperti  manusia, yang memiliki fungsi menangkap pesan  yang berasal dari sistem  8.  Frame : digambarkan dalam bentuk sebuah kotak  yang diletakan di dalam  sistem dan biasanya  terdapat keterangan di pkojok kanan atas dari kotak  tersebut yang menandakan bahwa semua interaksi  yang terdapat di dalam kotak tersebut melakukan  pengulanan, fragment alternatif atau  optional.  | 
|  36                        Gambar 2.5 Contoh Sequence Diagram(Whiten &Bentley, 2007, p395)  | 
| 37  2.1.11.5  Rich Picture  Menurut Mathiassen, Madsen, Nielsen dan stage  (2000,p26-27), Rich Picture  adalah suatu gambar yang  informal yang melukiskan pemahaman penggambar akan  suatu situasi. Digunakan semasa pemilihan sistem untuk  menggambarkan gambaran menyeluruh dari tugas yang  menghadapi proyek pengembangan sistem.   Rich picture  secara umum menggambarkan  permasalahan sistem dan application domain. Rich Picture  tidak memiliki notasi khusus. Namun seharusnya melalui  beberapa persetujuan di antar proyek sebagaimana aspek  tertentu digambarkan.   Rich picture  merupakan sebuah penggambaran  secara tidak formal yang menggambarkan pemahaman  illustrator  dari suatu situasi. Rich picture  memfokuskan  pada aspek penting dari suatu situasi yang mana  ditentukan oleh illustrator.   Faktor-faktor dalam rich picture terdiri dari enam  bagian yaitu:  a.  Functionality  : fungsi dari sistem yang  mendukung application domain.   | 
| 38  b.  Application Domain : bagian dari organisasi  yang menadministrasi, memonitoring, dan  mengontrol problem domain.   c.  Condition : kondisi dari sistem yang di  kembangkan dan digunakan.  d.  Technology : teknologi yang digunakan untuk  mengembangkan  sistem dan teknologi apa  yang akan dijalankan.  e.  Objects : objek dasar dari problem domain.   f.  Responsibility : tanggung jawab sistem secara  keseluruhan dalam hubungannya dengan  konteks.   Rich Picture merupakan gambaran informal yang  mempresentasikan ilustrator tentang sebuah situasi. Rich  Picture harus memiliki:  a.  Berisi banyak informasi dan terbuka pada  interpolasi.   b.  Menyajikan proses dan struktur secara koheren,  dan cara yang well-balanced.  | 
|  39  2.1.12  Entity Relationsip Diagram (ERD)  Menurut Whitten (2007, p295), ERD atau Entity  Relationship Diagram merupakan sebuah data model yang  menggunakan beberapa notasi untuk menjelaskan hubungan data.  Notasi yang dimaksud adalah entitas dan relasinya yang  digambarkan oleh data tersebut. Entitas adalah sebuah class dari  orang, tempat, obyek, kejadian, atau konsep yang dipakai untuk  sebuah data. Atribut merupakan deskripsi properti atau  karakteristik dari entitas, sering disebut sebagai elemen, properti,  field. Cardinality adalah jumlah minimum atau maksimum dari  satu entitas yang berelasi kepada entitas lain.  | 
| 40  2.1.13  PHP  Menurut Connolly dan Begg  (2010, p1014) PHP  merupakan bahasa script yang didukung oleh banyak web server,  termasuk Apache HTTP Server dan Internet Information Server  Microsoft. Pengembangan PHP telah dipengaruhi oleh sejumlah  bahasa lain seperti Perl, 'C', dan Java.  Beberapa keunggulan penting PHP dibandingkan dengan  bahasa scripting lainnya adalah penulisan  halaman yang  dihasilkan secara dinamis dan cepat, mudah dipelajari dan  digunakan, memiliki library untuk berbagai web yang umum,  sejumlah modul ekstensi telah disediakan untuk mendukung hal- hal seperti konektivitas database, mail, dan XML.  2.1.14  Website  Menurut Connolly dan Begg(2010, p998) Website adalah  sistem yang menyediakan sarana informasi browsing di Internet  dengan cara  non-sekuensial menggunakan  hyperlink.  Website  membentuk satu rangkaian bangunan yang saling terkait dimana  masing-masing dihubungkan dengan jaringan jaringan halaman  (hyperlink).  | 
| 41  2.1.15  Topologi Jaringan  Setiawan, Andi. (2004:145)Topologi jaringan komputer  adalah suatu cara menghubungkan komputer yang  satu dengan  komputer lainnya sehingga membentuk jaringan. Cara yang saat  ini banyak digunakan adalah Point to Point, Star Network, Ring  Networks, Tree Network, Bus Network dan Plex Network. Dalam  suatu jaringan komputer jenis topologi yang dipilih akan  mempengaruhi kecepatan komunikasi. Untuk itu  maka perlu  dicermati kelebihan atau keuntungan dan kekurangan atau  kerugian dari masing   masing topologi berdasarkan  karakteristiknya.  2.1.16  Gantt Chart  Menurut Agustina, N. (2004,p212)Gantt Chart merupakan  alat bantu visual yang sangat berguna dalam pembebanan dan  penjadwalan. Pada saat digunakan dalam pembebanan diagram  gantt menunjukan waktu pembebanan dan waktu menganggur dari  beberapa departemen seperti mesin-mesin atau fasilitas. Diagram  ini menampilkan beban kerja relatif di dalam sistem sehingga para  menajer bisa tahu penyesuaian seperti apa yang tepat  | 
| 42  2.1.17  Teori Hosting  Fauzi Rikad (2008:227), Hosting adalah tempat atau jasa  internet untuk membuat halaman website yang telah anda buat  menjadi online  dan bisa diakses oleh orang lain. Sedangkan  Hosting itu sendiri adalah jasa layanan internet yang menyediakan  sumber daya server-server  untuk disewakan sehingga  memungkinkan organisasi atau individu menempatkan informasi  di internet berupa HTTP, FTP, EMAIL atau DNS.  Server hosting  terdiri dari gabungan server-server  atau  sebuah server  yang terhubung dengan jaringan internet  berkecepatan tinggi. Ada beberapa jenis layanan hosting yaitu  shared hosting, VPS atau Virtual Dedicated Server, dedicated  server, colocation server.  Jenis  Jenis Hosting yang Ada:  1.  Shared Hosting adalah menggunakan server hosting bersama  sama  dengan pengguna lain satu server dipergunakan oleh  lebih dari  satu nama domain. Artinya dalam satu server  tersebut terdapat  beberapa account  yang dibedakan antara  account satu dan lainnya dengan username dan password.  2.  VPS, Virtual Private Server, atau juga dikenal sebagai Virtual  Dedicated Server  merupakan proses virtualisasi dari  lingkungan software sistem operasi yang dipergunakan oleh  server. Karena lingkungan ini merupakan lingkungan virtual,  | 
| 43  hal tersebut memungkinkan untuk menginstall sistem operasi  yang dapat berjalan diatas sistem operasi lain.  3.  Dedicated Server adalah penggunaan server yang dikhususkan  untuk aplikasi yang lebih besar dan tidak  bisa dioperasikan  dalam shared hosting atau virtual dedicated server. Dalam hal  ini, penyediaan server ditanggung oleh perusahaan hosting  yang biasanya bekerja sama dengan vendor.  4.  Colocation Server  adalah layanan penyewaan tempat untuk  meletakkan server yang dipergunakan untuk hosting. Server  disediakan oleh pelanggan yang biasanya bekerja sama  dengan vendor  2.2  Teori Khusus  Teori-teori khusus yang digunakan sebagai  landasan dalam  penyusunan skripsi ini akan dijelaskan dalam sub-bab berikut.  2.2.1  Teori antrian  Evi Triandini, I Gede Putu Krisna Juliharta, Agus Gian Angga  Permana (2012:455). Antrian adalah suatu kejadian yang biasa dalam  kehidupan sehari hari. Mengunggu di depan loket untuk mendapatkan  tiket kereta api atau tiket bioskop, pada pintu tol, pada bank dan situasi- situasi yang lain merupakan kejadian yang sering ditemui. Studi tentang  antrian bukan merupakan hal baru.  | 
| 44  Antrian timbul disebabkan oleh kebutuhan akan layanan melebihi  kemampuan (fasilitas) pelayanan atau fasilitas layanan, sehingga  pengguna fasilitas yang tiba tidak bisa mendapatkan layanan disebabkan  kesibukan layanan. Pada banyak hal, tambahan fasilitas pelayanan dapat  diberikan untuk mengurangi antrian atau untuk mencegah timbulan  antrian. Akan tetapi biaya karena memberikan pelayanan tambahan, akan  menimbulkan pengurangan keuntungan mungkin sampai di bawah tingkat  yang dapat diterima. Sebaliknya, sering timbulnya antrian yang panjang  akan mengakibatkan hilangnya pelanggan atau nasabah.  Queue  atau Antrian adalah suatu kumpulan data yang mana  penambahan elemen hanya bisa dilakukan pada satu ujung (disebut  dengan sisi belakang atau rear) dan penghapusan atau pengambilan  elemen dilakukan lewat ujung lain (disebut dengan sisi depan atau front).  Antrian menggunakan prinsip Pertama Masuk Pertama Keluar  First In First Out (FIFO). Dengan kata lain urutan masuk sama dengan  urutan keluar. Antrian banyak dijumpai dalam kehidupan sehari-hari.  Mobil-mobil yang mengantri digerbang tol untuk membeli karcis tol,  orang-orang yang mengantri di loket untuk membeli karcis film juga  membentuk antrian.  Pada antrian kita tidak menentukan batasan seberapa banyak  antrian itu akan berakhir tapi jika kita menggunakan array  untuk  mengimplementasikan queue atau tumpukan kita harus membatasi jumlah  antrian yang dapat masuk. Ini dikarenakan array  memiliki batasan  (upperbound) yang menjadi penghambat jika kita menggunakan antrian.  | 
| 45  Oleh sebab itu kita akan mengimplementasikan antrian ini dengan  menggunakan link list.  Dengan menggunakan link list  tepatnya Single Link List  maka  elemen dapat dimasukkan secara tidak terbatas. Kita menggunakan  Header Single Link List yang seperti Stack pada posisi Header dapat kita  pergunakan untuk menyimpan informasi mengenai banyaknya elemen  dalam Queue.  2.2.2 Teori Penjualan  Penjualan adalah suatu usaha yang terpadu untuk mengembangkan  rencana-rencana strategis yang diarahkan pada usaha pemuasan kebutuhan  dan keinginan pembeli, guna mendapatkan penjualan yang menghasilkan  laba (Marwan, 2008.p345). Penjualan merupakan sumber hidup suatu  perusahaan, karena dari penjualan dapat diperoleh laba serta suatu usaha  memikat konsumen yang diusahakan untuk mengetahui daya tarik mereka  sehingga dapat mengetahui hasil produk yang dihasikan.  Dalam kegiatan pemasaran yang sangat kompleks dan saling  berkaitan yang satu dengan yang lainnya, seperti promosi dan penjualan  hendaknya dikelola dengan baik untuk mencapai tujuan perusahaan, yaitu  laba. Promosi berfungsi untuk meningkatkan volume penjualan juga  sebagai strategi untuk menjangkau pembeli untuk melakukan pertukaran.  Sedangkan penjualan adalah pemindahan barang dan jasa yang dilakukan  oleh penjual. Pada umumnya perusahaan yang ingin mempercepat proses  | 
| 46  peningkatan volume penjualan akan melakukan untuk mengadakan  kegiatan promosi melalui iklan, personal selling, dan publisitas.   Apabila volume penjualan dirasakan cukup besar sesuai dengan  yang diinginkan serta cukup mantap, maka umumnya perusahaan  menurunkan kegiatan promosi atau sekedar mempertahankannya.  Meskipun demikian seringkali perusahaan dalam menurunkan kegiatan  promosi diikuti pula oleh penurunan penjualan. Hal ini disebabkan oleh  karena beberapa kemungkinan, misalnya penurunan promosi tersebut perlu  ditinjau kembali. Peninjauan tentang keputusan promosi tersebut  hendaknya dilakukan dalam ruang lingkup  yang luas, dengan demikian  penyajian penetapan kebijakan promosi yang kurang tepat dapat  dihindarkan.  2.2.3 Teori Pembelian  Istilah purchasing atau pembelian sinonim dengan procurement  atau pengadaan barang. Berikut adalah definisi procurement menurut  Assauri Sofjan (2007.p323), yaitu:Procurement is the business process of  selecting a source, ordering, and acquiring goods or services.  Pendapat tersebut kurang lebih mempunyai arti: bahwa pengadaan  barang adalah proses bisnis dalam memilih sumber daya-sumber daya,  pemesanan dan perolehan barang atau jasa.  Brown dkk. (2001:132)  mengatakan bahwa secara umum pembelian bisa didefinisikan sebagai:  managing the inputs into the organizations transformation (production  process). Pendapat tersebut kurang lebih mempunyai arti bahwa  | 
| 47  pembelian merupakan pengelolaan masukan ke dalam proses produksi  organisasi.  2.2.4 Teori Bengkel   Iqbal,Mohammad. (2006,p345) yang dimaksud dengan bengkel  disini adalah suatu tempat dimana dilakukan perbaikan-perbaikan yang  bersifat teknis terhadap suatu produk yang dalam konteks materi ini,  produk yang dimaksud adalah kendaraan bermotor. Sebetulnya kegiatan  perbengkelan adalah bagian dari kegiatan jaringan layanan purna jual  yang sekaligus berfungsi mendukung pemasaran produk yang dijual  (yang dalam hal ini adalah kendaraan bermotor). Dalam kenyataannya  layanan tidak hanya diberikan kepada kendaraan, tetapi diberikan pula  kepada manusianya yaitu pemilik kendaraan itu sendiri, sehingga mutu  pelayanan bagi keduanya harus menjadi perhatian yang serius.   Secara umum fungsi bengkel adalah melayani kerperluan teknis  dari para pelanggannya. Ini berarti bahwa perbaikan kendaraan adalah  tugas sebuah bengkel dan hanya berlangsung jika pelanggan menemui  kesulitan dengan kendaraannya. Untuk itu sistem  dan administrasi  bengkel diarahkan kepada organisasi dan fasilitas yang dapat  memperlancar pekerjaan-pekerjaan teknis dibengkel secara internal.  Bengkel tradisional pada umumnya menunggu para pelanggan datang,  usaha untuk mendatangkan pelanggan hampir tidak pernah dilakukan  sehingga pengembangan usaha berjalan lambat dan cenderung tidak  menunjukan kemajuan yang berarti. Manajemen bengkel diarahkan hanya  | 
| 48  untuk pembenahan didalam bengkel itu sendiri sambil tidak  memperhitungkan dampak sosial, ekonomi, dan politik yang sedang  berlangsung atau yang mungkin datang dari luar.   |