1 BAB 2 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

FLOWCHART. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

BAB 2 LANDASAN TEORI. 2.1 Teori Umum Berikut ini adalah beberapa teori umum yang digunakan dalam penelitian dan penyusunan program.

FLOWCHART. Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program.

Gambar Use Case Diagram

BAB II TINJAUAN PUSTAKA. yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan


ABSTRAK. Kata Kunci: Aplikasi, Lelang, Penjualan. Universitas Kristen Maranatha

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

ABSTRAK. Kata kunci : penjualan, pembelian, aplikasi desktop, C#, Microsoft SQL. Server

1 BAB 2 LANDASAN TEORI. 2.1 Interaksi Manusia dan Komputer (IMK) Menurut Ben Shneiderman (2010: 4-5), interaksi manusia dan komputer

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. sub bab ini antara lain : metode perancangan aplikasi (waterfall model), konsep basis

Analisa & Perancangan Sistem Informasi

BAB 2 LANDASAN TEORI

ALGORITMA & PENGEMBANGAN

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

L-1 PO CUST 1 SJ 1 INVOICE 1

Unified Modelling Language UML

Analisis Sistem Informasi Pedoman Membuat Flowchart

ANALISIS DAN SIMULASI DISTRIBUSI TEMPERATUR RUANGAN BERDASARKAN BENTUK ATAP MENGGUNAKAN FINITE DIFFERENCE METHOD BERBASIS PYTHON

BAB II LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

BAB II LANDASAN TEORI

BAB IV PERANCANGAN SISTEM

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN

BAB III LANDASAN TEORI. Secara umum pengertian inventori adalah stock barang yang harus dimiliki

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

PEMODELAN ANALISIS PL

BAB 2 LANDASAN TEORI. 2.1 Sekilas Tentang Sistem Ujian Konevensional

UJIAN TENGAH SEMESTER PENDEK TAHUN AKADEMIK 2015/2016


Kegunaan tahap ini adalah untuk memobilisasi dan mengorganisir g SDM yang akan melakukan Reengineering

BAB III ANALISIS DAN PERANCANGAN SISTEM. Game yang dibangun merupakan game kuiz edukasi yang didalamnya

BAB II LANDASAN TEORI. implementasi serta pasca implementasi.(rizky, 2011:21). performasi dan fungsi yang diinginkan.

MAKALAH FLOW CHART. Disusun oleh: Nama : La Bomba Susihu NPM : SISTEM KOMPUTER / KELAS A SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

DAFTAR SIMBOL. Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

BAB III OBJEK DAN METODE PENELITIAN. Mobil Permata Trans yang beralamatkan di Jalan Raflesia J-4, Komplek Mitra

I. PENDAHULUAN. dan kotoran manusia atau kotoran binatang. Semua polutan tersebut masuk. ke dalam sungai dan langsung tercampur dengan air sungai.

PEMBANGUNAN APLIKASI PENCATATAN PENANGANAN GANGGUAN PT. TELKOM REGIONAL BANDUNG

BAB 2 LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM. berkaitan dan berinteraksi yang bertanggung jawab dalam memproses input

Pemodelan Berorientasi Objek

SOAL PRA UTS PSBO. 1.SIMULA di perkenalkan pertama kali pada tahun.. a d b e c. 1970

BAB II TINJAUAN PUSTAKA. permintaan pengguna dengan tujuan tertentu. Jenis program ini mempunyai sifat

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

1. SIMULA di perkenalkan pertama kali pada tahun.. a d b e c Hal penting dalampengembangan berorientasi objek

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN. Pada bab ini akan dijelaskan mengenai proses analisa perangkat lunak dan perancangan atau desain perangkat lunak.

Lampiran 1 - Pengenalan terhadap UML (Unified Model Language)

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer (IMK) agar lebih mudah digunakan oleh manusia.

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

ABSTRAK. Kata kunci: penyewaan, mobil,pencatatan data, pengingat, informasi promosi

BAB IV ANALISIS DAN PERANCANGAN SISTEM. dihadapi. Dan agar mempermudah dalam pembuatan perancangan sistem yang

BAB II LANDASAN TEORI Konsep Dasar Membangun Aplikasi Berbasis Web

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah)

BAB 2 LANDASAN TEORI. Era perkembangan teknologi yang semakin pesat dewasa ini membuat. dan penjualan produk lewat media elektronik seperti internet.

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB III LANDASAN TEORI. ada berkaitan dengan sistem yang akan dibuat. Tujuannya adalah agar aplikasi ini

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN 1.1 Latar Belakang

lainnya. Android juga menggunakan sistem layar sentuh (touch screen) yang memudahkan pelanggan dalam penanganan navigasinya. Para pelaku bisnis telah

BAB 2 LANDASAN TEORI

UNIFIED MODELING LANGUAGE

1.1 Latar Belakang dan Identifikasi Masalah

BAB III LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA. lebih berarti bagi yang menerimanya. Definisi atau pengertian sistem secara

BAB III LANDASAN TEORI. Menurut Soendoro dan Haryanto (2005), definisi dari sistem dapat

DIAGRAM SEQUENCE UML

BAB II TINJAUAN PUSTAKA. uang, dan informasi. Sumber daya tersebut bekerjasama menuju

OUTLINE TOPIK. Desain sistem: Desain Output Desain Input Desain Antarmuka Pemakai. Tujuan Output Apa yang dilakukan Alat bantu yang dipakai

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

BAB II LANDASAN TEORI. Pengertian dan definisi sistem pada berbagai bidang berbeda-beda, tetapi

MAKALAH REKAYASA PERANGKAT LUNAK ( PEMODELAN DATA )

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

BAB III ANALISIS DAN PERANCANGAN

Transkripsi:

1 BAB 2 2 LANDASAN TEORI Pada bab ini akan dijelaskan mengenai teori teori yang digunakan dalam penulisan penelitian ini baik dari aspek Informasi dan Teknologi ataupun dari aspek Matematika. 2.1 Teori dari Aspek Informasi dan Teknologi (IT) 2.1.1 Interaksi Manusia dan Komputer (IMK) Menurut Ben Shneiderman (2010, p. 4-5), interaksi manusia dan komputer adalah cabang ilmu yang mempelajari hubungan antara manusia dan komputer yang mencakup perancangan, evaluasi, dan implementasi antarmuka pengguna agar mudah digunakan oleh manusia. Menurut Ben Shneiderman (2010, p. 88-89), delapan aturan emas yang digunakan untuk merancang suatu antar muka, yaitu: 1. Mencoba untuk konsisten Konsistensi dalam antarmuka pengguna, dengan menerapkan konsistensi pada warna, tampilan, kapitalisasi, huruf dan lainnya yang digunakan. Konsistensi pada antarmuka pengguna sangat bermanfaat ketika digunakan oleh pengguna, dimana pengguna akan merasa tetap berada dalam aplikasi yang sama walaupun telah berpindah halaman. 2. Memenuhi kebutuhan umum (universal) Yang dimaksud dalam memenuhi kebutuhan umum adalah memahami kebutuhan berbagai macam pengguna dan membuat suat desain yang fleksibel yang mendukung perubahan dalam konten. Berbagai pertimbangan terhadap berbagai macam pengguna, baik pemula sampai pengguna ahli, perbedaan umur, kecacatan fisik harus diperhatikan dalam membuat sebuah desain antarmuka pengguna. 3. Memberikan umpan balik yang informatif Umpan balik harus diberikan sistem terhadap setiap aksi yang dilakukan oleh user. Untuk aksi sederhana yang dilakukan pengguna bisa diberikan umpan balik yang sederhana, sedangkan untuk aksi besar yang biasanya 7

8 jarang dilakukan oleh pengguna, harus lebih diperhatikan dan dibuat lebih tegas. Setiap umpan balik yang diberikan harus jelas dan dapat dimengerti oleh user tanpa mengandung unsur ambiguitas. 4. Dialog untuk keadaan akhir Urutan aksi hendaknya disusun menjadi kategori awal, tengah, dan akhir. Untuk memberikan kepuasan pencapaian, kelegaan, dan sebagai tanda untuk mempersiapkan diri memasuki kategori aksi selanjutnya, dibuatlah umpan balik yang informatif pada penyelesaian salah satu kategori aksi. 5. Pencegahan kesalahan Sistem harus didesain sebagaimana agar pengguna tidak membuat kesalahan. Salah satu contohnya adalah tidak memperbolehkan input karakter alfabet pada kotak entri nomor. Sistem harus bisa mengetahui kesalahan dan memberikan peringatan kepada pengguna yang mudah dimengerti, membangun dan jelas. 6. Pembalikan aksi yang sederhana Dalam suatu aplikasi, pada setiap aksi harus terdpaat pembalikan aksi. Fitur ini dapat memperkecil kesalahan, karena pengguna tahu bahwa aksi dapat dibatalkan. Pembalikan bisa saja atas suatu aksi seperti saat memasukkan data, atau serangkaian aksi seperti memasukkan nama dan alamat di kotak pengisian. 7. Mendukung pusat kendali internal Pengguna harus memiliki kendali atas antarmuka dan mendapatkan tanggapan pada setiap aksinya. Pada saat pengguna sudah terbiasa dengan suatu aplikasi, biasanya mereka ingin memiliki kendali atas antarmuka dan tanggapan pada aksinya. Aksi antarmkua yang tidak seperti biasanya, rangkaian pemasukkan data yang membosankan, tidak bisa atau sulit mendapatkan informasi yang diperlukan, dan tidak bisa menghasilkan aksi yang diinginkan dapat mennimbulkan keresahan dan ketidakpuasan pada pengguna. 8. Mengurangi beban ingatan jangka pendek Pada umumnya, manusia memiliki keterbatasan dalam memproses informasi dalam jangka pendek, maka itu sistem harus didesain dengan tampilkan yang ringan, penggabungan halaman-halaman, pengurangan frekuensii pergerakan layar, pemberian waktu latihan yang cukup untuk

9 kode-kode, hafalan, dan rangkaian aksi. Oleh karena itu, dalam setiap perancangan aplikasi dibutuhkan alur aplikasi yang mudah diingat oleh pengguna. 2.1.2 Rekayasa Piranti Lunak Piranti lunak adalah kumpulan instruksi yang dijalankan yang mengandung fitur-fitur, fungsi, dan performa yang diinginkan. Rekayasa piranti lunak adalah sebuah aplikasi sistematik yang disiplin terhadap proses pengembangan, operasi dan perawatan terhadap sebuah piranti lunak (Pressman, 2010, p. 4). Menurut Roger S. Pressman (2010, p. 14), rekayasa piranti lunak bisa dibagi menjadi beberapa lapisan seperti: Gambar 2.1 Lapisan Dalam Penyusunan Piranti Lunak (Pressman, 2010, P. 14) 1. Lapisan Fokus Kualitas (A quality focus) Lapisan fokus kualitas adalah dasar dari suatu rekayasa piranti lunak, dalam setiap proses yang dilakukan, selalu mengacu kepada kualitas akhir yang dihasilkan. 2. Lapisan Proses (Process) Lapisan proses merupakan dasar manajemen dalam mengontrol dari suatu proyek piranti lunak secara rasional dan teratur. 3. Metode (Methods) Metode merupakan lapisan yang menyediakan teknik bagaimana membangun sebuah piranti lunak. Proses yang dilakukan pada metode itu adalah analisis kebutuhan, desain, pembuatan program, pengujian, dan perawatan.

10 4. Alat (Tools) Alat merupakan lapisan yang menyediakan dukungan terhadap lapisan metode dan proses sehingga ketika lapisan alat diintegrasikan dengan lapisan yang lainnya, informasi dapat dihasillkan suatu alat untuk digunakan oleh yang lain. Sistem yang mendukung pengembangan piranti lunak disebut sebagai computer-aided software engineering (Pressman, 2010, p. 13-14) 2.1.3 Prototyping Kerangka proses dalam rekayasa piranti lunak mencakup beberapa hal, yaitu: 1. Komunikasi Kegiatan antara tim penyusun dengan pelanggan, serta segala pemegang kepentingan lainnya. 2. Perencanaan Berfungsi sebagai peta yang membimbing tim penyusun dalam membuat piranti lunak 3. Pemodelan Adanya sketsa garis besar dari piranti yang ingin dibuat dalam persyaratan dan desain 4. Konstruksi Penyusunan kode dan pengujian 5. Penerapan Piranti lunak diberikan kepada pelanggan dan akan piranti lunak tersebut akan dievaluasi oleh pelanggan dan diberikan umpan balik sebagai hasil. Penerapan kelima poin kerangka proses di atas berhubungan erat dengan aliran proses. Aliran proses adalah bagaimana kerangka serta aktivitas dan tugas yang ada pada setiap kerangka diorganisir sesuai dengan urutan dan waktunya. Terdapat empat jenis aliran proses, yaitu:

11 1. Linear, dimana setiap aktivitas dilakukan sekali dan berurutan setelah aktivitas sebelumnya, dimulai dari komunikasi dan diakhiri dengan penerapan. 2. Iteratif, dimana setiap aktivitas dilakukan dengan urutan seperti dalam proses linear, namun memungkinkan terjadinya perulangan apabila dibutuhkan, yaotu dalam tahap komunikasi kembali setelah perencanaan, pemodelan yang dilakukan berulang-ulang, seta komunikasi setelah proses konstruksi. 3. Evolusioner, dimana setiap aktivitas dilakukan dengan urutan seperti dalam proses linear namun dapat dilakukan berulang. Dimana setelah penerapan, aktivitas yang dilakukan adalah komunikasi 4. Paralel, dimana beberapa aktivitas dalam kerangka dapat dilakukan secara bersamaan, misalnya perencanaan dan pemodelan. Salah satu model evolusioner yang banyak dikenal adalah proses model prototyping. Proses ini sering digunakan saat pemangku kepentingan (stakeholder) memberikan objektif dari piranti lunak yang akan dibuat, namun tidak mengetahui persyaratan fungsi dan fitur yang dibutuhkan di dalamnnya. Proses prototyping juga digunakan program tidak didesain untuk digunakan secara luar, seta tidak diketahuinya kemampuan adaptasi dari sistem operasi dan bentuk interaksi dari manusia dengan mesin yang akan digunakan. Gambar 2.2 menunjukkan proses kerja prototyping.

12 Gambar 2.2 Proses Prototyping (Pressman, 2010, P. 43) 2.1.4 Unified Modeling Language (UML) Menurut Whitten dan Bentley (2007, p. 371), UML versi 2.0 adalah sekumpulan model konvensional yang digunakan untuk mendeskripsikan sebuah sistem piranti lunak yang terkait dengan objek. UML dapat dibagi menjadi empat kelompok ketika memodelkan suatu sistem, yaitu: diagram kasus penggunaan (use case diagram), diagram aktivitas (activity diagram), diagram kelas (class diagram), dan diagram urutan (sequence diagram). 1. Diagram Kasus Penggunaan Menurut Whitten dan Bentley (2007, p. 247) diagram kasus adalah urutan interaksi antara sistem dengan sistem eksternal dan pengguna. Diagram kasus menggambarkan skenario dan pengguna yang saling berhubungan. Aktor atau pengguna adalah objek yang berinteraksi dengan sisem untuk memberikan atau mendapatkan informasi, sedangkan skenario adalah urutan langkah yang menjelaskan interaksi antara aktor atau pengguna terhadap sistem. Gambar 2.3 Contoh Diagram Kasus Penggunaan

13 Hubungan yang terdapat di dalam sebuah diagram kasus penggunaan adalah (Whitten & Bentley, 2007, p. 248-250): 1. Asosiasi (Association) Asosiasi yang dilambangkan dengan symbol garis dengan, atau tanpa tanda panah melambangkan interaksi antara diagram kasus dengan aktor atau pengguna. Hubungan asosiasi bisa dibagi menjadi dua, yaitu Bidirectional Association (bersifat dua arah, dilambangkan dengan sebuah garis lurus) dan Unidirectional Association. (bersifat satu arah dan dilambangkan dengan sebuah garis lurus dengan tanda panah). Gambar 2.4 Contoh Asosiasi pada Diagram Kasus Penggunaan 2. Perpanjangan (Extends) Jenis hubungan ini akan digunakan ketika terdapat sebuah diagram kasus penggunaan yang cukup rumit dan sulit dimengerti karena terdapat beberapa tahap didalamnya. Perpanjangan akan menghasilkan diagram kasus penggunaan baru yang mewakilkan suatu fungsi tertentu dari diagram kasus penggunaan awal yang nantinya disebut sebagai diagram kasus penggunaan yang diperpanjang (Extended Use Case).

14 Gambar 2.5 Contoh Diagram Kasus Penggunaan yang Diperpanjang 3. Pengikutsertaan (Includes / Uses) Hubungan ini berguna ketika terdapat dua atau lebih kasus penggunaan yang melakukan langkah yang sama. Langkah-langkah tersebut dipisahkan menjadi sebuah kasus penggunaan yang disebut kasus penggunaan abstrak yang bertujuan untuk mengurangi pengulangan tidak perlu pada diagram kasus penggunaan. Gambar 2.6 Contoh Pengikutsertaan pada Diagram Kasus Penggunaan 4. Ketergantungan (Depends On) Ketergantungan adalah hubungan antara sebuah kasus penggunaan dimana sebuah kasus penggunaan baru bisa dijalankan ketika kasus penggunaan yang lainnya sudah dilakukan.

15 Gambar 2.7 Contoh Ketergantungan dalam Diagram Kasus Penggunaan 5. Penurunan (Inheritance) Penurunan adalah suatu keadaan dimana dua atau lebih aktor melakukan langkah yang sama. Penurunan akan membuat sebuah aktor abstrak yang baru dengan tujuan untuk menyederhanakan diagram kasus penggunaan Gambar 2.8 Contoh Penurunan dalam Diagram Kasus Penggunaan

16 2. Diagram Aktivitas (Activity Diagram) Diagram aktivitas adalah diagram grafik yang digunakan untuk menggambarkan serangkaian aktivitas baik proses bisnis, langkah-langkah kasus kegunaan, atau logika perilaku dari objek. Diagram aktifitas digunakan untuk membuat pemodelan aksi yang dilakukan ketika sebuah operasi dijalankan dan memodelkan hasil dari aksi tersebut (Whitten & Bentley, 2007, p. 390-391). Gambar 2.9 Contoh Diagram Aktivitas (Pressman, 2010, P. 854) Dalam sebuah diagram aktivitas, terdapat beberapa notasi yang digunakan, yaitu (Whitten & Bentley, 2007, p. 391): 1. Initial Node

17 Dilambangkan dengan sebuah lingkaran dengan warna yang padat dan utuh untuk menggambarkan awal dari sebuah proses. 2. Actions Dilambangkan dengan kotak dengan sudut-sudut seperti lingkaran yang menggambarkan langkah individu 3. Flow Dilambangkan dengan sebuah panah di dalam diagram, yang menandakan adanya perkembangan dalam sebuah aksi. 4. Decision Dilambangkan dengan sebuah permata, terdapat satu aliran yang masuk dan dua atau lebih aliran yang keluar yang ditandai untuk mengidentifikasi kondisi ini. 5. Merge Dilambangkan dengan sebuah permata dengan dua atau lebih aliran yang masuk dan satu aliran yang keluar. Penggabungan menggabungkan aliran yang sebelumnya dipisahkan oleh keputusan kemudian diproses menjadi satu aliran. 6. Fork Dilambangkan dengan balok hitam dengan satu aliran masuk dan dua atau lebih aliran keluar. Aliran parallel di bawah fork dapat terjadi dalam urutan yang tidak sama ataupun bersamaan. 7. Join Dilambangkan dengan kotak hitam dengan dua atau lebih aliran yang masuk dan satu aliran yang keluar. Setiap aksi yang masuk ke dalam join harus selesai sebelum proses dilanjutkan. 8. Activity Final Dilambangkan dengan lingkaran dengan warna yang utuh di dalam lingkaran kosong. Activity final menandakan akhir dari sebuah proses. 3. Diagram Kelas (Class Diagram) Diagram kelas memodelkan kelas, mencakup atribut, operasi, serta hubungan dan asosiasinya dengan kelas lainnya. Diagram ini bersifat statis dan struktural (Pressman, 2010, hal. 842).

18 Diagram terbagi menjadi beberapa bagian. Bagian teratas berisi nama dari kelas. Bagian kedua berisi atribut kelas, yaitu sesuatu yang diketahui atau disediakan oleh objek dari kelas. Atribut pada kelas dapat memiliki informasi tambahan berupa tipe atribut dan tingkat visibility. Tipe diletakkan mengikuti nama atribut atau operasi, dipisahkan dengan tanda titik dua (:). Tingkat visibility berupa tanda untuk private, # untuk protected, ~ untuk package, atau + untuk public. Informasi tipe dan visibility adalah informasi pilihan, tidak harus ada. Bagian ketiga berisi operasi kelas, yaitu apa yang dapat dilakukan oleh objek dari kelas tersebut, yang diimplementasikan dalam bentuk metode. Operasi juga memiliki tingkat visibility, parameter dengan nama dan tipe dalam tanda kurung, serta tipe yang dikembalikan (return) di belakang, dipisahkan dengan tanda titik dua (:). Gambar 2.10 adalah contoh sebuah kelas pada diagram kelas. Gambar 2.10 Contoh Kelas Sepeda pada Diagram Kelas Penyewaan Sepeda Pada Gambar 2.10, sepeda menunjukkan nama kelas. Kelas tersebut memiliki empat atribut, yaitu id, tipe, merek, dan hargasewa, serta lima operasi, yaitu sethargasewa(), gethargasewa(), getid(), gettipe(), dan getmerek(). Atribut id dan harga sewa memiliki tipe bilangan bulat, sedangkan atribut tipe dan merek memiliki tipe rangkaian huruf. Keempat atribut tersebut memiliki private visibility. Operasi sethargasewa() memiliki parameter bilangan bulat. Keempat operasi lainnya akan mengembalikan nilai, dimana harga sewa dan id dalam tipe bilangan bulat, sedangkan tipe dan merek dalam bentuk rangkaian huruf.

19 Diagram kelas juga menunjukkan hubungan antara kelas. Hubungan antara kelas dan sub-kelas ditandai dengan tanda panah dengan kepala kosong, dimana panah mengarah kepada kelas yang superior. Hubungan ini disebut sebagai generalisasi. Terdapat pula hubungan asosiasi, ditandai dengan garis lurus dengan label nama. Hubungan lainnya, yaitu agregasi dan komposisi, melambangkan suatu kelas yang terdiri dari kelas-kelas lainnya, ditandai dengan tanda belah ketupat. Agregasi ditandai dengan belah ketupat kosong, sedangkan komposisi ditandai dengan belah ketupat berisi. Gambar 2.11 menunjukkan contoh dari sebuah diagram kelas Gambar 2.11 Contoh Diagram Kelas Mengenai Kuda 4. Diagram urutan (Sequence Diagram) Diagram urutan adalah diagram UML yang menggambarkan logika dari sebuah kasus penggunaan dengan cara menggambarkan bagaimana objek berinteraksi satu sama lain. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima di antara objek dan dalam urutan apa (Whitten & Bentley, 2007, p. 659).

20 Gambar 2.12 Contoh Diagram Urutan Dalam diagram urutan terdapat beberapa notasi yang digunakan dalam mengilustrasikan diagram, yaitu (Whitten & Bentley, 2007, p. 660): 1. Aktor (Actor) Aktor berinteraksi dengan objek kelas antarmuka. 2. Kelas Antarmuka (Interface class) Interface class adalah kotak yang mengindetifikasikan kode kelas dari tampilan antarmuka. 3. Kelas Pengawas (Controller class) Setiap kasus penggunaan akan memiliki satu atau lebih kelas pengawas, digambar dengan notasi yang sama dengan kelas antarmuka dan diberi tanda <<controller>>. 4. Kelas Entitas (Entity classes) Kelas entitas adalah kotak tambahan untuk setiap kesatuan yang membutuhkan kolaborasi dalam tahap-tahap urutan. 5. Pesan (Messages) Pesan digunakan untuk menyampaikan metode dari setiap objek. 6. Activation bars Activation bars adalah kotak yang berfungsi untuk mengidentifikasikan waktu keberadaan dari setiap objek yang ada. 7. Pesan Balasan (Return messages) Pesan balasan adalah jawaban atas pesan yang disampaikan oleh suatu objek.

21 8. Pemanggilan Sendiri (Self-call) Pemanggilan sendiri adalah sebuah objek yang dapat mengirimkan pesan ke objek itu sendiri. 9. Bingkai (Frame) Bingkai digunakan untuk menandakan area pada diagram yang mengalami perulangan (looping), mengalami seleksi (alternative), atau memiliki sebuah ketentuan (optional) 2.1.5 Diagram Alir (Flowchart) Diagram alir adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Diagram alir menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Diagram alir biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Flowchart terbagi atas lima jenis, yaitu : 1. Diagram alir Sistem (System Flowchart) 2. Diagram alir Paperwork / Flowchart Dokumen (Dokumen Flowchart) 3. Diagram alir Skematik (Schematic Flowchart) 4. Diagram alir Program (Program Flowchart) 5. Diagram alir Proses (Process Flowchart) Simbol-simbol diagram alir yang biasanya dipakai adalah simbol-simbol diagram alir standar yang dikeluarkan oleh ANSI dan ISO. (Subrata, 2010) Simbol-simbol ini dapat dilihat pada Tabel 2.1 berikut ini :

22 Tabel 2.1 Simbol Flowchart Standar (Subrata, 2010:9-13) Nama Simbol Arti Input/Output Merepresentasikan Input data atau Output data yang diproses atau Informasi Proses Mempresentasikan operasi Penghubung Anak Panah Penjelasan Keluar ke atau masuk dari bagian lain flowchart khususnya halaman yang sama Merepresentasikan alur kerja Digunakan untuk komentar tambahan Keputusan Keputusan dalam program Predefined Process Rincian operasi berada di tempat lain Preparation Pemberian harga awal Terminal Points Awal.akhir flowchart Punched Card Input/Output yang menggunakan kartu berlubang Dokumen I/O dalam format yang dicetak

23 Nama Simbol Arti Magnetic Tape I/O yang menggunakan pita magnetik Magnetic Disk I/O yang menggunakan disk magnetik Magnetic Drum Online Storage Punched Tape Manual Input Display I/O yang menggunakan drum magnetik I/O yang menggunakan penyimpanan akses langsung I/O yang menggunakan pita kertas berlubang Input yang dimasukkan secara manual dari keyboard Output yang ditampilkan pada terminal Manual Operation Operasi Manual Communication Link Offline Storage Transmisi data melalui channel komunikasi Penyimpanan yang tidak dapat diakses oleh komputer secara langsung

24 2.1.6 Bahasa Pemrograman Python Python merupakan salah satu bahasa pemrograman multi paradigma yang mendukung pemrograman berorientasi objek, prosedural dan fungsional (Kuchling, 2015). Hal ini memungkinkan suatu program ditulis dalam beberapa pendekatan sekaligus. Misalnya, antar muka grafis dibuat dalam bentuk orientasi objek, sedangkan pemrosesan dalam bentuk fungsional atau prosedural. Python disusun oleh Guido van Rossum yang dimulai pada akhir dekade 1980 di Institusi Riset Matematika dan Ilmu Komputer Nasional (Centrum voor Wiskunde en Informatica), Belanda (Venners, 2003). Sejak saat itu, Python menjadi sangat terkenal di kalangan penyusun program. Bahasa pemrograman Python memberikan berbagai fitur seperti variasi tipe data, penggunaan kelas, penggabungan kode ke dalam bentuk modul dan paket, penggunaan pengecualian dalam menangani kesalahan, tipe data yang kuat dan dinamis serta otomasi manajemen memori. Holden (2015) menyebutkan beberapa kelebihan dari bahasa ini, antara lain: - Sintaks yang elegan sehingga kode mudah dibaca - Bahasa yang mudah digunakan, sehingga banyak digunakan untuk pembuatan prototype - Banyaknya jumlah library standar - Interaktif, sehingga kode pendek dapat diuji dengan mudah - Mudahnya ekstensi dengan modul - Dapat ditanamkan pada aplikasi untuk membuat antar muka yang dapat diprogram. - Dapat digunakan pada berbagai sistem operasi, termasuk Windows, MacOS dan lainnya. - Bersifat Open Source Dalam penyusunan program, versi Python yang digunakan adalah Python 2.7.9. Beberapa library dalam Python yang digunakan adalah sebagai berikut: a. NumPy NumPy adalah paket Python untuk komputerisasi sains. Paket ini mencakup aplikasi array dan aljabar linear, Transformasi Fourier dan kemampuan angka acak (NumPy Developers, 2013). Numpy dapat digunakan untuk menampung data dalam bentuk multi dimensi, sehingga

25 mudah diintegrasikan dengan berbagai jenis basis data. Dalam penyusunan program, NumPy yang digunakan adalah versi 1.8.2-7 b. Pandas Pandas adalah paket dari Python yang menyajikan struktur data yang cepat, fleksibel, dan ekspresif untuk bekerja dengan data yang relational atau terlabel secara mudah dan intuitif (McKinney & PyData Development Team 2015:1). Pandas bertujuan untuk mempermudah penyusun program berbahasa Python berhadapan dengan data dunia nyata yang kebanyakan berupa data-data yang tersusun dalam tabel. Pandas mampu bekerja dengan beberapa jenis data-data tabel, adapun data-data tersebut adalah sebagai berikut: 1. Tabel data yang berkolom heterogen, seperti yang ada pada SQL dan Microsoft Excel 2. Data kumpulan waktu yang terurut dan acak. 3. Matriks yang acak baik homogen dan heterogen dengan baris dan kolomnya. 4. Data-data statistikal. Tipe struktur data yang digunakan oleh Pandas adalah Series (satu dimensi) dan Dataframe (dua dimensi) dan Pandas sudah terintegrasi dengan NumPy. Dalam penyusunan program, Pandas yang digunakan adalah versi 0.16.2. c. Matplotlib Matplotlib adalah library untuk membuat plot dua dimensi (The Matplotlib Development Team, 2015). Hasil dapat ditamplikan dalam bentuk sebaran titik-titik, diagram garis, diagram batang, histogram, spektrum, dan lain-lain. Penyusun program juga memiliki kontrol atas model titik, garis, bidang, huruf, sumbu, dan berbagai unsur lainnya dalam tampilan hasil. Matplotlib juga mencakup mplot3d, sehingga hasil yang dapat ditampilkan tidak hanya dalam bentuk dua dimensi, namun juga tiga dimensi (The Matplotlib Development Team, 2015). Hasil mplot3d bersifat interaktif, memungkinkan pengguna untuk memperbesar dan memperkecil, serta melakukan rotasi pada gambar.

26 Pada proses penyusunan program, Matplotlib yang digunakan adalah versi 1.4.2-6 2.1.7 PyQt PyQt adalah binding untuk aplikasi Qt buatan Digia yang dapat digunakan pada berbagai sistem operasi, termasuk Windows, MacOS, dan Linux (Riverbank Computing Limited, 2015). Kelas pada Qt menggunakan mekanisme sinyal komunikasi antar objek yang aman namun berpasangan secara longgar, sehingga komponen piranti lunak yang dapat digunakan berulang-ulang dapat dengan mudah dibuat. Qt juga mencakup Qt Designer, yaitu sebuah aplikasi yang untuk mendesain antar muka grafis. Qt Designer memungkinkan pembuatan widget, dialog, dan main window lengkap dengan hanya melakukan drag-and-drop pada form (Python Software Foundation, 2015). Dengan menggunakan Qt Designer, tiap perubahan pada halaman yang telah dibuat dapat dilihat secara langsung. Berkas yang dibuat dalam Qt Designer dapat diubah menjadi berkas Python. Kontrol terhadap antar muka grafis yang dibuat dapat ditambahkan dalam bentuk kode Python. Hal ini menjadi suatu kelebihan dari PyQt, dimana kemudahan desain yang disediakan oleh Qt dapat dimanipulasi dengan bahasa Python yang cenderung mudah dipelajari. Tampilan aplikasi Qt Designer ditunjukkan pada Gambar 2.13

27 Gambar 2.13 Tampilan Qt Designer 2.2. Teori dari Aspek Matematika 2.2.1 Persamaan Diferensial Parsial Persamaan diferensial parsial (PDP) merupakan salah satu bentuk dari persamaan diferensial. Persamaan diferensial adalah suatu persamaan untuk fungsi tertentu yang menghubungkan nilai dari fungsi tersebut dengan derivatifnya. (Chasnov 2009, p.14). Menurut Chasnov, derivatif atau turunan suatu fungsi (misalkan fungsi y), didefinisikan sebagai penurunan garis tangen terhadap kurva y = f(x) pada titik (x, y). Derivatif dari fungsi suatu fungsi satu peubah dari fungsi tersebut disebut sebagai atau. Persamaan diferensial parsial adalah persamaan dengan fungsi yang bergantung pada dua atau lebih variabel bebas. Orde dari persamaan diferensial parsial adalah turunan tertinggi yang muncul pada persamaan diferensial parsial tersebut (Pudjaprasetya 2012, p. 2). Misalkan diketahui fungsi dua peubah u(x,y), dan bentuk umum dari persamaan diferensial parsial orde dua adalah:

28 (2.1) Maka secara berurut notasi dari turunan parsial pertama dan turunan parsial kedua fungsi u terhadap x adalah: (2.2) (2.3) dan secara berurut notasi dari turunan parsial pertama dan turunan parsial kedua u terhadap y adalah: (2.4) (2.5) serta, turunan parsial kedua dari persamaan (2.1) terhadap y adalah: (2.6) Persamaan diferensial parsial merupakan alat untuk memodelkan suatu permasalahan yang melibatkan fungsi multivariabel yang tidak diketahui dan jumlah perhitungannya terlalu banyak. Pemodelan yang dimaksud umumnya akan dikerjakan dalam bentuk pemodelan berbasis komputer. Persamaan diferensial parsial bisa diaplikasikan pada pemodelan berbagai fenomena alam seperti suara, panas, elektrostatis, elektrodinamis, dinamika fluida, elatisitas dan mekanika kuantum. Persamaan diferensial parsial sendiri mampu menangani permasalahan sistem dinamis multidimensional yang tidak bisa diselesaikan oleh persamaan diferensial biasa. 2.2.2 Persamaan Panas Persamaan difusi adalah persamaan diferesial parsial orde dua yang bertipe hiperbolik. Persmaan ini diformulasikan berdasarkan prinsip

29 kesetimbangan energi. Dimisalkan terdapat suatu batang penghantar yang panjangnya L yang diberikan panas pada salah satu sisi, dan u(x,t) menyatakan suhu pada posisi x saat waktu t yang diilustrasikan dalam Gambar 2.14 Gambar 2.14 Ilustrasi Batang yang Mengalami Distribusi Panas Pada gambar 2.12 terlihat batas kiri yang dilambangkan dengan x dan batas kanan yang merupakan koordinat uji dengan merupakan selisih jarak antar batas uji. Persamaan difusi dapat diperoleh melalui formulasi integral. Internal energi dari elemen batang uji adalah, sedangkan laju perubahannya bergantung pada fluks masuk dikurangi fluks ke luar. (2.7) Dikarenakan batas kiri dan batas kanan x dan tidak bergerak sehingga (2.8) Dikarenakan relasi diatas berlaku untuk setiap x dan, maka integral bernilai nol, atau u(x,t) memenhui persamaan. Jika berikutnya dimisalkan diberlakukan hukum Ficks: yang

30 berarti fluks energi sebanding dengan gradien temperatur, dengan yang melambangkan konduktivitas termal lebih besar dari 0, maka u(x,t) memenuhi persamaan difusi (2.9) Dengan k adalah representatif dari formula. Persamaan (2.9) adalah persamaan yang dipakai dalam permasalahan distribusi panas dan terdapat tiga tipe syarat batas yaitu: syarat batas tipe Dirichlet jika nilai u diketahui, syarat batas tipe Neumann jika turunan dari u diketahui, dan syarat batas tipe Robin: jika nilai dari u diketahui dan turunannya diketahui (penggabungan dari Dirichlet dan Neumann). 2.2.3 Persamaan Panas dalam Keadaan Tunak (Laplace Equation) Persamaan Panas Steady State adalah Persamaan Panas yang berlaku pada keadaan stabil atau kondisi uji tidak terpengaruh oleh waktu yang teraplikasikan pada bahan padat. Keadaan tersebut diilustrasikan pada Gambar 2.15 Gambar 2.15 Ilustrasi perpindahan panas dalam kondisi tunak Gambar 2.13 menjelaskan bahwa objek diinsulasi untuk menjaga kestabilan suhu dan perpindahan panas hanya terjadi sepanjang sumbu x.

31 Untuk fungsi u(x,y,z,t) dari tiga dimensi jarak (x,y,z) dan variabel waktu t maka persamaan dalam keadaan tunak adalah: (2.10) atau secara umum pada sembarang koordinat: (2.11) dimana adalah konstanta untuk thermal diffusivity bernilai positif dan u(x,y,z,t) adalah nilai suhu dari objek uji. Thermal diffusivity adalah kemampuan dari sebuah material untuk menyimpan panas. Pada perhitungan matematis umumnya, thermal diffusivity dianggap bernilai 1. Persamaan (2.11) ini juga disebut sebagai Persamaan Laplace dan untuk penelitian ini, penulis membatasi hanya pada dimensi jarak kedua, sehingga persamaan yang akan dipakai adalah: (2.12) 2.2.4 Metode Beda Hingga Metode beda hingga adalah suatu metode numerik yang dapat digunakan untuk memecahkan persamaan diferensial secara diskrit, terutama persamaan diferensial parsial yang tidak dapat diselesaikan secara analitik (Chaudry 2008, p. 368). Konsep dasar metode ini adalah membentuk petak-petak ruang dan waktu (grid). Petak-petak ini digunakan sebagai acuan untuk menemukan solusi pada koordinat tempat dan waktu tertentu yang terwakilkan sebagai titik pada petak-petak tersebut. Metode beda hingga mengaplikasikan penggunaan deret Taylor. Deret Taylor adalah hampiran dari sebuah fungsi yang merupakan penjumlahan dari turunan-turunan fungsinya. Notasi umum dari deret Taylor memiliki bentuk sebagai berikut:

32 (2.13 ) atau (2.14 ) Terdapat tiga pendekatan dalam metode beda hingga, yaitu beda maju (forward difference), beda mundur (backward difference), dan beda pusat (central difference). Ketiga pendekatan ini didapatkan dengan menurunkan deret Taylor pada orde 1. 1. Beda Maju Pendekatan jenis ini didasari oleh penurunan order pertama Persamaan (2.13) yang merupakan deret Taylor bentuk penjumlahan seperti berikut: (2.15) (2.16) (2.17) 2. Beda Mundur Pendekatan jenis ini didasari oleh penurunan order pertama Persamaan (2.14) yang merupakan deret Taylor bentuk pengurangan seperti berikut: (2.18) (2.19)

33 (2.20) 3. Beda Pusat Untuk mendapatkan beda pusat, kita harus menggabungkan formula beda maju dan beda mundur dengan melakukan operasi pengurangan sebagai berikut: (2.21) (2.22) (2.23) Pada persamaan (2.23), adalah turunan fungsi f terhadap x dan dapat didekatkan sebagai yang mewakili nilai f pada titik x i. Error yang terjadi karena pemotongan nilai yang ada pada persamaan (2.16) dan persamaan (2.19) atas dasar keterbatasan orde dari deret Taylor yang diketahui disebut error diskritisasi. Ketiga metode beda hingga tersebut dapat digunakan sebagai cara untuk menyelesaikan masalah persamaan diferensial parsial. Misalkan terdapat fungsi dimana dan adalah variabel bebas. Maka, dapat dibuat bidang petak seperti Gambar 2.16, dimana i adalah indeks dari x dan j adalah indeks dari t.

34 Gambar 2.16 Petak Beda Hingga (Chaudry, 2008: p. 371) 2.2.5 Metode Ghost Point pada Domain Sembarang Pada domain atau batasan uji yang berbetuk sembarang seperti Gambar 2.17, seringkali dijumpai permasalahan pendekatan beda hingga yang melampaui domain (Ghost Point) seperti yang diilustrasikan pada gambar 2.18 dan gambar 2.19 Gambar 2.17 Domain Uji yang Berbentuk Sembarang Gambar 2.18: Permasalahan Ghost Point pada Skema Beda Pusat Satu Dimensi

35 Gambar 2.19: Permasalahan Ghost Point pada Skema Beda Pusat Dua Dimensi Pada Gambar 2.18 dan Gambar 2.19 terlihat titik uji yang dilambangkan dengan titik biru tua menggunakan titik-titik dengan tampilan (layout) garis tebal yang ada disekitarnya sesuai dengan skema beda pusat. Namun terlihat terdapat dua titik atau lebih yang termasuk dalam skema tetapi berada diluar domain berwarna merah (ditandai dengan titik abu-abu yang memiliki garis tebal). Dikarenakan permasalahan tersebut, muncullah sebuah titik yang tepat mengenai domain untuk nantinya nilai dari titik tersebut akan mewakili nilai dari titik-titik Ghost Point (titik-titik berwarna abu-abu yang memiliki garis tebal yang digunakan pada skema). Titik ini akan dinamakan pada penulisan formulasi berikutnya. Untuk mendapatkan nilai dari titik terdapat 4 macam metode pendekatan ekstrapolasi, yaitu Constant Extrapolation, Linear Extrapolation, Quadratic Extrapolation, dan Cubic Extrapolation. Berikut penjelasan dari masing-masing pendekatan ekstrapolasi: 1. Constant Extrapolation: (2.24)

36 Pendekatan jenis ini menyimpulkan bahwa seluruh Ghost Point diluar domain memiliki nilai yang sama dengan nilai titik yang berada tepat pada domain 2. Linear Extrapolation: (2.25) Untuk mencari koefisien a dan b yang akan digunakan untuk mencari Ghost Points, diperlukan sistem persamaan (2.26) adalah titik yang sedang diuji, dan adalah titik yang tepat berada di domain yang berada di antara titik uji dengan Ghost Points. 3. Quadratic Extrapolation: (2.27) Untuk mencari koefisien a, b dan c yang akan digunakan untuk mencari Ghost Points, diperlukan sistem persamaan (2.28) adalah titik yang sedang diuji, dan adalah titik yang tepat berada di domain yang berada di antara titik uji dengan Ghost Points sementara adalah titik yang berada sebelum titik uji. 4. Cubic Extrapolation: (2.29) Untuk mencari koefisien a, b, c dan d yang akan digunakan untuk mencari Ghost Points, diperlukan sistem persamaan (2.30)

37 adalah titik yang sedang diuji, adalah titik yang tepat berada di domain yang berada di antara titik uji dengan Ghost Points, adalah titik yang berada sebelum titik uji, dan adalah titik yang berada dua posisi sebelum titik uji. Keempat metode ekstrapolasi tersebut dapat diilustrasikan pada Gambar 2.20 dibawah ini: Gambar 2.20 Ilustrasi Keempat Metode Ekstrapolasi Ghost Points Pada nantinya, nilai akan menggantikan nilai Ghost Points yang terkena skema beda hingga yang digunakan, dalam hal ini adalah beda pusat. Seluruh metode ekstrapolasi ini membutuhkan jarak dari titik uji ke titik semu yang ada tepat pada batasan domain.

38