Anda di halaman 1dari 171

1

FORM BIODATA DAN PENILAIAN MATA KULIAH


ANALISIS SISTEM DAN PENGAMBILAN KEPUTUSAN 2019

Nama Praktikan :
Kelas Paralel :
Kelompok :
Judul Project :
No Hp / Email :

NO Judul Nilai Nilai Total


individu Kelompok Nilai
1 DIGITAL BUSINESS ECOSYSTEM
2 STRUKTUR DAN ANALISIS SISTEM
3 ENTERPRISE ARCHITECTURE
4 BUSINESS PROCESS ARCHITECTURE
5 DATA ARCHITECTURE, DATA MOVEMENT
ARCHITECTURE, DAN OBJECT ORIENTED
ARCHITECTURE
6 XML ARCHITECTURE
7 PENGEMBANGAN GRAPHICAL USER
INTERFACE APLIKASI
8 PENGANTAR PEMROGRAMAN ANDROID
9 PENYUSUNAN BASIS DATA
10 PENGEMBANGAN APLIKASI LANJUT
11 PRESENTASI PROJECT
1

KATA PENGANTAR
2

TATA ATURAN RESPONSI ASPK (TIN 316)

1. Aturan Responsi ASPK


a. Setiap praktikan harus datang minimal 15 menit sebelum praktikum dimulai,
toleransi keterlambatan 15 menit dari jadwal.
b. Kuis dilakukan sebelum responsi dimulai.
c. Pakaian sesuai SOP perkuliahan di IPB.
d. Menaati SOP bekerja dalam Laboratorium Komputer.

2. Tutorial
Tutorial dilakukan untuk memperjelas materi yang telah disampaikan di
ruang kelas melalui tatap muka. Tutorial dalam bentuk responsi disesuaikan
dengan waktu dan materi yang diajarkan pada masing-masing kelompok. Diskusi
dan pengerjaan tugas responsi diarahkan dan dibantu oleh beberapa orang asisten
sesuai kesepakatan dengan pengajar.

3. Kelas Responsi
Aktivitas kelas responsi menyediakan kesempatan untuk praktik keahlian
analisis, desain dan pengembangan sistem serta teknik pengambilan keputusan
bagi penyelesaian masalah-masalah industri maupun dunia nyata. Pekerjaan di
kelas responsi dilakukan secara formal, di mana kehadiran mahasiswa harus
100%. Ketidakhadiran hanya sah melalui surat izin resmi Ketua Departemen
Teknologi Industri Pertanian.

4. Penugasan Kelompok
Penugasan kelompok yang ditentukan pada awal perkuliahan
beranggotakan maksimal enam orang. Setiap kelompok harus memiliki manager
yang bertanggung jawab memimpin kelompoknya dalam mengerjakan tugas-tugas
yang diberikan setiap minggunya dan anggota kelompok yang mesing-masing
memiliki fungsi dan peran tertentu. Kelompok tersebut akan melakukan pekerjaan
perancangan sistem selama satu semester dan setiap individu tidak diperkenankan
untuk pindah-pindah kelompok yang sudah ditentukan diawal. Setiap kelompok
diberikan penugasan untuk menganalisis, dan mendesain suatu sistem berbasis
Digital Business Ecosystem yang menyelesaikan permasalahan yang tidak
sederhana dan berdimensi kompleks. Setiap kelompok harus melakukan diskusi di
luar jam perkuliahan dengan waktu dan tempat disesuaikan pada kesepakatan
masing-masing anggota kelompok. Pelaporan dikumpulkan setiap minggu saat
responsi. Peran dan kontribusi masing-masing anggota dalam kelompok dinilai
dan dimonitor oleh masing-masing asisten melalui manager tim. Keberhasilan
project kelompok terhadap sistem yang dikerjakan sangat ditentukan oleh sikap
kerjasama dan inisiatif antara anggota dan asisten. Mahasiswa yang dinilai tidak
berkontribusi positif dalam setiap penugasan kelompok, berhak mendapat penalty
pengurangan nilai dan status indisipliner.
3

5. Pelaporan Tugas Kelompok


Setiap kelompok wajib memiliki logbook yang akan digunakan sebagai
pelaporan hasil perkembangan pengerjaan tugas setiap minggunya. Logbook harus
memiliki konten-konten isi sebagai berikut :
- Cover logbook dapat didesign sekreatif mungkin dan wajib mencantumkan
nomor golongan, nomor kelompok dan tema project yang didapat.
- Halaman kedua berisi nama dan NIM anggota kelompok serta peran masing-
masing.
- Pelaporan pekerjaan kelompok selama satu minggu yang memuat hari dan
tanggal Minggu/Pertemuan, tema diskusi, absensi kehadiran anggota, hasil
diskusi, dan dokumentasi akhir hasil kerjaan setiap minggu, dan kotak nilai
serta paraf asisten pengajar.
- Logbook dikumpulkan setiap minggu.
- Revisi wajib dikerjakan setiap kelompok dan dikumpulkan sesuai kesepakatan
dengan asisten pengajar.

Hari. Tanggal :
Minggu/Pertemuan :

Tema Diskusi :
Absensi Kehadiran
Anggota :
1. (Kontribusi
(Nama) (Hadir/Tidak) Kerja) 1.(Ttd)
2. 2.(Ttd)
3. 3.(Ttd)
dst. dst.
Hasil Diskusi :
(Hasil dari diskusi setiap kali pertemuan, wajib tulis
tangan)

Dokumentasi :
(DOKUMENTASI DIADAKAN KETIKA HASIL SUDAH FIX, disesuaikan
dengan bab yang dibahas)

Paraf Nilai

*Kotak nilai dibuat ketika hasil


akhir

6. Presentasi dan Demo Sistem


Setiap kelompok harus mempresentasikan sistem yang dirancang pada minggu
akhir semester berupa prototype sistem yang diimplementasikan pada aplikasi
mobile serta laporan dan bahan presentasi. Penggunaan Laboratorium komputer
4

diperkenankan dalam mengerjakan yang diberikan dengan catatan melakukan izin


terlebih dahulu kepada asisten pengajar.
5

DAFTAR ISI

KATA PENGANTAR ii
TATA ATURAN RESPONSI ASPK iii
PEMAHAMAN KONSEP DIGITAL BUSINESS ECOSYSTEM 1
1.1 Konsep dan Pengertian Digital Business Ecosystem 1
1.2 Jaringan penyusun Digital Business Ecosystem 2
1.3 Struktur rangkaian antara Business dan Digital Ecosystem 2
1.4 Digital Ecosystem Services 3
1.5 Pengelolaan Proyek 4
TUGAS TERSTRUKTUR 1 10
STRUKTUR DAN TAHAPAN ANALISIS SISTEM 12
2.1 Definisi Sistem 12
2.2 Proses Pengembangan Sistem 16
2.3 Analisis Sistem 18
2.4 Entitas Sistem 22
2.5 Ruang Lingkup Fase Definisi Sistem 23
TUGAS TERSTRUKTUR 2 32
ENTERPRISE ARCHITECTURE 33
3.1 Enterprise 33
3.2 Architecture 33
3.3 Enterprise Architecture 33
3.4 7 Ware 35
3.5 Asumsi 7 Ware Berdasarkan Contoh Kasus 37
3.6 Enterprise Architecture Modelling dengan SAP PowerDesigner 39
TUGAS TERSTRUKTUR 3 52
BUSINESS PROCESS ARCHITECTURE 53
4.1 Process Hierarchy Diagram (PHD) 53
4.2 Business Process Diagram (BPD) 54
4.3 Data Flow Diagram (DFD) 56
4.4 Business Process Model and Notation (BPMN) 2.0 60
TUGAS TERTSRUKTUR 4 65
5.1 Data Architecture 66
5.2 Data Modelling dengan PowerDesigner 66
5.3 Data Movement Architecture 75
6

TUGAS TERSTRUKTUR 5 87
XML ARCHITECTURE 88
6.1 XML 88
6.2 XML Architecture 95
6.3 Pemodelan XML dengan Sybase PowerDesigner 95
TUGAS TERSTRUKTUR 6 99
PENGEMBANGAN GRAPHICAL USER INTERFACE APLIKASI 100
7.1 Android Graphical User Interface (GUI) 100
7.2 Komponen Android GUI 101
7.3 Android Studio 106
7.4 Library 107
TUGAS TERSTRUKTUR 7 109
PENGANTAR PEMROGRAMAN ANDROID 110
TUGAS TERSTRUKTUR 8 120
PENYUSUNAN BASIS DATA 121
9.1 Pengenalan SQLite 121
9.2 SQLite Syntax 122
9.3 Membuat Database SQLite 125
9.4 Menggunakan Fungsi Insert Data 129
9.5 Menggunakan Fungsi View/Select Data 132
9.6 Menggunakan Fungsi Update Data 133
9.7 Menggunakan Fungsi Delete Data 135
TUGAS TERSTRUKTUR 9 137
PENGEMBANGAN APLIKASI LANJUT 138
10.1 Mengintegrasikan Library pada Android Studio 138
10.2 Clustering 141
10.3 Klasifikasi (Classification) 146
10.4 Feature Selection (Relief) 151
10.5 Association Rules 153
10.6 Library Fuzzylite 155
TUGAS TERSTRUKTUR 10 156
DAFTAR PUSTAKA 157
1

BAB I
PEMAHAMANKONSEP DIGITAL BUSINESS ECOSYSTEM

Tujuan- mahasiswa mampu,


 Mengidentifikasi dan memahami spesies bisnis, ekosistem bisnis, dan
bentuk interaksi di dalam ekosistem.
 Memahami dan mengadopsi konsep dan pengertian Digital Business
Ecosystem dalam penerapan dunia nyata.
 Memahami dan menetapkan layer penyusun Digital Business Ecosystem
yang relevan dengan kasus yang dihadapi.
 Memberikan contoh adopsi konsep DBE pada inovasi aplikasi sistem yang
diusulkan.

1.1 Konsep dan Pengertian Digital Business Ecosystem


Konsep Digital Business Ecosystem muncul pada tahun 2002 melalui
penambahan “digital” di bagian depan “business ecosystem” pada unit ICT
(Information and Communication Technology) direktorat General Information
Society of the European Commision. Sebagian percaya bahwa konsep Digital
Business Ecosystem muncul pada tahun 2003, namun lebih fokus secara eksklusif
kepada Negara-negara berkembang. Secara umum istilah tersebut mengacu pada
intrepetasi baru dari konsep “mempercepat pengembangan sosio-ekonomi
menggunakan ICT”, yang menekankan coevolution antara representasi business
ecosystem dan penggunaan teknologi digital untuk mengembangkannya (digital
ecosystem). Digital Business Ecosystem tersusun atas tiga kata yang masing-
masing mengandung makna sebagai berikut (Morabito 2014) :
1.1.1 Digital (ecosystem)

Merupakan infrastruktur teknis, berbasis pendistribusian teknologi


perangkat lunak secara peer to peer (P2P) yang mentransportasikan, menemukan,
menghubungkan layanan dan informasi melalui internet yang memungkinkan
transaksi menggunakan jaringan dan distribusi semua objek digital menggunakan
infrastruktur tersebut. Sepeti layaknya “organisme dunia digital”, infrastruktur ini
diekspresikan oleh bahasa, yang dapat diintrepertasikan dan diproses (oleh
perangkat lunak komputer maupun manusia), Contohnya: aplikasi perangkat
lunak, pelayanan, pengetahuan, taksonomi, folksonomi, ontology, penggambaran
kemampuan, reputasi dan hubungan kepercayaan, modul pelatihan, framework,
hukum.
1.1.2 Business (ecosystem)

Merupakan masyarakat ekonomi yang didukung oleh lembaga organisasi


yang saling berinteraksi maupun individual – “organisme dunia digital”.
Masyarakat ekonomi memproduksi barang dan jasa dan nilai tambahnya untuk
konsumen, dimana mereka merupakan salah satu bagian dari ekosistem tersebut.
1.1.3 Ecosystem

Istilah pada dunia biologi yang menggaris bawahi ketergantungan untuk


semua aktor pada suatu lingkungan (adanya proses persaingan sesuai kemampuan
2

mereka dan aturan-aturan tertentu). Pada kasus Digital Business Ecosystem,


terdapat model yang identik antara prilaku biologis dan prilaku software,
berdasarkan implikasi teori sains komputer dan mengarah ke evolusi,
mengorganisir diri, dan penyesuaian diri pada lingkungan (Evolutionary
Environment atau EvE)
Berdasarkan tiga istilah kata diatas maka dapat disimpulkan bahwa Digital
Business Ecosystem adalah suatu sistem interaksi bisnis yang terjadi secara peer
to peer (P2P) antara aktor-aktor pada ekosistem bisnis yang saling terkait pada
lingkungan digital yang dihubungkan menggunakan suatu jaringan information
communication Technology (ICT), sehingga aktor-aktor pada lingkungan
ekosistem tersebut dapat saling berkomunikasi dan bertukar informasi bisnis
menggunakan infrastruktur digital tersebut.

Busines Models, UML

Gambar 1.1 Model tumpukan layer penyusun digital business ecosystem (Natchira
et al. 2007)
1.2 Jaringan penyusun Digital Business Ecosystem
Digital ekosistem tersusun atas tiga jaringan yaitu ICT, sosial, dan
pengetahuan. Koneksi jaringan diaktifkan melalui jaringan internet dan world
wide web yang tumbuh sepanjang jaringan yang sudah ada dan dasar-dasar sosial,
professional, kolaborasi, dan jaringan bisnis antara pemerintah, peneliti, pelaku
bisnis, perusahaan dan rekan-rekan kerja. Kecepatan dan komunikasi yang lebih
luas disusun dari kekuatan teknologi yang telah ada, tersusun dari material-
material ekonomi berbasis manufaktur menuju basis pelayanan ekonomi, ilmu
pengetahuan dan distribusi rantai nilai.

1.3 Struktur rangkaian antara Business dan Digital Ecosystem


Struktural rangkaian penyusun tersebut terbentuk dari kerja sama antara
dua aktor atau entitas yang saling menguntungkan criteria deterministic structural
yang saling tergantung dan simetris satu dengan lainnya. Ide tersebut akan
memperoleh relevansi yang lebih besar ketika kita mempertimbangkan bahwa
digital ecosystem memasukkan representasi komputasi digital dari aspek mikro
3

ekonomi dan makro ekonomi pada bisnis ekosistem. Digital ecosystem merupakan
representasi dari bisnis ekosistem, yang digunakan untuk mencari dan
menemukan agregat dan rekomendasi pelayanan jasa, reorganisasi rantai nilai, dan
partner kerjasama bisnis yang potensial. Digital ecosystem berpengaruh pada
struktur enterprise dan jaringan sosial bisnis, sementara bisnis ekosistem
mengubah struktur organisme digital ecosystem. Digital ecosystem dan bisnis
ekosistem, ketika disatukan, akan membentuk suatu kesatuan inovasi ekosistem
bisnis yang dinamis.

Gambar 1.2 Structural Couling antara Business Ecosystem dan Digital Ecosystem
1.4 Digital Ecosystem Services
Konsep framework untuk DBE servis muncul pertama sekali dari
pekerjaan Soluta.net yang berdasarkan Arsitektur DBE requirements. Framework
ini identik dengan pengaplikasian Digital Ecosystem Sevice pada Ecosystem
Oriented Architecture. Setiap Digital Ecosystem Services sangat spesifik
menggunakan sekumpulan bahasa formal yang tujuannya mendefinisikan model
bisnis (Business Model) dengan baik sesuai interface teknis pada platform yang
diimplementasikan. Business model dapat ditransformasikan dan dipetakan
kedalam model platform spesifik tanpa intervensi khusus dari pengguna.
4

Gambar 1.3 Conceptual Framework for DBE Services


1.5 Peningkatan Keandalan (Reliability)

1.5.1 Keandalan (Reliability)


Keandalan (reliability) adalah kemungkinan bahwa mesin atau peralatan
pada suatu industri akan berfungsi dengan baik untuk waktu yang telah
ditentukan, keandalan (reliability) dinyatakan dengan mengetahui seberapa besar
kemungkinan suatu sistem tidak gagal dalam periode tertentu. Keandalan
pengukuran dapat digunakan untuk menentukan berapa lama suatu sistem
beroperasi dan seberapa cepat waktu pemulihan ketika suatu kegagalan sistem
(Wireman 2015). Cabang ilmu matematika yang sering digunakan untuk
menganalisis keandalan adalah ilmu statistik yang didalamnya terdapat metode-
metode untuk meramalkan waktu hidup suatu mesin atau komponen.

1.5.2 Pemeliharaan Pencegahan (Preventive Maintenance)


Keandalan (reliability) mesin dapat dipertahankan atau dipertahankan
dengan menerapkan sistem manajemen pemeliharaan (maintenance) yang
direncanakan dan dilakukan dengan baik. Maintenance adalah semua kegiatan
5

yang terlibat dalam pemeliharaan sistem mesin atau peralatan untuk tetap bekerja
(Heizer et al 2017). Hal tersebut sejalan dengan pengertian menurut Dervitsiotis
(1981), Maintenance adalah semua kegiatan yang berkaitan dengan pemeliharaan
mesin atau peralatan untuk tetap dalam kondisi siap beroperasi, dan jika ada
kerusakan maka mesin atau peralatan dapat dikembalikan dalam keadaan baik.
Dalam menjaga mesin atau peralatan agar tetap dalam kondisi yang diinginkan,
maintenance yang berperan dalam menjaga kondisi mesin atau peralatan yaitu
preventive maintenance.
Preventive maintenance atau pemeliharaan pencegahan adalah perawatan
yang dilakukan pada interval (jadwal) atau kriteria yang telah ditentukan untuk
mengurangi kemungkinan kerusakan atau degradasi fungsi mesin atau peralatan
(Bengtsson 2004). Berdasarkan pemahaman tersebut, preventive maintenance atau
pemeliharaan pencegahan dapat dibagi menjadi dua, yaitu:
• Predetermined maintenance. Aktivitas perawatan dilakukan berdasarkan
interval waktu tertentu atau jumlah penggunaan tanpa penyelidikan sebelumnya
terhadap kondisi mesin atau peralatan.
• Conditionbased maintenance. Kegiatan pemeliharaan preventif berdasarkan
kinerja atau parameter pemantauan (parameter pemantauan). Pengawasan kondisi
dan parameter conditionbased maintenance (CBM), menurut Bengtsson, dapat
dilakukan berdasarkan jadwal yang ditentukan atau berkelanjutan. Bengtsson
menjelaskan bahwa pemeliharaan prediktif adalah bagian dari CBM dimana
pemeliharaan prediktif menggunakan teknik perkiraan berdasarkan data
pemantauan untuk memperkirakan kondisi mesin di masa depan.

1.5.3 Total Quality Management (TQM)


Ditengah persaingan ekonomi yang semakin kompetitif perusahaan
dituntut untuk terus berinovasi dan melakukan perbaikan-perbaikan untuk
mencapai kinerja yang optimal. Salah satu hal yang menjadi fokus peningkatan
kinerja yaitu perbaikan yang dilakukan secara berkelanjutan pada aktivitas yang
tefokus pada konsumen seperti kualitas. Kualitas dapat didefinisikan sebagai suatu
hal yang dapat mempertemukan kebutuhan dan harapan konsumen secara
berkelanjutan (Bhat dan Cozzolino 1993).
Salah satu praktik manajemen yang digunakan untuk terus melakukan
perbaikan yang berkelanjutan adalah Total Quality Management. TQM diartikan
sebagai pendekatan untuk meningkatkan persaingan, efektivitas, dan fleksibilitas
dari seluruh organisasi (Gaspersz 2001). Total Quality Management
membutuhkan never-ending process dalam perbaikan yang terus-menerus, dimana
perbaikan terus menerus tersebut meliputi orang, peralatan, pemasok, bahan, dan
prosedur. Dalam melaksanakan management kualitas ada beberapa tools yang
sering digunakan yaitu Check sheets, Scatter diagrams, Cause and effect diagram,
Pareto chart, Flow chart, Histogram, Statistical Process Cotrol (SPC).
6

Gambar 1 Tools TQM

1.5.4 Six Sigma

TQM menjadi praktik manajemen yang berfokus pada kepuasan pelanggan


dan hanya dijabarkan secara filosofis. Salah satu bentuk penyempurnaan TQM
yaitu six sigma dengan berfokus pada pengendalian kualitas secara keseluruhan.
Six sigma dapat diartikan sebagai prinsip penerapan pengendalian mutu yang
ketat, fokus, dan sangat efektif (Pyzdek 2003). Six sigma berfokus kepada
permintaan konsumen, pencegahan terjadinya cacat produksi, dan penghematan
biaya produksi. Konsumen tentunya menginginkan kualitas produk yang bebas
cacat sehingga terbentuknya produk cacat ini harus dicegah.
Konsep six sigma merupakan perbaikan secara terus menerus (continous
improvement) untuk mengurangi cacat adalah dengan meminimalisasi variasi
yang terjadi pada proses produksi (Dewi 2012). Hendradi (2006) menyatakan
General Electric (GE) sebagai salah satu perusahaan yang sukses menerapkan
Six sigma menyatakan, "Six sigma merupakan proses disiplin tinggi yang
membantu dalam mengembangkan dan menghantarkan produk mendekati
sempurna. Metode six sigma tidak hanya dapat diterapkan pada industri
manufaktur untuk mengurangi cacat produksi menuju zero defect namun juga
dapat digunakan untuk meminimalisir waktu siklus, waktu tunggu, dan hal-hal
lain yang berkaitan dengan penyempurnaan proses yang ada dalam organisasi. Inti
dari metode six sigma adalah berusaha untuk meminimumkan varian dalam
produksi karena varian merupakan hal yang tidak diinginkan dan dapat
menyebabkan produk melewati batas spesifikasi terendah (LSL) atau batas
7

spesifikasi tertingginya (USL). Usaha tersebut dilakukan melalui pendekatan yang


sistematis serta berdasarkan data dan fakta yang terjadi. Kemampuan analisa
menjadi sangat penting karena six sigma hanyalah suatu metode yang
memfasilitasi analisa masalah supaya lebih sistematis dan rinci.
Six sigma memiliki prinsip-prinsip dasar yang digunakan sebagai
pedoman, yaitu berfokus pada pelanggan, kerja sama dan partisipasi dari semua
elemen yang terdapat pada perusahaan, serta proses perbaikan dan pembelajaran
yang dilakukan secara terus-menerus. Tujuan jangka panjang dari six sigma ini
ialah melakukan suatu proses penting pada tingkat kemampuan sigma enam atau
nol kesalahan.
Terdapat dua macam tahapan yang dapat digunakan dalam six sigma.
Tahapan tersebut adalah DMAIC dan DMADV. Tahap DMAIC (Define, Measure,
Analyze, Improve, Control) dilakukan apabila proses produksi telah berjalan dan
perbaikan dilakukan terhadap produk, proses, atau pelayanan yang sudah ada,
sedangkan tahapan DMADV (define, measure, analyze, design, verify) dilakukan
apabila proses yang ada masih dalam tahap perancangan (Pyzdek 2003).
Penelitian ini menggunakan tahapan terstruktur yaitu DMAIC. DMAIC sendiri
merupakan siklus perbaikan kualitas sistematik berdasarkan pengetahuan dan
fakta, berfokus pada pengukuran-pengukuran baru serta dapat menghilangkan
langkah-langkah yang tidak produktif dalam rangka mencapai target six sigma
(Gaspersz 2002 dalam Rukmayadi dan Sugiarti 2015).
Define merupakan langkah pertama dalam pendekatan six sigma. Langkah
ini digunakan untuk mengidentifikasi masalah penting dalam proses yang sedang
berlangsung. Pembelajaran mengenai proses produksi termasuk ke dalam tahap
define. Tahap define bertujuan untuk menentukan dan memahami pokok
permasalahan, tujuan penelitian, serta lingkup proses. Tahap ini juga dilakukan
untuk mendefinisikan rencana-rencana tindakan yang harus dilakukan untuk
melaksanakan peningkatan dari setiap proses yang diamati. Selanjutnya dilakukan
proses pengukuran atau measure sebagai tindak lanjut dari tahap define.
Tahap measure merupakan jembatan dari tahap define untuk menuju
langkah berikutnya yaitu analyze. Tujuan dari tahap ini adalah menilai tingkat
kinerja saat ini dari proses yang ada, melakukan pengumpulan dan pengukuran
data, menentukan CTQ (critical to quality), mendefinisikan standar-standar
pengukuran, dan melakukan validasi terhadap pengukuran tersebut. CTQ adalah
atribut-atribut yang sangat penting untuk diperhatikan karena berkaitan langsung
dengan kebutuhan dan kepuasan pelanggan (Gaspersz 2003).
Setelah dilakukan pengukuran (measure), kemudian dilanjutkan dengan
tahap analyze. Tujuan dari tahap ini adalah untuk mengetahui dan
mengidentifikasi akar permasalahan yang menjadi penyebab timbulnya variasi
dalam proses. Tahap analyze ini dilakukan dengan memanfaatkan data atau
informasi pada tahap measure untuk mulai menentukan hubungan sebab akibat
pada proses. Analisis mulai masuk ke dalam hal-hal detail, meningkatkan
8

pemahaman terhadap proses dan masalah, serta mengidentifikasi akar masalah.


Pendekatan six sigma pada langkah ini menerapkan statistical tool untuk
memvalidasi akar permasalahan seperti pembuatan control chart (Gaspersz 2003).
Tahap akhir dalam penelitian ini adalah tahapan improve yang merupakan
validasi dari rancangan pengendalian mutu dengan six sigma. Tahap akhir dalam
penelitian ini adalah tahapan improve. Secara ringkas tahapan yang akan
dilakukan pada penelitian ini adalah mempelajari proses produksi, melakukan
observasi permasalahan serta risiko pada proses produksi, dan melakukan validasi
hasil observasi kepada pakar.
Ada beberapa kelebihan yang dimiliki oleh six sigma yaitu: six sigma
bukan hanya metode untuk memperbaiki kualitas namun juga merupakan strategi
dan budaya bisnis karena berfokus pada pengukuran secara terperinci dan
bertahap, penggunaan metode statistik yang memadai dan pengurangan
variabilitas sebagai tujuan utama, dapat menghilangkan langkah-langkah yang
tidak produktif dalam rangka mencapai target six sigma, pihak manajemen
berperan aktif dalam semua tahapan, gaya manajemen adalah top down, bersifat
dinamis, dan dapat menggunakan berbagai metode sebagai bagian dari six sigma
(Montgomery 2009).
Tidak ada proses atau sistem yang benar-benar stabil, dan bahkan dalam
situasi terbaik sekalipun, gangguan terjadi. Gangguan ini dapat mengakibatkan
proses bergeser dari target, peningkatan standar deviasi proses, atau keduanya.
Konsep proses six sigma adalah salah satu cara untuk memodelkan perilaku ini.
Seperti semua model, ini mungkin tidak sepenuhnya benar, tetapi telah terbukti
menjadi cara yang berguna untuk memikirkan kinerja proses. Six-sigma memiliki
fokus tambahan untuk menciptakan nilai di seluruh organisasi dan bagi para
pemangku kepentingannya (pemilik, karyawan, pelanggan, pemasok, dan
masyarakat pada umumnya) (Montgomery 2009).
Standar Six Sigma dalam proses produksi dikenal dengan istilah
defectively rate of process dengan nilai sebesar 3,4 defektif di setiap juta
unit/proses. Artinya, dalam satu juta unit/proses hanya diperkenankan mengalami
kegagalan/cacat produk sebanyak 3,4 unit/proses. Dengan demikian, derajat
konsistensi Six Sigma adalah sangat tinggi dengan simpangan baku yang sangat
rendah.

1.5.6 Peta kendali P chart


p-Chart adalah salah jenis control chart (Peta Kendali) yang berfungsi
untuk mengukur proporsi defective (kegagalan/cacat) pada produksi. Peta kendali
p (pengendali proporsi kesalahan) merupakan salah satu peta kendali atribut yang
digunakan untuk mengetahui apakah cacat produk yang dihasilkan masih dalam
batas yang disyaratkan atau tidak. Dapat dikatakan juga sebagai perbandingan
antara banyaknya cacat dengan semua pengamatan. Untuk membuat p chart
diperlukan batas contorl bawah dan batas control atas serta centre line.
9
10

Keterangan
p : proporsi kesalahan pada setiap sample

x : banyaknya produk defect pada setiap sample


n : banyaknya sample yang diambil dalam inspeksi

1.5.7 Fairlure Mode And Effect Analysis (FMEA)


Setiap proses produksi memiliki kemungkinan untuk menghasilkan produk
cacat. Produk cacat tersebut dapat disebabkan oleh berbagai macam faktor. Salah
satu cara yang dapat dilakukan untuk menentukan faktor utama penyebab cacat
produksi dan untuk mengelola proses dalam sistem produksi adalah dengan
melakukan pendekatan FMEA (Fairlure Mode And Effect Analysis). FMEA
adalah sebuah metode evaluasi kemungkinan terjadinya sebuah kegagalan dari
sebuah sistem, desain, proses atau servis untuk dibuat langkah penanganannya
(Yumaida 2011). Dalam pendekatan metode FMEA setiap kemungkinan (faktor
penyebab cacat produksi) dikuantifikasi untuk memperoleh prioritas penanganan.
Terdapat tiga hal yang dijadikan sebagai parameter dalam metode FMEA yaitu
frekuensi timbulnya gangguan, tingkat kerusakan yang dihasilkan, dan tingkat
deteksi. Ketiga hal tersebut dapat dijelaskan sebagai berikut:
1. Frekuensi (occurrence)
Dalam menentukan occurrence ini dapat ditentukan seberapa banyak
gangguan yang dapat menyababkan sebuah kegagalan pada operasi perawatan
dan kegiatan operasional pabrik.
2. Tingkat Kerusakan (severity)
Dalam menentukan tingkat kerusakan (severity) ini dapat ditentukan
seberapa serius kerusakan yang dihasilkan dengan terjadinya kegagalan proses
dalam hal operasi perawatan dan kegiatan operasional pabrik.
3. Tingkat Deteksi (detection)
Dalam menentukan tingkat deteksi ini dapat ditentukan bagaimana
kegagalan tersebut dapat diketahui sebelum terjadi. Tingkat deteksi juga dapat
dipengaruhi dari banyaknya kontrol yang mengatur jalanya proses. semakin
banyak kontrol dan prosedur yang mengatur jalanya sistem penanganan
11

operasional perawatan dan kegiatan operasional pabrik maka diharapkan


tingkat deteksi dari kegagalan dapat semakin tinggi.
Analisa metode FMEA dilakukan dengan menganalisa nilai occurrence,
severity, dan detection. Data yang dianalisa tersebut berasal dari kuisioner yang
telah diisi oleh para ahli. Kuisioner yang diisi para ahli adalah berupa faktor-
faktor yang dapat menjadi risiko dalam proses produksi. Terdapat penilaian
menggunakan angka yaitu dari tingkat paling rendah hingga tingkat paling tinggi.
Skala yang digunakan adalah skala 1-10. Data tersebut menggambarkan nilai nilai
occurrence, severity, dan detection untuk setiap risiko. RPN menegaskan tingkat
prioritas dari suatu failure. Nilai RPN bergantung pada nilai severity rating,
occurance rating, dan detection rating. Rumus yang digunakan untuk menghitung
RPN yaitu :

RPN = severity rating x occurance rating x detection rating


RPN = S x O x D

1.5.8 Contoh Studi Kasus Six Sigma


Suatu perusahaan pengalengan jamur kancing berencana akan melakukan
ekspor ke Amerika serikat dan Timur Tengah. Perusahaan tersebut berusaha untuk
memberikan mutu yang terbaik dan harga yang terjangkau agar dapat bersaing
dengan produk sejenis. Namun dalam proses produksinya masih ditemukan
produk yang mengalami defect, diantarayanya akibat kerusakan pada kemasan.
Kerusakan tersebut secara tidak langsung dapat menyebabkan kerugian sehingga
perlu dilakukan pengendalian kualitas untuk mengoreksi proses produksi. Salah
satu metode pengendalian kualitas yang akan digunakan adalah six sigma. Metode
ini dapat memperkecil adanya variasi yang mendekati zero defect dan perusahaan
dapat menuju level 6sigma. Hal ini akan berdampak terhadap citra perusahaan dan
kepercayaan konsumen sehingga dapat memenuhi kualifikasi untuk melakukan
ekspor.
12

TUGAS TERSTRUKTUR 1

1. Bentuklah sebuah grup (1 grup 5-6 orang) untuk menyusun suatu rancangan
sistem berbasis Digital Business Ecosystem yang akan diselesaikan selama 1
semester. Garis besar kerja peyusunan tugas ini terdiri dari 3 aspek utama
yaitu Analisis sistem, Desain sistem, Implementasi ke framework
(Deployment). Sesuai dengan 3 layer penyusun DBE yang telah dijelaskan
sebelumnya

Analisis system

Desain Sistem

Execution
(Deployment)

2. Setelah grup terbentuk tentukan anggota tim yang akan menjadi manager,
analis, desain kreatif, dan dokumentasi dengan masing-masing fungsinya
sebagai berikut
a. Manager : Memimpin dan bertanggung jawab atas
kelompoknya
b. Analis : Melakukan analisis terhadap permasalahan
Permasalahan sistem yang diajukan
c. Desain Kreatif : Pusat kreatifitas dan ide yang membuat hasil akhir
Deployment menjadi menarik dan user friendly
d. Dokumentasi : Melakukan perekaman jejak tugas yang dilakukan
secara bertahap, seperti kesekretariatan dan
sebagainya

3. Tentukan Judul Analisis dan Sistem DBE yang menurut anda sangat prospektif
untuk dikerjakan selama satu semester berkaitan Total Quality Management.
Contoh kasusnya seperti diatas.
13

4. Tentukan Latar Belakang, tujuan, dan pengertian dari judul sistem yang anda
ajukan (sertakan jurnal sebagai acuan dari penulisan latar belakang min. 3
jurnal terbaru mengenai Total Quality Management terutama six sigma).

Setiap kelompok harus memiliki logbook yang akan digunakan sebagai


dokumentasi pekerjaan selama 1 semester, yang harus ada pada logbook adalah
nomor kelompok dan foto dan peran masing-masing kelompok (pada halaman
awal), lalu setiap pertemuan dibuat judul pekerjaan,apa yang dikerjakan, absensi,
dokumentasi pekerjaan dan kerjaan selanjutnya.
14

BAB II
STRUKTUR DAN TAHAPAN ANALISIS SISTEM

Tujuan -Mahasiswa mampu:


 Mendefinisikan sistem sesuai dengan kasus masing-masing kelompok.
 Mengidentifikasi atribut pembangun sistem secara detail.
 Mendeskripsikan konteks input-proses-output kasus yang relevan dalam
dunia nyata.
 Menyusun matriks pernyataan masalah sesuai dengan kasus.
 Memberikan contoh inovasi aplikasi sistem yang menjadi solusi dari
pernyataan masalah.
 Menyusun matriks cause-effect analysis dan system improvement
objectives

2.1 Definisi Sistem

Pada bab ini dibahas lapisan paling atas (upper layer) dalam kerangka DBE,
di mana pemahaman kesisteman sebagai gambaran permasalahan dunia nyata
disusun dan diarahkan pada pembuatan abstraksinya. Pemahaman terhadap sistem
merupakan awal yang menentukan arahan setiap stakeholders yang terlibat dan
menjadi dasar bagaimana tantangan ide dasar sistem dapat dijawab.
Sistem berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma)
yang merupakan sekumpulan elemen yang dioperasikan secara terintegrasi,
masing-masing dengan kemampuan yang ditetapkan secara eksplisit, bekerja
secara sinergis untuk melakukan Command and Control (C2) pengolahan nilai
tambah yang memungkinkan pengguna untuk memenuhi kebutuhan operasional
yang ditentukan dengan hasil tertentu dan probabilitas keberhasilan.
Contoh dari sistem dunia nyata dapat ditemukan pada sistem ekonomi,
sistem pendidikan, sistem keuangan, sistem distribusi, sistem transportasi dan
sebagainya. Jika kita menganalisis sistem tersebut, kita akan menemukan bahwa
mereka menghasilkan kombinasi produk, by-products, atau jasa. Sistem akan
melibatkan individu (organisasi), produk, dan tools untuk berbagai tingkatan
perencanaan, operasi, intervensi atau dukungan sumber daya manusia.
Setiap sistem memiliki atribut penyusun umum yang dijelaskan dalam tabel
berikut:

Tabel 2.1Atribut umum penyusun sistem


Atribut Deskripsi
Sistem memiliki paling kurang satu atau lebih
stakeholders yang berperan sebagai pemilik,
Sytem stakeholders administrator, operator, instruktor
(pemangku kepentingan sistem) pemeliharaan, dan pengguna akhir yang
mendapatkan keuntungan serta
mempromosikan produk atau jasa.
System life cycle Setiap sistem, produk, dan jasa selalu memiliki
(siklus hidup sistem) siklus hidup.
15

Sistem memiliki wilayah atau “lingkup


pengaruh” yang terikat dengan jarak operasi,
cakupan wilayah, kegiatan, dan efektivitas.
Manusia telah belajar untuk memperluas
wilayah cakupan dengan menggunakan aset
System operating domain
lain yang memungkinkan sistem untuk
(wilayah operasi sistem)
“memperkuat” jangkauan.

Contoh: pesawat terbang memiliki wilayah


operasi tertentu yang mendukung kondisi
bahan bakar, muatan, dan cuaca.
Sistem beroperasi dalam suatu tatanan sistem
Higher order system yang lebih tinggi yang dapat secara otoritatif
(tatanan sistem yang lebih tinggi) mengatur, mengarahkan, atau mengontrol
operasi dan kinerja.
Sistem melakukan misi atau tugas dalam
System mission memenuhi tujuannya untuk mencapai hasil
(misi sistem) kinerja berdasarkan keinginan Higher order
system dan pengguna.
Sistem memiliki seperangkat tujuan dan
sasaran yang kuantitatif, terukur, dapat diuji,
dan dapat diverifikasi.
Mission goals and performance
Tujuan dan sasaran tersebut memberikan dasar
objectives
fundamental untuk output dari sumber daya
(tujuan misi dan sasaran kerja)
serta investasi oleh pemilik sistem dan
pemegang saham yang didasarkan pada
prestasi pencapaian.
System operating constraints and Sistem melakukan misi atau tugas dengan
condition kendala operasi dan kondisi yang dikontrol
(kendala operasi sistem dan oleh Higher order system.
kondisi)
Sistem memiliki sebuah tingkat kesesuaian
Operational suitability operasi untuk pengguna dalam hal mengatur
(kesesuaian operasi) dan memenuhi kebutuhan misi serta
pengaplikasian sistem.
Setiap sistem dikarakterkan berdasarkan
kemudahan dalam dipelajari serta pemakaian
Operational usability
yang memungkinkan pengguna untuk
(kegunaan operasi)
menjalankan misinya dengan kesalahan
(human error) yang minimal.
Setiap sistem membutuhkan tingkat
Operational availability
ketersediaan untuk memenuhi kebutuhan dari
(ketersediaan operasi)
pengguna.
Sistem dikarakterkan pada peluang sukses
System realibility
menjalankan sasaran misi untuk sebuah kondisi
(keandalan sistem)
lingkungan operasi, skenario, dan durasi misi.
System capacity Setiap sistem membutuhkan beberapa tingkat
(kapasitas sistem) kapasitas untuk menyimpan tenaga, energy,
16

bahan bakar, makanan, data, perlenkapan, alat,


dan sebagainya.
Setiap sistem memiliki biaya, efektivitas
Operational effectiveness
teknik, dan peluang sukses berdasarkan
(efektivitas operational)
penyelesaian misi.
Setiap sistem memiliki derajat efisiensi dalam
System efficiency mengubah dan mengkonversi energi,
(efisiensi sistem) memproses bahan mentah, informasi, atau
menanggapi isyarat dan tanda.
Setiap sistem, produk, atau jasa membutuhkan
sumber daya seperti tenaga, pendanaan, barang
yang terpakai, dan barang yang terbuang;
System sustainment
perbaikan dan pemeliharaan; tambahan seperti
(keberlanjutan sistem)
suku cadang, persediaan, dan pelatihan uintuk
memastikan keberhasilan dalam mencapai
tujuan.
Setiap sistem dan misi kemungkinan memiliki
ancaman dari pesaing atau lawan dalam
System threats
lingkungan operasi yang mungkin
(ancaman sistem)
menunjukkan keramahan, agresif, niat atau
tindakan bermusuhan.
Sistem terdiri dari beberapa tingkatan,
System architecture operasional, logis (fungsional), dan struktur
(arsitektur sistem) fisik atau arsitektur yang menyediakan
kerangka kerja.
Setiap sistem, berdasarkan definisi, memiliki
kemampuan seperti pengolahan, kekuatan,
penggunaan fungsi matematika yang
System capabilities
memungkinkan untuk memproses atau
(kemampuan sistem)
mengubah input seperti bahan baku, informasi,
rangsangan, dan memberikan respon dalam
bentuk pola perilaku, produk, dan by-products.
Setiap sistem dirancang agar bisa diaplikasikan
System application
untuk penggunaan tunggal atau banyak
(aplikasi sistem)
pengguna, serta dapat digunakan kembali.
Setiap sistem membutuhkan operasi, perilaku,
dan deskripsi fisik operasional yang
mencirikan arsitektur sistem, elemen sistem,
interface, respon perilaku, dan pelaksanaan
System description fisik.
(deskripsi sistem) Masing-masing karakter tersebut ditunjukan
oleh kemampuan sistem dan parameter kinerja
teknik yang harus diartikan sebagai persyaratan
dalam System Performance Specification
(SPS).
Modes of operation Setiap system memiliki mode operasi yang
(mode operasi) memungkinkan pengguna untuk melakukan
dengan aman Command and Control (C2)
17

untuk mencapai kinerja, berdasarkan hasil dan


tujuan.
Setiap sistem memiliki keadaan operasi yang
States of operation
berhubungan dengan penyebarannya, kesiapan
(keadaan operasi)
operasional, atau kondisi fisik.
Setiap sistem dan komponennya memiliki
status operasional yang berkaitan dengan
Operational status
operasi saat ini seperti on/off, aktif/nonaktif,
(status opersional)
energized/deenergized, open/close, gagal,
terdegradasi, dikalibrasi, dan sebagainya.
Setiap sistem memiliki Operational Health
System readiness
Status yang menunjukan keadaan kesiapan saat
(kesiapan sistem)
ini untuk melakukan tugas dari pengguna.
Setiap sistem memiliki waktu proses dan
System responsiveness and kinerja berdasarkan kemampuannya untuk
sensitivity menanggapi atau untuk memproses bahan
(tanggapan dan sensitivitas sistem) baku, ransangan, isyarat, dan memberikan
respon.
Setiap sistem memiliki antarmuka internal dan
System interfaces eksternal yang memungkinkan untuk
(antarmuka sistem) berinteraksi dengan Operating Environment
serta diri sendiri.
Sistem diimplementasikan dengan jenis
System technology
teknologi yang memiliki kinerja, berdasarkan
(teknologi sistem)
tingkat kehidupan dan kegunaan.
Setiap sistem menghasilkan:
 Nilai, dengan menambah produk
dan/atau melakukan pelayanan yang
memberikan keuntungan bagi
System product, services, and by- Stakeholders.
product  By-product yang dapat mempengaruhi
(sistem produk, layanan, dan by- kinerja sistem dan Operating
product) Environtment.

Contoh: by-product mencangkup panas,


produk limbah seperti sampah, uap
pembuangan, dan pewarnaan.
Setiap sistem terdiri dari taktik operasional dan
System survivability karakter fisik yang memungkinkan untuk
(ketahanan sistem) bertahan hidup menghadapi sistem eksternal
pada Operating Environtment.
Setiap sistem membutuhkan tingkat
System agility ketangkasan untuk merespon peluang dan
(ketangkasan sistem) ancaman pada Operating Environtment agar
memastikn itu aman dan sukses.
System stability Setiap sistem membutuhkan tingkat stabilitas
(stabilitas sistem) untuk mencapai misi operasi.
System operators Setiap sistem membutuhkan satu atau lebih
18

orang sebagai operator yang memiliki


(operator sistem)
kemampuan untuk misi dan operasi.
Setiap sistem membutuhkan pengelola untuk
System maintainers
melakukan tindakan pencegahan dan perbaikan
(pengelola sistem)
agar memastikan tercapainya tujuan.
Beberapa sistem, terutama sistem yang
System instructor kompleks, memerlukan instruktur untuk
(instruktur sistem) memastikan bahwa pengguna mahir dalam
mengoperasikan sistem untuk melakukan misi.
Setiap sistem, produk, atau layanan memiliki
unsur resiko terkait pencapaian misi, dan
System risk Operating Environtment termasuk:
(risiko sistem)
 Probabilitas terjadinya risiko
 Konsekuensi dari kegagalan.
System environtmental, safety, and ES&H menyebabkan beberapa risiko pada
health (ES&H) sistem manusia-operator, pengelola, property
(Sistem lingkungan, milik pribadi/publik, dan lingkungan hidup.
keselamatan,dan kesehatan)
System total cost of ownership Setiap system memiliki TCO yang
(TCO) diakumulasikan selama siklus hidupnya,
(total biaya kepemilikan sistem) termasuk biaya tambahan, dan biaya pensiun.

2.2 Proses Pengembangan Sistem

Pengembangan sistem dilakukan apabila proses penilaian terhadap sistem


yang lama menunjukkan kinerja yang sudah tidak memadai atau tidak bisa
memenuhi kebutuhan dengan adanya perkembangan organisasi atau perusahaan.
Siklus atau tahapan pengembangan sistem terdiri dari perencanaan, analisa,
desain, implementasi, dan maintenance. Siklus ini juga biasa disebut System
Development Life Cycle (SDLC) seperti pada Gambar 1.1.

Gambar 2.1System Development Life Cycle (SDLC) (modifikasi Wasson 2006


dan Parnell 2011)
19

Sebagian besar organisasi atau stakeholders memiliki sebuah proses


pengembangan sistem yang terdiri dari kumpulan proses atau langkah awal
standar yang mereka harapkan akan menjadi tetap diikuti pada setiap proyek
pengembangan sistem. Beberapa langkah yang dilakukan dalam proses
pengembangan sistem dimulai dari inisiasi sistem, analisis sistem, desain sistem,
dan implementasi sistem. Tahapan penyelesaian untuk menjalankan langkah
tersebut secara detail dapat dilihat pada Tabel 2.2.

Tabel 2.2Langkah dalam pengembangan sistem


Proses Pengembangan Sistem Tahapan Umum Penyelesaian Masalah
1. Menentukan ide untuk
Inisiasi Sistem pengembangan sistem
2. Mengidentifikasi masalah
1. Menganalisis dan memahami
permasalahan yang terjadi
Analisis Sistem
2. Mengidentifikasi solusi yang
dibutuhkan dan diharapkan
1. Mengidentifikasi alternatif-alternatif
solusi dan memilih tindakan yang
Desain Sistem
terbaik
2. Mendesain solusi yang dipilih
1. Mengimplementasi solusi yang
dipilih
Implementasi Sistem 2. Evaluasi hasil (jika masalah tidak
terselesaikan, kembali pada step 2
atau 3)

1. Inisiasi sistem
Inisiasi sistem merupakan langkah awal untuk merencanakan sebuah
pengembangan sistem dengan mendefinisikan terlebih dahulu batasan
masalah, tujuan, jadwal dan biaya yang dibutuhkan untuk menyelesaikan
masalah tersebut. Dengan menetapkan jadwal dan biaya proyek terhadap
ruang lingkup dan tujuan awal, maka kita juga menetapkan baseline terhadap
setiap stakeholders agar bisa menerima realita bahwa setiap perubahan di
kemudian hari dalam tujuan ruang lingkup akan berpengaruh terhadap jadwal
dan biaya.
2. Analisis sistem
Langkah berikutnya dalam pengembangan sistem adalah analisis
sistem. Analisis sistem dimaksudkan untuk memberikan pemahaman yang
lebih kepada tim untuk menyelesaikan masalah. Dalam analisis sistem kita
menganalisis dan memahami permasalahan yang terjadi serta
mengidentifikasi solusi yang mungkin dibutuhkan untuk menyelesaikan
masalah yang terjadi. Penjelasan lebih detil mengenai analisis sistem akan
dijelaskan pada sub bab pada bab ini.
2. Desain sistem
Pada langkah ini, yang kita butuh kan adalah menggali lebih spesifik
semua alternatif solusi yang kita miliki. Ketika solusi dari alternatif yang ada
20

terpilih dan diterima, fase selanjutnya adalah mengembangkan teknik-teknik


yang ada untuk mengimplementasikannya pada solusi akhir.
3. Implementasi sistem
Langkah akhir pada pengembangan sistem adalah implementasi
sistem dimana solusi yang telah dipilih akan diimplementasikan pada suatu
perangkat lunak (software) dan perangkat keras. Ketika telah
diimplementasikan, sistem tersebut harus diuji dan dievaluasi untuk
memastikan terpenuhinya kebutuhan pengguna.

2.3 Analisis Sistem

Analisis sistem merupakan suatu teknik pengembangan sistem yang


menguraikan sebuah sistem ke dalam komponen-komponen bagiannya. Hal ini
ditujukan untuk mempelajari seberapa baik bagian komponen tersebut bekerja dan
berinteraksi untuk mencapai tujuan. Analisis sistem dikendalikan oleh
kepentingan bisnis dari pemilik sistem dan pengguna sistem. Selain itu, analisis
sistem ditujukan untuk pengetahuan, proses, dan komunikasi building blocks dari
perspektif pemilik dan pengguna sistem.
Dokumentasi dan keluaran yang dihasilkan dari tahapan analisis sistem
tersimpan dalam sebuah repository. Repository merupakan suatu lokasi (atau
kumpulan lokasi) di mana analis sistem, desainer sistem, dan pengembang sistem
menyimpan seluruh dokumentasi yang berasosiasi dengan satu atau lebih sistem
atau proyek. Repository biasanya diimplementasikan dalam beberapa kombinasi
sebagai berikut:
 Suatu diretorik jaringan pada word processing, spreadsheet, dan file computer
lainnya yang terdiri dari project correspondence files, reports, dan data.
 Satu atau lebih Computer Aided Software Engineering (CASE)tool
dictionaries atau encyclopedia alat bantu yang bisa dipakai bagi
pengembangan sistem.
 Dokumentasi tercetak (seperti yang disimpan di binders dan system libraries)
 Sebuah intranet web site untuk komponen-komponen diatas (berguna untuk
komunikasi).
Secara fundamental, analisis sistem adalah tentang penyelesaian suatu
masalah. Terdapat banyak pendekatan yang dapat dilakukan untuk menyelesaikan
suatu permasalahan, begitu pula dengan pendekatan dalam analisis sistem. Berikut
ini merupakan beberapa pendekatan yang dapat dilakukan pada analisis sistem.
Pendekatan ini sering dilihat sebagai competing alternatifs. Pada realitanya,
kombinasi pada beberapa pendekatan dapat dan sebaiknya saling melengkapi satu
sama lainnya.

a) Model-Driven Analysis Approaches


Model-driven analysis merupakan sebuah pendekatan penyelesaian
masalah yang menekankan pada gambar dari model sistem pada dokumen
dan melakukan validasi pada sistem yang sudah ada atau yang akan dibuat.
Nantinya model sistem tersebut akan menjadi cetak biru untuk mendesain dan
membangun suatu perbaikan sistem.
Structured analysis, information engineering, dan object-oriented
analysis merupakan contoh dari model-driven analysis. Model ini
21

menggunakan gambar untuk mengkomunikasikan permasalahan bisnis,


kebutuhan, dan solusi, seperti flowchart, hierarchy chart, dan organization
chart.
Saat ini, penerapan model-driven approach dapat dilakukan dengan
bantuan beberapa tools, seperti general-purpose graphic software (Microsoft
Visio) dan repository-based CASE (System Architect, Visible Analyst, atau
Rational ROSE, ataupun Power Designer yang disarankan dalam buku ini).
CASE tools memiliki beberapa keuntungan dalam hal konsistensi dan
kelengkapan analisis yang dilengkapi dengan rule based error checking.
Terdapat tiga pendekatan model-driven analysis yang paling sering
digunakan, yaitu structured analysis, information engineering, dan
pendekatan object oriented. Structured analysis merupakan teknik yang
digunakan untuk menganalisis sistem yang ada dan mendefinisikan
kebutuhan bisnis untuk sistem yang baru, atau keduanya. Model ini
menggambarkan ilustrasi dari setiap komponen sistem, seperti komponen
proses dan yang terkait di dalamnya seperti input, output, dan file. Salah satu
tools yang dapat digunakan untuk memodelkan sebuah proses adalah Data
Flow Diagram yang dapat dilihat pada Gambar 1.2. Model tersebut
menunjukkan aliran data yang melalui proses atau terletak diantaranya dan
menunjukkan tempat dimana data disimpan.

Gambar 2.2Model sebuah proses (Data Flow Diagram)

Pendekatan kedua adalah Information Engineering (IE), yaitu suatu


teknik untuk merencanakan, menganalisis, dan mendesain suatu sistem
informasi. Model IE menggambarkan ilustrasi dan sinkronisasi data dan
proses pada sistem. Model ini lebih berfokus pada struktur dari penyimpanan
22

data pada sistem dibandingkan pada proses. Adapun tool yang digunakan
untuk memodelkan kebutuhan data adalah Entity Relationship Diagram,
dimana contohnya dapat dilihat pada Gambar 1.3.

Gambar 2.3Contoh suatu model data (Entity Relationship Diagram)


Pendekatan yang ketiga adalah Object Oriented, yaitu suatu teknik
model-driven yang mengintegrasikan data dan proses yang terkait ke dalam
objek-objek. Objek-objek tersebut menggambarkan ilustrasi dari objek sistem
dari berbagai perspektif, seperti struktur, perilaku, dan interaksi antar objek.
Pendekatan object oriented dapat dilakukan dengan bahasa pemrograman
java, C++, dan .NETT. Pendekatan object oriented memiliki tools yang
lengkap, yaitu Unified Modeling Langue (UML). Salah satu bentuk dari
diagram UML, yaitu diagram kelas objek, dapat dilihat pada Gambar 3.4.

Gambar 2.4Sebuah model objek menggunakan UML

b) Accelerated System Analysis Approaches


Pengembangan discovery prototyping dan rapid architected merupakan
contoh dari pendekatan analisis sistem accelerated yang berfokus pada
23

pembangunan prototipe untuk lebih cepat dalam mengidentifikasi bisnis dan


kebutuhan pengguna untuk sistem yang baru.
Discovery prototyping merupakan sebuah teknik yang digunakan untuk
membantu mengidentifikasi kebutuhan bisnis pengguna dengan
menggunakan teknologi pengembangan cepat (rapid). Salah satu tools yang
paling umum digunakan oleh sistem analis adalah Microsoft Access yang
digunakan untuk membuat database sederhana, form input pengguna, dan
sample report untuk mengumpulkan respons user dan melaporkan kebutuhan
bisnis yang benar-benar dibutuhkan pengguna. Sedangkan rapid architected
analysis merupakan suatu pendekatan yang mencoba menurunkan model
sistem dari sistem yang sudah ada atau dari discovery prototype. Analisis ini
dapat dilakukan dengan menggunakan reverse engineering tools untuk
generate model sistem dari aplikasi software yang ada atau dari prototipe
sistem. Hasil dari model sistem ini nantinya dapat menjadi blueprint sistem
yang akan dibuat.

c) Requirements Discovery Method


Seorang analis harus memiliki keahlian dalam mengidentifikasi
permasalahan, peluang, dan kebutuhan. Hal ini menyebabkan setiap analisis
sistem membutuhkan beberapa formrequirement discovery. Requirement
discovery merupakan sebuah proses yang digunakan oleh seorang analis
sistem yang digunakan untuk mengidentifikasi atau mengekstraksi
permasalahan dari sistem kebutuhan solusi untuk pengguna sistem. Terdapat
dua teknik yang dapat digunakan untuk melakukan pendekatan ini, yaitu fact-
finding techniques dan joint requirements planning.
Fact-finding techniques, atau biasa disebut pengumpulan informasi
merupa- kan proses mengumpulkan informasi mengenai permasalahan
sistem, peluang, kebu- tuhan solusi, dan prioritas. Teknik yang digunakan
dalam pendekatan ini, antara lain:
 Sampling dari berkas yang sudah ada, seperti dokumentasi, laporan, form,
file, database, dan memo.
 Penelitian dari literatur yang relevan, benchmarking solusi yang sudah ada
dan kunjungan lapang.
 Observasi dari sistem yang ada.
 Mengadakan survei dan memberikan kuesioner kepada pihak manajemen
dan komunitas pengguna.
 Melakukan wawancara kepada manajer, pengguna, dan karyawan yang
terkait dalam sistem.
Selanjutnya, joint requirement planning, yaitu merupakan suatu teknik
yang menggunakan fasilitas workshop untuk memaparkan semua tentang
pemilik sistem, pengguna, analis, dan beberapa desainer dan perancang
sistem untuk ikut serta dalam analisis sistem.

d) Business Process Redesign Methods


Business process redesign (BPR) merupakan aplikasi dari metode
analisis sistem dengan tujuan untuk merubah dan memperbaiki proses bisnis
yang fundamental pada sebuah organisasi, terlepas dari teknologi informasi.
Beberapa proyek BPR berfokus kepada keseluruhan proses bisnis, tanpa
24

memperhatikan automasinya. Setiap proses bisnis yang secara mendalam


mempelajari dan menganalisis adanya bottleneck, pengembalian nilai, dan
kesempatan untuk mengeliminasi ketidakefisienan.
e) FAST Systems Analysis Strategies
Metodologi FAST merupakan metodologi mengintegrasikan semua
pendekatan yang populer ke dalam kumpulan dari metode agile.Metode agile
merupakan integrasi dari beberapa pendekatan analisis dan desain sistem
sebagai pertimbangan untuk permasalahan yang sedang diselesaikan dan
sistem yang sedang dikembangkan.

2.4 Entitas Sistem

Secara gambaran umum suatu sistem digambarkan sebagai suatu entitas


(kesatuan) dimana terdapat input yang masuk ke dalam sistem yang melakukan
proses sehingga keluar sebagai output.
Gambar 1.5 merupakan konstruksi dasar dari sebuah entitas sistem. Secara
perspektif analitis konstruksi ini belum secara gamblang menjelaskan elemen-
elemen penting dari suatu sistem. Konstruksi entitas sistem secara analitis harus
dengan jelas menggambarkan apa yang dikerjakan suatu sistem dan elemen-
elemen didalamnya. Oleh karena itu, konstruksi entitas sistem secara analitis
dapat di gambarkan seperti pada Gambar 1.6.

Gambar 2.5Entitas sistem

Environmen
t

Gambar 2.6Konstruksi sistem entitas


25

Sebagai contoh kasus yang diangkat pada gambar 1.7 yaitu sistem
traceability pada pengolahan produk udang beku. Dalam sistem traceability
tersebut, input dalam entitas sistem dapat dikategorikan sebagai data-data yang
didapat dari produk dan dari proses dalam data tersebut. Stakeholder yang
berperan dalam sistem tersebut adalah unit-unit pengolahan yang berada dalam
industry pengolahan udang beku tersebut, seperti bagian proses, bagian
penumbuhan, dan lain-lain. Peran dari sistem traceability pada perusahaan itu
adalah untuk melakukan capturing data dan proses penelusuran terhadap kode
unik dari produk udang beku tertentu. Sedangkan output yang dihasilkan dari
sistem traceability itu adalah laporan untuk melakukan recall product serta
laporan penelusuran yang berisi informasi terkait dengan produk.

Gambar 2.7System Entity untuk sistem Traceability


2.5 Ruang Lingkup Fase Definisi Sistem

Ruang lingkup merupakan batasan dari proyek atau area dari bisnis dimana
suatu proyek ditujukan. Pada fase ini kita harus mendefinisikan ruang lingkup dari
suatu proyek, permasalahan yang ada, peluang, dan arah dituju suatu proyek. Pada
fase definisi ruang lingkup terdapat beberapa hal yang harus dilakukan, antara
lain:
a) Mengidentifikasi baseline dari permasalahan dan peluang terjadinya masalah.
Salah satu hal yang paling penting untuk mendefinisikan ruang lingkup
adalah dengan membuat garis dasar (baseline) dari permasalahan, peluang,
dan/ atau arah suatu proyek. Setiap permasalahan akan dinilai dari segi
urgency, visibility, tangible, benefit, dan priority. Urgency berarti seberapa
lama suatu permasalahan harus di selesaikan. Visibility, berarti seberapa jauh
sebuah solusi atau sistem yang baru dapat dilihat oleh pengguna dan/atau
executive management. Benefits, berarti perkiraan berapa besar solusi atau
sistem yang baru dapat meningkatkan penerimaan atau menurunkan biaya
Priority, berarti bagaimana prioritas untuk setiap masalah, peluang, atau arah
yang dituju, hal ini berguna bila biaya dan waktu menjadi hambatan atau
batasan. Satu lagi yang harus diperhatikan adalah possible solution, yaitu
menganalisis kemungkinan solusi dari setiap permasalahan, biasanya
26

diekspresikan dengan (a) biarkan saja (b) lakukan perbaikan cepat (quick fix),
(c) lakukan peningkatan pada level sederhana-moderat pada sistem yang
sudah ada, (d) mendesain kembali sistem yang sudah ada, (e) mendesain
sistem yang baru. Contoh analisa permasalahan dapat dilihat pada Gambar
2.8.

Gambar 2.8Matriks pernyataan permasalahan


27

b) Contoh inovasi sebagai solusi permasalahan dunia nyata melalui pendekatan


rekayasa sistem dapat dilakukan secara terpadu.
Dengan ketersediaan akses informasi dan rendahnya biaya kepemilikan
sistem Total Cost of Ownership (TCO), sangat mungkin saat ini membangun
sistem inovasi berbasis IT. Pada buku ini secara runtun akan disediakan
bagaimana tahapan pengembangan dan implementasi sistem ini dapat
dilakukan secara cepat. Prasyarat inovasi yang dimaksud harus efektif dan
efisien menjawab pernyataan masalah dengan mempertimbangkan
kemudahan penggunaan dan kecepatan solusi yang didapat. Pemanfaatan
media sosial serta big data yang sudah semakin umum saat ini sangat
disarankan.
c) Menentukan baseline dari ruang lingkup.
Suatu ruang lingkup dapat dengan mudah didefinisikan dengan
menjawab beberapa bertanyaan berikut:
 Apa tipe data yang mendeskripsikan sistem yang sedang dipelajari?
Sebagai contoh, sebuah sistem informasi penjualan membutuhkan data
seperti konsumen, pemesanan, produk, dan sales representatives.
 Apa proses bisnis yang terlibat dalam sistem yang sedang dipelajari?
Sebagai contoh, pada sebuah sistem informasi penjualan terdapat proses
bisnis untuk manajemen katalog, manajemen konsumen, order entry, order
fulfillment, order management, dan customer relationship management.
 Bagaimana sebaiknya sebuah sistem menampilkan user, locations, dan
sistem lainnya? Sebagai contoh tampilan potensial untuk sebuah sistem
informasi penjualan ialah meliputi customer sales representatives, sales
clerks dan managers, regional sales office, dan accounts receivable and
inventory control informations systems.
d) Menilai baseline dari nilai suatu proyek.
Tahap ini akan menjawab pertanyaan, apakah proyek ini bernilai?
Terdapat beberapa alternatif keputusan, suatu proyek apakah dapat disetujui
atau tidak, dan ruang lingkup proyek dapat ditinjau kembali apakah perlu
dipersempit atau diperluas.
e) Mengembangkan baseline dari jadwal dan anggaran biaya.
Apabila suatu proyek dinilai layak untuk dijalankan, kita dapat
merencanakan suatu proyek secara lebih dalam. Tahap ini dapat dikerjakan
dengan bantuan project management software seperti Microsoft project.
Rencana awal proyek sebaiknya terdiri dari minimal beberapa hal berikut:
 Sebuah pendahuluan dari master plan yang terdiri dari jadwal dan
pembagian sumber daya untuk keseluruhan proyek. Rencana ini dapat
diperbaharui pada setiap fase akhir dari proyek. Hal ini biasanya disebut
sebagai baseline plan.
 Sebuah rencana dan jadwal detail untuk menyelesaikan fase selanjutnya
pada sebuah proyek.
f) Mengkomunikasikan rencana dari proyek.
Pada organisasi secara umumnya, terdapat proyek potensial lebih
banyak dari sumber daya karyawan dan dana yang ada. Hal ini membuat
pentingnya membuat prioritas pada proyek-proyek yang ada. Alternatif
proyek yang telah ditentukan dapat dikomunikasikan kembali dalam suatu
diskusi dengan pihak-pihak yang terkait. Kemampuan berkomunikasi yang
28

efektif merupakan kunci dari suksesnya fase ini. Peserta dari diskusi
sebaiknya ikut serta dalam menentukan ruang lingkup suatu proyek sehingga
dapat menghasilkan keputusan apakah suatu proyek layak untuk dilakukan
atau tidak untuk dijalankan. Apabila telah memperoleh persetujuan dari
system owner dan steering committee, maka proyek dapat dilanjutkan menuju
fase selanjutnya (fase analisis permasalahan).
g) The Problem Analysis Phase
Tujuan dari fase analisis permasalahan adalah untuk mempelajari dan
memahami domain permasalahan dengan baik untuk menganalisis secara
mendalam permasalahan, peluang, dan batasan yang ada. Pada fase ini, kita
mencari jawaban atas pertanyaan, “apakah suatu permasalahan benar-benar
layak untuk diselesaikan?” Dan “apakah sistem yang baru benar-benar
layak untuk dibuat?”. Jawaban atas pertanyaan-pertanyaan ini dapat
ditemukan dengan melakukan beberapa tahapan berikut:

1. Memahami domain dari permasalahan


Keluaran yang diharapkan dari tahapan ini adalah sebuah pemahaman dari
domain permasalahan. Pemahaman tersebut sebaiknya didokumentasikan
sehingga dapat diverifikasi bahwa nada benar-benar memahami domain dari
suatu permasalahan .Beberapa pendekatan dapat digunakan untuk
mendefinisikan domain dari sistem, yaitu:
 Knowledge. Buat daftar semua hal mengenai bagaimana sistem yang ada
menyimpan data (dalam bentuk files, database, forms, dan lainnya .).
Definisikan setiap hal yang berkaitan dengan bisnis. Sebagai contoh:
“Sebuah pesanan merupakan sebuah transaksi bisnis dimana konsumen
melakukan pemesanan terhadap suatu produk”. Setelah itu, kita dapat
membuat daftar seluruh laporan yang dibuat oleh sistem yang ada dan
mendeskripsikan tujuan dan penggunaannya.
 Process. Definisikan setiap business event untuk proses bisnis yang saat
ini diimplementasikan. Sebagai contoh, “seorang customer melakukan
pemesa- nan” atau “customer mengganti pesanannya” atau “customer
membatalkan pesanannya”.
 Communication. Definisikan seluruh lokasi yang dilayani oleh system
yang ada dan seluruh user pada setiap lokasi tersebut. Sebagai contoh,
“saat ini sistem digunakan pada regional sales office di San Diego,
Dallas, Indianapolis, Atlanta, dan Manhattan. Setiap regional sales office
memiliki seorang sales manager, assistant sales manager, administrative
assistant, dan 5 sampai 10 sales clerks, semuanya merupakan pengguna
sistem yang ada. Setiap region juga memiliki 5 s.d 30 sales
representatives yang kerja di lapangan tetapi juga menggunakan sistem
untuk meng-upload pesanan dan transaksi lainnya.
Untuk menganalisis bagaimana suatu sistem berinteraksi dengan dunia di
sekitarnya dan untuk mendetailkan kebutuhan umum dari input dan output
sistem, dapat digunakan context diagram. Contoh dari context diagram dapat
dilihat pada Gambar 2.9 dan dapat dilihat bahwa sebuah system ditunjukkan
sebagai sebuah black box yang ada di tengah diagram. Gambar orang (stick
figures) yang terletak di luar diagram adalah orang, organisasi, dan sistem lain
yang memiliki interaksi dengan suatu sistem. Garis yang ada menunjukkan
29

input (yang memiliki tanda panah ke arah sistem) dan output (yang memiliki
tanda panah keluar sistem) yang dibuat oleh system. Setiap input dan output
diidentifikasi dengan kata benda yang mendeskripsikan input/output tersebut.

Gambar 2.9Contoh context diagram

2. Menganalisis permasalahan dan peluang terjadinya masalah


Analisis permasalahan yang sebenarnya merupakan hal yang sulit untuk
dikuasai terutama oleh analis sistem yang tidak berpengalaman. Salah satu
cara yang efektif untuk menganalisis permasalahan adalah dengan membuat
analisis sebab akibat (cause and effect analysis). Analisis sebab akibat
merupakan sebuah teknik yang digunakan untuk mempelajari suatu
permasalahan dengan menentukan penyebab dan akibat yang ditimbulkan
oleh masalah tersebut.
3. Menganalisis proses bisnis
Tahap ini sebaiknya hanya dilakukan pada proyek business process
redesign (BPR) atau membutuhkan redesain proses bisnis secara signifikan.
Analisis proses bisnis sebaiknya menghindari untuk fokus pada solusi
teknologi informasi hingga proses bisnis benar-benar telah di redesain untuk
mencapai efisiensi maksimum. Beberapa teknik dapat diaplikasikan pada
tahap ini, seperti teknik fact-finding dan mengadakan team meeting.
4. Mengadakan target perbaikan sistem
Target improvement system sebaiknya dibuat dengan pertanyaan yang
ringkas, terukur dan menggambarkan hal-hal yang diharapkan pada sistem
yang baru. Berikut beberapa contoh dari target perbaikan sistem:
30

 “Menurunkan jumlah akun konsumen yang tidak terkumpul sebesar 50%


di tahun depan”
 “Meningkatkan 25% jumlah pengajuan pinjaman yang dapat diproses
dalam 8 jam”
 “Menurunkan 50% waktu yang dibutuhkan untuk menjadwalkan ulang
produksi apabila terjadi kerusakan pada stasiun kerja”

Pada dua kolom terakhir pada Gambar 2.10 dapat dilihat contoh dari
tujuan dan batasan dari perbaikan sistem. Target perbaikan sistem sebaiknya
dilakukan dengan mengidentifikasi batasan (constraints) yang ada. Batasan-
batasan tersebut terbagi dalam empat kategori, yaitu (dengan contoh):
 Jadwal: sistem yang baru harus sudah beroperasi pada tanggal 15 April
 Biaya: sistem yang baru tidak boleh menghabiskan biaya lebih dari
$350.000
 Teknologi: sistem yang aru harus oline, atau keseluruhan sistem yang baru
harus menggunakan DB2 data Base management system
 Kebijakan: sistem yang baru harus menggunakan teknik penyimpanan
doule declining balance
31

Gambar 2.10Contoh sederhana dari cause and effect analysis

5. Memperbaharui atau menyempurnakan rencana proyek


Pada tahap ini, seorang analis sistem arus memperhitungkan
kemungkinan-kemungkinan tidak tercapainya target dalam pembuatan suatu
sistem baru. Sistem yang baru dibuat mungkin saja melebihi ekspektasi awal
yang direncanakan. Untuk itu perlu dilakukan peninjauan kembali ruang
lingkup proyek untuk memenuhi jadwal yang ditentukan. Pada kasus ini,
system owner sebaiknya memberi bobot kepentingan pada setiap target yang
diharapkan. Hal ini berguna apabila terjadi penyempitan ruang lingkup, maka
analis sistem akan mengetahui hal yang terpenting yang harus diprioritaskan.

6. Mengkomunikasikan penemuan dan rekomendasi.


Penemuan dan rekomendasi sebaiknya dikomunikasikan kepada
komunitas bisnis. Tahap ini dipicu oleh adanya pembaharuan rencana proyek.
Informasi yang disampaikan meliputi, analisis masalah, model system, target
32

perbaikan sistem, dan dokumen-dokumen yang diproduksi selama dilakukan


fase analisis permasalahan. Format penyampaiannya dapat berupa laporan,
verbal presentation, atau sebuah inspeksi dari auditor.
7. The Requirement Analysis Phase
Fase analisis kebutuhan mendefnisikan kebutuhan bisnis untuk sistem
baru. Pada fase ini akan diperoleh jawaban dari “apa yang dibutuhkan dan
diinginkan user untuk sistem yang baru?”. Pada akhir fase, akan dihasilkan
statement dari kebutuhan bisnis yang akan memenuhi target perbaikan sistem
yang telah diidentifikasi sebelumnya. Adapun fase analisis kebutuhan terdiri
dari beberapa tahapan:
 Mengidentifikasi dan membuat kebutuhan sistem
Pada tahap ini, setidaknya dapat diidentifikasi dua jenis kebutuhan, yaitu
kebutuhan fungsional dan kebutuhan non fungsional. Kebutuhan
fungsional merupakan deskripsi dari aktivitas dan pelayanan yang harus
disedikan oleh suatu sistem. Sedangkan kebutuhan non fungsional
merupakan deskripsi dari feature, karakteristik, dan batasan lainnya yang
mendefinisikan suatu sistem yang memuaskan.
 Membuat prioritas dari kebutuhan sistem
Pada tahap ini diharapkan keluaran berupa statement kebutuhan yang
disertai dengan prioritasnya. Pembuatan prioritas dari kebutuhan sistem,
dapat digunakan teknik yang popular yang dinamakan timeboxing.
Prioritas kebutuhan dapat diklasifikasikan menurut tingkat
kepentingannya, yaitu:
 Kebutuhan mandatory, yaitu hal-hal yang harus dipenuhi pada
kebutuhan minimal dari sistem. Kebutuhan mandatory tidak dapat
dibuat prioritasnya karena kebutuhan mandatory sangat penting
untuk solusi apa pun.
 Kebutuhan desirable, yaitu hal-hal yang berada di luar kebutuhan
esensial dari sistem. Kebutuhan desirable dapat dan sebaiknya harus
diberi prioritas.
 Memperbaharui atau menyempurnakan rencana proyek
Tahap ini dipicu oleh selesainya tahap identifikasi kebutuhan dan
prioritas. Rencana proyek yang up to date merupakan kunci input lainnya
dan hal ini ter perbaharui di dalam repository. Tools, teknik, dan langkah
untuk melakukan maintenance pada proyek dapat dipelajari pada materi
“Project Management”.
 Mengkomunikasikan kebutuhan sistem
Komunikasi merupakan tahap yang berjalan pada fase analisis
kebutuhan. Segala kebutuhan dan prioritas harus dikomunikasikan
kepada komunitas bisnis pada fase ini. Saat ini intranet project atau
portal sering digunakan untuk mengkomunikasikan kebutuhan.

8. The Logical Design Phase


Suatu desain logika mendokumentasikan kebutuhan bisnis menggunakan
model sistem yang mengilustrasikan struktur data, proses bisnis, aliran data,
dan interface dari user. Tidak seperti fase sebelumnya, tahapan pengerjaan
pada fase ini dapat dilakukan secara pararel. Adapun fase desain logika ini
terdiri dari beberapa tahapan, antara lain:
33

 Kebutuhan fungsional struktur.


Pada tahap ini, kebutuhan fungsional diilustrasikan dengan menggambar
atau memperbaharui satu atau lebih model sistem. Hal ini dapat meliputi
suatu kombinasi dari data, proses, dan model objek yang secara akurat
menggambarkan kebutuhan bisnis dan user. Model sistem belum
dikatakan lengkap hingga disertai dengan spesifikasi logika yang detail
yang mendeskripsikan atribut, aturan bisnis, kebijakan, dan sebagainya.
 Kebutuhan fungsional prototipe.
Prototipe adalah suatu alternatif untuk memodelkan sistem. Terkadang
user memiliki kesulitan untuk mengekspresikan fakta yang penting untuk
menggambar suatu model sistem yang layak. Prototipe biasanya digunakan
dalam fase analisis kebutuhan untuk membangun sampel dari input dan
output. Input dan output ini nantinya akan membantu untuk membangun
data Base dan programnya untuk memasukkan dan mengeluarkan data ke
dan dari data Base. Walaupun tahap ini bersifat opsional, tetapi pembuatan
prototipe sering diaplikasikan pada proyek pengembangan sistem terutama
ketika user memiliki kesulitan dalam menyatakan atau memvisualisasikan
kebutuhan bisnisnya.
 Melakukan validasi kebutuhan fungsional.
Model sistem dan prototipe merepresentasikan kebutuhan dari user
sehingga harus divalidasi untuk pemeriksaan dan penyelesaiannya.
 Mendefinisikan acceptance test case.
Walaupun bukan merupakan tahap yang dibutuhkan, tetapi sebagian besar
ahli mengerti bahwa hal ini tidak terlalu awal untuk memulai rencana
untuk pengujian sistem. Permodelan sistem dan prototipe sangat efektif
dalam mendefinisikan kebutuhan proses, peraturan data dan bisnis untuk
sistem yang baru.

9. The Decision Analysis Phase


Tujuan dari fase ini adalah untuk mengidentifikasi alternatif untuk solusi,
menganalisis alternatif tersebut, dan merekomendasikan target sistem yang
akan didesain, dirancang, dan diimplementasikan. Keluaran dari sistem ini
adalah untuk menghasilkan proposal sistem yang akan memenuhi kebutuhan
bisnis yang telah teridentifikasi pada fase sebelumnya.
 Identifikasi alternatif solusi
Setelah diketahui kebutuhan dari bisnis, maka pertama-tama harus
diidentifikasi alternatif-alternatif yang menjadi solusi. Alternatif solusi
akan dipengaruhi oleh ide desain dan opini dari owner sistem dan user,
dan beberapa mungkin datang dari analis sistem, desainer sistem,
konsultan teknik, dan profesional lainnya. Tahap ini dapat dilakukan
dengan menggunakan candidate matrics yang merupakan tools yang
efektif untuk menampilkan, mengatur, dan membandingkan karakteristik
dari alternatif solusi yang berbeda.
 Menganalisis alternatif solusi
Setiap alternatif solusi harus dianalisis kelayakannya. Hal ini dapat
dilakukan pada saat masing-masing alternatif diidentifikasi ataupun setelah
semua alternatif telah diidentifikasi. Analisis kelayakan sebaiknya tidak
34

hanya sebatas analisis manfaat dan biaya saja. Sebagian besar analis
menganalisis setidaknya empat kriteria, yaitu:
 Kelayakan teknik-- apakah solusi dapat dipraktikkan secara teknis?
Apakah staf kita memiliki keahlian teknis untuk mendesain dan
merancang suatu solusi?
 Kelayakan operasional-- akankah suatu solusi memenuhi kebutuhan
user? Bagaimana suatu solusi akan mengubah lingkungan kerja user?
Bagaimana perasaan user tentang suatu solusi?
 Kelayakan ekonomi-- apakah solusi sudah efektif dalam penggunaan
biaya?
 Kelayakan jadwal-- dapatkah solusi didesain dan diimplementasikan
dalam waktu yang ditentukan?
 Membandingkan alternatif solusi
Setelah melakukan analisis kelayakan untuk masing-masing alternatif
solusi maka solusi-solusi tersebut akan dibandingkan satu sama lainnya
pada tahap ini. Solusi yang tidak memenuhi kelayakan dapat dieliminasi.
Selanjutnya, dapat dipilih satu atau lebih solusi terbaik untuk
direkomendasikan kepada owner sistem. Apabila direkomendasikan lebih
dari satu solusi, maka sebaiknya dilakukan pemberian prioritas pada
solusi-solusi yang direkomendasikan.
 Memperbaharui rencana proyek
Kita harus kembali meng-update rencana proyek kita selama kita belajar
lebih banyak mengenai sistem, permasalahannya, kebutuhannya, dan
solusinya. Kita kembali menyesuaikan ruang lingkupnya. Lalu,
berdasarkan solusi yang telah direkomendasikan, sekali lagi kita harus
mengevaluasi kembali ruang lingkup dan rencana proyek.
 Merekomendasikan alternatif solusi
Setelah investigasi awal dan analisis permasalahan, kita harus merekomendasikan
alternatif solusi kepada komunitas bisnis. Tahap ini merupakan tahap akhir,
dimana target yang ingin dicapai dari solusi suatu sistem adalah untuk
menghasilkan suatu proposal sistem.
35

TUGAS TERSTRUKTUR 2

1. Definisikanlah sistem sesuai dengan kasus masing-masing kelompok.


2. Identifikasikan atribut pembangun sistem secara detail.
3. Deskripsikan konteks input-proses-output kasus yang relevan dalam dunia
nyata.
4. Susunlah matriks pernyataan masalah sesuai dengan kasus.
5. Susunlah matriks cause-effect analysis dan system improvement objectives.
36

BAB III
ENTERPRISEARCHITECTURE

Tujuan – Mahasiswa mampu:


 Memahami konsep Enterprise Architecture dalam tahapan desain sistem
 Mengimplementasikan konsep yang berkaitan dengan kajian topik spesifik
kelompok
 Membuat Enterprise Architecture Model yang berkaitan dengan kajian
topik spesifik kelompok

3.1 Enterprise

Enterprise adalah koleksi organisasi yang mempunyai sekumpulan sasaran


umum dan/atau satu tujuan. Suatu enterprise dapat berupa lembaga pemerintah,
perusahaan keseluruhan, suatu divisi korporasi, satu departemen, atau satu rantai
organisasi yang secara geografis terpisah, dihubungkan oleh kepemilikan
perusahaan yang sama.Enterprise dalam konteks Enterprise Architecture (EA)
merupakan gambaran bisnis pada suatu organisasi dalam bentuk yang kompleks,
gambaran ini memiliki jangkauan yang sangat luas meliputi manusia (pelanggan,
staff dan kontraktor), proses dan asset yang digunakan untuk mengembangkan dan
menghasilkan produk-produk dan service-service, data dan informasi yang
disimpan untuk digunakan dalam bisnis, dan mekanisme untuk menyediakan
komunikasi dan sekuriti.

3.2 Architecture

Definisi Architecture dalam konsep EA adalah suatu organisasi


fundamental dari suatu sistem, melekat dalam komponen-komponennya,
hubungan satu dengan yang lain dan lingkungannya, serta pengaturan prinsip
desain dan evolusinya (ANSI/IEEE 2000). Menurut Gartner Research, definisi
arsitektur dalam konteks ini adalah suatu kumpulan definisi dan batasan bersama
yang diharapkan dapat berpengaruh pada waktu, biaya, dan minimasi resiko dari
sebuah operasi. Konsep arsitektur ini kemudian diterapkan pada komponen-
komponen individual dari suatu infrastruktur IT, atau diambil bersama-sama,
mencakup suatu perusahaan.

3.3 Enterprise Architecture

Enterprise Architecture (EA) dapat dikatakan sebagai suatu evaluasi dan


penggambaran aspek manusia, proses, dan sumber daya dalam suatu organisasi.
Pemahaman akan kedua hal tersebut penting untuk pengembangan kebijakan,
standar, dan perencanaan manajemen EA demi kesuksesan sebuah
perusahaan.Bidang EA banyak terkait dengan aspek manusia dan interaksi sosial.
Dalam memahami EA secara mendalam diperlukan terlebih dahulu pemahaman
tentang beberapa bidang praktek dan teori yang telah mempengaruhi disiplin yang
37

muncul dari EA. Pada akhirnya, EA adalah sebuah aplikasi dari penggunaan teori
organisasi dan teori sistem. Penggunaan kedua teori tersebut digambarkan dalam
Gambar 3.1.

Bidang yang Bidang yang Bidang yang


berkontribusi: berkembang: berkontribusi:
 Psikologi  Manajemen  Rekayasa
 Sosiologi Sumber daya Teknik
 Ilmu Politik Informasi  Ilmu Komputer
 Administrasi Publik  Keamanan  Administrasi
Informasi Bisnis
 Arsitektur  Riset Operasi
Enterprise
 Manajemen
Pencatatan dan
Data

Arsitektur
Teori Organisasi Teori Sistem
(Organizational
Theory)
 Enterprise
(Enterprise  (Systems
Theory)
Architecture)

Konsep yang Konsep yang Konsep yang


berkontribusi: berkembang: berkontribusi:
 Keyakinan (Beliefs)  Siklus hidup  Proses
 Nilai & Etika pengembangan  Teknologi
 Kepemimpinan sistem  Manajemen
 Kebudayaan  Information  Kualitas
 Bahasa & Makna Assurance  Lingkungan
 Persaingan  IT Program  Rekayasa
 Birokrasi Management Ulang
 Knowledge (reengineering)
Management  Resiko
 IT Capital
Planning
 E-Government
& Commerce
 Digital Divide
Gambar 3.1Penggunaan teori sistem dan teori organisasi dalam konsep Enterprise
Architecture
Dengan menggunakan kedua teori ini, suatu organisasi berusaha
menyelaraskan aspek bisnis dan teknologi informasi dari aktivitasnya dengan
membuat suatu rencana strategis. Rencana strategis ini akan menentukan
bagaimana cara organisasi tersebut bergerak dari keadaannya sekarang (current
state) ke keadaan di masa depan (future state). Penentuan strategi ini dibutuhkan
untung mengatasi masalah yang timbul di masa sekarang dan masa mendatang.
Dalam pembuatan strategi ini, akan lebih mudah jika strategi dibuat berdasarkan
suatu arsitektur yang telah ditentukan. Layaknya suatu desain arsitektur rumah
yang dibuat oleh seorang arsitek atas permintaan seorang pemilik rumah,
perubahan dapat dilakukan pada arsitektur ini namun kerangka awalnya tetap
sama. Enterprise Architecture hadir sebagai pedoman high level planning untuk
membangun infrastruktur IT suatu perusahaan. Layaknya analogi sebelumnya,
38

Infrastruktur ini harus cukup fleksibel untuk menerima perubahan-perubahan pada


perjalanannya.

3.4 7 Ware

Dalam membuat suatu sistem, terdapat beberapa komponen atau tepatnya


terdapat 7 komponen yang perlu untuk diperhatikan. Tujuh komponen ini biasa
disebut 7-ware. 7-ware terdiri dari hardware, software, brainware/humanware,
netware, organoware, infoware, dan dataware.

3.4.1 Hardware
Hardwaremerupakan perangkat keras yang dirangkai sedemikian rupa
sehingga mencapai tujuan yang diinginkan. Hardware dapat beroperasi bila
diberi arus listrik. Dari sisi fungsinya hardware komputer dapat dibagi
kedalam:
 Perangkat input (input device)
Input device merupakan perangkat yang digunakan untuk memasukkan
tombol, posisi, suara, video ke dalam komputer yang selanjutnya diproses
dan memberikan hasil sesuai dengan yang diharapkan.
 Perangkat pemroses (process device)
Process device merupakan perangkat yang digunakan untuk memproses
hasil inputan perangkat input. Berdasarkan fungsinya perangkat pemroses
dapat dibagi kedalam:
- unit pemrosesan utama (CPU)
- unit pemrosesan logika dan aritmatika (aritmathic logical unit)
- unit pemrosesan sementara (RAM)
 Perangkat keluaran (output device)
Output device menampilkan hasil yang diberikan perangkat pemroses.
Perangkat keluaran dapat dikelompokkan kedalam 2 bagian utama:
- perangkat keluaran fisik (printer, dll)
- perangkat keluaran non fisik (monitor, dll)

3.4.2 Software
Software (perangkat lunak) adalah adalah program komputer
yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat
keras. Perangkat lunak dapat juga dikatakan sebagai ‘penterjemah’
perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke
atau diproses oleh perangkat keras. Perangkat lunak ini dibagi menjadi 3
tingkatan: tingkatan program aplikasi (application program misalnya
Microsoft Office), tingkatan sistem operasi (operating system misalnya
Microsoft Windows), dan tingkatan bahasa pemrograman.
Perangkat lunak berisi instruksi yang dapat diubah. Perangkat
lunak umumnya digunakan untuk mengontrol perangkat keras (yang sering
disebut sebagai device driver), melakukan proses perhitungan, berinteraksi
dengan perangkat lunak yang lebih mendasar lainnya (seperti sistem
operasi, dan bahasa pemrograman), dan lain-lain.
39

3.4.3Brainware/humanware
Brainwaremerupakan perangkat akal atau orang yang dapat
mengopersikan komputer. Dalam hal pemanfaatan komputer secara
optimal diperlukan orang-orang yang ahli dalam mengopersikan komputer.
Ditinjau dari secara organisasi, pemakai komputer dikelompokkan menjadi
beberapa keahlian seperti:

 Data Entry Operator


Data Entry Operator adalah pemakai komputer yang memiliki
kemampuan menggunakan program aplikasi untuk menyelsaikan
pekerjaan. Pada umumnya keahlian yang harus dimilikinya antara lain
mampu mengoperasikan komputer dan peralatan pendukungnya,
menggunakan program aplikasi sesuai dengan pekerjaan dan mampu
mengarsipkan data ke media penyimpanan sesuai dengan keperluan.
 Programmer
Programmer adalah orang yang dapat menguasai bahasa
pemrograman untuk berkomunikasi dengan komputer sehingga dapat
memanfaatkan komputer secara optimal sesuai dengan kebutuhan.
 Analis Sistem
Analis sistem berperan melakukan analisa terhadap permasalahan
yang dihadapi dalam suatu sistem serta merancang solusi
pemecahannya dalam bentuk program komputer.
 EDP Manager
EDP Manager yaitu orang bertugas dan bertanggung jawab pada
semua jaringan komputer dan memelihara perangkat keras komputer
pada suatu perusahaan.

3.4.4 Netware
Netware atau sistem operasi jaringan adalah sebuah jenis sistem
operasi yang ditujukan untuk menangani jaringan. Umumnya, sistem
operasi ini terdiri atas banyak layanan atau service yang ditujukan untuk
melayani pengguna. Netwaredapat berupa LAN, WAN, MAN, dll.

3.4.5 Infoware
Infoware adalah suatu perangkat dimana perangkat tersebut
memiliki fungsi untuk memberikan informasi kepada user atau pengguna
komputer tentang tata cara dan aturan penggunaan komputer yang baik dan
sehat. Contoh Infowareadalah User manual.

3.4.6 Dataware
Dataware merupakan istilah yang biasa digunakan untuk
menjelaskan semua data yang tersimpan didalam datawarehouse. Contoh
dataware dalam bidang penjualan (sales) misalnya laporan hasil penjualan
per periode waktu, daftar konsumen, daftar komplain konsumen, dll.

3.4.7 Organoware
40

Komponen ini adalah kemampuan terakhir dari komponen


Teknologi yang merupakan kemampuan untuk mengorganisasikan 3
komponen sebelumnya, yaitu technoware (termasuk didalamnya hardware
dan software), Humanware, dan Inforware.Dalam proses transfer teknologi,
pihak pemberi seharusnya juga memberikan pelatihan tentang bagaimana
proses organisasi terhadap teknologi yang akan diberikannya, sehingga
pengelolaan dan pemanfaatan teknologi tersebut menjadi lebih efektif dan
efisien yang bermuara kepada peningkatan produktifitas.

3.5 Asumsi 7 Ware Berdasarkan Contoh Kasus

Untuk memudahkan membuat EA model, dibuat terlebih dahulu asumsi


tentang 7 Ware yang nantinya akan ada dalam EA model.

1. Hardware
Hardware yang digunakan dalam sistem didasarkan pada contoh kasus
dalam bab pertama.
Hardware yang digunakan dalam sistem ini antara lain personal computer, server,
printer, scanner, mobile phone, dan peralatan penunjang lainnya.

2. Software
Software yang digunakan dalam sistem didasarkan pada contoh kasus
dalam bab pertama. Software dibagi dalam tiga tingkatan yaitu aplikasi, sistem
operasi, dan bahasa pemrograman. Sistem operasi yang digunakan adalah
Microsoft Windows 7 untuk tiap workstation yang ada. Aplikasi yang digunakan
dalam workstation terdiri dari MS. Office, client Microsoft Dynamics AX, dan
aplikasi pendukung lainnya. Sedangkan aplikasi yang digunakan dalam sistem IT
perusahaan adalah software ERP Microsoft Dynamics AX. Bahasa pemrograman
yang digunakan adalah X++ untuk MS. Dynamics AX dan bahasa SQL untuk
pembuatan query database.

3. Brainware
Brainware yang ada dalam sistem didasarkan pada contoh kasus bab
pertama. Untuk brainware yang ada dalam contoh kasus, diasumsikan bahwa jenis
brainware yang ada antara lain data entry operator, programmer, analis sistem,
dan MIS manager. Data entry operator disini adalah semua karyawan non-operator
produksi yang bertanggung jawab dalam pekerjaan data input. Programmer dan
analis sistem adalah karyawan bagian IT yang bertanggung jawab dalam
pekerjaan bersangkutan. IS manager atau Management Information System
Manager adalah manajer yang membawahi divisi IT dan mengawasi jalannya
sistem IT perusahaan.

4. Netware
Netware yang ada dalam asumsi sistem didasarkan pada contoh kasus bab
pertama. Diketahui bahwa pada contoh kasus netware yang digunakan adalah
LAN internal perusahaan dan internet dari ISP luar.

5. Infoware
41

Infoware yang ada dalam asumsi sistem didasarkan pada contoh kasus bab
pertama. Diketahui bahwa pada contoh kasus infoware yang digunakan adalah
user manual dari masing-masing aplikasi.

6. Dataware
Dataware yang ada dalam asumsi sistem didasarkan pada contoh kasus bab
pertama. Diketahui bahwa pada contoh kasus dataware yang digunakan adalah
datawarehouse yang ada dalam suatu server dan di atur oleh ERP software. Dalam
ERP telah terbagi masing-masing format manajemen data dan format pelaporan
data.

7. Organoware
Organoware yang ada dalam asumsi sistem didasarkan pada contoh kasus
bab pertama. Diketahui bahwa pada contoh kasus organoware sebagai pengatur
antara tiga elemen dalam sistem adalah ERP software yaitu Microsoft Dynamics
AX.

7 Ware yang digunakan dirangkum dalam Tabel 3.1 berikut.

Tabel 3.1Jenis 7 ware


No Jenis 7 Ware Kategori Yang Digunakan
.
1 Hardware - PC, Server,
Printer, scanner,
mobile phone
2 Software Sistem operasi Microsoft
Windows 7
Aplikasi MS. Office, client
MS. Dynamics
AX, MS.
Dynamics AX
ERP
Bahasa X++, SQL
pemrograman
3 Brainware Data input operator Karyawan non-
operator produksi
Programmer Karyawan divisi
IT
System Analyst Karyawan divisi
IT
IT Manager MIS Manager
4 Netware - LAN internal
perusahaan,
Internet
5 Infoware - User manual dari
masing-masing
software
42

6 Dataware - Database
management dari
ERP software
7 Organoware - ERP Software,
Audit, Training

3.6 Enterprise Architecture Modelling dengan SAP PowerDesigner

Pemodelan EA dapat membantu perusahaan untuk menganalisis dan


mendokumentasikan organisasi perusahaan, kemampuan dan prosesnya, aplikasi-
aplikasi dan sistem yang mendukungnya, dan arsitektur fisik dimana hal-hal
tersebut diimplementasikan.

Gambar 3.2Pemodelan EA

Sesuai dengan tipe dari arsitektur ini, yaitu arsitektur high-level, model EA
membahas informasi-informasi tentang kebutuhan dan aktivitas perusahaan dalam
konteks yang lebih umum. Adapun contoh-contoh diagram yang digunakan dalam
EA model adalah sebagai berikut.

Tabel 3.2Model – model dalam EA


No Gambar/Nama Fungsi
1 Memberi tampilan grafis dari arsitektur
bisnis. Membantu mengidentifikasi
Process Map kapabilitas dari bisnis dan proses-
proses high level terlepas dari siapa
yang melakukannya
2 Memberi gambaran struktur organisasi
untuk membantu menganalisis dan
Organization Chart menampilkan hubungan antar unit-unit
43

organisasi.
3 Membantu menganalisis hubungan-
hubungan, aliran, dan koneksi lain
Business Communication antar kapabilitas bisnis, unit organisasi,
Diagram peran, dan lokasi-lokasi.
4 Memberi tampilan grafis dari kegiatan
bisnis dan layanan-layanan aplikasi dan
Service Oriented Diagram hubungan diantaranya. Membantu
mengasosiasikan aplikasi dengan
objek-objek application layer lain
dengan layanan dan proses bisnis
dengan menggunakan desain Service
Oriented Architecture.
5 Memberi tampilan high-level dari
application architecture. Membantu
Application architecture mengidentifikasi aplikasi, sub-aplikasi,
diagram komponen, database, services, dan
interaksinya
6 Memberi gambaran high-level tentang
infrastruktur fisik yang dibutuhkan
Technology Infrastructure untuk mendukung application
diagram architecture.
7 Memberi tampilan grafis tentang
gambaran besar dari EA yang dibuat,
City Planning diagram dengan menggunakan metafora tentang
perencanaan kota yang
merepresentasikan organisasi dari
kapabilitas, sistem, aplikasi, dan
lainnya ke dalam daerah-daerah

3.6.1. Contoh Pembuatan Enterprise Architecture tentang Contoh Kasus

Sesuai dengan contoh kasus pada bab pertama tentang Perbaikan Kinerja
Pengelolaan Proyek dengan Menggunakan Metode Fuzzy Intuisionistik dibuat
contoh model EA dengan Sybase PowerDesigner 16.6. Adapun pembuatan model
didasarkan pada keadaan perusahaan yang ada dalam contoh kasus.

3.6.1.1 Organization Chart


Struktur organisasi dari PT T dibuat dengan menggunakan Organization
Chart diagram pada PowerDesigner. Adapun tools yang terdapat pada diagram ini
adalah sebagai berikut.

Tabel 3.3Tools dalam diagram Organization Chart


No Gambar/Nama Fungsi
1 Menandakan sebuah unit kerja dalam
Organization Unit organisasi
44

2 Menandakan sesesorang dalam


organisasi
Person
3 Menandakan jabatan seseorang dalam
organisasi
Role
4 Menggambarkan hubungan hierarki
antara elemen
Hierarchy Link
5 Menggambarkan asosiasi jabatan
Role association
6 Menggambarkan dampak dari suatu
program
Impact
7 Menandakan suatu file yang ada dalam
File model
8 Menandakan suatu program yang ada
dalam model
Program
9 Menandakan suatu proyek yang ada
dalam model
Project

Organization Chart yang dibuat berdasarkan studi kasus PT T adalah sebagai


berikut:

Gambar 3.3Struktur Organisasi PT T

Struktur organisasi ini dapat membantu higher management untuk melihat


bagaimana pembagian unit kerja di perusahaannya berkaitan dengan tugas-tugas
tertentu. Adapun dari tiap-tiap unit kerja yang dibuat dalam diagram, dapat
ditentukan siapa yang bersangkutan dalam unit kerja itu dalam pengaturan dari
objek unit tersebut.
45

Gambar 3.4Pengaturan objek organization unit

3.6.1.2 Process Map


Process Map dibuat untuk membantu melihat dan memetakan apa saja
proses atau kegiatan dari bisnis/organisasi yang berkaitan dengan tujuan kasus
yang diangkat dalam perspektif high-level. Berikut adalah tools yang dapat
digunakan dalam Process Map diagram.

Tabel 3.4Tools dalam diagram Organization Chart


No Gambar/Nama Fungsi
1 Menandakan sebuah unit kerja dalam
Package organisasi
2 Menandakan area kerja dalam model

Architecture Area
3 Menandakan kapabilitas bisnis dari
suatu objek
Business Capability
4 Menandakan suatu proses
Process
5 Menandakan suatu program yang ada
dalam model
Program
6 Menggambarkan dampak dari suatu
program
Impact
46

7 Menandakan tujuan yang ditentukan


oleh manajemen dalam model
Goal
8 Menandakan tingkat pencapaian tujuan
Fulfillment
9 Menandakan suatu proyek yang ada
dalam model
Project

Berikut adalah process map yang dibuat.

Gambar 3.5Process Map PT T

Process map yang dibuat berkaitan dengan contoh kasus pada bab pertama. Maka
proses yang dicantumkan berkaitan dengan upaya perbaikan pembuatan
peramalan permintaan dari perspektif high-level. Process map ini dapat
disambungkan dengan subproses-subproses dibawahnya dengan mengaturnya
dalam pengaturan proeses. PIC dari setiap proses juga dapat ditentukan sesuai
dengan objek person yang telah di tambahkan dalam model.

3.6.1.3 Business Communication Diagram


Diagram ini digunakan untuk menggambarkan hubungan-hubungan,
aliran, dan koneksi lain antar kapabilitas bisnis, unit organisasi, peran, dan lokasi-
lokasi dalam model sesuai dengan contoh kasus. Berikut adalah tools yang ada
dalam Business Communication diagram.

Tabel 3.5Tools dalam pembuatan Business Communication Diagram


No Gambar/Nama Fungsi
1 Menandakan sebuah unit kerja dalam
Package organisasi
2 Menandakan area kerja dalam model

Architecture Area
3 Menandakan kapabilitas bisnis dari
suatu objek
Business Capability
4 Menandakan suatu proses
Process
47

5 Menandakan suatu program yang ada


dalam model
Program
6 Menggambarkan dampak dari suatu
program
Impact
7 Menandakan tujuan yang ditentukan
oleh manajemen dalam model
Goal
8 Menandakan tingkat pencapaian tujuan
Fulfillment
9 Menandakan suatu proyek yang ada
dalam model
Project
10 Menandakan suatu lokasi yang ada
dalam model
Site
11 Menggambarkan suatu aliran ke proses
tertentu dalam model
Business Flow
12 Menggambarkan asosiasi jabatan
Role association
13 Menandakan suatu file yang ada dalam
File model
14 Menandakan sebuah unit kerja dalam
Organization Unit organisasi
15 Menandakan sesesorang dalam
organisasi
Person
16 Menandakan jabatan seseorang dalam
organisasi
Role

Berikut adalah model yang dibuat berdasarkan contoh kasus.


48

Gambar 3.6Business Communication Diagram

Diagram diatas menggambarkan tentang komunikasi bisnis antar unit dan


stakeholder dalam kasus pemesanan dan manufaktur. Seperti halnya diagram
lainnya, setiap objek dalam model dapat diatur keterkaitannya dalam pengaturan.

3.6.1.4 City Planning Diagram


Diagram ini dibuat untuk menggambarkan kapabilitas dari organisasi pada
contoh kasus. Kapabilitas digambarkan dari perspektif high-level. Kapabilitas
disini berarti fungsi dari masing-masing unit yang terbagi dalam suatu bagian
daerah operasi.

Tabel 3.6Tools dalam pembuatan City Planning Diagram


No Gambar/Nama Fungsi
1 Menandakan sebuah unit kerja dalam
Package organisasi
2 Menandakan area kerja dalam model

Architecture Area
3 Menandakan kapabilitas bisnis dari
suatu objek
Business Capability
4 Menandakan suatu sistem yang ada
System dalam model
5 Menandakan suatu program yang ada
dalam model
Program
49

6 Menggambarkan dampak dari suatu


program
Impact
7 Menandakan suatu basis data yang ada
dalm sistem
Database
8 Menandakan aplikasi yang ada dalam
Fulfillment model
9 Menandakan suatu proyek yang ada
dalam model
Project
10 Menandakan suatu layanan bisnis yang
Business Service ada dalam model
11 Menandakan suatu layanan aplikasi
yang ada dalam model
Application Service
12 Menandakan suatu file yang ada dalam
File model

Berikut adalah City Planning Diagram yang dibuat berdasarkan contoh kasus.
50

Gambar 3.7City Planning Diagram

3.6.1.5 Technology Infrastructure Diagram


Diagram ini digunakan untuk menggambarkan infrastruktur teknologi fisik yang
digunakan untuk menopang sistem IT perusahaan sesuai dengan contoh kasus.
Berikut adalah tools yang dapat digunakan dalam pembuatan diagram.

Tabel 3.7Tools dalam pembuatan Technology Infrastructure Diagram


No Gambar/Nama Fungsi
1 Menandakan sebuah unit kerja dalam
Package organisasi
2 Menandakan area kerja dalam model

Architecture Area
3 Menandakan jaringan dalam model
Network
51

4 Menandakan suatu sistem yang


System Deployment digunakan dalam model
Instance
5 Menandakan suatu program yang ada
dalam model
Program
6 Menggambarkan dampak dari suatu
program
Impact
7 Menandakan suatu basis data yang ada
dalm sistem
Database Deployment
Intance
8 Menandakan aplikasi yang digunakan
Application Deployment ada dalam model
Instance
9 Menandakan suatu proyek yang ada
dalam model
Project
10 Menandakan suatu
Network Node
11 Menandakan suatu layanan aplikasi
yang digunakan dalam model
Application Service
Deployment Instance
12 Menandakan perangkat keras server
dalam model
Hardware server
13 Menandakan komputer personal dalam
Workstation model
14 Menandakan perangkat mobile dalam
model
Mobile Device
15 Menandakan perangkat lunak server
dalam model
Software Server
16 Menandakan penerapan sesuatu dalam
Deployment Instance model
17 Menandakan penggunaan komponen
Component Deployment dalam model
Instance
18 Menandakan penggunaan form dalam
Form Deployment Instance model
19 Mendandakan hubungan jaringan
dalam model
Network Link
20 Menandakan suatu file yang ada dalam
File model
52

Berikut adalah contoh diagram berdasarkan contoh kasus.

Gambar 3.8Technology Infrastructure Diagram

3.6.1.6 Application Architecture Diagram

Diagram ini digunakan untuk memberi gambaran tentang arsitektur aplikasi yang
digunakan. Dari gambaran ini dapat diidentifikasi aplikasi, sub-aplikasi,
komponen, database, dan interaksinya. Adapun tools yang dapat digunakan antara
lain:

Tabel 3.8Tools dalam pembuatan Application Architecture Diagram


No Gambar/Nama Fungsi
1 Menandakan sebuah unit kerja dalam
Package organisasi
2 Menandakan area kerja dalam model

Architecture Area
3 Menandakan suatu dokumen pelaporan
dalam model
Report Document
4 Menandakan suatu sistem yang
System digunakan dalam model
5 Menandakan suatu program yang ada
dalam model
Program
53

6 Menggambarkan dampak dari suatu


program
Impact
7 Menandakan suatu basis data yang ada
dalm sistem
Database
8 Menandakan aplikasi yang digunakan
Application ada dalam model
9 Menandakan suatu proyek yang ada
dalam model
Project
10 Menandakan suatu pekerjaan ekstraksi,
transformasi, dan loading data dalam
ETL Job model
11 Menandakan suatu layanan aplikasi
yang digunakan dalam model
Application Service
12 Menandakan penggunaan form dalam
Form model
13 Menandakan suatu file yang ada dalam
File model
14 Menandakan suatu dokumen yang ada
dalam model
Document
15 Menandakan suatu layanan bisnis
Business service dalam model
16 Menandakan suatu komponen dalam
model
Component
17 Menandakan hubungan aplikasi dalam
model
Application link

Berikut adalah diagram yang dibuat


54

Gambar 3.9Application architecture diagram


55

TUGAS TERSTRUKTUR 3

1. Buatlah asumsi tentang 7 Ware yang digunakan dalam sistem anda sesuai
contoh yang telah diberikan. Penjelasan tiap 7 Ware kemudian dirangkum dalam
sebuah tabel.

2. Buatlah model Enterprise Architecture berdasarkan 7 Ware yang telah anda


tentukan. Gunakanlah model yang tersedia dalam PowerDesigner sesuai contoh
yang telah diberikan. Jelaskan juga proses yang terjadi.
56

BAB IV
BUSINESS PROCESS ARCHITECTURE

Tujuan – Mahasiswa mampu:


 Mengerti konsep Business Process Architecture
 Mendefinisikan interoperabililtas antar komponen dalam sistem yang dibuat
 Memahami dan mengadopsi fungsidan peran Process Hierarchy Diagram
(PHD), Data Flow Diagram (DFD), Business Process Diagram (BPD), dan
Business Process Model and Notation (BPMN) 2.0 dalam konstruksi
systemyang dibuat
 Mengidentifikasi komponen pembentuk Process Hierarchy Diagram (PHD),
Data Flow Diagram (DFD), Business Process Diagram (BPD), dan Business
Process Model and Notation (BPMN) 2.0 dalam konstruksi sistem yang
dibuat
 Menyusun dan memverifikasi model PHD, DFD, BPD, dan BPMN 2.0
berdasarkan kasus masing-masing kelompok.

Sebuah model proses bisnis (BPM) dapat membantu Anda mengidentifikasi,


menjelaskan, dan menguraikan suatu proses bisnis. Anda dapat menganalisis
sistem Anda pada berbagai tingkat detail, dan fokus pada alternatif aliran kontrol
(urutan eksekusi) atau aliran data (pertukaran data). Anda dapat menggunakan
BPEL, BPMN, dan banyak bahasa proses lainnya.
BPM memungkinkan Anda untuk menganalisis dan merancang
implementasi dan pelaksanaan proses bisnis menggunakan diagram berikut:
- Diagram Hierarki Proses (PHD)
Sebuah diagram level tinggi, yang menganalisis fungsi bisnis Anda
sebagai hierarki proses dengan menyajikan tampian grafik fungsi dan
membantu menguraikannya menjadi diagram pohon sebagai sub-proses.
- Diagram Proses Bisnis (BPD)
Menganalisis aliran kontrol dari suatu proses pada setiap tingkat
hierarki proses. Anda dapat menganalisis bagaimana sub-proses akan
dialokasikan kepada orang-orang, organisasi, atau kelompok, aliran kontrol
proses dan bagaimana data mengalir dalam lingkungan tersebut, seiring
dengan pelaksanaan sub-proses Anda. Diagram ini menyajikan tampilan
grafik dari control flow dan data flow antara proses pada semua level di
sistem tersebut.

4.1 Process Hierarchy Diagram (PHD)

Process hierarchy diagram (PHD) menampilkan secara grafis fungsi dari


sebuah sistem dan mendekomposisinya ke dalam pohon sub-processes. PHD
digunakan selama tahap analisis sebuah proyek. Bagi seorang analis atau
manajer, PHD dapat digunakan untuk:
a. Mendefinisikan seluruh proses yang dilakukan dalam lingkup sebuah
fungsi bisnis
57

b. Memfokuskan pada pengenalan proses ; hanya nama-nama proses yang


didefinisikan pada langkah ini.
c. Mendekomposisi proses-proses yang telah diidentifikasi ke dalam sub-sub
proses hingga sampai ke tingkatan terkecil yang bisa dijangkau.
d. Mengatur ulang sub-sub proses, jika perlu, dengan mengubah induknya
(parent).
e. Menampilkan dalam pandangan tunggal (single view) seluruh hirarki dari
proses yang telah digambarkan atau dari sub-sub proses yang telah
didekomposisi.
Sebuah Process Hierarchy Diagram terdiri dari serangkaian proses dan
dekomposisi (penguraian) link yang menghubungkan mereka. Pada setiap tingkat
dari dekomposisi, setiap proses dapat menggambarkan berbagai jenis fungsi.
Sebagai contoh, proses marketing adalah sebuah departemen, website perusahaan
adalah sebuah proyek,dan proses analisa kebutuhan adalah sebuah aktivitas.
Setelah PHD selesai dibuat, perlu dilakukan verifikasi model untuk memastikan
model yang dibuat, tidak ada yang error maupun warning.Contoh PHD untuk
sistem Pengelolaan Proyek pada proyek standarisasi thawing cheese curd frozen.

Gambar 4.1PHD Sistem pengelolaan proyek standarisasi thawing cheese curd


frozen
4.2 Business Process Diagram (BPD)

Business process diagram (BPD) menampilkan fungsi secara grafis dari


aliran (flow) kendali (urutan eksekusi) atau aliran data (perubahan data) antar
proses-proses pada setiap tingkatan sistem yang dibangun. BPD dapat dibuat
dalam sebuah model, paket atau dalam proses yang didekomposisi.
BPD memiliki notasi yang lebih sedikit dibandingkan BMPN 2.0 (BPMN
akan dibahas pada sub-bab berikutnya) dan biasanya dimanfaatkan oleh pengguna
untuk menganalisis alur proses sistem yang akan dikembangkan. Penekanan BPD
58

digunakan untuk mendeskripsikan sebuah sistem secara High Level berbeda


dengan BPMN 2.0 yang mendeskripsi sistem secara Low Level.

Notasi-notasi yang digunakan dalam BPD antara lain sebagai berikut:


a. Start
Menyatakan mulainya sebuah proses.

Gambar 4.2Simbol start

b. Process
Pekerjaan atau proses yang dilakukan dalam proses bisnis.

Gambar 4.3Simbol Proses

Bagian dari process adalah sub-proses. Sub-proses merupakan aktifitas


majemuk. Dalam hal ini, “majemuk” berarti bahwa pekerjaan yang dipecah
menjadi tingkat yang lebih detil. Dengan demikian, “hierarki” proses mode lini
menunjukkan detail derajat yang berbeda pada setiap tingkat. Perbedaan antara
grafis task dan sub-proses adalah bahwa sub-proses memiliki “tanda plus”
ditempatkan di pusat notasi dan menunjukkan bahwa hal itu dapat dibuka
untuk melihat proses yang lebih detail.

c. End
Notasi yang menyatakan berakhirnya sebuah aktivitas atau proses.

Gambar 4.4Simbol End

d. Gateways
Notasi yang mengontrol bagaimana proses divergen atau konvergen.

Gambar 4.5Simbol Gateways

e. Sequence flow
Notasi yang menghubungkan antara dua elemen atau dua notasi proses
f. Data objects
Notasi yang merepresentasikan data dan dokumen yang ada atau dihasilkan
dari sebuah proses.
59

Gambar 4.6Simbol data object

Contoh pada Gambar 4.7 menggambarkan BPD dalam suatu sistem pengelolaan
proyekstandarisasi thawing cheese curd frozen.

Gambar 4.7BPD pengelolaan proyekstandarisasi thawing cheese curd frozen

4.3 Data Flow Diagram (DFD)

Data Flow Diagram (DFD) merupakan penampakan secara grafik suatu


aliran data melalui suatu sistem informasi. DFD memungkinkan visualisasi sistem
operasi, kelengkapan sistem, dan bagaimana sistem informasi diimplementasikan
serta kapan diselesaikan dengan spesifikasi lebih lanjut.
DFD digunakan oleh analis sistem untuk mendesain sistem proses informasi
dan juga sebagai cara untuk memodelkan suatu organisasi. DFD dibuat dengan
tujuan memodelkan fungsi hingga sistem terwujud dan interaksi antara fungsi-
fungsi tersebut bersama dengan fokus pada pertukaran data antar proses. Data
60

dapat ditinjau secara konseptual, logis, dan secara fisik data model dan object-
oriented model.
Terdapat dua tipe DFD, keduanya mendukung seluruh jangkauan analisis
sistem, dimana analis memulai dengan mengembangkan pemahaman umum dari
sistem dan secara bertahap menghentikan kemunculan komponen menjadi detail
yang lebih lengkap, yaitu:
 Logical data flow diagrams –cenderung mendeskripsikan suatu sistem
dibandingkan bagaimana aktivitas dapat dicapai.
 Physical data flow diagrams – mendeskripsikan entitas aktual (perangkat,
departemen, manusia, dll.) yang termasuk dalam sistem tersebut.
DFD dapat juga dikelompokkan bersama untuk menampilkan subsistem dari
sistem yang sedang dianalisis.

Tabel 4.1DFD Toolbox


Konsep Tool Gane & Sarson Yourdon Deskripsi
Lokasi berpindahnya
Process data

Penghubung antar
Flow objek dengan
membawa data
Data Tempat penyimpanan
store data
Sumber atau tujuan
External
data
entity
Memisahkan
flow/aliran menjadi
beberapa flow atau
Split/Me
menggabungkan flow
rge
dari sumber yang
berbeda menjadi satu
flow

Contoh DFD level 0 disajikan pada Gambar 4.8, DFD level 1 pada Gambar
4.9 dan DFD level 2 pada Gambar 4.10.
61

Gambar 4.8DFD (Data Flow Diagram) level 0


62

Gambar 4.9DFD (Data Flow Diagram) level 1


63

Gambar 4.10DFD (Data Flow Diagram) level 2

4.4 Business Process Model and Notation (BPMN) 2.0

BPMN (Business Process Model & Notation) versi 2.0 adalah sebuah
perangkat berupa notasi grafis standar untuk proses pemodelan bisnis yang
dikembangkan oleh Object Management Group (OMG). Hal ini dimaksudkan
untuk menyediakan notasi yang mudah dipahami oleh semua pengguna
bisnis.BPMN berguna bagi bisnis analis untuk membuat desain awal, bagi
pengembang (developer) untuk mengimplementasikan detail teknis, dan bagi
stakeholder dalam proses bisnis untuk mengelola dan memantau proses bisnisnya.
BPMN digunakan untuk mendeskripsikan aliran proses yang kompleks,
kolaborasi antar internal atau eksternal stakeholders / participants, dan koreografi
pertukaran informasi antar stakeholders / participants tersebut. Notasi-notasi
dalam BPMN antara lain sebagai berikut:
a) Participants atau stakeholders
Partisipanmewakili perusahaan, departemen, aturan, atau stakeholder
lain yang termasuk dalam suatu kolaborasi. Partisipan ditampilkan sebagai
swimlane pada diagram kolaborasi dan diagram proses, serta sebagai node
persegi pada diagram percakapan. Pada diagram koreografi, tidak terdapat
simbol pemisah pada partisipan tetapi ditampilkan pada atas atau bawah band
pada task simbol koreografi.
b) Conversation Nodes
Conversation node merupakan simbol heksagonal pada conversation
diagram yang menghubungkan dua partisipan dan regroup seluruh perubahan
pesan yang ditampilkan dengan correlation yang sama.
c) Choreography Tasks
Choreography task menunjukkan interaksi, seluruh perubahan pesan
antara dua partisipan. Nama task koreografi dan masing-masing partisipan
ditampilkan dengan beragam jalur dengan jenis sesuai simbolnya.
d) Events
Sebuah event merupakan sesuau yang terjadi selama proses
berlangsung. Event meliputi start dan end dari suatu aktivitas, dan kejadian
menengah lainnya (seperti perubahan state atau penerimaan pesan) di mana
akan mempengaruhi pada sequence atau waktunya. Event dapat dibuat pada
collaboration, proses, dan diagram koreografi.

e) Gateways
64

Gateway dapat mengendalikan sequence flow suatu prosess, dan dapat


menggabungkan atau memisahkan flow yang ditentukan oleh kondisi
gateway. Gateway dapat diiptakan pada collaboration, proses,dan koreografi
diagram.

f) Activities
Activities merupakan pekerjaan yang berkaitan dengan proses.
Activities dapat dibuat di diagram collaboration dan proses.
g) Data
Data merupakan item fisik atau informasi yang dibuat, dimanpulasi,
atau lainnya yang digunakan selama proses berlangsung. Data objek dapat
dibuat pada diagram kolaborasi dan proses.
h) Correlation Keys and Correlation Properties
Correlation keys merupakan sekumpulan dari correlation properties
yang digunakan untuk menggabungkan pesan menjadi contoh tertentu dari
suatu proses.
i) Messages
Message menunjukkan isi komunikasi antara dua partisipan, dan
melalui sepanjang aliran message. Pada diagram koreografi, suatu pesan
inisiating otomatis berwarna putih, dan pesan non-initiating otomatis
berwarna abu-abu.

j) Flows and Links


BPMN menyajikan beragam jebis aliran (flow) dan link untuk
terhubung pada objek di collaboration, konversasi, dan koreografi diagram.
Terdapat beberapa jenis diagram yang dapat dibuat menggunakan BPMN
2.0. Diagram-diagram tersebut antara lain:

1. Diagram percakapan(conversation diagrams): memberikan gambaran


umum komunikasi antarstakeholder. Diagram ini merupakan penyederhanaan
dari diagram kolaborasi tetapi tetap mempertahankan seluruh fitur pada
diagram kolaborasi. Proses dapat ditampilkan dalam stakeholder (pools) pada
diagram percakapan. Gambar 4.11 menggambarkan contoh diagram
percakapan.
65

Gambar 4.11Contoh diagram percakapan


2. Diagram koreografi (Choreography diagrams):menggambarkan urutan
interaksi antar stakeholder. Diagram ini berfokus pada detail dari percakapan
antara dua ataulebih stakeholder, dan yang sering dikaitkan dengan node
percakapan tertentu. Posisi diagram koreografi berada di luar atau di antara
pools.

3. Process diagram: berfokus pada urutan aliran proses untuk satu


stakeholder.Gambar 4.12 menggambarkan contoh process diagram dalam
suatu sistem. Dalam gambar tersebut, stakeholder yang terlibat adalah Bagian
produksi pada pabrik.
66

Gambar 4.12Contoh process diagram


4. Collaboration diagrams: berfokus pada interaksi antara dua atau lebih
stakeholder. Pertukaran pesan antar stakeholder ditunjukkan dengan aliran
pesan (message flow). Pesan yang dibawa juga dapat ditampilkan. Seluruh
kombinasi pools, process diagram, dan choreography diagram dapat
ditampilkan dalam collaboration diagram.
67

Gambar 4.13BPMN proyek standarisasi thawing cheese curd frozen


68

TUGAS TERTSRUKTUR 4

1. Jelaskan interoperabililtas antar komponen dalam sistem Traceability.

2. Jelaskan fungsidan peran Process Hierarchy Diagram (PHD), Data Flow


Diagram (DFD), Business Process Diagram (BPD), dan Business Process
Model and Notation (BPMN) 2.0 dalam konstruksi sistem Traceability.

3. Identifikasikan komponen pembentuk Process Hierarchy Diagram (PHD),


Data Flow Diagram (DFD), Business Process Diagram (BPD), dan
Business Process Model and Notation (BPMN) 2.0 dalam konstruksi
sistem Traceability.

4. Susun dan sebutkan hasil verifikasi model PHD, DFD, BPD, dan BPMN
2.0 berdasarkan kasus sistem Digital Business Ecosystem yang kelompok
anda kerjakan.

Laporkan dokumentasi dan versi awal seluruh model yang dibuat


69

BAB V
DATA ARCHITECTURE, DATA MOVEMENT
ARCHITECTURE, DAN OBJECT ORIENTED
ARCHITECTURE

Tujuan - Mahasiswa mampu:


✓ mendefinisikan dan memahami fungsi dan peran use case diagram,
sequence diagram, class diagram, conceptual data model, dan physical
data model.
✓ membuat dan memverifikasi use case diagram, sequence diagram, class
diagram,conceptual data model, dan physical data model berdasarkan
kasus digital business ecosystem masing-masing.
✓ merevisi dan mendokumentasikan kesesuaian spesifikasi analisis proses
dengan versi model-model dalam UML.

5.1 Data Architecture

Data Architecture (DA) adalah suatu arsitektur dalam pemodelan sistem


yang berisi tentang seperangkat aturan, kebijakan, standar, dan model yang
mengatur dan mendefinisikan hal-hal seperti tipe data yang dikumpulkan,
bagaimana data digunakan, disimpan, diatur, dan diintegrasikan dalam organisasi
dan sistem basis datanya. DA memberikan pendekatan tentang bagaimana
membuat dan mengatur aliran data dan bagaimana data diproses dalam sistem IT
organisasi tersebut dan aplikasi-aplikasi.

5.2 Data Modelling dengan PowerDesigner

Model data adalah representasi informasi yang diperlukan dan dihasilkan


suatu sistem. Pemodelan data meliputi analisis objek-objek data saat ini di dalam
suatu sistem serta relasi / keterkaitan antar objek tersebut. Pemodelan data adalah
suatu proses untuk mendefinisikan dan menganalisis kebutuhan (requirements)
data yang dibutuhkan untuk mendukung proses bisnis (Business process) dengan
ruang lingkup berdasarkan sistem informasi pada suatu organisasi.

Data model terdiri dari 3 tipe berdasarkan kebutuhan untuk menghasilkan


basis data aktual untuk digunakan pada suatu sistem informasi. Kebutuhan data
secara inisial disimpan sebagai model data konseptual (Conceptual Data Model)
dimana pada dasarnya model data konseptual adalah seperangkat spesifikasi
teknologi yang independen, berisi tentang spesfikasi data dan digunakan untuk
menganalisis kebutuhan awal oleh para pemangku kepentingan bisnis (Business
stakeholders) pada aliran bisnis proses (Business process). Konseptual data model
selanjutnya diterjemahkan ke dalam Logical Data Model. Logical Data Model
berisi struktur dokumen data yang dapat diimplementasikan dalam suatu basis
data. Implementasi satu conceptual data model membutuhkan banyak logical
data model. Tahap terakhir dalam pemodelan basis data adalah meng ubah
70

logical data model ke dalam bentuk phisical data model. Physical Data Model
mengatur data didalam tabel, akun untuk mengakses data, kinerja dan detil
penyimpanan. Pemodelan basis data mendefinisikan tidak hanya elemen data,
namun juga struktur dan hubungan antara masing-masing objek data.

5.2.1 Conceptual data model (CDM)


CDM memvisualisasikan seluruh struktur database dan memberikan
informasi level-tinggi mengenai subject area atau struktur data dari sebuah
organisasi. CDM mencakup tipe-tipe entity dan relasi antara subject area dan
relasi antar masing-masing entity di dalam sebuah subject area.
Conceptual data model (CDM) membantu untuk menganalisis struktur
konseptual pada suatu sistem informasi, mengidentifikasi (prinsip) entitas yang
direpresentasikan, atribut, dan hubungan antara masing-masing objek data. CDM
bersifat lebih abstrak dibandingkan logical data model (LDM) dan physical data
model (PDM). CDM memungkinkan seorang developer untuk merepresentasikan
kumpulan data dalam format grafis untuk membuat Entity Relationship Diagrams
(ERD), memverifikasi dan memvalidasi desain data, menghasilkan LDM, PDM
atau Object Oriented Model (OOM), dimana spesifikasi dari objek yang
direpresentasikan dalam CDM menggunakan standar UML (Unified Modelling
Language).
Sybase Power Designer® menyediakan fasilitas desain basis data
menggunakan CDM dalam bentuk conceptual diagram. Conceptual data diagram
memperlihatkan tampilan grafis dari struktur konsep suatu sistem informasi, dan
membantu developer mengindetifikasi entitas secara prinsip yang akan
direpresentasikan, atribut entitas, dan hubungan antar entitas. Contoh penggunaan
CDM untuk kasus sistem belajar mengajar dapat dilihat pada Gambar 5.1.
Sedangkan objek-objek yang ada pada CDM selngkapnya ada pada Tabel 5.1.

Gambar 5.1Contoh CDM pada Sistem Belajar Mengajar Suatu Sekolah


71

Tabel 5.1Objek Conseptual Diagram pada Entitas


Objek Tool Simbol Keterangan
Domain Tidak ada Tidak ada Menentukan nilai
yang menyatakan
validitas data
Data Item Tidak ada Tidak ada Bagian elemen
informasi
Entity Orang, tempat,
sesuatu, atau
konsep yang akan
direpresentasikan
Enitity Attribute Tidak ada Tidak ada Bagian elemen
informasi suatu
entitas
Identifier Tidak ada Tidak ada Satu atau banyak
atribut, yang
mengindikasikan
bahwa suatu entitas
memiliki keunikan
dibandingkan
entitas lain
Relationship Koneksi hubungan
antara entitas

Inheretance Hubungan
pewarisan atribut
antar entitas
Association Koneksi atau
hubungan asosiasi
antar entitas

Association Link Garis yang


menghubungkan
hubungan asosiasi
antar entitas

5.2.1.1 Notasi model data CDM


Power Designer® mendukung notasi pemodelan data populer dalam CDM
dan LDM. Pilih notasi yang akan digunakan dengan klik Tools > Model Option
dan pilih notasi pada Notation list. Gambar 5.9 menunjukkan kotak dialog
pemilihan notasi pada Power Designer®.
72

Gambar 5.2Pilihan Notasi pada CDM dan LDM

1. Entity/relationship Notation
Dalam notasi Entity/Relationship, entitas direpresentasikan sebagai persegi dan
tersusun dalam tiga bagian yaitu name, attributes, dan identifiers. Gambar 5.3
merupakan contoh penggunaan dari CDM.

Gambar 5.3Contoh CDM/LDM Menggunakan Notasi Entity/relationship


73

Penghubung (relationship) antar entitas dapat dilihat pada Gambar 5.4.

Gambar 5.4Relationship Antar Entitas

Notasi Entity Relationship (ER) memiliki simbol pewarisan yang terdiri dari 2
hubungan parent dan children secara complete atau Mutually exclusive. Tabel 5.2
menunjukkan perbedaan dari hubungan ini.

Tabel 5.2Notasi Pewarisan pada Notasi ER


Complete Mutually exclusive Simbol
Tidak Tidak

Ya Tidak

Tidak Ya

Ya Ya

2. Notasi IDEF1X
Pada notasi IDEF1X, nama entitas ditampilkan diluar simbol dan penjelasan
entitas dituliskan diseputar entitas. Gamabar 5.12 menunjukkan contoh
penggunaan dari notasi ini. Sedangkan simbol keterkaitan antar entitas dapat
dilihat pada Gambar 5.5.
74

Gambar 5.5Contoh Notasi IDEF1X pada CDM dan LDM

Gambar 5.6Notasi Keterkaitan (Relationship) Antar Entitas pada Notasi IDEF1X


75

Pewarisan pada notasi IDEF1X hanya memperlihatkan struktur complete atau


tidaknya suatu pewarisan. Untuk lebih jelasnya dapat dilihat pada Tabel 5.3.

Tabel 5.3Pewarisan pada Notasi IDEF1X


Complete Simbol
Yes

No

3. Notasi Barker
Dalam notasi barker, atribut entitas digambarkan dalam bantuk satu persegi,
entitas childern digambarkan di dalam enititas parent. Contoh penggunaan notasi
barker dapat dilihat pada Gambar 5.7. Notasi barker memiliki simbol tambahan
pada atribut entitas yang menyatakan bahwa atribut tersebut merupakan primary
key (#), mandatory (*), atau optional attribute (o). Simbol realtionship ini dapat
dilihat pada Gambar 5.8.

Gambar 5.7Contoh Notasi Barker


76

Gambar 5.8Simbol Relationship pada


Notasi Barker

5.2.2 Physical data model (PDM)

Physical Data Model (database design) menggambarkan desain data yang


akan diimplementasikan di dalam sistem manajemen database dengan
memperhitungkan kendala-kendala yang mungkin dihadapi. Suatu siklus hidup
pengembangan basis data biasanya diawali dengan logical data model, namun
dapat juga diawali dari database yang telah ada, dilakukan reverse-engineered
untuk selanjutnya dilakukan desain physical data model. Physical data model
yang lengkap memiliki semua komponen basisdata yang dibutuhkan untuk
membuat hubungan antara tabel atau untuk mencapai kinerja tujuan basisdata
yang dirancang, seperti indeks, definisi batasan, hubungan antar tabel, dan partisi
tabel (cluster). Physical data model dapat digunakan untuk menghitung estimasi
penyimpanan (storage), termasuk detail dari alokasi storage khusus untuk sistem
database. Sejak tahun 2012, tujuh basis data utama yang mendominasi pasar
komersial adalah Informix, Oracle, Postgres, SQL Server, Sybase, DB2 dan
MySQL.
PDM merepresentasikan suatu implementasi database secara spesifik dari
suatu Logical Data Model (LDM) yang merupakan konsumsi komputer yang
mencakup detail penyimpanan data di komputer yang direpresentasikan dalam
bentuk record format, record ordering dan access path, serta menjelaskan
bagaimana data itu disimpan di dalam media penyimpanan yang digunakan secara
fisik. Sasarannya adalah menciptakan perancangan untuk penyimpanan data yang
menyediakan kinerja yang baik dan memastikan integritas, keamanan, serta
kemampuan untuk dipulihkan.
Perancangan PDM bertujuan untuk meningkatkan efisiensi dalam
pemprosesan data yang mencakup :
1. Relasi yang sudah ternormalisasi, juga mencakup perhitungan kasar
volume data yang akan disimpan.
2. Definisi dan deskripsi masing-masing atribut pada setiap entitas yang ada.
3. Deskripsi tentang kapan dan dimana data digunakan, meliputi langkah-
langkah pemasukan data, pemanggilan, penghapusan serta pembaruan.
4. Kebutuhan akan waktu dalam mem-backup, recovery dan pemeliharaan
integritas data.
5. Deskripsi teknologi (sistem database, DBMS) yang digunakan untuk
mengimplementasikan data.
Dalam membangun database secara fisik membutuhkan pilihan kritis yang
akan memberi masukan pada integritas dan kinerja aplikasi yaitu:
77

1. Pemilihan format (Tipe data) dengan mempertimbangkan Penggunaan


Ruang, niai, perbaikan integritas dan manipulasi data;
2. Pengelompokan atribut;
3. Perekaman, pengorganisasian dan pembaharuan serta recovery;
4. Pemilihan struktur database
5. Penyiapan strategi penggunaan query
Physical Data Model (PDM) menjelaskan cara komputer memandang
data, bahwa data tersimpan pada lokasi fisik sebagai file-file yang terpisah. Model
data fisik terbagi menjadi 2 yaitu :
1. Penyimpanan berurutan
Penyimpanan berurutan yaitu organisasi atau penyusunan data di suatu
medium penyimpanan yang terdiri dari satu record mengikuti satu record lain
dalam suatu urutan tertentu. Misalnya, record pegawai disusun dalam urutan
nomor pegawai. Saat penyimpanan berurutan digunakan, data pertama harus
diproses pertama, data kedua diproses kedua, dan seterusnya sampai akhir file
itu ditemukan. Contoh media penyimpanan ini adalah pita magnetik
(magnetic tape).
2. Penyimpanan akses langsung
Penyimpanan akses langsung yaitu suatu cara mengorganisasikan data yang
memungkinkan record-record ditulis dan dibaca tanpa pencarian secara
berurutan. Unit perangkat keras yang memungkinkan hal ini disebut Direct
Access Storage Device (DASD). DASD memiliki mekanisme membaca dan
menulis yang dapat diarahkan ke lokasi manapun dalam media penyimpanan.
Yang paling populer adalah piringan magnetik (magnetic disc).
Sybase Power Designer® menyediakan fitur untuk mendesain Database
Management System dalam bentuk Conceptual Data Model, Logical Data Model
dan Physical Data Model. Fitur Physical Data Diagram merupakan fitur yang
membantu untuk menganalisa tabel, tampilan, dan objek lainnya dalam suatu
basis data. Termasuk objek multidimensi yang mungkin dianalisis dalam
pengembangan suatu Database Management System (DBMS). PDM lebih konkrit
dibandingakn CDM, LDM. Contoh penggunaan PDM dapat dilihat pada Gambar
5.9.
78

Gambar 5.9Contoh PDM pada Sybase Power Designer®


Berbagai tipe diagram yang tersedia pada PDM adalah sebagai berikut:
● A physical data diagram digunakan untuk membuat tampilan grafis dari
struktur basisdata, dan membantu untuk menganalisis tabel (kolom,
indeks, dan trigger), tampilan dan prosedur dan keterkaitan antar tabel.
● A multidimensional data diagram digunakan untuk membuat tampilan
grafis dari datamart atau data warehouse dan membantu untuk
mengidentifikasi fakta, cubes dan dimensi

Notasi model dan pilihan lainnya:


● Untuk secara spesifik melihat notasi model,kolom, referensi, dan pilhan
model lainnya pilih Tools > Model Options.

Interaksi dengan basis data:


● Untuk menyambungkan dengan basisdata, pilih Database > Connect.
● Untuk generate basis data, pilih Database > Generate Database.
● Untuk memodifikasi basisdata, pilih Database > Apply Model Changes
to Database.
● To reverse engineer dari basisdata yang sudah ada menjadi diagram PDM,
pilih Database > Update Model from Database.
● Untuk generate uji data, pilih Database > Generate Test Data. Lalu pilih
jenis DBMS
● Untuk memperkirakan ukuran data, pilih Database > Estimate Database
Size

Generating Other Models, PDM dapat degenerate menjadi diagram lainnya


dengan memilih Tools >:
● Generate Conceptual Data Model (atau Ctrl+Shift+C)
● Generate Logical Data Model (atau Ctrl+Shift+L)
● Generate Physical Data Model (atau Ctrl+Shift+P)
79

● Generate Object-Oriented Model (atau Ctrl+Shift+O)


● Generate XML Model (atau Ctrl+Shift+M)

Database Management System, Sybase menyediakan fitur DBMS dalam bentuk


DBMS definition:
● Untuk membuka DBMS definition file pada editor sumber,
pilih Database > Edit Current DBMS.
Untuk mengubah model DBMS pilih, pilih Database > Change Current DBMS

Untuk informasi lebih lanjut tentang data model, anda dapat mengaksesnya di
user manual dari software PowerDesigner.

5.3 Data Movement Architecture

Data movement architecture (DMA) adalah arsitektur yang berisi


gambaran global tentang pergerakan dari informasi dalam organisasi atau sistem.
Dengan data movement model (DMM) yang dibuat anda dapat menganalisis dan
mendokumentasikan dari mana data berasal, kemana data tersebut bergerak, dan
bagaimana data tersebut berubah selama pergerakan itu, termasuk replikasi dan
proses ETL (extract - transform – load).

5.3.1 ETL Modelling

DMA memungkinkan anda untuk memodelkan operasi ETL, dimana data


dibaca dari satu sumber atau lebih, kemudian dimanipulasi sesuai keperluan untuk
data warehousing, atau untuk keperluan lain sampai pada akhirnya data ditulis ke
suatu target. Pemodelan ETL dilakukan dengan data movement diagram, data
transformation diagram, dan transformation control flow diagram.

5.3.1.2 Data Movement Diagram (ETL)


Suatu data movement diagram (DMD) untuk operasi ETL memungkinkan
anda untuk memodelkan suatu proses ekstraksi high level dari suatu sumber,
transformasinya, dan pemuatannya ke dalam sistem target. Berikut adalah contoh
dari data movement diagram untuk operasi ETL.
80

Gambar 5.10Data Movement Diagram untuk operasi ETL

Adapun tools yang dapat digunakan dalam pembuatan DMD tersaji dalam tabel
berikut:

Tabel 5.4Tools dalam pembuatan DMD


No Gambar/Nama Fungsi
1 Menandakan data yang dimodelkan
dalam PDM
Database
2 Menandakan data yang dimodelkan
dalam XML
XML Document
3 Menandakan data yang dimodelkan
dalam proses bisnis
Business process
4 Menandakan file teks yang berisi data

Flat file
5 Menandakan proses dokumentasi dan
transformasi data menggunakan Data
Transformation process Transformation diagram dan
Transformation Control diagram
6 Menandakan server tempat data
dimasukkan
Server
81

7 Menggambarkan koneksi antara data


dan proses
Data Connection
8 Menandakan proses replikasi data

Replication process
9 Menandakan server replikasi data

Replication server

5.3.1.2 Data Transformation Diagram (DTD)


Diagram ini memberikan tampilan grafis dari input, output, dan tahapan
yang terlibat dalam proses transformasi data. Data yang datang dari sebuah input,
ditransformasikan melalui suatu action dan dimuat ke output data. Langkah-
langkah ini dihubungkan dengan aliran data dan data yang ditransformasikan
direpresentasikan kolom struktur data di tiap tahapan. Berikut adalah contoh dari
DTD.

Gambar 5.11Contoh Data Transformation Diagram

Adapun action yang dapat digunakan untuk membuat DTD disajikan dalam tabel
berikut

Tabel 5.5Tools dalam pembuatan DTD


No Gambar/Nama Fungsi
1 Menandakan transformasi sederhana
Data query transform
82

2 Menandakan penyortiran data


Data sort
3 Menandakan penyaringan data
Data filter
4 Menandakan pemisahan data
Data split
5 Menandakan penggabungan data dari
Data join beberapa masukan
6 Menandakan penggabungan data
Data union identik dari beberapa masukan
7 Menandakan proses agregasi data
Data aggregation
8 Menandakan proses proyeksi data
Data projection
9 Menandakan proses eksekusi SQL
Data query execution query

10 Menandakan proses eksekusi script


Script execution
11 Menandakan pencarian data dari
Data lookup suatu kolom kunci dan
menyimpannya ke suatu kolom baru
12 Menandakan transformasi data
Data calculation kompleks

5.3.1.3 Transformation Control Flow Diagram (TCFD)


Diagram ini memberikan tampilan grafis tentang urutan di mana
serangkaian tugas transformasi data dihubungkan bersama dalam aliran kontrol.
83

Gambar 5.12Contoh Transformation Control Flow Diagram

Adapun tools yang dapat digunakan dalam membuat TCFD disajikan dalam tabel
berikut

Tabel 5.6Tools dalam pembuatan TCFD


No Gambar/Nama Fungsi
1 Menandakan titik mula diagram
Transformation start
2 Menandakan suatu kegiatan
Transformation task transformasi data
execution
3 Menandakan suatu kegiatan
Transformation sinkronisasi dari beberapa kegiatan
synchronization
4 Menandakan pemilihan opsi pada
Transformation decision proses
5 Menandakan titik terminasi
Transformation end
6 Menandakan hubungan antar objek
Control flow

5.4 Object Oriented Architecture


Object oriented architecture (OOA) dapat membantu menganalisis sistem
informasi melalui analisis-analisis kasus, struktural, dan perilaku menggunakan
UML (Unified Modelling Language). Contoh dari OOA antara lain use case
diagram class diagram, dan sequence diagram.

5.4.1 Use Case Diagram


84

Use case diagram merupakan diagram UML yang menyajikan tampilan


grafik dari semua kebutuhan pada suatu sistem dan membantu identifikasi
interaksi antar user/pengguna. Dengan adanya use case diagram, dapat dilihat
secara langsung gambaran umum sistem fungsionalnya. Detail yang lebih lengkap
selanjutnya dapat ditambahkan pada diagram jika dibutuhkan untuk menekankan
suatu poin tertentu. Use case diagram berupaya menirukan dunia nyata dan
memberikan gambaran bagi stakeholder untuk memahami bagaimana sistem
bentuk sistem yang akan dirancang.Diagram ini sangat cocok untuk tugas yang
menggambarkan segala hal yang dapat diselesaikan dengan sistem database oleh
penggunanya. Namun, use case diagram akan menjadi kurang cocok untuk
menggambarkan TCP/IP jaringan protokol karena ada banyak pengecualian kasus,
perilaku yang bercabang, dan kondisional fungsional (hal yang terjadi ketika tidak
ada hubungan, saat hilang, dll). Objek-objek yang digunakan dalam use case
diagram disajikan pada tabel berikut.

Tabel 5.7Objek Use case Diagram


Objek Tool Simbol Deskripsi
Actor Digunakan untuk menampilkan
manusia, proses, atau sesuatu yang
berkaitan dengan sistem, subsistem,
atau kelas.
Use case Mendefinisikan bagian dari suatu
sistem yang utuh tanpa menampilkan
struktur internalnya.
Association Jalur komunikasi antara aktor dan use
case yang berhubungan.
Generalizatio Penghubung antara general use case
n dan use case spesifik lain yang yang
masih mewarisi sifatnya dan juga dapat
ditambahkan fitur yang lainnya.
Dependency Hubungan antara dua model elemen, di
mana elemen yang berubah akan
mempengaruhi elemen lainnya.
Diagram Use case menggambarkan apa saja aktifitas yang dilakukan oleh
suatu sistem dari sudut pandang pengamat luar dengan prinsip apa yang
dilakukan, bukan bagaimana melakukannya. Diagram Use case dekat kaitannya
dengan kejadian-kejadian. Kejadian (skenario) merupakan apa yang terjadi ketika
seseorang berinteraksi dengan sistem.

Terdapat tiga Komponen pembentukan diagram use case. Komponen-


komponen tersebut antara lain:
1. Aktor (actor), manggambarkan pihak-pihak yang berperan dalam sistem.
Aktor dapat berupa orang dan bukan orang. Biasanya aktor yang bukan orang
adalah waktu ataupun database eksternal. Contoh aktor waktu adalah pada
kegiatan atau proses bisnis yang dipicu oleh kalender atau waktu, seperti
laporan yang dibuat tiap malam secara otomatis atau laporan inventori.
Selanjutnya aktor database eksternal misalnya pada sistem pemesanan hotel
85

yang menggunakan sistem otoritas kartu kredit. Jadi kartu kredit merupakan
aktor yang dikategorikan sebagai aktor tipe proxy. Sedangkan database
internal tidak termasuk aktor dan dapat dihapus dari diagram.
2. Use case, aktivitas/sarana yang disiapkan oleh bisnis/sistem.
3. Hubungan (link) beserta relasinya. Tipe relasi/stereotype yang mungkin
terjadi pada use case diagram antara lain:
a. Inklusi (<<include>>), relasi yang harus terpenuhi agar sebuah event dapat
terjadi. Pada kondisi ini, sebuah use case merupakan bagian dari use case
lainnya. Contoh inklusi dapat dilihat pada gambar 5.12

Gambar 5.13Contoh aktivitas dengan inklusi

b. Ekstensi (<<extends>>), kelakuan yang hanya di bawah kondisi tertentu


seperti menggerakkan alrarm. Contoh ekstensi dapat dilihat pada gambar
5.13

Gambar 5.14Contoh aktivitas dengan ekstensi

c. Generalisasi, dapat digunakan dengan maksud untuk menyederhanakan


model dengan cara menarik keluar sifat-sifat pada aktor maupun use cases
yang sejenis. Contoh generalisasi dapat dilihat pada gambar 5.14

Gambar 5.15Contoh aktivitas dengan generalisasi

d. Komunikasi (<<communicates>>), mungkin ditambahkan untuk asosiasi


yang menunjukkan asosiasinya adalah communicates association. Ini
merupakan pilihan selama asosiasi hanya tipe relationship yang
dibolehkan antara actor dan use case.
86

Dalam contoh sederhana berikut, aktor 'nasabah' melakukan tiga hal yang
berhubungan dengan aktor ‘teller’, yaitu penyetoran uang, penarikan uang, dan
transfer uang. Sedangkan Teller melakukan tambahan bunga dimana tidak
berhubungan langsung dengan aktor ‘nasabah’.

Gambar 5.16Contoh Use case Diagram

5.4.1.1 Karakteristik use case diagram:


▪ Use case adalah interaksi atau dialog antara sistem dan aktor, termasuk
pertukaran pesan dan tindakan yang dilakukan oleh sistem.
▪ Use case diprakarsai oleh aktor dan mungkin melibatkan peran aktor lain.
Use case harus menyediakan nilai minimal kepada satu aktor.
▪ Use case bisa memiliki perluasan yang mendefinisikan tindakan khusus
dalam interaksi atau use case lain mungkin disisipkan.
▪ Use case class memiliki objek use case yang disebut skenario. Skenario
menyatakan urutan pesan dan tindakan tunggal.

5.4.1.2 Kegunaan use case diagram:


- Menjelaskan fasilitas yang ada (requirements)
Use case baru selalu menghasilkan fasilitas baru ketika sistem dianalisa dan
design menjadi lebih jelas.
- Komunikas dengan klien
Penggunaan notasi dan simbol dalam diagram Use case membuat
pengembang lebih mudah berkomunikasi dengan klien-kliennya.
- Membuat test dari kasus-kasus secara umum
Kumpulan dari kejadian-kejadian untuk Use case bisa dilakukan test kasus
layak untuk kejadian-kejadian tersebut.
Gambar 5.17 merupakan contoh use case diagram dalam sistem
pengelolaan proyek.
87

Gambar 5.17Contoh use case diagram dalam sistem pengelolaan proyek


standarisasi thawing cheese curd frozen

5.4.2 Class Diagram


Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Dalam software engineering, sebuah class diagram merupakan jenis diagram
struktur statis yang menggambarkan struktur dari sebuah sistem yang
menunjukkan kelas-kelas sistem, atribut, operasi (atau metode), dan relasi antar
objek seperti containment, pewarisan, asosiasi, dan lain-lain. Diagram struktur
statis merupkaan diagram yang menggambarkan hubungan apa yang terjadi bukan
apa yang terjadi jika komponen di dalamnya berhubungan.
Class diagram merupakan building block dari pemodelan berorientasi
objek. Dalam diagram ini, class digambarkan dengan boxes yang memiliki tiga
area pokok yaitu nama (dan stereotype), atribut, dan metoda. Dalam merancang
sebuah sistem, jumlah kelas diidentifikasi dan dikelompokkan bersama di dalam
sebuah package sehingga membantu dalam menentukan relasi statis antar class-
class tersebut. Untuk pemodelan yang detail, kelas-kelas dari rancangan
konseptual biasanya dibagi (split) ke dalam sub-sub kelas. Tabel 5.2 menunjukkan
notasi-notasi yang biasa digunakan untuk class diagram beserta penjelasannya.

Tabel 5.8Objek Class Diagram


Objek Tool Simbol Deskripsi
88

Class Mengatur object sharing dengan


atribut, operasi, metoda, dan hubungan
yang sama
Interface Kunci untuk operasi yang
nampak/terlihat yang meliputi kelas,
objek, atau entitas tanpa struktur
internal spesifik
Port Hubungan inti antara pengklasifikasi
dan lingkungannya
Generalization Penghubung antara kelas yang
ditampilkan sehingga subkelas dapat
berbagi strukturatau perilaku yang
didefinisikan dalam satu atau lebih
superclasses
Require Link Menghubungkan kelas, komponen,
atau port ke interface/antarmuka
Association Hubungan struktural antar objek dari
kelas yang berbeda
Aggregation Bentuk Asosiasi yang menentukan
bagian-seluruh hubungan antara kelas
dan kelas agregat (contoh: mobil
memiliki mesin dan roda).
Composition Salah satu bentuk agregasi

Dependency Hubungan antara dua model element,


di mana terjadi perubahan pada satu
elemen akan mempengaruhi elemen
lain
Realization Hubungan semantik antara classifier,
di mana satu classifier menentukan
aturandan classifier lain dapat
menjamin untuk dilaksanakan
Inner link Muncul ketika kelas dideklarasikan
dengan kelas/ interface lain
Attribute N/A N/A Nama properti suatu kelas
Operation N/A N/A Layanan yang dapat diminta dari suatu
kelas

Gambar 5.18 menggambarkan contoh class diagram.


89

Gambar 5.18Contoh class diagram dalam sistem production planning

5.4.3 Sequence Diagram


Sequence diagram merupakan diagram UML yang menyediakan tampilan
grafis dari kronologi pertukaran pesan antara objek dan aktor untuk use case,
eksekusi sebuah operasi, atau interaksi antar kelas, dengan sebuah penekanan
pada masing-masing kronologinya. Sequence diagram menunjukkan interaksi
objek yang disusun dalam sekuensi waktu.Diagramini menggambarkan objek dan
kelas dalam skenario dan sekuensi pertukaran pesan antara objek-objek untuk
melaksanakan fungsi dari skenario tersebut.
Sequence diagram menunjukkan aktor, benda-benda (contohnya kelas) dan
pesan yang dikirim antara mereka. Sequence diagram menyampaikan jenis
informasi yang sama sebagai sebuah diagram komunikasi, kecuali terfokus pada
kronologi pesan yang melewati objek pada strukturnya. Pesan dapat berasal dari
atau dikirim ke titik manapun pada frame, dan gates ini dapat digunakan di tempat
objek aktor.
Salah satu keuntungan utama dari sequence diagram pada diagram
komunikasi adalah anda dapat referensi interaksi umum dan dengan mudah
menentukan alternatif atau paralel skenario menggunakan interaksi fragmen.
Dengan demikian, anda dapat menggambarkan dalam satu urutan diagram
sejumlah interaksi terkait yang akan memerlukan beberapa diagram komunikasi.
Gambar berikut menggambarkan contoh sequence diagram
90

Gambar 5.19Contoh sequence diagram

5.4.4 Analisis use case pada sequence diagram


Sequence diagram dapat digunakan untuk memperbaiki sebuah perilaku
atau deskripsi pada use case. Pendekatan ini sangat berguna selama analisis
berlangsung karena dapat membantu mengidentifikasi kelas dan asosiasi yang
tidak muncul di awal. Anda dapat mengasosiasi antara use case dan sequence
diagram dengan menambahkan diagram pada tab diagram yang berhubungan
dengan lembaran properti use case. ini sering diperlukan untuk menciptakan
beberapa diagram untuk menggambarkan semua skenario kemungkinan dari
penggunaan kasus. Di situasi ini, hal ini dapat membantu untuk menggunakan
sequence diagram untuk menemukan semua relevan benda sebelum mencoba
untuk mengidentifikasi kelas. Setelah mengenali kelas, kemudian anda dapat
menyimpulkan hubungan di antara mereka dari pesan yang terdapat pada antar
objek.

5.4.5 Analisis class diagram pada sequence diagram


Membuat sequence diagram dapat menjadi peluang untuk menguji model
statis pada tingkat konseptual; dapat mewakili sebuah skenario di mana kelas dari
class diagram yang siap untuk menciptakan objek yang diperlukan untuk
menjalankan skenario. Hal tersebut merupakan pelengkap class diagram yang
mewakili struktur statis dari sistem dengan menentukan perilaku kelas,
antarmuka, dan kemungkinan penggunaan operasi mereka. sequence diagram
memungkinkan anda untuk menganalisis operasi kelas lebih dekat dari
komunikasi diagram. Anda dapat menciptakan operasi di kelas sebuah objek yang
menerima pesan melalui properti lembaran pesan. Ini juga dapat dilakukan dalam
91

sebuah diagram, komunikasi namun ada lebih banyak ruang di sequence diagram
untuk menampilkan informasi rinci (argumen, kembali nilai, dll ) tentang operasi.
Catatan: auto-layout, menyelaraskan dan mengelompokkan fitur simbol-simbol
yang tidak tersedia di sequence diagram.
Ketika kita menggunakan fitur Merge Model untuk menggabungkan
sequence diagram, simbol dari semua elemen dalam sequence diagram
digabungkan tanpa perbandingan. Anda dapat menerima semua modifikasi pada
semua simbol atau tidak modifikasi sama sekali.

TUGAS TERSTRUKTUR 5

1. Sebelum mengembangkan project DBE anda ke dalam implementasi coding,


buatlah arsitektur basisdata yang akan anda gunakan dalam bentuk
Conceptual Data Model dan Physical Data Model. Kemudianlakukan
generate ke tipe database yang anda inginkan untuk mengembangkan model
sistem kedalam implementasi program komputer (Prototyping).
2. Setelah dibuat data model, buatlah data movement model yang menceritakan
pergerakan data tersebut, transformasinya, dan alur kontrol transformasinya
dalam DMD (ETL), DTD, dan TCFD. Sesuaikan semua model tersebut
dengan kasus yang anda angkat sebagai proyek akhir.

3. Buatlah Use Case Diagram pada sistem DBE anda yang merepresentasikan
dialog antara aktor dengan sistem, dan tindakan-tindakan yang dilakukannya.
Use Case akan digunakan sebagai basis dalam merancang interface
implementasi sitem (delopyment)

4. Buatlah class diagram dari setiap kejadian (event) pada use case.

Buatlah tampilan grafis menggunakan sequence diagram berdasarkan use case


diagram yang anda buat sebelumnya. Tampilan harus merepresentasikan
kronologi interaksi dan detail dari suatu kejadian interaksi

BAB VI
XML ARCHITECTURE
92

Tujuan – Mahasiswa dapat


 Memahami konsep XML Architecture dalam tahapan desain
sistem
 Mengimplementasikan konsep XML Architecture yang berkaitan
dengan kajian topik spesifik kelompok
 Membuat XML Model yang berkaitan dengan kajian topik spesifik
kelompok
 Membuat XML Schema atau DTD dari model yang dibuat dan
sebaliknya

6.1 XML

XML (Extensible Markup Language) adalah suatu bahasa markup untuk


keperluan umum yang disarankan oleh W3C (World Wide Web Consortium)
untuk membuat dokumen markup untuk pertukaran data antar sistem yang
beraneka ragam. XML merupakan kelanjutan dari HTML (Hypertext Markup
Language). XML digunakan untuk menyimpan dan membawa data. XML dapat
mendefinisikan seperangkat aturan untuk penyandian dokumen dalam format
yang bisa di baca oleh manusia dan mesin. XML didesain untuk mendeskripsikan
data. Meskipun desain XML berfokus pada dokumen, bahasa tersebut banyak
digunakan untuk representasi struktur data. Dalam menyimpan informasi atau
data, XML menyimpannya dalam “tags” yang dapat dibuat sendiri.

Pada sub bab ini akan dijelaskan sekilas mengenai bahasa XML. Berikut adalah
contoh kode XML

<?xml version="1.0" encoding="UTF-8"?>


<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Berikut adalah tampilan kode tersebut jika ditampilkan dalam bentuk note
93

Gambar 6.1 Contoh tampilan output kode XML

Dapat dilihat bahwa pembuatan tags yang fleksibel mempermudah penyimpanan


data. XML sendiri yang hanya dapat menyimpan data saja, dapat dibantu oleh
bahasa atau perangkat lain untuk menyusun dan menampilkan data tersebut,
contohnya dengan HTML pada kasus laman web.

6.1.1 Struktur XML


Dokumen XML membentuk suatu struktur “pohon” yang dimulai dari
suatu “akar” (root) dan bercabang pada “daun” (the leaves). Berikut
penggambaran dari struktur berikut.

Gambar 6.2 Struktur dokumen XML

Berikut adalah penggambaran struktur kode dari dokumen XML.

<root>
<child>
<subchild>.....</subchild>
</child>
</root>
6.1.1.1 Element
94

Tags dalam dokumen XML juga disebut sebagai element. Element dapat
berisi teks, atribut, element lain atau campuran dari ketiganya. Berikut adalah
contoh dari penggunaan elemen.

<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

Pada kode diatas, tag <title>, <author>, <year>, dan<price>berisi teks karena
keempat elemen tersebut memiliki teks seperti “Harry Potter”. Tag <bookstore>
and <book>berisi elemen karena kedua tag mengandung elemen lain. Sedangkan
tag <book>berisi atribut (category="children").

6.1.1.2 Attribute
Suatu elemen dapat mengandung suatu Attribute. Attribute didesain untuk
menampung data yang terkait dengan suatu elemen. Berikut adalah contoh
penggunaan atribut.

<person gender="female">

Kode tersebut menunjukkan bahwa atribut kelamin dari elemen “person” adalah
“female”. Kode tersebut memberikan informasi bahwa jenis kelamin dari orang
tersebut adalah perempuan. Perbedaan atribut dengan elemen yang sama-sama
dapat mendeskripsikan kasus ini dapat dilihat pada kode berikut

<person>
<gender>female</gender>
<firstname>Anna</firstname>
<lastname>Smith</lastname>

person gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
95

Contoh pertama adalah penggunaan atribut sedangkan contoh kedua


adalah penggunaan elemen, dimana kedua kode ini akan memberikan pengertian
yang sama tentang jenis kelamin dari Anna Smith. Beberapa hal yang harus
diperhatikan saat akan menggunakan atribut adalah:

 Atribut tidak dapat memuat beberapa nilai (Element bisa)


 Atribut tidak dapat memuat struktur pohon seperti contoh (Element bisa)
 Atribut tidak mudah dikembangkan (untuk keperluan di masa depan)

Dari keberadaan elemen dan atribut pada bahasa XML sudah mulai dapat terlihat
bagimana XML dapat digunakan sebagai container untuk data pada suatu sistem
informasi. (Untuk lebih lengkapnya anda dapat mengakses tutorial XML yang
dikeluarkan oleh World Wide Web Consortium).

6.1.2 XML DTD


XML DTD (Document Type Definition) adalah seperangkat deklarasi
markup yang berfungsi untuk mendefinisikan struktur dari dokumen XML.
Dengan DTD, sekelompok pengguna dapat menentukan DTD standar untuk
pertukaran data. Suatu aplikasi kemudian dapat memverifikasi suatu data XML
adalah valid dengan menggunakan DTD. DTD dapat berupa file terpisah dari
dokumen XML berupa file .DTD atau dideklarasikan di dalam kode XML. DTD
mendefinisikan struktur dengan elemen-elemen sebagai berikut:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

Berikut adalah penjelasan dari kode diatas.

 !DOCTYPE notemenjelaskan bahwa root element dari dokumen tersebut


adalah “note”

 !ELEMENT note menjelaskan bahwa elemen “note” harus berisi elemen


to, from, heading, dan body

 !ELEMENT to menjelaskan bahwa elemen “to” bertipe "#PCDATA"

 !ELEMENT from menjelaskan bahwa elemen “from” bertipe "#PCDATA"

 !ELEMENT heading menjelaskan bahwa elemen “heading” bertipe


"#PCDATA"
96

 !ELEMENT body menjelaskan bahwa elemen “body” bertipe "#PCDATA"


(#PCDATA berarti data teks yang parse-able atau dapat diurai)

Selain elemen, DTD juga memiliki atribut. Berikut adalah contohnya.


<!ATTLIST element-name attribute-name attribute-type
attribute-value>

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

Jenis-jenis attribute -type dapat dilihat pada tabel berikut.

Tabel 6.1 Jenis-jenis attribute type


N Nama Deskripsi
o
1
CDATA Nilai dari atribut adalah data karakter
2
(en1|en2|..) Nilai dari atribut adalah data yang berasal dari daftar yang telah
enumerasi
3
ID Nilai dari atribut adalah id unik
4
IDREF Nilai dari atribut adalah id dari elemen lain
5
IDREFS Nilai dari atribut adalah daftar dari id-id lain
6
NMTOKEN Nilai dari atribut adalah suatu nama XML yang valid
7
NMTOKEN Nilai dari atribut adalah daftar dari nama XML yang valid
S
8
ENTITY Nilai dari atribut adalah data entitas
9
ENTITIES Nilai dari atribut adalah dafrar dari entitas-entitas
10
NOTATION Nilai dari atribut adalah nama dari sebuah notasi
11
xml: Nilai dari atribut adalah xml yang sudah distandarkan

Sedangkan jenis-jenis dari attribute-value disajikan dalam tabel berikut


97

Tabel 6.2 Jenis-jenis attribue-value


N Nama Deskripsi
o
1
value Nilai dari sebuah atribut
2
#REQUIRED Atribut tersebut diperlukan
3
#IMPLIED Atribut tersebut opsional

#FIXED valu
Nilai atribut tersebut sudah ditentukan
e

Selain contoh di atas terdapat juga elemen lain dalam DTD yakni Entities. Entity
digunakan sebagai shortcut untuk karakteristik spesial dalam dokumen.

DTD Example:

<!ENTITY writer "Donald Duck.">


<!ENTITY copyright "Copyright W3Schools.">

XML example:

<author>&writer;&copyright;</author>

Suatu entity terdiri dari tanda (&), nama entitas, dan semikolon (;). Entity dapat
dideklarasikan secara internal atau eksternal.
(Untuk lebih lengkapnya anda dapat mengakses tutorial XML yang dikeluarkan
oleh World Wide Web Consortium).

6.1.3 XML Schema


XML Schema adalah dokumen yang dapat mendeskripsikan struktur
dokumen XML sama seperti DTD. Bahasa XML Schema juga dikenal sebagai
XML Schema Definition (XSD). XSD berguna untuk menetapkan dasar yang
membangun suatu dokumen XML, yaitu:

 Elemen dan atribut yang dapat muncul dalam dokumen

 Jumlah child element (dan urutannya) yang muncul dalam dokumen

 Tipe data dari dokumen dan atribut

 Nilai tetap untuk elemen dan atribut

XSD juga berguna untuk menstandarisasi format dokumen yang digunakan.


XSD adalah alternatif dari DTD yang lebih powerful. Salah satu kelebihan XSD
adalah dukungannya terhadap tipe data. Dengan XSD, tugas-tugas seperti
mendeskripsikan konten dokumen yang diizinkan, validasi kebenaran data,
98

pembatasan-pembatasan pada data, penentuan format data, dan konversi data ke


tipe data lain dapat lebih mudah dilakukan dengan XSD. Kelebihan lain dari XSD
adalah XSD ditulis dalam bahasa XML sehingga tidak perlu belajar bahasa lain
lagi. XSD juga dapat dimanipulasi dengan XML editor. Berikut adalah contoh
kode XSD.

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>
Berikut adalah penjelasan dari kode diatas.

 Setiap XML Schema didahului dengan sintaks “xs”


 <schema> adalah root element dari setiap XML Schema. Bagian ini dapat
berisi beberapa atribut.

 <xs:element name="note">menandakan adanya elemen bernama “note”

 <xs:complexType>menjelaskan bahwa elemen “note” bertipe complex

 <xs:sequence>menjelaskan bahwa tipe dari complexType adalah sequence

 <xs:element name="to" type="xs:string">menjelaskan tipe data elemen


“to” adalah String, dan seterusnya

Sama seperti DTD, XML Schema dapat digunakan secara internal dan eksternal.
(Untuk lebih lengkapnya anda dapat mengakses tutorial XML yang dikeluarkan
oleh World Wide Web Consortium).

6.2 XML Architecture

XML Architecture adalah bagian pemodelan XML dari kegiatan desain


sistem. Suatu XML Model (XSM) dapat membantu anda untuk menganalisis
berkas XML Schema Definition (XSD), Document Type Definition (.DTD), dan
XML-Data Reduced (.XDR). Dengan XSM anda dapat memodelkan, membuat,
dan merekayasa balik berkas-berkas tersebut.
99

6.3 Pemodelan XML dengan Sybase PowerDesigner

Karena struktur XML bisa sangat kompleks, maka akan lebih mudah jika
di visualisasi dengan diagram. Dengan Browser tree view and diagram, suatu
model XSM dari PowerDesigner akan memberikan tampilan global dan skematik
dari elemen-elemen yang menjadi bagian dari XSD, DTD, dan XDR.
PowerDesigner juga memungkinkan anda untuk membuat model XML dari
PDM , OOM, atau XSM lain.

Gambar 6.3 Skema kerja XML modelling dengan PowerDesigner

6.3.2 Membuat XSD dengan PowerDesigner


PowerDesigner memiliki fitur untuk mengubah berkas XSD yang rumit
menjadi sebuah model XML yang mudah dibaca. Pembuatan model ini sesuai
dengan aturan-aturan dalam XML Schema seperti yang sudah dijelaskan
sebelumnya. Berikut adalah tools yang dapat digunakan dalam membuat XSD
model.

Tabel 6.3 Tools dalam pembuatan XSD model


No Gambar/Nama Fungsi
1 Menandakan element

Element
2 Menandakan referensi ke suatu grup

Group
100

3 Menandakan complexType

Complex Type
4 Menandakan referensi ke suatu objek

Any
5 Menandakan sequence

Sequence
6 Menandakan pilihan

Choice
7 Menandakan file dalam sistem

File
8 Menandakan sifat all

All

Berikut adalah contoh dari XSM model

Gambar 6.4 Contoh XSM model

Setelah model dibuat, anda dapat membuat XSM Schema dari model tersebut.
Berikut adalah langkah-langkahnya
101

1. Pilih Language > Generate <schema file> untuk membuka dialog


Generation

Gambar 6.5 Dialog Generation

2. Pilih file model yang diinginkan dan pilih apakah ingin mengecek model
atau tidak.

3. Klik OK untuk membuat XML Schema

4. Klik Edit untuk mengedit file XSD, DTD, atau XDR dengan XML editor
yang anda punya

Gambar 6.6 Contoh XML Editor

(Untuk pembuatan file atau skema lain dapat anda lihat caranya di
PowerDesigner Documentation pada software tersebut.)
102

6.3.3 Merekayasa Balik XML Schema menjadi XML model

Anda dapat membuat XML model dari XML Schema yang ada dengan
PowerDesigner. Berikut adalah langkah-langkahnya.

1. Untuk merekayasa balik XML Schema, pilih File >Reverse


Engineer> XML Definition untuk membuka dialog New XML Model. Pilih
XML Schema yang ingin diubah lalu klik OK. Untuk merekayasa balik
XSD model, pilih File > Reverse Engineer <schema> File.

2. Ketika dialog Reverse Engineering sudah terbuka, pilih file atau masukkan
URL yang ingin di rekayasa balik, dan atur opsi dibawah ini

Option Description

Show Membuat simbol dari objek-objek yang dikembalikan pada


symbols diagram.

Convert Mengubah objek yang hanya direferensikan sekali dalam


unique model menjadi objek anak.
references
to elements

3. [XSD only] Jika skema mengandung elemen import atau include, berkas
skema yang menjadi referensi akan di – list dalam tree format dalam
dialog.
103

Gambar 6.7 Dialog Reverse Engineering

4. Jika sudah disesuaikan semua, klik OK

(Untuk lengkapnya anda dapat lihat lagi di PowerDesigner Documentation).

TUGAS TERSTRUKTUR 6

1. Buatlah contoh berkas XML data yang berkaitan dengan project / contoh
kasus anda. Berkas dapat dibuat berdasarkan PDM/OOM yang telah anda
buat pada bab sebelumnya.

2. Buatlah contoh XSD/DTD yang menjadi standar dari berkas XML anda

3. Buatlah model XML yang berkaitan dengan project anda. Model dapat dibuat
berdasarkan PDM/OOM yang telah anda buat pada bab sebelumnya.

4. Buatlah model XML dari XSD/DTD yang telah anda buat sebelumnya, dan
bandingkan dengan model yang anda langsung buat. (Gunakan
PowerDesigner
104

Buatlah file XML Schema/DTD dari model yang telah anda langsung buat, dan
bandingkan dengan yang anda buat manual.

BAB VII
PENGEMBANGANGRAPHICALUSER INTERFACE
APLIKASI

Tujuan - Mahasiswa mampu


✓ memahami prinsip-prinsip dasar dalam mendesain Graphical User
Interface (GUI).
✓ memahami dan mengidentifikasi kebutuhan komponen GUI yang
diperlukan spesifikasi sistem.
✓ mendesain GUI untuk perangkat lunak yang dikembangkan.
✓ mengidentifikasi kebutuhan library eksternal online atau offline bagi
implementasi pengkodean.
✓ merevisi dan mendokumentasikan proses pengembangan GUI.

7.1 Android Graphical User Interface (GUI)


Perangkat android memiliki karakteristik yang berbeda dengan komputer
desktop, contohnya dalam hal ukuran layar, densitas, spesifikasi, dll. Layar
perangkat android memiliki ukuran dan densitas (dalam satuan dots per inch atau
DPI) yang bervariasi. Secara umum, key (seperti dalam keyboard) dan tombol
(button) dalam perangkat android merupakan konsep yang kohesif. Baik
penggunaan key maupun button diproses sebagai keyboard event yang memiliki
105

kelas “android.view.KeyEvent”. Layar sentuh sebagai perangkat input mencatat


posisi sentuhan sebagai variabel input.
Meninjau karakteristik perangkat android yang bervariasi tersebut, perlu
diperhatikan beberapa prinsip dalam mendesain antarmuka pengguna (user
interface) untuk aplikasi berbasiskan android, antara lain:
1. Pertimbangan ukuran layar perangkat android
Perangkat android memiliki ukuran layar yang relatif kecil. Oleh sebab itu,
dalam menggunakan elemen antarmuka pengguna (user interface)
sebaiknya seminimalis mungkin.
2. Ukuran teks dan icon
Ukuran teks dan icon harus dapat terbaca dengan mudah oleh pengguna.
Sebaiknya, text prompt message hanya sedikit digunakan (alternatif
lainnya adalah penggunaan informasi grafik atau suara). Jika informasi
teks dibutuhkan, ukuran teks harus dapat disesuaikan (adjustable).
3. Button dan elemen grafik lainnya
Ukuran button harus mengakomodasi ukuran jari pengguna yang
digunakan untuk memasukkan input. Button atau elemen grafis lainnya
sebaiknya memiliki warna yang jelas (berbeda dengan warna background)
dan terdapat jarak yang cukup antara elemen grafis agar tidak terjadi
kesalahan tekan. Selain itu, bila button memiliki label, label tersebut
sebaiknya termasuk dalam area yang dapat ditekan (clickable) sehingga
penggunaan button menjadi lebih mudah.
4. Ukuran jendela aplikasi (application windows)
Ukuran layar aplikasi sebaiknya dapat menyesuaikan dengan ukuran layar
perangkat android secara otomatis. Alternatif lainnya adalah layar aplikasi
dibuat tampilan scrollable (dapat digulirkan) atau menyediakan fasilitas
zoom in dan zoom out.
5. Pertimbangan akibat penggunaan layar sentuh
Layar sentuh hanya memungkinkan input berupa tap-only. Untuk
mengakomodasi keperluan input lainnya seperti posisi kursor atau right
click, perlu modifikasi lebih lanjut.
Di bidang manufaktur dan desain, mock up adalah model skala atau ukuran
penuh dari desain atau perangkat yang digunakan untuk mengajar, demonstrasi,
evaluasi desain, promosi, serta keperluan lainnya. Sebuah mock up adalah
prototipe jika memberikan setidaknya sebagian dari fungsi sistem dan
memungkinkan pengujian desain. Mock up digunakan oleh desainer terutama
untuk memperoleh umpan balik dari pengguna.
Dalam rekayasa sistem mockup adalah cara merancang antarmuka
pengguna (user interface) di atas kertas atau di gambar komputer. Sebuah
mockupsoftware akan terlihat seperti hal yang nyata, tetapi tidak akan melakukan
pekerjaan yang berguna di luar apa yang dilihat pengguna. Gambar 7.1 merupakan
beberapa contoh mock up untuk mobile application.
106

Gambar 7.1Mock up mobile application

7.2 Komponen Android GUI


Terdapat banyak komponen penyusun GUI yang memiliki fungsi berbeda-
beda. Pada modul ini hanya akan dibahas komponen GUI yang utama (sering dan
umum digunakan). Komponen-komponen utama tersebut antar lain:
1. Linear layouts
Merupakan komponen yang berfungsi untuk mengorganisasikan struktur
visual user interface ke dalam baris horizontal atau kolom vertikal. Jika
panjang atau lebar jendela aplikasi melebihi ukuran layar perangkat, maka
linear layouts akan membuat scrollbar sehingga user dapat mengakses
jendela aplikasi yang belum tampak.
a. Liner Layout (Vertical) merupakan linear layout yang mengorganisasikan
struktur visual user interface ke dalam kolom vertikal.

Gambar 7.2Linear layout (vertical)


107

b. Linear Layout (Horizontal) merupakan linear layout yang


mengorganisasikan struktur visual user interface ke dalam baris
horizontal.

Gambar 7.3Linear layout (horizontal)

2. TextView
Merupakan komponen yang berfungsi untuk menampilkan suatu teks. Pada
dasarnya, textview tidak mengijinkan user untuk mengedit teks yang ada di
dalamnya.

Gambar 7.4TextView

3. Button
108

Merupakan komponen yang dapat ditekan (clicked) oleh user dan berfungsi
untuk melakukan suatu aksi. Button dapat berupa teks atau icon. Pada saat
user menekan suatu button, button tersebut akan menerima on-click event.

Gambar 7.5Button

4. Radio Button
Merupakan komponen yang digunakan untuk memilih satu opsi/pilihan dari
sekumpulan opsi/pilihan yang diberikan. Radio button digunakan jika user
perlu memilih suatu opsi yang eksklusif (hanya boleh memilih satu opsi) dan
seluruh opsi perlu terlihat secara bersamaan. Pada saat user memilih salah
satu dari radio button, radio button tersebut akan menerima on-click event.

Gambar 7.6Radio Button

5. Image Button
Image button merupakan salah satu jenis widget yang dapat digunakan untuk
tombol fungsional. Image button dapat menampilkan suatu gambar (bukan
teks) yang dapat ditekan atau di klik oleh pengguna. Gambar di komponen
ImageButton dapat diambil dari Assets atau dari Drawable.
109

Gambar 7.7Image Button

6. Image View
ImageView adalah salah satu komponen dasar android yang tugasnya
menampilkan gambar. Gambar di komponen imageview bisa diambil dari
Assets atau dari Drawable. Perbedaan dengan imageButton adalah komponen
ini hanya berfungsi untuk menampilkan gambar atau background, tidak dapat
di-click maupun dimasukkan sebuah fungsi tertentu didalamnya.

Gambar 7.8Image View

7. Text Field
TextField merupakan salah satu komponen yang paling sering digunakan
dalam pembuatan sebuah aplikasi. TextField merupakan komponen yang
digunakan user untuk memasukkan data sesuai dengan yang mereka inginkan.
Jenis textfield dapat dibagi benjadi beberapa jenis diantaranya adalah jenis
plain teks yang akan memuat semua jenis teks dan memperlihatkan nya, Jenis
password yang akan menyembunyikan teks yang input user, jenis date yaitu
menyajikan input dalam bentuk waktu berupa tanggal bulan dan tahun saja,
jenis time akan menyediakan dalam bentuk waktu (menit jam dan detik) saja,
110

e-mail yang menghendaki adanya format email berupa @, dan jenis teks field
lainnya.

Gambar 7.9Text Field

8. Check Box
Check box merupakan komponen widget yang ada pada android yang
berfungsi untuk melakukan check dan uncheck. Checkbox berbeda dengan
radio button. Pada checkbox pengguna dapat memilih lebih dari satu
pilihan/opsi.

Gambar 7.10Check Box

Untuk memahami komponen Android GUI yang lain, mahasiswa dapat


mengakses URL https://developer.android.com/guide/topics/ui/index.html.
Pemilihan komponen GUI yang akan dipergunakan dalam pengembangan suatu
aplikasi berbasi android perlu memperhatikan spesifikasi kebutuhan sistem.

7.3 Android Studio


Android studio merupakan sebuah IDE (Integrated Development
Environment) untuk android yang dirilis pada Mei 2013 pada Google I/O
developers event dan dimaksudkan sebagai alternatif untuk Eclipse. Android
Studio merupakan seperangkat alat yang digunakan untuk membangun dan
membuat paket aplikasi Android berdasarkan IntelliJ IDEA. Sama halnya dengan
111

Eclipse, ada beberapa pilihan Application Building Tools, baik menggunakan IDE
(Integrated Development Environment) atau CLI (Command Line Interface).
Android Studio ini menggunakan Gradle untuk mengatur project aplikasi. Gradle
itu sendiri adalah build automation tool yang dapat dikonfigurasi melalui DSL
berbasis Groovy. Hal Inilah yang membedakan Gradle dari Ant atau Maven yang
memakai XML. Penggunaan DSL berbasis Groovy membuat Gradle lebih
fleksibel dan dapat diprogram dengan lebih mudah.
Berikut ini beberapa langkah untuk melakukan instalasi android studio:
1. Install Java Development Kit (JDK) dari:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html.
2. Install Android Studio dari :
https://developer.android.com/studio/index.html.
3. Setelah proses instalasi berhasil lakukan pengaturan environment variable:
- Klik kanan pada computer →Properties → Advanced System Setting
→Environment Variable.
- Pilih kolom Path pada System variables list, klik edit. copy link instalasi
data. Contoh:

;C\Users\demo\AppData\Local\Android/sdk\platform-tools;C:\
\Users\demo\AppData\Local\Android\sdk\tools

- Klik OK

7.4 Library
Dalam ilmu komputer, library adalah kumpulan sumber daya non-volatil
yang digunakan oleh program komputer, seringkali untuk mengembangkan
perangkat lunak. Library dapat berupa data konfigurasi, dokumentasi, bantuan
data, pesan template, pre-written code dan subroutine, kelas, nilai-nilai atau
spesifikasi type.
Library adalah kumpulan implementasi perilaku, ditulis dalam bentuk
bahasa, yang memiliki antarmuka yang terdefinisi dengan baik oleh yang perilaku
dipanggil. Ini berarti bahwa selama program tingkat yang lebih tinggi
menggunakan perpustakaan untuk membuat panggilan sistem, tidak perlu ditulis
ulang untuk menerapkan panggilan sistem tersebut berulang-ulang. Selain itu,
perilaku disediakan untuk digunakan kembali oleh beberapa program independen.
Berikut ini adalah beberapa contoh library yang umum digunakan dalam
pengambangan mobile application berbasis android yang dapat digunakan

1. CommonMath
CommonMath merupakan library yang dapat digunakan bila aplikasi yang
dikembangkan memiliki fitur perhitungan matematik dan statistik. Untuk
memahami library CommonMath secara lebih detail, mahasiswa dapat meninjau
tautan https://commons.apache.org/proper/commons-math/.

2. Weka
Weka merupakan perangkat lunak yang dapat digunakan dalam data
mining. Weka merupakan software dengan lisensi gratis dibawah naungan GNU
112

General Public License. Weka yang berisi kumpulan alat visualisasi dan algoritma
untuk analisis data dan pemodelan prediktif, bersama-sama dengan antarmuka
pengguna grafis untuk memudahkan akses ke fungsi-fungsi ini.
Weka mendukung beberapa tugas standar data mining, seperti data
preprocessing, clustering, klasifikasi, regresi, visualisasi, dan seleksi fitur. Semua
teknik Weka ini yang didasarkan pada asumsi bahwa data tersedia sebagai satu file
datar atau relasi, di mana setiap titik data digambarkan oleh sejumlah atribut tetap
(biasanya, atribut numerik atau nominal, tetapi beberapa jenis atribut lainnya juga
didukung). Weka menyediakan akses ke database SQL menggunakan Java
Database Connectivity dan dapat memproses hasil yang dikembalikan oleh query
database. Saat ini terdapat library yang khusus dibuat untuk
mengimplementasikan weka kedalam aplikasi android. Untuk memahami library
tersebut secara lebih detail, mahasiswa dapat meninjau tautan
https://github.com/rjmarsan/Weka-for-Android.

3. GraphView
GraphView merupakan library yang dapat digunakan pengembang untuk
membuat fitur grafik dalam aplikasi yang dibuatnya. Contoh beberapa grafik yang
dapat dibuat dengan GraphView dapat dilihat pada gambar 7.1. Untuk memahami
library GraphView secara lebih detail, mahasiswa dapat meninjau tautan
http://www.android-graphview.org/.

Gambar 7.11Contoh grafik yang tersedia dalam library GraphView

4. Graphhopper
GraphHopper adalah library road routing yang cepat dan efisien dalam
penggunaan penyimpanan (memory). GraphHopper berada dibawah Apache
113

License 2.0. Secara default, library ini menggunakan data OpenStreetMap tetapi
dapat pula mengimport data dari sumber lain.
GraphHopper mendukung beberapa algoritma routing seperti
Dijkstra and A* . Library ini juga memungkinkan penggunaan Contraction
Hierarchies (CH) dengan sangat mudah, yang disebut speed mode. Penggunaan
lain tanpa CH disebut sebagai flexibility mode. Speed mode memiliki respon yang
lebih cepat dengan penggunaan RAM yang lebih kecil, walaupun tidak
menggunakan metode heuristik dalam pengaturan defaultnya. Akan tetapi, speed
mode hanya dapat digunakan untuk profil angkutan yang telah didefinisikan
sebelumnya (pre-defined) dan membutuhkan persiapan sumberdaya yang
kompleks serta lama. Selain itu, implementasi bebrapa fitur tidak memungkinkan
atau sangat kompleks dibandingkan flexibility mode. Untuk menggunakan library
Graphhopper dalam pengembangan aplikasi berbasis android, mahasiswa dapat
meninjau tautan https://github.com/graphhopper/graphhopper/tree/master/android.
114

TUGAS TERSTRUKTUR 7

1. Sebutkan prinsip-prinsip dasar dalam mendesain Graphical User Interface


(GUI) untuk aplikasi berbasis android.

2. Tabulasi kebutuhan komponen GUI yang diperlukan spesifikasi sistem.

3. Buatlah desain mock up untuk sistem yang anda rancang.

4. Jelaskan dan persiapkan implementasi pengkodean sesuai dengan kebutuhan


sistem.

Laporkan hasil proses pengembangan GUI.


115

BAB VIII
PENGANTAR PEMROGRAMAN ANDROID

Tujuan - Mahasiswa mampu:


✓ memahami framework Android Studio.
✓ memahami peran dan fungsi serta menggunakan komponen framework
Android Studio.
✓ memodifikasi Android Activity sesuai spesifikasi.
✓ memodifikasi Android Layout sesuai spesifikasi.
✓ memodifikasi Android Layout Object sesuai spesifikasi.
✓ memodifikasi Intent (perpindahan layout) sesuai spesifikasi.

8.1 Membangun Aplikasi pada Android Studio


Untuk memahami proses pembuatan suatu aplikasi pada android studio,
sebelumnya harus dipahami panel atau framework dari aplikasi android studio.
Panel merupakan tempat kerja para developer untuk membangun suatu
aplikasi.Berikut ini beberapa panel utama pada Android Studio:

Gambar 8.1Panel Android Studio


1. Menu Bar (A)
Terdiri dari sejumlah menu untuk melakukan suatu perintah-perintah dalam
lingkungan android studio
2. Toolbar (B)
Sejumlah shortcut untuk melakukan beberapa perintah atau tindakan aksi
secara berkala. Toolbar ini dapat di ubah dengan klik kanan pada baris toolbar
dan pilih the Customize Menus and Toolbars.
3. Navigation Bar (C)
Navigation bar menyediakan cara yang mudah untuk bergerak antar
file-file dan folder dalam suatu project pada android studio. Klik pada
116

salah satu elemen pada navigation bar akan menampilkan daftar


subfolder dan file pada suatu folder dalam navigation bar.
4. Editor Window (D)
Editor window menampilkan suatu konten pada file dimana seorang
developer mengerjakan dan mengedit baris kode pada file dalam
android studio. Contoh ketika mengedit file bereksistensi java maka
editor window akan menampilkan baris kode-kode java, sedangkan
jika mengedit layout pada activity bereksistensi xml maka akan
muncul baris kode xml atau preview tampilan dari kode xml.
5. Status Bar (E)
Menampilkan pesan-pesan informatif tentang project dan aktivitas
android studio secara bersamaan dengan seperangkat menu yang
terletak pada kiri bawah. Menu ini sangat penting untuk memonitor
aktivitas yang terjadi pada android studio saat menjalankan perintah
seperti Gradle, Build, dan lain sebagainya.
6. Project Tool Window (F)
Menampilkan hirarki ringkasan struktur suatu project dan
memungkinkan developer menavigasi menuju file tertentu dan folder
yang diinginkan. Jendela ini dapat digunakan untuk menampilkan
project dan file dengan cara yang berbeda.

8.2 File Framework


Beberapa struktur file android project yang ditampilkan dalam
project toolwindow antara lain:
1. Direktori libs: berisikan kumpulan library java yang digunakan
dalam android project.
2. Direktori src: berisikan seluruh file source code.
3. Direktori assets: berisikan file multimedia atau file tipe lain yang
digunakan
dalam android project. Secara default, direktori ini tidak diinisiasi. Untuk
memunculkan direktori assets dapat dilakukan melalui menu File → New
→ Folder → Assetspadamenubar. Folder
4. Direktori res: berisikan file resource yang telah dikonfigurasi
sebelumnya seperti drawable layouts.
5. Direktori values: berisikan file string.xml, colors.xml, dan arrays.xml.
6. AndroidManifest.xml: merupakan file konfigurasi aplikasi.
Berisikan namaaplikasi, aktivitas, services, providers, receivers,
permissions, dll.
7. Direktori drawable: berisikan seluruh file gambar yang digunakan
dalam android project. Kecuali icon aplikasi/launcher untuk
ditampilkan di homescreen.
8. Direktori mipmap: berisikan file gambar yang digunakan sebagai
icon aplikasi/launcher untuk ditampilkan di homescreen. File yang
digunakan sebagai icon sebaiknya memiliki resolusi yang kecil.
9. Direktori layout: berisikan file layout yang digunakan dalam
androidproject. File layout merupakan file yang berekstensi .xml.
File layoutmendeskripsikan ukuran, lokasi, dan susunan dari
setiap widget (kombinasi window dan gadget).
117

8.3 Android Activity


Activity adalah konsep dalam pemrograman untuk Android.
Padapemrograman aplikasi java tradisional, terdapat sebuah fungsi static main
yang akan dieksekusi ketika aplikasi dijalankan. Pada pemrograman Android, hal
tersebut menjadi berbeda Karena sebuah activity dapat dijalankan dari semua
activity yang terdaftar dalam aplikasi. Aplikasi dengan antarmuka
visualdiimplementasikan menggunakan activity. Setiap activity merupakan class
terpisah yang mewarisi base class activity. Class ini ditampilkan sebagai antar
muka pengguna yang terdiri dari view component dengan respon terhadap events.
Dalam pengerjaannya, activity merupakan suatu tempat utama untuk membuat
aplikasi. Namun, dibalik itu semua ada beberapa komponen yang membantu dan dan
men-support suatu aplikasi agar dapat berjalan. Ada 3 komponen dasar yang harus
dipahami dalam Activity yaitu layout, Strings, dan Values. Komponen layout
merupakan komponen yang mengatur posisi widget atau tools dalam aplikasi.
Komponen Strings merupakan komponen yang mengaturnama aplikasi, nama dari
activity yang muncul pada aplikasi nantinya. Komponen Values adalah komponen
yang mengatur dari segi tema aplikasi yang digunakanatau ukuran dimensi aplikasi
apabila dilihat secara potrait atau landscape.
Activity aplikasi android dikelola dengan sistem yang dikenal dengan
activity stack. Ketika suatu activity dieksekusi, acitivity tersebut diletakkan pada
stack yang paling atas dan activity-activity lain yang telah dieksekusi masuk
dalamdaftar history stack. Konsep ini memungkinkan pengguna untuk kembali
lagi ke activity yang telah dieksekusi sebelumnya.
Pada dasarnya activity memiliki empat keadaan (state), yaitu:
1. Active/Running, jikaactivitymasih ada atauvisibledan berada pada posisipaling
atas stack. Activity yang berada dalam keadaan active merupakan activity yang
merespon terhadap input pengguna.
2. Pause, jikaactivitytidak dipakai atau dibutuhkan pada suatu saat tertentu,
tetapiactivity itu masih ada atau visible. Ketika activity yang berada dalam
keadaanactive ditinggalkan oleh sistem untuk mengeksekusi activity yang lain,
maka activity yang ditinggalkan berada dalam keadaan pause dan masih berada
di memori. Suatu activity yang sudah berada dalam keadaan pause bisa saja
tidak berada di memori karena keterbatasan memori.
3. Stopped, jikaactivitysudah tidak dipakai dan digantikan
olehactivitylain.Activity yang sudah stopped (dihentikan) akan tetap berada
dalam memori.Tetapi ketika sistem membutuhkan memori, maka activity yang
berada dalam keadaan stopped yang pertama kali dihapus. Activity yang telah
dihapus dari memori akan masuk dalam keadaan inactive.
4. Inactive, jikaactivityberada dalam keadaan pause ataustopped, sistem dapatmen-
drop activity ini dari sistem memori, dan ketika user membutuhkan activity
tersebut, activity perlu direstart untuk kembali pada keadaan awal.
Perubahan keadaan (state) activity dikendalikan seluruhnya oleh android
memorymanager. Sistem android akan menutup inactive activity terlebih dahulu,
kemudian stopped activity jika diperlukan. Hanya pada kasus yang ekstrim, sistem
akanmenutup paused activity.
118

Gambar 8.2Lifecycle activity

Berdasarkan Gambar 8.2, secara umum dapat dijelaskan bahwa terdapat


tiga perulangan (looping) yang mungkin dialamin oleh activity, yaitu:
1. Entire lifetime, yaitu activity yang terjadi mulai dari onCreate() sampai
denganonDestroy().
2. Visible lifetime, yaitu activity yang terjadi mulai dari onCreate() sampai
denganonStop().
3. Foreground lifetime, yaitu activity terjadi diantara onResume() dan onPause().

8.4 Android Layout


Android studio membagi layout menjadi dua graphical tools yakni
layoutdesigner dan layout preview. Kedua tools ini digunakan untuk membantu
developer mendesain layout user interface. Layout designer membantu untuk
mendesain susunan interface pada screen dengan cara drag and drop, sedangkan
layout
119

preview digunakan untuk mendesain tata letak layar dengan cara mengedit
fileXML.

Gambar 8.3Android Layout Designer

Gambar 8.4Android Layout Preview dengan XML Layout Editor


120

8.5 Android Layout Objek


Pada bagian ini developer akan mengolah bagaimana suatu activity pada
screen memberikan perlakuan pada objeknya, baik itu button, text maupun image.

Gambar 8.5Standar layout

Pada gambar di bagian atas windows menunjukan layout Nexus 4 yang


tercermin dalam representasi visual perangkat dalam panel Designer. Berbagai
macam pilihan perangkat lainnya yang tersedia untuk seleksi dengan mengklik menu
ini pada toolbar. Untuk mengubah orientasi representasi perangkat antara landscape
dan potrait hanya menggunakan menu drop down icon ini terletakdisebelah kanan
menu icon sebelumnya. Pada gambar tersebut desain layout menggunakan
RelativeLayout, hal tersebut dapat dilihat dari jendela pojok kanan atas. Untuk
memulai mendesain suatu layout, pertama diatur terlebih dahulu jenis layout yang
akan digunakan selanjutnya windows bagian kiri, seperti yang bisadilihat pada
gambar diatas menunjukan kumpulan objek layout seperti text, image, maupun
button. Gambar berikut ini menunjukan proses penambahan objek text. Objek text
ditambahkan dengan cara drag and drop objek pada windows paling kiri.
121

Gambar 8.6Penambahan objek

Setelah objek text ditambahkan selanjutnya objek text tersebut dapat diganti
atau diubah menjadi karakter text yang diinginkan. Objek text sendiri terdiri dari
beberapa macam seperti Large Text, Medium Text, Small Text dll. Selain text yang
dapat diubah, id text pula dapat diubah sesuai dengan keinginan maupun desain
developer, id text ini menunjukan informasi dari objek text tersebut danmembedakan
objek-objek text dengan yang lainnya. Id ini digunakan pada saat pengkodingan dan
dijadikan key penghubung antara objek dengan koding.

Gambar 8.7Mengubah objek text

Seperti yang telah dibahas sebelumnya bahwa layout terbagi menjadi dua
yakni layout designer dan layout preview. Langkah langkah sebelumnya
menunjukan bagaimana seorang developer bekerja pada layout designer. Berikut
ini contoh koding yang dilakukan pada XML editor untuk melakukan perubahan
pada layout.

Gambar 8.8Kodingan pada XML editor


122

Koding XML diatas menghasilkan perubahan pada background layout


menggunakan kode warna dalam html. Berikut ini hasil perubahan pada layout
dengan menggunakan layout designer dengan layout review.

Gambar 8.9Hasil berbagai macam layout

8.6 Intent
User interface yang baik adalah tidak menyimpan banyak
komponendidalamnya atau bersifat minimalis. Sifat minimalis inilah yang harus
ada dalam semua unsur desain. Untuk mengurangi jumlah komponen dan tidak
terkesan penuh, dapat digunakan perpindahan activity. Perpindahan activity ini
dapat diinisiasi dengan method intent.
Berikut ini merupakan contoh perpindahan activity menggunakan method
intent. Dibawah ini merupakan koding pada Activity pertama:
123

package helloworld;

import
android.support.v7.app.ActionBarActivity;
import android.os.Bundle;

Gambar 8.10Koding pada activity pertama

Pada kodingan pertama hal yang penting harus ditambahkan untuk


perpindahan activity ini adalah kodingan:
Intent keli = new Intent(MainActivity.this,ActivityDua.class);
startActivity(keli);
Setelah koding pada activity pertama selanjutnya buatlah activity baru sebagai
activity kedua. Berikut ini koding pada activity kedua:
124

package helloworld;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class ActivityDua extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activitydua);

Button btnback = (Button) findViewById(R.id.button1);

btnback.setOnClickListener(new View.OnClickListener()
{ public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(ActivityDua.this, MainActivity.class));
finish();
}
});

Gambar 8.11Koding pada activity kedua


125

TUGAS TERSTRUKTUR 8

1. Sebutkan fungsi dan peran komponen penyusun framework Android Studio.

2. Buatlah desain Android Activity berdasarkan spesifikasi sistem aplikasi yang


telah anda rancang.

3. Buatlah desain Android Layout berdasarkan spesifikasi sistem aplikasi yang


telah anda rancang.

4. Buatlah desain Android Layout Objek (XML dan integrasi dengan


ActivityClass) berdasarkan spesifikasi sistem aplikasi yang telah anda rancang.

Buatlah desain perpindahan activity pada spesifikasi sistem yang anda rancang.
Laporkan progress revisi terakhir pengembangan aplikasi android.
126

BAB IX
PENYUSUNAN BASIS DATA

Tujuan - Mahasiswa mampu:


 memahami dan menyusun query dalam SQLite.
 mengintegrasikan query terstruktur menggunakan SQLite dalam aplikasi
Android.
 menghubungkan interface input ke query SQLite.
 mendesain dan mengintegrasikan query pelaporan SQLite sesuai
spesifikasi sistem.

9.1 Pengenalan SQLite


SQLite merupakan sebuah sistem manajemen basis data relasional yang
bersifat ACID – compliant (atomic, konsistensi basisdata, isolasi, dan durabilitas
(dalam Bahasa Inggris lebih sering disebut ACID). SQLite merupakan proyek
yang bersifat public domain yang dikerjakan oleh D. Richard Hipp dan dirilis
pada tahun 2000. SQLite merupakan fasilitas yang digunakan untuk membuat
database yang disediakan oleh Android yang secara default telah tersedia di dalam
libraryAndroid. Untuk keperluan operasi database pada smartphone atau
tabletAndroid, SQLite sangat memadai karena ukurannya yang kecil, cepat, dan
ringan dalam hal sumber daya. Kombinasi SQL interface dan penggunaan memori
yang sedikit dengan kecepatan yang cepat merupakan salah satu keunggulan
SQLite. SQLite di Android termasuk dalam Android Runtime, sehingga setiap
versi dari Android dapat membuat database dengan SQLite.
SQLite merupakan sebuah embedded database. Artinya, database SQLite
berjalan berdampingan dengan aplikasinya, kodenya terkait atau tertanam sebagai
bagian dari program yang menjadi host-nya. Salah satu keuntungan dari memiliki
database server di dalam program sendiri adalah bahwa tidak diperlukannya
konfigurasi jaringan atau administrasi. Karena client dan server berjalan bersama-
sama dalam proses yang sama, maka hal tersebut akan mengurangi biaya
overhead yang terkait dengan panggilan jaringan, menyederhanakan administrasi
database, dan membuat lebih mudah untuk men-deploy aplikasi. Semua yang
kamu butuhkan dikompilasi langsung ke dalam program Anda.
Terdapat beberapa alasan mengapa SQLite sangat cocok untuk
pengembangan aplikasi Android, yaitu.
 Database dengan konfigurasi nol. Artinya, tidak ada konfigurasi database
untuk para developer. Hal ini membuat SQLite relatif mudah digunakan.
 Tidak memiliki server. Tidak tidak terdapat proses database SQLite yang
berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas
database.
 Single-file database. Hal ini membuat keamanan database secara langsung.
 Open source. Hal ini membuat developer mudah dalam pengembangan
aplikasi.
Sintak SQL terbagi menjadi dua kategori, yaitu Data Definition Language
(DDL) dan Data Manipulation Language (DML).
127

1. Data Definition Language (DDL)


Data Definition Language (DDL) digunakan untuk mendefinisikan,
mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam
basis data, misalnya tabel, view, atau user. Secara umum, Data Definition
Language (DDL) yang digunakan adalah CREATE untuk membuat objek baru,
USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada,
dan DROP untuk menghapus objek. Data Definition Language (DDL) biasanya
digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi
basisdata.
2. Data Manipulation Language (DML)
Data Manipulation Language (DML) merupakan kumpulan perintah SQL
yang digunakan untuk proses pengolahan isi data di dalam tabel, seperti
memasukkan, merubah, dan menghapus isi data dan tidak terkait dengan
perubahan struktur dan definisi tipe data dari objek database. Perintah-perintah
Data Manipulation Language (DML) yang umum digunakan adalah SELECT
untuk menampilkan data, INSERT untuk menambahkan data baru, UPDATE
untuk mengubah data yang sudah ada, dan DELETE untuk menghapus data.

9.2 SQLite Syntax


SQLite mencakup guidlines dan seperangkat aturan (rules) unik yang
disebut syntax. Perlu di perhatikan bahwa syntax SQLite tersebut adalah case
insensitive, namun beberapa perintah dipengaruhi case sensitive seperti GLOB dan
glob yang memiliki arti berbeda dalam SQLite statement.
9.2.1Comments
SQL comments merupakan catatan ekstra yang dapat ditambahkan dalam
kode SQLite untuk meningkatkan readabilitinya dan dapat muncul diberbagai
tempat. SQL comments dapat ditulis sebagai berikut:
sqlite>.help---this is a single line comment

9.2.2SQLite statements
Semua SQLite statements diawali dengan kata kunci seperti SELECT,
INSERT, UPDATE, DELETE, ALTER, DROP dan lain-lain lalu diakhiri dengan
semicolon (;).

Tabel 9.1SQLite statements


Statements Contoh
Analize Statement ANALYZE;
or
ANALYZE database name;
or
ANALYZE database_name.table_name;
AND/OR Clause SELECT column1, column2... columnN
FROM table_name
WHERE CONDITION-1 {AND|OR} CONDITION-2;
ALTER TABLE ALTER TABLE table name RENAME TO
Statement new_table_name;
ATTACH ATTACH DATABASE ‘DatabaseName’ As ‘Alias-
128

DATABASE Name’;
Statement
BEGIN BEGIN;
TRANSACTION or
Statement BEGIN EXCLUSIVE TRANSACTION;
BETWEEN Clause SELECT collumn1, column2....columnN
FROM table_name
WHERE column_name BETWEEN val-1 AND val-2;
COMMIT Statement COMMIT;
CREATE INDEX CREATE INDEX index name
Statement ON table_name ( column_name COLLATE
NOCASE );
CREATE TABLE CREATE TABLE table_name (
Statement column1 datatype,
column2 datatype,
.....
columnN datatype,
PRIMARY KEY ( one or more column )
);
CREATE TRIGGER CREATE TRIGGER database_name.trigger_name
Statement BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
stmt1;
stmt 2;
END
CREATE VIEW CREATE VIEW database_name.view_name AS
Statement SELECT statement....;
CREATE VIRTUAL CREATE VIRTUAL TABLE
TABLE Statement database_name.table_name USING weblog ( access.log
);
or
CREATE VIRTUAL TABLE
database_name.table_name USING ftst3();
COMMIT COMMIT
TRANSACTION
Statement
COUNT Clause SELECT COUNT (column_name)
FROM table_name
WHERE CONDITION;
DELETE Statement DELETE FROM table_name
WHERE {CONDITION};
DETACH DETACH DATABASE ‘Alias-Name’;
DATABASE
Statement
DISTICT Clause SELECT DISTINCT column1, column2.... columnN
FROM table_name;
DROP INDEX DROP INDEX database_name.index-name;
Statement
129

DROP TABLE DROP TABLE database_name.table_name;


Statement
DROP VIEW DROP INDEX database_name.view_name;
Statement
DROP TRIGGER DROP INDEX database_name.trigger_name;
Statement
EXSIST Clause SELECT column1 column2, .... columnN
FROM table_name
WHERE column_name EXIST (SELECT * FROM
table name);
EXPLAIN Statement EXPLAIN INSERT statement...;
or
EXPLAIN QUERY PLAN SLECT statement...;
GLOBE Clause SELECT column1, column2....columnN
FROM TABLE_NAME
WHERE column_name GLOB {PATTERN};
GROUP BY Clause SELECT SUM ( column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING Clause SELECT SUM ( column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING (arithematic function condition);
INSERT INTO INSERT INTO
Statement table_name( column1,column2....column N)
VALUES ( values1, values2, .... valuesN);
IN Clause SELECT column1 column2, .... columnN
FROM table_name
WHERE column_name IN (val-1, val-2.... val-N);
LIKE Clause SELECT column1 column2, .... columnN
FROM table_name
WHERE column_name LIKE {PATTERN};
NOT IN Clause SELECT column1 column2, .... columnN
FROM table_name
WHERE column_name NOT IN (val-1, val-2.... val-N);
ORDER BY Clause SELECT column1 column2, .... columnN
FROM table_name
WHERE CONDITION
ORDER BY column_name {ASC|DESC};
PRAGMA Statement PRAGMA pragma_name;

For example:

PRAGMA page_size;
PRAGMA cache size = 1024;
PRAGMA table_info(table_name);
130

RELEASE RELEASE savepoint_name;


SAVEPOINT
Statement
REINDEX Statement REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;
ROLLBACK ROLLBACK;
Statement or
ROLLBACK TO SAVEPOINT savepoint_name;
SAVEPOINT SAVEPOINT savepoint_name;
Statement
SELECT Statement SELECT column1 column2, .... columnN
FROM table_name;
UPDATE Statement UPDATE table_name
SET column1 = value1, column2 = value2 .... columnN
= valueN
[WHERE CONDITION];
VACUUM Statement VACUUM;
WHERE Clause SELECT column1 column2, .... columnN
FROM table_name;
WHERE CONDITION;

9.3 Membuat Database SQLite


Langkah awal dalam membuat database menggunakan SQLite di Android
adalah membuat sebuah project Android baru. Nama package diisi dengan nama
yang diinginkan. Contoh yang akan dijelaskan dalam pembuatan database SQLite
di buku ini, yaitu aplikasi database android dalam bentuk aplikasi inventaris
barang sederhana, yang berfungsi untuk mencatat barang apa saja yang telah
disimpan. Aplikasi inventaris yang dibuat akan menerapkan fungsi standar operasi
pada database, yaitu insert, select, update, dan delete.
Pada contoh ini, menggunakan nama package id.aspk.appinventory.
Selanjutnya, membuat kelas model, pada contoh ini yaitu kelas Barang.java.
Kelas barang berfungsi untuk mendefinisikan objek barang beserta fungsi-fungsi
dan atribut-atributnya. Atribut yang digunakan pada barang antara lain nama, ID,
merk, dan harga. Berikut contoh kode untuk kelas Barang.java.
131

package id.aspk.appinventory;
public class Barang {

private long id;


private String nama_barang;
private String merk_barang;
private String harga_barang;

public Barang()
{

}
/**
* @return the id
*/
public long getId() {
return id;
}
/**
* @param id the id to set
*/
132

public void setId(long id) {


this.id = id;
}
/**
* @return the nama_barang
*/public String getNama_barang() {
return nama_barang;
}
/**
* @param nama_barang the nama_barang to set
*/
public void setNama_barang(String nama_barang) {
this.nama_barang = nama_barang;
}
/**
* @return the merk_barang
*/
public String getMerk_barang() {
return merk_barang;
}
/**
* @param merk_barang the merk_barang to set
*/
public void setMerk_barang(String merk_barang) {
this.merk_barang = merk_barang;
}
/**
* @return the harga_barang
*/
public String getHarga_barang() {
return harga_barang;
}
/**
* @param harga_barang the harga_barang to set
*/
public void setHarga_barang(String harga_barang) {
this.harga_barang = harga_barang;
}

@Override
public String toString()
{
return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
}
}

Setelah kelas barang selesai dibuat, selanjutnya membuat sebuah kelas


Database Helper. Sesuai namanya, kelas ini berfungsi untuk memudahkan dalam
membuat dan mengakses database SQLite yang akan dipakai oleh aplikasi. Kelas
ini berisi method-method berkaitan dengan manajemen database, seperti
onUpgrade() dan onCreate(). Kelas Database Helperini telah tersedia kelasnya
pada Android, yaitu bernama SQLiteOpenHelper. Sehingga,langkah yag
dilakukan yaitu hanya meng-extends kelas ini dari kelas SQLiteOpenHelper, atau
dengan kata lain, melakukan pewarisan. Berikut contoh kode untuk kelas
DBHelper.java.
133

package id.aspk.appinventory;

//deklarasi import package


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DBHelper extends SQLiteOpenHelper{


/** deklarasi konstanta-konstanta yang digunakan pada database, seperti
nama tabel,
nama-nama kolom, nama database, dan versi dari database **/
public static final String TABLE_NAME = "data_inventori";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "nama_barang";
public static final String COLUMN_MERK = "merk_barang";
public static final String COLUMN_HARGA = "harga_barang";
private static final String db_name ="inventori.db";
private static final int db_version=1;

// Perintah SQL untuk membuat tabel database baru


private static final String db_create = "create table "
+ TABLE_NAME + "("
+ COLUMN_ID +" integer primary key autoincrement, "
+ COLUMN_NAME+ " varchar(50) not null, "
+ COLUMN_MERK+ " varchar(50) not null, "
+ COLUMN_HARGA+ " varchar(50) not null);";

public DBHelper(Context context) {


super(context, db_name, null, db_version);
// Auto generated
}

//mengeksekusi perintah SQL di atas untuk membuat tabel database baru


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(db_create);
}

// dijalankan apabila ingin mengupgrade database


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
Log.w(DBHelper.class.getName(),"Upgrading database from version
" + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);

}
}

Kelas DBHelper.java tersebut berisi konstanta-konstanta, seperti nama tabel,


nama database, nama kolom, dan sebagainya. Hal tersebut untuk memudahkan
pada proses selanjutnya, dimana ketika akan menggunakan konstanta tersebut,
tidak perlu menulis kembali nama tabel berulang kali, namun hanya dengan
mengaksesnya dari kelas DBHelper. Konstanta berupa SQL statement merupakan
perinta yang digunakan untuk membuat tabel database baru. Perintah SQL
tersebut kemudian akan dieksekusi pada method onCreate().
134

9.4 Menggunakan Fungsi Insert Data


Fungsi insert data pada SQLite dilakukan dengan membuat sebuah kelas
yang berfungsi untuk insert data atau create data. Kelas tersebut akan berfungsi
untuk menambahkan data baru ke dalam database. Langkah yang dilakukan yaitu
dengan membuat sebuah kelas baru pada folder res/layout, yaitu CreateData.java.
berikut contoh kode untuk kelas CreateData.java.
package id.aspk.appinventory;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class CreateData extends Activity implements OnClickListener{

//inisilisasi elemen-elemen pada layout


private Button buttonSubmit;
private EditText edNama;
private EditText edMerk;
private EditText edHarga;
//inisialisasi kontroller/Data Source
private DBDataSource dataSource;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_data);

buttonSubmit = (Button) findViewById(R.id.buttom_submit);


buttonSubmit.setOnClickListener(this);
edNama = (EditText) findViewById(R.id.nama_barang);
edHarga = (EditText) findViewById(R.id.harga_barang);
edMerk = (EditText) findViewById(R.id.merk_barang);

// instanstiasi kelas DBDataSource


dataSource = new DBDataSource(this);

//membuat sambungan baru ke database


dataSource.open();
}

//KETIKA Tombol Submit Diklik


@Override
public void onClick(View v) {
// Inisialisasi data barang
String nama = null;
String merk = null;
String harga = null;
@SuppressWarnings("unused")

//inisialisasi barang baru (masih kosong)


Barang barang = null;
if(edNama.getText()!=null &&edMerk.getText()!=null
&&edHarga.getText()!=null)
135

{
/* jika field nama, merk, dan harga tidak kosong
* maka masukkan ke dalam data barang*/
nama = edNama.getText().toString();
merk = edMerk.getText().toString();
harga = edHarga.getText().toString();
}

switch(v.getId())
{
case R.id.buttom_submit:
// insert data barang baru
barang = dataSource.createBarang(nama, merk, harga);

//konfirmasi kesuksesan
Toast.makeText(this, "masuk Barang\n" +
"nama" + barang.getNama_barang() +
"merk" + barang.getMerk_barang() +
"harga" + barang.getHarga_barang(), Toast.LENGTH_LONG).show();
break;
}

}
}

Kode tersebut merupakan isi dari activity class CreateData.java,


sedangkan untuk file xml-nya dapat dibuat berdasarkan contoh diatas, atau sesuai
keinginan. Kelas diatas merupakan kelas yang digunakan sebagai
interface/antarmuka untuk menginput data. Yang diperlukan selanjutnya adalah
sebuah controller yang akan menyambungkan interface tersebut dengan database
yang dibuat. Salah satu error yang akan terjadi pada kode diatas adalah pada
bagian inisialisasi DBDataSource, yaituprivate DBDataSource dataSource;
Hal tersebut terjadi karena kelas controller DBDataSource yang belum dibuat.
Selanjutnya membuat file baru bernama DBDataSource.java. Contoh kode
dari kelas DBDataSource.java adalah sebagai berikut.
package id.aspk.appinventory;

import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class DBDataSource {

//inisialiasi SQLite Database


private SQLiteDatabase database;

//inisialisasi kelas DBHelper


private DBHelper dbHelper;

//ambil semua nama kolom


private String[] allColumns = { DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAME,
DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};
136

//DBHelper diinstantiasi pada constructor


public DBDataSource(Context context)
{
dbHelper = new DBHelper(context);
}
//membuka/membuat sambungan baru ke database
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}

//menutup sambungan ke database


public void close() {
dbHelper.close();
}

//method untuk create/insert barang ke database


public Barang createBarang(String nama, String merk, String harga) {

// membuat sebuah ContentValues, yang berfungsi


// untuk memasangkan data dengan nama-nama
// kolom pada database
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, nama);
values.put(DBHelper.COLUMN_MERK, merk);
values.put(DBHelper.COLUMN_HARGA, harga);

// mengeksekusi perintah SQL insert data


// yang akan mengembalikan sebuah insert ID
long insertId = database.insert(DBHelper.TABLE_NAME, null,
values);
// setelah data dimasukkan, memanggil
// perintah SQL Select menggunakan Cursor untuk
// melihat apakah data tadi benar2 sudah masuk
// dengan menyesuaikan ID = insertID
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, DBHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);

// pindah ke data paling pertama


cursor.moveToFirst();

// mengubah objek pada kursor pertama tadi


// ke dalam objek barang
Barang newBarang = cursorToBarang(cursor);

// close cursor
cursor.close();

// mengembalikan barang baru


return newBarang;
}
private Barang cursorToBarang(Cursor cursor)
{
// buat objek barang baru
Barang barang = new Barang();
// debug LOGCAT
Log.v("info", "The getLONG "+cursor.getLong(0));
Log.v("info", "The setLatLng
"+cursor.getString(1)+","+cursor.getString(2));
/* Set atribut pada objek barang dengan
* data kursor yang diambil dari database*/
barang.setId(cursor.getLong(0));
barang.setNama_barang(cursor.getString(1));
barang.setMerk_barang(cursor.getString(2));
barang.setHarga_barang(cursor.getString(3));
137

//kembalikan sebagai objek barang


return barang;
}
}

Untuk penjelasan setiap baris kodenya, telah dijelakan pada komentar-komentar


yang terdapat pada contoh kode tersebut.
Adapun cara kerjanya sebagai berikut. Pertama-tama, kembali ke kelas
CreateData.java. Apabila telah mengisi data barang dan mengklik tombol submit,
data barang tersebut akan diteruskan ke controller. Kemudian, controller akan
menerima inputan data barang tersebut dan memasangkannya sesuai dengan nama
kolom pada database menggunakan ContentValues, untuk selanjutnya
dimasukkan ke database.Setelah dimasukkan, data akan dicek kembali
menggunakan SQL select yang mengembalikan data berupa cursor. Data cursor
tersebut kemudian akan diubah menjadi objek barang, dan diteruskan kembali ke
kelas CreateData untuk kemudian mengonfirmasikan data apa saja yang telah
dimasukkan.

9.5 Menggunakan Fungsi View/Select Data


Langkah awal yaitu membuat sebuah kelas baru dengan file activity-nya
bernama ViewData.java. Kelas diatas merupakan kelas yang digunakan sebagai
interface/antarmuka untuk menampilkan data. Berikut merupakan contoh kode
untuk kelas ViewData.java.
138

package id.aspk.appinventory;

import java.util.ArrayList;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class ViewData extends ListActivity {

//inisialisasi kontroller
private DBDataSource dataSource;

//inisialisasi arraylist
private ArrayList<Barang>values;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewdata);

dataSource = new DBDataSource(this);


// buka kontroller
dataSource.open();

// ambil semua data barang


values = dataSource.getAllBarang();

// masukkan data barang ke array adapter


ArrayAdapter<Barang> adapter = new ArrayAdapter<Barang>(this,
android.R.layout.simple_list_item_1, values);

// set adapter pada list


setListAdapter(adapter);
}
}

Setelah membuat kelas ViewData.java tersebut, langkah selanjutnya, yaitu


menambahkan fungsi getAllBarang() pada file DataSource.java atau controller
aplikasi yang berfungsi untuk mengambil semua data barang dari database.
Berikut contoh kodenya.
//mengambil semua data barang
public ArrayList<Barang> getAllBarang() {
ArrayList<Barang> daftarBarang = new ArrayList<Barang>();

// select all SQL query


Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, null, null, null, null, null);

// pindah ke data paling pertama


cursor.moveToFirst();
// jika masih ada data, masukkan data barang ke
// daftar barang
while (!cursor.isAfterLast()) {
Barang barang = cursorToBaarang(cursor);
daftarBarang.add(barang);
cursor.moveToNext();
}
// Make sure to close the cursor
cursor.close();
return daftarBarang;
}
139

9.6 Menggunakan Fungsi Update Data


Langkah awal yaitu membuat sebuah kelas baru dengan file activity-nya
bernama EditData.java. Kelas diatas merupakan kelas yang digunakan sebagai
interface/antarmuka untuk mengubah data yang sudah ada. Berikut merupakan
contoh kode untuk kelas EditData.java.
package id.aspk.appinventory;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class EditData extends Activity implements OnClickListener{


private DBDataSource dataSource;

private long id;


private String harga;
private String merk;
private String nama;

private EditText edNama;


private EditText edHarga;
private EditText edMerk;

private TextView txId;

private Button btnSave;


private Button btnCancel;

private Barang barang;


140

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_data);
//inisialisasi variabel
edNama = (EditText) findViewById(R.id.editText_nama);
edHarga = (EditText) findViewById(R.id.editText_harga);
edMerk = (EditText) findViewById(R.id.editText_merk);
txId = (TextView) findViewById(R.id.text_id_barang);
//buat sambungan baru ke database
dataSource = new DBDataSource(this);
dataSource.open();
// ambil data barang dari extras
Bundle bun = this.getIntent().getExtras();
id = bun.getLong("id");
harga = bun.getString("harga");
merk = bun.getString("merk");
nama = bun.getString("nama");
//masukkan data-data barang tersebut ke field editor
txId.append(String.valueOf(id));
edNama.setText(nama);
edHarga.setText(harga);
edMerk.setText(merk);

//set listener pada tombol


btnSave = (Button) findViewById(R.id.button_save_update);
btnSave.setOnClickListener(this);
btnCancel = (Button) findViewById(R.id.button_cancel_update);
btnCancel.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
// apabila tombol save diklik (update barang)
case R.id.button_save_update :
barang = new Barang();
barang.setHarga_barang(edHarga.getText().toString());
barang.setNama_barang(edNama.getText().toString());
barang.setMerk_barang(edMerk.getText().toString());
barang.setId(id);
dataSource.updateBarang(barang);
Intent i = new Intent(this, ViewData.class);
startActivity(i);
EditData.this.finish();
dataSource.close();
break;
// apabila tombol cancel diklik, finish activity
case R.id.button_cancel_update :
finish();
dataSource.close();
break;
}
}
}
Activity EditData.javatersebut pada dasarnya berfungsi untuk mengambil
data barang yang akan diedit, seperti nama, merk, dan harga. Kemudian data
tersebut ditempatkan pada field EditTextagar dapat ganti. Setelah selesai,
kemudianactivity akan memanggil method updateBarang() pada controller, yang
akan melakukan update data lewat SQL Query.
141

Sebelumnya, pada kelas controller yaitu kelas DBDataSource.java


ditambahkan dua buah method baru, yaitu method untuk select data dan method
untuk update data. Contoh method untuk select data yang ditambahkan pada kelas
DBDataSource.java adalah sebagai berikut.
//ambil satu barang sesuai id
public Barang getBarang(long id)
{
Barang barang = new Barang(); //inisialisasi barang
//select query
Cursor cursor = database.query(DBHelper.TABLE_NAME, allColumns, "_id
="+id, null, null, null, null);
//ambil data yang pertama
cursor.moveToFirst();
//masukkan data cursor ke objek barang
barang = cursorToBarang(cursor);
//tutup sambungan
cursor.close();
//return barang
return barang;
}
Method tersebut akan mengambil satu barang berdasarkan id barang yang
definisikan. Selanjutnya, data yang diambil tersebut yang akan di-update. Berikut
contoh method untuk update data yang ditambahkan pada kelas
DBDataSource.java.
//update barang yang diedit
public void updateBarang(Barang b)
{
//ambil id barang
String strFilter = "_id=" + b.getId();
//memasukkan ke content values
ContentValues args = new ContentValues();
//masukkan data sesuai dengan kolom pada database
args.put(DBHelper.COLUMN_NAME, b.getNama_barang());
args.put(DBHelper.COLUMN_MERK, b.getMerk_barang());
args.put(DBHelper.COLUMN_HARGA, b.getHarga_barang() );
//update query
database.update(DBHelper.TABLE_NAME, args, strFilter, null);
}

9.7 Menggunakan Fungsi Delete Data


Langkah awal yang dilakukan yaitu menambahkan satu method baru pada
controller atau kelas DBDataSource.java. Method yang ditambahkan yaitu
method untuk delete data. Contoh method untuk delete data yang ditambahkan
pada kelas DBDataSource.java adalah sebagai berikut.
// delete barang sesuai ID
public void deleteBarang(long id)
{
String strFilter = "_id=" + id;
database.delete(DBHelper.TABLE_NAME, strFilter, null);
}
}
142

Kode yang ditambahkan tersebut pada dasarnya hanya berfungsi untuk melakukan
sebuah SQL query untuk deletedata di database.
Setelah menambahkan method untuk delete data pada kelas
DBDataSource.java, selanjutnya pada kelas ViewData.java yang telah dibuat
sebelumnya ditambahkan dengan sebuah method yang akan dijalankan apabila
perintah delete pada aplikasi dijalankan. Berikut contoh kode dari method delete
yang ditambahkan pada kelas ViewData.java.
//apabila tombol delete di klik
delButton.setOnClickListener(
new OnClickListener()
{
@Override
public void onClick(View v) {
// Delete barang
dataSource.deleteBarang(b.getId());
dialog.dismiss();
finish();
startActivity(getIntent());
}
}
);

return true;

Apabila perintah delete pada aplikasi dijalankan, maka method deleteBarang()


pada controller akan dipanggil dan data yang dimaksud akan dihapus dari
database.
143

TUGAS TERSTRUKTUR 9

1. Jelaskan prasyarat dan struktur coding query dalam SQLite.

2. Jelaskan cara mengintegrasikan query terstruktur menggunakan SQLite dalam


aplikasi Android.

3. Tunjukkan cara menghubungkan interface input ke query SQLite.

4. Demokan hasil desain pelaporan SQLite sesuai spesifikasi sistem.

5. Implementasikan pengkodean database ke dalam project android yang anda


buat.
144

BAB X
PENGEMBANGAN APLIKASI LANJUT

Tujuan:
 Memahami teknik integrasi library eksternal pada Android Studio.
 Memodifikasi struktur algoritma target sistem menggunakan implementasi
analisis data menggunakan Dynamic Programming, Clustering,
Classification, Association Rules, Selection Attribute atau Fuzzylite pada
lingkungan pengembangan android.

10.1 Mengintegrasikan Library pada Android Studio

Proses integrasi library pada prinsipnya adalah pemanfaatan API


(Application Programming Interface) yang tersusun di dalam koleksi class dalam
bentuk file *.jar. Sehingga kita harus memahami struktur classyang akan
digunakan, terutama dari file dokumen API yang disediakan oleh library Java.
Library Java eksternal seperti CommonMath, Weka, Graphview, dan Graphhopper
dapat dimuat ke dalam android project. Tata urutan praktis integrasi library secara
umum adalah:
1. Buatlah project sesuai dengan tema yang diinginkan, tentunya berhubungan
dengan library yang akan digunakan.
2. Buat kelas yang mendukung project dan tentukan method serta atribut yang
ingin dipakai.
3. Import library yang sesuai kedalam projek anda. Import library
dapatdilakukan melalui dua cara, yaitu:
1. Penggunaan folder libs.
a. Copy file library (.jar) ke folder libs.

Gambar 10.1Copy library ke folder Libs

b. Right-click file JAR kemudian pilih add as library. Kemudian akan


muncul jendela Create Library, pilih app sebagai lokasi penambahan
library.
145

Gambar 10.2Jendela Create Library


Periksa apakah library telah terinstall di build.gradle

Gambar 10.3Memeriksa installasi library

2. Pengunaan modul
a. File-> New-> New Module1o

Gambar 10.4Penambahan module b. Import

JAR/AAR package sebagai library


146

Gambar 10.5Pemilihan file JAR/AAR

c. Browse file JAR


d. Click Finish
e. File-> Project Structure-> Dependencies

Gambar 10.6Penambahan library ke dalam Project Structure

f.Click tombol + dan pilih Module Dependency

Gambar 10.7Pemilihan module dependency


147

g. Pilih library yang tadi ditambahkan kemudian click OK

Gambar 10.8Penambahan library sebagai module

Selanjutnya akan dibahas contoh penggunaan library Weka untuk


beberapaalgoritma analisis data.

10.2 Clustering

Clustering merupakan metode pengelompokan setiap objek kedalam


satukelompok atau lebih, sehingga setiap objek dalam satu kelompok memiliki
nilai interaksi yang sama. Analisis clustering bertujuan untuk membentuk
kelompok dengan karakteristik yang sama. Analisis cluster akan
mengelompokkan obyek-obyek data hanya berdasarkan pada informasi yang
terdapat pada data, yang menjelaskan obyek dan relasinya. Semakin besar tingkat
kemiripan/similarity (atau homogenitas) di dalam satu grup dan semakin besar
tingkat perbedaan diantara grup, maka semakin baik (atau lebih berbeda)
clustering tersebut.
Berikut ini adalah contoh implementasi clustering menggunakan library
java yaitu weka. Algoritma clustering yang digunakan pada contoh kasus ini
adalah Simple K-Means. Cluster ini menggunakan algoritma K-Means dengan
distance(default) adalah Ecludean Distance selain itu juga dapat menggunakan
Chebyshev Distance, Edit Distance dan Manhattan Distance. Jika Manhattan
148

Distance yang digunakan maka lebih baik menggunakan median dibandingkan


rata-rata data.
Berikut adalah contoh perhitungan kla pada folder ‘data’ di file installasi
https://archive.ics.uci.edu/ml/datasets/Iris).

import java.sql.Connection; import


java.sql.DriverManager; import java.sql.ResultSet;
import java.sql.Statement;
import weka.clusterers.ClusterEvaluation; import
weka.clusterers.EM;
import weka.clusterers.SimpleKMeans; import
149
150

FastVector attributes = new FastVector();


attributes.addElement(numeric);
attributes.addElement(numeric2);
attributes.addElement(numeric3);
attributes.addElement(numeric4);
attributes.addElement(cls);
Instances dataset = new Instances("Test-dataset", attributes, 0);
try {
Class.forName("com.mysql.jdbc.Driver");

c=DriverManager.getConnection("jdbc:mysql://localhost/reliefdata","root","")
;
System.out.println("Koneksi Sukses");

String sql = "SELECT * FROM datarelief";


Statement stmt = (Statement) c.createStatement();
ResultSet rs = stmt.executeQuery(sql);

while(rs.next()){
double[] values = new double[dataset.numAttributes()];
values[0] = rs.getInt(1);
values[1] = rs.getInt(2);
values[2] = rs.getInt(3);
values[3] = rs.getInt(4);
values[4] = dataset.attribute(4).indexOfValue(rs.getString(5));
dataset = new Instances("Test-dataset", attributes, 0);
}
}catch (Exception e){
}
System.out.println(dataset);

// from somewhere
EM clusterer = new EM(); String[]
options = new String[2]; options[0]
= "-I"; // max. iterations options[1]
= "500";
clusterer.setNumClusters(5);
clusterer.buildClusterer(dataset);
clusterer.setSeed(10);
ClusterEvaluation eval = new ClusterEvaluation();
eval.setClusterer(clusterer);
eval.evaluateClusterer(new Instances(dataset));
System.out.println(eval.clusterResultsToString());
}
}
151

Hasil perhitungan untuk 2 klaster dan perhitungan jarak antar data


menggunakan Ecludean Distance adalah sebagai berikut.

Gambar 10.9 Hasil perhitungan clustering

Selain simple K-Means Weka juga menyediakan berbagai jenis tipe


algoritma pengelopokan (Clustering) yaitu CLOPE, Cobweb, DBSCAN, EM,
Farthest first, Filtered Clustered, Hierarchical Clusterer, Make Density Based
Clusterer, OPTICS, sIB, dan XMeans.
Data pada kode diatas disisipkan dalam basisdata. Kasus ini menggunakan
MySQL database. Weka menyediakan beberapa fasilitas bentuk basisdata yang
akan di proses menggunakan algoritma yang ada di Weka. Seperti arff, csv, xrff,
berbagai jenis data yang didukung oleh java database connection dalam bentuk
alamat koneksi (MySQL, Derby, MsSQL, Postgresql). Jika jenis data tidak ada
dalam daftar Weka maka Weka menyediakan fasilitas manajemen basisdata pada
memory computer. Tahap yang harus dilakukan jika menggunakan jenis
menejemen basisdata yang tidak terdapat pada Weka (seperti SQLite pada
android, Firebase, mongoDB) maka tahapannya adalah memasukkan data yang
ada pada database ke basisdata pada memory computer.
Basisdata pada memory mendukung lima tipe data/attribute yaitu: 1.
Numeric: continuous variables
Attribute numeric = new Attribute("name_of_attr"); 2. Date:
variables tanggal dan waktu
Attribute date = new Attribute("name_of_attr", "yyyy-MM-dd");
152

3. Nominal: data berupa label


FastVector labels = new FastVector();
labels.addElement("label_a");
labels.addElement("label_b");
labels.addElement("label_c");
labels.addElement("label_d");
Attribute nominal = new Attribute("name_of_attr", labels); 4.
String: textual data
Attribute string = new Attribute("name_of_attr", (FastVector) null); 5.
Relational: terdiri dari relasi antar data
FastVector atts = new FastVector(); atts.addElement(new
Attribute("rel.num")); FastVector values = new FastVector();
values.addElement("val_A"); values.addElement("val_B");
values.addElement("val_C"); atts.addElement(new
Attribute("rel.nom", values)); Instances rel_struct = new
Instances("rel", atts, 0);
Attribute relational = new Attribute("name_of_attr", rel_struct);

10.3 Klasifikasi (Classification)

Klasifikasi merupakan metode analisis data yang digunakan untuk


membentuk model yang mendeskripsikan kelas data yang penting, atau model
yang memprediksikan trend data. Klasifikasi digunakan untuk memprediksikan
kelas data yang bersifat categorical, sedangkan prediksi untuk memodelkan fungsi
yang mempunyai nilai continuous.
Contoh:
● Model klasifikasi yang dibangun untuk mengkategorisasikan aplikasi-aplikasi
bank sebagai aplikasi yang aman atau beresiko
● Model predikasi yang dibangun untuk memprediksikan pengeluaran
konsumen berdasarkan pendapatan dan pekerjaannya.
Jenis algoritma yang dapat digunakan untuk pengklasifikasian data
menggunakan Weka cukup banyak diantarannya adalah Bayes, Function, Lazy,
Meta, Mi, Misc, Rules, Tree. Berikut adalah contoh perhitungan aplikasi kepuasan
pelanggan menggunakan J48 (Decision Tree) dengan 18 atribut dan 1 kelas.
Berikut adalah contoh kode java untuk klasifikasi menggunakan library Weka.

package com.cbm.analisispakedroid;

import
android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu; import android.view.MenuItem; import
android.widget.Button; import android.widget.TextView; import
android.widget.Toast; import java.sql.Connection; import
java.sql.DriverManager; import java.sql.ResultSet;
153

import java.sql.Statement; import


java.util.ArrayList;
import weka.attributeSelection.Ranker;
import weka.attributeSelection.ReliefFAttributeEval; import
weka.classifiers.rules.PART;
import weka.classifiers.trees.J48; import
weka.core.Attribute; import
weka.core.DenseInstance; import
weka.core.Instances; import
weka.filters.Filter;
import weka.filters.supervised.attribute.AttributeSelection;

public class Tree_Analysis extends ActionBarActivity


{ Connection con;
Statement st; Button bt;
ArrayList<Attribute> atts;
ArrayList<Attribute> attsRel;
ArrayList<String> Kelas; Instances
data;
double[] vals; int i;
TextView ui,uu;
private void bukasaja() { try {
Class.forName("org.sqldroid.SQLDroidDriver");
String url = ("jdbc:sqldroid:" + getExternalFilesDir(null) +
"decision.db");
con = DriverManager.getConnection(url);

Toast.makeText(getBaseContext(), "database berhasil",


Toast.LENGTH_LONG).show();
}
catch(Exception e){
Toast.makeText(getBaseContext(), "database gagal",
Toast.LENGTH_LONG).show();
}}

@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tree__analysis);

bukasaja();

uu = (TextView)findViewById(R.id.textView4); ui =
(TextView)findViewById(R.id.textView5);
154

try { hitungsaja();
} catch (Exception e) { e.printStackTrace();
}

public void hitungsaja ()throws Exception{

atts = new ArrayList<Attribute>(); // - numeric


atts.add(new Attribute("Atr 1")); atts.add(new
Attribute("Atr 2")); atts.add(new Attribute("Atr 3"));
atts.add(new Attribute("Atr 4")); atts.add(new
Attribute("Atr 5")); atts.add(new Attribute("Atr 6"));
atts.add(new Attribute("Atr 7")); atts.add(new
Attribute("Atr 8")); atts.add(new Attribute("Atr 9"));
atts.add(new Attribute("Atr 10")); atts.add(new
Attribute("Atr 11")); atts.add(new Attribute("Atr 12"));
atts.add(new Attribute("Atr 13")); atts.add(new
Attribute("Atr 14")); atts.add(new Attribute("Atr 15"));
atts.add(new Attribute("Atr 16")); atts.add(new
Attribute("Atr 17")); atts.add(new Attribute("Atr 18"));

Kelas = new ArrayList<String>();


Kelas.add("Memuas"); Kelas.add("Sangat");
atts.add(new Attribute("Class", Kelas));

// 2. create Instances object


data = new Instances("DataDT", atts, 0);

try{
String sql="SELECT * FROM `cobabener`";
st=(Statement)con.createStatement(); ResultSet rs=st.executeQuery(sql);
155

while (rs.next()){
vals = new double[data.numAttributes()]; vals[0] =
rs.getDouble(1);
vals[1] = rs.getDouble(2); vals[2] =
rs.getDouble(3); vals[3] =
rs.getDouble(4); vals[4] =
rs.getDouble(5); vals[5] =
rs.getDouble(6); vals[6] =
rs.getDouble(7); vals[7] =
rs.getDouble(8); vals[8] =
rs.getDouble(9); vals[9] =
rs.getDouble(10); vals[10] =
rs.getDouble(11); vals[11] =
rs.getDouble(12); vals[12] =
rs.getDouble(13); vals[13] =
rs.getDouble(14); vals[14] =
rs.getDouble(15); vals[15] =
rs.getDouble(16); vals[16] =
rs.getDouble(17); vals[17] =
rs.getDouble(18);

// - nominal
vals[18] = Kelas.indexOf(rs.getString(19));
data.add(new DenseInstance(1.0, vals));
}
}
catch(Exception E){

}
// add //System.out.println(data);

data.setClassIndex(18);
AttributeSelection filter = new AttributeSelection();
ReliefFAttributeEval eval = new ReliefFAttributeEval(); Ranker
search = new Ranker();
filter.setEvaluator(eval);
filter.setSearch(search);
filter.setInputFormat(data);
//AttributeEvaluator atti = new AttributeEvaluator();

Instances newData = Filter.useFilter(data, filter);


156

newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);
newData.deleteAttributeAt(9);

//uu.setText(newData.toString());

J48 tree = new J48();

tree.buildClassifier(newData);
//System.out.println(tree.getCapabilities().toString());
//uu.setText(tree.getCapabilities().toString());
uu.setText(tree.graph().toString());
//uu.setText(tree.graphType());
ui.setText(PART.makeCopy(tree).toString());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_tree__analysis, menu); return
true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
/ Handle action bar item clicks here. The action bar will
/ automatically handle clicks on the Home/Up button, so long
/ as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement if (id


== R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}
157

Hasil perhitungan adalah sebagai berikut:

Gambar 10.10Hasil perhitungan classification

10.4 Feature Selection (Relief)

Feature Selection atau Feature Reduction adalah suatu kegiatan


yangumumnya bisa dilakukan secara preprocessing dan bertujuan untuk memilih
feature yang berpengaruh dan mengesampingkan feature yang tidak berpengaruh
dalam suatu kegiatan pemodelan atau penganalisaan data. Ada banyak alternatif yang
bisa digunakan dan harus dicoba-coba untuk mencari yang cocok. Secara garis besar
ada dua kelompok besar dalam pelaksanaan feature selection: Ranking Selection dan
Subset Selection.
- Ranking Selection
Ranking selection secara khusus memberikan ranking pada setiap
feature
yang ada dan mengesampingkan feature yang tidak memenuhi standar tertentu.
Ranking selection menentukan tingkat ranking secara independent antara satu
feature dengan feature yang lainnya. Feature yang mempunyai ranking tinggi
akandigunakan dan yang rendah akan dikesampingkan. Ranking selection ini
biasanya menggunakan beberapa cara dalam memberikan nilai ranking pada
setiap feature misalnya regression, correlation, mutual information dan lain-lain.
158

- Subset Selection
Subset selection adalah metode selection yang mencari suatu set
dari
features yang dianggap sebagai optimal feature. Ada tiga jenis metode yang
bisadigunakan yaitu selection dengan tipe wrapper, selection dengan tipe filter
dan selection dengan tipe embedded.
Berikut adalah contoh kode java untuk feature selection menggunakan library
WEKA dengan algoritma Relief.
import weka.attributeSelection.ReliefFAttributeEval;
import weka.attributeSelection.Ranker;

import weka.core.Instances;

import weka.attributeSelection.AttributeSelection;

import weka.core.Utils;
import weka.core.converters.DatabaseLoader;
public class cobarelief2 {

public static void main(String[] args) throws Exception


{ DatabaseLoader loader = new DatabaseLoader();
loader.setSource("jdbc:mysql://localhost/reliefdata", "root", "");
loader.setQuery("select * from datarelief");
Instances data = loader.getDataSet();
ReliefFAttributeEval relief=new ReliefFAttributeEval();
Ranker ranking=new Ranker();

AttributeSelection attsel=new AttributeSelection();


attsel.setEvaluator(relief);
ranking.setGenerateRanking(true);
attsel.setSearch(ranking);//class search setelah inisiasi method
ranking attsel.SelectAttributes(data);//attribute dari file arffnya

int[]indices=attsel.selectedAttributes(); double
[][] num=ranking.rankedAttributes(); for (int i
= 0; i < num.length; i++) {
for (int j = 0; j < 2; j++)
{ System.out.print(num[i]
[j]);
}
System.out.println("\n");
}
System.out.println("hasilnya adalah attribute dengan
urutan "+Utils.arrayToString(indices));
}
}
159

10.5 Association Rules

Association rule mining adalah suatu prosedur untuk mencari


hubunganantaritem dalam suatu data set yang ditentukan. Association rule
meliputi dua tahap:
● Mencari kombinasi yang paling sering terjadi dari suatu itemset.
● Mendefinisikan Condition dan Result (untuk conditional association rule).
Dalam menentukan suatu association rule, terdapat suatu interestingnessmeasure
(ukuran kepercayaan) yang didapatkan dari hasil pengolahan data
denganperhitungan tertentu. Umumnya ada tiga ukuran, yaitu:
2. Support : suatu ukuran yang menunjukkan seberapa besar tingkat
dominasisuatu item/itemset dari keseluruhan transaksi. Ukuran ini akan
menentukan apakah suatu item/itemset layak untuk dicari confidence-nya
(misal, dari seluruh transaksi yang ada, seberapa besar tingkat dominasi yang
menunjukkan bahwa item A dan B dibeli bersamaan) dapat juga digunakan
untuk mencari tingkat dominasi item tunggal.

Support(A→B)Probabilitas= (A→B)

Confid : suatu
2. ence ukuran yang menunjukkan hubungan antar
2 itemsecara conditional (misal, seberapa sering item B dibeli jika
orang
membeli item A).

Confidence(A→B)
Improv
3. ement : suatu menunjukkan besarnya kemungkinan
2 item dapat dibeli secara bersamaan.

Improvement (A→B)

Ketiga ukuran ini nantinya akan berguna dalam menentukan


interestingassociation rules, yaitu untuk dibandingkan dengan threshold (batasan)
yangditentukan. Batasan tersebut umumnya terdiri dari
min_support,min_cofidence, dan min_improvement. Berikut adalah contoh kode
java untuk association rulesmining menggunakan algoritma apriori
menggunakan library WEKA untuk data pemilihan presiden dan partai di
Amerika Serikat:
160

import weka.associations.Apriori;
import weka.core.Instances;
import weka.core.converters.DatabaseLoader;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author user
*/
public class testapriori { String
a() throws Exception{
DatabaseLoader loader = new DatabaseLoader();
Hasil perhitungan adalah sebagai berikut:

Best rules found:


1. adoption-of-the-budget-resolution=y physician-fee-freeze=n 219 ==>
Class=democrat 219 conf:(1)
2. adoption-of-the-budget-resolution=y physician-fee-freeze=n aid-to-
nicaraguan-contras=y 198 ==> Class=democrat 198 conf:(1)
3. physician-fee-freeze=n aid-to-nicaraguan-contras=y 211 ==>
Class=democrat 210 conf:(1)
4. physician-fee-freeze=n education-spending=n 202 ==> Class=democrat 201
conf:(1)
5. physician-fee-freeze=n 247 ==> Class=democrat 245 conf:(0.99)
6. el-salvador-aid=n Class=democrat 200 ==> aid-to-nicaraguan-contras=y
197 conf:(0.99)
7. el-salvador-aid=n 208 ==> aid-to-nicaraguan-contras=y 204 conf:(0.98) 8.
adoption-of-the-budget-resolution=y aid-to-nicaraguan-contras=y
Class=democrat 203 ==> physician-fee-freeze=n 198 conf:(0.98)
9. el-salvador-aid=n aid-to-nicaraguan-contras=y 204 ==> Class=democrat
197 conf:(0.97)
10. aid-to-nicaraguan-contras=y Class=democrat 218 ==> physician-fee-
freeze=n 210 conf:(0.96)
161

10.6 Library Fuzzylite

Library fuzzylite dapat ditambahkan dalam android studio dengan terlebih


dahulu mendownloadnya pada situs www.fuzzylite.com/downloads. Tampilan
grafik fuzzy dapat dilihat pada Gambar 10.11.

Gambar 10.11 Tampilan grafik fuzzy


Sangat penting untuk menentukan variabel linguistik dan rangenya serta
metode defuzzifikasi yang dipilih dalam perhitungan.
Contoh inisiasi variabel linguistik disajikan dalam kolom berikut:
FUZZIFY gajiorangtua
TERM rendah := (0, 1) (3, 1) (5, 0) ;
TERM tinggi := (3, 0) (7, 1) (12, 0);
TERM sangattinggi := (10, 0) (12, 1) (14, 0);
END_FUZZIFY
162

Gambar 10.12 Tampilan contoh grafik fuzzy


TUGAS TERSTRUKTUR 10

1. Demokan hasil integrasi library eksternal dari sisi input-output sesuai


dengan spesifikasi sistem.

2. Demokan hasil modifikasi struktur algoritma target sistem sesuai


spesifikasi sistem.
163

DAFTAR PUSTAKA

Atanassov KT. 1986. Intuitionistic Fuzzy Sets. Fuzzy Sets and Systems.
AtkinsonR. 1999. Project management: cost, time and quality, two best guesses
and a phenomenon, its time to accept other success criteria. International
Journal of Project Management. 17(6):337-342.
Christina, Y. W., Djakfar, L., Thoyib, A. (2012). “A Pengaruh Budaya
Keselamatan dan Kesehatan Kerja (K3) Terhadap Kinerja Proyek
Konstruksi” Vol. 6 No. 1, hal. 83-95.
Garnito H, Satmoko A. 2012. Pengukuran kinerja biaya dan waktuproyekuntuk
mencapai sasaran mutu PRPN. PRIMA. 9(2): 102-109.
Heizer J, Barry R. 2011. Operation Management. New Jersey (US): Pearson.
Hughes B, Cotterell M. 2002. Software Project Management. London (UK):
McGraw-Hill.
Kaur P, Pal M. 2015. Selection of vendor based on intuitionistic fuzzy linguistic
hedge. Notes on Intuitionistic Fuzzy Set Journal. 21(4). 69-75.
Kerzner H. 2013. Project Management: A Systems Approach to Planning,
Scheduling, and Controlling 11th Edition. Newyork (US): WILEY.
Kusumadewi S. 2002. Analisis & Design Sistem Fuzzy Menggunakan
Toolboxmatlab. Yogyakarta (ID): Graha Ilmu.
Kususmadewi S, Purnomo H. 2004. Aplikasi Logika Fuzzy untuk Pendukung
Keputusan. Yogyakarta (ID): Graha Ilmu.
Liu HW, Wang GJ. 2007. Multi criteria decision making methods based
onintuitionistic fuzzy set. Eu J Oper Res. 179(1): 220-233.
Mahendra S. 2004, Manajemen Proyek Kiat Sukses Mengelola Proyek. Jakarta
(ID): Gramedia Pustaka Utama.
Memon AH, Rahman IA, Azis AAA. 2012. Time and cost performance in
construction projects in southern and central regions of peninsular malaysia.
International Journal of Advances in Applied Sciences (IJAAS). 1(1):45–52.
Nicholas JM, Steyn H. 2008. Project Management for Business, Engineering, and
Technology. Oxford (UK): Butterworth-Heinemann.
Putri NS. 2016. Suatu kajian tentang himpunan fuzzy intuisionistik. J Matematika
UNAND. 5(1): 47-56.
Schwalbe K. 2004. Information Technology Project Management, 3th edition.
Kanada (CA): Thompson.
164

Septiani W, Djatna T. 2015. Rancangan model performansi risiko rantai pasok


agroindustrisusu dengan menggunakan pendekatan logika fuzzy.
AGRITECH. 35 (1): 88-97.
Soeharto I. 1999. Manajemen Proyek Dari Konseptual Sampai Operasional.
Jakarta (ID): Erlangga.
Wit AD. 1988. Measurement of project success. International Journal of
ProjectManagement. 6(3): 164-170.
Wulfram I. 2003. Manajememen Proyek Konstruksi. Yogyakarta (ID): Andi.
Zadeh LA. 1965. Fuzzysets. Information and Control. 8(1): 338-353.

Anda mungkin juga menyukai